@opensumi/cli-engine 3.9.1-next-1749008258.0 → 3.9.1-next-1749022986.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 +49 -7
- package/package.json +10 -10
package/lib/browser/browser.js
CHANGED
|
@@ -10561,7 +10561,28 @@ html li {
|
|
|
10561
10561
|
border-radius: 3px;
|
|
10562
10562
|
overflow: hidden;
|
|
10563
10563
|
}
|
|
10564
|
-
|
|
10564
|
+
.uVULfqu6nAfr8HZoqqnC {
|
|
10565
|
+
color: #b5b5b5a4;
|
|
10566
|
+
/* Adjust this color to change intensity/style */
|
|
10567
|
+
background: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 60%);
|
|
10568
|
+
background-size: 200% 100%;
|
|
10569
|
+
-webkit-background-clip: text;
|
|
10570
|
+
background-clip: text;
|
|
10571
|
+
display: inline-block;
|
|
10572
|
+
animation: QLRo9wN5YAayMnRPIcUy 5s linear infinite;
|
|
10573
|
+
}
|
|
10574
|
+
@keyframes QLRo9wN5YAayMnRPIcUy {
|
|
10575
|
+
0% {
|
|
10576
|
+
background-position: 100%;
|
|
10577
|
+
}
|
|
10578
|
+
100% {
|
|
10579
|
+
background-position: -100%;
|
|
10580
|
+
}
|
|
10581
|
+
}
|
|
10582
|
+
.uVULfqu6nAfr8HZoqqnC.UsWZq8AFpMJxrmbVr7xj {
|
|
10583
|
+
animation: none;
|
|
10584
|
+
}
|
|
10585
|
+
`,"",{version:3,sources:["webpack://./../../packages/ai-native/lib/browser/components/components.module.less"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,iBAAiB;EACjB,UAAU;EACV,WAAW;AACb;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,oCAAoC;EACpC,eAAe;EACf,oBAAoB;AACtB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,iBAAiB;AACnB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;EACnB,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,eAAe;EACf,oCAAoC;AACtC;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,aAAa;EACb,qBAAqB;AACvB;AACA;EACE,wBAAwB;EACxB,iBAAiB;EACjB,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;EACb,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,yBAAyB;EACzB,wCAAwC;EACxC,oDAAoD;AACtD;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,qBAAqB;EACrB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,8CAA8C;EAC9C,mCAAmC;EACnC,kBAAkB;EAClB,cAAc;EACd,YAAY;EACZ,iBAAiB;EACjB,eAAe;EACf,UAAU;AACZ;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,UAAU;EACV,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,kBAAkB;AACpB;AACA;EACE,YAAY;AACd;AACA;EACE,qDAAqD;AACvD;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,+CAA+C;AACjD;AACA;EACE,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,8CAA8C;EAC9C,kBAAkB;EAClB,mKAAmK;AACrK;AACA;EACE,SAAS;EACT,cAAc;AAChB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,cAAc;EACd,eAAe;EACf,eAAe;EACf,SAAS;AACX;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;AACtB;AACA;EACE,gDAAgD;AAClD;AACA;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,cAAc;EACd,iBAAiB;EACjB,8CAA8C;EAC9C,mCAAmC;AACrC;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,yBAAyB;EACzB,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,WAAW;AACb;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,YAAY;EACZ,YAAY;EACZ,mBAAmB;EACnB,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,UAAU;EACV,iBAAiB;EACjB,cAAc;EACd,mDAAmD;EACnD,4BAA4B;EAC5B,oCAAoC;EACpC,eAAe;AACjB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,YAAY;AACd;AACA;;CAEC;AACD;EACE,SAAS;EACT,0BAA0B;AAC5B;AACA;EACE,gBAAgB;AAClB;AACA;EACE,MAAM;AACR;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,yBAAyB;EACzB,aAAa;AACf;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;EACX,6BAA6B;EAC7B,kEAAkE;EAClE,kCAAkC;EAClC,mGAAsF;AACxF;AACA;EACE;IACE,QAAQ;EACV;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,WAAW;EACb;AACF;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,WAAW;EACX,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,qBAAqB;EACrB,yBAAyB;EACzB,yDAAgD;EAChD,cAAc;EACd,kBAAkB;EAClB,wBAAwB;EACxB,MAAM;AACR;AACA;EACE,OAAO;EACP,qBAAqB;AACvB;AACA;EACE,SAAS;EACT,qBAAqB;AACvB;AACA;EACE,UAAU;EACV,qBAAqB;AACvB;AACA;EACE;;;IAGE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;EACxB;AACF;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;AACV;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,QAAQ;AACV;AACA;EACE,eAAe;EACf,wCAAwC;AAC1C;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;;;;;EAKE,wBAAwB;AAC1B;AACA;EACE,gBAAgB;EAChB,YAAY;EACZ,0CAA0C;AAC5C;AACA;EACE,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,gBAAgB;AAClB;AACA;EACE,yCAAyC;EACzC,kBAAkB;EAClB,YAAY;EACZ,aAAa;AACf;AACA;;CAEC;AACD;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;EACX,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,iBAAiB;EACjB,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,kBAAkB;EAClB,gCAAgC;EAChC,8CAA8C;EAC9C,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,eAAe;EACf,oCAAoC;AACtC;AACA;EACE,+CAA+C;AACjD;AACA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,oCAAoC;AACtC;AACA;;EAEE,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,iBAAiB;EACjB,eAAe;EACf,mCAAmC;EACnC,0CAA0C;EAC1C,kBAAkB;AACpB;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,aAAa;EACb,oDAAoD;EACpD,yCAAyC;EACzC,kBAAkB;EAClB,sBAAsB;EACtB,eAAe;EACf,eAAe;AACjB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,sBAAsB;EACtB,eAAe;EACf,qBAAqB;EACrB,gBAAgB;EAChB,uBAAuB;EACvB,cAAc;EACd,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,QAAQ;EACR,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,kBAAkB;EAClB,yCAAyC;EACzC,YAAY;EACZ,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,SAAS;EACT,WAAW;EACX,eAAe;EACf,YAAY;EACZ,SAAS;EACT,kBAAkB;EAClB,sCAAsC;EACtC,WAAW;EACX,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,yCAAyC;AAC3C;AACA;EACE,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,eAAe;EACf,8BAA8B;AAChC;AACA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,gDAAgD;EAChD,yHAAyH;EACzH,0BAA0B;EAC1B,6BAA6B;EAC7B,qBAAqB;EACrB,qBAAqB;EACrB,kDAAmC;AACrC;AACA;EACE;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;AACF;AACA;EACE,eAAe;AACjB",sourcesContent:[`.thinking_container {
|
|
10565
10586
|
position: relative;
|
|
10566
10587
|
height: 100%;
|
|
10567
10588
|
}
|
|
@@ -11128,7 +11149,28 @@ html li {
|
|
|
11128
11149
|
border-radius: 3px;
|
|
11129
11150
|
overflow: hidden;
|
|
11130
11151
|
}
|
|
11131
|
-
|
|
11152
|
+
.shiny_text {
|
|
11153
|
+
color: #b5b5b5a4;
|
|
11154
|
+
/* Adjust this color to change intensity/style */
|
|
11155
|
+
background: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 60%);
|
|
11156
|
+
background-size: 200% 100%;
|
|
11157
|
+
-webkit-background-clip: text;
|
|
11158
|
+
background-clip: text;
|
|
11159
|
+
display: inline-block;
|
|
11160
|
+
animation: shine 5s linear infinite;
|
|
11161
|
+
}
|
|
11162
|
+
@keyframes shine {
|
|
11163
|
+
0% {
|
|
11164
|
+
background-position: 100%;
|
|
11165
|
+
}
|
|
11166
|
+
100% {
|
|
11167
|
+
background-position: -100%;
|
|
11168
|
+
}
|
|
11169
|
+
}
|
|
11170
|
+
.shiny_text.disabled {
|
|
11171
|
+
animation: none;
|
|
11172
|
+
}
|
|
11173
|
+
`],sourceRoot:""}]),_.locals={thinking_container:"oXdqvGR12Mkx2TnZhYwg",stop:"K0bu6C1tbVfCfvvKwIXI",block:"qaAqy87HX9nrsJBM1jF_",thinking_text:"UgKk4cVv1xtAZ4YlnhqU",bottom_container:"shoQoZYS0Cn1JMw5KY1y",reset:"lKbX6WZkBXzG3ZOkac8Q",transform:"DPswV4BVueT2AxkCDJuo",text_btn:"PZZINbCyfypUhbO6XZj7",option_btn:"Y0y1ZvTc2wZDizAPbUuv",thumbs:"j2DKuUkULmR3_pKYGzRn",icon_btn:"JD9N4JMQP9QuKZpzGvAF",chat_input_container:"Zz8PRWBijAoHg4qsrCYA",active:"I2J9r_PBAvWjN4EkuXyS",theme_container:"OIhAiqgvs9kuDC5VP_pD",theme_block:"SwqBYStjZngdoLV6AijQ",theme_content:"w36NP8Pa4Y2NsK47JnJZ",expand_icon:"dQ5bdQPLkqVaCTPqhREG","kt-popover":"pHgEr17M0vfEyR44GYo4",name:"zaAhe7P8r8qCI19rSzaL",text:"Hgo8Syr2XXexTaQHqJOh",agent_label:"FLHwJb9Yjy7yxCPehUpc",instruction_options_container:"SnDkce0MOV0vFfA2pjqZ",options:"YEm0J1M_qz8yE32mfjNQ",ai_enhance_icon:"r1r3gzD9aDkbhAs5yHJo",commonly_used:"l68q1dIDD7o6wUwoib1w",input_wrapper:"qcyX5UXWTZjud3eTRcj2",ai_chat_code_wrapper:"E83COte6O0Ztwnofyut0",render_text:"If_27P86bZroPSiHMl83",code_inline:"qezvaXfmAlN6BIYzGVLa",tag_wrapper:"ARxlmGnfc4Z3bSUOiVDl",tag:"ROsQxL4jW76djmQ4iHO9",monaco_wrapper:"dcJZaa41dqWwmySAYJXD",highlight_editor:"vrcvB4EZ8XAfuxQWufCX",action_toolbar:"GC5dlqp_nc2Bz1PRDH0w",code_block:"tm0bp7y7M637Y83lv4qp",code_language:"fHNqgYnqeQA6e3_ctYlH",ai_chat_more_actions_container:"L4iJGXDZw6gliIMreep5",ai_native_input_container:"PLDAd8hPej0WHesARujv",ai_chat_markdown_container:"QqC5MyGhlwKGxyTOu1cB",link_block:"Yer8lVT_TQ4jSJGkQ0No",progress_bar:"T4UAQc9xEkBN69fIrAXu",ai_native_progress_wrapper:"MGW8eTxPfKKh0FZyOvtr","ai-progress":"bbElOCJdC8hUWEOCBvWA","ai-progress-stop":"vczSGNB22fDaRv6in5Ub",ai_loading:"r_az_2DIrDPry__7Ie9c",loader:"vLaJEmK5_3IcejfHHXox",bblFadInOut:"Vc_ZINwxc4tupGYgVh0y",ai_chat_response_container:"aHpBqYwof4iH4JxJdYaQ",error:"FLV3nqL3GTJvvcthH20c",placeholder:"c3Did1WsDpy01PLqHEnY",placeholder_content:"REwaI3STltX37JLwEVo3",followups:"WRtDr9zZD62ZB88OFuVg",markdown_container:"vEEnVzFU7EnO0fEKlISv",tree_container:"WOpL5Y0dKYBRtbkDtpTR",chat_welcome_head:"ynD4qT8KJRNyMr8fOaPd",chat_container_des:"aT3sw9o5xN8hyO8dKFl7",chat_container_content:"klMoAPF5Zu6WIlrDqFIq",link_item:"NvioWa5Ia7EObK7Gq02Q",chat_input_footer:"AopCCuAHaEmj6TMo3sdy",model_selector:"VdnJ_FT9ece4Kz6iVTnj",mcp_desc:"McqOZz2nwWExcqS9VlZb",status:"VyVYCI8eiXV8qmm35eYP",reasoning:"nyls6C3E5iEtZ2gDopYQ",thinking:"fZIO8LWRZDQoWLYP43lk",reasoning_content:"LiVtZFBvNN7lZ0R3JrVB",attachment:"qP_JyMAbn6UcEbMubLzk",attachment_text:"uI9NiLB0KqYYmY9GiiVR",thumbnail_container:"BUdnzvA_BHP4A9aemeN5",thumbnail:"lwlRqbFS8RZqi4FvhsQR",delete_button:"_iT9Ph2YSjhFAWU6eKtD",image_wrapper:"jjmA3CLzk_iT2nPmK_tw",shiny_text:"uVULfqu6nAfr8HZoqqnC",shine:"QLRo9wN5YAayMnRPIcUy",disabled:"UsWZq8AFpMJxrmbVr7xj"};const v=_},95453:(x,t,e)=>{"use strict";e.d(t,{A:()=>v});var n=e(82001),r=e.n(n),o=e(40935),l=e.n(o),_=l()(r());_.push([x.id,`.qyJhL1azaU3_00b_VBJo {
|
|
11132
11174
|
position: relative;
|
|
11133
11175
|
width: 100%;
|
|
11134
11176
|
margin: 0 auto;
|
|
@@ -32829,16 +32871,16 @@ User's intention: ${c.instructions}
|
|
|
32829
32871
|
Provide the complete updated code.
|
|
32830
32872
|
`,{...this.chatProxyService.getRequestOptions(),trimTexts:["<updated-code>","</updated-code>"],system:"You are a coding assistant that helps merge code updates, ensuring every modification is fully integrated."})}}};t.ApplyService=h,n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],h.prototype,"modelService",void 0),n.__decorate([(0,r.Autowired)(o.AIBackSerivcePath),n.__metadata("design:type",Object)],h.prototype,"aiBackService",void 0),n.__decorate([(0,r.Autowired)(p.ChatProxyServiceToken),n.__metadata("design:type",g.ChatProxyService)],h.prototype,"chatProxyService",void 0),t.ApplyService=h=n.__decorate([(0,r.Injectable)()],h)},74055:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAgentService=void 0;const n=e(85608),r=n.__importDefault(e(66652)),o=e(76003),l=e(43718),_=e(46044),v=e(73307),m=e(29770);let p=class extends l.Disposable{constructor(){super(),this.agents=new Map,this.initialUserMessageMap=new Map,this.shouldUpdateContext=!1,this._onDidChangeAgents=new l.Emitter,this.onDidChangeAgents=this._onDidChangeAgents.event,this._onDidSendMessage=new l.Emitter,this.onDidSendMessage=this._onDidSendMessage.event,this.addDispose(this._onDidChangeAgents),this.addDispose(this.llmContextService.onDidContextFilesChangeEvent(g=>{g.version!==this.contextVersion&&(this.contextVersion=g.version,this.shouldUpdateContext=!0)}))}registerAgent(g){if(this.agents.has(g.id))throw new Error(`Already registered an agent with id ${g.id}`);return this.agents.set(g.id,{agent:g,commands:[]}),this._onDidChangeAgents.fire(),(0,l.toDisposable)(()=>{this.agents.delete(g.id)&&this._onDidChangeAgents.fire()})}async updateAgent(g,a){const h=this.agents.get(g);if(!h)throw new Error(`No agent with id ${g} registered`);h.agent.metadata={...h.agent.metadata,...a},h.commands=await h.agent.provideSlashCommands(l.CancellationToken.None),a.isDefault&&(this.defaultAgentId=g);const u=await h.agent.provideChatWelcomeMessage(l.CancellationToken.None);if(u){const{content:c,sampleQuestions:E}=u;this.chatFeatureRegistry.registerWelcome(c,E)}this._onDidChangeAgents.fire()}getAgents(){return Array.from(this.agents.values(),g=>g.agent)}hasAgent(g){return this.agents.has(g)}getDefaultAgentId(){return this.defaultAgentId}getAgent(g){const a=this.agents.get(g);return a?.agent}async invokeAgent(g,a,h,u,c){const E=this.agents.get(g);if(!E)throw new Error(`No agent with id ${g}`);if(this.initialUserMessageMap.has(a.sessionId))(this.shouldUpdateContext||a.regenerate||u.length===0)&&(a.message=await this.provideContextMessage(a.message,a.sessionId),this.shouldUpdateContext=!1);else{this.initialUserMessageMap.set(a.sessionId,a.message);const d=a.message;a.message=await this.provideContextMessage(d,a.sessionId)}return await E.agent.invoke(a,h,u,c)}async provideContextMessage(g,a){const h=await this.llmContextService.serialize(),u=await this.promptProvider.provideContextPrompt(h,g);return this.aiReporter.send({msgType:l.AIServiceType.Chat,actionType:l.ActionTypeEnum.ContextEnhance,actionSource:l.ActionSourceEnum.Chat,sessionId:a,message:u}),u}populateChatInput(g,a){this.aiChatService.sendMessage({...a,agentId:g,immediate:!1})}getCommands(){return(0,r.default)(Array.from(this.agents.values(),({agent:g,commands:a})=>a.map(h=>({...h,agentId:g.id}))))}async getFollowups(g,a,h){const u=this.agents.get(g);if(!u)throw new Error(`No agent with id ${g}`);return u.agent.provideFollowups?u.agent.provideFollowups(a,h):[]}async getSampleQuestions(g,a){const h=this.agents.get(g);if(!h)throw new Error(`No agent with id ${g}`);return h.agent.provideSampleQuestions?h.agent.provideSampleQuestions(a):[]}async getAllSampleQuestions(){const g=await Promise.all(Array.from(this.agents.values()).map(async({agent:a})=>{try{return await this.getSampleQuestions(a.id,l.CancellationToken.None)}catch(h){return this.logger.error(h),[]}}));return(0,r.default)(g)}sendMessage(g){this._onDidSendMessage.fire(g)}parseMessage(g,a){var h;const u={agentId:"",command:"",message:g};let c=a;const E=this.getAgents(),f=new RegExp(`^@(${E.map(y=>y.id).join("|")})(?:\\s+|$)`,"i"),d=u.message.match(f);if(d){const y=E.find(b=>b.id.toLowerCase()===d[1].toLowerCase());if(!y)return u;c=y.id,u.agentId=c,u.message=u.message.replace(d[0],"")}if(c){const y=(h=this.agents.get(c))===null||h===void 0?void 0:h.commands;if(y?.length){const b=new RegExp(`^/\\s?(${y.map(S=>S.name).join("|")})(?:\\s+|$)`,"i"),A=u.message.match(b);if(A){const S=y.find(D=>D.name.toLowerCase()===A[1].toLowerCase());if(!S)return u;u.command=S.name,u.message=u.message.replace(A[0],"")}}}return u}};t.ChatAgentService=p,n.__decorate([(0,o.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(l.IAIReporter),n.__metadata("design:type",Object)],p.prototype,"aiReporter",void 0),n.__decorate([(0,o.Autowired)(_.LLMContextServiceToken),n.__metadata("design:type",Object)],p.prototype,"llmContextService",void 0),n.__decorate([(0,o.Autowired)(v.ChatAgentPromptProvider),n.__metadata("design:type",Object)],p.prototype,"promptProvider",void 0),n.__decorate([(0,o.Autowired)(l.ChatServiceToken),n.__metadata("design:type",m.ChatService)],p.prototype,"aiChatService",void 0),n.__decorate([(0,o.Autowired)(l.ChatFeatureRegistryToken),n.__metadata("design:type",Object)],p.prototype,"chatFeatureRegistry",void 0),t.ChatAgentService=p=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],p)},84543:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAgentViewService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(19413),_=e(51081);let v=class{constructor(){this.componentsMap=new Map,this.componentsDeferredMap=new Map}registerChatComponent(p){return this.componentsMap.set(p.id,p),this.componentsDeferredMap.has(p.id)&&(this.componentsDeferredMap.get(p.id).resolve(p),this.componentsDeferredMap.delete(p.id)),{dispose:()=>{this.componentsMap.get(p.id)===p&&(this.componentsMap.delete(p.id),this.componentsDeferredMap.delete(p.id))}}}getChatComponent(p){return this.componentsMap.has(p)?this.componentsMap.get(p):(this.componentsDeferredMap.has(p)||this.componentsDeferredMap.set(p,new o.Deferred),null)}getChatComponentDeferred(p){return this.componentsDeferredMap.get(p)||null}getRenderAgents(){return this.chatAgentService.getAgents().filter(p=>p.id!==_.ChatProxyService.AGENT_ID)}};t.ChatAgentViewService=v,n.__decorate([(0,r.Autowired)(l.IChatAgentService),n.__metadata("design:type",Object)],v.prototype,"chatAgentService",void 0),t.ChatAgentViewService=v=n.__decorate([(0,r.Injectable)()],v)},98987:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatEditSchemeDocumentProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(54414),_=e(96689),v=e(73974);let m=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(s){return s===v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME}async provideEditorDocumentModelContent(s,g){const{id:a,side:h}=s.getParsedQuery(),c=this.baseApplyService.getSessionCodeBlocks().find(f=>f.toolCallId===a);return(h==="left"?c?.originalCode:c?.updatedCode)||""}isReadonly(s){return!0}onDidDisposeModel(){}};t.ChatEditSchemeDocumentProvider=m,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],m.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(l.WorkbenchEditorService),n.__metadata("design:type",l.WorkbenchEditorService)],m.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(o.IApplicationService),n.__metadata("design:type",Object)],m.prototype,"applicationService",void 0),n.__decorate([(0,r.Autowired)(v.BaseApplyService),n.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],m.prototype,"preferenceService",void 0),t.ChatEditSchemeDocumentProvider=m=n.__decorate([(0,r.Injectable)()],m)},61282:(x,t,e)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatManagerService=void 0;const o=e(85608),l=e(76003),_=e(41869),v=e(43718),m=e(19413),p=e(44260),s=e(42033),g=20;class a extends v.LRUCache{disposeKey(c){const E=this.get(c);E&&E.dispose(),this.delete(c)}dispose(){this.forEach(c=>{c.dispose()}),this.clear()}}let h=class extends v.Disposable{fromJSON(c){return c.filter(E=>E.history.messages.length>0).map(E=>{const f=new s.ChatModel({sessionId:E.sessionId,history:new p.MsgHistoryManager(E.history),modelId:E.modelId}),d=E.requests.map(y=>new s.ChatRequestModel(y.requestId,f,y.message,new s.ChatResponseModel(y.requestId,f,y.message.agentId,{responseContents:y.response.responseContents,isComplete:!0,responseText:y.response.responseText,responseParts:y.response.responseParts,errorDetails:y.response.errorDetails,followups:y.response.followups,isCanceled:y.response.isCanceled})));return f.restoreRequests(d),f})}constructor(){super(),n.set(this,this.registerDispose(new a(g))),r.set(this,this.registerDispose(new v.DisposableMap)),this.storageInitEmitter=new v.Emitter,this.onStorageInit=this.storageInitEmitter.event}async init(){this._chatStorage=await this.storageProvider(v.STORAGE_NAMESPACE.CHAT);const c=this._chatStorage.get("sessionModels",[]);this.fromJSON(c).forEach(f=>{o.__classPrivateFieldGet(this,n,"f").set(f.sessionId,f),this.listenSession(f)}),await this.storageInitEmitter.fireAndAwait()}getSessions(){return Array.from(o.__classPrivateFieldGet(this,n,"f").values())}startSession(){const c=new s.ChatModel;return o.__classPrivateFieldGet(this,n,"f").set(c.sessionId,c),this.listenSession(c),c}getSession(c){return o.__classPrivateFieldGet(this,n,"f").get(c)}clearSession(c){var E;if(!o.__classPrivateFieldGet(this,n,"f").get(c))throw new Error(`Unknown session: ${c}`);o.__classPrivateFieldGet(this,n,"f").disposeKey(c),(E=o.__classPrivateFieldGet(this,r,"f").get(c))===null||E===void 0||E.cancel(),o.__classPrivateFieldGet(this,r,"f").disposeKey(c),this.saveSessions()}createRequest(c,E,f,d,y){const b=this.getSession(c);if(!b)throw new Error(`Unknown session: ${c}`);if(!o.__classPrivateFieldGet(this,r,"f").has(c))return b.addRequest({prompt:E,agentId:f,command:d,images:y})}async sendRequest(c,E,f){const d=this.getSession(c);if(!d)throw new Error(`Unknown session: ${c}`);const y=d.modelId,b=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);if(!y)d.modelId=b;else if(y!==b)throw new Error("Model changed unexpectedly");const A=new v.CancellationTokenSource,S=A.token;o.__classPrivateFieldGet(this,r,"f").set(d.sessionId,A);const D=S.onCancellationRequested(()=>{E.response.cancel()}),I=this.preferenceService.get(v.AINativeSettingSectionsId.ContextWindow),w=d.getMessageHistory(I);try{const T=O=>{S.isCancellationRequested||d.acceptResponseProgress(E,O)},R={sessionId:c,requestId:E.requestId,message:E.message.prompt,command:E.message.command,images:E.message.images,regenerate:f},P=await this.chatAgentService.invokeAgent(E.message.agentId,R,T,w,S);S.isCancellationRequested||(P.errorDetails&&E.response.setErrorDetails(P.errorDetails),this.chatAgentService.getFollowups(E.message.agentId,c,v.CancellationToken.None).then(M=>{E.response.setFollowups(M),E.response.complete()}))}finally{D.dispose(),o.__classPrivateFieldGet(this,r,"f").disposeKey(d.sessionId),this.saveSessions()}}listenSession(c){this.addDispose(c.history.onMessageAdditionalChange(()=>{this.saveSessions()}))}saveSessions(){this._chatStorage.set("sessionModels",this.getSessions())}cancelRequest(c){var E;(E=o.__classPrivateFieldGet(this,r,"f").get(c))===null||E===void 0||E.cancel(),o.__classPrivateFieldGet(this,r,"f").disposeKey(c),this.saveSessions()}};t.ChatManagerService=h,n=new WeakMap,r=new WeakMap,o.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),o.__metadata("design:type",l.Injector)],h.prototype,"injector",void 0),o.__decorate([(0,l.Autowired)(m.IChatAgentService),o.__metadata("design:type",Object)],h.prototype,"chatAgentService",void 0),o.__decorate([(0,l.Autowired)(v.StorageProvider),o.__metadata("design:type",Function)],h.prototype,"storageProvider",void 0),o.__decorate([(0,l.Autowired)(_.PreferenceService),o.__metadata("design:type",Object)],h.prototype,"preferenceService",void 0),o.__decorate([(0,v.debounce)(1e3),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",void 0)],h.prototype,"saveSessions",null),t.ChatManagerService=h=o.__decorate([(0,l.Injectable)(),o.__metadata("design:paramtypes",[])],h)},42033:(x,t,e)=>{"use strict";var n,r,o,l,_,v,m,p,s,g,a,h,u,c,E,f,d;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatSlashCommandItemModel=t.ChatWelcomeMessageModel=t.ChatModel=t.ChatRequestModel=t.ChatResponseModel=void 0;const y=e(85608),b=e(76003),A=e(43718),S=e(90684),D=e(19413),I=e(44260);class w extends A.Disposable{get responseParts(){return y.__classPrivateFieldGet(this,r,"f")}get responseContents(){return y.__classPrivateFieldGet(this,o,"f")}get isComplete(){return y.__classPrivateFieldGet(this,l,"f")}get isCanceled(){return y.__classPrivateFieldGet(this,_,"f")}get requestId(){return y.__classPrivateFieldGet(this,v,"f")}get responseText(){return y.__classPrivateFieldGet(this,m,"f")}get errorDetails(){return y.__classPrivateFieldGet(this,p,"f")}get followups(){return y.__classPrivateFieldGet(this,s,"f")}get onDidChange(){return y.__classPrivateFieldGet(this,g,"f").event}constructor(k,F,L,B){super(),n.add(this),this.session=F,this.agentId=L,r.set(this,[]),o.set(this,[]),l.set(this,!1),_.set(this,!1),v.set(this,void 0),m.set(this,""),p.set(this,void 0),s.set(this,void 0),g.set(this,this.registerDispose(new A.Emitter)),y.__classPrivateFieldSet(this,v,k,"f"),B&&(y.__classPrivateFieldSet(this,o,B.responseContents,"f"),y.__classPrivateFieldSet(this,r,B.responseParts||[],"f"),y.__classPrivateFieldSet(this,m,B.responseText,"f"),y.__classPrivateFieldSet(this,l,B.isComplete,"f"),y.__classPrivateFieldSet(this,_,B.isCanceled,"f"),y.__classPrivateFieldSet(this,p,B.errorDetails,"f"),y.__classPrivateFieldSet(this,s,B.followups,"f"))}updateContent(k,F){var L;const B=y.__classPrivateFieldGet(this,r,"f").length-1;if(k.kind==="content"||k.kind==="markdownContent"){const U=y.__classPrivateFieldGet(this,r,"f")[B];!U||U.kind!=="markdownContent"?k.kind==="content"?y.__classPrivateFieldGet(this,r,"f").push({content:new S.MarkdownString(k.content),kind:"markdownContent"}):y.__classPrivateFieldGet(this,r,"f").push(k):k.kind==="markdownContent"?y.__classPrivateFieldGet(this,r,"f")[B]={content:new S.MarkdownString(U.content.value+k.content.value),kind:"markdownContent"}:y.__classPrivateFieldGet(this,r,"f")[B]={content:new S.MarkdownString(U.content.value+k.content,U.content),kind:"markdownContent"},y.__classPrivateFieldGet(this,n,"m",a).call(this)}else if(k.kind==="reasoning"){const U=y.__classPrivateFieldGet(this,r,"f")[B];!U||U.kind!=="reasoning"?y.__classPrivateFieldGet(this,r,"f").push({content:k.content.replace(/^<think>/,""),kind:"reasoning"}):y.__classPrivateFieldGet(this,r,"f")[B]={content:U.content+k.content,kind:"reasoning"},y.__classPrivateFieldGet(this,n,"m",a).call(this)}else if(k.kind==="asyncContent"){const U=y.__classPrivateFieldGet(this,r,"f").push(k)-1;y.__classPrivateFieldGet(this,n,"m",a).call(this),(L=k.resolvedContent)===null||L===void 0||L.then(W=>{typeof W=="string"?y.__classPrivateFieldGet(this,r,"f")[U]={content:new S.MarkdownString(W),kind:"markdownContent"}:(0,S.isMarkdownString)(W)?y.__classPrivateFieldGet(this,r,"f")[U]={content:W,kind:"markdownContent"}:y.__classPrivateFieldGet(this,r,"f")[U]=W,y.__classPrivateFieldGet(this,n,"m",a).call(this,F)})}else if(k.kind==="treeData"||k.kind==="component")y.__classPrivateFieldGet(this,r,"f").push(k),y.__classPrivateFieldGet(this,n,"m",a).call(this,F);else if(k.kind==="toolCall"){const U=y.__classPrivateFieldGet(this,r,"f").find(W=>W.kind==="toolCall"&&W.content.id===k.content.id);U?U.content=k.content:y.__classPrivateFieldGet(this,r,"f").push(k),y.__classPrivateFieldGet(this,n,"m",a).call(this,F)}}complete(){y.__classPrivateFieldSet(this,l,!0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}cancel(){y.__classPrivateFieldSet(this,l,!0,"f"),y.__classPrivateFieldSet(this,_,!0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}reset(){y.__classPrivateFieldSet(this,o,[],"f"),y.__classPrivateFieldSet(this,r,[],"f"),y.__classPrivateFieldSet(this,m,"","f"),y.__classPrivateFieldSet(this,_,!1,"f"),y.__classPrivateFieldSet(this,l,!1,"f"),y.__classPrivateFieldSet(this,p,void 0,"f"),y.__classPrivateFieldSet(this,s,void 0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}setErrorDetails(k){y.__classPrivateFieldSet(this,p,k,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}setFollowups(k){y.__classPrivateFieldSet(this,s,k,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}toJSON(){return{isCanceled:this.isCanceled,responseContents:this.responseContents,responseText:this.responseText,responseParts:this.responseParts,errorDetails:this.errorDetails,followups:this.followups}}}t.ChatResponseModel=w,r=new WeakMap,o=new WeakMap,l=new WeakMap,_=new WeakMap,v=new WeakMap,m=new WeakMap,p=new WeakMap,s=new WeakMap,g=new WeakMap,n=new WeakSet,a=function(k){y.__classPrivateFieldSet(this,m,y.__classPrivateFieldGet(this,r,"f").map(L=>L.kind==="asyncContent"?L.content:L.kind==="treeData"||L.kind==="component"?"":L.kind==="toolCall"?L.content.function.name:L.kind==="reasoning"?"":L.content.value).join(`
|
|
32831
32873
|
|
|
32832
|
-
`),"f");const F=[];for(const L of y.__classPrivateFieldGet(this,r,"f")){const B=F[F.length-1];L.kind==="markdownContent"&&B?.kind==="markdownContent"?F[F.length-1]={content:new S.MarkdownString(B.content.value+L.content.value,{isTrusted:B.content.isTrusted}),kind:"markdownContent"}:F.push(L)}y.__classPrivateFieldSet(this,o,F,"f"),k||y.__classPrivateFieldGet(this,g,"f").fire()};class T{get requestId(){return y.__classPrivateFieldGet(this,h,"f")}constructor(k,F,L,B){this.session=F,this.message=L,this.response=B,h.set(this,void 0),y.__classPrivateFieldSet(this,h,k,"f")}toJSON(){return{requestId:this.requestId,message:this.message,response:this.response}}}t.ChatRequestModel=T,h=new WeakMap;class R extends A.Disposable{constructor(k){var F,L;super(),this.requestIdPool=0,u.set(this,void 0),c.set(this,new Map),E.set(this,0),f.set(this,void 0),y.__classPrivateFieldSet(this,u,(F=k?.sessionId)!==null&&F!==void 0?F:(0,A.uuid)(),"f"),this.history=(L=k?.history)!==null&&L!==void 0?L:new I.MsgHistoryManager,y.__classPrivateFieldSet(this,f,k?.modelId,"f")}get sessionId(){return y.__classPrivateFieldGet(this,u,"f")}get requests(){return Array.from(y.__classPrivateFieldGet(this,c,"f").values())}restoreRequests(k){y.__classPrivateFieldSet(this,c,new Map(k.map(F=>[F.requestId,F])),"f"),this.requestIdPool=k.length}get slicedMessageCount(){return y.__classPrivateFieldGet(this,E,"f")}get modelId(){return y.__classPrivateFieldGet(this,f,"f")}set modelId(k){y.__classPrivateFieldSet(this,f,k,"f")}getMessageHistory(k){var F,L;const B=[];for(const U of this.requests)if(U.response.isComplete){B.push({role:"user",content:!((F=U.message.images)===null||F===void 0)&&F.length?[{type:"text",text:U.message.prompt},...U.message.images.map(W=>({type:"image",image:new URL(W)}))]:U.message.prompt});for(const W of U.response.responseParts)W.kind==="treeData"||W.kind==="component"||W.kind==="reasoning"||(W.kind!=="toolCall"?B.push({role:"assistant",content:[{type:"text",text:W.kind==="markdownContent"?W.content.value:W.content}]}):(B[B.length-1].role!=="assistant"&&B.push({role:"assistant",content:[]}),B[B.length-1].content.push({type:"tool-call",toolCallId:W.content.id,toolName:W.content.function.name,args:(()=>{try{return JSON.parse(W.content.function.arguments||"{}")}catch(j){return console.error("Failed to parse tool call arguments:",j),{}}})()}),B.push({role:"tool",content:[{type:"tool-result",toolCallId:W.content.id,toolName:W.content.function.name,result:(()=>{try{return JSON.parse(W.content.result||"{}")}catch(j){return console.error("Failed to parse tool result:",j),{}}})()}]})))}if(k)for(;y.__classPrivateFieldGet(this,E,"f")<B.length&&!(JSON.stringify(B.slice(y.__classPrivateFieldGet(this,E,"f"))).length/3<=k);)y.__classPrivateFieldSet(this,E,(L=y.__classPrivateFieldGet(this,E,"f"),L++,L),"f");return B.slice(y.__classPrivateFieldGet(this,E,"f"))}addRequest(k){const F=k,L=`${this.sessionId}_request_${this.requestIdPool++}`,B=new w(L,this,F.agentId),U=new T(L,this,F,B);return y.__classPrivateFieldGet(this,c,"f").set(L,U),U}acceptResponseProgress(k,F,L){if(k.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");const{kind:B}=F;["content","markdownContent","asyncContent","treeData","component","toolCall","reasoning"].includes(B)?k.response.updateContent(F,L):console.error(`Couldn't handle progress: ${JSON.stringify(F)}`)}getRequest(k){return y.__classPrivateFieldGet(this,c,"f").get(k)}dispose(){super.dispose(),y.__classPrivateFieldGet(this,c,"f").forEach(k=>k.response.dispose())}toJSON(){return{sessionId:this.sessionId,modelId:this.modelId,history:this.history,requests:this.requests}}}t.ChatModel=R,u=new WeakMap,c=new WeakMap,E=new WeakMap,f=new WeakMap;let P=d=class extends A.Disposable{get id(){return this._id}constructor(k,F){super(),this.content=k,this.sampleQuestions=F,this._id="welcome_"+d.nextId++}};t.ChatWelcomeMessageModel=P,P.nextId=0,t.ChatWelcomeMessageModel=P=d=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,Array])],P);let O=class extends A.Disposable{constructor(k,F,L){super(),this.chatCommand=k,this.command=F,this.agentId=L}get name(){return this.chatCommand.name}get isShortcut(){return!!this.chatCommand.isShortcut}get icon(){return this.chatCommand.icon}get description(){return this.chatCommand.description}get tooltip(){return this.chatCommand.tooltip}get nameWithSlash(){return this.name.startsWith(D.SLASH_SYMBOL)?this.name:`${D.SLASH_SYMBOL} ${this.name}`}};t.ChatSlashCommandItemModel=O,t.ChatSlashCommandItemModel=O=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,String,String])],O)},42995:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMultiDiffSource=t.ChatMultiDiffResolver=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(64335),v=e(73974);let m=n=class{canHandleUri(a){return a.scheme===n.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME}resolveDiffSource(a){return Promise.resolve(new s(this.baseApplyService,this.appConfig))}};t.ChatMultiDiffResolver=m,m.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME="chat-editing-multi-diff-source",r.__decorate([(0,o.Autowired)(v.BaseApplyService),r.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),r.__decorate([(0,o.Autowired)(l.AppConfig),r.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),t.ChatMultiDiffResolver=m=n=r.__decorate([(0,o.Injectable)()],m);const p=(g,a,h)=>l.URI.from({scheme:v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME,path:g,query:l.URI.stringifyQuery({id:a,side:h})});class s{constructor(a,h){this.baseApplyService=a,this.appConfig=h,this.resources=(()=>{const u=this.baseApplyService,c=this.appConfig;return{get value(){return u.getSessionCodeBlocks().filter(E=>E.status==="success"||E.status==="pending").reduce((E,f)=>{const d=E.find(y=>y.relativePath===f.relativePath);return d?(f.version<d.oldVersion&&(d.oldVersion=f.version,d.oldBlockId=f.toolCallId),f.version>d.newVersion&&(d.newVersion=f.version,d.newBlockId=f.toolCallId)):E.push({relativePath:f.relativePath,oldBlockId:f.toolCallId,newBlockId:f.toolCallId,oldVersion:f.version,newVersion:f.version}),E},[]).map(E=>{const f=l.path.join(c.workspaceDir,E.relativePath);return new _.MultiDiffEditorItem(p(f,E.oldBlockId,"left"),p(f,E.newBlockId,"right"),l.URI.file(f))})},onDidChange:this.baseApplyService.onCodeBlockUpdate}})()}}t.ChatMultiDiffSource=s},51081:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatProxyService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(43718),v=e(27284),m=e(9447),p=e(72665),s=e(93062),g=e(19413),a=e(85907),h=e(34817),u=e(11735);let c=n=class extends _.Disposable{constructor(){super(...arguments),this.chatDeferred=new _.Deferred}getRequestOptions(){const f=this.preferenceService.get(v.AINativeSettingSectionsId.LLMModelSelection),d=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);let y="",b="";f==="deepseek"?y=this.preferenceService.get(v.AINativeSettingSectionsId.DeepseekApiKey,""):f==="openai"?y=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""):f==="anthropic"?y=this.preferenceService.get(v.AINativeSettingSectionsId.AnthropicApiKey,""):(y=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""),b=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiBaseURL,""));const A=this.preferenceService.get(v.AINativeSettingSectionsId.MaxTokens),S=this.chatAgentService.getAgent(n.AGENT_ID);return{clientId:this.applicationService.clientId,model:f,modelId:d,apiKey:y,baseURL:b,maxTokens:A,system:S?.metadata.systemPrompt}}registerDefaultAgent(){this.chatAgentViewService.registerChatComponent({id:"toolCall",component:h.ChatToolRender,initialProps:{}}),this.applicationService.getBackendOS().then(()=>{this.addDispose(this.chatAgentService.registerAgent({id:n.AGENT_ID,metadata:{systemPrompt:this.preferenceService.get(v.AINativeSettingSectionsId.SystemPrompt,a.DEFAULT_SYSTEM_PROMPT)},invoke:async(f,d,y,b)=>{this.chatDeferred=new _.Deferred;const{message:A,command:S}=f;let D=A;if(S){const w=this.chatFeatureRegistry.getSlashCommandHandler(S);if(w&&w.providerPrompt){const T=this.monacoCommandRegistry.getActiveCodeEditor();D=await w.providerPrompt(A,T)}}const I=await this.aiBackService.requestStream(D,{requestId:f.requestId,sessionId:f.sessionId,history:y,images:f.images,...this.getRequestOptions()},b);return(0,s.listenReadable)(I,{onData:w=>{d(w)},onEnd:()=>{this.chatDeferred.resolve()},onError:w=>{this.messageService.error(w.message),this.aiReporter.end(f.sessionId+"_"+f.requestId,{message:w.message,success:!1,command:S})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async()=>this.chatFeatureRegistry.getAllSlashCommand().map(f=>({...f,name:f.name,description:f.description||""})),provideChatWelcomeMessage:async()=>{}}))}),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=c,c.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],c.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],c.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(_.ChatFeatureRegistryToken),r.__metadata("design:type",u.ChatFeatureRegistry)],c.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],c.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(_.IAIReporter),r.__metadata("design:type",Object)],c.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(_.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],c.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],c.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.IApplicationService),r.__metadata("design:type",Object)],c.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(p.IMessageService),r.__metadata("design:type",Object)],c.prototype,"messageService",void 0),t.ChatProxyService=c=n=r.__decorate([(0,o.Injectable)()],c)},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),_=e(19413),v=e(59347);let m=class extends o.Disposable{constructor(){super(),this._onChatMessageLaunch=new o.Emitter,this.onChatMessageLaunch=this._onChatMessageLaunch.event,this._onChatReplyMessageLaunch=new o.Emitter,this.onChatReplyMessageLaunch=this._onChatReplyMessageLaunch.event,this._onChatMessageListLaunch=new o.Emitter,this.onChatMessageListLaunch=this._onChatMessageListLaunch.event,this._onScrollToBottom=new o.Emitter,this.onScrollToBottom=this._onScrollToBottom.event}showChatView(){this.mainLayoutService.toggleSlot(_.AI_CHAT_VIEW_ID,!0)}sendMessage(s){this.showChatView(),this._onChatMessageLaunch.fire(s)}clearHistoryMessages(){var s;(s=this.chatInternalService.sessionModel)===null||s===void 0||s.history.clearMessages()}sendReplyMessage(s){typeof s=="string"?this._onChatReplyMessageLaunch.fire({kind:"content",content:s}):this._onChatReplyMessageLaunch.fire(s)}sendMessageList(s){this._onChatMessageListLaunch.fire(s)}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(_.IChatInternalService),n.__metadata("design:type",v.ChatInternalService)],m.prototype,"chatInternalService",void 0),n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],m.prototype,"mainLayoutService",void 0),t.ChatService=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},11735:(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),_=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 _.ChatWelcomeMessageModel(s,g),this._onDidWelcomeMessageChange.fire()}registerSlashCommand(s,g){const{name:a}=s;if(this.slashCommandsMap.has(a)){this.logger.warn(`ChatFeatureRegistry: commands name ${a} already exists`);return}this.slashCommandsMap.set(a,new _.ChatSlashCommandItemModel(s,a,v.ChatProxyService.AGENT_ID)),this.slashCommandsHandlerMap.set(a,g)}getSlashCommandHandler(s){return this.slashCommandsHandlerMap.get(s)}getSlashCommand(s){return this.slashCommandsMap.get(s)}getSlashCommandHandlerBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommandHandler(g.name)}getSlashCommandBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommand(g.name)}getAllSlashCommand(){return Array.from(this.slashCommandsMap.values())}getAllShortcutSlashCommand(){return this.getAllSlashCommand().filter(s=>s.isShortcut===!0)}parseSlashCommand(s){if(s.startsWith(l.SLASH_SYMBOL)){const g=this.getAllSlashCommand();for(const a of g){const{nameWithSlash:h}=a;if(s.startsWith(h))return{value:s.slice(h.length),nameWithSlash:h}}}return{value:s,nameWithSlash:""}}};t.ChatFeatureRegistry=m,t.ChatFeatureRegistry=m=n.__decorate([(0,r.Injectable)()],m)},59347:(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),_=e(43718),v=e(19413),m=e(61282);let p=class extends _.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new _.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new _.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new _.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onWillClearSession=new _.Emitter,this.onWillClearSession=this._onWillClearSession.event,this._onRegenerateRequest=new _.Emitter,this.onRegenerateRequest=this._onRegenerateRequest.event,n.set(this,void 0)}get latestRequestId(){return this._latestRequestId}get sessionModel(){return r.__classPrivateFieldGet(this,n,"f")}init(){this.chatManagerService.onStorageInit(()=>{const g=this.chatManagerService.getSessions();g.length>0?this.activateSession(g[g.length-1].sessionId):this.createSessionModel()})}setLatestRequestId(g){this._latestRequestId=g,this._onChangeRequestId.fire(g)}createRequest(g,a,h,u){return this.chatManagerService.createRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a,u,h)}sendRequest(g,a=!1){const h=this.chatManagerService.sendRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a);return a&&this._onRegenerateRequest.fire(),h}cancelRequest(){this.chatManagerService.cancelRequest(r.__classPrivateFieldGet(this,n,"f").sessionId),this._onCancelRequest.fire()}createSessionModel(){r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}clearSessionModel(g){g=g||r.__classPrivateFieldGet(this,n,"f").sessionId,this._onWillClearSession.fire(g),this.chatManagerService.clearSession(g),g===r.__classPrivateFieldGet(this,n,"f").sessionId&&r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}getSessions(){return this.chatManagerService.getSessions()}getSession(g){return this.chatManagerService.getSession(g)}activateSession(g){const a=this.chatManagerService.getSession(g);if(!a)throw new Error(`There is no session with session id ${g}`);r.__classPrivateFieldSet(this,n,a,"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}dispose(){var g;(g=r.__classPrivateFieldGet(this,n,"f"))===null||g===void 0||g.dispose(),super.dispose()}};t.ChatInternalService=p,n=new WeakMap,r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],p.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(v.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],p.prototype,"chatManagerService",void 0),t.ChatInternalService=p=r.__decorate([(0,o.Injectable)()],p)},70394:(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),_=e(81878),v=e(89195),m=e(43718),p=e(54414),s=e(63067),g=e(72665);e(41937);const a=e(51500),h=e(19413),u=e(46044),c=e(98864),E=e(87785),f=e(25834),d=n.__importDefault(e(90103)),y=e(57987),b=e(56474),A=e(49601),S=e(15016),D=e(29039),I=e(78048),w=e(86556),T=e(73974),R=e(77633),P=e(42033),O=e(51081),M=n.__importDefault(e(77256)),k="chat_scroll",F=100,L=W=>W.map(j=>{var Q;const G=((Q=j.applyResult)===null||Q===void 0?void 0:Q.diff.split(`
|
|
32833
|
-
`).reduce(([Z,$],V)=>(V.startsWith("-")?Z+=1:V.startsWith("+")&&($+=1),[Z,$]),[0,0]))||[0,0];return{path:j.relativePath,additions:G[1],deletions:G[0],status:j.status}}).reduce((j,Q)=>{const G=j.find(Z=>Z.path===Q.path);return G?(G.additions+=Q.additions,G.deletions+=Q.deletions,G.status=Q.status):j.push(Q),j},[]),B=()=>{const W=(0,l.useInjectable)(h.IChatInternalService),j=(0,l.useInjectable)(m.ChatServiceToken),Q=(0,l.useInjectable)(m.IAIReporter),G=(0,l.useInjectable)(h.IChatAgentService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),$=(0,l.useInjectable)(m.ChatRenderRegistryToken),V=(0,l.useInjectable)(R.TokenMCPServerRegistry),H=(0,l.useInjectable)(l.AINativeConfigService),K=(0,l.useInjectable)(u.LLMContextServiceToken),Y=(0,l.useInjectable)(s.IMainLayoutService),X=W.sessionModel.history,re=r.useRef(null),oe=r.useRef(!0),he=r.useRef(null),me=(0,l.useInjectable)(p.WorkbenchEditorService),q=(0,l.useInjectable)(l.AppConfig),Ae=(0,l.useInjectable)(T.BaseApplyService),ge=(0,l.useInjectable)(l.LabelService),te=(0,l.useInjectable)(a.IWorkspaceService),fe=(0,l.useInjectable)(m.CommandService),[Oe,xe]=r.useState([]),[Me,Be]=r.useState(W.sessionModel.modelId),[De,_e]=r.useState(L(Ae.getSessionCodeBlocks())),[Ne,Te]=r.useReducer((Re,Le)=>{switch(Le.type){case"add":return[...Re,...Le.payload||[]];case"clear":return[];case"init":return Array.isArray(Le.payload)?Le.payload:[];default:return Re}},[]),[We,pe]=r.useState(!1),[ie,le]=r.useState(""),[Se,ye]=r.useState(""),[Ue,Ye]=r.useState(""),[Ve,pt]=r.useState(null);r.useEffect(()=>{Be(W.sessionModel.modelId)},[We,W.sessionModel]),r.useEffect(()=>{const Re=new m.Disposable,Le=()=>{const ze=L(Ae.getSessionCodeBlocks());_e(ze)};return Re.addDispose(W.onChangeSession(Le)),Re.addDispose(Ae.onCodeBlockUpdate(Le)),()=>Re.dispose()},[]),r.useEffect(()=>{const Re=Z.getAllShortcutSlashCommand(),Le=G.onDidChangeAgents(()=>{const ze=G.getCommands().filter(St=>St.isShortcut).map(St=>new P.ChatSlashCommandItemModel({icon:"",name:`${St.name} `,description:St.description,isShortcut:St.isShortcut},St.name,St.agentId));xe(Re.concat(ze))});return xe(Re),()=>Le.dispose()},[Z,G]),(0,l.useUpdateOnEvent)(W.onChangeSession);const vt=r.useMemo(()=>$.chatInputRender?$.chatInputRender:H.capabilities.supportsMCP?A.ChatMentionInput:y.ChatInput,[$.chatInputRender]),xt=r.useMemo(()=>(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(w.WelcomeMessage,null)}),[]),lt=r.useCallback(Re=>{Re.deltaY<0?oe.current=!1:oe.current=!0},[oe]);r.useEffect(()=>{if(re.current)return re.current.addEventListener("wheel",lt),()=>{var Re;(Re=re.current)===null||Re===void 0||Re.removeEventListener("wheel",lt)}},[oe]);const wt=r.useCallback(()=>{if(re&&re.current&&oe.current){const Re=re.current.lastElementChild;Re&&Re.scrollIntoView({behavior:"smooth",block:"end"}),re.current.scrollHeight>re.current.clientHeight&&re.current.classList.add(k)}},[re,oe]),at=r.useCallback(Re=>{Te(Re),requestAnimationFrame(()=>{wt()})},[Te,wt]);r.useEffect(()=>{at({type:"init",payload:[xt]})},[]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose(j.onScrollToBottom(()=>{requestAnimationFrame(()=>{})})),Re.addDispose(j.onChatMessageLaunch(async Le=>{var ze;if(Le.immediate!==!1){if(We)return;await ui(Le.message,Le.images,Le.agentId,Le.command)}else Le.agentId&&le(Le.agentId),Le.command&&Ye(Le.command),(ze=he?.current)===null||ze===void 0||ze.setInputValue(Le.message)})),Re.addDispose(j.onChatReplyMessageLaunch(Le=>{if(Le.kind==="content"){const ze=Q.start(m.AIServiceType.CustomReply,{message:Le.content,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({content:Le.content,relationId:ze}),Ut({chunk:Le.content,relationId:ze})}else{const ze=Q.start(m.AIServiceType.CustomReply,{message:"component#"+Le.component,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({componentId:Le.component,componentValue:Le.value,content:"",relationId:ze}),_n({chunk:Le,relationId:ze})}})),Re.addDispose(j.onChatMessageListLaunch(Le=>{const ze=[];Le.forEach(St=>{const{role:$t}=St,On=Q.start(m.AIServiceType.Chat,{message:"",sessionId:W.sessionModel.sessionId});if($t==="assistant"){const Bn=St;ze.push((0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:On,text:r.createElement(S.ChatNotify,{requestId:On,chunk:Bn})},M.default.chat_notify))}if($t==="user"){const{message:Bn}=St,di=O.ChatProxyService.AGENT_ID,li=$.chatUserRoleRender,Ni=di===O.ChatProxyService.AGENT_ID?"":di;ze.push((0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:li?r.createElement(li,{content:Bn,agentId:Ni}):r.createElement(f.CodeBlockWrapperInput,{relationId:On,text:Bn,agentId:Ni,command:Ue,labelService:ge,workspaceService:te,commandService:fe})},M.default.chat_message_code))}}),at({type:"add",payload:ze}),setTimeout(wt,0)})),()=>Re.dispose()},[j,$.chatAIRoleRender,X]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose(G.onDidSendMessage(Le=>{const ze=Le,St=Q.start(m.AIServiceType.Agent,{message:""}),$t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:St,text:r.createElement(S.ChatNotify,{requestId:W.latestRequestId,chunk:ze})},M.default.chat_notify);at({type:"add",payload:[$t]})})),Re.addDispose(G.onDidChangeAgents(async()=>{const Le=G.getDefaultAgentId();ye(Le??"")})),()=>Re.dispose()},[G,X,W]);const tt=r.useCallback(async Re=>{const{userMessage:Le,relationId:ze,requestId:St,render:$t,startTime:On,command:Bn,agentId:di}=Re;X.addAssistantMessage({type:"component",content:""});const li=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,className:M.default.chat_with_more_actions,text:r.createElement(D.SlashCustomRender,{userMessage:Le,startTime:On,relationId:ze,requestId:St,renderContent:$t,command:Bn,agentId:di})});at({type:"add",payload:[li]})},[re,X]),st=r.useCallback(async Re=>{const Le=$.chatUserRoleRender,{message:ze,images:St,agentId:$t,relationId:On,command:Bn}=Re,di=$t===O.ChatProxyService.AGENT_ID?"":$t,li=(0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:Le?r.createElement(Le,{content:ze,images:St,agentId:di,command:Bn}):r.createElement(f.CodeBlockWrapperInput,{labelService:ge,relationId:On,text:ze,images:St,agentId:di,command:Bn,workspaceService:te,commandService:fe})},M.default.chat_message_code);at({type:"add",payload:[li]})},[$,$.chatUserRoleRender,X,wt]),At=r.useCallback(async Re=>{const{message:Le,agentId:ze,request:St,relationId:$t,command:On,startTime:Bn,msgId:di}=Re,li=ze===O.ChatProxyService.AGENT_ID?"":ze;if(ze===O.ChatProxyService.AGENT_ID&&On){const In=Z.getSlashCommandHandler(On);if(In&&In.providerRender)return pe(!1),tt({userMessage:Le,render:In.providerRender,relationId:$t,requestId:St.requestId,startTime:Bn,agentId:ze,command:On})}const Ni=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:$t,className:M.default.chat_with_more_actions,text:r.createElement(S.ChatReply,{relationId:$t,request:St,startTime:Bn,agentId:li,command:On,onDidChange:()=>{wt()},history:X,onDone:()=>{pe(!1)},onRegenerate:()=>{St&&W.sendRequest(St,!0)},msgId:di})});at({type:"add",payload:[Ni]})},[$,X,wt]),Ut=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re;let St=r.createElement(b.ChatMarkdown,{markdown:Le,fillInIncompleteTokens:!0,agentId:ie,command:Ue});if($.chatAIRoleRender){const On=$.chatAIRoleRender;St=r.createElement(On,{content:Le})}const $t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:St,className:M.default.chat_with_more_actions});at({type:"add",payload:[$t]})},[$,X,wt]),_n=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re,St=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:r.createElement(S.ChatNotify,{requestId:ze,chunk:Le})},M.default.chat_notify);at({type:"add",payload:[St]})},[$,X,wt]),Ln=r.useCallback(async Re=>{const{message:Le,images:ze,agentId:St,command:$t,reportExtra:On}=Re,{actionType:Bn,actionSource:di}=On||{},li=W.createRequest(Le.replaceAll(u.LLM_CONTEXT_KEY_REGEX,""),St,ze,$t);if(!li)return;pe(!0),W.setLatestRequestId(li.requestId);const Ni=Date.now(),In=O.ChatProxyService.AGENT_ID===St?m.AIServiceType.Chat:m.AIServiceType.Agent,Cn=Q.start($t||In,{agentId:St,userMessage:Le,actionType:Bn,actionSource:di,sessionId:W.sessionModel.sessionId},600*1e3);X.addUserMessage({content:Le,images:ze||[],agentId:St,agentCommand:$t,relationId:Cn}),await st({relationId:Cn,message:Le,images:ze,command:$t,agentId:St}),W.sendRequest(li);const $n=X.addAssistantMessage({content:"",relationId:Cn,requestId:li.requestId,replyStartTime:Ni});V.activeMessageInfo={messageId:$n,sessionId:W.sessionModel.sessionId},await At({startTime:Ni,relationId:Cn,message:Le,agentId:St,command:$t,request:li,msgId:$n})},[$,$.chatUserRoleRender,X,wt,We]),ui=r.useCallback(async(Re,Le,ze,St)=>{var $t,On,Bn;const di={actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send};ze=ze||O.ChatProxyService.AGENT_ID;let li=Re;const Ni=/\{\{@file:(.*?)\}\}/g,In=Re.match(Ni);if(In)for(const Kn of In){const Xt=Kn.replace(/\{\{@file:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=(($t=await te.asRelativePath(Qe))===null||$t===void 0?void 0:$t.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${_t}\``)}const Cn=/\{\{@folder:(.*?)\}\}/g,$n=li.match(Cn);if($n)for(const Kn of $n){const Xt=Kn.replace(/\{\{@folder:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=((On=await te.asRelativePath(Qe))===null||On===void 0?void 0:On.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFolder}${_t}\``)}const Si=/\{\{@code:(.*?)\}\}/g,Ui=li.match(Si);if(Ui)for(const Kn of Ui){const Xt=Kn.replace(/\{\{@code:(.*?)\}\}/,"$1"),[Qe,_t]=Xt.split(":");let mt=[0,0];if(_t){const[Gt,Kt]=_t.slice(1).split("-");mt=[parseInt(Gt,10),parseInt(Kt,10)]}const gt=new m.URI(Qe),nn=((Bn=await te.asRelativePath(gt))===null||Bn===void 0?void 0:Bn.path)||gt.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${nn}:L${mt[0]}-${mt[1]}\``)}const bi=/\{\{@rule:(.*?)\}\}/g,hn=li.match(bi);if(hn)for(const Kn of hn){const Xt=Kn.replace(/\{\{@rule:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt);li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${Qe.displayName}\``)}return Ln({message:li,images:Le,agentId:ze,command:St,reportExtra:di})},[Ln]),Rn=r.useCallback(()=>{W.clearSessionModel(),j.clearHistoryMessages(),ln()},[Ne]),ln=r.useCallback(()=>{var Re;(Re=re?.current)===null||Re===void 0||Re.classList.remove(k),at({type:"init",payload:[xt]})},[Ne]),Un=Re=>{We||(pt(Re.nameWithSlash),le(Re.agentId),Ye(Re.command))},rn=r.useCallback(()=>{Y.toggleSlot(h.AI_CHAT_VIEW_ID)},[Y]),ct=$.chatViewHeaderRender||U,$e=r.useCallback(async Re=>{for(const Le of X.getMessages()){if(Re.isCancellationRequested)return;if(Le.role===1)await st({relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,images:Le.images});else if(Le.role===2&&Le.requestId){const ze=W.sessionModel.getRequest(Le.requestId);ze&&!ze.response.isComplete&&pe(!0),await At({msgId:Le.id,relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,startTime:Le.replyStartTime,request:ze})}else Le.role===2&&Le.content?await Ut({relationId:Le.relationId,chunk:Le.content}):Le.role===2&&Le.componentId&&await _n({relationId:Le.relationId,chunk:{kind:"component",component:Le.componentId,value:Le.componentValue}})}},[At]);return r.useEffect(()=>{ln();const Re=new m.CancellationTokenSource;return pe(!1),$e(Re.token),()=>{Re.cancel()}},[W.sessionModel]),r.createElement("div",{id:M.default.ai_chat_view},r.createElement("div",{className:M.default.header_container},r.createElement(ct,{handleClear:Rn,handleCloseChatView:rn})),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:re},r.createElement(o.MessageList,{className:M.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:Ne})),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},Oe.map(Re=>r.createElement(_.Popover,{id:`ai-chat-shortcut-${Re.name}`,key:`ai-chat-shortcut-${Re.name}`,title:Re.tooltip||Re.name},r.createElement("div",{className:M.default.tag,onClick:()=>Un(Re)},Re.name))))),De.length>0&&r.createElement(E.FileListDisplay,{files:De,hideActions:We,onFileClick:Re=>{me.open(m.URI.file(m.path.join(q.workspaceDir,Re)))},onRejectAll:()=>{Ae.processAll("reject")},onAcceptAll:()=>{Ae.processAll("accept")}}),r.createElement(vt,{onSend:ui,disabled:We,enableOptions:!0,theme:Ve,setTheme:pt,agentId:ie,setAgentId:le,defaultAgentId:Se,command:Ue,setCommand:Ye,contextService:K,ref:he,disableModelSelector:Me!==void 0||We,sessionModelId:Me})))))};t.AIChatView=B;function U({handleClear:W,handleCloseChatView:j}){const Q=(0,l.useInjectable)(h.IChatInternalService),G=(0,l.useInjectable)(g.IMessageService),[Z,$]=r.useState([]),[V,H]=r.useState(""),K=r.useCallback(()=>{if(Q.sessionModel.history.getMessages().length>0)try{Q.createSessionModel()}catch(re){G.error(re.message)}},[Q]),Y=r.useCallback(re=>{Q.activateSession(re.id)},[Q]),X=r.useCallback(re=>{Q.clearSessionModel(re.id)},[Q]);return r.useEffect(()=>{const re=()=>{const q=Q.sessionModel.history.getMessages().findLast(Ae=>Ae.role===1);H(q?(0,c.cleanAttachedTextWrapper)(q.content).slice(0,F):""),$(Q.getSessions().map(Ae=>{const te=Ae.history.getMessages(),fe=te.length>0?(0,c.cleanAttachedTextWrapper)(te[0].content).slice(0,F):"",Oe=te.length>0&&te[te.length-1].replyStartTime||0;return{id:Ae.sessionId,title:fe,updatedAt:Oe,loading:!1}}))};re();const oe=new m.DisposableCollection,he=new Set;return oe.push(Q.onChangeSession(me=>{re(),!he.has(me)&&(he.add(me),oe.push(Q.sessionModel.history.onMessageChange(()=>{re()})))})),oe.push(Q.sessionModel.history.onMessageChange(()=>{re()})),()=>{oe.dispose()}},[Q]),r.createElement("div",{className:M.default.header},r.createElement(d.default,{className:M.default.chat_history,currentId:Q.sessionModel.sessionId,title:V||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:Z,onNewChat:K,onHistoryItemSelect:Y,onHistoryItemDelete:X,onHistoryItemChange:()=>{}}),r.createElement(_.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(_.Popover,{overlayClassName:M.default.popover_icon,id:"ai-chat-header-close",position:_.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)),_=({status:v,error:m})=>{const p=()=>{switch(v){case"generating":return r.default.createElement(o.Loading,null);case"pending":return r.default.createElement(o.Popover,{title:"Pending",id:"edit-file-tool-status-pending"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-large"}));case"success":return r.default.createElement(o.Popover,{title:"Success",id:"edit-file-tool-status-success"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-pass"}));case"failed":return r.default.createElement(o.Popover,{title:`(${m||"Unknown error"})`,id:"edit-file-tool-status-failed"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-error"}));case"cancelled":return r.default.createElement(o.Popover,{title:"Cancelled",id:"edit-file-tool-status-cancelled"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-slash",style:{color:"var(--input-placeholderForeground)"}}));default:return null}};return r.default.createElement("span",{className:l.default.status},p())};t.ApplyStatus=_},87785:(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),_=e(54414),v=e(42995),m=e(21967),p=n.__importDefault(e(80919)),s=g=>{const{files:a,onFileClick:h,onRejectAll:u,onAcceptAll:c,hideActions:E}=g,[f,d]=(0,r.useState)(!0),y=(0,l.useInjectable)(_.WorkbenchEditorService),b=(0,l.useInjectable)(l.LabelService),A=(0,r.useMemo)(()=>a.map(R=>{const P=l.URI.parse(R.path),O=b.getIcon(P);return r.default.createElement("span",{className:O})}),[a]),S=a.length,D=a.reduce((R,P)=>({additions:R.additions+P.additions,deletions:R.deletions+P.deletions}),{additions:0,deletions:0}),I=()=>{d(!f)},w=R=>R?r.default.createElement("span",{className:p.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,T=(R,P)=>{const O=[];return R>0&&O.push(r.default.createElement("span",{key:"add",className:p.default.additions},"+",R)),P>0&&(O.length>0&&O.push(" "),O.push(r.default.createElement("span",{key:"del",className:p.default.deletions},"-",P))),O.length===0&&O.push(r.default.createElement("span",{key:"no-change",className:p.default.noChange},"No changes")),O};return r.default.createElement("div",{className:p.default.container},r.default.createElement("div",{className:p.default.header},r.default.createElement("span",{className:p.default.title},r.default.createElement("button",{className:p.default.toggleButton,onClick:I},f?r.default.createElement(o.Icon,{icon:"down"}):r.default.createElement(o.Icon,{icon:"right"})," Changed Files(",S,")"),T(D.additions,D.deletions),!E&&w(a.length)),!E&&a.some(R=>R.status==="pending")&&r.default.createElement("div",{className:p.default.actions},r.default.createElement(o.Button,{type:"link",size:"small",onClick:R=>{R.stopPropagation(),u()}},"Reject"),r.default.createElement(o.Button,{size:"small",onClick:R=>{R.stopPropagation(),c()}},"Accept"))),r.default.createElement("ul",{className:`${p.default.fileList} ${f?"":p.default.collapsed}`},a.map((R,P)=>r.default.createElement("li",{key:P,className:p.default.fileItem,onClick:()=>h(R.path)},r.default.createElement("span",{className:p.default.fileIcon},A[P]||"\u{1F4C4}"),r.default.createElement("div",{className:p.default.fileInfo},r.default.createElement("div",{className:p.default.filePath},R.path),r.default.createElement("div",{className:p.default.fileStats},T(R.additions,R.deletions)),r.default.createElement(m.ApplyStatus,{status:R.status}))))))};t.FileListDisplay=s},25834:(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.__importDefault(e(97331)),l=n.__importStar(e(14041)),_=n.__importDefault(e(10580)),v=e(46541),m=e(41869),p=e(81878),s=e(89195),g=e(43718),a=e(71624),h=e(9447),u=e(52416),c=n.__importDefault(e(6960)),E=e(83933),f=e(44692);e(38191);const d=S=>{const{input:D,language:I,relationId:w,agentId:T,command:R,hideInsert:P}=S,O=l.default.useRef(null),M=(0,m.useInjectable)(h.MonacoCommandRegistry),k=(0,m.useInjectable)(m.IClipboardService),F=(0,m.useInjectable)(u.IThemeService),L=(0,m.useInjectable)(g.IAIReporter),[B,U]=(0,l.useState)(!1),W=(0,l.useMemo)(()=>(0,m.uuid)(12),[O,O.current]);(0,l.useEffect)(()=>{const Z=H=>{H.type==="dark"||H.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(H.type==="light"||H.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},$=F.onThemeChange(H=>{Z(H)}),V=F.getCurrentThemeSync();return Z(V),()=>$.dispose()},[]);const j=(0,l.useRef)((0,o.default)(()=>{var Z;if(O.current){const $=O.current,V=(Z=$?.el)===null||Z===void 0?void 0:Z.querySelector("code"),H=V?.children;if(H){const K=H[H.length-1];K&&(K.scrollIntoViewIfNeeded?K.scrollIntoViewIfNeeded():K.scrollIntoView(!1))}}},150,{leading:!0,trailing:!0})).current;(0,l.useEffect)(()=>(j(),()=>{j.cancel()}),[D,j]);const Q=(0,l.useCallback)(async()=>{U(!0),await k.writeText(D),L.end(w,{copy:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatCopyCode}),(0,g.runWhenIdle)(()=>{U(!1)},1e3)},[k,D,w]),G=(0,l.useCallback)(()=>{const Z=M.getActiveCodeEditor();if(Z){const $=Z.getSelection();$&&((0,a.insertSnippetWithMonacoEditor)(Z,D,[$],{undoStopBefore:!1,undoStopAfter:!1}),L.end(w,{insert:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatInsertCode}))}},[M]);return l.default.createElement("div",{className:c.default.monaco_wrapper},l.default.createElement("div",{className:c.default.action_toolbar},!P&&l.default.createElement(p.Popover,{id:`ai-chat-inser-${W}`,title:(0,g.localize)("aiNative.chat.code.insert")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("insert"),onClick:()=>G(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.insert")})),l.default.createElement(p.Popover,{id:`ai-chat-copy-${W}`,title:(0,g.localize)(B?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("copy"),onClick:()=>Q(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.copy")}))),l.default.createElement(_.default,{language:I,ref:O,className:c.default.highlight_editor},D))};t.CodeEditorWithHighlight=d;const y=({content:S="",relationId:D,renderText:I,agentId:w="",command:T="",labelService:R,commandService:P,workspaceService:O})=>{const M=/`([^`]+)`/g,k=/```([^]+?)```/g,F=/```([^]+)?/g,L=/<attached_file>(.*)/g,B=/<attached_folder>(.*)/g,U=(0,l.useCallback)(async(G,Z)=>{const $=await O?.roots;let V;if($)for(const H of $){V=new g.URI(H.uri).resolve(G);try{await P?.executeCommand(m.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,V),Z===f.MentionType.FILE&&await P?.executeCommand(m.EDITOR_COMMANDS.OPEN_RESOURCE.id,V);break}catch{continue}}},[P,O]),W=(G,Z=!1,$)=>l.default.createElement("span",{className:c.default.attachment,key:$,onClick:()=>U(G,Z?f.MentionType.FOLDER:f.MentionType.FILE)},l.default.createElement(p.Icon,{iconClass:Z?(0,m.getIcon)("folder"):R?.getIcon(new g.URI(G||"file"))}),l.default.createElement("span",{className:c.default.attachment_text},G)),j=G=>{const Z=G.split(`
|
|
32874
|
+
`),"f");const F=[];for(const L of y.__classPrivateFieldGet(this,r,"f")){const B=F[F.length-1];L.kind==="markdownContent"&&B?.kind==="markdownContent"?F[F.length-1]={content:new S.MarkdownString(B.content.value+L.content.value,{isTrusted:B.content.isTrusted}),kind:"markdownContent"}:F.push(L)}y.__classPrivateFieldSet(this,o,F,"f"),k||y.__classPrivateFieldGet(this,g,"f").fire()};class T{get requestId(){return y.__classPrivateFieldGet(this,h,"f")}constructor(k,F,L,B){this.session=F,this.message=L,this.response=B,h.set(this,void 0),y.__classPrivateFieldSet(this,h,k,"f")}toJSON(){return{requestId:this.requestId,message:this.message,response:this.response}}}t.ChatRequestModel=T,h=new WeakMap;class R extends A.Disposable{constructor(k){var F,L;super(),this.requestIdPool=0,u.set(this,void 0),c.set(this,new Map),E.set(this,0),f.set(this,void 0),y.__classPrivateFieldSet(this,u,(F=k?.sessionId)!==null&&F!==void 0?F:(0,A.uuid)(),"f"),this.history=(L=k?.history)!==null&&L!==void 0?L:new I.MsgHistoryManager,y.__classPrivateFieldSet(this,f,k?.modelId,"f")}get sessionId(){return y.__classPrivateFieldGet(this,u,"f")}get requests(){return Array.from(y.__classPrivateFieldGet(this,c,"f").values())}restoreRequests(k){y.__classPrivateFieldSet(this,c,new Map(k.map(F=>[F.requestId,F])),"f"),this.requestIdPool=k.length}get slicedMessageCount(){return y.__classPrivateFieldGet(this,E,"f")}get modelId(){return y.__classPrivateFieldGet(this,f,"f")}set modelId(k){y.__classPrivateFieldSet(this,f,k,"f")}getMessageHistory(k){var F,L;const B=[];for(const U of this.requests)if(U.response.isComplete){B.push({role:"user",content:!((F=U.message.images)===null||F===void 0)&&F.length?[{type:"text",text:U.message.prompt},...U.message.images.map(W=>({type:"image",image:new URL(W)}))]:U.message.prompt});for(const W of U.response.responseParts)W.kind==="treeData"||W.kind==="component"||W.kind==="reasoning"||(W.kind!=="toolCall"?B.push({role:"assistant",content:[{type:"text",text:W.kind==="markdownContent"?W.content.value:W.content}]}):(B[B.length-1].role!=="assistant"&&B.push({role:"assistant",content:[]}),B[B.length-1].content.push({type:"tool-call",toolCallId:W.content.id,toolName:W.content.function.name,args:(()=>{try{return JSON.parse(W.content.function.arguments||"{}")}catch(j){return console.error("Failed to parse tool call arguments:",j),{}}})()}),B.push({role:"tool",content:[{type:"tool-result",toolCallId:W.content.id,toolName:W.content.function.name,result:(()=>{try{return JSON.parse(W.content.result||"{}")}catch(j){return console.error("Failed to parse tool result:",j),{}}})()}]})))}if(k)for(;y.__classPrivateFieldGet(this,E,"f")<B.length&&!(JSON.stringify(B.slice(y.__classPrivateFieldGet(this,E,"f"))).length/3<=k);)y.__classPrivateFieldSet(this,E,(L=y.__classPrivateFieldGet(this,E,"f"),L++,L),"f");return B.slice(y.__classPrivateFieldGet(this,E,"f"))}addRequest(k){const F=k,L=`${this.sessionId}_request_${this.requestIdPool++}`,B=new w(L,this,F.agentId),U=new T(L,this,F,B);return y.__classPrivateFieldGet(this,c,"f").set(L,U),U}acceptResponseProgress(k,F,L){if(k.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");const{kind:B}=F;["content","markdownContent","asyncContent","treeData","component","toolCall","reasoning"].includes(B)?k.response.updateContent(F,L):console.error(`Couldn't handle progress: ${JSON.stringify(F)}`)}getRequest(k){return y.__classPrivateFieldGet(this,c,"f").get(k)}dispose(){super.dispose(),y.__classPrivateFieldGet(this,c,"f").forEach(k=>k.response.dispose())}toJSON(){return{sessionId:this.sessionId,modelId:this.modelId,history:this.history,requests:this.requests}}}t.ChatModel=R,u=new WeakMap,c=new WeakMap,E=new WeakMap,f=new WeakMap;let P=d=class extends A.Disposable{get id(){return this._id}constructor(k,F){super(),this.content=k,this.sampleQuestions=F,this._id="welcome_"+d.nextId++}};t.ChatWelcomeMessageModel=P,P.nextId=0,t.ChatWelcomeMessageModel=P=d=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,Array])],P);let O=class extends A.Disposable{constructor(k,F,L){super(),this.chatCommand=k,this.command=F,this.agentId=L}get name(){return this.chatCommand.name}get isShortcut(){return!!this.chatCommand.isShortcut}get icon(){return this.chatCommand.icon}get description(){return this.chatCommand.description}get tooltip(){return this.chatCommand.tooltip}get nameWithSlash(){return this.name.startsWith(D.SLASH_SYMBOL)?this.name:`${D.SLASH_SYMBOL} ${this.name}`}};t.ChatSlashCommandItemModel=O,t.ChatSlashCommandItemModel=O=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,String,String])],O)},42995:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMultiDiffSource=t.ChatMultiDiffResolver=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(64335),v=e(73974);let m=n=class{canHandleUri(a){return a.scheme===n.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME}resolveDiffSource(a){return Promise.resolve(new s(this.baseApplyService,this.appConfig))}};t.ChatMultiDiffResolver=m,m.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME="chat-editing-multi-diff-source",r.__decorate([(0,o.Autowired)(v.BaseApplyService),r.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),r.__decorate([(0,o.Autowired)(l.AppConfig),r.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),t.ChatMultiDiffResolver=m=n=r.__decorate([(0,o.Injectable)()],m);const p=(g,a,h)=>l.URI.from({scheme:v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME,path:g,query:l.URI.stringifyQuery({id:a,side:h})});class s{constructor(a,h){this.baseApplyService=a,this.appConfig=h,this.resources=(()=>{const u=this.baseApplyService,c=this.appConfig;return{get value(){return u.getSessionCodeBlocks().filter(E=>E.status==="success"||E.status==="pending").reduce((E,f)=>{const d=E.find(y=>y.relativePath===f.relativePath);return d?(f.version<d.oldVersion&&(d.oldVersion=f.version,d.oldBlockId=f.toolCallId),f.version>d.newVersion&&(d.newVersion=f.version,d.newBlockId=f.toolCallId)):E.push({relativePath:f.relativePath,oldBlockId:f.toolCallId,newBlockId:f.toolCallId,oldVersion:f.version,newVersion:f.version}),E},[]).map(E=>{const f=l.path.join(c.workspaceDir,E.relativePath);return new _.MultiDiffEditorItem(p(f,E.oldBlockId,"left"),p(f,E.newBlockId,"right"),l.URI.file(f))})},onDidChange:this.baseApplyService.onCodeBlockUpdate}})()}}t.ChatMultiDiffSource=s},51081:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatProxyService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(43718),v=e(27284),m=e(9447),p=e(72665),s=e(93062),g=e(19413),a=e(85907),h=e(34817),u=e(11735);let c=n=class extends _.Disposable{constructor(){super(...arguments),this.chatDeferred=new _.Deferred}getRequestOptions(){const f=this.preferenceService.get(v.AINativeSettingSectionsId.LLMModelSelection),d=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);let y="",b="";f==="deepseek"?y=this.preferenceService.get(v.AINativeSettingSectionsId.DeepseekApiKey,""):f==="openai"?y=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""):f==="anthropic"?y=this.preferenceService.get(v.AINativeSettingSectionsId.AnthropicApiKey,""):(y=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""),b=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiBaseURL,""));const A=this.preferenceService.get(v.AINativeSettingSectionsId.MaxTokens),S=this.chatAgentService.getAgent(n.AGENT_ID);return{clientId:this.applicationService.clientId,model:f,modelId:d,apiKey:y,baseURL:b,maxTokens:A,system:S?.metadata.systemPrompt}}registerDefaultAgent(){this.chatAgentViewService.registerChatComponent({id:"toolCall",component:h.ChatToolRender,initialProps:{}}),this.applicationService.getBackendOS().then(()=>{this.addDispose(this.chatAgentService.registerAgent({id:n.AGENT_ID,metadata:{systemPrompt:this.preferenceService.get(v.AINativeSettingSectionsId.SystemPrompt,a.DEFAULT_SYSTEM_PROMPT)},invoke:async(f,d,y,b)=>{this.chatDeferred=new _.Deferred;const{message:A,command:S}=f;let D=A;if(S){const w=this.chatFeatureRegistry.getSlashCommandHandler(S);if(w&&w.providerPrompt){const T=this.monacoCommandRegistry.getActiveCodeEditor();D=await w.providerPrompt(A,T)}}const I=await this.aiBackService.requestStream(D,{requestId:f.requestId,sessionId:f.sessionId,history:y,images:f.images,...this.getRequestOptions()},b);return(0,s.listenReadable)(I,{onData:w=>{d(w)},onEnd:()=>{this.chatDeferred.resolve()},onError:w=>{this.messageService.error(w.message),this.aiReporter.end(f.sessionId+"_"+f.requestId,{message:w.message,success:!1,command:S})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async()=>this.chatFeatureRegistry.getAllSlashCommand().map(f=>({...f,name:f.name,description:f.description||""})),provideChatWelcomeMessage:async()=>{}}))}),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=c,c.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],c.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],c.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(_.ChatFeatureRegistryToken),r.__metadata("design:type",u.ChatFeatureRegistry)],c.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],c.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(_.IAIReporter),r.__metadata("design:type",Object)],c.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(_.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],c.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],c.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.IApplicationService),r.__metadata("design:type",Object)],c.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(p.IMessageService),r.__metadata("design:type",Object)],c.prototype,"messageService",void 0),t.ChatProxyService=c=n=r.__decorate([(0,o.Injectable)()],c)},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),_=e(19413),v=e(59347);let m=class extends o.Disposable{constructor(){super(),this._onChatMessageLaunch=new o.Emitter,this.onChatMessageLaunch=this._onChatMessageLaunch.event,this._onChatReplyMessageLaunch=new o.Emitter,this.onChatReplyMessageLaunch=this._onChatReplyMessageLaunch.event,this._onChatMessageListLaunch=new o.Emitter,this.onChatMessageListLaunch=this._onChatMessageListLaunch.event,this._onScrollToBottom=new o.Emitter,this.onScrollToBottom=this._onScrollToBottom.event}showChatView(){this.mainLayoutService.toggleSlot(_.AI_CHAT_VIEW_ID,!0)}sendMessage(s){this.showChatView(),this._onChatMessageLaunch.fire(s)}clearHistoryMessages(){var s;(s=this.chatInternalService.sessionModel)===null||s===void 0||s.history.clearMessages()}sendReplyMessage(s){typeof s=="string"?this._onChatReplyMessageLaunch.fire({kind:"content",content:s}):this._onChatReplyMessageLaunch.fire(s)}sendMessageList(s){this._onChatMessageListLaunch.fire(s)}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(_.IChatInternalService),n.__metadata("design:type",v.ChatInternalService)],m.prototype,"chatInternalService",void 0),n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],m.prototype,"mainLayoutService",void 0),t.ChatService=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},11735:(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),_=e(42033),v=e(51081);let m=class extends o.Disposable{constructor(){super(...arguments),this.logger=(0,o.getDebugLogger)(),this.slashCommandsMap=new Map,this.slashCommandsHandlerMap=new Map,this._onDidWelcomeMessageChange=new o.Emitter,this.onDidWelcomeMessageChange=this._onDidWelcomeMessageChange.event}registerImageUploadProvider(s){this.imageUploadProvider=s}getImageUploadProvider(){return this.imageUploadProvider}registerMessageSummaryProvider(s){this.messageSummaryProvider=s}getMessageSummaryProvider(){return this.messageSummaryProvider}dispose(){super.dispose(),this.slashCommandsMap.clear(),this.slashCommandsHandlerMap.clear()}registerWelcome(s,g){this.chatWelcomeMessageModel=new _.ChatWelcomeMessageModel(s,g),this._onDidWelcomeMessageChange.fire()}registerSlashCommand(s,g){const{name:a}=s;if(this.slashCommandsMap.has(a)){this.logger.warn(`ChatFeatureRegistry: commands name ${a} already exists`);return}this.slashCommandsMap.set(a,new _.ChatSlashCommandItemModel(s,a,v.ChatProxyService.AGENT_ID)),this.slashCommandsHandlerMap.set(a,g)}getSlashCommandHandler(s){return this.slashCommandsHandlerMap.get(s)}getSlashCommand(s){return this.slashCommandsMap.get(s)}getSlashCommandHandlerBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommandHandler(g.name)}getSlashCommandBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommand(g.name)}getAllSlashCommand(){return Array.from(this.slashCommandsMap.values())}getAllShortcutSlashCommand(){return this.getAllSlashCommand().filter(s=>s.isShortcut===!0)}parseSlashCommand(s){if(s.startsWith(l.SLASH_SYMBOL)){const g=this.getAllSlashCommand();for(const a of g){const{nameWithSlash:h}=a;if(s.startsWith(h))return{value:s.slice(h.length),nameWithSlash:h}}}return{value:s,nameWithSlash:""}}};t.ChatFeatureRegistry=m,t.ChatFeatureRegistry=m=n.__decorate([(0,r.Injectable)()],m)},59347:(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),_=e(43718),v=e(19413),m=e(61282);let p=class extends _.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new _.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new _.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new _.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onWillClearSession=new _.Emitter,this.onWillClearSession=this._onWillClearSession.event,this._onRegenerateRequest=new _.Emitter,this.onRegenerateRequest=this._onRegenerateRequest.event,n.set(this,void 0)}get latestRequestId(){return this._latestRequestId}get sessionModel(){return r.__classPrivateFieldGet(this,n,"f")}init(){this.chatManagerService.onStorageInit(()=>{const g=this.chatManagerService.getSessions();g.length>0?this.activateSession(g[g.length-1].sessionId):this.createSessionModel()})}setLatestRequestId(g){this._latestRequestId=g,this._onChangeRequestId.fire(g)}createRequest(g,a,h,u){return this.chatManagerService.createRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a,u,h)}sendRequest(g,a=!1){const h=this.chatManagerService.sendRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a);return a&&this._onRegenerateRequest.fire(),h}cancelRequest(){this.chatManagerService.cancelRequest(r.__classPrivateFieldGet(this,n,"f").sessionId),this._onCancelRequest.fire()}createSessionModel(){r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}clearSessionModel(g){g=g||r.__classPrivateFieldGet(this,n,"f").sessionId,this._onWillClearSession.fire(g),this.chatManagerService.clearSession(g),g===r.__classPrivateFieldGet(this,n,"f").sessionId&&r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}getSessions(){return this.chatManagerService.getSessions()}getSession(g){return this.chatManagerService.getSession(g)}activateSession(g){const a=this.chatManagerService.getSession(g);if(!a)throw new Error(`There is no session with session id ${g}`);r.__classPrivateFieldSet(this,n,a,"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}dispose(){var g;(g=r.__classPrivateFieldGet(this,n,"f"))===null||g===void 0||g.dispose(),super.dispose()}};t.ChatInternalService=p,n=new WeakMap,r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],p.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(v.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],p.prototype,"chatManagerService",void 0),t.ChatInternalService=p=r.__decorate([(0,o.Injectable)()],p)},70394:(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),_=e(81878),v=e(89195),m=e(43718),p=e(54414),s=e(63067),g=e(72665);e(41937);const a=e(51500),h=e(19413),u=e(46044),c=e(98864),E=e(87785),f=e(25834),d=n.__importDefault(e(90103)),y=e(57987),b=e(56474),A=e(49601),S=e(15016),D=e(29039),I=e(78048),w=e(86556),T=e(73974),R=e(77633),P=e(42033),O=e(51081),M=n.__importDefault(e(77256)),k="chat_scroll",F=100,L=W=>W.map(j=>{var Q;const G=((Q=j.applyResult)===null||Q===void 0?void 0:Q.diff.split(`
|
|
32875
|
+
`).reduce(([Z,$],V)=>(V.startsWith("-")?Z+=1:V.startsWith("+")&&($+=1),[Z,$]),[0,0]))||[0,0];return{path:j.relativePath,additions:G[1],deletions:G[0],status:j.status}}).reduce((j,Q)=>{const G=j.find(Z=>Z.path===Q.path);return G?(G.additions+=Q.additions,G.deletions+=Q.deletions,G.status=Q.status):j.push(Q),j},[]),B=()=>{const W=(0,l.useInjectable)(h.IChatInternalService),j=(0,l.useInjectable)(m.ChatServiceToken),Q=(0,l.useInjectable)(m.IAIReporter),G=(0,l.useInjectable)(h.IChatAgentService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),$=(0,l.useInjectable)(m.ChatRenderRegistryToken),V=(0,l.useInjectable)(R.TokenMCPServerRegistry),H=(0,l.useInjectable)(l.AINativeConfigService),K=(0,l.useInjectable)(u.LLMContextServiceToken),Y=(0,l.useInjectable)(s.IMainLayoutService),X=W.sessionModel.history,re=r.useRef(null),oe=r.useRef(!0),he=r.useRef(null),me=(0,l.useInjectable)(p.WorkbenchEditorService),q=(0,l.useInjectable)(l.AppConfig),Ae=(0,l.useInjectable)(T.BaseApplyService),ge=(0,l.useInjectable)(l.LabelService),te=(0,l.useInjectable)(a.IWorkspaceService),fe=(0,l.useInjectable)(m.CommandService),[Oe,xe]=r.useState([]),[Me,Be]=r.useState(W.sessionModel.modelId),[De,_e]=r.useState(L(Ae.getSessionCodeBlocks())),[Ne,Te]=r.useReducer((Re,Le)=>{switch(Le.type){case"add":return[...Re,...Le.payload||[]];case"clear":return[];case"init":return Array.isArray(Le.payload)?Le.payload:[];default:return Re}},[]),[We,pe]=r.useState(!1),[ie,le]=r.useState(""),[Se,ye]=r.useState(""),[Ue,Ye]=r.useState(""),[Ve,pt]=r.useState(null);r.useEffect(()=>{Be(W.sessionModel.modelId)},[We,W.sessionModel]),r.useEffect(()=>{const Re=new m.Disposable,Le=()=>{const ze=L(Ae.getSessionCodeBlocks());_e(ze)};return Re.addDispose(W.onChangeSession(Le)),Re.addDispose(Ae.onCodeBlockUpdate(Le)),()=>Re.dispose()},[]),r.useEffect(()=>{const Re=Z.getAllShortcutSlashCommand(),Le=G.onDidChangeAgents(()=>{const ze=G.getCommands().filter(St=>St.isShortcut).map(St=>new P.ChatSlashCommandItemModel({icon:"",name:`${St.name} `,description:St.description,isShortcut:St.isShortcut},St.name,St.agentId));xe(Re.concat(ze))});return xe(Re),()=>Le.dispose()},[Z,G]),(0,l.useUpdateOnEvent)(W.onChangeSession);const vt=r.useMemo(()=>$.chatInputRender?$.chatInputRender:H.capabilities.supportsMCP?A.ChatMentionInput:y.ChatInput,[$.chatInputRender]),xt=r.useMemo(()=>(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(w.WelcomeMessage,null)}),[]),lt=r.useCallback(Re=>{Re.deltaY<0?oe.current=!1:oe.current=!0},[oe]);r.useEffect(()=>{if(re.current)return re.current.addEventListener("wheel",lt),()=>{var Re;(Re=re.current)===null||Re===void 0||Re.removeEventListener("wheel",lt)}},[oe]);const wt=r.useCallback(()=>{if(re&&re.current&&oe.current){const Re=re.current.lastElementChild;Re&&Re.scrollIntoView({behavior:"smooth",block:"end"}),re.current.scrollHeight>re.current.clientHeight&&re.current.classList.add(k)}},[re,oe]),at=r.useCallback(Re=>{Te(Re),requestAnimationFrame(()=>{wt()})},[Te,wt]);r.useEffect(()=>{at({type:"init",payload:[xt]})},[]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose(j.onScrollToBottom(()=>{requestAnimationFrame(()=>{})})),Re.addDispose(j.onChatMessageLaunch(async Le=>{var ze;if(Le.immediate!==!1){if(We)return;await ui(Le.message,Le.images,Le.agentId,Le.command)}else Le.agentId&&le(Le.agentId),Le.command&&Ye(Le.command),(ze=he?.current)===null||ze===void 0||ze.setInputValue(Le.message)})),Re.addDispose(j.onChatReplyMessageLaunch(Le=>{if(Le.kind==="content"){const ze=Q.start(m.AIServiceType.CustomReply,{message:Le.content,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({content:Le.content,relationId:ze}),Ut({chunk:Le.content,relationId:ze})}else{const ze=Q.start(m.AIServiceType.CustomReply,{message:"component#"+Le.component,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({componentId:Le.component,componentValue:Le.value,content:"",relationId:ze}),_n({chunk:Le,relationId:ze})}})),Re.addDispose(j.onChatMessageListLaunch(Le=>{const ze=[];Le.forEach(St=>{const{role:$t}=St,On=Q.start(m.AIServiceType.Chat,{message:"",sessionId:W.sessionModel.sessionId});if($t==="assistant"){const Bn=St;ze.push((0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:On,text:r.createElement(S.ChatNotify,{requestId:On,chunk:Bn})},M.default.chat_notify))}if($t==="user"){const{message:Bn}=St,di=O.ChatProxyService.AGENT_ID,li=$.chatUserRoleRender,Ni=di===O.ChatProxyService.AGENT_ID?"":di;ze.push((0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:li?r.createElement(li,{content:Bn,agentId:Ni}):r.createElement(f.CodeBlockWrapperInput,{relationId:On,text:Bn,agentId:Ni,command:Ue,labelService:ge,workspaceService:te,commandService:fe})},M.default.chat_message_code))}}),at({type:"add",payload:ze}),setTimeout(wt,0)})),()=>Re.dispose()},[j,$.chatAIRoleRender,X]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose(G.onDidSendMessage(Le=>{const ze=Le,St=Q.start(m.AIServiceType.Agent,{message:""}),$t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:St,text:r.createElement(S.ChatNotify,{requestId:W.latestRequestId,chunk:ze})},M.default.chat_notify);at({type:"add",payload:[$t]})})),Re.addDispose(G.onDidChangeAgents(async()=>{const Le=G.getDefaultAgentId();ye(Le??"")})),()=>Re.dispose()},[G,X,W]);const tt=r.useCallback(async Re=>{const{userMessage:Le,relationId:ze,requestId:St,render:$t,startTime:On,command:Bn,agentId:di}=Re;X.addAssistantMessage({type:"component",content:""});const li=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,className:M.default.chat_with_more_actions,text:r.createElement(D.SlashCustomRender,{userMessage:Le,startTime:On,relationId:ze,requestId:St,renderContent:$t,command:Bn,agentId:di})});at({type:"add",payload:[li]})},[re,X]),st=r.useCallback(async Re=>{const Le=$.chatUserRoleRender,{message:ze,images:St,agentId:$t,relationId:On,command:Bn}=Re,di=$t===O.ChatProxyService.AGENT_ID?"":$t,li=(0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:Le?r.createElement(Le,{content:ze,images:St,agentId:di,command:Bn}):r.createElement(f.CodeBlockWrapperInput,{labelService:ge,relationId:On,text:ze,images:St,agentId:di,command:Bn,workspaceService:te,commandService:fe})},M.default.chat_message_code);at({type:"add",payload:[li]})},[$,$.chatUserRoleRender,X,wt]),At=r.useCallback(async Re=>{const{message:Le,agentId:ze,request:St,relationId:$t,command:On,startTime:Bn,msgId:di}=Re,li=ze===O.ChatProxyService.AGENT_ID?"":ze;if(ze===O.ChatProxyService.AGENT_ID&&On){const In=Z.getSlashCommandHandler(On);if(In&&In.providerRender)return pe(!1),tt({userMessage:Le,render:In.providerRender,relationId:$t,requestId:St.requestId,startTime:Bn,agentId:ze,command:On})}const Ni=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:$t,className:M.default.chat_with_more_actions,text:r.createElement(S.ChatReply,{relationId:$t,request:St,startTime:Bn,agentId:li,command:On,onDidChange:()=>{wt()},history:X,onDone:()=>{pe(!1)},onRegenerate:()=>{St&&W.sendRequest(St,!0)},msgId:di})});at({type:"add",payload:[Ni]})},[$,X,wt]),Ut=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re;let St=r.createElement(b.ChatMarkdown,{markdown:Le,fillInIncompleteTokens:!0,agentId:ie,command:Ue});if($.chatAIRoleRender){const On=$.chatAIRoleRender;St=r.createElement(On,{content:Le})}const $t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:St,className:M.default.chat_with_more_actions});at({type:"add",payload:[$t]})},[$,X,wt]),_n=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re,St=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:r.createElement(S.ChatNotify,{requestId:ze,chunk:Le})},M.default.chat_notify);at({type:"add",payload:[St]})},[$,X,wt]),Ln=r.useCallback(async Re=>{const{message:Le,images:ze,agentId:St,command:$t,reportExtra:On}=Re,{actionType:Bn,actionSource:di}=On||{},li=W.createRequest(Le.replaceAll(u.LLM_CONTEXT_KEY_REGEX,""),St,ze,$t);if(!li)return;pe(!0),W.setLatestRequestId(li.requestId);const Ni=Date.now(),In=O.ChatProxyService.AGENT_ID===St?m.AIServiceType.Chat:m.AIServiceType.Agent,Cn=Q.start($t||In,{agentId:St,userMessage:Le,actionType:Bn,actionSource:di,sessionId:W.sessionModel.sessionId},600*1e3);X.addUserMessage({content:Le,images:ze||[],agentId:St,agentCommand:$t,relationId:Cn}),await st({relationId:Cn,message:Le,images:ze,command:$t,agentId:St}),W.sendRequest(li);const $n=X.addAssistantMessage({content:"",relationId:Cn,requestId:li.requestId,replyStartTime:Ni});V.activeMessageInfo={messageId:$n,sessionId:W.sessionModel.sessionId},await At({startTime:Ni,relationId:Cn,message:Le,agentId:St,command:$t,request:li,msgId:$n})},[$,$.chatUserRoleRender,X,wt,We]),ui=r.useCallback(async(Re,Le,ze,St)=>{var $t,On,Bn;const di={actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send};ze=ze||O.ChatProxyService.AGENT_ID;let li=Re;const Ni=/\{\{@file:(.*?)\}\}/g,In=Re.match(Ni);if(In)for(const Kn of In){const Xt=Kn.replace(/\{\{@file:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=(($t=await te.asRelativePath(Qe))===null||$t===void 0?void 0:$t.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${_t}\``)}const Cn=/\{\{@folder:(.*?)\}\}/g,$n=li.match(Cn);if($n)for(const Kn of $n){const Xt=Kn.replace(/\{\{@folder:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=((On=await te.asRelativePath(Qe))===null||On===void 0?void 0:On.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFolder}${_t}\``)}const Si=/\{\{@code:(.*?)\}\}/g,Ui=li.match(Si);if(Ui)for(const Kn of Ui){const Xt=Kn.replace(/\{\{@code:(.*?)\}\}/,"$1"),[Qe,_t]=Xt.split(":");let mt=[0,0];if(_t){const[Gt,Kt]=_t.slice(1).split("-");mt=[parseInt(Gt,10),parseInt(Kt,10)]}const gt=new m.URI(Qe),nn=((Bn=await te.asRelativePath(gt))===null||Bn===void 0?void 0:Bn.path)||gt.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${nn}:L${mt[0]}-${mt[1]}\``)}const bi=/\{\{@rule:(.*?)\}\}/g,hn=li.match(bi);if(hn)for(const Kn of hn){const Xt=Kn.replace(/\{\{@rule:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt);li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${Qe.displayName}\``)}return Ln({message:li,images:Le,agentId:ze,command:St,reportExtra:di})},[Ln]),Rn=r.useCallback(()=>{W.clearSessionModel(),j.clearHistoryMessages(),ln()},[Ne]),ln=r.useCallback(()=>{var Re;(Re=re?.current)===null||Re===void 0||Re.classList.remove(k),at({type:"init",payload:[xt]})},[Ne]),Un=Re=>{We||(pt(Re.nameWithSlash),le(Re.agentId),Ye(Re.command))},rn=r.useCallback(()=>{Y.toggleSlot(h.AI_CHAT_VIEW_ID)},[Y]),ct=$.chatViewHeaderRender||U,$e=r.useCallback(async Re=>{for(const Le of X.getMessages()){if(Re.isCancellationRequested)return;if(Le.role===1)await st({relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,images:Le.images});else if(Le.role===2&&Le.requestId){const ze=W.sessionModel.getRequest(Le.requestId);ze&&!ze.response.isComplete&&pe(!0),await At({msgId:Le.id,relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,startTime:Le.replyStartTime,request:ze})}else Le.role===2&&Le.content?await Ut({relationId:Le.relationId,chunk:Le.content}):Le.role===2&&Le.componentId&&await _n({relationId:Le.relationId,chunk:{kind:"component",component:Le.componentId,value:Le.componentValue}})}},[At]);return r.useEffect(()=>{ln();const Re=new m.CancellationTokenSource;return pe(!1),$e(Re.token),()=>{Re.cancel()}},[W.sessionModel]),r.createElement("div",{id:M.default.ai_chat_view},r.createElement("div",{className:M.default.header_container},r.createElement(ct,{handleClear:Rn,handleCloseChatView:rn})),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:re},r.createElement(o.MessageList,{className:M.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:Ne})),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},Oe.map(Re=>r.createElement(_.Popover,{id:`ai-chat-shortcut-${Re.name}`,key:`ai-chat-shortcut-${Re.name}`,title:Re.tooltip||Re.name},r.createElement("div",{className:M.default.tag,onClick:()=>Un(Re)},Re.name))))),De.length>0&&r.createElement(E.FileListDisplay,{files:De,hideActions:We,onFileClick:Re=>{me.open(m.URI.file(m.path.join(q.workspaceDir,Re)))},onRejectAll:()=>{Ae.processAll("reject")},onAcceptAll:()=>{Ae.processAll("accept")}}),r.createElement(vt,{onSend:ui,disabled:We,enableOptions:!0,theme:Ve,setTheme:pt,agentId:ie,setAgentId:le,defaultAgentId:Se,command:Ue,setCommand:Ye,contextService:K,ref:he,disableModelSelector:Me!==void 0||We,sessionModelId:Me})))))};t.AIChatView=B;function U({handleClear:W,handleCloseChatView:j}){const Q=(0,l.useInjectable)(h.IChatInternalService),G=(0,l.useInjectable)(g.IMessageService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),[$,V]=r.useState([]),[H,K]=r.useState(""),Y=r.useCallback(()=>{if(Q.sessionModel.history.getMessages().length>0)try{Q.createSessionModel()}catch(oe){G.error(oe.message)}},[Q]),X=r.useCallback(oe=>{Q.activateSession(oe.id)},[Q]),re=r.useCallback(oe=>{Q.clearSessionModel(oe.id)},[Q]);return r.useEffect(()=>{const oe=()=>{const Ae=Q.sessionModel.history.getMessages().findLast(Oe=>Oe.role===1),ge=Z.getMessageSummaryProvider(),te=Ae?(0,c.cleanAttachedTextWrapper)(Ae.content).slice(0,F):"",fe=Q.sessionModel.history.getMessages().map(Oe=>({role:Oe.role,content:Oe.content}));fe.length>2&&ge&&Q.sessionModel.sessionId?ge.getMessageSummary(fe).then(Oe=>{K(Oe?Oe.slice(0,F):te)}):K(te),V(Q.getSessions().map(Oe=>{const Me=Oe.history.getMessages(),Be=Me.length>0?(0,c.cleanAttachedTextWrapper)(Me[0].content).slice(0,F):"",De=Me.length>0&&Me[Me.length-1].replyStartTime||0;return{id:Oe.sessionId,title:Be,updatedAt:De,loading:!1}}))};oe();const he=new m.DisposableCollection,me=new Set;return he.push(Q.onChangeSession(q=>{oe(),!me.has(q)&&(me.add(q),he.push(Q.sessionModel.history.onMessageChange(()=>{oe()})))})),he.push(Q.sessionModel.history.onMessageChange(()=>{oe()})),()=>{he.dispose()}},[Q]),r.createElement("div",{className:M.default.header},r.createElement(d.default,{className:M.default.chat_history,currentId:Q.sessionModel.sessionId,title:H||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:$,onNewChat:Y,onHistoryItemSelect:X,onHistoryItemDelete:re,onHistoryItemChange:()=>{}}),r.createElement(_.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(_.Popover,{overlayClassName:M.default.popover_icon,id:"ai-chat-header-close",position:_.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)),_=({status:v,error:m})=>{const p=()=>{switch(v){case"generating":return r.default.createElement(o.Loading,null);case"pending":return r.default.createElement(o.Popover,{title:"Pending",id:"edit-file-tool-status-pending"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-large"}));case"success":return r.default.createElement(o.Popover,{title:"Success",id:"edit-file-tool-status-success"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-pass"}));case"failed":return r.default.createElement(o.Popover,{title:`(${m||"Unknown error"})`,id:"edit-file-tool-status-failed"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-error"}));case"cancelled":return r.default.createElement(o.Popover,{title:"Cancelled",id:"edit-file-tool-status-cancelled"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-slash",style:{color:"var(--input-placeholderForeground)"}}));default:return null}};return r.default.createElement("span",{className:l.default.status},p())};t.ApplyStatus=_},87785:(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),_=e(54414),v=e(42995),m=e(21967),p=n.__importDefault(e(80919)),s=g=>{const{files:a,onFileClick:h,onRejectAll:u,onAcceptAll:c,hideActions:E}=g,[f,d]=(0,r.useState)(!0),y=(0,l.useInjectable)(_.WorkbenchEditorService),b=(0,l.useInjectable)(l.LabelService),A=(0,r.useMemo)(()=>a.map(R=>{const P=l.URI.parse(R.path),O=b.getIcon(P);return r.default.createElement("span",{className:O})}),[a]),S=a.length,D=a.reduce((R,P)=>({additions:R.additions+P.additions,deletions:R.deletions+P.deletions}),{additions:0,deletions:0}),I=()=>{d(!f)},w=R=>R?r.default.createElement("span",{className:p.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,T=(R,P)=>{const O=[];return R>0&&O.push(r.default.createElement("span",{key:"add",className:p.default.additions},"+",R)),P>0&&(O.length>0&&O.push(" "),O.push(r.default.createElement("span",{key:"del",className:p.default.deletions},"-",P))),O.length===0&&O.push(r.default.createElement("span",{key:"no-change",className:p.default.noChange},"No changes")),O};return r.default.createElement("div",{className:p.default.container},r.default.createElement("div",{className:p.default.header},r.default.createElement("span",{className:p.default.title},r.default.createElement("button",{className:p.default.toggleButton,onClick:I},f?r.default.createElement(o.Icon,{icon:"down"}):r.default.createElement(o.Icon,{icon:"right"})," Changed Files(",S,")"),T(D.additions,D.deletions),!E&&w(a.length)),!E&&a.some(R=>R.status==="pending")&&r.default.createElement("div",{className:p.default.actions},r.default.createElement(o.Button,{type:"link",size:"small",onClick:R=>{R.stopPropagation(),u()}},"Reject"),r.default.createElement(o.Button,{size:"small",onClick:R=>{R.stopPropagation(),c()}},"Accept"))),r.default.createElement("ul",{className:`${p.default.fileList} ${f?"":p.default.collapsed}`},a.map((R,P)=>r.default.createElement("li",{key:P,className:p.default.fileItem,onClick:()=>h(R.path)},r.default.createElement("span",{className:p.default.fileIcon},A[P]||"\u{1F4C4}"),r.default.createElement("div",{className:p.default.fileInfo},r.default.createElement("div",{className:p.default.filePath},R.path),r.default.createElement("div",{className:p.default.fileStats},T(R.additions,R.deletions)),r.default.createElement(m.ApplyStatus,{status:R.status}))))))};t.FileListDisplay=s},25834:(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.__importDefault(e(97331)),l=n.__importStar(e(14041)),_=n.__importDefault(e(10580)),v=e(46541),m=e(41869),p=e(81878),s=e(89195),g=e(43718),a=e(71624),h=e(9447),u=e(52416),c=n.__importDefault(e(6960)),E=e(83933),f=e(44692);e(38191);const d=S=>{const{input:D,language:I,relationId:w,agentId:T,command:R,hideInsert:P}=S,O=l.default.useRef(null),M=(0,m.useInjectable)(h.MonacoCommandRegistry),k=(0,m.useInjectable)(m.IClipboardService),F=(0,m.useInjectable)(u.IThemeService),L=(0,m.useInjectable)(g.IAIReporter),[B,U]=(0,l.useState)(!1),W=(0,l.useMemo)(()=>(0,m.uuid)(12),[O,O.current]);(0,l.useEffect)(()=>{const Z=H=>{H.type==="dark"||H.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(H.type==="light"||H.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},$=F.onThemeChange(H=>{Z(H)}),V=F.getCurrentThemeSync();return Z(V),()=>$.dispose()},[]);const j=(0,l.useRef)((0,o.default)(()=>{var Z;if(O.current){const $=O.current,V=(Z=$?.el)===null||Z===void 0?void 0:Z.querySelector("code"),H=V?.children;if(H){const K=H[H.length-1];K&&(K.scrollIntoViewIfNeeded?K.scrollIntoViewIfNeeded():K.scrollIntoView(!1))}}},150,{leading:!0,trailing:!0})).current;(0,l.useEffect)(()=>(j(),()=>{j.cancel()}),[D,j]);const Q=(0,l.useCallback)(async()=>{U(!0),await k.writeText(D),L.end(w,{copy:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatCopyCode}),(0,g.runWhenIdle)(()=>{U(!1)},1e3)},[k,D,w]),G=(0,l.useCallback)(()=>{const Z=M.getActiveCodeEditor();if(Z){const $=Z.getSelection();$&&((0,a.insertSnippetWithMonacoEditor)(Z,D,[$],{undoStopBefore:!1,undoStopAfter:!1}),L.end(w,{insert:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatInsertCode}))}},[M]);return l.default.createElement("div",{className:c.default.monaco_wrapper},l.default.createElement("div",{className:c.default.action_toolbar},!P&&l.default.createElement(p.Popover,{id:`ai-chat-inser-${W}`,title:(0,g.localize)("aiNative.chat.code.insert")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("insert"),onClick:()=>G(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.insert")})),l.default.createElement(p.Popover,{id:`ai-chat-copy-${W}`,title:(0,g.localize)(B?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("copy"),onClick:()=>Q(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.copy")}))),l.default.createElement(_.default,{language:I,ref:O,className:c.default.highlight_editor},D))};t.CodeEditorWithHighlight=d;const y=({content:S="",relationId:D,renderText:I,agentId:w="",command:T="",labelService:R,commandService:P,workspaceService:O})=>{const M=/`([^`]+)`/g,k=/```([^]+?)```/g,F=/```([^]+)?/g,L=/<attached_file>(.*)/g,B=/<attached_folder>(.*)/g,U=(0,l.useCallback)(async(G,Z)=>{const $=await O?.roots;let V;if($)for(const H of $){V=new g.URI(H.uri).resolve(G);try{await P?.executeCommand(m.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,V),Z===f.MentionType.FILE&&await P?.executeCommand(m.EDITOR_COMMANDS.OPEN_RESOURCE.id,V);break}catch{continue}}},[P,O]),W=(G,Z=!1,$)=>l.default.createElement("span",{className:c.default.attachment,key:$,onClick:()=>U(G,Z?f.MentionType.FOLDER:f.MentionType.FILE)},l.default.createElement(p.Icon,{iconClass:Z?(0,m.getIcon)("folder"):R?.getIcon(new g.URI(G||"file"))}),l.default.createElement("span",{className:c.default.attachment_text},G)),j=G=>{const Z=G.split(`
|
|
32834
32876
|
`)[0].trim().toLowerCase(),$=E.highLightLanguageSupport.find(V=>V===Z)||"plaintext";return G=G.replace(/.*?\n/,""),G=G.trim(),l.default.createElement("div",{className:c.default.code_block},l.default.createElement("div",{className:c.default.code_language},(0,r.default)($)),l.default.createElement(t.CodeEditorWithHighlight,{input:G,language:Z,relationId:D,agentId:w,command:T}))},Q=(0,l.useMemo)(()=>{const G=S.split(k),Z=[];return G.map(($,V)=>{V%2===0?$.split(M).map((H,K)=>{if(K%2===0){if(H.includes("```")){const Y=H.split(F).filter(Boolean);if(Y.length===2){Z.push(Y[0]),Z.push(j(Y[1]));return}}I?Z.push(I(H)):Z.push(H)}else{const Y=H,X=[...H.matchAll(L)],re=[...H.matchAll(B)];if(X.length||re.length){let oe=0;const he=[],me=(q,Ae)=>{q.forEach((ge,te)=>{if(ge.index!==void 0){const fe=Y.slice(oe,ge.index);fe&&he.push(l.default.createElement("span",{key:`${K}-${te}-${Ae?"folder":"file"}`},fe)),he.push(W(ge[1],Ae,`${K}-tag-${te}-${Ae?"folder":"file"}`)),oe=ge.index+ge[0].length}})};me(X,!1),me(re,!0),he.push(Y.slice(oe)),Z.push(...he)}else Z.push(l.default.createElement("span",{className:c.default.code_inline,key:K},H))}}):Z.push(j($))}),Z},[S,I]);return l.default.createElement(l.default.Fragment,null,Q)},b=({text:S,renderText:D,relationId:I,agentId:w,labelService:T,commandService:R,workspaceService:P})=>l.default.createElement("div",{className:c.default.ai_chat_code_wrapper},l.default.createElement("div",{className:c.default.render_text},l.default.createElement(y,{content:S,labelService:T,renderText:D,relationId:I,agentId:w,commandService:R,workspaceService:P})));t.CodeBlockWrapper=b;const A=({text:S,images:D,relationId:I,agentId:w,command:T,labelService:R,workspaceService:P,commandService:O})=>{const M=(0,m.useInjectable)(g.ChatFeatureRegistryToken),[k,F]=(0,l.useState)(""),[L,B]=(0,l.useState)(S);return l.default.useEffect(()=>{const{value:U,nameWithSlash:W}=M.parseSlashCommand(S);if(W){F(W),B(U);return}else B(S)},[S,M]),l.default.createElement("div",{className:c.default.ai_chat_code_wrapper},D?.map(U=>l.default.createElement("div",{className:c.default.image_wrapper},l.default.createElement(v.Image,{src:U}))),l.default.createElement("div",{className:c.default.render_text},k&&l.default.createElement("div",{className:c.default.tag_wrapper},l.default.createElement("span",{className:c.default.tag},k)),w&&l.default.createElement("div",{className:c.default.tag,style:{marginRight:4}},"@",w),T&&l.default.createElement("div",{className:c.default.tag},"/ ",T),l.default.createElement(y,{content:L,labelService:R,relationId:I,agentId:w,command:T,workspaceService:P,commandService:O})))};t.CodeBlockWrapperInput=A},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),_=e(41869),v=e(89195),m=n.__importDefault(e(35553)),p=100,s=(0,o.memo)(({title:g,historyList:a,currentId:h,onNewChat:u,onHistoryItemSelect:c,onHistoryItemChange:E,onHistoryItemDelete:f,className:d})=>{const[y,b]=(0,o.useState)(null),[A,S]=(0,o.useState)(""),D=(0,o.useRef)(null),I=(0,o.useCallback)(W=>{S(W.target.value)},[A]),w=(0,o.useCallback)(W=>{c(W),S("")},[c,A]),T=(0,o.useCallback)(W=>{b({[W.id]:!0})},[y]),R=(0,o.useCallback)((W,j)=>{b({[W.id]:!1}),E(W,j)},[E,y]),P=(0,o.useCallback)(W=>{b({[W.id]:!1})},[y]),O=(0,o.useCallback)(()=>{u()},[u]);(0,o.useEffect)(()=>{var W;y&&((W=D.current)===null||W===void 0||W.focus({cursor:"end"}))},[y]);const M=(0,o.useCallback)(W=>{f(W)},[f]),k=(0,o.useCallback)(W=>{if(W<60*60*1e3){const Q=Math.floor(W/6e4);return Q===0?"Just now":`${Q}m ago`}else{if(W<24*60*60*1e3)return`${Math.floor(W/36e5)}h ago`;if(W<7*24*60*60*1e3)return`${Math.floor(W/864e5)}d ago`;if(W<30*24*60*60*1e3)return`${Math.floor(W/6048e5)}w ago`;if(W<365*24*60*60*1e3)return`${Math.floor(W/2592e6)}mo ago`}return`${Math.floor(W/(365*24*60*60*1e3))}y ago`},[]),F=(0,o.useCallback)(W=>{const j=new Date,Q=[];return W.forEach(G=>{const Z=new Date(G.updatedAt),$=j.getTime()-Z.getTime(),V=k($),H=Q.find(K=>K.key===V);H?H.items.push(G):Q.push({key:V,items:[G]})}),Q},[k]),L=(0,o.useCallback)(W=>o.default.createElement("div",{key:W.id,className:(0,r.default)(m.default.chat_history_item,W.id===h?m.default.chat_history_item_selected:""),onClick:()=>w(W)},o.default.createElement("div",{className:m.default.chat_history_item_content},W.loading?o.default.createElement(l.Loading,null):o.default.createElement(l.Icon,{icon:"message",style:{width:"16px",height:"16px",marginRight:4}}),y?.[W.id]?o.default.createElement(l.Input,{className:m.default.chat_history_item_title,defaultValue:W.title,ref:D,onPressEnter:j=>{R(W,j.target.value)},onBlur:()=>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,_.localize)("aiNative.operate.chatHistory.delete")}))),[y,w,R,P,T,M,h,D]),B=(0,o.useCallback)(()=>{const W=a.slice(-p).reverse().filter(Q=>Q.title&&Q.title.includes(A)),j=F(W);return o.default.createElement("div",null,o.default.createElement(l.Input,{placeholder:(0,_.localize)("aiNative.operate.chatHistory.searchPlaceholder"),className:m.default.chat_history_search,value:A,onChange:I}),o.default.createElement("div",{className:m.default.chat_history_list},j.map(Q=>o.default.createElement("div",{key:Q.key,style:{padding:"4px"}},o.default.createElement("div",{className:m.default.chat_history_time},Q.key),Q.items.map(L)))))},[a,A,F,I,L]),U=(0,o.useCallback)(W=>W.parentElement,[]);return o.default.createElement("div",{className:(0,r.default)(m.default.chat_history_header,d)},o.default.createElement("div",{className:m.default.chat_history_header_title},o.default.createElement("span",null,g)),o.default.createElement("div",{className:m.default.chat_history_header_actions},o.default.createElement(l.Popover,{id:"chat-history-header-actions-history",content:B(),trigger:l.PopoverTriggerType.click,position:l.PopoverPosition.bottomRight,title:(0,_.localize)("aiNative.operate.chatHistory.title"),getPopupContainer:U},o.default.createElement("div",{className:m.default.chat_history_header_actions_history,title:(0,_.localize)("aiNative.operate.chatHistory.title")},o.default.createElement(v.EnhanceIcon,{className:(0,r.default)(m.default.chat_history_header_actions_history,"codicon codicon-history")}))),o.default.createElement(l.Popover,{id:"ai-chat-header-new",position:l.PopoverPosition.top,title:(0,_.localize)("aiNative.operate.newChat.title")},o.default.createElement(v.EnhanceIcon,{className:(0,r.default)(m.default.chat_history_header_actions_new,(0,l.getIcon)("plus")),onClick:O}))))});t.default=s},57987:(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),_=e(81878),v=e(89195),m=e(83913),p=e(43718),s=e(92323),g=e(9447),a=e(72665),h=e(19413),u=e(42033),c=e(51081),E=e(27397),f=e(30703),d=n.__importDefault(e(6960)),y=8,b=68,A=({icon:w,name:T,description:R,agentId:P,command:O,selectedAgentId:M})=>{const k=(0,o.useMemo)(()=>!M&&P&&P!==c.ChatProxyService.AGENT_ID&&O?o.default.createElement("span",{className:d.default.agent_label},"@",P):null,[]);return o.default.createElement("div",{className:d.default.block},w&&o.default.createElement(v.EnhanceIcon,{className:w}),T&&o.default.createElement("span",{className:d.default.name},T),R&&o.default.createElement("span",{className:d.default.text},R),k)},S=({onClick:w,bottom:T,trigger:R,agentId:P})=>{const O=(0,l.useInjectable)(h.IChatAgentService),M=(0,l.useInjectable)(p.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)=>{w&&w(L||"",B,U)},[w]);return k.length===0?null:o.default.createElement("div",{className:d.default.instruction_options_container,style:{bottom:T+"px"}},o.default.createElement("div",{className:d.default.options},o.default.createElement("ul",null,k.map(({icon:L,name:B,nameWithSlash:U,description:W,agentId:j,command:Q})=>o.default.createElement("li",{key:`${j||""}-${B}`,onMouseDown:()=>F(U,j,Q)},o.default.createElement(A,{icon:L,name:B,description:W,agentId:j,command:Q,selectedAgentId:P}))))))},D=({themeBlock:w})=>o.default.createElement("div",{className:d.default.theme_container},o.default.createElement("div",{className:d.default.theme_block},w)),I=({agentId:w,command:T})=>o.default.createElement("div",{className:d.default.theme_container},w!==c.ChatProxyService.AGENT_ID&&o.default.createElement("div",{className:d.default.theme_block,style:{marginRight:4}},"@",w),T&&o.default.createElement("div",{className:d.default.theme_block},h.SLASH_SYMBOL," ",T));t.ChatInput=o.default.forwardRef((w,T)=>{const{onSend:R,onValueChange:P,enableOptions:O=!1,disabled:M=!1,defaultHeight:k=32,autoFocus:F,setTheme:L,theme:B,setAgentId:U,agentId:W,defaultAgentId:j,setCommand:Q,command:G,sendBtnClassName:Z}=w,$=W||j,V=(0,o.useRef)(null),H=(0,o.useRef)(null),[K,Y]=(0,o.useState)(w.value||""),[X,re]=(0,o.useState)(!1),[oe,he]=(0,o.useState)(k),[me,q]=(0,o.useState)(!1),[Ae,ge]=(0,o.useState)(!1),[te,fe]=(0,o.useState)(!1),[Oe,xe]=(0,o.useState)((0,p.localize)("aiNative.chat.input.placeholder.default")),Me=(0,l.useInjectable)(h.IChatInternalService),Be=(0,l.useInjectable)(a.IDialogService),De=(0,l.useInjectable)(l.AINativeConfigService),_e=(0,l.useInjectable)(h.TokenMCPServerProxyService),Ne=(0,l.useInjectable)(g.MonacoCommandRegistry),Te=(0,l.useInjectable)(h.IChatAgentService),We=(0,l.useInjectable)(p.ChatFeatureRegistryToken),pe=(0,l.useInjectable)(s.CommandService),ie=(0,l.useLatest)($),le=o.default.useCallback(()=>{pe.executeCommand(E.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[pe]),Se=o.default.useCallback(async()=>{const tt=await _e.getAllMCPTools();Be.open({message:o.default.createElement(f.MCPToolsDialog,{tools:tt}),type:p.MessageType.Empty,buttons:[(0,p.localize)("dialog.file.close")]})},[_e,Be]);(0,o.useImperativeHandle)(T,()=>({setInputValue:tt=>{Y(tt),(0,p.runWhenIdle)(()=>{var st;(st=V.current)===null||st===void 0||st.focus()},120)}})),(0,o.useEffect)(()=>{w.value!==K&&Y(w.value||"")},[w.value]),(0,o.useEffect)(()=>{var tt;(tt=V.current)===null||tt===void 0||tt.focus();const st=(0,p.localize)("aiNative.chat.input.placeholder.default"),At=We.getSlashCommandHandler(G);if(At&&At.providerInputPlaceholder){const Ut=Ne.getActiveCodeEditor(),_n=At.providerInputPlaceholder(K,Ut);xe(_n||st)}else xe(st)},[We,G]),(0,o.useEffect)(()=>{Ve(B||"",$,G)},[B,$,G]),(0,o.useEffect)(()=>{var tt;V&&F&&((tt=V.current)===null||tt===void 0||tt.focus())},[V,F,w.value]),(0,o.useEffect)(()=>{if(O&&((K===h.SLASH_SYMBOL||K===h.AT_SIGN_SYMBOL&&Te.getAgents().length>0)&&!te?re(!0):re(!1)),K.startsWith(h.SLASH_SYMBOL)){const{value:tt,nameWithSlash:st}=We.parseSlashCommand(K);if(st){const At=We.getSlashCommandBySlashName(st);Y(tt),L(st),At&&(U(At.agentId),Q(At.command));return}}if(Te.getAgents().length){const tt=Te.parseMessage(K,ie.current);(tt.agentId||tt.command)&&(L(""),Y(tt.message),tt.agentId&&U(tt.agentId),tt.command&&Q(tt.command))}},[V,K,O,We]),(0,o.useEffect)(()=>{K||(he(k),ge(!1),fe(!1))},[K]);const ye=(0,o.useCallback)(tt=>{Y(tt),P&&P(tt)},[]),Ue=(0,o.useCallback)(()=>{Me.cancelRequest()},[]),Ye=(0,o.useCallback)(async()=>{if(M)return;const tt=(st=K)=>{R(st,[],$,G),Y(""),L(""),U(""),Q("")};if(G){const st=We.getSlashCommandHandler(G);if(st&&st.execute){const At=Ne.getActiveCodeEditor();await st.execute(K,Ut=>tt(Ut),At);return}}tt()},[R,K,$,G,We]),Ve=(0,o.useCallback)((tt,st,At)=>{if(st){if(re(!1),L(""),U(st),Q(At||""),V?.current){const Ut=V.current.value;(Ut===h.AT_SIGN_SYMBOL||At&&Ut===h.SLASH_SYMBOL)&&Y(""),(0,p.runWhenIdle)(()=>V.current.focus())}}else if(tt){re(!1),U(""),Q("");const Ut=We.getSlashCommandBySlashName(tt);if(L(Ut?Ut.nameWithSlash:""),V&&V.current){const _n=V.current.value;_n.length===1&&_n.startsWith(h.SLASH_SYMBOL)&&Y(""),(0,p.runWhenIdle)(()=>V.current.focus())}}},[V,We]),pt=(0,o.useMemo)(()=>{const tt=y+oe;return te&&re(!1),tt},[oe]),vt=tt=>{var st,At;if(tt.key==="Backspace"&&((st=V.current)===null||st===void 0?void 0:st.selectionEnd)===0&&((At=V.current)===null||At===void 0?void 0:At.selectionStart)===0){if(L(""),$===c.ChatProxyService.AGENT_ID){Q(""),U("");return}$&&(G?Q(""):U(""))}},xt=(0,o.useCallback)(tt=>{he(tt),tt>b?ge(!0):ge(!1)},[]),lt=(0,o.useCallback)(()=>{q(!1),re(!1)},[V]),wt=(0,o.useCallback)(()=>{q(!0)},[V]),at=(0,o.useCallback)(()=>{const tt=te;if(fe(!tt),tt)he(k),ge(!1);else{const At=document.querySelector("#ai_chat_left_container").clientHeight-68-(B?32:0)-16;he(At)}},[te]);return o.default.createElement("div",{className:(0,r.default)(d.default.chat_input_container,me?d.default.active:null)},X&&o.default.createElement("div",{ref:H},o.default.createElement(S,{onClick:Ve,bottom:pt,trigger:K,agentId:$})),B&&o.default.createElement(D,{themeBlock:B}),$&&o.default.createElement(I,{agentId:$,command:G}),Ae&&o.default.createElement("div",{className:d.default.expand_icon,onClick:()=>at()},o.default.createElement(_.Popover,{id:"ai_chat_input_expand",title:(0,p.localize)(te?"aiNative.chat.expand.unfullscreen":"aiNative.chat.expand.fullescreen")},o.default.createElement(_.Icon,{className:(0,r.default)(te?(0,_.getIcon)("unfullscreen"):(0,_.getIcon)("fullescreen"))}))),o.default.createElement(m.InteractiveInput,{ref:V,placeholder:Oe,value:K,onKeyDown:vt,onBlur:lt,onFocus:wt,onValueChange:ye,disabled:M,className:d.default.input_wrapper,onSend:Ye,onStop:Ue,sendBtnClassName:Z,onHeightChange:xt,height:oe,popoverPosition:_.PopoverPosition.left}),o.default.createElement("div",{className:d.default.chat_input_footer},De.capabilities.supportsMCP&&o.default.createElement("div",{className:d.default.mcp_desc},o.default.createElement(_.Popover,{overlayClassName:d.default.popover_icon,id:"ai-chat-header-mcp-server",position:_.PopoverPosition.left,title:"MCP Server"},o.default.createElement(v.EnhanceIcon,{wrapperClassName:d.default.action_btn,className:"codicon codicon-radio-tower",onClick:le,tabIndex:0,role:"button",ariaLabel:"MCP Server"})),o.default.createElement(_.Popover,{overlayClassName:d.default.popover_icon,id:"ai-chat-header-tools",position:_.PopoverPosition.left,title:(0,p.localize)("aiNative.operate.tools.title")},o.default.createElement(v.EnhanceIcon,{wrapperClassName:d.default.action_btn,className:(0,_.getIcon)("menubar-tool"),onClick:Se,tabIndex:0,role:"button",ariaLabel:(0,p.localize)("aiNative.operate.tools.title")})))))})},56474:(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),_=e(84605),v=e(41869),m=e(90684),p=e(25834),s=n.__importDefault(e(6960)),g=T=>{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;if(!R.current)return;const U=typeof T.markdown=="string"?new m.MarkdownString(T.markdown):T.markdown,W=new l.MarkdownReactRenderer;W.code=(V,H)=>{const K=a(H);return o.default.createElement("div",{className:s.default.code},o.default.createElement(v.ConfigProvider,{value:P},o.default.createElement("div",{className:s.default.code_block},o.default.createElement("div",{className:(0,r.default)(s.default.code_language,"language-badge")},K),o.default.createElement(p.CodeEditorWithHighlight,{input:V,language:K,relationId:T.relationId||"",agentId:T.agentId,command:T.command,hideInsert:T.hideInsert}))))},W.codespan=V=>o.default.createElement("code",{className:s.default.code_inline},V);const j=new l.MarkdownReactParser({renderer:W}),Q={..._.marked.defaults,...T.markedOptions,renderer:j,smartypants:!1};let G=(L=U.value)!==null&&L!==void 0?L:"";G.length>1e5&&(G=`${G.slice(0,1e5)}\u2026`);let Z,$;if(T.fillInIncompleteTokens){const V=_.marked.lexer(G,Q),H=h(V);Z=_.marked.parser(H,Q),$=H}else{const V=_.marked.lexer(G,Q);Z=_.marked.parser(V,Q),$=V}F($),M(j)},[T.markdown]),o.default.createElement("div",{className:(0,r.default)(s.default.markdown_container,T.className),ref:R,tabIndex:0},k&&O&&O.parse(k))};t.ChatMarkdown=g;function a(T){if(!T)return"";const R=T.split(/[\s+|:|,|\{|\?]/,1);return R.length?R[0]:T}function h(T){let R,P;for(R=0;R<T.length;R++){const O=T[R];if(O.type==="paragraph"&&O.raw.match(/(\n|^)```/)){P=u(T.slice(R));break}if(O.type==="paragraph"&&O.raw.match(/(\n|^)\|/)){P=D(T.slice(R));break}if(O.type==="paragraph"&&R===T.length-1){const M=w(O);if(M){P=[M];break}}}if(P){const O=[...T.slice(0,R),...P];return O.links=T.links,O}return T}function u(T){const R=I(T);return _.marked.lexer(R+"\n```")}function c(T){return S(T,"`")}function E(T){return S(T,"*")}function f(T){return S(T,"_")}function d(T){return S(T,")")}function y(T){return S(T,"](about:blank)")}function b(T){return S(T,"**")}function A(T){return S(T,"__")}function S(T,R){const P=I(Array.isArray(T)?T:[T]);return _.marked.lexer(P+R)[0]}function D(T){const R=I(T),P=R.split(`
|
|
32835
32877
|
`);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(`
|
|
32836
32878
|
`):R,F=!!k.match(/\|\s*$/),L=k+(F?"":"|")+`
|
|
32837
32879
|
|${" --- |".repeat(O)}`;return _.marked.lexer(L)}}function I(T){return T.reduce((R,P)=>R+P.raw,"")}function w(T){var R;for(const{type:P,raw:O}of(R=T.tokens)!==null&&R!==void 0?R:[]){if(P!=="text")continue;const M=O.split(`
|
|
32838
|
-
`),k=M[M.length-1],F=[{condition:k.includes("`"),action:c},{condition:k.includes("**"),action:b},{condition:k.match(/\*\w/),action:E},{condition:k.match(/(^|\s)__\w/),action:A},{condition:k.match(/(^|\s)_\w/),action:f},{condition:k.match(/(^|\s)\[.*\]\(\w*/),action:d},{condition:k.match(/(^|\s)\[\w/),action:y}];for(const L of F)if(L.condition)return L.action(T)}}},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),_=e(81878),v=e(43718),m=e(92323),p=e(87863),s=e(54414),g=e(47720),a=e(83890),h=e(29037),u=e(72665),c=e(52416),E=e(7443),f=e(51500),d=e(19413),y=e(27397),b=e(92819),A=n.__importDefault(e(6960)),S=e(96086),D=e(44692),I=T=>{const{onSend:R,disabled:P=!1,contextService:O}=T,[M,k]=(0,r.useState)(T.value||""),[F,L]=(0,r.useState)(T.images||[]),B=(0,l.useInjectable)(d.IChatInternalService),U=(0,l.useInjectable)(m.CommandService),W=(0,l.useInjectable)(g.FileSearchServicePath),j=(0,l.useInjectable)(l.RecentFilesManager),Q=(0,l.useInjectable)(f.IWorkspaceService),G=(0,l.useInjectable)(s.WorkbenchEditorService),Z=(0,l.useInjectable)(l.LabelService),$=(0,l.useInjectable)(E.IconService),V=(0,l.useInjectable)(u.IMessageService),H=(0,l.useInjectable)(v.ChatFeatureRegistryToken),K=(0,l.useInjectable)(h.OutlineTreeService),Y=(0,r.useRef)([]),X=(0,l.useInjectable)(l.PreferenceService),re=(0,l.useInjectable)(v.RulesServiceToken),oe=r.default.useCallback(()=>{U.executeCommand(y.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[U]),he=r.default.useCallback(()=>{U.executeCommand(b.RulesCommands.OPEN_RULES_FILE.id)},[U]);(0,r.useEffect)(()=>{T.value!==M&&k(T.value||"")},[T.value]);const me=(0,r.useCallback)(async(Me,Be=[])=>{Me||(Me=(await K.resolveChildren())[0]);const De=await K.resolveChildren(Me);for(const _e of De)Be.push(_e),a.OutlineCompositeTreeNode.is(_e)&&await me(_e,Be);return Be},[K]),q=async(Me,Be)=>{const De=new Set,_e=new v.URI(Be);for(const Ne of Me){const Te=new v.URI(Ne),We=await Q.asRelativePath(Te);if(We?.path){const pe=We.path.split("/").filter(Boolean);for(let ie=0;ie<pe.length;ie++){const le=pe.slice(0,ie+1).join("/"),Se=_e.resolve(le).codeUri.fsPath;Se!==Be&&!Be.startsWith(Se)&&De.add(Se)}}else Ne!==Be&&!Be.startsWith(Ne)&&De.add(Ne)}return Promise.all(Array.from(De).map(async Ne=>{const Te=new v.URI(Ne),We=await Q.asRelativePath(Te);return{id:Te.codeUri.fsPath,type:D.MentionType.FOLDER,text:Te.displayName,value:Te.codeUri.fsPath,description:We?.root?We.path:"",contextId:Te.codeUri.fsPath,icon:(0,_.getIcon)("folder")}}))},Ae=[{id:D.MentionType.FILE,type:D.MentionType.FILE,text:"File",icon:(0,_.getIcon)("file"),getHighestLevelItems:()=>{const Me=G.currentEditor,Be=Me?.currentUri;return Be?[{id:Be.codeUri.fsPath,type:D.MentionType.FILE,text:Be.displayName,value:Be.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFile")})`,contextId:Be.codeUri.fsPath,icon:Z.getIcon(Be)}]:[]},getItems:async Me=>{if(Me){const Be=(await Q.roots).map(_e=>new v.URI(_e.uri).codeUri.fsPath.toString()),De=await W.find(Me,{rootUris:Be,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,limit:10});return Promise.all(De.map(async _e=>{var Ne;const Te=new v.URI(_e),We=(Ne=await Q.asRelativePath(Te.parent))===null||Ne===void 0?void 0:Ne.path;return{id:Te.codeUri.fsPath,type:D.MentionType.FILE,text:Te.displayName,value:Te.codeUri.fsPath,description:We||"",contextId:Te.codeUri.fsPath,icon:Z.getIcon(Te)}}))}else{const Be=await j.getMostRecentlyOpenedFiles();return Promise.all(Be.map(async De=>{var _e;const Ne=new v.URI(De),Te=(_e=await Q.asRelativePath(Ne.parent))===null||_e===void 0?void 0:_e.path;return{id:Ne.codeUri.fsPath,type:D.MentionType.FILE,text:Ne.displayName,value:Ne.codeUri.fsPath,description:Te||"",contextId:Ne.codeUri.fsPath,icon:Z.getIcon(Ne)}}))}}},{id:D.MentionType.FOLDER,type:D.MentionType.FOLDER,text:"Folder",icon:(0,_.getIcon)("folder"),getHighestLevelItems:()=>{var Me,Be;const De=G.currentEditor,_e=(Me=De?.currentUri)===null||Me===void 0?void 0:Me.parent;return _e?_e.toString()===((Be=Q.workspace)===null||Be===void 0?void 0:Be.uri)?[]:[{id:_e.codeUri.fsPath,type:D.MentionType.FOLDER,text:_e.displayName,value:_e.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFolder")})`,contextId:_e.codeUri.fsPath,icon:(0,_.getIcon)("folder")}]:[]},getItems:async Me=>{var Be,De;let _e=[];if(Me){const Ne=(await Q.roots).map(pe=>new v.URI(pe.uri).codeUri.fsPath.toString()),Te=await W.find(Me,{rootUris:Ne,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,excludePatterns:Object.keys(p.defaultFilesWatcherExcludes),limit:10}),We=Array.from(new Set(Te.map(pe=>new v.URI(pe).parent.toString()).filter(pe=>{var ie;return pe!==((ie=Q.workspace)===null||ie===void 0?void 0:ie.uri.toString())})));return await q(We,((De=Q.workspace)===null||De===void 0?void 0:De.uri.toString())||"")}else{const Ne=await j.getMostRecentlyOpenedFiles(),Te=Array.from(new Set(Ne.map(We=>new v.URI(We).parent.codeUri.fsPath).filter(We=>{var pe;return We!==((pe=Q.workspace)===null||pe===void 0?void 0:pe.uri.toString())&&We!=="/"})));_e=await q(Te,((Be=Q.workspace)===null||Be===void 0?void 0:Be.uri.toString())||"")}return _e.filter(Boolean).filter(Ne=>{var Te;return Ne.id!==new v.URI((Te=Q.workspace)===null||Te===void 0?void 0:Te.uri).codeUri.fsPath})}},{id:"code",type:"code",text:"Code",icon:(0,_.getIcon)("codebraces"),getHighestLevelItems:()=>[],getItems:async Me=>{if(!Me||Y.current.length===0){const Be=K.currentUri;if(!Be)return[];const De=await me();return Y.current=await Promise.all(De.map(async _e=>{var Ne;const Te=await Q.asRelativePath(Be);return{id:_e.raw.id,type:D.MentionType.CODE,text:_e.raw.name,symbol:_e.raw,value:_e.raw.id,description:`${Te?.root?Te.path:""}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,kind:_e.raw.kind,contextId:`${(Ne=K.currentUri)===null||Ne===void 0?void 0:Ne.codeUri.fsPath}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,icon:(0,l.getSymbolIcon)(_e.raw.kind)+" outline-icon"}})),Y.current}else return Me=Me.toLocaleLowerCase(),Y.current.sort((Be,De)=>Be.text.toLocaleLowerCase().includes(Me)&&De.text.toLocaleLowerCase().includes(Me)?0:Be.text.toLocaleLowerCase().includes(Me)?-1:De.text.toLocaleLowerCase().includes(Me)?1:0)}},{id:D.MentionType.RULE,type:D.MentionType.RULE,text:"Rule",icon:(0,_.getIcon)("rules"),getHighestLevelItems:()=>[],getItems:async Me=>{const De=(await re.projectRules).map(Ne=>{const Te=new v.URI(Ne.path);return{id:Te.codeUri.fsPath,type:D.MentionType.RULE,text:Te.displayName,value:Te.codeUri.fsPath,contextId:Te.codeUri.fsPath,description:Ne.description,icon:(0,_.getIcon)("rules")}});if(!Me)return De.slice(0,10);const _e=Me.toLocaleLowerCase();return De.filter(Ne=>Ne.text.toLocaleLowerCase().includes(_e)).sort((Ne,Te)=>{var We,pe;const ie=Ne.text.toLocaleLowerCase(),le=Te.text.toLocaleLowerCase(),Se=((We=Ne.description)===null||We===void 0?void 0:We.toLocaleLowerCase())||"",ye=((pe=Te.description)===null||pe===void 0?void 0:pe.toLocaleLowerCase())||"",Ue=ie.includes(_e),Ye=le.includes(_e),Ve=Se.includes(_e),pt=ye.includes(_e);return Ue&&Ye?ie.localeCompare(le):Ue&&!Ye?-1:!Ue&&Ye?1:Ve&&pt?ie.localeCompare(le):Ve&&!pt?-1:!Ve&&pt?1:ie.localeCompare(le)}).slice(0,10)}}],ge=(0,r.useMemo)(()=>({modelOptions:[{label:"Claude 4 Sonnet",value:"claude_sonnet4",iconClass:$.fromIcon("","https://img.alicdn.com/imgextra/i3/O1CN01p0mziz1Nsl40lp1HO_!!6000000001626-55-tps-92-65.svg",c.IconType.Background),tags:["\u591A\u6A21\u6001","\u957F\u4E0A\u4E0B\u6587\u7406\u89E3","\u601D\u8003\u6A21\u5F0F"],description:"\u9AD8\u6027\u80FD\u6A21\u578B\uFF0C\u652F\u6301\u591A\u6A21\u6001\u8F93\u5165"},{label:"DeepSeek R1",value:"deepseek-r1",iconClass:$.fromIcon("","https://img.alicdn.com/imgextra/i3/O1CN01ClcK2w1JwdxcbAB3a_!!6000000001093-55-tps-30-30.svg",c.IconType.Background),tags:["\u601D\u8003\u6A21\u5F0F","\u957F\u4E0A\u4E0B\u6587\u7406\u89E3"],description:"\u4E13\u4E1A\u521B\u4F5C\uFF0C\u652F\u6301\u591A\u6A21\u6001\u8F93\u5165"}],defaultModel:T.sessionModelId||X.get(v.AINativeSettingSectionsId.ModelID)||"deepseek-r1",buttons:[{id:"mcp-server",icon:"mcp",title:"MCP Server",onClick:oe,position:D.FooterButtonPosition.LEFT},{id:"rules",icon:"rules",title:"Rules",onClick:he,position:D.FooterButtonPosition.LEFT},{id:"upload-image",icon:"image",title:(0,v.localize)("aiNative.chat.imageUpload"),onClick:()=>{const Me=document.createElement("input");Me.type="file",Me.accept="image/*",Me.onchange=Be=>{const De=Be.target.files;De?.length&&Oe(Array.from(De))},Me.click()},position:D.FooterButtonPosition.LEFT}],showModelSelector:!0,disableModelSelector:T.disableModelSelector}),[$,oe,he,T.disableModelSelector,T.sessionModelId]),te=(0,r.useCallback)(()=>{B.cancelRequest()},[]),fe=(0,r.useCallback)(async(Me,Be)=>{P||(R(Me,F.map(De=>De.toString()),void 0,void 0,Be),L(T.images||[]))},[R,F,P]),Oe=(0,r.useCallback)(async Me=>{const Be=["image/jpeg","image/jpg","image/png","image/webp","image/gif"];if(Me.filter(We=>!Be.includes(We.type)).length>0){V.error("Only JPG, PNG, WebP and GIF images are supported");return}const _e=H.getImageUploadProvider();if(!_e){V.error("No image upload provider found");return}const Ne=await Promise.all(Me.map(We=>_e.imageUpload(We))),Te=[...F,...Ne];L(Te)},[F]),xe=(0,r.useCallback)(Me=>{L(F.filter((Be,De)=>De!==Me))},[F]);return r.default.createElement("div",{className:A.default.chat_input_container},F.length>0&&r.default.createElement(w,{images:F,onDelete:xe}),r.default.createElement(S.MentionInput,{mentionItems:Ae,onSend:fe,onStop:te,loading:P,labelService:Z,workspaceService:Q,placeholder:(0,v.localize)("aiNative.chat.input.placeholder.default"),footerConfig:ge,onImageUpload:Oe,contextService:O}))};t.ChatMentionInput=I;const w=({images:T,onDelete:R})=>r.default.createElement("div",null,r.default.createElement("div",{className:A.default.thumbnail_container},T.map((P,O)=>r.default.createElement("div",{key:O,className:A.default.thumbnail},r.default.createElement(o.Image,{src:P.toString()}),r.default.createElement("button",{onClick:()=>R(O),className:A.default.delete_button},r.default.createElement(_.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),_=e(91416),v=e(78569),m=e(72871),p=e(41869),s=e(81878),g=e(89195),a=e(43718),h=e(52416),u=e(90684),c=e(19413),E=e(56474),f=e(17319),d=n.__importDefault(e(6960)),y=I=>{const w=(0,p.useInjectable)(p.LabelService),T=(0,p.useInjectable)(p.CommandService),R=(L,B,U)=>{let W=w.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(I.treeData.children||[]).map(L)},[I.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:d.default.tree_container},o.default.createElement(_.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):T.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,B.raw.uri,{disableNavigate:!0,preview:!0}))},onReady:F,treeName:I.treeData.label,leaveBottomBlank:!1,baseIndent:0})):null},b=I=>{const{toolCall:w,messageId:T}=I,R=(0,p.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:w,messageId:T}));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:w,messageId:T}))})},[w.state]),P},A=I=>{const w=(0,p.useInjectable)(a.ChatAgentViewServiceToken),[T,R]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const P=w.getChatComponent(I.component);if(P){const{component:M,initialProps:k}=P;R(o.default.createElement(M,{...k,value:I.value,messageId:I.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"))),w.getChatComponentDeferred(I.component).promise.then(({component:M,initialProps:k})=>{R(o.default.createElement(M,{...k,value:I.value}))})},[I.component,I.value]),T},S=I=>{var w,T;const{relationId:R,request:P,startTime:O=0,onRegenerate:M,onDidChange:k,onDone:F,agentId:L,command:B,history:U,msgId:W}=I,[,j]=(0,o.useReducer)(ge=>(ge+1)%1e6,0),Q=(0,p.useInjectable)(a.IAIReporter),G=(0,p.useInjectable)(h.IIconService),Z=(0,p.useInjectable)(p.IContextKeyService),$=(0,p.useInjectable)(c.IChatInternalService),V=(0,p.useInjectable)(a.ChatServiceToken),H=(0,p.useInjectable)(c.IChatAgentService),K=(0,p.useInjectable)(a.ChatRenderRegistryToken),[Y,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 p.DisposableCollection;return ge.push(P.response.onDidChange(()=>{U.updateAssistantMessage(W,{content:P.response.responseText}),P.response.isComplete&&(F&&F(),Q.end(R,{assistantMessage:P.response.responseText,replytime:Date.now()-O,success:!0,isStop:!1,command:B,agentId:L,messageId:W,sessionId:$.sessionModel.sessionId})),(0,o.startTransition)(()=>{k?.(),j()})})),()=>ge.dispose()},[R,k,F]);const re=(0,o.useCallback)(()=>{P.response.reset(),M?.()},[M]),oe=(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]),he=ge=>o.default.createElement(y,{treeData:ge}),me=ge=>o.default.createElement("div",{className:d.default.placeholder},o.default.createElement(s.Icon,{iconClass:G.fromString("$(codicon/sync~spin)")}),o.default.createElement("div",{className:d.default.placeholder_content},oe(ge))),q=o.default.useMemo(()=>P.response.responseContents.map((ge,te)=>{let fe;if(ge.kind==="asyncContent")fe=me(new u.MarkdownString(ge.content));else if(ge.kind==="treeData")fe=he(ge.treeData);else if(ge.kind==="component")fe=o.default.createElement(A,{component:ge.component,value:ge.value,messageId:W});else if(ge.kind==="toolCall")fe=o.default.createElement(b,{toolCall:ge.content,messageId:W});else if(ge.kind==="reasoning"){const Oe=te===P.response.responseContents.length-1&&!P.response.isComplete;fe=o.default.createElement("div",{className:(0,r.default)(d.default.reasoning,{[d.default.thinking]:Oe})},o.default.createElement(l.Button,{size:"small",type:"secondary",className:d.default.thinking,onClick:()=>{Oe||(Y.has(te)?Y.delete(te):Y.add(te),X(new Set(Y)))}},o.default.createElement(s.Icon,{iconClass:"codicon codicon-sparkle"}),(0,a.localize)("aiNative.chat.thinking"),Oe?o.default.createElement(g.Loading,null):Y.has(te)?o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-right"}):o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-down"})),Y.has(te)?null:o.default.createElement("div",{className:d.default.reasoning_content},oe(new u.MarkdownString(ge.content))))}else fe=oe(ge.content);return o.default.createElement(o.Fragment,{key:`${ge.kind}-${te}`},fe)}),[P.response.responseContents,Y]),Ae=o.default.useMemo(()=>P.response.followups?P.response.followups.map((ge,te)=>{let fe=null;if(ge.kind==="reply"){const Oe=o.default.createElement("a",{onClick:()=>{V.sendMessage({...H.parseMessage(ge.message),reportExtra:{actionSource:a.ActionSourceEnum.Chat,actionType:a.ActionTypeEnum.Followup}})}},ge.title||ge.message);fe=ge.tooltip?o.default.createElement(m.Tooltip,{title:ge.tooltip},Oe):Oe}else ge.when&&!Z.match(ge.when)&&(fe=null),fe=o.default.createElement(l.Button,{type:"default"},ge.title);return fe&&o.default.createElement(o.Fragment,{key:te},fe)}):null,[P.response.followups]);return P.response.isComplete?o.default.createElement(f.ChatThinkingResult,{hasMessage:P.response.responseParts.length>0||P.response.responseContents.length>0||!!(!((w=P.response.errorDetails)===null||w===void 0)&&w.message),onRegenerate:re,requestId:P.requestId},o.default.createElement("div",{className:d.default.ai_chat_response_container},!((T=P.response.errorDetails)===null||T===void 0)&&T.message?o.default.createElement("div",{className:d.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,Ae?.length!==0&&o.default.createElement("div",{className:d.default.followups},Ae)))):o.default.createElement(f.ChatThinking,{message:P.response.responseText},q)};t.ChatReply=S;const D=I=>{const{chunk:w}=I,T=(0,p.useInjectable)(a.ChatRenderRegistryToken),R=o.default.useMemo(()=>{let P;if(w.kind==="component")P=o.default.createElement(A,{component:w.component,value:w.value});else{let O=o.default.createElement(E.ChatMarkdown,{markdown:w.content,fillInIncompleteTokens:!0});if(T.chatAIRoleRender){const M=T.chatAIRoleRender;O=o.default.createElement(M,{content:w.content})}P=O}return P},[w]);return o.default.createElement(f.ChatThinkingResult,{hasMessage:!0,requestId:I.requestId,showRegenerate:!1},o.default.createElement("div",{className:d.default.ai_chat_response_container},R))};t.ChatNotify=D},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),_=e(68974),v=e(43718),m=e(19413),p=n.__importDefault(e(6960)),s=a=>{const{children:h,message:u,thinkingText:c}=a,E=(0,o.useInjectable)(v.ChatRenderRegistryToken),f=(0,r.useMemo)(()=>E.chatThinkingRender,[E,E.chatThinkingRender]),d=(0,r.useMemo)(()=>Array.isArray(h)?h.length===0:!h,[h]),y=(0,r.useCallback)(()=>d?f?r.default.createElement(f,{thinkingText:c}):r.default.createElement("span",{className:p.default.thinking_text},c||"Thinking..."):h,[u,h,c,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:p.default.content},y()),r.default.createElement("div",{className:p.default.thinking_container},r.default.createElement("div",{className:p.default.stop},!f&&r.default.createElement("span",{className:p.default.progress_bar},d&&r.default.createElement(_.Progress,{loading:!0,wrapperClassName:p.default.ai_native_progress_wrapper})))))};t.ChatThinking=s;const g=({children:a,message:h,onRegenerate:u,requestId:c,hasMessage:E=!0,showRegenerate:f})=>{const d=(0,o.useInjectable)(m.IChatInternalService),[y,b]=(0,r.useState)(d.latestRequestId),A=(0,o.useInjectable)(v.ChatRenderRegistryToken);(0,r.useEffect)(()=>{const T=d.onChangeRequestId(R=>{b(R)});return()=>T.dispose()},[d]);const S=(0,r.useMemo)(()=>A.chatThinkingResultRender,[A,A.chatThinkingResultRender]),D=(0,r.useCallback)(()=>{u&&u()},[u]),I=(0,r.useCallback)(()=>{if(typeof E=="boolean"?!E:!h?.trim()){const T=(0,v.localize)("aiNative.chat.stop.immediately");return S?r.default.createElement(S,{thinkingResult:T}):r.default.createElement("span",null,T)}return a},[h,E,a]),w=(0,r.useMemo)(()=>(0,v.isUndefined)(f)?y===c&&!!c:!!f,[y,c,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:p.default.content},I()),r.default.createElement("div",{className:p.default.thinking_container},r.default.createElement("div",{className:p.default.bottom_container},r.default.createElement("div",{className:p.default.reset},w?r.default.createElement(l.EnhanceIcon,{icon:"refresh",wrapperClassName:p.default.text_btn,className:p.default.transform,onClick:D,tabIndex:0,role:"button"},r.default.createElement("span",null,(0,v.localize)("aiNative.operate.afresh.title"))):null),r.default.createElement("div",{className:p.default.thumbs},r.default.createElement(l.Thumbs,{relationId:c,wrapperClassName:p.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),_=e(81878),v=e(89195),m=e(43718),p=e(33783),s=e(98864),g=e(77633),a=e(25834),h=n.__importDefault(e(16796)),u=e(78112),c=E=>{var f,d,y;const{value:b,messageId:A}=E,[S,D]=(0,o.useState)(!1),I=(0,l.useInjectable)(g.TokenMCPServerRegistry);if(!b||!b.function||!b.id)return null;const w=((f=I.getMCPTool(b.function.name))===null||f===void 0?void 0:f.label)||b.function.name,T=w.split(s.TOOL_NAME_SEPARATOR),R=T.length>=3?T[2]:w,P=I.getToolComponent(b.function.name),O=L=>{switch(L){case"streaming-start":case"streaming":return{label:"Generating",icon:o.default.createElement(v.Loading,null)};case"complete":return{label:"Complete",icon:o.default.createElement(_.Icon,{iconClass:"codicon codicon-check"})};case"result":return{label:"Result Ready",icon:o.default.createElement(_.Icon,{iconClass:"codicon codicon-check-all"})};default:return{label:L||"Unknown",icon:o.default.createElement(_.Icon,{iconClass:"codicon codicon-question"})}}},M=()=>{var L;try{return b.state!=="complete"&&b.state!=="result"?{}:JSON.parse(((L=b.function)===null||L===void 0?void 0:L.arguments)||"{}")}catch{return{}}},k=()=>{D(!S)},F=O(b.state);return P&&(b.state==="complete"||b.state==="result")?o.default.createElement(P,{state:b.state,args:M(),result:b.result,index:b.index,messageId:A,toolCallId:b.id}):o.default.createElement("div",{className:h.default.chat_tool_render},o.default.createElement("div",{className:h.default.tool_header,onClick:k},o.default.createElement("div",{className:h.default.tool_name},o.default.createElement(_.Icon,{iconClass:`codicon codicon-chevron-${S?"down":"right"}`}),o.default.createElement(_.Icon,{size:"small",iconClass:(0,r.default)("codicon codicon-tools",h.default.tool_icon)}),o.default.createElement("span",{className:h.default.tool_label},o.default.createElement("span",{className:h.default.tool_prefix},"Called MCP Tool"),o.default.createElement("span",{className:h.default.tool_name,title:R},R))),b.state&&o.default.createElement("div",{className:h.default.tool_state},o.default.createElement("span",{className:h.default.state_icon},F.icon))),o.default.createElement("div",{className:(0,r.default)(h.default.tool_content,{[h.default.expanded]:S})},((d=b?.function)===null||d===void 0?void 0:d.arguments)&&o.default.createElement("div",{className:h.default.tool_arguments},o.default.createElement("div",{className:h.default.section_label},(0,p.localize)("ai.native.mcp.tool.arguments"),":"),o.default.createElement(a.CodeEditorWithHighlight,{input:(y=b?.function)===null||y===void 0?void 0:y.arguments,language:"json",relationId:(0,m.uuid)(4)})),b?.result&&o.default.createElement("div",{className:h.default.tool_result},o.default.createElement("div",{className:h.default.section_label},(0,p.localize)("ai.native.mcp.tool.results"),":"),o.default.createElement(u.ChatToolResult,{result:b.result,relationId:(0,m.uuid)(4)}))))};t.ChatToolRender=c},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),_=n.__importDefault(e(48091)),v=({result:m,relationId:p})=>{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:_.default.text_content},r.default.createElement(l.CodeEditorWithHighlight,{input:h.text,language:"text",relationId:p||""})):null;case"image":return h.data?r.default.createElement("div",{key:`image-${u}`,className:_.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}},[p]),a=r.default.useMemo(()=>s(m),[m,s]);return a.length?r.default.createElement("div",{className:_.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),_=e(19413),v=m=>{const{userMessage:p,relationId:s,requestId:g,renderContent:a,startTime:h,agentId:u,command:c}=m,E=(0,o.useInjectable)(_.IChatInternalService),f=(0,o.useInjectable)(l.IAIReporter);return r.useEffect(()=>{E.setLatestRequestId(g),f.end(s,{message:p,replytime:Date.now()-h,success:!0,isStop:!1,agentId:u,command:c})},[a,g,s]),r.createElement("div",null,a({userMessage:p}))};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),_=e(4246),v=e(43718),m=e(90684);e(41937);const p=e(19413),s=e(56474),g=e(17319),a=e(78048),h=n.__importDefault(e(6960)),u=()=>{var c,E;const f=(0,o.useInjectable)(v.ChatServiceToken),d=(0,o.useInjectable)(p.IChatAgentService),y=(0,o.useInjectable)(v.ChatFeatureRegistryToken),b=(0,o.useInjectable)(v.ChatRenderRegistryToken),[A,S]=r.useState([]);(0,o.useUpdateOnEvent)(y.onDidWelcomeMessageChange);const D=r.useMemo(()=>{if(!y.chatWelcomeMessageModel)return[];const{sampleQuestions:R=[]}=y.chatWelcomeMessageModel;return R.map(a.extractIcon)},[(c=y.chatWelcomeMessageModel)===null||c===void 0?void 0:c.sampleQuestions]),I=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=d.onDidChangeAgents(async()=>{const O=(await d.getAllSampleQuestions()).map(a.extractIcon);S(O)});return()=>R.dispose()},[]),!I)return r.createElement(g.ChatThinking,{thinkingText:(0,v.localize)("aiNative.chat.welcome.loading.text")});const w=r.useMemo(()=>D.concat(A),[D,A]);return r.useMemo(()=>{if(b.chatWelcomeRender){const R=b.chatWelcomeRender;return r.createElement(R,{message:I,sampleQuestions:w})}return r.createElement("div",{className:h.default.chat_welcome_head},r.createElement("div",{className:h.default.chat_container_des},(0,m.isMarkdownString)(I)?r.createElement(s.ChatMarkdown,{key:"welcome",markdown:I}):I),r.createElement("div",{className:h.default.chat_container_content},w.map((R,P)=>{const O=r.createElement("a",{className:h.default.link_item,onClick:(0,_.withPrevented)(()=>{f.sendMessage({...d.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,I,w])};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),_=e(81878),v=e(89195),m=e(70392),p=n.__importDefault(e(97599)),s=e(80732),g=e(37412),a=e(44692);t.WHITE_SPACE_TEXT=" ";const h=({mentionItems:u=[],onSend:c,onStop:E,loading:f=!1,mentionKeyword:d=a.MENTION_KEYWORD,onSelectionChange:y,onImageUpload:b,labelService:A,workspaceService:S,placeholder:D="Ask anything, @ to mention",footerConfig:I={buttons:[],showModelSelector:!1},contextService:w})=>{const T=o.useRef(null),[R,P]=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}),[O,M]=o.useState(I.defaultModel||""),[k,F]=o.useState({}),[L,B]=o.useState([]),[U,W]=o.useState(-1),[j,Q]=o.useState(""),[G,Z]=o.useState(!1),[$,V]=o.useState({files:[],folders:[],rules:[]}),H=o.useRef([]),K=()=>R.level===0?u:R.parentType?R.loading?k[R.parentType]||[]:k[R.parentType]||[]:[],X=((ie,le)=>{const[Se,ye]=o.useState(ie);return o.useEffect(()=>{const Ue=setTimeout(()=>{ye(ie)},le);return()=>{clearTimeout(Ue)}},[ie,le]),Se})(R.secondLevelFilter,300);o.useEffect(()=>{M(I.defaultModel||"")},[I.defaultModel]),o.useEffect(()=>{if(R.level===1&&R.parentType&&X!==void 0){const ie=u.find(Se=>Se.id===R.parentType);if(!ie)return;P(Se=>({...Se,loading:!0})),(async()=>{try{const Se=[];if(ie.getHighestLevelItems){const ye=ie.getHighestLevelItems();for(const Ue of ye)Se.some(Ye=>Ye.id===Ue.id)||Se.push(Ue);F(Ue=>({...Ue,[R.parentType]:ye}))}if(ie.getItems)try{const ye=await ie.getItems(X),Ue=[...Se];for(const Ye of ye)Ue.some(Ve=>Ve.id===Ye.id)||Ue.push(Ye);F(Ye=>({...Ye,[R.parentType]:Ue}))}catch{P(Ue=>({...Ue,loading:!1}))}P(ye=>({...ye,loading:!1}))}catch{P(ye=>({...ye,loading:!1}))}})()}},[X,R.level,R.parentType]),o.useEffect(()=>{const ie=w?.onDidContextFilesChangeEvent(({attached:le,attachedFolders:Se,attachedRules:ye})=>{V({files:le,folders:Se,rules:ye})});return()=>{ie?.dispose()}},[]);const re=ie=>{const le=window.getSelection();if(!le||!le.rangeCount)return 0;const Se=le.getRangeAt(0),ye=Se.cloneRange();return ye.selectNodeContents(ie),ye.setEnd(Se.endContainer,Se.endOffset),ye.toString().length},oe=()=>{if(G&&(Z(!1),W(-1)),T.current){const ye=Array.from(T.current.querySelectorAll(`.${p.default.mention_tag}`)).map(Ye=>({id:Ye.getAttribute("data-id")||"",type:Ye.getAttribute("data-type")||"",contextId:Ye.getAttribute("data-context-id")||""}));H.current.filter(Ye=>!ye.some(Ve=>Ve.id===Ye.id&&Ve.type===Ye.type&&Ve.contextId===Ye.contextId)).forEach(Ye=>{if(Ye.contextId){const Ve=new m.URI(Ye.contextId);Ye.type===a.MentionType.FILE?Te(a.MentionType.FILE,Ve):Ye.type===a.MentionType.FOLDER?Te(a.MentionType.FOLDER,Ve):Ye.type===a.MentionType.RULE&&Te(a.MentionType.RULE,Ve)}}),H.current=ye}const ie=window.getSelection();if(!ie||!ie.rangeCount||!T.current)return;const le=T.current.textContent||"",Se=re(T.current);if(le[Se-1]===d&&!R.active&&!R.inlineSearchActive&&P({active:!0,startPos:Se,filter:d,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),R.active&&R.level===0&&R.startPos!==null)if(Se<R.startPos)P(ye=>({...ye,active:!1}));else{const ye=le.substring(R.startPos-1,Se);P(Ue=>({...Ue,filter:ye,activeIndex:0}))}if(R.inlineSearchActive&&R.inlineSearchStartPos!==null&&R.parentType){const ye=u.find(Ve=>Ve.id===R.parentType);if(!ye)return;const Ue=`@${ye.type}:`,Ye=R.inlineSearchStartPos-Ue.length;if(Ye>=0&&Se>Ye+Ue.length){const Ve=le.substring(Ye+Ue.length,Se);Ve!==R.secondLevelFilter&&P(pt=>({...pt,secondLevelFilter:Ve,active:!0,activeIndex:0}))}else Se<=Ye&&P(Ve=>({...Ve,inlineSearchActive:!1,active:!1}))}if(T.current&&(T.current.scrollHeight>=120?T.current.style.overflowY="auto":T.current.style.overflowY="hidden"),T.current){const ye=T.current.innerHTML;(ye===""||ye==="<br>"||ye==="<br/>")&&(T.current.innerHTML="")}},he=ie=>{if(ie.key==="Escape"&&(R.active||R.inlineSearchActive)){R.level>0?P(Se=>({...Se,level:0,activeIndex:0,secondLevelFilter:"",inlineSearchActive:!1})):P(Se=>({...Se,active:!1,inlineSearchActive:!1})),ie.preventDefault();return}if((ie.key==="Backspace"||ie.key==="Delete")&&T.current&&(!T.current.textContent||T.current.textContent.trim()==="")&&w?.cleanFileContext(),ie.key===a.MENTION_KEYWORD&&!R.active&&!R.inlineSearchActive&&T.current){const Se=re(T.current);P({active:!0,startPos:Se+1,filter:d,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})}if((ie.key==="ArrowUp"||ie.key==="ArrowDown")&&!ie.shiftKey&&!ie.ctrlKey&&!ie.metaKey&&!ie.altKey){if(!R.active&&!R.inlineSearchActive&&T.current&&L.length>0){const Se=T.current.innerHTML;if(!Se||Se==="<br>"||G&&U>=0&&L[L.length-1-U]===Se){ie.preventDefault(),G||(Q(Se),Z(!0));let Ue=U;ie.key==="ArrowUp"?Ue=Math.min(L.length-1,U+1):Ue=Math.max(-1,U-1),W(Ue),Ue===-1?T.current.innerHTML=j:T.current.innerHTML=L[L.length-1-Ue];const Ye=document.createRange();Ye.selectNodeContents(T.current),Ye.collapse(!1);const Ve=window.getSelection();Ve&&(Ve.removeAllRanges(),Ve.addRange(Ye));return}}}else G&&ie.key!=="ArrowUp"&&ie.key!=="ArrowDown"&&(Z(!1),W(-1));if(ie.key==="Enter"){if(ie.nativeEvent.isComposing)return;if(!ie.shiftKey&&(ie.preventDefault(),!R.active)){fe();return}}if(!R.active)return;let le=K();if(R.level===0&&R.filter&&R.filter.length>1){const Se=R.filter.substring(1).toLowerCase();le=le.filter(ye=>ye.text.toLowerCase().includes(Se))}le.length!==0&&(ie.key==="ArrowDown"?(P(Se=>({...Se,activeIndex:(Se.activeIndex+1)%le.length})),ie.preventDefault()):ie.key==="ArrowUp"?(P(Se=>({...Se,activeIndex:(Se.activeIndex-1+le.length)%le.length})),ie.preventDefault()):(ie.key==="Enter"||ie.key==="Tab")&&le.length>0&&(ge(le[R.activeIndex]),ie.preventDefault()))},me=()=>{},q=async ie=>{const le=ie.clipboardData.items,Se=[];for(let lt=0;lt<le.length;lt++)if(le[lt].kind===a.MentionType.FILE&&le[lt].type.startsWith("image/")){const wt=le[lt].getAsFile();wt&&Se.push(wt)}if(ie.preventDefault(),Se.length>0&&b){await b(Se);return}const Ue=ie.clipboardData.getData("text/plain").replace(/\t/g," ").replace(/\n\s*\n/g,`
|
|
32880
|
+
`),k=M[M.length-1],F=[{condition:k.includes("`"),action:c},{condition:k.includes("**"),action:b},{condition:k.match(/\*\w/),action:E},{condition:k.match(/(^|\s)__\w/),action:A},{condition:k.match(/(^|\s)_\w/),action:f},{condition:k.match(/(^|\s)\[.*\]\(\w*/),action:d},{condition:k.match(/(^|\s)\[\w/),action:y}];for(const L of F)if(L.condition)return L.action(T)}}},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),_=e(81878),v=e(43718),m=e(92323),p=e(87863),s=e(54414),g=e(47720),a=e(83890),h=e(29037),u=e(72665),c=e(52416),E=e(7443),f=e(51500),d=e(19413),y=e(27397),b=e(92819),A=n.__importDefault(e(6960)),S=e(96086),D=e(44692),I=T=>{const{onSend:R,disabled:P=!1,contextService:O}=T,[M,k]=(0,r.useState)(T.value||""),[F,L]=(0,r.useState)(T.images||[]),B=(0,l.useInjectable)(d.IChatInternalService),U=(0,l.useInjectable)(m.CommandService),W=(0,l.useInjectable)(g.FileSearchServicePath),j=(0,l.useInjectable)(l.RecentFilesManager),Q=(0,l.useInjectable)(f.IWorkspaceService),G=(0,l.useInjectable)(s.WorkbenchEditorService),Z=(0,l.useInjectable)(l.LabelService),$=(0,l.useInjectable)(E.IconService),V=(0,l.useInjectable)(u.IMessageService),H=(0,l.useInjectable)(v.ChatFeatureRegistryToken),K=(0,l.useInjectable)(h.OutlineTreeService),Y=(0,r.useRef)([]),X=(0,l.useInjectable)(l.PreferenceService),re=(0,l.useInjectable)(v.RulesServiceToken),oe=r.default.useCallback(()=>{U.executeCommand(y.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[U]),he=r.default.useCallback(()=>{U.executeCommand(b.RulesCommands.OPEN_RULES_FILE.id)},[U]);(0,r.useEffect)(()=>{T.value!==M&&k(T.value||"")},[T.value]);const me=(0,r.useCallback)(async(Me,Be=[])=>{Me||(Me=(await K.resolveChildren())[0]);const De=await K.resolveChildren(Me);for(const _e of De)Be.push(_e),a.OutlineCompositeTreeNode.is(_e)&&await me(_e,Be);return Be},[K]),q=async(Me,Be)=>{const De=new Set,_e=new v.URI(Be);for(const Ne of Me){const Te=new v.URI(Ne),We=await Q.asRelativePath(Te);if(We?.path){const pe=We.path.split("/").filter(Boolean);for(let ie=0;ie<pe.length;ie++){const le=pe.slice(0,ie+1).join("/"),Se=_e.resolve(le).codeUri.fsPath;Se!==Be&&!Be.startsWith(Se)&&De.add(Se)}}else Ne!==Be&&!Be.startsWith(Ne)&&De.add(Ne)}return Promise.all(Array.from(De).map(async Ne=>{const Te=new v.URI(Ne),We=await Q.asRelativePath(Te);return{id:Te.codeUri.fsPath,type:D.MentionType.FOLDER,text:Te.displayName,value:Te.codeUri.fsPath,description:We?.root?We.path:"",contextId:Te.codeUri.fsPath,icon:(0,_.getIcon)("folder")}}))},Ae=[{id:D.MentionType.FILE,type:D.MentionType.FILE,text:"File",icon:(0,_.getIcon)("file"),getHighestLevelItems:()=>{const Me=G.currentEditor,Be=Me?.currentUri;return Be?[{id:Be.codeUri.fsPath,type:D.MentionType.FILE,text:Be.displayName,value:Be.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFile")})`,contextId:Be.codeUri.fsPath,icon:Z.getIcon(Be)}]:[]},getItems:async Me=>{if(Me){const Be=(await Q.roots).map(_e=>new v.URI(_e.uri).codeUri.fsPath.toString()),De=await W.find(Me,{rootUris:Be,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,limit:10});return Promise.all(De.map(async _e=>{var Ne;const Te=new v.URI(_e),We=(Ne=await Q.asRelativePath(Te.parent))===null||Ne===void 0?void 0:Ne.path;return{id:Te.codeUri.fsPath,type:D.MentionType.FILE,text:Te.displayName,value:Te.codeUri.fsPath,description:We||"",contextId:Te.codeUri.fsPath,icon:Z.getIcon(Te)}}))}else{const Be=await j.getMostRecentlyOpenedFiles();return Promise.all(Be.map(async De=>{var _e;const Ne=new v.URI(De),Te=(_e=await Q.asRelativePath(Ne.parent))===null||_e===void 0?void 0:_e.path;return{id:Ne.codeUri.fsPath,type:D.MentionType.FILE,text:Ne.displayName,value:Ne.codeUri.fsPath,description:Te||"",contextId:Ne.codeUri.fsPath,icon:Z.getIcon(Ne)}}))}}},{id:D.MentionType.FOLDER,type:D.MentionType.FOLDER,text:"Folder",icon:(0,_.getIcon)("folder"),getHighestLevelItems:()=>{var Me,Be;const De=G.currentEditor,_e=(Me=De?.currentUri)===null||Me===void 0?void 0:Me.parent;return _e?_e.toString()===((Be=Q.workspace)===null||Be===void 0?void 0:Be.uri)?[]:[{id:_e.codeUri.fsPath,type:D.MentionType.FOLDER,text:_e.displayName,value:_e.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFolder")})`,contextId:_e.codeUri.fsPath,icon:(0,_.getIcon)("folder")}]:[]},getItems:async Me=>{var Be,De;let _e=[];if(Me){const Ne=(await Q.roots).map(pe=>new v.URI(pe.uri).codeUri.fsPath.toString()),Te=await W.find(Me,{rootUris:Ne,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,excludePatterns:Object.keys(p.defaultFilesWatcherExcludes),limit:10}),We=Array.from(new Set(Te.map(pe=>new v.URI(pe).parent.toString()).filter(pe=>{var ie;return pe!==((ie=Q.workspace)===null||ie===void 0?void 0:ie.uri.toString())})));return await q(We,((De=Q.workspace)===null||De===void 0?void 0:De.uri.toString())||"")}else{const Ne=await j.getMostRecentlyOpenedFiles(),Te=Array.from(new Set(Ne.map(We=>new v.URI(We).parent.codeUri.fsPath).filter(We=>{var pe;return We!==((pe=Q.workspace)===null||pe===void 0?void 0:pe.uri.toString())&&We!=="/"})));_e=await q(Te,((Be=Q.workspace)===null||Be===void 0?void 0:Be.uri.toString())||"")}return _e.filter(Boolean).filter(Ne=>{var Te;return Ne.id!==new v.URI((Te=Q.workspace)===null||Te===void 0?void 0:Te.uri).codeUri.fsPath})}},{id:"code",type:"code",text:"Code",icon:(0,_.getIcon)("codebraces"),getHighestLevelItems:()=>[],getItems:async Me=>{if(!Me||Y.current.length===0){const Be=K.currentUri;if(!Be)return[];const De=await me();return Y.current=await Promise.all(De.map(async _e=>{var Ne;const Te=await Q.asRelativePath(Be);return{id:_e.raw.id,type:D.MentionType.CODE,text:_e.raw.name,symbol:_e.raw,value:_e.raw.id,description:`${Te?.root?Te.path:""}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,kind:_e.raw.kind,contextId:`${(Ne=K.currentUri)===null||Ne===void 0?void 0:Ne.codeUri.fsPath}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,icon:(0,l.getSymbolIcon)(_e.raw.kind)+" outline-icon"}})),Y.current}else return Me=Me.toLocaleLowerCase(),Y.current.sort((Be,De)=>Be.text.toLocaleLowerCase().includes(Me)&&De.text.toLocaleLowerCase().includes(Me)?0:Be.text.toLocaleLowerCase().includes(Me)?-1:De.text.toLocaleLowerCase().includes(Me)?1:0)}},{id:D.MentionType.RULE,type:D.MentionType.RULE,text:"Rule",icon:(0,_.getIcon)("rules"),getHighestLevelItems:()=>[],getItems:async Me=>{const De=(await re.projectRules).map(Ne=>{const Te=new v.URI(Ne.path);return{id:Te.codeUri.fsPath,type:D.MentionType.RULE,text:Te.displayName,value:Te.codeUri.fsPath,contextId:Te.codeUri.fsPath,description:Ne.description,icon:(0,_.getIcon)("rules")}});if(!Me)return De.slice(0,10);const _e=Me.toLocaleLowerCase();return De.filter(Ne=>Ne.text.toLocaleLowerCase().includes(_e)).sort((Ne,Te)=>{var We,pe;const ie=Ne.text.toLocaleLowerCase(),le=Te.text.toLocaleLowerCase(),Se=((We=Ne.description)===null||We===void 0?void 0:We.toLocaleLowerCase())||"",ye=((pe=Te.description)===null||pe===void 0?void 0:pe.toLocaleLowerCase())||"",Ue=ie.includes(_e),Ye=le.includes(_e),Ve=Se.includes(_e),pt=ye.includes(_e);return Ue&&Ye?ie.localeCompare(le):Ue&&!Ye?-1:!Ue&&Ye?1:Ve&&pt?ie.localeCompare(le):Ve&&!pt?-1:!Ve&&pt?1:ie.localeCompare(le)}).slice(0,10)}}],ge=(0,r.useMemo)(()=>({modelOptions:[{label:"Claude 4 Sonnet",value:"claude_sonnet4",iconClass:$.fromIcon("","https://img.alicdn.com/imgextra/i3/O1CN01p0mziz1Nsl40lp1HO_!!6000000001626-55-tps-92-65.svg",c.IconType.Background),tags:["\u591A\u6A21\u6001","\u957F\u4E0A\u4E0B\u6587\u7406\u89E3","\u601D\u8003\u6A21\u5F0F"],description:"\u9AD8\u6027\u80FD\u6A21\u578B\uFF0C\u652F\u6301\u591A\u6A21\u6001\u8F93\u5165"},{label:"DeepSeek R1",value:"DeepSeek-R1-0528",iconClass:$.fromIcon("","https://img.alicdn.com/imgextra/i3/O1CN01ClcK2w1JwdxcbAB3a_!!6000000001093-55-tps-30-30.svg",c.IconType.Background),tags:["\u601D\u8003\u6A21\u5F0F","\u957F\u4E0A\u4E0B\u6587\u7406\u89E3"],description:"\u4E13\u4E1A\u521B\u4F5C\uFF0C\u652F\u6301\u591A\u6A21\u6001\u8F93\u5165"}],defaultModel:T.sessionModelId||X.get(v.AINativeSettingSectionsId.ModelID)||"deepseek-r1",buttons:[{id:"mcp-server",icon:"mcp",title:"MCP Server",onClick:oe,position:D.FooterButtonPosition.LEFT},{id:"rules",icon:"rules",title:"Rules",onClick:he,position:D.FooterButtonPosition.LEFT},{id:"upload-image",icon:"image",title:(0,v.localize)("aiNative.chat.imageUpload"),onClick:()=>{const Me=document.createElement("input");Me.type="file",Me.accept="image/*",Me.onchange=Be=>{const De=Be.target.files;De?.length&&Oe(Array.from(De))},Me.click()},position:D.FooterButtonPosition.LEFT}],showModelSelector:!0,disableModelSelector:T.disableModelSelector}),[$,oe,he,T.disableModelSelector,T.sessionModelId]),te=(0,r.useCallback)(()=>{B.cancelRequest()},[]),fe=(0,r.useCallback)(async(Me,Be)=>{P||(R(Me,F.map(De=>De.toString()),void 0,void 0,Be),L(T.images||[]))},[R,F,P]),Oe=(0,r.useCallback)(async Me=>{const Be=["image/jpeg","image/jpg","image/png","image/webp","image/gif"];if(Me.filter(We=>!Be.includes(We.type)).length>0){V.error("Only JPG, PNG, WebP and GIF images are supported");return}const _e=H.getImageUploadProvider();if(!_e){V.error("No image upload provider found");return}const Ne=await Promise.all(Me.map(We=>_e.imageUpload(We))),Te=[...F,...Ne];L(Te)},[F]),xe=(0,r.useCallback)(Me=>{L(F.filter((Be,De)=>De!==Me))},[F]);return r.default.createElement("div",{className:A.default.chat_input_container},F.length>0&&r.default.createElement(w,{images:F,onDelete:xe}),r.default.createElement(S.MentionInput,{mentionItems:Ae,onSend:fe,onStop:te,loading:P,labelService:Z,workspaceService:Q,placeholder:(0,v.localize)("aiNative.chat.input.placeholder.default"),footerConfig:ge,onImageUpload:Oe,contextService:O}))};t.ChatMentionInput=I;const w=({images:T,onDelete:R})=>r.default.createElement("div",null,r.default.createElement("div",{className:A.default.thumbnail_container},T.map((P,O)=>r.default.createElement("div",{key:O,className:A.default.thumbnail},r.default.createElement(o.Image,{src:P.toString()}),r.default.createElement("button",{onClick:()=>R(O),className:A.default.delete_button},r.default.createElement(_.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),_=e(91416),v=e(78569),m=e(72871),p=e(41869),s=e(81878),g=e(89195),a=e(43718),h=e(52416),u=e(90684),c=e(19413),E=e(56474),f=e(17319),d=n.__importDefault(e(6960)),y=I=>{const w=(0,p.useInjectable)(p.LabelService),T=(0,p.useInjectable)(p.CommandService),R=(L,B,U)=>{let W=w.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(I.treeData.children||[]).map(L)},[I.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:d.default.tree_container},o.default.createElement(_.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):T.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,B.raw.uri,{disableNavigate:!0,preview:!0}))},onReady:F,treeName:I.treeData.label,leaveBottomBlank:!1,baseIndent:0})):null},b=I=>{const{toolCall:w,messageId:T}=I,R=(0,p.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:w,messageId:T}));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:w,messageId:T}))})},[w.state]),P},A=I=>{const w=(0,p.useInjectable)(a.ChatAgentViewServiceToken),[T,R]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const P=w.getChatComponent(I.component);if(P){const{component:M,initialProps:k}=P;R(o.default.createElement(M,{...k,value:I.value,messageId:I.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"))),w.getChatComponentDeferred(I.component).promise.then(({component:M,initialProps:k})=>{R(o.default.createElement(M,{...k,value:I.value}))})},[I.component,I.value]),T},S=I=>{var w,T;const{relationId:R,request:P,startTime:O=0,onRegenerate:M,onDidChange:k,onDone:F,agentId:L,command:B,history:U,msgId:W}=I,[,j]=(0,o.useReducer)(ge=>(ge+1)%1e6,0),Q=(0,p.useInjectable)(a.IAIReporter),G=(0,p.useInjectable)(h.IIconService),Z=(0,p.useInjectable)(p.IContextKeyService),$=(0,p.useInjectable)(c.IChatInternalService),V=(0,p.useInjectable)(a.ChatServiceToken),H=(0,p.useInjectable)(c.IChatAgentService),K=(0,p.useInjectable)(a.ChatRenderRegistryToken),[Y,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 p.DisposableCollection;return ge.push(P.response.onDidChange(()=>{U.updateAssistantMessage(W,{content:P.response.responseText}),P.response.isComplete&&(F&&F(),Q.end(R,{assistantMessage:P.response.responseText,replytime:Date.now()-O,success:!0,isStop:!1,command:B,agentId:L,messageId:W,sessionId:$.sessionModel.sessionId})),(0,o.startTransition)(()=>{k?.(),j()})})),()=>ge.dispose()},[R,k,F]);const re=(0,o.useCallback)(()=>{P.response.reset(),M?.()},[M]),oe=(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]),he=ge=>o.default.createElement(y,{treeData:ge}),me=ge=>o.default.createElement("div",{className:d.default.placeholder},o.default.createElement(s.Icon,{iconClass:G.fromString("$(codicon/sync~spin)")}),o.default.createElement("div",{className:d.default.placeholder_content},oe(ge))),q=o.default.useMemo(()=>P.response.responseContents.map((ge,te)=>{let fe;if(ge.kind==="asyncContent")fe=me(new u.MarkdownString(ge.content));else if(ge.kind==="treeData")fe=he(ge.treeData);else if(ge.kind==="component")fe=o.default.createElement(A,{component:ge.component,value:ge.value,messageId:W});else if(ge.kind==="toolCall")fe=o.default.createElement(b,{toolCall:ge.content,messageId:W});else if(ge.kind==="reasoning"){const Oe=te===P.response.responseContents.length-1&&!P.response.isComplete;fe=o.default.createElement("div",{className:(0,r.default)(d.default.reasoning,{[d.default.thinking]:Oe})},o.default.createElement(l.Button,{size:"small",type:"secondary",className:d.default.thinking,onClick:()=>{Oe||(Y.has(te)?Y.delete(te):Y.add(te),X(new Set(Y)))}},o.default.createElement(s.Icon,{iconClass:"codicon codicon-sparkle"}),o.default.createElement("span",{style:{marginLeft:4},className:Oe?d.default.shiny_text:""},(0,a.localize)("aiNative.chat.thinking")),Oe?null:Y.has(te)?o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-right"}):o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-down"})),Y.has(te)?null:o.default.createElement("div",{className:d.default.reasoning_content},oe(new u.MarkdownString(ge.content))))}else fe=oe(ge.content);return o.default.createElement(o.Fragment,{key:`${ge.kind}-${te}`},fe)}),[P.response.responseContents,Y]),Ae=o.default.useMemo(()=>P.response.followups?P.response.followups.map((ge,te)=>{let fe=null;if(ge.kind==="reply"){const Oe=o.default.createElement("a",{onClick:()=>{V.sendMessage({...H.parseMessage(ge.message),reportExtra:{actionSource:a.ActionSourceEnum.Chat,actionType:a.ActionTypeEnum.Followup}})}},ge.title||ge.message);fe=ge.tooltip?o.default.createElement(m.Tooltip,{title:ge.tooltip},Oe):Oe}else ge.when&&!Z.match(ge.when)&&(fe=null),fe=o.default.createElement(l.Button,{type:"default"},ge.title);return fe&&o.default.createElement(o.Fragment,{key:te},fe)}):null,[P.response.followups]);return P.response.isComplete?o.default.createElement(f.ChatThinkingResult,{hasMessage:P.response.responseParts.length>0||P.response.responseContents.length>0||!!(!((w=P.response.errorDetails)===null||w===void 0)&&w.message),onRegenerate:re,requestId:P.requestId},o.default.createElement("div",{className:d.default.ai_chat_response_container},!((T=P.response.errorDetails)===null||T===void 0)&&T.message?o.default.createElement("div",{className:d.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,Ae?.length!==0&&o.default.createElement("div",{className:d.default.followups},Ae)))):o.default.createElement(f.ChatThinking,{message:P.response.responseText},q)};t.ChatReply=S;const D=I=>{const{chunk:w}=I,T=(0,p.useInjectable)(a.ChatRenderRegistryToken),R=o.default.useMemo(()=>{let P;if(w.kind==="component")P=o.default.createElement(A,{component:w.component,value:w.value});else{let O=o.default.createElement(E.ChatMarkdown,{markdown:w.content,fillInIncompleteTokens:!0});if(T.chatAIRoleRender){const M=T.chatAIRoleRender;O=o.default.createElement(M,{content:w.content})}P=O}return P},[w]);return o.default.createElement(f.ChatThinkingResult,{hasMessage:!0,requestId:I.requestId,showRegenerate:!1},o.default.createElement("div",{className:d.default.ai_chat_response_container},R))};t.ChatNotify=D},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),_=e(68974),v=e(43718),m=e(19413),p=n.__importDefault(e(6960)),s=a=>{const{children:h,message:u,thinkingText:c}=a,E=(0,o.useInjectable)(v.ChatRenderRegistryToken),f=(0,r.useMemo)(()=>E.chatThinkingRender,[E,E.chatThinkingRender]),d=(0,r.useMemo)(()=>Array.isArray(h)?h.length===0:!h,[h]),y=(0,r.useCallback)(()=>d?f?r.default.createElement(f,{thinkingText:c}):r.default.createElement("span",{className:p.default.thinking_text},c||"Thinking..."):h,[u,h,c,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:p.default.content},y()),r.default.createElement("div",{className:p.default.thinking_container},r.default.createElement("div",{className:p.default.stop},!f&&r.default.createElement("span",{className:p.default.progress_bar},d&&r.default.createElement(_.Progress,{loading:!0,wrapperClassName:p.default.ai_native_progress_wrapper})))))};t.ChatThinking=s;const g=({children:a,message:h,onRegenerate:u,requestId:c,hasMessage:E=!0,showRegenerate:f})=>{const d=(0,o.useInjectable)(m.IChatInternalService),[y,b]=(0,r.useState)(d.latestRequestId),A=(0,o.useInjectable)(v.ChatRenderRegistryToken);(0,r.useEffect)(()=>{const T=d.onChangeRequestId(R=>{b(R)});return()=>T.dispose()},[d]);const S=(0,r.useMemo)(()=>A.chatThinkingResultRender,[A,A.chatThinkingResultRender]),D=(0,r.useCallback)(()=>{u&&u()},[u]),I=(0,r.useCallback)(()=>{if(typeof E=="boolean"?!E:!h?.trim()){const T=(0,v.localize)("aiNative.chat.stop.immediately");return S?r.default.createElement(S,{thinkingResult:T}):r.default.createElement("span",null,T)}return a},[h,E,a]),w=(0,r.useMemo)(()=>(0,v.isUndefined)(f)?y===c&&!!c:!!f,[y,c,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:p.default.content},I()),r.default.createElement("div",{className:p.default.thinking_container},r.default.createElement("div",{className:p.default.bottom_container},r.default.createElement("div",{className:p.default.reset},w?r.default.createElement(l.EnhanceIcon,{icon:"refresh",wrapperClassName:p.default.text_btn,className:p.default.transform,onClick:D,tabIndex:0,role:"button"},r.default.createElement("span",null,(0,v.localize)("aiNative.operate.afresh.title"))):null),r.default.createElement("div",{className:p.default.thumbs},r.default.createElement(l.Thumbs,{relationId:c,wrapperClassName:p.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),_=e(81878),v=e(89195),m=e(43718),p=e(33783),s=e(98864),g=e(77633),a=e(25834),h=n.__importDefault(e(16796)),u=e(78112),c=E=>{var f,d,y;const{value:b,messageId:A}=E,[S,D]=(0,o.useState)(!1),I=(0,l.useInjectable)(g.TokenMCPServerRegistry);if(!b||!b.function||!b.id)return null;const w=((f=I.getMCPTool(b.function.name))===null||f===void 0?void 0:f.label)||b.function.name,T=w.split(s.TOOL_NAME_SEPARATOR),R=T.length>=3?T[2]:w,P=I.getToolComponent(b.function.name),O=L=>{switch(L){case"streaming-start":case"streaming":return{label:"Generating",icon:o.default.createElement(v.Loading,null)};case"complete":return{label:"Complete",icon:o.default.createElement(_.Icon,{iconClass:"codicon codicon-check"})};case"result":return{label:"Result Ready",icon:o.default.createElement(_.Icon,{iconClass:"codicon codicon-check-all"})};default:return{label:L||"Unknown",icon:o.default.createElement(_.Icon,{iconClass:"codicon codicon-question"})}}},M=()=>{var L;try{return b.state!=="complete"&&b.state!=="result"?{}:JSON.parse(((L=b.function)===null||L===void 0?void 0:L.arguments)||"{}")}catch{return{}}},k=()=>{D(!S)},F=O(b.state);return P&&(b.state==="complete"||b.state==="result")?o.default.createElement(P,{state:b.state,args:M(),result:b.result,index:b.index,messageId:A,toolCallId:b.id}):o.default.createElement("div",{className:h.default.chat_tool_render},o.default.createElement("div",{className:h.default.tool_header,onClick:k},o.default.createElement("div",{className:h.default.tool_name},o.default.createElement(_.Icon,{iconClass:`codicon codicon-chevron-${S?"down":"right"}`}),o.default.createElement(_.Icon,{size:"small",iconClass:(0,r.default)("codicon codicon-tools",h.default.tool_icon)}),o.default.createElement("span",{className:h.default.tool_label},o.default.createElement("span",{className:h.default.tool_prefix},"Called MCP Tool"),o.default.createElement("span",{className:h.default.tool_name,title:R},R))),b.state&&o.default.createElement("div",{className:h.default.tool_state},o.default.createElement("span",{className:h.default.state_icon},F.icon))),o.default.createElement("div",{className:(0,r.default)(h.default.tool_content,{[h.default.expanded]:S})},((d=b?.function)===null||d===void 0?void 0:d.arguments)&&o.default.createElement("div",{className:h.default.tool_arguments},o.default.createElement("div",{className:h.default.section_label},(0,p.localize)("ai.native.mcp.tool.arguments"),":"),o.default.createElement(a.CodeEditorWithHighlight,{input:(y=b?.function)===null||y===void 0?void 0:y.arguments,language:"json",relationId:(0,m.uuid)(4)})),b?.result&&o.default.createElement("div",{className:h.default.tool_result},o.default.createElement("div",{className:h.default.section_label},(0,p.localize)("ai.native.mcp.tool.results"),":"),o.default.createElement(u.ChatToolResult,{result:b.result,relationId:(0,m.uuid)(4)}))))};t.ChatToolRender=c},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),_=n.__importDefault(e(48091)),v=({result:m,relationId:p})=>{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:_.default.text_content},r.default.createElement(l.CodeEditorWithHighlight,{input:h.text,language:"text",relationId:p||""})):null;case"image":return h.data?r.default.createElement("div",{key:`image-${u}`,className:_.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}},[p]),a=r.default.useMemo(()=>s(m),[m,s]);return a.length?r.default.createElement("div",{className:_.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),_=e(19413),v=m=>{const{userMessage:p,relationId:s,requestId:g,renderContent:a,startTime:h,agentId:u,command:c}=m,E=(0,o.useInjectable)(_.IChatInternalService),f=(0,o.useInjectable)(l.IAIReporter);return r.useEffect(()=>{E.setLatestRequestId(g),f.end(s,{message:p,replytime:Date.now()-h,success:!0,isStop:!1,agentId:u,command:c})},[a,g,s]),r.createElement("div",null,a({userMessage:p}))};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),_=e(4246),v=e(43718),m=e(90684);e(41937);const p=e(19413),s=e(56474),g=e(17319),a=e(78048),h=n.__importDefault(e(6960)),u=()=>{var c,E;const f=(0,o.useInjectable)(v.ChatServiceToken),d=(0,o.useInjectable)(p.IChatAgentService),y=(0,o.useInjectable)(v.ChatFeatureRegistryToken),b=(0,o.useInjectable)(v.ChatRenderRegistryToken),[A,S]=r.useState([]);(0,o.useUpdateOnEvent)(y.onDidWelcomeMessageChange);const D=r.useMemo(()=>{if(!y.chatWelcomeMessageModel)return[];const{sampleQuestions:R=[]}=y.chatWelcomeMessageModel;return R.map(a.extractIcon)},[(c=y.chatWelcomeMessageModel)===null||c===void 0?void 0:c.sampleQuestions]),I=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=d.onDidChangeAgents(async()=>{const O=(await d.getAllSampleQuestions()).map(a.extractIcon);S(O)});return()=>R.dispose()},[]),!I)return r.createElement(g.ChatThinking,{thinkingText:(0,v.localize)("aiNative.chat.welcome.loading.text")});const w=r.useMemo(()=>D.concat(A),[D,A]);return r.useMemo(()=>{if(b.chatWelcomeRender){const R=b.chatWelcomeRender;return r.createElement(R,{message:I,sampleQuestions:w})}return r.createElement("div",{className:h.default.chat_welcome_head},r.createElement("div",{className:h.default.chat_container_des},(0,m.isMarkdownString)(I)?r.createElement(s.ChatMarkdown,{key:"welcome",markdown:I}):I),r.createElement("div",{className:h.default.chat_container_content},w.map((R,P)=>{const O=r.createElement("a",{className:h.default.link_item,onClick:(0,_.withPrevented)(()=>{f.sendMessage({...d.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,I,w])};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),_=e(81878),v=e(89195),m=e(70392),p=n.__importDefault(e(97599)),s=e(80732),g=e(37412),a=e(44692);t.WHITE_SPACE_TEXT=" ";const h=({mentionItems:u=[],onSend:c,onStop:E,loading:f=!1,mentionKeyword:d=a.MENTION_KEYWORD,onSelectionChange:y,onImageUpload:b,labelService:A,workspaceService:S,placeholder:D="Ask anything, @ to mention",footerConfig:I={buttons:[],showModelSelector:!1},contextService:w})=>{const T=o.useRef(null),[R,P]=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}),[O,M]=o.useState(I.defaultModel||""),[k,F]=o.useState({}),[L,B]=o.useState([]),[U,W]=o.useState(-1),[j,Q]=o.useState(""),[G,Z]=o.useState(!1),[$,V]=o.useState({files:[],folders:[],rules:[]}),H=o.useRef([]),K=()=>R.level===0?u:R.parentType?R.loading?k[R.parentType]||[]:k[R.parentType]||[]:[],X=((ie,le)=>{const[Se,ye]=o.useState(ie);return o.useEffect(()=>{const Ue=setTimeout(()=>{ye(ie)},le);return()=>{clearTimeout(Ue)}},[ie,le]),Se})(R.secondLevelFilter,300);o.useEffect(()=>{M(I.defaultModel||"")},[I.defaultModel]),o.useEffect(()=>{if(R.level===1&&R.parentType&&X!==void 0){const ie=u.find(Se=>Se.id===R.parentType);if(!ie)return;P(Se=>({...Se,loading:!0})),(async()=>{try{const Se=[];if(ie.getHighestLevelItems){const ye=ie.getHighestLevelItems();for(const Ue of ye)Se.some(Ye=>Ye.id===Ue.id)||Se.push(Ue);F(Ue=>({...Ue,[R.parentType]:ye}))}if(ie.getItems)try{const ye=await ie.getItems(X),Ue=[...Se];for(const Ye of ye)Ue.some(Ve=>Ve.id===Ye.id)||Ue.push(Ye);F(Ye=>({...Ye,[R.parentType]:Ue}))}catch{P(Ue=>({...Ue,loading:!1}))}P(ye=>({...ye,loading:!1}))}catch{P(ye=>({...ye,loading:!1}))}})()}},[X,R.level,R.parentType]),o.useEffect(()=>{const ie=w?.onDidContextFilesChangeEvent(({attached:le,attachedFolders:Se,attachedRules:ye})=>{V({files:le,folders:Se,rules:ye})});return()=>{ie?.dispose()}},[]);const re=ie=>{const le=window.getSelection();if(!le||!le.rangeCount)return 0;const Se=le.getRangeAt(0),ye=Se.cloneRange();return ye.selectNodeContents(ie),ye.setEnd(Se.endContainer,Se.endOffset),ye.toString().length},oe=()=>{if(G&&(Z(!1),W(-1)),T.current){const ye=Array.from(T.current.querySelectorAll(`.${p.default.mention_tag}`)).map(Ye=>({id:Ye.getAttribute("data-id")||"",type:Ye.getAttribute("data-type")||"",contextId:Ye.getAttribute("data-context-id")||""}));H.current.filter(Ye=>!ye.some(Ve=>Ve.id===Ye.id&&Ve.type===Ye.type&&Ve.contextId===Ye.contextId)).forEach(Ye=>{if(Ye.contextId){const Ve=new m.URI(Ye.contextId);Ye.type===a.MentionType.FILE?Te(a.MentionType.FILE,Ve):Ye.type===a.MentionType.FOLDER?Te(a.MentionType.FOLDER,Ve):Ye.type===a.MentionType.RULE&&Te(a.MentionType.RULE,Ve)}}),H.current=ye}const ie=window.getSelection();if(!ie||!ie.rangeCount||!T.current)return;const le=T.current.textContent||"",Se=re(T.current);if(le[Se-1]===d&&!R.active&&!R.inlineSearchActive&&P({active:!0,startPos:Se,filter:d,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),R.active&&R.level===0&&R.startPos!==null)if(Se<R.startPos)P(ye=>({...ye,active:!1}));else{const ye=le.substring(R.startPos-1,Se);P(Ue=>({...Ue,filter:ye,activeIndex:0}))}if(R.inlineSearchActive&&R.inlineSearchStartPos!==null&&R.parentType){const ye=u.find(Ve=>Ve.id===R.parentType);if(!ye)return;const Ue=`@${ye.type}:`,Ye=R.inlineSearchStartPos-Ue.length;if(Ye>=0&&Se>Ye+Ue.length){const Ve=le.substring(Ye+Ue.length,Se);Ve!==R.secondLevelFilter&&P(pt=>({...pt,secondLevelFilter:Ve,active:!0,activeIndex:0}))}else Se<=Ye&&P(Ve=>({...Ve,inlineSearchActive:!1,active:!1}))}if(T.current&&(T.current.scrollHeight>=120?T.current.style.overflowY="auto":T.current.style.overflowY="hidden"),T.current){const ye=T.current.innerHTML;(ye===""||ye==="<br>"||ye==="<br/>")&&(T.current.innerHTML="")}},he=ie=>{if(ie.key==="Escape"&&(R.active||R.inlineSearchActive)){R.level>0?P(Se=>({...Se,level:0,activeIndex:0,secondLevelFilter:"",inlineSearchActive:!1})):P(Se=>({...Se,active:!1,inlineSearchActive:!1})),ie.preventDefault();return}if((ie.key==="Backspace"||ie.key==="Delete")&&T.current&&(!T.current.textContent||T.current.textContent.trim()==="")&&w?.cleanFileContext(),ie.key===a.MENTION_KEYWORD&&!R.active&&!R.inlineSearchActive&&T.current){const Se=re(T.current);P({active:!0,startPos:Se+1,filter:d,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})}if((ie.key==="ArrowUp"||ie.key==="ArrowDown")&&!ie.shiftKey&&!ie.ctrlKey&&!ie.metaKey&&!ie.altKey){if(!R.active&&!R.inlineSearchActive&&T.current&&L.length>0){const Se=T.current.innerHTML;if(!Se||Se==="<br>"||G&&U>=0&&L[L.length-1-U]===Se){ie.preventDefault(),G||(Q(Se),Z(!0));let Ue=U;ie.key==="ArrowUp"?Ue=Math.min(L.length-1,U+1):Ue=Math.max(-1,U-1),W(Ue),Ue===-1?T.current.innerHTML=j:T.current.innerHTML=L[L.length-1-Ue];const Ye=document.createRange();Ye.selectNodeContents(T.current),Ye.collapse(!1);const Ve=window.getSelection();Ve&&(Ve.removeAllRanges(),Ve.addRange(Ye));return}}}else G&&ie.key!=="ArrowUp"&&ie.key!=="ArrowDown"&&(Z(!1),W(-1));if(ie.key==="Enter"){if(ie.nativeEvent.isComposing)return;if(!ie.shiftKey&&(ie.preventDefault(),!R.active)){fe();return}}if(!R.active)return;let le=K();if(R.level===0&&R.filter&&R.filter.length>1){const Se=R.filter.substring(1).toLowerCase();le=le.filter(ye=>ye.text.toLowerCase().includes(Se))}le.length!==0&&(ie.key==="ArrowDown"?(P(Se=>({...Se,activeIndex:(Se.activeIndex+1)%le.length})),ie.preventDefault()):ie.key==="ArrowUp"?(P(Se=>({...Se,activeIndex:(Se.activeIndex-1+le.length)%le.length})),ie.preventDefault()):(ie.key==="Enter"||ie.key==="Tab")&&le.length>0&&(ge(le[R.activeIndex]),ie.preventDefault()))},me=()=>{},q=async ie=>{const le=ie.clipboardData.items,Se=[];for(let lt=0;lt<le.length;lt++)if(le[lt].kind===a.MentionType.FILE&&le[lt].type.startsWith("image/")){const wt=le[lt].getAsFile();wt&&Se.push(wt)}if(ie.preventDefault(),Se.length>0&&b){await b(Se);return}const Ue=ie.clipboardData.getData("text/plain").replace(/\t/g," ").replace(/\n\s*\n/g,`
|
|
32839
32881
|
|
|
32840
32882
|
`).replace(/[ \t]+$/gm,""),Ye=window.getSelection();if(!Ye||!Ye.rangeCount)return;const Ve=Ye.getRangeAt(0);Ve.deleteContents();const pt=Ue.split(`
|
|
32841
|
-
`),vt=document.createDocumentFragment();pt.forEach((lt,wt)=>{const at=lt.replace(/^[ ]+/g,st=>{const At=document.createElement("span");return At.innerHTML="\xA0".repeat(st.length),At.innerHTML}),tt=document.createElement("span");for(tt.innerHTML=at;tt.firstChild;)vt.appendChild(tt.firstChild);wt<pt.length-1&&vt.appendChild(document.createElement("br"))});const xt=vt.lastChild;if(Ve.insertNode(vt),xt&&xt.parentNode){const lt=document.createRange();lt.setStartAfter(xt),Ye.removeAllRanges(),Ye.addRange(lt)}oe()};o.useEffect(()=>{if(T.current){D&&!T.current.textContent&&T.current.setAttribute("data-placeholder",D);const ie=Array.from(T.current.querySelectorAll(`.${p.default.mention_tag}`)).map(le=>({id:le.getAttribute("data-id")||"",type:le.getAttribute("data-type")||"",contextId:le.getAttribute("data-context-id")||""}));H.current=ie}},[D]);const Ae=ie=>{var le;R.active&&!(!((le=document.querySelector(`.${p.default.mention_panel}`))===null||le===void 0)&&le.contains(ie.target))&&P(Se=>({...Se,active:!1,inlineSearchActive:!1}))};o.useEffect(()=>(document.addEventListener("click",Ae,!0),()=>{document.removeEventListener("click",Ae,!0)}),[R.active]);const ge=(ie,le=!1)=>{var Se;if(!T.current)return;if(ie.getItems){const tt=window.getSelection();if(!tt||!tt.rangeCount)return;if(R.level===0&&R.startPos!==null){let st,At,Ut;const _n=document.createTreeWalker(T.current,NodeFilter.SHOW_TEXT);let Ln=0,ui;for(;ui=_n.nextNode();){const Rn=((Se=ui.textContent)===null||Se===void 0?void 0:Se.length)||0;if(R.startPos-1>=Ln&&R.startPos-1<Ln+Rn){st=ui,At=R.startPos-1-Ln;const ln=le?R.startPos+R.filter.length-1:re(T.current);Ut=Math.min(ln-Ln,Rn);break}Ln+=Rn}if(st){const Rn=document.createRange();Rn.setStart(st,At),Rn.setEnd(st,Ut),Rn.deleteContents();const ln=document.createTextNode(`${d}${ie.type}:`);Rn.insertNode(ln);const Un=document.createRange();Un.setStartAfter(ln),Un.setEndAfter(ln),tt.removeAllRanges(),tt.addRange(Un),P(rn=>({...rn,active:!0,level:1,parentType:ie.id,inlineSearchActive:!0,inlineSearchStartPos:re(T.current),secondLevelFilter:"",activeIndex:0})),T.current.focus();return}}return}const ye=window.getSelection();if(!ye||!ye.rangeCount)return;if(R.inlineSearchActive&&R.parentType&&R.inlineSearchStartPos!==null){const tt=u.find(Ut=>Ut.id===R.parentType);if(!tt)return;const st=`${d}${tt.type}:`,At=R.inlineSearchStartPos-st.length;if(At>=0){let ct=function($e){if($e.nodeType===3)rn.push({node:$e,start:ln,end:ln+$e.textContent.length}),ln+=$e.textContent.length;else if($e.nodeType===1){const Re=$e.childNodes||[];for(const Le of Array.from(Re))ct(Le)}};const Ut=document.createElement("span");if(Ut.className=p.default.mention_tag,Ut.dataset.id=ie.id,Ut.dataset.type=ie.type,Ut.dataset.contextId=ie.contextId||"",Ut.contentEditable="false",ie.type===a.MentionType.FILE||ie.type===a.MentionType.FOLDER){const $e=document.createElement("span");$e.className=(0,r.default)(p.default.mention_icon,ie.type===a.MentionType.FILE?A?.getIcon(new m.URI(ie.text)):(0,_.getIcon)("folder")),Ut.appendChild($e),ie.type===a.MentionType.FOLDER?w?.addFolderToContext(new m.URI(ie.contextId),!0):w?.addFileToContext(new m.URI(ie.contextId),void 0,!0)}else if(ie.type===a.MentionType.CODE){const $e=document.createElement("span");$e.className=(0,r.default)(p.default.mention_icon,ie.kind&&(0,l.getSymbolIcon)(ie.kind)+" outline-icon"),Ut.appendChild($e),ie.symbol&&w?.addFileToContext(new m.URI(ie.contextId),[ie.symbol.range.startLineNumber,ie.symbol.range.endLineNumber],!0)}else if(ie.type===a.MentionType.RULE){const $e=document.createElement("span");$e.className=(0,r.default)(p.default.mention_icon,(0,_.getIcon)("rules")),Ut.appendChild($e),w?.addRuleToContext(new m.URI(ie.contextId),!0)}const _n=S?.workspace;let Ln=ie.text;_n&&ie.contextId&&(Ln=ie.contextId.replace(new m.URI(_n.uri).codeUri.fsPath,"").slice(1));const ui=document.createTextNode(Ln);Ut.appendChild(ui);const Rn=document.createRange();let ln=0,Un=!1;const rn=[];ct(T.current);for(const $e of rn){if(At>=$e.start&&At<=$e.end){const Re=At-$e.start;Rn.setStart($e.node,Re),Un=!0}if(Un){const Re=le?At+st.length+R.secondLevelFilter.length:re(T.current);if(Re>=$e.start&&Re<=$e.end){const Le=Re-$e.start;Rn.setEnd($e.node,Le);break}}}if(Un){Rn.deleteContents(),Rn.insertNode(Ut);const $e=document.createRange();$e.setStartAfter(Ut),$e.setEndAfter(Ut),ye.removeAllRanges(),ye.addRange($e);const Re=document.createTextNode("\xA0");$e.insertNode(Re),$e.setStartAfter(Re),$e.setEndAfter(Re),ye.removeAllRanges(),ye.addRange($e)}P($e=>({...$e,active:!1,inlineSearchActive:!1})),T.current.focus();return}}const Ue=document.createElement("span");if(Ue.className=p.default.mention_tag,Ue.dataset.id=ie.id,Ue.dataset.type=ie.type,Ue.dataset.contextId=ie.contextId||"",Ue.contentEditable="false",ie.type===a.MentionType.FILE||ie.type==="folder"){const tt=document.createElement("span");tt.className=(0,r.default)(p.default.mention_icon,ie.type===a.MentionType.FILE?A?.getIcon(new m.URI(ie.text)):(0,_.getIcon)("folder")),Ue.appendChild(tt)}const Ye=S?.workspace;let Ve=ie.text;Ye&&ie.contextId&&(Ve=ie.contextId.replace(new m.URI(Ye.uri).codeUri.fsPath,"").slice(1));const pt=document.createTextNode(Ve);Ue.appendChild(pt);let vt=0,xt=!1;const lt=[];function wt(tt){if(tt.nodeType===3)lt.push({node:tt,start:vt,end:vt+tt.textContent.length}),vt+=tt.textContent.length;else if(tt.nodeType===1){const st=tt.childNodes;for(const At of Array.from(st))wt(At)}}wt(T.current);const at=document.createRange();if(R.startPos!==null)for(const tt of lt){if(R.startPos-1>=tt.start&&R.startPos-1<=tt.end){const st=R.startPos-1-tt.start;at.setStart(tt.node,st),xt=!0}if(xt){const st=le?R.startPos+R.filter.length-1:re(T.current);if(st>=tt.start&&st<=tt.end){const At=st-tt.start;at.setEnd(tt.node,At);break}}}if(xt){at.deleteContents(),at.insertNode(Ue);const tt=document.createRange();tt.setStartAfter(Ue),tt.setEndAfter(Ue),ye.removeAllRanges(),ye.addRange(tt);const st=document.createTextNode("\xA0");tt.insertNode(st),tt.setStartAfter(st),tt.setEndAfter(st),ye.removeAllRanges(),ye.addRange(tt)}P(tt=>({...tt,active:!1})),T.current.focus()},te=o.useCallback(ie=>{M(ie),y?.(ie)},[O,y]),fe=()=>{if(!T.current)return;const ie=T.current.innerHTML;if(!ie)return;const le=document.createElement("div");le.innerHTML=ie,le.querySelectorAll(`.${p.default.mention_tag}`).forEach(Ue=>{var Ye;const Ve=Ue.getAttribute("data-context-id");if(Ve){const pt=document.createTextNode(`{{${d}${Ue.getAttribute("data-type")}:${Ve}}}`);(Ye=Ue.parentNode)===null||Ye===void 0||Ye.replaceChild(pt,Ue)}});let ye=le.innerHTML;ye=ye.trim().replaceAll(t.WHITE_SPACE_TEXT," "),ie&&(B(Ue=>[...Ue,ie]),W(-1),Z(!1)),c&&c(ye,{model:O,...I}),T.current.innerHTML="",T.current&&(T.current.style.overflowY="hidden",T.current.style.height="auto")},Oe=o.useCallback(()=>{w?.cleanFileContext()},[w]),xe=o.useCallback(()=>{if(!T.current)return;T.current.focus();const ie=window.getSelection();if(!ie)return;const le=document.createRange();if(!T.current.textContent||T.current.textContent.trim()==="")T.current.innerHTML="@",le.setStart(T.current.firstChild||T.current,1),le.setEnd(T.current.firstChild||T.current,1);else{const ye=document.createTextNode(" @");le.selectNodeContents(T.current),le.collapse(!1),le.insertNode(ye),le.setStartAfter(ye),le.setEndAfter(ye)}ie.removeAllRanges(),ie.addRange(le);const Se=re(T.current);P({active:!0,startPos:Se,filter:"@",position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})},[]),Me=o.useCallback(()=>{E&&E()},[E]),Be=o.useCallback(ie=>(I.buttons||[]).filter(le=>le.position===ie).map(le=>o.createElement(_.Popover,{key:le.id,overlayClassName:p.default.popover_icon,id:`ai-chat-${le.id}`,position:_.PopoverPosition.top,title:le.title},o.createElement(v.EnhanceIcon,{className:(0,r.default)(le.icon?(0,_.getIcon)(le.icon):le.iconClass,p.default[`${le.id}_logo`]),tabIndex:0,role:"button",ariaLabel:le.title,onClick:le.onClick}))),[I.buttons]),De=o.useMemo(()=>$.files.length>0||$.folders.length>0||$.rules.length>0,[$]),_e=o.useCallback(ie=>I.disableModelSelector?o.createElement(_.Popover,{id:"ai-chat-model-selector",title:(0,l.localize)("aiNative.chat.modelSelector.disableTip"),position:_.PopoverPosition.top},ie):ie,[I.disableModelSelector]),Ne=o.useMemo(()=>I.extendedModelOptions?I.extendedModelOptions.map(ie=>({...ie,selected:ie.value===O})):(I.modelOptions||[]).map(ie=>{const le={...ie};return le.selected=ie.value===O,le}),[I.modelOptions,I.extendedModelOptions,O]),Te=o.useCallback((ie,le)=>{ie===a.MentionType.FILE?w?.removeFileFromContext(le,!0):ie===a.MentionType.FOLDER?w?.removeFolderFromContext(le):ie===a.MentionType.RULE&&w?.removeRuleFromContext(le)},[w]),We=ie=>decodeURIComponent(ie.split("/").pop()||"Unknown Rule"),pe=o.useCallback(()=>o.createElement("div",{className:p.default.context_preview_container},o.createElement("span",{className:(0,r.default)(p.default.context_preview_title,De&&p.default.has_context),onClick:xe},De?"":(0,l.localize)("aiNative.chat.context.title")),$.files.map((ie,le)=>o.createElement("div",{key:`file-${le}`,className:p.default.context_preview_item,"data-type":a.MentionType.FILE,onClick:()=>w?.removeFileFromContext(ie.uri,!0)},o.createElement(_.Icon,{iconClass:(0,r.default)(A?.getIcon(ie.uri)||a.MentionType.FILE,p.default.context_preview_item_icon,p.default.icon)}),o.createElement(_.Icon,{iconClass:(0,r.default)(p.default.close_icon,(0,_.getIcon)("close")),onClick:()=>Te(a.MentionType.FILE,ie.uri)}),o.createElement("span",{className:p.default.context_preview_item_text},new m.URI(ie.uri.toString()).displayName))),$.folders.map((ie,le)=>o.createElement("div",{key:`folder-${le}`,className:p.default.context_preview_item,"data-type":"folder",onClick:()=>w?.removeFileFromContext(ie.uri,!0)},o.createElement(_.Icon,{iconClass:(0,r.default)((0,_.getIcon)("folder"),p.default.context_preview_item_icon,p.default.icon)}),o.createElement(_.Icon,{iconClass:(0,r.default)(p.default.close_icon,(0,_.getIcon)("close")),onClick:()=>Te(a.MentionType.FOLDER,ie.uri)}),o.createElement("span",{className:p.default.context_preview_item_text},new m.URI(ie.uri.toString()).displayName))),$.rules.map((ie,le)=>o.createElement("div",{key:`rule-${le}`,className:p.default.context_preview_item,"data-type":"rule",onClick:()=>{w?.cleanFileContext(),$.files.forEach(Se=>w?.addFileToContext(Se.uri,Se.selection,!0)),$.folders.forEach(Se=>w?.addFolderToContext(Se.uri,!0)),$.rules.forEach((Se,ye)=>{ye!==le&&w?.addRuleToContext(new m.URI(Se.path),!0)})}},o.createElement(_.Icon,{iconClass:(0,r.default)((0,_.getIcon)("rules"),p.default.context_preview_item_icon,p.default.icon)}),o.createElement(_.Icon,{iconClass:(0,r.default)(p.default.close_icon,(0,_.getIcon)("close")),onClick:()=>Te(a.MentionType.RULE,new m.URI(ie.path))}),o.createElement("span",{className:p.default.context_preview_item_text},We(ie.path))))),[Oe,De,$,A,w,xe,Te]);return o.createElement("div",{className:p.default.input_container},pe(),R.active&&o.createElement("div",{className:p.default.mention_panel_container},o.createElement(s.MentionPanel,{items:K(),activeIndex:R.activeIndex,onSelectItem:ie=>ge(ie,!0),position:{top:0,left:0},filter:R.level===0?R.filter:R.secondLevelFilter,visible:!0,level:R.level,loading:R.loading})),o.createElement("div",{className:p.default.editor_area},o.createElement("div",{ref:T,className:p.default.editor,contentEditable:!0,onInput:oe,onKeyDown:he,onPaste:q,onCompositionEnd:me})),o.createElement("div",{className:p.default.footer},o.createElement("div",{className:p.default.left_control},I.showModelSelector&&_e(o.createElement(g.MentionSelect,{options:Ne,value:O,onChange:te,className:p.default.model_selector,size:"small",disabled:I.disableModelSelector,showThinking:I.showThinking,thinkingEnabled:I.thinkingEnabled,onThinkingChange:I.onThinkingChange})),Be(a.FooterButtonPosition.LEFT)),o.createElement("div",{className:p.default.right_control},Be(a.FooterButtonPosition.RIGHT),o.createElement(_.Popover,{overlayClassName:p.default.popover_icon,id:"ai-chat-send",position:_.PopoverPosition.top,content:f?"Stop":"Send"},f?o.createElement(v.EnhanceIcon,{wrapperClassName:p.default.stop_logo,className:(0,r.default)((0,_.getIcon)("stop"),p.default.stop_logo_icon),tabIndex:0,role:"button",ariaLabel:"Stop",onClick:Me}):o.createElement(v.EnhanceIcon,{wrapperClassName:p.default.send_logo,className:(0,r.default)((0,_.getIcon)("send-outlined"),p.default.send_logo_icon),tabIndex:0,role:"button",onClick:fe,ariaLabel:"Send"})))))};t.MentionInput=h},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),_=n.__importDefault(e(97599)),v=({item:m,isActive:p,onClick:s})=>o.createElement("div",{className:`${_.default.mention_item} ${p?_.default.active:""}`,onClick:()=>s(m)},o.createElement("div",{className:_.default.mention_item_left},o.createElement(l.Icon,{className:(0,r.default)(_.default.mention_item_icon,m.icon)}),o.createElement("span",{className:_.default.mention_item_text},m.text),o.createElement("span",{className:_.default.mention_item_description},m.description)),m.getItems&&o.createElement(l.Icon,{className:(0,r.default)(_.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),_=({items:v,activeIndex:m,onSelectItem:p,position:s,filter:g,visible:a,level:h,loading:u=!1})=>{const c=r.useRef(null);if(r.useEffect(()=>{if(a&&c.current){const d=c.current.querySelector(`.${o.default.mention_item}.${o.default.active}`);d&&d.scrollIntoView({block:"nearest"})}},[m,a]),!a)return null;const f=(()=>{let d=v;if(h===0){if(g&&g.length>1){const y=g.substring(1).toLowerCase();d=v.filter(b=>b.text.toLowerCase().includes(y))}}else g&&g.length>0&&(d=v.filter(y=>y.text.toLowerCase().includes(g.toLowerCase())));return d})();return h===0&&f.length===0?null:r.createElement("div",{ref:c,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((d,y)=>r.createElement(l.MentionItem,{key:d.id,item:d,isActive:y===m,onClick:()=>p(d,!0)}))):r.createElement("div",{className:o.default.no_results},u?"\u6B63\u5728\u641C\u7D22...":"\u65E0\u5339\u914D\u7ED3\u679C"))};t.MentionPanel=_},37412:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionSelect=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(58998),_=e(81878),v=n.__importDefault(e(13163)),m=({enabled:s,onChange:g})=>o.default.createElement("div",{className:v.default.thinking_toggle,onClick:()=>g(!s)},o.default.createElement(_.Icon,{iconClass:(0,_.getIcon)(s?"check":"circle-outline"),className:(0,r.default)(v.default.thinking_icon,{[v.default.enabled]:s})}),o.default.createElement("span",{className:v.default.thinking_label},"Thinking")),p=({options:s,value:g,onChange:a,placeholder:h,disabled:u=!1,className:c,size:E="small",showThinking:f=!1,thinkingEnabled:d=!1,onThinkingChange:y})=>{const[b,A]=(0,o.useState)(!1),[S,D]=(0,o.useState)(-1),[I,w]=(0,o.useState)("up"),T=(0,o.useRef)(null),R=(0,o.useRef)(null),P=s.find(L=>L.selected)||s.find(L=>L.value===g),O=()=>{u||(A(!b),D(-1))},M=L=>{L.disabled||(a?.(L.value),A(!1),D(-1))},k=L=>{if(!u)switch(L.key){case"Enter":case" ":L.preventDefault(),b?S>=0&&M(s[S]):A(!0);break;case"Escape":L.preventDefault(),A(!1),D(-1);break;case"ArrowDown":L.preventDefault(),b?D(B=>B<s.length-1?B+1:0):A(!0);break;case"ArrowUp":L.preventDefault(),b&&D(B=>B>0?B-1:s.length-1);break}},F=()=>{A(!1),D(-1)};return(0,o.useEffect)(()=>{if(b&&T.current){const L=T.current.getBoundingClientRect(),B=window.innerHeight,U=Math.min(400,s.length*60),W=L.top,j=B-L.bottom;W<U&&j>W?w("down"):w("up")}},[b,s.length]),(0,o.useEffect)(()=>{if(b&&S>=0&&R.current){const L=R.current.children[S];L&&L.scrollIntoView({behavior:"smooth",block:"nearest"})}},[b,S]),o.default.createElement(l.ClickOutside,{onOutsideClick:F},o.default.createElement("div",{ref:T,className:(0,r.default)(v.default.mention_select,v.default[`size_${E}`],{[v.default.disabled]:u,[v.default.open]:b,[v.default.dropdown_up]:I==="up",[v.default.dropdown_down]:I==="down"},c),onClick:O,onKeyDown:k,tabIndex:u?-1:0,role:"combobox","aria-expanded":b,"aria-haspopup":"listbox"},o.default.createElement("div",{className:v.default.select_trigger},o.default.createElement("div",{className:v.default.select_content},P?o.default.createElement("div",{className:v.default.selected_option},o.default.createElement("span",{className:v.default.option_label},P.label),P.badge&&o.default.createElement("span",{className:v.default.option_badge,style:{backgroundColor:P.badgeColor}},P.badge)):o.default.createElement("span",{className:v.default.placeholder},h)),o.default.createElement(_.Icon,{iconClass:(0,_.getIcon)("down-arrow"),className:(0,r.default)(v.default.dropdown_arrow,{[v.default.open]:b})})),b&&o.default.createElement("div",{ref:R,className:v.default.dropdown,role:"listbox"},f&&y&&o.default.createElement("div",{className:v.default.thinking_section},o.default.createElement(m,{enabled:d,onChange:y}),o.default.createElement("div",{className:v.default.divider})),s.map((L,B)=>o.default.createElement("div",{key:L.value,className:(0,r.default)(v.default.option,{[v.default.active]:B===S,[v.default.selected]:L.selected||L.value===g,[v.default.disabled]:L.disabled}),onClick:()=>M(L),role:"option","aria-selected":L.selected||L.value===g},o.default.createElement("div",{className:v.default.option_main},o.default.createElement("div",{className:v.default.option_header},o.default.createElement("div",{className:v.default.option_title},L.icon&&o.default.createElement(_.Icon,{icon:L.icon,className:v.default.option_icon}),L.iconClass&&o.default.createElement(_.Icon,{iconClass:L.iconClass,className:v.default.option_icon}),o.default.createElement("span",{className:v.default.option_label},L.label),L.badge&&o.default.createElement("span",{className:v.default.option_badge,style:{backgroundColor:L.badgeColor}},L.badge))),L.description&&o.default.createElement("div",{className:v.default.option_description},L.description),L.tags&&L.tags.length>0&&o.default.createElement("div",{className:v.default.option_tags},L.tags.map((U,W)=>o.default.createElement("span",{key:W,className:v.default.tag},U)))))))))};t.MentionSelect=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",r.RULE="rule"})(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,p)=>o({...m,position:"right",title:r,className:p,role:1});t.createMessageByUser=l;const _=(m,p)=>o({...m,position:"left",title:"",className:p,role:2});t.createMessageByAI=_;const v=m=>{let{title:p}=m;const{message:s,tooltip:g}=m;let a=m.icon||"";if(!p)return{icon:a,title:s,message:s,tooltip:g};const h=p.match(/^\$\(([a-z.]+\/)?([a-z0-9-]+)(~[a-z]+)?\)/i);if(h){const[u,c,E,f]=h,d=c?c.slice(0,-1):n.CODICON_OWNER;a=(0,n.getExternalIcon)(E,d),f&&(a+=` ${f.slice(1)}`),p=p.slice(u.length)}return{icon:a,title:p,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 _=class{initialize(){this.llmContextService.startAutoCollection()}};t.LlmContextContribution=_,n.__decorate([(0,r.Autowired)(l.LLMContextServiceToken),n.__metadata("design:type",Object)],_.prototype,"llmContextService",void 0),t.LlmContextContribution=_=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],_)},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(41869),l=e(11050),_=e(43718),v=e(25234),m=e(19083),p=e(86560),s=e(96689),g=e(82196),a=e(14951),h=e(6287),u=e(20868),c=e(6487),E=e(70392),f=e(23750);let d=class extends v.WithEventBus{constructor(){super(...arguments),this.isAutoCollecting=!1,this.contextVersion=0,this.maxAttachFilesLimit=10,this.maxAttachFoldersLimit=10,this.maxViewFilesLimit=20,this.attachedFiles=[],this.attachedFolders=[],this.attachedRules=[],this.recentlyViewFiles=[],this.onDidContextFilesChangeEmitter=new p.Emitter,this.hasUserManualReference=!1,this.onDidContextFilesChangeEvent=this.onDidContextFilesChangeEmitter.event}addFileToList(b,A,S){const D=A.findIndex(I=>{var w,T,R,P;return I.uri.toString()===b.uri.toString()&&((w=I.selection)===null||w===void 0?void 0:w[0])===((T=b.selection)===null||T===void 0?void 0:T[0])&&((R=I.selection)===null||R===void 0?void 0:R[1])===((P=b.selection)===null||P===void 0?void 0:P[1])});D>-1&&A.splice(D,1),A.push(b),A.length>S&&A.shift()}addFolderToList(b,A,S){const D=A.findIndex(I=>I.uri.toString()===b.uri.toString());D>-1&&A.splice(D,1),A.push(b),A.length>S&&A.shift()}addRuleToContext(b){if(!b||this.attachedRules.some(S=>S.path===b.toString()))return;const A=this.rulesService.projectRules.find(S=>S.path===b.toString());A&&(this.attachedRules.push(A),this.notifyContextChange())}addFileToContext(b,A,S=!1){if(!b)return;const D={uri:b,selection:A},I=S?this.attachedFiles:this.recentlyViewFiles,w=S?this.maxAttachFilesLimit:this.maxViewFilesLimit;S&&(this.docModelManager.createModelReference(b),this.hasUserManualReference=!0),this.addFileToList(D,I,w),this.notifyContextChange()}addFolderToContext(b){if(!b)return;const A={uri:b};this.addFolderToList(A,this.attachedFolders,this.maxAttachFoldersLimit),this.notifyContextChange()}notifyContextChange(){this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles())}cleanFileContext(){this.attachedFiles=[],this.attachedFolders=[],this.hasUserManualReference=!1,this.attachedRules=[],this.notifyContextChange()}getAllContextFiles(){return{viewed:this.recentlyViewFiles,attached:this.attachedFiles,attachedFolders:this.attachedFolders,attachedRules:this.attachedRules,version:this.contextVersion++}}removeFileFromContext(b,A=!1){const S=A?this.attachedFiles:this.recentlyViewFiles,D=S.findIndex(I=>I.uri.toString()===b.toString());D>-1&&S.splice(D,1),A&&this.attachedFiles.length===0&&(this.hasUserManualReference=!1),this.notifyContextChange()}removeFolderFromContext(b){const A=this.attachedFolders,S=A.findIndex(D=>D.uri.toString()===b.toString());S>-1&&A.splice(S,1),this.notifyContextChange()}removeRuleFromContext(b){const A=this.attachedRules,S=A.findIndex(D=>D.path===b.toString());S>-1&&A.splice(S,1),this.notifyContextChange()}startAutoCollection(){this.isAutoCollecting||(this.isAutoCollecting=!0,this.startAutoCollectionInternal())}startAutoCollectionInternal(){this.disposables.push(this.eventBus.on(s.EditorDocumentModelCreationEvent,b=>{b.payload.uri.scheme==="file"&&this.addFileToContext(b.payload.uri,void 0,!1)})),this.disposables.push(this.eventBus.on(s.EditorDocumentModelRemovalEvent,b=>{b.payload.scheme==="file"&&this.removeFileFromContext(b.payload,!1)})),this.disposables.push(this.eventBus.on(s.EditorDocumentModelSavedEvent,b=>{b.payload.scheme})),this.disposables.push(this.eventBus.on(g.EditorSelectionChangeEvent,b=>{if(b.payload.selections.length>0){const A=[b.payload.selections[0].selectionStartLineNumber,b.payload.selections[0].positionLineNumber].sort();this.hasUserManualReference||(A[0]===A[1]?this.addFileToContext(b.payload.editorUri,void 0,!1):this.addFileToContext(b.payload.editorUri,A.sort((S,D)=>S-D),!1))}}))}stopAutoCollection(){this.dispose()}async serialize(){const b=this.getAllContextFiles(),A=p.URI.file(this.appConfig.workspaceDir);return{recentlyViewFiles:this.serializeRecentlyViewFiles(b.viewed,A),attachedFiles:this.serializeAttachedFiles(b.attached,A),attachedFolders:await this.serializeAttachedFolders(b.attachedFolders),attachedRules:this.serializeAttachedRules(b.attachedRules),globalRules:this.serializeGlobalRules()}}async serializeAttachedFolders(b){const A=Array.from(new Set(b.map(I=>I.uri.toString()))),S="Here are some folder(s) I manually attached to my message:",D=await Promise.all(A.map(async I=>{const T=new p.URI(I).codeUri.fsPath,R=await this.getFormattedFolderStructure(T);return`Folder: ${T}
|
|
32883
|
+
`),vt=document.createDocumentFragment();pt.forEach((lt,wt)=>{const at=lt.replace(/^[ ]+/g,st=>{const At=document.createElement("span");return At.innerHTML="\xA0".repeat(st.length),At.innerHTML}),tt=document.createElement("span");for(tt.innerHTML=at;tt.firstChild;)vt.appendChild(tt.firstChild);wt<pt.length-1&&vt.appendChild(document.createElement("br"))});const xt=vt.lastChild;if(Ve.insertNode(vt),xt&&xt.parentNode){const lt=document.createRange();lt.setStartAfter(xt),Ye.removeAllRanges(),Ye.addRange(lt)}oe()};o.useEffect(()=>{if(T.current){D&&!T.current.textContent&&T.current.setAttribute("data-placeholder",D);const ie=Array.from(T.current.querySelectorAll(`.${p.default.mention_tag}`)).map(le=>({id:le.getAttribute("data-id")||"",type:le.getAttribute("data-type")||"",contextId:le.getAttribute("data-context-id")||""}));H.current=ie}},[D]);const Ae=ie=>{var le;R.active&&!(!((le=document.querySelector(`.${p.default.mention_panel}`))===null||le===void 0)&&le.contains(ie.target))&&P(Se=>({...Se,active:!1,inlineSearchActive:!1}))};o.useEffect(()=>(document.addEventListener("click",Ae,!0),()=>{document.removeEventListener("click",Ae,!0)}),[R.active]);const ge=(ie,le=!1)=>{var Se;if(!T.current)return;if(ie.getItems){const tt=window.getSelection();if(!tt||!tt.rangeCount)return;if(R.level===0&&R.startPos!==null){let st,At,Ut;const _n=document.createTreeWalker(T.current,NodeFilter.SHOW_TEXT);let Ln=0,ui;for(;ui=_n.nextNode();){const Rn=((Se=ui.textContent)===null||Se===void 0?void 0:Se.length)||0;if(R.startPos-1>=Ln&&R.startPos-1<Ln+Rn){st=ui,At=R.startPos-1-Ln;const ln=le?R.startPos+R.filter.length-1:re(T.current);Ut=Math.min(ln-Ln,Rn);break}Ln+=Rn}if(st){const Rn=document.createRange();Rn.setStart(st,At),Rn.setEnd(st,Ut),Rn.deleteContents();const ln=document.createTextNode(`${d}${ie.type}:`);Rn.insertNode(ln);const Un=document.createRange();Un.setStartAfter(ln),Un.setEndAfter(ln),tt.removeAllRanges(),tt.addRange(Un),P(rn=>({...rn,active:!0,level:1,parentType:ie.id,inlineSearchActive:!0,inlineSearchStartPos:re(T.current),secondLevelFilter:"",activeIndex:0})),T.current.focus();return}}return}const ye=window.getSelection();if(!ye||!ye.rangeCount)return;if(R.inlineSearchActive&&R.parentType&&R.inlineSearchStartPos!==null){const tt=u.find(Ut=>Ut.id===R.parentType);if(!tt)return;const st=`${d}${tt.type}:`,At=R.inlineSearchStartPos-st.length;if(At>=0){let ct=function($e){if($e.nodeType===3)rn.push({node:$e,start:ln,end:ln+$e.textContent.length}),ln+=$e.textContent.length;else if($e.nodeType===1){const Re=$e.childNodes||[];for(const Le of Array.from(Re))ct(Le)}};const Ut=document.createElement("span");if(Ut.className=p.default.mention_tag,Ut.dataset.id=ie.id,Ut.dataset.type=ie.type,Ut.dataset.contextId=ie.contextId||"",Ut.contentEditable="false",ie.type===a.MentionType.FILE||ie.type===a.MentionType.FOLDER){const $e=document.createElement("span");$e.className=(0,r.default)(p.default.mention_icon,ie.type===a.MentionType.FILE?A?.getIcon(new m.URI(ie.text)):(0,_.getIcon)("folder")),Ut.appendChild($e),ie.type===a.MentionType.FOLDER?w?.addFolderToContext(new m.URI(ie.contextId),!0):w?.addFileToContext(new m.URI(ie.contextId),void 0,!0)}else if(ie.type===a.MentionType.CODE){const $e=document.createElement("span");$e.className=(0,r.default)(p.default.mention_icon,ie.kind&&(0,l.getSymbolIcon)(ie.kind)+" outline-icon"),Ut.appendChild($e),ie.symbol&&w?.addFileToContext(new m.URI(ie.contextId),[ie.symbol.range.startLineNumber,ie.symbol.range.endLineNumber],!0)}else if(ie.type===a.MentionType.RULE){const $e=document.createElement("span");$e.className=(0,r.default)(p.default.mention_icon,(0,_.getIcon)("rules")),Ut.appendChild($e),w?.addRuleToContext(new m.URI(ie.contextId),!0)}const _n=S?.workspace;let Ln=ie.text;_n&&ie.contextId&&(Ln=ie.contextId.replace(new m.URI(_n.uri).codeUri.fsPath,"").slice(1));const ui=document.createTextNode(Ln);Ut.appendChild(ui);const Rn=document.createRange();let ln=0,Un=!1;const rn=[];ct(T.current);for(const $e of rn){if(At>=$e.start&&At<=$e.end){const Re=At-$e.start;Rn.setStart($e.node,Re),Un=!0}if(Un){const Re=le?At+st.length+R.secondLevelFilter.length:re(T.current);if(Re>=$e.start&&Re<=$e.end){const Le=Re-$e.start;Rn.setEnd($e.node,Le);break}}}if(Un){Rn.deleteContents(),Rn.insertNode(Ut);const $e=document.createRange();$e.setStartAfter(Ut),$e.setEndAfter(Ut),ye.removeAllRanges(),ye.addRange($e);const Re=document.createTextNode("\xA0");$e.insertNode(Re),$e.setStartAfter(Re),$e.setEndAfter(Re),ye.removeAllRanges(),ye.addRange($e)}P($e=>({...$e,active:!1,inlineSearchActive:!1})),T.current.focus();return}}const Ue=document.createElement("span");if(Ue.className=p.default.mention_tag,Ue.dataset.id=ie.id,Ue.dataset.type=ie.type,Ue.dataset.contextId=ie.contextId||"",Ue.contentEditable="false",ie.type===a.MentionType.FILE||ie.type==="folder"){const tt=document.createElement("span");tt.className=(0,r.default)(p.default.mention_icon,ie.type===a.MentionType.FILE?A?.getIcon(new m.URI(ie.text)):(0,_.getIcon)("folder")),Ue.appendChild(tt)}const Ye=S?.workspace;let Ve=ie.text;Ye&&ie.contextId&&(Ve=ie.contextId.replace(new m.URI(Ye.uri).codeUri.fsPath,"").slice(1));const pt=document.createTextNode(Ve);Ue.appendChild(pt);let vt=0,xt=!1;const lt=[];function wt(tt){if(tt.nodeType===3)lt.push({node:tt,start:vt,end:vt+tt.textContent.length}),vt+=tt.textContent.length;else if(tt.nodeType===1){const st=tt.childNodes;for(const At of Array.from(st))wt(At)}}wt(T.current);const at=document.createRange();if(R.startPos!==null)for(const tt of lt){if(R.startPos-1>=tt.start&&R.startPos-1<=tt.end){const st=R.startPos-1-tt.start;at.setStart(tt.node,st),xt=!0}if(xt){const st=le?R.startPos+R.filter.length-1:re(T.current);if(st>=tt.start&&st<=tt.end){const At=st-tt.start;at.setEnd(tt.node,At);break}}}if(xt){at.deleteContents(),at.insertNode(Ue);const tt=document.createRange();tt.setStartAfter(Ue),tt.setEndAfter(Ue),ye.removeAllRanges(),ye.addRange(tt);const st=document.createTextNode("\xA0");tt.insertNode(st),tt.setStartAfter(st),tt.setEndAfter(st),ye.removeAllRanges(),ye.addRange(tt)}P(tt=>({...tt,active:!1})),T.current.focus()},te=o.useCallback(ie=>{M(ie),y?.(ie)},[O,y]),fe=()=>{if(!T.current)return;const ie=T.current.innerHTML;if(!ie)return;const le=document.createElement("div");le.innerHTML=ie,le.querySelectorAll(`.${p.default.mention_tag}`).forEach(Ue=>{var Ye;const Ve=Ue.getAttribute("data-context-id");if(Ve){const pt=document.createTextNode(`{{${d}${Ue.getAttribute("data-type")}:${Ve}}}`);(Ye=Ue.parentNode)===null||Ye===void 0||Ye.replaceChild(pt,Ue)}});let ye=le.innerHTML;ye=ye.trim().replaceAll(t.WHITE_SPACE_TEXT," "),ie&&(B(Ue=>[...Ue,ie]),W(-1),Z(!1)),c&&c(ye,{model:O,...I}),T.current.innerHTML="",T.current&&(T.current.style.overflowY="hidden",T.current.style.height="auto")},Oe=o.useCallback(()=>{w?.cleanFileContext()},[w]),xe=o.useCallback(()=>{if(!T.current)return;T.current.focus();const ie=window.getSelection();if(!ie)return;const le=document.createRange();if(!T.current.textContent||T.current.textContent.trim()==="")T.current.innerHTML="@",le.setStart(T.current.firstChild||T.current,1),le.setEnd(T.current.firstChild||T.current,1);else{const ye=document.createTextNode(" @");le.selectNodeContents(T.current),le.collapse(!1),le.insertNode(ye),le.setStartAfter(ye),le.setEndAfter(ye)}ie.removeAllRanges(),ie.addRange(le);const Se=re(T.current);P({active:!0,startPos:Se,filter:"@",position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})},[]),Me=o.useCallback(()=>{E&&E()},[E]),Be=o.useCallback(ie=>(I.buttons||[]).filter(le=>le.position===ie).map(le=>o.createElement(_.Popover,{key:le.id,overlayClassName:p.default.popover_icon,id:`ai-chat-${le.id}`,position:_.PopoverPosition.top,title:le.title},o.createElement(v.EnhanceIcon,{className:(0,r.default)(le.icon?(0,_.getIcon)(le.icon):le.iconClass,p.default[`${le.id}_logo`]),tabIndex:0,role:"button",ariaLabel:le.title,onClick:le.onClick}))),[I.buttons]),De=o.useMemo(()=>$.files.length>0||$.folders.length>0||$.rules.length>0,[$]),_e=o.useCallback(ie=>I.disableModelSelector?o.createElement(_.Popover,{id:"ai-chat-model-selector",title:(0,l.localize)("aiNative.chat.modelSelector.disableTip"),position:_.PopoverPosition.top},ie):ie,[I.disableModelSelector]),Ne=o.useMemo(()=>I.extendedModelOptions?I.extendedModelOptions.map(ie=>({...ie,selected:ie.value===O})):(I.modelOptions||[]).map(ie=>{const le={...ie};return le.selected=ie.value===O,le}),[I.modelOptions,I.extendedModelOptions,O]),Te=o.useCallback((ie,le)=>{ie===a.MentionType.FILE?w?.removeFileFromContext(le,!0):ie===a.MentionType.FOLDER?w?.removeFolderFromContext(le):ie===a.MentionType.RULE&&w?.removeRuleFromContext(le)},[w]),We=ie=>decodeURIComponent(ie.split("/").pop()||"Unknown Rule"),pe=o.useCallback(()=>o.createElement("div",{className:p.default.context_preview_container},o.createElement("span",{className:(0,r.default)(p.default.context_preview_title,De&&p.default.has_context),onClick:xe},De?"":(0,l.localize)("aiNative.chat.context.title")),$.files.map((ie,le)=>o.createElement("div",{key:`file-${le}`,className:p.default.context_preview_item,"data-type":a.MentionType.FILE},o.createElement(_.Icon,{iconClass:(0,r.default)(A?.getIcon(ie.uri)||a.MentionType.FILE,p.default.context_preview_item_icon,p.default.icon)}),o.createElement(_.Icon,{iconClass:(0,r.default)(p.default.close_icon,(0,_.getIcon)("close")),onClick:()=>Te(a.MentionType.FILE,ie.uri)}),o.createElement("span",{className:p.default.context_preview_item_text},new m.URI(ie.uri.toString()).displayName))),$.folders.map((ie,le)=>o.createElement("div",{key:`folder-${le}`,className:p.default.context_preview_item,"data-type":"folder"},o.createElement(_.Icon,{iconClass:(0,r.default)((0,_.getIcon)("folder"),p.default.context_preview_item_icon,p.default.icon)}),o.createElement(_.Icon,{iconClass:(0,r.default)(p.default.close_icon,(0,_.getIcon)("close")),onClick:()=>Te(a.MentionType.FOLDER,ie.uri)}),o.createElement("span",{className:p.default.context_preview_item_text},new m.URI(ie.uri.toString()).displayName))),$.rules.map((ie,le)=>o.createElement("div",{key:`rule-${le}`,className:p.default.context_preview_item,"data-type":"rule"},o.createElement(_.Icon,{iconClass:(0,r.default)((0,_.getIcon)("rules"),p.default.context_preview_item_icon,p.default.icon)}),o.createElement(_.Icon,{iconClass:(0,r.default)(p.default.close_icon,(0,_.getIcon)("close")),onClick:()=>Te(a.MentionType.RULE,new m.URI(ie.path))}),o.createElement("span",{className:p.default.context_preview_item_text},We(ie.path).replace(".mdc",""))))),[Oe,De,$,A,w,xe,Te]);return o.createElement("div",{className:p.default.input_container},pe(),R.active&&o.createElement("div",{className:p.default.mention_panel_container},o.createElement(s.MentionPanel,{items:K(),activeIndex:R.activeIndex,onSelectItem:ie=>ge(ie,!0),position:{top:0,left:0},filter:R.level===0?R.filter:R.secondLevelFilter,visible:!0,level:R.level,loading:R.loading})),o.createElement("div",{className:p.default.editor_area},o.createElement("div",{ref:T,className:p.default.editor,contentEditable:!0,onInput:oe,onKeyDown:he,onPaste:q,onCompositionEnd:me})),o.createElement("div",{className:p.default.footer},o.createElement("div",{className:p.default.left_control},I.showModelSelector&&_e(o.createElement(g.MentionSelect,{options:Ne,value:O,onChange:te,className:p.default.model_selector,size:"small",disabled:I.disableModelSelector,showThinking:I.showThinking,thinkingEnabled:I.thinkingEnabled,onThinkingChange:I.onThinkingChange})),Be(a.FooterButtonPosition.LEFT)),o.createElement("div",{className:p.default.right_control},Be(a.FooterButtonPosition.RIGHT),o.createElement(_.Popover,{overlayClassName:p.default.popover_icon,id:"ai-chat-send",position:_.PopoverPosition.top,content:f?"Stop":"Send"},f?o.createElement(v.EnhanceIcon,{wrapperClassName:p.default.stop_logo,className:(0,r.default)((0,_.getIcon)("stop"),p.default.stop_logo_icon),tabIndex:0,role:"button",ariaLabel:"Stop",onClick:Me}):o.createElement(v.EnhanceIcon,{wrapperClassName:p.default.send_logo,className:(0,r.default)((0,_.getIcon)("send-outlined"),p.default.send_logo_icon),tabIndex:0,role:"button",onClick:fe,ariaLabel:"Send"})))))};t.MentionInput=h},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),_=n.__importDefault(e(97599)),v=({item:m,isActive:p,onClick:s})=>o.createElement("div",{className:`${_.default.mention_item} ${p?_.default.active:""}`,onClick:()=>s(m)},o.createElement("div",{className:_.default.mention_item_left},o.createElement(l.Icon,{className:(0,r.default)(_.default.mention_item_icon,m.icon)}),o.createElement("span",{className:_.default.mention_item_text},m.text),o.createElement("span",{className:_.default.mention_item_description},m.description)),m.getItems&&o.createElement(l.Icon,{className:(0,r.default)(_.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),_=({items:v,activeIndex:m,onSelectItem:p,position:s,filter:g,visible:a,level:h,loading:u=!1})=>{const c=r.useRef(null);if(r.useEffect(()=>{if(a&&c.current){const d=c.current.querySelector(`.${o.default.mention_item}.${o.default.active}`);d&&d.scrollIntoView({block:"nearest"})}},[m,a]),!a)return null;const f=(()=>{let d=v;if(h===0){if(g&&g.length>1){const y=g.substring(1).toLowerCase();d=v.filter(b=>b.text.toLowerCase().includes(y))}}else g&&g.length>0&&(d=v.filter(y=>y.text.toLowerCase().includes(g.toLowerCase())));return d})();return h===0&&f.length===0?null:r.createElement("div",{ref:c,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((d,y)=>r.createElement(l.MentionItem,{key:d.id,item:d,isActive:y===m,onClick:()=>p(d,!0)}))):r.createElement("div",{className:o.default.no_results},u?"\u6B63\u5728\u641C\u7D22...":"\u65E0\u5339\u914D\u7ED3\u679C"))};t.MentionPanel=_},37412:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionSelect=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(58998),_=e(81878),v=n.__importDefault(e(13163)),m=({enabled:s,onChange:g})=>o.default.createElement("div",{className:v.default.thinking_toggle,onClick:()=>g(!s)},o.default.createElement(_.Icon,{iconClass:(0,_.getIcon)(s?"check":"circle-outline"),className:(0,r.default)(v.default.thinking_icon,{[v.default.enabled]:s})}),o.default.createElement("span",{className:v.default.thinking_label},"Thinking")),p=({options:s,value:g,onChange:a,placeholder:h,disabled:u=!1,className:c,size:E="small",showThinking:f=!1,thinkingEnabled:d=!1,onThinkingChange:y})=>{const[b,A]=(0,o.useState)(!1),[S,D]=(0,o.useState)(-1),[I,w]=(0,o.useState)("up"),T=(0,o.useRef)(null),R=(0,o.useRef)(null),P=s.find(L=>L.selected)||s.find(L=>L.value===g),O=()=>{u||(A(!b),D(-1))},M=L=>{L.disabled||(a?.(L.value),A(!1),D(-1))},k=L=>{if(!u)switch(L.key){case"Enter":case" ":L.preventDefault(),b?S>=0&&M(s[S]):A(!0);break;case"Escape":L.preventDefault(),A(!1),D(-1);break;case"ArrowDown":L.preventDefault(),b?D(B=>B<s.length-1?B+1:0):A(!0);break;case"ArrowUp":L.preventDefault(),b&&D(B=>B>0?B-1:s.length-1);break}},F=()=>{A(!1),D(-1)};return(0,o.useEffect)(()=>{if(b&&T.current){const L=T.current.getBoundingClientRect(),B=window.innerHeight,U=Math.min(400,s.length*60),W=L.top,j=B-L.bottom;W<U&&j>W?w("down"):w("up")}},[b,s.length]),(0,o.useEffect)(()=>{if(b&&S>=0&&R.current){const L=R.current.children[S];L&&L.scrollIntoView({behavior:"smooth",block:"nearest"})}},[b,S]),o.default.createElement(l.ClickOutside,{onOutsideClick:F},o.default.createElement("div",{ref:T,className:(0,r.default)(v.default.mention_select,v.default[`size_${E}`],{[v.default.disabled]:u,[v.default.open]:b,[v.default.dropdown_up]:I==="up",[v.default.dropdown_down]:I==="down"},c),onClick:O,onKeyDown:k,tabIndex:u?-1:0,role:"combobox","aria-expanded":b,"aria-haspopup":"listbox"},o.default.createElement("div",{className:v.default.select_trigger},o.default.createElement("div",{className:v.default.select_content},P?o.default.createElement("div",{className:v.default.selected_option},o.default.createElement("span",{className:v.default.option_label},P.label),P.badge&&o.default.createElement("span",{className:v.default.option_badge,style:{backgroundColor:P.badgeColor}},P.badge)):o.default.createElement("span",{className:v.default.placeholder},h)),o.default.createElement(_.Icon,{iconClass:(0,_.getIcon)("down-arrow"),className:(0,r.default)(v.default.dropdown_arrow,{[v.default.open]:b})})),b&&o.default.createElement("div",{ref:R,className:v.default.dropdown,role:"listbox"},f&&y&&o.default.createElement("div",{className:v.default.thinking_section},o.default.createElement(m,{enabled:d,onChange:y}),o.default.createElement("div",{className:v.default.divider})),s.map((L,B)=>o.default.createElement("div",{key:L.value,className:(0,r.default)(v.default.option,{[v.default.active]:B===S,[v.default.selected]:L.selected||L.value===g,[v.default.disabled]:L.disabled}),onClick:()=>M(L),role:"option","aria-selected":L.selected||L.value===g},o.default.createElement("div",{className:v.default.option_main},o.default.createElement("div",{className:v.default.option_header},o.default.createElement("div",{className:v.default.option_title},L.icon&&o.default.createElement(_.Icon,{icon:L.icon,className:v.default.option_icon}),L.iconClass&&o.default.createElement(_.Icon,{iconClass:L.iconClass,className:v.default.option_icon}),o.default.createElement("span",{className:v.default.option_label},L.label),L.badge&&o.default.createElement("span",{className:v.default.option_badge,style:{backgroundColor:L.badgeColor}},L.badge))),L.description&&o.default.createElement("div",{className:v.default.option_description},L.description),L.tags&&L.tags.length>0&&o.default.createElement("div",{className:v.default.option_tags},L.tags.map((U,W)=>o.default.createElement("span",{key:W,className:v.default.tag},U)))))))))};t.MentionSelect=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",r.RULE="rule"})(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,p)=>o({...m,position:"right",title:r,className:p,role:1});t.createMessageByUser=l;const _=(m,p)=>o({...m,position:"left",title:"",className:p,role:2});t.createMessageByAI=_;const v=m=>{let{title:p}=m;const{message:s,tooltip:g}=m;let a=m.icon||"";if(!p)return{icon:a,title:s,message:s,tooltip:g};const h=p.match(/^\$\(([a-z.]+\/)?([a-z0-9-]+)(~[a-z]+)?\)/i);if(h){const[u,c,E,f]=h,d=c?c.slice(0,-1):n.CODICON_OWNER;a=(0,n.getExternalIcon)(E,d),f&&(a+=` ${f.slice(1)}`),p=p.slice(u.length)}return{icon:a,title:p,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 _=class{initialize(){this.llmContextService.startAutoCollection()}};t.LlmContextContribution=_,n.__decorate([(0,r.Autowired)(l.LLMContextServiceToken),n.__metadata("design:type",Object)],_.prototype,"llmContextService",void 0),t.LlmContextContribution=_=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],_)},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(41869),l=e(11050),_=e(43718),v=e(25234),m=e(19083),p=e(86560),s=e(96689),g=e(82196),a=e(14951),h=e(6287),u=e(20868),c=e(6487),E=e(70392),f=e(23750);let d=class extends v.WithEventBus{constructor(){super(...arguments),this.isAutoCollecting=!1,this.contextVersion=0,this.maxAttachFilesLimit=10,this.maxAttachFoldersLimit=10,this.maxViewFilesLimit=20,this.attachedFiles=[],this.attachedFolders=[],this.attachedRules=[],this.recentlyViewFiles=[],this.onDidContextFilesChangeEmitter=new p.Emitter,this.hasUserManualReference=!1,this.onDidContextFilesChangeEvent=this.onDidContextFilesChangeEmitter.event}addFileToList(b,A,S){const D=A.findIndex(I=>{var w,T,R,P;return I.uri.toString()===b.uri.toString()&&((w=I.selection)===null||w===void 0?void 0:w[0])===((T=b.selection)===null||T===void 0?void 0:T[0])&&((R=I.selection)===null||R===void 0?void 0:R[1])===((P=b.selection)===null||P===void 0?void 0:P[1])});D>-1&&A.splice(D,1),A.push(b),A.length>S&&A.shift()}addFolderToList(b,A,S){const D=A.findIndex(I=>I.uri.toString()===b.uri.toString());D>-1&&A.splice(D,1),A.push(b),A.length>S&&A.shift()}addRuleToContext(b){if(!b||this.attachedRules.some(S=>S.path===b.toString()))return;const A=this.rulesService.projectRules.find(S=>S.path===b.toString());A&&(this.attachedRules.push(A),this.notifyContextChange())}addFileToContext(b,A,S=!1){if(!b)return;const D={uri:b,selection:A},I=S?this.attachedFiles:this.recentlyViewFiles,w=S?this.maxAttachFilesLimit:this.maxViewFilesLimit;S&&(this.docModelManager.createModelReference(b),this.hasUserManualReference=!0),this.addFileToList(D,I,w),this.notifyContextChange()}addFolderToContext(b){if(!b)return;const A={uri:b};this.addFolderToList(A,this.attachedFolders,this.maxAttachFoldersLimit),this.notifyContextChange()}notifyContextChange(){this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles())}cleanFileContext(){this.attachedFiles=[],this.attachedFolders=[],this.hasUserManualReference=!1,this.attachedRules=[],this.notifyContextChange()}getAllContextFiles(){return{viewed:this.recentlyViewFiles,attached:this.attachedFiles,attachedFolders:this.attachedFolders,attachedRules:this.attachedRules,version:this.contextVersion++}}removeFileFromContext(b,A=!1){const S=A?this.attachedFiles:this.recentlyViewFiles,D=S.findIndex(I=>I.uri.toString()===b.toString());D>-1&&S.splice(D,1),A&&this.attachedFiles.length===0&&(this.hasUserManualReference=!1),this.notifyContextChange()}removeFolderFromContext(b){const A=this.attachedFolders,S=A.findIndex(D=>D.uri.toString()===b.toString());S>-1&&A.splice(S,1),this.notifyContextChange()}removeRuleFromContext(b){const A=this.attachedRules,S=A.findIndex(D=>D.path===b.toString());S>-1&&A.splice(S,1),this.notifyContextChange()}startAutoCollection(){this.isAutoCollecting||(this.isAutoCollecting=!0,this.startAutoCollectionInternal())}startAutoCollectionInternal(){this.disposables.push(this.eventBus.on(s.EditorDocumentModelCreationEvent,b=>{b.payload.uri.scheme==="file"&&this.addFileToContext(b.payload.uri,void 0,!1)})),this.disposables.push(this.eventBus.on(s.EditorDocumentModelRemovalEvent,b=>{b.payload.scheme==="file"&&this.removeFileFromContext(b.payload,!1)})),this.disposables.push(this.eventBus.on(s.EditorDocumentModelSavedEvent,b=>{b.payload.scheme})),this.disposables.push(this.eventBus.on(g.EditorSelectionChangeEvent,b=>{if(b.payload.selections.length>0){const A=[b.payload.selections[0].selectionStartLineNumber,b.payload.selections[0].positionLineNumber].sort();this.hasUserManualReference||(A[0]===A[1]?this.addFileToContext(b.payload.editorUri,void 0,!1):this.addFileToContext(b.payload.editorUri,A.sort((S,D)=>S-D),!1))}}))}stopAutoCollection(){this.dispose()}async serialize(){const b=this.getAllContextFiles(),A=p.URI.file(this.appConfig.workspaceDir);return{recentlyViewFiles:this.serializeRecentlyViewFiles(b.viewed,A),attachedFiles:this.serializeAttachedFiles(b.attached,A),attachedFolders:await this.serializeAttachedFolders(b.attachedFolders),attachedRules:this.serializeAttachedRules(b.attachedRules),globalRules:this.serializeGlobalRules()}}async serializeAttachedFolders(b){const A=Array.from(new Set(b.map(I=>I.uri.toString()))),S="Here are some folder(s) I manually attached to my message:",D=await Promise.all(A.map(async I=>{const T=new p.URI(I).codeUri.fsPath,R=await this.getFormattedFolderStructure(T);return`Folder: ${T}
|
|
32842
32884
|
Contents of directory:
|
|
32843
32885
|
|
|
32844
32886
|
${R}`}));return D.length>0?[S,...D,""]:[]}async getFormattedFolderStructure(b){var A;const S=[];try{const D=await this.fileService.getFileStat(b);for(const I of D?.children||[]){const w=new p.URI(b).relative(new p.URI(I.uri)).toString();if(I.isSymbolicLink){const T=await this.fileService.getFileStat(I.realUri||I.uri);T?S.push(`[link] ${w} -> ${T}`):S.push(`[link] ${w} (broken)`);continue}if(I.type===a.FileType.Directory){const T=await this.fileService.getFileStat(I.uri),R=((A=T?.children)===null||A===void 0?void 0:A.length)||0;S.push(`[dir] ${w}/ (${R} items)`)}else I.type===a.FileType.File&&S.push(`[file] ${w}`)}}catch{return""}return S.join(`
|
|
@@ -33204,7 +33246,7 @@ Tokenizing line: ${R}`);for(let W=0;W<B.tokens.length;W++){const j=B.tokens[W];U
|
|
|
33204
33246
|
//# sourceURL=${I.id}`)(P,O,M,k,L,B),{moduleExports:w?P.exports.default:P.exports,proxiedHead:F}}};t.ViewExtProcessService=A,A.tabBarLocation=["left","right"],r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],A.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(p.ILogger),r.__metadata("design:type",Object)],A.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(v.AppConfig),r.__metadata("design:type",Object)],A.prototype,"appConfig",void 0),r.__decorate([(0,o.Autowired)(v.IToolbarPopoverRegistry),r.__metadata("design:type",Object)],A.prototype,"toolbarPopoverRegistry",void 0),r.__decorate([(0,o.Autowired)(a.AbstractWorkerExtProcessService),r.__metadata("design:type",a.AbstractWorkerExtProcessService)],A.prototype,"workerExtensionService",void 0),r.__decorate([(0,o.Autowired)(a.AbstractNodeExtProcessService),r.__metadata("design:type",a.AbstractNodeExtProcessService)],A.prototype,"nodeExtensionService",void 0),r.__decorate([(0,o.Autowired)(),r.__metadata("design:type",m.StaticResourceService)],A.prototype,"staticResourceService",void 0),r.__decorate([(0,o.Autowired)(g.RequireInterceptorContribution),r.__metadata("design:type",Object)],A.prototype,"requireInterceptorContributionProvider",void 0),r.__decorate([(0,o.Autowired)(g.IRequireInterceptorService),r.__metadata("design:type",Object)],A.prototype,"requireInterceptorService",void 0),r.__decorate([(0,o.Autowired)(p.IReporterService),r.__metadata("design:type",Object)],A.prototype,"reporterService",void 0),r.__decorate([(0,o.Autowired)(s.SCMService),r.__metadata("design:type",s.SCMService)],A.prototype,"scmService",void 0),t.ViewExtProcessService=A=n=r.__decorate([(0,o.Injectable)()],A)},98736:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerExtProcessService=void 0;const n=e(85608),r=e(76003),o=e(84605),l=e(8919),_=e(92917),v=e(41869),m=e(43718),p=e(99220),s=e(37846),g=e(30824),a=e(28949),h=e(51072),u=e(17802),c=e(65055),{posix:E}=m.path;let f=class extends m.Disposable{constructor(){super(...arguments),this.ready=new v.Deferred,this._extHostUpdated=new v.Deferred,this.extensions=[],this.apiFactoryDisposable=new m.DisposableStore}disposeApiFactory(){var y,b;this.apiFactoryDisposable.clear(),this.protocol&&((b=(y=this.protocol).dispose)===null||b===void 0||b.call(y)),this.connection&&this.connection.dispose()}disposeProcess(){this.disposeApiFactory()}async activate(y){if(this.protocol=await this.createExtProcess(y),this.protocol){this.ready.resolve(),this.logger.log("[Worker Host] init worker thread api proxy");const b=(0,u.initSharedAPIProxy)(this.protocol,this.injector);this.apiFactoryDisposable.add(b),this.apiFactoryDisposable.add((0,m.toDisposable)((0,h.initWorkerThreadAPIProxy)(this.protocol,this.injector,this))),this.apiFactoryDisposable.add((0,m.toDisposable)((0,a.createSumiAPIFactory)(this.protocol,this.injector))),await b.setup(),await this.getProxy().$updateExtHostData(),this._extHostUpdated.resolve()}return this.protocol}async activeExtension(y,b){var A,S;const{extendConfig:D,packageJSON:I,id:w}=y;if(!((A=D?.worker)===null||A===void 0)&&A.main){(0,o.warning)(!1,`[Deprecated warning]: ${w}: kaitian.js is deprecated, please use \`package.json#sumiContributes\` instead`),await this.doActivateExtension(y);return}(I.sumiContributes&&(!((S=y.contributes)===null||S===void 0)&&S.workerMain)||b&&I.browser)&&await this.doActivateExtension(y)}async doActivateExtension(y){this.appConfig.extWorkerHost&&(await this._extHostUpdated.promise,await this.getProxy().$activateExtension(y.id))}async updateExtensionData(y){this.extensions=y,this.protocol&&this.getProxy().$updateExtHostData()}getExtension(y){return this.extensions.find(b=>b.id===y)}async $activateExtension(y){const b=this.extensions.find(A=>A.workerScriptPath===y);b&&await b.activate()}async $getExtensions(){return this.extensions.map(y=>y.contributes&&y.contributes.workerMain?this.getWorkerExtensionProps(y,y.contributes.workerMain):y.packageJSON.browser?this.getWorkerExtensionProps(y,y.packageJSON.browser):y.extendConfig&&y.extendConfig.worker&&y.extendConfig.worker.main?this.getWorkerExtensionProps(y,y.extendConfig.worker.main):y.toJSON())}async $getStaticServicePath(){return this.appConfig.staticServicePath||`http://${window.location.hostname}:8000`}async createExtProcess(y){const b=(0,g.getWorkerBootstrapUrl)(this.appConfig.extWorkerHost,"ExtensionWorkerHost",y);return await this.initWorkerProtocol(b)}async initWorkerProtocol(y){return this.logger.log("[Worker Host] init web worker extension host"),new Promise((b,A)=>{const S=new v.Deferred;if(this.appConfig.useIframeWrapWorkerHost){const{iframe:D,extHostUuid:I}=(0,c.startInsideIframe)(y),w=T=>{if(T.source===D.contentWindow&&T.data.kaitianWebWorkerExtHostId===I&&T.data.data instanceof MessagePort){S.resolve(T.data.data);return}};window.addEventListener("message",w),this.apiFactoryDisposable.add({dispose:()=>{window.removeEventListener("message",w),D.remove()}}),S.promise.then(T=>{b(this.createProtocol(T))})}else try{const D=new Worker(y,{name:"KaitianWorkerExtensionHost"});D.onmessage=I=>{I.data instanceof MessagePort&&S.resolve(I.data)},D.onerror=I=>{A(I)},this.apiFactoryDisposable.add({dispose:()=>{D.terminate(),D.onmessage=null,D.onerror=null}}),S.promise.then(I=>{b(this.createProtocol(I))})}catch(D){A(D)}})}createProtocol(y){this.connection=new _.MessagePortConnection(y);const b=new l.SumiConnectionMultiplexer(this.connection,{timeout:this.appConfig.rpcMessageTimeout,name:"worker-ext-host",io:(0,l.createExtMessageIO)(s.knownProtocols)});return this.logger.log("[Worker Host] web worker extension host ready"),b}getActivatedExtensions(){return this.getProxy().$getActivatedExtensions()}getProxy(){return this.protocol.getProxy(p.WorkerHostAPIIdentifier.ExtWorkerHostExtensionService)}getWorkerExtensionProps(y,b){let A=b;A.endsWith(".js")||(A+=".js");const S=new v.URI(y.extensionLocation.with({path:E.join(y.extensionLocation.path,A)})).toString();return Object.assign({},y.toJSON(),{workerScriptPath:S})}getSpawnOptions(){return{}}dispose(){super.dispose(),this.disposeApiFactory()}};t.WorkerExtProcessService=f,n.__decorate([(0,r.Autowired)(v.AppConfig),n.__metadata("design:type",Object)],f.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(v.ILogger),n.__metadata("design:type",Object)],f.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],f.prototype,"injector",void 0),t.WorkerExtProcessService=f=n.__decorate([(0,r.Injectable)()],f)},62040:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionCommandContribution=t.ExtensionClientAppContribution=t.getClientId=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(29220),_=e(54414),v=e(55113),m=e(72665),p=e(65046),s=e(99220),g=e(53043),a=e(71354),h=n.__importStar(e(72980)),u=e(17441),c=d=>d.get(o.IApplicationService).clientId;t.getClientId=c;let E=class{initialize(){this.extensionService.activate().then(()=>{const y=this.webviewService.registerWebviewReviver({handles:()=>0,revive:async b=>new Promise(A=>{this.eventBus.on(a.ExtensionApiReadyEvent,()=>{y.dispose(),A(this.webviewService.tryReviveWebviewComponent(b))})})})})}async onStart(){(0,o.runWhenIdle)(()=>{this.extensionService.runExtensionContributes()}),this.preferenceSettingsService.registerSettingGroup({id:"extension",title:(0,o.localize)("settings.group.extension"),iconClass:(0,o.getIcon)("extension")})}onDisposeSideEffects(){this.extensionNodeClient.disposeClientExtProcess(this.clientId,!1)}onReconnect(){this.extensionService.restartExtProcess(s.ERestartPolicy.WhenExit)}get clientId(){return(0,t.getClientId)(this.injector)}};t.ExtensionClientAppContribution=E,n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],E.prototype,"preferenceSettingsService",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)(s.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],E.prototype,"extensionNodeClient",void 0),n.__decorate([(0,r.Autowired)(o.QuickOpenService),n.__metadata("design:type",Object)],E.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],E.prototype,"statusBar",void 0),n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],E.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(p.IWebviewService),n.__metadata("design:type",Object)],E.prototype,"webviewService",void 0),n.__decorate([(0,r.Autowired)(s.ExtensionService),n.__metadata("design:type",s.ExtensionService)],E.prototype,"extensionService",void 0),t.ExtensionClientAppContribution=E=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],E);let f=class{registerCommands(y){y.registerCommand({id:"ext.restart",label:"%extension.host.restart%"},{execute:async()=>{this.logger.log("start restart ext host process"),await this.extensionService.restartExtProcess(),this.logger.log("end restart ext host process")}}),y.registerCommand(h.GET_EXTENSION,{execute:async b=>{const A=this.extensionInstanceManageService.getExtensionInstanceByExtId(b);return A&&A.toJSON()}}),this.registerVSCBuiltinCommands(y)}registerVSCBuiltinCommands(y){y.registerCommand(h.SET_CONTEXT,{execute:(b,A)=>{this.contextKeyService.createKey(String(b),A)}}),y.registerCommand(h.RELOAD_WINDOW_COMMAND,{execute:()=>{this.clientApp.fireOnReload()}}),y.registerCommand(s.EMIT_EXT_HOST_EVENT,{execute:async(b,...A)=>{await this.activationEventService.fireEvent("onEvent:"+b);const S=await this.eventBus.fireAndAwait(new a.ExtHostEvent({eventName:b,eventArgs:A})),D=[];return S.forEach(I=>{I.err?D.push(I):D.push(...I.result||[])}),D}}),y.registerCommand(h.SHOW_RUN_TIME_EXTENSION,{execute:async()=>{const b=await this.extensionService.getActivatedExtensions();this.quickOpenService.open({onType:(A,S)=>S(this.asQuickOpenItems(b))},{placeholder:"\u8FD0\u884C\u4E2D\u7684\u63D2\u4EF6",fuzzyMatchLabel:{enableSeparateSubstringMatching:!0}})}}),y.registerCommand(h.START_EXTENSION_HOST_PROFILER,{execute:async()=>{this.cpuProfileStatus||(this.cpuProfileStatus=this.statusBar.addElement("ExtensionHostProfile",{tooltip:(0,o.formatLocalize)("extension.profiling.clickStop","Click to stop profiling."),text:`$(sync~spin) ${(0,o.formatLocalize)("extension.profilingExtensionHost","Profiling Extension Host")}`,alignment:l.StatusBarAlignment.RIGHT,command:h.STOP_EXTENSION_HOST_PROFILER.id})),await this.extensionProfiler.$startProfile(this.clientId)},isPermitted:()=>!1}),y.registerCommand(h.STOP_EXTENSION_HOST_PROFILER,{execute:async()=>{const b=await this.extensionProfiler.$stopProfile(this.clientId);if(this.cpuProfileStatus&&(this.cpuProfileStatus.dispose(),this.cpuProfileStatus=null),b){const A=await this.dialogService.showSaveDialog({saveLabel:(0,o.formatLocalize)("extension.profile.save","Save Extension Host Profile"),showNameInput:!0,defaultFileName:`CPU-${new Date().toISOString().replace(/[\-:]/g,"")}.cpuprofile`});A?.codeUri&&await this.extensionProfiler.$saveLastProfile(A?.codeUri.fsPath)}},isPermitted:()=>!1}),y.registerCommand(h.COPY_FILE_PATH,{execute:async b=>{await this.commandService.executeCommand(o.FILE_COMMANDS.COPY_PATH.id,o.URI.from(b))}}),y.registerCommand(h.COPY_RELATIVE_FILE_PATH,{execute:async b=>{await this.commandService.executeCommand(o.FILE_COMMANDS.COPY_RELATIVE_PATH.id,o.URI.from(b))}}),y.registerCommand(h.OPEN,{execute:(b,A,S)=>{const D=o.URI.from(b);return this.doOpenWith(D,A,S,void 0)}}),y.registerCommand(h.OPEN_WITH,{execute:(b,A,S)=>{const D=o.URI.from(b),I=A==="default"?void 0:{type:v.EditorOpenType.component,componentId:`${o.CUSTOM_EDITOR_SCHEME}-${A}`};return this.doOpenWith(D,S,void 0,I)}}),y.registerCommand(h.DIFF,{execute:(b,A,S,D)=>{const I={...(0,g.viewColumnToResourceOpenOptions)(D?.viewColumn),revealFirstDiff:!0,...D};return this.commandService.executeCommand(o.EDITOR_COMMANDS.COMPARE.id,{original:o.URI.from(b),modified:o.URI.from(A),name:S},I)}}),y.registerCommand({id:h.WALKTHROUGHS_COMMAND_GET_STARTED.id,category:(0,o.localize)("walkthroughs.welcome"),label:(0,o.localize)("walkthroughs.get.started")},{execute:async b=>{const A=this.walkthroughsService.getWalkthroughs();if(b)this.walkthroughsService.openWalkthroughEditor(b);else{const S=await this.quickPickService.show(A.map(D=>({label:D.title,value:D.id,description:D.source,detail:D.description})));S&&this.walkthroughsService.openWalkthroughEditor(S)}}}),[h.LAYOUT_COMMAND_MAXIMIZE_EDITOR,h.WORKBENCH_CLOSE_ACTIVE_EDITOR,h.REVERT_AND_CLOSE_ACTIVE_EDITOR,h.SPLIT_EDITOR_RIGHT,h.SPLIT_EDITOR_DOWN,h.EDITOR_NAVIGATE_BACK,h.EDITOR_NAVIGATE_FORWARD,h.EDITOR_SAVE_ALL,h.CLOSE_ALL_EDITORS,h.PREVIOUS_EDITOR,h.PREVIOUS_EDITOR_IN_GROUP,h.NEXT_EDITOR,h.NEXT_EDITOR_IN_GROUP,h.EVEN_EDITOR_WIDTH,h.CLOSE_OTHER_GROUPS,h.CLOSE_UNMODIFIED_EDITORS,h.LAST_EDITOR_IN_GROUP,h.OPEN_EDITOR_AT_INDEX,h.CLOSE_OTHER_EDITORS,h.NEW_UNTITLED_FILE,h.FILE_SAVE,h.SPLIT_EDITOR,h.SPLIT_EDITOR_ORTHOGONAL,h.NAVIGATE_LEFT,h.NAVIGATE_RIGHT,h.NAVIGATE_UP,h.NAVIGATE_DOWN,h.NAVIGATE_NEXT,h.REVERT_FILES,h.WORKBENCH_FOCUS_FILES_EXPLORER,h.WORKBENCH_FOCUS_ACTIVE_EDITOR_GROUP,h.API_OPEN_EDITOR_COMMAND_ID,h.API_OPEN_DIFF_EDITOR_COMMAND_ID,h.API_OPEN_WITH_EDITOR_COMMAND_ID,h.DEBUG_START,h.DEBUG_ADD,h.DEBUG_COMMAND_STEP_INTO,h.DEBUG_COMMAND_STEP_OVER,h.DEBUG_COMMAND_STEP_OUT,h.DEBUG_COMMAND_CONTINUE,h.DEBUG_COMMAND_RUN,h.DEBUG_COMMAND_START,h.DEBUG_COMMAND_PAUSE,h.DEBUG_COMMAND_RESTART,h.DEBUG_COMMAND_STOP,h.EDITOR_SHOW_ALL_SYMBOLS,h.SEARCH_COMMAND_OPEN_SEARCH,h.REVEAL_IN_EXPLORER,h.OPEN_FOLDER,h.SIDEBAR_TOGGLE_VISIBILITY,h.CLEAR_TERMINAL,h.TERMINAL_COMMAND_FOCUS,h.TERMINAL_COMMAND_TOGGLE_VISIBILITY,h.NEW_WORKBENCH_VIEW_TERMINAL,h.FILE_COMMAND_RENAME_FILE,h.MARKER_COMMAND_SHOW_ERRORS_WARNINGS,h.MARKER_COMMAND_TOGGLE_SHOW_ERRORS_WARNINGS,h.RELOAD_WINDOW,h.SETTINGS_COMMAND_OPEN_SETTINGS,h.SETTINGS_COMMAND_OPEN_GLOBAL_SETTINGS,h.SETTINGS_COMMAND_OPEN_SETTINGS_JSON,h.SETTINGS_COMMAND_OPEN_GLOBAL_OPEN_KEYMAPS,h.THEME_COMMAND_QUICK_SELECT,h.OPEN_MERGEEDITOR].forEach(b=>{y.registerCommand(b)})}doOpenWith(y,b,A,S){const[D,I]=b??[],w={};if(typeof D=="number"&&(w.groupIndex=D),I){if(w.focus=w.preserveFocus=I.preserveFocus,I.selection&&(0,g.isLikelyVscodeRange)(I.selection)&&(I.selection=(0,g.fromRange)(I.selection)),Array.isArray(I.selection)&&I.selection.length===2){const[T,R]=I.selection;w.range={startLineNumber:T.line+1,startColumn:T.character+1,endLineNumber:R.line+1,endColumn:R.character+1}}else w.range=I.selection;w.preview=I.preview}return S&&(w.forceOpenType=S),A&&(w.label=A),this.workbenchEditorService.open(y,w)}asQuickOpenItems(y){const b=y.node?y.node.map((S,D)=>this.toQuickOpenItem(S,"Node.js",D===0)):[],A=y.worker?y.worker.map((S,D)=>this.toQuickOpenItem(S,"Web Worker",D===0)):[];return[...b,...A]}toQuickOpenItem(y,b,A){const S=this.extensionInstanceManageService.getExtensionInstanceByExtId(y.id);return new o.QuickOpenItem({groupLabel:A?b:void 0,showBorder:!!A,label:(0,o.replaceLocalizePlaceholder)(y.displayName,y.id),description:(0,o.replaceLocalizePlaceholder)(y.description,y.id),detail:S?.realPath})}get clientId(){return(0,t.getClientId)(this.injector)}};t.ExtensionCommandContribution=f,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],f.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],f.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(a.IActivationEventService),n.__metadata("design:type",a.IActivationEventService)],f.prototype,"activationEventService",void 0),n.__decorate([(0,r.Autowired)(o.QuickOpenService),n.__metadata("design:type",Object)],f.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.QuickPickService),n.__metadata("design:type",Object)],f.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(s.ExtensionHostProfilerServicePath),n.__metadata("design:type",Object)],f.prototype,"extensionProfiler",void 0),n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],f.prototype,"statusBar",void 0),n.__decorate([(0,r.Autowired)(m.IWindowDialogService),n.__metadata("design:type",Object)],f.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(o.IClientApp),n.__metadata("design:type",Object)],f.prototype,"clientApp",void 0),n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],f.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],f.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],f.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(p.IWebviewService),n.__metadata("design:type",Object)],f.prototype,"webviewService",void 0),n.__decorate([(0,r.Autowired)(s.ExtensionService),n.__metadata("design:type",s.ExtensionService)],f.prototype,"extensionService",void 0),n.__decorate([(0,r.Autowired)(a.AbstractExtInstanceManagementService),n.__metadata("design:type",a.AbstractExtInstanceManagementService)],f.prototype,"extensionInstanceManageService",void 0),n.__decorate([(0,r.Autowired)(u.WalkthroughsService),n.__metadata("design:type",u.WalkthroughsService)],f.prototype,"walkthroughsService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],f.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],f.prototype,"logger",void 0),t.ExtensionCommandContribution=f=n.__decorate([(0,o.Domain)(o.CommandContribution)],f)},42734:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Extension=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40827),_=e(69734),v=e(99220),m=e(9663),p=e(71354),s=Symbol.for("metaDataSymbol");let g=class extends o.WithEventBus{constructor(h,u,c,E){super(),this.extensionData=h,this.isUseEnable=u,this.isBuiltin=c,this.isDevelopment=E,this.extraMetadata={},this._activated=!1,this.logger=(0,o.getDebugLogger)(),this.pkgLocalizedField=new Map,this._enabled=u,this.packageJSON=this.extensionData.packageJSON,this.defaultPkgNlsJSON=this.extensionData.defaultPkgNlsJSON,this.packageNlsJSON=this.extensionData.packageNlsJSON,this.id=this.extensionData.id,this.extensionId=this.extensionData.extensionId,this.name=this.packageJSON.name,this.extraMetadata=this.extensionData.extraMetadata,this.path=this.extensionData.path,this.uri=this.extensionData.uri,this.realPath=this.extensionData.realPath,this.extendConfig=this.extensionData.extendConfig||{},this.enableProposedApi=!!this.extensionData.packageJSON.enableProposedApi,this.extensionLocation=this.staticResourceService.resolveStaticResource(o.URI.from(this.uri)).codeUri,this.initialize()}localize(h){if(!this.pkgLocalizedField.get(h)){const u=(0,o.replaceNlsField)(this.packageJSON[h],this.id);return this.pkgLocalizedField.set(h,u),u||this.packageJSON[h]}return this.pkgLocalizedField.get(h)}get activated(){return this._activated}get enabled(){return this._enabled}set enabled(h){this._enabled=h}get icon(){return this.packageJSON.icon&&this.uri&&this.extensionLocation.toString()+`/${this.packageJSON.icon}`}async getDefaultIcon(){return await this.extensionNodeClient.getOpenVSXRegistry()+"/default-icon.png"}disable(){this._enabled&&(this.extMetadataService.dispose(),this._enabled=!1,super.dispose())}enable(){this._enabled||(this._enabled=!0)}initialize(){this._enabled&&(this.addDispose(this.extMetadataService),this.packageNlsJSON&&(0,o.registerLocalizationBundle)({...(0,o.getCurrentLanguageInfo)(),contents:this.packageNlsJSON},this.id),this.defaultPkgNlsJSON&&(0,o.registerLocalizationBundle)({languageId:"default",languageName:_.LOCALE_TYPES.EN_US,localizedLanguageName:"English",contents:this.defaultPkgNlsJSON},this.id),this.extMetadataService.initialize(this))}async activate(h=new Set){var u;const c=((u=this.packageJSON)===null||u===void 0?void 0:u.extensionDependencies)||[];h.add(this.extensionId);for(const f of c){const d=typeof f=="string"?f:Object.keys(f)[0];if(h.has(d))continue;const y=this.extensionInstanceManageService.getExtensionInstanceByExtId(d);y&&await y.activate(h)}if(this._activated)return;const E=await this.eventBus.fireAndAwait(new p.ExtensionWillActivateEvent(this));return E.length>0&&E[0].result?(this._activated=!0,Promise.resolve()):this._activating?this._activating.promise:(this._activating=new o.Deferred,this.extensionService.activeExtension(this).then(()=>{var f;this._activated=!0,this.eventBus.fire(new p.ExtensionDidActivatedEvent(this.toJSON())),(f=this._activating)===null||f===void 0||f.resolve()}).catch(f=>{var d;this.logger.error(f),this._activated=!1,(d=this._activating)===null||d===void 0||d.reject(f)}),this._activating.promise)}get contributes(){return this.packageJSON.contributes}reset(){this._activated=!1,this._activating=void 0}get displayName(){return this.localize("displayName")}toJSON(){return{id:this.id,extensionId:this.extensionId,name:this.name,displayName:this.displayName,activated:this.activated,enabled:this.enabled,packageJSON:this.packageJSON,defaultPkgNlsJSON:this.defaultPkgNlsJSON,packageNlsJSON:this.packageNlsJSON,path:this.path,realPath:this.realPath,isUseEnable:this.isUseEnable,extendConfig:this.extendConfig,enableProposedApi:this.enableProposedApi,extraMetadata:this.extraMetadata,isBuiltin:this.isBuiltin,isDevelopment:this.isDevelopment,extensionLocation:this.extensionLocation}}};t.Extension=g,n.__decorate([(0,r.Autowired)(m.ExtensionMetadataService),n.__metadata("design:type",m.ExtensionMetadataService)],g.prototype,"extMetadataService",void 0),n.__decorate([(0,r.Autowired)(v.ExtensionService),n.__metadata("design:type",v.ExtensionService)],g.prototype,"extensionService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.StaticResourceService)],g.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],g.prototype,"extensionInstanceManageService",void 0),n.__decorate([(0,r.Autowired)(v.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],g.prototype,"extensionNodeClient",void 0),t.Extension=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(s)),n.__param(1,(0,r.Optional)(Symbol())),n.__param(2,(0,r.Optional)(Symbol())),n.__param(3,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object,Boolean,Boolean,Boolean])],g)},87543:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionServiceImpl=void 0;const r=e(85608),o=r.__importDefault(e(12784)),l=e(76003),_=e(18740),v=e(76271),m=e(41869),p=e(68969),s=e(43718),g=e(66482),a=e(50492),h=e(84660),u=e(14951),c=e(72665),E=e(51500),f=e(99220),d=e(25600),y=e(46147),b=e(57962),A=e(82389),S=e(71354),D=e(35321);let I=n=class extends s.WithEventBus{constructor(){super(),this.ready=new Map,this.isExtProcessRestarting=!1,this.isProgressShowing=!1,this.eagerExtensionsActivated=new m.Deferred,this.extensionScanDir=new Set,this.extensionCandidatePath=new Set,this.restartProgress=async(T=f.ERestartPolicy.Always)=>{const R=async O=>{this.disposeAllOverlayWindow(),O.onCancellationRequested(()=>{this.logger.log("[ext-restart]: ext process restart canceled"),this.isExtProcessRestarting=!1,this.isExtProcessWaitingForRestart=void 0,this.isProgressShowing=!1});try{await this.startExtProcess(!1)}catch(M){this.logger.error(`[ext-restart]: ext-host restart failure, error: ${M}`)}this.isExtProcessRestarting=!1,this.isExtProcessWaitingForRestart=void 0,this.isProgressShowing=!1,this.disposeAllOverlayWindow()};await this.channelHandler.awaitChannelReady(v.RPCServiceChannelPath);const P=this.isExtProcessWaitingForRestart||T;switch(this.logger.log("[ext-restart]: restart ext process, restart policy:",P),P){case f.ERestartPolicy.WhenExit:if(await this.getExtProcessPID()){this.logger.log("[ext-restart]: ext process is still running, skip");break}case f.ERestartPolicy.Always:if(this.isProgressShowing){this.logger.log("[ext-restart]: progress is already showing, skip");return}this.isProgressShowing=!0,await this.progressService.withProgress({location:s.ProgressLocation.Notification,title:(0,s.localize)("extension.exthostRestarting.content"),buttons:[{id:"extension.reload",label:(0,s.localize)("preference.general.language.change.refresh.now"),primary:!0,run:async()=>{this.clientApp.fireOnReload()},dispose:()=>{}}]},async()=>{this.extProcessRestartPromise=(0,s.createCancelablePromise)(R),await this.extProcessRestartPromise});break}this.isExtProcessRestarting=!1},this.restartDebounced=(0,o.default)(async()=>{await this.restartProgress()},500),this.addDispose(this.fileServiceClient.onWillActivateFileSystemProvider(async()=>(this.extensionMetaDataArr||await this.initExtensionMetaData(),this.activationEventService.getTopicsData("onFileSystem"))))}async getActivatedExtensions(){const T={};return this.nodeExtensionService.protocol&&(T.node=await this.nodeExtensionService.getActivatedExtensions()),this.workerExtensionService.protocol&&(T.worker=await this.workerExtensionService.getActivatedExtensions()),T}async onActivateExtension(T){await this.activationEventService.fireEvent(T.payload.topic,T.payload.data)}async onExtensionEnabled(T){const R=T.payload;await this.updateExtHostData(),await this.fireActivationEventsIfNeed(R.packageJSON.activationEvents)}async onExtensionUninstalled(){await this.updateExtHostData()}async activate(){await this.initExtensionMetaData(),await this.initExtensionInstanceData(),await this.runEagerExtensionsContributes(),await this.setupExtensionNLSConfig(),this.doActivate();const T=()=>{this.logger.log("[ext-restart]: page visibility change, current:",document.visibilityState,"is waiting:",this.isExtProcessWaitingForRestart,"is restarting:",this.isExtProcessRestarting),document.visibilityState==="visible"&&this.isExtProcessWaitingForRestart&&!this.isExtProcessRestarting&&this.extProcessRestartHandler(this.isExtProcessWaitingForRestart)};document.addEventListener("visibilitychange",T,!1),this.addDispose(m.Disposable.create(()=>{document.removeEventListener("visibilitychange",T)}))}async setupExtensionNLSConfig(){const T=await this.extensionStoragePathServer.getLastStoragePath()||"",R=this.preferenceService.get(s.GeneralSettingsId.Language)||(0,s.getLanguageId)();await this.extensionNodeClient.setupNLSConfig(R,T)}async initExtensionMetaData(){const{extensionDir:T,extensionCandidate:R}=this.appConfig;T&&this.extensionScanDir.add(T),R&&R.forEach(P=>{this.extensionCandidatePath.add(P.path)}),await this.getExtensionsMetaData(Array.from(this.extensionScanDir),Array.from(this.extensionCandidatePath))}async initExtensionInstanceData(){for(const R of this.extensionMetaDataArr){const P=this.extensionInstanceManageService.checkIsBuiltin(R),O=this.extensionInstanceManageService.checkIsDevelopment(R),M=await this.extensionInstanceManageService.createExtensionInstance(R,P,O);M&&this.extensionInstanceManageService.addExtensionInstance(M),M?.contributes&&M.enabled&&(this.contributesService.register(M.id,M.contributes),this.sumiContributesService.register(M.id,M.packageJSON.sumiContributes||{}))}this.eventBus.fire(new S.ExtensionsInitializedEvent(this.extensionInstanceManageService.getExtensionInstances())),this.eventBus.fire(new g.DebugConfigurationsReadyEvent(void 0));const T=this.extensionInstanceManageService.getExtensionInstances();this.nodeExtensionService.updateExtensionData(T),this.workerExtensionService.updateExtensionData(T),this.viewExtensionService.initExtension(T)}async doActivate(){await this.workspaceService.whenReady,await this.extensionStorageService.whenReady,await this.viewExtensionService.activate(),await this.startExtProcess(!0);try{await this.eventBus.fireAndAwait(new S.ExtensionBeforeActivateEvent),await this.activationEventService.fireEvent("*")}catch(T){this.logger.error(`[Extension Activate Error],
|
|
33205
33247
|
${T.message||T}`)}finally{this.eagerExtensionsActivated.resolve(),this.activationEventService.fireEvent("onStartupFinished"),this.eventBus.fire(new S.ExtensionApiReadyEvent)}}async restartExtProcess(T=f.ERestartPolicy.Always){document.visibilityState==="visible"?this.extProcessRestartHandler(T):(this.logger.log("[ext-restart]: page is not visible, waiting for restart, policy:",T),this.isExtProcessWaitingForRestart=T)}disposeAllOverlayWindow(){var T,R;this.pCrashMessageModel&&((R=(T=this.pCrashMessageModel).cancel)===null||R===void 0||R.call(T),this.pCrashMessageModel=void 0)}async extProcessRestartHandler(T=f.ERestartPolicy.Always){if(this.isExtProcessRestarting&&T!==f.ERestartPolicy.Always){this.logger.log("[ext-restart]: ext process is restarting, skip");return}this.isExtProcessRestarting=!0,this.isExtProcessWaitingForRestart?this.restartDebounced():this.restartProgress(T)}async getExtProcessPID(){return await Promise.race([this.extensionNodeClient.pid().catch(async T=>(this.logger.error(`[ext-restart]: get ext process pid error, ${T}`),await(0,s.sleep)(200),null)),(0,s.sleep)(1e3).then(()=>null)])}async startExtProcess(T){if(T||(this.resetExtensionInstances(),this.disposeSumiViewExtension(),await this.disposeExtProcess()),await Promise.all([this.startNodeExtHost(T),this.startWorkerExtHost(T)]),!T&&(await this.rerunSumiViewExtensionContributes(),this.activationEventService.activatedEventSet.size)){const R=Array.from(this.activationEventService.activatedEventSet);this.activationEventService.activatedEventSet.clear(),await Promise.allSettled(R.map(P=>{const{topic:O,data:M}=JSON.parse(P);return this.logger.verbose("fireEvent","event.topic",O,"event.data",M),this.activationEventService.fireEvent(O,M)}))}}async startNodeExtHost(T){if(this.appConfig.noExtHost)return;const R=await this.nodeExtensionService.activate();this.extensionCommandManager.registerProxyCommandExecutor("node",R.get(y.MainThreadAPIIdentifier.MainThreadCommands)),T&&this.ready.set("node",this.nodeExtensionService.ready)}async startWorkerExtHost(T){if(this.appConfig.extWorkerHost)try{const R=await this.workerExtensionService.activate(this.appConfig.ignoreWorkerHostCors);this.extensionCommandManager.registerProxyCommandExecutor("worker",R.get(y.MainThreadAPIIdentifier.MainThreadCommands)),T&&this.ready.set("worker",this.workerExtensionService.ready)}catch(R){this.logger.error(`Worker host activate fail,
|
|
33206
33248
|
${R.message}`)}}async updateExtHostData(){const T=this.extensionInstanceManageService.getExtensionInstances();this.appConfig.noExtHost||await this.nodeExtensionService.updateExtensionData(T),this.appConfig.extWorkerHost&&await this.workerExtensionService.updateExtensionData(T)}async fireActivationEventsIfNeed(T){if(!Array.isArray(T)||!T.length)return;const R=["*","onStartupFinished"],P=T.filter(M=>M!=="*"),O=Array.from(this.activationEventService.activatedEventSet).map(M=>JSON.parse(M)).filter(({topic:M,data:k})=>P.find(F=>F===`${M}:${k}`));for(const M of R)T.includes(M)&&(this.logger.verbose(`Fire activation event ${M}`),this.activationEventService.fireEvent(M));for(const M of O){const{topic:k,data:F}=M;this.logger.verbose(`Fire activation event ${k}:${F}`),this.activationEventService.fireEvent(k,F)}await this.activateByWorkspaceContains(T)}async activateByWorkspaceContains(T){if(!Array.isArray(T)||!T.length)return;const R=[],P=[];for(const M of T)if(/^workspaceContains:/.test(M)){const k=M.substr(18);k.indexOf("*")>=0||k.indexOf("?")>=0?P.push(k):R.push(k)}const O=[];R.length&&O.push(this.workspaceService.containsSome(R)),P.length&&O.push((async()=>{try{return(await this.fileSearchService.find("",{rootUris:this.workspaceService.tryGetRoots().map(k=>new s.URI(k.uri).codeUri.fsPath),includePatterns:P,limit:1})).length>0}catch(M){return this.logger.error(M),!1}})()),O.length&&await Promise.all(O).then(M=>M.some(k=>k))&&this.activationEventService.fireEvent("workspaceContains",[...R,...P][0])}async getExtensionsMetaData(T,R){if(!this.extensionMetaDataArr){const P=await this.extensionNodeClient.getAllExtensions(T,R,(0,s.getLanguageId)(),n.extraMetadata);this.extensionMetaDataArr=P}return this.logger.log("extensions count:",this.extensionMetaDataArr.length),this.extensionMetaDataArr}async runEagerExtensionsContributes(){await Promise.all([this.contributesService.initialize(),this.sumiContributesService.initialize()]),this.commandRegistry.beforeExecuteCommand(async(T,R)=>(await this.activationEventService.fireEvent("onCommand",T),R)),this.eventBus.fire(new s.ExtensionDidContributes)}async runExtensionContributes(){const T=Array.from(this.extensionInstanceManageService.getExtensionInstances());Promise.all(T.map(R=>this.activateByWorkspaceContains(R.packageJSON.activationEvents))).catch(R=>this.logger.error(R))}whetherWebExtension({packageJSON:T}){const{browser:R,main:P}=T||{},O=!!this.appConfig.noExtHost;if(R&&!P)return!0;if(R&&P)return O;if(!R&&P)return!1;if(typeof T.contributes<"u"){for(const M of["debuggers","terminal","typescriptServerPlugins"])if(T.contributes.hasOwnProperty(M))return!1}return O}async activeExtension(T){const R=this.whetherWebExtension(T);R&&!this.appConfig.extWorkerHost&&this.logger.error("[extension.service]: has no ext worker host"),await Promise.all([this.nodeExtensionService.activeExtension(T,R),this.workerExtensionService.activeExtension(T,R)]),await this.viewExtensionService.activeExtension(T,this.nodeExtensionService.protocol),this.eventBus.fire(new s.ExtensionActivatedEvent({topic:"onExtensionActivated",data:{id:T.id}}))}resetExtensionInstances(){this.extensionInstanceManageService.resetExtensionInstances(),this.nodeExtensionService.disposeApiFactory(),this.workerExtensionService.disposeApiFactory()}disposeSumiViewExtension(){const T=Array.from(this.viewExtensionService.activatedViewExtensionMap.keys());this.extensionInstanceManageService.disposeExtensionInstancesByPath(T)}async rerunSumiViewExtensionContributes(){const{activatedViewExtensionMap:T}=this.viewExtensionService,R=Array.from(T.keys());await Promise.all(R.map(P=>{const O=this.extensionInstanceManageService.getExtensionInstanceByPath(P);O&&(O.initialize(),this.sumiContributesService.register(O.id,O.packageJSON.sumiContributes||{}))})),T.clear(),await Promise.all([this.contributesService.initialize(),this.sumiContributesService.initialize()])}async disposeExtProcess(){await this.nodeExtensionService.disposeProcess(),await this.workerExtensionService.disposeProcess()}async disposeExtensions(){this.extensionInstanceManageService.disposeExtensionInstances()}async executeExtensionCommand(T,R){var P;const O=this.extensionCommandManager.getExtensionCommandEnv(T);if(!O)throw new Error('No Command with id "'+T+'" is declared by extensions');return await((P=this.ready.get(O))===null||P===void 0?void 0:P.promise),this.extensionCommandManager.executeExtensionCommand(O,T,R)}get invalidReloadStrategy(){return this.corePreferences["application.invalidExthostReload"]}async $restartExtProcess(){this.logger.log("[ext-restart]: receive the command from the node side to restart the process"),await this.restartExtProcess(f.ERestartPolicy.Always)}async $processNotExist(){return this.logger.log("[ext-restart]: receive the command from the node side that the process does not exist"),this.$restartExtProcess(),"ok"}async showReloadWindow(){const T=(0,s.localize)("extension.invalidExthostReload.confirm.ok"),R=[T],P=this.invalidReloadStrategy==="ifRequired";P&&R.unshift((0,s.localize)("extension.invalidExthostReload.confirm.cancel")),await this.dialogService.info((0,s.localize)("extension.invalidExthostReload.confirm.content"),R,!!P)===T&&this.clientApp.fireOnReload()}async $processCrashRestart(){var T,R;this.pCrashMessageModel&&((R=(T=this.pCrashMessageModel).cancel)===null||R===void 0||R.call(T));const P=(0,s.localize)("common.yes"),O=[P],M=this.invalidReloadStrategy==="ifRequired";M&&O.unshift((0,s.localize)("common.no")),this.pCrashMessageModel=this.messageService.info((0,s.localize)("extension.crashedExthostReload.confirm"),O,!!M);const k=await this.pCrashMessageModel;this.pCrashMessageModel=void 0,k===P&&await this.restartExtProcess(f.ERestartPolicy.Always)}};t.ExtensionServiceImpl=I,I.extraMetadata={[f.LANGUAGE_BUNDLE_FIELD]:"./package.nls.json"},r.__decorate([(0,l.Autowired)(f.ExtensionNodeServiceServerPath),r.__metadata("design:type",Object)],I.prototype,"extensionNodeClient",void 0),r.__decorate([(0,l.Autowired)(m.AppConfig),r.__metadata("design:type",Object)],I.prototype,"appConfig",void 0),r.__decorate([(0,l.Autowired)(m.CommandRegistry),r.__metadata("design:type",Object)],I.prototype,"commandRegistry",void 0),r.__decorate([(0,l.Autowired)(S.IActivationEventService),r.__metadata("design:type",b.ActivationEventServiceImpl)],I.prototype,"activationEventService",void 0),r.__decorate([(0,l.Autowired)(E.IWorkspaceService),r.__metadata("design:type",Object)],I.prototype,"workspaceService",void 0),r.__decorate([(0,l.Autowired)(a.IExtensionStorageService),r.__metadata("design:type",Object)],I.prototype,"extensionStorageService",void 0),r.__decorate([(0,l.Autowired)(p.IProgressService),r.__metadata("design:type",Object)],I.prototype,"progressService",void 0),r.__decorate([(0,l.Autowired)(c.IDialogService),r.__metadata("design:type",Object)],I.prototype,"dialogService",void 0),r.__decorate([(0,l.Autowired)(m.IClientApp),r.__metadata("design:type",Object)],I.prototype,"clientApp",void 0),r.__decorate([(0,l.Autowired)(m.ILogger),r.__metadata("design:type",Object)],I.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(c.IMessageService),r.__metadata("design:type",Object)],I.prototype,"messageService",void 0),r.__decorate([(0,l.Autowired)(m.CorePreferences),r.__metadata("design:type",Object)],I.prototype,"corePreferences",void 0),r.__decorate([(0,l.Autowired)(d.AbstractWorkerExtProcessService),r.__metadata("design:type",d.AbstractWorkerExtProcessService)],I.prototype,"workerExtensionService",void 0),r.__decorate([(0,l.Autowired)(d.AbstractNodeExtProcessService),r.__metadata("design:type",d.AbstractNodeExtProcessService)],I.prototype,"nodeExtensionService",void 0),r.__decorate([(0,l.Autowired)(d.AbstractViewExtProcessService),r.__metadata("design:type",d.AbstractViewExtProcessService)],I.prototype,"viewExtensionService",void 0),r.__decorate([(0,l.Autowired)(f.IExtCommandManagement),r.__metadata("design:type",f.IExtCommandManagement)],I.prototype,"extensionCommandManager",void 0),r.__decorate([(0,l.Autowired)(S.AbstractExtInstanceManagementService),r.__metadata("design:type",S.AbstractExtInstanceManagementService)],I.prototype,"extensionInstanceManageService",void 0),r.__decorate([(0,l.Autowired)(h.FileSearchServicePath),r.__metadata("design:type",Object)],I.prototype,"fileSearchService",void 0),r.__decorate([(0,l.Autowired)(D.VSCodeContributesServiceToken),r.__metadata("design:type",D.VSCodeContributesService)],I.prototype,"contributesService",void 0),r.__decorate([(0,l.Autowired)(A.SumiContributionsServiceToken),r.__metadata("design:type",A.SumiContributionsService)],I.prototype,"sumiContributesService",void 0),r.__decorate([(0,l.Autowired)(m.PreferenceService),r.__metadata("design:type",Object)],I.prototype,"preferenceService",void 0),r.__decorate([(0,l.Autowired)(a.IExtensionStoragePathServer),r.__metadata("design:type",Object)],I.prototype,"extensionStoragePathServer",void 0),r.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),r.__metadata("design:type",l.Injector)],I.prototype,"injector",void 0),r.__decorate([(0,l.Autowired)(u.IFileServiceClient),r.__metadata("design:type",Object)],I.prototype,"fileServiceClient",void 0),r.__decorate([(0,l.Autowired)(_.WSChannelHandler),r.__metadata("design:type",_.WSChannelHandler)],I.prototype,"channelHandler",void 0),r.__decorate([(0,s.OnEvent)(m.ExtensionActivateEvent),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[m.ExtensionActivateEvent]),r.__metadata("design:returntype",Promise)],I.prototype,"onActivateExtension",null),r.__decorate([(0,s.OnEvent)(S.ExtensionDidEnabledEvent),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[S.ExtensionDidEnabledEvent]),r.__metadata("design:returntype",Promise)],I.prototype,"onExtensionEnabled",null),r.__decorate([(0,s.OnEvent)(S.ExtensionDidUninstalledEvent),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",Promise)],I.prototype,"onExtensionUninstalled",null),t.ExtensionServiceImpl=I=n=r.__decorate([(0,l.Injectable)(),r.__metadata("design:paramtypes",[])],I)},40731:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(97186),_=e(64582),v=e(84660),m=e(99220),p=e(25600),s=e(72464),g=e(57962),a=e(87444),h=e(49413),u=e(98453),c=e(20670),E=e(90731),f=e(98736),d=e(62040),y=e(87543),b=e(70108),A=e(82389),S=e(71354),D=e(77385),I=e(35321);let w=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=[m.RequireInterceptorContribution,s.MainThreadExtenderContribution],this.providers=[{token:m.ExtensionService,useClass:y.ExtensionServiceImpl},{token:_.IDebugServer,useClass:D.ExtensionDebugService,override:!0},{token:l.DebugSessionContributionRegistry,useClass:D.ExtensionDebugSessionContributionRegistry,override:!0},{token:S.IActivationEventService,useClass:g.ActivationEventServiceImpl},{token:m.IExtCommandManagement,useClass:a.ExtCommandManagementImpl},{token:S.AbstractExtInstanceManagementService,useClass:h.ExtInstanceManagementService},{token:m.AbstractExtensionManagementService,useClass:u.ExtensionManagementService},{token:p.AbstractNodeExtProcessService,useClass:c.NodeExtProcessService},{token:p.AbstractWorkerExtProcessService,useClass:f.WorkerExtProcessService},{token:p.AbstractViewExtProcessService,useClass:E.ViewExtProcessService},{token:m.IRequireInterceptorService,useClass:m.RequireInterceptorService},{token:I.VSCodeContributesServiceToken,useClass:I.VSCodeContributesService},{token:A.SumiContributionsServiceToken,useClass:A.SumiContributionsService},{token:s.IMainThreadExtenderService,useClass:s.MainThreadExtenderService},d.ExtensionCommandContribution,d.ExtensionClientAppContribution,b.BrowserRequireInterceptorContribution],this.backServices=[{servicePath:m.ExtensionNodeServiceServerPath,clientToken:m.ExtensionService},{servicePath:v.FileSearchServicePath},{servicePath:m.ExtensionHostProfilerServicePath}]}};t.ExtensionModule=w,t.ExtensionModule=w=n.__decorate([(0,r.Injectable)()],w)},30824:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWorkerBootstrapUrl=void 0;var n=e(41869);Object.defineProperty(t,"getWorkerBootstrapUrl",{enumerable:!0,get:function(){return n.getWorkerBootstrapUrl}})},9663:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionMetadataService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(71354);let _=class extends o.Disposable{initialize(m){this.eventBus.fire(new o.ExtensionEnabledEvent(m.toJSON())),this.addDispose(this.registerActivationEvent(m))}registerActivationEvent(m){const{activationEvents:p=[]}=m.packageJSON,s=new o.Disposable;return p.forEach(g=>{g==="onUri"&&(g=`onUri:${m.id}`),s.addDispose(this.activationService.onEvent(g,async()=>{await m.activate()}))}),s}};t.ExtensionMetadataService=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.IActivationEventService)],_.prototype,"activationService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],_.prototype,"eventBus",void 0),t.ExtensionMetadataService=_=n.__decorate([(0,r.Injectable)({multiple:!0})],_)},54107:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProxiedDocument=r,t.createProxiedWindow=o;function e(){}function n(l,_){return typeof l[_]=="function"&&/^[a-z]/.test(_)?l[_].bind&&l[_].bind(l):l[_]}function r(l){return new Proxy(document,{get:(_,v)=>{switch(v){case"write":case"writeln":return e;case"querySelector":return m=>m==="head"?l:n(_,v)(m);default:return n(_,v)}}})}function o(l,_){return new Proxy(window,{get:(v,m)=>{switch(m){case"document":return l||r(_);default:return n(v,m)}}})}},70108:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserRequireInterceptorContribution=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(43144)),l=n.__importDefault(e(25873)),_=e(41869),v=e(89953),m=e(57996),p={...o.default,...l.default};let s=class{registerRequireInterceptor(a){a.registerRequireInterceptor({moduleName:"React",load:()=>r.default}),a.registerRequireInterceptor({moduleName:"ReactDOM",load:()=>p}),a.registerRequireInterceptor({moduleName:"ReactDOMClient",load:()=>l.default}),a.registerRequireInterceptor({moduleName:"kaitian-browser",load:h=>(0,m.createBrowserApi)(h.injector,h.extension,h.rpcProtocol)}),a.registerRequireInterceptor({moduleName:"sumi-browser",load:h=>(0,m.createBrowserApi)(h.injector,h.extension,h.rpcProtocol)})}};t.BrowserRequireInterceptorContribution=s,t.BrowserRequireInterceptorContribution=s=n.__decorate([(0,_.Domain)(v.RequireInterceptorContribution)],s)},9438:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.retargetEvents=o;const e=["onAbort","onAnimationCancel","onAnimationEnd","onAnimationIteration","onAuxClick","onBlur","onChange","onClick","onClose","onContextMenu","onDoubleClick","onError","onFocus","onGotPointerCapture","onInput","onKeyDown","onKeyPress","onKeyUp","onLoad","onLoadEnd","onLoadStart","onLostPointerCapture","onMouseDown","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onReset","onResize","onScroll","onSelect","onSelectionChange","onSelectStart","onSubmit","onTouchCancel","onTouchMove","onTouchStart","onTouchEnd","onTransitionCancel","onTransitionEnd","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onFocusOut"],n={onDoubleClick:"dblclick"},r={onInput:"onChange",onFocusOut:"onBlur",onSelectionChange:"onSelect"};function o(a){const h=[];return e.forEach(u=>{const c=s(u);function E(f){f.nativeEvent=f;const d=f.path||f.composedPath&&f.composedPath()||g(f.target);for(const y of d){let b=null;const A=_(y),S=l(y);if(S?b=S:b=m(A),A&&b&&p(f,u,b),A&&b&&r[u]&&p(f,r[u],b),f.cancelBubble||y===a)break}}a.addEventListener(c,E,!1),h.push(()=>{a.removeEventListener(c,E,!1)})}),()=>{h.forEach(u=>{u()})}}function l(a){return v(a,"__reactEventHandlers")}function _(a){return v(a,"_reactInternal")}function v(a,h){for(const u in a)if(a.hasOwnProperty(u)&&u.indexOf(h)!==-1)return a[u]}function m(a){if(a){if(a.memoizedProps)return a.memoizedProps;if(a._currentElement&&a._currentElement.props)return a._currentElement.props}}function p(a,h,u){a.persist=()=>{a.isPersistent=()=>!0},u[h]&&u[h](a)}function s(a){return n[a]?n[a]:a.replace(/^on/,"").toLowerCase()}function g(a){const h=[];for(;a;){if(h.push(a),a.tagName==="HTML")return h.push(document),h.push(window),h;a=a.parentElement}}},8403:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShadowRoot=y;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=n.__importDefault(e(43144)),_=e(97267),v=e(41869),m=e(43718),p=e(52416),s=e(25600),g=e(26351),a=({root:b,children:A})=>l.default.createPortal(A,b);function h(b){return b.cloneNode(!0)}function u(b,A){const S=new MutationObserver(D=>{for(const I of D)if(I.type==="childList"){if(I.addedNodes.length>0)for(const w of Array.from(I.addedNodes))A.appendChild(w.cloneNode(!0));if(I.removedNodes.length>0)for(const w of Array.from(I.removedNodes))A.contains(w)&&A.removeChild(w)}});return S.observe(b,{childList:!0,subtree:!0}),{dispose:()=>{S.disconnect()}}}const c="@opensumi/ide-components";function E(b,A,S="alipay"){return(0,v.getCDNHref)(c,b,A,S)}function f(b){const A=document.createElement("link");return A.setAttribute("href",b),A.setAttribute("rel","stylesheet"),A}const d=({id:b,extensionId:A,children:S,proxiedHead:D,cdnType:I,styleSheet:w})=>{const T=(0,o.useRef)(null),[R,P]=o.default.useState(null),O=(0,v.useInjectable)(s.AbstractViewExtProcessService),M=(0,v.useInjectable)(p.IThemeService),k=(0,v.useInjectable)(p.IIconService),F=(0,v.useInjectable)(p.IProductIconService),[L,B]=(0,o.useState)(null);return(0,o.useEffect)(()=>{var U,W;const j=new v.DisposableCollection;if(T.current){const Q=T.current.attachShadow({mode:"open"});if(D){w?(D.appendChild(f(w.componentUri)),D.appendChild(f(w.iconfontUri))):(D.appendChild(f(E("dist/index.css",g.version,I))),D.appendChild(f(E("lib/icon/iconfont/iconfont.css",g.version,I))));const G=h(D);j.push(u(D,G));const Z=document.createElement("style");Z.id="icon-style",Z.innerHTML=(U=k.currentTheme)===null||U===void 0?void 0:U.styleSheetContent,G.appendChild(Z);const $=document.createElement("style");$.id=p.PRODUCT_ICON_STYLE_ID,$.innerHTML=((W=F.currentTheme)===null||W===void 0?void 0:W.styleSheetContent)||"",G.appendChild($),j.pushAll([k.onThemeChange(H=>{Z.innerHTML=H.styleSheetContent})]),Q.appendChild(G);const V=O.getPortalShadowRoot(A);V&&V.appendChild(D)}return R||P(Q),M.getCurrentTheme().then(G=>B(G.type)),j.push(M.onThemeChange(G=>{G.type&&G.type!==L&&B(G.type)})),j.dispose.bind(j)}},[]),o.default.createElement("div",{id:b,style:{width:"100%",height:"100%"},ref:T},R&&o.default.createElement(a,{root:R},o.default.createElement("div",{className:(0,r.default)((0,p.getThemeTypeSelector)(L),"shadow-context-wrapper","show-file-icons"),style:{width:"100%",height:"100%"}},S)))};function y(b,A,S,D,I,w,T){const R=b,{getIcon:P}=o.default.useContext(_.IconContext),O=(0,v.useInjectable)(v.LabelService),M=(0,o.useCallback)((k,F)=>O.getIcon(m.URI.parse(k),F),[]);return o.default.createElement(_.ComponentContextProvider,{value:{getIcon:P,localize:m.localize,getResourceIcon:M}},o.default.createElement(d,{id:`${A.id}-${D}`,extensionId:A.id,proxiedHead:I,cdnType:w,styleSheet:T},o.default.createElement(R,{...S})))}},31381:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KaitianBrowserCommand=void 0,t.createBrowserCommandsApiFactory=p;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(21880),v=e(46147);let m=class{constructor(g){this.rpcProtocol=g,this.rpcProtocol&&(this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostCommands))}async executeCommand(g,a,...h){const u={id:a.id,extensionId:a.extensionId,isBuiltin:a.isBuiltin},c=this.commandRegistry.getCommand(g);if(this.proxy&&c)return this.proxy.$executeCommandWithExtensionInfo(g,u,...h);if(!this.commandRegistry.isPermittedCommand(g,u,...h))throw new Error(`Extension ${u.id} has not permit to execute ${g}`);try{return await this.monacoCommandService.executeCommand(g,...h)}catch(f){throw this.logger.error(f),f}}};t.KaitianBrowserCommand=m,n.__decorate([(0,r.Autowired)(_.ICommandServiceToken),n.__metadata("design:type",Object)],m.prototype,"monacoCommandService",void 0),n.__decorate([(0,r.Autowired)(l.CommandRegistry),n.__metadata("design:type",Object)],m.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),t.KaitianBrowserCommand=m=n.__decorate([(0,r.Injectable)(),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],m);function p(s,g,a){const h=s.get(m,[a]);return{executeCommand(u,...c){return h.executeCommand(u,g,...c)}}}},25367:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createBrowserComponents=v;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=n.__importStar(e(81878)),_=e(56405);function v(m,p){return m.get(o.AppConfig).useExperimentalShadowDom?new Proxy(l,{get(g,a){if(a==="Dialog"||a==="Overlay"){const h=l[a];return u=>r.default.createElement(_.PortalRoot,{otherProps:u,extensionId:p.id,original:h})}return g[a]}}):l}},73566:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatBrowserContributionRunner=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(97558);let _=class extends l.AbstractSumiBrowserContributionRunner{run(m){const p=new o.Disposable;if(!this.injector.creatorMap.has(o.ChatAgentViewServiceToken))return this.logger.warn("Not found ChatAgentViewServiceToken"),p;const{chat:s}=this.contribution;return!s||!Array.isArray(s.view)||s.view.forEach(g=>{if(!g.id||!g.component)return;const{extendProtocol:a,extendService:h}=m.getExtensionExtendService(this.extension,g.id),u=`${this.extension.id}:${g.id}`;p.addDispose(this.chatAgentViewService.registerChatComponent({id:u,component:g.component,initialProps:{kaitianExtendService:h,kaitianExtendSet:a,sumiExtendService:h,sumiExtendSet:a}}))}),p}};t.ChatBrowserContributionRunner=_,n.__decorate([(0,r.Autowired)(o.ChatAgentViewServiceToken),n.__metadata("design:type",Object)],_.prototype,"chatAgentViewService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0),t.ChatBrowserContributionRunner=_=n.__decorate([(0,r.Injectable)({multiple:!0})],_)},23561:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorBrowserContributionRunner=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(54414),_=e(57517),v=e(63067),m=e(52416),p=e(97558);let s=class extends p.AbstractSumiBrowserContributionRunner{run(a){const h=new o.Disposable;return this.contribution.editor&&this.contribution.editor.view.forEach(u=>{h.addDispose(this.registerEditorComponent(u,a))}),h}registerEditorComponent(a,h){const u=new o.Disposable,{extendProtocol:c,extendService:E}=h.getExtensionExtendService(this.extension,a.id),f=a.scheme||o.Schemes.file;return u.addDispose(this.editorComponentRegistry.registerEditorComponent({uid:a.id,scheme:f,component:a.component,renderMode:a.renderMode},{kaitianExtendService:E,kaitianExtendSet:c,sumiExtendService:E,sumiExtendSet:c})),f===o.Schemes.file?u.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(f,(d,y)=>{let b=!1;if(a.fileExt&&a.fileExt.indexOf(d.uri.path.ext)>-1){if(!a.shouldPreview)return;a.shouldPreview(d.uri.path)&&(b=!0)}a.handles&&a.handles(d.uri.codeUri)&&(b=!0),b&&y.push({type:_.EditorOpenType.component,componentId:a.id,title:a.title||"\u9884\u89C8",weight:a.priority||10})})):u.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(f,(d,y)=>{a.handles&&!a.handles(d.uri.codeUri)||y.push({type:_.EditorOpenType.component,componentId:a.id,title:a.title||a.id,weight:a.priority||10})})),this.resourceService.registerResourceProvider({scheme:f,provideResource:d=>({uri:d,name:a.tabTitle||a.id,icon:a.tabIconPath?this.iconService.fromIcon(this.extension.path,a.tabIconPath,m.IconType.Background):""})}),u}};t.EditorBrowserContributionRunner=s,n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(l.ResourceService),n.__metadata("design:type",l.ResourceService)],s.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(_.EditorComponentRegistry),n.__metadata("design:type",_.EditorComponentRegistry)],s.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(m.IIconService),n.__metadata("design:type",Object)],s.prototype,"iconService",void 0),t.EditorBrowserContributionRunner=s=n.__decorate([(0,r.Injectable)({multiple:!0})],s)},85406:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorSideBrowserContributionRunner=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(54414),_=e(57517),v=e(51553),m=e(97558);let p=class extends m.AbstractSumiBrowserContributionRunner{run(g){const a=new o.Disposable,h=this.contribution.editorSide;return h&&h.view.forEach(u=>{a.addDispose(this.registerEditorSideComponent(u,g))}),a}registerEditorSideComponent(g,a){const h=new o.Disposable,{extendProtocol:u,extendService:c}=a.getExtensionExtendService(this.extension,g.id);return h.addDispose(this.editorComponentRegistry.registerEditorSideWidget({id:g.id,side:g.side,component:g.component,initialProps:{kaitianExtendService:c,kaitianExtendSet:u,sumiExtendService:c,sumiExtendSet:u},displaysOnResource:()=>this.editorService.editorContextKeyService.match(g?.when)})),h}};t.EditorSideBrowserContributionRunner=p,n.__decorate([(0,r.Autowired)(_.EditorComponentRegistry),n.__metadata("design:type",_.EditorComponentRegistry)],p.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(l.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorServiceImpl)],p.prototype,"editorService",void 0),t.EditorSideBrowserContributionRunner=p=n.__decorate([(0,r.Injectable)({multiple:!0})],p)},31738:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SumiBrowserContributionRunner=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(97558),_=e(73566),v=e(23561),m=e(85406),p=e(53728),s=e(15765);let g=class extends l.AbstractSumiBrowserContributionRunner{run(h){const u=new o.Disposable;return u.addDispose(this.injector.get(p.TabbarBrowserContributionRunner,[this.extension,this.contribution]).run(h)),u.addDispose(this.injector.get(v.EditorBrowserContributionRunner,[this.extension,this.contribution]).run(h)),u.addDispose(this.injector.get(m.EditorSideBrowserContributionRunner,[this.extension,this.contribution]).run(h)),u.addDispose(this.injector.get(s.ToolBarBrowserContributionRunner,[this.extension,this.contribution]).run(h)),u.addDispose(this.injector.get(_.ChatBrowserContributionRunner,[this.extension,this.contribution]).run(h)),u}};t.SumiBrowserContributionRunner=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),t.SumiBrowserContributionRunner=g=n.__decorate([(0,r.Injectable)({multiple:!0})],g)},53728:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabbarBrowserContributionRunner=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(63067),v=e(52416),m=e(97558),p=["left","right","bottom","editor","toolBar"];let s=class extends m.AbstractSumiBrowserContributionRunner{run(a){const h=new l.Disposable;return this.contribution.left&&this.contribution.left.view.forEach(u=>{var c;h.addDispose(this.registerTabBar(u,a,(c=this.contribution.left)===null||c===void 0?void 0:c.type,"left"))}),this.contribution.right&&this.contribution.right.view.forEach(u=>{var c;h.addDispose(this.registerTabBar(u,a,(c=this.contribution.right)===null||c===void 0?void 0:c.type,"right"))}),this.contribution.bottom&&this.contribution.bottom.view.forEach(u=>{var c;h.addDispose(this.registerTabBar(u,a,(c=this.contribution.bottom)===null||c===void 0?void 0:c.type,"bottom"))}),Object.keys(this.contribution).forEach(u=>{var c;p.indexOf(u)===-1&&((c=this.contribution[u])===null||c===void 0?void 0:c.view).forEach(E=>{h.addDispose(this.registerTabBar(E,a,"replace"))})}),h}registerTabBar(a,h,u="add",c){const{extendProtocol:E,extendService:f}=h.getExtensionExtendService(this.extension,a.id),d=`${this.extension.id}:${a.id}`,y={kaitianExtendService:f,kaitianExtendSet:E,sumiExtendService:f,sumiExtendSet:E};return this.layoutService.viewReady.promise.then(()=>{var b;if(u==="add"){const{component:A,titleComponent:S}=a;this.layoutService.collectTabbarComponent([{id:d}],{...a,iconClass:a.icon?(0,o.getIcon)(a.icon):a.iconPath?this.iconService.fromIcon(this.extension.path,a.iconPath):"",containerId:d,component:A,titleComponent:S,titleProps:y,initialProps:y,fromExtension:!0},c)}else this.layoutService.replaceViewComponent(a,y),a.titleComponent&&((b=this.layoutService.getTabbarHandler(d))===null||b===void 0||b.setTitleComponent(a.titleComponent,y))}),{dispose:()=>{const b=this.layoutService.getTabbarHandler(d);b&&b.dispose()}}}};t.TabbarBrowserContributionRunner=s,n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],s.prototype,"iconService",void 0),t.TabbarBrowserContributionRunner=s=n.__decorate([(0,r.Injectable)({multiple:!0})],s)},15765:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToolBarBrowserContributionRunner=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(63067),_=e(52416),v=e(47289),m=e(97558);let p=class extends m.AbstractSumiBrowserContributionRunner{run(g){const a=new o.Disposable;return this.injector.creatorMap.has(v.IToolBarViewService)?(this.contribution.toolBar&&this.contribution.toolBar.view.forEach(h=>{const{extendProtocol:u,extendService:c}=g.getExtensionExtendService(this.extension,h.id),E=this.toolBarViewService.registerToolBarElement({type:"component",component:h.component,position:h.position||this.contribution.toolBar.position||v.ToolBarPosition.LEFT,initialProps:{kaitianExtendService:c,kaitianExtendSet:u,sumiExtendService:c,sumiExtendSet:u},description:h.description,order:h.order,weight:h.weight});E&&a.addDispose(E)}),a):(this.logger.warn("\u6CA1\u6709\u627E\u5230 toolbarViewService"),a)}};t.ToolBarBrowserContributionRunner=p,n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],p.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(v.IToolBarViewService),n.__metadata("design:type",v.IToolBarViewService)],p.prototype,"toolBarViewService",void 0),n.__decorate([(0,r.Autowired)(_.IIconService),n.__metadata("design:type",Object)],p.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],p.prototype,"injector",void 0),t.ToolBarBrowserContributionRunner=p=n.__decorate([(0,r.Injectable)({multiple:!0})],p)},57996:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createBrowserApi=g;const n=e(41869),r=e(81878),o=e(57517),l=e(52416),_=e(16762),v=e(65046),m=e(31381),p=e(25367),{format:s}=n.strings;function g(a,h,u){const c=(0,m.createBrowserCommandsApiFactory)(a,h,u),E=(0,p.createBrowserComponents)(a,h),f=a.get(n.IReporterService);return{...E,commands:c,ResizeHandleHorizontal:r.ResizeHandleHorizontal,ResizeHandleVertical:r.ResizeHandleVertical,PlainWebview:v.PlainWebview,URI:n.URI,localize:(d,y)=>(0,n.localize)(d,y,h.id),formatLocalize:(d,...y)=>s((0,n.localize)(d,void 0,h.id),...y),getIcon:n.getIcon,getThemeColors:()=>{const y=a.get(l.IThemeService).getCurrentThemeSync();return(0,l.getColorRegistry)().getColors().reduce((A,S)=>{const D=y.getColor(S.id);return D&&(A[S.id.replace(".","-")]=D.toString()),A},{})},ToolBarPosition:_.ToolBarPosition,EditorComponentRenderMode:o.EditorComponentRenderMode,reporter:f}}},97558:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractSumiBrowserContributionRunner=void 0;class e{constructor(r,o){this.extension=r,this.contribution=o}}t.AbstractSumiBrowserContributionRunner=e},56543:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserMainContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){}};t.BrowserMainContributionPoint=_,_.schema={type:"string",defaultSnippets:[{body:"./out/browser/index.js"}],description:(0,o.localize)("sumiContributes.browserMain")},t.BrowserMainContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("browserMain"),(0,l.LifeCycle)(4)],_)},88770:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserViewContributionPoint=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(21634),v=e(43718),m=e(63067),p=e(52416),s=e(99220),g=e(17428),a=e(71354),h=["left","right","bottom","editor","toolBar","editorSide","chat"];let u=n=class extends s.VSCodeContributePoint{constructor(){super(...arguments),this.disposableCollection=new v.DisposableCollection}contribute(){return new Promise(E=>{this.mainLayoutService.viewReady.promise.then(()=>{var f;for(const d of this.contributesMap){const{extensionId:y,contributes:b}=d,A=this.extensionManageService.getExtensionInstanceByExtId(y);if(!A)continue;const S=Object.keys(b).filter(D=>!n.unsupportLocation.includes(D));for(let D of S){const I=b[D].view.map(w=>({...w,component:g.ExtensionLoadingView}));if(!h.includes(D))if(!this.mainLayoutService.getTabbarHandler(D))D="left";else{for(const w of I){w.titleComponentId&&(0,v.getDebugLogger)().warn(`custom title component '${w.titleComponentId}' is not allowed for built-in container ${D}!`);const{title:T,id:R,priority:P,component:O,when:M,weight:k}=w,F=((f=this.mainLayoutService.getTabbarHandler(D))===null||f===void 0?void 0:f.containerId)||D,L=this.mainLayoutService.collectViewComponent({id:R,priority:P,component:O,name:T,when:M,weight:k},F,{},{fromExtension:!0});this.disposableCollection.push({dispose:()=>{this.mainLayoutService.getTabbarHandler(L).disposeView(R)}})}continue}for(const w of I){const{title:T,icon:R,iconPath:P,id:O,priority:M,component:k,expanded:F,noResize:L,when:B,weight:U,hideTab:W}=w,j=`${y}:${O}`,Q=this.mainLayoutService.collectTabbarComponent([{id:O,priority:M,component:k,when:B,weight:U}],{iconClass:P?this.iconService.fromIcon(A.path,P):(0,l.getIcon)(R),title:T&&this.getLocalizeFromNlsJSON(T,y),priority:M,expanded:F,containerId:j,noResize:L,fromExtension:!0,hideTab:W},D);this.disposableCollection.push({dispose:()=>{this.mainLayoutService.getTabbarHandler(Q).dispose()}})}}}E()})})}};t.BrowserViewContributionPoint=u,u.schema=_.browserViews.schema,u.unsupportLocation=["bottom","editor","toolBar","chat"],r.__decorate([(0,o.Autowired)(m.IMainLayoutService),r.__metadata("design:type",Object)],u.prototype,"mainLayoutService",void 0),r.__decorate([(0,o.Autowired)(p.IIconService),r.__metadata("design:type",Object)],u.prototype,"iconService",void 0),r.__decorate([(0,o.Autowired)(a.AbstractExtInstanceManagementService),r.__metadata("design:type",a.AbstractExtInstanceManagementService)],u.prototype,"extensionManageService",void 0),t.BrowserViewContributionPoint=u=n=r.__decorate([(0,o.Injectable)(),(0,s.Contributes)("browserViews"),(0,s.LifeCycle)(3)],u)},82389:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SumiContributionsService=t.SumiContributionsServiceToken=void 0;const n=e(85608),r=e(76003),o=e(99220),l=e(56543),_=e(88770),v=e(35307),m=e(92097),p=e(75591),s=e(68360),g=e(52750),a=e(8678),h=e(43066),u=e(29337);t.SumiContributionsServiceToken=Symbol("SumiContributionsService");let c=class extends o.ExtensionContributesService{constructor(){super(...arguments),this.ContributionPoints=[_.BrowserViewContributionPoint,l.BrowserMainContributionPoint,p.NodeMainContributionPoint,u.WorkerMainContributionPoint,h.ViewsProxiesContributionPoint,m.MenubarsContributionPoint,g.SubmenusContributionPoint,a.ToolbarContributionPoint,v.MenuExtendContributionPoint,s.SCMContributionPoint]}};t.SumiContributionsService=c,t.SumiContributionsService=c=n.__decorate([(0,r.Injectable)()],c)},35307:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuExtendContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(93899),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){for(const m of this.contributesMap){const{extensionId:p,contributes:s}=m;for(const g of Object.keys(s)){const a=s[g];this.addDispose(this.menuRegistry.registerMenuExtendInfo(g,a.map(h=>{var u;return{...h,extraDesc:this.getLocalizeFromNlsJSON((u=h?.extraDesc)!==null&&u!==void 0?u:"",p)}})))}}}};t.MenuExtendContributionPoint=_,n.__decorate([(0,r.Autowired)(o.IMenuRegistry),n.__metadata("design:type",o.IMenuRegistry)],_.prototype,"menuRegistry",void 0),t.MenuExtendContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("menu-extend"),(0,l.LifeCycle)(3)],_)},92097:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenubarsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(93899),_=e(43718),v=e(52416),m=e(99220),p=e(71354);let s=class extends m.VSCodeContributePoint{contribute(){for(const a of this.contributesMap){const{extensionId:h,contributes:u}=a,c=this.extensionManageService.getExtensionInstanceByExtId(h);if(c)for(const E of u){const f=c.icon?this.iconService.fromIcon("",c.icon,v.IconType.Background):(0,o.getIcon)("default-menu-icon");this.addDispose(this.menuRegistry.registerMenubarItem(E.id,{label:this.getLocalizeFromNlsJSON(E.title,h),order:E.order,nativeRole:E.nativeRole,iconClass:f}))}}}};t.MenubarsContributionPoint=s,s.schema={description:(0,_.localize)("sumiContributes.menubars"),type:"array",items:{type:"object",required:["id","title"],defaultSnippets:[{body:{id:"${1}",title:"${2}"}}],properties:{id:{type:"string",description:(0,_.localize)("sumiContributes.menubars.id")},title:{type:"string",description:(0,_.localize)("sumiContributes.menubars.title")},order:{type:"number",description:(0,_.localize)("sumiContributes.menubars.order")},nativeRole:{type:"string",description:(0,_.localize)("sumiContributes.menubars.order")}}}},n.__decorate([(0,r.Autowired)(l.IMenuRegistry),n.__metadata("design:type",l.IMenuRegistry)],s.prototype,"menuRegistry",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],s.prototype,"extensionManageService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],s.prototype,"iconService",void 0),t.MenubarsContributionPoint=s=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("menubars"),(0,m.LifeCycle)(3)],s)},75591:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeMainContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){}};t.NodeMainContributionPoint=_,_.schema={type:"string",defaultSnippets:[{body:"./out/node/index.js"}],description:(0,o.localize)("sumiContributes.nodeMain")},t.NodeMainContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("nodeMain"),(0,l.LifeCycle)(4)],_)},68360:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(61656),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{contributes:s}=p;if(s.additional){const{additional:g}=s;if(!g.input)return;const{input:a}=g;if(a.addonAfter||a.addonBefore)return;this.scmService.appendInputProps(a)}}}};t.SCMContributionPoint=v,v.schema={description:(0,o.localize)("sumiContributes.SCM"),type:"object",defaultSnippets:[{body:{additional:{input:{}}}}],properties:{additional:{type:"object",description:(0,o.localize)("sumiContributes.SCM.additional"),properties:{input:{type:"object",description:(0,o.localize)("sumiContributes.SCM.additional.input")}}}}},n.__decorate([(0,r.Autowired)(l.SCMService),n.__metadata("design:type",l.SCMService)],v.prototype,"scmService",void 0),t.SCMContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("scm"),(0,_.LifeCycle)(3)],v)},52750:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SubmenusContributionPoint=void 0,t.isValidSubmenu=g;const n=e(85608),r=e(76003),o=e(57559),l=e(93899),_=e(43718),v=e(52416),m=e(99220),p=e(71354),s=e(35166);function g(h,u){if(!Array.isArray(h))return u.error((0,_.formatLocalize)("requirearray")),!1;for(const c of h){if(typeof c.id!="string")return u.error((0,_.formatLocalize)("requirestring","id")),!1;if(c.title&&typeof c.title!="string")return u.error((0,_.formatLocalize)("optstring","title")),!1;if(c.when&&typeof c.when!="string")return u.error((0,_.formatLocalize)("optstring","when")),!1;if(c.group&&typeof c.group!="string")return u.error((0,_.formatLocalize)("optstring","group")),!1}return!0}let a=class extends m.VSCodeContributePoint{contribute(){const u=console;for(const c of this.contributesMap){const{extensionId:E,contributes:f}=c,d=this.extensionManageService.getExtensionInstanceByExtId(E);if(d)for(const y of Object.keys(f)){const b=f[y];if(!g(b,console))return;const A=(0,s.parseMenuId)(y);if((0,_.isUndefined)(A)){u.warn((0,_.formatLocalize)("menuId.invalid","`{0}` is not a valid submenu identifier",y));return}for(const S of b){const[D,I]=(0,s.parseMenuGroup)(S.group);this.addDispose(this.menuRegistry.registerMenuItem(A,{submenu:S.id,label:S.title&&this.getLocalizeFromNlsJSON(S.title,E),iconClass:this.iconService.fromIcon(d.path,S.icon,v.IconType.Background),when:S.when,group:D,order:I,nativeRole:S.nativeRole}))}}}}};t.SubmenusContributionPoint=a,a.schema=o.menus.subMenusSchema,n.__decorate([(0,r.Autowired)(l.IMenuRegistry),n.__metadata("design:type",l.IMenuRegistry)],a.prototype,"menuRegistry",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],a.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],a.prototype,"extensionManageService",void 0),t.SubmenusContributionPoint=a=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("submenus"),(0,m.LifeCycle)(3)],a)},8678:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToolbarContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(9905),_=e(99220),v=e(71354),m=e(96710);let p=class extends _.VSCodeContributePoint{toLocalized(g,a,h){return a.reduce((u,c)=>(u[c]&&(u[c]=this.getLocalizeFromNlsJSON(u[c],h)),u),g)}contribute(){for(const g of this.contributesMap){const{extensionId:a,contributes:h}=g,u=this.extensionManageService.getExtensionInstanceByExtId(a);if(u){if(h.groups)for(const c of h.groups)this.addDispose(this.toolbarRegistry.registerToolbarActionGroup({id:c.id,preferredLocation:c.preferredLocation,weight:c.weight}));if(h.actions)for(const c of h.actions)switch(c.type){case"button":this.addDispose(this.kaitianExtToolbarService.registerToolbarButton(a,u.path,this.toLocalized(c,["title"],a)));break;case"select":this.addDispose(this.kaitianExtToolbarService.registerToolbarSelect(a,u.path,this.toLocalized(c,["description"],a)));break;case"dropdownButton":this.addDispose(this.kaitianExtToolbarService.registerToolbarDropdownButton(a,u.path,this.toLocalized(c,["description"],a)));break}}}}};t.ToolbarContributionPoint=p,p.schema=l.toolbar.schema,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",m.KaitianExtensionToolbarService)],p.prototype,"kaitianExtToolbarService",void 0),n.__decorate([(0,r.Autowired)(o.IToolbarRegistry),n.__metadata("design:type",Object)],p.prototype,"toolbarRegistry",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],p.prototype,"extensionManageService",void 0),t.ToolbarContributionPoint=p=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("toolbar"),(0,_.LifeCycle)(3)],p)},43066:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewsProxiesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){}};t.ViewsProxiesContributionPoint=_,_.schema={type:"array",markdownDescription:(0,o.localize)("sumiContributes.viewsProxies"),defaultSnippets:[{body:["${1}"]}],items:{type:"string"}},t.ViewsProxiesContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("viewsProxies"),(0,l.LifeCycle)(3)],_)},29337:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerMainContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){}};t.WorkerMainContributionPoint=_,_.schema={type:"string",defaultSnippets:[{body:"./out/worker/index.js"}],description:(0,o.localize)("sumiContributes.workerMain")},t.WorkerMainContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("workerMain"),(0,l.LifeCycle)(4)],_)},28949:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSumiAPIFactory=g;const n=e(43718),r=e(95507),o=e(41062),l=e(59860),_=e(29127),v=e(13877),m=e(25740),p=e(96710),s=e(43837);function g(a,h){const u=new n.Disposable,c=h.get(v.MainThreadLifeCycle,[h]),E=h.get(m.MainThreadTheme,[a,h]);u.addDispose(E);const f=h.get(_.MainThreadLayout,[a]);u.addDispose(f);const d=h.get(l.MainThreadCommon,[a,h]);u.addDispose(d);const y=h.get(p.MainThreadToolbar);u.addDispose(y);const b=h.get(s.MainThreadIDEWindow,[a]);u.addDispose(b);const A=h.get(o.MainThreadChatAgents,[a,h]);return u.addDispose(A),a.set(r.MainThreadSumiAPIIdentifier.MainThreadLifecycle,c),a.set(r.MainThreadSumiAPIIdentifier.MainThreadTheme,E),a.set(r.MainThreadSumiAPIIdentifier.MainThreadLayout,f),a.set(r.MainThreadSumiAPIIdentifier.MainThreadCommon,d),a.set(r.MainThreadSumiAPIIdentifier.MainThreadToolbar,y),a.set(r.MainThreadSumiAPIIdentifier.MainThreadIDEWindow,b),a.set(r.MainThreadSumiAPIIdentifier.MainThreadChatAgents,A),()=>{u.dispose()}}},41062:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadChatAgents=void 0;const r=e(85608),o=e(76003),l=e(59347),_=e(77633),v=e(40111),m=e(19413),p=e(8919),s=e(43718),g=e(93062),a=e(95507);let h=class{get chatAgentService(){try{return this.injector.get(m.IChatAgentService)}catch{return null}}get inlineChatFeatureRegistry(){try{return this.injector.get(s.InlineChatFeatureRegistryToken)}catch{return null}}get chatInternalService(){try{return this.injector.get(l.ChatInternalService)}catch{return null}}constructor(c,E){this.injector=E,n.set(this,void 0),this.agents=new Map,this.pendingProgress=new Map,this.responsePartHandlePool=0,this.activeResponsePartPromises=new Map,r.__classPrivateFieldSet(this,n,c.getProxy(a.ExtHostSumiAPIIdentifier.ExtHostChatAgents),"f")}$registerInlineChatProvider(c,E,f){if(!this.inlineChatFeatureRegistry||!this.chatInternalService)return;const d=this.inlineChatFeatureRegistry.registerInteractiveInput({handleStrategy:()=>_.ERunStrategy.PREVIEW},{providePreviewStrategy:async(y,b,A,S)=>{var D;const I=new v.InlineChatController({enableCodeblockRender:!!f.enableCodeblockRender}),w=this.chatInternalService.createRequest(A,E),T=new g.SumiReadableStream;I.mountReadable(T);const R=O=>{if(S.isCancellationRequested){T.abort();return}T.emitData(O)};this.pendingProgress.set(w.requestId,R);const P={sessionId:(D=this.chatInternalService)===null||D===void 0?void 0:D.sessionModel.sessionId,requestId:w.requestId,message:w.message.prompt,command:w.message.command};return r.__classPrivateFieldGet(this,n,"f").$invokeAgent(c,P,{history:[]},S).then(O=>{if(!O){T.end();return}S.isCancellationRequested?T.abort():(O.errorDetails&&w.response.setErrorDetails(O.errorDetails),T.end())}).finally(()=>{this.pendingProgress.delete(w.requestId)}),I}});this.agents.set(c,{name:E,dispose:d.dispose})}$registerAgent(c,E,f){if(!this.chatAgentService)return;const d=this.chatAgentService.registerAgent({id:E,metadata:f,invoke:async(y,b,A,S)=>{var D;this.pendingProgress.set(y.requestId,b);try{return(D=await r.__classPrivateFieldGet(this,n,"f").$invokeAgent(c,y,{history:A.map(I=>({role:s.CoreMessgaeRoleMap[I.role],content:I.content.toString()}))},S))!==null&&D!==void 0?D:{}}finally{this.pendingProgress.delete(y.requestId)}},provideSlashCommands:async y=>{var b;return!((b=this.agents.get(c))===null||b===void 0)&&b.hasSlashCommands?r.__classPrivateFieldGet(this,n,"f").$provideSlashCommands(c,y):[]},provideFollowups:async(y,b)=>{var A;return!((A=this.agents.get(c))===null||A===void 0)&&A.hasFollowups?r.__classPrivateFieldGet(this,n,"f").$provideFollowups(c,y,b):[]},provideSampleQuestions:async y=>{var b;return!((b=this.agents.get(c))===null||b===void 0)&&b.hasSampleQuestions?r.__classPrivateFieldGet(this,n,"f").$provideSampleQuestions(c,y):[]},provideChatWelcomeMessage:async y=>{var b;if(!((b=this.agents.get(c))===null||b===void 0)&&b.hasChatWelcomMessage)return r.__classPrivateFieldGet(this,n,"f").$provideChatWelcomeMessage(c,y)}});this.agents.set(c,{name:E,dispose:d.dispose,hasSlashCommands:f.hasSlashCommands,hasFollowups:f.hasFollowups})}$updateAgent(c,E){if(!this.chatAgentService)return;const f=this.agents.get(c);if(!f)throw new Error(`No agent with handle ${c} registered`);f.hasSlashCommands=E.hasSlashCommands,f.hasFollowups=E.hasFollowups,f.hasSampleQuestions=E.hasSampleQuestions,f.hasChatWelcomMessage=E.hasChatWelcomMessage,f.isDefault=E.isDefault,this.chatAgentService.updateAgent(f.name,E)}async $handleProgressChunk(c,E,f){var d,y;if(E.kind==="asyncContent"){const b=++this.responsePartHandlePool,A=`${c}_${b}`,S=new s.Deferred;return this.activeResponsePartPromises.set(A,S),(d=this.pendingProgress.get(c))===null||d===void 0||d({...E,resolvedContent:S.promise}),b}else if(typeof f=="number"){const b=`${c}_${f}`,A=this.activeResponsePartPromises.get(b);return A&&(E.kind==="content"?A.resolve(E.content):E.kind==="treeData"&&A.resolve(E),this.activeResponsePartPromises.delete(b)),f}(y=this.pendingProgress.get(c))===null||y===void 0||y(E)}$unregisterAgent(c){var E;(E=this.agents.get(c))===null||E===void 0||E.dispose(),this.agents.delete(c)}$populateChatInput(c,E){if(!this.chatAgentService)return;const f=this.agents.get(c);if(!f)throw new Error(`No agent with handle ${c} registered`);this.chatAgentService.populateChatInput(f.name,{command:E.command,message:E.prompt})}$sendMessage(c){this.chatAgentService&&this.chatAgentService.sendMessage(c)}dispose(){this.agents.forEach(c=>{c.dispose()}),this.agents.clear()}};t.MainThreadChatAgents=h,n=new WeakMap,t.MainThreadChatAgents=h=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object,o.Injector])],h)},59860:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCommon=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(95507),m=e(71354);let p=class extends l.WithEventBus{constructor(g,a){super(),this.rpcProtocol=g,this.injector=a,this.subscribedEvent=new Set,this._proxy=this.rpcProtocol.getProxy(v.ExtHostSumiAPIIdentifier.ExtHostCommon)}onExtHostEvent(g){if(this.subscribedEvent.has(g.payload.eventName))return this._proxy.$acceptEvent(g.payload.eventName,g.payload.eventArgs)}async $subscribeEvent(g){this.subscribedEvent.add(g),this.addDispose(_.Disposable.create(()=>{this.$unSubscribeEvent(g)}))}async $unSubscribeEvent(g){this.subscribedEvent.delete(g)}};t.MainThreadCommon=p,n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],p.prototype,"themeService",void 0),n.__decorate([(0,l.OnEvent)(m.ExtHostEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[m.ExtHostEvent]),n.__metadata("design:returntype",void 0)],p.prototype,"onExtHostEvent",null),t.MainThreadCommon=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,r.Injector])],p)},29127:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadLayout=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(63067),v=e(52416),m=e(95507);let p=class extends l.Disposable{constructor(g){super(),this.handlerMap=new Map,this.proxy=g.getProxy(m.ExtHostSumiAPIIdentifier.ExtHostLayout)}$setTitle(g,a){var h;(h=this.getHandler(g))===null||h===void 0||h.updateTitle(a)}$setIcon(g,a){var h;const u=this.iconService.fromIcon("",a,v.IconType.Background,v.IconShape.Square);(h=this.getHandler(g))===null||h===void 0||h.setIconClass(u)}$setSize(g,a){var h;(h=this.getHandler(g))===null||h===void 0||h.setSize(a)}$activate(g){var a;(a=this.getHandler(g))===null||a===void 0||a.activate()}$deactivate(g){var a;(a=this.getHandler(g))===null||a===void 0||a.deactivate()}$setBadge(g,a){var h;(h=this.getHandler(g))===null||h===void 0||h.setBadge(a)}async $setVisible(g,a){var h,u,c,E;a?(h=this.getHandler(g))===null||h===void 0||h.show():(!((u=this.getHandler(g))===null||u===void 0)&&u.isActivated()&&((c=this.getHandler(g))===null||c===void 0||c.deactivate()),(E=this.getHandler(g))===null||E===void 0||E.hide())}async $connectTabbar(g){if(!this.handlerMap.has(g)){const a=this.layoutService.getTabbarHandler(g);if(a)this.bindHandleEvents(a);else{const h=this.eventBus.on(_.TabBarRegistrationEvent,u=>{if(u.payload.tabBarId===g){const c=this.layoutService.getTabbarHandler(g);c&&this.bindHandleEvents(c),h.dispose()}});this.addDispose(h)}}}async $isAttached(g){return!!this.layoutService.getTabbarHandler(g)}bindHandleEvents(g){this.handlerMap.set(g.containerId,g),g.onActivate(()=>{this.proxy.$acceptMessage(g.containerId,"activate")}),g.onInActivate(()=>{this.proxy.$acceptMessage(g.containerId,"deactivate")})}getHandler(g){const a=this.layoutService.getTabbarHandler(g);return a||this.logger.warn(`Could not find a handler with \`${g}\``),a}};t.MainThreadLayout=p,n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],p.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],p.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],p.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),t.MainThreadLayout=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],p)},13877:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadLifeCycle=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(37406),_=e(39156);let v=class{constructor(p){this.injector=p}$setExtensionCandidate(p){this.appConfig.isElectronRenderer?this.injector.get(l.IElectronMainLifeCycleService).setExtensionCandidate(p,o.electronEnv.currentWindowId):(0,_.throwNonElectronError)("MainThreadLifeCycle.$setExtensionCandidate")}$setExtensionDir(p){this.appConfig.isElectronRenderer?this.injector.get(l.IElectronMainLifeCycleService).setExtensionDir(p,o.electronEnv.currentWindowId):(0,_.throwNonElectronError)("MainThreadLifeCycle.$setExtensionDir")}};t.MainThreadLifeCycle=v,n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],v.prototype,"appConfig",void 0),t.MainThreadLifeCycle=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[r.Injector])],v)},25740:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTheme=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(52416),v=e(95507);let m=class extends l.Disposable{constructor(s,g){super(),this.rpcProtocol=s,this.injector=g,this._proxy=this.rpcProtocol.getProxy(v.ExtHostSumiAPIIdentifier.ExtHostTheme),this.addDispose(this.themeService.onThemeChange(()=>{this._proxy.$notifyThemeChanged()}))}async $getThemeColors(){const s=this.themeService.getCurrentThemeSync();return(0,_.getColorRegistry)().getColors().reduce((a,h)=>{const u=s.getColor(h.id);return u&&(a[h.id.replace(".","-")]=u.toString()),a},{})}};t.MainThreadTheme=m,n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],m.prototype,"themeService",void 0),t.MainThreadTheme=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,r.Injector])],m)},96710:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadToolbar=t.KaitianExtensionToolbarService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52416),_=e(99220),v=e(90888),m=e(17428);let p=class{constructor(){this.btnDelegates=new Map,this.selectDelegates=new Map,this.dropdownButtonDelegates=new Map,this.connected=new Set,this.commandRegistry.registerCommand({id:v.BUTTON_SET_STATE_ID},{execute:(a,h,u)=>{this.btnDelegates.has(a)&&this.btnDelegates.get(a).setState(h,u)}}),this.commandRegistry.registerCommand({id:v.BUTTON_SET_CONTEXT_ID},{execute:(a,h)=>{if(this.btnDelegates.has(a)){const u=this.btnDelegates.get(a);u&&u.setContext(h)}}}),this.commandRegistry.registerCommand({id:v.BUTTON_CONNECT_HANDLE_ID},{execute:a=>{this.connected.has(a)||(this.doConnectToolbarButtonHandle(a),this.connected.add(a))}}),this.commandRegistry.registerCommand({id:v.SELECT_SET_STATE_ID},{execute:(a,h)=>{this.selectDelegates.has(a)&&this.selectDelegates.get(a).setState(h)}}),this.commandRegistry.registerCommand({id:v.SELECT_SET_OPTIONS},{execute:(a,h,u)=>{this.selectDelegates.has(a)&&(u.forEach(c=>{c.iconPath&&(c.iconClass=this.iconService.fromIcon(h,c.iconPath,c.iconMaskMode?l.IconType.Mask:l.IconType.Background))}),this.selectDelegates.get(a).setOptions(u))}}),this.commandRegistry.registerCommand({id:v.SELECT_SET_SELECT_ID},{execute:(a,h)=>{this.selectDelegates.has(a)&&this.selectDelegates.get(a).setSelect(h)}}),this.commandRegistry.registerCommand({id:v.SELECT_CONNECT_HANDLE_ID},{execute:a=>{if(this.connected.has(a)||(this.doConnectToolbarSelectHandle(a),this.connected.add(a)),this.selectDelegates.get(a))return this.selectDelegates.get(a).getValue()}}),this.commandRegistry.registerCommand({id:v.SHOW_POPOVER_ID},{execute:(a,h)=>{this.btnDelegates.has(a)&&this.btnDelegates.get(a).showPopOver(h)}}),this.commandRegistry.registerCommand({id:v.HIDE_POPOVER_ID},{execute:a=>{this.btnDelegates.has(a)&&this.btnDelegates.get(a).hidePopOver()}})}getPopoverComponent(a,h){const u=()=>{var c,E,f,d;return(0,m.ExtensionLoadingView)({style:{minHeight:!((c=h.popoverStyle)===null||c===void 0)&&c.minHeight?Number((E=h.popoverStyle)===null||E===void 0?void 0:E.minHeight):200,minWidth:!((f=h.popoverStyle)===null||f===void 0)&&f.minWidth?Number((d=h.popoverStyle)===null||d===void 0?void 0:d.minWidth):300}})};return this.toolbarPopover.getComponent(a)||u}registerToolbarButton(a,h,u){const c=a+"."+u.id,E={};return u.states&&Object.keys(u.states).forEach(f=>{const d=u.states[f];E[f]={...d},d.iconPath&&(E[f].iconClass=this.iconService.fromIcon(h,d.iconPath,d.iconMaskMode?l.IconType.Mask:l.IconType.Background))}),this.toolbarRegistry.registerToolbarAction({id:c,preferredPosition:u.preferredPosition,strictPosition:u.strictPosition,description:u.description||u.title||c,weight:u.weight,when:u.when,component:(0,o.createToolbarActionBtn)({id:c,popoverId:`${a}:${u.popoverComponent}`,title:u.title,styles:E,defaultState:u.defaultState,iconClass:this.iconService.fromIcon(h,u.iconPath,u.iconMaskMode?l.IconType.Mask:l.IconType.Background),popoverComponent:u.popoverComponent?this.getPopoverComponent(`${a}:${u.popoverComponent}`,u):void 0,popoverStyle:u.popoverStyle||{noContainerStyle:!1},delegate:f=>{f&&(this.btnDelegates.set(c,f),u.command&&f.onClick(async()=>{f.showPopOver(),await this.eventBus.fireAndAwait(new o.ExtensionActivateEvent({topic:"onAction",data:u.id})),this.commandService.executeCommand(u.command)}),this.connected.has(c)&&this.doConnectToolbarButtonHandle(c))}})})}doConnectToolbarButtonHandle(a){const h=this.btnDelegates.get(a);h&&(h.onClick(()=>this.commandService.executeCommand(_.EMIT_EXT_HOST_EVENT.id,v.BUTTON_CLICK_ID,a)),h.onChangeState(u=>this.commandService.executeCommand(_.EMIT_EXT_HOST_EVENT.id,v.BUTTON_STATE_CHANGE_ID,a,u)))}registerToolbarSelect(a,h,u){const c=a+"."+u.id,E=u.options||[];return E.forEach(f=>{f.iconPath&&(f.iconClass=this.iconService.fromIcon(h,f.iconPath,f.iconMaskMode?l.IconType.Mask:l.IconType.Background))}),this.toolbarRegistry.registerToolbarAction({id:c,preferredPosition:u.preferredPosition,strictPosition:u.strictPosition,description:u.description,component:(0,o.createToolbarActionSelect)({styles:u.states,options:E,defaultState:u.defaultState,defaultValue:u.defaultValue,equals:u.optionEqualityKey?(f,d)=>{const y=u.optionEqualityKey;return!f||!d?f===d:f[y]===d[y]}:void 0,delegate:f=>{f&&(this.selectDelegates.set(c,f),u.command&&f.onSelect(d=>{this.commandService.executeCommand(u.command,d)}),this.connected.has(c)&&this.doConnectToolbarSelectHandle(c))}})})}doConnectToolbarSelectHandle(a){const h=this.selectDelegates.get(a);h&&(h.onSelect(u=>this.commandService.executeCommand(_.EMIT_EXT_HOST_EVENT.id,v.SELECT_ON_SELECT_ID,a,u)),h.onChangeState(u=>this.commandService.executeCommand(_.EMIT_EXT_HOST_EVENT.id,v.SELECT_STATE_CHANGE_ID,a,u)))}registerToolbarDropdownButton(a,h,u){const c=a+"."+u.id,E=u.options||[];return this.toolbarRegistry.registerToolbarAction({id:c,preferredPosition:u.preferredPosition,strictPosition:u.strictPosition,description:u.description,component:(0,o.createToolbarActionDropdownButton)({options:E,trigger:u.trigger,delegate:f=>{f&&(this.dropdownButtonDelegates.set(c,f),u.command&&f.onSelect(d=>{this.commandService.executeCommand(u.command,d)}),this.connected.has(c)&&this.doConnectToolbarDropdownButtonHandle(c))}})})}doConnectToolbarDropdownButtonHandle(a){const h=this.selectDelegates.get(a);h&&h.onSelect(u=>this.commandService.executeCommand(_.EMIT_EXT_HOST_EVENT.id,v.DROPDOWN_BUTTON_ON_SELECT_ID,a,u))}};t.KaitianExtensionToolbarService=p,n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],p.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(o.IToolbarPopoverRegistry),n.__metadata("design:type",Object)],p.prototype,"toolbarPopover",void 0),n.__decorate([(0,r.Autowired)(o.IToolbarRegistry),n.__metadata("design:type",Object)],p.prototype,"toolbarRegistry",void 0),n.__decorate([(0,r.Autowired)(l.IIconService),n.__metadata("design:type",Object)],p.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],p.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.CommandRegistry),n.__metadata("design:type",Object)],p.prototype,"commandRegistry",void 0),t.KaitianExtensionToolbarService=p=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],p);let s=class extends o.Disposable{$registerToolbarButtonAction(a,h,u){return this.addDispose(this.toolbarService.registerToolbarButton(a,h,u)),Promise.resolve()}$registerToolbarSelectAction(a,h,u){return this.addDispose(this.toolbarService.registerToolbarSelect(a,h,u)),Promise.resolve()}$registerDropdownButtonAction(a,h,u){return this.addDispose(this.toolbarService.registerToolbarDropdownButton(a,h,u)),Promise.resolve()}};t.MainThreadToolbar=s,n.__decorate([(0,r.Autowired)(p),n.__metadata("design:type",p)],s.prototype,"toolbarService",void 0),t.MainThreadToolbar=s=n.__decorate([(0,r.Injectable)({multiple:!0})],s)},43837:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadIDEWindow=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(65046),v=e(95507);let m=class extends l.Disposable{constructor(s){super(),this.rpcProtocol=s,this._plainWebviewWindowMap=new Map,this._proxy=this.rpcProtocol.getProxy(v.ExtHostSumiAPIIdentifier.ExtHostIDEWindow),window.onbeforeunload=()=>{this.dispose()}}async $createWebviewWindow(s,g,a){let h;return this._plainWebviewWindowMap.has(s)?h=this._plainWebviewWindowMap.get(s):(h=this.webviewService.createWebviewWindow(g,a),h&&(this.disposables.push(h.onMessage(u=>{this._proxy.$postMessage(s,u)})),this.disposables.push(h.onClosed(u=>{this._proxy.$dispatchClosed(s),this.$destroy(s)})),this.disposables.push(h),this._plainWebviewWindowMap.set(s,h))),await h.ready,{windowId:h.windowId,webContentsId:h.webContentsId}}async $show(s){if(this._plainWebviewWindowMap.has(s)){const g=this._plainWebviewWindowMap.get(s);g?.show()}}async $hide(s){if(this._plainWebviewWindowMap.has(s)){const g=this._plainWebviewWindowMap.get(s);g?.hide()}}async $setSize(s,g){if(this._plainWebviewWindowMap.has(s)){const a=this._plainWebviewWindowMap.get(s);a?.setSize(g)}}async $postMessage(s,g){if(this._plainWebviewWindowMap.has(s)){const a=this._plainWebviewWindowMap.get(s);a?.postMessage(g)}}async $setAlwaysOnTop(s,g){if(this._plainWebviewWindowMap.has(s)){const a=this._plainWebviewWindowMap.get(s);a?.setAlwaysOnTop(g)}}async $loadURL(s,g){if(this._plainWebviewWindowMap.has(s)){const a=this._plainWebviewWindowMap.get(s);a?.loadURL(g)}}async $destroy(s){if(this._plainWebviewWindowMap.has(s)){const g=this._plainWebviewWindowMap.get(s);g?.dispose(),this._plainWebviewWindowMap.delete(s)}}};t.MainThreadIDEWindow=m,n.__decorate([(0,r.Autowired)(_.IWebviewService),n.__metadata("design:type",Object)],m.prototype,"webviewService",void 0),t.MainThreadIDEWindow=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},71354:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionDidEnabledEvent=t.ExtensionDidUninstalledEvent=t.ExtensionsInitializedEvent=t.ExtensionDidActivatedEvent=t.ExtensionWillContributeEvent=t.ExtensionWillActivateEvent=t.ExtensionBeforeActivateEvent=t.ExtensionApiReadyEvent=t.AbstractExtInstanceManagementService=t.IActivationEventService=t.ExtHostEvent=void 0;const n=e(85608),r=e(76003),o=e(43718);class l extends o.BasicEvent{}t.ExtHostEvent=l;let _=class{};t.IActivationEventService=_,t.IActivationEventService=_=n.__decorate([(0,r.Injectable)()],_);class v{}t.AbstractExtInstanceManagementService=v;class m extends o.BasicEvent{}t.ExtensionApiReadyEvent=m;class p extends o.BasicEvent{}t.ExtensionBeforeActivateEvent=p;class s extends o.BasicEvent{}t.ExtensionWillActivateEvent=s;class g extends o.BasicEvent{}t.ExtensionWillContributeEvent=g;class a extends o.BasicEvent{}t.ExtensionDidActivatedEvent=a;class h extends o.BasicEvent{}t.ExtensionsInitializedEvent=h;class u extends o.BasicEvent{}t.ExtensionDidUninstalledEvent=u;class c extends o.BasicEvent{}t.ExtensionDidEnabledEvent=c},21259:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionDebugAdapterContribution=void 0;class e{constructor(r,o,l){this.description=r,this.extDebug=o,this.activationEventService=l}get type(){return this.description.type}get label(){return this.description.label}get languages(){return this.extDebug.$getSupportedLanguages(this.type)}async getSchemaAttributes(){return await this.extDebug.$getSchemaAttributes(this.type)}async getConfigurationSnippets(){return await this.extDebug.$getConfigurationSnippets(this.type)}async provideDebugConfigurations(r,o,l){return await this.extDebug.$provideDebugConfigurations(this.type,r,o,l)}async getDebugConfigurationProvidersCount(r){return await this.extDebug.$getDebugConfigurationProvidersCount(this.type,r)}async resolveDebugConfiguration(r,o){return await this.extDebug.$resolveDebugConfigurations(r,o)}async resolveDebugConfigurationWithSubstitutedVariables(r,o){return await this.extDebug.$resolveDebugConfigurationWithSubstitutedVariables(r,o)}async createDebugSession(r){const{configuration:o}=r;return await this.activationEventService.fireEvent("onDebugAdapterProtocolTracker",o.type),await this.extDebug.$createDebugSession({...r,parentSession:void 0,parent:r.parentSession?r.parentSession.id:void 0})}async terminateDebugSession(r){await this.extDebug.$terminateDebugSession(r)}}t.ExtensionDebugAdapterContribution=e},90384:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionDebugService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66482),_=e(37499),v=e(51500),m=e(51328),p=e(71354);let s=class{constructor(){this.contributors=new Map,this.toDispose=new o.DisposableCollection,this.sessionId2contrib=new Map,this.activationEvents=new Set,this.init()}init(){this.debugSessionManager.onWillStartDebugSession(a=>this.ensureDebugActivation(a)),this.debugSessionManager.onWillResolveDebugConfiguration(a=>this.ensureDebugActivation(a,"onDebugResolve",a.debugType)),this.debugConfigurationManager.onWillProvideDebugConfiguration(a=>this.ensureDebugActivation(a,"onDebugInitialConfigurations")),this.toDispose.pushAll([o.Disposable.create(()=>{for(const a of this.sessionId2contrib.keys())this.sessionId2contrib.get(a).terminateDebugSession(a);this.sessionId2contrib.clear()})])}registerDebugAdapterContribution(a){const{type:h}=a;return this.contributors.has(h)?(this.logger.warn(`Debugger with type '${h}' already registered.`),o.Disposable.NULL):(this.contributors.set(h,a),o.Disposable.create(()=>this.unregisterDebugAdapterContribution(h)))}unregisterDebugAdapterContribution(a){this.contributors.delete(a)}ensureDebugActivation(a,h,u){typeof a.waitUntil=="function"&&a.waitUntil(this.activateByDebug(h,u))}async activateByDebug(a,h){const u=[this.activationEventService.fireEvent("onDebug")];a&&(u.push(this.activationEventService.fireEvent(a)),h&&u.push(this.activationEventService.fireEvent(a,h))),await Promise.all(u)}async debugTypes(){return Array.from(this.contributors.keys())}async provideDebugConfigurations(a,h,u){const c=this.contributors.get(a);return c?c.provideDebugConfigurations&&c.provideDebugConfigurations(h,void 0,u)||[]:[]}async getDynamicConfigurationsSupportTypes(){const a=new Set;this.extInstanceManagementService.getExtensionInstances().forEach(h=>{var u,c;const E=h.packageJSON,f="onDebugDynamicConfigurations";if(!E.activationEvents)return;const d=[];let y=!1;for(const b of E.activationEvents)b===f?y=!0:b.startsWith(`${f}:`)&&d.push(b.slice(f.length+1));if(d.length)d.forEach(b=>a.add(b));else if(y){const b=(c=(u=E.contributes)===null||u===void 0?void 0:u.debuggers)===null||c===void 0?void 0:c[0].type;b&&a.add(b)}});for(const[h,u]of this.contributors)await u.getDebugConfigurationProvidersCount(m.DebugConfigurationProviderTriggerKind.Dynamic)>0&&a.add(h);return Array.from(a)}async resolveDebugConfiguration(a,h){const u=this.contributors.get(a.type);if(u)try{return await u.resolveDebugConfiguration(a,h)}catch(c){this.logger.error(c)}}async resolveDebugConfigurationWithSubstitutedVariables(a,h){const u=this.contributors.get(a.type);if(u)try{return await u.resolveDebugConfigurationWithSubstitutedVariables(a,h)}catch(c){this.logger.error(c)}}async getDebuggersForLanguage(a){const h=[];for(const u of this.contributors.values()){const c=await u.languages;if(c&&c.indexOf(a)!==-1){const{type:E}=u;h.push({type:E,label:await u.label||E})}}return h}async getSchemaAttributes(a){const h=this.contributors.get(a);return h?h.getSchemaAttributes&&h.getSchemaAttributes()||[]:[]}async getConfigurationSnippets(){let a=[];for(const h of this.contributors.values())h.getConfigurationSnippets&&(a=a.concat(await h.getConfigurationSnippets()));return a}async createDebugSession(a){const{configuration:h}=a,u=this.contributors.get(h.type);if(u){const c=await u.createDebugSession(a);return this.sessionId2contrib.set(c,u),c}}async terminateDebugSession(a){const h=this.sessionId2contrib.get(a);if(h)return this.sessionId2contrib.delete(a),h.terminateDebugSession(a)}dispose(){this.toDispose.dispose()}};t.ExtensionDebugService=s,n.__decorate([(0,r.Autowired)(v.IWorkspaceService),n.__metadata("design:type",Object)],s.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.IDebugSessionManager),n.__metadata("design:type",Object)],s.prototype,"debugSessionManager",void 0),n.__decorate([(0,r.Autowired)(_.DebugConfigurationManager),n.__metadata("design:type",_.DebugConfigurationManager)],s.prototype,"debugConfigurationManager",void 0),n.__decorate([(0,r.Autowired)(p.IActivationEventService),n.__metadata("design:type",p.IActivationEventService)],s.prototype,"activationEventService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],s.prototype,"extInstanceManagementService",void 0),t.ExtensionDebugService=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},40576:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionDebugSessionContributionRegistry=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(97186);let _=class{constructor(){this.contribs=new Map,this.debug=(0,o.getDebugLogger)(),this.init()}init(){for(const m of this.contributions.getContributions())this.contribs.set(m.debugType,m)}get(m){return this.contribs.get(m)}registerDebugSessionContribution(m){const{debugType:p}=m;return this.contribs.has(p)?(this.debug.warn(`Debug session contribution already registered for ${p}`),o.Disposable.NULL):(this.contribs.set(p,m),o.Disposable.create(()=>this.unregisterDebugSessionContribution(p)))}unregisterDebugSessionContribution(m){this.contribs.delete(m)}};t.ExtensionDebugSessionContributionRegistry=_,n.__decorate([(0,r.Autowired)(l.DebugSessionContribution),n.__metadata("design:type",Object)],_.prototype,"contributions",void 0),t.ExtensionDebugSessionContributionRegistry=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},76452:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionDebugSessionFactory=t.ExtensionDebugSession=void 0;const n=e(43718),r=e(29539),o=e(3520),l=e(51328);class _ extends r.DebugSession{constructor(p,s,g,a,h,u,c,E,f,d,y,b){super(p,s,g,a,h,u,c,E,f,d,y),this.id=p,this.options=s,this.connection=g,this.terminalService=a,this.editorService=h,this.breakpointManager=u,this.modelManager=c,this.labelService=E,this.messageService=f,this.fileSystem=d,this.sessionManager=y,this.terminalOptionsExt=b}async doRunInTerminal(p){p.name||(p.name=(0,n.localize)("debug.terminal.title","Debug Process")),p.iconPath||(p.iconPath=new l.ThemeIcon("debug"));const s={...p,...this.terminalOptionsExt};return super.doRunInTerminal(s)}}t.ExtensionDebugSession=_;class v{constructor(p,s,g,a,h,u,c,E,f,d,y,b,A,S){this.editorManager=p,this.breakpoints=s,this.modelManager=g,this.terminalService=a,this.labelService=h,this.messageService=u,this.debugPreferences=c,this.connectionFactory=E,this.fileSystem=f,this.terminalOptionsExt=d,this.debugPreference=y,this.outputService=b,this.injector=A,this.sessionManager=S}get(p,s){const g=this.injector.get(o.DebugSessionConnection,[p,this.connectionFactory,this.getTraceOutputChannel()]);return new _(p,s,g,this.terminalService,this.editorManager,this.breakpoints,this.modelManager,this.labelService,this.messageService,this.fileSystem,this.sessionManager,this.terminalOptionsExt)}getTraceOutputChannel(){if(this.debugPreferences["debug.trace"])return this.outputService.getChannel("Debug adapters")}}t.ExtensionDebugSessionFactory=v},77385:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(76452),t),n.__exportStar(e(40576),t),n.__exportStar(e(90384),t),n.__exportStar(e(21259),t)},51072:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initNodeThreadAPIProxy=g,t.initWorkerThreadAPIProxy=a;const n=e(46147),r=e(57484),o=e(10273),l=e(24060),_=e(69696),v=e(53191),m=e(4321),p=e(43812),s=e(38408);function g(h,u,c){h.set(n.MainThreadAPIIdentifier.MainThreadExtensionService,c);const E=u.get(m.MainThreadTreeView,[h,"node"]),f=u.get(s.MainThreadWindowState,[h]),d=u.get(p.MainThreadWindow,[h]),y=u.get(r.MainThreadConnection,[h]),b=u.get(o.MainThreadDebug,[h,y]),A=u.get(_.MainThreadTerminal,[h]),S=u.get(l.MainThreadTasks,[h]),D=u.get(v.MainThreadTestsImpl,[h]);return h.set(n.MainThreadAPIIdentifier.MainThreadTreeView,E),h.set(n.MainThreadAPIIdentifier.MainThreadWindowState,f),h.set(n.MainThreadAPIIdentifier.MainThreadWindow,d),h.set(n.MainThreadAPIIdentifier.MainThreadConnection,y),h.set(n.MainThreadAPIIdentifier.MainThreadDebug,b),h.set(n.MainThreadAPIIdentifier.MainThreadTerminal,A),h.set(n.MainThreadAPIIdentifier.MainThreadTasks,S),h.set(n.MainThreadAPIIdentifier.MainThreadTests,D),()=>{E.dispose(),f.dispose(),d.dispose(),y.dispose(),b.dispose(),A.dispose(),S.dispose(),D.dispose()}}function a(h,u,c){h.set(n.MainThreadAPIIdentifier.MainThreadExtensionService,c);const E=u.get(m.MainThreadTreeView,[h,"worker"]);return h.set(n.MainThreadAPIIdentifier.MainThreadTreeView,E),()=>{E.dispose()}}},2717:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadProgress=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(68969),_=e(43718),v=e(46147);let m=class{constructor(s){this.rpcProtocol=s,this.progress=new Map,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostProgress)}$startProgress(s,g,a){const h=this.createTask(s);g.location===_.ProgressLocation.Notification&&a&&(g={...g,location:_.ProgressLocation.Notification}),this.progressService.withProgress(g,h,()=>this.proxy.$acceptProgressCanceled(s))}$progressReport(s,g){const a=this.progress.get(s);a&&a.progress.report(g)}$progressEnd(s){const g=this.progress.get(s);g&&(g.resolve(),this.progress.delete(s))}dispose(){this.progress.forEach(s=>s.resolve()),this.progress.clear()}createTask(s){return g=>new Promise(a=>{this.progress.set(s,{resolve:a,progress:g})})}};t.MainThreadProgress=m,n.__decorate([(0,r.Autowired)(l.IProgressService),n.__metadata("design:type",Object)],m.prototype,"progressService",void 0),t.MainThreadProgress=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],m)},17802:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initSharedAPIProxy=F;const n=e(71742),r=e(46147),o=e(2717),l=e(62783),_=e(61528),v=e(14678),m=e(33530),p=e(23105),s=e(78690),g=e(84680),a=e(85589),h=e(11646),u=e(22869),c=e(14382),E=e(13335),f=e(89626),d=e(977),y=e(43404),b=e(48721),A=e(62909),S=e(39261),D=e(87781),I=e(79813),w=e(33111),T=e(62876),R=e(93633),P=e(49731),O=e(31968),M=e(73082),k=e(13643);function F(L,B){const U=B.get(f.MainThreadLanguages,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadLanguages,U);const W=B.get(v.MainThreadCommands,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadCommands,W);const j=B.get(g.MainThreadExtensionDocumentData,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadDocuments,j);const Q=B.get(a.MainThreadEditorService,[L,j]);L.set(r.MainThreadAPIIdentifier.MainThreadEditors,Q);const G=B.get(A.MainThreadExtensionNotebook,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadNotebook,G);const Z=B.get(R.MainThreadStatusBar,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadStatusBar,Z);const $=B.get(b.MainThreadMessage,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadMessages,$);const V=B.get(P.MainThreadStorage,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadStorage,V);const H=B.get(k.MainThreadWorkspace,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadWorkspace,H);const K=B.get(I.MainThreadQuickOpen,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadQuickOpen,K);const Y=B.get(D.MainThreadPreference,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadPreference,Y);const X=B.get(u.MainThreadEnv,[L,V]);L.set(r.MainThreadAPIIdentifier.MainThreadEnv,X);const re=B.get(y.MainThreadExtensionLog);L.set(n.MainThreadExtensionLogIdentifier,re);const oe=B.get(o.MainThreadProgress,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadProgress,oe);const he=B.get(S.MainThreadOutput);L.set(r.MainThreadAPIIdentifier.MainThreadOutput,he);const me=B.get(c.MainThreadFileSystem,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadFileSystem,me);const q=B.get(E.MainThreadFileSystemEvent,[L]),Ae=B.get(l.MainThreadWebview,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadWebview,Ae);const ge=B.get(l.MainThreadWebviewView,[L,Ae]);L.set(r.MainThreadAPIIdentifier.MainThreadWebviewView,ge);const te=B.get(M.MainThreadUrls,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadUrls,te);const fe=B.get(m.MainThreadComments,[L,W]);L.set(r.MainThreadAPIIdentifier.MainThreadComments,fe);const Oe=B.get(_.MainThreadAuthentication,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadAuthentication,Oe);const xe=B.get(d.MainThreadLocalization,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadLocalization,xe);const Me=B.get(h.MainThreadEditorTabsService,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadEditorTabs,Me);const Be=B.get(w.MainThreadSCM,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadSCM,Be);const De=B.get(T.MainThreadSecret,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadSecret,De);const _e=B.get(s.MainThreadDecorations,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadDecorations,_e);const Ne=B.get(O.MainThreadTheming,[L]);L.set(r.MainThreadAPIIdentifier.MainThreadTheming,Ne);const Te=B.get(p.MainThreadCustomEditor,[L,Ae]);return L.set(r.MainThreadAPIIdentifier.MainThreadCustomEditor,Te),{setup:async()=>{await Ae.init()},dispose:()=>{U.dispose(),W.dispose(),Z.dispose(),j.dispose(),G.dispose(),Q.dispose(),$.dispose(),V.dispose(),H.dispose(),K.dispose(),Y.dispose(),X.dispose(),oe.dispose(),he.dispose(),me.dispose(),q.dispose(),Ae.dispose(),ge.dispose(),te.dispose(),Oe.dispose(),fe.dispose(),Me.dispose(),Be.dispose(),De.dispose(),_e.dispose(),Ne.dispose(),Te.dispose()}}}},62783:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWebviewView=t.MainThreadWebview=void 0;const n=e(85608),r=n.__importDefault(e(97331)),o=e(76003),l=e(8919),_=e(41869),v=e(74654),m=e(19805),p=e(40827),s=e(43718),g=e(54414),a=e(57517),h=e(63067),u=e(52416),c=e(65046),E=e(46147),f=e(53043),d=e(88341),y=e(71354),{addMapElement:b}=_.arrays;let A=class extends _.Disposable{constructor(T){super(),this.rpcProtocol=T,this.webviewPanels=new Map,this.webviews=new Map,this.plainWebviews=new Map,this.webviewPanelStates=new Map,this._hasSerializer=new Set,this.statePersister=new Map,this.proxy=this.rpcProtocol.getProxy(E.ExtHostAPIIdentifier.ExtHostWebview),this.sumiProxy=this.rpcProtocol.getProxy(E.ExtHostAPIIdentifier.SumiExtHostWebview),this.initEvents(),this.extWebviewStorage=this.getStorage(new _.URI("extension-webview-panels").withScheme(_.STORAGE_SCHEMA.SCOPE)),this.webviewService.registerWebviewReviver({revive:R=>this.reviveWebview(R),handles:async R=>(await this.extWebviewStorage).get(R)?10:-1})}async init(){await this.proxy.$init()}isSupportedLink(T,R,P){if(m.HttpOpener.standardSupportedLinkSchemes.has(T.scheme))return!0;if(R.enableCommandUris&&T.scheme===_.Schemes.command){const{id:O,args:M}=v.CommandOpener.parseURI(T);if(!this.commandRegistry.isPermittedCommand(O,P,...M))throw new Error(`Extension ${P.id} has not permit to execute ${O}`);return!0}return!1}initEvents(){this.addDispose(this.editorService.onActiveResourceChange(()=>{this.onChange()})),this.addDispose(this.eventBus.on(a.EditorGroupChangeEvent,()=>{this.onChange()}))}isActive(T,R,P){return T.resourceState.uri.isEqual(R?.uri)&&T.resourceState.openTypeId===P?.componentId}onChange(){const T=this.editorService.currentResource,R=this.editorService.currentEditorGroup.currentOpenType,P=this.editorService.editorGroups.map(O=>({resource:O.currentResource,openType:O.currentOpenType,index:O.index+1}));this.webviewPanelStates.forEach((O,M)=>{if(!this.hasWebviewPanel(M))return;let k=!1;const F=this.getWebviewPanel(M);if(O.active?(!T||!this.isActive(F,T,R))&&(O.active=!1,k=!0):T&&this.isActive(F,T,R)&&(O.active=!0,k=!0),O.visible){const L=P.find(B=>B.resource&&this.isActive(F,B.resource,B.openType));L?L.index!==O.position&&(O.position=L.index,k=!0):(O.visible=!1,O.position=-1,k=!0)}else{const L=P.find(B=>B.resource&&this.isActive(F,B.resource,B.openType));L&&(O.visible=!0,O.position=L.index,k=!0)}k&&(this.proxy.$onDidChangeWebviewPanelViewState(M,O),O.position!==this.getWebviewPanel(M).viewColumn&&(this.getWebviewPanel(M).viewColumn=O.position,this._persistWebviewPanelMeta(M)))})}$createWebviewPanel(T,R,P,O={},M={},k){this.doCreateWebviewPanel(T,R,P,O,M,k)}pipeBrowserHostedWebviewPanel(T,R,P,O,M){const k=T.id,F=new S(k,P,R,{},{},M,T);this.onCreateWebviewPanel(F),this.proxy.$pipeBrowserHostedWebviewPanel(k,P)}async reviveWebview(T){var R;const P=(await this.extWebviewStorage).get(T);if(!P)throw new Error("No revival info for webview "+T);const{viewType:O,webviewOptions:M,extensionInfo:k,title:F}=P;await this.activation.fireEvent("onWebviewPanel",O);const L=await this.getPersistedWebviewState(O,T),B=this.webviewService.createEditorWebviewComponent({allowScripts:M.enableScripts,allowForms:(R=M.enableForms)!==null&&R!==void 0?R:M.enableScripts,longLive:M.retainContextWhenHidden},T,{extWebview:O}),U=B.group?B.group.index+1:P.viewColumn;await this.doCreateWebviewPanel(T,O,F,{viewColumn:U},M,k,L),await this.proxy.$deserializeWebviewPanel(T,O,F,await this.getPersistedWebviewState(O,T),U,M)}onCreateWebviewPanel(T){this.webviewPanels.set(T.id,T);const R=T.webview,P=T.id;T.editorWebview&&T.addDispose(T.editorWebview),T.addDispose(this.connectWebview(T.id,T.webview)),T.addDispose(R.onRemove(()=>{R.dispose(),this.proxy.$onDidDisposeWebviewPanel(P)})),this.webviewPanelStates.set(T.id,{active:!1,visible:!1,position:-1}),this.addDispose({dispose:()=>{this.webviewPanels.has(P)&&this.getWebviewPanel(P).dispose()}}),R.onDidClickLink(O=>{this.isSupportedLink(O,T.options,T.extensionInfo)&&this.openerService.open(O)}),this.addDispose(R.onDidUpdateState(O=>{this._hasSerializer.has(T.viewType)&&this.persistWebviewState(T.viewType,P,O)})),this._persistWebviewPanelMeta(P)}async doCreateWebviewPanel(T,R,P,O={},M={},k,F){var L;const B=this.webviewService.createEditorWebviewComponent({allowScripts:M.enableScripts,allowForms:(L=M.enableForms)!==null&&L!==void 0?L:M.enableScripts,longLive:M.retainContextWhenHidden},T,{extWebview:R}),U=new S(T,R,{uri:B.webviewUri,openTypeId:B.componentId},O,M,k,B.webview,B);B.title=P,this.onCreateWebviewPanel(U),B.supportsRevive=this._hasSerializer.has(U.viewType);const W=(0,f.viewColumnToResourceOpenOptions)(O.viewColumn);B.open(W),F&&(U.webview.state=F)}getWebviewPanel(T){if(!this.webviewPanels.has(T))throw new Error(`No Webview with id: ${T} was found in the browser process.`);return this.webviewPanels.get(T)}hasWebviewPanel(T){return this.webviewPanels.has(T)}$disposeWebview(T){this.getWebviewPanel(T).dispose(),this.webviewPanels.delete(T),this._persistWebviewPanelMeta(T)}$reveal(T,R={}){var P;const O=this.getWebviewPanel(T),M=Object.assign({},O.showOptions,R).viewColumn;(P=O.editorWebview)===null||P===void 0||P.open((0,f.viewColumnToResourceOpenOptions)(M))}$setTitle(T,R){const P=this.getWebviewPanel(T);P.editorWebview&&(P.editorWebview.title=R,P.title=R,this._persistWebviewPanelMeta(T))}$setIconPath(T,R){const P=this.getWebviewPanel(T);P.editorWebview&&(R?P.editorWebview.icon=this.iconService.fromIcon("",R,u.IconType.Background)+" background-tab-icon":P.editorWebview.icon="")}connectWebview(T,R){this.webviews.set(T,R);const P=new _.Disposable;return P.addDispose(R.onMessage(O=>{this.proxy.$onMessage(T,O)})),P.addDispose(b(this.webviews,T,R)),R.onDispose(()=>{P.dispose()}),P}getWebview(T){return this.webviews.get(T)}$setHtml(T,R){var P;(P=this.getWebview(T))===null||P===void 0||P.setContent(R)}$setOptions(T,R){var P;(P=this.getWebview(T))===null||P===void 0||P.updateOptions({allowScripts:R.enableScripts,allowForms:R.enableForms})}async $postMessage(T,R){var P;try{return await((P=this.getWebview(T))===null||P===void 0?void 0:P.postMessage(R)),!0}catch{return!1}}$registerSerializer(T){this._hasSerializer.add(T),this.webviewPanels.forEach(R=>{R.viewType===T&&R.editorWebview&&(R.editorWebview.supportsRevive=!0)})}$unregisterSerializer(T){this._hasSerializer.add(T)}_persistWebviewPanelMeta(T){return this.extWebviewStorage.then(R=>{this.webviewPanels.has(T)?R.set(T,this.getWebviewPanel(T).toJSON()):R.delete(T)})}async persistWebviewState(T,R,P){this.statePersister.has(T)||this.statePersister.set(T,this.getStorage(new _.URI("extension-webview/"+T).withScheme(_.STORAGE_SCHEMA.SCOPE)).then(O=>{const M=(0,r.default)(k=>O.set(R,k),500);return async k=>{await M(k)}})),(await this.statePersister.get(T))(P)}async getPersistedWebviewState(T,R){return(await this.getStorage(new _.URI("extension-webview/"+T).withScheme(_.STORAGE_SCHEMA.SCOPE))).get(R)}$connectPlainWebview(T){if(!this.plainWebviews.has(T)){const R=this.webviewService.getEditorPlainWebviewComponent(T)||this.webviewService.getOrCreatePlainWebviewComponent(T);R&&(this.plainWebviews.set(T,R),R.webview.onMessage(P=>{this.sumiProxy.$acceptMessage(T,P)}),R.webview.onDispose(()=>{this.plainWebviews.delete(T)}))}}async $postMessageToPlainWebview(T,R){if(this.plainWebviews.has(T))try{return await this.plainWebviews.get(T).webview.postMessage(R),!0}catch(P){return this.logger.error(P),!1}return!1}async $createPlainWebview(T,R,P){const O=this.webviewService.createEditorPlainWebviewComponent({},T);O.title=R,P&&(O.icon=this.iconService.fromIcon("",P)||""),this.$connectPlainWebview(T)}async $plainWebviewLoadUrl(T,R){if(!this.plainWebviews.has(T))throw new Error("No Plain Webview With id "+T);await this.plainWebviews.get(T).webview.loadURL(R)}async $setPlainWebviewPartition(T,R){if(!this.plainWebviews.has(T))throw new Error("No Plain Webview With id "+T);this.plainWebviews.get(T).webview.setPartition(R??T)}async $disposePlainWebview(T){var R;this.plainWebviews.has(T)&&((R=this.plainWebviews.get(T))===null||R===void 0||R.dispose())}async $revealPlainWebview(T,R){if(!this.plainWebviews.has(T))throw new Error("No Plain Webview With id "+T);const P=this.plainWebviews.get(T);if(!P.open)throw new Error("not able to open plain webview id:"+T);await P.open({groupIndex:R})}async $getWebviewResourceRoots(){return Array.from(this.staticResourceService.resourceRoots)}};t.MainThreadWebview=A,n.__decorate([(0,o.Autowired)(c.IWebviewService),n.__metadata("design:type",Object)],A.prototype,"webviewService",void 0),n.__decorate([(0,o.Autowired)(y.IActivationEventService),n.__metadata("design:type",y.IActivationEventService)],A.prototype,"activation",void 0),n.__decorate([(0,o.Autowired)(_.StorageProvider),n.__metadata("design:type",Function)],A.prototype,"getStorage",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",g.WorkbenchEditorService)],A.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(u.IIconService),n.__metadata("design:type",Object)],A.prototype,"iconService",void 0),n.__decorate([(0,o.Autowired)(_.IEventBus),n.__metadata("design:type",Object)],A.prototype,"eventBus",void 0),n.__decorate([(0,o.Autowired)(_.ILogger),n.__metadata("design:type",Object)],A.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(p.StaticResourceService),n.__metadata("design:type",p.StaticResourceService)],A.prototype,"staticResourceService",void 0),n.__decorate([(0,o.Autowired)(_.IOpenerService),n.__metadata("design:type",Object)],A.prototype,"openerService",void 0),n.__decorate([(0,o.Autowired)(_.CommandRegistry),n.__metadata("design:type",Object)],A.prototype,"commandRegistry",void 0),t.MainThreadWebview=A=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__param(0,(0,o.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],A);class S extends _.Disposable{constructor(T,R,P,O,M,k,F,L){super(),this.id=T,this.viewType=R,this.resourceState=P,this.showOptions=O,this.options=M,this.extensionInfo=k,this.webview=F,this.editorWebview=L}toJSON(){return{id:this.id,viewType:this.viewType,viewColumn:this.viewColumn,extensionInfo:this.extensionInfo,webviewOptions:this.options,title:this.title}}}class D extends _.Disposable{constructor(T,R,P,O){super(),this.id=T,this.viewType=R,this.extension=P,this.webview=O}}let I=class extends s.WithEventBus{constructor(T,R){super(),this.mainThreadWebview=R,this._webviewViews=new Map,this._resolvers=new Map,this.proxy=T.getProxy(E.ExtHostAPIIdentifier.ExtHostWebviewView)}$registerWebviewViewProvider(T,R,P={}){this._resolvers.set(R,{extension:T,options:P}),this.eventBus.fire(new E.WebviewViewResolverRegistrationEvent({viewType:R,options:P}))}$unregisterWebviewViewProvider(T){this._resolvers.delete(T),this.eventBus.fire(new E.WebviewViewResolverRegistrationRemovalEvent({viewType:T}))}$setWebviewViewTitle(T,R){var P;const O=this._webviewViews.get(T);O&&((P=this.mainLayout.getTabbarHandler(O.viewType))===null||P===void 0||P.updateViewTitle(O.viewType,R||""))}$setWebviewViewDescription(T,R){const P=this._webviewViews.get(T)}onWebviewViewShouldShow(T){const R=T.payload.viewType;this._resolvers.has(R)?T.payload.disposer.addDispose(this.resolveWebviewView(T.payload.container,R,T.payload.title,T.payload.cancellationToken)):this.addDispose(this.eventBus.on(E.WebviewViewResolverRegistrationEvent,P=>{P.payload.viewType===R&&this._resolvers.has(R)&&T.payload.disposer.addDispose(this.resolveWebviewView(T.payload.container,R,T.payload.title,T.payload.cancellationToken))}))}resolveWebviewView(T,R,P,O){var M;const k=new _.Disposable,F=this.webviewService.createWebview(),L=(M=this._resolvers.get(R))===null||M===void 0?void 0:M.options,B=this._resolvers.get(R).extension,U=F.id,W=new D(U,R,B,F);W.addDispose(this.mainThreadWebview.connectWebview(U,F)),W.addDispose(b(this._webviewViews,U,W)),W.addDispose(F);const j=()=>{const Z=this.mainLayout.isViewVisible(R);this.proxy.$onDidChangeWebviewViewVisibility(U,Z),L?.retainContextWhenHidden||(Z?(F.appendTo(T),W.addDispose(this.mainThreadWebview.connectWebview(U,F))):F.remove())};k.addDispose(this.eventBus.on(h.ViewCollapseChangedEvent,Z=>{Z.payload.viewId===R&&j()}));const Q=this.mainLayout.getTabbarHandler(R);Q&&(k.addDispose(Q?.onActivate(()=>{j()})),k.addDispose(Q?.onInActivate(()=>{j()}))),this.proxy.$resolveWebviewView(U,R,P,F.state,O);const G=this.mainLayout.isViewVisible(R);return this.proxy.$onDidChangeWebviewViewVisibility(U,G),(L?.retainContextWhenHidden||G)&&F.appendTo(T),k.addDispose(W),{dispose:()=>W.dispose()}}$setBadge(T,R){const P=this._webviewViews.get(T);if(P){P.badge=R;const O=this.mainLayout.getTabbarHandler(P.viewType);O&&(O.setBadge(R||""),O.accordionService.updateViewBadge(P.viewType,R||""))}}$show(T,R){const P=this._webviewViews.get(T);P&&this.mainLayout.revealView(P.viewType)}};t.MainThreadWebviewView=I,n.__decorate([(0,o.Autowired)(h.IMainLayoutService),n.__metadata("design:type",Object)],I.prototype,"mainLayout",void 0),n.__decorate([(0,o.Autowired)(c.IWebviewService),n.__metadata("design:type",Object)],I.prototype,"webviewService",void 0),n.__decorate([(0,s.OnEvent)(d.WebviewViewShouldShowEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[d.WebviewViewShouldShowEvent]),n.__metadata("design:returntype",void 0)],I.prototype,"onWebviewViewShouldShow",null),t.MainThreadWebviewView=I=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,A])],I)},61528:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadAuthentication=t.MainThreadAuthenticationProvider=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(72665),m=e(46147),p=e(71354);let s=class extends l.Disposable{constructor(h,u,c,E){super(),this._proxy=h,this.id=u,this.label=c,this.supportsMultipleAccounts=E,this._accounts=new Map,this._sessions=new Map}async initialize(){return this.registerCommandsAndContextMenuItems()}async manageTrustedExtensions(h){const u=await this.authenticationService.getAllowedExtensions(this.id,h);if(!u.length){this.dialogService.info((0,l.localize)("authentication.noTrustedExtensions"));return}const c=await this.authenticationService.getAccountUsages(this.id,h),E=u.map(d=>{const y=c.find(b=>d.id===b.extensionId);return{label:d.name,description:y?(0,l.localize)("authentication.accountLastUsedDate"):(0,l.localize)("authentication.notUsed"),value:d}}),f=await this.quickPickService.show(E,{title:(0,l.localize)("authentication.manageTrustedExtensions"),placeholder:(0,l.localize)("authentication.manageExtensions")});f&&await this.authenticationService.setAllowedExtensions(this.id,h,[f])}async signOut(h){const u=await this.authenticationService.getAccountUsages(this.id,h),c=this._accounts.get(h),E=u.length?(0,l.formatLocalize)("authentication.signOutMessage",h,u.map(d=>d.extensionName).join(`
|
|
33207
|
-
`)):(0,l.formatLocalize)("authentication.signOutMessageSimple",h);await this.dialogService.info(E,[(0,l.localize)("ButtonCancel"),(0,l.localize)("ButtonOK")])===(0,l.localize)("ButtonOK")&&(c?.forEach(d=>this.logout(d)),await this.authenticationService.removeAccountUsage(this.id,h),await this.authenticationService.removeAllowedExtensions(this.id,h))}async getSessions(h,u){return this._proxy.$getSessions(this.id,h,{account:u})}hasSessions(){return!!this._sessions.size}async updateSessionItems(h){const{added:u,removed:c}=h,f=(await this._proxy.$getSessions(this.id)).filter(d=>u.some(y=>y.id===d.id));c.forEach(d=>{const y=this._sessions.get(d.id);if(y){this._sessions.delete(d.id);const b=this._accounts.get(y)||[],A=b.indexOf(d.id);b.splice(A),b.length||this._accounts.delete(y)}}),f.forEach(d=>this.registerSession(d))}async registerCommandsAndContextMenuItems(){try{(await this._proxy.$getSessions(this.id)).forEach(u=>this.registerSession(u))}catch(h){this.logger.error(h)}}registerSession(h){this._sessions.set(h.id,h.account.label);const u=this._accounts.get(h.account.label);if(u){this._accounts.set(h.account.label,u.concat(h.id));return}else this._accounts.set(h.account.label,[h.id])}login(h,u){return this._proxy.$login(this.id,h,u)}async logout(h){await this._proxy.$logout(this.id,h),this.messageService.info((0,l.localize)("authentication.signedOut"))}};t.MainThreadAuthenticationProvider=s,n.__decorate([(0,r.Autowired)(_.IAuthenticationService),n.__metadata("design:type",Object)],s.prototype,"authenticationService",void 0),n.__decorate([(0,r.Autowired)(l.QuickPickService),n.__metadata("design:type",Object)],s.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(v.IDialogService),n.__metadata("design:type",Object)],s.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(v.IMessageService),n.__metadata("design:type",Object)],s.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),t.MainThreadAuthenticationProvider=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,String,String,Boolean])],s);let g=class extends l.Disposable{constructor(h){super(),this._proxy=h.getProxy(m.ExtHostAPIIdentifier.ExtHostAuthentication),this.addDispose(this.authenticationService.onDidChangeSessions(u=>{this._proxy.$onDidChangeAuthenticationSessions(u.providerId,u.label,u.event)})),this.addDispose(this.authenticationService.onDidRegisterAuthenticationProvider(u=>{this._proxy.$onDidChangeAuthenticationProviders([u],[])})),this.addDispose(this.authenticationService.onDidUnregisterAuthenticationProvider(u=>{this._proxy.$onDidChangeAuthenticationProviders([],[u])}))}$getProviderIds(){return Promise.resolve(this.authenticationService.getProviderIds())}async $registerAuthenticationProvider(h,u,c){const E=this.injector.get(s,[this._proxy,h,u,c]);await E.initialize(),this.authenticationService.registerAuthenticationProvider(h,E),this.addDispose(l.Disposable.create(()=>{this.$unregisterAuthenticationProvider(h)}))}$unregisterAuthenticationProvider(h){this.authenticationService.unregisterAuthenticationProvider(h)}$ensureProvider(h){return this.activationService.fireEvent("onAuthenticationRequest",h)}$sendDidChangeSessions(h,u){this.authenticationService.sessionsUpdate(h,u)}$getSessions(h){return this.authenticationService.getSessions(h)}$login(h,u,c){return this.authenticationService.login(h,u,c)}$logout(h,u){return this.authenticationService.logout(h,u)}$getAccounts(h){return this.authenticationService.getSessions(h).then(u=>u.map(c=>c.account))}async doGetSession(h,u,c,E,f){const d=await this.authenticationService.getSessions(h,u,!0),y=this.authenticationService.supportsMultipleAccounts(h);if(f.forceNewSession&&!d.length)throw new Error("No existing sessions found.");if(f.forceNewSession&&f.createIfNone)throw new Error("Invalid combination of options. Please remove one of the following: forceNewSession, createIfNone");if(f.forceNewSession&&f.silent)throw new Error("Invalid combination of options. Please remove one of the following: forceNewSession, silent");if(f.createIfNone&&f.silent)throw new Error("Invalid combination of options. Please remove one of the following: createIfNone, silent");if(!f.forceNewSession&&d.length){if(y)if(f.clearSessionPreference)await this.authenticationService.removeExtensionSessionId(E,h);else{const A=await this.authenticationService.getExtensionSessionId(E,h);if(A){const S=d.find(D=>D.id===A);if(S&&await this.authenticationService.isAccessAllowed(h,S.account.label,c))return S}}else if(await this.authenticationService.isAccessAllowed(h,d[0].account.label,c))return d[0]}if(f.createIfNone||f.forceNewSession){const A=this.authenticationService.getLabel(h),S=typeof f.forceNewSession=="object"?f.forceNewSession.detail:void 0;if(!await this.loginPrompt(A,E,!!f.forceNewSession,S))throw new Error("User did not consent to login.");const I=d?.length&&!f.forceNewSession&&y?await this.selectSession(h,A,c,E,d,u,f,!!f.clearSessionPreference):await this.authenticationService.login(h,u,f);return await this.authenticationService.updatedAllowedExtension(h,I.account.label,c,E,!0),await this.authenticationService.setExtensionSessionId(E,h,I.id),I}const b=d.find(A=>this.authenticationService.isAccessAllowed(h,A.account.label,c));return!f.silent&&!b&&await this.authenticationService.requestNewSession(h,u,f,c,E),b}async $getSession(h,u,c,E,f){const d=await this.doGetSession(h,u,c,E,f);return d&&await this.authenticationService.addAccountUsage(h,d.account.label,c,E),d}async selectSession(h,u,c,E,f,d,y,b){if(!f.length)throw new Error("No potential sessions found");if(b)await this.authenticationService.removeExtensionSessionId(E,h);else{const T=await this.authenticationService.getExtensionSessionId(E,h);if(T){const R=f.find(P=>P.id===T);if(R&&await this.$getSessionsPrompt(h,R.account.label,u,c,E))return R}}const A=f.map(T=>({label:T.account.label,value:T}));A.push({label:(0,l.localize)("authentication.useOtherAccount"),value:void 0});const S=await this.quickPickService.show(A,{title:(0,l.formatLocalize)("authentication.selectAccount",E,u),placeholder:(0,l.formatLocalize)("authentication.getSessionPlaceholder",E),ignoreFocusOut:!0}),D=S??await this.authenticationService.login(h,d,y),I=D.account.label,w=await this.authenticationService.getAllowedExtensions(h,I);return w.find(T=>T.id===c)||(w.push({id:c,name:E}),await this.authenticationService.setAllowedExtensions(h,I,w)),await this.authenticationService.setExtensionSessionId(E,h,D.id),D}async $getSessionsPrompt(h,u,c,E,f){const d=await this.authenticationService.getAllowedExtensions(h,u);if(d.find(S=>S.id===E))return await this.authenticationService.addAccountUsage(h,u,E,f),!0;const A=await this.dialogService.info((0,l.formatLocalize)("authentication.confirmAuthenticationAccess",f,c,u),[(0,l.localize)("ButtonCancel"),(0,l.localize)("ButtonAllow")])===(0,l.localize)("ButtonAllow");return A&&(this.authenticationService.addAccountUsage(h,u,E,f),d.push({id:E,name:f}),await this.authenticationService.setAllowedExtensions(h,u,d)),A}async loginPrompt(h,u,c,E){return await this.dialogService.info(c?(0,l.formatLocalize)("authentication.confirmReLogin",u,h):(0,l.formatLocalize)("authentication.confirmLogin",u,h),[(0,l.localize)("ButtonCancel"),(0,l.localize)("ButtonAllow")])===(0,l.localize)("ButtonAllow")}async $setTrustedExtensionAndAccountPreference(h,u,c,E,f){const d=await this.authenticationService.getAllowedExtensions(h,u);d.find(y=>y.id===c)||(d.push({id:c,name:E}),await this.authenticationService.setAllowedExtensions(h,u,d)),await this.authenticationService.setExtensionSessionId(E,h,f),await this.authenticationService.addAccountUsage(h,u,c,E)}};t.MainThreadAuthentication=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)(_.IAuthenticationService),n.__metadata("design:type",Object)],g.prototype,"authenticationService",void 0),n.__decorate([(0,r.Autowired)(v.IDialogService),n.__metadata("design:type",Object)],g.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(v.IMessageService),n.__metadata("design:type",Object)],g.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(l.QuickPickService),n.__metadata("design:type",Object)],g.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(p.IActivationEventService),n.__metadata("design:type",p.IActivationEventService)],g.prototype,"activationService",void 0),t.MainThreadAuthentication=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],g)},14678:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCommands=void 0;const r=e(85608),o=e(76003),l=e(8919),_=e(41869),v=e(43718),m=e(21880),p=e(46147),{isNonEmptyArray:s}=v.arrays;let g=class{constructor(h){this.rpcProtocol=h,n.set(this,void 0),this.commands=new Map,this.argumentProcessors=[],this.disposable=new v.Disposable,r.__classPrivateFieldSet(this,n,this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostCommands),"f"),r.__classPrivateFieldGet(this,n,"f").$registerBuiltInCommands(),r.__classPrivateFieldGet(this,n,"f").$registerCommandConverter(),this.registerUriArgProcessor()}registerUriArgProcessor(){this.disposable.addDispose(this.registerArgumentProcessor({processArgument:h=>h instanceof v.URI?h.codeUri:s(h)?h.map(u=>u instanceof v.URI?u.codeUri:u):h}))}dispose(){this.commands.forEach(h=>{h.dispose()}),this.commands.clear(),this.disposable.dispose()}registerArgumentProcessor(h){return this.argumentProcessors.push(h),v.Disposable.create(()=>{const u=this.argumentProcessors.indexOf(h);u>=0&&this.argumentProcessors.splice(u,1)})}$registerCommand(h){const u=r.__classPrivateFieldGet(this,n,"f"),c=(...y)=>(y=y.map(b=>this.argumentProcessors.reduce((A,S)=>S.processArgument(A),b)),u.$executeContributedCommand(h,...y)),E=new v.Disposable,f={execute:c,dispose:()=>E.dispose()};this.commandRegistry.getCommand(h)?E.addDispose(this.commandRegistry.registerHandler(h,{execute:c})):E.addDispose(this.commandRegistry.registerCommand({id:h},{execute:c})),this.commands.set(h,f)}$unregisterCommand(h){const u=this.commands.get(h);u&&(u.dispose(),this.commands.delete(h))}$getCommands(){return Promise.resolve(this.commandRegistry.getCommands().map(h=>h.id))}$executeExtensionCommand(h,...u){return this.commands.has(h)?this.commands.get(h).execute(...u):(u=u.map(c=>this.argumentProcessors.reduce((E,f)=>f.processArgument(E),c)),r.__classPrivateFieldGet(this,n,"f").$executeContributedCommand(h,...u))}$executeCommandWithExtensionInfo(h,u,...c){if(!this.commandRegistry.isPermittedCommand(h,u,...c))throw new Error(`Extension ${u.id} has not permit to execute ${h}`);return this.$executeCommand(h,...c)}async $executeCommand(h,...u){try{return await this.monacoCommandService.executeCommand(h,...u)}catch(c){throw this.logger.error(c),c}}};t.MainThreadCommands=g,n=new WeakMap,r.__decorate([(0,o.Autowired)(_.CommandRegistry),r.__metadata("design:type",Object)],g.prototype,"commandRegistry",void 0),r.__decorate([(0,o.Autowired)(m.ICommandServiceToken),r.__metadata("design:type",Object)],g.prototype,"monacoCommandService",void 0),r.__decorate([(0,o.Autowired)(_.ILogger),r.__metadata("design:type",Object)],g.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(_.IContextKeyService),r.__metadata("design:type",Object)],g.prototype,"contextKeyService",void 0),t.MainThreadCommands=g=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)(l.IRPCProtocol)),r.__metadata("design:paramtypes",[Object])],g)},33530:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCommentController=t.MainThreadCommentThread=t.MainThreadComments=void 0;const n=e(85608),r=e(76003),o=e(86077),l=e(8919),_=e(93899),v=e(43718),m=e(20868),p=e(28423),s=e(46147),g=e(53043),a=e(53886);let h=class{constructor(f,d){this.rpcProtocol=f,this.mainThreadCommands=d,this._providers=new Map,this._commentControllers=new Map,this.disposable=new v.Disposable,this.proxy=this.rpcProtocol.getProxy(s.ExtHostAPIIdentifier.ExtHostComments),this.disposable.addDispose(this.registerCommentThreadTemplateHander()),this.disposable.addDispose(this.registerArgumentProcessor())}registerCommentThreadTemplateHander(){return this.commentsService.onThreadsCreated(async f=>{if((0,v.isUndefined)(f.data)){const d=this.commentsService.getProviderIdsByLine(f.range.startLineNumber)[0];if(d){const y=this._providers.get(d);if((0,v.isUndefined)(y))return;const b=this._commentControllers.get(y);if(!b)throw new Error("unknown controller");b.createCommentThreadTemplate(f.uri.codeUri,f.range)}}})}registerArgumentProcessor(){return this.mainThreadCommands.registerArgumentProcessor({processArgument:f=>{if(!f||!f.menuId||!f.thread||(0,v.isUndefined)(f.thread.data))return f;switch(f.menuId){case _.MenuId.CommentsCommentThreadTitle:return{$mid:7,commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle};case _.MenuId.CommentsCommentThreadContext:return{$mid:8,thread:{commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle},text:f.text};case _.MenuId.CommentsCommentTitle:return{$mid:9,thread:{commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle},commentUniqueId:+f.comment.id};case _.MenuId.CommentsCommentContext:return{$mid:10,thread:{commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle},commentUniqueId:+f.comment.id,text:f.body};default:return f}}})}$updateCommentThread(f,d,y,b,A){const S=this._commentControllers.get(f);if(S)return S.updateCommentThread(d,y,b,A)}$registerCommentController(f,d,y){this.commentsService.registerCommentPanel(),this._providers.set(d,f);const b=this.injector.get(c,[this.proxy,f,d,y,{}]);this._commentControllers.set(f,b),this.commentsService.forceUpdateDecoration(),this.disposable.addDispose(v.Disposable.create(()=>{this.$unregisterCommentController(f)}))}$updateCommentControllerFeatures(f,d){const y=this._commentControllers.get(f);y&&y.updateFeatures(d)}$unregisterCommentController(f){const d=this._commentControllers.get(f);d&&(d.dispose(),this._providers.delete(d.id)),this._commentControllers.delete(f)}$createCommentThread(f,d,y,b,A,S){const D=this._commentControllers.get(f);if(D)return D.createCommentThread(S,d,y,b,A)}$deleteCommentThread(f,d){const y=this._commentControllers.get(f);if(y)return y.deleteCommentThread(d)}dispose(){this.disposable.dispose(),this._commentControllers.clear()}};t.MainThreadComments=h,n.__decorate([(0,r.Autowired)(o.ICommentsService),n.__metadata("design:type",Object)],h.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],h.prototype,"injector",void 0),t.MainThreadComments=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],h);let u=class extends v.Disposable{get input(){return this._input}set input(f){this._input=f,this._onDidChangeInput.fire(f)}get onDidChangeInput(){return this._onDidChangeInput.event}get label(){var f;return(f=this._thread.label)===null||f===void 0?void 0:f.get()}set label(f){(0,p.transaction)(d=>{var y;(y=this._thread.label)===null||y===void 0||y.set(f,d)}),this._onDidChangeLabel.fire(f)}get contextValue(){return this._thread.contextValue}set contextValue(f){this._thread.contextValue=f}convertToIThreadComment(f){var d;return{id:f.uniqueIdInThread.toString(),mode:f.mode,body:typeof f.body=="string"?f.body:g.MarkdownString.from(f.body),label:f.label,contextValue:f.contextValue,author:{name:f.userName,iconPath:new v.URI(v.URI.revive(f.userIconPath))},reactions:(d=f.commentReactions)===null||d===void 0?void 0:d.map(y=>this.convertToCommentReaction(y)),timestamp:f.timestamp}}convertToCommentReaction(f){const{label:d,iconPath:y,count:b,hasReacted:A}=f;return{label:d,iconPath:new v.URI(v.URI.revive(y)),count:b??0,authorHasReacted:!!A}}convertToCoreReaction(f){const{label:d,iconPath:y,count:b,authorHasReacted:A}=f;return{label:d,iconPath:v.URI.revive(y),count:b??0,hasReacted:A}}convertToCoreComment(f){var d;return{uniqueIdInThread:+f.id,contextValue:f.contextValue,mode:f.mode,label:typeof f.label=="string"?f.label:"",body:f.body,userName:f.author.name,commentReactions:(d=f.reactions)===null||d===void 0?void 0:d.map(y=>this.convertToCoreReaction(y)),timestamp:f.timestamp}}get comments(){return this._thread.comments.get().map(f=>this.convertToCoreComment(f))}set comments(f){f?this._thread.updateComments(f.map(d=>this.convertToIThreadComment(d))):this._thread.updateComments([]),this._onDidChangeComments.fire(f)}get onDidChangeComments(){return this._onDidChangeComments.event}set range(f){this._thread.range=f,this._onDidChangeRange.fire(this._thread.range)}get range(){return this._thread.range}get onDidChangeCanReply(){return this._onDidChangeCanReply.event}set canReply(f){this._thread.setReadOnly(!f),this._onDidChangeCanReply.fire(f)}get canReply(){return!this._thread.readOnly.get()}get collapsibleState(){return this._thread.isCollapsed.get()?a.CommentThreadCollapsibleState.Collapsed:a.CommentThreadCollapsibleState.Expanded}set collapsibleState(f){(0,p.transaction)(d=>{this._thread.isCollapsed.set(f===a.CommentThreadCollapsibleState.Collapsed,d)}),this._onDidChangeCollasibleState.fire(this._collapsibleState)}get isDisposed(){return this._isDisposed}constructor(f,d,y,b,A,S,D){super(),this.commentThreadHandle=f,this.controllerHandle=d,this.extensionId=y,this.threadId=b,this.resource=A,this._onDidChangeInput=new v.Emitter,this._onDidChangeLabel=new v.Emitter,this.onDidChangeLabel=this._onDidChangeLabel.event,this._onDidChangeComments=new v.Emitter,this._onDidChangeCanReply=new v.Emitter,this._onDidChangeRange=new v.Emitter,this.onDidChangeRange=this._onDidChangeRange.event,this._onDidChangeCollasibleState=new v.Emitter,this.onDidChangeCollasibleState=this._onDidChangeCollasibleState.event;const I=this.commentsService.commentsThreads.filter(R=>R.uri.toString()===A&&R.range.startLineNumber===S.startLineNumber),[w]=I.slice(-1),T={commentControlHandle:d,commentThreadHandle:f};w&&!w.data?(w.data=T,this._thread=w):this._thread=this.commentsService.createThread(new v.URI(A),(0,m.positionToRange)(S.startLineNumber),{data:T,readOnly:!D}),this.disposables.push(this.onDidChangeComments(()=>{this.commentsService.fireThreadCommentChange(this._thread)}),this._onDidChangeCollasibleState,this._onDidChangeComments,this._onDidChangeInput,this._onDidChangeLabel,this._onDidChangeRange),this._isDisposed=!1}isDocumentCommentThread(){throw new Error("Method not implemented.")}batchUpdate(f){const d=y=>Object.prototype.hasOwnProperty.call(f,y);d("range")&&(this.range=f.range),d("label")&&(this.label=f.label),d("contextValue")&&(this.contextValue=f.contextValue),d("comments")&&(this.comments=f.comments),d("collapseState")&&(this.collapsibleState=f.collapseState),d("canReply")&&(this.canReply=f.canReply)}dispose(){this._isDisposed=!0,this._thread.dispose(),super.dispose()}toJSON(){return{$mid:7,commentControlHandle:this.controllerHandle,commentThreadHandle:this.commentThreadHandle}}};t.MainThreadCommentThread=u,n.__decorate([(0,r.Autowired)(o.ICommentsService),n.__metadata("design:type",Object)],u.prototype,"commentsService",void 0),t.MainThreadCommentThread=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Number,Number,String,String,String,Object,Boolean])],u);let c=class extends v.WithEventBus{get handle(){return this._handle}get id(){return this._id}get contextValue(){return this._id}get proxy(){return this._proxy}get label(){return this._label}get reactions(){return this._reactions}set reactions(f){this._reactions=f}get features(){return this._features}constructor(f,d,y,b,A){super(),this._proxy=f,this._handle=d,this._id=y,this._label=b,this._features=A,this._threads=new Map,this.addDispose(this.commentsService.registerCommentRangeProvider(y,{getCommentingRanges:S=>this.getCommentingRanges(S.uri,v.CancellationToken.None)}))}updateFeatures(f){var d;this._features={...this._features,...f},this.commentsFeatureRegistry.registerProviderFeature(this._id,{placeholder:(d=this._features.options)===null||d===void 0?void 0:d.placeHolder})}createCommentThread(f,d,y,b,A){const S=v.URI.from(b),D=this.injector.get(u,[d,this.handle,f,y,S.toString(),A,!0]);return this._threads.set(d,D),this.addDispose({dispose:()=>{this._threads.delete(d),D.dispose()}}),D}updateCommentThread(f,d,y,b){this.getKnownThread(f).batchUpdate(b)}deleteCommentThread(f){const d=this.getKnownThread(f);this._threads.delete(f),d.dispose()}deleteCommentThreadMain(f){this._threads.forEach(d=>{d.threadId===f&&this._proxy.$deleteCommentThread(this._handle,d.commentThreadHandle)})}getKnownThread(f){const d=this._threads.get(f);if(!d)throw new Error("unknown thread");return d}async getCommentingRanges(f,d){return await this._proxy.$provideCommentingRanges(this.handle,f.codeUri,d)||[]}handleCommentReaction(f){var d;const{thread:y,comment:b,reaction:A}=f.payload,S=(d=y.data)===null||d===void 0?void 0:d.commentThreadHandle,D=this.getKnownThread(S),I=D.convertToCoreComment(b),w=D.convertToCoreReaction(A);this.toggleReaction(y.uri,D,I,w)}async toggleReaction(f,d,y,b){return this._proxy.$toggleReaction(this._handle,d.commentThreadHandle,f.codeUri,y,b)}createCommentThreadTemplate(f,d){this._proxy.$createCommentThreadTemplate(this.handle,f,d)}async updateCommentThreadTemplate(f,d){await this._proxy.$updateCommentThreadTemplate(this.handle,f,d)}toJSON(){return{$mid:6,handle:this.handle}}};t.MainThreadCommentController=c,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],c.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.ICommentsService),n.__metadata("design:type",Object)],c.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(o.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],c.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,v.OnEvent)(o.CommentReactionClick),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[o.CommentReactionClick]),n.__metadata("design:returntype",void 0)],c.prototype,"handleCommentReaction",null),t.MainThreadCommentController=c=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Number,String,String,Object])],c)},57484:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadConnection=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(46147);let m=class{constructor(s){this.rpcProtocol=s,this.connections=new Map,this.connectionsReady=new Map,this.toDispose=new _.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostConnection)}dispose(){this.connections.forEach(s=>{s.dispose()}),this.connections.clear(),this.toDispose.dispose()}async $sendMessage(s,g){const a=this.connectionsReady.get(s);a&&await a.promise,this.connections.has(s)?this.connections.get(s).readMessage(g):this.logger.warn(`Do not found connection ${s}`)}async $createConnection(s){this.logger.log(`create connection ${s}`),await this.doEnsureConnection(s)}async $deleteConnection(s){this.logger.log(`delete connection ${s}`),this.connections.delete(s)}async ensureConnection(s){const g=await this.doEnsureConnection(s);return await this.proxy.$createConnection(s),g}async doEnsureConnection(s){let g=this.connections.get(s);if(!g){const a=new l.Deferred;this.connectionsReady.set(s,a),g=await this.doCreateConnection(s),a.resolve(),this.connections.set(s,g),this.connectionsReady.delete(s)}return g}async doCreateConnection(s){const g=new v.ExtensionConnection(s,this.proxy,()=>{this.connections.delete(s),this.proxy.$deleteConnection(s)});return this.toDispose.push(_.Disposable.create(()=>g.fireClose())),g}};t.MainThreadConnection=m,n.__decorate([(0,r.Autowired)(_.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),t.MainThreadConnection=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],m)},23105:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCustomEditor=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(57517),v=e(65046),m=e(46147),p=e(35912),s=e(62783);let g=class extends l.WithEventBus{constructor(h,u){super(),this.webview=u,this.customEditors=new Map,this.proxy=h.getProxy(m.ExtHostAPIIdentifier.ExtHostCustomEditor)}$acceptCustomDocumentDirty(h,u){this.eventBus.fire(new _.ResourceDecorationNeedChangeEvent({uri:l.URI.from(h),decoration:{dirty:u}}))}async onShouldSave(h){const{viewType:u,uri:c,cancellationToken:E}=h.payload,f=this.customEditors.get(u);if(f){if(f.type===m.CustomEditorType.TextEditor){const d=this.editorDocumentModelService.getModelReference(c);if(d)try{await d.instance.save()}finally{d.dispose()}}else if(f.type===m.CustomEditorType.FullEditor)return this.proxy.$saveCustomDocument(u,c.codeUri,E)}}async onShouldRevert(h){const{viewType:u,uri:c,cancellationToken:E}=h.payload,f=this.customEditors.get(u);if(f){if(f.type===m.CustomEditorType.TextEditor){const d=this.editorDocumentModelService.getModelReference(c);if(d)try{await d.instance.revert()}finally{d.dispose()}}else if(f.type===m.CustomEditorType.FullEditor)return this.proxy.$revertCustomDocument(u,c.codeUri,E)}}async onShouldEdit(h){const{viewType:u,uri:c,type:E}=h.payload,f=this.customEditors.get(u);if(f)if(f.type===m.CustomEditorType.TextEditor){const d=this.editorDocumentModelService.getModelReference(c);if(d)try{E==="undo"?await d.instance.getMonacoModel().undo():await d.instance.getMonacoModel().redo()}finally{d.dispose()}}else f.type===m.CustomEditorType.FullEditor&&(E==="undo"?await this.proxy.$undo(u,c.codeUri):await this.proxy.$redo(u,c.codeUri))}async onCustomEditorShouldDisplayEvent(h){const u=this.customEditors.get(h.payload.viewType);if(u){const{viewType:c,uri:E,openTypeId:f,webviewPanelId:d,cancellationToken:y}=h.payload;if(u.type===m.CustomEditorType.TextEditor){const b=await this.editorDocumentModelService.createModelReference(E);if(!b)throw new Error(`failed to open document ${E} for custom editor`);if(y.isCancellationRequested){b.dispose();return}const A=this.webviewService.getWebview(d);if(!A)throw b.dispose(),new Error(`failed to find webview ${d}`);this.eventBus.on(p.CustomEditorShouldHideEvent,S=>{E.isEqual(S.payload.uri)&&b.dispose()}),this.webview.pipeBrowserHostedWebviewPanel(A,{uri:E,openTypeId:f},c,u.options.webviewOptions||{},u.extensionInfo),this.proxy.$resolveCustomTextEditor(c,E.codeUri,d,y)}else{const b=this.webviewService.getWebview(d);if(!b)throw new Error(`failed to find webview ${d}`);this.webview.pipeBrowserHostedWebviewPanel(b,{uri:E,openTypeId:f},c,u.options.webviewOptions||{},u.extensionInfo),this.proxy.$resolveCustomTextEditor(c,E.codeUri,d,y)}}}$registerCustomEditor(h,u,c={},E){this.customEditors.set(h,{type:u,options:c,extensionInfo:E}),this.eventBus.fire(new p.CustomEditorOptionChangeEvent({viewType:h,options:c}))}$unregisterCustomEditor(h){this.customEditors.delete(h)}};t.MainThreadCustomEditor=g,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],g.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(v.IWebviewService),n.__metadata("design:type",Object)],g.prototype,"webviewService",void 0),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldSaveEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onShouldSave",null),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldRevertEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldSaveEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onShouldRevert",null),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldEditEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldEditEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onShouldEdit",null),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldDisplayEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldDisplayEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onCustomEditorShouldDisplayEvent",null),t.MainThreadCustomEditor=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,s.MainThreadWebview])],g)},10273:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadDebug=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(66482),m=e(99797),p=e(37499),s=e(31141),g=e(97186),a=e(38029),h=e(15153),u=e(70159),c=e(26296),E=e(54414),f=e(14951),d=e(83145),y=e(72665),b=e(6487),A=e(46147),S=e(71354),D=e(77385),I=e(21259),w=e(90384);let T=class{constructor(P,O){this.rpcProtocol=P,this.mainThreadConnection=O,this.toDispose=new Map,this.listenerDispose=new l.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(A.ExtHostAPIIdentifier.ExtHostDebug),this.listen(),this.registerDebugContributions()}dispose(){this.toDispose.forEach(P=>{P.dispose()}),this.toDispose.clear(),this.listenerDispose.dispose()}listen(){this.listenerDispose.pushAll([this.breakpointManager.onDidChangeBreakpoints(({added:P,removed:O,changed:M})=>{const k=this.breakpointManager.getBreakpoints();this.proxy.$breakpointsDidChange(this.toCustomApiBreakpoints(k),this.toCustomApiBreakpoints(P),this.toCustomApiBreakpoints(O),this.toCustomApiBreakpoints(M))}),this.sessionManager.onDidStartDebugSession(P=>{this.proxy.$sessionDidStart(P.id)}),this.sessionManager.onDidDestroyDebugSession(P=>{this.proxy.$sessionDidDestroy(P.id)}),this.sessionManager.onDidChangeActiveDebugSession(P=>{this.proxy.$sessionDidChange(P.current&&P.current.id)}),this.sessionManager.onDidReceiveDebugSessionCustomEvent(P=>{this.proxy.$onSessionCustomEvent(P.session.id,P.event,P.body)}),this.debugService.onDidDebugContributionPointChange(({path:P,contributions:O,removed:M})=>{M?(this.proxy.$unregisterDebuggerContributions(O),O.forEach(k=>{this.$unregisterDebuggerContribution({type:k.type,label:k.label||k.type}),this.logger.log(`Debugger contribution has been unregistered: ${k.type}`)})):(this.proxy.$registerDebuggerContributions(P,O),O.forEach(k=>{this.$registerDebuggerContribution({type:k.type,label:k.label||k.type}),this.logger.log(`Debugger contribution has been registered: ${k.type}`)}))})])}registerDebugContributions(){const P=this.debugService.debugContributionPoints;for(const[O,M]of P)this.proxy.$registerDebuggerContributions(O,M),M.forEach(k=>{this.$registerDebuggerContribution({type:k.type,label:k.label||k.type}),this.logger.log(`Debugger contribution has been registered: ${k.type}`)})}async $appendToDebugConsole(P){this.debugConsoleModelService.debugConsoleSession&&this.debugConsoleModelService.debugConsoleSession.append(P)}async $appendLineToDebugConsole(P){this.debugConsoleModelService.debugConsoleSession&&this.debugConsoleModelService.debugConsoleSession.appendLine(P)}async $unregisterDebuggerContribution(P){const O=this.toDispose.get(P.type);O?.dispose()}async $registerDebuggerContribution(P){const O=new l.DisposableCollection,M=await this.proxy.$getTerminalCreationOptions(P.type);this.toDispose.set(P.type,O);const k=new D.ExtensionDebugSessionFactory(this.editorService,this.breakpointManager,this.modelManager,this.terminalService,this.labelService,this.messageService,this.debugPreferences,async F=>await this.mainThreadConnection.ensureConnection(F),this.fileService,M,this.debugPreferences,this.outputService,this.injector,this.sessionManager);O.pushAll([this.adapterContributionRegister.registerDebugAdapterContribution(new I.ExtensionDebugAdapterContribution(P,this.proxy,this.activationEventService)),this.sessionContributionRegistry.registerDebugSessionContribution({debugType:P.type,debugSessionFactory:()=>k})])}async $addBreakpoints(P){const O=new Map;P.forEach(M=>O.set(M.id,M)),this.breakpointManager.findMarkers({dataFilter:M=>(O.has(M.id)&&O.delete(M.id),!1)});for(const M of O.values())if(M.location){const k=M.location;this.breakpointManager.addBreakpoint(m.DebugBreakpoint.create(l.Uri.revive(k.uri),{line:M.location.range.startLineNumber+1,column:1,condition:M.condition,hitCondition:M.hitCondition,logMessage:M.logMessage},!0))}}async $removeBreakpoints(P){const O=new Set;P.forEach(M=>O.add(M.id));for(const M of this.breakpointManager.findMarkers({dataFilter:k=>O.has(k.id)})){const k=this.modelManager.resolve(new l.URI(M.data.uri));k&&k[0].breakpoint&&this.breakpointManager.delBreakpoint(k[0].breakpoint)}}async $customRequest(P,O,M){const k=this.sessionManager.getSession(P);if(k)return k.sendCustomRequest(O,M);throw new Error(`Debug session '${P}' not found`)}$getDebugProtocolBreakpoint(P,O){const M=this.sessionManager.getSession(P);return M?Promise.resolve(M.getDebugProtocolBreakpoint(O)):Promise.reject(new Error("debug session not found"))}async $startDebugging(P,O,M){let k,F=0;if(typeof O=="string")for(const U of this.debugConfigurationManager.all){if(U.configuration.name===O){k=U.configuration;break}F++}else k=O;if(!k)throw new Error(`No configuration ${O}`);const L={noDebug:!1,parentSession:this.sessionManager.getSession(M.parentSessionID),repl:M.repl,compact:M.compact,lifecycleManagedByParent:M.lifecycleManagedByParent};return!!await this.sessionManager.start({configuration:k,workspaceFolderUri:P&&l.Uri.revive(P.uri).toString(),index:F,...L})}$stopDebugging(P){if(P){const O=this.sessionManager.getSession(P);if(O)return this.sessionManager.stopSession(O)}else return this.sessionManager.stopSession(void 0);throw new Error(`Debug session '${P}' not found`)}toCustomApiBreakpoints(P){return P.map(O=>({id:O.id,enabled:O.enabled,condition:O.raw.condition,hitCondition:O.raw.hitCondition,logMessage:O.raw.logMessage,location:{uri:l.Uri.parse(O.uri),range:{startLineNumber:O.raw.line-1,startColumn:(O.raw.column||1)-1,endLineNumber:O.raw.line-1,endColumn:(O.raw.column||1)-1}}}))}};t.MainThreadDebug=T,n.__decorate([(0,r.Autowired)(c.IDebugSessionManager),n.__metadata("design:type",a.DebugSessionManager)],T.prototype,"sessionManager",void 0),n.__decorate([(0,r.Autowired)(_.LabelService),n.__metadata("design:type",_.LabelService)],T.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(m.BreakpointManager),n.__metadata("design:type",m.BreakpointManager)],T.prototype,"breakpointManager",void 0),n.__decorate([(0,r.Autowired)(v.IDebugModelManager),n.__metadata("design:type",Object)],T.prototype,"modelManager",void 0),n.__decorate([(0,r.Autowired)(p.DebugConfigurationManager),n.__metadata("design:type",p.DebugConfigurationManager)],T.prototype,"debugConfigurationManager",void 0),n.__decorate([(0,r.Autowired)(s.DebugPreferences),n.__metadata("design:type",Object)],T.prototype,"debugPreferences",void 0),n.__decorate([(0,r.Autowired)(E.WorkbenchEditorService),n.__metadata("design:type",E.WorkbenchEditorService)],T.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(y.IMessageService),n.__metadata("design:type",Object)],T.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(f.IFileServiceClient),n.__metadata("design:type",Object)],T.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(u.IDebugServer),n.__metadata("design:type",w.ExtensionDebugService)],T.prototype,"adapterContributionRegister",void 0),n.__decorate([(0,r.Autowired)(S.IActivationEventService),n.__metadata("design:type",S.IActivationEventService)],T.prototype,"activationEventService",void 0),n.__decorate([(0,r.Autowired)(g.DebugSessionContributionRegistry),n.__metadata("design:type",D.ExtensionDebugSessionContributionRegistry)],T.prototype,"sessionContributionRegistry",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],T.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(b.ITerminalApiService),n.__metadata("design:type",Object)],T.prototype,"terminalService",void 0),n.__decorate([(0,r.Autowired)(v.IDebugConsoleModelService),n.__metadata("design:type",h.DebugConsoleModelService)],T.prototype,"debugConsoleModelService",void 0),n.__decorate([(0,r.Autowired)(d.OutputService),n.__metadata("design:type",d.OutputService)],T.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(u.IDebugService),n.__metadata("design:type",Object)],T.prototype,"debugService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],T.prototype,"injector",void 0),t.MainThreadDebug=T=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__param(1,(0,r.Optional)(A.IInterProcessConnectionService)),n.__metadata("design:paramtypes",[Object,Object])],T)},78690:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadDecorations=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(41893),v=e(46147);class m{constructor(g){this._proxy=g,this._idPool=0,this._requests=Object.create(null),this._resolver=Object.create(null)}enqueue(g,a,h){const u=++this._idPool,c=new Promise(E=>{this._requests[u]={id:u,handle:g,uri:a},this._resolver[u]=E,this._processQueue()});return h.onCancellationRequested(()=>{delete this._requests[u],delete this._resolver[u]}),c}_processQueue(){typeof this._timer!="number"&&(this._timer=setTimeout(()=>{const g=this._requests,a=this._resolver;this._proxy.$provideFileDecorations(Object.values(g),l.CancellationToken.None).then(h=>{for(const u in a)a[u](h[u])}),this._requests=[],this._resolver=[],this._timer=void 0},0))}}let p=class{constructor(g){this.rpcProtocol=g,this._provider=new Map,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostDecorations),this._requestQueue=new m(this.proxy)}dispose(){this._provider.forEach(g=>(0,l.dispose)(g)),this._provider.clear()}$registerDecorationProvider(g,a){const h=new l.Emitter,u=this.decorationsService.registerDecorationsProvider({label:a,onDidChange:h.event,provideDecorations:(c,E)=>this._requestQueue.enqueue(g,c,E).then(f=>{if(!f)return;const[d,y,b,A]=f;return{weight:10,bubble:d||!1,color:A?.id,tooltip:y,letter:b}})});this._provider.set(g,[h,u])}$onDidChange(g,a){const h=this._provider.get(g);if(h){const[u]=h;u.fire(a&&a.map(c=>l.Uri.revive(c)))}}$unregisterDecorationProvider(g){const a=this._provider.get(g);a&&((0,l.dispose)(a),this._provider.delete(g))}};t.MainThreadDecorations=p,n.__decorate([(0,r.Autowired)(_.IDecorationsService),n.__metadata("design:type",_.IDecorationsService)],p.prototype,"decorationsService",void 0),t.MainThreadDecorations=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],p)},84680:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadExtensionDocumentData=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(43718),m=e(54414),p=e(57517),s=e(17878),g=e(14951),a=e(46147),h=1e3*60*3,u=1e3*20,c=1024*1024*80;let E=class{constructor(b){this.proxy=b,this.onDidChangeContentEmitter=new v.Emitter,this.onDidChangeContent=this.onDidChangeContentEmitter.event,this.schemes=new Set}registerScheme(b){this.schemes.add(b)}unregisterScheme(b){this.schemes.delete(b)}handlesScheme(b){return this.schemes.has(b)}provideEditorDocumentModelContent(b,A){return this.proxy.$provideTextDocumentContent(b.toString(),A)}isReadonly(b){return!0}};E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],E);let f=class extends v.WithEventBus{isDocSyncEnabled(b){var A;const S=b.toString();if(!this.docSyncEnabled.has(S)){const D=this.docManager.getModelReference(new v.URI(S),"mainthread doc size");D&&(this.docSyncEnabled.set(S,D.instance.getMonacoModel().getValueLength()<this.preference.getValid("editor.docExtHostSyncMaxSize",4*1024*1024*1024)),D.dispose())}return(A=this.docSyncEnabled.get(S))!==null&&A!==void 0?A:!1}isDocIgnored(b){return b.codeUri.scheme===v.Schemes.walkThroughSnippet}constructor(b){super(),this.rpcProtocol=b,this.editorDisposers=new Map,this.extHoldDocuments=new d,this.docSyncEnabled=new v.LRUMap(200,100),this.proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostDocuments),this.provider=this.injector.get(E,[this.proxy]),this.contentRegistry.registerEditorDocumentModelContentProvider(this.provider),this.docManager.getAllModels().map(A=>{this.isDocSyncEnabled(A.uri)&&this.proxy.$fireModelOpenedEvent({uri:A.uri.toString(),lines:A.getText().split(A.eol),eol:A.eol,dirty:A.dirty,languageId:A.languageId,versionId:A.getMonacoModel().getVersionId()})})}onEditorDocumentModelContentChangeEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||this.proxy.$fireModelChangedEvent({changes:b.payload.changes,uri:b.payload.uri.toString(),eol:b.payload.eol,dirty:b.payload.dirty,versionId:b.payload.versionId,isRedoing:b.payload.isRedoing,isUndoing:b.payload.isUndoing})}async onEditorDocumentModelWillSaveEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||await this.proxy.$fireModelWillSaveEvent({uri:b.payload.uri.toString(),reason:b.payload.reason,dirty:b.payload.dirty})}onEditorDocumentModelOptionChangedEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||this.proxy.$fireModelOptionsChangedEvent({encoding:b.payload.encoding,uri:b.payload.uri.toString(),languageId:b.payload.languageId,dirty:b.payload.dirty})}onEditorDocumentModelContentCreationEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||this.proxy.$fireModelOpenedEvent({uri:b.payload.uri.toString(),lines:b.payload.content.split(b.payload.eol),eol:b.payload.eol,dirty:!1,languageId:b.payload.languageId,versionId:b.payload.versionId})}onEditorDocumentModelRemovedEvent(b){!this.isDocSyncEnabled(b.payload)||this.isDocIgnored(b.payload)||this.proxy.$fireModelRemovedEvent({uri:b.payload.toString()})}onEditorDocumentModelSavingEvent(b){!this.isDocSyncEnabled(b.payload)||this.isDocIgnored(b.payload)||this.proxy.$fireModelSavedEvent({uri:b.payload.toString()})}async $tryCreateDocument(b){b||(b={});const{language:A,content:S}=b,D=await this.docManager.createModelReference(new v.URI(`${v.Schemes.untitled}://temp/Untitled-`+this.tempDocIdCount.id),"ext-create-document");return A&&(D.instance.languageId=A),(0,v.isUndefinedOrNull)(S)||D.instance.updateContent(S),D.instance.uri.toString()}async $tryOpenDocument(b){const A=await this.docManager.createModelReference(new v.URI(b),"ext-open-document");this.extHoldDocuments.add(A)}async $trySaveDocument(b){const A=await this.docManager.getModelReference(new v.URI(b),"ext-saving-document");if(A)try{return A.instance.save(!0)}finally{A.dispose()}return!1}async $fireTextDocumentChangedEvent(b){this.provider.onDidChangeContentEmitter.fire(new v.URI(b))}$unregisterDocumentProviderWithScheme(b){this.editorDisposers.has(b)&&(this.editorDisposers.get(b).dispose(),this.editorDisposers.delete(b))}$registerDocumentProviderWithScheme(b){this.$unregisterDocumentProviderWithScheme(b);const A=new v.Disposable;A.addDispose(this.resourceService.registerResourceProvider({scheme:b,provideResource:async S=>Promise.all([this.labelService.getName(S),this.labelService.getIcon(S)]).then(([D,I])=>({name:D,icon:I,uri:S,metadata:null}))})),A.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(b,(S,D)=>{this.fileServiceClient.handlesScheme(b)||D.push({type:p.EditorOpenType.code,readonly:!0})})),A.addDispose({dispose:()=>{this.provider.unregisterScheme(b)}}),this.provider.registerScheme(b),this.editorDisposers.set(b,A)}dispose(){super.dispose();for(const b of this.editorDisposers.values())b.dispose();this.editorDisposers.clear()}};t.MainThreadExtensionDocumentData=f,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.UntitledDocumentIdCounter)],f.prototype,"tempDocIdCount",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],f.prototype,"docManager",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],f.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",m.ResourceService)],f.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.EditorComponentRegistry)],f.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.LabelService)],f.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],f.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],f.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(g.IFileServiceClient),n.__metadata("design:type",Object)],f.prototype,"fileServiceClient",void 0),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelContentChangeEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelWillSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelWillSaveEvent]),n.__metadata("design:returntype",Promise)],f.prototype,"onEditorDocumentModelWillSaveEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelOptionChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelOptionChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelOptionChangedEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelCreationEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelCreationEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelContentCreationEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelRemovalEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelRemovalEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelRemovedEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelSavedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelSavedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelSavingEvent",null),t.MainThreadExtensionDocumentData=f=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],f);class d{constructor(){this.maxLength=c,this.maxAge=h,this.minAge=u,this.refs=[],this.length=0}add(b){const A=b.instance.getText().length;this.length+=A;let S=null;const D={ref:b,dispose:()=>{const I=this.refs.indexOf(D);I!==0&&(this.length-=A,b.dispose(),clearTimeout(S),this.refs.splice(I,1))},createTimeStamp:new Date().getTime()};S=setTimeout(()=>{D.dispose()},this.maxAge),this.refs.push(D),this.clean()}clean(){for(;this.length>this.maxLength&&this.refs.length>1&&!(this.refs[0].createTimeStamp+this.minAge>new Date().getTime());)this.disposeFirst()}disposeFirst(){const b=this.refs.shift();b&&b.dispose()}}},11646:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadEditorTabsService=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(75524),_=e(43718),v=e(54414),m=e(51553),p=e(46147);let s=class extends _.Disposable{constructor(c){super(),this.rpcProtocol=c,this.prevEditorGroups=new Set,this.groupDataStore=new Map,this.tabStore=new a,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostEditorTabs),this.addDispose(this.workbenchEditorService.onDidEditorGroupsChanged(()=>{this.updateGroups()})),this.addDispose(this.workbenchEditorService.onActiveResourceChange(()=>{this.updateGroups()})),this.workbenchEditorService.contributionsReady.promise.then(()=>{this.updateGroups()})}$initializeState(){this.updateGroups()}$moveTab(c,E,f,d){const y=this.findEditorTabData(c);if(y){const{group:b,resource:A}=y;let S=b;(0,_.isUndefined)(f)||(S=this.workbenchEditorService.sortedEditorGroups[f]),S?S.dropUri(A.uri,v.DragOverPosition.CENTER,b,S.resources[E]):b.dropUri(A.uri,v.DragOverPosition.RIGHT)}}async $closeTab(c,E){return(await Promise.all(c.map(async d=>{const y=this.findEditorTabData(d);if(y)return await y.group.close(y.resource.uri)}))).filter(d=>!!d).length>0}async $closeGroup(c,E){return(await Promise.all(c.map(async d=>{var y;const b=(y=this.groupDataStore.get(d))===null||y===void 0?void 0:y.editorGroup;if(b)try{return await b.closeAll()}catch{return!1}}))).filter(d=>!!d).length>0}findEditorTabData(c){return this.tabStore.all.get(c)}getOrCreateGroupData(c){if(!this.groupDataStore.has(c.groupId)){const E=new h(c,this.workbenchEditorService,this.tabStore,this.proxy);E.addDispose({dispose:()=>{this.groupDataStore.get(c.groupId)===E&&this.groupDataStore.delete(c.groupId)}}),this.groupDataStore.set(c.groupId,E)}return this.groupDataStore.get(c.groupId)}updateGroups(){const c=(0,_.diffSets)(this.prevEditorGroups,new Set(this.workbenchEditorService.editorGroups));c.added.length>0||c.removed.length>0?this.proxy.$acceptEditorTabModel(this.workbenchEditorService.editorGroups.map(E=>{const f=this.getOrCreateGroupData(E);return{...f.dto,tabs:f.tabs.map(d=>d.dto)}})):this.workbenchEditorService.editorGroups.forEach(E=>{this.getOrCreateGroupData(E).tryCheckUpdate()}),this.prevEditorGroups=new Set(this.workbenchEditorService.editorGroups)}};t.MainThreadEditorTabsService=s,n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",m.WorkbenchEditorServiceImpl)],s.prototype,"workbenchEditorService",void 0),t.MainThreadEditorTabsService=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],s);class g{constructor(c,E){this.group=c,this.resource=E,this.tryUpdate()}updateResource(c){this.resource=c}tryUpdate(){const c=g.from(this.group,this.resource);return this._dto&&JSON.stringify(this._dto)!==JSON.stringify(c)?(this._dto=c,!0):(this._dto=c,!1)}get dto(){return this._dto}static getTabId(c,E){return`${c.groupId}~${E.uri.toString()}`}get index(){return this.group.resources.indexOf(this.resource)}static from(c,E){var f,d,y,b,A,S;const D=g.getTabId(c,E),I=c.getLastOpenType(E);let w={kind:0};if(I){if(I.type==="code")w={kind:1,uri:E.uri.codeUri};else if(I.type==="diff"){const{metadata:T}=E;T&&(w={kind:2,original:T.original.codeUri,modified:T.modified.codeUri})}else if(I.type==="mergeEditor"){const{metadata:T}=E;if(T){const{ancestor:R,input1:P,input2:O,output:M}=T,k=l.MergeEditorInputData.from(P),F=l.MergeEditorInputData.from(O);w={kind:3,base:_.Uri.parse(R),input1:k.uri.codeUri,input2:F.uri.codeUri,result:_.Uri.parse(M)}}}else if(I.type==="component"){const T=c.editorComponentRegistry.getEditorComponent(I.componentId);!((f=T?.metadata)===null||f===void 0)&&f.extWebview?w={kind:7,viewType:(d=T?.metadata)===null||d===void 0?void 0:d.extWebview}:!((y=T?.metadata)===null||y===void 0)&&y.customEditor&&(w={kind:6,viewType:(b=T?.metadata)===null||b===void 0?void 0:b.customEditor,uri:E.uri.codeUri})}}return{id:D,label:E.name,input:w,isActive:c.currentResource===E,isPinned:!1,isPreview:!!(!((A=c.previewURI)===null||A===void 0)&&A.isEqual(E.uri)),isDirty:!!(!((S=c.resourceService.getResourceDecoration(E.uri))===null||S===void 0)&&S.dirty)}}}class a{constructor(){this.all=new Map,this.mapByUri=new Map}getOrCreateData(c,E){const f=g.getTabId(c,E);if(this.all.has(f))this.all.get(f).updateResource(E);else{const d=new g(c,E),y=E.uri.toString();this.mapByUri.has(y)||this.mapByUri.set(y,new Map),this.mapByUri.get(y).set(f,d),this.all.set(f,d)}return this.all.get(f)}removeData(c){var E,f;const d=this.all.get(c);if(d){this.all.delete(c);const y=d.resource.uri.toString();(E=this.mapByUri.get(y))===null||E===void 0||E.delete(c),((f=this.mapByUri.get(y))===null||f===void 0?void 0:f.size)===0&&this.mapByUri.delete(y)}}getByResourceUri(c){var E;return Array.from(((E=this.mapByUri.get(c.toString()))===null||E===void 0?void 0:E.values())||[])}}class h extends _.Disposable{constructor(c,E,f,d){super(),this.editorGroup=c,this.editorService=E,this.store=f,this.proxy=d,this.tabs=[],this._data=void 0,this.editorGroup.addDispose(this),this.init()}init(){this.tabs=this.editorGroup.resources.map(c=>this.store.getOrCreateData(this.editorGroup,c)),this.addDispose(this.editorGroup.onDidEditorGroupTabOperation(c=>{const E={open:0,close:1,move:3}[c.type],f=this.store.getOrCreateData(this.editorGroup,c.resource);f.tryUpdate(),this.proxy.$acceptTabOperation({kind:E,groupId:this.editorGroup.groupId,tabDto:f.dto,index:c.index,oldIndex:c.oldIndex})})),this.addDispose(this.editorGroup.onDidEditorGroupBodyChanged(()=>{this.onTabsMayUpdated()})),this.addDispose(this.editorGroup.onDidEditorGroupTabChanged(()=>{this.onTabsMayUpdated()}))}onTabsMayUpdated(){this.tabs=this.editorGroup.resources.map((c,E)=>{const f=this.store.getOrCreateData(this.editorGroup,c);return f.tryUpdate()&&this.proxy.$acceptTabOperation({kind:2,tabDto:f.dto,index:E,groupId:this.editorGroup.groupId}),f})}tryCheckUpdate(){const c=this._data,E={groupId:this.editorGroup.groupId,isActive:this.editorService.currentEditorGroup===this.editorGroup,viewColumn:this.editorGroup.index};this._data=E,c&&(c.viewColumn!==E.viewColumn?this.proxy.$acceptTabGroupUpdate({...this.dto,tabs:[]}):!c.isActive&&E.isActive&&this.proxy.$acceptTabGroupUpdate({...this.dto,tabs:[]}))}get dto(){return this._data||(this._data={groupId:this.editorGroup.groupId,isActive:this.editorService.currentEditorGroup===this.editorGroup,viewColumn:this.editorGroup.index}),this._data}}},85589:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadEditorService=void 0,t.cursorStyleToString=P;const n=e(85608),r=n.__importDefault(e(82451)),o=n.__importDefault(e(97331)),l=e(76003),_=e(8919),v=e(40827),m=e(43718),p=e(54414),s=e(57517),g=e(71624),a=e(51553),h=n.__importStar(e(20868)),u=e(87822),c=e(16781),E=e(46147),f=e(53043),d=e(84680);let y=class extends m.WithEventBus{constructor(M,k){super(),this.rpcProtocol=M,this.documents=k,this.propertiesChangeCache=new Map,this.triggerPropertiesChange=(0,o.default)(()=>{const F=[];this.propertiesChangeCache.forEach(L=>{F.push(L)}),this.propertiesChangeCache.clear(),this.proxy.$acceptPropertiesChanges(F)},16,{leading:!0,trailing:!0}),this.proxy=this.rpcProtocol.getProxy(E.ExtHostAPIIdentifier.ExtHostEditors),this.$getInitialState().then(F=>{this.proxy.$acceptChange(F)})}async $getInitialState(){this.startEvents();const M=this.editorService.editorGroups.map(F=>{if(F.currentOpenType&&D(F.currentOpenType)){const L=F.currentEditor;return!L.currentDocumentModel||!this.documents.isDocSyncEnabled(L.currentDocumentModel.uri)?void 0:{id:b(F,F.currentResource.uri),uri:L.currentDocumentModel.uri.toString(),selections:L.getSelections()||[],options:S(L.monacoEditor),viewColumn:w(F),visibleRanges:L.monacoEditor.getVisibleRanges()}}}).filter(F=>!!F),k=this.editorService.currentResource&&M.find(F=>F.uri===this.editorService.currentResource.uri.toString());return{created:M,actived:k&&this.documents.isDocSyncEnabled(k.uri)&&k.id}}async $closeEditor(M){if(this.getEditor(M)){const F=this.getGroup(M);F.close(F.currentResource.uri)}}async $revealRange(M,k,F){const L=this.getEditor(M);if(L)switch(F){case E.TextEditorRevealType.InCenter:return L.monacoEditor.revealRangeInCenter(k);case E.TextEditorRevealType.AtTop:return L.monacoEditor.revealRangeAtTop(k);case E.TextEditorRevealType.InCenterIfOutsideViewport:return L.monacoEditor.revealRangeInCenterIfOutsideViewport(k);default:return L.monacoEditor.revealRange(k)}}async $createTextEditorDecorationType(M,k){this.resolveIconPaths(k),this.resolveIconPaths(k.dark),this.resolveIconPaths(k.light),this.decorationService.createTextEditorDecorationType(k,M)}resolveIconPaths(M){if(!M)return M;if(M.gutterIconPath){let k;typeof M.gutterIconPath=="string"?k=m.URI.file(M.gutterIconPath):k=m.URI.from(M.gutterIconPath),M.gutterIconPath=this.staticResourceService.resolveStaticResource(k).toString()}}async $deleteTextEditorDecorationType(M){const k=this.decorationService.getTextEditorDecorationType(M);k&&k.dispose()}async $applyDecoration(M,k,F){const L=this.getEditor(M);L&&L.applyDecoration(k,F)}async $insertSnippet(M,k,F=[],L={undoStopAfter:!0,undoStopBefore:!0}){const B=this.getEditor(M);B&&B.insertSnippet(k,F,L)}async $updateOptions(M,k){const F=this.getEditor(M);F&&await this.setConfiguration(F.monacoEditor,k)}getEditor(M){var k,F;const L=this.getGroup(M);if(!L)return;const B=L.currentResource;if(B&&L.currentOpenType&&D(L.currentOpenType)){if(M===b(L,B.uri))return L.currentEditor;if(((k=L.currentOpenType)===null||k===void 0?void 0:k.type)===s.EditorOpenType.diff&&M===b(L,B.metadata.original,"original"))return L.diffEditor.originalEditor;if(((F=L.currentOpenType)===null||F===void 0?void 0:F.type)===s.EditorOpenType.diff&&M===b(L,B.metadata.modified,"modified"))return L.diffEditor.modifiedEditor}}getGroup(M){const k=A(M);return this.editorService.getEditorGroup(k)}batchPropertiesChanges(M){const{id:k}=M;let F=this.propertiesChangeCache.get(k);F||(F={}),F=(0,r.default)(F,M),this.propertiesChangeCache.set(k,F),this.triggerPropertiesChange()}startEvents(){this.addDispose([this.eventBus.on(s.EditorGroupChangeEvent,M=>{const k=M.payload;if(!T(k.newResource,k.oldResource)||!R(k.newOpenType,k.oldOpenType)){const F={};if(k.newOpenType&&(k.newOpenType.type===s.EditorOpenType.code||k.newOpenType.type===s.EditorOpenType.diff)){const L=k.group.currentEditor;if(L.currentDocumentModel){if(this.documents.isDocSyncEnabled(L.currentDocumentModel.uri))if(F.created=[],k.newOpenType.type===s.EditorOpenType.diff){const B=k.group.diffEditor.originalEditor,U=k.group.diffEditor.modifiedEditor,W=b(k.group,k.newResource.metadata.original,"original");F.created.push({id:W,uri:B.currentUri.toString(),selections:B.getSelections()||[],options:S(B.monacoEditor),viewColumn:w(k.group),visibleRanges:B.monacoEditor.getVisibleRanges()});const j=b(k.group,k.newResource.metadata.modified,"modified");F.created.push({id:j,uri:U.currentUri.toString(),selections:U.getSelections()||[],options:S(U.monacoEditor),viewColumn:w(k.group),visibleRanges:U.monacoEditor.getVisibleRanges()})}else F.created.push({id:b(k.group,k.newResource.uri),uri:L.currentDocumentModel.uri.toString(),selections:L.getSelections()||[],options:S(L.monacoEditor),viewColumn:w(k.group),visibleRanges:L.monacoEditor.getVisibleRanges()})}T(k.newResource,k.oldResource)&&!R(k.newOpenType,k.oldOpenType)&&k.newResource===this.editorService.currentResource&&(F.actived=b(k.group,k.newResource.uri))}k.oldOpenType&&(k.oldOpenType.type===s.EditorOpenType.code||k.oldOpenType.type===s.EditorOpenType.diff)&&(F.removed=[],k.oldOpenType.type===s.EditorOpenType.diff?(F.removed.push(b(k.group,k.oldResource.metadata.original,"original")),F.removed.push(b(k.group,k.oldResource.metadata.modified,"modified"))):F.removed=[b(k.group,k.oldResource.uri)]),this.proxy.$acceptChange(F)}}),this.editorService.onActiveEditorUriChange(M=>{M&&this.editorService.currentEditorGroup&&D(this.editorService.currentEditorGroup.currentOpenType)?this.acceptCurrentEditor(M):this.proxy.$acceptChange({actived:"-1"})}),this.eventBus.on(s.EditorConfigurationChangedEvent,M=>{const k=b(M.payload.group,M.payload.resource.uri);M.payload.group.currentEditor&&M.payload.group.currentEditor.monacoEditor.getModel()&&this.batchPropertiesChanges({id:k,options:S(M.payload.group.currentEditor.monacoEditor)})}),this.eventBus.on(s.EditorSelectionChangeEvent,M=>{const k=b(M.payload.group,M.payload.editorUri,M.payload.side);this.batchPropertiesChanges({id:k,selections:{selections:M.payload.selections,source:M.payload.source}}),this.acceptCurrentEditor(M.payload.editorUri)}),this.eventBus.on(s.EditorVisibleChangeEvent,M=>{const k=b(M.payload.group,M.payload.resource.uri);this.batchPropertiesChanges({id:k,visibleRanges:M.payload.visibleRanges})}),this.eventBus.on(s.EditorGroupIndexChangedEvent,M=>{if(I(M.payload.group)){const k=b(M.payload.group,M.payload.group.currentResource.uri);this.batchPropertiesChanges({id:k,viewColumn:w(M.payload.group)})}})])}acceptCurrentEditor(M){var k,F,L,B,U;let W;const j=((k=this.editorService.currentEditorGroup.currentOpenType)===null||k===void 0?void 0:k.type)===s.EditorOpenType.diff&&((F=this.editorService.currentEditorGroup.diffEditor.originalEditor.currentUri)===null||F===void 0?void 0:F.isEqual(M)),Q=((L=this.editorService.currentEditorGroup.currentOpenType)===null||L===void 0?void 0:L.type)===s.EditorOpenType.diff&&((B=this.editorService.currentEditorGroup.diffEditor.modifiedEditor.currentUri)===null||B===void 0?void 0:B.isEqual(M));j&&(W="original"),Q&&(W="modified"),W?this.proxy.$acceptChange({actived:b(this.editorService.currentEditorGroup,M,W)}):this.proxy.$acceptChange({actived:b(this.editorService.currentEditorGroup,(U=this.editorService.currentEditorGroup.currentResource)===null||U===void 0?void 0:U.uri)})}async $applyEdits(M,k,F,L){const B=this.getEditor(M);if(B&&B.currentDocumentModel){const U=B.currentDocumentModel.getMonacoModel();if(U&&U.getVersionId()===k){typeof L.setEndOfLine<"u"&&U.pushEOL(L.setEndOfLine);const W=F.map(j=>({range:h.Range.lift(j.range),text:j.text,forceMoveMarkers:j.forceMoveMarkers}));return L.undoStopBefore&&B.monacoEditor.pushUndoStop(),B.monacoEditor.executeEdits("MainThreadTextEditor",W),L.undoStopAfter&&B.monacoEditor.pushUndoStop(),!0}else return!1}else return!1}async $openResource(M,k){k.forceOpenType={type:s.EditorOpenType.code},k.focus=!0,k={...k,...(0,f.viewColumnToResourceOpenOptions)(k.viewColumn)};const F=await this.editorService.open(new m.URI(M),k);if(F)return b(F.group,F.resource.uri);throw new Error("Editor Open uri "+M.toString()+" Failed")}$setSelections(M,k){return this.getEditor(M)?(this.getEditor(M).setSelections(k),Promise.resolve()):Promise.reject(`No Such TextEditor: ${M}`)}setConfiguration(M,k){if(M.getModel()&&this._setIndentConfiguration(M.getModel(),k),!!M){if(k.cursorStyle){const F=P(k.cursorStyle);M.updateOptions({cursorStyle:F})}if(typeof k.lineNumbers<"u"){let F;switch(k.lineNumbers){case 1:F="on";break;case 2:F="relative";break;case 3:F="interval";break;default:F="off"}M.updateOptions({lineNumbers:F})}}}$getDiffInformation(M){const k=this.getEditor(M);if(!k)return Promise.reject(new Error("No such TextEditor"));const F=k.monacoEditor;if(!F)return Promise.reject(new Error("No such CodeEditor"));const L=F.getId(),B=this.codeEditorService.listDiffEditors(),[U]=B.filter(j=>j.originalEditor.getId()===L||j.modifiedEditor.getId()===L);if(U){const j=U.monacoDiffEditor.getLineChanges();return j?Promise.resolve(j.map(Q=>{var G;return[Q.originalStartLineNumber,Q.originalEndLineNumber,Q.modifiedStartLineNumber,Q.modifiedEndLineNumber,(G=Q.charChanges)===null||G===void 0?void 0:G.map(Z=>[Z.originalStartLineNumber,Z.originalStartColumn,Z.originalEndLineNumber,Z.originalEndColumn,Z.modifiedStartLineNumber,Z.modifiedStartColumn,Z.modifiedEndLineNumber,Z.modifiedEndColumn])]})):Promise.resolve([])}const W=F.getContribution("editor.contrib.dirtydiff");return W?Promise.resolve(W.getChanges()):Promise.resolve([])}_setIndentConfiguration(M,k){const F=c.StandaloneServices.get(u.IModelService).getCreationOptions(M.getLanguageId(),M.uri,M.isForSimpleWidget);if(k.tabSize==="auto"||k.insertSpaces==="auto"){let B=F.insertSpaces,U=F.tabSize;k.insertSpaces!=="auto"&&typeof k.insertSpaces<"u"&&(B=k.insertSpaces),k.tabSize!=="auto"&&typeof k.tabSize<"u"&&(U=k.tabSize),M.detectIndentation(B,U);return}const L={};typeof k.insertSpaces<"u"&&(L.insertSpaces=k.insertSpaces),typeof k.tabSize<"u"&&(L.tabSize=k.tabSize),typeof k.indentSize<"u"&&(k.indentSize==="tabSize"?L.indentSize=L.tabSize||F.tabSize:L.indentSize=k.indentSize),M.updateOptions(L)}};t.MainThreadEditorService=y,n.__decorate([(0,l.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",a.WorkbenchEditorServiceImpl)],y.prototype,"editorService",void 0),n.__decorate([(0,l.Autowired)(s.IEditorDecorationCollectionService),n.__metadata("design:type",Object)],y.prototype,"decorationService",void 0),n.__decorate([(0,l.Autowired)(p.EditorCollectionService),n.__metadata("design:type",g.EditorCollectionServiceImpl)],y.prototype,"codeEditorService",void 0),n.__decorate([(0,l.Autowired)(v.StaticResourceService),n.__metadata("design:type",v.StaticResourceService)],y.prototype,"staticResourceService",void 0),t.MainThreadEditorService=y=n.__decorate([(0,l.Injectable)({multiple:!0}),n.__param(0,(0,l.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object,d.MainThreadExtensionDocumentData])],y);function b(O,M,k){return O.name+"."+(k?`${k}.`:"")+M.toString()}function A(O){return O.substr(0,O.indexOf("."))}function S(O){const M=O.getModel().getOptions();return{tabSize:M.tabSize,indentSize:M.indentSize,insertSpaces:M.insertSpaces,cursorStyle:O.getOption(h.editor.EditorOption.cursorStyle),lineNumbers:O.getOption(h.editor.EditorOption.lineNumbers).renderType}}function D(O){return O?O.type===s.EditorOpenType.code||O.type===s.EditorOpenType.diff:!1}function I(O){return O.currentOpenType&&D(O.currentOpenType)}function w(O){return O.index+1}function T(O,M){return!!(!O&&!M||O&&M&&O.uri.isEqual(M.uri))}function R(O,M){return!!(!O&&!M||O&&M&&O.type===M.type&&O.componentId===M.componentId)}function P(O){if(O===E.TextEditorCursorStyle.Line)return"line";if(O===E.TextEditorCursorStyle.Block)return"block";if(O===E.TextEditorCursorStyle.Underline)return"underline";if(O===E.TextEditorCursorStyle.LineThin)return"line-thin";if(O===E.TextEditorCursorStyle.BlockOutline)return"block-outline";if(O===E.TextEditorCursorStyle.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")}},22869:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadEnv=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(19805),v=e(43718),m=e(83507),p=e(46147),s=e(51328),g=e(49731);let a=class{isSupportedLink(u){return _.HttpOpener.standardSupportedLinkSchemes.has(u.scheme)||u.scheme===this.appConfig.uriScheme}constructor(u,c){this.rpcProtocol=u,this.storage=c,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostEnv),this.eventDispose=this.loggerManger.onDidChangeLogLevel(E=>{this.proxy.$fireChangeLogLevel(E)}),this.setLogLevel(),this.setEnvValues()}async setEnvValues(){const{appName:u,uriScheme:c,appHost:E,appRoot:f,customVSCodeEngineVersion:d}=this.appConfig,y=await this.storage.$getValue(!0,v.firstSessionDateStorageKey);this.proxy.$setEnvValues({customVSCodeEngineVersion:d,appName:u,uriScheme:c,appHost:E,appRoot:f,language:(0,v.getCodeLanguage)(),uiKind:this.appConfig.isElectronRenderer?s.UIKind.Desktop:s.UIKind.Web,firstSessionDate:y?.date})}dispose(){this.eventDispose.dispose()}async setLogLevel(){const u=await this.loggerManger.getGlobalLogLevel();await this.proxy.$setLogLevel(u)}async $clipboardReadText(){try{return await this.clipboardService.readText()}catch{return""}}$clipboardWriteText(u){return new Promise(async c=>{try{await this.clipboardService.writeText(u)}catch{}c()})}async $openExternal(u){return this.isSupportedLink(v.URI.from(u))?await this.openerService.open(u.toString(!0)):!1}getWindowId(){return this.applicationService.windowId}async $asExternalUri(u){const{uriScheme:c}=this.appConfig,E=v.URI.from(u);if(E.scheme===c){const d=this.getWindowId();let y=E.query;return y?y+=`&windowId=${d}`:y=`windowId=${d}`,E.withQuery(y).codeUri}return this.externalUriService.resolveExternalUri(E).codeUri}};t.MainThreadEnv=a,n.__decorate([(0,r.Autowired)(m.ILoggerManagerClient),n.__metadata("design:type",Object)],a.prototype,"loggerManger",void 0),n.__decorate([(0,r.Autowired)(l.IOpenerService),n.__metadata("design:type",Object)],a.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(l.IClipboardService),n.__metadata("design:type",Object)],a.prototype,"clipboardService",void 0),n.__decorate([(0,r.Autowired)(l.IExternalUriService),n.__metadata("design:type",Object)],a.prototype,"externalUriService",void 0),n.__decorate([(0,r.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],a.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(v.IApplicationService),n.__metadata("design:type",Object)],a.prototype,"applicationService",void 0),t.MainThreadEnv=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object,g.MainThreadStorage])],a)},13335:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadFileSystemEvent=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(68969),v=e(43718),m=e(14951),p=e(52902),s=e(72665),g=e(26199),a=e(46147);let h=class extends v.Disposable{constructor(c){super(),this.rpcProtocol=c,this._proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostFileSystemEvent),this._dispatchFileEventListener(),this._participateFileOperation(),this._initShowPreview()}_dispatchFileEventListener(){const c={created:[],changed:[],deleted:[]};this.addDispose(this.fileService.onFilesChanged(E=>{let f=!1;for(const d of E)switch(d.type){case m.FileChangeType.ADDED:c.created.push(v.Uri.parse(d.uri)),f=!0;break;case m.FileChangeType.UPDATED:c.changed.push(v.Uri.parse(d.uri)),f=!0;break;case m.FileChangeType.DELETED:c.deleted.push(v.Uri.parse(d.uri)),f=!0;break}f&&(this._proxy.$onFileEvent(c),c.created=[],c.changed=[],c.deleted=[])}))}_participateFileOperation(){this.addDispose(this.workspaceFileService.registerFileOperationParticipant({participate:this.fileOperationParticipant.bind(this)})),this.addDispose(this.workspaceFileService.onDidRunWorkspaceFileOperation(c=>this._proxy.$onDidRunFileOperation(c.operation,c.files)))}_initShowPreview(){this._showPreview=this.preferenceService.get("workbench.refactoringChanges.showPreviewStrategy"),this.addDispose(this.preferenceService.onPreferenceChanged(c=>{c.preferenceName==="workbench.refactoringChanges.showPreviewStrategy"&&(this._showPreview=c.newValue)}))}async fileOperationParticipant(...c){const[E,f,d,y,b]=c,A=new v.CancellationTokenSource(b),S=setTimeout(()=>A.cancel(),y),D=await this.progressService.withProgress({location:v.ProgressLocation.Notification,title:this.getProgressLabel(f),cancellable:!0,delay:Math.min(y/2,3e3)},()=>{const R=this._proxy.$onWillRunFileOperation(f,E,y,b);return(0,v.raceCancellation)(R,A.token)},()=>{A.cancel()}).finally(()=>{A.dispose(),clearTimeout(S)});if(!D)return;let I=this._showPreview;const w=D.edit.edits.some(R=>{var P;return(P=R.metadata)===null||P===void 0?void 0:P.needsConfirmation});if(I==="askMe"){let R;if(D.extensionNames.length===1?f===0?R=(0,v.formatLocalize)("refactoring-changes.ask.1.create",D.extensionNames[0]):f===3?R=(0,v.formatLocalize)("refactoring-changes.ask.1.copy",D.extensionNames[0]):f===2?R=(0,v.formatLocalize)("refactoring-changes.ask.1.move",D.extensionNames[0]):R=(0,v.formatLocalize)("refactoring-changes.ask.1.delete",D.extensionNames[0]):f===0?R=(0,v.formatLocalize)("refactoring-changes.ask.N.create",D.extensionNames.length):f===3?R=(0,v.formatLocalize)("refactoring-changes.ask.N.copy",D.extensionNames.length):f===2?R=(0,v.formatLocalize)("refactoring-changes.ask.N.move",D.extensionNames.length):R=(0,v.formatLocalize)("refactoring-changes.ask.N.delete",D.extensionNames.length),w){const P=[(0,v.localize)("refactoring-changes.msg.showPreview"),(0,v.localize)("refactoring-changes.msg.skipChanges")],O=await this.dialogService.open({message:R,type:v.MessageType.Info,buttons:P});if(I="show",O===P[1])return}else{const P=[(0,v.localize)("refactoring-changes.msg.showPreview"),(0,v.localize)("refactoring-changes.msg.skipChanges"),(0,v.localize)("component.modal.okText")],O=await this.dialogService.open({message:R,type:v.MessageType.Info,buttons:P});if(O===P[1])return;I=O===P[0]?"show":"hide"}}this.logger.log("[onWill-handler] applying additional workspace edit from extensions",D.extensionNames);const T=D?.edit;T&&await this.bulkEditService.apply(p.ResourceEdit.convert(T),{showPreview:I==="show"})}getProgressLabel(c){switch(c){case 0:return(0,v.localize)("fileOperation.create","Running 'File Create' participants...");case 1:return(0,v.localize)("fileOperation.delete","Running 'File Delete' participants...");case 3:return(0,v.localize)("fileOperation.copy","Running 'File Copy' participants...");case 2:return(0,v.localize)("fileOperation.move","Running 'File Move' participants...")}}};t.MainThreadFileSystemEvent=h,n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],h.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(g.IWorkspaceFileService),n.__metadata("design:type",Object)],h.prototype,"workspaceFileService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],h.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(_.IProgressService),n.__metadata("design:type",Object)],h.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(v.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(s.IDialogService),n.__metadata("design:type",Object)],h.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(g.IBulkEditServiceShape),n.__metadata("design:type",Object)],h.prototype,"bulkEditService",void 0),t.MainThreadFileSystemEvent=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],h)},14382:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadFileSystem=void 0;const r=e(85608),o=e(76003),l=e(8919),_=e(41869),v=e(43163),m=e(42933),p=e(46147),s=e(53043),g=e(34687);let a=n=class{constructor(c){this.rpcProtocol=c,this.disposable=new _.Disposable,this._fileProvider=new Map,this._proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostFileSystem);const E=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostFileSystemInfo);for(const f of this._fileService.listCapabilities())E.$acceptProviderInfos(f.scheme,f.capabilities);this.disposable.addDispose(this._fileService.onDidChangeFileSystemProviderRegistrations(f=>{var d,y;return E.$acceptProviderInfos(f.scheme,(y=(d=f.provider)===null||d===void 0?void 0:d.capabilities)!==null&&y!==void 0?y:null)})),this.disposable.addDispose(this._fileService.onDidChangeFileSystemProviderCapabilities(f=>E.$acceptProviderInfos(f.scheme,f.provider.capabilities)))}dispose(){this.disposable.dispose(),this._fileProvider.forEach(c=>c.dispose()),this._fileProvider.clear()}$registerFileSystemProvider(c,E,f){this.disposable.addDispose(this.schemeRegistry.registerFileSystemProvider({scheme:E})),this._fileProvider.set(c,new h(this._fileService,E,f,c,this._proxy))}$unregisterProvider(c){(0,_.dispose)(this._fileProvider.get(c)),this._fileProvider.delete(c)}$onFileSystemChange(c,E){const f=this._fileProvider.get(c);if(!f)throw new Error("Unknown file provider");f.$onFileSystemChange(E)}$stat(c){return this._fileService.getFileStat(_.URI.revive(c).toString()).then(E=>(0,s.toFileStat)(E)).catch(n._handleError)}$readdir(c){return this._fileService.getFileStat(_.URI.revive(c).toString()).then(E=>{if(!E)throw new Error("file stat undefined");if(!E.isDirectory){const f=new Error(E.uri);throw f.name=g.FileSystemProviderErrorCode.FileNotADirectory,f}return E.children?E.children.map(f=>[new _.URI(f.uri).displayName,n._asFileType(f)]):[]}).catch(n._handleError)}static _asFileType(c){let E=0;return c.type&&c.type===m.FileType.File?E+=m.FileType.File:c.isDirectory&&(E+=m.FileType.Directory),c.isSymbolicLink&&(E+=m.FileType.SymbolicLink),E}$readFile(c){return this._fileService.readFile(_.URI.revive(c).toString()).then(E=>E.content.buffer).catch(n._handleError)}async $writeFile(c,E){try{const f=_.URI.revive(c),d=await this._fileService.getFileStat(f.toString(),!1);d?await this._fileService.setContent(d,E):(await(0,v.ensureDir)(new _.URI(f).path.dir.toString(),{mkdir:y=>this.$mkdir(_.URI.file(y).codeUri),access:y=>this._fileService.access(_.URI.file(y).codeUri.toString())}),await this._fileService.createFile(f.toString(),{content:_.BinaryBuffer.wrap(E).toString()}))}catch(f){return n._handleError(f)}}$rename(c,E,f){return this._fileService.move(_.URI.revive(c).toString(),_.URI.revive(E).toString(),f).then(()=>{}).catch(n._handleError)}$copy(c,E,f){return this._fileService.copy(_.URI.revive(c).toString(),_.URI.revive(E).toString(),f).then(()=>{}).catch(n._handleError)}$mkdir(c){return this._fileService.createFolder(_.URI.revive(c).toString()).then(()=>{}).catch(n._handleError)}$delete(c,E){return this._fileService.delete(_.URI.revive(c).toString(),{moveToTrash:E.useTrash}).catch(n._handleError)}static _handleError(c){if(c instanceof m.FileOperationError)switch(c.fileOperationResult){case 1:c.name=g.FileSystemProviderErrorCode.FileNotFound;break;case 0:c.name=g.FileSystemProviderErrorCode.FileIsADirectory;break;case 6:c.name=g.FileSystemProviderErrorCode.NoPermissions;break;case 4:c.name=g.FileSystemProviderErrorCode.FileExists;break}throw c}};t.MainThreadFileSystem=a,r.__decorate([(0,o.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],a.prototype,"_fileService",void 0),r.__decorate([(0,o.Autowired)(m.IBrowserFileSystemRegistry),r.__metadata("design:type",Object)],a.prototype,"schemeRegistry",void 0),t.MainThreadFileSystem=a=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object])],a);class h{get readonly(){return!!(this.capabilities&2048)}constructor(c,E,f,d,y){this._handle=d,this._proxy=y,this._onDidChange=new _.Emitter,this.onDidChangeFile=this._onDidChange.event,this.onDidChangeCapabilities=_.Event.None,this.capabilities=f,this._registration=c.registerProvider(E,this)}dispose(){this._registration.dispose(),this._onDidChange.dispose()}watch(c,E){const f=Math.random();return this._proxy.$watch(this._handle,f,c,E),f}unwatch(c){this._proxy.$unwatch(this._handle,c)}$onFileSystemChange(c){this._onDidChange.fire(c.map(h._createFileChange))}static _createFileChange(c){return{uri:c.uri,type:c.type}}async stat(c){return await this.doGetStat(c)}async readFile(c){return await this._proxy.$readFile(this._handle,c)}writeFile(c,E,f){return this._proxy.$writeFile(this._handle,c,E,f)}delete(c,E){return this._proxy.$delete(this._handle,c,E)}createDirectory(c){return this._proxy.$mkdir(this._handle,c)}readDirectory(c){return this._proxy.$readdir(this._handle,c)}rename(c,E,f){return this._proxy.$rename(this._handle,c,E,f)}copy(c,E,f){return this._proxy.$copy(this._handle,c,E,f)}async doGetStat(c,E=1){var f;const d=await this._proxy.$stat(this._handle,c),y=(0,s.fromFileStat)(d,c);return y.isDirectory&&(y.children=await this.doGetChildren(c,E)),y.readonly=!!(((f=d.permissions)!==null&&f!==void 0?f:0)&g.FilePermission.Readonly)||!!(this.capabilities&2048),y}async doGetChildren(c,E){if(E<=0)return[];const f=await this.readDirectory(c);return await Promise.all(f.map(y=>new _.URI(c).resolve(y[0])).map(y=>this.doGetStat(y.codeUri,E-1)))}}},89626:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadLanguages=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(16885),m=e(54414),p=e(57517),s=n.__importStar(e(20868)),g=e(55218),a=e(62660),h=e(28694),u=e(52902),c=e(79865),E=e(44781),f=n.__importStar(e(40540)),d=e(14162),y=e(16781),b=e(46147),A=e(53043),S=e(51328),D=e(52403),I=e(43710),w=e(97673),{extname:T}=_.path;let R=class{_reviveCodeActionDto(O){return O&&O.forEach(M=>this.reviveWorkspaceEditDto(M.edit)),O}constructor(O){this.rpcProtocol=O,this.disposables=new Map,this.languageFeatureEnabled=new _.LRUMap(200,100),this._status=new Map,this.proxy=this.rpcProtocol.getProxy(b.ExtHostAPIIdentifier.ExtHostLanguages)}dispose(){this.disposables.forEach(O=>{O.dispose()}),this.disposables.clear()}$unregister(O){const M=this.disposables.get(O);M&&(this.disposables.delete(O),M.dispose())}$getLanguages(){return this.textmateService.getLanguages().map(O=>O.id)}async $changeLanguage(O,M){const k=y.StandaloneServices.get(d.ILanguageService).getLanguageIdByLanguageName(M);if(!k||k!==M)return Promise.reject(new Error(`Unknown language id: ${M}`));const F=new _.URI(_.URI.revive(O)),L=await this.documentModelManager.createModelReference(F);try{L.instance.languageId=M}finally{L.dispose()}}isLanguageFeatureEnabled(O){if(O.uri.scheme===_.Schemes.inMemory)return!1;const M=O.uri.toString();return this.languageFeatureEnabled.has(M)||this.languageFeatureEnabled.set(M,O.getValueLength()<(this.preference.get("editor.languageFeatureEnabledMaxSize")||4*1024*1024*1024)),this.languageFeatureEnabled.get(M)}getUniqueLanguages(){const O=[],M=this.textmateService.getLanguages().map(k=>k.id);for(const k of M)O.indexOf(k)===-1&&O.push(k);return O}$registerHoverProvider(O,M){const k=(0,A.fromLanguageSelector)(M),F=this.createHoverProvider(O,k);this.disposables.set(O,c.languageFeaturesService.hoverProvider.register(M,F))}createHoverProvider(O,M){return{provideHover:(k,F,L)=>{if(!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k))||!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_HOVER);return this.proxy.$provideHoverWithDuration(O,k.uri,F,L).then(({result:U,_dur:W})=>(U&&B.timeEnd(T(k.uri.fsPath),{extDuration:W}),U))}}}isDeflatedSuggestDto(O){return O[b.ISuggestDataDtoField.label]||O[b.ISuggestDataDtoField.kind]||O[b.ISuggestDataDtoField.kindModifier]||O[b.ISuggestDataDtoField.detail]||O[b.ISuggestDataDtoField.documentation]||O[b.ISuggestDataDtoField.sortText]||O[b.ISuggestDataDtoField.filterText]||O[b.ISuggestDataDtoField.preselect]||O[b.ISuggestDataDtoField.range]||O[b.ISuggestDataDtoField.insertTextRules]||O[b.ISuggestDataDtoField.commitCharacters]||O[b.ISuggestDataDtoField.insertText]||O[b.ISuggestDataDtoField.command]}inflateLabel(O){if(typeof O=="object")return O;const M=O.split("~|");return Array.isArray(M)&&M.length>1?{label:M[0],description:M[1],detail:M[2]}:O}inflateSuggestDto(O,M){var k,F;if(!this.isDeflatedSuggestDto(M))return M;const L=this.inflateLabel(M[b.ISuggestDataDtoField.label]),B=M[b.ISuggestDataDtoField.range];return{label:L,kind:(k=M[b.ISuggestDataDtoField.kind])!==null&&k!==void 0?k:f.CompletionItemKind.Property,tags:M[b.ISuggestDataDtoField.kindModifier],detail:M[b.ISuggestDataDtoField.detail],documentation:M[b.ISuggestDataDtoField.documentation],sortText:M[b.ISuggestDataDtoField.sortText],filterText:M[b.ISuggestDataDtoField.filterText],preselect:M[b.ISuggestDataDtoField.preselect],insertText:(F=M[b.ISuggestDataDtoField.insertText])!==null&&F!==void 0?F:typeof L=="string"?L:L.label,range:Array.isArray(B)&&B.length===4?E.Range.lift({startLineNumber:B[0],startColumn:B[1],endLineNumber:B[2],endColumn:B[3]}):O,insertTextRules:M[b.ISuggestDataDtoField.insertTextRules],commitCharacters:M[b.ISuggestDataDtoField.commitCharacters],additionalTextEdits:M[b.ISuggestDataDtoField.additionalTextEdits],command:M[b.ISuggestDataDtoField.command],_id:M.x}}$registerCompletionSupport(O,M,k,F){this.disposables.set(O,u.monaco.languages.registerCompletionItemProvider((0,A.fromLanguageSelector)(M),{_debugDisplayName:`ext-${O}`,triggerCharacters:k,provideCompletionItems:async(L,B,U,W)=>{if(!this.isLanguageFeatureEnabled(L))return;const j=this.reporter.time(_.REPORT_NAME.PROVIDE_COMPLETION_ITEMS),Q=await this.proxy.$provideCompletionItems(O,L.uri,B,U,W);return Q?(Q[b.ISuggestResultDtoField.completions].length&&j.timeEnd(T(L.uri.fsPath),{extDuration:Q.d}),{suggestions:Q[b.ISuggestResultDtoField.completions].map(Z=>this.inflateSuggestDto(Q[b.ISuggestResultDtoField.defaultRanges],Z)),duration:Q[b.ISuggestResultDtoField.duration],incomplete:Q[b.ISuggestResultDtoField.isIncomplete]||!1,dispose:()=>{Q.x&&setTimeout(()=>{this.proxy.$releaseCompletionItems(O,Q.x)},0)}}):void 0},resolveCompletionItem:F?async(L,B)=>(this.reporter.point(_.REPORT_NAME.RESOLVE_COMPLETION_ITEM),this.proxy.$resolveCompletionItem(O,L._id,B).then(U=>{if(!U)return L;const W=this.inflateSuggestDto(L.range,U);return(0,I.mixin)(L,W,!0)})):void 0}))}$registerInlineCompletionsSupport(O,M,k,F,L){const B={provideInlineCompletions:async(U,W,j,Q)=>this.proxy.$provideInlineCompletions(O,U.uri,W,j,Q),handleItemDidShow:async(U,W,j)=>{k&&await this.proxy.$handleInlineCompletionDidShow(O,U.pid,W.idx,j)},handlePartialAccept:async(U,W,j)=>{k&&await this.proxy.$handleInlineCompletionPartialAccept(O,U.pid,W.idx,j)},freeInlineCompletions:U=>{this.proxy.$freeInlineCompletionsList(O,U.pid)},groupId:F,yieldsToGroupIds:L,toString(){return`InlineCompletionsProvider(${F})`}};this.disposables.set(O,u.monaco.languages.registerInlineCompletionsProvider((0,A.fromLanguageSelector)(M),B))}$registerInlineEditProvider(O,M,k,F){const L={displayName:F,provideInlineEdit:async(B,U,W)=>this.proxy.$provideInlineEdit(O,B.uri,U,W),freeInlineEdit:B=>{this.proxy.$freeInlineEdit(O,B.pid)}};this.disposables.set(O,u.monaco.languages.registerInlineEditProvider((0,A.fromLanguageSelector)(M),L))}matchLanguage(O,M){return Array.isArray(O)?O.some(k=>this.matchLanguage(k,M)):(0,D.isDocumentFilter)(O)?!O.language&&(O.pattern||O.scheme)?!0:O?.language===M:O===M}matchModel(O,M){return Array.isArray(O)?O.some(k=>this.matchModel(k,M)):(0,D.isDocumentFilter)(O)?!(O.language&&O.language!==M.languageId||O.scheme&&O.scheme!==M.uri.scheme||O.pattern&&!(0,b.testGlob)(O.pattern,M.uri.path)):O===M.languageId}$registerDefinitionProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createDefinitionProvider(O,k);this.disposables.set(O,u.monaco.languages.registerDefinitionProvider(k,F))}$registerDeclarationProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=new _.DisposableCollection;for(const L of this.getUniqueLanguages())this.matchLanguage(k,L);this.disposables.set(O,F)}createDefinitionProvider(O,M){return{provideDefinition:async(k,F,L)=>{if(!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k))||!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_DEFINITION),{result:U,_dur:W}=await this.proxy.$provideDefinitionWithDuration(O,k.uri,F,L);if(U)if(B.timeEnd(T(k.uri.fsPath),{extDuration:W}),Array.isArray(U)){const j=[];for(const Q of U)j.push({...Q,uri:s.Uri.revive(Q.uri)});return j}else return{uri:s.Uri.revive(U.uri),range:U.range}}}}$registerTypeDefinitionProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createTypeDefinitionProvider(O,k);this.disposables.set(O,u.monaco.languages.registerTypeDefinitionProvider(k,F))}createTypeDefinitionProvider(O,M){return{provideTypeDefinition:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_TYPE_DEFINITION);return this.proxy.$provideTypeDefinition(O,k.uri,F,L).then(U=>{if(U)if(B.timeEnd(T(k.uri.fsPath)),Array.isArray(U)){const W=[];for(const j of U)W.push({...j,uri:s.Uri.revive(j.uri)});return W}else return{uri:s.Uri.revive(U.uri),range:U.range}})}}}$registerFoldingRangeProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createFoldingRangeProvider(O,F);if(typeof k=="number"){const B=new _.Emitter;this.disposables.set(k,B),L.onDidChange=B.event}this.disposables.set(O,u.monaco.languages.registerFoldingRangeProvider(F,L))}$emitFoldingRangeEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}createFoldingRangeProvider(O,M){return{provideFoldingRanges:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_FOLDING_RANGES);return this.proxy.$provideFoldingRange(O,k.uri,F,L).then(U=>(U&&B.timeEnd(T(k.uri.fsPath)),U))}}}$registerDocumentColorProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createColorProvider(O,k);this.disposables.set(O,u.monaco.languages.registerColorProvider(k,F))}createColorProvider(O,M){return{provideDocumentColors:(k,F)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const L=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_COLORS);return this.proxy.$provideDocumentColors(O,k.uri,F).then(B=>(L.timeEnd(T(k.uri.fsPath)),B.map(U=>{const[W,j,Q,G]=U.color;return{color:{red:W,green:j,blue:Q,alpha:G},range:U.range}})))},provideColorPresentations:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_COLOR_PRESENTATIONS);return this.proxy.$provideColorPresentations(O,k.uri,{color:[F.color.red,F.color.green,F.color.blue,F.color.alpha],range:F.range},L).then(U=>(U&&B.timeEnd(T(k.uri.fsPath)),U))}}}$registerDocumentHighlightProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createDocumentHighlightProvider(O,k);this.disposables.set(O,u.monaco.languages.registerDocumentHighlightProvider(k,F))}createDocumentHighlightProvider(O,M){return{provideDocumentHighlights:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_HIGHLIGHTS);return this.proxy.$provideDocumentHighlights(O,k.uri,F,L).then(U=>{if(U&&Array.isArray(U)){B.timeEnd(T(k.uri.fsPath));const W=[];for(const j of U)W.push({...j,kind:j.kind!==void 0?j.kind:s.languages.DocumentHighlightKind.Text});return W}})}}}$registerDocumentFormattingProvider(O,M,k){const F=(0,A.fromLanguageSelector)(k);if(!F)return;const L=this.createDocumentFormattingEditProvider(O,M,F);this.disposables.set(O,u.monaco.languages.registerDocumentFormattingEditProvider(F,L))}createDocumentFormattingEditProvider(O,M,k){return{displayName:M.displayName,extensionId:M.id,provideDocumentFormattingEdits:async(F,L)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(k,b.MonacoModelIdentifier.fromModel(F)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_FORMATTING_EDITS);return this.proxy.$provideDocumentFormattingEdits(O,F.uri,L).then(U=>{if(B.timeEnd(T(F.uri.fsPath)),!!U)return U})}}}$registerRangeFormattingProvider(O,M,k){const F=(0,A.fromLanguageSelector)(k);if(!F)return;const L=this.createDocumentRangeFormattingEditProvider(O,M,F);this.disposables.set(O,u.monaco.languages.registerDocumentRangeFormattingEditProvider(F,L))}createDocumentRangeFormattingEditProvider(O,M,k){return{displayName:M.displayName,extensionId:M.id,provideDocumentRangeFormattingEdits:async(F,L,B)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(k,b.MonacoModelIdentifier.fromModel(F)))return;const U=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_RANGE_FORMATTING_EDITS);return this.proxy.$provideDocumentRangeFormattingEdits(O,F.uri,L,B).then(W=>{if(U.timeEnd(T(F.uri.fsPath)),!!W)return W})}}}$registerOnTypeFormattingProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createOnTypeFormattingProvider(O,F,k);this.disposables.set(O,u.monaco.languages.registerOnTypeFormattingEditProvider(F,L))}createOnTypeFormattingProvider(O,M,k){return{autoFormatTriggerCharacters:k,provideOnTypeFormattingEdits:async(F,L,B,U)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return;const W=this.reporter.time(_.REPORT_NAME.PROVIDE_ON_TYPE_FORMATTING_EDITS);return this.proxy.$provideOnTypeFormattingEditsWithDuration(O,F.uri,L,B,U).then(({result:j,_dur:Q})=>(j&&W.timeEnd(T(F.uri.fsPath),{extDuration:Q}),j))}}}$registerCodeLensSupport(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createCodeLensProvider(O,F);if(typeof k=="number"){const B=new _.Emitter;this.disposables.set(k,B),L.onDidChange=B.event}this.disposables.set(O,u.monaco.languages.registerCodeLensProvider(F,L))}createCodeLensProvider(O,M){return{provideCodeLenses:(k,F)=>{if(!this.isLanguageFeatureEnabled(k))return;const L=this.reporter.time(_.REPORT_NAME.PROVIDE_CODE_LENSES);return this.proxy.$provideCodeLenses(O,k.uri,F).then(B=>(B&&L.timeEnd(T(k.uri.fsPath)),{lenses:B?.lenses||[],dispose:()=>B?.cacheId&&this.proxy.$releaseCodeLens(O,B.cacheId)}))},resolveCodeLens:async(k,F,L)=>{if(this.isLanguageFeatureEnabled(k))return this.reporter.point(_.REPORT_NAME.RESOLVE_CODE_LENS),this.proxy.$resolveCodeLens(O,F,L).then(B=>B)}}}$emitCodeLensEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}$clearDiagnostics(O){this.markerManager.clearMarkers(O)}$changeDiagnostics(O,M){for(const[k,F]of M)this.markerManager.updateMarkers(O,k,F)}$registerImplementationProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createImplementationProvider(O,k);this.disposables.set(O,u.monaco.languages.registerImplementationProvider(k,F))}$registerDocumentLinkProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createLinkProvider(O,k);this.disposables.set(O,u.monaco.languages.registerLinkProvider(F,L))}createImplementationProvider(O,M){return{provideImplementation:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_IMPLEMENTATION);return this.proxy.$provideImplementationWithDuration(O,k.uri,F).then(({result:U,_dur:W})=>{if(U)if(B.timeEnd(T(k.uri.fsPath),{extDuration:W}),Array.isArray(U)){const j=[];for(const Q of U)j.push({...Q,uri:s.Uri.revive(Q.uri)});return j}else return{uri:s.Uri.revive(U.uri),range:U.range}})}}}$registerQuickFixProvider(O,M,k,F,L){const B=(0,A.fromLanguageSelector)(M);if(!B)return;const U=this.createQuickFixProvider(O,B,k,F,L);this.disposables.set(O,c.languageFeaturesService.codeActionProvider.register(B,U))}createQuickFixProvider(O,M,k,F,L){const B={provideCodeActions:async(U,W,j,Q)=>{if(!this.isLanguageFeatureEnabled(U)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(U)))return;const G=this.reporter.time(_.REPORT_NAME.PROVIDE_CODE_ACTIONS),Z=await this.proxy.$provideCodeActions(O,U.uri,W,j,Q).then($=>(G.timeEnd(T(U.uri.fsPath)),$));if(Z)return{actions:this._reviveCodeActionDto(Z.actions),dispose:()=>{typeof Z.cacheId=="number"&&this.proxy.$releaseCodeActions(O,Z.cacheId)}}},documentation:k.documentation,providedCodeActionKinds:k.providedKinds,displayName:F};return L&&(B.resolveCodeAction=async(U,W)=>{const j=await this.proxy.$resolveCodeAction(O,U.cacheId,W);return U.edit=this.reviveWorkspaceEditDto(j),U}),B}createLinkProvider(O,M){const k={provideLinks:(F,L)=>{if(!this.isLanguageFeatureEnabled(F))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_LINKS);return this.proxy.$provideDocumentLinks(O,F.uri,L).then(U=>U?(B.timeEnd(T(F.uri.fsPath)),{links:U.links.map(j=>this.reviveLink(j)),dispose:()=>{U.id&&this.proxy.$releaseDocumentLinks(O,U.id)}}):void 0)}};return M&&(k.resolveLink=(F,L)=>{const B=F;return B.cacheId?this.proxy.$resolveDocumentLink(O,B.cacheId,L).then(U=>{if(U)return this.reviveLink(U)}):F}),k}reviveLink(O){return O.url&&typeof O.url!="string"&&(O.url=_.URI.revive(O.url)),O}$setLanguageConfiguration(O,M,k){const F={comments:k.comments,brackets:k.brackets,wordPattern:(0,I.reviveRegExp)(k.wordPattern),indentationRules:(0,I.reviveIndentationRule)(k.indentationRules),onEnterRules:(0,I.reviveOnEnterRules)(k.onEnterRules),autoClosingPairs:k.autoClosingPairs};this.disposables.set(O,u.monaco.languages.setLanguageConfiguration(M,F))}$registerReferenceProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createReferenceProvider(O,k);this.disposables.set(O,u.monaco.languages.registerReferenceProvider(k,F))}createReferenceProvider(O,M){return{provideReferences:(k,F,L,B)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const U=this.reporter.time(_.REPORT_NAME.PROVIDE_REFERENCES);return this.proxy.$provideReferencesWithDuration(O,k.uri,F,L,B).then(({result:W,_dur:j})=>{if(W&&Array.isArray(W)){U.timeEnd(T(k.uri.fsPath),{extDuration:j});const Q=[];for(const G of W)Q.push({...G,uri:s.Uri.revive(G.uri)});return Q}})}}}$registerWorkspaceSymbolProvider(O){const M=this.createWorkspaceSymbolProvider(O);this.disposables.set(O,this.languageService.registerWorkspaceSymbolProvider(M))}createWorkspaceSymbolProvider(O){return{provideWorkspaceSymbols:(M,k)=>this.proxy.$provideWorkspaceSymbols(O,M.query,k),resolveWorkspaceSymbol:(M,k)=>this.proxy.$resolveWorkspaceSymbol(O,M,k)}}$registerOutlineSupport(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createDocumentSymbolProvider(O,k);this.disposables.set(O,u.monaco.languages.registerDocumentSymbolProvider(k,F))}createDocumentSymbolProvider(O,M){return{provideDocumentSymbols:(k,F)=>{if(!this.isLanguageFeatureEnabled(k))return;const L=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_SYMBOLS);return this.proxy.$provideDocumentSymbols(O,k.uri,F).then(B=>(B&&L.timeEnd(T(k.uri.fsPath)),B))}}}$registerSignatureHelpProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createSignatureHelpProvider(O,F,k);this.disposables.set(O,u.monaco.languages.registerSignatureHelpProvider(F,L))}createSignatureHelpProvider(O,M,k){return{signatureHelpTriggerCharacters:k.triggerCharacters,signatureHelpRetriggerCharacters:k.retriggerCharacters,provideSignatureHelp:(F,L,B,U)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return;const W=this.reporter.time(_.REPORT_NAME.PROVIDE_SIGNATURE_HELP);return this.proxy.$provideSignatureHelp(O,F.uri,L,U,B).then(j=>{if(j)return W.timeEnd(T(F.uri.fsPath)),{value:j,dispose:()=>j.id&&this.proxy.$releaseSignatureHelp(O,j.id)}})}}}$registerRenameProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createRenameProvider(O,F,k);this.disposables.set(O,u.monaco.languages.registerRenameProvider(F,L))}createRenameProvider(O,M,k){return{provideRenameEdits:(F,L,B,U)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return;const W=this.reporter.time(_.REPORT_NAME.PROVIDE_RENAME_EDITS);return this.proxy.$provideRenameEdits(O,F.uri,L,B,U).then(j=>(j&&W.timeEnd(T(F.uri.fsPath)),this.reviveWorkspaceEditDto(j)))},resolveRenameLocation:k?(F,L,B)=>{if(this.isLanguageFeatureEnabled(F)&&this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return this.proxy.$resolveRenameLocation(O,F.uri,L,B).then(U=>U)}:void 0}}createNewSymbolNamesProvider(O,M){return{provideNewSymbolNames:(k,F,L,B)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const U=this.reporter.time(_.REPORT_NAME.PROVIDE_NEW_SYMBOL_NAMES);return this.proxy.$provideNewSymbolNames(O,k.uri,F,L,B).then(W=>(W&&U.timeEnd(T(k.uri.fsPath)),W))}}}$registerNewSymbolNamesProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createNewSymbolNamesProvider(O,k);this.disposables.set(O,u.monaco.languages.registerNewSymbolNameProvider(k,F))}reviveWorkspaceEditDto(O){if(O&&O.edits)for(const M of O.edits)typeof M.resource=="object"?M.resource=s.Uri.revive(M.resource):(M.newResource=s.Uri.revive(M.newResource),M.oldResource=s.Uri.revive(M.oldResource));return O}$registerSelectionRangeProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createSelectionProvider(O,k);this.disposables.set(O,u.monaco.languages.registerSelectionRangeProvider(k,F))}createSelectionProvider(O,M){return{provideSelectionRanges:(k,F,L)=>{if(!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k))||!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_SELECTION_RANGES);return this.proxy.$provideSelectionRanges(O,k.uri,F,L).then(U=>(B.timeEnd(T(k.uri.fsPath)),U))}}}$registerCallHierarchyProvider(O,M){const k=(0,A.fromLanguageSelector)(M),F=this.createCallHierarchyProvider(O,k);this.callHierarchyService.registerCallHierarchyProvider(M,F)}reviveCallHierarchyItemDto(O){return O&&(O.uri=_.URI.revive(O.uri)),O}createCallHierarchyProvider(O,M){return{prepareCallHierarchy:async(k,F,L)=>{const B=await this.proxy.$prepareCallHierarchy(O,k.uri,F,L);if(B)return{dispose:()=>{for(const U of B)this.proxy.$releaseCallHierarchy(O,U._sessionId)},roots:B.map(this.reviveCallHierarchyItemDto)}},provideOutgoingCalls:async(k,F)=>{const L=await this.proxy.$provideCallHierarchyOutgoingCalls(O,k._sessionId,k._itemId,F);return L&&(L.forEach(B=>{B.to=this.reviveCallHierarchyItemDto(B.to)}),L)},provideIncomingCalls:async(k,F)=>{const L=await this.proxy.$provideCallHierarchyIncomingCalls(O,k._sessionId,k._itemId,F);return L&&(L.forEach(B=>{B.from=this.reviveCallHierarchyItemDto(B.from)}),L)}}}$registerTypeHierarchyProvider(O,M){const k=(0,A.fromLanguageSelector)(M),F=this.createTypeHierarchyProvider(O,k);this.typeHierarchyService.registerTypeHierarchyProvider(M,F)}createTypeHierarchyProvider(O,M){return{prepareTypeHierarchy:async(k,F,L)=>{const B=await this.proxy.$prepareTypeHierarchy(O,k.uri,F,L);if(B)return{dispose:()=>{for(const U of B)this.proxy.$releaseTypeHierarchy(O,U._sessionId)},roots:B.map(this.reviveTypeHierarchyItemDto)}},provideSupertypes:async(k,F)=>{const L=await this.proxy.$provideTypeHierarchySupertypes(O,k._sessionId,k._itemId,F);return L&&L.map(this.reviveTypeHierarchyItemDto)},provideSubtypes:async(k,F)=>{const L=await this.proxy.$provideTypeHierarchySubtypes(O,k._sessionId,k._itemId,F);return L&&L.map(this.reviveTypeHierarchyItemDto)}}}reviveTypeHierarchyItemDto(O){return O&&(O.uri=_.URI.revive(O.uri)),O}$registerDocumentSemanticTokensProvider(O,M,k){const F=new w.DocumentSemanticTokensProvider(this.proxy,O,k);this.disposables.set(O,c.languageFeaturesService.documentSemanticTokensProvider.register((0,A.fromLanguageSelector)(M),F))}$registerDocumentRangeSemanticTokensProvider(O,M,k){const F=new w.DocumentRangeSemanticTokensProviderImpl(this.proxy,O,k);this.disposables.set(O,c.languageFeaturesService.documentRangeSemanticTokensProvider.register((0,A.fromLanguageSelector)(M),F))}$registerEvaluatableExpressionProvider(O,M){const k={provideEvaluatableExpression:(F,L,B)=>this.proxy.$provideEvaluatableExpression(O,F.uri,L,B)};this.disposables.set(O,this.evaluatableExpressionService.registerEvaluatableExpressionProvider(M,k))}$registerInlineValuesProvider(O,M,k){const F={provideInlineValues:(L,B,U,W)=>this.proxy.$provideInlineValues(O,L.uri,B,U,W)};if(typeof k=="number"){const L=new _.Emitter;this.disposables.set(k,L),F.onDidChangeInlineValues=L.event}this.disposables.set(O,c.languageFeaturesService.inlineValuesProvider.register(M,F))}$emitInlineValuesEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}$registerLinkedEditingRangeProvider(O,M){const k=(0,A.fromLanguageSelector)(M);c.languageFeaturesService.linkedEditingRangeProvider.register(k,{provideLinkedEditingRanges:async(F,L,B)=>{const U=await this.proxy.$provideLinkedEditingRanges(O,F.uri,L,B);if(U)return{ranges:U.ranges,wordPattern:U.wordPattern?(0,I.reviveRegExp)(U.wordPattern):void 0}}})}$registerInlayHintsProvider(O,M,k,F){const L={provideInlayHints:async(B,U,W)=>{const j=await this.proxy.$provideInlayHints(O,B.uri,U,W);if(j)return{hints:(0,_.revive)(j?.hints),dispose:()=>{j.cacheId&&this.proxy.$releaseInlayHints(O,j.cacheId)}}}};if(k&&(L.resolveInlayHint=async(B,U)=>{const W=B;if(!W.cacheId)return B;const j=await this.proxy.$resolveInlayHint(O,W.cacheId,U);if(U.isCancellationRequested)throw new S.CancellationError;return j?{...B,tooltip:j.tooltip,label:(0,_.revive)(j.label)}:B}),typeof F=="number"){const B=new _.Emitter;this.disposables.set(F,B),L.onDidChangeInlayHints=B.event}this.disposables.set(O,c.languageFeaturesService.inlayHintsProvider.register(M,L))}$emitInlayHintsEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}$setLanguageStatus(O,M){var k;(k=this._status.get(O))===null||k===void 0||k.dispose(),this._status.set(O,this.languageStatusService.addStatus(M))}$removeLanguageStatus(O){var M;(M=this._status.get(O))===null||M===void 0||M.dispose()}};t.MainThreadLanguages=R,n.__decorate([(0,r.Autowired)(_.MarkerManager),n.__metadata("design:type",_.MarkerManager)],R.prototype,"markerManager",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],R.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(l.IReporterService),n.__metadata("design:type",Object)],R.prototype,"reporter",void 0),n.__decorate([(0,r.Autowired)(m.ILanguageService),n.__metadata("design:type",Object)],R.prototype,"languageService",void 0),n.__decorate([(0,r.Autowired)(g.ICallHierarchyService),n.__metadata("design:type",Object)],R.prototype,"callHierarchyService",void 0),n.__decorate([(0,r.Autowired)(h.ITypeHierarchyService),n.__metadata("design:type",Object)],R.prototype,"typeHierarchyService",void 0),n.__decorate([(0,r.Autowired)(v.IEvaluatableExpressionService),n.__metadata("design:type",Object)],R.prototype,"evaluatableExpressionService",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],R.prototype,"documentModelManager",void 0),n.__decorate([(0,r.Autowired)(p.ILanguageStatusService),n.__metadata("design:type",Object)],R.prototype,"languageStatusService",void 0),n.__decorate([(0,r.Autowired)(a.ITextmateTokenizer),n.__metadata("design:type",Object)],R.prototype,"textmateService",void 0),t.MainThreadLanguages=R=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],R)},977:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadLocalization=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(14951),v=e(99220),m=e(46147),p=e(51328);let s=class{constructor(a){this.rpcProtocol=a,this.proxy=this.rpcProtocol.getProxy(m.ExtHostAPIIdentifier.ExtHostLocalization),this.currentLanguage=this.preferenceService.get("general.language","en").toLocaleLowerCase(),this.proxy.$setCurrentLanguage(this.currentLanguage)}async $fetchBuiltInBundleUri(a,h){try{const u=await this.extensionNodeClient.getLanguagePack(h||this.currentLanguage);return u&&u.translations[a]?p.Uri.file(u.translations[a]):void 0}catch{return}}async $fetchBundleContents(a){return(await this.fileService.readFile(p.Uri.revive(a).fsPath.toString())).content.toString()}};t.MainThreadLocalization=s,n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],s.prototype,"extensionNodeClient",void 0),t.MainThreadLocalization=s=n.__decorate([n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],s)},43404:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadExtensionLog=void 0,t.createExtensionLogFactory=v;const n=e(85608),r=e(76003),o=e(43718),l=e(71742);let _=class{$getLevel(){return this.logger.getLevel()}$setLevel(p){return this.logger.setLevel(p)}async $verbose(...p){return this.logger.verbose(...p)}async $debug(...p){return this.logger.debug(...p)}async $log(...p){return this.logger.log(...p)}async $warn(...p){return this.logger.warn(...p)}async $error(...p){return this.logger.error(...p)}async $critical(...p){return this.logger.critical(...p)}$dispose(){return this.logger.dispose()}};t.MainThreadExtensionLog=_,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),t.MainThreadExtensionLog=_=n.__decorate([(0,r.Injectable)()],_);function v(m,p){m.set(l.MainThreadExtensionLogIdentifier,p.get(_))}},48721:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadMessage=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(72665),_=e(46147);let v=class{constructor(p){this.rpcProtocol=p,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostMessage)}dispose(){}async $showMessage(p,s,g,a,h){const u=g.modal?await this.dialogService.open({message:s,type:p,buttons:a,options:g}):await this.messageService.open({message:s,type:p,buttons:a,closable:!0,from:h});return u?a.indexOf(u):void 0}};t.MainThreadMessage=v,n.__decorate([(0,r.Autowired)(l.IDialogService),n.__metadata("design:type",Object)],v.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(l.IMessageService),n.__metadata("design:type",Object)],v.prototype,"messageService",void 0),t.MainThreadMessage=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],v)},62909:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadExtensionNotebook=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(54414),v=e(46147);let m=class extends l.WithEventBus{constructor(s){super(),this.rpcProtocol=s,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostNotebook),this.docProxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostDocuments),this.listen()}listen(){this.addDispose(this.notebookService.onDidOpenNotebookDocument(s=>{this.proxy.$acceptDocumentAndEditorsDelta({addedDocuments:[s]})})),this.addDispose(this.notebookService.onDidCloseNotebookDocument(s=>{this.proxy.$acceptDocumentAndEditorsDelta({removedDocuments:[s]})})),this.addDispose(this.notebookService.onDidChangeNotebookDocument(s=>{this.proxy.$acceptModelChanged(s.uri,s.event,s.isDirty,s.metadata)})),this.addDispose(this.notebookService.onDidSaveNotebookDocument(s=>{this.proxy.$acceptModelSaved(s)}))}async $tryCreateNotebook(s){return(await this.notebookService.createNotebook(s.content)).uri}async $tryOpenNotebook(s){return(await this.notebookService.openNotebook(s)).uri}async $trySaveNotebook(s){return await this.notebookService.saveNotebook(s)}};t.MainThreadExtensionNotebook=m,n.__decorate([(0,r.Autowired)(_.INotebookService),n.__metadata("design:type",Object)],m.prototype,"notebookService",void 0),t.MainThreadExtensionNotebook=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},39261:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadOutput=void 0;const n=e(85608),r=e(76003),o=e(63067),l=e(83145);let _=class{constructor(){this.channels=new Map}dispose(){this.channels.forEach(m=>{this.outputService.deleteChannel(m.name)}),this.channels.clear()}$replace(m,p){const s=this.getChannel(m);return s&&(s.clear(),s.append(p)),Promise.resolve()}$append(m,p){const s=this.getChannel(m);return s&&s.append(p),Promise.resolve()}$appendLine(m,p){const s=this.getChannel(m);return s&&s.appendLine(p),Promise.resolve()}$clear(m){const p=this.getChannel(m);return p&&p.clear(),Promise.resolve()}$dispose(m){return this.outputService.deleteChannel(m),this.channels.has(m)&&this.channels.delete(m),Promise.resolve()}async $reveal(m,p){const s=this.getChannel(m);s&&(s.setVisibility(!0),this.outputService.updateSelectedChannel(s))}$close(m){const p=this.getChannel(m);return p&&p.setVisibility(!1),Promise.resolve()}getChannel(m){let p;return this.channels.has(m)?p=this.channels.get(m):(p=this.outputService.getChannel(m),this.channels.set(m,p)),p}async $setLanguageId(m,p){const s=this.getChannel(m);s&&await s.setLanguageId(p)}};t.MainThreadOutput=_,n.__decorate([(0,r.Autowired)(l.OutputService),n.__metadata("design:type",l.OutputService)],_.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(o.IMainLayoutService),n.__metadata("design:type",Object)],_.prototype,"layoutService",void 0),t.MainThreadOutput=_=n.__decorate([(0,r.Injectable)({multiple:!0})],_)},87781:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadPreference=void 0,t.getPreferences=m;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(51500),v=e(46147);function m(s,g){const a=g.map(h=>h.uri.toString());return l.PreferenceScope.getScopes().reduce((h,u)=>{h[u]={};const c=s(u);if(u===l.PreferenceScope.Folder)for(const E of a){const f=c.getPreferences(E);h[u][E]=f}else{h[u]=c.getPreferences();const E=c.getLanguagePreferences();E&&Object.keys(E).forEach(f=>{h[u][`[${f}]`]=E[f]})}return h},{})}let p=class{constructor(g){this.rpcProtocol=g,this.toDispose=new l.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostPreference),this.toDispose.push(this.preferenceService.onPreferencesChanged(a=>{const h=this.workspaceService.tryGetRoots(),u=m(this.preferenceProviderProvider,h),c=[];for(const E of Object.keys(a)){const{newValue:f}=a[E];c.push({preferenceName:E,newValue:f})}this.proxy.$acceptConfigurationChanged(u,c)})),this.initializeConfiguration(),this.toDispose.push(this.preferenceSchemaProvider.onDidPreferenceSchemaChanged(()=>{this.initializeConfiguration()}))}dispose(){this.toDispose.dispose()}async initializeConfiguration(){const g=this.workspaceService.tryGetRoots(),a=m(this.preferenceProviderProvider,g);this.proxy.$initializeConfiguration(a)}async $updateConfigurationOption(g,a,h,u){const c=this.parseConfigurationTarget(g);await this.preferenceService.set(a,h,c,u)}async $removeConfigurationOption(g,a,h){const u=this.parseConfigurationTarget(g);await this.preferenceService.set(a,void 0,u,h)}parseConfigurationTarget(g){if(typeof g=="boolean")return g?l.PreferenceScope.User:l.PreferenceScope.Workspace;switch(g){case v.ConfigurationTarget.Global:return l.PreferenceScope.User;case v.ConfigurationTarget.Workspace:return l.PreferenceScope.Workspace;case v.ConfigurationTarget.WorkspaceFolder:return l.PreferenceScope.Folder;default:return}}};t.MainThreadPreference=p,n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceProviderProvider),n.__metadata("design:type",Function)],p.prototype,"preferenceProviderProvider",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],p.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(_.IWorkspaceService),n.__metadata("design:type",Object)],p.prototype,"workspaceService",void 0),t.MainThreadPreference=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],p)},79813:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadQuickOpen=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(8919),_=e(41869),v=e(74404),m=e(97821),p=e(78245),s=e(50426),g=e(44854),a=e(46147);let h=class extends _.Disposable{constructor(c){super(),this.rpcProtocol=c,this.createdInputBox=new Map,this.proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostQuickOpen),this.addDispose([this.quickTitleBarService.onDidTriggerButton(E=>{this.proxy.$onDidTriggerButton(E.handler)}),this.quickOpenItemService.onDidTriggerItemButton(({item:E,button:f})=>{f.handle!==void 0&&this.proxy.$onDidTriggerItemButton(E.handle,f.handle)})])}$showQuickPick(c,E,f){return this.quickPickService.show(E,{...f,onSelect:(d,y)=>{this.proxy.$onItemSelected(E[y].value)},onChangeValue:d=>{this.proxy.$onDidChangeValue(c,d)}})}$hideQuickPick(){this.quickPickService.hide()}severityToValidateType(c){switch(c){case a.Severity.Info:return o.VALIDATE_TYPE.INFO;case a.Severity.Warning:return o.VALIDATE_TYPE.WARNING;case a.Severity.Error:return o.VALIDATE_TYPE.ERROR;case a.Severity.Ignore:return o.VALIDATE_TYPE.IGNORE;default:return o.VALIDATE_TYPE.ERROR}}$showQuickInput(c,E){return E&&(c.validateInput=async f=>{const d=await this.proxy.$validateInput(f);return d&&(typeof d=="string"?d:{message:d.message,type:this.severityToValidateType(d.severity)})}),this.quickInputService.open(c)}$createOrUpdateInputBox(c,E){const f={...E,validationType:this.severityToValidateType(E?.severity)};if(this.createdInputBox.has(c)){const d=this.createdInputBox.get(c);d?.updateOptions(f)}else{const d=this.injector.get(g.InputBoxImpl,[f]);d.open(),d.onDidChangeValue(y=>{this.proxy.$onCreatedInputBoxDidChangeValue(c,y)}),d.onDidAccept(()=>{this.proxy.$onCreatedInputBoxDidAccept(c)}),d.onDidHide(()=>{this.proxy.$onCreatedInputBoxDidHide(c)}),d.onDidTriggerButton(y=>{this.proxy.$onCreatedInputBoxDidTriggerButton(c,y)}),this.createdInputBox.set(c,d)}}$updateQuickPick(c){this.quickPickService.updateOptions(c)}$hideInputBox(c){if(this.createdInputBox.has(c)){const E=this.createdInputBox.get(c);E?.hide()}}$disposeInputBox(c){if(this.createdInputBox.has(c)){const E=this.createdInputBox.get(c);E?.dispose(),this.createdInputBox.delete(c)}}$hideQuickInput(){this.quickInputService.hide()}};t.MainThreadQuickOpen=h,n.__decorate([(0,r.Autowired)(m.QuickPickService),n.__metadata("design:type",Object)],h.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(v.IQuickInputService),n.__metadata("design:type",Object)],h.prototype,"quickInputService",void 0),n.__decorate([(0,r.Autowired)(s.QuickTitleBar),n.__metadata("design:type",s.QuickTitleBar)],h.prototype,"quickTitleBarService",void 0),n.__decorate([(0,r.Autowired)(p.QuickOpenItemService),n.__metadata("design:type",p.QuickOpenItemService)],h.prototype,"quickOpenItemService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],h.prototype,"injector",void 0),t.MainThreadQuickOpen=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(l.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],h)},33111:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadSCM=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(64964),m=e(46147);class p{get hideWhenEmpty(){return!!this.features.hideWhenEmpty}constructor(f,d,y,b,A,S){this.sourceControlHandle=f,this.handle=d,this.provider=y,this.features=b,this.label=A,this.id=S,this.elements=[],this._onDidSplice=new _.Emitter,this.onDidSplice=this._onDidSplice.event,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event}toJSON(){return{$mid:4,sourceControlHandle:this.sourceControlHandle,groupHandle:this.handle}}splice(f,d,y){if(d===0){const b=[];for(const A of y)this.elements.some(D=>D.sourceUri.toString()===A.sourceUri.toString()&&D.resourceGroup.id===A.resourceGroup.id)||b.push(A);b.length>0&&(this.elements.splice(f,d,...b),this._onDidSplice.fire({start:f,deleteCount:d,toInsert:b}))}else this.elements.splice(f,d,...y),this._onDidSplice.fire({start:f,deleteCount:d,toInsert:y})}$updateGroup(f){this.features=Object.assign(this.features,f),this._onDidChange.fire()}$updateGroupLabel(f){this.label=f,this._onDidChange.fire()}}class s{constructor(f,d,y,b,A,S,D,I,w){this.proxy=f,this.sourceControlHandle=d,this.groupHandle=y,this.handle=b,this.sourceUri=A,this.resourceGroup=S,this.decorations=D,this.contextValue=I,this.command=w}open(f){return this.proxy.$executeResourceCommand(this.sourceControlHandle,this.groupHandle,this.handle,f)}toJSON(){return{$mid:3,sourceControlHandle:this.sourceControlHandle,groupHandle:this.groupHandle,handle:this.handle}}}function g(E){if(E.icon){if(_.Uri.isUri(E.icon))return _.Uri.revive(E.icon);{const f=E.icon;return{light:_.Uri.revive(f.light),dark:_.Uri.revive(f.dark)}}}else return}class a{get actionButton(){return this._actionButton}set actionButton(f){this._actionButton=f,this._onDidChangeActionButton.fire()}get currentHistoryItemGroup(){return this._currentHistoryItemGroup}set currentHistoryItemGroup(f){this._currentHistoryItemGroup=f,this._onDidChangeCurrentHistoryItemGroup.fire()}constructor(f,d){this.proxy=f,this.handle=d,this._onDidChangeActionButton=new _.Emitter,this.onDidChangeActionButton=this._onDidChangeActionButton.event,this._onDidChangeCurrentHistoryItemGroup=new _.Emitter,this.onDidChangeCurrentHistoryItemGroup=this._onDidChangeCurrentHistoryItemGroup.event}async resolveHistoryItemGroupBase(f){return this.proxy.$resolveHistoryItemGroupBase(this.handle,f,_.CancellationToken.None)}async resolveHistoryItemGroupCommonAncestor(f,d){return this.proxy.$resolveHistoryItemGroupCommonAncestor(this.handle,f,d,_.CancellationToken.None)}async provideHistoryItems(f,d){const y=await this.proxy.$provideHistoryItems(this.handle,f,d,_.CancellationToken.None);return y?.map(b=>({...b,icon:g(b)}))}async provideHistoryItemChanges(f){const d=await this.proxy.$provideHistoryItemChanges(this.handle,f,_.CancellationToken.None);return d?.map(y=>({uri:_.Uri.revive(y.uri),originalUri:y.originalUri&&_.Uri.revive(y.originalUri),modifiedUri:y.modifiedUri&&_.Uri.revive(y.modifiedUri),renameUri:y.renameUri&&_.Uri.revive(y.renameUri)}))}}class h{get id(){return this._id}get handle(){return this._handle}get label(){return this._label}get rootUri(){return this._rootUri}get contextValue(){return this._contextValue}get commitTemplate(){return this.features.commitTemplate}get acceptInputCommand(){return this.features.acceptInputCommand}get statusBarCommands(){return this.features.statusBarCommands}get count(){return this.features.count}get actionButton(){return this.features.actionButton}get historyProvider(){return this._historyProvider}get onDidChangeStatusBarCommands(){return this._onDidChangeStatusBarCommands.event}constructor(f,d,y,b,A){this.proxy=f,this._handle=d,this._contextValue=y,this._label=b,this._rootUri=A,this._id=`scm${h.ID_HANDLE++}`,this.groups=new _.Sequence,this._groupsByHandle=Object.create(null),this._onDidChangeResources=new _.Emitter,this.onDidChangeResources=this._onDidChangeResources.event,this.features={},this._onDidChangeCommitTemplate=new _.Emitter,this.onDidChangeCommitTemplate=this._onDidChangeCommitTemplate.event,this._onDidChangeStatusBarCommands=new _.Emitter,this._onDidChangeHistoryProvider=new _.Emitter,this.onDidChangeHistoryProvider=this._onDidChangeHistoryProvider.event,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event}$updateSourceControl(f){this.features=Object.assign(this.features,f),this._onDidChange.fire(),typeof f.commitTemplate<"u"&&this._onDidChangeCommitTemplate.fire(this.commitTemplate),typeof f.statusBarCommands<"u"&&this._onDidChangeStatusBarCommands.fire(this.statusBarCommands),f.hasHistoryProvider&&!this._historyProvider?(this._historyProvider=new a(this.proxy,this.handle),this._onDidChangeHistoryProvider.fire()):f.hasHistoryProvider===!1&&this._historyProvider&&(this._historyProvider=void 0,this._onDidChangeHistoryProvider.fire())}$registerGroup(f,d,y){const b=new p(this.handle,f,this,{},y,d);this._groupsByHandle[f]=b,this.groups.splice(this.groups.elements.length,0,[b])}$updateGroup(f,d){const y=this._groupsByHandle[f];y&&y.$updateGroup(d)}$updateGroupLabel(f,d){const y=this._groupsByHandle[f];y&&y.$updateGroupLabel(d)}$spliceGroupResourceStates(f){for(const[d,y]of f){const b=this._groupsByHandle[d];if(!b){this.logger.warn(`SCM group ${d} not found in provider ${this.label}`);continue}y.reverse();for(const[A,S,D]of y){const I=D.map(w=>{const[T,R,P,O,M,k,F,L]=w,B=P[0],U=P[1]||B,W={icon:B?_.Uri.parse(B):void 0,iconDark:U?_.Uri.parse(U):void 0,tooltip:O,strikeThrough:M,faded:k};return new s(this.proxy,this.handle,d,T,_.Uri.revive(R),b,W,F||void 0,L)});b.splice(A,S,I)}}this._onDidChangeResources.fire()}$unregisterGroup(f){const d=this._groupsByHandle[f];d&&(delete this._groupsByHandle[f],this.groups.splice(this.groups.elements.indexOf(d),1),this._onDidChangeResources.fire())}$onDidChangeHistoryProviderActionButton(f){this._historyProvider&&(this._historyProvider.actionButton=f??void 0)}$onDidChangeHistoryProviderCurrentHistoryItemGroup(f){this._historyProvider&&(this._historyProvider.currentHistoryItemGroup=f??void 0)}async getOriginalResource(f){if(!this.features.hasQuickDiffProvider)return null;const d=await this.proxy.$provideOriginalResource(this.handle,f,_.CancellationToken.None);return d&&_.Uri.revive(d)}toJSON(){return{$mid:5,handle:this.handle}}dispose(){}}h.ID_HANDLE=0,n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0);let u=class extends _.Disposable{constructor(f){super(),this.rpcProtocol=f,this._repositories=new Map,this._inputDisposables=new Map,this._proxy=this.rpcProtocol.getProxy(m.ExtHostAPIIdentifier.ExtHostSCM),_.Event.debounce(this.scmService.onDidChangeSelectedRepositories,(d,y)=>y,100)(this.onDidChangeSelectedRepositories,this,this.disposables)}dispose(){this._repositories.forEach(f=>f.dispose()),this._repositories.clear(),this._inputDisposables.forEach(f=>f.dispose()),this._inputDisposables.clear(),super.dispose()}$registerSourceControl(f,d,y,b){const A=new h(this._proxy,f,d,y,b&&_.Uri.revive(b)),S=this.scmService.registerSCMProvider(A);this._repositories.set(f,S);const D=S.input.onDidChange(I=>this._proxy.$onInputBoxValueChange(f,I));this._inputDisposables.set(f,D),this.addDispose(_.Disposable.create(()=>{this.$unregisterSourceControl(f)}))}$updateSourceControl(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$updateSourceControl(d)}$unregisterSourceControl(f){const d=this._repositories.get(f);d&&(this._inputDisposables.get(f).dispose(),this._inputDisposables.delete(f),d.dispose(),this._repositories.delete(f))}$registerGroup(f,d,y,b){const A=this._repositories.get(f);if(!A)return;const S=A.provider;S.$registerGroup(d,y,b),this.addDispose(_.Disposable.create(()=>{S.$unregisterGroup(d)}))}$updateGroup(f,d,y){const b=this._repositories.get(f);if(!b)return;b.provider.$updateGroup(d,y)}$updateGroupLabel(f,d,y){const b=this._repositories.get(f);if(!b)return;b.provider.$updateGroupLabel(d,y)}$spliceResourceStates(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$spliceGroupResourceStates(d)}$unregisterGroup(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$unregisterGroup(d)}$setInputBoxValue(f,d){const y=this._repositories.get(f);y&&(y.input.value=d)}$setInputBoxPlaceholder(f,d){const y=this._repositories.get(f);y&&(y.input.placeholder=d)}$setInputBoxEnablement(f,d){const y=this._repositories.get(f);y&&(y.input.enabled=d)}$setInputBoxVisibility(f,d){const y=this._repositories.get(f);y&&(y.input.visible=d)}$setValidationProviderIsEnabled(f,d){const y=this._repositories.get(f);y&&(d?y.input.validateInput=async(b,A)=>{const S=await this._proxy.$validateInput(f,b,A);return S&&{message:S[0],type:S[1]}}:y.input.validateInput=async()=>{})}$onDidChangeHistoryProviderActionButton(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$onDidChangeHistoryProviderActionButton(d)}$onDidChangeHistoryProviderCurrentHistoryItemGroup(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$onDidChangeHistoryProviderCurrentHistoryItemGroup(d)}$setInputBoxActionButton(f,d){const y=this._repositories.get(f);y&&(y.input.actionButton=d?{...d,icon:c(d)}:void 0)}onDidChangeSelectedRepositories(f){const d=f.filter(y=>y.provider instanceof h).map(y=>y.provider.handle);this._proxy.$setSelectedSourceControls(d)}};t.MainThreadSCM=u,n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],u.prototype,"scmService",void 0),t.MainThreadSCM=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],u);function c(E){if(E.icon){if(_.Uri.isUri(E.icon))return _.Uri.revive(E.icon);{const f=E.icon;return{light:_.Uri.revive(f.light),dark:_.Uri.revive(f.dark)}}}else return}},62876:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadSecret=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(46147);let m=class extends l.Disposable{constructor(s){super(),this._proxy=s.getProxy(v.ExtHostAPIIdentifier.ExtHostSecret),this.addDispose(this.credentialsService.onDidChangePassword(g=>{const a=g.service.substring(this.appConfig.uriScheme.length);this._proxy.$onDidChangePassword({extensionId:a,key:g.account})}))}getFullKey(s){return`${this.appConfig.uriScheme}${s}`}async $getPassword(s,g){const a=this.getFullKey(s),h=await this.credentialsService.getPassword(a,g),u=h&&await this.cryptoService.decrypt(h);if(u)try{const c=JSON.parse(u);if(c.extensionId===s)return c.content}catch{throw new Error("Cannot get password")}}async $setPassword(s,g,a){const h=this.getFullKey(s),u=JSON.stringify({extensionId:s,content:a}),c=await this.cryptoService.encrypt(u);return this.credentialsService.setPassword(h,g,c)}async $deletePassword(s,g){try{const a=this.getFullKey(s);await this.credentialsService.deletePassword(a,g)}catch{throw new Error("Cannot delete password")}}};t.MainThreadSecret=m,n.__decorate([(0,r.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(l.ICredentialsService),n.__metadata("design:type",Object)],m.prototype,"credentialsService",void 0),n.__decorate([(0,r.Autowired)(_.ICryptoService),n.__metadata("design:type",Object)],m.prototype,"cryptoService",void 0),t.MainThreadSecret=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},93633:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadStatusBar=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(71298),m=e(46147),p=n.__importStar(e(51328));let s=class{constructor(a){this.rpcProtocol=a,this.disposable=new l.Disposable,this.proxy=this.rpcProtocol.getProxy(m.ExtHostAPIIdentifier.ExtHostStatusBar)}dispose(){this.disposable.dispose()}$setStatusBarMessage(a){this.disposable.addDispose(this.statusBar.addElement("ext_default_statusbar_text",{text:a,alignment:_.StatusBarAlignment.LEFT}))}$dispose(a){a?this.statusBar.removeElement(a):this.statusBar.removeElement("ext_default_statusbar_text")}$createStatusBarItem(a,h,u,c){this.disposable.addDispose(this.statusBar.addElement(a,{id:h,alignment:u,priority:c}))}async $setMessage(a,h,u,c,E,f,d,y,b,A,S,D){const I=A?.label||(0,v.getCodiconAriaLabel)(c),w={id:h,name:u,text:c||"",priority:E,alignment:f===p.StatusBarAlignment.Left?_.StatusBarAlignment.LEFT:_.StatusBarAlignment.RIGHT,color:d,backgroundColor:y,tooltip:b,command:S,arguments:D,role:A?.role,ariaLabel:I};this.disposable.addDispose(this.statusBar.addElement(a,w))}};t.MainThreadStatusBar=s,n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(_.IStatusBarService),n.__metadata("design:type",Object)],s.prototype,"statusBar",void 0),t.MainThreadStatusBar=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],s)},49731:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadStorage=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(50492),_=e(46147);let v=class{constructor(p){this.rpcProtocol=p,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostStorage),this.init()}dispose(){}async init(){await this.extensionStorageService.whenReady,this.proxy.$acceptStoragePath(this.extensionStorageService.extensionStoragePath)}$setValue(p,s,g){try{this.extensionStorageService.set(s,g,p)}catch(a){return Promise.reject(a)}return Promise.resolve(void 0)}$getValue(p,s){try{return Promise.resolve(this.extensionStorageService.get(s,p))}catch(g){return Promise.reject(g)}}};t.MainThreadStorage=v,n.__decorate([(0,r.Autowired)(l.IExtensionStorageService),n.__metadata("design:type",Object)],v.prototype,"extensionStorageService",void 0),t.MainThreadStorage=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],v)},24060:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTasks=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(93950),v=e(1041),m=e(51500),p=e(46147),s=e(54741);var g;(function(R){function P(O){const M=O;return M&&(0,l.isString)(M.id)&&!!M.workspaceFolder}R.is=P})(g||(g={}));var a;(function(R){function P(O){return{id:O.id,task:w.from(O.task)}}R.from=P})(a||(a={}));var h;(function(R){function P(O,M){return{id:O.id,processId:M}}R.from=P})(h||(h={}));var u;(function(R){function P(O,M){return{id:O.id,exitCode:M}}R.from=P})(u||(u={}));var c;(function(R){function P(M){const k=Object.assign(Object.create(null),M);return delete k._key,k}R.from=P;function O(M,k,F){let L=F.createTaskIdentifier(M,console);return L===void 0&&k&&(L={_key:(0,l.uuid)(),type:"$executeOnly"}),L}R.to=O})(c||(c={}));var E;(function(R){function P(M){if(M!=null)return Object.assign(Object.create(null),M)}R.from=P;function O(M){return M==null?v.PresentationOptions.defaults:Object.assign(Object.create(null),v.PresentationOptions.defaults,M)}R.to=O})(E||(E={}));var f;(function(R){function P(M){if(M!=null)return Object.assign(Object.create(null),M)}R.from=P;function O(M){return M==null?v.RunOptions.defaults:Object.assign(Object.create(null),v.RunOptions.defaults,M)}R.to=O})(f||(f={}));var d;(function(R){function P(M){if(M!=null)return{cwd:M.cwd,env:M.env}}R.from=P;function O(M){return M==null?v.CommandOptions.defaults:{cwd:M.cwd||v.CommandOptions.defaults.cwd,env:M.env}}R.to=O})(d||(d={}));var y;(function(R){function P(k){const F=k;return F&&!!F.process}R.is=P;function O(k){const F=(0,l.isString)(k.name)?k.name:k.name.value,L=k.args?k.args.map(U=>(0,l.isString)(U)?U:U.value):[],B={process:F,args:L};return k.options&&(B.options=d.from(k.options)),B}R.from=O;function M(k){const F={runtime:v.RuntimeType.Process,name:k.process,args:k.args,presentation:void 0};return F.options=d.to(k.options),F}R.to=M})(y||(y={}));var b;(function(R){function P(M){if(M==null)return;const k={cwd:M.cwd||v.CommandOptions.defaults.cwd,env:M.env};return M.shell&&(k.executable=M.shell.executable,k.shellArgs=M.shell.args,k.shellQuoting=M.shell.quoting),k}R.from=P;function O(M){if(M==null)return;const k={cwd:M.cwd,env:M.env};return M.executable&&(k.shell={executable:M.executable},M.shellArgs&&(k.shell.args=M.shellArgs),M.shellQuoting&&(k.shell.quoting=M.shellQuoting)),k}R.to=O})(b||(b={}));var A;(function(R){function P(k){const F=k;return F&&(!!F.commandLine||!!F.command)}R.is=P;function O(k){const F={};return k.name&&(0,l.isString)(k.name)&&(k.args===void 0||k.args===null||k.args.length===0)?F.commandLine=k.name:(F.command=k.name,F.args=k.args),k.options&&(F.options=b.from(k.options)),F}R.from=O;function M(k){const F={runtime:v.RuntimeType.Shell,name:k.commandLine?k.commandLine:k.command,args:k.args,presentation:void 0};return k.options&&(F.options=b.to(k.options)),F}R.to=M})(A||(A={}));var S;(function(R){function P(k){const F=k;return F&&F.customExecution==="customExecution"}R.is=P;function O(){return{customExecution:"customExecution"}}R.from=O;function M(){return{runtime:v.RuntimeType.CustomExecution,presentation:void 0}}R.to=M})(S||(S={}));var D;(function(R){function P(k){const F=k;return F&&F.customExecution==="customExecution2"}R.is=P;function O(){return{customExecution:"customExecution2"}}R.from=O;function M(){return{runtime:v.RuntimeType.CustomExecution2,presentation:void 0}}R.to=M})(D||(D={}));var I;(function(R){function P(M){const k={label:M.label};return M.kind===v.TaskSourceKind.Extension?(k.extensionId=M.extension,M.workspaceFolder?k.scope=M.workspaceFolder.uri:k.scope=M.scope):M.kind===v.TaskSourceKind.Workspace&&(k.extensionId="$core",k.scope=M.config.workspaceFolder.uri),k}R.from=P;function O(M,k){let F,L;const B=k.tryGetRoots().map(W=>l.Uri.parse(W.uri));return M.scope===void 0||typeof M.scope=="number"&&M.scope!==1?k.tryGetRoots().map(W=>l.Uri.file(W.uri)).length===0?(F=1,L=void 0):(F=3,L={name:"workspace",uri:B[0],index:0}):typeof M.scope=="number"?F=M.scope:(F=3,L=(0,l.withNullAsUndefined)({uri:k.tryGetRoots().map(W=>l.Uri.parse(W.uri))[0],name:k.getWorkspaceName(k.tryGetRoots().map(W=>l.URI.file(W.uri))[0]),index:0})),{kind:v.TaskSourceKind.Extension,label:M.label,extension:M.extensionId,scope:F,workspaceFolder:L}}R.to=O})(I||(I={}));var w;(function(R){function P(M){if(M==null||!v.CustomTask.is(M)&&!v.ContributedTask.is(M)&&!v.ConfiguringTask.is(M))return;const k={_id:M._id,name:M.configurationProperties.name,definition:c.from(M.getDefinition()),source:I.from(M._source),execution:void 0,presentationOptions:!v.ConfiguringTask.is(M)&&M.command?E.from(M.command.presentation):void 0,isBackground:M.configurationProperties.isBackground,problemMatchers:[],hasDefinedMatchers:v.ContributedTask.is(M)?M.hasDefinedMatchers:!1,runOptions:f.from(M.runOptions)};if(M.configurationProperties.group&&(k.group=M.configurationProperties.group),!v.ConfiguringTask.is(M)&&M.command&&(M.command.runtime===v.RuntimeType.Process?k.execution=y.from(M.command):M.command.runtime===v.RuntimeType.Shell&&(k.execution=A.from(M.command))),M.configurationProperties.problemMatchers)for(const F of M.configurationProperties.problemMatchers)(0,l.isString)(F)&&k.problemMatchers.push(F);return k}R.from=P;function O(M,k,F,L){if(!M||typeof M.name!="string")return;let B;if(M.execution&&(A.is(M.execution)?B=A.to(M.execution):y.is(M.execution)?B=y.to(M.execution):S.is(M.execution)&&(B=S.to())),!B)return;B.presentation=E.to(M.presentationOptions);const U=I.to(M.source,k),W=(0,l.formatLocalize)("task.label",U.label,M.name),j=c.to(M.definition,F,L),Q=`${M.source.extensionId}.${j._key}`;return new v.ContributedTask(Q,U,W,j.type,j,B,M.hasDefinedMatchers,f.to(M.runOptions),{name:M.name,identifier:W,group:M.group,isBackground:!!M.isBackground,problemMatchers:M.problemMatchers.slice()})}R.to=O})(w||(w={}));let T=class extends l.Disposable{constructor(P){super(),this.rpcProtocol=P,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostTasks),this.providers=new Map,this.context={createTaskIdentifier:(O,M)=>this.taskDefinitionRegistry.createTaskIdentifier(O,M)},this.addDispose(this.taskService.onDidStateChange(O=>{const M=O.__task;O.kind==="start"?(this.logger.verbose(`task ${M._label||M._id} start`,O.terminalId),this.proxy.$onDidStartTask(a.from(M.getTaskExecution()),O.terminalId)):O.kind==="processStarted"?(this.logger.verbose(`task ${M._label||M._id} process start`,O.processId),this.proxy.$onDidStartTaskProcess(h.from(M.getTaskExecution(),O.processId))):O.kind==="processEnded"?(this.logger.verbose(`task ${M._label||M._id} process end`,O.exitCode),this.proxy.$onDidEndTaskProcess(u.from(M.getTaskExecution(),O.exitCode))):O.kind==="end"&&(this.logger.verbose(`task ${M._label||M._id} end`),this.proxy.$onDidEndTask(a.from(M.getTaskExecution())))}))}dispose(){super.dispose(),this.providers.forEach(P=>P.disposable.dispose()),this.providers.clear()}$registerTaskProvider(P,O){this.logger.verbose(`register task provider ${O}, handler ${P}`);const M={provideTasks:F=>(this.logger.verbose(`${O} provideTask`),Promise.resolve(this.proxy.$provideTask(P,F)).then(L=>{const B=[];for(const U of L.tasks){const W=w.to(U,this.workspaceService,!0,this.context);W?B.push(W):this.logger.error(`Task System: can not convert task: ${JSON.stringify(U.definition,void 0,0)}. Task will be dropped`)}return{tasks:B,extension:L.extension,type:O}})),resolveTask:F=>(this.logger.verbose(`${O} resolveTask`),Promise.resolve(this.proxy.$resolveTask(P,F)).then(L=>{if(L)return w.to(L,this.workspaceService,!0,this.context)}))},k=this.taskService.registerTaskProvider(M,O);return this.providers.set(P,{disposable:k,provider:M}),Promise.resolve()}$unregisterTaskProvider(P){throw new Error("Method not implemented.")}$fetchTasks(P){return this.taskService.tasks(s.TaskFilterDTO.to(P)).then(O=>{const M=[];for(const k of O){const F=w.from(k);F&&M.push(F)}return M})}$executeTask(P){return new Promise((O,M)=>{if(g.is(P)){const k=this.workspaceService.getWorkspaceRootUri(l.URI.from(P.workspaceFolder));k?this.taskService.getTask(k.codeUri,P.id,!0).then(F=>{this.taskService.run(F).then(()=>{});const L={id:P.id,task:w.from(F)};O(L)},F=>{M(new Error("Task not found"))}):M(new Error("No workspace folder"))}else{const k=w.to(P,this.workspaceService,!0,this.context);this.taskService.run(k).then(()=>{});const F={id:k._id,task:w.from(k)};O(F)}})}$createTaskId(P){return new Promise((O,M)=>{const k=w.to(P,this.workspaceService,!0,this.context);k?O(k._id):M(new Error("Task could not be created from DTO"))})}async $terminateTask(P){await this.taskService.terminateTask(P)}};t.MainThreadTasks=T,n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],T.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(_.ITaskService),n.__metadata("design:type",Object)],T.prototype,"taskService",void 0),n.__decorate([(0,r.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],T.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ITaskDefinitionRegistry),n.__metadata("design:type",Object)],T.prototype,"taskDefinitionRegistry",void 0),t.MainThreadTasks=T=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],T)},69696:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTerminal=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(6487),v=e(94620),m=e(85504),p=e(46147),s=e(71354);let g=class{constructor(u){this.rpcProtocol=u,this.shortId2LongIdMap=new Map,this._terminalProcessProxies=new Map,this._profileProviders=new Map,this.disposable=new l.Disposable,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostTerminal),this.initData(),this.bindEvent()}dispose(){this.disposable.dispose()}bindEvent(){this.disposable.addDispose(this.terminalApi.onDidChangeActiveTerminal(u=>{this.proxy.$onDidChangeActiveTerminal(u)})),this.disposable.addDispose(this.terminalApi.onDidCloseTerminal(u=>{this.proxy.$onDidCloseTerminal(u)})),this.disposable.addDispose(this.terminalApi.onDidTerminalTitleChange(u=>{this.proxy.$onDidTerminalTitleChange(u.id,u.name)})),this.disposable.addDispose(this.terminalApi.onDidOpenTerminal(u=>{const c=this.controller.clients.get(u.id);c&&c.addDispose(c.xterm.raw.onData(()=>{this.proxy.$acceptTerminalInteraction(u.id)})),this.proxy.$onDidOpenTerminal(u)})),this.disposable.addDispose(this.controller.onInstanceRequestStartExtensionTerminal(u=>this._onRequestStartExtensionTerminal(u))),this.disposable.addDispose(this.profileService.onDidChangeAvailableProfiles(()=>{this._updateDefaultProfile()})),this.disposable.addDispose(this.profileService.onTerminalProfileResolved(async u=>{await this.activationEventService.fireEvent(`onTerminalProfile:${u}`)})),this.disposable.addDispose(this.profileService.onDidChangeDefaultShell(u=>{this.proxy.$setShell(u)}))}initData(){const u=this.terminalApi.terminals,c=[];u.forEach(E=>{c.push({id:E.id,name:E.name,isActive:E.isActive})}),this.proxy.$setTerminals(c),this._updateDefaultProfile()}transform(u,c){const E=this.shortId2LongIdMap.get(u);return c(E||u)}$sendText(u,c,E){return this.transform(u,f=>(this.proxy.$acceptTerminalInteraction(f),this.terminalApi.sendText(f,c,E)))}$show(u,c){return this.transform(u,E=>this.terminalApi.showTerm(E,c))}$hide(u){return this.transform(u,c=>this.terminalApi.hideTerm(c))}$dispose(u){return this.transform(u,c=>this.terminalApi.removeTerm(c))}$getProcessId(u){return this.transform(u,c=>this.terminalApi.getProcessId(c))}async $createTerminal(u,c){await this.controller.ready.promise;const E=await this.terminalApi.createTerminal(u,c);if(!E){this.logger.error(`Create Terminal ${c} fail.`);return}this.shortId2LongIdMap.set(c,E.id)}_onRequestStartExtensionTerminal(u){const c=u.proxy;this._terminalProcessProxies.set(c.terminalId,c);const E=u.cols&&u.rows?{columns:u.cols,rows:u.rows}:void 0;this.proxy.$startExtensionTerminal(c.terminalId,E).then(u.callback),c.onInput(f=>this.proxy.$acceptProcessInput(c.terminalId,f)),c.onShutdown(f=>this.proxy.$acceptProcessShutdown(c.terminalId,f)),c.onRequestCwd(()=>this.proxy.$acceptProcessRequestCwd(c.terminalId)),c.onRequestInitialCwd(()=>this.proxy.$acceptProcessRequestInitialCwd(c.terminalId))}_getTerminalProcess(u){return this.transform(u,c=>{const E=this._terminalProcessProxies.get(c);if(!E)throw new Error(`Unknown terminal: ${c}`);return E})}$sendProcessTitle(u,c){return this.transform(u,E=>{const f=this.terminalGroupViewService.getWidget(E);f&&(f.rename(c),this.proxy.$acceptTerminalTitleChange(E,c))})}$sendProcessData(u,c){this._getTerminalProcess(u).emitData(c)}$sendProcessReady(u,c,E){this._getTerminalProcess(u).emitReady(c,E)}$sendProcessExit(u,c){this._getTerminalProcess(u).emitExit(c),this._terminalProcessProxies.delete(u)}$sendOverrideDimensions(u,c){this._getTerminalProcess(u).emitOverrideDimensions(c)}$sendProcessInitialCwd(u,c){this._getTerminalProcess(u).emitInitialCwd(c)}$sendProcessCwd(u,c){this._getTerminalProcess(u).emitCwd(c)}$startLinkProvider(){var u;(u=this._linkProvider)===null||u===void 0||u.dispose(),this._linkProvider=this.controller.registerLinkProvider(new a(this.proxy))}$stopLinkProvider(){var u;(u=this._linkProvider)===null||u===void 0||u.dispose(),this._linkProvider=void 0}$registerProfileProvider(u,c){this._profileProviders.set(u,this.profileService.registerTerminalProfileProvider(c,u,{createContributedTerminalProfile:async E=>{this.proxy.$createContributedProfileTerminal(u,E)}}))}$unregisterProfileProvider(u){var c;(c=this._profileProviders.get(u))===null||c===void 0||c.dispose(),this._profileProviders.delete(u)}async _updateDefaultProfile(){const u=await this.profileInternalSerivce.resolveDefaultProfile();u&&this.proxy.$acceptDefaultProfile(u)}$setEnvironmentVariableCollection(u,c,E){if(E){const f={persistent:c,map:(0,v.deserializeEnvironmentVariableCollection)(E)};this.environmentVariableService.set(u,f)}else this.environmentVariableService.delete(u)}};t.MainThreadTerminal=g,n.__decorate([(0,r.Autowired)(v.EnvironmentVariableServiceToken),n.__metadata("design:type",Object)],g.prototype,"environmentVariableService",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalApiService),n.__metadata("design:type",Object)],g.prototype,"terminalApi",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalController),n.__metadata("design:type",Object)],g.prototype,"controller",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalProfileService),n.__metadata("design:type",Object)],g.prototype,"profileService",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalProfileInternalService),n.__metadata("design:type",Object)],g.prototype,"profileInternalSerivce",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalGroupViewService),n.__metadata("design:type",Object)],g.prototype,"terminalGroupViewService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],g.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(s.IActivationEventService),n.__metadata("design:type",s.IActivationEventService)],g.prototype,"activationEventService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],g.prototype,"logger",void 0),t.MainThreadTerminal=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],g);class a{constructor(u){this._proxy=u}async provideLinks(u,c){const E=this._proxy;return(await E.$provideLinks(u.id,c)).map(d=>({id:d.id,startIndex:d.startIndex,length:d.length,label:d.label,activate:()=>E.$activateLink(u.id,d.id)}))}}},53191:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTestsImpl=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(48465),m=e(30005),p=e(20215),s=e(48385),g=e(44781),a=e(46147),h=c=>{var E,f;for(const d of c)if(d[0]===0||d[0]===1){const y=d[1];!((E=y.item)===null||E===void 0)&&E.uri&&(y.item.uri=_.URI.revive(y.item.uri)),!((f=y.item)===null||f===void 0)&&f.range&&(y.item.range=g.Range.lift(y.item.range))}};let u=class extends _.Disposable{constructor(E){super(),this.testProviderRegistrations=new Map,this.proxy=E.getProxy(a.ExtHostAPIIdentifier.ExtHostTests)}$registerTestController(E,f,d){const y=new _.DisposableStore,b=y.add(new m.ObservableValue(d)),A={id:E,label:f,canRefresh:b,configureRunProfile:S=>this.proxy.$configureRunProfile(E,S),refreshTests:S=>this.proxy.$refreshTests(E,S),runTests:(S,D)=>this.proxy.$runControllerTests(S,D),expandTest:(S,D)=>this.proxy.$expandTest(S,isFinite(D)?D:-1)};y.add(_.Disposable.create(()=>this.testProfiles.removeProfile(E))),y.add(this.testService.registerTestController(E,A)),this.testProviderRegistrations.set(E,{instance:A,label:f,canRefresh:b,disposable:y})}$updateController(E,f){const d=this.testProviderRegistrations.get(E);d&&(f.label!==void 0&&(d.label=f.label),f.canRefresh!==void 0&&(d.canRefresh.value=f.canRefresh))}$unregisterTestController(E){this.logger.warn("test: unregisterTestController>>",E)}$subscribeToDiffs(){this.logger.warn("test: subscribeToDiffs>>")}$unsubscribeFromDiffs(){this.logger.warn("test: unsubscribeFromDiffs>>")}$publishDiff(E,f){h(f),this.testService.publishDiff(E,f)}$publishTestRunProfile(E){const f=this.testProviderRegistrations.get(E.controllerId);f&&this.testProfiles.addProfile(f.instance,E)}$updateTestRunConfig(E,f,d){this.logger.warn("Method not implemented.")}$removeTestProfile(E,f){this.testProfiles.removeProfile(E,f)}async $runTests(E,f){return(await this.testService.runResolvedTests(E,f)).id}$addTestsToRun(E,f,d){for(const y of d)y.uri=_.URI.revive(y.uri),y.range&&(y.range=g.Range.lift(y.range));this.withTestResult(f,y=>y.addTestChainToRun(E,d))}$updateTestStateInRun(E,f,d,y,b){this.withTestResult(E,A=>A.updateState(d,f,y,b))}$appendTestMessagesInRun(E,f,d,y){const b=this.resultService.getResult(E);if(b&&b instanceof s.TestResultImpl)for(const A of y)A.location&&(A.location.uri=_.URI.revive(A.location.uri),A.location.range=g.Range.lift(A.location.range)),b.appendMessage(d,f,A)}$appendOutputToRun(E,f,d,y,b){const A=y&&{uri:_.URI.revive(y.uri),range:g.Range.lift(y.range)};this.withTestResult(E,S=>S.appendOutput(d,f,A,b))}$startedTestRunTask(E,f){this.withTestResult(E,d=>d.addTask(f))}$finishedTestRunTask(E,f){this.withTestResult(E,d=>d.markTaskComplete(f))}$startedExtensionTestRun(E){this.resultService.createTestResult(E)}$finishedExtensionTestRun(E){this.withTestResult(E,f=>f.markComplete())}$markTestRetired(E){this.logger.warn("Method not implemented.")}withTestResult(E,f){const d=this.resultService.getResult(E);return d&&d instanceof s.TestResultImpl?f(d):void 0}};t.MainThreadTestsImpl=u,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.Logger)],u.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(v.TestServiceToken),n.__metadata("design:type",Object)],u.prototype,"testService",void 0),n.__decorate([(0,r.Autowired)(p.TestProfileServiceToken),n.__metadata("design:type",Object)],u.prototype,"testProfiles",void 0),n.__decorate([(0,r.Autowired)(s.TestResultServiceToken),n.__metadata("design:type",Object)],u.prototype,"resultService",void 0),t.MainThreadTestsImpl=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],u)},31968:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTheming=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(52416),_=e(46147);let v=class{constructor(p){this.rpcProtocol=p,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostTheming),this._themeChangeListener=this._themeService.onThemeChange(s=>{this.proxy.$onColorThemeChange(s.type)}),this.proxy.$onColorThemeChange(this._themeService.getCurrentThemeSync().type)}dispose(){this._themeChangeListener.dispose()}};t.MainThreadTheming=v,n.__decorate([(0,r.Autowired)(l.IThemeService),n.__metadata("design:type",Object)],v.prototype,"_themeService",void 0),t.MainThreadTheming=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],v)},4321:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.TreeViewDragAndDropController=t.TreeViewDataProvider=t.MainThreadTreeView=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(8919),v=e(41869),m=e(93899),p=e(68969),s=e(14951),g=e(63067),a=e(52416),h=e(46147),u=e(53043),c=e(98475),E=e(2108),f=e(51328),d=e(17428),y=e(74228),b=e(72217);let A=n=class extends v.WithEventBus{constructor(w,T){super(),this.rpcProtocol=w,this.extensionHostType=T,this.treeModels=new Map,this.dndControllers=new Map,this.disposableCollection=new Map,this.disposable=new v.DisposableStore,this.proxy=this.rpcProtocol.getProxy(h.ExtHostAPIIdentifier.ExtHostTreeView),this.disposable.add((0,v.toDisposable)(()=>this.treeModels.clear())),this.disposable.add((0,v.toDisposable)(()=>this.dndControllers.clear())),this._registerInternalCommands(),this.fileServiceClient.getCurrentUserHome().then(R=>{R&&(this.userhome=new v.URI(R.uri))}),this.addDispose(this.eventBus.on(g.ViewCollapseChangedEvent,R=>{if(R.payload.viewId&&this.treeModels.has(R.payload.viewId)&&!R.payload.collapsed){const P=this.treeModels.get(R.payload.viewId);P&&this.progressService.withProgress({location:R.payload.viewId},()=>P.refresh())}}))}dispose(){this.disposable.dispose(),this.disposableCollection.forEach(w=>{w.dispose()}),this.disposableCollection.clear()}createTreeModel(w,T,R,P){return y.ExtensionTreeViewModel.createModel(this.injector,T,R,w,P||{})}async $registerTreeDataProvider(w,T){if(this.treeModels.has(w))return;const R=new v.DisposableStore,P=new S(w,this.proxy,this.iconService,this.themeService,this.labelService,this.contextKeyService,this.menuService,this.userhome),O=new D(w,T.dropMimeTypes,T.dragMimeTypes,T.hasHandleDrag,this.proxy),M=this.createTreeModel(w,P,O,T);this.treeModels.set(w,M),this.dndControllers.set(w,O),R.add((0,v.toDisposable)(()=>this.treeModels.delete(w))),this.mainLayoutService.replaceViewComponent({id:w,component:d.ExtensionTabBarTreeView},{model:M,dataProvider:P,treeViewId:w}),T?.showCollapseAll&&R.add(this.menuRegistry.registerMenuItem(m.MenuId.ViewTitle,{command:{id:this.extensionHostType==="worker"?n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID_WORKER:n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID,label:(0,v.localize)("treeview.command.action.collapse")},extraTailArgs:[w],iconClass:(0,v.getIcon)("collapse-all"),when:`view == ${w}`,group:"navigation",order:1e4})),R.add(M.onDidSelectedNodeChange(F=>{P.setSelection(w,F)})),R.add(M.onDidChangeExpansionState(F=>{const{treeItemId:L,expanded:B}=F;P.setExpanded(w,L,B)}));const k=this.mainLayoutService.getTabbarHandler(w);k&&(R.add(k.onActivate(()=>{P.setVisible(w,!0)})),R.add(k.onInActivate(()=>{P.setVisible(w,!1)})),R.add(R.add((0,v.toDisposable)(()=>k.disposeView(w))))),this.disposableCollection.set(w,R)}async $unregisterTreeDataProvider(w){const T=this.disposableCollection.get(w);T&&T.dispose()}async $resolveDropFileData(w,T,R){const P=this.dndControllers.get(w);if(!P)throw new Error("Unknown tree");return P.resolveDropFileData(T,R)}async $refresh(w,T){const R=this.treeModels.get(w);R&&await R.refresh(T)}async $setTitle(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&R.updateViewTitle(w,T)}async $setDescription(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&R.updateViewDescription(w,T)}async $setBadge(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&(R.setBadge(T||""),R.accordionService.updateViewBadge(w,T||""))}async $setMessage(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&R.updateViewMessage(w,T)}async $reveal(w,T,R){this.mainLayoutService.revealView(w);const P=this.treeModels.get(w);P&&T&&P.reveal(T,R)}_registerInternalCommands(){this.disposable.add(this.commandRegistry.registerCommand({id:this.extensionHostType==="worker"?n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID_WORKER:n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID},{execute:w=>{const T=this.treeModels.get(w);T&&T.collapseAll()}}))}};t.MainThreadTreeView=A,A.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID="TREE_VIEW_COLLAPSE_ALL",A.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID_WORKER="TREE_VIEW_COLLAPSE_ALL_WORKER",r.__decorate([(0,o.Autowired)(g.IMainLayoutService),r.__metadata("design:type",Object)],A.prototype,"mainLayoutService",void 0),r.__decorate([(0,o.Autowired)(a.IIconService),r.__metadata("design:type",Object)],A.prototype,"iconService",void 0),r.__decorate([(0,o.Autowired)(m.IMenuRegistry),r.__metadata("design:type",m.IMenuRegistry)],A.prototype,"menuRegistry",void 0),r.__decorate([(0,o.Autowired)(v.CommandRegistry),r.__metadata("design:type",Object)],A.prototype,"commandRegistry",void 0),r.__decorate([(0,o.Autowired)(a.IThemeService),r.__metadata("design:type",Object)],A.prototype,"themeService",void 0),r.__decorate([(0,o.Autowired)(p.IProgressService),r.__metadata("design:type",Object)],A.prototype,"progressService",void 0),r.__decorate([(0,o.Autowired)(v.LabelService),r.__metadata("design:type",v.LabelService)],A.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(v.IContextKeyService),r.__metadata("design:type",Object)],A.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(m.AbstractMenuService),r.__metadata("design:type",m.AbstractMenuService)],A.prototype,"menuService",void 0),r.__decorate([(0,o.Autowired)(s.IFileServiceClient),r.__metadata("design:type",Object)],A.prototype,"fileServiceClient",void 0),r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],A.prototype,"injector",void 0),t.MainThreadTreeView=A=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)(_.IRPCProtocol)),r.__metadata("design:paramtypes",[Object,String])],A);class S extends l.Tree{constructor(w,T,R,P,O,M,k,F){super(),this.treeViewId=w,this.proxy=T,this.iconService=R,this.themeService=P,this.labelService=O,this.contextKeyService=M,this.menuService=k,this.userhome=F,this.cachedMenu=new Map,this.onTreeDataChangedEmitter=new v.Emitter,this.onRevealChangedEmitter=new v.Emitter,this.isEmpty=!0,this._onDidChangeEmpty=new v.Emitter,this.onDidChangeEmpty=this._onDidChangeEmpty.event,this.treeItemId2TreeNode=new Map}get isTreeEmpty(){return this.isEmpty}get onTreeDataChanged(){return this.onTreeDataChangedEmitter.event}get onRevealChanged(){return this.onRevealChangedEmitter.event}get root(){return this._root}getTreeNodeIdByTreeItemId(w){var T;return(T=this.treeItemId2TreeNode.get(w))===null||T===void 0?void 0:T.id}getReadableDescription(w){if(w.resourceUri){if(this.userhome){const T=v.URI.from(w.resourceUri);if(this.userhome.isEqualOrParent(T))return decodeURIComponent(w.resourceUri.path.toString().replace(this.userhome.codeUri.fsPath,"~"))}return w.resourceUri.path.toString()}return w.description}getLabelAndDescription(w){if(w.label)return{label:w.label,description:w.description};if(w.resourceUri){let T=w.resourceUri.path.toString();T=decodeURIComponent(T),T.indexOf("/")>=0&&(T=T.substring(T.lastIndexOf("/")+1));const R=this.getReadableDescription(w);return{label:T,description:R}}return{label:w.label,description:w.description}}async createFoldNode(w,T){var R;const P=f.TreeItemCollapsibleState.Expanded===w.collapsibleState,O=await this.toIconClass(w),M=this.getInlineMenuNodes(w.contextValue||""),{label:k,description:F}=this.getLabelAndDescription(w);return new b.ExtensionCompositeTreeNode(this,T,k,F,O,typeof w.tooltip=="string"?w.tooltip:(R=w.tooltip)===null||R===void 0?void 0:R.value,w.command,w.contextValue||"",w.id,M,w.checkboxInfo,w.accessibilityInformation,P,w.resourceUri)}async createNormalNode(w,T){var R;const P=await this.toIconClass(w),O=this.getInlineMenuNodes(w.contextValue||""),{label:M,description:k}=this.getLabelAndDescription(w);return new b.ExtensionTreeNode(this,T,M,k,P,typeof w.tooltip=="string"?w.tooltip:(R=w.tooltip)===null||R===void 0?void 0:R.value,w.command,w.contextValue||"",w.id,O,w.checkboxInfo,w.accessibilityInformation,w.resourceUri)}isBase64Icon(w){const T=/^data:image\//;return w?(0,v.isString)(w)?T.test(w):T.test(w.dark):!1}async toIconClass(w){if(w.iconUrl||w.icon)return this.iconService.fromIcon("",w.iconUrl||w.icon,this.isBase64Icon(w.iconUrl||w.icon)?a.IconType.Base64:a.IconType.Background,void 0,!0);if(w.themeIcon){let T=(0,v.getExternalIcon)(w.themeIcon.id);w.resourceUri&&(w.themeIcon.id==="file"?T=this.labelService.getIcon(v.URI.from(w.resourceUri)):w.themeIcon.id==="folder"&&(T=this.labelService.getIcon(v.URI.from(w.resourceUri),{isDirectory:!0})));const R=this.themeService.getColorClassNameByColorToken(w.themeIcon.color);return`${T} ${R??""}`}else return""}getInlineMenuNodes(w){if(this.cachedMenu.has(w))return this.cachedMenu.get(w);const T=this.contextKeyService.createScoped();T.createKey("view",this.treeViewId),T.createKey("viewItem",w);const R=this.menuService.createMenu(m.MenuId.ViewItemContext,T),P=(0,m.generateCtxMenu)({menus:R,separator:"inline"});return R.dispose(),T.dispose(),this.cachedMenu.set(w,P[0]),P[0]}async createTreeNode(w,T){return!(0,v.isUndefined)(w.collapsibleState)&&w.collapsibleState!==f.TreeItemCollapsibleState.None?await this.createFoldNode(w,T):await this.createNormalNode(w,T)}async resolveChildren(w){let T=[];if(w){let R;if(b.ExtensionTreeRoot.is(w)?R=await this.proxy.$getChildren(this.treeViewId):R=await this.proxy.$getChildren(this.treeViewId,w.treeItemId),R&&Array.isArray(R))for(const P of R){const O=await this.createTreeNode(P,w);this.treeItemId2TreeNode.set(P.id,O),T.push(O)}if(b.ExtensionTreeRoot.is(w)){const P=this.isEmpty;this.isEmpty=!R||R.length===0,P!==this.isEmpty&&this._onDidChangeEmpty.fire()}}else T=[new b.ExtensionTreeRoot(this,this.treeViewId)];return T}async resolveTreeItem(w,T){const R=new v.CancellationTokenSource().token;return this.proxy.$resolveTreeItem(w,T,R)}sortComparator(w,T){return w?T?0:-1:1}async refresh(w){await this.onTreeDataChangedEmitter.fire(w)}async reveal(w){await this.onRevealChangedEmitter.fire(w)}async setSelection(w,T){this.proxy.$setSelection(w,T)}async setExpanded(w,T,R){this.proxy.$setExpanded(w,T,R)}async setVisible(w,T){this.proxy.$setVisible(w,T)}dispose(){super.dispose(),this.treeItemId2TreeNode.clear()}markAsChecked(w,T,R){var P;function O(F,L){var B,U;((B=F.parent)===null||B===void 0?void 0:B.checkboxInfo)!==void 0&&F.parent.checkboxInfo.checked!==T&&(!T||!(!((U=F.parent.children)===null||U===void 0)&&U.some(W=>{var j;return W!==F&&((j=W.checkboxInfo)===null||j===void 0?void 0:j.checked)===!1})))&&(L.push(F.parent),O(F.parent,L))}function M(F,L){var B;l.CompositeTreeNode.is(F)&&((B=F.children)===null||B===void 0||B.forEach(U=>{U.checkboxInfo!==void 0&&U.checkboxInfo.checked!==T&&L.push(U),M(U,L)}))}const k=[w];R||(O(w,k),M(w,k)),k.forEach(F=>F.checkboxInfo.checked=T),(P=this.proxy)===null||P===void 0||P.$checkStateChanged(this.treeViewId,[{treeItemId:w.treeItemId,checked:T}])}}t.TreeViewDataProvider=S;class D extends v.Disposable{constructor(w,T=[],R=[],P,O){super(),this.treeViewId=w,this.dropMimeTypes=T,this.dragMimeTypes=R,this.hasHandleDrag=P,this._proxy=O,this.dataTransfersCache=new E.DataTransferCache}async handleDrop(w,T,R,P,O,M){const k=this.dataTransfersCache.add(w);try{return await this._proxy.$handleDrop(this.treeViewId,k.id,await u.DataTransfer.toDataTransferDTO(w),T?.treeItemId,R,P,O,M)}finally{k.dispose()}}async handleDrag(w,T,R){if(!this.hasHandleDrag)return;const P=await this._proxy.$handleDrag(this.treeViewId,w,T,R);if(!P)return;const O=new c.VSDataTransfer;return P.items.forEach(([M,k])=>{O.replace(M,(0,c.createStringDataTransferItem)(k.asString))}),O}resolveDropFileData(w,T){return this.dataTransfersCache.resolveDropFileData(w,T)}}t.TreeViewDragAndDropController=D},73082:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadUrls=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(46147),v=e(71354);class m{constructor(a,h,u){this.proxy=a,this.handle=h,this.extensionId=u}async handleURL(a){return this.extensionId!==a.authority?!1:(await this.proxy.$handleExternalUri(this.handle,a.codeUri),!0)}}let p=class{constructor(){this.extensionUrlHandlers=new Map}async open(a){let h=!1;const u=a.authority,c=this.extensionUrlHandlers.get(u);if(c)try{h=await c.handleURL(a)}catch(E){this.logger.error(E)}return await this.activationEventService.fireEvent("onUri",u),h}handleScheme(a){return a===this.config.uriScheme}registerExtensionHandler(a,h,u){const c=new m(u,a,h);return this.extensionUrlHandlers.set(h,c),{dispose:()=>{this.extensionUrlHandlers.delete(h)}}}dispose(){this.extensionUrlHandlers.clear()}};n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],p.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.IActivationEventService)],p.prototype,"activationEventService",void 0),p=n.__decorate([(0,r.Injectable)()],p);let s=class{constructor(a){this.handlers=new Map,this.proxy=a.getProxy(_.ExtHostAPIIdentifier.ExtHostUrls),this.openerService.registerOpener(this.extensionOpener)}async $registerUriHandler(a,h){this.handlers.set(a,this.extensionOpener.registerExtensionHandler(a,h,this.proxy))}async $unregisterUriHandler(a){const h=this.handlers.get(a);h&&(h.dispose(),this.handlers.delete(a))}dispose(){this.handlers.clear(),this.extensionOpener.dispose()}};t.MainThreadUrls=s,n.__decorate([(0,r.Autowired)(l.IOpenerService),n.__metadata("design:type",Object)],s.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(p),n.__metadata("design:type",p)],s.prototype,"extensionOpener",void 0),t.MainThreadUrls=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],s)},38408:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWindowState=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(46147),v=e(38894);let m=class{constructor(s){this.rpcProtocol=s,this.toDispose=new l.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostWindowState),this.blurHandler=()=>{this.proxy.$onDidChangeWindowFocus(!1)},this.focusHandler=()=>{this.proxy.$onDidChangeWindowFocus(!0)},window.addEventListener("blur",this.blurHandler),window.addEventListener("focus",this.focusHandler);const g=new v.WindowActivityTimer(window);this.toDispose.push(g.onDidChangeActiveState(a=>this.onActiveStateChanged(a))),this.toDispose.push(g)}onActiveStateChanged(s){this.proxy.$onDidChangeWindowActive(s)}dispose(){window.removeEventListener("blur",this.blurHandler),window.removeEventListener("focus",this.focusHandler),this.toDispose.dispose()}};t.MainThreadWindowState=m,t.MainThreadWindowState=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},43812:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWindow=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(72665),v=e(46147);let m=class{constructor(s){this.rpcProtocol=s,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostWindow)}getDefaultDialogOptions(s){return{...s,defaultUri:s.defaultUri?l.URI.from(s.defaultUri):void 0}}async $showOpenDialog(s,g={}){const a=this.getDefaultDialogOptions(g),h=await this.windowDialogService.showOpenDialog(a);this.proxy.$onOpenDialogResult(s,h&&h.map(u=>u.codeUri))}async $showSaveDialog(s,g={}){const a=this.getDefaultDialogOptions(g),h=await this.windowDialogService.showSaveDialog(a);this.proxy.$onSaveDialogResult(s,h&&h.codeUri)}dispose(){}};t.MainThreadWindow=m,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(_.IDialogService),n.__metadata("design:type",Object)],m.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(_.IWindowDialogService),n.__metadata("design:type",Object)],m.prototype,"windowDialogService",void 0),t.MainThreadWindow=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},13643:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWorkspace=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(54414),v=e(50492),m=e(84660),p=e(52902),s=e(51500),g=e(26199),a=e(46147);let h=class extends l.WithEventBus{constructor(c){super(),this.rpcProtocol=c,this.proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostWorkspace),this.processWorkspaceFoldersChanged(this.workspaceService.tryGetRoots()),this.addDispose(this.workspaceChangeEvent=this.workspaceService.onWorkspaceChanged(E=>{this.processWorkspaceFoldersChanged(E)})),this.storageProxy=c.getProxy(a.ExtHostAPIIdentifier.ExtHostStorage)}async $startFileSearch(c,E,f,d,y){const b={rootUris:E.cwd?[E.cwd]:this.workspaceService.tryGetRoots().map(S=>S.uri),excludePatterns:f?[f]:void 0,limit:d,includePatterns:[c]};return await this.fileSearchService.find("",b,y)}isAnyRootChanged(c){return!this.roots||this.roots.length!==c.length?!0:this.roots.some((E,f)=>E.uri!==c[f].uri)}processWorkspaceFoldersChanged(c){this.isAnyRootChanged(c)!==!1&&(this.roots=c,this.proxy.$onWorkspaceFoldersChanged({roots:c}),this.extensionStorageService.getAll(!1).then(E=>{this.storageProxy.$updateWorkspaceStorageData(E)}))}dispose(){super.dispose(),this.workspaceChangeEvent.dispose()}async $updateWorkspaceFolders(c,E,f,...d){await this.workspaceService.spliceRoots(c,E,f,...d.map(y=>new l.URI(y)))}async $tryApplyWorkspaceEdit(c,E){try{const f=p.ResourceEdit.convert(c),{success:d}=await this.bulkEditService.apply(f,{respectAutoSaveConfig:E?.isRefactoring});return d}catch{return!1}}async $save(c){if(c)try{const E=l.URI.file(c.path.toString());return await this.editorService.save(E)}catch(E){this.logger.error(`Save Failed: ${E.message}`);return}}async $saveAs(c){if(c)try{return await this.editorService.saveAs(c)}catch(E){this.logger.error(`SaveAs Failed: ${E.message}`);return}}async $saveAll(){try{return await this.editorService.saveAll(),!0}catch(c){return this.logger.error(c),!1}}onRenameFile(c){this.proxy.$didRenameFile(c.payload.oldUri.codeUri,c.payload.newUri.codeUri)}};t.MainThreadWorkspace=h,n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],h.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],h.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(m.FileSearchServicePath),n.__metadata("design:type",Object)],h.prototype,"fileSearchService",void 0),n.__decorate([(0,r.Autowired)(v.IExtensionStorageService),n.__metadata("design:type",Object)],h.prototype,"extensionStorageService",void 0),n.__decorate([(0,r.Autowired)(g.IBulkEditServiceShape),n.__metadata("design:type",Object)],h.prototype,"bulkEditService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),n.__decorate([(0,l.OnEvent)(g.WorkspaceEditDidRenameFileEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[g.WorkspaceEditDidRenameFileEvent]),n.__metadata("design:returntype",void 0)],h.prototype,"onRenameFile",null),t.MainThreadWorkspace=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],h)},97673:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentRangeSemanticTokensProviderImpl=t.DocumentSemanticTokensProvider=void 0;const n=e(70858);function r(_){if(_ instanceof Uint8Array)return _;if(Array.isArray(_))return Uint8Array.from(_);const v=[];for(const m in _)Object.prototype.hasOwnProperty.call(_,m)&&v.push(Number(_[m]));return Uint8Array.from(v)}class o{constructor(v,m,p){this.proxy=v,this.handleId=m,this.legend=p}getLegend(){return this.legend}async provideDocumentSemanticTokens(v,m,p){const s=m?parseInt(m,10):0,g=await this.proxy.$provideDocumentSemanticTokens(this.handleId,v.uri,s,p);if(!g||p.isCancellationRequested)return null;const a=(0,n.decodeSemanticTokensDto)(r(g));return a.type==="full"?{resultId:String(a.id),data:a.data}:{resultId:String(a.id),edits:a.deltas}}releaseDocumentSemanticTokens(v){v&&this.proxy.$releaseDocumentSemanticTokens(this.handleId,parseInt(v,10))}}t.DocumentSemanticTokensProvider=o;class l{constructor(v,m,p){this.proxy=v,this.handleId=m,this.legend=p}getLegend(){return this.legend}async provideDocumentRangeSemanticTokens(v,m,p){const s=await this.proxy.$provideDocumentRangeSemanticTokens(this.handleId,v.uri,m,p);if(!s||p.isCancellationRequested)return null;const g=(0,n.decodeSemanticTokensDto)(r(s));if(g.type==="full")return{resultId:String(g.id),data:g.data};throw new Error("Unexpected")}}t.DocumentRangeSemanticTokensProviderImpl=l},74501:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTreeModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(72217);let m=n=class extends l.TreeModel{constructor(s){super(),this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(s)}init(s){this.root=s,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,()=>{this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})})}};t.ExtensionTreeModel=m,m.DEFAULT_FLUSH_DELAY=100,t.ExtensionTreeModel=m=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.ExtensionTreeRoot])],m)},74228:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTreeViewModel=t.ITreeViewsService=t.ITreeViewDragAndDropController=t.ITreeViewBaseOptions=t.ITreeViewId=t.IExtensionTreeViewModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(93899),m=e(43718),p=e(46147),s=e(98475),g=e(4321),a=r.__importDefault(e(50790)),h=e(74501),u=e(72217);t.IExtensionTreeViewModel=Symbol("IExtensionTreeViewModel"),t.ITreeViewId=Symbol("ITreeViewId"),t.ITreeViewBaseOptions=Symbol("TreeViewBaseOptions"),t.ITreeViewDragAndDropController=Symbol("ITreeViewDragAndDropController"),t.ITreeViewsService=Symbol("ITreeViewsService");const c=Symbol("ITreeViewDataProvider");let E=n=class{static createContainer(d,y,b,A,S){return d.createChild([{token:c,useValue:y},{token:t.ITreeViewDragAndDropController,useValue:b},{token:t.IExtensionTreeViewModel,useClass:n},{token:t.ITreeViewId,useValue:A},{token:t.ITreeViewBaseOptions,useValue:S},{token:t.ITreeViewsService,useValue:new p.TreeviewsService}])}static createModel(d,y,b,A,S){return n.createContainer(d,y,b,A,S).get(t.IExtensionTreeViewModel)}constructor(){this.selectedDecoration=new l.Decoration(a.default.mod_selected),this.focusedDecoration=new l.Decoration(a.default.mod_focused),this.contextMenuDecoration=new l.Decoration(a.default.mod_actived),this.loadingDecoration=new l.Decoration(a.default.mod_loading),this.draggingDecoration=new l.Decoration(a.default.mod_dragging),this.draggedOverDecoration=new l.Decoration(a.default.mod_dragover),this.beingDraggedNodes=[],this._selectedNodes=[],this.disposableCollection=new _.DisposableCollection,this.onDidFocusedNodeChangeEmitter=new _.Emitter,this.onDidSelectedNodeChangeEmitter=new _.Emitter,this.onDidChangeExpansionStateEmitter=new _.Emitter,this._isMultiSelected=!1,this.revealDelayer=new _.ThrottledDelayer(n.DEFAULT_REVEAL_DELAY),this.toCancelNodeExpansion=new _.DisposableCollection,this.dragOverTrigger=new _.ThrottledDelayer(n.MS_TILL_DRAGGED_OVER_EXPANDS),this.treeItemsTransfer=s.LocalSelectionTransfer.getInstance(),this.treeHandlerReadyDeffer=new _.Deferred,this.clearNodeSelectedDecoration=()=>{this._selectedNodes.forEach(d=>{this.selectedDecoration.removeTarget(d)}),this._selectedNodes=[],this.onDidSelectedNodeChangeEmitter.fire([])},this.activeNodeDecoration=d=>{if(d!==this.treeModel.root&&(this.contextMenuNode&&(this.contextMenuDecoration.removeTarget(this.contextMenuNode),this._contextMenuNode=void 0),d)){if(this.selectedNodes.length>0)for(const y of this.selectedDecoration.appliedTargets.keys())this.selectedDecoration.removeTarget(y);this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(d),this.focusedDecoration.addTarget(d),this._focusedNode=d,this._selectedNodes=[d],this.onDidFocusedNodeChangeEmitter.fire(d.treeItemId),this.onDidSelectedNodeChangeEmitter.fire([d.treeItemId]),this.treeModel.dispatchChange()}},this.activeNodeFocusedDecoration=(d,y=!1,b=!1)=>{if(d!==this.treeModel.root){if(this.focusedNode!==d&&(y?(this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this._contextMenuNode=d):this.focusedNode&&(this._contextMenuNode=void 0,this.focusedDecoration.removeTarget(this.focusedNode)),d)){if(b){for(const A of this._selectedNodes)this.selectedDecoration.removeTarget(A);this._selectedNodes=[]}this._selectedNodes.indexOf(d)<0&&(this.selectedDecoration.addTarget(d),this._selectedNodes.push(d),this.onDidSelectedNodeChangeEmitter.fire(this._selectedNodes.map(A=>A.treeItemId))),this.focusedDecoration.addTarget(d),this._focusedNode=d,this.onDidFocusedNodeChangeEmitter.fire(d.treeItemId)}this.treeModel.dispatchChange()}},this.activeNodeActivedDecoration=d=>{this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this._focusedNode=void 0),this.contextMenuDecoration.addTarget(d),this._contextMenuNode=d,this.treeModel.dispatchChange()},this.selectNodeDecoration=(d,y=!0)=>{d!==this.treeModel.root&&(this.contextMenuNode&&(this.contextMenuDecoration.removeTarget(this.contextMenuNode),this._contextMenuNode=void 0),d&&(this.selectedNodes.length>0&&this.selectedNodes.forEach(b=>{this.selectedDecoration.removeTarget(b)}),this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(d),this._selectedNodes=[d],this.onDidSelectedNodeChangeEmitter.fire([d.treeItemId]),y&&this.treeModel.dispatchChange()))},this.activeNodeSelectedDecoration=d=>{this._selectedNodes.indexOf(d)>-1||(this._selectedNodes.push(d),this.selectedDecoration.addTarget(d),this.onDidSelectedNodeChangeEmitter.fire(this._selectedNodes.map(y=>y.treeItemId)),this.treeModel.dispatchChange())},this.activeNodeDecorationByRange=(d,y)=>{for(this.clearNodeSelectedDecoration(),this._contextMenuNode=void 0;d<=y;d++){const b=this.treeModel.root.getTreeNodeAtIndex(d);b&&(this._selectedNodes.push(b),this.selectedDecoration.addTarget(b))}this.onDidSelectedNodeChangeEmitter.fire(this._selectedNodes.map(b=>b.treeItemId)),this.treeModel.dispatchChange()},this.enactiveNodeDecoration=()=>{var d;this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this.onDidFocusedNodeChangeEmitter.fire(),this._focusedNode=void 0),this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),(d=this.treeModel)===null||d===void 0||d.dispatchChange()},this.toggleDirectory=async d=>{var y,b;await this.treeHandlerReadyDeffer.promise,d.expanded?await((y=this.extensionTreeHandle)===null||y===void 0?void 0:y.collapseNode(d)):await((b=this.extensionTreeHandle)===null||b===void 0?void 0:b.expandNode(d))},this.handleTreeBlur=()=>{this.enactiveNodeDecoration()},this.handleTreeFocus=()=>{},this.handleDragStart=(d,y)=>{d.stopPropagation();const b=w=>{this.handleDragEnd(w,y)};d.currentTarget.addEventListener("dragend",b,!1);let A=this.selectedNodes,S=!1;for(const w of A)w&&w.id===y.id&&(S=!0);S||(A=[y]);const D=[],I={id:this.treeViewId,itemHandles:[]};if(A.forEach(w=>{I.itemHandles.push(w.treeItemId),w.uri&&D.push(m.URI.revive(w.uri))}),this.addResourceInfoToTransfer(d,D),this.addExtensionProvidedTransferTypes(d,I.itemHandles),d.dataTransfer.setData(this.treeMimeType,JSON.stringify(I)),A.forEach(w=>{this.draggingDecoration.addTarget(w,l.TargetMatchMode.Self)}),d.dataTransfer){const w=this.getDragLabel(A)||"",T=document.createElement("div");T.className=a.default.tree_view_drag_image,T.textContent=w,document.body.appendChild(T),d.dataTransfer.setDragImage(T,-10,-10),setTimeout(()=>document.body.removeChild(T),0)}},this.handleDragEnter=(d,y)=>{d.stopPropagation(),d.preventDefault()},this.handleDrop=async(d,y)=>{d.preventDefault(),d.stopPropagation(),d.dataTransfer.dropEffect="copy",y&&this.draggingDecoration.removeTarget(y),this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(T=>{this.draggingDecoration.removeTarget(T)}),this.beingDraggedNodes=[],this.potentialParent=null,this.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose();const b=this.treeViewDragAndDropController;if(!d.dataTransfer||!b)return;const A=(0,s.toVSDataTransfer)(d.dataTransfer);let S,D;this.treeItemsTransfer.hasData(s.DraggedTreeItemsIdentifier.prototype)&&(D=this.treeItemsTransfer.getData(s.DraggedTreeItemsIdentifier.prototype)[0].identifier);const I=new s.VSDataTransfer;for(const[T,R]of A.entries())if((T===this.treeMimeType||b.dropMimeTypes.includes(T)||R.asFile()&&b.dropMimeTypes.includes(s.DataTransfers.FILES.toLowerCase()))&&(I.append(T,R),T===this.treeMimeType))try{S=JSON.parse(await R.asString())}catch{}const w=await this.treeViewsDragAndDropService.removeDragOperationTransfer(D);if(w)for(const[T,R]of w.entries())I.append(T,R);return b.handleDrop(I,y,m.CancellationToken.None,D,S?.id,S?.itemHandles)},this.handleDragOver=(d,y)=>{if(d.preventDefault(),d.stopPropagation(),!this.toCancelNodeExpansion.disposed||this.beingDraggedNodes.indexOf(y)>=0)return;this.draggedOverNode=y;const b=u.ExtensionCompositeTreeNode.is(y)&&y.expanded?y:y.parent;(this.potentialParent!==b||!this.draggedOverDecoration.hasTarget(b))&&(this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.potentialParent=b,this.draggedOverDecoration.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren),this.treeModel.dispatchChange()),this.potentialParent!==y&&u.ExtensionCompositeTreeNode.is(y)&&(this.dragOverTrigger.trigger(async()=>{y.expanded?(this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.potentialParent=y,this.draggedOverDecoration.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren)):(await y.setExpanded(!0),this.draggedOverNode===y&&(this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.potentialParent=y,this.draggedOverDecoration.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren))),this.treeModel.dispatchChange()}),this.toCancelNodeExpansion.push(m.Disposable.create(()=>{this.dragOverTrigger.isTriggered()||this.dragOverTrigger.cancel()})))},this.handleDragLeave=(d,y)=>{d.preventDefault(),d.stopPropagation(),this.toCancelNodeExpansion.dispose(),this.potentialParent&&(this.draggedOverDecoration.removeTarget(this.potentialParent),this.treeModel.dispatchChange())},this.handleDragEnd=(d,y)=>{var b,A;((b=d.dataTransfer)===null||b===void 0?void 0:b.dropEffect)==="none"&&((A=this.dragCancellationToken)===null||A===void 0||A.cancel()),this.draggingDecoration.removeTarget(y),this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(S=>{this.draggingDecoration.removeTarget(S)}),this.beingDraggedNodes=[],this.potentialParent=null,this.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose()},this.handleItemRangeClick=(d,y)=>{if(!this.focusedNode)this.handleItemClick(d,y);else if(this.focusedNode&&this.focusedNode!==d){this._isMultiSelected=!0;const b=this.treeModel.root.getIndexAtTreeNode(d),A=this.treeModel.root.getIndexAtTreeNode(this.focusedNode);A>b?this.activeNodeDecorationByRange(b,A):A<b&&this.activeNodeDecorationByRange(A,b)}},this.handleItemToggleClick=(d,y)=>{this._isMultiSelected=!0,!(y!==l.TreeNodeType.CompositeTreeNode&&y!==l.TreeNodeType.TreeNode)&&(this.selectedNodes.indexOf(d)>-1?this.focusedNode===d?this.enactiveNodeDecoration():this.activeNodeFocusedDecoration(d):this.activeNodeSelectedDecoration(d))},this.handleItemClick=async(d,y)=>{this._isMultiSelected=!1,(y===l.TreeNodeType.CompositeTreeNode||y===l.TreeNodeType.TreeNode)&&this.activeNodeDecoration(d),d.resolved||await d.resolveTreeItem(),d.command?this.commandService.executeCommand(d.command.id,...d.command.arguments||[]):(this.clickTimes++,y===l.TreeNodeType.CompositeTreeNode&&this.preferenceService.get("workbench.list.openMode")==="singleClick"&&this.toggleDirectory(d),this.clickTimer&&clearTimeout(this.clickTimer),this.clickTimer=setTimeout(()=>{this.clickTimes>1&&y!==l.TreeNodeType.TreeNode&&this.preferenceService.get("workbench.list.openMode")==="doubleClick"&&this.toggleDirectory(d),this.clickTimes=0},200))},this.handleContextMenu=(d,y)=>{d.stopPropagation(),d.preventDefault();const{x:b,y:A}=d.nativeEvent;y?this.activeNodeActivedDecoration(y):this.enactiveNodeDecoration();let S,D;y?(D=y,this._isMultiSelected?this.selectedNodes.indexOf(D)>=0?S=this._isMultiSelected?this.selectedNodes:[D]:S=this._isMultiSelected?this.selectedNodes.concat([D]):[D]:S=[D]):(S=[this.treeModel.root],D=this.treeModel.root);const I=this.getCtxMenuNodes(D.contextValue);this.injector.get(v.ICtxMenuRenderer).show({anchor:{x:b,y:A},menuNodes:I,args:[{treeViewId:this.treeViewId,treeItemId:D.treeItemId},S.map(T=>({treeViewId:this.treeViewId,treeItemId:T.treeItemId}))]})},this.handleCheckBoxChange=async d=>{d&&this.treeViewDataProvider.markAsChecked(d,!d.checkboxInfo.checked,this.treeViewOptions.manageCheckboxStateManually)},this._whenReady=this.initTreeModel(),this.treeMimeType=`application/vnd.code.tree.${this.treeViewId.toLowerCase()}`}get draggable(){return this.treeViewDragAndDropController.hasHandleDrag}get onDidFocusedNodeChange(){return this.onDidFocusedNodeChangeEmitter.event}get onDidChangeExpansionState(){return this.onDidChangeExpansionStateEmitter.event}get onDidSelectedNodeChange(){return this.onDidSelectedNodeChangeEmitter.event}get extensionTreeHandle(){return this._extensionTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get whenReady(){return this._whenReady}get focusedNode(){return this._focusedNode}get selectedNodes(){return this._selectedNodes}get contextMenuNode(){return this._contextMenuNode}async initTreeModel(){const d=(await this.treeViewDataProvider.resolveChildren())[0];this._treeModel=this.injector.get(h.ExtensionTreeModel,[d]),this.initDecorations(d),this.disposableCollection.push(this.treeViewDataProvider),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,y=>{this.loadingDecoration.addTarget(y)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,y=>{this.loadingDecoration.removeTarget(y)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidChangeExpansionState,(y,b)=>{this.onDidChangeExpansionStateEmitter.fire({treeItemId:y.treeItemId,expanded:b})})),this.disposableCollection.push(this.treeViewDataProvider.onTreeDataChanged(y=>{this.refresh(y)})),this.disposableCollection.push(this.treeViewDataProvider.onRevealChanged(y=>{this.reveal(y)})),this.disposableCollection.push(this.treeViewDataProvider.onRevealChanged(y=>{this.reveal(y)}))}async updateTreeModel(){const d=await this.treeViewDataProvider.resolveChildren()[0];this._treeModel=this.injector.get(h.ExtensionTreeModel,[d])}initDecorations(d){this._decorations=new l.DecorationsManager(d),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration),this._decorations.addDecoration(this.loadingDecoration),this._decorations.addDecoration(this.draggedOverDecoration),this._decorations.addDecoration(this.draggingDecoration)}removeNodeDecoration(){this.decorations&&(this.decorations.removeDecoration(this.selectedDecoration),this.decorations.removeDecoration(this.focusedDecoration),this.decorations.removeDecoration(this.contextMenuDecoration),this.decorations.removeDecoration(this.loadingDecoration),this.decorations.removeDecoration(this.draggedOverDecoration),this.decorations.removeDecoration(this.draggingDecoration))}handleTreeHandler(d){this._extensionTreeHandle=d,this.treeHandlerReadyDeffer.resolve()}getDragURI(d){return this.treeViewDragAndDropController.handleDrag?d.uri?m.Uri.revive(d.uri).toString():d.treeItemId:null}getDragLabel(d){if(!this.treeViewDragAndDropController.handleDrag)return;if(d.length>1)return String(d.length);const y=d[0];return y.displayName?y.displayName:y.uri?this.labelService.getName(m.URI.from(y.uri)):void 0}handleDragAndLog(d,y,b,A){return d.handleDrag(y,b,A).then(S=>{if(S){const D=[];for(const I of S.entries())I[0]!==this.treeMimeType&&d.dragMimeTypes.findIndex(w=>w===I[0])<0&&D.push(I[0]);D.length&&this.logger.warn(`Drag and drop controller for tree ${this.treeViewId} adds the following data transfer types but does not declare them in dragMimeTypes: ${D.join(", ")}`)}return S})}addExtensionProvidedTransferTypes(d,y){var b;if(!d.dataTransfer||!this.treeViewDragAndDropController)return;const A=(0,m.uuid)();this.dragCancellationToken=new m.CancellationTokenSource,this.treeViewsDragAndDropService.addDragOperationTransfer(A,this.handleDragAndLog(this.treeViewDragAndDropController,y,A,this.dragCancellationToken.token)),this.treeItemsTransfer.setData([new s.DraggedTreeItemsIdentifier(A)],s.DraggedTreeItemsIdentifier.prototype),this.treeViewDragAndDropController.dragMimeTypes.find(S=>S===m.Mimes.uriList)&&((b=d.dataTransfer)===null||b===void 0||b.setData(s.DataTransfers.RESOURCES,"")),this.treeViewDragAndDropController.dragMimeTypes.forEach(S=>{var D;(D=d.dataTransfer)===null||D===void 0||D.setData(S,"")})}addResourceInfoToTransfer(d,y){if(y.length&&d.dataTransfer){const b=y.filter(A=>A.scheme===m.Schemes.file).map(A=>A.fsPath);b.length&&d.dataTransfer.setData(s.CodeDataTransfers.FILES,JSON.stringify(b))}}getCtxMenuNodes(d){return this.getMenuNodes(d)[1]}getMenuNodes(d){const y=this.contextKeyService.createScoped();y.createKey("view",this.treeViewId),y.createKey("viewItem",d);const b=this.menuService.createMenu(v.MenuId.ViewItemContext,y),A=(0,v.generateCtxMenu)({menus:b,separator:"inline"});return b.dispose(),y.dispose(),A}getInlineMenuNodes(d){return this.getMenuNodes(d)[0]}collapseAll(){this.treeModel.root.collapsedAll()}async refreshById(d){const y=this.treeViewDataProvider.getTreeNodeIdByTreeItemId(d);if(!y)return;const b=this.treeModel.root.getTreeNodeById(y);b&&(u.ExtensionCompositeTreeNode.is(b)?await b.refresh():b.parent&&await b.parent.refresh())}async refresh(d){var y;await this.whenReady,d?await this.refreshById(d.id):await((y=this.treeModel.root)===null||y===void 0?void 0:y.refresh())}async reveal(d,y={}){return await this.whenReady,this.revealDelayer.isTriggered()||this.revealDelayer.cancel(),this.revealDelayer.trigger(async()=>{var b;await this.treeHandlerReadyDeffer.promise,this.treeModel.root.branchSize===0&&await this.refresh();const A=this.treeViewDataProvider.getTreeNodeIdByTreeItemId(d);if(!A)return;const S=this.treeModel.root.getTreeNodeById(A);if(!S)return;const D=(0,m.isUndefinedOrNull)(y.select)?!1:y.select,I=(0,m.isUndefinedOrNull)(y.focus)?!1:y.focus;let w=Math.min((0,m.isNumber)(y.expand)?y.expand:y.expand===!0?1:0,3),T=await((b=this.extensionTreeHandle)===null||b===void 0?void 0:b.ensureVisible(S.path));for(T&&(D&&this.selectNodeDecoration(T),I&&this.activeNodeFocusedDecoration(T,!1,!0));u.ExtensionCompositeTreeNode.is(T)&&w>0;w--)await this.extensionTreeHandle.expandNode(T),T=T?.children?T?.children[0]:void 0})}};t.ExtensionTreeViewModel=E,E.DEFAULT_REVEAL_DELAY=500,E.MS_TILL_DRAGGED_OVER_EXPANDS=500,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],E.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(c),r.__metadata("design:type",g.TreeViewDataProvider)],E.prototype,"treeViewDataProvider",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewDragAndDropController),r.__metadata("design:type",g.TreeViewDragAndDropController)],E.prototype,"treeViewDragAndDropController",void 0),r.__decorate([(0,o.Autowired)(_.PreferenceService),r.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewId),r.__metadata("design:type",String)],E.prototype,"treeViewId",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewBaseOptions),r.__metadata("design:type",Object)],E.prototype,"treeViewOptions",void 0),r.__decorate([(0,o.Autowired)(v.AbstractMenuService),r.__metadata("design:type",v.AbstractMenuService)],E.prototype,"menuService",void 0),r.__decorate([(0,o.Autowired)(_.IContextKeyService),r.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(_.CommandService),r.__metadata("design:type",Object)],E.prototype,"commandService",void 0),r.__decorate([(0,o.Autowired)(_.LabelService),r.__metadata("design:type",_.LabelService)],E.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(m.ILogger),r.__metadata("design:type",Object)],E.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewsService),r.__metadata("design:type",Object)],E.prototype,"treeViewsDragAndDropService",void 0),t.ExtensionTreeViewModel=E=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],E)},72217:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTreeNode=t.ExtensionCompositeTreeNode=t.ExtensionTreeRoot=void 0;const n=e(97267),r=e(43718);class o extends n.CompositeTreeNode{static is(m){return!!m&&"children"in m&&!m.parent}constructor(m,p=""){super(m,void 0),this.treeViewId=p}get treeItemId(){return`TreeViewRoot_${this.treeViewId}`}get name(){return`TreeViewRoot_${this.id}`}get expanded(){return!0}get displayName(){return this._displayName}dispose(){super.dispose()}}t.ExtensionTreeRoot=o;class l extends n.CompositeTreeNode{constructor(m,p,s,g="",a="",h="",u,c="",E="",f,d,y,b,A){super(m,p,void 0,{name:encodeURIComponent(E)}),this.description=g,this.icon=a,this.contextValue=c,this.treeItemId=E,this.actions=f,this._checkboxInfo=d,this._accessibilityInformation=y,this._resolved=!1,this.isExpanded=b||!1,this.sourceUri=A,this._command=u,this._tooltip=h,(0,r.isString)(s)?this._displayName=s:(0,r.isObject)(s)&&(this._displayName=s.label,this._hightlights=s.highlights,this._strikethrough=s.strikethrough)}get resolved(){return this._resolved}get command(){return this._command}get tooltip(){return this._tooltip}get displayName(){return this._displayName}get checkboxInfo(){return this._checkboxInfo}get accessibilityInformation(){var m,p;return{role:((m=this._accessibilityInformation)===null||m===void 0?void 0:m.role)||"treeitem",label:((p=this._accessibilityInformation)===null||p===void 0?void 0:p.label)||this.displayName}}get strikethrough(){return this._strikethrough}get uri(){return this.sourceUri&&r.Uri.from(this.sourceUri)}get highlights(){return this._hightlights}async resolveTreeItem(){var m;const p=await this._tree.resolveTreeItem(this._tree.treeViewId,this.treeItemId);p&&(this._tooltip=typeof p.tooltip=="string"?p.tooltip:(m=p.tooltip)===null||m===void 0?void 0:m.value,this._command=p.command),this._resolved=!0}dispose(){super.dispose()}}t.ExtensionCompositeTreeNode=l;class _ extends n.TreeNode{constructor(m,p,s,g="",a="",h,u,c="",E="",f,d,y,b){super(m,p,void 0,{name:encodeURIComponent(E)}),this.description=g,this.icon=a,this._tooltip=h,this._command=u,this.contextValue=c,this.treeItemId=E,this.actions=f,this._checkboxInfo=d,this._accessibilityInformation=y,this.sourceUri=b,this._resolved=!1,(0,r.isString)(s)?this._displayName=s:(0,r.isObject)(s)&&(this._displayName=s.label,this._hightlights=s.highlights,this._strikethrough=s.strikethrough)}get resolved(){return this._resolved}get command(){return this._command}get uri(){return this.sourceUri&&r.Uri.from(this.sourceUri)}get tooltip(){return this._tooltip}get displayName(){return this._displayName}get checkboxInfo(){return this._checkboxInfo}get accessibilityInformation(){var m,p;return{role:((m=this._accessibilityInformation)===null||m===void 0?void 0:m.role)||"treeitem",label:((p=this._accessibilityInformation)===null||p===void 0?void 0:p.label)||this.displayName}}get strikethrough(){return this._strikethrough}get highlights(){return this._hightlights}async resolveTreeItem(){var m;const p=await this._tree.resolveTreeItem(this._tree.treeViewId,this.treeItemId);p&&(this._tooltip=typeof p.tooltip=="string"?p.tooltip:(m=p.tooltip)===null||m===void 0?void 0:m.value,this._command=p.command),this._resolved=!0}}t.ExtensionTreeNode=_},38894:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowActivityTimer=void 0;const n=e(41869),r=30,o=1e3;class l extends n.Disposable{constructor(v,m=30,p=1e3){super(),this.window=v,this.activityCount=0,this.maxInactivityCount=r,this.inactivityCheckInterval=o,this.isActive=!0,this.activeStateChangedEmitter=new n.Emitter,this.resetInactivityTimer=()=>{this.activityCount=0,this.setActiveState(!0),this.inactivityCheckTimer||this.startInactivityCheck()},this.checkInactivity=()=>{this.activityCount++,this.activityCount>=this.maxInactivityCount&&(this.setActiveState(!1),this.stopInactivityCheck())},this.maxInactivityCount=m,this.inactivityCheckInterval=p,this.setupActivityListeners()}get onDidChangeActiveState(){return this.activeStateChangedEmitter.event}setActiveState(v){this.isActive!==v&&(this.isActive=v,this.activeStateChangedEmitter.fire(v))}setupActivityListeners(){this.window.addEventListener("mousedown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.addEventListener("keydown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.addEventListener("touchstart",this.resetInactivityTimer,{passive:!0,capture:!0})}startInactivityCheck(){this.stopInactivityCheck(),this.inactivityCheckTimer=setInterval(()=>{this.checkInactivity()},this.inactivityCheckInterval)}stopInactivityCheck(){this.inactivityCheckTimer&&(clearInterval(this.inactivityCheckTimer),this.inactivityCheckTimer=void 0)}dispose(){this.stopInactivityCheck(),this.activeStateChangedEmitter.dispose(),super.dispose(),this.window.removeEventListener("mousedown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.removeEventListener("keydown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.removeEventListener("touchstart",this.resetInactivityTimer,{passive:!0,capture:!0})}}t.WindowActivityTimer=l},72980:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SETTINGS_COMMAND_OPEN_SETTINGS_JSON=t.SETTINGS_COMMAND_OPEN_GLOBAL_SETTINGS=t.SETTINGS_COMMAND_OPEN_SETTINGS=t.COPY_RELATIVE_FILE_PATH=t.COPY_FILE_PATH=t.CLEAR_TERMINAL=t.STOP_EXTENSION_HOST_PROFILER=t.START_EXTENSION_HOST_PROFILER=t.SHOW_RUN_TIME_EXTENSION=t.RELOAD_WINDOW=t.RELOAD_WINDOW_COMMAND=t.API_OPEN_WITH_EDITOR_COMMAND_ID=t.API_OPEN_DIFF_EDITOR_COMMAND_ID=t.OPEN_WITH=t.DIFF=t.OPEN_FOLDER=t.API_OPEN_EDITOR_COMMAND_ID=t.OPEN=t.WORKBENCH_FOCUS_ACTIVE_EDITOR_GROUP=t.FILE_COMMAND_RENAME_FILE=t.WORKBENCH_FOCUS_FILES_EXPLORER=t.NEW_WORKBENCH_VIEW_TERMINAL=t.TERMINAL_COMMAND_TOGGLE_VISIBILITY=t.TERMINAL_COMMAND_FOCUS=t.REVERT_FILES=t.OPEN_EDITOR_AT_INDEX=t.CLOSE_UNMODIFIED_EDITORS=t.CLOSE_OTHER_GROUPS=t.EVEN_EDITOR_WIDTH=t.LAST_EDITOR_IN_GROUP=t.NEXT_EDITOR_IN_GROUP=t.PREVIOUS_EDITOR_IN_GROUP=t.PREVIOUS_EDITOR=t.NEXT_EDITOR=t.NAVIGATE_NEXT=t.NAVIGATE_DOWN=t.NAVIGATE_RIGHT=t.NAVIGATE_UP=t.NAVIGATE_LEFT=t.SPLIT_EDITOR_ORTHOGONAL=t.SPLIT_EDITOR=t.FILE_SAVE=t.CLOSE_OTHER_EDITORS=t.CLOSE_ALL_EDITORS=t.NEW_UNTITLED_FILE=t.SPLIT_EDITOR_DOWN=t.SPLIT_EDITOR_RIGHT=t.REVERT_AND_CLOSE_ACTIVE_EDITOR=t.WORKBENCH_CLOSE_ACTIVE_EDITOR=t.SET_CONTEXT=void 0,t.DEBUG_ADD=t.DEBUG_START=t.OPEN_MERGEEDITOR=t.WALKTHROUGHS_COMMAND_GET_STARTED=t.LAYOUT_COMMAND_MAXIMIZE_EDITOR=t.THEME_COMMAND_QUICK_SELECT=t.SEARCH_COMMAND_OPEN_SEARCH=t.SIDEBAR_TOGGLE_VISIBILITY=t.MARKER_COMMAND_TOGGLE_SHOW_ERRORS_WARNINGS=t.MARKER_COMMAND_SHOW_ERRORS_WARNINGS=t.GET_EXTENSION=t.REVEAL_IN_EXPLORER=t.EDITOR_SHOW_ALL_SYMBOLS=t.DEBUG_COMMAND_STOP=t.DEBUG_COMMAND_RESTART=t.DEBUG_COMMAND_PAUSE=t.DEBUG_COMMAND_START=t.DEBUG_COMMAND_RUN=t.DEBUG_COMMAND_CONTINUE=t.DEBUG_COMMAND_STEP_OUT=t.DEBUG_COMMAND_STEP_OVER=t.DEBUG_COMMAND_STEP_INTO=t.EDITOR_SAVE_ALL=t.EDITOR_NAVIGATE_FORWARD=t.EDITOR_NAVIGATE_BACK=t.SETTINGS_COMMAND_OPEN_GLOBAL_OPEN_KEYMAPS=void 0;const n=e(41869),r=e(66482),o=e(12456);t.SET_CONTEXT={id:"setContext"},t.WORKBENCH_CLOSE_ACTIVE_EDITOR={id:"workbench.action.closeActiveEditor",delegate:n.EDITOR_COMMANDS.CLOSE.id},t.REVERT_AND_CLOSE_ACTIVE_EDITOR={id:"workbench.action.revertAndCloseActiveEditor",delegate:n.EDITOR_COMMANDS.REVERT_AND_CLOSE.id},t.SPLIT_EDITOR_RIGHT={id:"workbench.action.splitEditorRight",delegate:n.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id},t.SPLIT_EDITOR_DOWN={id:"workbench.action.splitEditorDown",delegate:n.EDITOR_COMMANDS.SPLIT_TO_BOTTOM.id},t.NEW_UNTITLED_FILE={id:"workbench.action.files.newUntitledFile",delegate:n.EDITOR_COMMANDS.NEW_UNTITLED_FILE.id},t.CLOSE_ALL_EDITORS={id:"workbench.action.closeAllEditors",delegate:n.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id},t.CLOSE_OTHER_EDITORS={id:"workbench.action.closeOtherEditors",delegate:n.EDITOR_COMMANDS.CLOSE_OTHER_IN_GROUP.id},t.FILE_SAVE={id:"workbench.action.files.save",delegate:n.EDITOR_COMMANDS.SAVE_CURRENT.id},t.SPLIT_EDITOR={id:"workbench.action.splitEditor",delegate:n.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id},t.SPLIT_EDITOR_ORTHOGONAL={id:"workbench.action.splitEditorOrthogonal",delegate:n.EDITOR_COMMANDS.SPLIT_TO_BOTTOM.id},t.NAVIGATE_LEFT={id:"workbench.action.navigateLeft",delegate:n.EDITOR_COMMANDS.NAVIGATE_LEFT.id},t.NAVIGATE_UP={id:"workbench.action.navigateUp",delegate:n.EDITOR_COMMANDS.NAVIGATE_UP.id},t.NAVIGATE_RIGHT={id:"workbench.action.navigateRight",delegate:n.EDITOR_COMMANDS.NAVIGATE_RIGHT.id},t.NAVIGATE_DOWN={id:"workbench.action.navigateDown",delegate:n.EDITOR_COMMANDS.NAVIGATE_DOWN.id},t.NAVIGATE_NEXT={id:"workbench.action.navigateEditorGroups",delegate:n.EDITOR_COMMANDS.NAVIGATE_NEXT.id},t.NEXT_EDITOR={id:"workbench.action.nextEditor",delegate:n.EDITOR_COMMANDS.NEXT.id},t.PREVIOUS_EDITOR={id:"workbench.action.previousEditor",delegate:n.EDITOR_COMMANDS.PREVIOUS.id},t.PREVIOUS_EDITOR_IN_GROUP={id:"workbench.action.previousEditorInGroup",delegate:n.EDITOR_COMMANDS.PREVIOUS_IN_GROUP.id},t.NEXT_EDITOR_IN_GROUP={id:"workbench.action.nextEditorInGroup",delegate:n.EDITOR_COMMANDS.NEXT_IN_GROUP.id},t.LAST_EDITOR_IN_GROUP={id:"workbench.action.lastEditorInGroup",delegate:n.EDITOR_COMMANDS.LAST_IN_GROUP.id},t.EVEN_EDITOR_WIDTH={id:"workbench.action.eventEditorWidths",delegate:n.EDITOR_COMMANDS.EVEN_EDITOR_GROUPS.id},t.CLOSE_OTHER_GROUPS={id:"workbench.action.closeEditorsInOtherGroups",delegate:n.EDITOR_COMMANDS.CLOSE_OTHER_GROUPS.id},t.CLOSE_UNMODIFIED_EDITORS={id:"workbench.action.closeUnmodifiedEditors",delegate:n.EDITOR_COMMANDS.CLOSE_SAVED.id},t.OPEN_EDITOR_AT_INDEX={id:"workbench.action.openEditorAtIndex",delegate:n.EDITOR_COMMANDS.OPEN_EDITOR_AT_INDEX.id},t.REVERT_FILES={id:"workbench.action.files.revert",delegate:n.EDITOR_COMMANDS.REVERT_DOCUMENT.id},t.TERMINAL_COMMAND_FOCUS={id:"workbench.action.terminal.focus",delegate:"workbench.view.terminal"},t.TERMINAL_COMMAND_TOGGLE_VISIBILITY={id:"workbench.action.terminal.toggleTerminal",delegate:"container.toggle.terminal"},t.NEW_WORKBENCH_VIEW_TERMINAL={id:"workbench.action.terminal.new",delegate:n.TERMINAL_COMMANDS.ADD.id},t.WORKBENCH_FOCUS_FILES_EXPLORER={id:"workbench.files.action.focusFilesExplorer",delegate:n.FILE_COMMANDS.FOCUS_FILES.id},t.FILE_COMMAND_RENAME_FILE={id:"renameFile",delegate:n.FILE_COMMANDS.RENAME_FILE.id},t.WORKBENCH_FOCUS_ACTIVE_EDITOR_GROUP={id:"workbench.action.focusActiveEditorGroup",delegate:n.EDITOR_COMMANDS.FOCUS_ACTIVE_EDITOR_GROUP.id},t.OPEN={id:"vscode.open"},t.API_OPEN_EDITOR_COMMAND_ID={id:n.EDITOR_COMMANDS.API_OPEN_EDITOR_COMMAND_ID,delegate:t.OPEN.id},t.OPEN_FOLDER={id:"vscode.openFolder",delegate:n.FILE_COMMANDS.VSCODE_OPEN_FOLDER.id},t.DIFF={id:"vscode.diff"},t.OPEN_WITH={id:"vscode.openWith"},t.API_OPEN_DIFF_EDITOR_COMMAND_ID={id:n.EDITOR_COMMANDS.API_OPEN_DIFF_EDITOR_COMMAND_ID,delegate:t.DIFF.id},t.API_OPEN_WITH_EDITOR_COMMAND_ID={id:n.EDITOR_COMMANDS.API_OPEN_WITH_EDITOR_COMMAND_ID,delegate:t.OPEN_WITH.id},t.RELOAD_WINDOW_COMMAND={id:"reload_window"},t.RELOAD_WINDOW={id:"workbench.action.reloadWindow",delegate:t.RELOAD_WINDOW_COMMAND.id},t.SHOW_RUN_TIME_EXTENSION={id:"workbench.action.showRuntimeExtensions",label:"Show Running Extensions"},t.START_EXTENSION_HOST_PROFILER={id:"workbench.action.extensionHostProfiler.start",label:"Start Extension Host Profile"},t.STOP_EXTENSION_HOST_PROFILER={id:"workbench.action.extensionHostProfiler.stop",label:"Stop Extension Host Profile"},t.CLEAR_TERMINAL={id:"workbench.action.terminal.clear",delegate:n.TERMINAL_COMMANDS.CLEAR_CONTENT.id},t.COPY_FILE_PATH={id:"copyFilePath",label:n.FILE_COMMANDS.COPY_PATH.label},t.COPY_RELATIVE_FILE_PATH={id:"copyRelativeFilePath",label:n.FILE_COMMANDS.COPY_RELATIVE_PATH.label},t.SETTINGS_COMMAND_OPEN_SETTINGS={id:"workbench.action.openSettings",delegate:"core.openpreference"},t.SETTINGS_COMMAND_OPEN_GLOBAL_SETTINGS={id:"workbench.action.openGlobalSettings",delegate:n.COMMON_COMMANDS.OPEN_PREFERENCES.id},t.SETTINGS_COMMAND_OPEN_SETTINGS_JSON={id:"workbench.action.openSettingsJson",delegate:"preference.open.source"},t.SETTINGS_COMMAND_OPEN_GLOBAL_OPEN_KEYMAPS={id:"workbench.action.openGlobalKeybindings",delegate:n.COMMON_COMMANDS.OPEN_KEYMAPS.id},t.EDITOR_NAVIGATE_BACK={id:"workbench.action.navigateBack",delegate:n.EDITOR_COMMANDS.GO_BACK.id},t.EDITOR_NAVIGATE_FORWARD={id:"workbench.action.navigateForward",delegate:n.EDITOR_COMMANDS.GO_FORWARD.id},t.EDITOR_SAVE_ALL={id:"workbench.action.files.saveAll",delegate:n.EDITOR_COMMANDS.SAVE_ALL.id},t.DEBUG_COMMAND_STEP_INTO={id:"workbench.action.debug.stepInto",delegate:r.DEBUG_COMMANDS.NEXT.id},t.DEBUG_COMMAND_STEP_OVER={id:"workbench.action.debug.stepOver",delegate:r.DEBUG_COMMANDS.OVER.id},t.DEBUG_COMMAND_STEP_OUT={id:"workbench.action.debug.stepOut",delegate:r.DEBUG_COMMANDS.PREV.id},t.DEBUG_COMMAND_CONTINUE={id:"workbench.action.debug.continue",delegate:r.DEBUG_COMMANDS.CONTINUE.id},t.DEBUG_COMMAND_RUN={id:"workbench.action.debug.run",delegate:r.DEBUG_COMMANDS.START.id},t.DEBUG_COMMAND_START={id:"workbench.action.debug.start",delegate:r.DEBUG_COMMANDS.START.id},t.DEBUG_COMMAND_PAUSE={id:"workbench.action.debug.pause",delegate:r.DEBUG_COMMANDS.PAUSE.id},t.DEBUG_COMMAND_RESTART={id:"workbench.action.debug.restart",delegate:r.DEBUG_COMMANDS.RESTART.id},t.DEBUG_COMMAND_STOP={id:"workbench.action.debug.stop",delegate:r.DEBUG_COMMANDS.STOP.id},t.EDITOR_SHOW_ALL_SYMBOLS={id:"workbench.action.showAllSymbols",delegate:n.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL.id},t.REVEAL_IN_EXPLORER={id:"revealInExplorer",delegate:n.FILE_COMMANDS.REVEAL_IN_EXPLORER.id},t.GET_EXTENSION={id:"extension.getDescription"},t.MARKER_COMMAND_SHOW_ERRORS_WARNINGS={id:"workbench.action.showErrorsWarnings",delegate:n.MARKER_COMMANDS.SHOW_ERRORS_WARNINGS.id},t.MARKER_COMMAND_TOGGLE_SHOW_ERRORS_WARNINGS={id:"workbench.actions.view.problems",delegate:n.MARKER_COMMANDS.TOGGLE_SHOW_ERRORS_WARNINGS.id},t.SIDEBAR_TOGGLE_VISIBILITY={id:"workbench.action.toggleSidebarVisibility",delegate:n.LAYOUT_COMMANDS.TOGGLE_SIDEBAR_VISIBILITY.id},t.SEARCH_COMMAND_OPEN_SEARCH={id:"workbench.action.findInFiles",delegate:n.SEARCH_COMMANDS.OPEN_SEARCH.id},t.THEME_COMMAND_QUICK_SELECT={id:"workbench.action.selectTheme",delegate:o.THEME_TOGGLE_COMMAND.id},t.LAYOUT_COMMAND_MAXIMIZE_EDITOR={id:"workbench.action.maximizeEditor",delegate:n.LAYOUT_COMMANDS.MAXIMIZE_EDITOR.id},t.WALKTHROUGHS_COMMAND_GET_STARTED={id:"walkthroughs.get.started"},t.OPEN_MERGEEDITOR={id:"_open.mergeEditor",delegate:n.EDITOR_COMMANDS.OPEN_MERGEEDITOR.id,label:"Open Merge Editor"},t.DEBUG_START={id:"workbench.action.debug.selectandstart",delegate:"debug.start"},t.DEBUG_ADD={id:"debug.addConfiguration",delegate:"debug.showAllAutomaticDebugConfigurations"}},3098:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(77666),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){const p=this;for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=[];for(const u of a){const{title:c,description:E}=u;switch(u.type){case"action":h.push({title:c,description:E,iconClass:(0,o.getIcon)(u.icon),click:()=>{u.command&&p.commandService.executeCommand(u.command)},type:u.type});break;case"enum":h.push({type:u.type,title:c,description:E,select:f=>{u.command&&p.commandService.executeCommand(u.command,f)},enum:u.enum,defaultValue:u.defaultValue});break}}this.addDispose(this.toolbarActionService.registryActionGroup(g,h))}}dispose(){super.dispose()}};t.ActionsContributionPoint=v,n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],v.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.IToolbarActionService),n.__metadata("design:type",Object)],v.prototype,"toolbarActionService",void 0),t.ActionsContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("actions"),(0,_.LifeCycle)(3)],v)},57541:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BreakpointsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(37499),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){for(const m of this.contributesMap){const{contributes:p}=m;p.forEach(s=>{this.debugConfigurationManager.addSupportBreakpoints(s.language)})}}unregister(m){m.forEach(p=>{this.debugConfigurationManager.removeSupportBreakpoints(p.language)})}dispose(){for(const m of this.contributesMap){const{contributes:p}=m;this.unregister(p)}}};t.BreakpointsContributionPoint=_,n.__decorate([(0,r.Autowired)(o.DebugConfigurationManager),n.__metadata("design:type",o.DebugConfigurationManager)],_.prototype,"debugConfigurationManager",void 0),t.BreakpointsContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("breakpoints"),(0,l.LifeCycle)(3)],_)},37614:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52416),_=e(99220),v="^\\w+[.\\w+]*$";let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{contributes:g}=s;for(const a of g)a&&a.description&&(a.description=(0,o.replaceLocalizePlaceholder)(a.description)),this.themeService.registerColor(a)}}};t.ColorsContributionPoint=m,m.schema={description:(0,o.localize)("contributes.color","Contributes extension defined themable colors"),type:"array",items:{type:"object",properties:{id:{type:"string",description:(0,o.localize)("contributes.color.id","The identifier of the themable color"),pattern:v,patternErrorMessage:(0,o.localize)("contributes.color.id.format","Identifiers should be in the form aa[.bb]*")},description:{type:"string",description:(0,o.localize)("contributes.color.description","The description of the themable color")},defaults:{type:"object",properties:{light:{description:(0,o.localize)("contributes.defaults.light","The default color for light themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default."),type:"string",anyOf:[{type:"string",format:"color-hex"}]},dark:{description:(0,o.localize)("contributes.defaults.dark","The default color for dark themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default."),type:"string",anyOf:[{type:"string",format:"color-hex"}]},highContrast:{description:(0,o.localize)("contributes.defaults.highContrast","The default color for high contrast dark themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default. If not provided, the `dark` color is used as default for high contrast dark themes."),type:"string",anyOf:[{type:"string",format:"color-hex"}]},highContrastLight:{description:(0,o.localize)("contributes.defaults.highContrastLight","The default color for high contrast light themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default. If not provided, the `light` color is used as default for high contrast light themes."),type:"string",anyOf:[{type:"string",format:"color-hex"}]}}}}}},n.__decorate([(0,r.Autowired)(l.IThemeService),n.__metadata("design:type",Object)],m.prototype,"themeService",void 0),t.ColorsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("colors"),(0,_.LifeCycle)(4)],m)},8079:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52416),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=this.extensionManageService.getExtensionInstanceByExtId(g);h&&a.forEach(u=>{this.addDispose(this.commandRegistry.registerCommand({category:this.getLocalizeFromNlsJSON(u.category,g),label:this.getLocalizeFromNlsJSON(u.title,g),shortLabel:u.shortTitle?this.getLocalizeFromNlsJSON(u.shortTitle,g):void 0,categoryLocalized:this.createLocalizedStr(u.category,g),labelLocalized:this.createLocalizedStr(u.title,g),shortLabelLocalized:u.shortTitle?this.createLocalizedStr(u.shortTitle,g):void 0,id:u.command,iconClass:typeof u.icon=="string"&&this.iconService.fromString(u.icon)||this.iconService.fromIcon(h.path,u.icon,l.IconType.Background),enablement:u.enablement},{execute:(...c)=>this.extensionService.executeExtensionCommand(u.command,c)})),this.config.noExtHost?this.addDispose(this.extensionCommandManager.registerExtensionCommandEnv(u.command,"worker")):this.addDispose(this.extensionCommandManager.registerExtensionCommandEnv(u.command,"node"))})}}};t.CommandsContributionPoint=m,n.__decorate([(0,r.Autowired)(o.CommandRegistry),n.__metadata("design:type",Object)],m.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(_.ExtensionService),n.__metadata("design:type",_.ExtensionService)],m.prototype,"extensionService",void 0),n.__decorate([(0,r.Autowired)(_.IExtCommandManagement),n.__metadata("design:type",_.IExtCommandManagement)],m.prototype,"extensionCommandManager",void 0),n.__decorate([(0,r.Autowired)(l.IIconService),n.__metadata("design:type",Object)],m.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.CommandsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("commands"),(0,_.LifeCycle)(3)],m)},6143:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(99220),v=e(71354),m=e(25588);let p=class extends _.VSCodeContributePoint{async contribute(){if(this.localizationsContributionPoint.hasUncontributedPoint())try{await this.localizationsContributionPoint.whenContributed}catch(g){this.logger.error("Failed to wait contribute localizations.",g)}for(const g of this.contributesMap){const{extensionId:a,contributes:h}=g,u=this.extensionManageService.getExtensionInstanceByExtId(a);if(!u)continue;let c=h;Array.isArray(c)||(c=[c]);const E=[];for(const f of c)if(f&&f.properties){const d={};for(const y of Object.keys(f.properties)){const b=f.properties[y];d[y]=b,b.description&&(d[y].description=this.getLocalizeFromNlsJSON(b.description,a)),b.enumDescriptions&&(d[y].enumDescriptions=b.enumDescriptions.map(A=>this.getLocalizeFromNlsJSON(A,a))),b.markdownDescription&&(d[y].markdownDescription=this.getLocalizeFromNlsJSON(b.markdownDescription,a))}f.properties=d,f.title=this.getLocalizeFromNlsJSON(f.title,a)||f.title,this.updateConfigurationSchema(f),E.push({title:f.title,extensionId:a,preferences:Object.keys(f.properties).map(y=>({id:y}))})}if(E.length===1){const f=E[0];this.addDispose(this.preferenceSettingsService.registerSettingSection("extension",f))}else E.length>1&&this.addDispose(this.preferenceSettingsService.registerSettingSection("extension",{title:this.getLocalizeFromNlsJSON(u.packageJSON.displayName,a)||u.packageJSON.displayName,subSections:E}))}}updateConfigurationSchema(g){this.validateConfigurationSchema(g),this.addDispose(this.preferenceSchemaProvider.setSchema(g))}validateConfigurationSchema(g){for(const a in g.properties){const h=g.properties[a];if(h.type==="string[]"&&(h.type="array"),h.type!=="object")continue;typeof h.default>"u"&&this.validateDefaultValue(h);const u=h.properties;if(u)for(const c in u)typeof u[c]!="object"&&delete u[c]}}validateDefaultValue(g){g.default={};const a=g.properties;if(a)for(const h in a)a[h].default&&(g.default[h]=a[h].default,delete a[h].default)}};t.ConfigurationContributionPoint=p,n.__decorate([(0,r.Autowired)(o.PreferenceSchemaProvider),n.__metadata("design:type",o.PreferenceSchemaProvider)],p.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],p.prototype,"preferenceSettingsService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],p.prototype,"extensionManageService",void 0),n.__decorate([(0,r.Autowired)(m.LocalizationsContributionPoint),n.__metadata("design:type",m.LocalizationsContributionPoint)],p.prototype,"localizationsContributionPoint",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),t.ConfigurationContributionPoint=p=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("configuration"),(0,_.LifeCycle)(2)],p)},4653:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationDefaultsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){for(const m of this.contributesMap){const{contributes:p}=m;p&&this.updateDefaultOverridesSchema(p)}}updateDefaultOverridesSchema(m){for(const p in m){const s=m[p];if(o.OVERRIDE_PROPERTY_PATTERN.test(p)){const g=p.match(o.OVERRIDE_PROPERTY_PATTERN)[1];Object.keys(s).forEach(a=>{this.defaultPreferenceProvider.setPreference(a,s[a],void 0,g)})}}}};t.ConfigurationDefaultsContributionPoint=_,n.__decorate([(0,r.Autowired)(o.PreferenceProvider,{tag:o.PreferenceScope.Default}),n.__metadata("design:type",o.PreferenceProvider)],_.prototype,"defaultPreferenceProvider",void 0),t.ConfigurationDefaultsContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("configurationDefaults"),(0,l.LifeCycle)(3)],_)},21086:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomEditorContributionPoint=void 0,t.createCustomEditorComponent=u;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(43718),v=e(57517),m=e(65046),p=e(50234),s=e(99220),g=e(35912),a=e(71354);let h=class extends s.VSCodeContributePoint{constructor(){super(...arguments),this.options=new Map}contribute(){for(const E of this.contributesMap){const{extensionId:f,contributes:d}=E;d.forEach(y=>{this.registerSingleCustomEditor(y,f)}),this.addDispose(this.eventBus.on(g.CustomEditorOptionChangeEvent,y=>{this.options.has(y.payload.viewType)&&this.options.set(y.payload.viewType,y.payload.options)}))}}getOptions(E){return this.options.get(E)||{}}registerSingleCustomEditor(E,f){try{const d=E.viewType;this.options.set(E.viewType,{});const y=`${_.CUSTOM_EDITOR_SCHEME}-${E.viewType}`,b=u(E.viewType,y,()=>this.getOptions(E.viewType)),A=E.selector.map(D=>D.filenamePattern).filter(D=>typeof D=="string");if(A.length===0)return;const S=E.priority||v.IEditorPriority.default;this.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(()=>10,(D,I)=>{for(const w of A)((0,_.match)(w,D.uri.path.toString().toLowerCase())||(0,_.match)(w,D.uri.path.base.toLowerCase()))&&I.push({componentId:y,type:v.EditorOpenType.component,title:E.displayName?this.getLocalizeFromNlsJSON(E.displayName,f):E.viewType,weight:S===v.IEditorPriority.default?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,priority:S,saveResource:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldSaveEvent({uri:T.uri,viewType:d,cancellationToken:new _.CancellationTokenSource().token})),revertResource:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldRevertEvent({uri:T.uri,viewType:d,cancellationToken:new _.CancellationTokenSource().token})),undo:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldEditEvent({uri:T.uri,viewType:d,type:"undo"})),redo:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldEditEvent({uri:T.uri,viewType:d,type:"redo"}))})})),this.addDispose(this.editorComponentRegistry.registerEditorComponent({uid:y,component:b,metadata:{customEditor:d}}))}catch(d){this.logger.error(d)}}};t.CustomEditorContributionPoint=h,n.__decorate([(0,o.Autowired)(v.EditorComponentRegistry),n.__metadata("design:type",v.EditorComponentRegistry)],h.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,o.Autowired)(_.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],h.prototype,"eventBus",void 0),t.CustomEditorContributionPoint=h=n.__decorate([(0,o.Injectable)(),(0,s.Contributes)("customEditors"),(0,s.LifeCycle)(2)],h);function u(c,E,f){return({resource:d})=>{const y=(0,l.useInjectable)(a.IActivationEventService),b=(0,l.useInjectable)(m.IWebviewService),A=(0,l.useInjectable)(l.IEventBus),S=(0,l.useInjectable)(s.ExtensionService);let D=null;return r.default.useEffect(()=>{const I=new _.CancellationTokenSource,w=new _.Disposable;return Promise.all([y.fireEvent("onCustomEditor",c),S.eagerExtensionsActivated.promise]).then(()=>{if(I.token.isCancellationRequested)return;const T=b.createWebview(f().webviewOptions);if(T&&D){const R=new p.WebviewMounter(T,D,document.getElementById("workbench-editor"),document.getElementById("workbench-editor"));T.onRemove(()=>{R.dispose()}),w.addDispose({dispose:()=>{T.remove(),T.dispose(),A.fire(new g.CustomEditorShouldHideEvent({uri:d.uri,viewType:c}))}}),A.fire(new g.CustomEditorShouldDisplayEvent({uri:d.uri,viewType:c,webviewPanelId:T.id,cancellationToken:I.token,openTypeId:E}))}}),()=>{w.dispose(),I.cancel()}},[]),r.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative"},className:"editor-webview-webview-component",ref:I=>D=I})}}},61361:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggersContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(66482),v=e(37499),m=e(69946),p=e(99220),s=e(71354),{deepClone:g}=l.objects,a={enum:["neverOpen","openOnSessionStart","openOnFirstSessionStart"],default:"openOnFirstSessionStart",description:(0,l.localize)("preference.debug.internalConsoleOptions")};let h=class extends p.VSCodeContributePoint{contribute(){for(const c of this.contributesMap){const{extensionId:E,contributes:f}=c,d=this.extensionManageService.getExtensionInstanceByExtId(E);d&&this.debugService.registerDebugContributionPoints(d.path,this.resolveDebuggers(f,d))}this.debugSchemaManager.update()}resolveDebuggers(c,E){return c.map(f=>{const d=this.doResolveDebuggers(f,E);return this.debugConfigurationManager.registerDebugger(d),d})}doResolveDebuggers(c,E){const f={type:c.type,label:c.label?(0,o.replaceLocalizePlaceholder)(c.label,E.id):"",languages:c.languages,enableBreakpointsFor:c.enableBreakpointsFor,variables:c.variables,adapterExecutableCommand:c.adapterExecutableCommand,configurationSnippets:(c.configurationSnippets||[]).map(d=>(d.label&&(d.label=(0,o.replaceLocalizePlaceholder)(d.label,E.id)),d.description&&(d.description=(0,o.replaceLocalizePlaceholder)(d.description,E.id)),d.markdownDescription&&(d.markdownDescription=(0,o.replaceLocalizePlaceholder)(d.markdownDescription,E.id)),d)),win:c.win,winx86:c.winx86,windows:c.windows,osx:c.osx,linux:c.linux,program:c.program,args:c.args,runtime:c.runtime,runtimeArgs:c.runtimeArgs};return f.configurationAttributes=c.configurationAttributes&&this.resolveSchemaAttributes(c.type,c.configurationAttributes,E),f}resolveSchemaAttributes(c,E,f){const d={},y=b=>{Object.keys(b).forEach(A=>{b[A].properties&&y(b[A].properties),typeof b[A]=="object"&&(b[A].description=(0,o.replaceLocalizePlaceholder)(b[A].description,f.id),b[A].markdownDescription=(0,o.replaceLocalizePlaceholder)(b[A].markdownDescription,f.id))})};return Object.keys(E).map(b=>{const A=g(E[b]),S=["name","type","request"];A.required=A.required&&A.required.length?S.concat(A.required):S,A.additionalProperties=!1,A.type="object",A.properties||(A.properties={});const D=A.properties;D.type={enum:[c],description:(0,l.localize)("debug.launch.configurations.debugType"),pattern:"^(?!node2)",errorMessage:(0,l.localize)("debug.launch.configurations.debugTypeNotRecognised"),patternErrorMessage:(0,l.localize)("debug.launch.configurations.node2NotSupported")},D.name={type:"string",description:(0,l.localize)("debug.launch.configurations.debugName"),default:"Launch"},D.request={enum:[b],description:(0,l.localize)("debug.launch.configurations.debugRequest")},D.debugServer={type:"number",description:(0,l.localize)("debug.launch.configurations.debugServer"),default:4711},D.preLaunchTask={anyOf:[d,{type:["string","null"]}],default:"",description:(0,l.localize)("debug.launch.configurations.debugPrelaunchTask")},D.postDebugTask={anyOf:[d,{type:["string","null"]}],default:"",description:(0,l.localize)("debug.launch.configurations.debugPostDebugTask")},D.internalConsoleOptions=a;const I=Object.assign({},D);return D.windows={type:"object",description:(0,l.localize)("debug.launch.configurations.debugWindowsConfiguration"),properties:I},D.osx={type:"object",description:(0,l.localize)("debug.launch.configurations.debugOSXConfiguration"),properties:I},D.linux={type:"object",description:(0,l.localize)("debug.launch.configurations.debugLinuxConfiguration"),properties:I},Object.keys(A.properties).forEach(w=>{A.properties[w].pattern=A.properties[w].pattern||"^(?!.*\\$\\{(env|config|command)\\.)",A.properties[w].patternErrorMessage=A.properties[w].patternErrorMessage||(0,l.localize)("deprecatedVariables","'env.', 'config.' and 'command.' are deprecated, use 'env:', 'config:' and 'command:' instead.")}),y(A.properties),A})}dispose(){for(const c of this.contributesMap){const{extensionId:E}=c,f=this.extensionManageService.getExtensionInstanceByExtId(E);f&&this.debugService.unregisterDebugContributionPoints(f.path)}}};t.DebuggersContributionPoint=h,h.schema={description:(0,l.localize)("vscode.extension.contributes.debuggers","Contributes debug adapters."),type:"array",defaultSnippets:[{body:[{type:""}]}],items:{additionalProperties:!1,type:"object",defaultSnippets:[{body:{type:"",program:"",runtime:""}}],properties:{type:{description:(0,l.localize)("vscode.extension.contributes.debuggers.type","Unique identifier for this debug adapter."),type:"string"},label:{description:(0,l.localize)("vscode.extension.contributes.debuggers.label","Display name for this debug adapter."),type:"string"},program:{description:(0,l.localize)("vscode.extension.contributes.debuggers.program","Path to the debug adapter program. Path is either absolute or relative to the extension folder."),type:"string"},args:{description:(0,l.localize)("vscode.extension.contributes.debuggers.args","Optional arguments to pass to the adapter."),type:"array"},runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.runtime","Optional runtime in case the program attribute is not an executable but requires a runtime."),type:"string"},runtimeArgs:{description:(0,l.localize)("vscode.extension.contributes.debuggers.runtimeArgs","Optional runtime arguments."),type:"array"},variables:{description:(0,l.localize)("vscode.extension.contributes.debuggers.variables","Mapping from interactive variables (e.g. ${action.pickProcess}) in `launch.json` to a command."),type:"object"},initialConfigurations:{description:(0,l.localize)("vscode.extension.contributes.debuggers.initialConfigurations","Configurations for generating the initial 'launch.json'."),type:["array","string"]},languages:{description:(0,l.localize)("vscode.extension.contributes.debuggers.languages",'List of languages for which the debug extension could be considered the "default debugger".'),type:"array"},configurationSnippets:{description:(0,l.localize)("vscode.extension.contributes.debuggers.configurationSnippets","Snippets for adding new configurations in 'launch.json'."),type:"array"},configurationAttributes:{description:(0,l.localize)("vscode.extension.contributes.debuggers.configurationAttributes","JSON schema configurations for validating 'launch.json'."),type:"object"},when:{description:(0,l.localize)("vscode.extension.contributes.debuggers.when","Condition which must be true to enable this type of debugger. Consider using 'shellExecutionSupported', 'virtualWorkspace', 'resourceScheme' or an extension-defined context key as appropriate for this."),type:"string",default:""},windows:{description:(0,l.localize)("vscode.extension.contributes.debuggers.windows","Windows specific settings."),type:"object",properties:{runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.windows.runtime","Runtime used for Windows."),type:"string"}}},osx:{description:(0,l.localize)("vscode.extension.contributes.debuggers.osx","macOS specific settings."),type:"object",properties:{runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.osx.runtime","Runtime used for macOS."),type:"string"}}},linux:{description:(0,l.localize)("vscode.extension.contributes.debuggers.linux","Linux specific settings."),type:"object",properties:{runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.linux.runtime","Runtime used for Linux."),type:"string"}}}}}},n.__decorate([(0,r.Autowired)(_.IDebugService),n.__metadata("design:type",Object)],h.prototype,"debugService",void 0),n.__decorate([(0,r.Autowired)(v.DebugConfigurationManager),n.__metadata("design:type",v.DebugConfigurationManager)],h.prototype,"debugConfigurationManager",void 0),n.__decorate([(0,r.Autowired)(m.DebugSchemaManager),n.__metadata("design:type",m.DebugSchemaManager)],h.prototype,"debugSchemaManager",void 0),n.__decorate([(0,r.Autowired)(s.AbstractExtInstanceManagementService),n.__metadata("design:type",s.AbstractExtInstanceManagementService)],h.prototype,"extensionManageService",void 0),t.DebuggersContributionPoint=h=n.__decorate([(0,r.Injectable)(),(0,p.Contributes)("debuggers"),(0,p.LifeCycle)(4)],h)},60768:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GrammarsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(62660),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=this.extensionManageService.getExtensionInstanceByExtId(g);if(h)for(const u of a)this.textMateService.registerGrammar(u,o.URI.from(h.uri)),this.addDispose(o.Disposable.create(()=>{this.textMateService.unregisterGrammar(u)}))}}};t.GrammarsContributionPoint=m,m.schema={description:(0,o.localize)("vscode.extension.contributes.grammars","Contributes textmate tokenizers."),type:"array",defaultSnippets:[{body:[{language:"${1:id}",scopeName:"source.${2:id}",path:"./syntaxes/${3:id}.tmLanguage."}]}],items:{type:"object",defaultSnippets:[{body:{language:"${1:id}",scopeName:"source.${2:id}",path:"./syntaxes/${3:id}.tmLanguage."}}],properties:{language:{description:(0,o.localize)("vscode.extension.contributes.grammars.language","Language identifier for which this syntax is contributed to."),type:"string"},scopeName:{description:(0,o.localize)("vscode.extension.contributes.grammars.scopeName","Textmate scope name used by the tmLanguage file."),type:"string"},path:{description:(0,o.localize)("vscode.extension.contributes.grammars.path","Path of the tmLanguage file. The path is relative to the extension folder and typically starts with './syntaxes/'."),type:"string"},embeddedLanguages:{description:(0,o.localize)("vscode.extension.contributes.grammars.embeddedLanguages","A map of scope name to language id if this grammar contains embedded languages."),type:"object"},tokenTypes:{description:(0,o.localize)("vscode.extension.contributes.grammars.tokenTypes","A map of scope name to token types."),type:"object",additionalProperties:{enum:["string","comment","other"]}},injectTo:{description:(0,o.localize)("vscode.extension.contributes.grammars.injectTo","List of language scope names to which this grammar is injected to."),type:"array",items:{type:"string"}}},required:["scopeName","path"]}},n.__decorate([(0,r.Autowired)(l.ITextmateTokenizer),n.__metadata("design:type",Object)],m.prototype,"textMateService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.GrammarsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("grammars"),(0,_.LifeCycle)(2)],m)},43988:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IconsContributionPoint=t.IconThemesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(32242),l=e(43718),_=e(52416),v=e(38667),m=e(99220),p=e(71354);let s=class extends m.VSCodeContributePoint{contribute(){for(const u of this.contributesMap){const{extensionId:c,contributes:E}=u,f=E.map(y=>({...y,label:this.getLocalizeFromNlsJSON(y.label,c),extensionId:c})),d=this.extensionManageService.getExtensionInstanceByExtId(c);d&&this.iconService.registerIconThemes(f,l.URI.from(d.uri))}}};t.IconThemesContributionPoint=s,n.__decorate([(0,r.Autowired)(_.IIconService),n.__metadata("design:type",Object)],s.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],s.prototype,"extensionManageService",void 0),t.IconThemesContributionPoint=s=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("iconThemes"),(0,m.LifeCycle)(2)],s);const g={ttf:"truetype",woff:"woff",woff2:"woff2"};let a=class extends m.VSCodeContributePoint{constructor(){super(...arguments),this.iconRegistry=(0,v.getIconRegistry)()}contribute(){for(const{extensionId:u,contributes:c}of this.contributesMap)Object.keys(c).forEach(E=>{const f=c[E],d=this.extensionManageService.getExtensionInstanceByExtId(u);if(d){const y=f.default;if(typeof y=="string")this.iconRegistry.registerIcon(E,{id:y},f.description);else if(typeof y=="object"&&typeof y.fontPath=="string"&&typeof y.fontCharacter=="string"){const b=l.URI.from(d.uri).resolve(f.default.fontPath),A=l.path.extname(y.fontPath).substring(1),S=g[A];if(!S){this.logger.warn((0,l.localize)("invalid.icons.default.fontPath.extension",`Expected \`contributes.icons.default.fontPath\` to have file extension 'woff', woff2' or 'ttf', is '${A}'.`));return}const D=l.path.join(u,y.fontPath),I=this.iconRegistry.registerIconFont(D,{src:[{location:this.staticResourceService.resolveStaticResource(b),format:S}]});this.iconRegistry.registerIcon(E,{fontCharacter:y.fontCharacter,font:{id:D,definition:I}},f.description)}}});this.productIconService.updateProductIconThemes()}};t.IconsContributionPoint=a,n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],a.prototype,"extensionManageService",void 0),n.__decorate([(0,r.Autowired)(_.IProductIconService),n.__metadata("design:type",Object)],a.prototype,"productIconService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.StaticResourceService)],a.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),t.IconsContributionPoint=a=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("icons"),(0,m.LifeCycle)(2)],a)},35321:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VSCodeContributesService=t.VSCodeContributesServiceToken=void 0;const n=e(85608),r=e(76003),o=e(99220),l=e(3098),_=e(57541),v=e(37614),m=e(8079),p=e(6143),s=e(4653),g=e(21086),a=e(61361),h=e(60768),u=e(43988),c=e(81404),E=e(82903),f=e(25588),d=e(35166),y=e(95765),b=e(49661),A=e(53082),S=e(3076),D=e(19669),I=e(92659),w=e(75943),T=e(77901),R=e(88797),P=e(91688),O=e(55993),M=e(12191),k=e(36198),F=e(21218);t.VSCodeContributesServiceToken=Symbol("VSCodeContributesService");let L=class extends o.ExtensionContributesService{constructor(){super(...arguments),this.ContributionPoints=[P.ThemesContributionPoint,u.IconThemesContributionPoint,u.IconsContributionPoint,f.LocalizationsContributionPoint,m.CommandsContributionPoint,A.ProductIconThemesContributionPoint,h.GrammarsContributionPoint,E.LanguagesContributionPoint,p.ConfigurationContributionPoint,s.ConfigurationDefaultsContributionPoint,v.ColorsContributionPoint,c.KeybindingContributionPoint,d.SubmenusContributionPoint,d.MenusContributionPoint,w.SnippetsContributionPoint,O.ViewContainersContributionPoint,M.ViewsContributionPoint,k.ViewsWelcomeContributionPoint,_.BreakpointsContributionPoint,a.DebuggersContributionPoint,l.ActionsContributionPoint,T.TaskDefinitionContributionPoint,b.ProblemPatternsContributionPoint,y.ProblemMatchersContributionPoint,g.CustomEditorContributionPoint,F.WalkthroughsContributionPoint,I.SemanticTokenTypesContributionPoint,S.SemanticTokenModifiersContributionPoint,D.SemanticTokenScopesContributionPoint,R.TerminalContributionPoint]}};t.VSCodeContributesService=L,t.VSCodeContributesService=L=n.__decorate([(0,r.Injectable)()],L)},81404:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeybindingContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(99220),_=e(71354);let v=class extends l.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{extensionId:s,contributes:g}=p,a=this.extensionManageService.getExtensionInstanceByExtId(s);if(!a)continue;const h=g.map(u=>this.toKeybinding(u,a.isBuiltin));this.addDispose(this.keybindingRegistry.registerKeybindings(h))}}toKeybinding(p,s){const g=this.toOSKeybinding(p),{command:a,when:h}=p;return{keybinding:g,command:a,when:h,priority:s?o.KeybindingWeight.BuiltinExtension*100:o.KeybindingWeight.ExternalExtension*100}}toOSKeybinding(p){let s;const g=o.OS.type();return g===o.OperatingSystem.Windows&&p.win?s=p.win:g===o.OperatingSystem.Macintosh&&p.mac?s=p.mac:p.linux&&(s=p.linux),s||p.key}};t.KeybindingContributionPoint=v,n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],v.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(_.AbstractExtInstanceManagementService),n.__metadata("design:type",_.AbstractExtInstanceManagementService)],v.prototype,"extensionManageService",void 0),t.KeybindingContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("keybindings"),(0,l.LifeCycle)(4)],v)},82903:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguagesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(62660),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{async contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=this.extensionManageService.getExtensionInstanceByExtId(g);h&&await this.textMateService.registerLanguages(a,o.URI.from(h.uri))}}};t.LanguagesContributionPoint=m,m.schema={allowComments:!0,allowTrailingCommas:!0,default:{comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["(",")"],["[","]"],["{","}"]],autoClosingPairs:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[["(",")"],["[","]"],["{","}"]]},definitions:{openBracket:{type:"string",description:(0,o.localize)("schema.openBracket","The opening bracket character or string sequence.")},closeBracket:{type:"string",description:(0,o.localize)("schema.closeBracket","The closing bracket character or string sequence.")},bracketPair:{type:"array",items:[{},{}]}},properties:{comments:{default:{blockComment:["/*","*/"],lineComment:"//"},description:(0,o.localize)("schema.comments","Defines the comment symbols"),type:"object",properties:{blockComment:{type:"array",description:(0,o.localize)("schema.blockComments","Defines how block comments are marked."),items:[{type:"string",description:(0,o.localize)("schema.blockComment.begin","The character sequence that starts a block comment.")},{type:"string",description:(0,o.localize)("schema.blockComment.end","The character sequence that ends a block comment.")}]},lineComment:{type:"string",description:(0,o.localize)("schema.lineComment","The character sequence that starts a line comment.")}}},brackets:{default:[["(",")"],["[","]"],["{","}"]],description:(0,o.localize)("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),type:"array",items:{}},autoClosingPairs:{default:[["(",")"],["[","]"],["{","}"]],description:(0,o.localize)("schema.autoClosingPairs","Defines the bracket pairs. When a opening bracket is entered, the closing bracket is inserted automatically."),type:"array",items:{oneOf:[{},{type:"object",properties:{open:{},close:{},notIn:{type:"array",description:(0,o.localize)("schema.autoClosingPairs.notIn","Defines a list of scopes where the auto pairs are disabled."),items:{enum:["string","comment"]}}}}]}},autoCloseBefore:{default:`;:.,=}])>
|
|
33249
|
+
`)):(0,l.formatLocalize)("authentication.signOutMessageSimple",h);await this.dialogService.info(E,[(0,l.localize)("ButtonCancel"),(0,l.localize)("ButtonOK")])===(0,l.localize)("ButtonOK")&&(c?.forEach(d=>this.logout(d)),await this.authenticationService.removeAccountUsage(this.id,h),await this.authenticationService.removeAllowedExtensions(this.id,h))}async getSessions(h,u){return this._proxy.$getSessions(this.id,h,{account:u})}hasSessions(){return!!this._sessions.size}async updateSessionItems(h){const{added:u,removed:c}=h,f=(await this._proxy.$getSessions(this.id)).filter(d=>u.some(y=>y.id===d.id));c.forEach(d=>{const y=this._sessions.get(d.id);if(y){this._sessions.delete(d.id);const b=this._accounts.get(y)||[],A=b.indexOf(d.id);b.splice(A),b.length||this._accounts.delete(y)}}),f.forEach(d=>this.registerSession(d))}async registerCommandsAndContextMenuItems(){try{(await this._proxy.$getSessions(this.id)).forEach(u=>this.registerSession(u))}catch(h){this.logger.error(h)}}registerSession(h){this._sessions.set(h.id,h.account.label);const u=this._accounts.get(h.account.label);if(u){this._accounts.set(h.account.label,u.concat(h.id));return}else this._accounts.set(h.account.label,[h.id])}login(h,u){return this._proxy.$login(this.id,h,u)}async logout(h){await this._proxy.$logout(this.id,h),this.messageService.info((0,l.localize)("authentication.signedOut"))}};t.MainThreadAuthenticationProvider=s,n.__decorate([(0,r.Autowired)(_.IAuthenticationService),n.__metadata("design:type",Object)],s.prototype,"authenticationService",void 0),n.__decorate([(0,r.Autowired)(l.QuickPickService),n.__metadata("design:type",Object)],s.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(v.IDialogService),n.__metadata("design:type",Object)],s.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(v.IMessageService),n.__metadata("design:type",Object)],s.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),t.MainThreadAuthenticationProvider=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,String,String,Boolean])],s);let g=class extends l.Disposable{constructor(h){super(),this._proxy=h.getProxy(m.ExtHostAPIIdentifier.ExtHostAuthentication),this.addDispose(this.authenticationService.onDidChangeSessions(u=>{this._proxy.$onDidChangeAuthenticationSessions(u.providerId,u.label,u.event)})),this.addDispose(this.authenticationService.onDidRegisterAuthenticationProvider(u=>{this._proxy.$onDidChangeAuthenticationProviders([u],[])})),this.addDispose(this.authenticationService.onDidUnregisterAuthenticationProvider(u=>{this._proxy.$onDidChangeAuthenticationProviders([],[u])}))}$getProviderIds(){return Promise.resolve(this.authenticationService.getProviderIds())}async $registerAuthenticationProvider(h,u,c){const E=this.injector.get(s,[this._proxy,h,u,c]);await E.initialize(),this.authenticationService.registerAuthenticationProvider(h,E),this.addDispose(l.Disposable.create(()=>{this.$unregisterAuthenticationProvider(h)}))}$unregisterAuthenticationProvider(h){this.authenticationService.unregisterAuthenticationProvider(h)}$ensureProvider(h){return this.activationService.fireEvent("onAuthenticationRequest",h)}$sendDidChangeSessions(h,u){this.authenticationService.sessionsUpdate(h,u)}$getSessions(h){return this.authenticationService.getSessions(h)}$login(h,u,c){return this.authenticationService.login(h,u,c)}$logout(h,u){return this.authenticationService.logout(h,u)}$getAccounts(h){return this.authenticationService.getSessions(h).then(u=>u.map(c=>c.account))}async doGetSession(h,u,c,E,f){const d=await this.authenticationService.getSessions(h,u,!0),y=this.authenticationService.supportsMultipleAccounts(h);if(f.forceNewSession&&!d.length)throw new Error("No existing sessions found.");if(f.forceNewSession&&f.createIfNone)throw new Error("Invalid combination of options. Please remove one of the following: forceNewSession, createIfNone");if(f.forceNewSession&&f.silent)throw new Error("Invalid combination of options. Please remove one of the following: forceNewSession, silent");if(f.createIfNone&&f.silent)throw new Error("Invalid combination of options. Please remove one of the following: createIfNone, silent");if(!f.forceNewSession&&d.length){if(y)if(f.clearSessionPreference)await this.authenticationService.removeExtensionSessionId(E,h);else{const A=await this.authenticationService.getExtensionSessionId(E,h);if(A){const S=d.find(D=>D.id===A);if(S&&await this.authenticationService.isAccessAllowed(h,S.account.label,c))return S}}else if(await this.authenticationService.isAccessAllowed(h,d[0].account.label,c))return d[0]}if(f.createIfNone||f.forceNewSession){const A=this.authenticationService.getLabel(h),S=typeof f.forceNewSession=="object"?f.forceNewSession.detail:void 0;if(!await this.loginPrompt(A,E,!!f.forceNewSession,S))throw new Error("User did not consent to login.");const I=d?.length&&!f.forceNewSession&&y?await this.selectSession(h,A,c,E,d,u,f,!!f.clearSessionPreference):await this.authenticationService.login(h,u,f);return await this.authenticationService.updatedAllowedExtension(h,I.account.label,c,E,!0),await this.authenticationService.setExtensionSessionId(E,h,I.id),I}const b=d.find(A=>this.authenticationService.isAccessAllowed(h,A.account.label,c));return!f.silent&&!b&&await this.authenticationService.requestNewSession(h,u,f,c,E),b}async $getSession(h,u,c,E,f){const d=await this.doGetSession(h,u,c,E,f);return d&&await this.authenticationService.addAccountUsage(h,d.account.label,c,E),d}async selectSession(h,u,c,E,f,d,y,b){if(!f.length)throw new Error("No potential sessions found");if(b)await this.authenticationService.removeExtensionSessionId(E,h);else{const T=await this.authenticationService.getExtensionSessionId(E,h);if(T){const R=f.find(P=>P.id===T);if(R&&await this.$getSessionsPrompt(h,R.account.label,u,c,E))return R}}const A=f.map(T=>({label:T.account.label,value:T}));A.push({label:(0,l.localize)("authentication.useOtherAccount"),value:void 0});const S=await this.quickPickService.show(A,{title:(0,l.formatLocalize)("authentication.selectAccount",E,u),placeholder:(0,l.formatLocalize)("authentication.getSessionPlaceholder",E),ignoreFocusOut:!0}),D=S??await this.authenticationService.login(h,d,y),I=D.account.label,w=await this.authenticationService.getAllowedExtensions(h,I);return w.find(T=>T.id===c)||(w.push({id:c,name:E}),await this.authenticationService.setAllowedExtensions(h,I,w)),await this.authenticationService.setExtensionSessionId(E,h,D.id),D}async $getSessionsPrompt(h,u,c,E,f){const d=await this.authenticationService.getAllowedExtensions(h,u);if(d.find(S=>S.id===E))return await this.authenticationService.addAccountUsage(h,u,E,f),!0;const A=await this.dialogService.info((0,l.formatLocalize)("authentication.confirmAuthenticationAccess",f,c,u),[(0,l.localize)("ButtonCancel"),(0,l.localize)("ButtonAllow")])===(0,l.localize)("ButtonAllow");return A&&(this.authenticationService.addAccountUsage(h,u,E,f),d.push({id:E,name:f}),await this.authenticationService.setAllowedExtensions(h,u,d)),A}async loginPrompt(h,u,c,E){return await this.dialogService.info(c?(0,l.formatLocalize)("authentication.confirmReLogin",u,h):(0,l.formatLocalize)("authentication.confirmLogin",u,h),[(0,l.localize)("ButtonCancel"),(0,l.localize)("ButtonAllow")])===(0,l.localize)("ButtonAllow")}async $setTrustedExtensionAndAccountPreference(h,u,c,E,f){const d=await this.authenticationService.getAllowedExtensions(h,u);d.find(y=>y.id===c)||(d.push({id:c,name:E}),await this.authenticationService.setAllowedExtensions(h,u,d)),await this.authenticationService.setExtensionSessionId(E,h,f),await this.authenticationService.addAccountUsage(h,u,c,E)}};t.MainThreadAuthentication=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)(_.IAuthenticationService),n.__metadata("design:type",Object)],g.prototype,"authenticationService",void 0),n.__decorate([(0,r.Autowired)(v.IDialogService),n.__metadata("design:type",Object)],g.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(v.IMessageService),n.__metadata("design:type",Object)],g.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(l.QuickPickService),n.__metadata("design:type",Object)],g.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(p.IActivationEventService),n.__metadata("design:type",p.IActivationEventService)],g.prototype,"activationService",void 0),t.MainThreadAuthentication=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],g)},14678:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCommands=void 0;const r=e(85608),o=e(76003),l=e(8919),_=e(41869),v=e(43718),m=e(21880),p=e(46147),{isNonEmptyArray:s}=v.arrays;let g=class{constructor(h){this.rpcProtocol=h,n.set(this,void 0),this.commands=new Map,this.argumentProcessors=[],this.disposable=new v.Disposable,r.__classPrivateFieldSet(this,n,this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostCommands),"f"),r.__classPrivateFieldGet(this,n,"f").$registerBuiltInCommands(),r.__classPrivateFieldGet(this,n,"f").$registerCommandConverter(),this.registerUriArgProcessor()}registerUriArgProcessor(){this.disposable.addDispose(this.registerArgumentProcessor({processArgument:h=>h instanceof v.URI?h.codeUri:s(h)?h.map(u=>u instanceof v.URI?u.codeUri:u):h}))}dispose(){this.commands.forEach(h=>{h.dispose()}),this.commands.clear(),this.disposable.dispose()}registerArgumentProcessor(h){return this.argumentProcessors.push(h),v.Disposable.create(()=>{const u=this.argumentProcessors.indexOf(h);u>=0&&this.argumentProcessors.splice(u,1)})}$registerCommand(h){const u=r.__classPrivateFieldGet(this,n,"f"),c=(...y)=>(y=y.map(b=>this.argumentProcessors.reduce((A,S)=>S.processArgument(A),b)),u.$executeContributedCommand(h,...y)),E=new v.Disposable,f={execute:c,dispose:()=>E.dispose()};this.commandRegistry.getCommand(h)?E.addDispose(this.commandRegistry.registerHandler(h,{execute:c})):E.addDispose(this.commandRegistry.registerCommand({id:h},{execute:c})),this.commands.set(h,f)}$unregisterCommand(h){const u=this.commands.get(h);u&&(u.dispose(),this.commands.delete(h))}$getCommands(){return Promise.resolve(this.commandRegistry.getCommands().map(h=>h.id))}$executeExtensionCommand(h,...u){return this.commands.has(h)?this.commands.get(h).execute(...u):(u=u.map(c=>this.argumentProcessors.reduce((E,f)=>f.processArgument(E),c)),r.__classPrivateFieldGet(this,n,"f").$executeContributedCommand(h,...u))}$executeCommandWithExtensionInfo(h,u,...c){if(!this.commandRegistry.isPermittedCommand(h,u,...c))throw new Error(`Extension ${u.id} has not permit to execute ${h}`);return this.$executeCommand(h,...c)}async $executeCommand(h,...u){try{return await this.monacoCommandService.executeCommand(h,...u)}catch(c){throw this.logger.error(c),c}}};t.MainThreadCommands=g,n=new WeakMap,r.__decorate([(0,o.Autowired)(_.CommandRegistry),r.__metadata("design:type",Object)],g.prototype,"commandRegistry",void 0),r.__decorate([(0,o.Autowired)(m.ICommandServiceToken),r.__metadata("design:type",Object)],g.prototype,"monacoCommandService",void 0),r.__decorate([(0,o.Autowired)(_.ILogger),r.__metadata("design:type",Object)],g.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(_.IContextKeyService),r.__metadata("design:type",Object)],g.prototype,"contextKeyService",void 0),t.MainThreadCommands=g=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)(l.IRPCProtocol)),r.__metadata("design:paramtypes",[Object])],g)},33530:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCommentController=t.MainThreadCommentThread=t.MainThreadComments=void 0;const n=e(85608),r=e(76003),o=e(86077),l=e(8919),_=e(93899),v=e(43718),m=e(20868),p=e(28423),s=e(46147),g=e(53043),a=e(53886);let h=class{constructor(f,d){this.rpcProtocol=f,this.mainThreadCommands=d,this._providers=new Map,this._commentControllers=new Map,this.disposable=new v.Disposable,this.proxy=this.rpcProtocol.getProxy(s.ExtHostAPIIdentifier.ExtHostComments),this.disposable.addDispose(this.registerCommentThreadTemplateHander()),this.disposable.addDispose(this.registerArgumentProcessor())}registerCommentThreadTemplateHander(){return this.commentsService.onThreadsCreated(async f=>{if((0,v.isUndefined)(f.data)){const d=this.commentsService.getProviderIdsByLine(f.range.startLineNumber)[0];if(d){const y=this._providers.get(d);if((0,v.isUndefined)(y))return;const b=this._commentControllers.get(y);if(!b)throw new Error("unknown controller");b.createCommentThreadTemplate(f.uri.codeUri,f.range)}}})}registerArgumentProcessor(){return this.mainThreadCommands.registerArgumentProcessor({processArgument:f=>{if(!f||!f.menuId||!f.thread||(0,v.isUndefined)(f.thread.data))return f;switch(f.menuId){case _.MenuId.CommentsCommentThreadTitle:return{$mid:7,commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle};case _.MenuId.CommentsCommentThreadContext:return{$mid:8,thread:{commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle},text:f.text};case _.MenuId.CommentsCommentTitle:return{$mid:9,thread:{commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle},commentUniqueId:+f.comment.id};case _.MenuId.CommentsCommentContext:return{$mid:10,thread:{commentControlHandle:f.thread.data.commentControlHandle,commentThreadHandle:f.thread.data.commentThreadHandle},commentUniqueId:+f.comment.id,text:f.body};default:return f}}})}$updateCommentThread(f,d,y,b,A){const S=this._commentControllers.get(f);if(S)return S.updateCommentThread(d,y,b,A)}$registerCommentController(f,d,y){this.commentsService.registerCommentPanel(),this._providers.set(d,f);const b=this.injector.get(c,[this.proxy,f,d,y,{}]);this._commentControllers.set(f,b),this.commentsService.forceUpdateDecoration(),this.disposable.addDispose(v.Disposable.create(()=>{this.$unregisterCommentController(f)}))}$updateCommentControllerFeatures(f,d){const y=this._commentControllers.get(f);y&&y.updateFeatures(d)}$unregisterCommentController(f){const d=this._commentControllers.get(f);d&&(d.dispose(),this._providers.delete(d.id)),this._commentControllers.delete(f)}$createCommentThread(f,d,y,b,A,S){const D=this._commentControllers.get(f);if(D)return D.createCommentThread(S,d,y,b,A)}$deleteCommentThread(f,d){const y=this._commentControllers.get(f);if(y)return y.deleteCommentThread(d)}dispose(){this.disposable.dispose(),this._commentControllers.clear()}};t.MainThreadComments=h,n.__decorate([(0,r.Autowired)(o.ICommentsService),n.__metadata("design:type",Object)],h.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],h.prototype,"injector",void 0),t.MainThreadComments=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],h);let u=class extends v.Disposable{get input(){return this._input}set input(f){this._input=f,this._onDidChangeInput.fire(f)}get onDidChangeInput(){return this._onDidChangeInput.event}get label(){var f;return(f=this._thread.label)===null||f===void 0?void 0:f.get()}set label(f){(0,p.transaction)(d=>{var y;(y=this._thread.label)===null||y===void 0||y.set(f,d)}),this._onDidChangeLabel.fire(f)}get contextValue(){return this._thread.contextValue}set contextValue(f){this._thread.contextValue=f}convertToIThreadComment(f){var d;return{id:f.uniqueIdInThread.toString(),mode:f.mode,body:typeof f.body=="string"?f.body:g.MarkdownString.from(f.body),label:f.label,contextValue:f.contextValue,author:{name:f.userName,iconPath:new v.URI(v.URI.revive(f.userIconPath))},reactions:(d=f.commentReactions)===null||d===void 0?void 0:d.map(y=>this.convertToCommentReaction(y)),timestamp:f.timestamp}}convertToCommentReaction(f){const{label:d,iconPath:y,count:b,hasReacted:A}=f;return{label:d,iconPath:new v.URI(v.URI.revive(y)),count:b??0,authorHasReacted:!!A}}convertToCoreReaction(f){const{label:d,iconPath:y,count:b,authorHasReacted:A}=f;return{label:d,iconPath:v.URI.revive(y),count:b??0,hasReacted:A}}convertToCoreComment(f){var d;return{uniqueIdInThread:+f.id,contextValue:f.contextValue,mode:f.mode,label:typeof f.label=="string"?f.label:"",body:f.body,userName:f.author.name,commentReactions:(d=f.reactions)===null||d===void 0?void 0:d.map(y=>this.convertToCoreReaction(y)),timestamp:f.timestamp}}get comments(){return this._thread.comments.get().map(f=>this.convertToCoreComment(f))}set comments(f){f?this._thread.updateComments(f.map(d=>this.convertToIThreadComment(d))):this._thread.updateComments([]),this._onDidChangeComments.fire(f)}get onDidChangeComments(){return this._onDidChangeComments.event}set range(f){this._thread.range=f,this._onDidChangeRange.fire(this._thread.range)}get range(){return this._thread.range}get onDidChangeCanReply(){return this._onDidChangeCanReply.event}set canReply(f){this._thread.setReadOnly(!f),this._onDidChangeCanReply.fire(f)}get canReply(){return!this._thread.readOnly.get()}get collapsibleState(){return this._thread.isCollapsed.get()?a.CommentThreadCollapsibleState.Collapsed:a.CommentThreadCollapsibleState.Expanded}set collapsibleState(f){(0,p.transaction)(d=>{this._thread.isCollapsed.set(f===a.CommentThreadCollapsibleState.Collapsed,d)}),this._onDidChangeCollasibleState.fire(this._collapsibleState)}get isDisposed(){return this._isDisposed}constructor(f,d,y,b,A,S,D){super(),this.commentThreadHandle=f,this.controllerHandle=d,this.extensionId=y,this.threadId=b,this.resource=A,this._onDidChangeInput=new v.Emitter,this._onDidChangeLabel=new v.Emitter,this.onDidChangeLabel=this._onDidChangeLabel.event,this._onDidChangeComments=new v.Emitter,this._onDidChangeCanReply=new v.Emitter,this._onDidChangeRange=new v.Emitter,this.onDidChangeRange=this._onDidChangeRange.event,this._onDidChangeCollasibleState=new v.Emitter,this.onDidChangeCollasibleState=this._onDidChangeCollasibleState.event;const I=this.commentsService.commentsThreads.filter(R=>R.uri.toString()===A&&R.range.startLineNumber===S.startLineNumber),[w]=I.slice(-1),T={commentControlHandle:d,commentThreadHandle:f};w&&!w.data?(w.data=T,this._thread=w):this._thread=this.commentsService.createThread(new v.URI(A),(0,m.positionToRange)(S.startLineNumber),{data:T,readOnly:!D}),this.disposables.push(this.onDidChangeComments(()=>{this.commentsService.fireThreadCommentChange(this._thread)}),this._onDidChangeCollasibleState,this._onDidChangeComments,this._onDidChangeInput,this._onDidChangeLabel,this._onDidChangeRange),this._isDisposed=!1}isDocumentCommentThread(){throw new Error("Method not implemented.")}batchUpdate(f){const d=y=>Object.prototype.hasOwnProperty.call(f,y);d("range")&&(this.range=f.range),d("label")&&(this.label=f.label),d("contextValue")&&(this.contextValue=f.contextValue),d("comments")&&(this.comments=f.comments),d("collapseState")&&(this.collapsibleState=f.collapseState),d("canReply")&&(this.canReply=f.canReply)}dispose(){this._isDisposed=!0,this._thread.dispose(),super.dispose()}toJSON(){return{$mid:7,commentControlHandle:this.controllerHandle,commentThreadHandle:this.commentThreadHandle}}};t.MainThreadCommentThread=u,n.__decorate([(0,r.Autowired)(o.ICommentsService),n.__metadata("design:type",Object)],u.prototype,"commentsService",void 0),t.MainThreadCommentThread=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Number,Number,String,String,String,Object,Boolean])],u);let c=class extends v.WithEventBus{get handle(){return this._handle}get id(){return this._id}get contextValue(){return this._id}get proxy(){return this._proxy}get label(){return this._label}get reactions(){return this._reactions}set reactions(f){this._reactions=f}get features(){return this._features}constructor(f,d,y,b,A){super(),this._proxy=f,this._handle=d,this._id=y,this._label=b,this._features=A,this._threads=new Map,this.addDispose(this.commentsService.registerCommentRangeProvider(y,{getCommentingRanges:S=>this.getCommentingRanges(S.uri,v.CancellationToken.None)}))}updateFeatures(f){var d;this._features={...this._features,...f},this.commentsFeatureRegistry.registerProviderFeature(this._id,{placeholder:(d=this._features.options)===null||d===void 0?void 0:d.placeHolder})}createCommentThread(f,d,y,b,A){const S=v.URI.from(b),D=this.injector.get(u,[d,this.handle,f,y,S.toString(),A,!0]);return this._threads.set(d,D),this.addDispose({dispose:()=>{this._threads.delete(d),D.dispose()}}),D}updateCommentThread(f,d,y,b){this.getKnownThread(f).batchUpdate(b)}deleteCommentThread(f){const d=this.getKnownThread(f);this._threads.delete(f),d.dispose()}deleteCommentThreadMain(f){this._threads.forEach(d=>{d.threadId===f&&this._proxy.$deleteCommentThread(this._handle,d.commentThreadHandle)})}getKnownThread(f){const d=this._threads.get(f);if(!d)throw new Error("unknown thread");return d}async getCommentingRanges(f,d){return await this._proxy.$provideCommentingRanges(this.handle,f.codeUri,d)||[]}handleCommentReaction(f){var d;const{thread:y,comment:b,reaction:A}=f.payload,S=(d=y.data)===null||d===void 0?void 0:d.commentThreadHandle,D=this.getKnownThread(S),I=D.convertToCoreComment(b),w=D.convertToCoreReaction(A);this.toggleReaction(y.uri,D,I,w)}async toggleReaction(f,d,y,b){return this._proxy.$toggleReaction(this._handle,d.commentThreadHandle,f.codeUri,y,b)}createCommentThreadTemplate(f,d){this._proxy.$createCommentThreadTemplate(this.handle,f,d)}async updateCommentThreadTemplate(f,d){await this._proxy.$updateCommentThreadTemplate(this.handle,f,d)}toJSON(){return{$mid:6,handle:this.handle}}};t.MainThreadCommentController=c,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],c.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.ICommentsService),n.__metadata("design:type",Object)],c.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(o.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],c.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,v.OnEvent)(o.CommentReactionClick),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[o.CommentReactionClick]),n.__metadata("design:returntype",void 0)],c.prototype,"handleCommentReaction",null),t.MainThreadCommentController=c=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Number,String,String,Object])],c)},57484:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadConnection=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(46147);let m=class{constructor(s){this.rpcProtocol=s,this.connections=new Map,this.connectionsReady=new Map,this.toDispose=new _.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostConnection)}dispose(){this.connections.forEach(s=>{s.dispose()}),this.connections.clear(),this.toDispose.dispose()}async $sendMessage(s,g){const a=this.connectionsReady.get(s);a&&await a.promise,this.connections.has(s)?this.connections.get(s).readMessage(g):this.logger.warn(`Do not found connection ${s}`)}async $createConnection(s){this.logger.log(`create connection ${s}`),await this.doEnsureConnection(s)}async $deleteConnection(s){this.logger.log(`delete connection ${s}`),this.connections.delete(s)}async ensureConnection(s){const g=await this.doEnsureConnection(s);return await this.proxy.$createConnection(s),g}async doEnsureConnection(s){let g=this.connections.get(s);if(!g){const a=new l.Deferred;this.connectionsReady.set(s,a),g=await this.doCreateConnection(s),a.resolve(),this.connections.set(s,g),this.connectionsReady.delete(s)}return g}async doCreateConnection(s){const g=new v.ExtensionConnection(s,this.proxy,()=>{this.connections.delete(s),this.proxy.$deleteConnection(s)});return this.toDispose.push(_.Disposable.create(()=>g.fireClose())),g}};t.MainThreadConnection=m,n.__decorate([(0,r.Autowired)(_.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),t.MainThreadConnection=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],m)},23105:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadCustomEditor=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(57517),v=e(65046),m=e(46147),p=e(35912),s=e(62783);let g=class extends l.WithEventBus{constructor(h,u){super(),this.webview=u,this.customEditors=new Map,this.proxy=h.getProxy(m.ExtHostAPIIdentifier.ExtHostCustomEditor)}$acceptCustomDocumentDirty(h,u){this.eventBus.fire(new _.ResourceDecorationNeedChangeEvent({uri:l.URI.from(h),decoration:{dirty:u}}))}async onShouldSave(h){const{viewType:u,uri:c,cancellationToken:E}=h.payload,f=this.customEditors.get(u);if(f){if(f.type===m.CustomEditorType.TextEditor){const d=this.editorDocumentModelService.getModelReference(c);if(d)try{await d.instance.save()}finally{d.dispose()}}else if(f.type===m.CustomEditorType.FullEditor)return this.proxy.$saveCustomDocument(u,c.codeUri,E)}}async onShouldRevert(h){const{viewType:u,uri:c,cancellationToken:E}=h.payload,f=this.customEditors.get(u);if(f){if(f.type===m.CustomEditorType.TextEditor){const d=this.editorDocumentModelService.getModelReference(c);if(d)try{await d.instance.revert()}finally{d.dispose()}}else if(f.type===m.CustomEditorType.FullEditor)return this.proxy.$revertCustomDocument(u,c.codeUri,E)}}async onShouldEdit(h){const{viewType:u,uri:c,type:E}=h.payload,f=this.customEditors.get(u);if(f)if(f.type===m.CustomEditorType.TextEditor){const d=this.editorDocumentModelService.getModelReference(c);if(d)try{E==="undo"?await d.instance.getMonacoModel().undo():await d.instance.getMonacoModel().redo()}finally{d.dispose()}}else f.type===m.CustomEditorType.FullEditor&&(E==="undo"?await this.proxy.$undo(u,c.codeUri):await this.proxy.$redo(u,c.codeUri))}async onCustomEditorShouldDisplayEvent(h){const u=this.customEditors.get(h.payload.viewType);if(u){const{viewType:c,uri:E,openTypeId:f,webviewPanelId:d,cancellationToken:y}=h.payload;if(u.type===m.CustomEditorType.TextEditor){const b=await this.editorDocumentModelService.createModelReference(E);if(!b)throw new Error(`failed to open document ${E} for custom editor`);if(y.isCancellationRequested){b.dispose();return}const A=this.webviewService.getWebview(d);if(!A)throw b.dispose(),new Error(`failed to find webview ${d}`);this.eventBus.on(p.CustomEditorShouldHideEvent,S=>{E.isEqual(S.payload.uri)&&b.dispose()}),this.webview.pipeBrowserHostedWebviewPanel(A,{uri:E,openTypeId:f},c,u.options.webviewOptions||{},u.extensionInfo),this.proxy.$resolveCustomTextEditor(c,E.codeUri,d,y)}else{const b=this.webviewService.getWebview(d);if(!b)throw new Error(`failed to find webview ${d}`);this.webview.pipeBrowserHostedWebviewPanel(b,{uri:E,openTypeId:f},c,u.options.webviewOptions||{},u.extensionInfo),this.proxy.$resolveCustomTextEditor(c,E.codeUri,d,y)}}}$registerCustomEditor(h,u,c={},E){this.customEditors.set(h,{type:u,options:c,extensionInfo:E}),this.eventBus.fire(new p.CustomEditorOptionChangeEvent({viewType:h,options:c}))}$unregisterCustomEditor(h){this.customEditors.delete(h)}};t.MainThreadCustomEditor=g,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],g.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(v.IWebviewService),n.__metadata("design:type",Object)],g.prototype,"webviewService",void 0),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldSaveEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onShouldSave",null),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldRevertEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldSaveEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onShouldRevert",null),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldEditEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldEditEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onShouldEdit",null),n.__decorate([(0,l.OnEvent)(p.CustomEditorShouldDisplayEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.CustomEditorShouldDisplayEvent]),n.__metadata("design:returntype",Promise)],g.prototype,"onCustomEditorShouldDisplayEvent",null),t.MainThreadCustomEditor=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,s.MainThreadWebview])],g)},10273:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadDebug=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(66482),m=e(99797),p=e(37499),s=e(31141),g=e(97186),a=e(38029),h=e(15153),u=e(70159),c=e(26296),E=e(54414),f=e(14951),d=e(83145),y=e(72665),b=e(6487),A=e(46147),S=e(71354),D=e(77385),I=e(21259),w=e(90384);let T=class{constructor(P,O){this.rpcProtocol=P,this.mainThreadConnection=O,this.toDispose=new Map,this.listenerDispose=new l.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(A.ExtHostAPIIdentifier.ExtHostDebug),this.listen(),this.registerDebugContributions()}dispose(){this.toDispose.forEach(P=>{P.dispose()}),this.toDispose.clear(),this.listenerDispose.dispose()}listen(){this.listenerDispose.pushAll([this.breakpointManager.onDidChangeBreakpoints(({added:P,removed:O,changed:M})=>{const k=this.breakpointManager.getBreakpoints();this.proxy.$breakpointsDidChange(this.toCustomApiBreakpoints(k),this.toCustomApiBreakpoints(P),this.toCustomApiBreakpoints(O),this.toCustomApiBreakpoints(M))}),this.sessionManager.onDidStartDebugSession(P=>{this.proxy.$sessionDidStart(P.id)}),this.sessionManager.onDidDestroyDebugSession(P=>{this.proxy.$sessionDidDestroy(P.id)}),this.sessionManager.onDidChangeActiveDebugSession(P=>{this.proxy.$sessionDidChange(P.current&&P.current.id)}),this.sessionManager.onDidReceiveDebugSessionCustomEvent(P=>{this.proxy.$onSessionCustomEvent(P.session.id,P.event,P.body)}),this.debugService.onDidDebugContributionPointChange(({path:P,contributions:O,removed:M})=>{M?(this.proxy.$unregisterDebuggerContributions(O),O.forEach(k=>{this.$unregisterDebuggerContribution({type:k.type,label:k.label||k.type}),this.logger.log(`Debugger contribution has been unregistered: ${k.type}`)})):(this.proxy.$registerDebuggerContributions(P,O),O.forEach(k=>{this.$registerDebuggerContribution({type:k.type,label:k.label||k.type}),this.logger.log(`Debugger contribution has been registered: ${k.type}`)}))})])}registerDebugContributions(){const P=this.debugService.debugContributionPoints;for(const[O,M]of P)this.proxy.$registerDebuggerContributions(O,M),M.forEach(k=>{this.$registerDebuggerContribution({type:k.type,label:k.label||k.type}),this.logger.log(`Debugger contribution has been registered: ${k.type}`)})}async $appendToDebugConsole(P){this.debugConsoleModelService.debugConsoleSession&&this.debugConsoleModelService.debugConsoleSession.append(P)}async $appendLineToDebugConsole(P){this.debugConsoleModelService.debugConsoleSession&&this.debugConsoleModelService.debugConsoleSession.appendLine(P)}async $unregisterDebuggerContribution(P){const O=this.toDispose.get(P.type);O?.dispose()}async $registerDebuggerContribution(P){const O=new l.DisposableCollection,M=await this.proxy.$getTerminalCreationOptions(P.type);this.toDispose.set(P.type,O);const k=new D.ExtensionDebugSessionFactory(this.editorService,this.breakpointManager,this.modelManager,this.terminalService,this.labelService,this.messageService,this.debugPreferences,async F=>await this.mainThreadConnection.ensureConnection(F),this.fileService,M,this.debugPreferences,this.outputService,this.injector,this.sessionManager);O.pushAll([this.adapterContributionRegister.registerDebugAdapterContribution(new I.ExtensionDebugAdapterContribution(P,this.proxy,this.activationEventService)),this.sessionContributionRegistry.registerDebugSessionContribution({debugType:P.type,debugSessionFactory:()=>k})])}async $addBreakpoints(P){const O=new Map;P.forEach(M=>O.set(M.id,M)),this.breakpointManager.findMarkers({dataFilter:M=>(O.has(M.id)&&O.delete(M.id),!1)});for(const M of O.values())if(M.location){const k=M.location;this.breakpointManager.addBreakpoint(m.DebugBreakpoint.create(l.Uri.revive(k.uri),{line:M.location.range.startLineNumber+1,column:1,condition:M.condition,hitCondition:M.hitCondition,logMessage:M.logMessage},!0))}}async $removeBreakpoints(P){const O=new Set;P.forEach(M=>O.add(M.id));for(const M of this.breakpointManager.findMarkers({dataFilter:k=>O.has(k.id)})){const k=this.modelManager.resolve(new l.URI(M.data.uri));k&&k[0].breakpoint&&this.breakpointManager.delBreakpoint(k[0].breakpoint)}}async $customRequest(P,O,M){const k=this.sessionManager.getSession(P);if(k)return k.sendCustomRequest(O,M);throw new Error(`Debug session '${P}' not found`)}$getDebugProtocolBreakpoint(P,O){const M=this.sessionManager.getSession(P);return M?Promise.resolve(M.getDebugProtocolBreakpoint(O)):Promise.reject(new Error("debug session not found"))}async $startDebugging(P,O,M){let k,F=0;if(typeof O=="string")for(const U of this.debugConfigurationManager.all){if(U.configuration.name===O){k=U.configuration;break}F++}else k=O;if(!k)throw new Error(`No configuration ${O}`);const L={noDebug:!1,parentSession:this.sessionManager.getSession(M.parentSessionID),repl:M.repl,compact:M.compact,lifecycleManagedByParent:M.lifecycleManagedByParent};return!!await this.sessionManager.start({configuration:k,workspaceFolderUri:P&&l.Uri.revive(P.uri).toString(),index:F,...L})}$stopDebugging(P){if(P){const O=this.sessionManager.getSession(P);if(O)return this.sessionManager.stopSession(O)}else return this.sessionManager.stopSession(void 0);throw new Error(`Debug session '${P}' not found`)}toCustomApiBreakpoints(P){return P.map(O=>({id:O.id,enabled:O.enabled,condition:O.raw.condition,hitCondition:O.raw.hitCondition,logMessage:O.raw.logMessage,location:{uri:l.Uri.parse(O.uri),range:{startLineNumber:O.raw.line-1,startColumn:(O.raw.column||1)-1,endLineNumber:O.raw.line-1,endColumn:(O.raw.column||1)-1}}}))}};t.MainThreadDebug=T,n.__decorate([(0,r.Autowired)(c.IDebugSessionManager),n.__metadata("design:type",a.DebugSessionManager)],T.prototype,"sessionManager",void 0),n.__decorate([(0,r.Autowired)(_.LabelService),n.__metadata("design:type",_.LabelService)],T.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(m.BreakpointManager),n.__metadata("design:type",m.BreakpointManager)],T.prototype,"breakpointManager",void 0),n.__decorate([(0,r.Autowired)(v.IDebugModelManager),n.__metadata("design:type",Object)],T.prototype,"modelManager",void 0),n.__decorate([(0,r.Autowired)(p.DebugConfigurationManager),n.__metadata("design:type",p.DebugConfigurationManager)],T.prototype,"debugConfigurationManager",void 0),n.__decorate([(0,r.Autowired)(s.DebugPreferences),n.__metadata("design:type",Object)],T.prototype,"debugPreferences",void 0),n.__decorate([(0,r.Autowired)(E.WorkbenchEditorService),n.__metadata("design:type",E.WorkbenchEditorService)],T.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(y.IMessageService),n.__metadata("design:type",Object)],T.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(f.IFileServiceClient),n.__metadata("design:type",Object)],T.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(u.IDebugServer),n.__metadata("design:type",w.ExtensionDebugService)],T.prototype,"adapterContributionRegister",void 0),n.__decorate([(0,r.Autowired)(S.IActivationEventService),n.__metadata("design:type",S.IActivationEventService)],T.prototype,"activationEventService",void 0),n.__decorate([(0,r.Autowired)(g.DebugSessionContributionRegistry),n.__metadata("design:type",D.ExtensionDebugSessionContributionRegistry)],T.prototype,"sessionContributionRegistry",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],T.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(b.ITerminalApiService),n.__metadata("design:type",Object)],T.prototype,"terminalService",void 0),n.__decorate([(0,r.Autowired)(v.IDebugConsoleModelService),n.__metadata("design:type",h.DebugConsoleModelService)],T.prototype,"debugConsoleModelService",void 0),n.__decorate([(0,r.Autowired)(d.OutputService),n.__metadata("design:type",d.OutputService)],T.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(u.IDebugService),n.__metadata("design:type",Object)],T.prototype,"debugService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],T.prototype,"injector",void 0),t.MainThreadDebug=T=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__param(1,(0,r.Optional)(A.IInterProcessConnectionService)),n.__metadata("design:paramtypes",[Object,Object])],T)},78690:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadDecorations=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(41893),v=e(46147);class m{constructor(g){this._proxy=g,this._idPool=0,this._requests=Object.create(null),this._resolver=Object.create(null)}enqueue(g,a,h){const u=++this._idPool,c=new Promise(E=>{this._requests[u]={id:u,handle:g,uri:a},this._resolver[u]=E,this._processQueue()});return h.onCancellationRequested(()=>{delete this._requests[u],delete this._resolver[u]}),c}_processQueue(){typeof this._timer!="number"&&(this._timer=setTimeout(()=>{const g=this._requests,a=this._resolver;this._proxy.$provideFileDecorations(Object.values(g),l.CancellationToken.None).then(h=>{for(const u in a)a[u](h[u])}),this._requests=[],this._resolver=[],this._timer=void 0},0))}}let p=class{constructor(g){this.rpcProtocol=g,this._provider=new Map,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostDecorations),this._requestQueue=new m(this.proxy)}dispose(){this._provider.forEach(g=>(0,l.dispose)(g)),this._provider.clear()}$registerDecorationProvider(g,a){const h=new l.Emitter,u=this.decorationsService.registerDecorationsProvider({label:a,onDidChange:h.event,provideDecorations:(c,E)=>this._requestQueue.enqueue(g,c,E).then(f=>{if(!f)return;const[d,y,b,A]=f;return{weight:10,bubble:d||!1,color:A?.id,tooltip:y,letter:b}})});this._provider.set(g,[h,u])}$onDidChange(g,a){const h=this._provider.get(g);if(h){const[u]=h;u.fire(a&&a.map(c=>l.Uri.revive(c)))}}$unregisterDecorationProvider(g){const a=this._provider.get(g);a&&((0,l.dispose)(a),this._provider.delete(g))}};t.MainThreadDecorations=p,n.__decorate([(0,r.Autowired)(_.IDecorationsService),n.__metadata("design:type",_.IDecorationsService)],p.prototype,"decorationsService",void 0),t.MainThreadDecorations=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],p)},84680:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadExtensionDocumentData=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(43718),m=e(54414),p=e(57517),s=e(17878),g=e(14951),a=e(46147),h=1e3*60*3,u=1e3*20,c=1024*1024*80;let E=class{constructor(b){this.proxy=b,this.onDidChangeContentEmitter=new v.Emitter,this.onDidChangeContent=this.onDidChangeContentEmitter.event,this.schemes=new Set}registerScheme(b){this.schemes.add(b)}unregisterScheme(b){this.schemes.delete(b)}handlesScheme(b){return this.schemes.has(b)}provideEditorDocumentModelContent(b,A){return this.proxy.$provideTextDocumentContent(b.toString(),A)}isReadonly(b){return!0}};E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],E);let f=class extends v.WithEventBus{isDocSyncEnabled(b){var A;const S=b.toString();if(!this.docSyncEnabled.has(S)){const D=this.docManager.getModelReference(new v.URI(S),"mainthread doc size");D&&(this.docSyncEnabled.set(S,D.instance.getMonacoModel().getValueLength()<this.preference.getValid("editor.docExtHostSyncMaxSize",4*1024*1024*1024)),D.dispose())}return(A=this.docSyncEnabled.get(S))!==null&&A!==void 0?A:!1}isDocIgnored(b){return b.codeUri.scheme===v.Schemes.walkThroughSnippet}constructor(b){super(),this.rpcProtocol=b,this.editorDisposers=new Map,this.extHoldDocuments=new d,this.docSyncEnabled=new v.LRUMap(200,100),this.proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostDocuments),this.provider=this.injector.get(E,[this.proxy]),this.contentRegistry.registerEditorDocumentModelContentProvider(this.provider),this.docManager.getAllModels().map(A=>{this.isDocSyncEnabled(A.uri)&&this.proxy.$fireModelOpenedEvent({uri:A.uri.toString(),lines:A.getText().split(A.eol),eol:A.eol,dirty:A.dirty,languageId:A.languageId,versionId:A.getMonacoModel().getVersionId()})})}onEditorDocumentModelContentChangeEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||this.proxy.$fireModelChangedEvent({changes:b.payload.changes,uri:b.payload.uri.toString(),eol:b.payload.eol,dirty:b.payload.dirty,versionId:b.payload.versionId,isRedoing:b.payload.isRedoing,isUndoing:b.payload.isUndoing})}async onEditorDocumentModelWillSaveEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||await this.proxy.$fireModelWillSaveEvent({uri:b.payload.uri.toString(),reason:b.payload.reason,dirty:b.payload.dirty})}onEditorDocumentModelOptionChangedEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||this.proxy.$fireModelOptionsChangedEvent({encoding:b.payload.encoding,uri:b.payload.uri.toString(),languageId:b.payload.languageId,dirty:b.payload.dirty})}onEditorDocumentModelContentCreationEvent(b){!this.isDocSyncEnabled(b.payload.uri)||this.isDocIgnored(b.payload.uri)||this.proxy.$fireModelOpenedEvent({uri:b.payload.uri.toString(),lines:b.payload.content.split(b.payload.eol),eol:b.payload.eol,dirty:!1,languageId:b.payload.languageId,versionId:b.payload.versionId})}onEditorDocumentModelRemovedEvent(b){!this.isDocSyncEnabled(b.payload)||this.isDocIgnored(b.payload)||this.proxy.$fireModelRemovedEvent({uri:b.payload.toString()})}onEditorDocumentModelSavingEvent(b){!this.isDocSyncEnabled(b.payload)||this.isDocIgnored(b.payload)||this.proxy.$fireModelSavedEvent({uri:b.payload.toString()})}async $tryCreateDocument(b){b||(b={});const{language:A,content:S}=b,D=await this.docManager.createModelReference(new v.URI(`${v.Schemes.untitled}://temp/Untitled-`+this.tempDocIdCount.id),"ext-create-document");return A&&(D.instance.languageId=A),(0,v.isUndefinedOrNull)(S)||D.instance.updateContent(S),D.instance.uri.toString()}async $tryOpenDocument(b){const A=await this.docManager.createModelReference(new v.URI(b),"ext-open-document");this.extHoldDocuments.add(A)}async $trySaveDocument(b){const A=await this.docManager.getModelReference(new v.URI(b),"ext-saving-document");if(A)try{return A.instance.save(!0)}finally{A.dispose()}return!1}async $fireTextDocumentChangedEvent(b){this.provider.onDidChangeContentEmitter.fire(new v.URI(b))}$unregisterDocumentProviderWithScheme(b){this.editorDisposers.has(b)&&(this.editorDisposers.get(b).dispose(),this.editorDisposers.delete(b))}$registerDocumentProviderWithScheme(b){this.$unregisterDocumentProviderWithScheme(b);const A=new v.Disposable;A.addDispose(this.resourceService.registerResourceProvider({scheme:b,provideResource:async S=>Promise.all([this.labelService.getName(S),this.labelService.getIcon(S)]).then(([D,I])=>({name:D,icon:I,uri:S,metadata:null}))})),A.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(b,(S,D)=>{this.fileServiceClient.handlesScheme(b)||D.push({type:p.EditorOpenType.code,readonly:!0})})),A.addDispose({dispose:()=>{this.provider.unregisterScheme(b)}}),this.provider.registerScheme(b),this.editorDisposers.set(b,A)}dispose(){super.dispose();for(const b of this.editorDisposers.values())b.dispose();this.editorDisposers.clear()}};t.MainThreadExtensionDocumentData=f,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.UntitledDocumentIdCounter)],f.prototype,"tempDocIdCount",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],f.prototype,"docManager",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],f.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",m.ResourceService)],f.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.EditorComponentRegistry)],f.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.LabelService)],f.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],f.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],f.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(g.IFileServiceClient),n.__metadata("design:type",Object)],f.prototype,"fileServiceClient",void 0),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelContentChangeEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelWillSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelWillSaveEvent]),n.__metadata("design:returntype",Promise)],f.prototype,"onEditorDocumentModelWillSaveEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelOptionChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelOptionChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelOptionChangedEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelCreationEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelCreationEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelContentCreationEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelRemovalEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelRemovalEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelRemovedEvent",null),n.__decorate([(0,v.OnEvent)(p.EditorDocumentModelSavedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelSavedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onEditorDocumentModelSavingEvent",null),t.MainThreadExtensionDocumentData=f=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],f);class d{constructor(){this.maxLength=c,this.maxAge=h,this.minAge=u,this.refs=[],this.length=0}add(b){const A=b.instance.getText().length;this.length+=A;let S=null;const D={ref:b,dispose:()=>{const I=this.refs.indexOf(D);I!==0&&(this.length-=A,b.dispose(),clearTimeout(S),this.refs.splice(I,1))},createTimeStamp:new Date().getTime()};S=setTimeout(()=>{D.dispose()},this.maxAge),this.refs.push(D),this.clean()}clean(){for(;this.length>this.maxLength&&this.refs.length>1&&!(this.refs[0].createTimeStamp+this.minAge>new Date().getTime());)this.disposeFirst()}disposeFirst(){const b=this.refs.shift();b&&b.dispose()}}},11646:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadEditorTabsService=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(75524),_=e(43718),v=e(54414),m=e(51553),p=e(46147);let s=class extends _.Disposable{constructor(c){super(),this.rpcProtocol=c,this.prevEditorGroups=new Set,this.groupDataStore=new Map,this.tabStore=new a,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostEditorTabs),this.addDispose(this.workbenchEditorService.onDidEditorGroupsChanged(()=>{this.updateGroups()})),this.addDispose(this.workbenchEditorService.onActiveResourceChange(()=>{this.updateGroups()})),this.workbenchEditorService.contributionsReady.promise.then(()=>{this.updateGroups()})}$initializeState(){this.updateGroups()}$moveTab(c,E,f,d){const y=this.findEditorTabData(c);if(y){const{group:b,resource:A}=y;let S=b;(0,_.isUndefined)(f)||(S=this.workbenchEditorService.sortedEditorGroups[f]),S?S.dropUri(A.uri,v.DragOverPosition.CENTER,b,S.resources[E]):b.dropUri(A.uri,v.DragOverPosition.RIGHT)}}async $closeTab(c,E){return(await Promise.all(c.map(async d=>{const y=this.findEditorTabData(d);if(y)return await y.group.close(y.resource.uri)}))).filter(d=>!!d).length>0}async $closeGroup(c,E){return(await Promise.all(c.map(async d=>{var y;const b=(y=this.groupDataStore.get(d))===null||y===void 0?void 0:y.editorGroup;if(b)try{return await b.closeAll()}catch{return!1}}))).filter(d=>!!d).length>0}findEditorTabData(c){return this.tabStore.all.get(c)}getOrCreateGroupData(c){if(!this.groupDataStore.has(c.groupId)){const E=new h(c,this.workbenchEditorService,this.tabStore,this.proxy);E.addDispose({dispose:()=>{this.groupDataStore.get(c.groupId)===E&&this.groupDataStore.delete(c.groupId)}}),this.groupDataStore.set(c.groupId,E)}return this.groupDataStore.get(c.groupId)}updateGroups(){const c=(0,_.diffSets)(this.prevEditorGroups,new Set(this.workbenchEditorService.editorGroups));c.added.length>0||c.removed.length>0?this.proxy.$acceptEditorTabModel(this.workbenchEditorService.editorGroups.map(E=>{const f=this.getOrCreateGroupData(E);return{...f.dto,tabs:f.tabs.map(d=>d.dto)}})):this.workbenchEditorService.editorGroups.forEach(E=>{this.getOrCreateGroupData(E).tryCheckUpdate()}),this.prevEditorGroups=new Set(this.workbenchEditorService.editorGroups)}};t.MainThreadEditorTabsService=s,n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",m.WorkbenchEditorServiceImpl)],s.prototype,"workbenchEditorService",void 0),t.MainThreadEditorTabsService=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],s);class g{constructor(c,E){this.group=c,this.resource=E,this.tryUpdate()}updateResource(c){this.resource=c}tryUpdate(){const c=g.from(this.group,this.resource);return this._dto&&JSON.stringify(this._dto)!==JSON.stringify(c)?(this._dto=c,!0):(this._dto=c,!1)}get dto(){return this._dto}static getTabId(c,E){return`${c.groupId}~${E.uri.toString()}`}get index(){return this.group.resources.indexOf(this.resource)}static from(c,E){var f,d,y,b,A,S;const D=g.getTabId(c,E),I=c.getLastOpenType(E);let w={kind:0};if(I){if(I.type==="code")w={kind:1,uri:E.uri.codeUri};else if(I.type==="diff"){const{metadata:T}=E;T&&(w={kind:2,original:T.original.codeUri,modified:T.modified.codeUri})}else if(I.type==="mergeEditor"){const{metadata:T}=E;if(T){const{ancestor:R,input1:P,input2:O,output:M}=T,k=l.MergeEditorInputData.from(P),F=l.MergeEditorInputData.from(O);w={kind:3,base:_.Uri.parse(R),input1:k.uri.codeUri,input2:F.uri.codeUri,result:_.Uri.parse(M)}}}else if(I.type==="component"){const T=c.editorComponentRegistry.getEditorComponent(I.componentId);!((f=T?.metadata)===null||f===void 0)&&f.extWebview?w={kind:7,viewType:(d=T?.metadata)===null||d===void 0?void 0:d.extWebview}:!((y=T?.metadata)===null||y===void 0)&&y.customEditor&&(w={kind:6,viewType:(b=T?.metadata)===null||b===void 0?void 0:b.customEditor,uri:E.uri.codeUri})}}return{id:D,label:E.name,input:w,isActive:c.currentResource===E,isPinned:!1,isPreview:!!(!((A=c.previewURI)===null||A===void 0)&&A.isEqual(E.uri)),isDirty:!!(!((S=c.resourceService.getResourceDecoration(E.uri))===null||S===void 0)&&S.dirty)}}}class a{constructor(){this.all=new Map,this.mapByUri=new Map}getOrCreateData(c,E){const f=g.getTabId(c,E);if(this.all.has(f))this.all.get(f).updateResource(E);else{const d=new g(c,E),y=E.uri.toString();this.mapByUri.has(y)||this.mapByUri.set(y,new Map),this.mapByUri.get(y).set(f,d),this.all.set(f,d)}return this.all.get(f)}removeData(c){var E,f;const d=this.all.get(c);if(d){this.all.delete(c);const y=d.resource.uri.toString();(E=this.mapByUri.get(y))===null||E===void 0||E.delete(c),((f=this.mapByUri.get(y))===null||f===void 0?void 0:f.size)===0&&this.mapByUri.delete(y)}}getByResourceUri(c){var E;return Array.from(((E=this.mapByUri.get(c.toString()))===null||E===void 0?void 0:E.values())||[])}}class h extends _.Disposable{constructor(c,E,f,d){super(),this.editorGroup=c,this.editorService=E,this.store=f,this.proxy=d,this.tabs=[],this._data=void 0,this.editorGroup.addDispose(this),this.init()}init(){this.tabs=this.editorGroup.resources.map(c=>this.store.getOrCreateData(this.editorGroup,c)),this.addDispose(this.editorGroup.onDidEditorGroupTabOperation(c=>{const E={open:0,close:1,move:3}[c.type],f=this.store.getOrCreateData(this.editorGroup,c.resource);f.tryUpdate(),this.proxy.$acceptTabOperation({kind:E,groupId:this.editorGroup.groupId,tabDto:f.dto,index:c.index,oldIndex:c.oldIndex})})),this.addDispose(this.editorGroup.onDidEditorGroupBodyChanged(()=>{this.onTabsMayUpdated()})),this.addDispose(this.editorGroup.onDidEditorGroupTabChanged(()=>{this.onTabsMayUpdated()}))}onTabsMayUpdated(){this.tabs=this.editorGroup.resources.map((c,E)=>{const f=this.store.getOrCreateData(this.editorGroup,c);return f.tryUpdate()&&this.proxy.$acceptTabOperation({kind:2,tabDto:f.dto,index:E,groupId:this.editorGroup.groupId}),f})}tryCheckUpdate(){const c=this._data,E={groupId:this.editorGroup.groupId,isActive:this.editorService.currentEditorGroup===this.editorGroup,viewColumn:this.editorGroup.index};this._data=E,c&&(c.viewColumn!==E.viewColumn?this.proxy.$acceptTabGroupUpdate({...this.dto,tabs:[]}):!c.isActive&&E.isActive&&this.proxy.$acceptTabGroupUpdate({...this.dto,tabs:[]}))}get dto(){return this._data||(this._data={groupId:this.editorGroup.groupId,isActive:this.editorService.currentEditorGroup===this.editorGroup,viewColumn:this.editorGroup.index}),this._data}}},85589:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadEditorService=void 0,t.cursorStyleToString=R;const n=e(85608),r=n.__importDefault(e(82451)),o=e(76003),l=e(8919),_=e(40827),v=e(43718),m=e(54414),p=e(57517),s=e(71624),g=e(51553),a=n.__importStar(e(20868)),h=e(87822),u=e(16781),c=e(46147),E=e(53043),f=e(84680);let d=class extends v.WithEventBus{constructor(O,M){super(),this.rpcProtocol=O,this.documents=M,this.propertiesChangeCache=new Map,this.proxy=this.rpcProtocol.getProxy(c.ExtHostAPIIdentifier.ExtHostEditors),this.$getInitialState().then(k=>{this.proxy.$acceptChange(k)})}async $getInitialState(){this.startEvents();const O=this.editorService.editorGroups.map(k=>{if(k.currentOpenType&&S(k.currentOpenType)){const F=k.currentEditor;return!F.currentDocumentModel||!this.documents.isDocSyncEnabled(F.currentDocumentModel.uri)?void 0:{id:y(k,k.currentResource.uri),uri:F.currentDocumentModel.uri.toString(),selections:F.getSelections()||[],options:A(F.monacoEditor),viewColumn:I(k),visibleRanges:F.monacoEditor.getVisibleRanges()}}}).filter(k=>!!k),M=this.editorService.currentResource&&O.find(k=>k.uri===this.editorService.currentResource.uri.toString());return{created:O,actived:M&&this.documents.isDocSyncEnabled(M.uri)&&M.id}}async $closeEditor(O){if(this.getEditor(O)){const k=this.getGroup(O);k.close(k.currentResource.uri)}}async $revealRange(O,M,k){const F=this.getEditor(O);if(F)switch(k){case c.TextEditorRevealType.InCenter:return F.monacoEditor.revealRangeInCenter(M);case c.TextEditorRevealType.AtTop:return F.monacoEditor.revealRangeAtTop(M);case c.TextEditorRevealType.InCenterIfOutsideViewport:return F.monacoEditor.revealRangeInCenterIfOutsideViewport(M);default:return F.monacoEditor.revealRange(M)}}async $createTextEditorDecorationType(O,M){this.resolveIconPaths(M),this.resolveIconPaths(M.dark),this.resolveIconPaths(M.light),this.decorationService.createTextEditorDecorationType(M,O)}resolveIconPaths(O){if(!O)return O;if(O.gutterIconPath){let M;typeof O.gutterIconPath=="string"?M=v.URI.file(O.gutterIconPath):M=v.URI.from(O.gutterIconPath),O.gutterIconPath=this.staticResourceService.resolveStaticResource(M).toString()}}async $deleteTextEditorDecorationType(O){const M=this.decorationService.getTextEditorDecorationType(O);M&&M.dispose()}async $applyDecoration(O,M,k){const F=this.getEditor(O);F&&F.applyDecoration(M,k)}async $insertSnippet(O,M,k=[],F={undoStopAfter:!0,undoStopBefore:!0}){const L=this.getEditor(O);L&&L.insertSnippet(M,k,F)}async $updateOptions(O,M){const k=this.getEditor(O);k&&await this.setConfiguration(k.monacoEditor,M)}getEditor(O){var M,k;const F=this.getGroup(O);if(!F)return;const L=F.currentResource;if(L&&F.currentOpenType&&S(F.currentOpenType)){if(O===y(F,L.uri))return F.currentEditor;if(((M=F.currentOpenType)===null||M===void 0?void 0:M.type)===p.EditorOpenType.diff&&O===y(F,L.metadata.original,"original"))return F.diffEditor.originalEditor;if(((k=F.currentOpenType)===null||k===void 0?void 0:k.type)===p.EditorOpenType.diff&&O===y(F,L.metadata.modified,"modified"))return F.diffEditor.modifiedEditor}}getGroup(O){const M=b(O);return this.editorService.getEditorGroup(M)}triggerPropertiesChange(){const O=[];this.propertiesChangeCache.forEach(M=>{O.push(M)}),this.propertiesChangeCache.clear(),this.proxy.$acceptPropertiesChanges(O)}batchPropertiesChanges(O){const{id:M}=O;let k=this.propertiesChangeCache.get(M);k||(k={}),k=(0,r.default)(k,O),this.propertiesChangeCache.set(M,k),this.triggerPropertiesChange()}startEvents(){this.addDispose([this.eventBus.on(p.EditorGroupChangeEvent,O=>{const M=O.payload;if(!w(M.newResource,M.oldResource)||!T(M.newOpenType,M.oldOpenType)){const k={};if(M.newOpenType&&(M.newOpenType.type===p.EditorOpenType.code||M.newOpenType.type===p.EditorOpenType.diff)){const F=M.group.currentEditor;if(F.currentDocumentModel){if(this.documents.isDocSyncEnabled(F.currentDocumentModel.uri))if(k.created=[],M.newOpenType.type===p.EditorOpenType.diff){const L=M.group.diffEditor.originalEditor,B=M.group.diffEditor.modifiedEditor,U=y(M.group,M.newResource.metadata.original,"original");k.created.push({id:U,uri:L.currentUri.toString(),selections:L.getSelections()||[],options:A(L.monacoEditor),viewColumn:I(M.group),visibleRanges:L.monacoEditor.getVisibleRanges()});const W=y(M.group,M.newResource.metadata.modified,"modified");k.created.push({id:W,uri:B.currentUri.toString(),selections:B.getSelections()||[],options:A(B.monacoEditor),viewColumn:I(M.group),visibleRanges:B.monacoEditor.getVisibleRanges()})}else k.created.push({id:y(M.group,M.newResource.uri),uri:F.currentDocumentModel.uri.toString(),selections:F.getSelections()||[],options:A(F.monacoEditor),viewColumn:I(M.group),visibleRanges:F.monacoEditor.getVisibleRanges()})}w(M.newResource,M.oldResource)&&!T(M.newOpenType,M.oldOpenType)&&M.newResource===this.editorService.currentResource&&(k.actived=y(M.group,M.newResource.uri))}M.oldOpenType&&(M.oldOpenType.type===p.EditorOpenType.code||M.oldOpenType.type===p.EditorOpenType.diff)&&(k.removed=[],M.oldOpenType.type===p.EditorOpenType.diff?(k.removed.push(y(M.group,M.oldResource.metadata.original,"original")),k.removed.push(y(M.group,M.oldResource.metadata.modified,"modified"))):k.removed=[y(M.group,M.oldResource.uri)]),this.proxy.$acceptChange(k)}}),this.editorService.onActiveEditorUriChange(O=>{O&&this.editorService.currentEditorGroup&&S(this.editorService.currentEditorGroup.currentOpenType)?this.acceptCurrentEditor(O):this.proxy.$acceptChange({actived:"-1"})}),this.eventBus.on(p.EditorConfigurationChangedEvent,O=>{const M=y(O.payload.group,O.payload.resource.uri);O.payload.group.currentEditor&&O.payload.group.currentEditor.monacoEditor.getModel()&&this.batchPropertiesChanges({id:M,options:A(O.payload.group.currentEditor.monacoEditor)})}),this.eventBus.on(p.EditorSelectionChangeEvent,O=>{const M=y(O.payload.group,O.payload.editorUri,O.payload.side);this.batchPropertiesChanges({id:M,selections:{selections:O.payload.selections,source:O.payload.source}}),this.acceptCurrentEditor(O.payload.editorUri)}),this.eventBus.on(p.EditorVisibleChangeEvent,O=>{const M=y(O.payload.group,O.payload.resource.uri);this.batchPropertiesChanges({id:M,visibleRanges:O.payload.visibleRanges})}),this.eventBus.on(p.EditorGroupIndexChangedEvent,O=>{if(D(O.payload.group)){const M=y(O.payload.group,O.payload.group.currentResource.uri);this.batchPropertiesChanges({id:M,viewColumn:I(O.payload.group)})}})])}acceptCurrentEditor(O){var M,k,F,L,B;let U;const W=((M=this.editorService.currentEditorGroup.currentOpenType)===null||M===void 0?void 0:M.type)===p.EditorOpenType.diff&&((k=this.editorService.currentEditorGroup.diffEditor.originalEditor.currentUri)===null||k===void 0?void 0:k.isEqual(O)),j=((F=this.editorService.currentEditorGroup.currentOpenType)===null||F===void 0?void 0:F.type)===p.EditorOpenType.diff&&((L=this.editorService.currentEditorGroup.diffEditor.modifiedEditor.currentUri)===null||L===void 0?void 0:L.isEqual(O));W&&(U="original"),j&&(U="modified"),U?this.proxy.$acceptChange({actived:y(this.editorService.currentEditorGroup,O,U)}):this.proxy.$acceptChange({actived:y(this.editorService.currentEditorGroup,(B=this.editorService.currentEditorGroup.currentResource)===null||B===void 0?void 0:B.uri)})}async $applyEdits(O,M,k,F){const L=this.getEditor(O);if(L&&L.currentDocumentModel){const B=L.currentDocumentModel.getMonacoModel();if(B&&B.getVersionId()===M){typeof F.setEndOfLine<"u"&&B.pushEOL(F.setEndOfLine);const U=k.map(W=>({range:a.Range.lift(W.range),text:W.text,forceMoveMarkers:W.forceMoveMarkers}));return F.undoStopBefore&&L.monacoEditor.pushUndoStop(),L.monacoEditor.executeEdits("MainThreadTextEditor",U),F.undoStopAfter&&L.monacoEditor.pushUndoStop(),!0}else return!1}else return!1}async $openResource(O,M){M.forceOpenType={type:p.EditorOpenType.code},M.focus=!0,M={...M,...(0,E.viewColumnToResourceOpenOptions)(M.viewColumn)};const k=await this.editorService.open(new v.URI(O),M);if(k)return y(k.group,k.resource.uri);throw new Error("Editor Open uri "+O.toString()+" Failed")}$setSelections(O,M){return this.getEditor(O)?(this.getEditor(O).setSelections(M),Promise.resolve()):Promise.reject(`No Such TextEditor: ${O}`)}setConfiguration(O,M){if(O.getModel()&&this._setIndentConfiguration(O.getModel(),M),!!O){if(M.cursorStyle){const k=R(M.cursorStyle);O.updateOptions({cursorStyle:k})}if(typeof M.lineNumbers<"u"){let k;switch(M.lineNumbers){case 1:k="on";break;case 2:k="relative";break;case 3:k="interval";break;default:k="off"}O.updateOptions({lineNumbers:k})}}}$getDiffInformation(O){const M=this.getEditor(O);if(!M)return Promise.reject(new Error("No such TextEditor"));const k=M.monacoEditor;if(!k)return Promise.reject(new Error("No such CodeEditor"));const F=k.getId(),L=this.codeEditorService.listDiffEditors(),[B]=L.filter(W=>W.originalEditor.getId()===F||W.modifiedEditor.getId()===F);if(B){const W=B.monacoDiffEditor.getLineChanges();return W?Promise.resolve(W.map(j=>{var Q;return[j.originalStartLineNumber,j.originalEndLineNumber,j.modifiedStartLineNumber,j.modifiedEndLineNumber,(Q=j.charChanges)===null||Q===void 0?void 0:Q.map(G=>[G.originalStartLineNumber,G.originalStartColumn,G.originalEndLineNumber,G.originalEndColumn,G.modifiedStartLineNumber,G.modifiedStartColumn,G.modifiedEndLineNumber,G.modifiedEndColumn])]})):Promise.resolve([])}const U=k.getContribution("editor.contrib.dirtydiff");return U?Promise.resolve(U.getChanges()):Promise.resolve([])}_setIndentConfiguration(O,M){const k=u.StandaloneServices.get(h.IModelService).getCreationOptions(O.getLanguageId(),O.uri,O.isForSimpleWidget);if(M.tabSize==="auto"||M.insertSpaces==="auto"){let L=k.insertSpaces,B=k.tabSize;M.insertSpaces!=="auto"&&typeof M.insertSpaces<"u"&&(L=M.insertSpaces),M.tabSize!=="auto"&&typeof M.tabSize<"u"&&(B=M.tabSize),O.detectIndentation(L,B);return}const F={};typeof M.insertSpaces<"u"&&(F.insertSpaces=M.insertSpaces),typeof M.tabSize<"u"&&(F.tabSize=M.tabSize),typeof M.indentSize<"u"&&(M.indentSize==="tabSize"?F.indentSize=F.tabSize||k.tabSize:F.indentSize=M.indentSize),O.updateOptions(F)}};t.MainThreadEditorService=d,n.__decorate([(0,o.Autowired)(m.WorkbenchEditorService),n.__metadata("design:type",g.WorkbenchEditorServiceImpl)],d.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(p.IEditorDecorationCollectionService),n.__metadata("design:type",Object)],d.prototype,"decorationService",void 0),n.__decorate([(0,o.Autowired)(m.EditorCollectionService),n.__metadata("design:type",s.EditorCollectionServiceImpl)],d.prototype,"codeEditorService",void 0),n.__decorate([(0,o.Autowired)(_.StaticResourceService),n.__metadata("design:type",_.StaticResourceService)],d.prototype,"staticResourceService",void 0),t.MainThreadEditorService=d=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__param(0,(0,o.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object,f.MainThreadExtensionDocumentData])],d);function y(P,O,M){return P.name+"."+(M?`${M}.`:"")+O.toString()}function b(P){return P.substr(0,P.indexOf("."))}function A(P){const O=P.getModel().getOptions();return{tabSize:O.tabSize,indentSize:O.indentSize,insertSpaces:O.insertSpaces,cursorStyle:P.getOption(a.editor.EditorOption.cursorStyle),lineNumbers:P.getOption(a.editor.EditorOption.lineNumbers).renderType}}function S(P){return P?P.type===p.EditorOpenType.code||P.type===p.EditorOpenType.diff:!1}function D(P){return P.currentOpenType&&S(P.currentOpenType)}function I(P){return P.index+1}function w(P,O){return!!(!P&&!O||P&&O&&P.uri.isEqual(O.uri))}function T(P,O){return!!(!P&&!O||P&&O&&P.type===O.type&&P.componentId===O.componentId)}function R(P){if(P===c.TextEditorCursorStyle.Line)return"line";if(P===c.TextEditorCursorStyle.Block)return"block";if(P===c.TextEditorCursorStyle.Underline)return"underline";if(P===c.TextEditorCursorStyle.LineThin)return"line-thin";if(P===c.TextEditorCursorStyle.BlockOutline)return"block-outline";if(P===c.TextEditorCursorStyle.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")}},22869:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadEnv=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(19805),v=e(43718),m=e(83507),p=e(46147),s=e(51328),g=e(49731);let a=class{isSupportedLink(u){return _.HttpOpener.standardSupportedLinkSchemes.has(u.scheme)||u.scheme===this.appConfig.uriScheme}constructor(u,c){this.rpcProtocol=u,this.storage=c,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostEnv),this.eventDispose=this.loggerManger.onDidChangeLogLevel(E=>{this.proxy.$fireChangeLogLevel(E)}),this.setLogLevel(),this.setEnvValues()}async setEnvValues(){const{appName:u,uriScheme:c,appHost:E,appRoot:f,customVSCodeEngineVersion:d}=this.appConfig,y=await this.storage.$getValue(!0,v.firstSessionDateStorageKey);this.proxy.$setEnvValues({customVSCodeEngineVersion:d,appName:u,uriScheme:c,appHost:E,appRoot:f,language:(0,v.getCodeLanguage)(),uiKind:this.appConfig.isElectronRenderer?s.UIKind.Desktop:s.UIKind.Web,firstSessionDate:y?.date})}dispose(){this.eventDispose.dispose()}async setLogLevel(){const u=await this.loggerManger.getGlobalLogLevel();await this.proxy.$setLogLevel(u)}async $clipboardReadText(){try{return await this.clipboardService.readText()}catch{return""}}$clipboardWriteText(u){return new Promise(async c=>{try{await this.clipboardService.writeText(u)}catch{}c()})}async $openExternal(u){return this.isSupportedLink(v.URI.from(u))?await this.openerService.open(u.toString(!0)):!1}getWindowId(){return this.applicationService.windowId}async $asExternalUri(u){const{uriScheme:c}=this.appConfig,E=v.URI.from(u);if(E.scheme===c){const d=this.getWindowId();let y=E.query;return y?y+=`&windowId=${d}`:y=`windowId=${d}`,E.withQuery(y).codeUri}return this.externalUriService.resolveExternalUri(E).codeUri}};t.MainThreadEnv=a,n.__decorate([(0,r.Autowired)(m.ILoggerManagerClient),n.__metadata("design:type",Object)],a.prototype,"loggerManger",void 0),n.__decorate([(0,r.Autowired)(l.IOpenerService),n.__metadata("design:type",Object)],a.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(l.IClipboardService),n.__metadata("design:type",Object)],a.prototype,"clipboardService",void 0),n.__decorate([(0,r.Autowired)(l.IExternalUriService),n.__metadata("design:type",Object)],a.prototype,"externalUriService",void 0),n.__decorate([(0,r.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],a.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(v.IApplicationService),n.__metadata("design:type",Object)],a.prototype,"applicationService",void 0),t.MainThreadEnv=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object,g.MainThreadStorage])],a)},13335:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadFileSystemEvent=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(68969),v=e(43718),m=e(14951),p=e(52902),s=e(72665),g=e(26199),a=e(46147);let h=class extends v.Disposable{constructor(c){super(),this.rpcProtocol=c,this._proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostFileSystemEvent),this._dispatchFileEventListener(),this._participateFileOperation(),this._initShowPreview()}_dispatchFileEventListener(){const c={created:[],changed:[],deleted:[]};this.addDispose(this.fileService.onFilesChanged(E=>{let f=!1;for(const d of E)switch(d.type){case m.FileChangeType.ADDED:c.created.push(v.Uri.parse(d.uri)),f=!0;break;case m.FileChangeType.UPDATED:c.changed.push(v.Uri.parse(d.uri)),f=!0;break;case m.FileChangeType.DELETED:c.deleted.push(v.Uri.parse(d.uri)),f=!0;break}f&&(this._proxy.$onFileEvent(c),c.created=[],c.changed=[],c.deleted=[])}))}_participateFileOperation(){this.addDispose(this.workspaceFileService.registerFileOperationParticipant({participate:this.fileOperationParticipant.bind(this)})),this.addDispose(this.workspaceFileService.onDidRunWorkspaceFileOperation(c=>this._proxy.$onDidRunFileOperation(c.operation,c.files)))}_initShowPreview(){this._showPreview=this.preferenceService.get("workbench.refactoringChanges.showPreviewStrategy"),this.addDispose(this.preferenceService.onPreferenceChanged(c=>{c.preferenceName==="workbench.refactoringChanges.showPreviewStrategy"&&(this._showPreview=c.newValue)}))}async fileOperationParticipant(...c){const[E,f,d,y,b]=c,A=new v.CancellationTokenSource(b),S=setTimeout(()=>A.cancel(),y),D=await this.progressService.withProgress({location:v.ProgressLocation.Notification,title:this.getProgressLabel(f),cancellable:!0,delay:Math.min(y/2,3e3)},()=>{const R=this._proxy.$onWillRunFileOperation(f,E,y,b);return(0,v.raceCancellation)(R,A.token)},()=>{A.cancel()}).finally(()=>{A.dispose(),clearTimeout(S)});if(!D)return;let I=this._showPreview;const w=D.edit.edits.some(R=>{var P;return(P=R.metadata)===null||P===void 0?void 0:P.needsConfirmation});if(I==="askMe"){let R;if(D.extensionNames.length===1?f===0?R=(0,v.formatLocalize)("refactoring-changes.ask.1.create",D.extensionNames[0]):f===3?R=(0,v.formatLocalize)("refactoring-changes.ask.1.copy",D.extensionNames[0]):f===2?R=(0,v.formatLocalize)("refactoring-changes.ask.1.move",D.extensionNames[0]):R=(0,v.formatLocalize)("refactoring-changes.ask.1.delete",D.extensionNames[0]):f===0?R=(0,v.formatLocalize)("refactoring-changes.ask.N.create",D.extensionNames.length):f===3?R=(0,v.formatLocalize)("refactoring-changes.ask.N.copy",D.extensionNames.length):f===2?R=(0,v.formatLocalize)("refactoring-changes.ask.N.move",D.extensionNames.length):R=(0,v.formatLocalize)("refactoring-changes.ask.N.delete",D.extensionNames.length),w){const P=[(0,v.localize)("refactoring-changes.msg.showPreview"),(0,v.localize)("refactoring-changes.msg.skipChanges")],O=await this.dialogService.open({message:R,type:v.MessageType.Info,buttons:P});if(I="show",O===P[1])return}else{const P=[(0,v.localize)("refactoring-changes.msg.showPreview"),(0,v.localize)("refactoring-changes.msg.skipChanges"),(0,v.localize)("component.modal.okText")],O=await this.dialogService.open({message:R,type:v.MessageType.Info,buttons:P});if(O===P[1])return;I=O===P[0]?"show":"hide"}}this.logger.log("[onWill-handler] applying additional workspace edit from extensions",D.extensionNames);const T=D?.edit;T&&await this.bulkEditService.apply(p.ResourceEdit.convert(T),{showPreview:I==="show"})}getProgressLabel(c){switch(c){case 0:return(0,v.localize)("fileOperation.create","Running 'File Create' participants...");case 1:return(0,v.localize)("fileOperation.delete","Running 'File Delete' participants...");case 3:return(0,v.localize)("fileOperation.copy","Running 'File Copy' participants...");case 2:return(0,v.localize)("fileOperation.move","Running 'File Move' participants...")}}};t.MainThreadFileSystemEvent=h,n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],h.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(g.IWorkspaceFileService),n.__metadata("design:type",Object)],h.prototype,"workspaceFileService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],h.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(_.IProgressService),n.__metadata("design:type",Object)],h.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(v.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(s.IDialogService),n.__metadata("design:type",Object)],h.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(g.IBulkEditServiceShape),n.__metadata("design:type",Object)],h.prototype,"bulkEditService",void 0),t.MainThreadFileSystemEvent=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],h)},14382:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadFileSystem=void 0;const r=e(85608),o=e(76003),l=e(8919),_=e(41869),v=e(43163),m=e(42933),p=e(46147),s=e(53043),g=e(34687);let a=n=class{constructor(c){this.rpcProtocol=c,this.disposable=new _.Disposable,this._fileProvider=new Map,this._proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostFileSystem);const E=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostFileSystemInfo);for(const f of this._fileService.listCapabilities())E.$acceptProviderInfos(f.scheme,f.capabilities);this.disposable.addDispose(this._fileService.onDidChangeFileSystemProviderRegistrations(f=>{var d,y;return E.$acceptProviderInfos(f.scheme,(y=(d=f.provider)===null||d===void 0?void 0:d.capabilities)!==null&&y!==void 0?y:null)})),this.disposable.addDispose(this._fileService.onDidChangeFileSystemProviderCapabilities(f=>E.$acceptProviderInfos(f.scheme,f.provider.capabilities)))}dispose(){this.disposable.dispose(),this._fileProvider.forEach(c=>c.dispose()),this._fileProvider.clear()}$registerFileSystemProvider(c,E,f){this.disposable.addDispose(this.schemeRegistry.registerFileSystemProvider({scheme:E})),this._fileProvider.set(c,new h(this._fileService,E,f,c,this._proxy))}$unregisterProvider(c){(0,_.dispose)(this._fileProvider.get(c)),this._fileProvider.delete(c)}$onFileSystemChange(c,E){const f=this._fileProvider.get(c);if(!f)throw new Error("Unknown file provider");f.$onFileSystemChange(E)}$stat(c){return this._fileService.getFileStat(_.URI.revive(c).toString()).then(E=>(0,s.toFileStat)(E)).catch(n._handleError)}$readdir(c){return this._fileService.getFileStat(_.URI.revive(c).toString()).then(E=>{if(!E)throw new Error("file stat undefined");if(!E.isDirectory){const f=new Error(E.uri);throw f.name=g.FileSystemProviderErrorCode.FileNotADirectory,f}return E.children?E.children.map(f=>[new _.URI(f.uri).displayName,n._asFileType(f)]):[]}).catch(n._handleError)}static _asFileType(c){let E=0;return c.type&&c.type===m.FileType.File?E+=m.FileType.File:c.isDirectory&&(E+=m.FileType.Directory),c.isSymbolicLink&&(E+=m.FileType.SymbolicLink),E}$readFile(c){return this._fileService.readFile(_.URI.revive(c).toString()).then(E=>E.content.buffer).catch(n._handleError)}async $writeFile(c,E){try{const f=_.URI.revive(c),d=await this._fileService.getFileStat(f.toString(),!1);d?await this._fileService.setContent(d,E):(await(0,v.ensureDir)(new _.URI(f).path.dir.toString(),{mkdir:y=>this.$mkdir(_.URI.file(y).codeUri),access:y=>this._fileService.access(_.URI.file(y).codeUri.toString())}),await this._fileService.createFile(f.toString(),{content:_.BinaryBuffer.wrap(E).toString()}))}catch(f){return n._handleError(f)}}$rename(c,E,f){return this._fileService.move(_.URI.revive(c).toString(),_.URI.revive(E).toString(),f).then(()=>{}).catch(n._handleError)}$copy(c,E,f){return this._fileService.copy(_.URI.revive(c).toString(),_.URI.revive(E).toString(),f).then(()=>{}).catch(n._handleError)}$mkdir(c){return this._fileService.createFolder(_.URI.revive(c).toString()).then(()=>{}).catch(n._handleError)}$delete(c,E){return this._fileService.delete(_.URI.revive(c).toString(),{moveToTrash:E.useTrash}).catch(n._handleError)}static _handleError(c){if(c instanceof m.FileOperationError)switch(c.fileOperationResult){case 1:c.name=g.FileSystemProviderErrorCode.FileNotFound;break;case 0:c.name=g.FileSystemProviderErrorCode.FileIsADirectory;break;case 6:c.name=g.FileSystemProviderErrorCode.NoPermissions;break;case 4:c.name=g.FileSystemProviderErrorCode.FileExists;break}throw c}};t.MainThreadFileSystem=a,r.__decorate([(0,o.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],a.prototype,"_fileService",void 0),r.__decorate([(0,o.Autowired)(m.IBrowserFileSystemRegistry),r.__metadata("design:type",Object)],a.prototype,"schemeRegistry",void 0),t.MainThreadFileSystem=a=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object])],a);class h{get readonly(){return!!(this.capabilities&2048)}constructor(c,E,f,d,y){this._handle=d,this._proxy=y,this._onDidChange=new _.Emitter,this.onDidChangeFile=this._onDidChange.event,this.onDidChangeCapabilities=_.Event.None,this.capabilities=f,this._registration=c.registerProvider(E,this)}dispose(){this._registration.dispose(),this._onDidChange.dispose()}watch(c,E){const f=Math.random();return this._proxy.$watch(this._handle,f,c,E),f}unwatch(c){this._proxy.$unwatch(this._handle,c)}$onFileSystemChange(c){this._onDidChange.fire(c.map(h._createFileChange))}static _createFileChange(c){return{uri:c.uri,type:c.type}}async stat(c){return await this.doGetStat(c)}async readFile(c){return await this._proxy.$readFile(this._handle,c)}writeFile(c,E,f){return this._proxy.$writeFile(this._handle,c,E,f)}delete(c,E){return this._proxy.$delete(this._handle,c,E)}createDirectory(c){return this._proxy.$mkdir(this._handle,c)}readDirectory(c){return this._proxy.$readdir(this._handle,c)}rename(c,E,f){return this._proxy.$rename(this._handle,c,E,f)}copy(c,E,f){return this._proxy.$copy(this._handle,c,E,f)}async doGetStat(c,E=1){var f;const d=await this._proxy.$stat(this._handle,c),y=(0,s.fromFileStat)(d,c);return y.isDirectory&&(y.children=await this.doGetChildren(c,E)),y.readonly=!!(((f=d.permissions)!==null&&f!==void 0?f:0)&g.FilePermission.Readonly)||!!(this.capabilities&2048),y}async doGetChildren(c,E){if(E<=0)return[];const f=await this.readDirectory(c);return await Promise.all(f.map(y=>new _.URI(c).resolve(y[0])).map(y=>this.doGetStat(y.codeUri,E-1)))}}},89626:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadLanguages=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(16885),m=e(54414),p=e(57517),s=n.__importStar(e(20868)),g=e(55218),a=e(62660),h=e(28694),u=e(52902),c=e(79865),E=e(44781),f=n.__importStar(e(40540)),d=e(14162),y=e(16781),b=e(46147),A=e(53043),S=e(51328),D=e(52403),I=e(43710),w=e(97673),{extname:T}=_.path;let R=class{_reviveCodeActionDto(O){return O&&O.forEach(M=>this.reviveWorkspaceEditDto(M.edit)),O}constructor(O){this.rpcProtocol=O,this.disposables=new Map,this.languageFeatureEnabled=new _.LRUMap(200,100),this._status=new Map,this.proxy=this.rpcProtocol.getProxy(b.ExtHostAPIIdentifier.ExtHostLanguages)}dispose(){this.disposables.forEach(O=>{O.dispose()}),this.disposables.clear()}$unregister(O){const M=this.disposables.get(O);M&&(this.disposables.delete(O),M.dispose())}$getLanguages(){return this.textmateService.getLanguages().map(O=>O.id)}async $changeLanguage(O,M){const k=y.StandaloneServices.get(d.ILanguageService).getLanguageIdByLanguageName(M);if(!k||k!==M)return Promise.reject(new Error(`Unknown language id: ${M}`));const F=new _.URI(_.URI.revive(O)),L=await this.documentModelManager.createModelReference(F);try{L.instance.languageId=M}finally{L.dispose()}}isLanguageFeatureEnabled(O){if(O.uri.scheme===_.Schemes.inMemory)return!1;const M=O.uri.toString();return this.languageFeatureEnabled.has(M)||this.languageFeatureEnabled.set(M,O.getValueLength()<(this.preference.get("editor.languageFeatureEnabledMaxSize")||4*1024*1024*1024)),this.languageFeatureEnabled.get(M)}getUniqueLanguages(){const O=[],M=this.textmateService.getLanguages().map(k=>k.id);for(const k of M)O.indexOf(k)===-1&&O.push(k);return O}$registerHoverProvider(O,M){const k=(0,A.fromLanguageSelector)(M),F=this.createHoverProvider(O,k);this.disposables.set(O,c.languageFeaturesService.hoverProvider.register(M,F))}createHoverProvider(O,M){return{provideHover:(k,F,L)=>{if(!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k))||!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_HOVER);return this.proxy.$provideHoverWithDuration(O,k.uri,F,L).then(({result:U,_dur:W})=>(U&&B.timeEnd(T(k.uri.fsPath),{extDuration:W}),U))}}}isDeflatedSuggestDto(O){return O[b.ISuggestDataDtoField.label]||O[b.ISuggestDataDtoField.kind]||O[b.ISuggestDataDtoField.kindModifier]||O[b.ISuggestDataDtoField.detail]||O[b.ISuggestDataDtoField.documentation]||O[b.ISuggestDataDtoField.sortText]||O[b.ISuggestDataDtoField.filterText]||O[b.ISuggestDataDtoField.preselect]||O[b.ISuggestDataDtoField.range]||O[b.ISuggestDataDtoField.insertTextRules]||O[b.ISuggestDataDtoField.commitCharacters]||O[b.ISuggestDataDtoField.insertText]||O[b.ISuggestDataDtoField.command]}inflateLabel(O){if(typeof O=="object")return O;const M=O.split("~|");return Array.isArray(M)&&M.length>1?{label:M[0],description:M[1],detail:M[2]}:O}inflateSuggestDto(O,M){var k,F;if(!this.isDeflatedSuggestDto(M))return M;const L=this.inflateLabel(M[b.ISuggestDataDtoField.label]),B=M[b.ISuggestDataDtoField.range];return{label:L,kind:(k=M[b.ISuggestDataDtoField.kind])!==null&&k!==void 0?k:f.CompletionItemKind.Property,tags:M[b.ISuggestDataDtoField.kindModifier],detail:M[b.ISuggestDataDtoField.detail],documentation:M[b.ISuggestDataDtoField.documentation],sortText:M[b.ISuggestDataDtoField.sortText],filterText:M[b.ISuggestDataDtoField.filterText],preselect:M[b.ISuggestDataDtoField.preselect],insertText:(F=M[b.ISuggestDataDtoField.insertText])!==null&&F!==void 0?F:typeof L=="string"?L:L.label,range:Array.isArray(B)&&B.length===4?E.Range.lift({startLineNumber:B[0],startColumn:B[1],endLineNumber:B[2],endColumn:B[3]}):O,insertTextRules:M[b.ISuggestDataDtoField.insertTextRules],commitCharacters:M[b.ISuggestDataDtoField.commitCharacters],additionalTextEdits:M[b.ISuggestDataDtoField.additionalTextEdits],command:M[b.ISuggestDataDtoField.command],_id:M.x}}$registerCompletionSupport(O,M,k,F){this.disposables.set(O,u.monaco.languages.registerCompletionItemProvider((0,A.fromLanguageSelector)(M),{_debugDisplayName:`ext-${O}`,triggerCharacters:k,provideCompletionItems:async(L,B,U,W)=>{if(!this.isLanguageFeatureEnabled(L))return;const j=this.reporter.time(_.REPORT_NAME.PROVIDE_COMPLETION_ITEMS),Q=await this.proxy.$provideCompletionItems(O,L.uri,B,U,W);return Q?(Q[b.ISuggestResultDtoField.completions].length&&j.timeEnd(T(L.uri.fsPath),{extDuration:Q.d}),{suggestions:Q[b.ISuggestResultDtoField.completions].map(Z=>this.inflateSuggestDto(Q[b.ISuggestResultDtoField.defaultRanges],Z)),duration:Q[b.ISuggestResultDtoField.duration],incomplete:Q[b.ISuggestResultDtoField.isIncomplete]||!1,dispose:()=>{Q.x&&setTimeout(()=>{this.proxy.$releaseCompletionItems(O,Q.x)},0)}}):void 0},resolveCompletionItem:F?async(L,B)=>(this.reporter.point(_.REPORT_NAME.RESOLVE_COMPLETION_ITEM),this.proxy.$resolveCompletionItem(O,L._id,B).then(U=>{if(!U)return L;const W=this.inflateSuggestDto(L.range,U);return(0,I.mixin)(L,W,!0)})):void 0}))}$registerInlineCompletionsSupport(O,M,k,F,L){const B={provideInlineCompletions:async(U,W,j,Q)=>this.proxy.$provideInlineCompletions(O,U.uri,W,j,Q),handleItemDidShow:async(U,W,j)=>{k&&await this.proxy.$handleInlineCompletionDidShow(O,U.pid,W.idx,j)},handlePartialAccept:async(U,W,j)=>{k&&await this.proxy.$handleInlineCompletionPartialAccept(O,U.pid,W.idx,j)},freeInlineCompletions:U=>{this.proxy.$freeInlineCompletionsList(O,U.pid)},groupId:F,yieldsToGroupIds:L,toString(){return`InlineCompletionsProvider(${F})`}};this.disposables.set(O,u.monaco.languages.registerInlineCompletionsProvider((0,A.fromLanguageSelector)(M),B))}$registerInlineEditProvider(O,M,k,F){const L={displayName:F,provideInlineEdit:async(B,U,W)=>this.proxy.$provideInlineEdit(O,B.uri,U,W),freeInlineEdit:B=>{this.proxy.$freeInlineEdit(O,B.pid)}};this.disposables.set(O,u.monaco.languages.registerInlineEditProvider((0,A.fromLanguageSelector)(M),L))}matchLanguage(O,M){return Array.isArray(O)?O.some(k=>this.matchLanguage(k,M)):(0,D.isDocumentFilter)(O)?!O.language&&(O.pattern||O.scheme)?!0:O?.language===M:O===M}matchModel(O,M){return Array.isArray(O)?O.some(k=>this.matchModel(k,M)):(0,D.isDocumentFilter)(O)?!(O.language&&O.language!==M.languageId||O.scheme&&O.scheme!==M.uri.scheme||O.pattern&&!(0,b.testGlob)(O.pattern,M.uri.path)):O===M.languageId}$registerDefinitionProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createDefinitionProvider(O,k);this.disposables.set(O,u.monaco.languages.registerDefinitionProvider(k,F))}$registerDeclarationProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=new _.DisposableCollection;for(const L of this.getUniqueLanguages())this.matchLanguage(k,L);this.disposables.set(O,F)}createDefinitionProvider(O,M){return{provideDefinition:async(k,F,L)=>{if(!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k))||!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_DEFINITION),{result:U,_dur:W}=await this.proxy.$provideDefinitionWithDuration(O,k.uri,F,L);if(U)if(B.timeEnd(T(k.uri.fsPath),{extDuration:W}),Array.isArray(U)){const j=[];for(const Q of U)j.push({...Q,uri:s.Uri.revive(Q.uri)});return j}else return{uri:s.Uri.revive(U.uri),range:U.range}}}}$registerTypeDefinitionProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createTypeDefinitionProvider(O,k);this.disposables.set(O,u.monaco.languages.registerTypeDefinitionProvider(k,F))}createTypeDefinitionProvider(O,M){return{provideTypeDefinition:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_TYPE_DEFINITION);return this.proxy.$provideTypeDefinition(O,k.uri,F,L).then(U=>{if(U)if(B.timeEnd(T(k.uri.fsPath)),Array.isArray(U)){const W=[];for(const j of U)W.push({...j,uri:s.Uri.revive(j.uri)});return W}else return{uri:s.Uri.revive(U.uri),range:U.range}})}}}$registerFoldingRangeProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createFoldingRangeProvider(O,F);if(typeof k=="number"){const B=new _.Emitter;this.disposables.set(k,B),L.onDidChange=B.event}this.disposables.set(O,u.monaco.languages.registerFoldingRangeProvider(F,L))}$emitFoldingRangeEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}createFoldingRangeProvider(O,M){return{provideFoldingRanges:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_FOLDING_RANGES);return this.proxy.$provideFoldingRange(O,k.uri,F,L).then(U=>(U&&B.timeEnd(T(k.uri.fsPath)),U))}}}$registerDocumentColorProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createColorProvider(O,k);this.disposables.set(O,u.monaco.languages.registerColorProvider(k,F))}createColorProvider(O,M){return{provideDocumentColors:(k,F)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const L=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_COLORS);return this.proxy.$provideDocumentColors(O,k.uri,F).then(B=>(L.timeEnd(T(k.uri.fsPath)),B.map(U=>{const[W,j,Q,G]=U.color;return{color:{red:W,green:j,blue:Q,alpha:G},range:U.range}})))},provideColorPresentations:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_COLOR_PRESENTATIONS);return this.proxy.$provideColorPresentations(O,k.uri,{color:[F.color.red,F.color.green,F.color.blue,F.color.alpha],range:F.range},L).then(U=>(U&&B.timeEnd(T(k.uri.fsPath)),U))}}}$registerDocumentHighlightProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createDocumentHighlightProvider(O,k);this.disposables.set(O,u.monaco.languages.registerDocumentHighlightProvider(k,F))}createDocumentHighlightProvider(O,M){return{provideDocumentHighlights:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_HIGHLIGHTS);return this.proxy.$provideDocumentHighlights(O,k.uri,F,L).then(U=>{if(U&&Array.isArray(U)){B.timeEnd(T(k.uri.fsPath));const W=[];for(const j of U)W.push({...j,kind:j.kind!==void 0?j.kind:s.languages.DocumentHighlightKind.Text});return W}})}}}$registerDocumentFormattingProvider(O,M,k){const F=(0,A.fromLanguageSelector)(k);if(!F)return;const L=this.createDocumentFormattingEditProvider(O,M,F);this.disposables.set(O,u.monaco.languages.registerDocumentFormattingEditProvider(F,L))}createDocumentFormattingEditProvider(O,M,k){return{displayName:M.displayName,extensionId:M.id,provideDocumentFormattingEdits:async(F,L)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(k,b.MonacoModelIdentifier.fromModel(F)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_FORMATTING_EDITS);return this.proxy.$provideDocumentFormattingEdits(O,F.uri,L).then(U=>{if(B.timeEnd(T(F.uri.fsPath)),!!U)return U})}}}$registerRangeFormattingProvider(O,M,k){const F=(0,A.fromLanguageSelector)(k);if(!F)return;const L=this.createDocumentRangeFormattingEditProvider(O,M,F);this.disposables.set(O,u.monaco.languages.registerDocumentRangeFormattingEditProvider(F,L))}createDocumentRangeFormattingEditProvider(O,M,k){return{displayName:M.displayName,extensionId:M.id,provideDocumentRangeFormattingEdits:async(F,L,B)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(k,b.MonacoModelIdentifier.fromModel(F)))return;const U=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_RANGE_FORMATTING_EDITS);return this.proxy.$provideDocumentRangeFormattingEdits(O,F.uri,L,B).then(W=>{if(U.timeEnd(T(F.uri.fsPath)),!!W)return W})}}}$registerOnTypeFormattingProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createOnTypeFormattingProvider(O,F,k);this.disposables.set(O,u.monaco.languages.registerOnTypeFormattingEditProvider(F,L))}createOnTypeFormattingProvider(O,M,k){return{autoFormatTriggerCharacters:k,provideOnTypeFormattingEdits:async(F,L,B,U)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return;const W=this.reporter.time(_.REPORT_NAME.PROVIDE_ON_TYPE_FORMATTING_EDITS);return this.proxy.$provideOnTypeFormattingEditsWithDuration(O,F.uri,L,B,U).then(({result:j,_dur:Q})=>(j&&W.timeEnd(T(F.uri.fsPath),{extDuration:Q}),j))}}}$registerCodeLensSupport(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createCodeLensProvider(O,F);if(typeof k=="number"){const B=new _.Emitter;this.disposables.set(k,B),L.onDidChange=B.event}this.disposables.set(O,u.monaco.languages.registerCodeLensProvider(F,L))}createCodeLensProvider(O,M){return{provideCodeLenses:(k,F)=>{if(!this.isLanguageFeatureEnabled(k))return;const L=this.reporter.time(_.REPORT_NAME.PROVIDE_CODE_LENSES);return this.proxy.$provideCodeLenses(O,k.uri,F).then(B=>(B&&L.timeEnd(T(k.uri.fsPath)),{lenses:B?.lenses||[],dispose:()=>B?.cacheId&&this.proxy.$releaseCodeLens(O,B.cacheId)}))},resolveCodeLens:async(k,F,L)=>{if(this.isLanguageFeatureEnabled(k))return this.reporter.point(_.REPORT_NAME.RESOLVE_CODE_LENS),this.proxy.$resolveCodeLens(O,F,L).then(B=>B)}}}$emitCodeLensEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}$clearDiagnostics(O){this.markerManager.clearMarkers(O)}$changeDiagnostics(O,M){for(const[k,F]of M)this.markerManager.updateMarkers(O,k,F)}$registerImplementationProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createImplementationProvider(O,k);this.disposables.set(O,u.monaco.languages.registerImplementationProvider(k,F))}$registerDocumentLinkProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createLinkProvider(O,k);this.disposables.set(O,u.monaco.languages.registerLinkProvider(F,L))}createImplementationProvider(O,M){return{provideImplementation:(k,F,L)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_IMPLEMENTATION);return this.proxy.$provideImplementationWithDuration(O,k.uri,F).then(({result:U,_dur:W})=>{if(U)if(B.timeEnd(T(k.uri.fsPath),{extDuration:W}),Array.isArray(U)){const j=[];for(const Q of U)j.push({...Q,uri:s.Uri.revive(Q.uri)});return j}else return{uri:s.Uri.revive(U.uri),range:U.range}})}}}$registerQuickFixProvider(O,M,k,F,L){const B=(0,A.fromLanguageSelector)(M);if(!B)return;const U=this.createQuickFixProvider(O,B,k,F,L);this.disposables.set(O,c.languageFeaturesService.codeActionProvider.register(B,U))}createQuickFixProvider(O,M,k,F,L){const B={provideCodeActions:async(U,W,j,Q)=>{if(!this.isLanguageFeatureEnabled(U)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(U)))return;const G=this.reporter.time(_.REPORT_NAME.PROVIDE_CODE_ACTIONS),Z=await this.proxy.$provideCodeActions(O,U.uri,W,j,Q).then($=>(G.timeEnd(T(U.uri.fsPath)),$));if(Z)return{actions:this._reviveCodeActionDto(Z.actions),dispose:()=>{typeof Z.cacheId=="number"&&this.proxy.$releaseCodeActions(O,Z.cacheId)}}},documentation:k.documentation,providedCodeActionKinds:k.providedKinds,displayName:F};return L&&(B.resolveCodeAction=async(U,W)=>{const j=await this.proxy.$resolveCodeAction(O,U.cacheId,W);return U.edit=this.reviveWorkspaceEditDto(j),U}),B}createLinkProvider(O,M){const k={provideLinks:(F,L)=>{if(!this.isLanguageFeatureEnabled(F))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_LINKS);return this.proxy.$provideDocumentLinks(O,F.uri,L).then(U=>U?(B.timeEnd(T(F.uri.fsPath)),{links:U.links.map(j=>this.reviveLink(j)),dispose:()=>{U.id&&this.proxy.$releaseDocumentLinks(O,U.id)}}):void 0)}};return M&&(k.resolveLink=(F,L)=>{const B=F;return B.cacheId?this.proxy.$resolveDocumentLink(O,B.cacheId,L).then(U=>{if(U)return this.reviveLink(U)}):F}),k}reviveLink(O){return O.url&&typeof O.url!="string"&&(O.url=_.URI.revive(O.url)),O}$setLanguageConfiguration(O,M,k){const F={comments:k.comments,brackets:k.brackets,wordPattern:(0,I.reviveRegExp)(k.wordPattern),indentationRules:(0,I.reviveIndentationRule)(k.indentationRules),onEnterRules:(0,I.reviveOnEnterRules)(k.onEnterRules),autoClosingPairs:k.autoClosingPairs};this.disposables.set(O,u.monaco.languages.setLanguageConfiguration(M,F))}$registerReferenceProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createReferenceProvider(O,k);this.disposables.set(O,u.monaco.languages.registerReferenceProvider(k,F))}createReferenceProvider(O,M){return{provideReferences:(k,F,L,B)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const U=this.reporter.time(_.REPORT_NAME.PROVIDE_REFERENCES);return this.proxy.$provideReferencesWithDuration(O,k.uri,F,L,B).then(({result:W,_dur:j})=>{if(W&&Array.isArray(W)){U.timeEnd(T(k.uri.fsPath),{extDuration:j});const Q=[];for(const G of W)Q.push({...G,uri:s.Uri.revive(G.uri)});return Q}})}}}$registerWorkspaceSymbolProvider(O){const M=this.createWorkspaceSymbolProvider(O);this.disposables.set(O,this.languageService.registerWorkspaceSymbolProvider(M))}createWorkspaceSymbolProvider(O){return{provideWorkspaceSymbols:(M,k)=>this.proxy.$provideWorkspaceSymbols(O,M.query,k),resolveWorkspaceSymbol:(M,k)=>this.proxy.$resolveWorkspaceSymbol(O,M,k)}}$registerOutlineSupport(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createDocumentSymbolProvider(O,k);this.disposables.set(O,u.monaco.languages.registerDocumentSymbolProvider(k,F))}createDocumentSymbolProvider(O,M){return{provideDocumentSymbols:(k,F)=>{if(!this.isLanguageFeatureEnabled(k))return;const L=this.reporter.time(_.REPORT_NAME.PROVIDE_DOCUMENT_SYMBOLS);return this.proxy.$provideDocumentSymbols(O,k.uri,F).then(B=>(B&&L.timeEnd(T(k.uri.fsPath)),B))}}}$registerSignatureHelpProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createSignatureHelpProvider(O,F,k);this.disposables.set(O,u.monaco.languages.registerSignatureHelpProvider(F,L))}createSignatureHelpProvider(O,M,k){return{signatureHelpTriggerCharacters:k.triggerCharacters,signatureHelpRetriggerCharacters:k.retriggerCharacters,provideSignatureHelp:(F,L,B,U)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return;const W=this.reporter.time(_.REPORT_NAME.PROVIDE_SIGNATURE_HELP);return this.proxy.$provideSignatureHelp(O,F.uri,L,U,B).then(j=>{if(j)return W.timeEnd(T(F.uri.fsPath)),{value:j,dispose:()=>j.id&&this.proxy.$releaseSignatureHelp(O,j.id)}})}}}$registerRenameProvider(O,M,k){const F=(0,A.fromLanguageSelector)(M);if(!F)return;const L=this.createRenameProvider(O,F,k);this.disposables.set(O,u.monaco.languages.registerRenameProvider(F,L))}createRenameProvider(O,M,k){return{provideRenameEdits:(F,L,B,U)=>{if(!this.isLanguageFeatureEnabled(F)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return;const W=this.reporter.time(_.REPORT_NAME.PROVIDE_RENAME_EDITS);return this.proxy.$provideRenameEdits(O,F.uri,L,B,U).then(j=>(j&&W.timeEnd(T(F.uri.fsPath)),this.reviveWorkspaceEditDto(j)))},resolveRenameLocation:k?(F,L,B)=>{if(this.isLanguageFeatureEnabled(F)&&this.matchModel(M,b.MonacoModelIdentifier.fromModel(F)))return this.proxy.$resolveRenameLocation(O,F.uri,L,B).then(U=>U)}:void 0}}createNewSymbolNamesProvider(O,M){return{provideNewSymbolNames:(k,F,L,B)=>{if(!this.isLanguageFeatureEnabled(k)||!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k)))return;const U=this.reporter.time(_.REPORT_NAME.PROVIDE_NEW_SYMBOL_NAMES);return this.proxy.$provideNewSymbolNames(O,k.uri,F,L,B).then(W=>(W&&U.timeEnd(T(k.uri.fsPath)),W))}}}$registerNewSymbolNamesProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createNewSymbolNamesProvider(O,k);this.disposables.set(O,u.monaco.languages.registerNewSymbolNameProvider(k,F))}reviveWorkspaceEditDto(O){if(O&&O.edits)for(const M of O.edits)typeof M.resource=="object"?M.resource=s.Uri.revive(M.resource):(M.newResource=s.Uri.revive(M.newResource),M.oldResource=s.Uri.revive(M.oldResource));return O}$registerSelectionRangeProvider(O,M){const k=(0,A.fromLanguageSelector)(M);if(!k)return;const F=this.createSelectionProvider(O,k);this.disposables.set(O,u.monaco.languages.registerSelectionRangeProvider(k,F))}createSelectionProvider(O,M){return{provideSelectionRanges:(k,F,L)=>{if(!this.matchModel(M,b.MonacoModelIdentifier.fromModel(k))||!this.isLanguageFeatureEnabled(k))return;const B=this.reporter.time(_.REPORT_NAME.PROVIDE_SELECTION_RANGES);return this.proxy.$provideSelectionRanges(O,k.uri,F,L).then(U=>(B.timeEnd(T(k.uri.fsPath)),U))}}}$registerCallHierarchyProvider(O,M){const k=(0,A.fromLanguageSelector)(M),F=this.createCallHierarchyProvider(O,k);this.callHierarchyService.registerCallHierarchyProvider(M,F)}reviveCallHierarchyItemDto(O){return O&&(O.uri=_.URI.revive(O.uri)),O}createCallHierarchyProvider(O,M){return{prepareCallHierarchy:async(k,F,L)=>{const B=await this.proxy.$prepareCallHierarchy(O,k.uri,F,L);if(B)return{dispose:()=>{for(const U of B)this.proxy.$releaseCallHierarchy(O,U._sessionId)},roots:B.map(this.reviveCallHierarchyItemDto)}},provideOutgoingCalls:async(k,F)=>{const L=await this.proxy.$provideCallHierarchyOutgoingCalls(O,k._sessionId,k._itemId,F);return L&&(L.forEach(B=>{B.to=this.reviveCallHierarchyItemDto(B.to)}),L)},provideIncomingCalls:async(k,F)=>{const L=await this.proxy.$provideCallHierarchyIncomingCalls(O,k._sessionId,k._itemId,F);return L&&(L.forEach(B=>{B.from=this.reviveCallHierarchyItemDto(B.from)}),L)}}}$registerTypeHierarchyProvider(O,M){const k=(0,A.fromLanguageSelector)(M),F=this.createTypeHierarchyProvider(O,k);this.typeHierarchyService.registerTypeHierarchyProvider(M,F)}createTypeHierarchyProvider(O,M){return{prepareTypeHierarchy:async(k,F,L)=>{const B=await this.proxy.$prepareTypeHierarchy(O,k.uri,F,L);if(B)return{dispose:()=>{for(const U of B)this.proxy.$releaseTypeHierarchy(O,U._sessionId)},roots:B.map(this.reviveTypeHierarchyItemDto)}},provideSupertypes:async(k,F)=>{const L=await this.proxy.$provideTypeHierarchySupertypes(O,k._sessionId,k._itemId,F);return L&&L.map(this.reviveTypeHierarchyItemDto)},provideSubtypes:async(k,F)=>{const L=await this.proxy.$provideTypeHierarchySubtypes(O,k._sessionId,k._itemId,F);return L&&L.map(this.reviveTypeHierarchyItemDto)}}}reviveTypeHierarchyItemDto(O){return O&&(O.uri=_.URI.revive(O.uri)),O}$registerDocumentSemanticTokensProvider(O,M,k){const F=new w.DocumentSemanticTokensProvider(this.proxy,O,k);this.disposables.set(O,c.languageFeaturesService.documentSemanticTokensProvider.register((0,A.fromLanguageSelector)(M),F))}$registerDocumentRangeSemanticTokensProvider(O,M,k){const F=new w.DocumentRangeSemanticTokensProviderImpl(this.proxy,O,k);this.disposables.set(O,c.languageFeaturesService.documentRangeSemanticTokensProvider.register((0,A.fromLanguageSelector)(M),F))}$registerEvaluatableExpressionProvider(O,M){const k={provideEvaluatableExpression:(F,L,B)=>this.proxy.$provideEvaluatableExpression(O,F.uri,L,B)};this.disposables.set(O,this.evaluatableExpressionService.registerEvaluatableExpressionProvider(M,k))}$registerInlineValuesProvider(O,M,k){const F={provideInlineValues:(L,B,U,W)=>this.proxy.$provideInlineValues(O,L.uri,B,U,W)};if(typeof k=="number"){const L=new _.Emitter;this.disposables.set(k,L),F.onDidChangeInlineValues=L.event}this.disposables.set(O,c.languageFeaturesService.inlineValuesProvider.register(M,F))}$emitInlineValuesEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}$registerLinkedEditingRangeProvider(O,M){const k=(0,A.fromLanguageSelector)(M);c.languageFeaturesService.linkedEditingRangeProvider.register(k,{provideLinkedEditingRanges:async(F,L,B)=>{const U=await this.proxy.$provideLinkedEditingRanges(O,F.uri,L,B);if(U)return{ranges:U.ranges,wordPattern:U.wordPattern?(0,I.reviveRegExp)(U.wordPattern):void 0}}})}$registerInlayHintsProvider(O,M,k,F){const L={provideInlayHints:async(B,U,W)=>{const j=await this.proxy.$provideInlayHints(O,B.uri,U,W);if(j)return{hints:(0,_.revive)(j?.hints),dispose:()=>{j.cacheId&&this.proxy.$releaseInlayHints(O,j.cacheId)}}}};if(k&&(L.resolveInlayHint=async(B,U)=>{const W=B;if(!W.cacheId)return B;const j=await this.proxy.$resolveInlayHint(O,W.cacheId,U);if(U.isCancellationRequested)throw new S.CancellationError;return j?{...B,tooltip:j.tooltip,label:(0,_.revive)(j.label)}:B}),typeof F=="number"){const B=new _.Emitter;this.disposables.set(F,B),L.onDidChangeInlayHints=B.event}this.disposables.set(O,c.languageFeaturesService.inlayHintsProvider.register(M,L))}$emitInlayHintsEvent(O,M){const k=this.disposables.get(O);k instanceof _.Emitter&&k.fire(M)}$setLanguageStatus(O,M){var k;(k=this._status.get(O))===null||k===void 0||k.dispose(),this._status.set(O,this.languageStatusService.addStatus(M))}$removeLanguageStatus(O){var M;(M=this._status.get(O))===null||M===void 0||M.dispose()}};t.MainThreadLanguages=R,n.__decorate([(0,r.Autowired)(_.MarkerManager),n.__metadata("design:type",_.MarkerManager)],R.prototype,"markerManager",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],R.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(l.IReporterService),n.__metadata("design:type",Object)],R.prototype,"reporter",void 0),n.__decorate([(0,r.Autowired)(m.ILanguageService),n.__metadata("design:type",Object)],R.prototype,"languageService",void 0),n.__decorate([(0,r.Autowired)(g.ICallHierarchyService),n.__metadata("design:type",Object)],R.prototype,"callHierarchyService",void 0),n.__decorate([(0,r.Autowired)(h.ITypeHierarchyService),n.__metadata("design:type",Object)],R.prototype,"typeHierarchyService",void 0),n.__decorate([(0,r.Autowired)(v.IEvaluatableExpressionService),n.__metadata("design:type",Object)],R.prototype,"evaluatableExpressionService",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],R.prototype,"documentModelManager",void 0),n.__decorate([(0,r.Autowired)(p.ILanguageStatusService),n.__metadata("design:type",Object)],R.prototype,"languageStatusService",void 0),n.__decorate([(0,r.Autowired)(a.ITextmateTokenizer),n.__metadata("design:type",Object)],R.prototype,"textmateService",void 0),t.MainThreadLanguages=R=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],R)},977:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadLocalization=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(14951),v=e(99220),m=e(46147),p=e(51328);let s=class{constructor(a){this.rpcProtocol=a,this.proxy=this.rpcProtocol.getProxy(m.ExtHostAPIIdentifier.ExtHostLocalization),this.currentLanguage=this.preferenceService.get("general.language","en").toLocaleLowerCase(),this.proxy.$setCurrentLanguage(this.currentLanguage)}async $fetchBuiltInBundleUri(a,h){try{const u=await this.extensionNodeClient.getLanguagePack(h||this.currentLanguage);return u&&u.translations[a]?p.Uri.file(u.translations[a]):void 0}catch{return}}async $fetchBundleContents(a){return(await this.fileService.readFile(p.Uri.revive(a).fsPath.toString())).content.toString()}};t.MainThreadLocalization=s,n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],s.prototype,"extensionNodeClient",void 0),t.MainThreadLocalization=s=n.__decorate([n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],s)},43404:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadExtensionLog=void 0,t.createExtensionLogFactory=v;const n=e(85608),r=e(76003),o=e(43718),l=e(71742);let _=class{$getLevel(){return this.logger.getLevel()}$setLevel(p){return this.logger.setLevel(p)}async $verbose(...p){return this.logger.verbose(...p)}async $debug(...p){return this.logger.debug(...p)}async $log(...p){return this.logger.log(...p)}async $warn(...p){return this.logger.warn(...p)}async $error(...p){return this.logger.error(...p)}async $critical(...p){return this.logger.critical(...p)}$dispose(){return this.logger.dispose()}};t.MainThreadExtensionLog=_,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),t.MainThreadExtensionLog=_=n.__decorate([(0,r.Injectable)()],_);function v(m,p){m.set(l.MainThreadExtensionLogIdentifier,p.get(_))}},48721:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadMessage=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(72665),_=e(46147);let v=class{constructor(p){this.rpcProtocol=p,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostMessage)}dispose(){}async $showMessage(p,s,g,a,h){const u=g.modal?await this.dialogService.open({message:s,type:p,buttons:a,options:g}):await this.messageService.open({message:s,type:p,buttons:a,closable:!0,from:h});return u?a.indexOf(u):void 0}};t.MainThreadMessage=v,n.__decorate([(0,r.Autowired)(l.IDialogService),n.__metadata("design:type",Object)],v.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(l.IMessageService),n.__metadata("design:type",Object)],v.prototype,"messageService",void 0),t.MainThreadMessage=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],v)},62909:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadExtensionNotebook=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(54414),v=e(46147);let m=class extends l.WithEventBus{constructor(s){super(),this.rpcProtocol=s,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostNotebook),this.docProxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostDocuments),this.listen()}listen(){this.addDispose(this.notebookService.onDidOpenNotebookDocument(s=>{this.proxy.$acceptDocumentAndEditorsDelta({addedDocuments:[s]})})),this.addDispose(this.notebookService.onDidCloseNotebookDocument(s=>{this.proxy.$acceptDocumentAndEditorsDelta({removedDocuments:[s]})})),this.addDispose(this.notebookService.onDidChangeNotebookDocument(s=>{this.proxy.$acceptModelChanged(s.uri,s.event,s.isDirty,s.metadata)})),this.addDispose(this.notebookService.onDidSaveNotebookDocument(s=>{this.proxy.$acceptModelSaved(s)}))}async $tryCreateNotebook(s){return(await this.notebookService.createNotebook(s.content)).uri}async $tryOpenNotebook(s){return(await this.notebookService.openNotebook(s)).uri}async $trySaveNotebook(s){return await this.notebookService.saveNotebook(s)}};t.MainThreadExtensionNotebook=m,n.__decorate([(0,r.Autowired)(_.INotebookService),n.__metadata("design:type",Object)],m.prototype,"notebookService",void 0),t.MainThreadExtensionNotebook=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},39261:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadOutput=void 0;const n=e(85608),r=e(76003),o=e(63067),l=e(83145);let _=class{constructor(){this.channels=new Map}dispose(){this.channels.forEach(m=>{this.outputService.deleteChannel(m.name)}),this.channels.clear()}$replace(m,p){const s=this.getChannel(m);return s&&(s.clear(),s.append(p)),Promise.resolve()}$append(m,p){const s=this.getChannel(m);return s&&s.append(p),Promise.resolve()}$appendLine(m,p){const s=this.getChannel(m);return s&&s.appendLine(p),Promise.resolve()}$clear(m){const p=this.getChannel(m);return p&&p.clear(),Promise.resolve()}$dispose(m){return this.outputService.deleteChannel(m),this.channels.has(m)&&this.channels.delete(m),Promise.resolve()}async $reveal(m,p){const s=this.getChannel(m);s&&(s.setVisibility(!0),this.outputService.updateSelectedChannel(s))}$close(m){const p=this.getChannel(m);return p&&p.setVisibility(!1),Promise.resolve()}getChannel(m){let p;return this.channels.has(m)?p=this.channels.get(m):(p=this.outputService.getChannel(m),this.channels.set(m,p)),p}async $setLanguageId(m,p){const s=this.getChannel(m);s&&await s.setLanguageId(p)}};t.MainThreadOutput=_,n.__decorate([(0,r.Autowired)(l.OutputService),n.__metadata("design:type",l.OutputService)],_.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(o.IMainLayoutService),n.__metadata("design:type",Object)],_.prototype,"layoutService",void 0),t.MainThreadOutput=_=n.__decorate([(0,r.Injectable)({multiple:!0})],_)},87781:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadPreference=void 0,t.getPreferences=m;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(51500),v=e(46147);function m(s,g){const a=g.map(h=>h.uri.toString());return l.PreferenceScope.getScopes().reduce((h,u)=>{h[u]={};const c=s(u);if(u===l.PreferenceScope.Folder)for(const E of a){const f=c.getPreferences(E);h[u][E]=f}else{h[u]=c.getPreferences();const E=c.getLanguagePreferences();E&&Object.keys(E).forEach(f=>{h[u][`[${f}]`]=E[f]})}return h},{})}let p=class{constructor(g){this.rpcProtocol=g,this.toDispose=new l.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostPreference),this.toDispose.push(this.preferenceService.onPreferencesChanged(a=>{const h=this.workspaceService.tryGetRoots(),u=m(this.preferenceProviderProvider,h),c=[];for(const E of Object.keys(a)){const{newValue:f}=a[E];c.push({preferenceName:E,newValue:f})}this.proxy.$acceptConfigurationChanged(u,c)})),this.initializeConfiguration(),this.toDispose.push(this.preferenceSchemaProvider.onDidPreferenceSchemaChanged(()=>{this.initializeConfiguration()}))}dispose(){this.toDispose.dispose()}async initializeConfiguration(){const g=this.workspaceService.tryGetRoots(),a=m(this.preferenceProviderProvider,g);this.proxy.$initializeConfiguration(a)}async $updateConfigurationOption(g,a,h,u){const c=this.parseConfigurationTarget(g);await this.preferenceService.set(a,h,c,u)}async $removeConfigurationOption(g,a,h){const u=this.parseConfigurationTarget(g);await this.preferenceService.set(a,void 0,u,h)}parseConfigurationTarget(g){if(typeof g=="boolean")return g?l.PreferenceScope.User:l.PreferenceScope.Workspace;switch(g){case v.ConfigurationTarget.Global:return l.PreferenceScope.User;case v.ConfigurationTarget.Workspace:return l.PreferenceScope.Workspace;case v.ConfigurationTarget.WorkspaceFolder:return l.PreferenceScope.Folder;default:return}}};t.MainThreadPreference=p,n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceProviderProvider),n.__metadata("design:type",Function)],p.prototype,"preferenceProviderProvider",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],p.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(_.IWorkspaceService),n.__metadata("design:type",Object)],p.prototype,"workspaceService",void 0),t.MainThreadPreference=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],p)},79813:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadQuickOpen=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(8919),_=e(41869),v=e(74404),m=e(97821),p=e(78245),s=e(50426),g=e(44854),a=e(46147);let h=class extends _.Disposable{constructor(c){super(),this.rpcProtocol=c,this.createdInputBox=new Map,this.proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostQuickOpen),this.addDispose([this.quickTitleBarService.onDidTriggerButton(E=>{this.proxy.$onDidTriggerButton(E.handler)}),this.quickOpenItemService.onDidTriggerItemButton(({item:E,button:f})=>{f.handle!==void 0&&this.proxy.$onDidTriggerItemButton(E.handle,f.handle)})])}$showQuickPick(c,E,f){return this.quickPickService.show(E,{...f,onSelect:(d,y)=>{this.proxy.$onItemSelected(E[y].value)},onChangeValue:d=>{this.proxy.$onDidChangeValue(c,d)}})}$hideQuickPick(){this.quickPickService.hide()}severityToValidateType(c){switch(c){case a.Severity.Info:return o.VALIDATE_TYPE.INFO;case a.Severity.Warning:return o.VALIDATE_TYPE.WARNING;case a.Severity.Error:return o.VALIDATE_TYPE.ERROR;case a.Severity.Ignore:return o.VALIDATE_TYPE.IGNORE;default:return o.VALIDATE_TYPE.ERROR}}$showQuickInput(c,E){return E&&(c.validateInput=async f=>{const d=await this.proxy.$validateInput(f);return d&&(typeof d=="string"?d:{message:d.message,type:this.severityToValidateType(d.severity)})}),this.quickInputService.open(c)}$createOrUpdateInputBox(c,E){const f={...E,validationType:this.severityToValidateType(E?.severity)};if(this.createdInputBox.has(c)){const d=this.createdInputBox.get(c);d?.updateOptions(f)}else{const d=this.injector.get(g.InputBoxImpl,[f]);d.open(),d.onDidChangeValue(y=>{this.proxy.$onCreatedInputBoxDidChangeValue(c,y)}),d.onDidAccept(()=>{this.proxy.$onCreatedInputBoxDidAccept(c)}),d.onDidHide(()=>{this.proxy.$onCreatedInputBoxDidHide(c)}),d.onDidTriggerButton(y=>{this.proxy.$onCreatedInputBoxDidTriggerButton(c,y)}),this.createdInputBox.set(c,d)}}$updateQuickPick(c){this.quickPickService.updateOptions(c)}$hideInputBox(c){if(this.createdInputBox.has(c)){const E=this.createdInputBox.get(c);E?.hide()}}$disposeInputBox(c){if(this.createdInputBox.has(c)){const E=this.createdInputBox.get(c);E?.dispose(),this.createdInputBox.delete(c)}}$hideQuickInput(){this.quickInputService.hide()}};t.MainThreadQuickOpen=h,n.__decorate([(0,r.Autowired)(m.QuickPickService),n.__metadata("design:type",Object)],h.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(v.IQuickInputService),n.__metadata("design:type",Object)],h.prototype,"quickInputService",void 0),n.__decorate([(0,r.Autowired)(s.QuickTitleBar),n.__metadata("design:type",s.QuickTitleBar)],h.prototype,"quickTitleBarService",void 0),n.__decorate([(0,r.Autowired)(p.QuickOpenItemService),n.__metadata("design:type",p.QuickOpenItemService)],h.prototype,"quickOpenItemService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],h.prototype,"injector",void 0),t.MainThreadQuickOpen=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(l.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],h)},33111:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadSCM=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(64964),m=e(46147);class p{get hideWhenEmpty(){return!!this.features.hideWhenEmpty}constructor(f,d,y,b,A,S){this.sourceControlHandle=f,this.handle=d,this.provider=y,this.features=b,this.label=A,this.id=S,this.elements=[],this._onDidSplice=new _.Emitter,this.onDidSplice=this._onDidSplice.event,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event}toJSON(){return{$mid:4,sourceControlHandle:this.sourceControlHandle,groupHandle:this.handle}}splice(f,d,y){if(d===0){const b=[];for(const A of y)this.elements.some(D=>D.sourceUri.toString()===A.sourceUri.toString()&&D.resourceGroup.id===A.resourceGroup.id)||b.push(A);b.length>0&&(this.elements.splice(f,d,...b),this._onDidSplice.fire({start:f,deleteCount:d,toInsert:b}))}else this.elements.splice(f,d,...y),this._onDidSplice.fire({start:f,deleteCount:d,toInsert:y})}$updateGroup(f){this.features=Object.assign(this.features,f),this._onDidChange.fire()}$updateGroupLabel(f){this.label=f,this._onDidChange.fire()}}class s{constructor(f,d,y,b,A,S,D,I,w){this.proxy=f,this.sourceControlHandle=d,this.groupHandle=y,this.handle=b,this.sourceUri=A,this.resourceGroup=S,this.decorations=D,this.contextValue=I,this.command=w}open(f){return this.proxy.$executeResourceCommand(this.sourceControlHandle,this.groupHandle,this.handle,f)}toJSON(){return{$mid:3,sourceControlHandle:this.sourceControlHandle,groupHandle:this.groupHandle,handle:this.handle}}}function g(E){if(E.icon){if(_.Uri.isUri(E.icon))return _.Uri.revive(E.icon);{const f=E.icon;return{light:_.Uri.revive(f.light),dark:_.Uri.revive(f.dark)}}}else return}class a{get actionButton(){return this._actionButton}set actionButton(f){this._actionButton=f,this._onDidChangeActionButton.fire()}get currentHistoryItemGroup(){return this._currentHistoryItemGroup}set currentHistoryItemGroup(f){this._currentHistoryItemGroup=f,this._onDidChangeCurrentHistoryItemGroup.fire()}constructor(f,d){this.proxy=f,this.handle=d,this._onDidChangeActionButton=new _.Emitter,this.onDidChangeActionButton=this._onDidChangeActionButton.event,this._onDidChangeCurrentHistoryItemGroup=new _.Emitter,this.onDidChangeCurrentHistoryItemGroup=this._onDidChangeCurrentHistoryItemGroup.event}async resolveHistoryItemGroupBase(f){return this.proxy.$resolveHistoryItemGroupBase(this.handle,f,_.CancellationToken.None)}async resolveHistoryItemGroupCommonAncestor(f,d){return this.proxy.$resolveHistoryItemGroupCommonAncestor(this.handle,f,d,_.CancellationToken.None)}async provideHistoryItems(f,d){const y=await this.proxy.$provideHistoryItems(this.handle,f,d,_.CancellationToken.None);return y?.map(b=>({...b,icon:g(b)}))}async provideHistoryItemChanges(f){const d=await this.proxy.$provideHistoryItemChanges(this.handle,f,_.CancellationToken.None);return d?.map(y=>({uri:_.Uri.revive(y.uri),originalUri:y.originalUri&&_.Uri.revive(y.originalUri),modifiedUri:y.modifiedUri&&_.Uri.revive(y.modifiedUri),renameUri:y.renameUri&&_.Uri.revive(y.renameUri)}))}}class h{get id(){return this._id}get handle(){return this._handle}get label(){return this._label}get rootUri(){return this._rootUri}get contextValue(){return this._contextValue}get commitTemplate(){return this.features.commitTemplate}get acceptInputCommand(){return this.features.acceptInputCommand}get statusBarCommands(){return this.features.statusBarCommands}get count(){return this.features.count}get actionButton(){return this.features.actionButton}get historyProvider(){return this._historyProvider}get onDidChangeStatusBarCommands(){return this._onDidChangeStatusBarCommands.event}constructor(f,d,y,b,A){this.proxy=f,this._handle=d,this._contextValue=y,this._label=b,this._rootUri=A,this._id=`scm${h.ID_HANDLE++}`,this.groups=new _.Sequence,this._groupsByHandle=Object.create(null),this._onDidChangeResources=new _.Emitter,this.onDidChangeResources=this._onDidChangeResources.event,this.features={},this._onDidChangeCommitTemplate=new _.Emitter,this.onDidChangeCommitTemplate=this._onDidChangeCommitTemplate.event,this._onDidChangeStatusBarCommands=new _.Emitter,this._onDidChangeHistoryProvider=new _.Emitter,this.onDidChangeHistoryProvider=this._onDidChangeHistoryProvider.event,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event}$updateSourceControl(f){this.features=Object.assign(this.features,f),this._onDidChange.fire(),typeof f.commitTemplate<"u"&&this._onDidChangeCommitTemplate.fire(this.commitTemplate),typeof f.statusBarCommands<"u"&&this._onDidChangeStatusBarCommands.fire(this.statusBarCommands),f.hasHistoryProvider&&!this._historyProvider?(this._historyProvider=new a(this.proxy,this.handle),this._onDidChangeHistoryProvider.fire()):f.hasHistoryProvider===!1&&this._historyProvider&&(this._historyProvider=void 0,this._onDidChangeHistoryProvider.fire())}$registerGroup(f,d,y){const b=new p(this.handle,f,this,{},y,d);this._groupsByHandle[f]=b,this.groups.splice(this.groups.elements.length,0,[b])}$updateGroup(f,d){const y=this._groupsByHandle[f];y&&y.$updateGroup(d)}$updateGroupLabel(f,d){const y=this._groupsByHandle[f];y&&y.$updateGroupLabel(d)}$spliceGroupResourceStates(f){for(const[d,y]of f){const b=this._groupsByHandle[d];if(!b){this.logger.warn(`SCM group ${d} not found in provider ${this.label}`);continue}y.reverse();for(const[A,S,D]of y){const I=D.map(w=>{const[T,R,P,O,M,k,F,L]=w,B=P[0],U=P[1]||B,W={icon:B?_.Uri.parse(B):void 0,iconDark:U?_.Uri.parse(U):void 0,tooltip:O,strikeThrough:M,faded:k};return new s(this.proxy,this.handle,d,T,_.Uri.revive(R),b,W,F||void 0,L)});b.splice(A,S,I)}}this._onDidChangeResources.fire()}$unregisterGroup(f){const d=this._groupsByHandle[f];d&&(delete this._groupsByHandle[f],this.groups.splice(this.groups.elements.indexOf(d),1),this._onDidChangeResources.fire())}$onDidChangeHistoryProviderActionButton(f){this._historyProvider&&(this._historyProvider.actionButton=f??void 0)}$onDidChangeHistoryProviderCurrentHistoryItemGroup(f){this._historyProvider&&(this._historyProvider.currentHistoryItemGroup=f??void 0)}async getOriginalResource(f){if(!this.features.hasQuickDiffProvider)return null;const d=await this.proxy.$provideOriginalResource(this.handle,f,_.CancellationToken.None);return d&&_.Uri.revive(d)}toJSON(){return{$mid:5,handle:this.handle}}dispose(){}}h.ID_HANDLE=0,n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0);let u=class extends _.Disposable{constructor(f){super(),this.rpcProtocol=f,this._repositories=new Map,this._inputDisposables=new Map,this._proxy=this.rpcProtocol.getProxy(m.ExtHostAPIIdentifier.ExtHostSCM),_.Event.debounce(this.scmService.onDidChangeSelectedRepositories,(d,y)=>y,100)(this.onDidChangeSelectedRepositories,this,this.disposables)}dispose(){this._repositories.forEach(f=>f.dispose()),this._repositories.clear(),this._inputDisposables.forEach(f=>f.dispose()),this._inputDisposables.clear(),super.dispose()}$registerSourceControl(f,d,y,b){const A=new h(this._proxy,f,d,y,b&&_.Uri.revive(b)),S=this.scmService.registerSCMProvider(A);this._repositories.set(f,S);const D=S.input.onDidChange(I=>this._proxy.$onInputBoxValueChange(f,I));this._inputDisposables.set(f,D),this.addDispose(_.Disposable.create(()=>{this.$unregisterSourceControl(f)}))}$updateSourceControl(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$updateSourceControl(d)}$unregisterSourceControl(f){const d=this._repositories.get(f);d&&(this._inputDisposables.get(f).dispose(),this._inputDisposables.delete(f),d.dispose(),this._repositories.delete(f))}$registerGroup(f,d,y,b){const A=this._repositories.get(f);if(!A)return;const S=A.provider;S.$registerGroup(d,y,b),this.addDispose(_.Disposable.create(()=>{S.$unregisterGroup(d)}))}$updateGroup(f,d,y){const b=this._repositories.get(f);if(!b)return;b.provider.$updateGroup(d,y)}$updateGroupLabel(f,d,y){const b=this._repositories.get(f);if(!b)return;b.provider.$updateGroupLabel(d,y)}$spliceResourceStates(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$spliceGroupResourceStates(d)}$unregisterGroup(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$unregisterGroup(d)}$setInputBoxValue(f,d){const y=this._repositories.get(f);y&&(y.input.value=d)}$setInputBoxPlaceholder(f,d){const y=this._repositories.get(f);y&&(y.input.placeholder=d)}$setInputBoxEnablement(f,d){const y=this._repositories.get(f);y&&(y.input.enabled=d)}$setInputBoxVisibility(f,d){const y=this._repositories.get(f);y&&(y.input.visible=d)}$setValidationProviderIsEnabled(f,d){const y=this._repositories.get(f);y&&(d?y.input.validateInput=async(b,A)=>{const S=await this._proxy.$validateInput(f,b,A);return S&&{message:S[0],type:S[1]}}:y.input.validateInput=async()=>{})}$onDidChangeHistoryProviderActionButton(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$onDidChangeHistoryProviderActionButton(d)}$onDidChangeHistoryProviderCurrentHistoryItemGroup(f,d){const y=this._repositories.get(f);if(!y)return;y.provider.$onDidChangeHistoryProviderCurrentHistoryItemGroup(d)}$setInputBoxActionButton(f,d){const y=this._repositories.get(f);y&&(y.input.actionButton=d?{...d,icon:c(d)}:void 0)}onDidChangeSelectedRepositories(f){const d=f.filter(y=>y.provider instanceof h).map(y=>y.provider.handle);this._proxy.$setSelectedSourceControls(d)}};t.MainThreadSCM=u,n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],u.prototype,"scmService",void 0),t.MainThreadSCM=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],u);function c(E){if(E.icon){if(_.Uri.isUri(E.icon))return _.Uri.revive(E.icon);{const f=E.icon;return{light:_.Uri.revive(f.light),dark:_.Uri.revive(f.dark)}}}else return}},62876:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadSecret=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(46147);let m=class extends l.Disposable{constructor(s){super(),this._proxy=s.getProxy(v.ExtHostAPIIdentifier.ExtHostSecret),this.addDispose(this.credentialsService.onDidChangePassword(g=>{const a=g.service.substring(this.appConfig.uriScheme.length);this._proxy.$onDidChangePassword({extensionId:a,key:g.account})}))}getFullKey(s){return`${this.appConfig.uriScheme}${s}`}async $getPassword(s,g){const a=this.getFullKey(s),h=await this.credentialsService.getPassword(a,g),u=h&&await this.cryptoService.decrypt(h);if(u)try{const c=JSON.parse(u);if(c.extensionId===s)return c.content}catch{throw new Error("Cannot get password")}}async $setPassword(s,g,a){const h=this.getFullKey(s),u=JSON.stringify({extensionId:s,content:a}),c=await this.cryptoService.encrypt(u);return this.credentialsService.setPassword(h,g,c)}async $deletePassword(s,g){try{const a=this.getFullKey(s);await this.credentialsService.deletePassword(a,g)}catch{throw new Error("Cannot delete password")}}};t.MainThreadSecret=m,n.__decorate([(0,r.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(l.ICredentialsService),n.__metadata("design:type",Object)],m.prototype,"credentialsService",void 0),n.__decorate([(0,r.Autowired)(_.ICryptoService),n.__metadata("design:type",Object)],m.prototype,"cryptoService",void 0),t.MainThreadSecret=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},93633:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadStatusBar=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(26542),v=e(71298),m=e(46147),p=n.__importStar(e(51328));let s=class{constructor(a){this.rpcProtocol=a,this.disposable=new l.Disposable,this.proxy=this.rpcProtocol.getProxy(m.ExtHostAPIIdentifier.ExtHostStatusBar)}dispose(){this.disposable.dispose()}$setStatusBarMessage(a){this.disposable.addDispose(this.statusBar.addElement("ext_default_statusbar_text",{text:a,alignment:_.StatusBarAlignment.LEFT}))}$dispose(a){a?this.statusBar.removeElement(a):this.statusBar.removeElement("ext_default_statusbar_text")}$createStatusBarItem(a,h,u,c){this.disposable.addDispose(this.statusBar.addElement(a,{id:h,alignment:u,priority:c}))}async $setMessage(a,h,u,c,E,f,d,y,b,A,S,D){const I=A?.label||(0,v.getCodiconAriaLabel)(c),w={id:h,name:u,text:c||"",priority:E,alignment:f===p.StatusBarAlignment.Left?_.StatusBarAlignment.LEFT:_.StatusBarAlignment.RIGHT,color:d,backgroundColor:y,tooltip:b,command:S,arguments:D,role:A?.role,ariaLabel:I};this.disposable.addDispose(this.statusBar.addElement(a,w))}};t.MainThreadStatusBar=s,n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(_.IStatusBarService),n.__metadata("design:type",Object)],s.prototype,"statusBar",void 0),t.MainThreadStatusBar=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],s)},49731:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadStorage=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(50492),_=e(46147);let v=class{constructor(p){this.rpcProtocol=p,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostStorage),this.init()}dispose(){}async init(){await this.extensionStorageService.whenReady,this.proxy.$acceptStoragePath(this.extensionStorageService.extensionStoragePath)}$setValue(p,s,g){try{this.extensionStorageService.set(s,g,p)}catch(a){return Promise.reject(a)}return Promise.resolve(void 0)}$getValue(p,s){try{return Promise.resolve(this.extensionStorageService.get(s,p))}catch(g){return Promise.reject(g)}}};t.MainThreadStorage=v,n.__decorate([(0,r.Autowired)(l.IExtensionStorageService),n.__metadata("design:type",Object)],v.prototype,"extensionStorageService",void 0),t.MainThreadStorage=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],v)},24060:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTasks=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(43718),_=e(93950),v=e(1041),m=e(51500),p=e(46147),s=e(54741);var g;(function(R){function P(O){const M=O;return M&&(0,l.isString)(M.id)&&!!M.workspaceFolder}R.is=P})(g||(g={}));var a;(function(R){function P(O){return{id:O.id,task:w.from(O.task)}}R.from=P})(a||(a={}));var h;(function(R){function P(O,M){return{id:O.id,processId:M}}R.from=P})(h||(h={}));var u;(function(R){function P(O,M){return{id:O.id,exitCode:M}}R.from=P})(u||(u={}));var c;(function(R){function P(M){const k=Object.assign(Object.create(null),M);return delete k._key,k}R.from=P;function O(M,k,F){let L=F.createTaskIdentifier(M,console);return L===void 0&&k&&(L={_key:(0,l.uuid)(),type:"$executeOnly"}),L}R.to=O})(c||(c={}));var E;(function(R){function P(M){if(M!=null)return Object.assign(Object.create(null),M)}R.from=P;function O(M){return M==null?v.PresentationOptions.defaults:Object.assign(Object.create(null),v.PresentationOptions.defaults,M)}R.to=O})(E||(E={}));var f;(function(R){function P(M){if(M!=null)return Object.assign(Object.create(null),M)}R.from=P;function O(M){return M==null?v.RunOptions.defaults:Object.assign(Object.create(null),v.RunOptions.defaults,M)}R.to=O})(f||(f={}));var d;(function(R){function P(M){if(M!=null)return{cwd:M.cwd,env:M.env}}R.from=P;function O(M){return M==null?v.CommandOptions.defaults:{cwd:M.cwd||v.CommandOptions.defaults.cwd,env:M.env}}R.to=O})(d||(d={}));var y;(function(R){function P(k){const F=k;return F&&!!F.process}R.is=P;function O(k){const F=(0,l.isString)(k.name)?k.name:k.name.value,L=k.args?k.args.map(U=>(0,l.isString)(U)?U:U.value):[],B={process:F,args:L};return k.options&&(B.options=d.from(k.options)),B}R.from=O;function M(k){const F={runtime:v.RuntimeType.Process,name:k.process,args:k.args,presentation:void 0};return F.options=d.to(k.options),F}R.to=M})(y||(y={}));var b;(function(R){function P(M){if(M==null)return;const k={cwd:M.cwd||v.CommandOptions.defaults.cwd,env:M.env};return M.shell&&(k.executable=M.shell.executable,k.shellArgs=M.shell.args,k.shellQuoting=M.shell.quoting),k}R.from=P;function O(M){if(M==null)return;const k={cwd:M.cwd,env:M.env};return M.executable&&(k.shell={executable:M.executable},M.shellArgs&&(k.shell.args=M.shellArgs),M.shellQuoting&&(k.shell.quoting=M.shellQuoting)),k}R.to=O})(b||(b={}));var A;(function(R){function P(k){const F=k;return F&&(!!F.commandLine||!!F.command)}R.is=P;function O(k){const F={};return k.name&&(0,l.isString)(k.name)&&(k.args===void 0||k.args===null||k.args.length===0)?F.commandLine=k.name:(F.command=k.name,F.args=k.args),k.options&&(F.options=b.from(k.options)),F}R.from=O;function M(k){const F={runtime:v.RuntimeType.Shell,name:k.commandLine?k.commandLine:k.command,args:k.args,presentation:void 0};return k.options&&(F.options=b.to(k.options)),F}R.to=M})(A||(A={}));var S;(function(R){function P(k){const F=k;return F&&F.customExecution==="customExecution"}R.is=P;function O(){return{customExecution:"customExecution"}}R.from=O;function M(){return{runtime:v.RuntimeType.CustomExecution,presentation:void 0}}R.to=M})(S||(S={}));var D;(function(R){function P(k){const F=k;return F&&F.customExecution==="customExecution2"}R.is=P;function O(){return{customExecution:"customExecution2"}}R.from=O;function M(){return{runtime:v.RuntimeType.CustomExecution2,presentation:void 0}}R.to=M})(D||(D={}));var I;(function(R){function P(M){const k={label:M.label};return M.kind===v.TaskSourceKind.Extension?(k.extensionId=M.extension,M.workspaceFolder?k.scope=M.workspaceFolder.uri:k.scope=M.scope):M.kind===v.TaskSourceKind.Workspace&&(k.extensionId="$core",k.scope=M.config.workspaceFolder.uri),k}R.from=P;function O(M,k){let F,L;const B=k.tryGetRoots().map(W=>l.Uri.parse(W.uri));return M.scope===void 0||typeof M.scope=="number"&&M.scope!==1?k.tryGetRoots().map(W=>l.Uri.file(W.uri)).length===0?(F=1,L=void 0):(F=3,L={name:"workspace",uri:B[0],index:0}):typeof M.scope=="number"?F=M.scope:(F=3,L=(0,l.withNullAsUndefined)({uri:k.tryGetRoots().map(W=>l.Uri.parse(W.uri))[0],name:k.getWorkspaceName(k.tryGetRoots().map(W=>l.URI.file(W.uri))[0]),index:0})),{kind:v.TaskSourceKind.Extension,label:M.label,extension:M.extensionId,scope:F,workspaceFolder:L}}R.to=O})(I||(I={}));var w;(function(R){function P(M){if(M==null||!v.CustomTask.is(M)&&!v.ContributedTask.is(M)&&!v.ConfiguringTask.is(M))return;const k={_id:M._id,name:M.configurationProperties.name,definition:c.from(M.getDefinition()),source:I.from(M._source),execution:void 0,presentationOptions:!v.ConfiguringTask.is(M)&&M.command?E.from(M.command.presentation):void 0,isBackground:M.configurationProperties.isBackground,problemMatchers:[],hasDefinedMatchers:v.ContributedTask.is(M)?M.hasDefinedMatchers:!1,runOptions:f.from(M.runOptions)};if(M.configurationProperties.group&&(k.group=M.configurationProperties.group),!v.ConfiguringTask.is(M)&&M.command&&(M.command.runtime===v.RuntimeType.Process?k.execution=y.from(M.command):M.command.runtime===v.RuntimeType.Shell&&(k.execution=A.from(M.command))),M.configurationProperties.problemMatchers)for(const F of M.configurationProperties.problemMatchers)(0,l.isString)(F)&&k.problemMatchers.push(F);return k}R.from=P;function O(M,k,F,L){if(!M||typeof M.name!="string")return;let B;if(M.execution&&(A.is(M.execution)?B=A.to(M.execution):y.is(M.execution)?B=y.to(M.execution):S.is(M.execution)&&(B=S.to())),!B)return;B.presentation=E.to(M.presentationOptions);const U=I.to(M.source,k),W=(0,l.formatLocalize)("task.label",U.label,M.name),j=c.to(M.definition,F,L),Q=`${M.source.extensionId}.${j._key}`;return new v.ContributedTask(Q,U,W,j.type,j,B,M.hasDefinedMatchers,f.to(M.runOptions),{name:M.name,identifier:W,group:M.group,isBackground:!!M.isBackground,problemMatchers:M.problemMatchers.slice()})}R.to=O})(w||(w={}));let T=class extends l.Disposable{constructor(P){super(),this.rpcProtocol=P,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostTasks),this.providers=new Map,this.context={createTaskIdentifier:(O,M)=>this.taskDefinitionRegistry.createTaskIdentifier(O,M)},this.addDispose(this.taskService.onDidStateChange(O=>{const M=O.__task;O.kind==="start"?(this.logger.verbose(`task ${M._label||M._id} start`,O.terminalId),this.proxy.$onDidStartTask(a.from(M.getTaskExecution()),O.terminalId)):O.kind==="processStarted"?(this.logger.verbose(`task ${M._label||M._id} process start`,O.processId),this.proxy.$onDidStartTaskProcess(h.from(M.getTaskExecution(),O.processId))):O.kind==="processEnded"?(this.logger.verbose(`task ${M._label||M._id} process end`,O.exitCode),this.proxy.$onDidEndTaskProcess(u.from(M.getTaskExecution(),O.exitCode))):O.kind==="end"&&(this.logger.verbose(`task ${M._label||M._id} end`),this.proxy.$onDidEndTask(a.from(M.getTaskExecution())))}))}dispose(){super.dispose(),this.providers.forEach(P=>P.disposable.dispose()),this.providers.clear()}$registerTaskProvider(P,O){this.logger.verbose(`register task provider ${O}, handler ${P}`);const M={provideTasks:F=>(this.logger.verbose(`${O} provideTask`),Promise.resolve(this.proxy.$provideTask(P,F)).then(L=>{const B=[];for(const U of L.tasks){const W=w.to(U,this.workspaceService,!0,this.context);W?B.push(W):this.logger.error(`Task System: can not convert task: ${JSON.stringify(U.definition,void 0,0)}. Task will be dropped`)}return{tasks:B,extension:L.extension,type:O}})),resolveTask:F=>(this.logger.verbose(`${O} resolveTask`),Promise.resolve(this.proxy.$resolveTask(P,F)).then(L=>{if(L)return w.to(L,this.workspaceService,!0,this.context)}))},k=this.taskService.registerTaskProvider(M,O);return this.providers.set(P,{disposable:k,provider:M}),Promise.resolve()}$unregisterTaskProvider(P){throw new Error("Method not implemented.")}$fetchTasks(P){return this.taskService.tasks(s.TaskFilterDTO.to(P)).then(O=>{const M=[];for(const k of O){const F=w.from(k);F&&M.push(F)}return M})}$executeTask(P){return new Promise((O,M)=>{if(g.is(P)){const k=this.workspaceService.getWorkspaceRootUri(l.URI.from(P.workspaceFolder));k?this.taskService.getTask(k.codeUri,P.id,!0).then(F=>{this.taskService.run(F).then(()=>{});const L={id:P.id,task:w.from(F)};O(L)},F=>{M(new Error("Task not found"))}):M(new Error("No workspace folder"))}else{const k=w.to(P,this.workspaceService,!0,this.context);this.taskService.run(k).then(()=>{});const F={id:k._id,task:w.from(k)};O(F)}})}$createTaskId(P){return new Promise((O,M)=>{const k=w.to(P,this.workspaceService,!0,this.context);k?O(k._id):M(new Error("Task could not be created from DTO"))})}async $terminateTask(P){await this.taskService.terminateTask(P)}};t.MainThreadTasks=T,n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],T.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(_.ITaskService),n.__metadata("design:type",Object)],T.prototype,"taskService",void 0),n.__decorate([(0,r.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],T.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ITaskDefinitionRegistry),n.__metadata("design:type",Object)],T.prototype,"taskDefinitionRegistry",void 0),t.MainThreadTasks=T=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],T)},69696:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTerminal=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(6487),v=e(94620),m=e(85504),p=e(46147),s=e(71354);let g=class{constructor(u){this.rpcProtocol=u,this.shortId2LongIdMap=new Map,this._terminalProcessProxies=new Map,this._profileProviders=new Map,this.disposable=new l.Disposable,this.proxy=this.rpcProtocol.getProxy(p.ExtHostAPIIdentifier.ExtHostTerminal),this.initData(),this.bindEvent()}dispose(){this.disposable.dispose()}bindEvent(){this.disposable.addDispose(this.terminalApi.onDidChangeActiveTerminal(u=>{this.proxy.$onDidChangeActiveTerminal(u)})),this.disposable.addDispose(this.terminalApi.onDidCloseTerminal(u=>{this.proxy.$onDidCloseTerminal(u)})),this.disposable.addDispose(this.terminalApi.onDidTerminalTitleChange(u=>{this.proxy.$onDidTerminalTitleChange(u.id,u.name)})),this.disposable.addDispose(this.terminalApi.onDidOpenTerminal(u=>{const c=this.controller.clients.get(u.id);c&&c.addDispose(c.xterm.raw.onData(()=>{this.proxy.$acceptTerminalInteraction(u.id)})),this.proxy.$onDidOpenTerminal(u)})),this.disposable.addDispose(this.controller.onInstanceRequestStartExtensionTerminal(u=>this._onRequestStartExtensionTerminal(u))),this.disposable.addDispose(this.profileService.onDidChangeAvailableProfiles(()=>{this._updateDefaultProfile()})),this.disposable.addDispose(this.profileService.onTerminalProfileResolved(async u=>{await this.activationEventService.fireEvent(`onTerminalProfile:${u}`)})),this.disposable.addDispose(this.profileService.onDidChangeDefaultShell(u=>{this.proxy.$setShell(u)}))}initData(){const u=this.terminalApi.terminals,c=[];u.forEach(E=>{c.push({id:E.id,name:E.name,isActive:E.isActive})}),this.proxy.$setTerminals(c),this._updateDefaultProfile()}transform(u,c){const E=this.shortId2LongIdMap.get(u);return c(E||u)}$sendText(u,c,E){return this.transform(u,f=>(this.proxy.$acceptTerminalInteraction(f),this.terminalApi.sendText(f,c,E)))}$show(u,c){return this.transform(u,E=>this.terminalApi.showTerm(E,c))}$hide(u){return this.transform(u,c=>this.terminalApi.hideTerm(c))}$dispose(u){return this.transform(u,c=>this.terminalApi.removeTerm(c))}$getProcessId(u){return this.transform(u,c=>this.terminalApi.getProcessId(c))}async $createTerminal(u,c){await this.controller.ready.promise;const E=await this.terminalApi.createTerminal(u,c);if(!E){this.logger.error(`Create Terminal ${c} fail.`);return}this.shortId2LongIdMap.set(c,E.id)}_onRequestStartExtensionTerminal(u){const c=u.proxy;this._terminalProcessProxies.set(c.terminalId,c);const E=u.cols&&u.rows?{columns:u.cols,rows:u.rows}:void 0;this.proxy.$startExtensionTerminal(c.terminalId,E).then(u.callback),c.onInput(f=>this.proxy.$acceptProcessInput(c.terminalId,f)),c.onShutdown(f=>this.proxy.$acceptProcessShutdown(c.terminalId,f)),c.onRequestCwd(()=>this.proxy.$acceptProcessRequestCwd(c.terminalId)),c.onRequestInitialCwd(()=>this.proxy.$acceptProcessRequestInitialCwd(c.terminalId))}_getTerminalProcess(u){return this.transform(u,c=>{const E=this._terminalProcessProxies.get(c);if(!E)throw new Error(`Unknown terminal: ${c}`);return E})}$sendProcessTitle(u,c){return this.transform(u,E=>{const f=this.terminalGroupViewService.getWidget(E);f&&(f.rename(c),this.proxy.$acceptTerminalTitleChange(E,c))})}$sendProcessData(u,c){this._getTerminalProcess(u).emitData(c)}$sendProcessReady(u,c,E){this._getTerminalProcess(u).emitReady(c,E)}$sendProcessExit(u,c){this._getTerminalProcess(u).emitExit(c),this._terminalProcessProxies.delete(u)}$sendOverrideDimensions(u,c){this._getTerminalProcess(u).emitOverrideDimensions(c)}$sendProcessInitialCwd(u,c){this._getTerminalProcess(u).emitInitialCwd(c)}$sendProcessCwd(u,c){this._getTerminalProcess(u).emitCwd(c)}$startLinkProvider(){var u;(u=this._linkProvider)===null||u===void 0||u.dispose(),this._linkProvider=this.controller.registerLinkProvider(new a(this.proxy))}$stopLinkProvider(){var u;(u=this._linkProvider)===null||u===void 0||u.dispose(),this._linkProvider=void 0}$registerProfileProvider(u,c){this._profileProviders.set(u,this.profileService.registerTerminalProfileProvider(c,u,{createContributedTerminalProfile:async E=>{this.proxy.$createContributedProfileTerminal(u,E)}}))}$unregisterProfileProvider(u){var c;(c=this._profileProviders.get(u))===null||c===void 0||c.dispose(),this._profileProviders.delete(u)}async _updateDefaultProfile(){const u=await this.profileInternalSerivce.resolveDefaultProfile();u&&this.proxy.$acceptDefaultProfile(u)}$setEnvironmentVariableCollection(u,c,E){if(E){const f={persistent:c,map:(0,v.deserializeEnvironmentVariableCollection)(E)};this.environmentVariableService.set(u,f)}else this.environmentVariableService.delete(u)}};t.MainThreadTerminal=g,n.__decorate([(0,r.Autowired)(v.EnvironmentVariableServiceToken),n.__metadata("design:type",Object)],g.prototype,"environmentVariableService",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalApiService),n.__metadata("design:type",Object)],g.prototype,"terminalApi",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalController),n.__metadata("design:type",Object)],g.prototype,"controller",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalProfileService),n.__metadata("design:type",Object)],g.prototype,"profileService",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalProfileInternalService),n.__metadata("design:type",Object)],g.prototype,"profileInternalSerivce",void 0),n.__decorate([(0,r.Autowired)(_.ITerminalGroupViewService),n.__metadata("design:type",Object)],g.prototype,"terminalGroupViewService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],g.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(s.IActivationEventService),n.__metadata("design:type",s.IActivationEventService)],g.prototype,"activationEventService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],g.prototype,"logger",void 0),t.MainThreadTerminal=g=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],g);class a{constructor(u){this._proxy=u}async provideLinks(u,c){const E=this._proxy;return(await E.$provideLinks(u.id,c)).map(d=>({id:d.id,startIndex:d.startIndex,length:d.length,label:d.label,activate:()=>E.$activateLink(u.id,d.id)}))}}},53191:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTestsImpl=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(43718),v=e(48465),m=e(30005),p=e(20215),s=e(48385),g=e(44781),a=e(46147),h=c=>{var E,f;for(const d of c)if(d[0]===0||d[0]===1){const y=d[1];!((E=y.item)===null||E===void 0)&&E.uri&&(y.item.uri=_.URI.revive(y.item.uri)),!((f=y.item)===null||f===void 0)&&f.range&&(y.item.range=g.Range.lift(y.item.range))}};let u=class extends _.Disposable{constructor(E){super(),this.testProviderRegistrations=new Map,this.proxy=E.getProxy(a.ExtHostAPIIdentifier.ExtHostTests)}$registerTestController(E,f,d){const y=new _.DisposableStore,b=y.add(new m.ObservableValue(d)),A={id:E,label:f,canRefresh:b,configureRunProfile:S=>this.proxy.$configureRunProfile(E,S),refreshTests:S=>this.proxy.$refreshTests(E,S),runTests:(S,D)=>this.proxy.$runControllerTests(S,D),expandTest:(S,D)=>this.proxy.$expandTest(S,isFinite(D)?D:-1)};y.add(_.Disposable.create(()=>this.testProfiles.removeProfile(E))),y.add(this.testService.registerTestController(E,A)),this.testProviderRegistrations.set(E,{instance:A,label:f,canRefresh:b,disposable:y})}$updateController(E,f){const d=this.testProviderRegistrations.get(E);d&&(f.label!==void 0&&(d.label=f.label),f.canRefresh!==void 0&&(d.canRefresh.value=f.canRefresh))}$unregisterTestController(E){this.logger.warn("test: unregisterTestController>>",E)}$subscribeToDiffs(){this.logger.warn("test: subscribeToDiffs>>")}$unsubscribeFromDiffs(){this.logger.warn("test: unsubscribeFromDiffs>>")}$publishDiff(E,f){h(f),this.testService.publishDiff(E,f)}$publishTestRunProfile(E){const f=this.testProviderRegistrations.get(E.controllerId);f&&this.testProfiles.addProfile(f.instance,E)}$updateTestRunConfig(E,f,d){this.logger.warn("Method not implemented.")}$removeTestProfile(E,f){this.testProfiles.removeProfile(E,f)}async $runTests(E,f){return(await this.testService.runResolvedTests(E,f)).id}$addTestsToRun(E,f,d){for(const y of d)y.uri=_.URI.revive(y.uri),y.range&&(y.range=g.Range.lift(y.range));this.withTestResult(f,y=>y.addTestChainToRun(E,d))}$updateTestStateInRun(E,f,d,y,b){this.withTestResult(E,A=>A.updateState(d,f,y,b))}$appendTestMessagesInRun(E,f,d,y){const b=this.resultService.getResult(E);if(b&&b instanceof s.TestResultImpl)for(const A of y)A.location&&(A.location.uri=_.URI.revive(A.location.uri),A.location.range=g.Range.lift(A.location.range)),b.appendMessage(d,f,A)}$appendOutputToRun(E,f,d,y,b){const A=y&&{uri:_.URI.revive(y.uri),range:g.Range.lift(y.range)};this.withTestResult(E,S=>S.appendOutput(d,f,A,b))}$startedTestRunTask(E,f){this.withTestResult(E,d=>d.addTask(f))}$finishedTestRunTask(E,f){this.withTestResult(E,d=>d.markTaskComplete(f))}$startedExtensionTestRun(E){this.resultService.createTestResult(E)}$finishedExtensionTestRun(E){this.withTestResult(E,f=>f.markComplete())}$markTestRetired(E){this.logger.warn("Method not implemented.")}withTestResult(E,f){const d=this.resultService.getResult(E);return d&&d instanceof s.TestResultImpl?f(d):void 0}};t.MainThreadTestsImpl=u,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.Logger)],u.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(v.TestServiceToken),n.__metadata("design:type",Object)],u.prototype,"testService",void 0),n.__decorate([(0,r.Autowired)(p.TestProfileServiceToken),n.__metadata("design:type",Object)],u.prototype,"testProfiles",void 0),n.__decorate([(0,r.Autowired)(s.TestResultServiceToken),n.__metadata("design:type",Object)],u.prototype,"resultService",void 0),t.MainThreadTestsImpl=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],u)},31968:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadTheming=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(52416),_=e(46147);let v=class{constructor(p){this.rpcProtocol=p,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostTheming),this._themeChangeListener=this._themeService.onThemeChange(s=>{this.proxy.$onColorThemeChange(s.type)}),this.proxy.$onColorThemeChange(this._themeService.getCurrentThemeSync().type)}dispose(){this._themeChangeListener.dispose()}};t.MainThreadTheming=v,n.__decorate([(0,r.Autowired)(l.IThemeService),n.__metadata("design:type",Object)],v.prototype,"_themeService",void 0),t.MainThreadTheming=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],v)},4321:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.TreeViewDragAndDropController=t.TreeViewDataProvider=t.MainThreadTreeView=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(8919),v=e(41869),m=e(93899),p=e(68969),s=e(14951),g=e(63067),a=e(52416),h=e(46147),u=e(53043),c=e(98475),E=e(2108),f=e(51328),d=e(17428),y=e(74228),b=e(72217);let A=n=class extends v.WithEventBus{constructor(w,T){super(),this.rpcProtocol=w,this.extensionHostType=T,this.treeModels=new Map,this.dndControllers=new Map,this.disposableCollection=new Map,this.disposable=new v.DisposableStore,this.proxy=this.rpcProtocol.getProxy(h.ExtHostAPIIdentifier.ExtHostTreeView),this.disposable.add((0,v.toDisposable)(()=>this.treeModels.clear())),this.disposable.add((0,v.toDisposable)(()=>this.dndControllers.clear())),this._registerInternalCommands(),this.fileServiceClient.getCurrentUserHome().then(R=>{R&&(this.userhome=new v.URI(R.uri))}),this.addDispose(this.eventBus.on(g.ViewCollapseChangedEvent,R=>{if(R.payload.viewId&&this.treeModels.has(R.payload.viewId)&&!R.payload.collapsed){const P=this.treeModels.get(R.payload.viewId);P&&this.progressService.withProgress({location:R.payload.viewId},()=>P.refresh())}}))}dispose(){this.disposable.dispose(),this.disposableCollection.forEach(w=>{w.dispose()}),this.disposableCollection.clear()}createTreeModel(w,T,R,P){return y.ExtensionTreeViewModel.createModel(this.injector,T,R,w,P||{})}async $registerTreeDataProvider(w,T){if(this.treeModels.has(w))return;const R=new v.DisposableStore,P=new S(w,this.proxy,this.iconService,this.themeService,this.labelService,this.contextKeyService,this.menuService,this.userhome),O=new D(w,T.dropMimeTypes,T.dragMimeTypes,T.hasHandleDrag,this.proxy),M=this.createTreeModel(w,P,O,T);this.treeModels.set(w,M),this.dndControllers.set(w,O),R.add((0,v.toDisposable)(()=>this.treeModels.delete(w))),this.mainLayoutService.replaceViewComponent({id:w,component:d.ExtensionTabBarTreeView},{model:M,dataProvider:P,treeViewId:w}),T?.showCollapseAll&&R.add(this.menuRegistry.registerMenuItem(m.MenuId.ViewTitle,{command:{id:this.extensionHostType==="worker"?n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID_WORKER:n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID,label:(0,v.localize)("treeview.command.action.collapse")},extraTailArgs:[w],iconClass:(0,v.getIcon)("collapse-all"),when:`view == ${w}`,group:"navigation",order:1e4})),R.add(M.onDidSelectedNodeChange(F=>{P.setSelection(w,F)})),R.add(M.onDidChangeExpansionState(F=>{const{treeItemId:L,expanded:B}=F;P.setExpanded(w,L,B)}));const k=this.mainLayoutService.getTabbarHandler(w);k&&(R.add(k.onActivate(()=>{P.setVisible(w,!0)})),R.add(k.onInActivate(()=>{P.setVisible(w,!1)})),R.add(R.add((0,v.toDisposable)(()=>k.disposeView(w))))),this.disposableCollection.set(w,R)}async $unregisterTreeDataProvider(w){const T=this.disposableCollection.get(w);T&&T.dispose()}async $resolveDropFileData(w,T,R){const P=this.dndControllers.get(w);if(!P)throw new Error("Unknown tree");return P.resolveDropFileData(T,R)}async $refresh(w,T){const R=this.treeModels.get(w);R&&await R.refresh(T)}async $setTitle(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&R.updateViewTitle(w,T)}async $setDescription(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&R.updateViewDescription(w,T)}async $setBadge(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&(R.setBadge(T||""),R.accordionService.updateViewBadge(w,T||""))}async $setMessage(w,T){const R=this.mainLayoutService.getTabbarHandler(w);R&&R.updateViewMessage(w,T)}async $reveal(w,T,R){this.mainLayoutService.revealView(w);const P=this.treeModels.get(w);P&&T&&P.reveal(T,R)}_registerInternalCommands(){this.disposable.add(this.commandRegistry.registerCommand({id:this.extensionHostType==="worker"?n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID_WORKER:n.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID},{execute:w=>{const T=this.treeModels.get(w);T&&T.collapseAll()}}))}};t.MainThreadTreeView=A,A.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID="TREE_VIEW_COLLAPSE_ALL",A.TREE_VIEW_COLLAPSE_ALL_COMMAND_ID_WORKER="TREE_VIEW_COLLAPSE_ALL_WORKER",r.__decorate([(0,o.Autowired)(g.IMainLayoutService),r.__metadata("design:type",Object)],A.prototype,"mainLayoutService",void 0),r.__decorate([(0,o.Autowired)(a.IIconService),r.__metadata("design:type",Object)],A.prototype,"iconService",void 0),r.__decorate([(0,o.Autowired)(m.IMenuRegistry),r.__metadata("design:type",m.IMenuRegistry)],A.prototype,"menuRegistry",void 0),r.__decorate([(0,o.Autowired)(v.CommandRegistry),r.__metadata("design:type",Object)],A.prototype,"commandRegistry",void 0),r.__decorate([(0,o.Autowired)(a.IThemeService),r.__metadata("design:type",Object)],A.prototype,"themeService",void 0),r.__decorate([(0,o.Autowired)(p.IProgressService),r.__metadata("design:type",Object)],A.prototype,"progressService",void 0),r.__decorate([(0,o.Autowired)(v.LabelService),r.__metadata("design:type",v.LabelService)],A.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(v.IContextKeyService),r.__metadata("design:type",Object)],A.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(m.AbstractMenuService),r.__metadata("design:type",m.AbstractMenuService)],A.prototype,"menuService",void 0),r.__decorate([(0,o.Autowired)(s.IFileServiceClient),r.__metadata("design:type",Object)],A.prototype,"fileServiceClient",void 0),r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],A.prototype,"injector",void 0),t.MainThreadTreeView=A=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)(_.IRPCProtocol)),r.__metadata("design:paramtypes",[Object,String])],A);class S extends l.Tree{constructor(w,T,R,P,O,M,k,F){super(),this.treeViewId=w,this.proxy=T,this.iconService=R,this.themeService=P,this.labelService=O,this.contextKeyService=M,this.menuService=k,this.userhome=F,this.cachedMenu=new Map,this.onTreeDataChangedEmitter=new v.Emitter,this.onRevealChangedEmitter=new v.Emitter,this.isEmpty=!0,this._onDidChangeEmpty=new v.Emitter,this.onDidChangeEmpty=this._onDidChangeEmpty.event,this.treeItemId2TreeNode=new Map}get isTreeEmpty(){return this.isEmpty}get onTreeDataChanged(){return this.onTreeDataChangedEmitter.event}get onRevealChanged(){return this.onRevealChangedEmitter.event}get root(){return this._root}getTreeNodeIdByTreeItemId(w){var T;return(T=this.treeItemId2TreeNode.get(w))===null||T===void 0?void 0:T.id}getReadableDescription(w){if(w.resourceUri){if(this.userhome){const T=v.URI.from(w.resourceUri);if(this.userhome.isEqualOrParent(T))return decodeURIComponent(w.resourceUri.path.toString().replace(this.userhome.codeUri.fsPath,"~"))}return w.resourceUri.path.toString()}return w.description}getLabelAndDescription(w){if(w.label)return{label:w.label,description:w.description};if(w.resourceUri){let T=w.resourceUri.path.toString();T=decodeURIComponent(T),T.indexOf("/")>=0&&(T=T.substring(T.lastIndexOf("/")+1));const R=this.getReadableDescription(w);return{label:T,description:R}}return{label:w.label,description:w.description}}async createFoldNode(w,T){var R;const P=f.TreeItemCollapsibleState.Expanded===w.collapsibleState,O=await this.toIconClass(w),M=this.getInlineMenuNodes(w.contextValue||""),{label:k,description:F}=this.getLabelAndDescription(w);return new b.ExtensionCompositeTreeNode(this,T,k,F,O,typeof w.tooltip=="string"?w.tooltip:(R=w.tooltip)===null||R===void 0?void 0:R.value,w.command,w.contextValue||"",w.id,M,w.checkboxInfo,w.accessibilityInformation,P,w.resourceUri)}async createNormalNode(w,T){var R;const P=await this.toIconClass(w),O=this.getInlineMenuNodes(w.contextValue||""),{label:M,description:k}=this.getLabelAndDescription(w);return new b.ExtensionTreeNode(this,T,M,k,P,typeof w.tooltip=="string"?w.tooltip:(R=w.tooltip)===null||R===void 0?void 0:R.value,w.command,w.contextValue||"",w.id,O,w.checkboxInfo,w.accessibilityInformation,w.resourceUri)}isBase64Icon(w){const T=/^data:image\//;return w?(0,v.isString)(w)?T.test(w):T.test(w.dark):!1}async toIconClass(w){if(w.iconUrl||w.icon)return this.iconService.fromIcon("",w.iconUrl||w.icon,this.isBase64Icon(w.iconUrl||w.icon)?a.IconType.Base64:a.IconType.Background,void 0,!0);if(w.themeIcon){let T=(0,v.getExternalIcon)(w.themeIcon.id);w.resourceUri&&(w.themeIcon.id==="file"?T=this.labelService.getIcon(v.URI.from(w.resourceUri)):w.themeIcon.id==="folder"&&(T=this.labelService.getIcon(v.URI.from(w.resourceUri),{isDirectory:!0})));const R=this.themeService.getColorClassNameByColorToken(w.themeIcon.color);return`${T} ${R??""}`}else return""}getInlineMenuNodes(w){if(this.cachedMenu.has(w))return this.cachedMenu.get(w);const T=this.contextKeyService.createScoped();T.createKey("view",this.treeViewId),T.createKey("viewItem",w);const R=this.menuService.createMenu(m.MenuId.ViewItemContext,T),P=(0,m.generateCtxMenu)({menus:R,separator:"inline"});return R.dispose(),T.dispose(),this.cachedMenu.set(w,P[0]),P[0]}async createTreeNode(w,T){return!(0,v.isUndefined)(w.collapsibleState)&&w.collapsibleState!==f.TreeItemCollapsibleState.None?await this.createFoldNode(w,T):await this.createNormalNode(w,T)}async resolveChildren(w){let T=[];if(w){let R;if(b.ExtensionTreeRoot.is(w)?R=await this.proxy.$getChildren(this.treeViewId):R=await this.proxy.$getChildren(this.treeViewId,w.treeItemId),R&&Array.isArray(R))for(const P of R){const O=await this.createTreeNode(P,w);this.treeItemId2TreeNode.set(P.id,O),T.push(O)}if(b.ExtensionTreeRoot.is(w)){const P=this.isEmpty;this.isEmpty=!R||R.length===0,P!==this.isEmpty&&this._onDidChangeEmpty.fire()}}else T=[new b.ExtensionTreeRoot(this,this.treeViewId)];return T}async resolveTreeItem(w,T){const R=new v.CancellationTokenSource().token;return this.proxy.$resolveTreeItem(w,T,R)}sortComparator(w,T){return w?T?0:-1:1}async refresh(w){await this.onTreeDataChangedEmitter.fire(w)}async reveal(w){await this.onRevealChangedEmitter.fire(w)}async setSelection(w,T){this.proxy.$setSelection(w,T)}async setExpanded(w,T,R){this.proxy.$setExpanded(w,T,R)}async setVisible(w,T){this.proxy.$setVisible(w,T)}dispose(){super.dispose(),this.treeItemId2TreeNode.clear()}markAsChecked(w,T,R){var P;function O(F,L){var B,U;((B=F.parent)===null||B===void 0?void 0:B.checkboxInfo)!==void 0&&F.parent.checkboxInfo.checked!==T&&(!T||!(!((U=F.parent.children)===null||U===void 0)&&U.some(W=>{var j;return W!==F&&((j=W.checkboxInfo)===null||j===void 0?void 0:j.checked)===!1})))&&(L.push(F.parent),O(F.parent,L))}function M(F,L){var B;l.CompositeTreeNode.is(F)&&((B=F.children)===null||B===void 0||B.forEach(U=>{U.checkboxInfo!==void 0&&U.checkboxInfo.checked!==T&&L.push(U),M(U,L)}))}const k=[w];R||(O(w,k),M(w,k)),k.forEach(F=>F.checkboxInfo.checked=T),(P=this.proxy)===null||P===void 0||P.$checkStateChanged(this.treeViewId,[{treeItemId:w.treeItemId,checked:T}])}}t.TreeViewDataProvider=S;class D extends v.Disposable{constructor(w,T=[],R=[],P,O){super(),this.treeViewId=w,this.dropMimeTypes=T,this.dragMimeTypes=R,this.hasHandleDrag=P,this._proxy=O,this.dataTransfersCache=new E.DataTransferCache}async handleDrop(w,T,R,P,O,M){const k=this.dataTransfersCache.add(w);try{return await this._proxy.$handleDrop(this.treeViewId,k.id,await u.DataTransfer.toDataTransferDTO(w),T?.treeItemId,R,P,O,M)}finally{k.dispose()}}async handleDrag(w,T,R){if(!this.hasHandleDrag)return;const P=await this._proxy.$handleDrag(this.treeViewId,w,T,R);if(!P)return;const O=new c.VSDataTransfer;return P.items.forEach(([M,k])=>{O.replace(M,(0,c.createStringDataTransferItem)(k.asString))}),O}resolveDropFileData(w,T){return this.dataTransfersCache.resolveDropFileData(w,T)}}t.TreeViewDragAndDropController=D},73082:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadUrls=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(46147),v=e(71354);class m{constructor(a,h,u){this.proxy=a,this.handle=h,this.extensionId=u}async handleURL(a){return this.extensionId!==a.authority?!1:(await this.proxy.$handleExternalUri(this.handle,a.codeUri),!0)}}let p=class{constructor(){this.extensionUrlHandlers=new Map}async open(a){let h=!1;const u=a.authority,c=this.extensionUrlHandlers.get(u);if(c)try{h=await c.handleURL(a)}catch(E){this.logger.error(E)}return await this.activationEventService.fireEvent("onUri",u),h}handleScheme(a){return a===this.config.uriScheme}registerExtensionHandler(a,h,u){const c=new m(u,a,h);return this.extensionUrlHandlers.set(h,c),{dispose:()=>{this.extensionUrlHandlers.delete(h)}}}dispose(){this.extensionUrlHandlers.clear()}};n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],p.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.IActivationEventService)],p.prototype,"activationEventService",void 0),p=n.__decorate([(0,r.Injectable)()],p);let s=class{constructor(a){this.handlers=new Map,this.proxy=a.getProxy(_.ExtHostAPIIdentifier.ExtHostUrls),this.openerService.registerOpener(this.extensionOpener)}async $registerUriHandler(a,h){this.handlers.set(a,this.extensionOpener.registerExtensionHandler(a,h,this.proxy))}async $unregisterUriHandler(a){const h=this.handlers.get(a);h&&(h.dispose(),this.handlers.delete(a))}dispose(){this.handlers.clear(),this.extensionOpener.dispose()}};t.MainThreadUrls=s,n.__decorate([(0,r.Autowired)(l.IOpenerService),n.__metadata("design:type",Object)],s.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(p),n.__metadata("design:type",p)],s.prototype,"extensionOpener",void 0),t.MainThreadUrls=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(o.IRPCProtocol)),n.__metadata("design:paramtypes",[Object])],s)},38408:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWindowState=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(46147),v=e(38894);let m=class{constructor(s){this.rpcProtocol=s,this.toDispose=new l.DisposableCollection,this.proxy=this.rpcProtocol.getProxy(_.ExtHostAPIIdentifier.ExtHostWindowState),this.blurHandler=()=>{this.proxy.$onDidChangeWindowFocus(!1)},this.focusHandler=()=>{this.proxy.$onDidChangeWindowFocus(!0)},window.addEventListener("blur",this.blurHandler),window.addEventListener("focus",this.focusHandler);const g=new v.WindowActivityTimer(window);this.toDispose.push(g.onDidChangeActiveState(a=>this.onActiveStateChanged(a))),this.toDispose.push(g)}onActiveStateChanged(s){this.proxy.$onDidChangeWindowActive(s)}dispose(){window.removeEventListener("blur",this.blurHandler),window.removeEventListener("focus",this.focusHandler),this.toDispose.dispose()}};t.MainThreadWindowState=m,t.MainThreadWindowState=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},43812:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWindow=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(72665),v=e(46147);let m=class{constructor(s){this.rpcProtocol=s,this.proxy=this.rpcProtocol.getProxy(v.ExtHostAPIIdentifier.ExtHostWindow)}getDefaultDialogOptions(s){return{...s,defaultUri:s.defaultUri?l.URI.from(s.defaultUri):void 0}}async $showOpenDialog(s,g={}){const a=this.getDefaultDialogOptions(g),h=await this.windowDialogService.showOpenDialog(a);this.proxy.$onOpenDialogResult(s,h&&h.map(u=>u.codeUri))}async $showSaveDialog(s,g={}){const a=this.getDefaultDialogOptions(g),h=await this.windowDialogService.showSaveDialog(a);this.proxy.$onSaveDialogResult(s,h&&h.codeUri)}dispose(){}};t.MainThreadWindow=m,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(_.IDialogService),n.__metadata("design:type",Object)],m.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(_.IWindowDialogService),n.__metadata("design:type",Object)],m.prototype,"windowDialogService",void 0),t.MainThreadWindow=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],m)},13643:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainThreadWorkspace=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(41869),_=e(54414),v=e(50492),m=e(84660),p=e(52902),s=e(51500),g=e(26199),a=e(46147);let h=class extends l.WithEventBus{constructor(c){super(),this.rpcProtocol=c,this.proxy=this.rpcProtocol.getProxy(a.ExtHostAPIIdentifier.ExtHostWorkspace),this.processWorkspaceFoldersChanged(this.workspaceService.tryGetRoots()),this.addDispose(this.workspaceChangeEvent=this.workspaceService.onWorkspaceChanged(E=>{this.processWorkspaceFoldersChanged(E)})),this.storageProxy=c.getProxy(a.ExtHostAPIIdentifier.ExtHostStorage)}async $startFileSearch(c,E,f,d,y){const b={rootUris:E.cwd?[E.cwd]:this.workspaceService.tryGetRoots().map(S=>S.uri),excludePatterns:f?[f]:void 0,limit:d,includePatterns:[c]};return await this.fileSearchService.find("",b,y)}isAnyRootChanged(c){return!this.roots||this.roots.length!==c.length?!0:this.roots.some((E,f)=>E.uri!==c[f].uri)}processWorkspaceFoldersChanged(c){this.isAnyRootChanged(c)!==!1&&(this.roots=c,this.proxy.$onWorkspaceFoldersChanged({roots:c}),this.extensionStorageService.getAll(!1).then(E=>{this.storageProxy.$updateWorkspaceStorageData(E)}))}dispose(){super.dispose(),this.workspaceChangeEvent.dispose()}async $updateWorkspaceFolders(c,E,f,...d){await this.workspaceService.spliceRoots(c,E,f,...d.map(y=>new l.URI(y)))}async $tryApplyWorkspaceEdit(c,E){try{const f=p.ResourceEdit.convert(c),{success:d}=await this.bulkEditService.apply(f,{respectAutoSaveConfig:E?.isRefactoring});return d}catch{return!1}}async $save(c){if(c)try{const E=l.URI.file(c.path.toString());return await this.editorService.save(E)}catch(E){this.logger.error(`Save Failed: ${E.message}`);return}}async $saveAs(c){if(c)try{return await this.editorService.saveAs(c)}catch(E){this.logger.error(`SaveAs Failed: ${E.message}`);return}}async $saveAll(){try{return await this.editorService.saveAll(),!0}catch(c){return this.logger.error(c),!1}}onRenameFile(c){this.proxy.$didRenameFile(c.payload.oldUri.codeUri,c.payload.newUri.codeUri)}};t.MainThreadWorkspace=h,n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],h.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],h.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(m.FileSearchServicePath),n.__metadata("design:type",Object)],h.prototype,"fileSearchService",void 0),n.__decorate([(0,r.Autowired)(v.IExtensionStorageService),n.__metadata("design:type",Object)],h.prototype,"extensionStorageService",void 0),n.__decorate([(0,r.Autowired)(g.IBulkEditServiceShape),n.__metadata("design:type",Object)],h.prototype,"bulkEditService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),n.__decorate([(0,l.OnEvent)(g.WorkspaceEditDidRenameFileEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[g.WorkspaceEditDidRenameFileEvent]),n.__metadata("design:returntype",void 0)],h.prototype,"onRenameFile",null),t.MainThreadWorkspace=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)(Symbol())),n.__metadata("design:paramtypes",[Object])],h)},97673:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentRangeSemanticTokensProviderImpl=t.DocumentSemanticTokensProvider=void 0;const n=e(70858);function r(_){if(_ instanceof Uint8Array)return _;if(Array.isArray(_))return Uint8Array.from(_);const v=[];for(const m in _)Object.prototype.hasOwnProperty.call(_,m)&&v.push(Number(_[m]));return Uint8Array.from(v)}class o{constructor(v,m,p){this.proxy=v,this.handleId=m,this.legend=p}getLegend(){return this.legend}async provideDocumentSemanticTokens(v,m,p){const s=m?parseInt(m,10):0,g=await this.proxy.$provideDocumentSemanticTokens(this.handleId,v.uri,s,p);if(!g||p.isCancellationRequested)return null;const a=(0,n.decodeSemanticTokensDto)(r(g));return a.type==="full"?{resultId:String(a.id),data:a.data}:{resultId:String(a.id),edits:a.deltas}}releaseDocumentSemanticTokens(v){v&&this.proxy.$releaseDocumentSemanticTokens(this.handleId,parseInt(v,10))}}t.DocumentSemanticTokensProvider=o;class l{constructor(v,m,p){this.proxy=v,this.handleId=m,this.legend=p}getLegend(){return this.legend}async provideDocumentRangeSemanticTokens(v,m,p){const s=await this.proxy.$provideDocumentRangeSemanticTokens(this.handleId,v.uri,m,p);if(!s||p.isCancellationRequested)return null;const g=(0,n.decodeSemanticTokensDto)(r(s));if(g.type==="full")return{resultId:String(g.id),data:g.data};throw new Error("Unexpected")}}t.DocumentRangeSemanticTokensProviderImpl=l},74501:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTreeModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(72217);let m=n=class extends l.TreeModel{constructor(s){super(),this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(s)}init(s){this.root=s,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,()=>{this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})})}};t.ExtensionTreeModel=m,m.DEFAULT_FLUSH_DELAY=100,t.ExtensionTreeModel=m=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.ExtensionTreeRoot])],m)},74228:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTreeViewModel=t.ITreeViewsService=t.ITreeViewDragAndDropController=t.ITreeViewBaseOptions=t.ITreeViewId=t.IExtensionTreeViewModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(93899),m=e(43718),p=e(46147),s=e(98475),g=e(4321),a=r.__importDefault(e(50790)),h=e(74501),u=e(72217);t.IExtensionTreeViewModel=Symbol("IExtensionTreeViewModel"),t.ITreeViewId=Symbol("ITreeViewId"),t.ITreeViewBaseOptions=Symbol("TreeViewBaseOptions"),t.ITreeViewDragAndDropController=Symbol("ITreeViewDragAndDropController"),t.ITreeViewsService=Symbol("ITreeViewsService");const c=Symbol("ITreeViewDataProvider");let E=n=class{static createContainer(d,y,b,A,S){return d.createChild([{token:c,useValue:y},{token:t.ITreeViewDragAndDropController,useValue:b},{token:t.IExtensionTreeViewModel,useClass:n},{token:t.ITreeViewId,useValue:A},{token:t.ITreeViewBaseOptions,useValue:S},{token:t.ITreeViewsService,useValue:new p.TreeviewsService}])}static createModel(d,y,b,A,S){return n.createContainer(d,y,b,A,S).get(t.IExtensionTreeViewModel)}constructor(){this.selectedDecoration=new l.Decoration(a.default.mod_selected),this.focusedDecoration=new l.Decoration(a.default.mod_focused),this.contextMenuDecoration=new l.Decoration(a.default.mod_actived),this.loadingDecoration=new l.Decoration(a.default.mod_loading),this.draggingDecoration=new l.Decoration(a.default.mod_dragging),this.draggedOverDecoration=new l.Decoration(a.default.mod_dragover),this.beingDraggedNodes=[],this._selectedNodes=[],this.disposableCollection=new _.DisposableCollection,this.onDidFocusedNodeChangeEmitter=new _.Emitter,this.onDidSelectedNodeChangeEmitter=new _.Emitter,this.onDidChangeExpansionStateEmitter=new _.Emitter,this._isMultiSelected=!1,this.revealDelayer=new _.ThrottledDelayer(n.DEFAULT_REVEAL_DELAY),this.toCancelNodeExpansion=new _.DisposableCollection,this.dragOverTrigger=new _.ThrottledDelayer(n.MS_TILL_DRAGGED_OVER_EXPANDS),this.treeItemsTransfer=s.LocalSelectionTransfer.getInstance(),this.treeHandlerReadyDeffer=new _.Deferred,this.clearNodeSelectedDecoration=()=>{this._selectedNodes.forEach(d=>{this.selectedDecoration.removeTarget(d)}),this._selectedNodes=[],this.onDidSelectedNodeChangeEmitter.fire([])},this.activeNodeDecoration=d=>{if(d!==this.treeModel.root&&(this.contextMenuNode&&(this.contextMenuDecoration.removeTarget(this.contextMenuNode),this._contextMenuNode=void 0),d)){if(this.selectedNodes.length>0)for(const y of this.selectedDecoration.appliedTargets.keys())this.selectedDecoration.removeTarget(y);this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(d),this.focusedDecoration.addTarget(d),this._focusedNode=d,this._selectedNodes=[d],this.onDidFocusedNodeChangeEmitter.fire(d.treeItemId),this.onDidSelectedNodeChangeEmitter.fire([d.treeItemId]),this.treeModel.dispatchChange()}},this.activeNodeFocusedDecoration=(d,y=!1,b=!1)=>{if(d!==this.treeModel.root){if(this.focusedNode!==d&&(y?(this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this._contextMenuNode=d):this.focusedNode&&(this._contextMenuNode=void 0,this.focusedDecoration.removeTarget(this.focusedNode)),d)){if(b){for(const A of this._selectedNodes)this.selectedDecoration.removeTarget(A);this._selectedNodes=[]}this._selectedNodes.indexOf(d)<0&&(this.selectedDecoration.addTarget(d),this._selectedNodes.push(d),this.onDidSelectedNodeChangeEmitter.fire(this._selectedNodes.map(A=>A.treeItemId))),this.focusedDecoration.addTarget(d),this._focusedNode=d,this.onDidFocusedNodeChangeEmitter.fire(d.treeItemId)}this.treeModel.dispatchChange()}},this.activeNodeActivedDecoration=d=>{this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this._focusedNode=void 0),this.contextMenuDecoration.addTarget(d),this._contextMenuNode=d,this.treeModel.dispatchChange()},this.selectNodeDecoration=(d,y=!0)=>{d!==this.treeModel.root&&(this.contextMenuNode&&(this.contextMenuDecoration.removeTarget(this.contextMenuNode),this._contextMenuNode=void 0),d&&(this.selectedNodes.length>0&&this.selectedNodes.forEach(b=>{this.selectedDecoration.removeTarget(b)}),this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(d),this._selectedNodes=[d],this.onDidSelectedNodeChangeEmitter.fire([d.treeItemId]),y&&this.treeModel.dispatchChange()))},this.activeNodeSelectedDecoration=d=>{this._selectedNodes.indexOf(d)>-1||(this._selectedNodes.push(d),this.selectedDecoration.addTarget(d),this.onDidSelectedNodeChangeEmitter.fire(this._selectedNodes.map(y=>y.treeItemId)),this.treeModel.dispatchChange())},this.activeNodeDecorationByRange=(d,y)=>{for(this.clearNodeSelectedDecoration(),this._contextMenuNode=void 0;d<=y;d++){const b=this.treeModel.root.getTreeNodeAtIndex(d);b&&(this._selectedNodes.push(b),this.selectedDecoration.addTarget(b))}this.onDidSelectedNodeChangeEmitter.fire(this._selectedNodes.map(b=>b.treeItemId)),this.treeModel.dispatchChange()},this.enactiveNodeDecoration=()=>{var d;this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this.onDidFocusedNodeChangeEmitter.fire(),this._focusedNode=void 0),this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),(d=this.treeModel)===null||d===void 0||d.dispatchChange()},this.toggleDirectory=async d=>{var y,b;await this.treeHandlerReadyDeffer.promise,d.expanded?await((y=this.extensionTreeHandle)===null||y===void 0?void 0:y.collapseNode(d)):await((b=this.extensionTreeHandle)===null||b===void 0?void 0:b.expandNode(d))},this.handleTreeBlur=()=>{this.enactiveNodeDecoration()},this.handleTreeFocus=()=>{},this.handleDragStart=(d,y)=>{d.stopPropagation();const b=w=>{this.handleDragEnd(w,y)};d.currentTarget.addEventListener("dragend",b,!1);let A=this.selectedNodes,S=!1;for(const w of A)w&&w.id===y.id&&(S=!0);S||(A=[y]);const D=[],I={id:this.treeViewId,itemHandles:[]};if(A.forEach(w=>{I.itemHandles.push(w.treeItemId),w.uri&&D.push(m.URI.revive(w.uri))}),this.addResourceInfoToTransfer(d,D),this.addExtensionProvidedTransferTypes(d,I.itemHandles),d.dataTransfer.setData(this.treeMimeType,JSON.stringify(I)),A.forEach(w=>{this.draggingDecoration.addTarget(w,l.TargetMatchMode.Self)}),d.dataTransfer){const w=this.getDragLabel(A)||"",T=document.createElement("div");T.className=a.default.tree_view_drag_image,T.textContent=w,document.body.appendChild(T),d.dataTransfer.setDragImage(T,-10,-10),setTimeout(()=>document.body.removeChild(T),0)}},this.handleDragEnter=(d,y)=>{d.stopPropagation(),d.preventDefault()},this.handleDrop=async(d,y)=>{d.preventDefault(),d.stopPropagation(),d.dataTransfer.dropEffect="copy",y&&this.draggingDecoration.removeTarget(y),this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(T=>{this.draggingDecoration.removeTarget(T)}),this.beingDraggedNodes=[],this.potentialParent=null,this.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose();const b=this.treeViewDragAndDropController;if(!d.dataTransfer||!b)return;const A=(0,s.toVSDataTransfer)(d.dataTransfer);let S,D;this.treeItemsTransfer.hasData(s.DraggedTreeItemsIdentifier.prototype)&&(D=this.treeItemsTransfer.getData(s.DraggedTreeItemsIdentifier.prototype)[0].identifier);const I=new s.VSDataTransfer;for(const[T,R]of A.entries())if((T===this.treeMimeType||b.dropMimeTypes.includes(T)||R.asFile()&&b.dropMimeTypes.includes(s.DataTransfers.FILES.toLowerCase()))&&(I.append(T,R),T===this.treeMimeType))try{S=JSON.parse(await R.asString())}catch{}const w=await this.treeViewsDragAndDropService.removeDragOperationTransfer(D);if(w)for(const[T,R]of w.entries())I.append(T,R);return b.handleDrop(I,y,m.CancellationToken.None,D,S?.id,S?.itemHandles)},this.handleDragOver=(d,y)=>{if(d.preventDefault(),d.stopPropagation(),!this.toCancelNodeExpansion.disposed||this.beingDraggedNodes.indexOf(y)>=0)return;this.draggedOverNode=y;const b=u.ExtensionCompositeTreeNode.is(y)&&y.expanded?y:y.parent;(this.potentialParent!==b||!this.draggedOverDecoration.hasTarget(b))&&(this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.potentialParent=b,this.draggedOverDecoration.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren),this.treeModel.dispatchChange()),this.potentialParent!==y&&u.ExtensionCompositeTreeNode.is(y)&&(this.dragOverTrigger.trigger(async()=>{y.expanded?(this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.potentialParent=y,this.draggedOverDecoration.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren)):(await y.setExpanded(!0),this.draggedOverNode===y&&(this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.potentialParent=y,this.draggedOverDecoration.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren))),this.treeModel.dispatchChange()}),this.toCancelNodeExpansion.push(m.Disposable.create(()=>{this.dragOverTrigger.isTriggered()||this.dragOverTrigger.cancel()})))},this.handleDragLeave=(d,y)=>{d.preventDefault(),d.stopPropagation(),this.toCancelNodeExpansion.dispose(),this.potentialParent&&(this.draggedOverDecoration.removeTarget(this.potentialParent),this.treeModel.dispatchChange())},this.handleDragEnd=(d,y)=>{var b,A;((b=d.dataTransfer)===null||b===void 0?void 0:b.dropEffect)==="none"&&((A=this.dragCancellationToken)===null||A===void 0||A.cancel()),this.draggingDecoration.removeTarget(y),this.potentialParent&&this.draggedOverDecoration.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(S=>{this.draggingDecoration.removeTarget(S)}),this.beingDraggedNodes=[],this.potentialParent=null,this.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose()},this.handleItemRangeClick=(d,y)=>{if(!this.focusedNode)this.handleItemClick(d,y);else if(this.focusedNode&&this.focusedNode!==d){this._isMultiSelected=!0;const b=this.treeModel.root.getIndexAtTreeNode(d),A=this.treeModel.root.getIndexAtTreeNode(this.focusedNode);A>b?this.activeNodeDecorationByRange(b,A):A<b&&this.activeNodeDecorationByRange(A,b)}},this.handleItemToggleClick=(d,y)=>{this._isMultiSelected=!0,!(y!==l.TreeNodeType.CompositeTreeNode&&y!==l.TreeNodeType.TreeNode)&&(this.selectedNodes.indexOf(d)>-1?this.focusedNode===d?this.enactiveNodeDecoration():this.activeNodeFocusedDecoration(d):this.activeNodeSelectedDecoration(d))},this.handleItemClick=async(d,y)=>{this._isMultiSelected=!1,(y===l.TreeNodeType.CompositeTreeNode||y===l.TreeNodeType.TreeNode)&&this.activeNodeDecoration(d),d.resolved||await d.resolveTreeItem(),d.command?this.commandService.executeCommand(d.command.id,...d.command.arguments||[]):(this.clickTimes++,y===l.TreeNodeType.CompositeTreeNode&&this.preferenceService.get("workbench.list.openMode")==="singleClick"&&this.toggleDirectory(d),this.clickTimer&&clearTimeout(this.clickTimer),this.clickTimer=setTimeout(()=>{this.clickTimes>1&&y!==l.TreeNodeType.TreeNode&&this.preferenceService.get("workbench.list.openMode")==="doubleClick"&&this.toggleDirectory(d),this.clickTimes=0},200))},this.handleContextMenu=(d,y)=>{d.stopPropagation(),d.preventDefault();const{x:b,y:A}=d.nativeEvent;y?this.activeNodeActivedDecoration(y):this.enactiveNodeDecoration();let S,D;y?(D=y,this._isMultiSelected?this.selectedNodes.indexOf(D)>=0?S=this._isMultiSelected?this.selectedNodes:[D]:S=this._isMultiSelected?this.selectedNodes.concat([D]):[D]:S=[D]):(S=[this.treeModel.root],D=this.treeModel.root);const I=this.getCtxMenuNodes(D.contextValue);this.injector.get(v.ICtxMenuRenderer).show({anchor:{x:b,y:A},menuNodes:I,args:[{treeViewId:this.treeViewId,treeItemId:D.treeItemId},S.map(T=>({treeViewId:this.treeViewId,treeItemId:T.treeItemId}))]})},this.handleCheckBoxChange=async d=>{d&&this.treeViewDataProvider.markAsChecked(d,!d.checkboxInfo.checked,this.treeViewOptions.manageCheckboxStateManually)},this._whenReady=this.initTreeModel(),this.treeMimeType=`application/vnd.code.tree.${this.treeViewId.toLowerCase()}`}get draggable(){return this.treeViewDragAndDropController.hasHandleDrag}get onDidFocusedNodeChange(){return this.onDidFocusedNodeChangeEmitter.event}get onDidChangeExpansionState(){return this.onDidChangeExpansionStateEmitter.event}get onDidSelectedNodeChange(){return this.onDidSelectedNodeChangeEmitter.event}get extensionTreeHandle(){return this._extensionTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get whenReady(){return this._whenReady}get focusedNode(){return this._focusedNode}get selectedNodes(){return this._selectedNodes}get contextMenuNode(){return this._contextMenuNode}async initTreeModel(){const d=(await this.treeViewDataProvider.resolveChildren())[0];this._treeModel=this.injector.get(h.ExtensionTreeModel,[d]),this.initDecorations(d),this.disposableCollection.push(this.treeViewDataProvider),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,y=>{this.loadingDecoration.addTarget(y)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,y=>{this.loadingDecoration.removeTarget(y)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidChangeExpansionState,(y,b)=>{this.onDidChangeExpansionStateEmitter.fire({treeItemId:y.treeItemId,expanded:b})})),this.disposableCollection.push(this.treeViewDataProvider.onTreeDataChanged(y=>{this.refresh(y)})),this.disposableCollection.push(this.treeViewDataProvider.onRevealChanged(y=>{this.reveal(y)})),this.disposableCollection.push(this.treeViewDataProvider.onRevealChanged(y=>{this.reveal(y)}))}async updateTreeModel(){const d=await this.treeViewDataProvider.resolveChildren()[0];this._treeModel=this.injector.get(h.ExtensionTreeModel,[d])}initDecorations(d){this._decorations=new l.DecorationsManager(d),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration),this._decorations.addDecoration(this.loadingDecoration),this._decorations.addDecoration(this.draggedOverDecoration),this._decorations.addDecoration(this.draggingDecoration)}removeNodeDecoration(){this.decorations&&(this.decorations.removeDecoration(this.selectedDecoration),this.decorations.removeDecoration(this.focusedDecoration),this.decorations.removeDecoration(this.contextMenuDecoration),this.decorations.removeDecoration(this.loadingDecoration),this.decorations.removeDecoration(this.draggedOverDecoration),this.decorations.removeDecoration(this.draggingDecoration))}handleTreeHandler(d){this._extensionTreeHandle=d,this.treeHandlerReadyDeffer.resolve()}getDragURI(d){return this.treeViewDragAndDropController.handleDrag?d.uri?m.Uri.revive(d.uri).toString():d.treeItemId:null}getDragLabel(d){if(!this.treeViewDragAndDropController.handleDrag)return;if(d.length>1)return String(d.length);const y=d[0];return y.displayName?y.displayName:y.uri?this.labelService.getName(m.URI.from(y.uri)):void 0}handleDragAndLog(d,y,b,A){return d.handleDrag(y,b,A).then(S=>{if(S){const D=[];for(const I of S.entries())I[0]!==this.treeMimeType&&d.dragMimeTypes.findIndex(w=>w===I[0])<0&&D.push(I[0]);D.length&&this.logger.warn(`Drag and drop controller for tree ${this.treeViewId} adds the following data transfer types but does not declare them in dragMimeTypes: ${D.join(", ")}`)}return S})}addExtensionProvidedTransferTypes(d,y){var b;if(!d.dataTransfer||!this.treeViewDragAndDropController)return;const A=(0,m.uuid)();this.dragCancellationToken=new m.CancellationTokenSource,this.treeViewsDragAndDropService.addDragOperationTransfer(A,this.handleDragAndLog(this.treeViewDragAndDropController,y,A,this.dragCancellationToken.token)),this.treeItemsTransfer.setData([new s.DraggedTreeItemsIdentifier(A)],s.DraggedTreeItemsIdentifier.prototype),this.treeViewDragAndDropController.dragMimeTypes.find(S=>S===m.Mimes.uriList)&&((b=d.dataTransfer)===null||b===void 0||b.setData(s.DataTransfers.RESOURCES,"")),this.treeViewDragAndDropController.dragMimeTypes.forEach(S=>{var D;(D=d.dataTransfer)===null||D===void 0||D.setData(S,"")})}addResourceInfoToTransfer(d,y){if(y.length&&d.dataTransfer){const b=y.filter(A=>A.scheme===m.Schemes.file).map(A=>A.fsPath);b.length&&d.dataTransfer.setData(s.CodeDataTransfers.FILES,JSON.stringify(b))}}getCtxMenuNodes(d){return this.getMenuNodes(d)[1]}getMenuNodes(d){const y=this.contextKeyService.createScoped();y.createKey("view",this.treeViewId),y.createKey("viewItem",d);const b=this.menuService.createMenu(v.MenuId.ViewItemContext,y),A=(0,v.generateCtxMenu)({menus:b,separator:"inline"});return b.dispose(),y.dispose(),A}getInlineMenuNodes(d){return this.getMenuNodes(d)[0]}collapseAll(){this.treeModel.root.collapsedAll()}async refreshById(d){const y=this.treeViewDataProvider.getTreeNodeIdByTreeItemId(d);if(!y)return;const b=this.treeModel.root.getTreeNodeById(y);b&&(u.ExtensionCompositeTreeNode.is(b)?await b.refresh():b.parent&&await b.parent.refresh())}async refresh(d){var y;await this.whenReady,d?await this.refreshById(d.id):await((y=this.treeModel.root)===null||y===void 0?void 0:y.refresh())}async reveal(d,y={}){return await this.whenReady,this.revealDelayer.isTriggered()||this.revealDelayer.cancel(),this.revealDelayer.trigger(async()=>{var b;await this.treeHandlerReadyDeffer.promise,this.treeModel.root.branchSize===0&&await this.refresh();const A=this.treeViewDataProvider.getTreeNodeIdByTreeItemId(d);if(!A)return;const S=this.treeModel.root.getTreeNodeById(A);if(!S)return;const D=(0,m.isUndefinedOrNull)(y.select)?!1:y.select,I=(0,m.isUndefinedOrNull)(y.focus)?!1:y.focus;let w=Math.min((0,m.isNumber)(y.expand)?y.expand:y.expand===!0?1:0,3),T=await((b=this.extensionTreeHandle)===null||b===void 0?void 0:b.ensureVisible(S.path));for(T&&(D&&this.selectNodeDecoration(T),I&&this.activeNodeFocusedDecoration(T,!1,!0));u.ExtensionCompositeTreeNode.is(T)&&w>0;w--)await this.extensionTreeHandle.expandNode(T),T=T?.children?T?.children[0]:void 0})}};t.ExtensionTreeViewModel=E,E.DEFAULT_REVEAL_DELAY=500,E.MS_TILL_DRAGGED_OVER_EXPANDS=500,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],E.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(c),r.__metadata("design:type",g.TreeViewDataProvider)],E.prototype,"treeViewDataProvider",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewDragAndDropController),r.__metadata("design:type",g.TreeViewDragAndDropController)],E.prototype,"treeViewDragAndDropController",void 0),r.__decorate([(0,o.Autowired)(_.PreferenceService),r.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewId),r.__metadata("design:type",String)],E.prototype,"treeViewId",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewBaseOptions),r.__metadata("design:type",Object)],E.prototype,"treeViewOptions",void 0),r.__decorate([(0,o.Autowired)(v.AbstractMenuService),r.__metadata("design:type",v.AbstractMenuService)],E.prototype,"menuService",void 0),r.__decorate([(0,o.Autowired)(_.IContextKeyService),r.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(_.CommandService),r.__metadata("design:type",Object)],E.prototype,"commandService",void 0),r.__decorate([(0,o.Autowired)(_.LabelService),r.__metadata("design:type",_.LabelService)],E.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(m.ILogger),r.__metadata("design:type",Object)],E.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(t.ITreeViewsService),r.__metadata("design:type",Object)],E.prototype,"treeViewsDragAndDropService",void 0),t.ExtensionTreeViewModel=E=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],E)},72217:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTreeNode=t.ExtensionCompositeTreeNode=t.ExtensionTreeRoot=void 0;const n=e(97267),r=e(43718);class o extends n.CompositeTreeNode{static is(m){return!!m&&"children"in m&&!m.parent}constructor(m,p=""){super(m,void 0),this.treeViewId=p}get treeItemId(){return`TreeViewRoot_${this.treeViewId}`}get name(){return`TreeViewRoot_${this.id}`}get expanded(){return!0}get displayName(){return this._displayName}dispose(){super.dispose()}}t.ExtensionTreeRoot=o;class l extends n.CompositeTreeNode{constructor(m,p,s,g="",a="",h="",u,c="",E="",f,d,y,b,A){super(m,p,void 0,{name:encodeURIComponent(E)}),this.description=g,this.icon=a,this.contextValue=c,this.treeItemId=E,this.actions=f,this._checkboxInfo=d,this._accessibilityInformation=y,this._resolved=!1,this.isExpanded=b||!1,this.sourceUri=A,this._command=u,this._tooltip=h,(0,r.isString)(s)?this._displayName=s:(0,r.isObject)(s)&&(this._displayName=s.label,this._hightlights=s.highlights,this._strikethrough=s.strikethrough)}get resolved(){return this._resolved}get command(){return this._command}get tooltip(){return this._tooltip}get displayName(){return this._displayName}get checkboxInfo(){return this._checkboxInfo}get accessibilityInformation(){var m,p;return{role:((m=this._accessibilityInformation)===null||m===void 0?void 0:m.role)||"treeitem",label:((p=this._accessibilityInformation)===null||p===void 0?void 0:p.label)||this.displayName}}get strikethrough(){return this._strikethrough}get uri(){return this.sourceUri&&r.Uri.from(this.sourceUri)}get highlights(){return this._hightlights}async resolveTreeItem(){var m;const p=await this._tree.resolveTreeItem(this._tree.treeViewId,this.treeItemId);p&&(this._tooltip=typeof p.tooltip=="string"?p.tooltip:(m=p.tooltip)===null||m===void 0?void 0:m.value,this._command=p.command),this._resolved=!0}dispose(){super.dispose()}}t.ExtensionCompositeTreeNode=l;class _ extends n.TreeNode{constructor(m,p,s,g="",a="",h,u,c="",E="",f,d,y,b){super(m,p,void 0,{name:encodeURIComponent(E)}),this.description=g,this.icon=a,this._tooltip=h,this._command=u,this.contextValue=c,this.treeItemId=E,this.actions=f,this._checkboxInfo=d,this._accessibilityInformation=y,this.sourceUri=b,this._resolved=!1,(0,r.isString)(s)?this._displayName=s:(0,r.isObject)(s)&&(this._displayName=s.label,this._hightlights=s.highlights,this._strikethrough=s.strikethrough)}get resolved(){return this._resolved}get command(){return this._command}get uri(){return this.sourceUri&&r.Uri.from(this.sourceUri)}get tooltip(){return this._tooltip}get displayName(){return this._displayName}get checkboxInfo(){return this._checkboxInfo}get accessibilityInformation(){var m,p;return{role:((m=this._accessibilityInformation)===null||m===void 0?void 0:m.role)||"treeitem",label:((p=this._accessibilityInformation)===null||p===void 0?void 0:p.label)||this.displayName}}get strikethrough(){return this._strikethrough}get highlights(){return this._hightlights}async resolveTreeItem(){var m;const p=await this._tree.resolveTreeItem(this._tree.treeViewId,this.treeItemId);p&&(this._tooltip=typeof p.tooltip=="string"?p.tooltip:(m=p.tooltip)===null||m===void 0?void 0:m.value,this._command=p.command),this._resolved=!0}}t.ExtensionTreeNode=_},38894:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowActivityTimer=void 0;const n=e(41869),r=30,o=1e3;class l extends n.Disposable{constructor(v,m=30,p=1e3){super(),this.window=v,this.activityCount=0,this.maxInactivityCount=r,this.inactivityCheckInterval=o,this.isActive=!0,this.activeStateChangedEmitter=new n.Emitter,this.resetInactivityTimer=()=>{this.activityCount=0,this.setActiveState(!0),this.inactivityCheckTimer||this.startInactivityCheck()},this.checkInactivity=()=>{this.activityCount++,this.activityCount>=this.maxInactivityCount&&(this.setActiveState(!1),this.stopInactivityCheck())},this.maxInactivityCount=m,this.inactivityCheckInterval=p,this.setupActivityListeners()}get onDidChangeActiveState(){return this.activeStateChangedEmitter.event}setActiveState(v){this.isActive!==v&&(this.isActive=v,this.activeStateChangedEmitter.fire(v))}setupActivityListeners(){this.window.addEventListener("mousedown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.addEventListener("keydown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.addEventListener("touchstart",this.resetInactivityTimer,{passive:!0,capture:!0})}startInactivityCheck(){this.stopInactivityCheck(),this.inactivityCheckTimer=setInterval(()=>{this.checkInactivity()},this.inactivityCheckInterval)}stopInactivityCheck(){this.inactivityCheckTimer&&(clearInterval(this.inactivityCheckTimer),this.inactivityCheckTimer=void 0)}dispose(){this.stopInactivityCheck(),this.activeStateChangedEmitter.dispose(),super.dispose(),this.window.removeEventListener("mousedown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.removeEventListener("keydown",this.resetInactivityTimer,{passive:!0,capture:!0}),this.window.removeEventListener("touchstart",this.resetInactivityTimer,{passive:!0,capture:!0})}}t.WindowActivityTimer=l},72980:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SETTINGS_COMMAND_OPEN_SETTINGS_JSON=t.SETTINGS_COMMAND_OPEN_GLOBAL_SETTINGS=t.SETTINGS_COMMAND_OPEN_SETTINGS=t.COPY_RELATIVE_FILE_PATH=t.COPY_FILE_PATH=t.CLEAR_TERMINAL=t.STOP_EXTENSION_HOST_PROFILER=t.START_EXTENSION_HOST_PROFILER=t.SHOW_RUN_TIME_EXTENSION=t.RELOAD_WINDOW=t.RELOAD_WINDOW_COMMAND=t.API_OPEN_WITH_EDITOR_COMMAND_ID=t.API_OPEN_DIFF_EDITOR_COMMAND_ID=t.OPEN_WITH=t.DIFF=t.OPEN_FOLDER=t.API_OPEN_EDITOR_COMMAND_ID=t.OPEN=t.WORKBENCH_FOCUS_ACTIVE_EDITOR_GROUP=t.FILE_COMMAND_RENAME_FILE=t.WORKBENCH_FOCUS_FILES_EXPLORER=t.NEW_WORKBENCH_VIEW_TERMINAL=t.TERMINAL_COMMAND_TOGGLE_VISIBILITY=t.TERMINAL_COMMAND_FOCUS=t.REVERT_FILES=t.OPEN_EDITOR_AT_INDEX=t.CLOSE_UNMODIFIED_EDITORS=t.CLOSE_OTHER_GROUPS=t.EVEN_EDITOR_WIDTH=t.LAST_EDITOR_IN_GROUP=t.NEXT_EDITOR_IN_GROUP=t.PREVIOUS_EDITOR_IN_GROUP=t.PREVIOUS_EDITOR=t.NEXT_EDITOR=t.NAVIGATE_NEXT=t.NAVIGATE_DOWN=t.NAVIGATE_RIGHT=t.NAVIGATE_UP=t.NAVIGATE_LEFT=t.SPLIT_EDITOR_ORTHOGONAL=t.SPLIT_EDITOR=t.FILE_SAVE=t.CLOSE_OTHER_EDITORS=t.CLOSE_ALL_EDITORS=t.NEW_UNTITLED_FILE=t.SPLIT_EDITOR_DOWN=t.SPLIT_EDITOR_RIGHT=t.REVERT_AND_CLOSE_ACTIVE_EDITOR=t.WORKBENCH_CLOSE_ACTIVE_EDITOR=t.SET_CONTEXT=void 0,t.DEBUG_ADD=t.DEBUG_START=t.OPEN_MERGEEDITOR=t.WALKTHROUGHS_COMMAND_GET_STARTED=t.LAYOUT_COMMAND_MAXIMIZE_EDITOR=t.THEME_COMMAND_QUICK_SELECT=t.SEARCH_COMMAND_OPEN_SEARCH=t.SIDEBAR_TOGGLE_VISIBILITY=t.MARKER_COMMAND_TOGGLE_SHOW_ERRORS_WARNINGS=t.MARKER_COMMAND_SHOW_ERRORS_WARNINGS=t.GET_EXTENSION=t.REVEAL_IN_EXPLORER=t.EDITOR_SHOW_ALL_SYMBOLS=t.DEBUG_COMMAND_STOP=t.DEBUG_COMMAND_RESTART=t.DEBUG_COMMAND_PAUSE=t.DEBUG_COMMAND_START=t.DEBUG_COMMAND_RUN=t.DEBUG_COMMAND_CONTINUE=t.DEBUG_COMMAND_STEP_OUT=t.DEBUG_COMMAND_STEP_OVER=t.DEBUG_COMMAND_STEP_INTO=t.EDITOR_SAVE_ALL=t.EDITOR_NAVIGATE_FORWARD=t.EDITOR_NAVIGATE_BACK=t.SETTINGS_COMMAND_OPEN_GLOBAL_OPEN_KEYMAPS=void 0;const n=e(41869),r=e(66482),o=e(12456);t.SET_CONTEXT={id:"setContext"},t.WORKBENCH_CLOSE_ACTIVE_EDITOR={id:"workbench.action.closeActiveEditor",delegate:n.EDITOR_COMMANDS.CLOSE.id},t.REVERT_AND_CLOSE_ACTIVE_EDITOR={id:"workbench.action.revertAndCloseActiveEditor",delegate:n.EDITOR_COMMANDS.REVERT_AND_CLOSE.id},t.SPLIT_EDITOR_RIGHT={id:"workbench.action.splitEditorRight",delegate:n.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id},t.SPLIT_EDITOR_DOWN={id:"workbench.action.splitEditorDown",delegate:n.EDITOR_COMMANDS.SPLIT_TO_BOTTOM.id},t.NEW_UNTITLED_FILE={id:"workbench.action.files.newUntitledFile",delegate:n.EDITOR_COMMANDS.NEW_UNTITLED_FILE.id},t.CLOSE_ALL_EDITORS={id:"workbench.action.closeAllEditors",delegate:n.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id},t.CLOSE_OTHER_EDITORS={id:"workbench.action.closeOtherEditors",delegate:n.EDITOR_COMMANDS.CLOSE_OTHER_IN_GROUP.id},t.FILE_SAVE={id:"workbench.action.files.save",delegate:n.EDITOR_COMMANDS.SAVE_CURRENT.id},t.SPLIT_EDITOR={id:"workbench.action.splitEditor",delegate:n.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id},t.SPLIT_EDITOR_ORTHOGONAL={id:"workbench.action.splitEditorOrthogonal",delegate:n.EDITOR_COMMANDS.SPLIT_TO_BOTTOM.id},t.NAVIGATE_LEFT={id:"workbench.action.navigateLeft",delegate:n.EDITOR_COMMANDS.NAVIGATE_LEFT.id},t.NAVIGATE_UP={id:"workbench.action.navigateUp",delegate:n.EDITOR_COMMANDS.NAVIGATE_UP.id},t.NAVIGATE_RIGHT={id:"workbench.action.navigateRight",delegate:n.EDITOR_COMMANDS.NAVIGATE_RIGHT.id},t.NAVIGATE_DOWN={id:"workbench.action.navigateDown",delegate:n.EDITOR_COMMANDS.NAVIGATE_DOWN.id},t.NAVIGATE_NEXT={id:"workbench.action.navigateEditorGroups",delegate:n.EDITOR_COMMANDS.NAVIGATE_NEXT.id},t.NEXT_EDITOR={id:"workbench.action.nextEditor",delegate:n.EDITOR_COMMANDS.NEXT.id},t.PREVIOUS_EDITOR={id:"workbench.action.previousEditor",delegate:n.EDITOR_COMMANDS.PREVIOUS.id},t.PREVIOUS_EDITOR_IN_GROUP={id:"workbench.action.previousEditorInGroup",delegate:n.EDITOR_COMMANDS.PREVIOUS_IN_GROUP.id},t.NEXT_EDITOR_IN_GROUP={id:"workbench.action.nextEditorInGroup",delegate:n.EDITOR_COMMANDS.NEXT_IN_GROUP.id},t.LAST_EDITOR_IN_GROUP={id:"workbench.action.lastEditorInGroup",delegate:n.EDITOR_COMMANDS.LAST_IN_GROUP.id},t.EVEN_EDITOR_WIDTH={id:"workbench.action.eventEditorWidths",delegate:n.EDITOR_COMMANDS.EVEN_EDITOR_GROUPS.id},t.CLOSE_OTHER_GROUPS={id:"workbench.action.closeEditorsInOtherGroups",delegate:n.EDITOR_COMMANDS.CLOSE_OTHER_GROUPS.id},t.CLOSE_UNMODIFIED_EDITORS={id:"workbench.action.closeUnmodifiedEditors",delegate:n.EDITOR_COMMANDS.CLOSE_SAVED.id},t.OPEN_EDITOR_AT_INDEX={id:"workbench.action.openEditorAtIndex",delegate:n.EDITOR_COMMANDS.OPEN_EDITOR_AT_INDEX.id},t.REVERT_FILES={id:"workbench.action.files.revert",delegate:n.EDITOR_COMMANDS.REVERT_DOCUMENT.id},t.TERMINAL_COMMAND_FOCUS={id:"workbench.action.terminal.focus",delegate:"workbench.view.terminal"},t.TERMINAL_COMMAND_TOGGLE_VISIBILITY={id:"workbench.action.terminal.toggleTerminal",delegate:"container.toggle.terminal"},t.NEW_WORKBENCH_VIEW_TERMINAL={id:"workbench.action.terminal.new",delegate:n.TERMINAL_COMMANDS.ADD.id},t.WORKBENCH_FOCUS_FILES_EXPLORER={id:"workbench.files.action.focusFilesExplorer",delegate:n.FILE_COMMANDS.FOCUS_FILES.id},t.FILE_COMMAND_RENAME_FILE={id:"renameFile",delegate:n.FILE_COMMANDS.RENAME_FILE.id},t.WORKBENCH_FOCUS_ACTIVE_EDITOR_GROUP={id:"workbench.action.focusActiveEditorGroup",delegate:n.EDITOR_COMMANDS.FOCUS_ACTIVE_EDITOR_GROUP.id},t.OPEN={id:"vscode.open"},t.API_OPEN_EDITOR_COMMAND_ID={id:n.EDITOR_COMMANDS.API_OPEN_EDITOR_COMMAND_ID,delegate:t.OPEN.id},t.OPEN_FOLDER={id:"vscode.openFolder",delegate:n.FILE_COMMANDS.VSCODE_OPEN_FOLDER.id},t.DIFF={id:"vscode.diff"},t.OPEN_WITH={id:"vscode.openWith"},t.API_OPEN_DIFF_EDITOR_COMMAND_ID={id:n.EDITOR_COMMANDS.API_OPEN_DIFF_EDITOR_COMMAND_ID,delegate:t.DIFF.id},t.API_OPEN_WITH_EDITOR_COMMAND_ID={id:n.EDITOR_COMMANDS.API_OPEN_WITH_EDITOR_COMMAND_ID,delegate:t.OPEN_WITH.id},t.RELOAD_WINDOW_COMMAND={id:"reload_window"},t.RELOAD_WINDOW={id:"workbench.action.reloadWindow",delegate:t.RELOAD_WINDOW_COMMAND.id},t.SHOW_RUN_TIME_EXTENSION={id:"workbench.action.showRuntimeExtensions",label:"Show Running Extensions"},t.START_EXTENSION_HOST_PROFILER={id:"workbench.action.extensionHostProfiler.start",label:"Start Extension Host Profile"},t.STOP_EXTENSION_HOST_PROFILER={id:"workbench.action.extensionHostProfiler.stop",label:"Stop Extension Host Profile"},t.CLEAR_TERMINAL={id:"workbench.action.terminal.clear",delegate:n.TERMINAL_COMMANDS.CLEAR_CONTENT.id},t.COPY_FILE_PATH={id:"copyFilePath",label:n.FILE_COMMANDS.COPY_PATH.label},t.COPY_RELATIVE_FILE_PATH={id:"copyRelativeFilePath",label:n.FILE_COMMANDS.COPY_RELATIVE_PATH.label},t.SETTINGS_COMMAND_OPEN_SETTINGS={id:"workbench.action.openSettings",delegate:"core.openpreference"},t.SETTINGS_COMMAND_OPEN_GLOBAL_SETTINGS={id:"workbench.action.openGlobalSettings",delegate:n.COMMON_COMMANDS.OPEN_PREFERENCES.id},t.SETTINGS_COMMAND_OPEN_SETTINGS_JSON={id:"workbench.action.openSettingsJson",delegate:"preference.open.source"},t.SETTINGS_COMMAND_OPEN_GLOBAL_OPEN_KEYMAPS={id:"workbench.action.openGlobalKeybindings",delegate:n.COMMON_COMMANDS.OPEN_KEYMAPS.id},t.EDITOR_NAVIGATE_BACK={id:"workbench.action.navigateBack",delegate:n.EDITOR_COMMANDS.GO_BACK.id},t.EDITOR_NAVIGATE_FORWARD={id:"workbench.action.navigateForward",delegate:n.EDITOR_COMMANDS.GO_FORWARD.id},t.EDITOR_SAVE_ALL={id:"workbench.action.files.saveAll",delegate:n.EDITOR_COMMANDS.SAVE_ALL.id},t.DEBUG_COMMAND_STEP_INTO={id:"workbench.action.debug.stepInto",delegate:r.DEBUG_COMMANDS.NEXT.id},t.DEBUG_COMMAND_STEP_OVER={id:"workbench.action.debug.stepOver",delegate:r.DEBUG_COMMANDS.OVER.id},t.DEBUG_COMMAND_STEP_OUT={id:"workbench.action.debug.stepOut",delegate:r.DEBUG_COMMANDS.PREV.id},t.DEBUG_COMMAND_CONTINUE={id:"workbench.action.debug.continue",delegate:r.DEBUG_COMMANDS.CONTINUE.id},t.DEBUG_COMMAND_RUN={id:"workbench.action.debug.run",delegate:r.DEBUG_COMMANDS.START.id},t.DEBUG_COMMAND_START={id:"workbench.action.debug.start",delegate:r.DEBUG_COMMANDS.START.id},t.DEBUG_COMMAND_PAUSE={id:"workbench.action.debug.pause",delegate:r.DEBUG_COMMANDS.PAUSE.id},t.DEBUG_COMMAND_RESTART={id:"workbench.action.debug.restart",delegate:r.DEBUG_COMMANDS.RESTART.id},t.DEBUG_COMMAND_STOP={id:"workbench.action.debug.stop",delegate:r.DEBUG_COMMANDS.STOP.id},t.EDITOR_SHOW_ALL_SYMBOLS={id:"workbench.action.showAllSymbols",delegate:n.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL.id},t.REVEAL_IN_EXPLORER={id:"revealInExplorer",delegate:n.FILE_COMMANDS.REVEAL_IN_EXPLORER.id},t.GET_EXTENSION={id:"extension.getDescription"},t.MARKER_COMMAND_SHOW_ERRORS_WARNINGS={id:"workbench.action.showErrorsWarnings",delegate:n.MARKER_COMMANDS.SHOW_ERRORS_WARNINGS.id},t.MARKER_COMMAND_TOGGLE_SHOW_ERRORS_WARNINGS={id:"workbench.actions.view.problems",delegate:n.MARKER_COMMANDS.TOGGLE_SHOW_ERRORS_WARNINGS.id},t.SIDEBAR_TOGGLE_VISIBILITY={id:"workbench.action.toggleSidebarVisibility",delegate:n.LAYOUT_COMMANDS.TOGGLE_SIDEBAR_VISIBILITY.id},t.SEARCH_COMMAND_OPEN_SEARCH={id:"workbench.action.findInFiles",delegate:n.SEARCH_COMMANDS.OPEN_SEARCH.id},t.THEME_COMMAND_QUICK_SELECT={id:"workbench.action.selectTheme",delegate:o.THEME_TOGGLE_COMMAND.id},t.LAYOUT_COMMAND_MAXIMIZE_EDITOR={id:"workbench.action.maximizeEditor",delegate:n.LAYOUT_COMMANDS.MAXIMIZE_EDITOR.id},t.WALKTHROUGHS_COMMAND_GET_STARTED={id:"walkthroughs.get.started"},t.OPEN_MERGEEDITOR={id:"_open.mergeEditor",delegate:n.EDITOR_COMMANDS.OPEN_MERGEEDITOR.id,label:"Open Merge Editor"},t.DEBUG_START={id:"workbench.action.debug.selectandstart",delegate:"debug.start"},t.DEBUG_ADD={id:"debug.addConfiguration",delegate:"debug.showAllAutomaticDebugConfigurations"}},3098:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(77666),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){const p=this;for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=[];for(const u of a){const{title:c,description:E}=u;switch(u.type){case"action":h.push({title:c,description:E,iconClass:(0,o.getIcon)(u.icon),click:()=>{u.command&&p.commandService.executeCommand(u.command)},type:u.type});break;case"enum":h.push({type:u.type,title:c,description:E,select:f=>{u.command&&p.commandService.executeCommand(u.command,f)},enum:u.enum,defaultValue:u.defaultValue});break}}this.addDispose(this.toolbarActionService.registryActionGroup(g,h))}}dispose(){super.dispose()}};t.ActionsContributionPoint=v,n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],v.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.IToolbarActionService),n.__metadata("design:type",Object)],v.prototype,"toolbarActionService",void 0),t.ActionsContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("actions"),(0,_.LifeCycle)(3)],v)},57541:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BreakpointsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(37499),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){for(const m of this.contributesMap){const{contributes:p}=m;p.forEach(s=>{this.debugConfigurationManager.addSupportBreakpoints(s.language)})}}unregister(m){m.forEach(p=>{this.debugConfigurationManager.removeSupportBreakpoints(p.language)})}dispose(){for(const m of this.contributesMap){const{contributes:p}=m;this.unregister(p)}}};t.BreakpointsContributionPoint=_,n.__decorate([(0,r.Autowired)(o.DebugConfigurationManager),n.__metadata("design:type",o.DebugConfigurationManager)],_.prototype,"debugConfigurationManager",void 0),t.BreakpointsContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("breakpoints"),(0,l.LifeCycle)(3)],_)},37614:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52416),_=e(99220),v="^\\w+[.\\w+]*$";let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{contributes:g}=s;for(const a of g)a&&a.description&&(a.description=(0,o.replaceLocalizePlaceholder)(a.description)),this.themeService.registerColor(a)}}};t.ColorsContributionPoint=m,m.schema={description:(0,o.localize)("contributes.color","Contributes extension defined themable colors"),type:"array",items:{type:"object",properties:{id:{type:"string",description:(0,o.localize)("contributes.color.id","The identifier of the themable color"),pattern:v,patternErrorMessage:(0,o.localize)("contributes.color.id.format","Identifiers should be in the form aa[.bb]*")},description:{type:"string",description:(0,o.localize)("contributes.color.description","The description of the themable color")},defaults:{type:"object",properties:{light:{description:(0,o.localize)("contributes.defaults.light","The default color for light themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default."),type:"string",anyOf:[{type:"string",format:"color-hex"}]},dark:{description:(0,o.localize)("contributes.defaults.dark","The default color for dark themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default."),type:"string",anyOf:[{type:"string",format:"color-hex"}]},highContrast:{description:(0,o.localize)("contributes.defaults.highContrast","The default color for high contrast dark themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default. If not provided, the `dark` color is used as default for high contrast dark themes."),type:"string",anyOf:[{type:"string",format:"color-hex"}]},highContrastLight:{description:(0,o.localize)("contributes.defaults.highContrastLight","The default color for high contrast light themes. Either a color value in hex (#RRGGBB[AA]) or the identifier of a themable color which provides the default. If not provided, the `light` color is used as default for high contrast light themes."),type:"string",anyOf:[{type:"string",format:"color-hex"}]}}}}}},n.__decorate([(0,r.Autowired)(l.IThemeService),n.__metadata("design:type",Object)],m.prototype,"themeService",void 0),t.ColorsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("colors"),(0,_.LifeCycle)(4)],m)},8079:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52416),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=this.extensionManageService.getExtensionInstanceByExtId(g);h&&a.forEach(u=>{this.addDispose(this.commandRegistry.registerCommand({category:this.getLocalizeFromNlsJSON(u.category,g),label:this.getLocalizeFromNlsJSON(u.title,g),shortLabel:u.shortTitle?this.getLocalizeFromNlsJSON(u.shortTitle,g):void 0,categoryLocalized:this.createLocalizedStr(u.category,g),labelLocalized:this.createLocalizedStr(u.title,g),shortLabelLocalized:u.shortTitle?this.createLocalizedStr(u.shortTitle,g):void 0,id:u.command,iconClass:typeof u.icon=="string"&&this.iconService.fromString(u.icon)||this.iconService.fromIcon(h.path,u.icon,l.IconType.Background),enablement:u.enablement},{execute:(...c)=>this.extensionService.executeExtensionCommand(u.command,c)})),this.config.noExtHost?this.addDispose(this.extensionCommandManager.registerExtensionCommandEnv(u.command,"worker")):this.addDispose(this.extensionCommandManager.registerExtensionCommandEnv(u.command,"node"))})}}};t.CommandsContributionPoint=m,n.__decorate([(0,r.Autowired)(o.CommandRegistry),n.__metadata("design:type",Object)],m.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(_.ExtensionService),n.__metadata("design:type",_.ExtensionService)],m.prototype,"extensionService",void 0),n.__decorate([(0,r.Autowired)(_.IExtCommandManagement),n.__metadata("design:type",_.IExtCommandManagement)],m.prototype,"extensionCommandManager",void 0),n.__decorate([(0,r.Autowired)(l.IIconService),n.__metadata("design:type",Object)],m.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.CommandsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("commands"),(0,_.LifeCycle)(3)],m)},6143:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(99220),v=e(71354),m=e(25588);let p=class extends _.VSCodeContributePoint{async contribute(){if(this.localizationsContributionPoint.hasUncontributedPoint())try{await this.localizationsContributionPoint.whenContributed}catch(g){this.logger.error("Failed to wait contribute localizations.",g)}for(const g of this.contributesMap){const{extensionId:a,contributes:h}=g,u=this.extensionManageService.getExtensionInstanceByExtId(a);if(!u)continue;let c=h;Array.isArray(c)||(c=[c]);const E=[];for(const f of c)if(f&&f.properties){const d={};for(const y of Object.keys(f.properties)){const b=f.properties[y];d[y]=b,b.description&&(d[y].description=this.getLocalizeFromNlsJSON(b.description,a)),b.enumDescriptions&&(d[y].enumDescriptions=b.enumDescriptions.map(A=>this.getLocalizeFromNlsJSON(A,a))),b.markdownDescription&&(d[y].markdownDescription=this.getLocalizeFromNlsJSON(b.markdownDescription,a))}f.properties=d,f.title=this.getLocalizeFromNlsJSON(f.title,a)||f.title,this.updateConfigurationSchema(f),E.push({title:f.title,extensionId:a,preferences:Object.keys(f.properties).map(y=>({id:y}))})}if(E.length===1){const f=E[0];this.addDispose(this.preferenceSettingsService.registerSettingSection("extension",f))}else E.length>1&&this.addDispose(this.preferenceSettingsService.registerSettingSection("extension",{title:this.getLocalizeFromNlsJSON(u.packageJSON.displayName,a)||u.packageJSON.displayName,subSections:E}))}}updateConfigurationSchema(g){this.validateConfigurationSchema(g),this.addDispose(this.preferenceSchemaProvider.setSchema(g))}validateConfigurationSchema(g){for(const a in g.properties){const h=g.properties[a];if(h.type==="string[]"&&(h.type="array"),h.type!=="object")continue;typeof h.default>"u"&&this.validateDefaultValue(h);const u=h.properties;if(u)for(const c in u)typeof u[c]!="object"&&delete u[c]}}validateDefaultValue(g){g.default={};const a=g.properties;if(a)for(const h in a)a[h].default&&(g.default[h]=a[h].default,delete a[h].default)}};t.ConfigurationContributionPoint=p,n.__decorate([(0,r.Autowired)(o.PreferenceSchemaProvider),n.__metadata("design:type",o.PreferenceSchemaProvider)],p.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],p.prototype,"preferenceSettingsService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],p.prototype,"extensionManageService",void 0),n.__decorate([(0,r.Autowired)(m.LocalizationsContributionPoint),n.__metadata("design:type",m.LocalizationsContributionPoint)],p.prototype,"localizationsContributionPoint",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),t.ConfigurationContributionPoint=p=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("configuration"),(0,_.LifeCycle)(2)],p)},4653:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationDefaultsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(99220);let _=class extends l.VSCodeContributePoint{contribute(){for(const m of this.contributesMap){const{contributes:p}=m;p&&this.updateDefaultOverridesSchema(p)}}updateDefaultOverridesSchema(m){for(const p in m){const s=m[p];if(o.OVERRIDE_PROPERTY_PATTERN.test(p)){const g=p.match(o.OVERRIDE_PROPERTY_PATTERN)[1];Object.keys(s).forEach(a=>{this.defaultPreferenceProvider.setPreference(a,s[a],void 0,g)})}}}};t.ConfigurationDefaultsContributionPoint=_,n.__decorate([(0,r.Autowired)(o.PreferenceProvider,{tag:o.PreferenceScope.Default}),n.__metadata("design:type",o.PreferenceProvider)],_.prototype,"defaultPreferenceProvider",void 0),t.ConfigurationDefaultsContributionPoint=_=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("configurationDefaults"),(0,l.LifeCycle)(3)],_)},21086:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomEditorContributionPoint=void 0,t.createCustomEditorComponent=u;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(43718),v=e(57517),m=e(65046),p=e(50234),s=e(99220),g=e(35912),a=e(71354);let h=class extends s.VSCodeContributePoint{constructor(){super(...arguments),this.options=new Map}contribute(){for(const E of this.contributesMap){const{extensionId:f,contributes:d}=E;d.forEach(y=>{this.registerSingleCustomEditor(y,f)}),this.addDispose(this.eventBus.on(g.CustomEditorOptionChangeEvent,y=>{this.options.has(y.payload.viewType)&&this.options.set(y.payload.viewType,y.payload.options)}))}}getOptions(E){return this.options.get(E)||{}}registerSingleCustomEditor(E,f){try{const d=E.viewType;this.options.set(E.viewType,{});const y=`${_.CUSTOM_EDITOR_SCHEME}-${E.viewType}`,b=u(E.viewType,y,()=>this.getOptions(E.viewType)),A=E.selector.map(D=>D.filenamePattern).filter(D=>typeof D=="string");if(A.length===0)return;const S=E.priority||v.IEditorPriority.default;this.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(()=>10,(D,I)=>{for(const w of A)((0,_.match)(w,D.uri.path.toString().toLowerCase())||(0,_.match)(w,D.uri.path.base.toLowerCase()))&&I.push({componentId:y,type:v.EditorOpenType.component,title:E.displayName?this.getLocalizeFromNlsJSON(E.displayName,f):E.viewType,weight:S===v.IEditorPriority.default?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,priority:S,saveResource:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldSaveEvent({uri:T.uri,viewType:d,cancellationToken:new _.CancellationTokenSource().token})),revertResource:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldRevertEvent({uri:T.uri,viewType:d,cancellationToken:new _.CancellationTokenSource().token})),undo:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldEditEvent({uri:T.uri,viewType:d,type:"undo"})),redo:T=>this.eventBus.fireAndAwait(new g.CustomEditorShouldEditEvent({uri:T.uri,viewType:d,type:"redo"}))})})),this.addDispose(this.editorComponentRegistry.registerEditorComponent({uid:y,component:b,metadata:{customEditor:d}}))}catch(d){this.logger.error(d)}}};t.CustomEditorContributionPoint=h,n.__decorate([(0,o.Autowired)(v.EditorComponentRegistry),n.__metadata("design:type",v.EditorComponentRegistry)],h.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,o.Autowired)(_.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],h.prototype,"eventBus",void 0),t.CustomEditorContributionPoint=h=n.__decorate([(0,o.Injectable)(),(0,s.Contributes)("customEditors"),(0,s.LifeCycle)(2)],h);function u(c,E,f){return({resource:d})=>{const y=(0,l.useInjectable)(a.IActivationEventService),b=(0,l.useInjectable)(m.IWebviewService),A=(0,l.useInjectable)(l.IEventBus),S=(0,l.useInjectable)(s.ExtensionService);let D=null;return r.default.useEffect(()=>{const I=new _.CancellationTokenSource,w=new _.Disposable;return Promise.all([y.fireEvent("onCustomEditor",c),S.eagerExtensionsActivated.promise]).then(()=>{if(I.token.isCancellationRequested)return;const T=b.createWebview(f().webviewOptions);if(T&&D){const R=new p.WebviewMounter(T,D,document.getElementById("workbench-editor"),document.getElementById("workbench-editor"));T.onRemove(()=>{R.dispose()}),w.addDispose({dispose:()=>{T.remove(),T.dispose(),A.fire(new g.CustomEditorShouldHideEvent({uri:d.uri,viewType:c}))}}),A.fire(new g.CustomEditorShouldDisplayEvent({uri:d.uri,viewType:c,webviewPanelId:T.id,cancellationToken:I.token,openTypeId:E}))}}),()=>{w.dispose(),I.cancel()}},[]),r.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative"},className:"editor-webview-webview-component",ref:I=>D=I})}}},61361:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggersContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(66482),v=e(37499),m=e(69946),p=e(99220),s=e(71354),{deepClone:g}=l.objects,a={enum:["neverOpen","openOnSessionStart","openOnFirstSessionStart"],default:"openOnFirstSessionStart",description:(0,l.localize)("preference.debug.internalConsoleOptions")};let h=class extends p.VSCodeContributePoint{contribute(){for(const c of this.contributesMap){const{extensionId:E,contributes:f}=c,d=this.extensionManageService.getExtensionInstanceByExtId(E);d&&this.debugService.registerDebugContributionPoints(d.path,this.resolveDebuggers(f,d))}this.debugSchemaManager.update()}resolveDebuggers(c,E){return c.map(f=>{const d=this.doResolveDebuggers(f,E);return this.debugConfigurationManager.registerDebugger(d),d})}doResolveDebuggers(c,E){const f={type:c.type,label:c.label?(0,o.replaceLocalizePlaceholder)(c.label,E.id):"",languages:c.languages,enableBreakpointsFor:c.enableBreakpointsFor,variables:c.variables,adapterExecutableCommand:c.adapterExecutableCommand,configurationSnippets:(c.configurationSnippets||[]).map(d=>(d.label&&(d.label=(0,o.replaceLocalizePlaceholder)(d.label,E.id)),d.description&&(d.description=(0,o.replaceLocalizePlaceholder)(d.description,E.id)),d.markdownDescription&&(d.markdownDescription=(0,o.replaceLocalizePlaceholder)(d.markdownDescription,E.id)),d)),win:c.win,winx86:c.winx86,windows:c.windows,osx:c.osx,linux:c.linux,program:c.program,args:c.args,runtime:c.runtime,runtimeArgs:c.runtimeArgs};return f.configurationAttributes=c.configurationAttributes&&this.resolveSchemaAttributes(c.type,c.configurationAttributes,E),f}resolveSchemaAttributes(c,E,f){const d={},y=b=>{Object.keys(b).forEach(A=>{b[A].properties&&y(b[A].properties),typeof b[A]=="object"&&(b[A].description=(0,o.replaceLocalizePlaceholder)(b[A].description,f.id),b[A].markdownDescription=(0,o.replaceLocalizePlaceholder)(b[A].markdownDescription,f.id))})};return Object.keys(E).map(b=>{const A=g(E[b]),S=["name","type","request"];A.required=A.required&&A.required.length?S.concat(A.required):S,A.additionalProperties=!1,A.type="object",A.properties||(A.properties={});const D=A.properties;D.type={enum:[c],description:(0,l.localize)("debug.launch.configurations.debugType"),pattern:"^(?!node2)",errorMessage:(0,l.localize)("debug.launch.configurations.debugTypeNotRecognised"),patternErrorMessage:(0,l.localize)("debug.launch.configurations.node2NotSupported")},D.name={type:"string",description:(0,l.localize)("debug.launch.configurations.debugName"),default:"Launch"},D.request={enum:[b],description:(0,l.localize)("debug.launch.configurations.debugRequest")},D.debugServer={type:"number",description:(0,l.localize)("debug.launch.configurations.debugServer"),default:4711},D.preLaunchTask={anyOf:[d,{type:["string","null"]}],default:"",description:(0,l.localize)("debug.launch.configurations.debugPrelaunchTask")},D.postDebugTask={anyOf:[d,{type:["string","null"]}],default:"",description:(0,l.localize)("debug.launch.configurations.debugPostDebugTask")},D.internalConsoleOptions=a;const I=Object.assign({},D);return D.windows={type:"object",description:(0,l.localize)("debug.launch.configurations.debugWindowsConfiguration"),properties:I},D.osx={type:"object",description:(0,l.localize)("debug.launch.configurations.debugOSXConfiguration"),properties:I},D.linux={type:"object",description:(0,l.localize)("debug.launch.configurations.debugLinuxConfiguration"),properties:I},Object.keys(A.properties).forEach(w=>{A.properties[w].pattern=A.properties[w].pattern||"^(?!.*\\$\\{(env|config|command)\\.)",A.properties[w].patternErrorMessage=A.properties[w].patternErrorMessage||(0,l.localize)("deprecatedVariables","'env.', 'config.' and 'command.' are deprecated, use 'env:', 'config:' and 'command:' instead.")}),y(A.properties),A})}dispose(){for(const c of this.contributesMap){const{extensionId:E}=c,f=this.extensionManageService.getExtensionInstanceByExtId(E);f&&this.debugService.unregisterDebugContributionPoints(f.path)}}};t.DebuggersContributionPoint=h,h.schema={description:(0,l.localize)("vscode.extension.contributes.debuggers","Contributes debug adapters."),type:"array",defaultSnippets:[{body:[{type:""}]}],items:{additionalProperties:!1,type:"object",defaultSnippets:[{body:{type:"",program:"",runtime:""}}],properties:{type:{description:(0,l.localize)("vscode.extension.contributes.debuggers.type","Unique identifier for this debug adapter."),type:"string"},label:{description:(0,l.localize)("vscode.extension.contributes.debuggers.label","Display name for this debug adapter."),type:"string"},program:{description:(0,l.localize)("vscode.extension.contributes.debuggers.program","Path to the debug adapter program. Path is either absolute or relative to the extension folder."),type:"string"},args:{description:(0,l.localize)("vscode.extension.contributes.debuggers.args","Optional arguments to pass to the adapter."),type:"array"},runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.runtime","Optional runtime in case the program attribute is not an executable but requires a runtime."),type:"string"},runtimeArgs:{description:(0,l.localize)("vscode.extension.contributes.debuggers.runtimeArgs","Optional runtime arguments."),type:"array"},variables:{description:(0,l.localize)("vscode.extension.contributes.debuggers.variables","Mapping from interactive variables (e.g. ${action.pickProcess}) in `launch.json` to a command."),type:"object"},initialConfigurations:{description:(0,l.localize)("vscode.extension.contributes.debuggers.initialConfigurations","Configurations for generating the initial 'launch.json'."),type:["array","string"]},languages:{description:(0,l.localize)("vscode.extension.contributes.debuggers.languages",'List of languages for which the debug extension could be considered the "default debugger".'),type:"array"},configurationSnippets:{description:(0,l.localize)("vscode.extension.contributes.debuggers.configurationSnippets","Snippets for adding new configurations in 'launch.json'."),type:"array"},configurationAttributes:{description:(0,l.localize)("vscode.extension.contributes.debuggers.configurationAttributes","JSON schema configurations for validating 'launch.json'."),type:"object"},when:{description:(0,l.localize)("vscode.extension.contributes.debuggers.when","Condition which must be true to enable this type of debugger. Consider using 'shellExecutionSupported', 'virtualWorkspace', 'resourceScheme' or an extension-defined context key as appropriate for this."),type:"string",default:""},windows:{description:(0,l.localize)("vscode.extension.contributes.debuggers.windows","Windows specific settings."),type:"object",properties:{runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.windows.runtime","Runtime used for Windows."),type:"string"}}},osx:{description:(0,l.localize)("vscode.extension.contributes.debuggers.osx","macOS specific settings."),type:"object",properties:{runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.osx.runtime","Runtime used for macOS."),type:"string"}}},linux:{description:(0,l.localize)("vscode.extension.contributes.debuggers.linux","Linux specific settings."),type:"object",properties:{runtime:{description:(0,l.localize)("vscode.extension.contributes.debuggers.linux.runtime","Runtime used for Linux."),type:"string"}}}}}},n.__decorate([(0,r.Autowired)(_.IDebugService),n.__metadata("design:type",Object)],h.prototype,"debugService",void 0),n.__decorate([(0,r.Autowired)(v.DebugConfigurationManager),n.__metadata("design:type",v.DebugConfigurationManager)],h.prototype,"debugConfigurationManager",void 0),n.__decorate([(0,r.Autowired)(m.DebugSchemaManager),n.__metadata("design:type",m.DebugSchemaManager)],h.prototype,"debugSchemaManager",void 0),n.__decorate([(0,r.Autowired)(s.AbstractExtInstanceManagementService),n.__metadata("design:type",s.AbstractExtInstanceManagementService)],h.prototype,"extensionManageService",void 0),t.DebuggersContributionPoint=h=n.__decorate([(0,r.Injectable)(),(0,p.Contributes)("debuggers"),(0,p.LifeCycle)(4)],h)},60768:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GrammarsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(62660),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=this.extensionManageService.getExtensionInstanceByExtId(g);if(h)for(const u of a)this.textMateService.registerGrammar(u,o.URI.from(h.uri)),this.addDispose(o.Disposable.create(()=>{this.textMateService.unregisterGrammar(u)}))}}};t.GrammarsContributionPoint=m,m.schema={description:(0,o.localize)("vscode.extension.contributes.grammars","Contributes textmate tokenizers."),type:"array",defaultSnippets:[{body:[{language:"${1:id}",scopeName:"source.${2:id}",path:"./syntaxes/${3:id}.tmLanguage."}]}],items:{type:"object",defaultSnippets:[{body:{language:"${1:id}",scopeName:"source.${2:id}",path:"./syntaxes/${3:id}.tmLanguage."}}],properties:{language:{description:(0,o.localize)("vscode.extension.contributes.grammars.language","Language identifier for which this syntax is contributed to."),type:"string"},scopeName:{description:(0,o.localize)("vscode.extension.contributes.grammars.scopeName","Textmate scope name used by the tmLanguage file."),type:"string"},path:{description:(0,o.localize)("vscode.extension.contributes.grammars.path","Path of the tmLanguage file. The path is relative to the extension folder and typically starts with './syntaxes/'."),type:"string"},embeddedLanguages:{description:(0,o.localize)("vscode.extension.contributes.grammars.embeddedLanguages","A map of scope name to language id if this grammar contains embedded languages."),type:"object"},tokenTypes:{description:(0,o.localize)("vscode.extension.contributes.grammars.tokenTypes","A map of scope name to token types."),type:"object",additionalProperties:{enum:["string","comment","other"]}},injectTo:{description:(0,o.localize)("vscode.extension.contributes.grammars.injectTo","List of language scope names to which this grammar is injected to."),type:"array",items:{type:"string"}}},required:["scopeName","path"]}},n.__decorate([(0,r.Autowired)(l.ITextmateTokenizer),n.__metadata("design:type",Object)],m.prototype,"textMateService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.GrammarsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("grammars"),(0,_.LifeCycle)(2)],m)},43988:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IconsContributionPoint=t.IconThemesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(32242),l=e(43718),_=e(52416),v=e(38667),m=e(99220),p=e(71354);let s=class extends m.VSCodeContributePoint{contribute(){for(const u of this.contributesMap){const{extensionId:c,contributes:E}=u,f=E.map(y=>({...y,label:this.getLocalizeFromNlsJSON(y.label,c),extensionId:c})),d=this.extensionManageService.getExtensionInstanceByExtId(c);d&&this.iconService.registerIconThemes(f,l.URI.from(d.uri))}}};t.IconThemesContributionPoint=s,n.__decorate([(0,r.Autowired)(_.IIconService),n.__metadata("design:type",Object)],s.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],s.prototype,"extensionManageService",void 0),t.IconThemesContributionPoint=s=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("iconThemes"),(0,m.LifeCycle)(2)],s);const g={ttf:"truetype",woff:"woff",woff2:"woff2"};let a=class extends m.VSCodeContributePoint{constructor(){super(...arguments),this.iconRegistry=(0,v.getIconRegistry)()}contribute(){for(const{extensionId:u,contributes:c}of this.contributesMap)Object.keys(c).forEach(E=>{const f=c[E],d=this.extensionManageService.getExtensionInstanceByExtId(u);if(d){const y=f.default;if(typeof y=="string")this.iconRegistry.registerIcon(E,{id:y},f.description);else if(typeof y=="object"&&typeof y.fontPath=="string"&&typeof y.fontCharacter=="string"){const b=l.URI.from(d.uri).resolve(f.default.fontPath),A=l.path.extname(y.fontPath).substring(1),S=g[A];if(!S){this.logger.warn((0,l.localize)("invalid.icons.default.fontPath.extension",`Expected \`contributes.icons.default.fontPath\` to have file extension 'woff', woff2' or 'ttf', is '${A}'.`));return}const D=l.path.join(u,y.fontPath),I=this.iconRegistry.registerIconFont(D,{src:[{location:this.staticResourceService.resolveStaticResource(b),format:S}]});this.iconRegistry.registerIcon(E,{fontCharacter:y.fontCharacter,font:{id:D,definition:I}},f.description)}}});this.productIconService.updateProductIconThemes()}};t.IconsContributionPoint=a,n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],a.prototype,"extensionManageService",void 0),n.__decorate([(0,r.Autowired)(_.IProductIconService),n.__metadata("design:type",Object)],a.prototype,"productIconService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.StaticResourceService)],a.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),t.IconsContributionPoint=a=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("icons"),(0,m.LifeCycle)(2)],a)},35321:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VSCodeContributesService=t.VSCodeContributesServiceToken=void 0;const n=e(85608),r=e(76003),o=e(99220),l=e(3098),_=e(57541),v=e(37614),m=e(8079),p=e(6143),s=e(4653),g=e(21086),a=e(61361),h=e(60768),u=e(43988),c=e(81404),E=e(82903),f=e(25588),d=e(35166),y=e(95765),b=e(49661),A=e(53082),S=e(3076),D=e(19669),I=e(92659),w=e(75943),T=e(77901),R=e(88797),P=e(91688),O=e(55993),M=e(12191),k=e(36198),F=e(21218);t.VSCodeContributesServiceToken=Symbol("VSCodeContributesService");let L=class extends o.ExtensionContributesService{constructor(){super(...arguments),this.ContributionPoints=[P.ThemesContributionPoint,u.IconThemesContributionPoint,u.IconsContributionPoint,f.LocalizationsContributionPoint,m.CommandsContributionPoint,A.ProductIconThemesContributionPoint,h.GrammarsContributionPoint,E.LanguagesContributionPoint,p.ConfigurationContributionPoint,s.ConfigurationDefaultsContributionPoint,v.ColorsContributionPoint,c.KeybindingContributionPoint,d.SubmenusContributionPoint,d.MenusContributionPoint,w.SnippetsContributionPoint,O.ViewContainersContributionPoint,M.ViewsContributionPoint,k.ViewsWelcomeContributionPoint,_.BreakpointsContributionPoint,a.DebuggersContributionPoint,l.ActionsContributionPoint,T.TaskDefinitionContributionPoint,b.ProblemPatternsContributionPoint,y.ProblemMatchersContributionPoint,g.CustomEditorContributionPoint,F.WalkthroughsContributionPoint,I.SemanticTokenTypesContributionPoint,S.SemanticTokenModifiersContributionPoint,D.SemanticTokenScopesContributionPoint,R.TerminalContributionPoint]}};t.VSCodeContributesService=L,t.VSCodeContributesService=L=n.__decorate([(0,r.Injectable)()],L)},81404:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeybindingContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(99220),_=e(71354);let v=class extends l.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{extensionId:s,contributes:g}=p,a=this.extensionManageService.getExtensionInstanceByExtId(s);if(!a)continue;const h=g.map(u=>this.toKeybinding(u,a.isBuiltin));this.addDispose(this.keybindingRegistry.registerKeybindings(h))}}toKeybinding(p,s){const g=this.toOSKeybinding(p),{command:a,when:h}=p;return{keybinding:g,command:a,when:h,priority:s?o.KeybindingWeight.BuiltinExtension*100:o.KeybindingWeight.ExternalExtension*100}}toOSKeybinding(p){let s;const g=o.OS.type();return g===o.OperatingSystem.Windows&&p.win?s=p.win:g===o.OperatingSystem.Macintosh&&p.mac?s=p.mac:p.linux&&(s=p.linux),s||p.key}};t.KeybindingContributionPoint=v,n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],v.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(_.AbstractExtInstanceManagementService),n.__metadata("design:type",_.AbstractExtInstanceManagementService)],v.prototype,"extensionManageService",void 0),t.KeybindingContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("keybindings"),(0,l.LifeCycle)(4)],v)},82903:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguagesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(62660),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{async contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=this.extensionManageService.getExtensionInstanceByExtId(g);h&&await this.textMateService.registerLanguages(a,o.URI.from(h.uri))}}};t.LanguagesContributionPoint=m,m.schema={allowComments:!0,allowTrailingCommas:!0,default:{comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["(",")"],["[","]"],["{","}"]],autoClosingPairs:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[["(",")"],["[","]"],["{","}"]]},definitions:{openBracket:{type:"string",description:(0,o.localize)("schema.openBracket","The opening bracket character or string sequence.")},closeBracket:{type:"string",description:(0,o.localize)("schema.closeBracket","The closing bracket character or string sequence.")},bracketPair:{type:"array",items:[{},{}]}},properties:{comments:{default:{blockComment:["/*","*/"],lineComment:"//"},description:(0,o.localize)("schema.comments","Defines the comment symbols"),type:"object",properties:{blockComment:{type:"array",description:(0,o.localize)("schema.blockComments","Defines how block comments are marked."),items:[{type:"string",description:(0,o.localize)("schema.blockComment.begin","The character sequence that starts a block comment.")},{type:"string",description:(0,o.localize)("schema.blockComment.end","The character sequence that ends a block comment.")}]},lineComment:{type:"string",description:(0,o.localize)("schema.lineComment","The character sequence that starts a line comment.")}}},brackets:{default:[["(",")"],["[","]"],["{","}"]],description:(0,o.localize)("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),type:"array",items:{}},autoClosingPairs:{default:[["(",")"],["[","]"],["{","}"]],description:(0,o.localize)("schema.autoClosingPairs","Defines the bracket pairs. When a opening bracket is entered, the closing bracket is inserted automatically."),type:"array",items:{oneOf:[{},{type:"object",properties:{open:{},close:{},notIn:{type:"array",description:(0,o.localize)("schema.autoClosingPairs.notIn","Defines a list of scopes where the auto pairs are disabled."),items:{enum:["string","comment"]}}}}]}},autoCloseBefore:{default:`;:.,=}])>
|
|
33208
33250
|
`,description:(0,o.localize)("schema.autoCloseBefore","Defines what characters must be after the cursor in order for bracket or quote autoclosing to occur when using the 'languageDefined' autoclosing setting. This is typically the set of characters which can not start an expression."),type:"string"},surroundingPairs:{default:[["(",")"],["[","]"],["{","}"]],description:(0,o.localize)("schema.surroundingPairs","Defines the bracket pairs that can be used to surround a selected string."),type:"array",items:{oneOf:[{},{type:"object",properties:{open:{},close:{}}}]}},wordPattern:{default:"",description:(0,o.localize)("schema.wordPattern","Defines what is considered to be a word in the programming language."),type:["string","object"],properties:{pattern:{type:"string",description:(0,o.localize)("schema.wordPattern.pattern","The RegExp pattern used to match words."),default:""},flags:{type:"string",description:(0,o.localize)("schema.wordPattern.flags","The RegExp flags used to match words."),default:"g",pattern:"^([gimuy]+)$",patternErrorMessage:(0,o.localize)("schema.wordPattern.flags.errorMessage","Must match the pattern `/^([gimuy]+)$/`.")}}},indentationRules:{default:{increaseIndentPattern:"",decreaseIndentPattern:""},description:(0,o.localize)("schema.indentationRules","The language's indentation settings."),type:"object",properties:{increaseIndentPattern:{type:["string","object"],description:(0,o.localize)("schema.indentationRules.increaseIndentPattern","If a line matches this pattern, then all the lines after it should be indented once (until another rule matches)."),properties:{pattern:{type:"string",description:(0,o.localize)("schema.indentationRules.increaseIndentPattern.pattern","The RegExp pattern for increaseIndentPattern."),default:""},flags:{type:"string",description:(0,o.localize)("schema.indentationRules.increaseIndentPattern.flags","The RegExp flags for increaseIndentPattern."),default:"",pattern:"^([gimuy]+)$",patternErrorMessage:(0,o.localize)("schema.indentationRules.increaseIndentPattern.errorMessage","Must match the pattern `/^([gimuy]+)$/`.")}}},decreaseIndentPattern:{type:["string","object"],description:(0,o.localize)("schema.indentationRules.decreaseIndentPattern","If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches)."),properties:{pattern:{type:"string",description:(0,o.localize)("schema.indentationRules.decreaseIndentPattern.pattern","The RegExp pattern for decreaseIndentPattern."),default:""},flags:{type:"string",description:(0,o.localize)("schema.indentationRules.decreaseIndentPattern.flags","The RegExp flags for decreaseIndentPattern."),default:"",pattern:"^([gimuy]+)$",patternErrorMessage:(0,o.localize)("schema.indentationRules.decreaseIndentPattern.errorMessage","Must match the pattern `/^([gimuy]+)$/`.")}}},indentNextLinePattern:{type:["string","object"],description:(0,o.localize)("schema.indentationRules.indentNextLinePattern","If a line matches this pattern, then **only the next line** after it should be indented once."),properties:{pattern:{type:"string",description:(0,o.localize)("schema.indentationRules.indentNextLinePattern.pattern","The RegExp pattern for indentNextLinePattern."),default:""},flags:{type:"string",description:(0,o.localize)("schema.indentationRules.indentNextLinePattern.flags","The RegExp flags for indentNextLinePattern."),default:"",pattern:"^([gimuy]+)$",patternErrorMessage:(0,o.localize)("schema.indentationRules.indentNextLinePattern.errorMessage","Must match the pattern `/^([gimuy]+)$/`.")}}},unIndentedLinePattern:{type:["string","object"],description:(0,o.localize)("schema.indentationRules.unIndentedLinePattern","If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules."),properties:{pattern:{type:"string",description:(0,o.localize)("schema.indentationRules.unIndentedLinePattern.pattern","The RegExp pattern for unIndentedLinePattern."),default:""},flags:{type:"string",description:(0,o.localize)("schema.indentationRules.unIndentedLinePattern.flags","The RegExp flags for unIndentedLinePattern."),default:"",pattern:"^([gimuy]+)$",patternErrorMessage:(0,o.localize)("schema.indentationRules.unIndentedLinePattern.errorMessage","Must match the pattern `/^([gimuy]+)$/`.")}}}}},folding:{type:"object",description:(0,o.localize)("schema.folding","The language's folding settings."),properties:{offSide:{type:"boolean",description:(0,o.localize)("schema.folding.offSide","A language adheres to the off-side rule if blocks in that language are expressed by their indentation. If set, empty lines belong to the subsequent block.")},markers:{type:"object",description:(0,o.localize)("schema.folding.markers","Language specific folding markers such as '#region' and '#endregion'. The start and end regexes will be tested against the contents of all lines and must be designed efficiently"),properties:{start:{type:"string",description:(0,o.localize)("schema.folding.markers.start","The RegExp pattern for the start marker. The regexp must start with '^'.")},end:{type:"string",description:(0,o.localize)("schema.folding.markers.end","The RegExp pattern for the end marker. The regexp must start with '^'.")}}}}}}},n.__decorate([(0,r.Autowired)(l.ITextmateTokenizer),n.__metadata("design:type",Object)],m.prototype,"textMateService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.LanguagesContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("languages"),(0,_.LifeCycle)(2)],m)},25588:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalizationsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(50492),v=e(42933),m=e(99220),p=e(71354),{Path:s}=o.path;let g=class extends m.VSCodeContributePoint{constructor(){super(...arguments),this._whenContributed=new l.Deferred}get whenContributed(){return this._whenContributed.promise}safeParseJSON(u){let c;try{return c=(0,o.parseWithComments)(u),c}catch(E){return this.logger.error(`Language configuration file parsing error, ${E.stack}`)}}async contribute(){try{const u=[],c=this.preferenceService.get(o.GeneralSettingsId.Language)||(0,o.getLanguageId)(),E=this.extensionManageService.getExtensionInstances();for(const f of this.contributesMap){const{extensionId:d,contributes:y}=f,b=this.extensionManageService.getExtensionInstanceByExtId(d);for await(const A of y)if(A.translations){const S=a(A.languageId);if(S!==(0,o.getLanguageId)())continue;u.push(...A.translations.map(async D=>{if(E.findIndex(w=>w.id===D.id)===-1)return;const I=await this.registerLanguage(D,b.path);(0,o.registerLocalizationBundle)({languageId:S,languageName:A.languageName,localizedLanguageName:A.localizedLanguageName,contents:I},D.id)})),this.storagePath||(this.storagePath=await this.extensionStoragePathServer.getLastStoragePath()||""),u.push(this.extensionNodeService.updateLanguagePack(c,b.path,this.storagePath))}}await Promise.all(u),this._whenContributed.resolve()}catch(u){this.logger.error("Failed to contribute localizations:",u),this._whenContributed.reject(u)}}async registerLanguage(u,c){const E=new s(c).join(u.path.replace(/^\.\//,"")).toString(),{content:f}=await this.fileServiceClient.readFile(o.URI.file(E).toString()),d=this.safeParseJSON(f.toString()),y={};if(d.contents){for(const b of Object.keys(d.contents))if(d.contents[b])for(const A of Object.keys(d.contents[b]))y[A]=d.contents[b][A]}return y}};t.LocalizationsContributionPoint=g,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],g.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(_.IExtensionStoragePathServer),n.__metadata("design:type",Object)],g.prototype,"extensionStoragePathServer",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],g.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],g.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(m.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],g.prototype,"extensionNodeService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],g.prototype,"extensionManageService",void 0),t.LocalizationsContributionPoint=g=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("localizations"),(0,m.LifeCycle)(2)],g);function a(h){const u=h.split("-");return u[1]&&(u[1]=u[1].toUpperCase()),u.join("-")}},35166:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenusContributionPoint=t.SubmenusContributionPoint=void 0,t.parseMenuId=c,t.parseMenuGroup=E,t.isValidMenuItem=f;const n=e(85608),r=e(76003),o=e(41869),l=e(57559),_=e(68456),v=e(93899),m=e(54414),p=e(57517),s=e(52416),g=e(42912),a=e(99220),h=e(71354);function u(D){return typeof D.command=="string"}function c(D){switch(D){case"touchBar":return v.MenuId.TouchBarContext;case"debug/toolBar":return v.MenuId.DebugToolBar;case"statusBar/windowIndicator":return v.MenuId.StatusBarWindowIndicatorMenu;case"menuBar/file":return v.MenuId.MenubarFileMenu;default:return D}}function E(D){let I,w;if(D){const T=D.lastIndexOf("@");T>0?(I=D.substr(0,T),w=Number(D.substr(T+1))||void 0):I=D}return[I,w]}function f(D,I){return typeof D.command!="string"?(I.error((0,o.formatLocalize)("requirestring","command")),!1):D.alt&&typeof D.alt!="string"?(I.error((0,o.formatLocalize)("optstring","alt")),!1):D.when&&typeof D.when!="string"?(I.error((0,o.formatLocalize)("optstring","when")),!1):D.group&&typeof D.group!="string"?(I.error((0,o.formatLocalize)("optstring","group")),!1):!0}function d(D,I){return typeof D.submenu!="string"?(I.error((0,o.formatLocalize)("requirestring","property `{0}` is mandatory and must be of type `string`","submenu")),!1):D.when&&typeof D.when!="string"?(I.error((0,o.formatLocalize)("optstring","property `{0}` can be omitted or must be of type `string`","when")),!1):D.group&&typeof D.group!="string"?(I.error((0,o.formatLocalize)("optstring","property `{0}` can be omitted or must be of type `string`","group")),!1):!0}function y(D,I){if(!Array.isArray(D))return I.error((0,o.formatLocalize)("requirearray","submenu items must be an array")),!1;for(const w of D)if(u(w)){if(!f(w,I))return!1}else if(!d(w,I))return!1;return!0}const b=new Map;let A=class extends a.VSCodeContributePoint{contribute(){for(const I of this.contributesMap){const{extensionId:w,contributes:T}=I;b.set(w,T)}}};t.SubmenusContributionPoint=A,A.schema={},t.SubmenusContributionPoint=A=n.__decorate([(0,r.Injectable)(),(0,a.Contributes)("submenus"),(0,a.LifeCycle)(3)],A);let S=class extends a.VSCodeContributePoint{constructor(){super(...arguments),this.phase=2}createSyntheticCommandId(I,w){const T=I.command;let R=w+T,P=0;for(;this.commandRegistry.getCommand(R);)R=w+T+":"+P,P++;return R}getDataFromQuery(I,w){return new URLSearchParams(I).get(w)}contribute(){const I=console;for(const w of this.contributesMap){const{extensionId:T,contributes:R}=w,P=this.extensionManageService.getExtensionInstanceByExtId(T);if(P)for(const O of Object.keys(R)){const M=R[O];if(!y(M,console))return;const k=c(O);if((0,o.isUndefined)(k)){I.warn((0,o.formatLocalize)("menuId.invalid","`{0}` is not a valid menu identifier",O));return}for(const F of M)if(u(F)){const L=this.commandRegistry.getRawCommand(F.command),B=F.alt&&this.commandRegistry.getRawCommand(F.alt);if(!L){I.error((0,o.formatLocalize)("menu.missing.command",k,F.command));continue}F.alt&&!B&&I.warn((0,o.formatLocalize)("menu.missing.altCommand",k,F.alt)),F.command===F.alt&&I.info((0,o.formatLocalize)("menu.dupe.command",k,F.command,F.alt));const[U,W]=E(F.group);let j;k===v.MenuId.EditorTitleContext?j=({uri:Q})=>[Q.codeUri]:k===v.MenuId.EditorTitle&&(j=(Q,G,Z)=>{if(Q.scheme===m.EditorOpenType.diff){const $=this.getDataFromQuery(decodeURIComponent(Q.query),"modified");if($)return[new o.URI($).codeUri]}return[Z?.codeUri||Q.codeUri]}),this.addDispose(this.menuRegistry.registerMenuItem(k,{command:F.command,alt:B,group:U,order:W,when:F.when,argsTransformer:j,type:F.type,toggledWhen:F.toggledWhen,enabledWhen:F.enabledWhen}))}else{const L=b.get(T);if(!L){I.error((0,o.localize)("missing.submenu.section","Need a submenu contributes firstly",F.submenu));continue}const B=L.find(j=>j.id===F.submenu);if(!B){I.error((0,o.localize)("missing.submenu","Menu item references a submenu `{0}` which is not defined in the 'submenus' section.",F.submenu));continue}const[U,W]=E(F.group);this.addDispose(this.menuRegistry.registerMenuItem(k,{submenu:F.submenu,label:this.getLocalizeFromNlsJSON(B.label,T),when:F.when,group:U,order:W,iconClass:B.icon&&this.toIconClass(B.icon,s.IconType.Background,P.path)}))}}}}};t.MenusContributionPoint=S,S.schema=l.menus.schema,n.__decorate([(0,r.Autowired)(o.CommandRegistry),n.__metadata("design:type",Object)],S.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],S.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],S.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(v.IMenuRegistry),n.__metadata("design:type",v.IMenuRegistry)],S.prototype,"menuRegistry",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.ToolbarRegistry)],S.prototype,"toolBarRegistry",void 0),n.__decorate([(0,r.Autowired)(p.IEditorActionRegistry),n.__metadata("design:type",Object)],S.prototype,"editorActionRegistry",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],S.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(g.IIconService),n.__metadata("design:type",Object)],S.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(h.AbstractExtInstanceManagementService),n.__metadata("design:type",h.AbstractExtInstanceManagementService)],S.prototype,"extensionManageService",void 0),t.MenusContributionPoint=S=n.__decorate([(0,r.Injectable)(),(0,a.Contributes)("menus"),(0,a.LifeCycle)(3)],S)},95765:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProblemMatchersContributionPoint=t.problemMatchersSchema=t.Schemas=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(99220),_=e(49661),{deepClone:v}=o.objects;var m;(function(s){s.WatchingPattern={type:"object",additionalProperties:!1,properties:{regexp:{type:"string",description:(0,o.localize)("WatchingPatternSchema.regexp","The regular expression to detect the begin or end of a background task.")},file:{type:"integer",description:(0,o.localize)("WatchingPatternSchema.file","The match group index of the filename. Can be omitted.")}}},s.PatternType={anyOf:[{type:"string",description:(0,o.localize)("PatternTypeSchema.name","The name of a contributed or predefined pattern")},_.PatternSchemas.ProblemPattern,_.PatternSchemas.MultiLineProblemPattern],description:(0,o.localize)("PatternTypeSchema.description","A problem pattern or the name of a contributed or predefined problem pattern. Can be omitted if base is specified.")},s.ProblemMatcher={type:"object",additionalProperties:!1,properties:{base:{type:"string",description:(0,o.localize)("ProblemMatcherSchema.base","The name of a base problem matcher to use.")},owner:{type:"string",description:(0,o.localize)("ProblemMatcherSchema.owner","The owner of the problem inside Code. Can be omitted if base is specified. Defaults to 'external' if omitted and base is not specified.")},source:{type:"string",description:(0,o.localize)("ProblemMatcherSchema.source","A human-readable string describing the source of this diagnostic, e.g. 'typescript' or 'super lint'.")},severity:{type:"string",enum:["error","warning","info"],description:(0,o.localize)("ProblemMatcherSchema.severity","The default severity for captures problems. Is used if the pattern doesn't define a match group for severity.")},applyTo:{type:"string",enum:["allDocuments","openDocuments","closedDocuments"],description:(0,o.localize)("ProblemMatcherSchema.applyTo","Controls if a problem reported on a text document is applied only to open, closed or all documents.")},pattern:s.PatternType,fileLocation:{oneOf:[{type:"string",enum:["absolute","relative","autoDetect"]},{type:"array",items:{type:"string"}}],description:(0,o.localize)("ProblemMatcherSchema.fileLocation","Defines how file names reported in a problem pattern should be interpreted.")},background:{type:"object",additionalProperties:!1,description:(0,o.localize)("ProblemMatcherSchema.background","Patterns to track the begin and end of a matcher active on a background task."),properties:{activeOnStart:{type:"boolean",description:(0,o.localize)("ProblemMatcherSchema.background.activeOnStart","If set to true the background monitor is in active mode when the task starts. This is equals of issuing a line that matches the beginsPattern")},beginsPattern:{oneOf:[{type:"string"},s.WatchingPattern],description:(0,o.localize)("ProblemMatcherSchema.background.beginsPattern","If matched in the output the start of a background task is signaled.")},endsPattern:{oneOf:[{type:"string"},s.WatchingPattern],description:(0,o.localize)("ProblemMatcherSchema.background.endsPattern","If matched in the output the end of a background task is signaled.")}}},watching:{type:"object",additionalProperties:!1,deprecationMessage:(0,o.localize)("ProblemMatcherSchema.watching.deprecated","The watching property is deprecated. Use background instead."),description:(0,o.localize)("ProblemMatcherSchema.watching","Patterns to track the begin and end of a watching matcher."),properties:{activeOnStart:{type:"boolean",description:(0,o.localize)("ProblemMatcherSchema.watching.activeOnStart","If set to true the watcher is in active mode when the task starts. This is equals of issuing a line that matches the beginPattern")},beginsPattern:{oneOf:[{type:"string"},s.WatchingPattern],description:(0,o.localize)("ProblemMatcherSchema.watching.beginsPattern","If matched in the output the start of a watching task is signaled.")},endsPattern:{oneOf:[{type:"string"},s.WatchingPattern],description:(0,o.localize)("ProblemMatcherSchema.watching.endsPattern","If matched in the output the end of a watching task is signaled.")}}}}},s.LegacyProblemMatcher=v(s.ProblemMatcher),s.LegacyProblemMatcher.properties=v(s.LegacyProblemMatcher.properties)||{},s.LegacyProblemMatcher.properties.watchedTaskBeginsRegExp={type:"string",deprecationMessage:(0,o.localize)("LegacyProblemMatcherSchema.watchedBegin.deprecated","This property is deprecated. Use the watching property instead."),description:(0,o.localize)("LegacyProblemMatcherSchema.watchedBegin","A regular expression signaling that a watched tasks begins executing triggered through file watching.")},s.LegacyProblemMatcher.properties.watchedTaskEndsRegExp={type:"string",deprecationMessage:(0,o.localize)("LegacyProblemMatcherSchema.watchedEnd.deprecated","This property is deprecated. Use the watching property instead."),description:(0,o.localize)("LegacyProblemMatcherSchema.watchedEnd","A regular expression signaling that a watched tasks ends executing.")},s.NamedProblemMatcher=v(s.ProblemMatcher),s.NamedProblemMatcher.properties=v(s.NamedProblemMatcher.properties)||{},s.NamedProblemMatcher.properties.name={type:"string",description:(0,o.localize)("NamedProblemMatcherSchema.name","The name of the problem matcher used to refer to it.")},s.NamedProblemMatcher.properties.label={type:"string",description:(0,o.localize)("NamedProblemMatcherSchema.label","A human readable label of the problem matcher.")}})(m||(t.Schemas=m={})),t.problemMatchersSchema={description:(0,o.localize)("ProblemMatcherExtPoint","Contributes problem matchers"),type:"array",items:m.NamedProblemMatcher};let p=class extends l.VSCodeContributePoint{contribute(){for(const g of this.contributesMap){const{contributes:a}=g;for(const h of a)this.addDispose(this.problemMatcher.register(h))}}};t.ProblemMatchersContributionPoint=p,n.__decorate([(0,r.Autowired)(o.IProblemMatcherRegistry),n.__metadata("design:type",Object)],p.prototype,"problemMatcher",void 0),t.ProblemMatchersContributionPoint=p=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("problemMatchers"),(0,l.LifeCycle)(4)],p)},49661:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProblemPatternsContributionPoint=t.problemPatternsSchema=t.PatternSchemas=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(99220),{deepClone:_}=o.objects;var v;(function(p){p.ProblemPattern={default:{regexp:"^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",file:1,location:2,message:3},type:"object",additionalProperties:!1,properties:{regexp:{type:"string",description:(0,o.localize)("ProblemPatternSchema.regexp","The regular expression to find an error, warning or info in the output.")},kind:{type:"string",description:(0,o.localize)("ProblemPatternSchema.kind","whether the pattern matches a location (file and line) or only a file.")},file:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.file","The match group index of the filename. If omitted 1 is used.")},location:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.location","The match group index of the problem's location. Valid location patterns are: (line), (line,column) and (startLine,startColumn,endLine,endColumn). If omitted (line,column) is assumed.")},line:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.line","The match group index of the problem's line. Defaults to 2")},column:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.column","The match group index of the problem's line character. Defaults to 3")},endLine:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.endLine","The match group index of the problem's end line. Defaults to undefined")},endColumn:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.endColumn","The match group index of the problem's end line character. Defaults to undefined")},severity:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.severity","The match group index of the problem's severity. Defaults to undefined")},code:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.code","The match group index of the problem's code. Defaults to undefined")},message:{type:"integer",description:(0,o.localize)("ProblemPatternSchema.message","The match group index of the message. If omitted it defaults to 4 if location is specified. Otherwise it defaults to 5.")},loop:{type:"boolean",description:(0,o.localize)("ProblemPatternSchema.loop","In a multi line matcher loop indicated whether this pattern is executed in a loop as long as it matches. Can only specified on a last pattern in a multi line pattern.")}}},p.NamedProblemPattern=_(p.ProblemPattern),p.NamedProblemPattern.properties=_(p.NamedProblemPattern.properties)||{},p.NamedProblemPattern.properties.name={type:"string",description:(0,o.localize)("NamedProblemPatternSchema.name","The name of the problem pattern.")},p.MultiLineProblemPattern={type:"array",items:p.ProblemPattern},p.NamedMultiLineProblemPattern={type:"object",additionalProperties:!1,properties:{name:{type:"string",description:(0,o.localize)("NamedMultiLineProblemPatternSchema.name","The name of the problem multi line problem pattern.")},patterns:{type:"array",description:(0,o.localize)("NamedMultiLineProblemPatternSchema.patterns","The actual patterns."),items:p.ProblemPattern}}}})(v||(t.PatternSchemas=v={})),t.problemPatternsSchema={description:(0,o.localize)("ProblemPatternExtPoint","Contributes problem patterns"),type:"array",items:{anyOf:[v.NamedProblemPattern,v.NamedMultiLineProblemPattern]}};let m=class extends l.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{contributes:g}=s;for(const a of g)this.addDispose(this.problemPattern.register(a))}}};t.ProblemPatternsContributionPoint=m,n.__decorate([(0,r.Autowired)(o.IProblemPatternRegistry),n.__metadata("design:type",Object)],m.prototype,"problemPattern",void 0),t.ProblemPatternsContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("problemPatterns"),(0,l.LifeCycle)(4)],m)},53082:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProductIconThemesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(52416),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=a.map(c=>({...c,label:this.getLocalizeFromNlsJSON(c.label,g),extensionId:g})),u=this.extensionManageService.getExtensionInstanceByExtId(g);u&&this.productIconService.registerProductIconThemes(h,o.URI.from(u.uri))}}};t.ProductIconThemesContributionPoint=m,n.__decorate([(0,r.Autowired)(l.IProductIconService),n.__metadata("design:type",Object)],m.prototype,"productIconService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.ProductIconThemesContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("productIconThemes"),(0,_.LifeCycle)(2)],m)},3076:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokenModifiersContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(85521),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{contributes:s}=p;if(!Array.isArray(s)){this.logger.warn("'configuration.semanticTokenTypes' must be an array");return}for(const g of s)(0,_.validateTypeOrModifier)(g,"semanticTokenModifier",this.logger)&&this.semanticTokenRegistry.registerTokenModifier(g.id,g.description)}}};t.SemanticTokenModifiersContributionPoint=v,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],v.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.ISemanticTokenRegistry),n.__metadata("design:type",Object)],v.prototype,"semanticTokenRegistry",void 0),t.SemanticTokenModifiersContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("semanticTokenModifiers"),(0,_.LifeCycle)(4)],v)},19669:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokenScopesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(4892),l=e(85521),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{contributes:s}=p;if(!Array.isArray(s)){this.logger.warn("'configuration.semanticTokenScopes' must be an array");return}for(const g of s){if(!g.scopes||typeof g.scopes!="object"){this.logger.warn("'configuration.semanticTokenScopes.scopes' must be defined as an object");continue}if(g.language&&typeof g.language!="string"){this.logger.warn("'configuration.semanticTokenScopes.language' must be as a string");continue}for(const a in g.scopes){const h=g.scopes[a];if(!Array.isArray(h)||h.some(u=>typeof u!="string")){this.logger.error("'configuration.semanticTokenScopes.scopes' values must be an array of strings");continue}try{const u=this.semanticTokenRegistry.parseTokenSelector(a,g.language);this.semanticTokenRegistry.registerTokenStyleDefault(u,{scopesToProbe:h.map(c=>c.split(" "))})}catch{this.logger.error(`configuration.semanticTokenScopes.scopes': Problems parsing selector ${a}.`)}}}}}};t.SemanticTokenScopesContributionPoint=v,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],v.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.ISemanticTokenRegistry),n.__metadata("design:type",Object)],v.prototype,"semanticTokenRegistry",void 0),t.SemanticTokenScopesContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("semanticTokenScopes"),(0,_.LifeCycle)(4)],v)},92659:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokenTypesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(75694),l=e(85521),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{contributes:s}=p;if(!Array.isArray(s)){this.logger.warn("'configuration.semanticTokenTypes' must be an array");return}for(const g of s)(0,_.validateTypeOrModifier)(g,"semanticTokenType",this.logger)&&this.semanticTokenRegistry.registerTokenType(g.id,g.description,g.superType)}}};t.SemanticTokenTypesContributionPoint=v,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],v.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.ISemanticTokenRegistry),n.__metadata("design:type",Object)],v.prototype,"semanticTokenRegistry",void 0),t.SemanticTokenTypesContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("semanticTokenTypes"),(0,_.LifeCycle)(4)],v)},75943:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SnippetsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(32002),l=e(99220),_=e(71354);let v=class extends l.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{extensionId:s,contributes:g}=p,a=this.extensionManageService.getExtensionInstanceByExtId(s);if(a)for(const h of g)this.addDispose(this.snippetSuggestProvider.fromPath(h.path,{extPath:a.path,language:h.language,source:a.packageJSON.name}))}this.addDispose(this.snippetSuggestProvider.registerSnippetsProvider())}};t.SnippetsContributionPoint=v,n.__decorate([(0,r.Autowired)(o.MonacoSnippetSuggestProvider),n.__metadata("design:type",o.MonacoSnippetSuggestProvider)],v.prototype,"snippetSuggestProvider",void 0),n.__decorate([(0,r.Autowired)(_.AbstractExtInstanceManagementService),n.__metadata("design:type",_.AbstractExtInstanceManagementService)],v.prototype,"extensionManageService",void 0),t.SnippetsContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,l.Contributes)("snippets"),(0,l.LifeCycle)(4)],v)},77901:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaskDefinitionContributionPoint=t.taskDefinitionSchema=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(99220);t.taskDefinitionSchema={type:"object",additionalProperties:!1,properties:{type:{type:"string",description:(0,o.localize)("TaskDefinition.description","The actual task type. Please note that types starting with a '$' are reserved for internal usage.")},required:{type:"array",items:{type:"string"}},properties:{type:"object",description:(0,o.localize)("TaskDefinition.properties","Additional properties of the task type"),additionalProperties:{$ref:"http://json-schema.org/draft-04/schema#"}}}};let v=class extends _.VSCodeContributePoint{constructor(){super(...arguments),this.phase=3}contribute(){for(const p of this.contributesMap){const{extensionId:s,contributes:g}=p;for(const a of g)this.logger.verbose(`${s} register taskDefinition ${JSON.stringify(a)}`),this.addDispose(this.taskDefinitionRegistry.register(a.type,{...a,taskType:a.type,extensionId:s}))}}};t.TaskDefinitionContributionPoint=v,n.__decorate([(0,r.Autowired)(l.ITaskDefinitionRegistry),n.__metadata("design:type",Object)],v.prototype,"taskDefinitionRegistry",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],v.prototype,"logger",void 0),t.TaskDefinitionContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("taskDefinitions"),(0,_.LifeCycle)(4)],v)},88797:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(26405),_=e(99220);let v=class extends _.VSCodeContributePoint{contribute(){for(const p of this.contributesMap){const{extensionId:s,contributes:g}=p;this.profileService.addContributedProfile(s,g)}}dispose(){for(const p of this.contributesMap){const{extensionId:s}=p;this.profileService.removeContributedProfile(s)}}};t.TerminalContributionPoint=v,v.schema={description:(0,o.localize)("vscode.extension.contributes.terminal","Contributes terminal functionality."),type:"object",properties:{types:{type:"array",description:(0,o.localize)("vscode.extension.contributes.terminal.types","Defines additional terminal types that the user can create."),items:{type:"object",required:["command","title"],properties:{command:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.command","Command to execute when the user creates this type of terminal."),type:"string"},title:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.title","Title for this type of terminal."),type:"string"},icon:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.icon","A codicon, URI, or light and dark URIs to associate with this terminal type."),anyOf:[{type:"string"},{type:"object",properties:{light:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.icon.light","Icon path when a light theme is used"),type:"string"},dark:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.icon.dark","Icon path when a dark theme is used"),type:"string"}}}]}}}},profiles:{type:"array",description:(0,o.localize)("vscode.extension.contributes.terminal.profiles","Defines additional terminal profiles that the user can create."),items:{type:"object",required:["id","title"],defaultSnippets:[{body:{id:"$1",title:"$2"}}],properties:{id:{description:(0,o.localize)("vscode.extension.contributes.terminal.profiles.id","The ID of the terminal profile provider."),type:"string"},title:{description:(0,o.localize)("vscode.extension.contributes.terminal.profiles.title","Title for this terminal profile."),type:"string"},icon:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.icon","A codicon, URI, or light and dark URIs to associate with this terminal type."),anyOf:[{type:"string"},{type:"object",properties:{light:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.icon.light","Icon path when a light theme is used"),type:"string"},dark:{description:(0,o.localize)("vscode.extension.contributes.terminal.types.icon.dark","Icon path when a dark theme is used"),type:"string"}}}]}}}}}},n.__decorate([(0,r.Autowired)(l.ITerminalProfileService),n.__metadata("design:type",Object)],v.prototype,"profileService",void 0),t.TerminalContributionPoint=v=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("terminal"),(0,_.LifeCycle)(4)],v)},91688:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThemesContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(52416),_=e(99220),v=e(71354);let m=class extends _.VSCodeContributePoint{contribute(){for(const s of this.contributesMap){const{extensionId:g,contributes:a}=s,h=a.map(c=>({...c,label:this.getLocalizeFromNlsJSON(c.label,g),extensionId:g})),u=this.extensionManageService.getExtensionInstanceByExtId(g);u&&this.themeService.registerThemes(h,o.URI.from(u.uri))}}};t.ThemesContributionPoint=m,n.__decorate([(0,r.Autowired)(l.IThemeService),n.__metadata("design:type",Object)],m.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],m.prototype,"extensionManageService",void 0),t.ThemesContributionPoint=m=n.__decorate([(0,r.Injectable)(),(0,_.Contributes)("themes"),(0,_.LifeCycle)(2)],m)},55993:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewContainersContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(26471),l=e(43718),_=e(63067),v=e(52416),m=e(99220),p=e(71354);let s=class extends m.VSCodeContributePoint{constructor(){super(...arguments),this.disposableCollection=new l.DisposableCollection}convertLocationToSide(a){switch(a){case"activitybar":return["view","vertical"];case"ai-chat":return[o.AI_CHAT_VIEW_ID,"vertical"];default:return["panel","horizontal"]}}contribute(){for(const a of this.contributesMap){const{extensionId:h,contributes:u}=a,c=this.extensionManageService.getExtensionInstanceByExtId(h);if(c)for(const E of Object.keys(u)){const[f,d]=this.convertLocationToSide(E);for(const y of u[E]){const b=this.mainlayoutService.collectTabbarComponent([],{iconClass:this.toIconClass(y.icon,v.IconType.Mask,c.path),title:this.getLocalizeFromNlsJSON(y.title,h),containerId:y.id,priority:0,fromExtension:!0,hideIfEmpty:!0,alignment:d},f);this.disposableCollection.push({dispose:()=>{const A=this.mainlayoutService.getTabbarHandler(b);A?.dispose()}})}}}}dispose(){this.disposableCollection.dispose()}getViewsMap(a){const h=a.views,u={};if(h)for(const c of Object.keys(h))h[c]&&Array.isArray(h[c])&&(u[c]=h[c].map(E=>E.id));return u}};t.ViewContainersContributionPoint=s,n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],s.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(p.AbstractExtInstanceManagementService),n.__metadata("design:type",p.AbstractExtInstanceManagementService)],s.prototype,"extensionManageService",void 0),t.ViewContainersContributionPoint=s=n.__decorate([(0,r.Injectable)(),(0,m.Contributes)("viewsContainers"),(0,m.LifeCycle)(2)],s)},36198:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewsWelcomeContributionPoint=t.ViewIdentifierMap=t.ViewsWelcomeExtensionPointFields=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66482),_=e(87518),v=e(63067),m=e(61656),p=e(23268),s=e(99220);var g;(function(u){u.view="view",u.contents="contents",u.when="when",u.group="group",u.enablement="enablement"})(g||(t.ViewsWelcomeExtensionPointFields=g={})),t.ViewIdentifierMap={explorer:_.FILE_EXPLORER_WELCOME_ID,debug:l.DEBUG_WELCOME_ID,scm:m.SCM_WELCOME_ID};let a=class extends s.VSCodeContributePoint{constructor(){super(...arguments),this.disposableCollection=new o.DisposableCollection}contribute(){var c;const E=new Map;for(const f of this.contributesMap){const{extensionId:d,contributes:y}=f;for(const b of y){const{group:A,order:S}=h(b),D=p.ContextKeyExpr.deserialize(b.enablement),I=(c=t.ViewIdentifierMap[b.view])!==null&&c!==void 0?c:b.view;let w=E.get(I);w||(w=new Map,E.set(I,w)),w.set(b,{content:this.getLocalizeFromNlsJSON(b.contents,d),when:p.ContextKeyExpr.deserialize(b.when),precondition:D,group:A,order:S})}}for(const[f,d]of E){const y=this.viewsRegistry.registerViewWelcomeContent2(f,d);for(const[,b]of y)this.disposableCollection.push(b)}}dispose(){this.disposableCollection.dispose()}};t.ViewsWelcomeContributionPoint=a,a.schema={type:"array",description:(0,o.localize)("contributes.viewsWelcome","Contributed views welcome content. Welcome content will be rendered in tree based views whenever they have no meaningful content to display, ie. the File Explorer when no folder is open. Such content is useful as in-product documentation to drive users to use certain features before they are available. A good example would be a `Clone Repository` button in the File Explorer welcome view."),items:{type:"object",description:(0,o.localize)("contributes.viewsWelcome.view","Contributed welcome content for a specific view."),required:[g.view,g.contents],properties:{[g.view]:{anyOf:[{type:"string",description:(0,o.localize)("contributes.viewsWelcome.view.view","Target view identifier for this welcome content. Only tree based views are supported.")},{type:"string",description:(0,o.localize)("contributes.viewsWelcome.view.view","Target view identifier for this welcome content. Only tree based views are supported."),enum:Object.keys(t.ViewIdentifierMap)}]},[g.contents]:{type:"string",description:(0,o.localize)("contributes.viewsWelcome.view.contents","Welcome content to be displayed. The format of the contents is a subset of Markdown, with support for links only.")},[g.when]:{type:"string",description:(0,o.localize)("contributes.viewsWelcome.view.when","Condition when the welcome content should be displayed.")},[g.group]:{type:"string",description:(0,o.localize)("contributes.viewsWelcome.view.group","Group to which this welcome content belongs.")},[g.enablement]:{type:"string",description:(0,o.localize)("contributes.viewsWelcome.view.enablement","Condition when the welcome content buttons and command links should be enabled.")}}}},n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],a.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(v.IViewsRegistry),n.__metadata("design:type",Object)],a.prototype,"viewsRegistry",void 0),t.ViewsWelcomeContributionPoint=a=n.__decorate([(0,r.Injectable)(),(0,s.Contributes)("viewsWelcome"),(0,s.LifeCycle)(3)],a);function h(u){let c,E;if(u.group){const f=u.group.lastIndexOf("@");f>0?(c=u.group.substr(0,f),E=Number(u.group.substr(f+1))||void 0):c=u.group}return{group:c,order:E}}},12191:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63067),_=e(24429),v=e(99220),m=e(88341);let p=class extends v.VSCodeContributePoint{constructor(){super(...arguments),this.disposableCollection=new o.DisposableCollection}contribute(){for(const g of this.contributesMap){const{extensionId:a,contributes:h}=g;for(const u of Object.keys(h)){const c=h[u].map(E=>({...E,name:this.getLocalizeFromNlsJSON(E.name,a),component:E.type==="webview"?m.ExtensionWebviewView:_.WelcomeView}));for(const E of c){const f=this.mainLayoutService.collectViewComponent(E,u,{viewId:E.id},{fromExtension:!0});this.disposableCollection.push({dispose:()=>{const d=this.mainLayoutService.getTabbarHandler(f);d?.disposeView(E.id)}})}}}}dispose(){this.disposableCollection.dispose()}};t.ViewsContributionPoint=p,n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],p.prototype,"mainLayoutService",void 0),t.ViewsContributionPoint=p=n.__decorate([(0,r.Injectable)(),(0,v.Contributes)("views"),(0,v.LifeCycle)(2)],p)},21218:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalkthroughsContributionPoint=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(43718),v=e(54414),m=e(57517),p=e(99220),s=e(21167),g=e(17441);let a=class extends p.VSCodeContributePoint{contribute(){this.addDispose(this.walkthroughsService.onDidAddWalkthrough(u=>this.registerWalkthroughEditor(u))),this.addDispose(this.resourceService.registerResourceProvider({scheme:_.Schemes.walkThrough,provideResource:async u=>({uri:u,icon:(0,o.getIcon)("smile"),supportsRevive:!1,name:(0,_.localize)("walkthroughs.welcome")})})),this.addDispose(this.walkthroughsService.onDidOpenWalkthrough(async u=>{const c=this.walkthroughsService.getWalkthrough(u);c&&await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,_.URI.from({scheme:_.Schemes.walkThrough,authority:c.source,query:c.id,path:"/"+c.id}),{disableNavigate:!0,preview:!1,forceOpenType:{type:"component",componentId:this.toComponentId(c.id)}})}));for(const u of this.contributesMap){const{extensionId:c,contributes:E}=u;if(!E.length)return;for(const f of E)this.walkthroughsService.registerExtensionWalkthroughContributions(c,f)}}toComponentId(u){return`${_.CUSTOM_EDITOR_SCHEME}-${u}`}registerWalkthroughEditor(u){this.addDispose(this.editorComponentRegistry.registerEditorComponent({uid:this.toComponentId(u.id),component:s.WalkthroughsEditorView,scheme:_.Schemes.walkThrough})),this.addDispose(this.editorComponentRegistry.registerEditorComponentResolver(_.Schemes.walkThrough,(c,E,f)=>{f([{type:m.EditorOpenType.component,componentId:this.toComponentId(u.id)}])}))}};t.WalkthroughsContributionPoint=a,n.__decorate([(0,r.Autowired)(m.EditorComponentRegistry),n.__metadata("design:type",m.EditorComponentRegistry)],a.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(g.WalkthroughsService),n.__metadata("design:type",g.WalkthroughsService)],a.prototype,"walkthroughsService",void 0),n.__decorate([(0,r.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],a.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(_.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),t.WalkthroughsContributionPoint=a=n.__decorate([(0,r.Injectable)(),(0,p.Contributes)("walkthroughs"),(0,p.LifeCycle)(3)],a)},17441:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalkthroughsService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(14951),v=e(2156),m=e(55121),p=e(23268),s=e(99220),g=e(71354),a=u=>u.split(`
|
|
33209
33251
|
`).filter(c=>c).map(c=>(0,o.parseLinkedText)(c));let h=class extends o.Disposable{constructor(){super(),this._onDidOpenWalkthrough=new o.Emitter,this.onDidOpenWalkthrough=this._onDidOpenWalkthrough.event,this._onDidAddWalkthrough=new o.Emitter,this.onDidAddWalkthrough=this._onDidAddWalkthrough.event,this._onDidProgressStep=new o.Emitter,this.onDidProgressStep=this._onDidProgressStep.event,this.sessionEvents=new Set,this.categoryVisibilityContextKeys=new Set,this.stepCompletionContextKeyExpressions=new Set,this.stepCompletionContextKeys=new Set,this.completionListeners=new Map,this.contributions=new Map,this.steps=new Map,this.extensionSteps=new Map,this.stepProgress={},this.initCompletionEventListeners()}initCompletionEventListeners(){this.addDispose(this.commandService.onDidExecuteCommand(({commandId:c})=>{this.progressByEvent(`${s.CompletionEventsType.onCommand}:${c}`)})),this.addDispose(this.contextKeyService.onDidChangeContext(({payload:c})=>{c.affectsSome(this.stepCompletionContextKeys)&&this.stepCompletionContextKeyExpressions.forEach(E=>{c.affectsSome(new Set(E.keys()))&&this.contextKeyService.match(E)&&this.progressByEvent(s.CompletionEventsType.onContext+":"+E.serialize())})})),this.addDispose(this.eventBus.on(l.ExtensionActivateEvent,({payload:{topic:c,data:E}})=>{c===s.CompletionEventsType.onView&&this.progressByEvent(s.CompletionEventsType.onView+":"+E)})),this.addDispose(this.preferenceService.onPreferenceChanged(({preferenceName:c})=>{c&&this.progressByEvent(s.CompletionEventsType.onSettingChanged+":"+c)}))}registerDoneListeners(c){var E;c.completionEvents.length||c.completionEvents.push(s.CompletionEventsType.stepSelected);for(let f of c.completionEvents){const[d,y,b]=(E=/^([^:]*):?(.*)$/.exec(f))!==null&&E!==void 0?E:[];if(!y){this.logger.error(`Unknown completionEvent ${f} when registering step ${c.id}`);continue}switch(y){case s.CompletionEventsType.onLink:case s.CompletionEventsType.onEvent:case s.CompletionEventsType.onView:case s.CompletionEventsType.onSettingChanged:break;case s.CompletionEventsType.onContext:{const A=p.ContextKeyExpr.deserialize(b);A?(this.stepCompletionContextKeyExpressions.add(A),A.keys().forEach(S=>this.stepCompletionContextKeys.add(S)),f=y+":"+A.serialize(),this.contextKeyService.match(A)&&this.sessionEvents.add(f)):this.logger.error(`Unable to parse context key expression: ${A} in walkthrough step ${c.id}`);break}case s.CompletionEventsType.onStepSelected:case s.CompletionEventsType.stepSelected:f=s.CompletionEventsType.stepSelected+":"+c.id;break;case s.CompletionEventsType.onCommand:f=y+":"+b.replace(/^toSide:/,"");break;case s.CompletionEventsType.onExtensionInstalled:case s.CompletionEventsType.extensionInstalled:f=s.CompletionEventsType.extensionInstalled+":"+b.toLowerCase();break;default:this.logger.error(`${f} Unknown`);continue}this.registerCompletionListener(f,c),this.sessionEvents.has(f)&&this.progressStep(c.id)}}getStep(c){return this.steps.get(c)}registerCompletionListener(c,E){var f;this.completionListeners.has(c)||this.completionListeners.set(c,new Set),(f=this.completionListeners.get(c))===null||f===void 0||f.add(E.id)}registerWalkthrough(c){this.contributions.get(c.id)||(this.contributions.set(c.id,c),c.steps.forEach(f=>{if(this.steps.has(f.id)){this.logger.error(`${f.id} Repeat`);return}this.steps.set(f.id,f),f.when.keys().forEach(d=>this.categoryVisibilityContextKeys.add(d)),this.registerDoneListeners(f)}),c.when.keys().forEach(f=>this.categoryVisibilityContextKeys.add(f)))}getStepProgress(c){return{...c,done:!1,...this.stepProgress[c.id]}}progressByEvent(c){var E;this.sessionEvents.has(c)||(this.sessionEvents.add(c),(E=this.completionListeners.get(c))===null||E===void 0||E.forEach(f=>this.progressStep(f)))}progressStep(c){const E=this.stepProgress[c];if(!E||E.done!==!0){this.stepProgress[c]={done:!0};const f=this.getStep(c);if(!f)return;this._onDidProgressStep.fire(this.getStepProgress(f))}}openWalkthroughEditor(c){this.stepProgress={},this._onDidOpenWalkthrough.fire(c)}getWalkthrough(c){return this.contributions.get(c)}getStepsByExtension(c){return this.extensionSteps.get(c)}getWalkthroughs(){return Array.from(this.contributions.values())}async getFileContent(c,E){const f=l.BinaryBuffer.alloc(0),d=this.extensionManageService.getExtensionInstanceByExtId(c);if(!d||!d.uri)return f;const y=o.URI.from(d.uri).resolve(E).toString(),b=await this.fileSystem.getFileStat(y);if(b&&b.type===l.FileType.File){const{content:A}=await this.fileSystem.readFile(y);return A}return f}async registerExtensionWalkthroughContributions(c,E){var f,d;const y=this.extensionManageService.getExtensionInstanceByExtId(c);if(!y)return;const b=T=>T.startsWith("https://")?o.URI.parse(T):o.URI.from(y.extensionLocation).resolve(T),A=T=>{var R;if(typeof T=="string"){const P=b(T);return{hcDark:P,hcLight:P,dark:P,light:P}}else return{hcDark:b(T.hc),hcLight:b((R=T.hcLight)!==null&&R!==void 0?R:T.light),light:b(T.light),dark:b(T.dark)}},S=c+"#"+E.id,D=((f=E.steps)!==null&&f!==void 0?f:[]).filter(T=>{if(!T.media){this.logger.error("missing media in walkthrough step: "+E.id+"@"+T.id);return}if(!(T.media.markdown||T.media.svg||T.media.image)){this.logger.error("Unknown walkthrough format detected for: "+c+"#"+E.id+"#"+T.id);return}return T}).map((T,R)=>{var P,O,M;const k=a(T.description||""),F=c+"#"+E.id+"#"+T.id;let L;return T.media.image?L={type:"image",altText:T.media.altText,path:A(T.media.image)}:T.media.markdown?L={type:"markdown",path:b(T.media.markdown),base:b((0,m.dirname)(T.media.markdown)),root:o.URI.from(y.extensionLocation)}:T.media.svg&&(L={type:"svg",path:b(T.media.svg),altText:T.media.svg}),this.extensionSteps.set(F,T),{description:k,media:L,completionEvents:(O=(P=T.completionEvents)===null||P===void 0?void 0:P.filter(B=>typeof B=="string"))!==null&&O!==void 0?O:[],id:F,title:T.title,when:(M=p.ContextKeyExpr.deserialize(T.when))!==null&&M!==void 0?M:p.ContextKeyExpr.true(),category:S,order:R}});let I=E.icon?o.URI.from(y.extensionLocation).resolve(E.icon):y.icon;I||(I=await y.getDefaultIcon());const w={description:E.description,title:E.title,id:S,isFeatured:!1,source:c,order:0,steps:D,icon:{type:"image",path:I},when:(d=p.ContextKeyExpr.deserialize(E.when))!==null&&d!==void 0?d:p.ContextKeyExpr.true()};this.registerWalkthrough(w),this._onDidAddWalkthrough.fire(w)}};t.WalkthroughsService=h,n.__decorate([(0,r.Autowired)(g.AbstractExtInstanceManagementService),n.__metadata("design:type",g.AbstractExtInstanceManagementService)],h.prototype,"extensionManageService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],h.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",v.FileServiceClient)],h.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],h.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],h.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],h.prototype,"logger",void 0),t.WalkthroughsService=h=n.__decorate([(0,r.Injectable)({multiple:!1}),n.__metadata("design:paramtypes",[])],h)},65055:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKER_HOST_HARD_CODE=void 0,t.startInsideIframe=r;const n=e(43718);t.WORKER_HOST_HARD_CODE=`
|
|
33210
33252
|
(function() {
|