@opensumi/cli-engine 3.8.1-next-1741255538.0 → 3.8.1-next-1741317422.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.
@@ -11233,6 +11233,9 @@ html li {
11233
11233
  display: inline-flex;
11234
11234
  align-items: center;
11235
11235
  }
11236
+ .ew9qlw1PYSyN2M6_sP0i {
11237
+ margin-left: 7px;
11238
+ }
11236
11239
  .pBYediLwIMBu3cMDfrUe {
11237
11240
  background-color: var(--editor-background);
11238
11241
  color: var(--descriptionForeground);
@@ -11300,6 +11303,15 @@ html li {
11300
11303
  gap: 8px;
11301
11304
  flex-wrap: wrap;
11302
11305
  }
11306
+ .e7KM_Jyt1zh9llBtJFPf.RBV5b7CAKNGLK7xrDHoR {
11307
+ cursor: pointer;
11308
+ opacity: 0.6;
11309
+ transition: all 0.2s ease;
11310
+ }
11311
+ .e7KM_Jyt1zh9llBtJFPf.RBV5b7CAKNGLK7xrDHoR:hover {
11312
+ opacity: 1;
11313
+ text-decoration: underline;
11314
+ }
11303
11315
  .bt3epBUgbZ7ai3rzRmB8 {
11304
11316
  display: inline-flex;
11305
11317
  align-items: center;
@@ -11312,7 +11324,7 @@ html li {
11312
11324
  transition: all 0.2s ease;
11313
11325
  border: 1px solid var(--border-color);
11314
11326
  }
11315
- `,"",{version:3,sources:["webpack://./../../packages/ai-native/lib/browser/mcp/config/components/mcp-config.module.less"],names:[],mappings:"AAAA;EACE,aAAa;EACb,wBAAwB;AAC1B;AACA;EACE,aAAa;EACb,8BAA8B;EAC9B,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,iBAAiB;EACjB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,SAAS;EACT,mCAAmC;EACnC,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,kDAAkD;EAClD,uCAAuC;EACvC,YAAY;EACZ,eAAe;EACf,eAAe;AACjB;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;AACX;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,gDAAgD;EAChD,qCAAqC;EACrC,yCAAyC;EACzC,yBAAyB;AAC3B;AACA;EACE,wCAAwC;EACxC,gCAAgC;AAClC;AACA;EACE,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;AACV;AACA;EACE,SAAS;EACT,eAAe;EACf,gBAAgB;AAClB;AACA;;EAEE,eAAe;EACf,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,0CAA0C;EAC1C,mCAAmC;AACrC;AACA;EACE,qDAAqD;EACrD,0CAA0C;AAC5C;AACA;EACE,sDAAsD;EACtD,2CAA2C;AAC7C;AACA;EACE,aAAa;EACb,QAAQ;AACV;AACA;EACE,YAAY;EACZ,YAAY;EACZ,gBAAgB;EAChB,6BAA6B;EAC7B,eAAe;EACf,kBAAkB;AACpB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,kBAAkB;EAClB,0CAA0C;EAC1C,eAAe;AACjB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,QAAQ;EACR,kBAAkB;EAClB,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mCAAmC;EACnC,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,wBAAwB;EACxB,qBAAqB;EACrB,OAAO;EACP,0CAA0C;EAC1C,gBAAgB;EAChB,kBAAkB;EAClB,yCAAyC;EACzC,gBAAgB;EAChB,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,eAAe;AACjB;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;EAChB,gDAAgD;EAChD,yCAAyC;EACzC,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,yBAAyB;EACzB,qCAAqC;AACvC",sourcesContent:[`.container {
11327
+ `,"",{version:3,sources:["webpack://./../../packages/ai-native/lib/browser/mcp/config/components/mcp-config.module.less"],names:[],mappings:"AAAA;EACE,aAAa;EACb,wBAAwB;AAC1B;AACA;EACE,aAAa;EACb,8BAA8B;EAC9B,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,iBAAiB;EACjB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,SAAS;EACT,mCAAmC;EACnC,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,kDAAkD;EAClD,uCAAuC;EACvC,YAAY;EACZ,eAAe;EACf,eAAe;AACjB;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;AACX;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,gDAAgD;EAChD,qCAAqC;EACrC,yCAAyC;EACzC,yBAAyB;AAC3B;AACA;EACE,wCAAwC;EACxC,gCAAgC;AAClC;AACA;EACE,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;AACV;AACA;EACE,SAAS;EACT,eAAe;EACf,gBAAgB;AAClB;AACA;;EAEE,eAAe;EACf,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,0CAA0C;EAC1C,mCAAmC;AACrC;AACA;EACE,qDAAqD;EACrD,0CAA0C;AAC5C;AACA;EACE,sDAAsD;EACtD,2CAA2C;AAC7C;AACA;EACE,aAAa;EACb,QAAQ;AACV;AACA;EACE,YAAY;EACZ,YAAY;EACZ,gBAAgB;EAChB,6BAA6B;EAC7B,eAAe;EACf,kBAAkB;AACpB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,kBAAkB;EAClB,0CAA0C;EAC1C,eAAe;AACjB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,QAAQ;EACR,kBAAkB;EAClB,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mCAAmC;EACnC,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,wBAAwB;EACxB,qBAAqB;EACrB,OAAO;EACP,0CAA0C;EAC1C,gBAAgB;EAChB,kBAAkB;EAClB,yCAAyC;EACzC,gBAAgB;EAChB,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,yBAAyB;AAC3B;AACA;EACE,UAAU;EACV,0BAA0B;AAC5B;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;EAChB,gDAAgD;EAChD,yCAAyC;EACzC,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,yBAAyB;EACzB,qCAAqC;AACvC",sourcesContent:[`.container {
11316
11328
  padding: 20px;
11317
11329
  color: var(--foreground);
11318
11330
  }
@@ -11386,6 +11398,9 @@ html li {
11386
11398
  display: inline-flex;
11387
11399
  align-items: center;
11388
11400
  }
11401
+ .typeTag {
11402
+ margin-left: 7px;
11403
+ }
11389
11404
  .serverType {
11390
11405
  background-color: var(--editor-background);
11391
11406
  color: var(--descriptionForeground);
@@ -11453,6 +11468,15 @@ html li {
11453
11468
  gap: 8px;
11454
11469
  flex-wrap: wrap;
11455
11470
  }
11471
+ .detailContent.link {
11472
+ cursor: pointer;
11473
+ opacity: 0.6;
11474
+ transition: all 0.2s ease;
11475
+ }
11476
+ .detailContent.link:hover {
11477
+ opacity: 1;
11478
+ text-decoration: underline;
11479
+ }
11456
11480
  .toolTag {
11457
11481
  display: inline-flex;
11458
11482
  align-items: center;
@@ -11465,7 +11489,7 @@ html li {
11465
11489
  transition: all 0.2s ease;
11466
11490
  border: 1px solid var(--border-color);
11467
11491
  }
11468
- `],sourceRoot:""}]),p.locals={container:"OCSFQwrNW0SzRYFcUJwm",header:"FRqzjxzsB6CmQVJjwoEt",title:"uTEKiKo8e7xuTjtYNb6E",description:"tz6R9oSRWO3VQUbzxfWX",addButton:"awSOU5nlbn3i9f9pwOqo",serversList:"Cd8nQx71fHTAdn0rylhq",serverItem:"XfPiEdef65CGfDs2CC7P",serverHeader:"y2h33XVwJ2b3StgortoJ",serverTitleRow:"GnoZ0RDg9Lca44P6tzuQ",serverName:"J0eT2VscLDencpEGw7N4",serverStatus:"LYiEUvGfWP8ebSRy2TGf",serverType:"pBYediLwIMBu3cMDfrUe",running:"I7vdYthA5GChLMMFbeIG",stopped:"pKSOorlEO8YVAJ4gg9JT",serverActions:"NFMO9tCaPFCI8qI3mmZk",iconButton:"BLZASbFw1mgYNMzqWnEq",serverDetail:"DEBBvUzKcsvzdU7BXdJo",detailRow:"eBhPBgzXy9HC2aq_DAuY",detailLabel:"ow504gi70NSrX6_etsAn",detailContent:"e7KM_Jyt1zh9llBtJFPf",toolTag:"bt3epBUgbZ7ai3rzRmB8"};const v=p},55215:(x,t,e)=>{"use strict";e.d(t,{A:()=>v});var n=e(82001),r=e.n(n),o=e(40935),c=e.n(o),p=c()(r());p.push([x.id,`.UP06Y7CGZwzV7Xwc4xob {
11492
+ `],sourceRoot:""}]),p.locals={container:"OCSFQwrNW0SzRYFcUJwm",header:"FRqzjxzsB6CmQVJjwoEt",title:"uTEKiKo8e7xuTjtYNb6E",description:"tz6R9oSRWO3VQUbzxfWX",addButton:"awSOU5nlbn3i9f9pwOqo",serversList:"Cd8nQx71fHTAdn0rylhq",serverItem:"XfPiEdef65CGfDs2CC7P",serverHeader:"y2h33XVwJ2b3StgortoJ",serverTitleRow:"GnoZ0RDg9Lca44P6tzuQ",serverName:"J0eT2VscLDencpEGw7N4",serverStatus:"LYiEUvGfWP8ebSRy2TGf",serverType:"pBYediLwIMBu3cMDfrUe",typeTag:"ew9qlw1PYSyN2M6_sP0i",running:"I7vdYthA5GChLMMFbeIG",stopped:"pKSOorlEO8YVAJ4gg9JT",serverActions:"NFMO9tCaPFCI8qI3mmZk",iconButton:"BLZASbFw1mgYNMzqWnEq",serverDetail:"DEBBvUzKcsvzdU7BXdJo",detailRow:"eBhPBgzXy9HC2aq_DAuY",detailLabel:"ow504gi70NSrX6_etsAn",detailContent:"e7KM_Jyt1zh9llBtJFPf",link:"RBV5b7CAKNGLK7xrDHoR",toolTag:"bt3epBUgbZ7ai3rzRmB8"};const v=p},55215:(x,t,e)=>{"use strict";e.d(t,{A:()=>v});var n=e(82001),r=e.n(n),o=e(40935),c=e.n(o),p=c()(r());p.push([x.id,`.UP06Y7CGZwzV7Xwc4xob {
11469
11493
  padding: 16px;
11470
11494
  }
11471
11495
  .BvpHzwj6QcpY_DzmPnif {
@@ -30252,10 +30276,10 @@ ${g.slice(1).join(`
30252
30276
  `).find(T=>T.startsWith("@@"));let S=0,A=0;if(b){const[,,,T,D]=b.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);S=parseInt(T,10)-1,A=parseInt(D,10)-1}this.editorService.open(s.URI.file(s.path.join(this.appConfig.workspaceDir,l.relativePath)));const w=this.editorService.currentEditor;w&&w.setSelection(new _.Selection(S,0,A,0))}processAll(l,y){var b,S,A;const w=(b=this.getUriCodeBlocks(l))===null||b===void 0?void 0:b.filter(D=>D.status==="pending");if(!w?.length)throw new Error("No pending code block found");const T=(A=(S=this.activePreviewerMap.get(w[0].relativePath))===null||S===void 0?void 0:S.getNode())===null||A===void 0?void 0:A.livePreviewDiffDecorationModel;if(!T)throw new Error("No active previewer found");y==="accept"?T.acceptUnProcessed():T.discardUnProcessed(),this.editorService.save(l),w.forEach(D=>{D.status=y==="accept"?"success":"cancelled",this.updateCodeBlock(D)})}listenPartialEdit(l,y){const b=new s.Deferred,S=l.uri.toString(),A=this.inlineDiffService.onPartialEdit(w=>{if(w.totalPartialEditCount===w.resolvedPartialEditCount&&w.uri.path===l.uri.path.toString()){if(w.acceptPartialEditCount>0){y.status="success";const T=l.getValue(),{diff:D,rangesFromDiffHunk:I}=this.getDiffResult(y.originalCode,T,y.relativePath),O=this.getDiagnosticInfos(l.uri.toString(),I);this.aiReporter.send({msgType:c.AIServiceType.Chat,actionType:c.ActionTypeEnum.Accept,actionSource:c.ActionSourceEnum.Chat,sessionId:this.chatInternalService.sessionModel.sessionId,isReceive:!0,isDrop:!1,code:y.codeEdit,message:JSON.stringify({diff:D,diagnosticInfos:O})}),b.resolve({diff:D,diagnosticInfos:O})}else y.status="cancelled",b.resolve(),this.aiReporter.send({msgType:c.AIServiceType.Chat,actionType:c.ActionTypeEnum.Discard,actionSource:c.ActionSourceEnum.Chat,sessionId:this.chatInternalService.sessionModel.sessionId,isReceive:!1,isDrop:!0,code:y.codeEdit,originCode:y.originalCode});this.editorListenerMap.disposeKey(S)}});return this.editorListenerMap.set(S,A),b.promise}getDiffResult(l,y,b){const S=(0,r.createPatch)(b,l,y).split(`
30253
30277
  `).slice(4).join(`
30254
30278
  `),A=S.split(`
30255
- `).map(w=>{if(w.startsWith("@@")){const[,,,T,D]=w.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);return new _.Range(parseInt(T,10),0,parseInt(D,10),0)}return null}).filter(w=>w!==null);return{diff:S,rangesFromDiffHunk:A}}getDiagnosticInfos(l,y){return this.markerService.getManager().getMarkers({resource:l}).filter(S=>S.severity>=c.MarkerSeverity.Warning&&y.some(A=>A.containsPosition(new _.Position(S.startLineNumber,S.startColumn))))}}t.BaseApplyService=E,n.__decorate([(0,o.Autowired)(a.IChatInternalService),n.__metadata("design:type",h.ChatInternalService)],E.prototype,"chatInternalService",void 0),n.__decorate([(0,o.Autowired)(c.AppConfig),n.__metadata("design:type",Object)],E.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(d.InlineDiffService),n.__metadata("design:type",d.InlineDiffService)],E.prototype,"inlineDiffService",void 0),n.__decorate([(0,o.Autowired)(m.IMarkerService),n.__metadata("design:type",Object)],E.prototype,"markerService",void 0),n.__decorate([(0,o.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,o.Autowired)(c.IAIReporter),n.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),n.__decorate([(0,c.OnEvent)(v.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onEditorGroupClose",null),n.__decorate([(0,c.OnEvent)(v.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupOpenEvent]),n.__metadata("design:returntype",Promise)],E.prototype,"onEditorGroupOpen",null)},75279:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigView=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),c=e(78132),p=e(19413),v=e(69820),m=e(45331),_=n.__importDefault(e(76599)),s=e(51750),f=()=>{const a=(0,o.useInjectable)(m.MCPServerProxyService),h=(0,o.useInjectable)(c.PreferenceService),u=(0,o.useInjectable)(o.ILogger),[d,E]=r.default.useState([]),[g,l]=r.default.useState(!1),[y,b]=r.default.useState(),S=r.default.useCallback(async()=>{const O=await a.$getServers();E(O)},[a]);r.default.useEffect(()=>{S();const O=a.onChangeMCPServers(()=>{S()});return()=>{O.dispose()}},[a,S]);const A=async(O,M)=>{try{M?await a.$startServer(O):await a.$stopServer(O);const R=h.get(o.AINativeSettingSectionsId.MCPServers,[]);let P=R;O===p.BUILTIN_MCP_SERVER_NAME?!R.some(F=>F.name===p.BUILTIN_MCP_SERVER_NAME)&&!M?P=[...R,{name:p.BUILTIN_MCP_SERVER_NAME,enabled:!1,command:"",type:v.MCP_SERVER_TYPE.STDIO}]:P=R.map(F=>F.name===p.BUILTIN_MCP_SERVER_NAME?{...F,enabled:M}:F):P=R.map(k=>k.name===O?{...k,enabled:M}:k),await h.set(o.AINativeSettingSectionsId.MCPServers,P),await S()}catch(R){u.error(`Failed to ${M?"start":"stop"} server ${O}:`,R)}},w=()=>{b(void 0),l(!0)},T=O=>{const R=h.get(o.AINativeSettingSectionsId.MCPServers,[]).find(P=>P.name===O.name);R&&(b(R),l(!0))},D=async O=>{const R=h.get(o.AINativeSettingSectionsId.MCPServers,[]).filter(P=>P.name!==O);await h.set(o.AINativeSettingSectionsId.MCPServers,R),await S()},I=async O=>{const M=h.get(o.AINativeSettingSectionsId.MCPServers,[]),R=M.findIndex(P=>P.name===O.name);R>=0?M[R]=O:M.push(O),await h.set(o.AINativeSettingSectionsId.MCPServers,M),l(!1),await S()};return r.default.createElement("div",{className:_.default.container},r.default.createElement("div",{className:_.default.header},r.default.createElement("div",null,r.default.createElement("h2",{className:_.default.title},"MCP Servers"),r.default.createElement("p",{className:_.default.description},"Manage your MCP server connections.")),r.default.createElement("button",{className:_.default.addButton,onClick:w},"+ Add new MCP server")),r.default.createElement("div",{className:_.default.serversList},d.map(O=>r.default.createElement("div",{key:O.name,className:_.default.serverItem},r.default.createElement("div",{className:_.default.serverHeader},r.default.createElement("div",{className:_.default.serverTitleRow},r.default.createElement("h3",{className:_.default.serverName},O.name)),r.default.createElement("div",{className:_.default.serverActions},r.default.createElement("button",{className:_.default.iconButton,title:"Edit",onClick:()=>T(O)},r.default.createElement("i",{className:"codicon codicon-edit"})),r.default.createElement("button",{className:_.default.iconButton,title:O.isStarted?"Stop":"Start",onClick:()=>A(O.name,!O.isStarted)},r.default.createElement("i",{className:`codicon ${O.isStarted?"codicon-debug-stop":"codicon-debug-start"}`})),r.default.createElement("button",{className:_.default.iconButton,title:"Delete",onClick:()=>D(O.name)},r.default.createElement("i",{className:"codicon codicon-trash"})))),r.default.createElement("div",{className:_.default.serverDetail},r.default.createElement("div",{className:_.default.detailRow},r.default.createElement("span",{className:_.default.detailLabel},"Status:"),r.default.createElement("span",{className:`${_.default.serverStatus} ${O.isStarted?_.default.running:_.default.stopped}`},O.isStarted?"Running":"Stopped")),O.type&&r.default.createElement("div",{className:_.default.detailRow},r.default.createElement("span",{className:_.default.detailLabel},"Type:"),r.default.createElement("span",{className:_.default.serverType},O.type))),O.tools&&O.tools.length>0&&r.default.createElement("div",{className:_.default.serverDetail},r.default.createElement("div",{className:_.default.detailRow},r.default.createElement("span",{className:_.default.detailLabel},"Tools:"),r.default.createElement("span",{className:_.default.detailContent},O.tools.map((M,R)=>r.default.createElement("span",{key:R,className:_.default.toolTag},M))))),O.command&&r.default.createElement("div",{className:_.default.serverDetail},r.default.createElement("div",{className:_.default.detailRow},r.default.createElement("span",{className:_.default.detailLabel},"Command:"),r.default.createElement("span",{className:_.default.detailContent},O.command)))))),r.default.createElement(s.MCPServerForm,{visible:g,initialData:y,onSave:I,onCancel:()=>l(!1)}))};t.MCPConfigView=f},51750:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerForm=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(48412),v=e(53017),m=e(43718),_=e(69820),s=n.__importDefault(e(83761)),f=({visible:a,initialData:h,onSave:u,onCancel:d})=>{const[E,g]=o.default.useState(()=>({name:"",command:"",args:[],env:{},type:_.MCP_SERVER_TYPE.STDIO,...h})),[l,y]=o.default.useState(()=>{var R;return((R=h?.args)===null||R===void 0?void 0:R.join(" "))||""}),[b,S]=o.default.useState(()=>h?.env?Object.entries(h.env).map(([R,P])=>`${R}=${P}`).join(`
30279
+ `).map(w=>{if(w.startsWith("@@")){const[,,,T,D]=w.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);return new _.Range(parseInt(T,10),0,parseInt(D,10),0)}return null}).filter(w=>w!==null);return{diff:S,rangesFromDiffHunk:A}}getDiagnosticInfos(l,y){return this.markerService.getManager().getMarkers({resource:l}).filter(S=>S.severity>=c.MarkerSeverity.Warning&&y.some(A=>A.containsPosition(new _.Position(S.startLineNumber,S.startColumn))))}}t.BaseApplyService=E,n.__decorate([(0,o.Autowired)(a.IChatInternalService),n.__metadata("design:type",h.ChatInternalService)],E.prototype,"chatInternalService",void 0),n.__decorate([(0,o.Autowired)(c.AppConfig),n.__metadata("design:type",Object)],E.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(d.InlineDiffService),n.__metadata("design:type",d.InlineDiffService)],E.prototype,"inlineDiffService",void 0),n.__decorate([(0,o.Autowired)(m.IMarkerService),n.__metadata("design:type",Object)],E.prototype,"markerService",void 0),n.__decorate([(0,o.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,o.Autowired)(c.IAIReporter),n.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),n.__decorate([(0,c.OnEvent)(v.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onEditorGroupClose",null),n.__decorate([(0,c.OnEvent)(v.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupOpenEvent]),n.__metadata("design:returntype",Promise)],E.prototype,"onEditorGroupOpen",null)},75279:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(78132),m=e(43718),_=e(19413),s=e(69820),f=e(45331),a=n.__importDefault(e(76599)),h=e(51750),u=()=>{const d=(0,p.useInjectable)(f.MCPServerProxyService),E=(0,p.useInjectable)(v.PreferenceService),g=(0,p.useInjectable)(p.ILogger),[l,y]=o.default.useState([]),[b,S]=o.default.useState(!1),[A,w]=o.default.useState(),T=o.default.useCallback(async()=>{const k=await d.$getServers();y(k)},[d]);o.default.useEffect(()=>{T();const k=d.onChangeMCPServers(()=>{T()});return()=>{k.dispose()}},[d,T]);const D=async(k,F)=>{try{F?await d.$startServer(k):await d.$stopServer(k);const L=E.get(p.AINativeSettingSectionsId.MCPServers,[]);let B=L;k===_.BUILTIN_MCP_SERVER_NAME?!L.some(W=>W.name===_.BUILTIN_MCP_SERVER_NAME)&&!F?B=[...L,{name:_.BUILTIN_MCP_SERVER_NAME,enabled:!1,command:"",type:s.MCP_SERVER_TYPE.STDIO}]:B=L.map(W=>W.name===_.BUILTIN_MCP_SERVER_NAME?{...W,enabled:F}:W):B=L.map(j=>j.name===k?{...j,enabled:F}:j),await E.set(p.AINativeSettingSectionsId.MCPServers,B),await T()}catch(L){g.error(`Failed to ${F?"start":"stop"} server ${k}:`,L)}},I=()=>{w(void 0),S(!0)},O=k=>{const L=E.get(p.AINativeSettingSectionsId.MCPServers,[]).find(B=>B.name===k.name);L&&(w(L),S(!0))},M=async k=>{const L=E.get(p.AINativeSettingSectionsId.MCPServers,[]).filter(B=>B.name!==k);await E.set(p.AINativeSettingSectionsId.MCPServers,L),await T()},R=async k=>{const F=E.get(p.AINativeSettingSectionsId.MCPServers,[]),L=F.findIndex(B=>B.name===k.name);L>=0?F[L]=k:F.push(k),await E.set(p.AINativeSettingSectionsId.MCPServers,F),S(!1),await T()},P=(0,o.useCallback)(k=>{switch(k){case s.MCP_SERVER_TYPE.STDIO:return(0,m.localize)("ai.native.mcp.type.stdio");case s.MCP_SERVER_TYPE.SSE:return(0,m.localize)("ai.native.mcp.type.sse");case s.MCP_SERVER_TYPE.BUILTIN:return(0,m.localize)("ai.native.mcp.type.builtin");default:return k}},[]);return o.default.createElement("div",{className:a.default.container},o.default.createElement("div",{className:a.default.header},o.default.createElement("div",null,o.default.createElement("h2",{className:a.default.title},"MCP Servers"),o.default.createElement("p",{className:a.default.description},"Manage your MCP server connections.")),o.default.createElement("button",{className:a.default.addButton,onClick:I},"+ Add new MCP server")),o.default.createElement("div",{className:a.default.serversList},l.map(k=>o.default.createElement("div",{key:k.name,className:a.default.serverItem},o.default.createElement("div",{className:a.default.serverHeader},o.default.createElement("div",{className:a.default.serverTitleRow},o.default.createElement("h3",{className:a.default.serverName},k.name)),o.default.createElement("div",{className:a.default.serverActions},k.name!==_.BUILTIN_MCP_SERVER_NAME&&o.default.createElement("button",{className:a.default.iconButton,title:"Edit",onClick:()=>O(k)},o.default.createElement("i",{className:"codicon codicon-edit"})),o.default.createElement("button",{className:a.default.iconButton,title:k.isStarted?"Stop":"Start",onClick:()=>D(k.name,!k.isStarted)},o.default.createElement("i",{className:`codicon ${k.isStarted?"codicon-debug-stop":"codicon-debug-start"}`})),k.name!==_.BUILTIN_MCP_SERVER_NAME&&o.default.createElement("button",{className:a.default.iconButton,title:"Delete",onClick:()=>M(k.name)},o.default.createElement("i",{className:"codicon codicon-trash"})))),o.default.createElement("div",{className:a.default.serverDetail},o.default.createElement("div",{className:a.default.detailRow},o.default.createElement("span",{className:a.default.detailLabel},"Status:"),o.default.createElement("span",{className:`${a.default.serverStatus} ${k.isStarted?a.default.running:a.default.stopped}`},k.isStarted?"Running":"Stopped")),k.type&&o.default.createElement("div",{className:a.default.detailRow},o.default.createElement("span",{className:a.default.detailLabel},"Type:"),o.default.createElement(c.Badge,{className:(0,r.default)(a.default.serverType,a.default.typeTag)},P(k.type)))),k.tools&&k.tools.length>0&&o.default.createElement("div",{className:a.default.serverDetail},o.default.createElement("div",{className:a.default.detailRow},o.default.createElement("span",{className:a.default.detailLabel},"Tools:"),o.default.createElement("span",{className:a.default.detailContent},k.tools.map((F,L)=>o.default.createElement("span",{key:L,className:a.default.toolTag},F))))),k.command&&o.default.createElement("div",{className:a.default.serverDetail},o.default.createElement("div",{className:a.default.detailRow},o.default.createElement("span",{className:a.default.detailLabel},"Command:"),o.default.createElement("span",{className:a.default.detailContent},k.command))),k.serverHost&&o.default.createElement("div",{className:a.default.serverDetail},o.default.createElement("div",{className:a.default.detailRow},o.default.createElement("span",{className:a.default.detailLabel},"Server Link:"),o.default.createElement("span",{className:(0,r.default)(a.default.detailContent,a.default.link)},k.serverHost)))))),o.default.createElement(h.MCPServerForm,{visible:b,initialData:A,onSave:R,onCancel:()=>S(!1)}))};t.MCPConfigView=u},51750:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerForm=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(48412),v=e(53017),m=e(43718),_=e(69820),s=n.__importDefault(e(83761)),f=({visible:a,initialData:h,onSave:u,onCancel:d})=>{const[E,g]=o.default.useState(()=>({name:"",command:"",args:[],env:{},type:_.MCP_SERVER_TYPE.STDIO,...h})),[l,y]=o.default.useState(()=>{var R;return((R=h?.args)===null||R===void 0?void 0:R.join(" "))||""}),[b,S]=o.default.useState(()=>h?.env?Object.entries(h.env).map(([R,P])=>`${R}=${P}`).join(`
30256
30280
  `):"");o.default.useEffect(()=>{var R;g({name:"",command:"",args:[],env:{},type:_.MCP_SERVER_TYPE.STDIO,...h}),y(((R=h?.args)===null||R===void 0?void 0:R.join(" "))||""),S(h?.env?Object.entries(h.env).map(([P,k])=>`${P}=${k}`).join(`
30257
30281
  `):"")},[h]);const A=R=>{var P;R.preventDefault();const k={...E};if(E.type===_.MCP_SERVER_TYPE.SSE)k.serverHost=(P=k.serverHost)===null||P===void 0?void 0:P.trim();else{const F=l.split(" ").filter(Boolean),L=b.split(`
30258
- `).filter(Boolean).reduce((B,j)=>{const[W,U]=j.split("=");return W&&U&&(B[W.trim()]=U.trim()),B},{});k.args=F,k.env=L}u(k)},w=(0,o.useCallback)(R=>{g({...E,command:R.target.value}),y(R.target.value.split(" ").filter(Boolean).join(" "))},[E,l]),T=(0,o.useCallback)(R=>{y(R.target.value)},[l]),D=(0,o.useCallback)(R=>{S(R.target.value)},[b]),I=(0,o.useCallback)(R=>{g({...E,serverHost:R.target.value})},[E]),O=(0,o.useCallback)(R=>{g({...E,type:R})},[E]),M=(0,o.useCallback)(()=>E?.type===_.MCP_SERVER_TYPE.STDIO?o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.command")),o.default.createElement("input",{type:"text",value:E.command,onChange:w,placeholder:(0,m.localize)("ai.native.mcp.command.placeHolder"),required:!0})),o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.args")),o.default.createElement("textarea",{value:l,onChange:T,placeholder:(0,m.localize)("ai.native.mcp.args.placeHolder"),rows:3})),o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.env")),o.default.createElement("textarea",{value:b,onChange:D,placeholder:(0,m.localize)("ai.native.mcp.env.placeHolder"),rows:3}))):o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.serverHost")),o.default.createElement("textarea",{value:E.serverHost,onChange:I,placeholder:(0,m.localize)("ai.native.mcp.serverHost.placeHolder"),rows:3}))),[E,l,b]);return o.default.createElement(v.Modal,{title:h?(0,m.localize)("ai.native.mcp.editMCPServer.title"):(0,m.localize)("ai.native.mcp.addMCPServer.title"),visible:a,onCancel:d,centered:!0,width:600,footer:null,style:{background:"var(--editor-background)"}},o.default.createElement("form",{className:s.default.form,onSubmit:R=>R.preventDefault()},o.default.createElement("div",{className:s.default.formRow},o.default.createElement("div",{className:(0,r.default)(s.default.formItem,s.default.formItemName)},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.name")),o.default.createElement("input",{type:"text",value:E.name,onChange:R=>g({...E,name:R.target.value}),placeholder:(0,m.localize)("ai.native.mcp.name.placeHolder"),required:!0})),o.default.createElement("div",{className:(0,r.default)(s.default.formItem,s.default.formItemType)},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.type")),o.default.createElement(c.Select,{size:"large",value:E.type,options:[{label:(0,m.localize)("ai.native.mcp.stdio"),value:_.MCP_SERVER_TYPE.STDIO},{label:(0,m.localize)("ai.native.mcp.sse"),value:_.MCP_SERVER_TYPE.SSE}],className:s.default.formItemSelect,onChange:O}))),M(),o.default.createElement("div",{className:s.default.formActions},o.default.createElement(p.Button,{onClick:d,type:"ghost"},(0,m.localize)("ai.native.mcp.buttonCancel")),o.default.createElement(p.Button,{onClick:A,type:"primary"},h?(0,m.localize)("ai.native.mcp.buttonUpdate"):(0,m.localize)("ai.native.mcp.buttonSave")))))};t.MCPServerForm=f},27397:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigCommandContribution=t.OPEN_MCP_CONFIG_COMMAND=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(43718),p=e(54414),v=e(5297);t.OPEN_MCP_CONFIG_COMMAND={id:"opensumi-mcp.openConfig",label:"Open MCP Configuration"};let m=class{registerCommands(s){s.registerCommand(t.OPEN_MCP_CONFIG_COMMAND,{execute:()=>{const f=new o.URI().withScheme(v.MCP_CONFIG_COMPONENTS_SCHEME_ID);this.editorService.open(f,{preview:!1,focus:!0})}})}};t.MCPConfigCommandContribution=m,n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],m.prototype,"editorService",void 0),t.MCPConfigCommandContribution=m=n.__decorate([(0,c.Domain)(o.CommandContribution)],m)},5297:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigContribution=t.MCP_CONFIG_COMPONENTS_SCHEME_ID=void 0;const n=e(85608),r=e(76003),o=e(26542),c=e(43718),p=e(82196),v=e(7443),m=e(10560),_=e(75279),s="opensumi-mcp-config-viewer";t.MCP_CONFIG_COMPONENTS_SCHEME_ID="mcp-config";let f=class{registerEditorComponent(h){h.registerEditorComponent({uid:s,scheme:t.MCP_CONFIG_COMPONENTS_SCHEME_ID,component:_.MCPConfigView,renderMode:p.EditorComponentRenderMode.ONE_PER_WORKBENCH}),h.registerEditorComponentResolver(t.MCP_CONFIG_COMPONENTS_SCHEME_ID,(u,d)=>{d.push({type:"component",componentId:s})})}registerResource(h){h.registerResourceProvider({scheme:t.MCP_CONFIG_COMPONENTS_SCHEME_ID,provideResource:async u=>{const{configType:d}=u.getParsedQuery();return{uri:u,name:"MCP Configuration",icon:"settings",metadata:{configType:d}}}})}};t.MCPConfigContribution=f,n.__decorate([(0,r.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],f.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(v.IconService),n.__metadata("design:type",v.IconService)],f.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.LabelService)],f.prototype,"labelService",void 0),t.MCPConfigContribution=f=n.__decorate([(0,c.Domain)(p.BrowserEditorContribution)],f)},45331:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerProxyService=void 0;const n=e(85608),r=e(48085),o=e(76003),c=e(41869),p=e(43718),v=e(19413),m=e(77633);let _=class{constructor(){this._onChangeMCPServers=new p.Emitter,this.onChangeMCPServers=this._onChangeMCPServers.event}$callMCPTool(f,a){return this.mcpServerRegistry.callMCPTool(f,a)}async $getMCPTools(){const f=await this.mcpServerRegistry.getMCPTools().map(a=>({name:a.name,description:a.description,inputSchema:(0,r.zodToJsonSchema)(a.inputSchema),providerName:v.BUILTIN_MCP_SERVER_NAME}));return this.logger.log("SUMI MCP tools",f),f}async $updateMCPServers(){this._onChangeMCPServers.fire("update")}async getAllMCPTools(){return this.sumiMCPServerProxyService.getAllMCPTools()}async $getServers(){return this.sumiMCPServerProxyService.getServers()}async $startServer(f){await this.sumiMCPServerProxyService.startServer(f)}async $stopServer(f){await this.sumiMCPServerProxyService.stopServer(f)}};t.MCPServerProxyService=_,n.__decorate([(0,o.Autowired)(m.TokenMCPServerRegistry),n.__metadata("design:type",Object)],_.prototype,"mcpServerRegistry",void 0),n.__decorate([(0,o.Autowired)(c.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(v.SumiMCPServerProxyServicePath),n.__metadata("design:type",Object)],_.prototype,"sumiMCPServerProxyService",void 0),t.MCPServerProxyService=_=n.__decorate([(0,o.Injectable)()],_)},79502:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(19413),p=e(98864);class v{constructor(s){this.logger=s}appendLine(s){this.logger.log(s)}}let m=class{constructor(){this.tools=[],this.toolComponents={}}get logger(){return new v(this.baseLogger)}set activeMessageInfo(s){this._activeMessageInfo=s}getMCPTool(s,f=c.BUILTIN_MCP_SERVER_NAME){return this.tools.find(a=>(0,p.getToolName)(a.name,f)===s)}registerMCPTool(s){this.tools.push(s)}registerToolComponent(s,f,a=c.BUILTIN_MCP_SERVER_NAME){this.toolComponents[(0,p.getToolName)(s,a)]=f}getToolComponent(s){return this.toolComponents[s]}getMCPTools(){return this.tools}async callMCPTool(s,f){try{const a=this.tools.find(d=>d.name===s);if(!a)throw new Error(`MCP tool ${s} not found`);const h=f.toolCallId;f=a.inputSchema.parse(f);const u=await a.handler({...f,toolCallId:h},this.logger);return this.reportToolCall(s,f,u,h),u}catch(a){return console.error("callMCPTool error:",a),this.reportToolCall(s,f,a,f.toolCallId),{content:[{type:"text",text:`The tool ${s} failed to execute. Error: ${a}`}],isError:!0}}}reportToolCall(s,f,a,h){if(!this.tools.find(d=>d.name===s))throw new Error(`MCP tool ${s} not found`);this.aiReporter.send({msgType:o.AIServiceType.ToolCall,message:JSON.stringify({args:f,name:s,result:a}),messageId:this._activeMessageInfo.messageId,sessionId:this._activeMessageInfo.sessionId,relationId:h})}};t.MCPServerRegistry=m,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],m.prototype,"baseLogger",void 0),n.__decorate([(0,r.Autowired)(o.IAIReporter),n.__metadata("design:type",Object)],m.prototype,"aiReporter",void 0),t.MCPServerRegistry=m=n.__decorate([(0,r.Injectable)()],m)},30703:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPToolsDialog=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=n.__importDefault(e(49783)),c=({tools:p})=>r.createElement("div",{className:o.default.mcp_tools_dialog},r.createElement("div",{className:o.default.dialog_title},"MCP Tools"),r.createElement("div",{className:o.default.tools_list},p.map(v=>r.createElement("div",{key:v.name,className:o.default.tool_item},r.createElement("div",{className:o.default.tool_name},v.name),r.createElement("div",{className:o.default.tool_description},v.description),v.providerName&&r.createElement("div",{className:o.default.tool_provider},"Provider: ",v.providerName)))));t.MCPToolsDialog=c},58260:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditFileToolComponent=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(89195),m=e(54414),_=e(14162),s=e(87822),f=e(16781),a=e(56474),h=e(73974),u=n.__importDefault(e(51601)),d=g=>{var l,y,b;const{args:S,messageId:A,toolCallId:w}=g,[T,D]=(0,o.useState)("code"),I=(0,p.useInjectable)(p.LabelService),O=(0,p.useInjectable)(p.AppConfig),M=(0,p.useInjectable)(h.BaseApplyService),R=(0,p.useInjectable)(m.WorkbenchEditorService),{target_file:P="",code_edit:k,instructions:F}=S||{},L=p.path.join(O.workspaceDir,P),[B,j]=(0,o.useState)(M.getCodeBlock(w,A)),W=(0,o.useMemo)(()=>P?`file-icon ${I.getIcon(p.URI.file(L))}`:void 0,[P,L]),U=(0,o.useMemo)(()=>{if(!P)return;const V=f.StandaloneServices.get(s.IModelService),$=f.StandaloneServices.get(_.ILanguageService);return(0,p.detectModeId)(V,$,p.Uri.file(L))},[P,L]);(0,o.useEffect)(()=>{const V=M.onCodeBlockUpdate($=>{$.toolCallId===w&&j({...$})});return()=>{V.dispose()}},[]);const X=V=>{V.stopPropagation(),D(T==="code"?"diff":"code")};return!S||!B?null:[F&&o.default.createElement("p",null,F),o.default.createElement("div",{className:u.default["edit-file-tool"],key:"edit-file-tool"},o.default.createElement("div",{className:(0,r.default)(u.default["edit-file-tool-header"],{clickable:B.status==="pending"||B.status==="success"}),onClick:()=>{B.status==="pending"?R.open(p.URI.file(L)):B.status==="success"&&M.revealApplyPosition(B)}},o.default.createElement("div",{className:u.default.left},W&&o.default.createElement("span",{className:W}),o.default.createElement("span",{className:u.default["edit-file-tool-file-name"]},P),B.iterationCount>1&&o.default.createElement("span",{className:u.default["edit-file-tool-iteration-count"]},B.iterationCount,"/3"),E(B,g.result)),o.default.createElement("div",{className:u.default.right},o.default.createElement(c.Popover,{title:"Show Code",id:"edit-file-tool-show-code"},o.default.createElement(c.Icon,{iconClass:"codicon codicon-file-code",onClick:X})),((l=B.applyResult)===null||l===void 0?void 0:l.diff)&&o.default.createElement(c.Popover,{title:"Show Diff",id:"edit-file-tool-show-diff"},o.default.createElement(c.Icon,{iconClass:"codicon codicon-diff-multiple",onClick:X})))),o.default.createElement(a.ChatMarkdown,{markdown:T==="code"?`\`\`\`${U||""}
30282
+ `).filter(Boolean).reduce((B,j)=>{const[W,U]=j.split("=");return W&&U&&(B[W.trim()]=U.trim()),B},{});k.args=F,k.env=L}u(k)},w=(0,o.useCallback)(R=>{g({...E,command:R.target.value}),y(R.target.value.split(" ").filter(Boolean).join(" "))},[E,l]),T=(0,o.useCallback)(R=>{y(R.target.value)},[l]),D=(0,o.useCallback)(R=>{S(R.target.value)},[b]),I=(0,o.useCallback)(R=>{g({...E,serverHost:R.target.value})},[E]),O=(0,o.useCallback)(R=>{g({...E,type:R})},[E]),M=(0,o.useCallback)(()=>E?.type===_.MCP_SERVER_TYPE.STDIO?o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.command")),o.default.createElement("input",{type:"text",value:E.command,onChange:w,placeholder:(0,m.localize)("ai.native.mcp.command.placeHolder"),required:!0})),o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.args")),o.default.createElement("textarea",{value:l,onChange:T,placeholder:(0,m.localize)("ai.native.mcp.args.placeHolder"),rows:3})),o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.env")),o.default.createElement("textarea",{value:b,onChange:D,placeholder:(0,m.localize)("ai.native.mcp.env.placeHolder"),rows:3}))):o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:s.default.formItem},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.serverHost")),o.default.createElement("textarea",{value:E.serverHost,onChange:I,placeholder:(0,m.localize)("ai.native.mcp.serverHost.placeHolder"),rows:3}))),[E,l,b]);return o.default.createElement(v.Modal,{title:h?(0,m.localize)("ai.native.mcp.editMCPServer.title"):(0,m.localize)("ai.native.mcp.addMCPServer.title"),visible:a,onCancel:d,centered:!0,width:600,footer:null,style:{background:"var(--editor-background)"}},o.default.createElement("form",{className:s.default.form,onSubmit:R=>R.preventDefault()},o.default.createElement("div",{className:s.default.formRow},o.default.createElement("div",{className:(0,r.default)(s.default.formItem,s.default.formItemName)},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.name")),o.default.createElement("input",{type:"text",value:E.name,onChange:R=>g({...E,name:R.target.value}),placeholder:(0,m.localize)("ai.native.mcp.name.placeHolder"),required:!0})),o.default.createElement("div",{className:(0,r.default)(s.default.formItem,s.default.formItemType)},o.default.createElement("label",null,(0,m.localize)("ai.native.mcp.type")),o.default.createElement(c.Select,{size:"large",value:E.type,options:[{label:(0,m.localize)("ai.native.mcp.stdio"),value:_.MCP_SERVER_TYPE.STDIO},{label:(0,m.localize)("ai.native.mcp.sse"),value:_.MCP_SERVER_TYPE.SSE}],className:s.default.formItemSelect,onChange:O}))),M(),o.default.createElement("div",{className:s.default.formActions},o.default.createElement(p.Button,{onClick:d,type:"ghost"},(0,m.localize)("ai.native.mcp.buttonCancel")),o.default.createElement(p.Button,{onClick:A,type:"primary"},h?(0,m.localize)("ai.native.mcp.buttonUpdate"):(0,m.localize)("ai.native.mcp.buttonSave")))))};t.MCPServerForm=f},27397:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigCommandContribution=t.OPEN_MCP_CONFIG_COMMAND=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(43718),p=e(54414),v=e(5297);t.OPEN_MCP_CONFIG_COMMAND={id:"opensumi-mcp.openConfig",label:"Open MCP Configuration"};let m=class{registerCommands(s){s.registerCommand(t.OPEN_MCP_CONFIG_COMMAND,{execute:()=>{const f=new o.URI().withScheme(v.MCP_CONFIG_COMPONENTS_SCHEME_ID);this.editorService.open(f,{preview:!1,focus:!0})}})}};t.MCPConfigCommandContribution=m,n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],m.prototype,"editorService",void 0),t.MCPConfigCommandContribution=m=n.__decorate([(0,c.Domain)(o.CommandContribution)],m)},5297:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigContribution=t.MCP_CONFIG_COMPONENTS_SCHEME_ID=void 0;const n=e(85608),r=e(76003),o=e(26542),c=e(43718),p=e(82196),v=e(7443),m=e(10560),_=e(75279),s="opensumi-mcp-config-viewer";t.MCP_CONFIG_COMPONENTS_SCHEME_ID="mcp-config";let f=class{registerEditorComponent(h){h.registerEditorComponent({uid:s,scheme:t.MCP_CONFIG_COMPONENTS_SCHEME_ID,component:_.MCPConfigView,renderMode:p.EditorComponentRenderMode.ONE_PER_WORKBENCH}),h.registerEditorComponentResolver(t.MCP_CONFIG_COMPONENTS_SCHEME_ID,(u,d)=>{d.push({type:"component",componentId:s})})}registerResource(h){h.registerResourceProvider({scheme:t.MCP_CONFIG_COMPONENTS_SCHEME_ID,provideResource:async u=>{const{configType:d}=u.getParsedQuery();return{uri:u,name:"MCP Configuration",icon:"settings",metadata:{configType:d}}}})}};t.MCPConfigContribution=f,n.__decorate([(0,r.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],f.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(v.IconService),n.__metadata("design:type",v.IconService)],f.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.LabelService)],f.prototype,"labelService",void 0),t.MCPConfigContribution=f=n.__decorate([(0,c.Domain)(p.BrowserEditorContribution)],f)},45331:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerProxyService=void 0;const n=e(85608),r=e(48085),o=e(76003),c=e(41869),p=e(43718),v=e(19413),m=e(77633);let _=class{constructor(){this._onChangeMCPServers=new p.Emitter,this.onChangeMCPServers=this._onChangeMCPServers.event}$callMCPTool(f,a){return this.mcpServerRegistry.callMCPTool(f,a)}async $getBuiltinMCPTools(){const f=await this.mcpServerRegistry.getMCPTools().map(a=>({name:a.name,description:a.description,inputSchema:(0,r.zodToJsonSchema)(a.inputSchema),providerName:v.BUILTIN_MCP_SERVER_NAME}));return this.logger.log("SUMI MCP tools",f),f}async $updateMCPServers(){this._onChangeMCPServers.fire("update")}async getAllMCPTools(){return this.sumiMCPServerProxyService.getAllMCPTools()}async $getServers(){return this.sumiMCPServerProxyService.getServers()}async $startServer(f){await this.sumiMCPServerProxyService.startServer(f)}async $stopServer(f){await this.sumiMCPServerProxyService.stopServer(f)}};t.MCPServerProxyService=_,n.__decorate([(0,o.Autowired)(m.TokenMCPServerRegistry),n.__metadata("design:type",Object)],_.prototype,"mcpServerRegistry",void 0),n.__decorate([(0,o.Autowired)(c.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(v.SumiMCPServerProxyServicePath),n.__metadata("design:type",Object)],_.prototype,"sumiMCPServerProxyService",void 0),t.MCPServerProxyService=_=n.__decorate([(0,o.Injectable)()],_)},79502:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(19413),p=e(98864);class v{constructor(s){this.logger=s}appendLine(s){this.logger.log(s)}}let m=class{constructor(){this.tools=[],this.toolComponents={}}get logger(){return new v(this.baseLogger)}set activeMessageInfo(s){this._activeMessageInfo=s}getMCPTool(s,f=c.BUILTIN_MCP_SERVER_NAME){return this.tools.find(a=>(0,p.getToolName)(a.name,f)===s)}registerMCPTool(s){this.tools.push(s)}registerToolComponent(s,f,a=c.BUILTIN_MCP_SERVER_NAME){this.toolComponents[(0,p.getToolName)(s,a)]=f}getToolComponent(s){return this.toolComponents[s]}getMCPTools(){return this.tools}async callMCPTool(s,f){try{const a=this.tools.find(d=>d.name===s);if(!a)throw new Error(`MCP tool ${s} not found`);const h=f.toolCallId;f=a.inputSchema.parse(f);const u=await a.handler({...f,toolCallId:h},this.logger);return this.reportToolCall(s,f,u,h),u}catch(a){return console.error("callMCPTool error:",a),this.reportToolCall(s,f,a,f.toolCallId),{content:[{type:"text",text:`The tool ${s} failed to execute. Error: ${a}`}],isError:!0}}}reportToolCall(s,f,a,h){if(!this.tools.find(d=>d.name===s))throw new Error(`MCP tool ${s} not found`);this.aiReporter.send({msgType:o.AIServiceType.ToolCall,message:JSON.stringify({args:f,name:s,result:a}),messageId:this._activeMessageInfo.messageId,sessionId:this._activeMessageInfo.sessionId,relationId:h})}};t.MCPServerRegistry=m,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],m.prototype,"baseLogger",void 0),n.__decorate([(0,r.Autowired)(o.IAIReporter),n.__metadata("design:type",Object)],m.prototype,"aiReporter",void 0),t.MCPServerRegistry=m=n.__decorate([(0,r.Injectable)()],m)},30703:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPToolsDialog=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=n.__importDefault(e(49783)),c=({tools:p})=>r.createElement("div",{className:o.default.mcp_tools_dialog},r.createElement("div",{className:o.default.dialog_title},"MCP Tools"),r.createElement("div",{className:o.default.tools_list},p.map(v=>r.createElement("div",{key:v.name,className:o.default.tool_item},r.createElement("div",{className:o.default.tool_name},v.name),r.createElement("div",{className:o.default.tool_description},v.description),v.providerName&&r.createElement("div",{className:o.default.tool_provider},"Provider: ",v.providerName)))));t.MCPToolsDialog=c},58260:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditFileToolComponent=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(89195),m=e(54414),_=e(14162),s=e(87822),f=e(16781),a=e(56474),h=e(73974),u=n.__importDefault(e(51601)),d=g=>{var l,y,b;const{args:S,messageId:A,toolCallId:w}=g,[T,D]=(0,o.useState)("code"),I=(0,p.useInjectable)(p.LabelService),O=(0,p.useInjectable)(p.AppConfig),M=(0,p.useInjectable)(h.BaseApplyService),R=(0,p.useInjectable)(m.WorkbenchEditorService),{target_file:P="",code_edit:k,instructions:F}=S||{},L=p.path.join(O.workspaceDir,P),[B,j]=(0,o.useState)(M.getCodeBlock(w,A)),W=(0,o.useMemo)(()=>P?`file-icon ${I.getIcon(p.URI.file(L))}`:void 0,[P,L]),U=(0,o.useMemo)(()=>{if(!P)return;const V=f.StandaloneServices.get(s.IModelService),$=f.StandaloneServices.get(_.ILanguageService);return(0,p.detectModeId)(V,$,p.Uri.file(L))},[P,L]);(0,o.useEffect)(()=>{const V=M.onCodeBlockUpdate($=>{$.toolCallId===w&&j({...$})});return()=>{V.dispose()}},[]);const X=V=>{V.stopPropagation(),D(T==="code"?"diff":"code")};return!S||!B?null:[F&&o.default.createElement("p",null,F),o.default.createElement("div",{className:u.default["edit-file-tool"],key:"edit-file-tool"},o.default.createElement("div",{className:(0,r.default)(u.default["edit-file-tool-header"],{clickable:B.status==="pending"||B.status==="success"}),onClick:()=>{B.status==="pending"?R.open(p.URI.file(L)):B.status==="success"&&M.revealApplyPosition(B)}},o.default.createElement("div",{className:u.default.left},W&&o.default.createElement("span",{className:W}),o.default.createElement("span",{className:u.default["edit-file-tool-file-name"]},P),B.iterationCount>1&&o.default.createElement("span",{className:u.default["edit-file-tool-iteration-count"]},B.iterationCount,"/3"),E(B,g.result)),o.default.createElement("div",{className:u.default.right},o.default.createElement(c.Popover,{title:"Show Code",id:"edit-file-tool-show-code"},o.default.createElement(c.Icon,{iconClass:"codicon codicon-file-code",onClick:X})),((l=B.applyResult)===null||l===void 0?void 0:l.diff)&&o.default.createElement(c.Popover,{title:"Show Diff",id:"edit-file-tool-show-diff"},o.default.createElement(c.Icon,{iconClass:"codicon codicon-diff-multiple",onClick:X})))),o.default.createElement(a.ChatMarkdown,{markdown:T==="code"?`\`\`\`${U||""}
30259
30283
  ${k}
30260
30284
  \`\`\``:`\`\`\`diff
30261
30285
  ${(y=B.applyResult)===null||y===void 0?void 0:y.diff}
@@ -30368,7 +30392,7 @@ ${s.getText()}
30368
30392
  </additional_data>
30369
30393
  <user_query>
30370
30394
  ${m}
30371
- </user_query>`}};t.DefaultChatAgentPromptProvider=c,n.__decorate([(0,r.Autowired)(o.WorkbenchEditorService),n.__metadata("design:type",o.WorkbenchEditorService)],c.prototype,"workbenchEditorService",void 0),t.DefaultChatAgentPromptProvider=c=n.__decorate([(0,r.Injectable)()],c)},69820:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCP_SERVER_TYPE=t.NearestCodeBlockType=void 0;var e;(function(r){r.Block="block",r.Line="line"})(e||(t.NearestCodeBlockType=e={}));var n;(function(r){r.STDIO="stdio",r.SSE="sse"})(n||(t.MCP_SERVER_TYPE=n={}))},98864:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getToolName=t.extractCodeBlocks=t.isDocumentValid=t.isDocumentTooShort=t.isDocumentTooLarge=void 0;const n=e(19413),r="```",o=10,c=s=>{try{s.getText()}catch(f){if(f instanceof RangeError)return!0}return!1};t.isDocumentTooLarge=c;const p=s=>s.getText().length<o;t.isDocumentTooShort=p;const v=s=>!((0,t.isDocumentTooLarge)(s)||(0,t.isDocumentTooShort)(s));t.isDocumentValid=v;const m=s=>{const f=s.split(`
30395
+ </user_query>`}};t.DefaultChatAgentPromptProvider=c,n.__decorate([(0,r.Autowired)(o.WorkbenchEditorService),n.__metadata("design:type",o.WorkbenchEditorService)],c.prototype,"workbenchEditorService",void 0),t.DefaultChatAgentPromptProvider=c=n.__decorate([(0,r.Injectable)()],c)},69820:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCP_SERVER_TYPE=t.NearestCodeBlockType=void 0;var e;(function(r){r.Block="block",r.Line="line"})(e||(t.NearestCodeBlockType=e={}));var n;(function(r){r.STDIO="stdio",r.SSE="sse",r.BUILTIN="builtin"})(n||(t.MCP_SERVER_TYPE=n={}))},98864:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getToolName=t.extractCodeBlocks=t.isDocumentValid=t.isDocumentTooShort=t.isDocumentTooLarge=void 0;const n=e(19413),r="```",o=10,c=s=>{try{s.getText()}catch(f){if(f instanceof RangeError)return!0}return!1};t.isDocumentTooLarge=c;const p=s=>s.getText().length<o;t.isDocumentTooShort=p;const v=s=>!((0,t.isDocumentTooLarge)(s)||(0,t.isDocumentTooShort)(s));t.isDocumentValid=v;const m=s=>{const f=s.split(`
30372
30396
  `);let a=[],h=!1,u=0;return f.forEach((d,E)=>{if(!h&&d.trim().startsWith(r))h=!0,u=E+1;else if(h&&d.trim().startsWith(r)){h=!1;const g=E;a=f.slice(u,g)}h&&u!==E+1&&a.push(d)}),a.join(`
30373
30397
  `)};t.extractCodeBlocks=m;const _=(s,f=n.BUILTIN_MCP_SERVER_NAME)=>`mcp_${f}_${s}`;t.getToolName=_},26471:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(19413),t)},15504:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentReactions=t.CommentReactionSwitcher=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),c=e(81878),p=e(25918),v=e(93899),m=e(52416),_=e(69635),s=n.__importDefault(e(38877)),f=({thread:h,comment:u,className:d})=>{const E=`${h.providerId}_${h.id}_${u.id}`,g=`${v.MenuId.CommentReactionSwitcherMenu}_${E}`,l=(0,o.useInjectable)(v.IMenuRegistry),y=(0,o.useInjectable)(v.AbstractMenuService);r.default.useEffect(()=>{const S=new o.Disposable,A=`${v.MenuId.CommentReactionSwitcherSubmenu}_${E}`;return S.addDispose(l.registerMenuItem(g,{submenu:A,label:A,iconClass:(0,o.getExternalIcon)("reactions"),group:"navigation"})),S.addDispose(l.registerMenuItems(A,u.reactions.map(w=>({command:{id:_.SwitchCommandReaction,label:w.label},extraTailArgs:[{thread:h,comment:u,reaction:w}]})))),()=>S.dispose()},[]);const b=r.default.useMemo(()=>y.createMenu(g),[]);return r.default.createElement(p.InlineActionBar,{className:d,menus:b,regroup:S=>[S,[]],type:"icon"})};t.CommentReactionSwitcher=f;const a=({thread:h,comment:u})=>{var d;const E=(0,o.useInjectable)(o.IEventBus),g=(0,o.useInjectable)(m.IIconService),l=r.default.useCallback(y=>{E.fire(new _.CommentReactionClick({thread:h,comment:u,reaction:y}))},[]);return r.default.createElement("div",{className:s.default.comment_reactions},(d=u.reactions)===null||d===void 0?void 0:d.filter(y=>y.count!==0).map(y=>r.default.createElement(c.Button,{key:y.label,onClick:()=>l(y),type:"secondary",size:"small",title:y.label,className:s.default.comment_reaction,iconClass:g.fromIcon("",y.iconPath.toString(),m.IconType.Background)},"\xA0",y.count)))};t.CommentReactions=a},54143:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsBody=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(43144)),c=e(84605),p=n.__importDefault(e(38877)),v=e(70154),m=({root:_,children:s})=>o.default.createPortal(s,_);t.CommentsBody=r.default.memo(({body:_})=>{const s=r.default.useRef(null),[f,a]=r.default.useState(null),h=r.default.useMemo(()=>{const u=(0,c.createMarkedRenderer)();return u.link=(d,E,g)=>`<a target="_blank" rel="noopener" href="${d}" title="${E}">${g}</a>`,u},[]);return r.default.useEffect(()=>{if(s.current){const u=s.current.attachShadow({mode:"open"});f||a(u)}},[]),r.default.createElement("div",{ref:s,className:p.default.comment_shadow_box},f&&r.default.createElement(m,{root:f},r.default.createElement("style",null,v.markdownCss),r.default.createElement("div",{dangerouslySetInnerHTML:{__html:(0,c.toMarkdownHtml)(typeof _=="string"?_:_.value,{gfm:!0,breaks:!1,pedantic:!1,smartLists:!0,smartypants:!1,renderer:h})}})))})},66480:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsFeatureRegistry=void 0;const n=e(85608),r=e(76003);let o=class{constructor(){this.config={},this.options={},this.panelTreeNodeHandlers=[],this.mentionsOptions={},this.providerFeature=new Map}registerConfig(p){this.config={...this.config,...p}}registerPanelTreeNodeHandler(p){this.panelTreeNodeHandlers.push(p)}registerPanelOptions(p){this.options={...this.options,...p}}registerFileUploadHandler(p){this.fileUploadHandler=p}registerMentionsOptions(p){this.mentionsOptions=p}registerZoneWidgetRender(p){this.zoneWidgetRender=p}getConfig(){return this.config}getCommentsPanelOptions(){return this.options}getCommentsPanelTreeNodeHandlers(){return this.panelTreeNodeHandlers}getFileUploadHandler(){return this.fileUploadHandler}getMentionsOptions(){return this.mentionsOptions}getZoneWidgetRender(){return this.zoneWidgetRender}registerProviderFeature(p,v){this.providerFeature.set(p,v)}getProviderFeature(p){return this.providerFeature.get(p)}};t.CommentsFeatureRegistry=o,t.CommentsFeatureRegistry=o=n.__decorate([(0,r.Injectable)()],o)},37357:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentItem=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(97267),c=e(41869),p=e(25918),v=e(93899),m=e(69635),_=e(15504),s=e(54143),f=e(42018),a=n.__importDefault(e(38877)),h=({timestamp:g})=>{const l=r.default.useMemo(()=>{const y=new Date(g);return(0,c.toLocalString)(y)},[g]);return r.default.createElement("span",{className:a.default.comment_item_timestamp},l)},u=(g,l)=>{const y=(0,c.useInjectable)(v.AbstractMenuService),{body:b,contextValue:S}=l,[A,w]=r.default.useState(""),T=(0,c.useInjectable)(m.ICommentsFeatureRegistry),D=r.default.useMemo(()=>T.getFileUploadHandler(),[]);r.default.useEffect(()=>{w(b)},[b]);const I=r.default.useMemo(()=>g.createScoped(),[]),O=r.default.useMemo(()=>I.createKey("commentIsEmpty",!l.body),[]),M=r.default.useMemo(()=>y.createMenu(v.MenuId.CommentsCommentContext,I),[]),R=r.default.useMemo(()=>y.createMenu(v.MenuId.CommentsCommentTitle,I),[]),P=r.default.useRef(I.createKey("comment",S));r.default.useEffect(()=>{P.current.set(S)},[S]);const k=r.default.useCallback(L=>{O.set(!L.target.value),w(L.target.value)},[]),F=r.default.useCallback(async L=>{if(D){const B=await D(A,L);w(j=>{const W=j+B;return O.set(!W),W})}},[A]);return[A,w,k,M,R,F]},d=({reply:g,thread:l})=>{var y;const{contextKeyService:b}=l,{author:S,label:A,body:w,mode:T,timestamp:D}=g,I=(y=S.iconPath)===null||y===void 0?void 0:y.toString(),[O,M,R,P,k,F]=u(b,g),L=r.default.useMemo(()=>{const B=(0,c.toMarkdownHtml)(typeof w=="string"?w:w.value);return/^\<p\>[^<>]+\<\/p\>\n$/.test(B)},[w]);return r.default.createElement("div",{className:a.default.reply_item},(0,c.isUndefined)(T)||T===m.CommentMode.Preview?r.default.createElement("div",null,L?r.default.createElement(r.default.Fragment,null,I&&r.default.createElement("img",{className:a.default.reply_item_icon,src:I,alt:S.name}),r.default.createElement("span",{className:a.default.comment_item_author_name},S.name),D&&r.default.createElement(h,{timestamp:D}),typeof A=="string"?r.default.createElement("span",{className:a.default.comment_item_label},A):A," : ",r.default.createElement("span",{className:a.default.comment_item_body},typeof w=="string"?w:w.value),g.reactions&&g.reactions.length>0&&r.default.createElement(_.CommentReactionSwitcher,{className:a.default.reply_item_title,thread:l,comment:g}),r.default.createElement(p.InlineActionBar,{separator:"inline",className:a.default.reply_item_title,menus:k,context:[{thread:l,comment:g,menuId:v.MenuId.CommentsCommentTitle}],type:"icon"})):r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:a.default.comment_item_markdown_header},r.default.createElement("div",null,I&&r.default.createElement("img",{className:a.default.reply_item_icon,src:I,alt:S.name}),r.default.createElement("span",{className:a.default.comment_item_author_name},S.name),D&&r.default.createElement(h,{timestamp:D}),typeof A=="string"?r.default.createElement("span",{className:a.default.comment_item_label},A):A," : "),r.default.createElement(p.InlineActionBar,{separator:"inline",className:a.default.reply_item_title,menus:k,context:[{thread:l,comment:g,menuId:v.MenuId.CommentsCommentTitle}],type:"icon"})),r.default.createElement(s.CommentsBody,{body:w}))):r.default.createElement("div",null,r.default.createElement(f.CommentsTextArea,{value:typeof O=="string"?O:O.value,autoFocus:!0,onChange:R,dragFiles:F}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_reply,menus:P,context:[{thread:l,comment:g,body:O,menuId:v.MenuId.CommentsCommentContext}],type:"button",separator:"inline",afterClick:()=>{M(w)}})),g.reactions&&g.reactions.length>0&&r.default.createElement(_.CommentReactions,{thread:l,comment:g}))},E=({thread:g,commentThreadContext:l,widget:y})=>{var b,S;const[A,w]=r.default.useState(!1),[T,D]=r.default.useState(""),{contextKeyService:I}=g,O=(0,c.useAutorun)(g.readOnly),[M,...R]=(0,c.useAutorun)(g.comments),{author:P,label:k,body:F,mode:L,timestamp:B}=M,j=(0,c.isString)(P.iconPath)?P.iconPath:!((b=P.iconPath)===null||b===void 0)&&b.authority?(S=P.iconPath)===null||S===void 0?void 0:S.toString():"",[W,U,X,V,$,Y]=u(I,M),G=(0,c.useInjectable)(m.ICommentsFeatureRegistry),H=r.default.useMemo(()=>G.getFileUploadHandler(),[]),K=r.default.useMemo(()=>I.createKey("commentIsEmpty",!0),[]);function Z(oe){K.set(!oe.target.value),D(oe.target.value)}const Q=r.default.useCallback(async oe=>{if(H){const ne=await H(W,oe);D(he=>{const _e=he+ne;return K.set(!_e),_e})}},[T]);return r.default.createElement("div",{className:a.default.comment_item},j&&r.default.createElement("img",{className:a.default.comment_item_icon,src:j,alt:P.name}),r.default.createElement("div",{className:a.default.comment_item_content},r.default.createElement("div",{className:a.default.comment_item_head},r.default.createElement("div",{className:a.default.comment_item_name},r.default.createElement("span",{className:a.default.comment_item_author_name},P.name),B&&r.default.createElement(h,{timestamp:B}),typeof k=="string"?r.default.createElement("span",{className:a.default.comment_item_label},k):k),r.default.createElement("div",{className:a.default.comment_item_actions},M.reactions&&M.reactions.length>0&&r.default.createElement(_.CommentReactionSwitcher,{thread:g,comment:M}),!O&&r.default.createElement(o.Button,{className:a.default.comment_item_reply_button,size:"small",type:"secondary",onClick:()=>w(!0)},(0,c.localize)("comments.thread.action.reply")),r.default.createElement(p.InlineActionBar,{menus:$,context:[{thread:g,comment:M,menuId:v.MenuId.CommentsCommentTitle}],type:"button"}))),(0,c.isUndefined)(L)||L===m.CommentMode.Preview?r.default.createElement(s.CommentsBody,{body:F}):r.default.createElement("div",null,r.default.createElement(f.CommentsTextArea,{value:typeof W=="string"?W:W.value,autoFocus:!0,onChange:X,dragFiles:Y}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_context,menus:V,context:[{thread:g,comment:M,body:W,menuId:v.MenuId.CommentsCommentContext}],separator:"inline",type:"button",afterClick:()=>{U(F)}})),M.reactions&&M.reactions.length>0&&r.default.createElement(_.CommentReactions,{thread:g,comment:M}),(R.length>0||A)&&r.default.createElement("div",{className:a.default.comment_item_reply_wrap},R.map(oe=>r.default.createElement(d,{key:oe.id,thread:g,reply:oe})),A&&r.default.createElement("div",null,r.default.createElement(f.CommentsTextArea,{autoFocus:!0,value:T,onChange:Z,placeholder:`${(0,c.localize)("comments.reply.placeholder")}...`,dragFiles:Q}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_reply,menus:l,context:[{thread:g,text:T,widget:y,menuId:v.MenuId.CommentsCommentThreadContext}],separator:"inline",type:"button",afterClick:()=>{D(""),w(!1)}})))))};t.CommentItem=E},53878:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),c=e(41869),p=e(69635),v=n.__importDefault(e(38877)),m=e(5167),_=e(47842),s=({viewState:f})=>{const a=(0,c.useInjectable)(_.CommentModelService),[h,u]=(0,r.useState)(),d=(0,r.useRef)(null),E=(0,c.useInjectable)(p.ICommentsFeatureRegistry),{handleTreeBlur:g}=a;(0,r.useEffect)(()=>{u(a.treeModel);const T=a.onDidUpdateTreeModel(D=>{u(D)});return()=>{T.dispose()}},[]);const l=(0,r.useCallback)(T=>{a.handleTreeHandler(T)},[a]),y=(0,r.useCallback)(T=>r.default.createElement(m.CommentNodeRendered,{item:T.item,itemType:T.itemType,decorations:a.decorations.getDecorations(T.item),defaultLeftPadding:8,onTwistierClick:a.handleTwistierClick,onClick:a.handleItemClick,leftPadding:8}),[h]),b=(0,r.useMemo)(()=>E.getCommentsPanelOptions(),[]),S=(0,r.useMemo)(()=>b.header,[b]),A=(0,r.useMemo)(()=>r.default.createElement("div",{className:v.default.panel_placeholder},b.defaultPlaceholder||(0,c.localize)("comments.panel.placeholder")),[b]),w=(0,r.useCallback)(()=>h?r.default.createElement(o.RecycleTree,{height:f.height-(S?.height||0),itemHeight:m.COMMENT_TREE_NODE_HEIGHT,onReady:l,model:h,placeholder:()=>A},y):A,[h,S,f.height]);return r.default.createElement("div",{className:v.default.comment_panel,tabIndex:-1,onBlur:g,ref:d},S?.component,w())};t.CommentsPanel=s},42018:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsTextArea=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(34801),c=e(97267),p=e(41869),v=e(69635),m=e(54143),_=n.__importDefault(e(38877)),s=e(73136),f="@",a="@[__display__](__id__)",h=(u,d)=>`@${d}`;t.CommentsTextArea=r.default.forwardRef((u,d)=>{const{focusDelay:E=0,autoFocus:g=!1,placeholder:l="",onFocus:y,onBlur:b,onChange:S,maxRows:A=10,minRows:w=2,value:T,initialHeight:D,dragFiles:I}=u,[O,M]=r.default.useState(0),R=(0,p.useInjectable)(v.ICommentsFeatureRegistry),P=r.default.useRef(null),k=r.default.useRef(null),F=r.default.useRef(null);r.default.useImperativeHandle(d,()=>P.current);const L=r.default.useCallback(async V=>{var $;V.stopPropagation(),V.preventDefault();const Y=($=V.dataTransfer)===null||$===void 0?void 0:$.files;Y&&I&&await I(Y),P.current&&(P.current.focus(),j(P.current.value))},[I]),B=r.default.useCallback(V=>{V.stopPropagation(),V.preventDefault(),V.dataTransfer.dropEffect="copy"},[]),j=r.default.useCallback(V=>{const $=P.current;if($){const Y=V.toString().length;$.setSelectionRange(Y,Y)}},[]);r.default.useEffect(()=>{var V;const $=P.current;if(!$)return;D&&$.style&&($.style.height=D),E&&setTimeout(()=>{$.focus({preventScroll:!0})},E),j(T);function Y(G){var H,K,Z;const Q=G.target;Q&&(Q.nodeName.toUpperCase()==="TEXTAREA"&&Q.scrollHeight>Q.clientHeight||Q.nodeName.toUpperCase()==="UL"||((H=Q.parentElement)===null||H===void 0?void 0:H.nodeName.toUpperCase())==="UL"||((Z=(K=Q.parentElement)===null||K===void 0?void 0:K.parentElement)===null||Z===void 0?void 0:Z.nodeName.toUpperCase())==="UL")&&G.stopPropagation()}return(V=k.current)===null||V===void 0||V.addEventListener("mousewheel",Y,!0),()=>{var G;(G=k.current)===null||G===void 0||G.removeEventListener("mousewheel",Y,!0)}},[]),r.default.useEffect(()=>{O===0&&(setTimeout(()=>{var V;(V=P.current)===null||V===void 0||V.focus({preventScroll:!0})},E),j(T))},[O]);const W=r.default.useMemo(()=>(0,s.getMentionBoxStyle)({minRows:w,maxRows:A}),[w,A]),U=r.default.useMemo(()=>R.getMentionsOptions(),[R]),X=r.default.useCallback(async(V,$)=>{if(U.providerData){const Y=await U.providerData(V);$(Y)}else $([])},[U]);return r.default.createElement("div",{className:_.default.textarea_container},r.default.createElement(c.Tabs,{mini:!0,value:O,onChange:V=>M(V),tabs:[(0,p.localize)("comments.thread.textarea.write"),(0,p.localize)("comments.thread.textarea.preview")]}),r.default.createElement("div",null,O===0?r.default.createElement("div",{ref:k},r.default.createElement(o.MentionsInput,{autoFocus:g,onDragOver:B,onDrop:L,inputRef:P,ref:F,value:T,placeholder:l,onChange:S,onFocus:y,onBlur:b,style:W},r.default.createElement(o.Mention,{markup:U.markup||a,renderSuggestion:U.renderSuggestion,trigger:f,data:X,displayTransform:U.displayTransform||h}))):r.default.createElement("div",{className:_.default.textarea_preview},r.default.createElement(m.CommentsBody,{body:T}))))})},49867:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsThread=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(91830),p=e(54414),v=e(28423),m=e(69635),_=e(90366);let s=class extends o.Disposable{set contextValue(a){this._contextKeyService.createKey("thread",a)}get contextValue(){return this._contextKeyService.getContextKeyValue("thread")}get onDidChangeCollapsibleState(){return this.onDidChangeCollapsibleStateEmitter.event}get onDidChange(){return this.onDidChangeEmitter.event}constructor(a,h,u,d){super(),this.uri=a,this.range=h,this.providerId=u,this.options=d,this.comments=(0,v.observableValue)(this,[]),this.label=(0,v.observableValue)(this,void 0),this.readOnly=(0,v.observableValue)(this,!1),this.isCollapsed=(0,v.observableValue)(this,!1),this.onDidChangeCollapsibleStateEmitter=new o.Emitter,this.widgets=new Map,this._id=`thread_${(0,o.uuid)()}`,this.onDidChangeEmitter=new o.Emitter,this.threadHeaderTitle=(0,v.derived)(this,S=>{const A=this.label.read(S);if(A)return A;const w=this.comments.read(S);if(w.length){const T=new Set(w.map(D=>`@${D.author.name}`));return`${(0,o.localize)("comments.participants")}: `+[...T].join(" ")}else return(0,o.localize)("comments.zone.title")}),this.toggle=S=>{if(this.comments.get().length>0){const w=this.widgets.get(S);w&&w.toggle()}else this.dispose()},this.updateComments(d.comments?d.comments.map(S=>({...S,id:(0,o.uuid)()})):[]),this.data=this.options.data,this._contextKeyService=this.registerDispose(this.globalContextKeyService.createScoped()),new c.ResourceContextKey(this._contextKeyService).set(a),this._contextKeyService.createKey("thread",d.contextValue),(0,v.transaction)(S=>{this.setReadOnly(!!d.readOnly),this.label.set(d.label,S),this.isCollapsed.set(!!this.options.isCollapsed,S)});const g=this._contextKeyService.createKey("threadsLength",this.commentsService.getThreadsByUri(a).length),l=this.comments.get(),y=this._contextKeyService.createKey("commentsLength",l.length),b=this._contextKeyService.createKey("commentThreadIsEmpty",!l.length);this._contextKeyService.createKey("commentController",u),this.addDispose((0,v.autorun)(S=>{const A=this.comments.read(S).length;y.set(A),b.set(!A)})),this.addDispose((0,v.autorun)(S=>{this.isCollapsed.read(S)?this.hideAll():this.showAll()})),this.addDispose(this.commentsService.onThreadsChanged(S=>{S.uri.isEqual(a)&&g.set(this.commentsService.getThreadsByUri(a).length)})),this.addDispose({dispose:()=>{this.updateComments([])}}),this.onDidChangeEmitter.fire()}updateComments(a){(0,v.transaction)(h=>{this.comments.set(a,h)})}getWidgetByEditor(a){return this.widgets.get(a)}get id(){return this._id}get contextKeyService(){return this._contextKeyService}setReadOnly(a){(0,v.transaction)(h=>{this.readOnly.set(a,h),this._contextKeyService.createKey("readOnly",a)})}getEditorsByUri(a){return this.editorCollectionService.listEditors().filter(h=>{var u;return(u=h.currentUri)===null||u===void 0?void 0:u.isEqual(a)})}addWidgetByEditor(a){const h=this.injector.get(_.CommentsZoneWidget,[a,this,{arrowColor:"var(--peekView-border)"}]);return this.addDispose(h.onChangeZoneWidget(()=>{const u=this.commentsService.commentsThreads.filter(g=>this.isEqual(g)),d=u.findIndex(g=>g===this),E=u.slice(d+1);for(const g of E)if(g.isShowWidget(a)){const l=g.getWidgetByEditor(a);l?.resize()}})),this.addDispose(h),this.widgets.set(a,h),a.onDispose(()=>{h.dispose(),this.widgets.delete(a)}),h}show(a){if(a){let h=this.widgets.get(a);h||(h=this.addWidgetByEditor(a)),h.show()}else this.getEditorsByUri(this.uri).forEach(u=>{var d;let E=this.widgets.get(u);E||(E=this.addWidgetByEditor(u)),!((d=u.currentUri)===null||d===void 0)&&d.isEqual(this.uri)&&E.show()})}showWidgetsIfShowed(){var a;for(const h of this.getEditorsByUri(this.uri)){let u=this.widgets.get(h);u||(u=this.addWidgetByEditor(h)),!((a=h.currentUri)===null||a===void 0)&&a.isEqual(this.uri)&&setTimeout(()=>{u?.show()},0)}}hideWidgetsByDispose(){var a;for(const[h,u]of this.widgets)!(!((a=h.currentUri)===null||a===void 0)&&a.isEqual(this.uri))&&u.dispose()}isShowWidget(a){if(a){const h=this.widgets.get(a);return h?h.isShow:!1}else{for(const[,h]of this.widgets)return h.isShow;return!1}}hide(a){if(a){const h=this.widgets.get(a);h?.hide()}else this.hideAll()}showAll(){(0,v.transaction)(a=>{this.isCollapsed.set(!1,a)});for(const[,a]of this.widgets)a.show();this.onDidChangeCollapsibleStateEmitter.fire(m.CommentThreadCollapsibleState.Expanded)}hideAll(a){var h;(0,v.transaction)(u=>{this.isCollapsed.set(!0,u)});for(const[u,d]of this.widgets)a?!(!((h=u.currentUri)===null||h===void 0)&&h.isEqual(this.uri))&&d.dispose():d.hide();this.onDidChangeCollapsibleStateEmitter.fire(m.CommentThreadCollapsibleState.Collapsed)}addComment(...a){const h=this.comments.get();(0,v.transaction)(u=>{this.comments.set([...h,...a.map(d=>({...d,id:(0,o.uuid)()}))],u)}),this.onDidChangeEmitter.fire()}removeComment(a){(0,v.transaction)(h=>{this.comments.set(this.comments.get().filter(u=>u!==a),h)}),this.onDidChangeEmitter.fire()}isEqual(a){return a.uri.isEqual(this.uri)&&a.range.startLineNumber===this.range.startLineNumber&&a.range.endLineNumber===this.range.endLineNumber}};t.CommentsThread=s,n.__decorate([(0,r.Autowired)(m.ICommentsService),n.__metadata("design:type",Object)],s.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],s.prototype,"globalContextKeyService",void 0),n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",p.EditorCollectionService)],s.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],s.prototype,"injector",void 0),t.CommentsThread=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[o.URI,Object,String,Object])],s)},73804:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsZoneService=void 0;const n=e(85608),r=e(76003),o=e(93899),c=e(43718),p=e(69635),v=e(49867);let m=class extends c.Disposable{constructor(s){super(),this.thread=s}setCurrentCommentThread(s){this.commentService.setCurrentCommentThread(s)}get commentThreadTitle(){return this.registerDispose(this.menuService.createMenu(o.MenuId.CommentsCommentThreadTitle,this.thread.contextKeyService))}get commentThreadContext(){return this.registerDispose(this.menuService.createMenu(o.MenuId.CommentsCommentThreadContext,this.thread.contextKeyService))}};t.CommentsZoneService=m,n.__decorate([(0,r.Autowired)(o.AbstractMenuService),n.__metadata("design:type",o.AbstractMenuService)],m.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(p.ICommentsService),n.__metadata("design:type",Object)],m.prototype,"commentService",void 0),n.__decorate([c.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"commentThreadTitle",null),n.__decorate([c.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"commentThreadContext",null),t.CommentsZoneService=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[v.CommentsThread])],m)},90366:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsZoneWidget=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),c=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=e(25918),_=e(93899),s=e(20303),f=e(69635),a=e(37357),h=e(42018),u=e(73804),d=n.__importDefault(e(38877)),E=({thread:l,widget:y})=>{const{contextKeyService:b}=l,S=(0,v.useAutorun)(l.comments),A=(0,v.useAutorun)(l.threadHeaderTitle),T=(0,v.useInjectable)(p.INJECTOR_TOKEN).get(u.CommentsZoneService,[l]),D=(0,v.useInjectable)(f.ICommentsFeatureRegistry),I=o.default.useMemo(()=>D.getFileUploadHandler(),[]),[O,M]=o.default.useState(""),R=o.default.useMemo(()=>b.createKey("commentIsEmpty",!O),[]),P=T.commentThreadTitle,k=T.commentThreadContext,F=o.default.useCallback(V=>{const{value:$}=V.target;M($),R.set(!$)},[]),L=o.default.useMemo(()=>{var V;return((V=D.getProviderFeature(l.providerId))===null||V===void 0?void 0:V.placeholder)||`${(0,v.localize)("comments.reply.placeholder")}...`},[]),B=o.default.useCallback(async V=>{if(I){const $=await I(O,V);M(Y=>{const G=Y+$;return R.set(!G),G})}},[O]);o.default.useEffect(()=>{const V=y.onFirstDisplay(()=>{setTimeout(()=>{y.coreEditor.monacoEditor.revealLine(l.range.endLineNumber+1)},0)});return()=>{V.dispose()}},[]);const j=o.default.useCallback(()=>{T.setCurrentCommentThread(T.thread)},[]),W=o.default.useCallback(()=>{T.setCurrentCommentThread(void 0)},[]),U=o.default.useCallback(()=>{T.setCurrentCommentThread(T.thread)},[]),X=o.default.useCallback(()=>{T.setCurrentCommentThread(void 0)},[]);return o.default.createElement("div",{tabIndex:-1,onMouseOver:j,onMouseOut:W,onFocus:U,onBlur:X,className:(0,r.default)(l.options.threadClassName,d.default.comment_container)},o.default.createElement("div",{className:(0,r.default)(l.options.threadHeadClassName,d.default.head)},o.default.createElement("div",{className:d.default.review_title},A),o.default.createElement(m.InlineActionBar,{menus:P,context:[{thread:l,widget:y,menuId:_.MenuId.CommentsCommentThreadTitle}],separator:"inline",type:"icon"})),o.default.createElement("div",{className:d.default.comment_body},S.length>0?o.default.createElement(a.CommentItem,{widget:y,commentThreadContext:k,thread:l}):o.default.createElement("div",null,o.default.createElement(h.CommentsTextArea,{focusDelay:100,initialHeight:"auto",value:O,onChange:F,placeholder:L,dragFiles:B}),o.default.createElement("div",{className:d.default.comment_bottom_actions},o.default.createElement(m.InlineActionBar,{className:d.default.comment_reply_actions,separator:"inline",type:"button",context:[{text:O,widget:y,thread:l,menuId:_.MenuId.CommentsCommentThreadContext}],menus:k})))))};let g=class extends s.ResizeZoneWidget{_fillContainer(){}constructor(y,b,S){super(y.monacoEditor,b.range,{...S,showInHiddenAreas:!0}),this.thread=b,this._onShow=new v.Emitter,this.onShow=this._onShow.event,this._onHide=new v.Emitter,this.onHide=this._onHide.event,this._editor=y,this._isShow=!b.isCollapsed.get();const A=document.createElement("div");this._container.appendChild(A),this.observeContainer(A);const w=this.commentsFeatureRegistry.getZoneWidgetRender();this.wrapperRoot=c.default.createRoot(A),this.wrapperRoot.render(o.default.createElement(v.ConfigProvider,{value:this.appConfig},w?w(this.thread,this):o.default.createElement(E,{thread:this.thread,widget:this}))),this.addDispose({dispose:()=>{var T;(T=this.wrapperRoot)===null||T===void 0||T.unmount(),this.wrapperRoot=void 0}})}get coreEditor(){return this._editor}get isShow(){return this._isShow}show(){super.show(),this._isShow=!0,this._onShow.fire()}hide(){super.hide(),this._isShow=!1,this._onHide.fire()}toggle(){this._isShow?this.hide():this.show()}applyClass(){}applyStyle(){}};t.CommentsZoneWidget=g,n.__decorate([(0,p.Autowired)(v.AppConfig),n.__metadata("design:type",Object)],g.prototype,"appConfig",void 0),n.__decorate([(0,p.Autowired)(f.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],g.prototype,"commentsFeatureRegistry",void 0),t.CommentsZoneWidget=g=n.__decorate([(0,p.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object,Object])],g)},62604:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsBrowserContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(93899),p=e(57517),v=e(63067),m=e(69635),_=e(47842);let s=class extends o.Disposable{onStart(){this.registerCommentsFeature(),this.listenToCreateCommentsPanel(),this.commentsService.init()}get panelBadge(){const a=this.commentsService.commentsThreads.length;return a?a+"":""}registerCommands(a){a.registerCommand({id:m.CollapseId,label:"%comments.panel.action.collapse%",iconClass:(0,o.getIcon)("collapse-all")},{execute:()=>{this.commentModelService.collapsedAll()}}),a.registerCommand({id:m.CloseThreadId,label:"%comments.thread.action.close%",iconClass:(0,o.getIcon)("up")},{execute:h=>{const{thread:u,widget:d}=h;u.comments.get().length?d.isShow&&d.toggle():u.dispose()}}),a.registerCommand({id:m.SwitchCommandReaction},{execute:h=>{this.eventBus.fire(new m.CommentReactionClick(h))}})}registerMenus(a){a.registerMenuItem(c.MenuId.CommentsCommentThreadTitle,{command:m.CloseThreadId,group:"inline",order:Number.MAX_SAFE_INTEGER})}registerToolbarItems(a){a.registerItem({id:m.CollapseId,viewId:m.CommentPanelId,command:m.CollapseId,tooltip:(0,o.localize)("comments.panel.action.collapse")})}registerCommentsFeature(){this.contributions.getContributions().forEach((a,h)=>{this.addDispose(this.commentsService.registerCommentRangeProvider(`contribution_${h}`,{getCommentingRanges:u=>a.provideCommentingRanges(u)})),a.registerCommentsFeature&&a.registerCommentsFeature(this.commentsFeatureRegistry)})}listenToCreateCommentsPanel(){this.commentsFeatureRegistry.getCommentsPanelOptions().defaultShow?this.commentsService.registerCommentPanel():o.Event.once(this.commentsService.onThreadsCreated)(()=>{this.commentsService.registerCommentPanel()}),this.addDispose(o.Event.debounce(this.commentsService.onThreadsChanged,()=>{},100)(()=>{const a=this.layoutService.getTabbarHandler(m.CommentPanelId);a?.setBadge(this.panelBadge)},this))}registerEditorFeature(a){a.registerEditorFeatureContribution({contribute:h=>this.commentsService.handleOnCreateEditor(h),provideEditorOptionsForUri:async h=>(await this.commentsService.getContributionRanges(h)).length?{lineDecorationsWidth:25,lineNumbersMinChars:5}:{}})}};t.CommentsBrowserContribution=s,n.__decorate([(0,r.Autowired)(m.ICommentsService),n.__metadata("design:type",Object)],s.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(m.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],s.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(m.CommentsContribution),n.__metadata("design:type",Object)],s.prototype,"contributions",void 0),n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],s.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(_.CommentModelService),n.__metadata("design:type",_.CommentModelService)],s.prototype,"commentModelService",void 0),t.CommentsBrowserContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution,p.BrowserEditorContribution,o.CommandContribution,o.TabBarToolbarContribution,c.MenuContribution)],s)},55011:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsService=void 0;const n=e(85608),r=n.__importDefault(e(53435)),o=n.__importDefault(e(87809)),c=e(76003),p=e(41869),v=e(57517),m=e(63067),_=e(20868),s=n.__importStar(e(20868)),f=e(62663),a=e(52416),h=n.__importStar(e(24347)),u=e(69635),d=e(53878),E=e(49867),g=e(53711);let l=class extends p.Disposable{constructor(){super(...arguments),this.decorationChangeEmitter=new p.Emitter,this.threads=new Map,this.threadsChangeEmitter=new p.Emitter,this.threadsCommentChangeEmitter=new p.Emitter,this.commentRangeProviderChangeEmitter=new p.Emitter,this.onDidChangeCurrentCommentThreadEmitter=new p.Emitter,this.threadsCreatedEmitter=new p.Emitter,this.rangeProviderMap=new Map,this.rangeOwner=new Map,this.providerDecorationCache=new p.LRUCache(1e4),this.commentRangeDecorationMap=new Map,this.shouldShowCommentsSchemes=new Set(["file","git","diff"]),this.decorationProviderDisposer=p.Disposable.NULL,this.activeThreadDecorationIds=[],this.allEditors=[],this.editorCommentingRangeSpaceReservedMap=new Map,this.editorLineDecorationsWidthMap=new Map}get commentsThreads(){return[...this.threads.values()]}get isMultiCommentsForSingleLine(){var b;return!!(!((b=this.commentsFeatureRegistry.getConfig())===null||b===void 0)&&b.isMultiCommentsForSingleLine)}get currentAuthorAvatar(){var b,S;return(S=(b=this.commentsFeatureRegistry.getConfig())===null||b===void 0?void 0:b.author)===null||S===void 0?void 0:S.avatar}get filterThreadDecoration(){var b;return(b=this.commentsFeatureRegistry.getConfig())===null||b===void 0?void 0:b.filterThreadDecoration}get onThreadsChanged(){return this.threadsChangeEmitter.event}get onThreadsCommentChange(){return this.threadsCommentChangeEmitter.event}get onThreadsCreated(){return this.threadsCreatedEmitter.event}get onCommentRangeProviderChange(){return this.commentRangeProviderChangeEmitter.event}get onDidChangeCurrentCommentThread(){return this.onDidChangeCurrentCommentThreadEmitter.event}setCurrentCommentThread(b){this.onDidChangeCurrentCommentThreadEmitter.fire(b)}createThreadDecoration(b){var S;const A=b.comments.get(),w=A.length===0?this.currentAuthorAvatar:(S=A[0].author.iconPath)===null||S===void 0?void 0:S.toString(),T=w?`${this.iconService.fromIcon("",w,a.IconType.Background)} avatar-icon`:this.iconService.fromString("$(comment)"),D={description:"comments-thread-decoration",glyphMarginClassName:w?["comment-thread",T].join(" "):["comment-range","comment-thread",T].join(" ")};return h.ModelDecorationOptions.createDynamic(D)}updateActiveThreadDecoration(b){var S;const A=this.getCurrentEditor(b?.uri);if(!A)return;(S=this.currentThreadCollapseStateListener)===null||S===void 0||S.dispose();const w=[];if(b){const T=b.range;b.isCollapsed.get()||(this.currentThreadCollapseStateListener=b.onDidChangeCollapsibleState(D=>{D===u.CommentThreadCollapsibleState.Collapsed&&this.updateActiveThreadDecoration(void 0)}),w.push({range:T,options:this.createThreadRangeActiveDecoration()}))}this.activeThreadDecorationIds=A.monacoEditor.deltaDecorations(this.activeThreadDecorationIds,w)}createDottedRangeDecoration(){const b={description:"comments-multiline-hover-decoration",linesDecorationsClassName:["comment-range","multiline-add"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}createHoverDecoration(){const b={description:"comments-hover-decoration",linesDecorationsClassName:["comment-range","line-hover","comment-add"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}createThreadRangeActiveDecoration(){const b={description:"comments-thread-range-active-decoration",isWholeLine:!1,zIndex:20,className:"comment-thread-range-current",shouldFillLineOnLineBreak:!0};return h.ModelDecorationOptions.createDynamic(b)}createThreadRangeDecoration(){const b={description:"comments-thread-range-decoration",isWholeLine:!1,zIndex:20,className:"comment-thread-range",shouldFillLineOnLineBreak:!0};return h.ModelDecorationOptions.createDynamic(b)}createCommentRangeDecoration(){const b={description:"comments-range-decoration",linesDecorationsClassName:["comment-range","comment-diff-added"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}init(){const b=this.resourceService.getSupportedSchemes();for(const S of b)this.shouldShowCommentsSchemes.add(S);this.addDispose(this.resourceService.onRegisterResourceProvider(S=>{S.scheme&&(this.shouldShowCommentsSchemes.add(S.scheme),this.registerDecorationProvider())})),this.addDispose(this.resourceService.onUnregisterResourceProvider(S=>{S.scheme&&(this.shouldShowCommentsSchemes.delete(S.scheme),this.registerDecorationProvider())})),this.registerDecorationProvider()}getCurrentEditor(b){var S;if(b){for(const A of this.allEditors)if(!((S=A.currentUri)===null||S===void 0)&&S.isEqual(b))return this.editor=A,A}return this.editor}handleOnCreateEditor(b){this.allEditors.push(b),this.editor=b;const S=new p.Disposable;let A=[],w=!1;return S.addDispose(b.monacoEditor.onMouseDown(T=>{if(T.target.type===f.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&T.target.element&&T.target.element.className.indexOf("comment-add")>-1){const{target:D}=T;if(D&&D.range){const{range:I}=D;this.startCommentRange=I,T.event.stopPropagation()}}else if(T.target.type===f.monacoBrowser.editor.MouseTargetType.GUTTER_GLYPH_MARGIN&&T.target.element&&T.target.element.className.indexOf("comment-thread")>-1){const{target:D}=T;if(D&&D.range){const{range:I}=D,O=this.commentsThreads.filter(M=>b.currentUri&&M.uri.isEqual(b.currentUri)&&M.range.endLineNumber===I.endLineNumber);O.length&&(O.some(R=>R.isShowWidget(b))?O.forEach(R=>R.hide(b)):O.forEach(R=>R.show(b)))}T.event.stopPropagation()}})),S.addDispose(b.monacoEditor.onMouseUp(async T=>{if(this.startCommentRange){if(w){this.renderCommentRange(b),w=!1,this.startCommentRange=null,this.endCommentRange=null;return}let D=this.startCommentRange;this.endCommentRange&&(this.endCommentRange.startLineNumber<this.startCommentRange.startLineNumber?(D.startColumn=this.endCommentRange.startColumn,D.startLineNumber=this.endCommentRange.startLineNumber):(D.endColumn=this.endCommentRange.endColumn,D.endLineNumber=this.endCommentRange.endLineNumber)),b.currentUri&&(D=await this.getValidRange(D,b.currentUri)),D&&(this.commentsThreads.some(I=>I.comments.get().length===0&&b.currentUri&&I.uri.isEqual(b.currentUri)&&I.range.startLineNumber===D.startLineNumber&&I.range.endLineNumber===D.endLineNumber)||this.createThread(b.currentUri,D).show(b),T.event.stopPropagation())}else if(T.target.type===f.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&T.target.element&&T.target.element.className.indexOf("comment-range")>-1&&T.target.element.className.indexOf("comment-thread")<0){const{target:D}=T,I=D.range;I&&(this.commentsThreads.some(O=>O.comments.get().length===0&&b.currentUri&&O.uri.isEqual(b.currentUri)&&O.range.startLineNumber===I.startLineNumber&&O.range.endLineNumber===I.endLineNumber)||this.createThread(b.currentUri,I).show(b),T.event.stopPropagation())}this.startCommentRange=null,this.endCommentRange=null})),S.addDispose(b.monacoEditor.onMouseMove(async T=>{var D,I,O;const M=b.currentUri,R=T.target.range;if(this.startCommentRange){if(!((D=T.target.element)===null||D===void 0)&&D.className||!((O=(I=T.target.element)===null||I===void 0?void 0:I.offsetParent)===null||O===void 0)&&O.className.includes("diff-hidden-lines")&&(w=!0),M&&R){let P={startLineNumber:this.startCommentRange.startLineNumber,endLineNumber:R.endLineNumber,startColumn:this.startCommentRange.startColumn,endColumn:R.endColumn};this.startCommentRange.startLineNumber>R.startLineNumber&&(P={startLineNumber:R.startLineNumber,endLineNumber:this.startCommentRange.endLineNumber,startColumn:R.startColumn,endColumn:this.startCommentRange.endColumn}),this.renderCommentRange(b,P),this.endCommentRange=R}}else if(M&&R&&await this.shouldShowHoverDecoration(M,R)){const P=[{range:(0,_.positionToRange)(R.startLineNumber),options:this.createHoverDecoration()}];A=b.monacoEditor.deltaDecorations(A,P)}})),S.addDispose(b.monacoEditor.onMouseLeave(async T=>{var D;const I=(D=T.target)===null||D===void 0?void 0:D.range,O=[];!this.startCommentRange&&I&&O.push({range:(0,_.positionToRange)(I.startLineNumber),options:this.createCommentRangeDecoration()}),A=b.monacoEditor.deltaDecorations(A,O)})),S.addDispose(this.onCommentRangeProviderChange(()=>{this.renderCommentRange(b)})),S.addDispose(p.Event.any(this.onThreadsChanged,this.onThreadsCommentChange,this.onThreadsCreated)(T=>{const D=this.getCurrentEditor(T.uri);D&&this.renderCommentRange(D),this.updateActiveThreadDecoration(void 0)})),S.addDispose(this.onDidChangeCurrentCommentThread(T=>{this.updateActiveThreadDecoration(T)})),this.tryUpdateReservedSpace(b),S.addDispose(b.monacoEditor.onDidChangeModel(()=>{this.renderCommentRange(b),this.tryUpdateReservedSpace(b)})),S}async getValidRange(b,S){if(!S)return b;const A=await this.getContributionRanges(S);if(A.length===0)return b;const w=A.find(T=>{if(b.startLineNumber>=T.startLineNumber&&b.startLineNumber<=T.endLineNumber)return!0});return w&&w.endLineNumber<b.endLineNumber?{startLineNumber:b.startLineNumber,startColumn:b.startColumn,endLineNumber:w.endLineNumber,endColumn:w.endColumn}:b}ensureCommentingRangeReservedAmount(b){const S=this.getExistingCommentEditorOptions(b),A=this.editorLineDecorationsWidthMap.get(b.getId());S.lineDecorationsWidth!==A&&b.updateOptions({lineDecorationsWidth:this.getWithCommentsLineDecorationWidth(b,S.lineDecorationsWidth)})}async tryUpdateReservedSpace(b){if(!b)return;let S=this.editorCommentingRangeSpaceReservedMap.get(b.getId())||!1;const A=b.currentUri?this.shouldShowCommentsSchemes.has(b.currentUri.scheme):!1,w=this.commentsThreads.some(D=>b.currentUri&&D.uri.isEqual(b.currentUri)&&D.comments.get().length>0),T=A||w;if(T)if(S)this.ensureCommentingRangeReservedAmount(b);else{S=!0;const{lineDecorationsWidth:D,extraEditorClassName:I}=this.getExistingCommentEditorOptions(b),O=this.getWithCommentsEditorOptions(b,I,D);this.updateEditorLayoutOptions(b,O.extraEditorClassName,O.lineDecorationsWidth)}else if(!T&&S){S=!1;const{lineDecorationsWidth:D,extraEditorClassName:I}=this.getExistingCommentEditorOptions(b),O=this.getWithoutCommentsEditorOptions(b,I,D);this.updateEditorLayoutOptions(b,O.extraEditorClassName,O.lineDecorationsWidth)}this.editorCommentingRangeSpaceReservedMap.set(b.getId(),S)}getExistingCommentEditorOptions(b){const S=b.monacoEditor.getOption(s.EditorOption.lineDecorationsWidth);let A=[];const w=b.monacoEditor.getRawOptions().extraEditorClassName;return w&&(A=w.split(" ")),{lineDecorationsWidth:S,extraEditorClassName:A}}getWithoutCommentsEditorOptions(b,S,A){let w=A;const T=S.findIndex(I=>I==="inline-comment");T>=0&&S.splice(T,1);const D=b.monacoEditor.getOptions();return D.get(s.EditorOption.folding)&&D.get(s.EditorOption.showFoldingControls)!=="never"&&(w+=11),w-=24,{extraEditorClassName:S,lineDecorationsWidth:w}}updateEditorLayoutOptions(b,S,A){b.updateOptions({extraEditorClassName:S.join(" "),lineDecorationsWidth:A})}getWithCommentsEditorOptions(b,S,A){return S.push("inline-comment"),{lineDecorationsWidth:this.getWithCommentsLineDecorationWidth(b,A),extraEditorClassName:S}}getWithCommentsLineDecorationWidth(b,S){let A=S;const w=b.monacoEditor.getOptions();return w.get(s.EditorOption.folding)&&w.get(s.EditorOption.showFoldingControls)!=="never"&&(A-=11),A+=24,this.editorLineDecorationsWidthMap.set(b.getId(),A),A}async renderCommentRange(b,S={startLineNumber:0,endLineNumber:0,startColumn:0,endColumn:0}){if(!b.currentUri)return;const A=await this.getContributionRanges(b.currentUri);if(A.length>0){const w=[];A.map(D=>{if(S.startLineNumber===0&&S.endLineNumber===0)w.push({range:D,options:this.createCommentRangeDecoration()});else if(S.startLineNumber<=D.startLineNumber&&S.endLineNumber>=D.endLineNumber)w.push({range:D,options:this.createDottedRangeDecoration()},{range:D,options:this.createThreadRangeDecoration()});else if(S.endLineNumber>=D.endLineNumber)if(S.startLineNumber<=D.endLineNumber){const I={startLineNumber:S.startLineNumber,endLineNumber:D.endLineNumber,startColumn:S.startColumn,endColumn:D.endColumn},O={startLineNumber:D.startLineNumber,endLineNumber:I.startLineNumber-1,startColumn:D.startColumn,endColumn:I.endColumn};w.push({range:O,options:this.createCommentRangeDecoration()},{range:I,options:this.createDottedRangeDecoration()},{range:I,options:this.createThreadRangeDecoration()})}else w.push({range:D,options:this.createCommentRangeDecoration()});else if(S.endLineNumber<D.endLineNumber)if(S.endLineNumber>=D.startLineNumber)if(S.startLineNumber>=D.startLineNumber){const I={startLineNumber:D.startLineNumber,startColumn:D.startColumn,endLineNumber:S.startLineNumber-1,endColumn:S.startColumn},O={startLineNumber:S.endLineNumber+1,startColumn:S.endColumn,endLineNumber:D.endLineNumber,endColumn:D.endColumn},M=S.startLineNumber!==D.startLineNumber?[{range:I,options:this.createCommentRangeDecoration()}]:[];M.push({range:S,options:this.createDottedRangeDecoration()}),M.push({range:S,options:this.createThreadRangeDecoration()}),M.push({range:O,options:this.createCommentRangeDecoration()}),w.push(...M)}else{const I={startLineNumber:D.startLineNumber,startColumn:D.startColumn,endLineNumber:S.endLineNumber,endColumn:S.endColumn},O={startLineNumber:I.endLineNumber+1,startColumn:I.endColumn,endLineNumber:D.endLineNumber,endColumn:D.endColumn};w.push({range:I,options:this.createDottedRangeDecoration()},{range:I,options:this.createThreadRangeDecoration()},{range:O,options:this.createCommentRangeDecoration()})}else w.push({range:D,options:this.createCommentRangeDecoration()})});const T=this.commentRangeDecorationMap.get(b.currentUri.toString())||[];this.commentRangeDecorationMap.set(b.currentUri.toString(),b.monacoEditor.deltaDecorations(T,w))}else this.commentRangeDecorationMap.set(b.currentUri.toString(),[])}async shouldShowHoverDecoration(b,S){return this.shouldShowCommentsSchemes.has(b.scheme)?(await this.getContributionRanges(b)).some(T=>S.startLineNumber<=T.endLineNumber):!1}createThread(b,S,A={comments:[],readOnly:!1}){const w=this.getProviderIdsByLine(S.endLineNumber)[0],T=this.injector.get(E.CommentsThread,[b,S,w,A]);return T.onDispose(()=>{this.threads.delete(T.id),this.threadsChangeEmitter.fire(T),this.decorationChangeEmitter.fire(b)}),T.onDidChange(()=>{this.threadsChangeEmitter.fire(T)}),this.threads.set(T.id,T),this.addDispose(T),this.threadsChangeEmitter.fire(T),this.threadsCreatedEmitter.fire(T),this.decorationChangeEmitter.fire(b),T}getThreadsByUri(b){return this.commentsThreads.filter(S=>S.uri.isEqual(b)).sort((S,A)=>S.range.startLineNumber-A.range.startLineNumber)}handleCommentFileNode(b){const S=[],A=[...this.threads.values()].filter(T=>T.comments.get().length),w=(0,o.default)(A,T=>T.uri);return Object.keys(w).map(T=>{var D;const I=w[T];if(I.length===0)return;const O=new p.URI(this.appConfig.workspaceDir),M=new p.URI(T),R=(D=O.relative(M))===null||D===void 0?void 0:D.toString();S.push(new g.CommentFileNode(this,I,R,M.codeUri.fsPath,this.labelService.getIcon(M),M,b))}),S}handleCommentContentNode(b){var S;const A=[];for(const w of b.threads){const T=w.comments.get(),[D]=T,I=typeof D.body=="string"?D.body:D.body.value;let O=`[Ln ${w.range.startLineNumber}]`;w.range.startLineNumber!==w.range.endLineNumber&&(O=`[Ln ${w.range.startLineNumber}-${w.range.endLineNumber}]`),A.push(new g.CommentContentNode(this,w,I,O,D.author.iconPath&&(!((S=D.author.iconPath)===null||S===void 0)&&S.authority)?this.iconService.fromIcon("",D.author.iconPath.toString(),a.IconType.Background):(0,p.getIcon)("message"),D.author,b.resource,b))}return A}handleCommentReplyNode(b){const S=[],A=b.thread,w=A.comments.get(),[T,...D]=w,I=D[D.length-1].author.name;return S.push(new g.CommentReplyNode(this,A,(0,p.formatLocalize)("comment.reply.count",D?.length||0),(0,p.formatLocalize)("comment.reply.lastReply",I),"",b.resource,b)),S}async resolveChildren(b){let S=[];if(b?g.CommentRoot.isRoot(b)?S=this.handleCommentFileNode(b):g.CommentFileNode.is(b)?S=this.handleCommentContentNode(b):g.CommentContentNode.is(b)&&(S=this.handleCommentReplyNode(b)):S.push(new g.CommentRoot(this)),S.length===1&&g.CommentRoot.isRoot(S[0]))return S;const A=this.commentsFeatureRegistry.getCommentsPanelTreeNodeHandlers();if(A.length>0)for(const w of A)S=w(S);return S}async getContributionRanges(b){const S=this.providerDecorationCache.get(b.toString());if(S)return await S.promise;const A=this.documentService.getModelReference(b,"Get Comment Range"),w=[];for(const O of this.rangeProviderMap){const[M,R]=O;w.push((async()=>{if(!A?.instance)return;const P=await R.getCommentingRanges(A.instance);return P&&P.length&&this.rangeOwner.set(M,P),P})())}const T=new p.Deferred;this.providerDecorationCache.set(b.toString(),T);const D=(await Promise.all(w)).filter(Boolean);A?.dispose();const I=(0,r.default)(D).filter(Boolean);return T.resolve(I),I}fireThreadCommentChange(b){this.threadsCommentChangeEmitter.fire(b)}registerDecorationProvider(){this.decorationProviderDisposer.dispose(),this.decorationProviderDisposer=this.editorDecorationCollectionService.registerDecorationProvider({schemes:[...this.shouldShowCommentsSchemes.values()],key:"comments",onDidDecorationChange:this.decorationChangeEmitter.event,provideEditorDecoration:b=>this.commentsThreads.map(S=>(S.uri.isEqual(b)?S.comments.get().length&&S.showWidgetsIfShowed():S.hide(),S)).filter(S=>{const A=S.uri.isEqual(b);return this.filterThreadDecoration?A&&this.filterThreadDecoration(S):A}).map(S=>({range:{startLineNumber:S.range.endLineNumber,endLineNumber:S.range.endLineNumber,startColumn:S.range.endColumn,endColumn:S.range.endColumn},options:this.createThreadDecoration(S)}))}),this.addDispose(this.decorationProviderDisposer)}registerCommentPanel(){this.layoutService.getTabbarHandler(u.CommentPanelId)||this.layoutService.collectTabbarComponent([{id:u.CommentPanelId,component:d.CommentsPanel}],{badge:this.panelBadge,containerId:u.CommentPanelId,title:(0,p.localize)("comments").toUpperCase(),hidden:!1,activateKeyBinding:"ctrlcmd+shift+c",...this.commentsFeatureRegistry.getCommentsPanelOptions()},"bottom")}get panelBadge(){const b=this.commentsThreads.length;return b?b+"":""}registerCommentRangeProvider(b,S){return this.rangeProviderMap.set(b,S),this.providerDecorationCache.clear(),this.commentRangeProviderChangeEmitter.fire(),p.Disposable.create(()=>{this.rangeProviderMap.delete(b),this.rangeOwner.delete(b),this.providerDecorationCache.clear()})}forceUpdateDecoration(){var b,S,A;const w=(b=this.workbenchEditorService.currentEditor)===null||b===void 0?void 0:b.currentUri;w&&this.decorationChangeEmitter.fire(w);const T=(A=(S=this.workbenchEditorService.currentEditorGroup)===null||S===void 0?void 0:S.diffEditor)===null||A===void 0?void 0:A.originalEditor.currentUri;T&&this.decorationChangeEmitter.fire(T)}getProviderIdsByLine(b){const S=[];if(this.rangeOwner.size===1)return[this.rangeOwner.keys().next().value];for(const A of this.rangeOwner){const[w,T]=A;T&&T.some(D=>D.startLineNumber<=b&&b<=D.endLineNumber)&&S.push(w)}return S}};t.CommentsService=l,n.__decorate([(0,c.Autowired)(c.INJECTOR_TOKEN),n.__metadata("design:type",c.Injector)],l.prototype,"injector",void 0),n.__decorate([(0,c.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],l.prototype,"appConfig",void 0),n.__decorate([(0,c.Autowired)(v.IEditorDecorationCollectionService),n.__metadata("design:type",Object)],l.prototype,"editorDecorationCollectionService",void 0),n.__decorate([(0,c.Autowired)(a.IIconService),n.__metadata("design:type",Object)],l.prototype,"iconService",void 0),n.__decorate([(0,c.Autowired)(p.LabelService),n.__metadata("design:type",p.LabelService)],l.prototype,"labelService",void 0),n.__decorate([(0,c.Autowired)(u.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],l.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,c.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],l.prototype,"documentService",void 0),n.__decorate([(0,c.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],l.prototype,"layoutService",void 0),n.__decorate([(0,c.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],l.prototype,"workbenchEditorService",void 0),n.__decorate([(0,c.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],l.prototype,"resourceService",void 0),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],l.prototype,"isMultiCommentsForSingleLine",null),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],l.prototype,"currentAuthorAvatar",null),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],l.prototype,"filterThreadDecoration",null),t.CommentsService=l=n.__decorate([(0,c.Injectable)()],l)},54230:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsModule=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(69635),p=e(66480),v=e(62604),m=e(55011),_=e(47842);let s=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=c.CommentsContribution,this.providers=[{token:c.ICommentsService,useClass:m.CommentsService},{token:_.CommentModelService,useClass:_.CommentModelService},{token:c.ICommentsFeatureRegistry,useClass:p.CommentsFeatureRegistry},v.CommentsBrowserContribution]}};t.CommentsModule=s,t.CommentsModule=s=n.__decorate([(0,r.Injectable)()],s)},70154:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.markdownCss=void 0,t.markdownCss=`
30374
30398
  h1, h2, h3, h4, h5, h6, p {
@@ -30618,7 +30642,7 @@ Run with Automatic Debug Configurations
30618
30642
  {1}
30619
30643
 
30620
30644
  Sign out of these features?`,"authentication.signOutMessageSimple":"Sign out of {0}?","authentication.useOtherAccount":"Sign in to another account","authentication.selectAccount":"The extension '{0}' wants to access a {1} account","authentication.getSessionPlaceholder":"Select an account for '{0}' to use or Esc to cancel","authentication.confirmAuthenticationAccess":"The extension '{0}' wants to access the {1} account '{2}'.","authentication.confirmLogin":"The extension '{0}' wants to sign in using {1}.","authentication.confirmReLogin":"The extension '{0}' wants to sign in again using {1}.","authentication.signInRequests":"Sign in to use {0} (1)","authentication.signOut":"Sign out {0}","authentication.noAccounts":"You are not signed in to any accounts","authentication.signedOut":"Successfully signed out.","refactoring-changes.ask.1.create":"Extension '{0}' wants to make refactoring changes with this file creation","refactoring-changes.ask.1.copy":"Extension '{0}' wants to make refactoring changes with this file copy","refactoring-changes.ask.1.move":"Extension '{0}' wants to make refactoring changes with this file move","refactoring-changes.ask.1.delete":"Extension '{0}' wants to make refactoring changes with this file deletion","refactoring-changes.ask.N.create":"{0} extensions want to make refactoring changes with this file creation","refactoring-changes.ask.N.copy":"{0} extensions want to make refactoring changes with this file copy","refactoring-changes.ask.N.move":"{0} extensions want to make refactoring changes with this file move","refactoring-changes.ask.N.delete":"{0} extensions want to make refactoring changes with this file deletion","refactoring-changes.msg.showPreview":"Show Preview","refactoring-changes.msg.skipChanges":"Skip Changes","keyboard.chooseKeyboardLayout":"Choose keyboard layout","keyboard.autoDetect.label":"Auto Detect","keyboard.autoDetect.description":"(Current: '{0} ')","keyboard.autoDetect.detail":"Try to detect the keyboard layout from browser information and pressed keys.","editor.toggleWordWrap":"Toggle Word Wrap","editor.suggest.details.visible":"Controls whether editor code completion expands details by default","view.component.renderedError":"View Component Rendering Exception","view.component.tryAgain":"Refresh","test.title":"Testing","test.result.runFinished":"Test run at {0}","test.task.unnamed":"Unnamed Task","test.results":"Test Results","menu.missing.command":"menuId {0} register command not exist: {1}","menu.missing.altCommand":"menuId {0} register altCommand not exist: {1}","menu.dupe.command":"menuId {0} register command({1}) is duplicated with alt({2})","command.category.developerTools":"Developer Tool","connection.start.rtt":"Measure Connection RTT","connection.stop.rtt":"Stop Connection RTT","debug.terminal.label":"Javascript Debug Terminal","debug.terminal.title":"Debug Process","output.channel.clear":"Clear Output Panel","workbench.action.tasks.runTask":"Run Task","workbench.action.tasks.reRunTask":"Rerun Last Task","workbench.action.tasks.restartTask":"Restart Running Task","workbench.action.tasks.terminate":"Terminate Task","workbench.action.tasks.showTasks":"Show Running Tasks","workbench.action.tasks.showLog":"Show Task Log","task.contribute":"Contribute","task.cannotFindTask":"Cannot find task for {0}. Press Enter key to return.","comment.reply.count":"{0} comments","comment.reply.lastReply":"Last reply from {0}","walkthroughs.welcome":"Welcome","walkthroughs.get.started":"Open the 'Getting Started' walkthrough","mergeEditor.reset":"Reset","mergeEditor.workbench.tab.name":"Merging: {0}","mergeEditor.conflict.action.apply.confirm.title":"The file has unresolved conflicts or changes, whether to apply and save the changes?","mergeEditor.conflict.action.apply.confirm.continue":"Continue Merge","mergeEditor.conflict.action.apply.confirm.complete":"Apply Changes","mergeEditor.action.button.apply":"Apply","mergeEditor.action.button.apply-and-stash":"Apply and Stash","mergeEditor.action.button.accept.left":"Accept Left","mergeEditor.action.button.accept.right":"Accept Right","mergeEditor.open.3way":"3-Way Editor","mergeEditor.conflict.prev":"Previous Conflict","mergeEditor.conflict.next":"Next Conflict","mergeEditor.conflict.ai.resolve.all":"AI Resolution","mergeEditor.conflict.ai.resolve.all.stop":"Stop All","mergeEditor.open.tradition":"Text Editor","aiNative.chat.ai.assistant.name":"AI Assistant","aiNative.chat.input.placeholder.default":"Ask Copilot or type / for commands","aiNative.chat.stop.immediately":"I don\u2019t think about it anymore. If you need anything, you can ask me anytime.","aiNative.chat.error.response":"There are too many people interacting with me at the moment. Please try again later. Thank you for your understanding and support.","aiNative.chat.code.insert":"Insert code","aiNative.chat.code.copy":"Copy code","aiNative.chat.code.copy.success":"Copied successfully","aiNative.chat.expand.unfullscreen":"unfullscreen","aiNative.chat.expand.fullescreen":"fullescreen","aiNative.chat.enter.send":"Send (Enter)","aiNative.inline.chat.operate.chat.title":"Chat({0})","aiNative.inline.chat.operate.check.title":"Check","aiNative.inline.chat.operate.thumbsup.title":"Thumbs up","aiNative.inline.chat.operate.thumbsdown.title":"Thumbs down","aiNative.inline.chat.operate.loading.cancel":"Esc to cancel","aiNative.inline.chat.input.placeholder.default":"New code instructions...(\u2191\u2193 for history)","aiNative.inline.chat.generating.canceled":"Inline Chat Generating Canceled.","aiNative.inline.hint.widget.placeholder":"{0} to inline chat","aiNative.inline.problem.fix.title":"Fix with AI","aiNative.inline.diff.accept":"Accept","aiNative.inline.diff.reject":"Reject","aiNative.resolve.conflict.dialog.afresh":"Are you sure you want to regenerate?","aiNative.resolve.conflict.dialog.detection":`It is detected that you have made modifications. Regeneration will overwrite
30621
- your modifications. Are you sure to regenerate?`,"aiNative.resolve.conflict.message.not.processed.yet":"AI has processed conflicts at {0}, but conflicts at {1} have not yet been processed (still marked as yellow) and require manual processing.","aiNative.operate.discard.title":"Discard","aiNative.operate.afresh.title":"Afresh","aiNative.operate.stop.title":"Stop","aiNative.operate.close.title":"Close","aiNative.operate.clear.title":"Clear","aiNative.operate.tools.title":"MCP Tools","aiNative.operate.newChat.title":"New Chat","aiNative.operate.chatHistory.title":"Chat History","aiNative.operate.chatHistory.searchPlaceholder":"Search Chats...","aiNative.operate.chatHistory.edit":"Edit","aiNative.operate.chatHistory.delete":"Delete","aiNative.chat.welcome.loading.text":"Initializing...","aiNative.chat.ai.assistant.limit.message":"{0} earliest messages are dropped due to the input token limit","aiNative.inlineDiff.acceptAll":"Accept All","aiNative.inlineDiff.rejectAll":"Reject All","aiNative.inlineDiff.reveal":"Reveal In Chat","aiNative.inlineDiff.up":"Previous Change","aiNative.inlineDiff.down":"Next Change","aiNative.inlineDiff.right":"Next File","aiNative.inlineDiff.left":"Previous File","aiNative.inlineDiff.noMoreChangesUp":"No more changes above","aiNative.inlineDiff.noMoreChangesDown":"No more changes below","aiNative.chat.session.max":"You can only create {0} chats at a time","preference.ai.native.inlineChat.title":"Inline Chat","preference.ai.native.chat.title":"Chat","preference.ai.native.interface.quick.title":"Interface Quick Navigation","preference.ai.native.interface.quick.navigation":"Click the icon on the left side of the editor to quickly jump to the interface implementation.","preference.ai.native.interface.quick.navigation.hover":"Go to implementation","preference.ai.native.inlineChat.auto.visible":"Does Inline Chat automatically appear when code are selected?","preference.ai.native.inlineChat.codeAction.enabled":"Does Inline Chat related code actions automatically appear when code are selected?","preference.ai.native.chat.visible.type":"Control how the chat panel is displayed by default","preference.ai.native.inlineDiff.preview.mode":"Inline Diff preview mode","preference.ai.native.inlineDiff.preview.mode.sideBySide":"Displayed in the editor as left and right diff panels","preference.ai.native.inlineDiff.preview.mode.inlineLive":"Displayed in the editor through streaming rendering","preference.ai.native.intelligentCompletions.title":"Intelligent Completions","preference.ai.native.intelligentCompletions.promptEngineering.enabled":"Whether to enable prompt engineering, some LLM models may not perform well on prompt engineering.","preference.ai.native.intelligentCompletions.debounceTime":"Debounce time for intelligent completions","preference.ai.native.intelligentCompletions.cache.enabled":"Whether to enable cache for intelligent completions","preference.ai.native.intelligentCompletions.alwaysVisible":"Whether to always show intelligent completions","preference.ai.native.codeEdits.title":"Code Edits","preference.ai.native.codeEdits.lintErrors":"Whether to trigger intelligent rewriting when Lint Error occurs","preference.ai.native.codeEdits.lineChange":"Whether to trigger intelligent rewriting when the cursor line number changes","preference.ai.native.codeEdits.typing":"Whether to trigger intelligent rewriting when the content changes","preference.ai.native.codeEdits.renderType":"Code Edits Render Type","preference.ai.native.chat.system.prompt":"Default Chat System Prompt","workbench.quickOpen.preserveInput":"Controls whether the last typed input to Quick Open(include Command Palette) should be preserved.","webview.webviewTagUnavailable":"webview is unsupported on non-electron env, please use iframe instead","notebook.kernel.panel.empty":"No content found.","notebook.kernel.panel.title":"Running Terminals and Kernels","notebook.kernel.panel.opened.pages":"Opened Pages","notebook.kernel.panel.running.kernels":"Running Kernels","notebook.kernel.close.all.confirmation":"Are you sure you want to close all?","notebook.variable.panel.title":"Variable Inspector","notebook.variable.panel.unsupported":"The file format is not supported for variable inspection","notebook.variable.panel.refresh.success":"Variable refresh successful","notebook.variable.panel.refresh.error":"Variable refresh failed","notebook.variable.panel.search.placeholder":"Please enter the variable name to search","notebook.variable.panel.show.detail":"View details",...r.browserViews,...o.editorLocalizations,...c.enUS,"preference.ai.native.llm.apiSettings.title":"LLM API Settings","preference.ai.native.llm.model.id":"Model ID","preference.ai.native.deepseek.apiKey":"Deepseek API Key","preference.ai.native.deepseek.apiKey.description":"API key for Deepseek language model","preference.ai.native.anthropic.apiKey":"Anthropic API Key","preference.ai.native.anthropic.apiKey.description":"API key for Anthropic language model","preference.ai.native.openai.apiKey":"OpenAI API Key","preference.ai.native.openai.apiKey.description":"API key for OpenAI Compatible language model","preference.ai.native.openai.baseURL":"OpenAI Base URL","preference.ai.native.openai.baseURL.description":"Base URL for OpenAI Compatible language model","preference.ai.native.mcp.settings.title":"MCP Server Settings","preference.ai.native.mcp.servers":"MCP Servers","preference.ai.native.mcp.servers.description":"Configure MCP (Model Context Protocol) servers","preference.ai.native.mcp.servers.name.description":"Name of the MCP server","preference.ai.native.mcp.servers.command.description":"Command to start the MCP server","preference.ai.native.mcp.servers.args.description":"Command line arguments for the MCP server","preference.ai.native.mcp.servers.env.description":"Environment variables for the MCP server","preference.ai.native.mcp.servers.type.description":"Type of the MCP server connection","preference.ai.native.mcp.servers.type.stdio":"Stdio connection","preference.ai.native.mcp.servers.type.sse":"SSE connection","ai.native.mcp.terminal.command":"Command","ai.native.mcp.terminal.output":"Output","ai.native.mcp.terminal.allow-question":"Allow the terminal to run the command?","ai.native.mcp.terminal.allow":"Allow","ai.native.mcp.terminal.deny":"Reject","ai.native.mcp.name":"Name:","ai.native.mcp.command":"Command:","ai.native.mcp.args":"Arguments:","ai.native.mcp.env":"Environment Variables:","ai.native.mcp.type":"Type:","ai.native.mcp.stdio":"Command","ai.native.mcp.sse":"SSE","ai.native.mcp.buttonSave":"Add","ai.native.mcp.buttonUpdate":"Update","ai.native.mcp.buttonCancel":"Cancel","ai.native.mcp.addMCPServer.title":"Add MCP Server","ai.native.mcp.editMCPServer.title":"Edit MCP Server","ai.native.mcp.serverHost.placeHolder":"Enter Server Host","ai.native.mcp.command.placeHolder":"Enter Command","ai.native.mcp.args.placeHolder":"Enter Arguments","ai.native.mcp.env.placeHolder":"KEY=value (one per line)","ai.native.mcp.name.placeHolder":"Enter Server Name"}}},32581:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(43718),r=e(20741),o=e(61647);(0,n.registerLocalizationBundle)(o.localizationBundle),(0,n.registerLocalizationBundle)(r.localizationBundle)},36942:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.enUS=void 0,t.enUS={"merge-conflicts.merge.type.auto":"auto merged","merge-conflicts.merge.type.manual":"merged","merge-conflicts.conflicts.summary":"Total {0} conflicts ({1})","merge-conflicts.conflicts.all-resolved":"All resolved","merge-conflicts.conflicts.partial-resolved":"{0} conflicts resolved, {1} remaining","merge-conflicts.non-conflicts.summary":"Non-conflict changes {0} in total","merge-conflicts.non-conflicts.progress":"{0} non-conflict changes have been {1}","merge-conflicts.non-conflicts.from.left":"target branch: {0} places","merge-conflicts.non-conflicts.from.right":"source branch: {0} places","merge-conflicts.non-conflicts.from.base":"base branch: {0} places","merge-conflicts.merge.conflict.remain":"Unresolved conflicts {0} remaining"}},40028:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zhCN=void 0,t.zhCN={"merge-conflicts.merge.type.auto":"\u81EA\u52A8\u5408\u5E76","merge-conflicts.merge.type.manual":"\u5408\u5E76","merge-conflicts.conflicts.summary":"\u51B2\u7A81\u53D8\u66F4\u5171 {0} \u5904 ({1})","merge-conflicts.conflicts.all-resolved":"\u5DF2\u5168\u90E8\u89E3\u51B3","merge-conflicts.conflicts.partial-resolved":"\u5DF2\u89E3\u51B3 {0} \u5904, \u5269\u4F59 {1} \u5904","merge-conflicts.non-conflicts.summary":"\u975E\u51B2\u7A81\u53D8\u66F4\u5171 {0} \u5904","merge-conflicts.non-conflicts.progress":"{0} \u5904\u975E\u51B2\u7A81\u53D8\u66F4\u5DF2{1}","merge-conflicts.non-conflicts.from.left":"\u76EE\u6807\u5206\u652F: {0} \u5904","merge-conflicts.non-conflicts.from.right":"\u6765\u6E90\u5206\u652F: {0} \u5904","merge-conflicts.non-conflicts.from.base":"\u4E24\u8005: {0} \u5904","merge-conflicts.merge.conflict.remain":"\u5269\u4F59\u672A\u89E3\u51B3\u51B2\u7A81 {0} \u5904"}},61647:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.localizationBundle=void 0;const n=e(69734),r=e(21714),o=e(12651),c=e(40028);t.localizationBundle={languageId:n.LOCALE_TYPES.ZH_CN,languageName:"Chinese",localizedLanguageName:"\u4E2D\u6587(\u4E2D\u56FD)",contents:{ButtonAllow:"\u5141\u8BB8",ButtonOK:"\u786E\u5B9A",ButtonCancel:"\u53D6\u6D88","common.yes":"\u662F","common.no":"\u5426",extension:"\u63D2\u4EF6",editTtile:"\u7F16\u8F91","common.loading":"\u52A0\u8F7D\u4E2D...","tree.filter.placeholder":"\u8F93\u5165\u5173\u952E\u5B57\u6216\u8DEF\u5F84\u7B5B\u9009","file.new":"\u65B0\u5EFA\u6587\u4EF6","file.folder.new":"\u65B0\u5EFA\u6587\u4EF6\u5939","file.locate":"\u6587\u4EF6\u5B9A\u4F4D","file.save":"\u4FDD\u5B58\u6587\u4EF6","file.saveAll":"\u4FDD\u5B58\u5168\u90E8","file.autoSave":"\u81EA\u52A8\u4FDD\u5B58","file.open":"\u6253\u5F00\u6587\u4EF6","file.open.side":"\u4FA7\u8FB9\u680F\u6253\u5F00","file.open.type":"\u6253\u5F00\u65B9\u5F0F...","file.open.type.placeholder":'\u4E3A "{0}" \u9009\u62E9\u6253\u5F00\u65B9\u5F0F',"file.open.type.detail.active":"\u5F53\u524D","file.open.type.detail.and":"\u548C","file.open.type.detail.default":"\u9ED8\u8BA4","file.open.type.preference.default":'\u4E3A "{0}" \u914D\u7F6E\u9ED8\u8BA4\u7F16\u8F91\u5668...',"file.delete":"\u5220\u9664","file.rename":"\u91CD\u547D\u540D","file.compare":"\u4E0E\u7F16\u8F91\u5668\u4E2D\u7684\u6587\u4EF6\u6BD4\u8F83","file.close":"\u5173\u95ED\u6587\u4EF6","file.copy.path":"\u590D\u5236\u8DEF\u5F84","file.copy.relativepath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","file.paste.file":"\u7C98\u8D34","file.copy.file":"\u590D\u5236","file.cut.file":"\u526A\u5207","file.move.existMessage":"\u8981\u7C98\u8D34\u7684\u6587\u4EF6\u540C\u65F6\u88AB\u5220\u9664\u6216\u79FB\u52A8\u3002\u65E0\u6CD5\u79FB\u52A8/\u590D\u5236\u3002\u6587\u4EF6\u5DF2\u5B58\u5728\u4E8E\u76EE\u6807\u4F4D\u7F6E\u3002","file.action.new.file":"\u65B0\u5EFA\u6587\u4EF6","file.action.new.folder":"\u65B0\u5EFA\u6587\u4EF6\u5939","file.action.refresh":"\u5237\u65B0\u6587\u4EF6","file.action.collapse":"\u5168\u90E8\u6298\u53E0","file.location":"\u5728\u6587\u4EF6\u6811\u4E2D\u5B9A\u4F4D","file.open.folder":"\u6253\u5F00\u6587\u4EF6\u5939","file.open.workspace":"\u4ECE\u6587\u4EF6\u6253\u5F00\u5DE5\u4F5C\u533A","file.confirm.delete":`### \u786E\u5B9A\u4ECE\u5DE5\u4F5C\u533A\u5220\u9664\u4E0B\u9762\u7684 {0} \u4E2A\u6587\u4EF6?
30645
+ your modifications. Are you sure to regenerate?`,"aiNative.resolve.conflict.message.not.processed.yet":"AI has processed conflicts at {0}, but conflicts at {1} have not yet been processed (still marked as yellow) and require manual processing.","aiNative.operate.discard.title":"Discard","aiNative.operate.afresh.title":"Afresh","aiNative.operate.stop.title":"Stop","aiNative.operate.close.title":"Close","aiNative.operate.clear.title":"Clear","aiNative.operate.tools.title":"MCP Tools","aiNative.operate.newChat.title":"New Chat","aiNative.operate.chatHistory.title":"Chat History","aiNative.operate.chatHistory.searchPlaceholder":"Search Chats...","aiNative.operate.chatHistory.edit":"Edit","aiNative.operate.chatHistory.delete":"Delete","aiNative.chat.welcome.loading.text":"Initializing...","aiNative.chat.ai.assistant.limit.message":"{0} earliest messages are dropped due to the input token limit","aiNative.inlineDiff.acceptAll":"Accept All","aiNative.inlineDiff.rejectAll":"Reject All","aiNative.inlineDiff.reveal":"Reveal In Chat","aiNative.inlineDiff.up":"Previous Change","aiNative.inlineDiff.down":"Next Change","aiNative.inlineDiff.right":"Next File","aiNative.inlineDiff.left":"Previous File","aiNative.inlineDiff.noMoreChangesUp":"No more changes above","aiNative.inlineDiff.noMoreChangesDown":"No more changes below","aiNative.chat.session.max":"You can only create {0} chats at a time","preference.ai.native.inlineChat.title":"Inline Chat","preference.ai.native.chat.title":"Chat","preference.ai.native.interface.quick.title":"Interface Quick Navigation","preference.ai.native.interface.quick.navigation":"Click the icon on the left side of the editor to quickly jump to the interface implementation.","preference.ai.native.interface.quick.navigation.hover":"Go to implementation","preference.ai.native.inlineChat.auto.visible":"Does Inline Chat automatically appear when code are selected?","preference.ai.native.inlineChat.codeAction.enabled":"Does Inline Chat related code actions automatically appear when code are selected?","preference.ai.native.chat.visible.type":"Control how the chat panel is displayed by default","preference.ai.native.inlineDiff.preview.mode":"Inline Diff preview mode","preference.ai.native.inlineDiff.preview.mode.sideBySide":"Displayed in the editor as left and right diff panels","preference.ai.native.inlineDiff.preview.mode.inlineLive":"Displayed in the editor through streaming rendering","preference.ai.native.intelligentCompletions.title":"Intelligent Completions","preference.ai.native.intelligentCompletions.promptEngineering.enabled":"Whether to enable prompt engineering, some LLM models may not perform well on prompt engineering.","preference.ai.native.intelligentCompletions.debounceTime":"Debounce time for intelligent completions","preference.ai.native.intelligentCompletions.cache.enabled":"Whether to enable cache for intelligent completions","preference.ai.native.intelligentCompletions.alwaysVisible":"Whether to always show intelligent completions","preference.ai.native.codeEdits.title":"Code Edits","preference.ai.native.codeEdits.lintErrors":"Whether to trigger intelligent rewriting when Lint Error occurs","preference.ai.native.codeEdits.lineChange":"Whether to trigger intelligent rewriting when the cursor line number changes","preference.ai.native.codeEdits.typing":"Whether to trigger intelligent rewriting when the content changes","preference.ai.native.codeEdits.renderType":"Code Edits Render Type","preference.ai.native.chat.system.prompt":"Default Chat System Prompt","workbench.quickOpen.preserveInput":"Controls whether the last typed input to Quick Open(include Command Palette) should be preserved.","webview.webviewTagUnavailable":"webview is unsupported on non-electron env, please use iframe instead","notebook.kernel.panel.empty":"No content found.","notebook.kernel.panel.title":"Running Terminals and Kernels","notebook.kernel.panel.opened.pages":"Opened Pages","notebook.kernel.panel.running.kernels":"Running Kernels","notebook.kernel.close.all.confirmation":"Are you sure you want to close all?","notebook.variable.panel.title":"Variable Inspector","notebook.variable.panel.unsupported":"The file format is not supported for variable inspection","notebook.variable.panel.refresh.success":"Variable refresh successful","notebook.variable.panel.refresh.error":"Variable refresh failed","notebook.variable.panel.search.placeholder":"Please enter the variable name to search","notebook.variable.panel.show.detail":"View details",...r.browserViews,...o.editorLocalizations,...c.enUS,"preference.ai.native.llm.apiSettings.title":"LLM API Settings","preference.ai.native.llm.model.id":"Model ID","preference.ai.native.deepseek.apiKey":"Deepseek API Key","preference.ai.native.deepseek.apiKey.description":"API key for Deepseek language model","preference.ai.native.anthropic.apiKey":"Anthropic API Key","preference.ai.native.anthropic.apiKey.description":"API key for Anthropic language model","preference.ai.native.openai.apiKey":"OpenAI API Key","preference.ai.native.openai.apiKey.description":"API key for OpenAI Compatible language model","preference.ai.native.openai.baseURL":"OpenAI Base URL","preference.ai.native.openai.baseURL.description":"Base URL for OpenAI Compatible language model","preference.ai.native.mcp.settings.title":"MCP Server Settings","preference.ai.native.mcp.servers":"MCP Servers","preference.ai.native.mcp.servers.description":"Configure MCP (Model Context Protocol) servers","preference.ai.native.mcp.servers.name.description":"Name of the MCP server","preference.ai.native.mcp.servers.command.description":"Command to start the MCP server","preference.ai.native.mcp.servers.args.description":"Command line arguments for the MCP server","preference.ai.native.mcp.servers.env.description":"Environment variables for the MCP server","preference.ai.native.mcp.servers.type.description":"Type of the MCP server connection","preference.ai.native.mcp.servers.type.stdio":"Stdio connection","preference.ai.native.mcp.servers.type.sse":"SSE connection","ai.native.mcp.terminal.command":"Command","ai.native.mcp.terminal.output":"Output","ai.native.mcp.terminal.allow-question":"Allow the terminal to run the command?","ai.native.mcp.terminal.allow":"Allow","ai.native.mcp.terminal.deny":"Reject","ai.native.mcp.name":"Name:","ai.native.mcp.command":"Command:","ai.native.mcp.args":"Arguments:","ai.native.mcp.env":"Environment Variables:","ai.native.mcp.type":"Type:","ai.native.mcp.stdio":"Command","ai.native.mcp.sse":"SSE","ai.native.mcp.buttonSave":"Add","ai.native.mcp.buttonUpdate":"Update","ai.native.mcp.buttonCancel":"Cancel","ai.native.mcp.addMCPServer.title":"Add MCP Server","ai.native.mcp.editMCPServer.title":"Edit MCP Server","ai.native.mcp.serverHost.placeHolder":"URL to SSE endpoint","ai.native.mcp.command.placeHolder":"Command to execute","ai.native.mcp.args.placeHolder":"Arguments","ai.native.mcp.env.placeHolder":"KEY=value (one per line)","ai.native.mcp.name.placeHolder":"Server Name","ai.native.mcp.type.builtin":"Built-in","ai.native.mcp.type.sse":"SSE","ai.native.mcp.type.stdio":"Command"}}},32581:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(43718),r=e(20741),o=e(61647);(0,n.registerLocalizationBundle)(o.localizationBundle),(0,n.registerLocalizationBundle)(r.localizationBundle)},36942:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.enUS=void 0,t.enUS={"merge-conflicts.merge.type.auto":"auto merged","merge-conflicts.merge.type.manual":"merged","merge-conflicts.conflicts.summary":"Total {0} conflicts ({1})","merge-conflicts.conflicts.all-resolved":"All resolved","merge-conflicts.conflicts.partial-resolved":"{0} conflicts resolved, {1} remaining","merge-conflicts.non-conflicts.summary":"Non-conflict changes {0} in total","merge-conflicts.non-conflicts.progress":"{0} non-conflict changes have been {1}","merge-conflicts.non-conflicts.from.left":"target branch: {0} places","merge-conflicts.non-conflicts.from.right":"source branch: {0} places","merge-conflicts.non-conflicts.from.base":"base branch: {0} places","merge-conflicts.merge.conflict.remain":"Unresolved conflicts {0} remaining"}},40028:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zhCN=void 0,t.zhCN={"merge-conflicts.merge.type.auto":"\u81EA\u52A8\u5408\u5E76","merge-conflicts.merge.type.manual":"\u5408\u5E76","merge-conflicts.conflicts.summary":"\u51B2\u7A81\u53D8\u66F4\u5171 {0} \u5904 ({1})","merge-conflicts.conflicts.all-resolved":"\u5DF2\u5168\u90E8\u89E3\u51B3","merge-conflicts.conflicts.partial-resolved":"\u5DF2\u89E3\u51B3 {0} \u5904, \u5269\u4F59 {1} \u5904","merge-conflicts.non-conflicts.summary":"\u975E\u51B2\u7A81\u53D8\u66F4\u5171 {0} \u5904","merge-conflicts.non-conflicts.progress":"{0} \u5904\u975E\u51B2\u7A81\u53D8\u66F4\u5DF2{1}","merge-conflicts.non-conflicts.from.left":"\u76EE\u6807\u5206\u652F: {0} \u5904","merge-conflicts.non-conflicts.from.right":"\u6765\u6E90\u5206\u652F: {0} \u5904","merge-conflicts.non-conflicts.from.base":"\u4E24\u8005: {0} \u5904","merge-conflicts.merge.conflict.remain":"\u5269\u4F59\u672A\u89E3\u51B3\u51B2\u7A81 {0} \u5904"}},61647:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.localizationBundle=void 0;const n=e(69734),r=e(21714),o=e(12651),c=e(40028);t.localizationBundle={languageId:n.LOCALE_TYPES.ZH_CN,languageName:"Chinese",localizedLanguageName:"\u4E2D\u6587(\u4E2D\u56FD)",contents:{ButtonAllow:"\u5141\u8BB8",ButtonOK:"\u786E\u5B9A",ButtonCancel:"\u53D6\u6D88","common.yes":"\u662F","common.no":"\u5426",extension:"\u63D2\u4EF6",editTtile:"\u7F16\u8F91","common.loading":"\u52A0\u8F7D\u4E2D...","tree.filter.placeholder":"\u8F93\u5165\u5173\u952E\u5B57\u6216\u8DEF\u5F84\u7B5B\u9009","file.new":"\u65B0\u5EFA\u6587\u4EF6","file.folder.new":"\u65B0\u5EFA\u6587\u4EF6\u5939","file.locate":"\u6587\u4EF6\u5B9A\u4F4D","file.save":"\u4FDD\u5B58\u6587\u4EF6","file.saveAll":"\u4FDD\u5B58\u5168\u90E8","file.autoSave":"\u81EA\u52A8\u4FDD\u5B58","file.open":"\u6253\u5F00\u6587\u4EF6","file.open.side":"\u4FA7\u8FB9\u680F\u6253\u5F00","file.open.type":"\u6253\u5F00\u65B9\u5F0F...","file.open.type.placeholder":'\u4E3A "{0}" \u9009\u62E9\u6253\u5F00\u65B9\u5F0F',"file.open.type.detail.active":"\u5F53\u524D","file.open.type.detail.and":"\u548C","file.open.type.detail.default":"\u9ED8\u8BA4","file.open.type.preference.default":'\u4E3A "{0}" \u914D\u7F6E\u9ED8\u8BA4\u7F16\u8F91\u5668...',"file.delete":"\u5220\u9664","file.rename":"\u91CD\u547D\u540D","file.compare":"\u4E0E\u7F16\u8F91\u5668\u4E2D\u7684\u6587\u4EF6\u6BD4\u8F83","file.close":"\u5173\u95ED\u6587\u4EF6","file.copy.path":"\u590D\u5236\u8DEF\u5F84","file.copy.relativepath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","file.paste.file":"\u7C98\u8D34","file.copy.file":"\u590D\u5236","file.cut.file":"\u526A\u5207","file.move.existMessage":"\u8981\u7C98\u8D34\u7684\u6587\u4EF6\u540C\u65F6\u88AB\u5220\u9664\u6216\u79FB\u52A8\u3002\u65E0\u6CD5\u79FB\u52A8/\u590D\u5236\u3002\u6587\u4EF6\u5DF2\u5B58\u5728\u4E8E\u76EE\u6807\u4F4D\u7F6E\u3002","file.action.new.file":"\u65B0\u5EFA\u6587\u4EF6","file.action.new.folder":"\u65B0\u5EFA\u6587\u4EF6\u5939","file.action.refresh":"\u5237\u65B0\u6587\u4EF6","file.action.collapse":"\u5168\u90E8\u6298\u53E0","file.location":"\u5728\u6587\u4EF6\u6811\u4E2D\u5B9A\u4F4D","file.open.folder":"\u6253\u5F00\u6587\u4EF6\u5939","file.open.workspace":"\u4ECE\u6587\u4EF6\u6253\u5F00\u5DE5\u4F5C\u533A","file.confirm.delete":`### \u786E\u5B9A\u4ECE\u5DE5\u4F5C\u533A\u5220\u9664\u4E0B\u9762\u7684 {0} \u4E2A\u6587\u4EF6?
30622
30646
  {1}`,"file.confirm.deleteTips":"\u4F60\u53EF\u4EE5\u4ECE\u56DE\u6536\u7AD9\u8FD8\u539F\u6587\u4EF6","file.confirm.moveToTrash.ok":"\u79FB\u5165\u56DE\u6536\u7AD9","file.confirm.delete.ok":"\u5220\u9664","file.confirm.delete.cancel":"\u53D6\u6D88","file.confirm.move":"\u786E\u5B9A\u79FB\u52A8\u6587\u4EF6 {0} \u5230 {1} ?","file.confirm.move.ok":"\u79FB\u52A8","file.confirm.move.cancel":"\u53D6\u6D88","file.confirm.paste":"\u786E\u5B9A\u62F7\u8D1D\u6587\u4EF6 {0} \u5230 {1} ?","file.confirm.paste.ok":"\u62F7\u8D1D","file.confirm.paste.cancel":"\u53D6\u6D88","file.confirm.replace":"\u786E\u5B9A\u66FF\u6362{0}\u6587\u4EF6?","file.confirm.replace.ok":"\u66FF\u6362","file.confirm.replace.cancel":"\u53D6\u6D88","file.empty.defaultTitle":"\u65E0\u6253\u5F00\u7684\u6587\u4EF6\u5939","file.empty.defaultMessage":"\u5C1A\u672A\u6253\u5F00\u6587\u4EF6\u5939","file.workspace.defaultTip":"\u65E0\u6807\u9898\uFF08\u5DE5\u4F5C\u533A\uFF09","file.workspace.defaultWorkspaceTip":"{0}\uFF08\u5DE5\u4F5C\u533A\uFF09","file.empty.openFolder":"\u6253\u5F00\u6587\u4EF6\u5939","file.collapse":"\u5168\u90E8\u6298\u53E0","file.refresh":"\u5237\u65B0","file.search.folder":"\u5728\u6587\u4EF6\u5939\u4E2D\u67E5\u627E","file.focus.files":"\u5728\u8D44\u6E90\u7BA1\u7406\u5668\u4E2D\u805A\u7126\u6587\u4EF6","file.filetree.filter":"\u57FA\u4E8E\u5F53\u524D\u6587\u4EF6\u6811\u7B5B\u9009\u6587\u4EF6","file.filetree.openTerminalWithPath":"\u5728\u7EC8\u7AEF\u4E2D\u6253\u5F00","file.tooltip.symbolicLink":"\u7B26\u53F7\u94FE\u63A5","file.resource-deleted":"\uFF08\u5DF2\u5220\u9664\uFF09","file.revealInExplorer":"\u5728\u6587\u4EF6\u6811\u4E2D\u5B9A\u4F4D","menu-bar.title.file":"\u6587\u4EF6","menu-bar.title.edit":"\u7F16\u8F91","menu-bar.title.selection":"\u9009\u62E9","menu-bar.title.view":"\u89C6\u56FE","menu-bar.title.go":"\u524D\u5F80","menu-bar.title.debug":"\u8C03\u8BD5","menu-bar.title.terminal":"\u7EC8\u7AEF","menu-bar.title.window":"\u7A97\u53E3","menu-bar.title.help":"\u5E2E\u52A9","menu-bar.file.open":"\u6253\u5F00\u6587\u4EF6","menu-bar.file.save-as":"\u53E6\u5B58\u4E3A","menu-bar.file.save-all":"\u5168\u90E8\u4FDD\u5B58","menu-bar.view.quick.command":"\u547D\u4EE4\u9762\u677F","menu-bar.go.jumpToBracket":"\u8DF3\u8F6C\u5230\u62EC\u53F7","menu-bar.go.nextProblemInFiles":"\u4E0B\u4E00\u4E2A\u95EE\u9898","menu-bar.go.prevProblemInFiles":"\u4E0A\u4E00\u4E2A\u95EE\u9898","menu-bar.file.pref":"\u8BBE\u7F6E","menu-bar.mode.compact":"\u7D27\u51D1\u6A21\u5F0F",editor:"\u7F16\u8F91\u5668","editor.undo":"\u64A4\u9500","editor.redo":"\u91CD\u505A","editor.saveCurrent":"\u4FDD\u5B58\u5F53\u524D\u6587\u4EF6","editor.title.context.close":"\u5173\u95ED","editor.closeTab.title":"\u5173\u95ED ({0})","editor.closeCurrent":"\u5173\u95ED\u5F53\u524D\u7F16\u8F91\u7A97\u53E3","editor.openExternal":"\u4F7F\u7528\u5916\u90E8\u8F6F\u4EF6\u6253\u5F00","editor.cannotOpenBinary":"\u65E0\u6CD5\u5728\u7F16\u8F91\u5668\u4E2D\u5C55\u793A\u4E8C\u8FDB\u5236\u6587\u4EF6\u3002","editor.splitToLeft":"\u5411\u5DE6\u62C6\u5206","editor.splitToRight":"\u5411\u53F3\u62C6\u5206","editor.splitToTop":"\u5411\u4E0A\u62C6\u5206","editor.splitToBottom":"\u5411\u4E0B\u62C6\u5206","editor.closeAllInGroup":"\u5173\u95ED\u5168\u90E8","editor.closeSaved":"\u5173\u95ED\u5DF2\u4FDD\u5B58","editor.closeOtherEditors":"\u5173\u95ED\u5176\u4ED6","editor.closeToRight":"\u5173\u95ED\u5230\u53F3\u4FA7","editor.cannotSaveWithoutDirectory":"\u8BF7\u9009\u62E9\u8981\u4FDD\u5B58\u7684\u8DEF\u5F84","editor.failToOpen":"\u6253\u5F00\u6587\u4EF6 {0} \u5931\u8D25, \u8BF7\u786E\u8BA4\u6587\u4EF6\u662F\u5426\u5B58\u5728\u3002\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F: {1}","editor.lineHeight":"\u884C\u9AD8","editor.lineHeight.description":`\u63A7\u5236\u884C\u9AD8\u3002
30623
30647
 
30624
30648
  - \u4F7F\u7528 0 \u6839\u636E\u5B57\u53F7\u81EA\u52A8\u8BA1\u7B97\u884C\u9AD8\u3002
@@ -30639,7 +30663,7 @@ your modifications. Are you sure to regenerate?`,"aiNative.resolve.conflict.mess
30639
30663
  {1}
30640
30664
 
30641
30665
  \u662F\u5426\u8981\u9000\u51FA?`,"authentication.signOutMessageSimple":"\u662F\u5426\u8981\u9000\u51FA {0}?","authentication.useOtherAccount":"\u4F7F\u7528\u5176\u4ED6\u8D26\u6237\u767B\u5F55","authentication.selectAccount":"\u6269\u5C55 '{0}' \u5C06\u8981\u8BBF\u95EE {1} \u8D26\u6237","authentication.getSessionPlaceholder":"\u9009\u62E9\u4E00\u4E2A\u8D26\u6237\u7ED9 '{0}' \u4F7F\u7528","authentication.confirmAuthenticationAccess":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 '{2}' \u8BBF\u95EE {1}","authentication.confirmLogin":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 {1} \u767B\u5F55","authentication.confirmReLogin":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 {1} \u518D\u6B21\u767B\u5F55","authentication.signInRequests":"\u767B\u5F55 {0}","authentication.signOut":"\u9000\u51FA {0}","authentication.noAccounts":"\u76EE\u524D\u6CA1\u6709\u767B\u5F55\u4EFB\u4F55\u8D26\u6237","authentication.signedOut":"\u6210\u529F\u9000\u51FA","refactoring-changes.ask.1.create":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u65B0\u5EFA\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.copy":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u590D\u5236\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.move":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u79FB\u52A8\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.delete":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u5220\u9664\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.create":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u65B0\u5EFA\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.copy":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u590D\u5236\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.move":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u79FB\u52A8\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.delete":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u5220\u9664\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.msg.showPreview":"\u663E\u793A\u9884\u89C8","refactoring-changes.msg.skipChanges":"\u8DF3\u8FC7\u66F4\u6539","keyboard.chooseKeyboardLayout":"\u9009\u62E9\u5E03\u5C40\u6587\u4EF6\u914D\u7F6E","keyboard.autoDetect.label":"\u81EA\u52A8\u68C0\u6D4B","keyboard.autoDetect.description":"\uFF08\u5F53\u524D\uFF1A'{0} '\uFF09","keyboard.autoDetect.detail":"\u5C1D\u8BD5\u901A\u8FC7\u6D4F\u89C8\u5668\u53CA\u6309\u952E\u4FE1\u606F\u8FDB\u884C\u5E03\u5C40\u81EA\u52A8\u68C0\u6D4B","editor.configuration.suggest.filterGraceful":"\u63A7\u5236\u5BF9\u5EFA\u8BAE\u7684\u7B5B\u9009\u548C\u6392\u5E8F\u662F\u5426\u8003\u8651\u5C0F\u7684\u62FC\u5199\u9519\u8BEF\u3002","editor.configuration.suggest.insertMode":"\u63A7\u5236\u63A5\u53D7\u8865\u5168\u65F6\u662F\u5426\u8986\u76D6\u5355\u8BCD\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u53D6\u51B3\u4E8E\u6269\u5C55\u9009\u62E9\u4F7F\u7528\u6B64\u529F\u80FD\u3002","editor.configuration.suggest.insertMode.insert":"\u63D2\u5165\u5EFA\u8BAE\u800C\u4E0D\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","editor.configuration.suggest.insertMode.replace":"\u63D2\u5165\u5EFA\u8BAE\u5E76\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","editor.configuration.suggest.localityBonus":"\u63A7\u5236\u6392\u5E8F\u65F6\u662F\u5426\u9996\u9009\u5149\u6807\u9644\u8FD1\u7684\u5B57\u8BCD\u3002","editor.configuration.suggest.maxVisibleSuggestions.dep":"\u6B64\u8BBE\u7F6E\u5DF2\u5F03\u7528\u3002\u73B0\u5728\u53EF\u4EE5\u8C03\u6574\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u5927\u5C0F\u3002","editor.configuration.suggest.preview":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u9884\u89C8\u5EFA\u8BAE\u7ED3\u679C\u3002","editor.configuration.suggest.shareSuggestSelections":"\u63A7\u5236\u662F\u5426\u5728\u591A\u4E2A\u5DE5\u4F5C\u533A\u548C\u7A97\u53E3\u95F4\u5171\u4EAB\u8BB0\u5FC6\u7684\u5EFA\u8BAE\u9009\u9879(\u9700\u8981 `#editor.suggestSelection#`)\u3002","editor.configuration.suggest.showIcons":"\u63A7\u5236\u662F\u5426\u5728\u5EFA\u8BAE\u4E2D\u663E\u793A\u6216\u9690\u85CF\u56FE\u6807\u3002","editor.configuration.suggest.showInlineDetails":"\u63A7\u5236\u5EFA\u8BAE\u8BE6\u7EC6\u4FE1\u606F\u662F\u968F\u6807\u7B7E\u4E00\u8D77\u663E\u793A\u8FD8\u662F\u4EC5\u663E\u793A\u5728\u8BE6\u7EC6\u4FE1\u606F\u5C0F\u7EC4\u4EF6\u4E2D","editor.configuration.suggest.showStatusBar":"\u63A7\u5236\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u5E95\u90E8\u7684\u72B6\u6001\u680F\u7684\u53EF\u89C1\u6027\u3002","editor.configuration.suggest.snippetsPreventQuickSuggestions":"\u63A7\u5236\u6D3B\u52A8\u4EE3\u7801\u6BB5\u662F\u5426\u963B\u6B62\u5FEB\u901F\u5EFA\u8BAE\u3002","editor.configuration.suggestFontSize":"\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u5B57\u53F7\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.fontSize#` \u7684\u503C\u3002","editor.configuration.suggestLineHeight":"\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u884C\u9AD8\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.lineHeight#` \u7684\u503C\u3002\u6700\u5C0F\u503C\u4E3A 8\u3002","editor.configuration.suggestOnTriggerCharacters":"\u63A7\u5236\u5728\u952E\u5165\u89E6\u53D1\u5B57\u7B26\u540E\u662F\u5426\u81EA\u52A8\u663E\u793A\u5EFA\u8BAE\u3002","editor.configuration.acceptSuggestionOnEnterSmart":"\u4EC5\u5728\u5EFA\u8BAE\u505A\u51FA\u6587\u672C\u66F4\u6539\u65F6\uFF0C\u624D\u4F7F\u7528 `Enter` \u63A5\u53D7\u5EFA\u8BAE\u3002","editor.configuration.acceptSuggestionOnEnter":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u8BE5\u5728 `Tab` \u952E\u4E4B\u5916\uFF0C\u8FD8\u4F7F\u7528 `Enter` \u952E\u6765\u63A5\u53D7\u5EFA\u8BAE\u3002\u8FD9\u6709\u52A9\u4E8E\u907F\u514D\u5728\u63D2\u5165\u65B0\u884C\u6216\u63A5\u53D7\u5EFA\u8BAE\u4E4B\u95F4\u7684\u6B67\u4E49\u3002","editor.configuration.acceptSuggestionOnCommitCharacter":"\u63A7\u5236\u662F\u5426\u5728\u4F7F\u7528\u63D0\u4EA4\u5B57\u7B26\u65F6\u63A5\u53D7\u5EFA\u8BAE\u3002\u4F8B\u5982\uFF0C\u5728 JavaScript \u4E2D\uFF0C\u5206\u53F7 (`;`) \u662F\u4E00\u4E2A\u63D0\u4EA4\u5B57\u7B26\uFF0C\u53EF\u4EE5\u63A5\u53D7\u4E00\u4E2A\u5EFA\u8BAE\u5E76\u952E\u5165\u8BE5\u5B57\u7B26\u3002","editor.configuration.snippetSuggestions.top":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u653E\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u9876\u90E8\u3002","editor.configuration.snippetSuggestions.bottom":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u653E\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u5E95\u90E8\u3002","editor.configuration.snippetSuggestions.inline":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u6DF7\u5408\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u4E2D\u95F4\u3002","editor.configuration.snippetSuggestions.none":"\u4E0D\u5C55\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","editor.configuration.snippetSuggestions":"\u63A7\u5236\u4EE3\u7801\u7247\u6BB5\u662F\u5426\u4E0E\u5176\u4ED6\u5EFA\u8BAE\u4E00\u540C\u663E\u793A\u4EE5\u53CA\u5B83\u4EEC\u7684\u6392\u5E8F\u65B9\u5F0F\u3002","editor.configuration.wordBasedSuggestions":"\u63A7\u5236\u662F\u5426\u6839\u636E\u6587\u6863\u4E2D\u7684\u5B57\u8BCD\u8BA1\u7B97\u81EA\u52A8\u8865\u5168\u5217\u8868\u3002","editor.configuration.suggestSelection":"\u63A7\u5236\u5728\u5EFA\u8BAE\u5217\u8868\u4E2D\u5982\u4F55\u9884\u5148\u9009\u62E9\u5EFA\u8BAE\u3002","editor.configuration.suggestSelection.first":"\u59CB\u7EC8\u9009\u62E9\u7B2C\u4E00\u4E2A\u5EFA\u8BAE\u3002","editor.configuration.suggestSelection.recentlyUsed":"\u9009\u62E9\u6700\u8FD1\u7684\u5EFA\u8BAE\uFF0C\u9664\u975E\u8FDB\u4E00\u6B65\u952E\u5165\u9009\u62E9\u5176\u4ED6\u9879\u3002\u4F8B\u5982 `console. -> console.log`\uFF0C\u56E0\u4E3A\u6700\u8FD1\u8865\u5168\u8FC7 `log`\u3002","editor.configuration.suggestSelection.recentlyUsedByPrefix":"\u6839\u636E\u4E4B\u524D\u8865\u5168\u8FC7\u7684\u5EFA\u8BAE\u7684\u524D\u7F00\u6765\u8FDB\u884C\u9009\u62E9\u3002\u4F8B\u5982\uFF0C`co -> console`\u3001`con -> const`\u3002","editor.configuration.tabCompletion":"\u542F\u7528 Tab \u8865\u5168\u3002","editor.configuration.tabCompletion.off":"\u7981\u7528 Tab \u8865\u5168\u3002","editor.configuration.tabCompletion.on":"\u5728\u6309\u4E0B Tab \u952E\u65F6\u8FDB\u884C Tab \u8865\u5168\uFF0C\u5C06\u63D2\u5165\u6700\u4F73\u5339\u914D\u5EFA\u8BAE\u3002","editor.configuration.tabCompletion.onlySnippets":'\u5728\u524D\u7F00\u5339\u914D\u65F6\u8FDB\u884C Tab \u8865\u5168\u3002\u5728 "quickSuggestions" \u672A\u542F\u7528\u65F6\u4F53\u9A8C\u6700\u597D\u3002',"editor.configuration.editor.guides.bracketPairs":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.editor.guides.bracketPairsHorizontal":"\u63A7\u5236\u662F\u5426\u542F\u7528\u6C34\u5E73\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.renderLineHighlight":"\u63A7\u5236\u7F16\u8F91\u5668\u7684\u5F53\u524D\u884C\u8FDB\u884C\u9AD8\u4EAE\u663E\u793A\u7684\u65B9\u5F0F\u3002","editor.configuration.renderLineHighlight.all":"\u540C\u65F6\u7A81\u51FA\u663E\u793A\u5BFC\u822A\u7EBF\u548C\u5F53\u524D\u884C\u3002","editor.configuration.renderLineHighlightOnlyWhenFocus":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u4EC5\u5728\u7126\u70B9\u5728\u7F16\u8F91\u5668\u65F6\u7A81\u51FA\u663E\u793A\u5F53\u524D\u884C\u3002","editor.configuration.codeLens":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u663E\u793A CodeLens\u3002","editor.configuration.suggest.showClasss":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7C7B\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showColors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u989C\u8272\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showConstants":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5E38\u91CF\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showConstructors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6784\u9020\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showCustomcolors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u81EA\u5B9A\u4E49\u989C\u8272\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showDeprecated":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5DF2\u542F\u7528\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showEnumMembers":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "enumMember" \u5EFA\u8BAE\u3002',"editor.configuration.suggest.showEnums":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u679A\u4E3E\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showEvents":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u4E8B\u4EF6\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFields":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5B57\u6BB5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFiles":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFolders":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u5939\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFunctions":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showInterfaces":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u63A5\u53E3\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showIssues":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u95EE\u9898"\u5EFA\u8BAE\u3002',"editor.configuration.suggest.showKeywords":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5173\u952E\u5B57\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showMethods":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u65B9\u6CD5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showModules":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6A21\u5757\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showOperators":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u64CD\u4F5C\u7B26\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showPropertys":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5C5E\u6027\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showReferences":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53C2\u8003\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showSnippets":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7247\u6BB5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showStructs":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7ED3\u6784\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showTexts":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u672C\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showTypeParameters":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "typeParameter" \u5EFA\u8BAE\u3002',"editor.configuration.suggest.showUnits":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5355\u4F4D\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showUsers":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u7528\u6237"\u5EFA\u8BAE\u3002',"editor.configuration.suggest.showValues":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u503C\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showVariables":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53D8\u91CF\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.maxVisibleSuggestions":"\u63A7\u5236 IntelliSense \u5728\u663E\u793A\u6EDA\u52A8\u6761\u4E4B\u524D\u5C06\u663E\u793A\u7684\u5EFA\u8BAE\u6570\u91CF\uFF08\u6700\u591A 15 \u4E2A\uFF09\u3002","editor.configuration.suggest.details.visible":"\u63A7\u5236\u7F16\u8F91\u5668\u4EE3\u7801\u8865\u5168\u662F\u5426\u9ED8\u8BA4\u5C55\u5F00\u8BE6\u60C5\u4FE1\u606F","editor.configuration.suggest.filtered":"\u63A7\u5236\u662F\u5426\u5E94\u4ECE IntelliSense \u4E2D\u8FC7\u6EE4\u6389\u67D0\u4E9B\u5EFA\u8BAE\u7C7B\u578B\u3002\u53EF\u4EE5\u5728\u6B64\u5904\u627E\u5230\u4E00\u4EFD\u5EFA\u8BAE\u7C7B\u578B\u5217\u8868: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions.","editor.configuration.suggest.filtered.method":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `method` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.function":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `function` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.constructor":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `constructor` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.field":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `field` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.variable":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `variable` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.class":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `class` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.struct":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `struct` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.interface":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `interface` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.module":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `module` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.property":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `property` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.event":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `event` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.operator":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `operator` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.unit":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `unit` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.value":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `value` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.constant":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `constant` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.enum":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `enum` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.enumMember":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `enumMember` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.keyword":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `keyword` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.text":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `text` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.color":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `color` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.file":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `file` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.reference":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `reference` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.customcolor":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `customcolor` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.folder":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `folder` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.typeParameter":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `typeParameter` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.snippet":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `snippet` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.editor.gotoLocation.multiple":'\u63A7\u5236 "\u8F6C\u5230" \u547D\u4EE4\uFF08\u4F8B\u5982\u8F6C\u5230\u5B9A\u4E49\uFF09\u5728\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6\u7684\u884C\u4E3A\u3002',"editor.configuration.gotoLocation.multiple.peek":"\u5728\u901F\u89C8\u89C6\u56FE(Peek View)\u4E2D\u663E\u793A\u7ED3\u679C\u3002(\u9ED8\u8BA4)","editor.configuration.gotoLocation.multiple.gotoAndPeek":"\u8F6C\u5230\u4E3B\u7ED3\u679C\u5E76\u663E\u793A\u901F\u89C8\u89C6\u56FE(Peek View)\u3002","editor.configuration.gotoLocation.multiple.goto":"\u8F6C\u5230\u4E3B\u7ED3\u679C\uFF0C\u5E76\u5BF9\u5176\u4ED6\u7ED3\u679C\u542F\u7528\u65E0\u901F\u89C8\u5BFC\u822A","editor.configuration.experimental.stickyScroll.enabled":"\u5728\u7F16\u8F91\u5668\u9876\u90E8\u7684\u6EDA\u52A8\u8FC7\u7A0B\u4E2D\u663E\u793A\u5D4C\u5957\u7684\u5F53\u524D\u4F5C\u7528\u57DF\u3002","editor.configuration.maxTokenizationLineLength":"\u7531\u4E8E\u6027\u80FD\u539F\u56E0\uFF0C\u8D85\u8FC7\u8FD9\u4E2A\u957F\u5EA6\u7684\u884C\u5C06\u4E0D\u4F1A\u88AB\u6807\u8BC6\u3002","editor.configuration.codeActionsOnSave.organizeImports":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6587\u4EF6\u4FDD\u5B58\u65F6\u6574\u7406\u5BFC\u5165\uFF08Import\uFF09\u8BED\u53E5\u3002","editor.configuration.codeActionsOnSave.fixAll":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6587\u4EF6\u4FDD\u5B58\u65F6\u8FD0\u884C\u81EA\u52A8\u4FEE\u590D\u64CD\u4F5C\u3002","editor.configuration.codeActionsOnSave":"\u5728\u4FDD\u5B58\u65F6\u8FD0\u884C\u7684\u4EE3\u7801\u64CD\u4F5C\u7C7B\u578B","editor.configuration.codeActionsOnSaveTimeout":"\u5728\u6B64\u8D85\u65F6\u65F6\u95F4(\u6BEB\u79D2)\u4E4B\u540E\u4EE3\u7801\u64CD\u4F5C\u5C06\u88AB\u53D6\u6D88\u3002","editor.configuration.codeActionsOnSaveNotification":"\u4EE3\u7801\u64CD\u4F5C\u6267\u884C\u65F6\u662F\u5426\u5C55\u793A\u901A\u77E5\u4FE1\u606F","editor.configuration.quickSuggestionsDelay":"\u63A7\u5236\u663E\u793A\u667A\u80FD\u63D0\u793A\u7684\u5EF6\u8FDF\u65F6\u957F (\u6BEB\u79D2)\u3002","editor.configuration.tabSize":"\u63A7\u5236 Tab \u7F29\u8FDB\u7B49\u4E8E\u7684\u7A7A\u683C\u6570\u3002\u82E5\u542F\u7528 `#editor.detectIndentation#`\uFF0C\u8BE5\u8BBE\u7F6E\u53EF\u80FD\u4F1A\u88AB\u8986\u76D6","editor.configuration.fontWeight":'\u63A7\u5236\u5B57\u4F53\u7C97\u7EC6\uFF0C\u63A5\u6536 "normal" \u548C "bold" \u5173\u952E\u8BCD\u6216\u8005 1 \u5230 1000 \u6570\u503C\u3002',"editor.configuration.largeFileSize":"\u63A7\u5236\u8D85\u5927\u6587\u4EF6\u7684\u81EA\u5B9A\u4E49\u4F53\u79EF\u3002(\u5355\u4F4D\uFF1AB)","editor.configuration.preferredFormatter":"\u914D\u7F6E\u4F18\u5148\u4F7F\u7528\u7684\u683C\u5F0F\u5316\u5668\u3002","editor.configuration.wrapTab":"\u63A7\u5236\u5F53\u7F16\u8F91\u5668 Tab \u8D85\u8FC7\u53EF\u7528\u7A7A\u95F4\u65F6\uFF0C\u662F\u5426\u4F7F\u7528\u6362\u884C\u6765\u4EE3\u66FF\u6EDA\u52A8\u6A21\u5F0F\u3002","editor.configuration.enablePreviewFromCodeNavigation":"\u63A7\u5236\u5F53\u4EE3\u7801\u5BFC\u822A\u4ECE\u5176\u51FA\u53D1\u65F6\uFF0C\u7F16\u8F91\u5668\u662F\u5426\u4ECD\u5904\u4E8E\u9884\u89C8\u6A21\u5F0F\u3002","editor.configuration.formatOnSaveTimeout":"\u63A7\u5236\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002\u4EC5\u5F53 `#editor.formatOnSave#` \u542F\u7528\u65F6\u751F\u6548\u3002","editor.configuration.inlineSuggest.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u81EA\u52A8\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u3002","editor.configuration.inlineSuggest.showToolbar":"\u63A7\u5236\u4F55\u65F6\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.always":"\u6BCF\u5F53\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u65F6\uFF0C\u5C31\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.onHover":"\u5C06\u9F20\u6807\u60AC\u505C\u5728\u5185\u8054\u5EFA\u8BAE\u4E0A\u65F6\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.never":"\u6C38\u4E0D\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.hover.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u63D0\u793A\u3002","editor.configuration.hover.delay":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u663E\u793A\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002","editor.configuration.hover.sticky":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u662F\u5426\u5728\u9F20\u6807\u60AC\u505C\u65F6\u4FDD\u6301\u53EF\u89C1\u3002","editor.configuration.hover.hidingDelay":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u9690\u85CF\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002\u9700\u8981 `editor.hover.sticky` \u8BBE\u7F6E\u4E3A true \u65F6\u751F\u6548\u3002","editor.configuration.hover.above":"\u4F18\u5148\u663E\u793A\u4EE3\u7801\u63D0\u793A\u5728\u884C\u4E0A\u65B9\uFF0C\u5982\u679C\u884C\u6709\u7A7A\u95F4\u3002","editor.configuration.autoSave":"\u63A7\u5236\u5982\u4F55\u81EA\u52A8\u4FDD\u5B58\u6587\u4EF6\u3002","editor.configuration.formatOnSave":"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u6587\u4EF6","editor.configuration.formatOnType":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5728\u952E\u5165\u540E\u81EA\u52A8\u683C\u5F0F\u5316\u8BE5\u884C\u3002","editor.configuration.formatOnPaste":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u81EA\u52A8\u683C\u5F0F\u5316\u7C98\u8D34\u7684\u5185\u5BB9\u3002\u9700\u8981\u5F53\u524D\u6587\u4EF6\u6709\u4E00\u4E2A\u683C\u5F0F\u5316\u5DE5\u5177\u5E76\u4E14\u8BE5\u683C\u5F0F\u5316\u683C\u5C40\u5FC5\u987B\u80FD\u591F\u5728\u6587\u6863\u4E2D\u683C\u5F0F\u5316\u4E00\u4E2A\u8303\u56F4\u3002","editor.configuration.autoIndent":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u8BE5\u5728\u7528\u6237\u952E\u5165\u3001\u7C98\u8D34\u6216\u79FB\u52A8\u884C\u65F6\u81EA\u52A8\u8C03\u6574\u7F29\u8FDB\u3002\u5FC5\u987B\u63D0\u4F9B\u5E26\u6709\u8BE5\u8BED\u8A00\u7F29\u8FDB\u89C4\u5219\u7684\u6269\u5C55\u3002","editor.configuration.autoSaveDelay":"\u63A7\u5236\u81EA\u52A8\u4FDD\u5B58\u7684\u5EF6\u8FDF\u65F6\u957F\uFF08\u6BEB\u79D2\uFF09\u3002\u4EC5\u5F53 `#editor.autoSave#` \u8BBE\u7F6E\u4E3A\u201C\u7F16\u8F91\u540E\u81EA\u52A8\u4FDD\u5B58\u201D\u65F6\u751F\u6548\u3002","editor.configuration.askIfDiff":"\u4FDD\u5B58\u6587\u4EF6\u65F6\u5982\u679C\u78C1\u76D8\u4E0A\u7684\u6587\u4EF6\u8F83\u65B0\uFF0C\u8FDB\u884C\u63D0\u793A\u624B\u52A8\u89E3\u51B3\u4FDD\u5B58\u51B2\u7A81\u3002","editor.configuration.forceReadOnly":"\u662F\u5426\u542F\u7528 \u53EA\u8BFB\u6A21\u5F0F","editor.configuration.bracketPairColorization.enabled":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u7740\u8272\u3002\u4F7F\u7528 \u201Cworkbench.colorCustomizations\u201D \u66FF\u4EE3\u62EC\u53F7\u7A81\u51FA\u663E\u793A\u989C\u8272\u3002","editor.configuration.guides.bracketPairs":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.mouseBackForwardToNavigate":"\u5141\u8BB8\u4F7F\u7528\u9F20\u6807\u6309\u94AE 4 \u548C 5 \u6765\u6267\u884C\u547D\u4EE4\u201CGo Back\u201D\u548C\u201CGo Forward\u201D\u3002","editor.configuration.previewMode":"\u4F7F\u7528\u9884\u89C8\u6A21\u5F0F\u6253\u5F00","editor.configuration.tokenColorCustomizations":"\u8986\u76D6\u5F53\u524D\u6240\u9009\u989C\u8272\u4E3B\u9898\u4E2D\u7684\u7F16\u8F91\u5668\u989C\u8272\u548C\u5B57\u4F53\u6837\u5F0F","editor.configuration.workbench.editorAssociations":'\u5C06 glob \u6A21\u5F0F\u914D\u7F6E\u5230\u7F16\u8F91\u5668(\u4F8B\u5982 `"*\u5341\u516D\u8FDB\u5236": "hexEditor.hexEdit"`)\u3002\u8FD9\u4E9B\u4F18\u5148\u987A\u5E8F\u9AD8\u4E8E\u9ED8\u8BA4\u884C\u4E3A\u3002',"editor.configuration.guides.indentation":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u663E\u793A\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","editor.configuration.guides.highlightActiveIndentation":"\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u7F16\u8F91\u5668\u4E2D\u6D3B\u52A8\u7684\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","editor.configuration.trimAutoWhitespace":"\u5220\u9664\u81EA\u52A8\u63D2\u5165\u7684\u5C3E\u968F\u7A7A\u767D\u7B26\u53F7\u3002","editor.configuration.unicodeHighlight.ambiguousCharacters":"\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u53EF\u80FD\u4E0E\u57FA\u672C ASCII \u5B57\u7B26\u6DF7\u6DC6\u7684\u5B57\u7B26\uFF0C\u4F46\u5F53\u524D\u7528\u6237\u533A\u57DF\u8BBE\u7F6E\u4E2D\u5E38\u89C1\u7684\u5B57\u7B26\u9664\u5916\u3002","editor.configuration.lightbulb.enabled":"\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.off":"\u7981\u7528\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.onCode":"\u5F53\u5149\u6807\u4E0E\u4EE3\u7801\u4E00\u8D77\u6392\u5217\u65F6\uFF0C\u663E\u793A\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.on":"\u5F53\u5149\u6807\u4E0E\u4EE3\u7801\u4E00\u8D77\u6392\u5217\u6216\u5728\u7A7A\u7684\u884C\u65F6\uFF0C\u663E\u793A\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","diffEditor.configuration.renderSideBySide":"\u63A7\u5236\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u663E\u793A\u65B9\u5F0F\u3002","diffEditor.configuration.ignoreTrimWhitespace":"\u542F\u7528\u540E\uFF0C\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u524D\u5BFC\u548C\u5C3E\u968F\u7A7A\u767D\u5B57\u7B26\u5C06\u4F1A\u5FFD\u7565","diffEditor.action.toggleCollapseUnchangedRegions":"\u6298\u53E0\u672A\u66F4\u6539\u7684\u4EE3\u7801\u533A\u57DF","inlineSuggest.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u81EA\u52A8\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u3002","view.component.renderedError":"\u89C6\u56FE\u7EC4\u4EF6\u6E32\u67D3\u5F02\u5E38","view.component.tryAgain":"\u91CD\u65B0\u52A0\u8F7D","test.title":"\u6D4B\u8BD5\u7BA1\u7406\u5668","test.result.runFinished":"\u6D4B\u8BD5\u8FD0\u884C\u5B8C\u6210\u4E8E {0}","test.task.unnamed":"\u672A\u547D\u540D\u4EFB\u52A1","test.results":"\u6D4B\u8BD5\u7ED3\u679C","menu.missing.command":"\u83DC\u5355{0} \u8981\u6267\u884C\u7684\u547D\u4EE4\u4E0D\u5B58\u5728\uFF1A{1}","menu.missing.altCommand":"\u83DC\u5355{0} \u8981\u6267\u884C\u7684\u547D\u4EE4(altCommand)\u4E0D\u5B58\u5728\uFF1A{1}","menu.dupe.command":"\u83DC\u5355{0} command({1}) \u548C alt({2}) \u6CE8\u518C\u91CD\u590D","command.category.developerTools":"\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177","connection.start.rtt":"\u67E5\u770B\u901A\u4FE1\u5EF6\u8FDF","connection.stop.rtt":"\u5173\u95ED\u901A\u4FE1\u5EF6\u8FDF\u68C0\u67E5","debug.terminal.label":"\u521B\u5EFA Javascript Debug Terminal","debug.terminal.title":"\u8C03\u8BD5\u8FDB\u7A0B","workbench.action.tasks.runTask":"\u8FD0\u884C\u4EFB\u52A1","workbench.action.tasks.reRunTask":"\u6267\u884C\u4E0A\u6B21\u8FD0\u884C\u7684\u4EFB\u52A1","workbench.action.tasks.restartTask":"\u91CD\u65B0\u5F00\u59CB\u8FD0\u884C\u4E2D\u7684\u4EFB\u52A1","workbench.action.tasks.terminate":"\u7EC8\u6B62\u4EFB\u52A1","workbench.action.tasks.showTasks":"\u5C55\u793A\u4EFB\u52A1","workbench.action.tasks.showLog":"\u5C55\u793A\u4EFB\u52A1\u65E5\u5FD7","task.contribute":"\u8D21\u732E","task.cannotFindTask":"\u672A\u627E\u5230 {0} \u7684\u4EFB\u52A1\uFF0C\u6309\u56DE\u8F66\u952E\u8FD4\u56DE","comment.reply.count":"{0} \u4E2A\u8BC4\u8BBA","comment.reply.lastReply":"\u6700\u540E\u7531 {0} \u8BC4\u8BBA","walkthroughs.welcome":"\u6B22\u8FCE\u4F7F\u7528","walkthroughs.get.started":"\u6253\u5F00 `\u5165\u95E8` \u6F14\u793A","mergeEditor.reset":"\u91CD\u7F6E","mergeEditor.workbench.tab.name":"\u6B63\u5728\u5408\u5E76: {0}","mergeEditor.conflict.action.apply.confirm.title":"\u5F53\u524D\u6587\u4EF6\u8FD8\u6709\u672A\u5904\u7406\u7684\u51B2\u7A81\u6216\u53D8\u66F4\uFF0C\u662F\u5426\u5E94\u7528\u5E76\u4FDD\u5B58\u66F4\u6539\uFF1F","mergeEditor.conflict.action.apply.confirm.continue":"\u7EE7\u7EED\u5408\u5E76","mergeEditor.conflict.action.apply.confirm.complete":"\u786E\u8BA4\u4FDD\u5B58\u5E76\u66F4\u6539","mergeEditor.action.button.apply":"\u5E94\u7528\u66F4\u6539","mergeEditor.action.button.apply-and-stash":"\u5E94\u7528\u5E76\u6682\u5B58","mergeEditor.action.button.accept.left":"\u63A5\u53D7\u5DE6\u8FB9","mergeEditor.action.button.accept.right":"\u63A5\u53D7\u53F3\u8FB9","mergeEditor.open.3way":"3-way \u7F16\u8F91\u5668","mergeEditor.conflict.prev":"\u4E0A\u4E00\u5904\u51B2\u7A81","mergeEditor.conflict.next":"\u4E0B\u4E00\u5904\u51B2\u7A81","mergeEditor.conflict.ai.resolve.all":"AI \u89E3\u51B3","mergeEditor.conflict.ai.resolve.all.stop":"\u5168\u90E8\u505C\u6B62","mergeEditor.open.tradition":"\u6587\u672C\u7F16\u8F91\u5668","workbench.quickOpen.preserveInput":"\u662F\u5426\u5728 QuickOpen \u7684\u8F93\u5165\u6846\uFF08\u5305\u62EC\u547D\u4EE4\u9762\u677F\uFF09\u4E2D\u4FDD\u7559\u4E0A\u6B21\u8F93\u5165\u7684\u5185\u5BB9","aiNative.chat.ai.assistant.name":"AI \u7814\u53D1\u52A9\u624B","aiNative.chat.input.placeholder.default":'\u53EF\u4EE5\u95EE\u6211\u4EFB\u4F55\u95EE\u9898\uFF0C\u6216\u952E\u5165\u4E3B\u9898 "/" ',"aiNative.chat.stop.immediately":"\u6211\u5148\u4E0D\u60F3\u4E86\uFF0C\u6709\u9700\u8981\u53EF\u4EE5\u968F\u65F6\u95EE\u6211","aiNative.chat.error.response":"\u5F53\u524D\u4E0E\u6211\u4E92\u52A8\u7684\u4EBA\u592A\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\uFF0C\u611F\u8C22\u60A8\u7684\u7406\u89E3\u4E0E\u652F\u6301","aiNative.chat.code.insert":"\u63D2\u5165\u4EE3\u7801","aiNative.chat.code.copy":"\u590D\u5236\u4EE3\u7801","aiNative.chat.code.copy.success":"\u590D\u5236\u6210\u529F","aiNative.chat.expand.unfullscreen":"\u6536\u8D77","aiNative.chat.expand.fullescreen":"\u5C55\u5F00\u5168\u5C4F","aiNative.chat.enter.send":"Enter \u53D1\u9001","aiNative.inline.chat.operate.chat.title":"Chat({0})","aiNative.inline.chat.operate.check.title":"\u91C7\u7EB3","aiNative.inline.chat.operate.thumbsup.title":"\u8D5E","aiNative.inline.chat.operate.thumbsdown.title":"\u8E29","aiNative.inline.chat.operate.loading.cancel":"\u6309 ESC \u53D6\u6D88","aiNative.inline.chat.input.placeholder.default":"\u8BF7\u8F93\u5165\u4F60\u7684\u610F\u56FE...(\u2191\u2193 \u5207\u6362\u5386\u53F2)","aiNative.inline.chat.generating.canceled":"Inline Chat \u5DF2\u505C\u6B62\u751F\u6210","aiNative.inline.hint.widget.placeholder":"\u6309 {0} \u5524\u8D77 Inline Chat","aiNative.inline.problem.fix.title":"AI \u4FEE\u590D","aiNative.inline.diff.accept":"\u91C7\u7EB3","aiNative.inline.diff.reject":"\u62D2\u7EDD","aiNative.resolve.conflict.dialog.afresh":"\u4F60\u786E\u5B9A\u8981\u91CD\u65B0\u751F\u6210\u5417\uFF1F","aiNative.resolve.conflict.dialog.detection":`\u68C0\u6D4B\u5230\u60A8\u5DF2\u505A\u4E86\u4FEE\u6539\uFF0C\u91CD\u65B0\u751F\u6210\u4F1A\u8986\u76D6\u6389
30642
- \u60A8\u4FEE\u6539\u7684\u90E8\u5206\uFF0C\u662F\u5426\u786E\u8BA4\u8FDB\u884C\u91CD\u65B0\u751F\u6210\u3002`,"aiNative.resolve.conflict.message.not.processed.yet":"AI \u5DF2\u5904\u7406 {0} \u5904\u51B2\u7A81\uFF0C{1} \u5904\u51B2\u7A81\u6682\u672A\u5904\u7406\uFF08\u4ECD\u6807\u8BB0\u4E3A\u9EC4\u8272\u90E8\u5206\uFF09\uFF0C\u9700\u4EBA\u5DE5\u5904\u7406","aiNative.operate.discard.title":"\u4E22\u5F03","aiNative.operate.afresh.title":"\u91CD\u65B0\u751F\u6210","aiNative.operate.stop.title":"\u505C\u6B62","aiNative.operate.close.title":"\u5173\u95ED","aiNative.operate.clear.title":"\u6E05\u7A7A","aiNative.operate.tools.title":"MCP \u5DE5\u5177","aiNative.operate.newChat.title":"\u65B0\u5EFA\u804A\u5929","aiNative.operate.chatHistory.title":"\u804A\u5929\u5386\u53F2","aiNative.operate.chatHistory.searchPlaceholder":"\u8BF7\u641C\u7D22...","aiNative.operate.chatHistory.edit":"\u7F16\u8F91","aiNative.operate.chatHistory.delete":"\u5220\u9664","aiNative.chat.welcome.loading.text":"\u521D\u59CB\u5316\u4E2D...","aiNative.chat.ai.assistant.limit.message":"{0} \u6761\u6700\u65E9\u7684\u6D88\u606F\u56E0\u8F93\u5165 Tokens \u9650\u5236\u800C\u88AB\u4E22\u5F03","aiNative.inlineDiff.acceptAll":"\u63A5\u53D7\u5168\u90E8","aiNative.inlineDiff.rejectAll":"\u62D2\u7EDD\u5168\u90E8","aiNative.inlineDiff.reveal":"\u5728\u804A\u5929\u4E2D\u5C55\u793A","aiNative.inlineDiff.up":"\u4E0A\u4E00\u5904\u53D8\u66F4","aiNative.inlineDiff.down":"\u4E0B\u4E00\u5904\u53D8\u66F4","aiNative.inlineDiff.right":"\u4E0B\u4E00\u5904\u6587\u4EF6","aiNative.inlineDiff.left":"\u4E0A\u4E00\u5904\u6587\u4EF6","aiNative.inlineDiff.noMoreChangesUp":"\u9876\u90E8\u6CA1\u6709\u66F4\u591A\u53D8\u66F4\u4E86","aiNative.inlineDiff.noMoreChangesDown":"\u5E95\u90E8\u6CA1\u6709\u66F4\u591A\u53D8\u66F4\u4E86","aiNative.chat.session.max":"\u6700\u591A\u53EA\u80FD\u521B\u5EFA {0} \u4E2A\u804A\u5929","preference.ai.native.inlineChat.title":"Inline Chat","preference.ai.native.chat.title":"Chat","preference.ai.native.interface.quick.title":"\u63A5\u53E3\u5FEB\u901F\u8DF3\u8F6C","preference.ai.native.interface.quick.navigation":"\u70B9\u51FB\u7F16\u8F91\u5668\u5DE6\u4FA7\u56FE\u6807\u5FEB\u901F\u8DF3\u8F6C\u5230\u63A5\u53E3\u5B9E\u73B0","preference.ai.native.interface.quick.navigation.hover":"\u8DF3\u8F6C\u5230\u5B9E\u73B0","preference.ai.native.inlineChat.auto.visible":"\u662F\u5426\u5728\u9009\u4E2D\u4EE3\u7801\u7247\u6BB5\u65F6\u81EA\u52A8\u663E\u793A Inline Chat?","preference.ai.native.inlineChat.codeAction.enabled":"\u662F\u5426\u542F\u7528\u5728\u9009\u4E2D\u4EE3\u7801\u7247\u6BB5\u65F6\u663E\u793A Inline Chat \u76F8\u5173\u7684 Code Actions?","preference.ai.native.chat.visible.type":"\u63A7\u5236 Chat \u9762\u677F\u9ED8\u8BA4\u7684\u5C55\u793A\u65B9\u5F0F","preference.ai.native.inlineDiff.preview.mode":"Inline Diff \u7684\u9884\u89C8\u6A21\u5F0F","preference.ai.native.inlineDiff.preview.mode.sideBySide":"\u5728\u7F16\u8F91\u5668\u5F53\u4E2D\u4EE5\u5DE6\u53F3 diff \u9762\u677F\u7684\u65B9\u5F0F\u5C55\u793A","preference.ai.native.inlineDiff.preview.mode.inlineLive":"\u5728\u7F16\u8F91\u5668\u5F53\u4E2D\u4EE5\u6D41\u5F0F\u6E32\u67D3\u7684\u65B9\u5F0F\u5C55\u793A","preference.ai.native.intelligentCompletions.title":"\u667A\u80FD\u8865\u5168","preference.ai.native.intelligentCompletions.promptEngineering.enabled":"\u662F\u5426\u542F\u7528\u63D0\u793A\u8BCD\u5DE5\u7A0B\uFF0C\u4E00\u4E9B LLM \u6A21\u578B\u5728\u63D0\u793A\u8BCD\u5DE5\u7A0B\u4E0A\u53EF\u80FD\u8868\u73B0\u4E0D\u4F73\u3002","preference.ai.native.intelligentCompletions.debounceTime":"\u667A\u80FD\u8865\u5168\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","preference.ai.native.intelligentCompletions.cache.enabled":"\u662F\u5426\u542F\u7528\u667A\u80FD\u8865\u5168\u7684\u7F13\u5B58","preference.ai.native.intelligentCompletions.alwaysVisible":"\u662F\u5426\u603B\u662F\u5C55\u793A\u667A\u80FD\u8865\u5168","preference.ai.native.codeEdits.title":"\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.lintErrors":"\u662F\u5426\u5728\u53D1\u751F Lint Error \u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.lineChange":"\u662F\u5426\u5728\u5149\u6807\u884C\u53F7\u53D1\u751F\u53D8\u5316\u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.typing":"\u662F\u5426\u5728\u5185\u5BB9\u53D1\u751F\u53D8\u5316\u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.renderType":"\u667A\u80FD\u6539\u5199\u6E32\u67D3\u65B9\u5F0F","preference.ai.native.chat.system.prompt":"\u9ED8\u8BA4\u804A\u5929\u7CFB\u7EDF\u63D0\u793A\u8BCD","webview.webviewTagUnavailable":"\u975E Electron \u73AF\u5883\u4E0D\u652F\u6301 webview \u6807\u7B7E\uFF0C\u8BF7\u4F7F\u7528 iframe \u6807\u7B7E","notebook.kernel.panel.empty":"\u6682\u65E0\u5185\u5BB9","notebook.kernel.panel.title":"\u8FD0\u884C\u7684\u7EC8\u7AEF\u548C\u5185\u6838","notebook.kernel.panel.opened.pages":"\u5DF2\u5F00\u542F\u7684\u6807\u7B7E\u9875","notebook.kernel.panel.running.kernels":"\u8FD0\u884C\u7684\u5185\u6838","notebook.kernel.close.all.confirmation":"\u4F60\u786E\u5B9A\u8981\u5173\u95ED\u5168\u90E8\u5417\uFF1F","notebook.variable.panel.title":"\u53D8\u91CF\u68C0\u67E5\u5668","notebook.variable.panel.unsupported":"\u8BE5\u6587\u4EF6\u683C\u5F0F\u6682\u4E0D\u652F\u6301\u53D8\u91CF\u68C0\u67E5","notebook.variable.panel.refresh.success":"\u53D8\u91CF\u5237\u65B0\u6210\u529F","notebook.variable.panel.refresh.error":"\u53D8\u91CF\u5237\u65B0\u5931\u8D25","notebook.variable.panel.search.placeholder":"\u8BF7\u8F93\u5165\u53D8\u91CF\u540D\u79F0\u641C\u7D22","notebook.variable.panel.show.detail":"\u67E5\u770B\u8BE6\u60C5",...r.browserViews,...o.editorLocalizations,...c.zhCN,"preference.ai.native.llm.apiSettings.title":"\u5927\u6A21\u578B API \u8BBE\u7F6E","preference.ai.native.llm.model.id":"\u6A21\u578B ID","preference.ai.native.deepseek.apiKey":"Deepseek API \u5BC6\u94A5","preference.ai.native.deepseek.apiKey.description":"Deepseek \u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.anthropic.apiKey":"Anthropic API \u5BC6\u94A5","preference.ai.native.anthropic.apiKey.description":"Anthropic \u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.openai.apiKey":"OpenAI API \u5BC6\u94A5","preference.ai.native.openai.apiKey.description":"OpenAI \u517C\u5BB9\u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.openai.baseURL":"OpenAI Base URL","preference.ai.native.openai.baseURL.description":"OpenAI \u517C\u5BB9\u8BED\u8A00\u6A21\u578B\u7684 Base URL","preference.ai.native.mcp.settings.title":"MCP \u670D\u52A1\u5668\u8BBE\u7F6E","preference.ai.native.mcp.servers":"MCP \u670D\u52A1\u5668","preference.ai.native.mcp.servers.description":"\u914D\u7F6E MCP (Model Context Protocol) \u670D\u52A1\u5668","preference.ai.native.mcp.servers.name.description":"MCP \u670D\u52A1\u5668\u540D\u79F0","preference.ai.native.mcp.servers.command.description":"\u542F\u52A8 MCP \u670D\u52A1\u5668\u7684\u547D\u4EE4","preference.ai.native.mcp.servers.args.description":"MCP \u670D\u52A1\u5668\u7684\u547D\u4EE4\u884C\u53C2\u6570","preference.ai.native.mcp.servers.env.description":"MCP \u670D\u52A1\u5668\u7684\u73AF\u5883\u53D8\u91CF","preference.ai.native.mcp.servers.type.description":"MCP \u670D\u52A1\u5668\u8FDE\u63A5\u7C7B\u578B","preference.ai.native.mcp.servers.type.stdio":"Stdio \u8FDE\u63A5","preference.ai.native.mcp.servers.type.sse":"SSE \u8FDE\u63A5","ai.native.mcp.terminal.command":"\u547D\u4EE4","ai.native.mcp.terminal.output":"\u8F93\u51FA","ai.native.mcp.terminal.allow-question":"\u662F\u5426\u5141\u8BB8\u8FD0\u884C\u547D\u4EE4?","ai.native.mcp.terminal.allow":"\u5141\u8BB8","ai.native.mcp.terminal.deny":"\u62D2\u7EDD","ai.native.mcp.name":"\u540D\u79F0:","ai.native.mcp.command":"\u547D\u4EE4:","ai.native.mcp.args":"\u53C2\u6570:","ai.native.mcp.env":"\u73AF\u5883\u53D8\u91CF:","ai.native.mcp.type":"\u7C7B\u578B:","ai.native.mcp.stdio":"Command","ai.native.mcp.sse":"SSE","ai.native.mcp.buttonSave":"\u6DFB\u52A0","ai.native.mcp.buttonUpdate":"\u66F4\u65B0","ai.native.mcp.buttonCancel":"\u53D6\u6D88","ai.native.mcp.addMCPServer.title":"\u6DFB\u52A0 MCP \u670D\u52A1\u5668","ai.native.mcp.editMCPServer.title":"\u7F16\u8F91 MCP \u670D\u52A1\u5668","ai.native.mcp.serverHost.placeHolder":"\u8F93\u5165\u670D\u52A1\u5668\u4E3B\u673A","ai.native.mcp.command.placeHolder":"\u8F93\u5165\u547D\u4EE4","ai.native.mcp.args.placeHolder":"\u8F93\u5165\u53C2\u6570","ai.native.mcp.env.placeHolder":"KEY=value\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","ai.native.mcp.name.placeHolder":"\u8F93\u5165\u670D\u52A1\u5668\u540D\u79F0"}}},10199:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(32581),t)},21774:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsModule=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(25067),p=e(48644),v=e(85448);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:c.IKeymapService,useClass:v.KeymapService},p.KeymapsContribution]}};t.KeymapsModule=m,t.KeymapsModule=m=n.__decorate([(0,r.Injectable)()],m)},2312:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsParser=t.keymapsSchema=void 0;const n=e(85608),r=n.__importDefault(e(82174)),o=n.__importStar(e(23304)),c=e(76003);t.keymapsSchema={type:"array",items:{type:"object",properties:{key:{type:"string"},keybinding:{type:"string",deprecated:!0},command:{type:"string"},context:{type:"string"},when:{type:"string"},args:{}},required:["command"],optional:["key","keybinding","when","args"],additionalProperties:!1}};let p=class{constructor(){this.validate=new r.default({jsonPointers:!0}).compile(t.keymapsSchema)}parse(m,_){const s=o.stripComments(m),f=_?[]:void 0,a=o.parse(s,f);if(f&&_)for(const h of f)_.push(`${this.printParseErrorCode(h.error)} at ${h.offset} offset of ${h.length} length`);if(this.validate(a))return a;if(_&&this.validate.errors)for(const h of this.validate.errors)_.push(`${h.message} at ${h.dataPath}`);return[]}printParseErrorCode(m){return o.printParseErrorCode(m)}};t.KeymapsParser=p,t.KeymapsParser=p=n.__decorate([(0,c.Injectable)(),n.__metadata("design:paramtypes",[])],p)},48644:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsContribution=t.KEYMAP_COMMANDS=t.KeymapsContextMenu=t.KeymapsResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(93899),p=e(57517),v=e(42933),m=e(97821),_=e(25067),s=e(34879),f="keymaps-preview";let a=class extends o.WithEventBus{constructor(){super(),this.scheme=_.KEYMAPS_SCHEME}provideResource(g){return{supportsRevive:!0,name:(0,o.localize)("keymaps.tab.name"),icon:(0,o.getIcon)("setting"),uri:g}}provideResourceSubname(g,l){return null}async shouldCloseResource(g,l){return!0}};t.KeymapsResourceProvider=a,t.KeymapsResourceProvider=a=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],a);var h;(function(E){E.KEYMAPS="2_keymaps"})(h||(t.KeymapsContextMenu=h={}));var u;(function(E){const g="keymaps";E.OPEN_SOURCE_FILE={id:"keymaps.open.source",label:"%keymaps.editorTitle.openSource%",category:g}})(u||(t.KEYMAP_COMMANDS=u={}));let d=class{registerCommands(g){g.registerCommand(o.COMMON_COMMANDS.OPEN_KEYMAPS,{isEnabled:()=>!0,execute:async()=>{await this.keymapService.open()}}),g.registerCommand(u.OPEN_SOURCE_FILE,{execute:async()=>{this.keymapService.openResource()}}),g.registerCommand(o.KEYBOARD_COMMANDS.CHOOSE_KEYBOARD_LAYOUT,{execute:()=>{this.chooseLayout()}})}registerMenus(g){g.registerMenuItem(c.MenuId.SettingsIconMenu,{command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,group:h.KEYMAPS}),g.registerMenuItem(c.MenuId.EditorTitle,{command:u.OPEN_SOURCE_FILE.id,iconClass:(0,o.getIcon)("open"),group:"navigation",order:4,when:`resourceScheme == ${_.KEYMAPS_SCHEME}`}),g.registerMenuItem(c.MenuId.EditorTitle,{command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,iconClass:(0,o.getIcon)("open"),group:"navigation",order:4,when:"resourceFilename =~ /keymaps.json/"})}registerKeybindings(g){g.registerKeybinding({command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,keybinding:"ctrlcmd+K ctrlcmd+S"})}onStart(){this.keymapService.init()}registerResource(g){g.registerResourceProvider(this.keymapsResourceProvider)}registerEditorComponent(g){g.registerEditorComponent({component:s.KeymapsView,uid:f,scheme:_.KEYMAPS_SCHEME}),g.registerEditorComponentResolver(_.KEYMAPS_SCHEME,(l,y,b)=>{b([{type:p.EditorOpenType.component,componentId:f}])})}async chooseLayout(){const g=this.layoutProvider.currentLayoutData,l={label:(0,o.localize)("keyboard.autoDetect.label"),description:g&&this.layoutProvider.currentLayoutSource!=="user-choice"?(0,o.formatLocalize)("keyboard.autoDetect.description",(0,o.getKeyboardLayoutId)(g.layout)):void 0,detail:(0,o.localize)("keyboard.autoDetect.detail"),value:"autodetect"},y=this.layoutProvider.allLayoutData.map(A=>this.toQuickPickValue(A,g===A));let b;b=[l,...y];const S=await this.quickPickService.show(b,{placeholder:"Choose a keyboard layout"});if(S)return this.layoutProvider.setLayoutData(S)}toQuickPickValue(g,l){return{label:(0,o.getKeyboardLayoutId)(g.layout),value:g}}};t.KeymapsContribution=d,n.__decorate([(0,r.Autowired)(m.QuickPickService),n.__metadata("design:type",Object)],d.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(o.KeyboardNativeLayoutService),n.__metadata("design:type",Object)],d.prototype,"layoutProvider",void 0),n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],d.prototype,"filesystem",void 0),n.__decorate([(0,r.Autowired)(a),n.__metadata("design:type",a)],d.prototype,"keymapsResourceProvider",void 0),n.__decorate([(0,r.Autowired)(_.IKeymapService),n.__metadata("design:type",Object)],d.prototype,"keymapService",void 0),t.KeymapsContribution=d=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution,o.ClientAppContribution,p.BrowserEditorContribution,c.MenuContribution)],d)},85448:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapService=void 0;const r=e(85608),o=r.__importStar(e(39050)),c=e(76003),p=e(41869),v=e(68969),m=e(14951),_=e(25067),s=e(2312);let f=n=class{constructor(){this.keymapChangeEmitter=new p.Emitter,this.convertKeySequence=[],this.toUnregisterUserKeybindingMap=new Map,this.toRestoreDefaultKeybindingMap=new Map,this.searchDelayer=new p.ThrottledDelayer(n.DEFAULT_SEARCH_DELAY),this.disposableCollection=new p.DisposableCollection,this._whenReadyDeferred=new p.Deferred,this.fuzzyOptions={pre:"<match>",post:"</match>"},this.reconcileQueue=new p.Throttler,this.keybindings=[],this.updateKeybindings=()=>{this.currentSearchValue?this.doSearchKeybindings(this.currentSearchValue):(0,p.runWhenIdle)(()=>{this.keybindings=this.getKeybindingItems(),this.keymapChangeEmitter.fire(this.keybindings)})},this.setKeybinding=(h,u)=>this.progressService.withProgress({location:p.ProgressLocation.Notification},d=>new Promise((E,g)=>{d.report({message:(0,p.localize)("keymaps.keybinding.loading"),increment:0,total:100});const l=this.storeKeybindings||[];let y=!1;for(const b of l){const S={when:b.when,command:b.command,keybinding:b.key};if(b.command===u.command){y=!0,this.unregisterUserKeybinding(S);const A=this.toUniqueKey(h),w=this.toRestoreDefaultKeybindingMap.get(A);if(w){const T=this.toUniqueKey(u);this.toRestoreDefaultKeybindingMap.delete(A),this.toRestoreDefaultKeybindingMap.set(T,w)}b.key=u.keybinding,this.registerUserKeybinding({...S,priority:p.KeybindingWeight.WorkbenchContrib*100})}}if(!y){const b=this.keybindings.find(A=>A.id===u.command&&this.getRaw(A.when)===u.when);if(b&&b.keybinding){this.unregisterDefaultKeybinding({when:this.getRaw(b.when),command:b.id,keybinding:this.getRaw(b.keybinding)});const A=this.toUniqueKey(h),w=this.toRestoreDefaultKeybindingMap.get(A);if(w){const T=this.toUniqueKey(u);this.toRestoreDefaultKeybindingMap.delete(A),this.toRestoreDefaultKeybindingMap.set(T,w)}}const S={when:this.getWhen(u),command:u.command,key:u.keybinding};l.push(S),this.registerUserKeybinding(u)}return this.saveKeybinding(l).then(()=>{E(void 0),d.report({message:(0,p.localize)("keymaps.keybinding.success"),increment:99})}).catch(b=>{g(b),d.report({message:(0,p.localize)("keymaps.keybinding.fail"),increment:99})}).finally(()=>{setTimeout(()=>{d.report({increment:100})},3e3)})}),()=>{}),this.covert=h=>this.keybindingService.convert(h," "),this.clearCovert=()=>this.keybindingService.clearConvert(),this.resetKeybinding=async h=>{if(!this.resource)return;const d=this.storeKeybindings.filter(E=>E.command!==h.command);return this.unregisterUserKeybinding(h),this.restoreDefaultKeybinding(h),this.saveKeybinding(d)},this.fixed=async()=>{this.commandService.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,new p.URI().withScheme(_.KEYMAPS_SCHEME),{preview:!1})},this.searchKeybindings=h=>{this.currentSearchValue=h,this.searchDelayer.isTriggered()||this.searchDelayer.cancel(),this.searchDelayer.trigger(async()=>{this.doSearchKeybindings(this.currentSearchValue)})},this.isSearching=!1,this.doSearchKeybindings=h=>{h?this.isSearching=!0:this.isSearching=!1;const u=this.getKeybindingItems(),d=[];u.forEach(E=>{const g=["id","command","keybinding","when","context","source"];let l=!1;for(const y of g){const b=E[y];if(b){const S=o.match(h,b,this.fuzzyOptions);if(S)E[y]=S.rendered,l=!0;else if(y==="keybinding"){const A=h.split("+"),w=b.split(" "),T=[0];let D=[];w.length>1?w.forEach(M=>{const R=M.split("+");T.push(R.length+T[-1]),D.push(...R)}):D=b.split("+"),T.shift();const I=[...D];let O=0;if(A.forEach(M=>{let R={rendered:"",score:0},P=-1;if(b){D.forEach(F=>{const L=o.match(M,F,this.fuzzyOptions);L&&L.score>R.score&&(R=L,P=I.indexOf(F))});const k=R.rendered;k&&(P>-1&&(I[P]=k),D.splice(P,1,""),O+=1)}}),O===A.length){if(T.length>0){const M="";I.forEach((R,P)=>{P===0?M.concat(R):T.indexOf(P)!==-1?M.concat(" "+R):M.concat("+"+R)}),E[y]=M}E[y]=I.join("+"),l=!0}}}}l&&d.push(E)}),this.keybindings=d,this.keymapChangeEmitter.fire(this.keybindings)},this.validateKeybinding=(h,u)=>{if(!u)return(0,p.localize)("keymaps.keybinding.require");try{const d={command:this.isSearching?this.getRaw(h.command):h.command,when:this.isSearching?this.getRaw(h.when):h.when,keybinding:this.isSearching?this.getRaw(u):u};return h.keybinding===u?" ":this.keybindingRegistry.validateKeybindingInScope(d)}catch(d){return d}},this.detectKeybindings=(h,u)=>{if(!u)return[];try{if(h.keybinding===u)return[];const d=this.keybindings.filter(E=>this.getRaw(E.keybinding)===u);if(d.length>0)return d.map(E=>{const g=this.commandRegistry.getCommand(this.getRaw(E.command)),l=this.storeKeybindings.find(y=>g&&y.command===g.id);return E.when=this.getRaw(E.when),E.keybinding=this.getRaw(E.keybinding),{id:g?g.id:this.getRaw(E.command),command:(g?g.label||g.id:E.command)||"",when:this.keybindingService.convertMonacoWhen(E.when),keybinding:this.getRaw(E.keybinding),source:l?this.getScope(p.KeybindingScope.USER):this.getScope(p.KeybindingScope.DEFAULT)}})}catch(d){this.logger.error(d)}return[]}}get onDidKeymapChanges(){return this.keymapChangeEmitter.event}get storeKeybindings(){return this._storeKeybindings&&this._storeKeybindings.map(h=>({...h,command:this.getValidateCommand(h.command),key:h.key||h.keybinding}))}set storeKeybindings(h){this._storeKeybindings=h}get whenReady(){return this._whenReadyDeferred.promise}async init(){await this.reconcile();const h=await this.filesystem.watchFileChanges(n.KEYMAP_FILE_URI);this.disposableCollection.push(h),h.onFilesChanged(()=>{this.reconcileQueue.queue(this.reconcile.bind(this))}),this._whenReadyDeferred.resolve()}async openResource(){if(!this.resource||!this.resource.uri)return;const h=await this.resource.uri;if(!h)return;if(!await this.filesystem.access(h)){const d=await this.filesystem.createFile(h),E=await this.filesystem.setContent(d,`{
30666
+ \u60A8\u4FEE\u6539\u7684\u90E8\u5206\uFF0C\u662F\u5426\u786E\u8BA4\u8FDB\u884C\u91CD\u65B0\u751F\u6210\u3002`,"aiNative.resolve.conflict.message.not.processed.yet":"AI \u5DF2\u5904\u7406 {0} \u5904\u51B2\u7A81\uFF0C{1} \u5904\u51B2\u7A81\u6682\u672A\u5904\u7406\uFF08\u4ECD\u6807\u8BB0\u4E3A\u9EC4\u8272\u90E8\u5206\uFF09\uFF0C\u9700\u4EBA\u5DE5\u5904\u7406","aiNative.operate.discard.title":"\u4E22\u5F03","aiNative.operate.afresh.title":"\u91CD\u65B0\u751F\u6210","aiNative.operate.stop.title":"\u505C\u6B62","aiNative.operate.close.title":"\u5173\u95ED","aiNative.operate.clear.title":"\u6E05\u7A7A","aiNative.operate.tools.title":"MCP \u5DE5\u5177","aiNative.operate.newChat.title":"\u65B0\u5EFA\u804A\u5929","aiNative.operate.chatHistory.title":"\u804A\u5929\u5386\u53F2","aiNative.operate.chatHistory.searchPlaceholder":"\u8BF7\u641C\u7D22...","aiNative.operate.chatHistory.edit":"\u7F16\u8F91","aiNative.operate.chatHistory.delete":"\u5220\u9664","aiNative.chat.welcome.loading.text":"\u521D\u59CB\u5316\u4E2D...","aiNative.chat.ai.assistant.limit.message":"{0} \u6761\u6700\u65E9\u7684\u6D88\u606F\u56E0\u8F93\u5165 Tokens \u9650\u5236\u800C\u88AB\u4E22\u5F03","aiNative.inlineDiff.acceptAll":"\u63A5\u53D7\u5168\u90E8","aiNative.inlineDiff.rejectAll":"\u62D2\u7EDD\u5168\u90E8","aiNative.inlineDiff.reveal":"\u5728\u804A\u5929\u4E2D\u5C55\u793A","aiNative.inlineDiff.up":"\u4E0A\u4E00\u5904\u53D8\u66F4","aiNative.inlineDiff.down":"\u4E0B\u4E00\u5904\u53D8\u66F4","aiNative.inlineDiff.right":"\u4E0B\u4E00\u5904\u6587\u4EF6","aiNative.inlineDiff.left":"\u4E0A\u4E00\u5904\u6587\u4EF6","aiNative.inlineDiff.noMoreChangesUp":"\u9876\u90E8\u6CA1\u6709\u66F4\u591A\u53D8\u66F4\u4E86","aiNative.inlineDiff.noMoreChangesDown":"\u5E95\u90E8\u6CA1\u6709\u66F4\u591A\u53D8\u66F4\u4E86","aiNative.chat.session.max":"\u6700\u591A\u53EA\u80FD\u521B\u5EFA {0} \u4E2A\u804A\u5929","preference.ai.native.inlineChat.title":"Inline Chat","preference.ai.native.chat.title":"Chat","preference.ai.native.interface.quick.title":"\u63A5\u53E3\u5FEB\u901F\u8DF3\u8F6C","preference.ai.native.interface.quick.navigation":"\u70B9\u51FB\u7F16\u8F91\u5668\u5DE6\u4FA7\u56FE\u6807\u5FEB\u901F\u8DF3\u8F6C\u5230\u63A5\u53E3\u5B9E\u73B0","preference.ai.native.interface.quick.navigation.hover":"\u8DF3\u8F6C\u5230\u5B9E\u73B0","preference.ai.native.inlineChat.auto.visible":"\u662F\u5426\u5728\u9009\u4E2D\u4EE3\u7801\u7247\u6BB5\u65F6\u81EA\u52A8\u663E\u793A Inline Chat?","preference.ai.native.inlineChat.codeAction.enabled":"\u662F\u5426\u542F\u7528\u5728\u9009\u4E2D\u4EE3\u7801\u7247\u6BB5\u65F6\u663E\u793A Inline Chat \u76F8\u5173\u7684 Code Actions?","preference.ai.native.chat.visible.type":"\u63A7\u5236 Chat \u9762\u677F\u9ED8\u8BA4\u7684\u5C55\u793A\u65B9\u5F0F","preference.ai.native.inlineDiff.preview.mode":"Inline Diff \u7684\u9884\u89C8\u6A21\u5F0F","preference.ai.native.inlineDiff.preview.mode.sideBySide":"\u5728\u7F16\u8F91\u5668\u5F53\u4E2D\u4EE5\u5DE6\u53F3 diff \u9762\u677F\u7684\u65B9\u5F0F\u5C55\u793A","preference.ai.native.inlineDiff.preview.mode.inlineLive":"\u5728\u7F16\u8F91\u5668\u5F53\u4E2D\u4EE5\u6D41\u5F0F\u6E32\u67D3\u7684\u65B9\u5F0F\u5C55\u793A","preference.ai.native.intelligentCompletions.title":"\u667A\u80FD\u8865\u5168","preference.ai.native.intelligentCompletions.promptEngineering.enabled":"\u662F\u5426\u542F\u7528\u63D0\u793A\u8BCD\u5DE5\u7A0B\uFF0C\u4E00\u4E9B LLM \u6A21\u578B\u5728\u63D0\u793A\u8BCD\u5DE5\u7A0B\u4E0A\u53EF\u80FD\u8868\u73B0\u4E0D\u4F73\u3002","preference.ai.native.intelligentCompletions.debounceTime":"\u667A\u80FD\u8865\u5168\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","preference.ai.native.intelligentCompletions.cache.enabled":"\u662F\u5426\u542F\u7528\u667A\u80FD\u8865\u5168\u7684\u7F13\u5B58","preference.ai.native.intelligentCompletions.alwaysVisible":"\u662F\u5426\u603B\u662F\u5C55\u793A\u667A\u80FD\u8865\u5168","preference.ai.native.codeEdits.title":"\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.lintErrors":"\u662F\u5426\u5728\u53D1\u751F Lint Error \u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.lineChange":"\u662F\u5426\u5728\u5149\u6807\u884C\u53F7\u53D1\u751F\u53D8\u5316\u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.typing":"\u662F\u5426\u5728\u5185\u5BB9\u53D1\u751F\u53D8\u5316\u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.renderType":"\u667A\u80FD\u6539\u5199\u6E32\u67D3\u65B9\u5F0F","preference.ai.native.chat.system.prompt":"\u9ED8\u8BA4\u804A\u5929\u7CFB\u7EDF\u63D0\u793A\u8BCD","webview.webviewTagUnavailable":"\u975E Electron \u73AF\u5883\u4E0D\u652F\u6301 webview \u6807\u7B7E\uFF0C\u8BF7\u4F7F\u7528 iframe \u6807\u7B7E","notebook.kernel.panel.empty":"\u6682\u65E0\u5185\u5BB9","notebook.kernel.panel.title":"\u8FD0\u884C\u7684\u7EC8\u7AEF\u548C\u5185\u6838","notebook.kernel.panel.opened.pages":"\u5DF2\u5F00\u542F\u7684\u6807\u7B7E\u9875","notebook.kernel.panel.running.kernels":"\u8FD0\u884C\u7684\u5185\u6838","notebook.kernel.close.all.confirmation":"\u4F60\u786E\u5B9A\u8981\u5173\u95ED\u5168\u90E8\u5417\uFF1F","notebook.variable.panel.title":"\u53D8\u91CF\u68C0\u67E5\u5668","notebook.variable.panel.unsupported":"\u8BE5\u6587\u4EF6\u683C\u5F0F\u6682\u4E0D\u652F\u6301\u53D8\u91CF\u68C0\u67E5","notebook.variable.panel.refresh.success":"\u53D8\u91CF\u5237\u65B0\u6210\u529F","notebook.variable.panel.refresh.error":"\u53D8\u91CF\u5237\u65B0\u5931\u8D25","notebook.variable.panel.search.placeholder":"\u8BF7\u8F93\u5165\u53D8\u91CF\u540D\u79F0\u641C\u7D22","notebook.variable.panel.show.detail":"\u67E5\u770B\u8BE6\u60C5",...r.browserViews,...o.editorLocalizations,...c.zhCN,"preference.ai.native.llm.apiSettings.title":"\u5927\u6A21\u578B API \u8BBE\u7F6E","preference.ai.native.llm.model.id":"\u6A21\u578B ID","preference.ai.native.deepseek.apiKey":"Deepseek API \u5BC6\u94A5","preference.ai.native.deepseek.apiKey.description":"Deepseek \u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.anthropic.apiKey":"Anthropic API \u5BC6\u94A5","preference.ai.native.anthropic.apiKey.description":"Anthropic \u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.openai.apiKey":"OpenAI API \u5BC6\u94A5","preference.ai.native.openai.apiKey.description":"OpenAI \u517C\u5BB9\u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.openai.baseURL":"OpenAI Base URL","preference.ai.native.openai.baseURL.description":"OpenAI \u517C\u5BB9\u8BED\u8A00\u6A21\u578B\u7684 Base URL","preference.ai.native.mcp.settings.title":"MCP \u670D\u52A1\u5668\u8BBE\u7F6E","preference.ai.native.mcp.servers":"MCP \u670D\u52A1\u5668","preference.ai.native.mcp.servers.description":"\u914D\u7F6E MCP (Model Context Protocol) \u670D\u52A1\u5668","preference.ai.native.mcp.servers.name.description":"MCP \u670D\u52A1\u5668\u540D\u79F0","preference.ai.native.mcp.servers.command.description":"\u542F\u52A8 MCP \u670D\u52A1\u5668\u7684\u547D\u4EE4","preference.ai.native.mcp.servers.args.description":"MCP \u670D\u52A1\u5668\u7684\u547D\u4EE4\u884C\u53C2\u6570","preference.ai.native.mcp.servers.env.description":"MCP \u670D\u52A1\u5668\u7684\u73AF\u5883\u53D8\u91CF","preference.ai.native.mcp.servers.type.description":"MCP \u670D\u52A1\u5668\u8FDE\u63A5\u7C7B\u578B","preference.ai.native.mcp.servers.type.stdio":"Stdio \u8FDE\u63A5","preference.ai.native.mcp.servers.type.sse":"SSE \u8FDE\u63A5","ai.native.mcp.terminal.command":"\u547D\u4EE4","ai.native.mcp.terminal.output":"\u8F93\u51FA","ai.native.mcp.terminal.allow-question":"\u662F\u5426\u5141\u8BB8\u8FD0\u884C\u547D\u4EE4?","ai.native.mcp.terminal.allow":"\u5141\u8BB8","ai.native.mcp.terminal.deny":"\u62D2\u7EDD","ai.native.mcp.name":"\u540D\u79F0:","ai.native.mcp.command":"\u547D\u4EE4:","ai.native.mcp.args":"\u53C2\u6570:","ai.native.mcp.env":"\u73AF\u5883\u53D8\u91CF:","ai.native.mcp.type":"\u7C7B\u578B:","ai.native.mcp.stdio":"Command","ai.native.mcp.sse":"SSE","ai.native.mcp.buttonSave":"\u6DFB\u52A0","ai.native.mcp.buttonUpdate":"\u66F4\u65B0","ai.native.mcp.buttonCancel":"\u53D6\u6D88","ai.native.mcp.addMCPServer.title":"\u6DFB\u52A0 MCP \u670D\u52A1\u5668","ai.native.mcp.editMCPServer.title":"\u7F16\u8F91 MCP \u670D\u52A1\u5668","ai.native.mcp.serverHost.placeHolder":"\u8F93\u5165 SSE URL","ai.native.mcp.command.placeHolder":"\u8F93\u5165\u547D\u4EE4","ai.native.mcp.args.placeHolder":"\u8FD0\u884C\u53C2\u6570","ai.native.mcp.env.placeHolder":"KEY=value\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","ai.native.mcp.name.placeHolder":"\u670D\u52A1\u5668\u540D\u79F0","ai.native.mcp.type.builtin":"\u5185\u7F6E","ai.native.mcp.type.sse":"SSE","ai.native.mcp.type.stdio":"\u547D\u4EE4"}}},10199:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(32581),t)},21774:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsModule=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(25067),p=e(48644),v=e(85448);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:c.IKeymapService,useClass:v.KeymapService},p.KeymapsContribution]}};t.KeymapsModule=m,t.KeymapsModule=m=n.__decorate([(0,r.Injectable)()],m)},2312:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsParser=t.keymapsSchema=void 0;const n=e(85608),r=n.__importDefault(e(82174)),o=n.__importStar(e(23304)),c=e(76003);t.keymapsSchema={type:"array",items:{type:"object",properties:{key:{type:"string"},keybinding:{type:"string",deprecated:!0},command:{type:"string"},context:{type:"string"},when:{type:"string"},args:{}},required:["command"],optional:["key","keybinding","when","args"],additionalProperties:!1}};let p=class{constructor(){this.validate=new r.default({jsonPointers:!0}).compile(t.keymapsSchema)}parse(m,_){const s=o.stripComments(m),f=_?[]:void 0,a=o.parse(s,f);if(f&&_)for(const h of f)_.push(`${this.printParseErrorCode(h.error)} at ${h.offset} offset of ${h.length} length`);if(this.validate(a))return a;if(_&&this.validate.errors)for(const h of this.validate.errors)_.push(`${h.message} at ${h.dataPath}`);return[]}printParseErrorCode(m){return o.printParseErrorCode(m)}};t.KeymapsParser=p,t.KeymapsParser=p=n.__decorate([(0,c.Injectable)(),n.__metadata("design:paramtypes",[])],p)},48644:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsContribution=t.KEYMAP_COMMANDS=t.KeymapsContextMenu=t.KeymapsResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(93899),p=e(57517),v=e(42933),m=e(97821),_=e(25067),s=e(34879),f="keymaps-preview";let a=class extends o.WithEventBus{constructor(){super(),this.scheme=_.KEYMAPS_SCHEME}provideResource(g){return{supportsRevive:!0,name:(0,o.localize)("keymaps.tab.name"),icon:(0,o.getIcon)("setting"),uri:g}}provideResourceSubname(g,l){return null}async shouldCloseResource(g,l){return!0}};t.KeymapsResourceProvider=a,t.KeymapsResourceProvider=a=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],a);var h;(function(E){E.KEYMAPS="2_keymaps"})(h||(t.KeymapsContextMenu=h={}));var u;(function(E){const g="keymaps";E.OPEN_SOURCE_FILE={id:"keymaps.open.source",label:"%keymaps.editorTitle.openSource%",category:g}})(u||(t.KEYMAP_COMMANDS=u={}));let d=class{registerCommands(g){g.registerCommand(o.COMMON_COMMANDS.OPEN_KEYMAPS,{isEnabled:()=>!0,execute:async()=>{await this.keymapService.open()}}),g.registerCommand(u.OPEN_SOURCE_FILE,{execute:async()=>{this.keymapService.openResource()}}),g.registerCommand(o.KEYBOARD_COMMANDS.CHOOSE_KEYBOARD_LAYOUT,{execute:()=>{this.chooseLayout()}})}registerMenus(g){g.registerMenuItem(c.MenuId.SettingsIconMenu,{command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,group:h.KEYMAPS}),g.registerMenuItem(c.MenuId.EditorTitle,{command:u.OPEN_SOURCE_FILE.id,iconClass:(0,o.getIcon)("open"),group:"navigation",order:4,when:`resourceScheme == ${_.KEYMAPS_SCHEME}`}),g.registerMenuItem(c.MenuId.EditorTitle,{command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,iconClass:(0,o.getIcon)("open"),group:"navigation",order:4,when:"resourceFilename =~ /keymaps.json/"})}registerKeybindings(g){g.registerKeybinding({command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,keybinding:"ctrlcmd+K ctrlcmd+S"})}onStart(){this.keymapService.init()}registerResource(g){g.registerResourceProvider(this.keymapsResourceProvider)}registerEditorComponent(g){g.registerEditorComponent({component:s.KeymapsView,uid:f,scheme:_.KEYMAPS_SCHEME}),g.registerEditorComponentResolver(_.KEYMAPS_SCHEME,(l,y,b)=>{b([{type:p.EditorOpenType.component,componentId:f}])})}async chooseLayout(){const g=this.layoutProvider.currentLayoutData,l={label:(0,o.localize)("keyboard.autoDetect.label"),description:g&&this.layoutProvider.currentLayoutSource!=="user-choice"?(0,o.formatLocalize)("keyboard.autoDetect.description",(0,o.getKeyboardLayoutId)(g.layout)):void 0,detail:(0,o.localize)("keyboard.autoDetect.detail"),value:"autodetect"},y=this.layoutProvider.allLayoutData.map(A=>this.toQuickPickValue(A,g===A));let b;b=[l,...y];const S=await this.quickPickService.show(b,{placeholder:"Choose a keyboard layout"});if(S)return this.layoutProvider.setLayoutData(S)}toQuickPickValue(g,l){return{label:(0,o.getKeyboardLayoutId)(g.layout),value:g}}};t.KeymapsContribution=d,n.__decorate([(0,r.Autowired)(m.QuickPickService),n.__metadata("design:type",Object)],d.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(o.KeyboardNativeLayoutService),n.__metadata("design:type",Object)],d.prototype,"layoutProvider",void 0),n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],d.prototype,"filesystem",void 0),n.__decorate([(0,r.Autowired)(a),n.__metadata("design:type",a)],d.prototype,"keymapsResourceProvider",void 0),n.__decorate([(0,r.Autowired)(_.IKeymapService),n.__metadata("design:type",Object)],d.prototype,"keymapService",void 0),t.KeymapsContribution=d=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution,o.ClientAppContribution,p.BrowserEditorContribution,c.MenuContribution)],d)},85448:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapService=void 0;const r=e(85608),o=r.__importStar(e(39050)),c=e(76003),p=e(41869),v=e(68969),m=e(14951),_=e(25067),s=e(2312);let f=n=class{constructor(){this.keymapChangeEmitter=new p.Emitter,this.convertKeySequence=[],this.toUnregisterUserKeybindingMap=new Map,this.toRestoreDefaultKeybindingMap=new Map,this.searchDelayer=new p.ThrottledDelayer(n.DEFAULT_SEARCH_DELAY),this.disposableCollection=new p.DisposableCollection,this._whenReadyDeferred=new p.Deferred,this.fuzzyOptions={pre:"<match>",post:"</match>"},this.reconcileQueue=new p.Throttler,this.keybindings=[],this.updateKeybindings=()=>{this.currentSearchValue?this.doSearchKeybindings(this.currentSearchValue):(0,p.runWhenIdle)(()=>{this.keybindings=this.getKeybindingItems(),this.keymapChangeEmitter.fire(this.keybindings)})},this.setKeybinding=(h,u)=>this.progressService.withProgress({location:p.ProgressLocation.Notification},d=>new Promise((E,g)=>{d.report({message:(0,p.localize)("keymaps.keybinding.loading"),increment:0,total:100});const l=this.storeKeybindings||[];let y=!1;for(const b of l){const S={when:b.when,command:b.command,keybinding:b.key};if(b.command===u.command){y=!0,this.unregisterUserKeybinding(S);const A=this.toUniqueKey(h),w=this.toRestoreDefaultKeybindingMap.get(A);if(w){const T=this.toUniqueKey(u);this.toRestoreDefaultKeybindingMap.delete(A),this.toRestoreDefaultKeybindingMap.set(T,w)}b.key=u.keybinding,this.registerUserKeybinding({...S,priority:p.KeybindingWeight.WorkbenchContrib*100})}}if(!y){const b=this.keybindings.find(A=>A.id===u.command&&this.getRaw(A.when)===u.when);if(b&&b.keybinding){this.unregisterDefaultKeybinding({when:this.getRaw(b.when),command:b.id,keybinding:this.getRaw(b.keybinding)});const A=this.toUniqueKey(h),w=this.toRestoreDefaultKeybindingMap.get(A);if(w){const T=this.toUniqueKey(u);this.toRestoreDefaultKeybindingMap.delete(A),this.toRestoreDefaultKeybindingMap.set(T,w)}}const S={when:this.getWhen(u),command:u.command,key:u.keybinding};l.push(S),this.registerUserKeybinding(u)}return this.saveKeybinding(l).then(()=>{E(void 0),d.report({message:(0,p.localize)("keymaps.keybinding.success"),increment:99})}).catch(b=>{g(b),d.report({message:(0,p.localize)("keymaps.keybinding.fail"),increment:99})}).finally(()=>{setTimeout(()=>{d.report({increment:100})},3e3)})}),()=>{}),this.covert=h=>this.keybindingService.convert(h," "),this.clearCovert=()=>this.keybindingService.clearConvert(),this.resetKeybinding=async h=>{if(!this.resource)return;const d=this.storeKeybindings.filter(E=>E.command!==h.command);return this.unregisterUserKeybinding(h),this.restoreDefaultKeybinding(h),this.saveKeybinding(d)},this.fixed=async()=>{this.commandService.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,new p.URI().withScheme(_.KEYMAPS_SCHEME),{preview:!1})},this.searchKeybindings=h=>{this.currentSearchValue=h,this.searchDelayer.isTriggered()||this.searchDelayer.cancel(),this.searchDelayer.trigger(async()=>{this.doSearchKeybindings(this.currentSearchValue)})},this.isSearching=!1,this.doSearchKeybindings=h=>{h?this.isSearching=!0:this.isSearching=!1;const u=this.getKeybindingItems(),d=[];u.forEach(E=>{const g=["id","command","keybinding","when","context","source"];let l=!1;for(const y of g){const b=E[y];if(b){const S=o.match(h,b,this.fuzzyOptions);if(S)E[y]=S.rendered,l=!0;else if(y==="keybinding"){const A=h.split("+"),w=b.split(" "),T=[0];let D=[];w.length>1?w.forEach(M=>{const R=M.split("+");T.push(R.length+T[-1]),D.push(...R)}):D=b.split("+"),T.shift();const I=[...D];let O=0;if(A.forEach(M=>{let R={rendered:"",score:0},P=-1;if(b){D.forEach(F=>{const L=o.match(M,F,this.fuzzyOptions);L&&L.score>R.score&&(R=L,P=I.indexOf(F))});const k=R.rendered;k&&(P>-1&&(I[P]=k),D.splice(P,1,""),O+=1)}}),O===A.length){if(T.length>0){const M="";I.forEach((R,P)=>{P===0?M.concat(R):T.indexOf(P)!==-1?M.concat(" "+R):M.concat("+"+R)}),E[y]=M}E[y]=I.join("+"),l=!0}}}}l&&d.push(E)}),this.keybindings=d,this.keymapChangeEmitter.fire(this.keybindings)},this.validateKeybinding=(h,u)=>{if(!u)return(0,p.localize)("keymaps.keybinding.require");try{const d={command:this.isSearching?this.getRaw(h.command):h.command,when:this.isSearching?this.getRaw(h.when):h.when,keybinding:this.isSearching?this.getRaw(u):u};return h.keybinding===u?" ":this.keybindingRegistry.validateKeybindingInScope(d)}catch(d){return d}},this.detectKeybindings=(h,u)=>{if(!u)return[];try{if(h.keybinding===u)return[];const d=this.keybindings.filter(E=>this.getRaw(E.keybinding)===u);if(d.length>0)return d.map(E=>{const g=this.commandRegistry.getCommand(this.getRaw(E.command)),l=this.storeKeybindings.find(y=>g&&y.command===g.id);return E.when=this.getRaw(E.when),E.keybinding=this.getRaw(E.keybinding),{id:g?g.id:this.getRaw(E.command),command:(g?g.label||g.id:E.command)||"",when:this.keybindingService.convertMonacoWhen(E.when),keybinding:this.getRaw(E.keybinding),source:l?this.getScope(p.KeybindingScope.USER):this.getScope(p.KeybindingScope.DEFAULT)}})}catch(d){this.logger.error(d)}return[]}}get onDidKeymapChanges(){return this.keymapChangeEmitter.event}get storeKeybindings(){return this._storeKeybindings&&this._storeKeybindings.map(h=>({...h,command:this.getValidateCommand(h.command),key:h.key||h.keybinding}))}set storeKeybindings(h){this._storeKeybindings=h}get whenReady(){return this._whenReadyDeferred.promise}async init(){await this.reconcile();const h=await this.filesystem.watchFileChanges(n.KEYMAP_FILE_URI);this.disposableCollection.push(h),h.onFilesChanged(()=>{this.reconcileQueue.queue(this.reconcile.bind(this))}),this._whenReadyDeferred.resolve()}async openResource(){if(!this.resource||!this.resource.uri)return;const h=await this.resource.uri;if(!h)return;if(!await this.filesystem.access(h)){const d=await this.filesystem.createFile(h),E=await this.filesystem.setContent(d,`{
30643
30667
  }`);this.resource=E||void 0}h&&this.commandService.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,new p.URI(h),{preview:!1})}disposeRegistedKeybinding(){for(const[,h]of this.toUnregisterUserKeybindingMap)h.dispose();for(const[,h]of this.toRestoreDefaultKeybindingMap)h.dispose()}dispose(){this.disposeRegistedKeybinding(),this.disposableCollection.dispose()}getValidateCommand(h){return h.replace(/^monaco.editor/,"editor")}async reconcile(h){const u=n.KEYMAP_FILE_URI.toString();this.resource=await this.filesystem.getFileStat(u),this.resource||(this.resource=await this.filesystem.createFile(u,{content:JSON.stringify([])}));const E=(h?h.slice(0):await this.parseKeybindings()).map(y=>({when:y.when,command:this.getValidateCommand(y.command),keybinding:y.key||y.keybinding})),g=[],l=[];this.disposeRegistedKeybinding(),E.forEach(y=>{y.command.startsWith("-")?l.push(y):g.push(y)}),g.map(y=>{this.unregisterDefaultKeybinding(y,!0),this.registerUserKeybinding(y)}),l.map(y=>{y.command=y.command.slice(1),this.unregisterDefaultKeybinding(y,!0)})}unregisterUserKeybinding(h){const u=this.toUniqueKey(h);if(this.toUnregisterUserKeybindingMap.has(u)){const d=this.toUnregisterUserKeybindingMap.get(u);d?.dispose(),this.toUnregisterUserKeybindingMap.delete(u)}}registerUserKeybinding(h){const u=this.toUniqueKey(h);this.toUnregisterUserKeybindingMap.set(u,this.keybindingRegistry.registerKeybinding(h,p.KeybindingScope.USER))}unregisterDefaultKeybinding(h,u=!1){if(u)this.keybindingRegistry.getKeybindingsForCommand(h.command).map(E=>{const g={...h,keybinding:E.keybinding};this.keybindingRegistry.unregisterKeybinding(g);const l=this.toUniqueKey(h);this.toRestoreDefaultKeybindingMap.set(l,p.Disposable.create(()=>{this.keybindingRegistry.registerKeybinding(g)}))});else{this.keybindingRegistry.unregisterKeybinding(h);const d=this.toUniqueKey(h);this.toRestoreDefaultKeybindingMap.set(d,p.Disposable.create(()=>{this.keybindingRegistry.registerKeybinding(h)}))}}restoreDefaultKeybinding(h){const u=this.toUniqueKey(h),d=this.toRestoreDefaultKeybindingMap.get(u);d&&(d?.dispose(),this.toRestoreDefaultKeybindingMap.delete(u))}toUniqueKey(h){return`${h.command}${h.when?`-${h.when}`:"-"}${h.keybinding?`-${h.keybinding}`:"-"}`}async parseKeybindings(){try{const h=await this.resource;if(!h)return[];const{content:u}=await this.filesystem.readFile(h.uri);this.storeKeybindings=this.parser.parse(u.toString())}catch(h){this.logger.warn(`ParseKeybindings fail: ${h.stack}`),this.storeKeybindings=[]}return this.storeKeybindings}async saveKeybinding(h){this.storeKeybindings=h,this.updateKeybindings(),this.resource||(this.resource=await this.filesystem.createFile(n.KEYMAP_FILE_URI.toString()));const u=await this.filesystem.setContent(this.resource,JSON.stringify(h,void 0,2));this.resource=u||void 0}async getKeybindings(){return this.storeKeybindings.map(h=>({command:h.command,keybinding:h.key,when:h.when,args:h.args}))}async open(){this.commandService.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,new p.URI().withScheme(_.KEYMAPS_SCHEME),{preview:!0})}getWhen(h){return h?this.keybindingService.convertMonacoWhen(h.when):""}getScope(h){return h===p.KeybindingScope.DEFAULT?(0,p.localize)("keymaps.source.default"):h===p.KeybindingScope.USER?(0,p.localize)("keymaps.source.user"):h===p.KeybindingScope.WORKSPACE?(0,p.localize)("keymaps.source.workspace"):""}getKeybindingItems(){const h=this.commandRegistry.getCommands(),u=[];for(const b of h){const S=this.keybindingRegistry.getKeybindingsForCommand(b.id);!S||!S.length?b.label&&u.push({id:b.id,command:b.label,hasCommandLabel:!0}):S.forEach(A=>{let w;if(this.storeKeybindings){const T=this.storeKeybindings.find(D=>b&&D.command===b.id);w={id:b.id,command:b.label||b.id,keybinding:T?T.key:A?this.keybindingRegistry.acceleratorFor(A,"+").join(" "):"",when:T?this.getWhen(T):this.getWhen(S&&A),source:T?this.getScope(p.KeybindingScope.USER):this.getScope(p.KeybindingScope.DEFAULT),hasCommandLabel:!!b.label}}else w={id:b.id,command:b.label||b.id,keybinding:S&&A?this.keybindingRegistry.acceleratorFor(A,"+").join(" "):"",when:this.getWhen(S&&A),source:S&&A&&typeof A.scope<"u"?this.getScope(A.scope):"",hasCommandLabel:!!b.label};u.push(w)})}const d=u.sort((b,S)=>this.compareItem(b,S)),E=d.filter(b=>!!b.keybinding),g=d.filter(b=>!b.keybinding&&b.hasCommandLabel),l=E.filter(b=>b.hasCommandLabel),y=E.filter(b=>!b.hasCommandLabel);return[...l,...y,...g]}compareItem(h,u){return h&&u?h.source===u.source?h.command.toLowerCase().localeCompare(u.command.toLowerCase()):h.source===this.getScope(p.KeybindingScope.USER)?-1:1:0}getRaw(h){return h?h.replace(new RegExp(/<(\/)?match>/gi),""):""}};t.KeymapService=f,f.DEFAULT_SEARCH_DELAY=100,f.KEYMAP_FILE_URI=new p.URI().withScheme(p.Schemes.userStorage).withPath(_.KEYMAPS_FILE_NAME),r.__decorate([(0,c.Autowired)(p.KeybindingRegistry),r.__metadata("design:type",Object)],f.prototype,"keyBindingRegistry",void 0),r.__decorate([(0,c.Autowired)(s.KeymapsParser),r.__metadata("design:type",s.KeymapsParser)],f.prototype,"parser",void 0),r.__decorate([(0,c.Autowired)(p.CommandService),r.__metadata("design:type",Object)],f.prototype,"commandService",void 0),r.__decorate([(0,c.Autowired)(p.CommandRegistry),r.__metadata("design:type",Object)],f.prototype,"commandRegistry",void 0),r.__decorate([(0,c.Autowired)(p.KeybindingRegistry),r.__metadata("design:type",Object)],f.prototype,"keybindingRegistry",void 0),r.__decorate([(0,c.Autowired)(p.KeybindingService),r.__metadata("design:type",Object)],f.prototype,"keybindingService",void 0),r.__decorate([(0,c.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],f.prototype,"filesystem",void 0),r.__decorate([(0,c.Autowired)(p.ILogger),r.__metadata("design:type",Object)],f.prototype,"logger",void 0),r.__decorate([(0,c.Autowired)(v.IProgressService),r.__metadata("design:type",Object)],f.prototype,"progressService",void 0),t.KeymapService=f=n=r.__decorate([(0,c.Injectable)()],f)},34879:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(25067),m=n.__importDefault(e(78541)),_=()=>{const{keybindings:s,searchKeybindings:f,validateKeybinding:a,detectKeybindings:h,setKeybinding:u,resetKeybinding:d,getRaw:E,getScope:g,covert:l,clearCovert:y,fixed:b,onDidKeymapChanges:S,updateKeybindings:A}=(0,p.useInjectable)(v.IKeymapService),[w,T]=o.default.useState(!1),[D,I]=o.default.useState(""),[O,M]=o.default.useState(s),R=({data:X,index:V})=>{const{id:$,command:Y,when:G,source:H,keybinding:K}=X,[Z,Q]=o.default.useState(!1),[oe,ne]=o.default.useState(K||""),[he,_e]=o.default.useState(!1),[q,Re]=o.default.useState(),[ve,ie]=o.default.useState([]),fe=()=>{he||(b(),_e(!0)),y(),ne(E(K)),Q(!0)},Me=Fe=>{const pe=a(X,Fe);pe?pe!==" "?Re({message:pe,type:c.VALIDATE_TYPE.ERROR}):Q(!1):(u({command:E($),when:E(G)||"",keybinding:E(K)},{command:E($),when:E(G)||"",keybinding:Fe}),Q(!1),y())},Le=()=>{Q(!1)},Ce=Fe=>{Fe.stopPropagation(),Fe.preventDefault();const{key:pe}=p.KeyCode.createKeyCode(Fe.nativeEvent),re=Fe.nativeEvent.shiftKey||Fe.nativeEvent.metaKey||Fe.nativeEvent.altKey||Fe.nativeEvent.ctrlKey;pe&&p.Key.ENTER.keyCode===pe.keyCode&&!re?oe&&Me(oe):ne(l(Fe.nativeEvent))},Se=()=>{const Fe=()=>{Re(void 0),oe&&ne(""),y()},pe=re=>{re.stopPropagation(),re.preventDefault()};return o.default.createElement("div",{className:m.default.keybinding_optional_actions,onMouseDown:pe},o.default.createElement("span",{className:(0,r.default)((0,p.getIcon)("close-circle-fill"),m.default.keybinding_optional_action),onClick:Fe,title:(0,p.localize)("keymaps.action.clear")}))},Ee=()=>o.default.createElement("div",{className:m.default.keybinding_key_input_placeholder},"\u23CE"),ge=Fe=>{const pe=re=>{re.preventDefault(),he||(b(),_e(!0)),d({command:E($),when:E(G)||"",keybinding:oe})};if(Fe&&E(Fe)===g(p.KeybindingScope.USER))return o.default.createElement("span",{className:(0,r.default)((0,p.getIcon)("rollback"),m.default.keybinding_inline_action),onClick:pe,title:(0,p.localize)("keymaps.action.reset")})},xe=()=>{if(!q&&ve.length>0)return o.default.createElement("div",{className:m.default.keybinding_detective_messages},o.default.createElement("div",{className:m.default.keybinding_detective_messages_label},(0,p.formatLocalize)("keymaps.keybinding.duplicate",ve.length)),o.default.createElement("ul",{className:m.default.keybinding_detective_messages_container},ve.map((Fe,pe)=>o.default.createElement("li",{className:m.default.keybinding_detective_messages_item,key:`${Fe.id}_${pe}`,title:`${Fe.command}-${Fe.when}`},o.default.createElement("div",{className:m.default.title},(0,p.localize)("keymaps.header.command.title"),": ",E(Fe.command)||"-"),o.default.createElement("div",{className:m.default.description},o.default.createElement("div",{style:{marginRight:4}},(0,p.localize)("keymaps.header.source.title"),": ",E(Fe.source)||"-"),o.default.createElement("div",null,(0,p.localize)("keymaps.header.when.title"),": ",E(Fe.when)||"\u2014"))))))},Te=()=>{if(Z)return o.default.createElement("div",{className:m.default.keybinding_key_input_container},Se(),o.default.createElement(c.ValidateInput,{placeholder:(0,p.localize)("keymaps.edit.placeholder"),validateMessage:q,className:m.default.keybinding_key_input,size:"small",autoFocus:!0,name:p.NO_KEYBINDING_NAME,value:oe,onKeyDown:Ce,onBlur:Le}),Ee(),xe());{const Fe=K?.split(" ");return o.default.createElement("div",{className:m.default.keybinding_key,title:E(K),onDoubleClick:fe},o.default.createElement("div",{className:m.default.keybinding_action,onClick:fe},o.default.createElement("span",{className:(0,r.default)(K?(0,p.getIcon)("edit"):(0,p.getIcon)("plus"),m.default.keybinding_inline_action),title:K?(0,p.localize)("keymaps.action.edit"):(0,p.localize)("keymaps.action.add")}),ge(H)),Fe&&Fe[0]?Fe.map((pe,re)=>{const ue=pe.split("+");return o.default.createElement("div",{className:m.default.keybinding_key_block,key:`${pe}_${re}`},ue.map((Oe,Ae)=>o.default.createElement("div",{className:m.default.keybinding_key_item,key:`${Oe}_${Ae}`,dangerouslySetInnerHTML:{__html:Oe||""}})))}):"\u2014")}};return(0,o.useEffect)(()=>{q&&Re(void 0),ie(oe&&Z?h(X,oe):[])},[oe]),o.default.createElement("div",{className:(0,r.default)(m.default.keybinding_list_item,V%2===1&&m.default.odd)},o.default.createElement("div",{className:(0,r.default)(m.default.keybinding_list_item_box,m.default.keybinding_command)},o.default.createElement("div",{className:m.default.command_name,title:E(Y),dangerouslySetInnerHTML:{__html:Y}}),o.default.createElement("div",{className:(0,r.default)(m.default.limit_warp,m.default.command_id),title:E($),dangerouslySetInnerHTML:{__html:(0,p.formatLocalize)("keymaps.commandId.title",$)}})),o.default.createElement("div",{className:(0,r.default)(m.default.keybinding_list_item_box)},Te()),o.default.createElement("div",{className:m.default.keybinding_list_item_box},o.default.createElement("div",{className:m.default.limit_warp,title:E(G||"\u2014"),dangerouslySetInnerHTML:{__html:G||"\u2014"}})),o.default.createElement("div",{className:m.default.keybinding_list_item_box},o.default.createElement("div",{title:E(H),dangerouslySetInnerHTML:{__html:H||""}})))},P=()=>{const X=()=>{T(!w)};return o.default.createElement("div",{className:m.default.search_inline_action},o.default.createElement("span",{className:(0,r.default)((0,p.getIcon)("keyboard"),m.default.search_inline_action_icon,w&&m.default.active),onClick:X}))},k=(0,o.useCallback)(X=>{I(X),f(X)},[D]),F=X=>{if(!w){const V=X.target&&X.target.value?X.target.value.toLocaleLowerCase():"";k(V)}},L=X=>{if(w){X.stopPropagation(),X.preventDefault();const{key:V}=p.KeyCode.createKeyCode(X.nativeEvent);if(V&&p.Key.ENTER.keyCode===V.keyCode)return;k(l(X.nativeEvent))}},B=()=>{D&&(I(""),f("")),y()},j=()=>o.default.createElement("div",{className:m.default.keybinding_optional_actions},o.default.createElement("span",{className:(0,r.default)((0,p.getIcon)("close-circle-fill"),m.default.keybinding_optional_action),onClick:B,title:(0,p.localize)("keymaps.action.reset")})),W=()=>o.default.createElement("div",{className:m.default.search_container},o.default.createElement(c.Input,{className:m.default.search_input,placeholder:(0,p.localize)(w?"keymaps.search.keyboard.placeholder":"keymaps.search.placeholder"),type:"text",value:D,name:p.NO_KEYBINDING_NAME,onChange:F,onKeyDown:L,addonBefore:P()}),j()),U=(0,o.useMemo)(()=>{const X=[{title:(0,p.localize)("keymaps.header.command.title"),classname:m.default.keybinding_header_item},{title:(0,p.localize)("keymaps.header.keybinding.title"),classname:m.default.keybinding_header_item},{title:(0,p.localize)("keymaps.header.when.title"),classname:m.default.keybinding_header_item},{title:(0,p.localize)("keymaps.header.source.title"),classname:m.default.keybinding_header_item}];return o.default.createElement("div",{className:m.default.keybinding_header},X.map((V,$)=>o.default.createElement("div",{className:V.classname,key:`${V.title}_${$}`},V.title)))},[]);return(0,o.useEffect)(()=>{const X=S(V=>{M(V)});return A(),()=>{X.dispose()}},[]),o.default.createElement("div",{className:m.default.keybinding_container},o.default.createElement("div",{className:m.default.keybinding_searchbar},W()),o.default.createElement("div",{className:m.default.keybinding_body},U,o.default.createElement("div",{className:m.default.keybinding_list},o.default.createElement(c.RecycleList,{itemHeight:40,data:O,template:R,className:m.default.keybinding_list_container}))))};t.KeymapsView=_},79312:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KEYMAPS_FILE_NAME=t.KEYMAPS_SCHEME=void 0,t.KEYMAPS_SCHEME="keymaps",t.KEYMAPS_FILE_NAME="keymaps.json"},25067:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(79312),t),n.__exportStar(e(88811),t)},88811:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IKeymapService=void 0,t.IKeymapService=Symbol("IKeymapService")},83507:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogModule=t.LogServiceClient=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(47548),p=e(49187);n.__exportStar(e(47548),t);var v=e(1700);Object.defineProperty(t,"LogServiceClient",{enumerable:!0,get:function(){return v.LogServiceClient}});let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:c.ILoggerManagerClient,useClass:p.LoggerManagerClient}],this.backServices=[{servicePath:c.LogServiceForClientPath,clientToken:c.ILoggerManagerClient}]}};t.LogModule=m,t.LogModule=m=n.__decorate([(0,r.Injectable)()],m)},49187:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerManagerClient=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(47548),p=e(1700);let v=class{constructor(){this.logLevelChangeEmitter=new o.Emitter}getLogger(_,s){const f=new p.LogServiceClient(_);return f.setup(this.logServiceForClient,s),f}getBrowserLogger(_){return new p.LogServiceClient(_)}async getLogFolder(){return await this.logServiceForClient.getLogFolder()}async setGlobalLogLevel(_){return await this.logServiceForClient.setGlobalLogLevel(_)}async getGlobalLogLevel(){return await this.logServiceForClient.getGlobalLogLevel()}async dispose(){return this.logLevelChangeEmitter.dispose(),await this.logServiceForClient.disposeAll()}get onDidChangeLogLevel(){return this.logLevelChangeEmitter.event}onDidLogLevelChanged(_){this.logLevelChangeEmitter.fire(_)}};t.LoggerManagerClient=v,n.__decorate([(0,r.Autowired)(c.LogServiceForClientPath),n.__metadata("design:type",Object)],v.prototype,"logServiceForClient",void 0),t.LoggerManagerClient=v=n.__decorate([(0,r.Injectable)()],v)},1700:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogServiceClient=void 0;const n=e(43718),r=e(47548);class o{constructor(p){this.level=r.LogLevel.Verbose,this.ready=new n.Deferred,this.namespace=p,this.debugLog=new r.DebugLog(p)}async setup(p,v){this.logServiceForClient=p,this.pid=v;const m=await this.logServiceForClient.getGlobalLogLevel();this.level=m,this.ready.resolve()}async getLevel(){return this.logServiceForClient?await this.logServiceForClient.getLevel(this.namespace):this.level}async setLevel(p){this.level=p,this.logServiceForClient&&await this.logServiceForClient.setLevel(this.namespace,p)}async verbose(...p){this.debugLog.verbose(...p),this.logServiceForClient&&await this.logServiceForClient.verbose(this.namespace,(0,r.format)(p),this.pid)}async debug(...p){this.debugLog.debug(...p),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Debug)&&await this.logServiceForClient.debug(this.namespace,(0,r.format)(p),this.pid))}async log(...p){this.debugLog.log(...p),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Info)&&await this.logServiceForClient.log(this.namespace,(0,r.format)(p),this.pid))}async warn(...p){this.debugLog.warn(...p),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Warning)&&await this.logServiceForClient.warn(this.namespace,(0,r.format)(p),this.pid))}async error(...p){this.debugLog.error(...p),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Error)&&await this.logServiceForClient.error(this.namespace,(0,r.format)(p),this.pid))}async critical(...p){this.debugLog.error(...p),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Critical)&&await this.logServiceForClient.critical(this.namespace,(0,r.format)(p),this.pid))}async dispose(){this.debugLog.destroy(),this.logServiceForClient&&await this.logServiceForClient.disposeLogger(this.namespace)}}t.LogServiceClient=o},47548:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(4892),t),n.__exportStar(e(46196),t)},46196:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ILogServiceForClient=void 0,t.format=e,t.ILogServiceForClient=Symbol("LogServiceForClient");function e(n){let r="";for(let o=0;o<n.length;o++){let c=n[o];if(c instanceof Error){const p=Array.prototype.slice.call(arguments);p[0]=c.stack,c=e(p)}else if(typeof c=="object")try{c=JSON.stringify(c)}catch{}else if(typeof c=="symbol")try{c=c.toString()}catch{}r+=(o>0?" ":"")+c}return r}},73344:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(47548),t)},9522:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccordionServiceFactory=t.AccordionService=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importDefault(e(46343)),c=e(76003),p=e(41869),v=e(81878),m=e(71707),_=e(95416),s=e(93899),f=e(68969),a=e(28423),h=e(17793);let u=class extends p.WithEventBus{get views(){return this.viewsObservable.get()}get state(){return this.stateObservable.get()}constructor(E,g){super(),this.containerId=E,this.noRestore=g,this.forceRevealContextKeys=new Map,this.viewWhenContextkeys=new Set,this.appendedViewSet=new Set,this.viewsWithContextKey=new Set,this.viewsObservable=(0,a.observableValue)(this,[]),this.stateObservable=(0,a.observableValue)(this,{}),this.visibleViews=(0,a.derived)(this,l=>{const y=this.viewsObservable.read(l);return this.stateObservable.read(l),y.filter(b=>!this.getViewState(b.id).hidden)}),this.rendered=!1,this.menuId=`${s.MenuId.AccordionContext}/${this.containerId}`,this.toDispose=new Map,this.didChangeViewTitleEmitter=this.registerDispose(new p.Emitter),this.onDidChangeViewTitle=this.didChangeViewTitleEmitter.event,this.beforeAppendViewEmitter=this.registerDispose(new p.Emitter),this.onBeforeAppendViewEvent=this.beforeAppendViewEmitter.event,this.afterAppendViewEmitter=this.registerDispose(new p.Emitter),this.onAfterAppendViewEvent=this.afterAppendViewEmitter.event,this.afterDisposeViewEmitter=this.registerDispose(new p.Emitter),this.onAfterDisposeViewEvent=this.afterDisposeViewEmitter.event,this.doUpdateResize=(0,r.default)(()=>{var l,y;let b;if(Object.keys(this.state).forEach(S=>{this.state[S].hidden||this.state[S].collapsed||(b?(this.state[S].size||0)>(this.state[b].size||0)&&(b=S):b=S)}),b&&this.splitPanelService.isVisible&&this.expandedViews.length>1&&!((l=this.splitPanelService.rootNode)===null||l===void 0)&&l.clientHeight){const S=((y=this.splitPanelService.rootNode)===null||y===void 0?void 0:y.clientHeight)-this.getPanelFullHeight();if(S){const A=this.state;A[b].size+=S,(0,a.transaction)(w=>{this.stateObservable.set({...A},w)}),this.toggleOpen(b,!1)}}},16),this.storeState=()=>{this.noRestore||!this.rendered||this.layoutState.setState(_.LAYOUT_STATE.getContainerSpace(this.containerId),this.state)},this.handleSectionClick=(l,y,b)=>{this.doToggleOpen(l,y,b)},this.handleContextMenu=(l,y)=>{l.preventDefault();const b=this.ctxMenuService.createMenu({id:this.menuId,config:{args:[{viewId:y}]},contextKeyService:y?this.viewContextKeyRegistry.getContextKeyService(y):void 0}),S=b.getGroupedMenuNodes();b.dispose(),this.contextMenuRenderer.show({menuNodes:S[1],anchor:{x:l.clientX,y:l.clientY}})},this.addDispose((0,a.recomputeInitiallyAndOnChange)(this.visibleViews)),this.splitPanelService=this.splitPanelManager.getService(E),this.addDispose(this.splitPanelService),this.scopedCtxKeyService=this.contextKeyService.createScoped(),this.scopedCtxKeyService.createKey("triggerWithSection",!0),this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerGlobalToggleCommand(),label:(0,p.localize)("layout.view.hide","Hide")},group:"0_global",when:"triggerWithSection == true"}),this.viewContextKeyRegistry.afterContextKeyServiceRegistered(this.containerId,l=>{this.topViewKey=l.createKey("view",E),setTimeout(()=>{this.popViewKeyIfOnlyOneViewVisible()})}),this.addDispose(p.Event.debounce(this.contextKeyService.onDidChangeContext,(l,y)=>l||y.payload.affectsSome(this.viewWhenContextkeys),50)(l=>l&&this.handleContextKeyChange(),this)),this.splitPanelService.whenReady.then(()=>{this.listenWindowResize()})}updateViewTitle(E,g){const l=this.views.find(y=>y.id===E);l?(l.name=g,this.didChangeViewTitleEmitter.fire({id:E,title:g})):this.logger.error(`No target view \`${E}\` found, unable to update accordion title`)}updateViewDesciption(E,g){const l=this.views.find(y=>y.id===E);l?(l.description=g,this.didChangeViewTitleEmitter.fire({id:E,description:g})):this.logger.error(`No target view \`${E}\` found, unable to update accordion description`)}updateViewMessage(E,g){const l=this.views.find(y=>y.id===E);l?(l.message=g,this.didChangeViewTitleEmitter.fire({id:E,message:g})):this.logger.error(`No target view \`${E}\` found, unable to update accordion message`)}updateViewBadge(E,g){const l=this.views.find(y=>y.id===E);l?(l.badge=g,this.didChangeViewTitleEmitter.fire({id:E,badge:g})):this.logger.error(`No target view \`${E}\` found, unable to update accordion message`)}tryUpdateResize(){this.doUpdateResize()}restoreState(){if(this.noRestore)return;const E={};this.visibleViews.get().forEach(l=>E[l.id]={collapsed:!1,hidden:!1});const g=this.layoutState.getState(_.LAYOUT_STATE.getContainerSpace(this.containerId),E);(0,o.default)(g,E)||(0,a.transaction)(l=>{this.stateObservable.set({...g},l)}),this.popViewKeyIfOnlyOneViewVisible(),this.splitPanelService.whenReady.then(()=>{this.restoreSize(),this.rendered=!0})}restoreSize(){var E;let g=((E=this.splitPanelService.rootNode)===null||E===void 0?void 0:E.clientHeight)||0,l;if(this.visibleViews.get().forEach((y,b)=>{const S=this.state[y.id];S.collapsed?(this.setSize(b,0,!1,!0),g-=this.headerSize):!S.collapsed&&S.size&&(this.setSize(b,S.size,!1,!0),g-=S.size,l=b)}),l){const y=this.visibleViews.get()[l];this.setSize(l,this.state[y.id].size+g)}}initConfig(E){const{headerSize:g,minSize:l}=E;this.headerSize=g,this.minSize=l}registerContextService(E){let g=this.viewContextKeyRegistry.getContextKeyService(E);return g||(g=this.contextKeyService.createScoped(),g.createKey("view",E),this.viewContextKeyRegistry.registerContextKeyService(E,g)),g}getSectionToolbarMenu(E){const g=this.registerContextService(E),l=this.menuService.createMenu(s.MenuId.ViewTitle,g),y=this.views.find(b=>b.id===E);return y&&(y.titleMenu=l),l}updateView(E){(0,a.transaction)(g=>{const l=this.views;if(E.priority){const y=l.findIndex(b=>(b.priority||0)<(E.priority||0));l.splice(y===-1?l.length:y,0,E),this.viewsObservable.set([...l],g)}else this.viewsObservable.set([...l,E],g)})}appendView(E,g){if(this.appendedViewSet.has(E.id)&&!g)return;const l=new p.DisposableCollection;l.push(this.progressService.registerProgressIndicator(E.id));const y=this.views.findIndex(b=>b.id===E.id);if(y!==-1){(0,a.transaction)(b=>{const S=this.views;S[y]=Object.assign({},S[y],E),this.viewsObservable.set([...S],b)});return}if(E.when){this.viewsWithContextKey.add(E);const b=this.createRevealContextKey(E.id);if(this.fillKeysInWhenExpr(this.viewWhenContextkeys,E.when),!this.contextKeyService.match(E.when)&&!this.contextKeyService.match(b))return;this.appendedViewSet.add(E.id)}this.beforeAppendViewEmitter.fire(E.id),this.updateView(E),this.registerContextService(E.id),l.push(this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerVisibleToggleCommand(E.id,l),label:(E.name||E.id).toUpperCase()},group:"1_widgets"})),this.toDispose.set(E.id,l),this.popViewKeyIfOnlyOneViewVisible(),this.afterAppendViewEmitter.fire(E.id)}disposeView(E){const g=this.views.findIndex(y=>y.id===E);g>-1&&(0,a.transaction)(y=>{const b=this.views;b.splice(g,1),this.viewsObservable.set([...b],y)});const l=this.toDispose.get(E);l&&l.dispose(),this.appendedViewSet.delete(E),this.popViewKeyIfOnlyOneViewVisible(),this.afterDisposeViewEmitter.fire(E)}revealView(E){const g=this.forceRevealContextKeys.get(E);g&&g.key.set(!0)}disposeAll(){(0,a.transaction)(E=>{this.viewsObservable.set([],E)}),this.toDispose.forEach(E=>{E.dispose()})}onResize(E){if(E.payload.slotLocation&&this.state[E.payload.slotLocation]){const g=E.payload.slotLocation;p.fastdom.measureAtNextFrame(()=>{const l=document.getElementById(g);if(l){const y=this.state;y[g].size=l.clientHeight,(0,a.transaction)(b=>{this.stateObservable.set({...y},b)}),this.storeState()}})}}getPanelFullHeight(E){return Object.keys(this.state).filter(g=>this.views.find(l=>l.id===g)&&g!==E).reduce((g,l)=>g+(this.state[l].collapsed?this.headerSize:this.state[l].hidden?0:this.state[l].size),0)}listenWindowResize(){window.addEventListener("resize",this.doUpdateResize),this.addDispose({dispose:()=>window.removeEventListener("resize",this.doUpdateResize)})}createRevealContextKey(E){const g=`forceShow.${E}`;return this.forceRevealContextKeys.set(E,{when:`${g} == true`,key:this.contextKeyService.createKey(g,!1)}),this.viewWhenContextkeys.add(g),`${g} == true`}registerGlobalToggleCommand(){const E=`view-container.hide.${this.containerId}`;return this.commandRegistry.registerCommand({id:E},{execute:({viewId:g})=>{this.doToggleView(g)},isEnabled:()=>this.visibleViews.get().length>1}),E}registerVisibleToggleCommand(E,g){const l=`view-container.hide.${E}`;return g.push(this.commandRegistry.registerCommand({id:l},{execute:({forceShow:y}={})=>{this.doToggleView(E,y)},isToggled:()=>!this.getViewState(E).hidden,isEnabled:()=>this.getViewState(E).hidden||this.visibleViews.get().length>1})),l}doToggleView(E,g){const l=this.getViewState(E);let y;g===void 0?y=!l.hidden:y=!g,l.hidden=y,this.updateViewState(E,l),this.popViewKeyIfOnlyOneViewVisible(),this.storeState()}popViewKeyIfOnlyOneViewVisible(){if(!this.topViewKey)return;const E=this.visibleViews.get();E.length===1?this.topViewKey.set(E[0].id):this.topViewKey.reset()}toggleViewVisibility(E,g){this.doToggleView(E,g)}get expandedViews(){return this.views.filter(E=>{const g=this.state[E.id];return!g||g&&!g.hidden&&!g.collapsed})}toggleOpen(E,g){const l=this.visibleViews.get().findIndex(y=>y.id===E);l>-1&&this.doToggleOpen(E,g,l,!0)}getViewState(E){let g=this.state[E];const l=this.views.find(y=>y.id===E);return g||(this.updateViewState(E,{collapsed:l?.collapsed||!1,hidden:l?.hidden||!1}),g=this.state[E]),g}updateViewState(E,g){const l=this.state;l[E]=g,(0,a.transaction)(y=>{this.stateObservable.set({...l},y)})}doToggleOpen(E,g,l,y){var b;const S=this.getViewState(E);this.updateViewState(E,{...S,collapsed:g});const A=this.mainLayoutService.getContainer(this.containerId);if(((b=A?.options)===null||b===void 0?void 0:b.alignment)!=="horizontal"){let w;g?w=this.setSize(l,0,!1,y):w=this.setSize(l,this.expandedViews.length===1?this.getAvailableSize():S.size||this.minSize,!1,y);for(let T=this.visibleViews.get().length-1;T>l;T--)this.getViewState(this.visibleViews.get()[T].id).collapsed!==!0?w=this.setSize(T,w,!0,y):this.setSize(T,0,!1,y);for(let T=l-1;T>=0;T--)(this.state[this.visibleViews.get()[T].id]||{}).collapsed!==!0?w=this.setSize(T,w,!0,y):this.setSize(T,0,!1,y)}this.eventBus.fire(new h.ViewCollapseChangedEvent({viewId:E,collapsed:g}))}setSize(E,g,l,y){var b;const S=this.visibleViews.get()[E],A=(b=this.splitPanelService.rootNode)===null||b===void 0?void 0:b.clientHeight,w=this.splitPanelService.panels[E];if(!w)return 0;y||w.classList.add("resize-ease"),!g&&!l?(g=this.headerSize,w.classList.add(v.RESIZE_LOCK)):w.classList.remove(v.RESIZE_LOCK);const T=w.clientHeight,D=this.getViewState(S.id);let I=g;if(l&&(I=Math.max(T-g,this.minSize)),E===this.expandedViews.length-1&&(0,p.isDefined)(A))if(I+E*this.minSize>A)I-=I+E*this.minSize-A;else{const O=this.getPanelFullHeight(S.id);I+O<A&&(I+=A-(I+O))}if(this.rendered){let O;g===this.headerSize?O=T:O=I,O!==this.headerSize&&(D.size=O)}return this.storeState(),D.nextSize=I,y||setTimeout(()=>{w.classList.remove("resize-ease")},200),l?I-(T-g):g-T}getAvailableSize(){var E;const g=(E=this.splitPanelService.rootNode)===null||E===void 0?void 0:E.clientHeight;return g?g-(this.visibleViews.get().length-1)*this.headerSize:0}handleContextKeyChange(){Array.from(this.viewsWithContextKey.values()).forEach(E=>{this.contextKeyService.match(E.when)||this.contextKeyService.match(this.forceRevealContextKeys.get(E.id).when)?this.appendView(E):this.disposeView(E.id)})}fillKeysInWhenExpr(E,g){this.contextKeyService.getKeysInWhen(g).forEach(y=>{E.add(y)})}};t.AccordionService=u,n.__decorate([(0,c.Autowired)(),n.__metadata("design:type",m.SplitPanelManager)],u.prototype,"splitPanelManager",void 0),n.__decorate([(0,c.Autowired)(s.AbstractMenuService),n.__metadata("design:type",s.AbstractMenuService)],u.prototype,"menuService",void 0),n.__decorate([(0,c.Autowired)(s.AbstractContextMenuService),n.__metadata("design:type",s.AbstractContextMenuService)],u.prototype,"ctxMenuService",void 0),n.__decorate([(0,c.Autowired)(s.IMenuRegistry),n.__metadata("design:type",s.IMenuRegistry)],u.prototype,"menuRegistry",void 0),n.__decorate([(0,c.Autowired)(p.CommandRegistry),n.__metadata("design:type",Object)],u.prototype,"commandRegistry",void 0),n.__decorate([(0,c.Autowired)(s.ICtxMenuRenderer),n.__metadata("design:type",s.ICtxMenuRenderer)],u.prototype,"contextMenuRenderer",void 0),n.__decorate([(0,c.Autowired)(),n.__metadata("design:type",p.ViewContextKeyRegistry)],u.prototype,"viewContextKeyRegistry",void 0),n.__decorate([(0,c.Autowired)(h.IMainLayoutService),n.__metadata("design:type",Object)],u.prototype,"mainLayoutService",void 0),n.__decorate([(0,c.Autowired)(p.IContextKeyService),n.__metadata("design:type",Object)],u.prototype,"contextKeyService",void 0),n.__decorate([(0,c.Autowired)(_.LayoutState),n.__metadata("design:type",_.LayoutState)],u.prototype,"layoutState",void 0),n.__decorate([(0,c.Autowired)(f.IProgressService),n.__metadata("design:type",Object)],u.prototype,"progressService",void 0),n.__decorate([(0,c.Autowired)(p.ILogger),n.__metadata("design:type",Object)],u.prototype,"logger",void 0),n.__decorate([(0,p.OnEvent)(p.ResizeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.ResizeEvent]),n.__metadata("design:returntype",void 0)],u.prototype,"onResize",null),t.AccordionService=u=n.__decorate([(0,c.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Boolean])],u),t.AccordionServiceFactory=Symbol("AccordionServiceFactory")},70936:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Panel=t.AccordionContainer=void 0;const r=e(85608).__importStar(e(14041)),o=e(41869),c=e(81878),p=e(1149),v=e(43718),m=e(9522),_=e(95867),s=({alignment:a="vertical",views:h,containerId:u,headerSize:d=24,minSize:E=120,className:g,noRestore:l,style:y})=>{const b=(0,o.useInjectable)(p.LayoutViewSizeConfig),S=(0,o.useInjectable)(m.AccordionServiceFactory)(u,l),A=(0,o.useAutorun)(S.visibleViews);(0,o.useAutorun)(S.stateObservable);const w=(0,r.useMemo)(()=>d||b.accordionHeaderSizeHeight,[d]);return r.default.useEffect(()=>{if(h.length)for(const T of h)S.appendView(T)},[h]),r.default.useEffect(()=>{S.initConfig({headerSize:w,minSize:E})},[]),r.default.createElement(c.SplitPanel,{className:g,style:y,headerSize:d,dynamicTarget:!0,id:u,resizeKeep:!1,direction:a==="horizontal"?"left-to-right":"top-to-bottom"},A.map((T,D)=>{const I=S.getViewState(T.id),O=T.titleMenu||S.getSectionToolbarMenu(T.id),{collapsed:M,nextSize:R}=I;return r.default.createElement(_.AccordionSection,{noHeader:A.length===1,onItemClick:()=>{S.handleSectionClick(T.id,!M,D)},onContextMenuHandler:S.handleContextMenu,alignment:a,header:T.name&&(0,v.replaceLocalizePlaceholder)(T.name)||T.id,viewId:T.id,key:T.id,message:T.message,description:T.description,badge:T.badge,title:T.name,expanded:!M,accordionService:S,index:D,headerSize:d,minSize:d,initialProps:T.initialProps,titleMenu:O,titleMenuContext:T.titleMenuContext,savedSize:M?d:R,flex:T.weight||1},T.component)}))};t.AccordionContainer=s,t.AccordionContainer.displayName="AccordionContainer";const f=({children:a})=>r.default.createElement("div",null,a);t.Panel=f,t.Panel.displayName="Panel"},95867:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccordionSection=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),c=e(41869),p=e(25918),v=e(93899),m=e(68969),_=e(68974),s=e(69589),f=e(52416),a=n.__importDefault(e(81388)),h={tabIndex:0},u=({header:d,description:E,message:g,headerClass:l,onItemClick:y,noHeader:b,children:S,badge:A,headerSize:w,viewId:T,initialProps:D,titleMenu:I,titleMenuContext:O,expanded:M,accordionService:R,onContextMenuHandler:P,alignment:k})=>{const F=(0,c.useInjectable)(f.IIconService),L=(0,c.useDesignStyles)(a.default.actions_wrap,"actions_wrap"),B=(0,c.useDesignStyles)(a.default.kt_split_panel,"kt_split_panel"),j=(0,c.useDesignStyles)(a.default.kt_split_panel_header,"kt_split_panel_header"),W=(0,c.useDesignStyles)(a.default.kt_split_panel_body,"kt_split_panel_body"),U=(0,c.useDesignStyles)(a.default.section_badge,"section_badge"),X=o.default.useRef(null),[V,$]=o.default.useState({header:d,description:E,message:g,badge:A});o.default.useEffect(()=>{const ne=R.onDidChangeViewTitle(({id:he,title:_e,description:q,message:Re,badge:ve})=>{let ie=!1;const fe={...V};T===he&&_e&&_e!==V.header&&(fe.header=_e,ie=!0),T===he&&ve!==V.badge&&(fe.badge=ve,ie=!0),T===he&&q&&q!==V.description&&(fe.description=q,ie=!0),T===he&&Re&&Re!==V.message&&(fe.message=Re,ie=!0),ie&&$(fe)});return()=>{ne.dispose()}},[]);const Y=o.default.useCallback(()=>{y()},[y]),G=o.default.useMemo(()=>({overflow:M?"auto":"hidden"}),[M]),H=(0,c.useViewState)(T,X,!0),Z=(0,c.useInjectable)(m.IProgressService).getIndicator(T),Q=S,oe=o.default.useMemo(()=>M?`${w}px`:k==="horizontal"?"100%":`${w}px`,[M,w,k]);return o.default.createElement("div",{className:B,"data-view-id":T,draggable:!1},!b&&o.default.createElement("div",{...h,className:(0,r.default)(j,l),onClick:Y,onContextMenu:ne=>P(ne,T),style:{height:oe,lineHeight:oe}},o.default.createElement("div",{className:a.default.label_wrap},o.default.createElement("i",{className:(0,r.default)((0,c.getIcon)("arrow-down"),a.default.arrow_icon,M?"":a.default.kt_mod_collapsed)}),o.default.createElement("div",{className:a.default.section_label,style:{lineHeight:w+"px"}},V.header),V.description&&o.default.createElement("div",{className:a.default.section_description,style:{lineHeight:w+"px"}},typeof V.description=="string"?(0,s.transformLabelWithCodicon)(V.description,{},F.fromString.bind(F)):V.description),V.badge&&o.default.createElement("div",{className:U},typeof V.badge=="string"?V.badge:V.badge.value)),M&&I&&o.default.createElement("div",{className:L},(0,v.isIMenu)(I)?o.default.createElement(p.InlineActionBar,{menus:I,context:O}):o.default.createElement(p.InlineMenuBar,{menus:I,context:O}))),o.default.createElement("div",{className:(0,r.default)([W,{[a.default.hide]:!M}]),style:G,ref:X},o.default.createElement(_.ProgressBar,{className:a.default.progressBar,progressModel:Z.progressModel}),o.default.createElement(c.ErrorBoundary,null,V.message&&o.default.createElement("div",{className:a.default.kt_split_panel_message},V.message),o.default.createElement(Q,{...D,viewState:{height:H.height-(V.message?22:0),width:H.width}}))))};t.AccordionSection=u},91527:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TitleBar=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),c=e(752),p=n.__importDefault(e(81388));t.TitleBar=r.default.memo(v=>{const m=(0,o.useDesignStyles)(p.default.titlebar,"titlebar"),_=(0,o.useInjectable)(c.TabbarServiceFactory)(v.side),s=r.default.useCallback(a=>{v.containerId&&v.side&&_.handleDragStart(a,v.containerId)},[v.containerId,v.side,_]),f=r.default.useCallback(a=>{_.handleDragEnd(a)},[_]);return r.default.createElement("div",{className:m,style:{height:v.height}},!v.draggable&&r.default.createElement("h1",null,v.title),!!v.draggable&&r.default.createElement("h1",{draggable:!0,style:{cursor:"pointer"},onDragStart:s,onDragEnd:f},v.title),v.menubar||null)}),t.TitleBar.displayName="TitleBar"},25072:(x,t,e)=>{"use strict";var n;n={value:!0},t.s=void 0;const r=e(41869),o=e(17793);t.s={[r.SlotLocation.top]:{modules:["@opensumi/ide-menu-bar"]},[r.SlotLocation.action]:{modules:["@opensumi/ide-toolbar-action"]},[r.SlotLocation.left]:{modules:["@opensumi/ide-explorer","@opensumi/ide-search","@opensumi/ide-scm","@opensumi/ide-extension-manager","@opensumi/ide-debug","@opensumi/ide-notebook"]},[r.SlotLocation.right]:{modules:[o.DROP_RIGHT_CONTAINER]},[r.SlotLocation.main]:{modules:["@opensumi/ide-editor"]},[r.SlotLocation.bottom]:{modules:[o.DROP_BOTTOM_CONTAINER,"@opensumi/ide-terminal-next","@opensumi/ide-output","debug-console","@opensumi/ide-markers"]},[r.SlotLocation.statusBar]:{modules:["@opensumi/ide-status-bar"]},[r.SlotLocation.extra]:{modules:["breadcrumb-menu"]}}},45395:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BottomDropArea=t.RightDropArea=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),c=e(17793),p=n.__importDefault(e(36623)),v=s=>{const{location:f}=s,a=(0,o.useInjectable)(c.IMainLayoutService),h=r.default.useCallback(u=>{var d;const E=(d=u.dataTransfer)===null||d===void 0?void 0:d.getData("containerId");a.moveContainerTo(E,f)},[a,f]);return r.default.createElement("div",{className:p.default.drop_area,onDrop:h,onDragOver:u=>{u.preventDefault()}},(0,o.localize)("main-layout.drop-area.tip"))},m=()=>r.default.createElement(v,{location:"right"});t.RightDropArea=m;const _=()=>r.default.createElement(v,{location:"bottom"});t.BottomDropArea=_},7480:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainLayoutModule=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(17793),p=e(9522),v=e(22537),m=e(53576),_=e(752),s=e(58296);let f=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[m.MainLayoutModuleContribution,{token:c.IMainLayoutService,useClass:v.LayoutService},{token:c.IViewsRegistry,useClass:s.ViewsRegistry},{token:_.TabbarServiceFactory,useFactory:_.TabbarServiceFactoryFn},{token:p.AccordionServiceFactory,useFactory:h=>(u,d)=>h.get(c.IMainLayoutService).getAccordionService(u,d)}],this.contributionProvider=c.MainLayoutContribution}};t.MainLayoutModule=f,t.MainLayoutModule=f=n.__decorate([(0,r.Injectable)()],f)},5567:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AutoFocusedInput=void 0;const r=e(85608).__importStar(e(14041)),o=e(97267),c=e(48560),p=e(17793),v=({containerId:m,..._})=>{const s=(0,c.useInjectable)(p.IMainLayoutService),f=(0,r.useRef)(null),a=r.default.useCallback(()=>{f&&f.current&&queueMicrotask(()=>{var h;return(h=f.current)===null||h===void 0?void 0:h.focus()})},[f.current]);return(0,r.useEffect)(()=>{a();const h=s.getTabbarHandler(m),u=h?.onActivate(a);return()=>{u?.dispose()}},[s]),r.default.createElement(o.Input,{ref:f,..._})};t.AutoFocusedInput=v},22537:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LayoutService=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),c=e(41869),p=e(81878),v=e(95416),m=e(93899),_=e(43718),s=e(52416),f=e(17793),a=e(9522),h=e(752),u=e(58999),d={[c.SlotLocation.left]:{currentId:void 0,size:void 0},[c.SlotLocation.right]:{currentId:"",size:void 0},[c.SlotLocation.bottom]:{currentId:void 0,size:void 0}};let E=class extends c.WithEventBus{constructor(){super(...arguments),this.handleMap=new Map,this.tabbarServices=new Map,this.accordionServices=new Map,this.pendingViewsMap=new Map,this.viewToContainerMap=new Map,this.disposableMap=new Map,this.state={},this.customViews=new Map,this.debug=(0,_.getDebugLogger)(),this.viewReady=new _.Deferred,this.restoreTabbarService=async l=>{var y;this.state=(0,p.fixLayout)(this.layoutState.getState(v.LAYOUT_STATE.MAIN,d));const{currentId:b,size:S}=this.state[l.location]||{};l.prevSize=S;let A=l.visibleContainers[0]&&l.visibleContainers[0].options.containerId;const w=this.appConfig.defaultPanels,T=w&&w[l.location];if(w&&T!==void 0)if(T)if(l.containersMap.has(T))A=T;else{const D=this.componentRegistry.getComponentRegistryInfo(T);D&&(!((y=this.appConfig.layoutConfig[l.location])===null||y===void 0)&&y.modules)&&~this.appConfig.layoutConfig[l.location].modules.indexOf(T)?A=D.options.containerId:this.logger.warn(`[defaultPanels] No \`${T}\` view found!`)}else A="";(0,_.isUndefined)(b)?(0,_.isUndefined)(A)?l.updateNextContainerId():l.updateCurrentContainerId(A):b&&!this.isDropContainer(b)?l.containersMap.has(b)?l.updateCurrentContainerId(b):this.findTabbarServiceByContainerId(b)?(this.moveContainerTo(b,l.location),l.updateCurrentContainerId(b)):(l.updateCurrentContainerId(A),l.updateNextContainerId(b)):(b===""||this.isDropContainer(b))&&l.updateCurrentContainerId("")},this.holdTabbarComponent=new Map,this.tabbarUpdateSet=new Set}didMount(){for(const[y,b]of this.pendingViewsMap.entries())b.forEach(({view:S,props:A})=>{this.collectViewComponent(S,y,A)});for(const y of this.contributions.getContributions())y.onDidRender&&y.onDidRender();const l=[];this.tabbarServices.forEach(y=>{c.slotRendererRegistry.isTabbar(y.location)&&y.containersMap.size>0&&l.push(y.viewReady.promise)}),Promise.all(l).then(()=>{this.viewReady.resolve()})}storeState(l,y){this.state[l.location]={currentId:y,size:l.prevSize},this.layoutState.setState(v.LAYOUT_STATE.MAIN,this.state)}onThemeChange(l){var y,b,S,A,w;const T=l.payload.theme;localStorage.setItem("theme",JSON.stringify({menuBarBackground:(y=T.getColor("kt.menubar.background"))===null||y===void 0?void 0:y.toString(),sideBarBackground:(b=T.getColor("sideBar.background"))===null||b===void 0?void 0:b.toString(),editorBackground:(S=T.getColor("editor.background"))===null||S===void 0?void 0:S.toString(),panelBackground:(A=T.getColor("panel.background"))===null||A===void 0?void 0:A.toString(),statusBarBackground:(w=T.getColor("statusBar.background"))===null||w===void 0?void 0:w.toString()}))}findTabbarServiceByContainerId(l){let y;for(const b of this.tabbarServices.values())if(b.containersMap.has(l)){y=b;break}return y}moveContainerTo(l,y){var b;const S=this.findTabbarServiceByContainerId(l);if(!S){this.logger.error(`cannot find container: ${l}`);return}const A=S.getContainer(l);if(!A){this.logger.error(`cannot find container: ${l}`);return}if(!(!((b=A.options)===null||b===void 0)&&b.draggable)){this.logger.warn(`container: ${l} is not draggable`);return}const w=this.getTabbarService(y);S.removeContainer(l),(!S.visibleContainers.length||S.currentContainerId.get()===l)&&this.toggleSlot(S.location,!1),w.dynamicAddContainer(l,A);const T=this.injector.get(u.TabBarHandler,[l,this.getTabbarService(w.location)]);this.handleMap.set(l,T)}showDropAreaForContainer(l){const y=this.findTabbarServiceByContainerId(l),b=this.tabbarServices.get("bottom"),S=this.tabbarServices.get("right");if(!y){this.logger.error(`cannot find container: ${l}`);return}y?.location==="right"&&b?.updateCurrentContainerId(f.DROP_BOTTOM_CONTAINER),y?.location==="bottom"&&S?.updateCurrentContainerId(f.DROP_RIGHT_CONTAINER)}hideDropArea(){const l=this.tabbarServices.get("bottom"),y=this.tabbarServices.get("right");l?.currentContainerId.get()===f.DROP_BOTTOM_CONTAINER&&l.updateCurrentContainerId(l.previousContainerId||""),y?.currentContainerId.get()===f.DROP_RIGHT_CONTAINER&&y.updateCurrentContainerId(y.previousContainerId||"")}isVisible(l){return!!this.getTabbarService(l).currentContainerId.get()}isViewVisible(l){const y=this.getTabbarHandler(l);if(!y||!y.isActivated())return!1;const b=y.accordionService.getViewState(l);return!b.collapsed&&!b.hidden}toggleSlot(l,y,b){var S;const A=this.getTabbarService(l);if(!A){this.debug.error(`Unable to switch panels because no TabbarService corresponding to \`${l}\` was found.`);return}y===!0?A.updateCurrentContainerId(this.findNonDropContainerId(A)):y===!1?A.updateCurrentContainerId(""):A.updateCurrentContainerId(A.currentContainerId.get()?"":this.findNonDropContainerId(A)),A.currentContainerId.get()&&b&&((S=A.resizeHandle)===null||S===void 0||S.setSize(b))}isDropContainer(l){return[f.DROP_BOTTOM_CONTAINER,f.DROP_RIGHT_CONTAINER].includes(l)}findNonDropContainerId(l){const y=l.currentContainerId.get();if(y&&!this.isDropContainer(y))return y;if(l.previousContainerId&&!this.isDropContainer(l.previousContainerId))return l.previousContainerId;for(const b of l.containersMap.keys())if(!this.isDropContainer(b))return b;return""}getTabbarService(l){const y=this.tabbarServices.get(l)||this.injector.get(h.TabbarService,[l]);if(!this.tabbarServices.get(l)){y.addDispose(y.onCurrentChange(({currentId:S})=>{if(this.storeState(y,S),this.eventBus.fire(new c.ExtensionActivateEvent({topic:"onView",data:S})),S&&f.SUPPORT_ACCORDION_LOCATION.has(y.location)){const A=this.getAccordionService(S);A?.tryUpdateResize(),A?.expandedViews.forEach(w=>{this.eventBus.fire(new c.ExtensionActivateEvent({topic:"onView",data:w.id}))})}})),y.viewReady.promise.then(()=>y.restoreState()).then(()=>this.restoreTabbarService(y)).catch(S=>{this.logger.error(`[TabbarService:${l}] restore state error`,S)});const b=(0,r.default)(()=>this.storeState(y,y.currentContainerId.get()),100);if(y.addDispose(y.onSizeChange(b)),l===c.SlotLocation.bottom){const S=(0,r.default)(()=>void this.bottomExpanded,100);y.addDispose(y.onSizeChange(()=>S))}this.tabbarServices.set(l,y)}return y}getAllAccordionService(){return this.accordionServices}getAccordionService(l,y){let b=this.accordionServices.get(l);return b||(b=this.injector.get(a.AccordionService,[l,y]),this.accordionServices.set(l,b)),b}getTabbarHandler(l){let y=this.doGetTabbarHandler(l);if(!y){const b=this.viewToContainerMap.get(l);b?y=this.doGetTabbarHandler(b||""):this.debug.warn(`${l} view tabbar not found.`)}return y}getContainer(l){for(const y of this.tabbarServices.values()){const b=y.getContainer(l);if(b)return b}}getExtraTopMenu(){return this.contextmenuService.createMenu({id:m.MenuId.ActivityBarTopExtra})}getExtraMenu(){return this.contextmenuService.createMenu({id:m.MenuId.ActivityBarExtra})}doGetTabbarHandler(l){let y=this.handleMap.get(l);if(!y){let b;for(const S of this.tabbarServices.values())if(S.getContainer(l)){b=S.location;break}b&&(y=this.injector.get(u.TabBarHandler,[l,this.getTabbarService(b)]),this.handleMap.set(l,y))}return y}collectTabbarComponent(l,y,b,S){if(S&&this.debug.warn("collectTabbarComponent api warning: Please move react component into options.component!"),y.hideIfEmpty&&!l.length&&!y.component){this.holdTabbarComponent.set(y.containerId,{views:l,options:y,side:b}),this.tabbarUpdateSet.has(y.containerId)&&this.tryUpdateTabbar(y.containerId);const w=this.getAccordionService(y.containerId);return w.addDispose(w.onBeforeAppendViewEvent(()=>{this.tryUpdateTabbar(y.containerId)})),w.addDispose(w.onAfterDisposeViewEvent(()=>{w.views.length===0&&(this.disposeContainer(y.containerId),this.holdTabbarComponent.set(y.containerId,{views:l,options:y,side:b}))})),y.containerId}return this.getTabbarService(b).registerContainer(y.containerId,{views:l,options:y}),l.forEach(w=>{this.viewToContainerMap.set(w.id,y.containerId)}),y.containerId}getViewAccordionService(l){const y=this.viewToContainerMap.get(l);if(y)return this.getAccordionService(y)}collectViewComponent(l,y,b={},S){this.customViews.set(l.id,l),this.viewToContainerMap.set(l.id,y);const A=this.getAccordionService(y);return b&&(l.initialProps=b),A.appendView(l,S?.isReplace),A.views.length===1&&(this.tabbarUpdateSet.add(y),this.tryUpdateTabbar(y)),S?.fromExtension&&this.disposableMap.set(l.id,this.commandRegistry.registerCommand({id:`${l.id}.focus`},{execute:async()=>(await this.ensureViewReady(l.id),this.commandService.executeCommand(`workbench.view.extension.${y}`,{forceShow:!0}))})),y}ensureViewReady(l){const y=this.viewToContainerMap.get(l),b=new _.Deferred,S=this.getAccordionService(y);return S.visibleViews.get().find(A=>A.id===l)?b.resolve():S.addDispose(S.onAfterAppendViewEvent(A=>{A===l&&b.resolve()})),b.promise}tryUpdateTabbar(l){const y=this.holdTabbarComponent.get(l);y&&(this.getTabbarService(y.side).registerContainer(l,{views:y.views,options:y.options}),this.tabbarUpdateSet.delete(l),this.holdTabbarComponent.delete(l))}replaceViewComponent(l,y){const b=this.viewToContainerMap.get(l.id);if(!b){this.debug.warn(`The container corresponding to \`${l.id}\` was not found, please check the incoming parameters!`);return}const S=this.customViews.get(l.id);S&&(l=Object.assign(S,l)),this.collectViewComponent(l,b,y,{isReplace:!0})}disposeViewComponent(l){const y=this.disposableMap.get(l);y&&y.dispose();const b=this.viewToContainerMap.get(l);if(!b){this.debug.warn(`The container corresponding to \`${l}\` was not found, please check the incoming parameters!`);return}this.getAccordionService(b).disposeView(l)}revealView(l){const y=this.viewToContainerMap.get(l);if(!y){this.debug.warn(`The container corresponding to \`${l}\` was not found, please check the incoming parameters!`);return}this.getAccordionService(y).revealView(l)}disposeContainer(l){let y;for(const b of this.tabbarServices.values())if(b.getContainer(l)){y=b.location;break}y?this.getTabbarService(y).disposeContainer(l):this.debug.warn(`The Tabbar to the \`${l}\` was not found.`)}expandBottom(l){const y=this.getTabbarService(c.SlotLocation.bottom);y.currentContainerId.get()||y.updateCurrentContainerId(y.currentContainerId.get()||y.previousContainerId||y.containersMap.keys().next().value),y.doExpand(l),this.contextKeyService.createKey("bottomFullExpanded",y.isExpanded)}get bottomExpanded(){const l=this.getTabbarService(c.SlotLocation.bottom);return this.contextKeyService.createKey("bottomFullExpanded",l.isExpanded),l.isExpanded}};t.LayoutService=E,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(f.MainLayoutContribution),n.__metadata("design:type",Object)],E.prototype,"contributions",void 0),n.__decorate([(0,o.Autowired)(m.IMenuRegistry),n.__metadata("design:type",m.IMenuRegistry)],E.prototype,"menus",void 0),n.__decorate([(0,o.Autowired)(c.CommandRegistry),n.__metadata("design:type",Object)],E.prototype,"commandRegistry",void 0),n.__decorate([(0,o.Autowired)(c.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",v.LayoutState)],E.prototype,"layoutState",void 0),n.__decorate([(0,o.Autowired)(c.AppConfig),n.__metadata("design:type",Object)],E.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(c.IContextKeyService),n.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),n.__decorate([(0,o.Autowired)(c.ComponentRegistry),n.__metadata("design:type",Object)],E.prototype,"componentRegistry",void 0),n.__decorate([(0,o.Autowired)(c.ILogger),n.__metadata("design:type",Object)],E.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(m.AbstractMenuService),n.__metadata("design:type",m.AbstractMenuService)],E.prototype,"menuService",void 0),n.__decorate([(0,o.Autowired)(m.AbstractContextMenuService),n.__metadata("design:type",m.AbstractContextMenuService)],E.prototype,"contextmenuService",void 0),n.__decorate([(0,c.OnEvent)(s.ThemeChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[s.ThemeChangedEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onThemeChange",null),t.LayoutService=E=n.__decorate([(0,o.Injectable)()],E)},53576:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainLayoutModuleContribution=t.RETRACT_BOTTOM_PANEL=t.EXPAND_BOTTOM_PANEL=t.IS_VISIBLE_RIGHT_PANEL_COMMAND=t.IS_VISIBLE_LEFT_PANEL_COMMAND=t.IS_VISIBLE_BOTTOM_PANEL_COMMAND=t.TOGGLE_BOTTOM_PANEL_COMMAND=t.SHOW_BOTTOM_PANEL_COMMAND=t.WORKBENCH_ACTION_CLOSEPANEL=t.HIDE_BOTTOM_PANEL_COMMAND=t.TOGGLE_RIGHT_PANEL_COMMAND=t.SHOW_RIGHT_PANEL_COMMAND=t.HIDE_RIGHT_PANEL_COMMAND=t.TOGGLE_LEFT_PANEL_COMMAND=t.SHOW_LEFT_PANEL_COMMAND=t.WORKBENCH_ACTION_CLOSESIDECAR=t.HIDE_LEFT_PANEL_COMMAND=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(30144),p=e(68456),v=e(95416),m=e(93899),_=e(43718),s=e(92323),f=e(17793),a=e(45395),h=e(68988),u=e(19951);t.HIDE_LEFT_PANEL_COMMAND={id:"main-layout.left-panel.hide",label:"%main-layout.left-panel.hide%"},t.WORKBENCH_ACTION_CLOSESIDECAR={id:"workbench.action.closeSidebar",label:"%main-layout.sidebar.hide%"},t.SHOW_LEFT_PANEL_COMMAND={id:"main-layout.left-panel.show",label:"%main-layout.left-panel.show%"},t.TOGGLE_LEFT_PANEL_COMMAND={id:"main-layout.left-panel.toggle",label:"%main-layout.left-panel.toggle%"},t.HIDE_RIGHT_PANEL_COMMAND={id:"main-layout.right-panel.hide",label:"%main-layout.right-panel.hide%"},t.SHOW_RIGHT_PANEL_COMMAND={id:"main-layout.right-panel.show",label:"%main-layout.right-panel.show%"},t.TOGGLE_RIGHT_PANEL_COMMAND={id:"main-layout.right-panel.toggle",label:"%main-layout.right-panel.toggle%"},t.HIDE_BOTTOM_PANEL_COMMAND={id:"main-layout.bottom-panel.hide",label:"%main-layout.bottom-panel.hide%"},t.WORKBENCH_ACTION_CLOSEPANEL={id:"workbench.action.closePanel",delegate:t.HIDE_BOTTOM_PANEL_COMMAND.id},t.SHOW_BOTTOM_PANEL_COMMAND={id:"main-layout.bottom-panel.show",label:"%main-layout.bottom-panel.show%"},t.TOGGLE_BOTTOM_PANEL_COMMAND={id:"main-layout.bottom-panel.toggle",iconClass:(0,o.getIcon)("minus"),label:"%layout.tabbar.toggle%"},t.IS_VISIBLE_BOTTOM_PANEL_COMMAND={id:"main-layout.bottom-panel.is-visible"},t.IS_VISIBLE_LEFT_PANEL_COMMAND={id:"main-layout.left-panel.is-visible"},t.IS_VISIBLE_RIGHT_PANEL_COMMAND={id:"main-layout.right-panel.is-visible"},t.EXPAND_BOTTOM_PANEL={id:"main-layout.bottom-panel.expand",label:"%layout.tabbar.expand%",iconClass:(0,o.getIcon)("expand")},t.RETRACT_BOTTOM_PANEL={id:"main-layout.bottom-panel.retract",label:"%layout.tabbar.retract%",iconClass:(0,o.getIcon)("shrink")};let d=class extends _.WithEventBus{async initialize(){await this.layoutState.initStorage();const g=this.contributionProvider.getContributions();for(const b of g)b.registerComponent&&b.registerComponent(this.componentRegistry);const l=this.rendererContributionProvider.getContributions();for(const b of l)b.registerRenderer&&b.registerRenderer(o.slotRendererRegistry);const y=this.toolBarContributionProvider.getContributions();for(const b of y)b.registerToolbarItems&&b.registerToolbarItems(this.toolBarRegistry)}registerComponent(g){g.register(f.DROP_RIGHT_CONTAINER,[],{component:a.RightDropArea,hideTab:!0,containerId:f.DROP_RIGHT_CONTAINER}),g.register(f.DROP_BOTTOM_CONTAINER,[],{component:a.BottomDropArea,hideTab:!0,containerId:f.DROP_BOTTOM_CONTAINER})}async onStart(){this.registerSideToggleKey()}async onDidStart(){this.mainLayoutService.didMount()}registerRenderer(g){g.registerSlotRenderer(o.SlotLocation.right,u.RightTabRenderer),g.registerSlotRenderer(o.SlotLocation.left,u.LeftTabRenderer),g.registerSlotRenderer(o.SlotLocation.bottom,u.BottomTabRenderer)}registerCommands(g){g.registerCommand(t.HIDE_LEFT_PANEL_COMMAND,{execute:()=>{this.mainLayoutService.toggleSlot(o.SlotLocation.left,!1)}}),g.registerCommand(t.SHOW_LEFT_PANEL_COMMAND,{execute:l=>{this.mainLayoutService.toggleSlot(o.SlotLocation.left,!0,l)}}),g.registerCommand(t.TOGGLE_LEFT_PANEL_COMMAND,{execute:(l,y)=>{this.mainLayoutService.toggleSlot(o.SlotLocation.left,l,y)}}),g.registerCommand(t.HIDE_RIGHT_PANEL_COMMAND,{execute:()=>{this.mainLayoutService.toggleSlot(o.SlotLocation.right,!1)}}),g.registerCommand(t.SHOW_RIGHT_PANEL_COMMAND,{execute:l=>{this.mainLayoutService.toggleSlot(o.SlotLocation.right,!0,l)}}),g.registerCommand(t.TOGGLE_RIGHT_PANEL_COMMAND,{execute:(l,y)=>{this.mainLayoutService.toggleSlot(o.SlotLocation.right,l,y)}}),g.registerCommand(t.WORKBENCH_ACTION_CLOSESIDECAR,{execute:()=>Promise.all([this.mainLayoutService.toggleSlot(o.SlotLocation.left,!1),this.mainLayoutService.toggleSlot(o.SlotLocation.right,!1)])}),g.registerCommand(t.SHOW_BOTTOM_PANEL_COMMAND,{execute:()=>{this.mainLayoutService.toggleSlot(o.SlotLocation.bottom,!0)}}),g.registerCommand(t.HIDE_BOTTOM_PANEL_COMMAND,{execute:()=>{this.mainLayoutService.toggleSlot(o.SlotLocation.bottom,!1)}}),g.registerCommand(t.WORKBENCH_ACTION_CLOSEPANEL),g.registerCommand(t.IS_VISIBLE_BOTTOM_PANEL_COMMAND,{execute:()=>this.mainLayoutService.getTabbarService("bottom").currentContainerId.get()!==""}),g.registerCommand(t.IS_VISIBLE_LEFT_PANEL_COMMAND,{execute:()=>this.mainLayoutService.isVisible(o.SlotLocation.left)}),g.registerCommand(t.IS_VISIBLE_RIGHT_PANEL_COMMAND,{execute:()=>this.mainLayoutService.isVisible(o.SlotLocation.left)}),g.registerCommand({id:"view.outward.right-panel.hide"},{execute:()=>{this.commandService.executeCommand("main-layout.right-panel.toggle",!1)}}),g.registerCommand({id:"view.outward.right-panel.show"},{execute:l=>{this.commandService.executeCommand("main-layout.right-panel.toggle",!0,l)}}),g.registerCommand({id:"view.outward.left-panel.hide"},{execute:()=>{this.commandService.executeCommand("main-layout.left-panel.toggle",!1)}}),g.registerCommand({id:"view.outward.left-panel.show"},{execute:l=>{this.commandService.executeCommand("main-layout.left-panel.toggle",!0,l)}}),g.registerCommand({id:o.LAYOUT_COMMANDS.MAXIMIZE_EDITOR.id},{execute:()=>{this.commandService.executeCommand(t.TOGGLE_RIGHT_PANEL_COMMAND.id,!1),this.commandService.executeCommand(t.TOGGLE_LEFT_PANEL_COMMAND.id,!1)}}),g.registerCommand(o.LAYOUT_COMMANDS.OPEN_VIEW,{execute:()=>{this.commandService.executeCommand(o.QUICK_OPEN_COMMANDS.OPEN_VIEW.id)}})}registerMenus(g){g.registerMenuItem(m.MenuId.ActivityBarExtra,{submenu:m.MenuId.SettingsIconMenu,iconClass:(0,o.getIcon)("setting"),label:(0,_.localize)("layout.tabbar.setting"),order:1,group:"navigation"}),Object.entries({[o.SlotLocation.left]:[c.EXPLORER_CONTAINER_ID,c.SEARCH_CONTAINER_ID,c.SCM_CONTAINER_ID,c.DEBUG_CONTAINER_ID,c.EXTENSION_CONTAINER_ID],[o.SlotLocation.bottom]:[c.MARKER_CONTAINER_ID,c.OUTPUT_CONTAINER_ID,c.DEBUG_CONSOLE_CONTAINER_ID,c.TERMINAL_CONTAINER_ID]}).forEach(([l,y],b)=>{const S=this.mainLayoutService.getTabbarService(l);S.viewReady.promise.then(()=>{y.forEach(A=>{var w,T;const D=S.getContainer(A);D&&g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:{id:`container.toggle.${A}`,label:(T=(w=D.options)===null||w===void 0?void 0:w.title)!==null&&T!==void 0?T:A},group:`${3+b}_${l}`})})})}),g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:t.TOGGLE_LEFT_PANEL_COMMAND,group:"5_panel"}),g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:t.TOGGLE_RIGHT_PANEL_COMMAND,group:"5_panel"}),g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:t.TOGGLE_BOTTOM_PANEL_COMMAND,group:"5_panel"}),g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:t.EXPAND_BOTTOM_PANEL,group:"5_panel",when:"!bottomFullExpanded"}),g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:t.RETRACT_BOTTOM_PANEL,group:"5_panel",when:"bottomFullExpanded"}),g.registerMenuItem(m.MenuId.MenubarViewMenu,{command:{id:o.EDITOR_COMMANDS.TOGGLE_WORD_WRAP.id,label:"%preference.editor.wordWrap%"},group:"6_capability",toggledWhen:"config.editor.wordWrap == on"})}registerSideToggleKey(){this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+b",command:t.TOGGLE_LEFT_PANEL_COMMAND.id}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+j",command:t.TOGGLE_BOTTOM_PANEL_COMMAND.id}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+shift+j",command:t.EXPAND_BOTTOM_PANEL.id,when:"!bottomFullExpanded"}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+shift+j",command:t.RETRACT_BOTTOM_PANEL.id,when:"bottomFullExpanded"})}registerQuickOpenHandlers(g){g.registerHandler(this.quickOpenViewHandler,{title:(0,_.localize)("layout.action.openView"),commandId:o.LAYOUT_COMMANDS.QUICK_OPEN_VIEW.id,order:5,hideTab:!0})}};t.MainLayoutModuleContribution=d,n.__decorate([(0,r.Autowired)(f.IMainLayoutService),n.__metadata("design:type",Object)],d.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],d.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(_.IEventBus),n.__metadata("design:type",Object)],d.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(p.ComponentContribution),n.__metadata("design:type",Object)],d.prototype,"contributionProvider",void 0),n.__decorate([(0,r.Autowired)(o.SlotRendererContribution),n.__metadata("design:type",Object)],d.prototype,"rendererContributionProvider",void 0),n.__decorate([(0,r.Autowired)(p.ComponentRegistry),n.__metadata("design:type",Object)],d.prototype,"componentRegistry",void 0),n.__decorate([(0,r.Autowired)(s.CommandService),n.__metadata("design:type",Object)],d.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.LayoutState)],d.prototype,"layoutState",void 0),n.__decorate([(0,r.Autowired)(p.TabBarToolbarContribution),n.__metadata("design:type",Object)],d.prototype,"toolBarContributionProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.ToolbarRegistry)],d.prototype,"toolBarRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],d.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(h.ViewQuickOpenHandler),n.__metadata("design:type",h.ViewQuickOpenHandler)],d.prototype,"quickOpenViewHandler",void 0),t.MainLayoutModuleContribution=d=n.__decorate([(0,_.Domain)(s.CommandContribution,o.ClientAppContribution,o.SlotRendererContribution,m.MenuContribution,o.QuickOpenContribution,p.ComponentContribution)],d)},68988:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewQuickOpenItem=t.ContainerQuickOpenItem=t.ViewQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(74404),p=e(17793);let v=class{constructor(){this.prefix="view ",this.description=(0,o.localize)("layout.action.openView")}getModel(){return{onType:(f,a)=>a(this.getViewQuickOpenItems())}}getViewQuickOpenItems(){var f;const a=this.layoutService.getAllAccordionService(),h=Array.from(a.keys());let u=[];u=u.concat(h.map((d,E)=>this.injector.get(m,[d,{groupLabel:E===0?(0,o.localize)("layout.openView.containerTitle"):"",showBorder:!1}])));for(const d of h){const E=(f=a.get(d))===null||f===void 0?void 0:f.views;if(E)for(let g=0,l=E.length;g<l;g++)u.push(this.injector.get(_,[d,E[g],{groupLabel:g===0?(0,o.formatLocalize)("layout.openView.viewTitle",String(d).toUpperCase()):"",showBorder:!1}]))}return u}getOptions(){return{}}onClose(){}};t.ViewQuickOpenHandler=v,n.__decorate([(0,r.Autowired)(c.PrefixQuickOpenService),n.__metadata("design:type",Object)],v.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(p.IMainLayoutService),n.__metadata("design:type",Object)],v.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],v.prototype,"injector",void 0),t.ViewQuickOpenHandler=v=n.__decorate([(0,r.Injectable)()],v);let m=class extends c.QuickOpenItem{constructor(f,a){super(a),this.containerId=f,this.options=a}getLabel(){return String(this.containerId).toLocaleUpperCase()}isHidden(){return super.isHidden()}run(f){if(f!==c.Mode.OPEN)return!1;const a=this.layoutService.getTabbarHandler(this.containerId);return a?.activate(),!0}};t.ContainerQuickOpenItem=m,n.__decorate([(0,r.Autowired)(p.IMainLayoutService),n.__metadata("design:type",Object)],m.prototype,"layoutService",void 0),t.ContainerQuickOpenItem=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],m);let _=class extends c.QuickOpenItem{constructor(f,a,h){super(h),this.containerId=f,this.view=a,this.options=h}getLabel(){var f;return(f=this.view.name)===null||f===void 0?void 0:f.toUpperCase()}isHidden(){return super.isHidden()}run(f){if(f!==c.Mode.OPEN)return!1;const a=this.layoutService.getTabbarHandler(this.containerId);return a&&(a.activate(),a.isCollapsed(this.view.id)&&a?.setCollapsed(this.view.id,!1)),!0}};t.ViewQuickOpenItem=_,n.__decorate([(0,r.Autowired)(p.IMainLayoutService),n.__metadata("design:type",Object)],_.prototype,"layoutService",void 0),t.ViewQuickOpenItem=_=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Object,Object])],_)},58999:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabBarHandler=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(17793),p=e(752);let v=class{constructor(_,s){this.containerId=_,this.tabbarService=s,this.onActivateEmitter=new o.Emitter,this.onActivate=this.onActivateEmitter.event,this.onInActivateEmitter=new o.Emitter,this.onInActivate=this.onInActivateEmitter.event,this.onCollapseEmitter=new o.Emitter,this.onCollapse=this.onCollapseEmitter.event,this.isVisible=!1,this.accordionService=this.layoutService.getAccordionService(this.containerId),s.currentContainerId.get()===this.containerId&&(this.onActivateEmitter.fire(),this.isVisible=!0),this.tabbarService.onCurrentChange(f=>{f.currentId===this.containerId?(this.onActivateEmitter.fire(),this.isVisible=!0):f.previousId===this.containerId&&(this.onInActivateEmitter.fire(),this.isVisible=!1)})}dispose(){this.tabbarService.containersMap.delete(this.containerId),this.tabbarService.disposeContainer(this.containerId)}disposeView(_){this.layoutService.disposeViewComponent(_)}activate(){this.tabbarService.updateCurrentContainerId(this.containerId)}deactivate(){this.tabbarService.updateCurrentContainerId("")}isActivated(){return this.tabbarService.currentContainerId.get()===this.containerId}show(){this.tabbarService.showContainer(this.containerId)}hide(){this.tabbarService.hideContainer(this.containerId)}setTitleComponent(_,s){const f=this.tabbarService.getContainer(this.containerId);f&&f.options&&(f.options.titleProps=s,f.options.titleComponent=_,f.fireChange(f))}setSize(_){this.layoutService.toggleSlot(this.tabbarService.location,!0,_+this.tabbarService.getBarSize())}setBadge(_){this.tabbarService.updateBadge(this.containerId,_)}getBadge(){return this.tabbarService.getContainer(this.containerId).options.badge}setIconClass(_){this.tabbarService.getContainer(this.containerId).options.iconClass=_}isCollapsed(_){return this.accordionService.getViewState(_).collapsed}setCollapsed(_,s){this.accordionService.toggleOpen(_,s)}toggleViews(_,s){for(const f of _){const a=this.accordionService.getViewState(f);this.accordionService.updateViewState(f,{...a,hidden:!s})}}updateViewTitle(_,s){this.accordionService.updateViewTitle(_,s)}updateViewDescription(_,s){this.accordionService.updateViewDesciption(_,s)}updateViewMessage(_,s){this.accordionService.updateViewMessage(_,s)}updateTitle(_){this.tabbarService.updateTitle(this.containerId,_)}setResizeLock(_){this.tabbarService.resizeHandle.lockSize(_)}};t.TabBarHandler=v,n.__decorate([(0,r.Autowired)(c.IMainLayoutService),n.__metadata("design:type",Object)],v.prototype,"layoutService",void 0),t.TabBarHandler=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,p.TabbarService])],v)},46245:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatTabbarRenderer2=t.BottomTabbarRenderer=t.LeftTabbarRenderer=t.RightTabbarRenderer=t.TextElipses=t.IconElipses=t.TextTabView=t.IconTabView=t.TabbarViewBase=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(25918),m=e(25719),_=e(63373),s=e(68969),f=e(17793),a=e(19951),h=n.__importDefault(e(5330)),u=e(752);function d(I,O){return O>=I.length?[I,[]]:O<=1?[[],I]:[I.slice(0,O-1),I.slice(O-1)]}function E(I){return typeof I=="string"?parseInt(I,10)>99?"99+":I:typeof I=="object"&&I.value?I.value>99?"99+":I.value:""}const g=I=>{var O;const{TabView:M,MoreTabView:R,forbidCollapse:P,barSize:k=48,panelBorderSize:F=0,tabClassName:L,className:B,margin:j,tabSize:W,canHideTabbar:U,renderOtherVisibleContainers:X=()=>null,disableAutoAdjust:V}=I,{side:$,direction:Y,fullSize:G}=o.default.useContext(a.TabbarConfig),H=(0,p.useInjectable)(u.TabbarServiceFactory)($),K=(0,p.useDesignStyles)(h.default.tab_bar,"tab_bar"),Z=(0,p.useDesignStyles)(h.default.bar_content,"bar_content");o.default.useEffect(()=>{H.updateBarSize(k+F)},[]);const Q=(0,p.useAutorun)(H.currentContainerId),oe=(0,p.usePreference)("workbench.hideSlotTabBarWhenHidePanel",!1),ne=U&&oe;ne&&!Q&&((O=H.resizeHandle)===null||O===void 0||O.setSize(0));const he=V?Number.MAX_SAFE_INTEGER:Math.floor(G-(j||0)/W),[_e,q]=d(H.visibleContainers.filter(ve=>{var ie;return!(!((ie=ve.options)===null||ie===void 0)&&ie.hideTab)}),he);q.forEach(ve=>{H.updateTabInMoreKey(ve.options.containerId,!0)});const Re=o.default.useCallback((ve,ie,fe,Me)=>{var Le,Ce,Se;const Ee=(Le=ve.options)===null||Le===void 0?void 0:Le.containerId;if(!Ee||Me&&(!((Se=(Ce=ve.options)===null||Ce===void 0?void 0:Ce.hideLocationTab)===null||Se===void 0)&&Se.includes(Me)))return null;ie.updateTabInMoreKey(Ee,!1);let ge;return o.default.createElement("li",{draggable:!0,onDragStart:xe=>{if(ge){const Te=ge.cloneNode(!0);Te.classList.add(h.default.dragging),L&&(0,p.addClassName)(Te,L),document.body.appendChild(Te),xe.persist(),requestAnimationFrame(()=>{xe.dataTransfer.setDragImage(Te,0,0),document.body.removeChild(Te)})}ie.handleDragStart(xe,Ee)},onDragOver:xe=>{xe.preventDefault(),ge&&ge.classList.add("on-drag-over")},onDragLeave:()=>{ge&&ge.classList.remove("on-drag-over")},onDrop:xe=>{ge&&ge.classList.remove("on-drag-over"),ie.handleDrop(xe,Ee)},onDragEnd:xe=>{ie.handleDragEnd(xe)},key:Ee,id:Ee,onContextMenu:xe=>ie.handleContextMenu(xe,Ee),onClick:xe=>ie.handleTabClick(xe,ne||P),ref:xe=>ge=xe,className:(0,r.default)({active:fe===Ee},L)},o.default.createElement(M,{component:ve}))},[]);return o.default.createElement("div",{className:(0,r.default)([K,B])},o.default.createElement("div",{className:Z,style:{flexDirection:m.Layout.getTabbarDirection(Y)}},_e.map(ve=>Re(ve,H,Q,$)),X({props:I,renderContainers:Re}),q.length?o.default.createElement("li",{key:"tab-more",onClick:ve=>{var ie;return H.showMoreMenu(ve,_e[_e.length-1]&&((ie=_e[_e.length-1].options)===null||ie===void 0?void 0:ie.containerId))},className:L},o.default.createElement(R,null)):null))};t.TabbarViewBase=g;const l=({component:I})=>{var O,M,R;const P=(0,p.useInjectable)(s.IProgressService),k=(0,p.useInjectable)(p.KeybindingRegistry),F=(0,p.useDesignStyles)(h.default.icon_tab,"icon_tab"),[L,B]=o.default.useState(I),j=P.getIndicator(((O=L.options)===null||O===void 0?void 0:O.containerId)||""),W=(0,p.useAutorun)(j.progressModel.show),U=o.default.useMemo(()=>{const X=L.options;return X?.activateKeyBinding?`${X?.title} (${k.acceleratorForKeyString(X.activateKeyBinding,"+")})`:X?.title},[L]);return(0,o.useEffect)(()=>{const X=L.onChange(V=>{B({...V})});return()=>{X.dispose()}},[L]),o.default.createElement("div",{className:F},o.default.createElement("div",{className:(0,r.default)((M=L.options)===null||M===void 0?void 0:M.iconClass,"activity-icon"),title:U}),W?o.default.createElement(c.Badge,{className:h.default.tab_badge},o.default.createElement("span",{className:h.default.icon_wrapper},o.default.createElement(c.Icon,{icon:"time-circle"}))):((R=L.options)===null||R===void 0?void 0:R.badge)&&o.default.createElement(c.Badge,{className:h.default.tab_badge},E(L.options.badge)))};t.IconTabView=l;const y=({component:I})=>{var O,M,R;const[P,k]=o.default.useState(I);return(0,o.useEffect)(()=>{const F=P.onChange(L=>{k({...L})});return()=>{F.dispose()}},[P]),o.default.createElement("div",{className:h.default.text_tab},o.default.createElement("div",{className:h.default.bottom_tab_title},(M=(O=P.options)===null||O===void 0?void 0:O.title)===null||M===void 0?void 0:M.toUpperCase()),((R=P.options)===null||R===void 0?void 0:R.badge)&&o.default.createElement(c.Badge,{className:h.default.tab_badge},E(P.options.badge)))};t.TextTabView=y;const b=()=>{const I=(0,p.useDesignStyles)(h.default.icon_tab,"icon_tab");return o.default.createElement("div",{className:I},o.default.createElement("div",{className:(0,r.default)((0,p.getIcon)("ellipsis"),"activity-icon"),title:"extra tabs"}))};t.IconElipses=b;const S=()=>o.default.createElement("div",{className:h.default.text_tab},o.default.createElement("div",{className:h.default.bottom_tab_title},o.default.createElement("i",{className:(0,p.getIcon)("doubleright")})));t.TextElipses=S;const A=I=>{const{barSize:O=48,style:M}=I,{side:R}=o.default.useContext(a.TabbarConfig),P=(0,p.useInjectable)(u.TabbarServiceFactory)(R),k=(0,p.useDesignStyles)(h.default.right_tab_bar,"right_tab_bar"),F=(0,p.useDesignStyles)(h.default.right_tab,"right_tab");return o.default.createElement("div",{id:_.VIEW_CONTAINERS.RIGHT_TABBAR,className:k,style:M,onContextMenu:P.handleContextMenu},o.default.createElement(t.TabbarViewBase,{tabSize:48,MoreTabView:t.IconElipses,tabClassName:F,TabView:t.IconTabView,barSize:O,panelBorderSize:1}))};t.RightTabbarRenderer=A;const w=({renderOtherVisibleContainers:I,isRenderExtraTopMenus:O=!0,renderExtraMenus:M,tabbarViewProps:R})=>{const{side:P}=o.default.useContext(a.TabbarConfig),k=(0,p.useInjectable)(f.IMainLayoutService),F=(0,p.useInjectable)(u.TabbarServiceFactory)(P),L=o.default.useMemo(()=>k.getExtraTopMenu(),[k]),B=o.default.useMemo(()=>k.getExtraMenu(),[k]),j=(0,p.useDesignStyles)(h.default.left_tab_bar,"left_tab_bar"),W=(0,p.useDesignStyles)(h.default.left_tab,"left_tab");return o.default.createElement("div",{id:_.VIEW_CONTAINERS.LEFT_TABBAR,className:j,onContextMenu:F.handleContextMenu},O&&o.default.createElement(v.InlineMenuBar,{className:(0,r.default)(h.default.vertical_icons,h.default.extra_top_menus),menus:L}),o.default.createElement(t.TabbarViewBase,{tabSize:48,MoreTabView:t.IconElipses,className:h.default.left_tab_content,tabClassName:W,TabView:t.IconTabView,barSize:48,margin:90,panelBorderSize:1,renderOtherVisibleContainers:I,...R}),M||o.default.createElement(v.InlineMenuBar,{className:h.default.vertical_icons,menus:B}))};t.LeftTabbarRenderer=w;const T=()=>{const{side:I}=o.default.useContext(a.TabbarConfig),O=(0,p.useInjectable)(u.TabbarServiceFactory)(I),M=(0,p.useDesignStyles)(h.default.bottom_bar_container,"bottom_bar_container"),R=(0,p.useDesignStyles)(h.default.bottom_tab,"bottom_tab");return o.default.createElement("div",{id:_.VIEW_CONTAINERS.BOTTOM_TABBAR,onContextMenu:O.handleContextMenu,className:(0,r.default)(M,"next_bottom_bar")},o.default.createElement(t.TabbarViewBase,{tabSize:80,MoreTabView:t.TextElipses,tabClassName:R,TabView:t.TextTabView,barSize:24,panelBorderSize:1,canHideTabbar:!0}))};t.BottomTabbarRenderer=T;const D=I=>{const{barSize:O=32,style:M}=I,{side:R}=o.default.useContext(a.TabbarConfig),P=(0,p.useInjectable)(u.TabbarServiceFactory)(R);(0,o.useEffect)(()=>{P.setIsLatter(!0)},[P]);const k=(0,p.useDesignStyles)(h.default.ai_right_tab_bar,"ai_right_tab_bar"),F=(0,p.useDesignStyles)(h.default.ai_right_tab,"ai_right_tab");return o.default.createElement("div",{id:R,className:k,style:M,onContextMenu:P.handleContextMenu},o.default.createElement(t.TabbarViewBase,{tabSize:32,MoreTabView:t.IconElipses,tabClassName:F,TabView:t.IconTabView,barSize:O,panelBorderSize:1}))};t.ChatTabbarRenderer2=D},66368:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BottomTabPanelRenderer=t.LeftTabPanelRenderer=t.RightTabPanelRenderer=t.ContainerView=t.BaseTabPanelView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(76003),p=e(41869),v=e(25918),m=e(1149),_=e(68969),s=e(68974),f=e(9522),a=e(70936),h=e(91527),u=e(19951),d=n.__importDefault(e(5330)),E=e(752),g=o.default.memo(({children:I})=>I,(I,O)=>!(I.visible||O.visible)),l={display:"block"},y={display:"none"},b=I=>{const{PanelView:O,panelSize:M,id:R,PanelViewProps:P}=I,{side:k}=o.default.useContext(u.TabbarConfig),F=(0,p.useInjectable)(p.AppConfig),L=F.panelSizes&&F.panelSizes[k],B=(0,p.useInjectable)(E.TabbarServiceFactory)(k),j=(0,p.useAutorun)(B.currentContainerId),W=(0,p.useDesignStyles)(d.default.tab_panel,"tab_panel"),U=(0,p.useDesignStyles)(d.default.tab_panel_hidden,"tab_panel_hidden");return o.default.useEffect(()=>{B.updatePanelSize(L||M||335)},[]),o.default.createElement("div",{id:R,className:(0,r.default)("kt-tab-panel",W,{[U]:!j})},B.visibleContainers.map(X=>{var V;const $=(V=X.options)===null||V===void 0?void 0:V.containerId;if(!$)return null;const Y=B.getTitleToolbarMenu($);return o.default.createElement("div",{key:$,className:(0,r.default)(d.default.panel_wrap,$),"data-viewlet-id":$,style:j===$?l:y,id:R},o.default.createElement(p.ErrorBoundary,null,o.default.createElement(g,{visible:j===$},o.default.createElement(O,{titleMenu:Y,side:k,component:X,...P}))))}))};t.BaseTabPanelView=b;const S=({component:I,titleMenu:O,side:M,renderContainerWrap:R,className:P,customTitleBar:k})=>{var F,L;const B=o.default.useRef(),j=o.default.useRef(null),W=(0,p.useInjectable)(p.AppConfig),{title:U,titleComponent:X,component:V,containerId:$,draggable:Y}=I.options||{},G=(0,p.useInjectable)(c.INJECTOR_TOKEN),H=(0,p.useInjectable)(m.LayoutViewSizeConfig),K=(0,o.useCallback)(he=>{G.get(f.AccordionServiceFactory)($).handleContextMenu(he)},[$]);if(!$)return null;const Q=(0,p.useInjectable)(_.IProgressService).getIndicator($);if(!Q)return null;const oe=(0,p.useViewState)(M,j),ne=o.default.useCallback(he=>R?R({children:he}):he,[R]);return o.default.createElement("div",{ref:j,className:(0,r.default)(d.default.view_container,P)},!!k&&k,!V&&o.default.createElement("div",{onContextMenu:K,className:d.default.panel_titlebar},U?o.default.createElement(h.TitleBar,{containerId:$,side:M,title:U,draggable:Y,height:H.panelTitleBarHeight,menubar:o.default.createElement(v.InlineActionBar,{menus:O})}):null,X&&o.default.createElement("div",{className:d.default.panel_component},o.default.createElement(p.ConfigProvider,{value:W},o.default.createElement(p.ComponentRenderer,{Component:X,initialProps:(F=I.options)===null||F===void 0?void 0:F.titleProps})))),o.default.createElement("div",{className:d.default.container_wrap,ref:he=>B.current=he},o.default.createElement(s.ProgressBar,{progressModel:Q.progressModel}),ne(V?o.default.createElement(p.ConfigProvider,{value:W},o.default.createElement(p.ComponentRenderer,{initialProps:{viewState:oe,...(L=I.options)===null||L===void 0?void 0:L.initialProps},Component:V})):o.default.createElement(a.AccordionContainer,{views:I.views,minSize:I.options.miniSize,containerId:I.options.containerId}))))};t.ContainerView=S;const A=({component:I,titleMenu:O,side:M})=>{var R,P,k,F;const L=o.default.useRef(),B=o.default.useRef(null),j=(0,p.useInjectable)(p.AppConfig),W=(0,p.useInjectable)(E.TabbarServiceFactory)(M),U=(0,p.useDesignStyles)(d.default.panel_title_bar,"panel_title_bar"),X=(0,p.useDesignStyles)(d.default.panel_toolbar_container,"panel_toolbar_container"),V=(0,p.useViewState)(M,B),$=(0,p.useInjectable)(m.LayoutViewSizeConfig),Y=(0,p.useInjectable)(_.IProgressService),{component:G,containerId:H}=I.options||{},K=I.options&&I.options.titleComponent;if(!H)return null;const Z=Y.getIndicator(H);return Z?o.default.createElement("div",{ref:B,className:d.default.panel_container},o.default.createElement("div",{className:U,style:{height:$.panelTitleBarHeight}},o.default.createElement("h1",null,(P=(R=I.options)===null||R===void 0?void 0:R.title)===null||P===void 0?void 0:P.toUpperCase()),o.default.createElement("div",{className:d.default.title_component_container},K&&o.default.createElement(p.ComponentRenderer,{Component:K,initialProps:(k=I.options)===null||k===void 0?void 0:k.titleProps})),o.default.createElement("div",{className:X},O&&o.default.createElement(v.InlineActionBar,{menus:O}),o.default.createElement(v.InlineMenuBar,{menus:W.commonTitleMenu,moreAtFirst:!0}))),o.default.createElement("div",{className:d.default.container_wrap,ref:Q=>L.current=Q},o.default.createElement(s.ProgressBar,{progressModel:Z.progressModel}),G?o.default.createElement(p.ConfigProvider,{value:j},o.default.createElement(p.ComponentRenderer,{initialProps:{viewState:V,...(F=I.options)===null||F===void 0?void 0:F.initialProps},Component:G})):o.default.createElement(a.AccordionContainer,{views:I.views,alignment:"horizontal",minSize:I.options.miniSize,containerId:I.options.containerId}))):null},w=()=>o.default.createElement(t.BaseTabPanelView,{PanelView:t.ContainerView});t.RightTabPanelRenderer=w;const T=()=>o.default.createElement(t.BaseTabPanelView,{PanelView:t.ContainerView});t.LeftTabPanelRenderer=T;const D=()=>o.default.createElement(t.BaseTabPanelView,{PanelView:A,panelSize:280});t.BottomTabPanelRenderer=D},19951:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BottomTabRenderer=t.LeftTabRenderer=t.RightTabRenderer=t.TabRendererBase=t.TabbarConfig=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(41869),p=e(81878),v=e(25719),m=e(63373),_=e(46245),s=e(66368),f=n.__importDefault(e(5330)),a=e(752);t.TabbarConfig=(0,o.createContext)({side:c.SlotLocation.left,direction:"left-to-right",fullSize:0}),t.TabRendererBase=(0,o.memo)(({id:E,className:g,components:l,direction:y="left-to-right",TabbarView:b,side:S,TabpanelView:A})=>{const w=(0,c.useInjectable)(a.TabbarServiceFactory)(S),T=(0,c.useInjectable)(c.IEventBus),D=(0,o.useContext)(p.PanelContext),I=(0,o.useRef)(null),[O,M]=(0,o.useState)(0);(0,o.useLayoutEffect)(()=>{w.registerResizeHandle(D),l.forEach(P=>{w.registerContainer(P.options.containerId,P)}),w.updatePanelVisibility(),w.ensureViewReady()},[l]);const R=(0,o.useCallback)(()=>{I.current&&M(I.current[v.Layout.getDomSizeProperty(y)])},[]);return(0,o.useEffect)(()=>{c.fastdom.measure(()=>{R()});let P;T.onDirective(c.ResizeEvent.createDirective(S),()=>{P&&P.dispose(),P=c.fastdom.measureAtNextFrame(()=>{R()})})},[]),o.default.createElement("div",{ref:I,id:E,className:(0,r.default)(f.default.tab_container,g),style:{flexDirection:v.Layout.getFlexDirection(y)}},o.default.createElement(t.TabbarConfig.Provider,{value:{side:S,direction:y,fullSize:O}},o.default.createElement(b,null),o.default.createElement(A,null)))});const h=({className:E,components:g,tabbarView:l,tabpanelView:y})=>o.default.createElement(t.TabRendererBase,{side:c.SlotLocation.right,direction:"right-to-left",id:m.VIEW_CONTAINERS.RIGHT_TABBAR_PANEL,className:(0,r.default)(E,"right-slot"),components:g,TabbarView:l??_.RightTabbarRenderer,TabpanelView:y??s.RightTabPanelRenderer});t.RightTabRenderer=h;const u=({className:E,components:g,tabbarView:l})=>o.default.createElement(t.TabRendererBase,{side:c.SlotLocation.left,direction:"left-to-right",id:m.VIEW_CONTAINERS.LEFT_TABBAR_PANEL,className:(0,r.default)(E,"left-slot"),components:g,TabbarView:l??_.LeftTabbarRenderer,TabpanelView:s.LeftTabPanelRenderer});t.LeftTabRenderer=u;const d=({className:E,components:g,tabbarView:l})=>o.default.createElement(t.TabRendererBase,{side:c.SlotLocation.bottom,id:m.VIEW_CONTAINERS.BOTTOM_TABBAR_PANEL,direction:"bottom-to-top",className:(0,r.default)(E,"bottom-slot"),components:g,TabbarView:l??_.BottomTabbarRenderer,TabpanelView:s.BottomTabPanelRenderer});t.BottomTabRenderer=d},752:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabbarService=t.TabbarServiceFactoryFn=t.TabbarServiceFactory=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),c=e(41869),p=e(30144),v=e(95416),m=e(93899),_=e(68969),s=e(28423),f=e(17793),a=e(53576);t.TabbarServiceFactory=Symbol("TabbarServiceFactory");const h=g=>l=>g.get(f.IMainLayoutService).getTabbarService(l);t.TabbarServiceFactoryFn=h;const u={left:"view",right:"extendView",bottom:"panel"},d=void 0;let E=class extends c.WithEventBus{constructor(l){super(),this.location=l,this.doChangeViewEmitter=new c.Emitter,this.shouldChangeView=(0,s.observableFromEventOpts)({owner:this,equalsFn:()=>!1},this.doChangeViewEmitter.event,()=>{}),this.containerIdObs=(0,s.observableValue)(this,d),this.currentContainerId=(0,s.derivedOpts)({owner:this,equalsFn:()=>!1},y=>(this.shouldChangeView.read(y),this.containerIdObs.read(y))),this.nextContainerId="",this.useFirstContainerId=!1,this.previousContainerId=void 0,this.containersMap=new Map,this.viewReady=new c.Deferred,this.state=new Map,this.storedState={},this.accordionRestored=new Set,this.onCurrentChangeEmitter=new c.Emitter,this.onCurrentChange=this.onCurrentChangeEmitter.event,this.onSizeChangeEmitter=new c.Emitter,this.onSizeChange=this.onSizeChangeEmitter.event,this.menuId=`tabbar/${this.location}`,this.moreMenuId=`tabbar/${this.location}/more`,this.sortedContainers=[],this.disposableMap=new Map,this.tabInMoreKeyMap=new Map,this.shouldWaitForViewRender=!1,this.onDidRegisterContainerEmitter=new c.Emitter,this.isEmptyTabbar=!0,this.updatePanel=(0,r.default)(y=>{this.resizeHandle&&this.resizeHandle.hidePanel(y)},60),this._menuMap=new Map,this.setIsLatter(l===c.SlotLocation.right||l===c.SlotLocation.bottom),this.scopedCtxKeyService=this.contextKeyService.createScoped(),this.scopedCtxKeyService.createKey("triggerWithTab",!0),this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerGlobalToggleCommand(),label:(0,c.localize)("layout.tabbar.toggle")},group:"0_global",when:"triggerWithTab == true"}),this.activatedKey=this.contextKeyService.createKey((0,c.getTabbarCtxKey)(this.location),""),this.location==="bottom"&&(this.registerPanelCommands(),this.registerPanelMenus()),this.eventBus.onDirective(c.ResizeEvent.createDirective(this.location),()=>{this.onResize()})}get onDidRegisterContainer(){return this.onDidRegisterContainerEmitter.event}setIsLatter(l){this.isLatter=l}updateNextContainerId(l){(0,c.isUndefined)(l)?this.useFirstContainerId=!0:this.nextContainerId=l}updateCurrentContainerId(l){(0,s.transaction)(y=>{this.containerIdObs.set(l,y)})}updateBadge(l,y){const b=this.getContainer(l);b&&b.options&&(b.options.badge=y),b?.fireChange(b)}registerPanelCommands(){this.commandRegistry.registerCommand(a.EXPAND_BOTTOM_PANEL,{execute:()=>{this.layoutService.expandBottom(!0)}}),this.commandRegistry.registerCommand(a.RETRACT_BOTTOM_PANEL,{execute:()=>{this.layoutService.expandBottom(!1)}}),this.commandRegistry.registerCommand(a.TOGGLE_BOTTOM_PANEL_COMMAND,{execute:(l,y)=>{this.layoutService.toggleSlot(c.SlotLocation.bottom,l,y)}})}getContainerState(l){return this.state.get(l)}hideContainer(l){const y=this.state.get(l);y&&(y.hidden=!0)}showContainer(l){const y=this.state.get(l);y&&(y.hidden=!1)}updatePanelVisibility(l){l===void 0&&(l=this.containersMap.size>0),this.updatePanel(l)}ensureViewReady(){(0,c.isDefined)(this.barSize)&&(0,c.isDefined)(this.panelSize)?this.resolveViewReady():this.shouldWaitForViewRender=!0}updatePanelSize(l){this.panelSize=l,(0,c.isDefined)(this.barSize)&&this.shouldWaitForViewRender&&this.resolveViewReady()}updateBarSize(l){this.barSize=l,(0,c.isDefined)(this.panelSize)&&this.shouldWaitForViewRender&&this.resolveViewReady()}resolveViewReady(){this.isEmptyTabbar?c.Event.once(this.onDidRegisterContainer)(()=>{this.viewReady.resolve()}):this.viewReady.resolve()}getBarSize(){return this.barSize}updateTabInMoreKey(l,y){const b=this.tabInMoreKeyMap.get(l);b&&b.set(y)}get visibleContainers(){const l=[];return this.containersMap.forEach(y=>{const b=y.options&&this.state.get(y.options.containerId);(!b||!b.hidden)&&l.push(y)}),l.sort((y,b)=>this.getContainerState(y.options.containerId).priority-this.getContainerState(b.options.containerId).priority)}registerResizeHandle(l){const{setSize:y,setRelativeSize:b,getSize:S,getRelativeSize:A,lockSize:w,setMaxSize:T,hidePanel:D}=l;return this.resizeHandle={setSize:I=>y(I,this.isLatter),setRelativeSize:(I,O)=>b(I,O,this.isLatter),getSize:()=>S(this.isLatter),getRelativeSize:()=>A(this.isLatter),setMaxSize:I=>T(I,this.isLatter),lockSize:I=>w(I,this.isLatter),hidePanel:I=>D(I)},this.listenCurrentChange()}registerContainer(l,y){var b;if(this.containersMap.has(l))return;this.useFirstContainerId&&(this.useFirstContainerId=!1,this.updateCurrentContainerId(l)),this.nextContainerId===l&&this.updateCurrentContainerId(l);const S=new c.DisposableCollection,A=y.options||{containerId:l};y.options=A;const w=new c.Emitter;this.containersMap.set(l,{fireChange:D=>w.fire(D),onChange:w.event,views:y.views,options:A}),S.push({dispose:()=>{this.containersMap.delete(l),this.state.delete(l)}}),this.updatePanelVisibility(this.containersMap.size>0);let T=this.sortedContainers.findIndex(D=>{var I,O;return(((I=D.options)===null||I===void 0?void 0:I.priority)||1)<=(((O=y.options)===null||O===void 0?void 0:O.priority)||1)});T===-1&&(T=this.sortedContainers.length),this.sortedContainers.splice(T,0,y);for(let D=T;D<this.sortedContainers.length;D++){const O=(b=this.sortedContainers[D].options)===null||b===void 0?void 0:b.containerId;if(O){const M=this.storedState[O]||this.getContainerState(O)||{};this.state.set(O,{hidden:M.hidden,priority:D})}}S.push(this.registerSideEffects(y)),this.eventBus.fire(new f.TabBarRegistrationEvent({tabBarId:l})),l===this.currentContainerId.get()&&this.handleChange(l,""),this.viewContextKeyRegistry.registerContextKeyService(l,this.contextKeyService.createScoped()).createKey("view",l),this.isEmptyTabbar&&(this.isEmptyTabbar=!1),this.disposableMap.set(l,S),this.onDidRegisterContainerEmitter.fire(l)}registerSideEffects(l){var y;const b=new c.DisposableCollection;!((y=l.options)===null||y===void 0)&&y.hideTab||(b.push(this.registerHideMenu(l)),b.push(this.registerMoreMenu(l))),b.push(this.registerActivateKeyBinding(l,l.options.fromExtension));const S=this.contextKeyService.createKey(`workbench.${u[this.location]||"view"}.${l.options.containerId}`,!0);return b.push({dispose:()=>{S.set(!1)}}),b.push(this.progressService.registerProgressIndicator(l.options.containerId)),b.push(this.registerContainerPanelRelatedCommand(l)),b}registerContainerPanelRelatedCommand(l){var y,b,S,A,w;const T=new c.DisposableCollection,D=(y=l.options)===null||y===void 0?void 0:y.containerId;return T.push(this.commandRegistry.registerCommand({id:"container.show."+D,label:(0,c.formatLocalize)("view.command.show",(S=(b=l.options)===null||b===void 0?void 0:b.title)!==null&&S!==void 0?S:D),labelLocalized:(0,c.createFormatLocalizedStr)("view.command.show",(w=(A=l.options)===null||A===void 0?void 0:A.title)!==null&&w!==void 0?w:D),category:"View"},{execute:()=>{this.updateCurrentContainerId(D)}})),T.push(this.commandRegistry.registerCommand({id:"container.hide."+D},{execute:()=>{this.updateCurrentContainerId("")}})),T.push(this.commandRegistry.registerCommand({id:"container.toggle."+D},{execute:()=>{this.currentContainerId.get()===D?this.updateCurrentContainerId(""):this.updateCurrentContainerId(D)}})),T}registerHideMenu(l){const y=new c.DisposableCollection,b=l.options.containerId;return y.push(this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerVisibleToggleCommand(b,y),label:l.options.title||b},group:"1_widgets"})),y}registerMoreMenu(l){const y=new c.DisposableCollection,b=l.options.containerId,S=this.scopedCtxKeyService.createKey(this.getTabInMoreCtxKey(b),!1);return this.tabInMoreKeyMap.set(b,S),y.push({dispose:()=>this.tabInMoreKeyMap.delete(b)}),y.push(this.menuRegistry.registerMenuItem(this.moreMenuId,{command:{id:this.registerMoreToggleCommand(l,y),label:l.options.title||b},group:"inline",when:`${this.getTabInMoreCtxKey(b)} == true`,toggledWhen:`${(0,c.getTabbarCtxKey)(this.location)} == ${b}`,iconClass:l.options.iconClass})),y}disposeContainer(l){var y;const b=this.disposableMap.get(l);b&&b.dispose(),this.currentContainerId.get()===l&&this.updateCurrentContainerId(((y=this.visibleContainers[0].options)===null||y===void 0?void 0:y.containerId)||"")}updateTitle(l,y){const b=this.getContainer(l);b&&(b.options.title=y)}getContainer(l){return l?this.containersMap.get(l):void 0}getTitleToolbarMenu(l){const y=this._menuMap.get(l);if(y)return y;const b=this.menuService.createMenu(m.MenuId.ViewTitle,this.viewContextKeyRegistry.getContextKeyService(l));this._menuMap.set(l,b);const S=this.disposableMap.get(l),A=[b,(0,c.toDisposable)(()=>{this._menuMap.delete(l)})];return S?S.pushAll(A):this.addDispose(A),b}doExpand(l){if(this.resizeHandle){const{setRelativeSize:y}=this.resizeHandle;l?this.isLatter?y(0,1):y(1,0):y(2,1)}}get isExpanded(){if(this.resizeHandle){const{getRelativeSize:l}=this.resizeHandle,y=l().join(",");return this.isLatter?y==="0,1":y==="1,0"}return!1}handleTabClick(l,y){const b=l.currentTarget.id;b===this.currentContainerId.get()&&!y?this.updateCurrentContainerId(""):this.updateCurrentContainerId(b)}handleContextMenu(l,y){l.preventDefault(),l.stopPropagation();const b=this.menuService.createMenu(this.menuId,y?this.scopedCtxKeyService:this.contextKeyService),S=(0,m.generateCtxMenu)({menus:b,args:[{containerId:y}]});this.contextMenuRenderer.show({menuNodes:S[1],anchor:{x:l.clientX,y:l.clientY}})}showMoreMenu(l,y){const b=this.menuService.createMenu(this.moreMenuId,this.scopedCtxKeyService),S=(0,m.generateCtxMenu)({menus:b,args:[{lastContainerId:y}]});this.contextMenuRenderer.show({menuNodes:S[1],anchor:{x:l.clientX,y:l.clientY}})}handleDragStart(l,y){l.dataTransfer.setData("containerId",y),this.layoutService.showDropAreaForContainer(y)}handleDrop(l,y){if(l.dataTransfer.getData("containerId")){const b=l.dataTransfer.getData("containerId"),S=this.visibleContainers,A=S.findIndex(T=>b===T.options.containerId),w=S.findIndex(T=>y===T.options.containerId);this.doInsertTab(S,A,w),this.storeState()}}handleDragEnd(l){this.layoutService.hideDropArea()}restoreState(){this.storedState=this.layoutState.getState(v.LAYOUT_STATE.getTabbarSpace(this.location),{});for(const l of this.state.keys())this.storedState[l]&&this.state.set(l,this.storedState[l]);this.visibleContainers.forEach(l=>{f.SUPPORT_ACCORDION_LOCATION.has(this.location)&&this.tryRestoreAccordionSize(l.options.containerId)})}removeContainer(l){const y=this.disposableMap.get(l);y?.dispose(),this.updateCurrentContainerId(""),this.doChangeViewEmitter.fire()}dynamicAddContainer(l,y){this.registerContainer(l,y),this.updateCurrentContainerId(l),this.doChangeViewEmitter.fire()}doInsertTab(l,y,b){const S=this.getContainerState(l[b].options.containerId).priority,A=(T,D)=>{const I=this.getContainerState(l[T].options.containerId),O=this.getContainerState(l[D].options.containerId);I.priority=O.priority};let w;if(y>b)for(w=b;w<y;w++)A(w,w+1);else for(w=b;w>y;w--)A(w,w-1);this.getContainerState(l[w].options.containerId).priority=S,this.doChangeViewEmitter.fire()}storeState(){const l={};this.state.forEach((y,b)=>{l[b]=y}),this.layoutState.setState(v.LAYOUT_STATE.getTabbarSpace(this.location),l)}registerActivateKeyBinding(l,y){const b=l.options,S=b.containerId,A=y?`workbench.view.extension.${S}`:`workbench.view.${S}`,w=new c.DisposableCollection;return w.push(this.commandRegistry.registerCommand({id:A},{execute:({forceShow:T}={})=>{this.location==="bottom"&&!T?this.updateCurrentContainerId(this.currentContainerId.get()===S?"":S):this.updateCurrentContainerId(S)}})),b.activateKeyBinding&&w.push(this.keybindingRegistry.registerKeybinding({command:A,keybinding:b.activateKeyBinding})),w}registerGlobalToggleCommand(){const l=`activity.bar.toggle.${this.location}`;return this.commandRegistry.registerCommand({id:l},{execute:({containerId:y})=>{this.doToggleTab(y)},isEnabled:()=>this.visibleContainers.length>1}),l}registerVisibleToggleCommand(l,y){const b=`activity.bar.toggle.${l}`;return y.push(this.commandRegistry.registerCommand({id:b},{execute:({forceShow:S}={})=>{this.doToggleTab(l,S)},isToggled:()=>!this.getContainerState(l).hidden,isEnabled:()=>this.getContainerState(l).hidden||this.visibleContainers.length!==1})),b}registerMoreToggleCommand(l,y){const{options:b}=l,{containerId:S}=b,A=`activity.bar.activate.more.${S}`;return y.push(this.commandRegistry.registerCommand({id:A},{execute:({lastContainerId:w})=>{if(this.updateCurrentContainerId(S),w){const T=this.getContainerState(S),D=this.getContainerState(w),I=T.priority;T.priority=D.priority,D.priority=I,this.storeState()}}})),A}getTabInMoreCtxKey(l){return`${l}.isInMore`}registerPanelMenus(){this.menuRegistry.registerMenuItems((0,m.getTabbarCommonMenuId)("bottom"),[{command:a.EXPAND_BOTTOM_PANEL.id,group:"navigation",when:"!bottomFullExpanded",order:1},{command:a.RETRACT_BOTTOM_PANEL.id,group:"navigation",when:"bottomFullExpanded",order:1},{command:a.TOGGLE_BOTTOM_PANEL_COMMAND.id,group:"navigation",order:2}]),this.commonTitleMenu=this.ctxMenuService.createMenu({id:"tabbar/bottom/common"})}doToggleTab(l,y){const b=this.getContainerState(l);y===void 0?b.hidden=!b.hidden:b.hidden=!y,b.hidden&&this.currentContainerId.get()===l&&this.updateCurrentContainerId(this.visibleContainers[0].options.containerId),this.storeState()}shouldExpand(l){const y=this.getContainer(l);return y&&y.options&&y.options.expanded}onResize(){c.fastdom.measureAtNextFrame(()=>{if(!this.currentContainerId||!this.resizeHandle)return;const l=this.resizeHandle.getSize();l!==this.barSize&&!this.shouldExpand(this.currentContainerId.get())&&(this.prevSize=l,this.onSizeChangeEmitter.fire({size:l}))})}listenCurrentChange(){return(0,s.autorunDelta)(this.currentContainerId,({lastValue:l,newValue:y})=>{this.previousContainerId=l===d?"":l,this.handleChange(y,l)})}handleChange(l,y){var b;if(!this.resizeHandle)return;const{getSize:S,setSize:A,lockSize:w}=this.resizeHandle;this.onCurrentChangeEmitter.fire({previousId:y,currentId:l});const T=this.shouldExpand(l);if(this.shouldExpand(this.previousContainerId)||T)this.handleFullExpanded(l,T);else if(l){y&&l!==y&&(this.prevSize=S());const D=this.getContainer(l);A(this.prevSize||this.panelSize+this.barSize),w(!!(!((b=D?.options)===null||b===void 0)&&b.noResize)),this.activatedKey.set(l)}else A(this.barSize),w(!0)}tryRestoreAccordionSize(l){var y,b;if(this.accordionRestored.has(l))return;const S=this.containersMap.get(l);if((!S||!((y=S.options)===null||y===void 0)&&y.component)&&((b=S?.options)===null||b===void 0?void 0:b.containerId)!==p.SCM_CONTAINER_ID)return;this.layoutService.getAccordionService(l).restoreState(),this.accordionRestored.add(l)}handleFullExpanded(l,y){if(!this.resizeHandle)return;const{setRelativeSize:b,setSize:S}=this.resizeHandle;l?y?this.isLatter?b(0,1):b(1,0):S(this.prevSize||this.panelSize+this.barSize):S(this.barSize)}};t.TabbarService=E,n.__decorate([(0,o.Autowired)(m.AbstractMenuService),n.__metadata("design:type",m.AbstractMenuService)],E.prototype,"menuService",void 0),n.__decorate([(0,o.Autowired)(m.AbstractContextMenuService),n.__metadata("design:type",m.AbstractContextMenuService)],E.prototype,"ctxMenuService",void 0),n.__decorate([(0,o.Autowired)(m.IMenuRegistry),n.__metadata("design:type",m.IMenuRegistry)],E.prototype,"menuRegistry",void 0),n.__decorate([(0,o.Autowired)(c.CommandRegistry),n.__metadata("design:type",Object)],E.prototype,"commandRegistry",void 0),n.__decorate([(0,o.Autowired)(m.ICtxMenuRenderer),n.__metadata("design:type",m.ICtxMenuRenderer)],E.prototype,"contextMenuRenderer",void 0),n.__decorate([(0,o.Autowired)(c.KeybindingRegistry),n.__metadata("design:type",Object)],E.prototype,"keybindingRegistry",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",c.ViewContextKeyRegistry)],E.prototype,"viewContextKeyRegistry",void 0),n.__decorate([(0,o.Autowired)(c.IContextKeyService),n.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),n.__decorate([(0,o.Autowired)(f.IMainLayoutService),n.__metadata("design:type",Object)],E.prototype,"layoutService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",v.LayoutState)],E.prototype,"layoutState",void 0),n.__decorate([(0,o.Autowired)(_.IProgressService),n.__metadata("design:type",Object)],E.prototype,"progressService",void 0),t.TabbarService=E=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],E)},58296:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewsRegistry=t.ViewsController=t.ViewContentGroups=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(43718),p=e(17793);var v;(function(f){f.Open="2_open",f.Debug="4_debug",f.SCM="5_scm",f.More="9_more"})(v||(t.ViewContentGroups=v={}));function m(f,a){var h,u,d,E;const g=(h=f.group)!==null&&h!==void 0?h:v.More,l=(u=a.group)!==null&&u!==void 0?u:v.More;return g!==l?g.localeCompare(l):((d=f.order)!==null&&d!==void 0?d:5)-((E=a.order)!==null&&E!==void 0?E:5)}let _=class{get contents(){const a=this.items.filter(h=>h.visible);return a.length===0&&this.defaultItem?[this.defaultItem.descriptor]:a.map(h=>h.descriptor)}constructor(a){this.id=a,this._onDidChange=new o.Emitter,this.onDidChange=this._onDidChange.event,this.items=[],this.disposables=[],this.contextKeyService.onDidChangeContext(this.onDidChangeContext,this,this.disposables),o.Event.filter(this.viewsRegistry.onDidChangeViewWelcomeContent,h=>h===this.id)(this.onDidChangeViewWelcomeContent,this,this.disposables),this.onDidChangeViewWelcomeContent()}onDidChangeViewWelcomeContent(){const a=this.viewsRegistry.getViewWelcomeContent(this.id);this.items=[];for(const h of a)if(h.when==="default")this.defaultItem={descriptor:h,visible:!0};else{const u=h.when?this.contextKeyService.match(h.when):!0;this.items.push({descriptor:h,visible:u})}this._onDidChange.fire()}onDidChangeContext(){let a=!1;for(const h of this.items){if(!h.descriptor.when||h.descriptor.when==="default")continue;const u=this.contextKeyService.match(h.descriptor.when);h.visible!==u&&(h.visible=u,a=!0)}a&&this._onDidChange.fire()}dispose(){this.disposables.forEach(a=>a.dispose()),this.disposables=[]}};t.ViewsController=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(p.IViewsRegistry),n.__metadata("design:type",Object)],_.prototype,"viewsRegistry",void 0),t.ViewsController=_=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],_);let s=class{constructor(){this.viewWelcomeContent=new c.SetMap,this._onDidChangeViewWelcomeContent=new o.Emitter,this.onDidChangeViewWelcomeContent=this._onDidChangeViewWelcomeContent.event}registerViewWelcomeContent(a,h){return this.viewWelcomeContent.add(a,h),this._onDidChangeViewWelcomeContent.fire(a),{dispose:()=>{this.viewWelcomeContent.delete(a,h),this._onDidChangeViewWelcomeContent.fire(a)}}}registerViewWelcomeContent2(a,h){const u=new Map;for(const[d,E]of h)this.viewWelcomeContent.add(a,E),u.set(d,(0,o.toDisposable)(()=>{this.viewWelcomeContent.delete(a,E),this._onDidChangeViewWelcomeContent.fire(a)}));return this._onDidChangeViewWelcomeContent.fire(a),u}getViewWelcomeContent(a){const h=[];return this.viewWelcomeContent.forEach(a,u=>h.push(u)),h.sort(m),h}};t.ViewsRegistry=s,t.ViewsRegistry=s=n.__decorate([(0,r.Injectable)()],s)},24429:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WelcomeView=t.CSSIcon=void 0,t.renderLabelWithIcons=a;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),c=e(48412),p=e(41869),v=e(43718),m=n.__importDefault(e(81388)),_=e(58296);var s;(function(d){d.iconNameSegment="[A-Za-z0-9]+",d.iconNameExpression="[A-Za-z0-9\\-]+",d.iconModifierExpression="~[A-Za-z]+"})(s||(t.CSSIcon=s={}));const f=new RegExp(`(\\\\)?\\$\\((${s.iconNameExpression}(?:${s.iconModifierExpression})?)\\)`,"g");function a(d){const E=new Array;let g,l=0,y=0;for(;(g=f.exec(d))!==null;){y=g.index||0,E.push(d.substring(l,y)),l=(g.index||0)+g[0].length;const[,b,S]=g;E.push(b?`$(${S})`:o.default.createElement("span",{className:(0,p.getExternalIcon)(S)}))}return l<d.length&&E.push(d.substring(l)),E}const h=d=>{const{contents:E}=d,[g,l]=o.default.useState(E.map(S=>S.precondition?!1:null)),y=(0,p.useInjectable)(p.IContextKeyService),b=(0,p.useInjectable)(p.IOpenerService);return o.default.useEffect(()=>{const S=E.map(w=>{if(w.precondition){const T=new Set;return w.precondition.keys().forEach(D=>T.add(D)),T}return null}),A=y.onDidChangeContext(w=>{S.forEach((T,D)=>{T&&w.payload.affectsSome(T)&&l(g.map((I,O)=>O===D?y.match(E[D].precondition):I))})});return()=>A.dispose()},[E]),E.length===0?null:o.default.createElement(o.default.Fragment,null,E.map(({content:S,precondition:A},w)=>{const T=S.split(`
30644
30668
  `),D=[];for(let I of T){if(I=I.trim(),!I)continue;const O=(0,v.parseLinkedText)(I);if(O.nodes.length===1&&typeof O.nodes[0]!="string"){const M=O.nodes[0];D.push(o.default.createElement("div",{key:D.length,title:M.title,className:"button-container"},o.default.createElement(c.Button,{disabled:g[w]===!1,onClick:()=>b.open(M.href)},a(M.label))))}else{const M=O.nodes.map((R,P)=>typeof R=="string"?R:o.default.createElement("a",{key:P,className:(0,r.default)({disabled:R.href.startsWith("command:")&&g[w]===!1}),title:R.title,onClick:()=>b.open(R.href)},R.label));D.push(o.default.createElement("p",{key:D.length},M))}}return o.default.createElement(o.default.Fragment,{key:w},D)}))};function u(d,E){return d.viewId===E.viewId}t.WelcomeView=o.default.memo(d=>{const E=(0,p.useInjectable)(_.ViewsController,[d.viewId]),[g,l]=o.default.useState(E.contents);return o.default.useEffect(()=>{E.onDidChange(()=>{const y=E.contents;l(y)})},[]),g.length?o.default.createElement("div",{className:m.default.welcome},o.default.createElement(h,{contents:g})):null},u)},17793:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(72260),t)},72260:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DROP_RIGHT_CONTAINER=t.DROP_BOTTOM_CONTAINER=t.SUPPORT_ACCORDION_LOCATION=t.ViewCollapseChangedEvent=t.IViewsRegistry=t.TabBarRegistrationEvent=t.MainLayoutContribution=t.IMainLayoutService=void 0;const n=e(41869);t.IMainLayoutService=Symbol("IMainLayoutService"),t.MainLayoutContribution=Symbol("MainLayoutContribution");class r extends n.BasicEvent{}t.TabBarRegistrationEvent=r,t.IViewsRegistry=Symbol("IViewsRegistry");class o extends n.BasicEvent{}t.ViewCollapseChangedEvent=o,t.SUPPORT_ACCORDION_LOCATION=new Set([n.SlotLocation.left,n.SlotLocation.right]),t.DROP_BOTTOM_CONTAINER="drop-bottom",t.DROP_RIGHT_CONTAINER="drop-right"},63067:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(17793),t)},93835:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EmbeddedMarkdownEditorContribution=t.MARKDOWN_EDITOR_COMPONENT_ID=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(43718),p=e(57517),v=e(21066),m=e(81001);t.MARKDOWN_EDITOR_COMPONENT_ID="MARKDOWN_EDITOR_COMPONENT_ID";let _=class{registerEditorComponent(f){f.registerEditorComponent({uid:t.MARKDOWN_EDITOR_COMPONENT_ID,component:m.MarkdownEditorComponent,scheme:c.Schemes.file}),f.registerEditorComponentResolver(c.Schemes.file,(a,h)=>{a.uri.path.ext===".md"&&h.push({type:p.EditorOpenType.component,componentId:t.MARKDOWN_EDITOR_COMPONENT_ID,title:(0,c.localize)("editorOpenType.preview"),weight:this.preferenceService.get("application.preferMarkdownPreview")?10:-1})})}};t.EmbeddedMarkdownEditorContribution=_,n.__decorate([(0,r.Autowired)(v.IMarkdownService),n.__metadata("design:type",Object)],_.prototype,"markdownService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],_.prototype,"preferenceService",void 0),t.EmbeddedMarkdownEditorContribution=_=n.__decorate([(0,c.Domain)(p.BrowserEditorContribution)],_)},81001:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownEditorComponent=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),c=e(57517),p=e(21066),v=({resource:m})=>{let _=null;const s=(0,o.useInjectable)(p.IMarkdownService),f=(0,o.useInjectable)(c.IEditorDocumentModelService);return r.default.useEffect(()=>{if(_){const a=new o.Disposable,h=new o.CancellationTokenSource;return a.addDispose({dispose:()=>{h.cancel()}}),f.createModelReference(m.uri,"markdown-preview").then(u=>{if(h.token.isCancellationRequested){u&&u.dispose();return}const d=new o.Emitter;a.addDispose(d),a.addDispose(u.instance.getMonacoModel().onDidChangeContent(E=>{d.fire(u.instance.getText())})),_&&s.previewMarkdownInContainer(u.instance.getText(),_,h.token,void 0,d.event).then(E=>{a.addDispose(E)}),a.addDispose(u)}),()=>{a.dispose()}}}),r.default.createElement("div",{ref:a=>{_=a},style:{height:"100%"}})};t.MarkdownEditorComponent=v},31101:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownModule=t.Markdown=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(21066),p=e(89637);var v=e(6001);Object.defineProperty(t,"Markdown",{enumerable:!0,get:function(){return v.Markdown}});let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:c.IMarkdownService,useClass:p.MarkdownServiceImpl}]}};t.MarkdownModule=m,t.MarkdownModule=m=n.__decorate([(0,r.Injectable)()],m)},86422:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.markdownCss=void 0,t.markdownCss=`
30645
30669
  /*---------------------------------------------------------------------------------------------