@codingame/monaco-vscode-workbench-service-override 37.3.3 → 37.3.5

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.
Files changed (110) hide show
  1. package/package.json +10 -10
  2. package/session.js +11 -0
  3. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +18 -0
  4. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +27 -0
  5. package/vscode/src/vs/sessions/browser/layoutActions.d.ts +1 -0
  6. package/vscode/src/vs/sessions/browser/layoutActions.js +146 -0
  7. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +6 -6
  8. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +5 -5
  9. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
  10. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +1 -1
  11. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +1 -1
  12. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +20 -20
  13. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +7 -7
  14. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +4 -4
  15. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +42 -42
  16. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +11 -11
  17. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
  18. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
  19. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.d.ts +1 -0
  20. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +149 -0
  21. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
  22. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +11 -11
  23. package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.d.ts +1 -1
  24. package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.js +8 -8
  25. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +68 -68
  26. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +7 -7
  27. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +4 -4
  28. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +2 -2
  29. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +38 -38
  30. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +2 -2
  31. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +1 -1
  32. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +6 -6
  33. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +4 -4
  34. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +20 -20
  35. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +1 -1
  36. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +9 -9
  37. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +17 -17
  38. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
  39. package/vscode/src/vs/sessions/contrib/chat/browser/taskCommand.d.ts +44 -0
  40. package/vscode/src/vs/sessions/contrib/chat/browser/taskCommand.js +111 -0
  41. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
  42. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.d.ts +1 -0
  43. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +75 -0
  44. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
  45. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +4 -4
  46. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +8 -8
  47. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +1 -1
  48. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
  49. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
  50. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +7 -7
  51. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +1 -1
  52. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +5 -5
  53. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +2 -2
  54. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +1 -1
  55. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +19 -19
  56. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +4 -4
  57. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +6 -6
  58. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +2 -2
  59. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +4 -4
  60. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +24 -24
  61. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +26 -0
  62. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +98 -0
  63. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +33 -0
  64. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +98 -0
  65. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.d.ts +1 -0
  66. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +72 -0
  67. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +2 -0
  68. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +13 -0
  69. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +122 -0
  70. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +464 -0
  71. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +35 -0
  72. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +90 -0
  73. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +84 -0
  74. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +328 -0
  75. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.d.ts +1 -0
  76. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +94 -0
  77. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +174 -0
  78. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +1390 -0
  79. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.d.ts +1 -0
  80. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +468 -0
  81. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.d.ts +7 -0
  82. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +48 -0
  83. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +44 -0
  84. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +30 -0
  85. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +78 -0
  86. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.d.ts +1 -0
  87. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +345 -0
  88. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +11 -0
  89. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +26 -0
  90. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +6 -6
  91. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +3 -3
  92. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
  93. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +4 -4
  94. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +5 -5
  95. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +2 -2
  96. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +8 -8
  97. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +58 -58
  98. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +8 -8
  99. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +5 -5
  100. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
  101. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +38 -38
  102. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +118 -118
  103. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +53 -53
  104. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +42 -0
  105. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +139 -0
  106. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +120 -0
  107. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +741 -0
  108. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +2 -2
  109. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +2 -2
  110. package/vscode/src/vs/workbench/browser/layout.js +1 -1
@@ -90,7 +90,7 @@ registerAction2(class extends Action2 {
90
90
  constructor() {
91
91
  super({
92
92
  id: AGENTIC_SIGN_IN_COMMAND_ID,
93
- title: ( localize2(3176, "Sign in to use GitHub Copilot")),
93
+ title: ( localize2(3191, "Sign in to use GitHub Copilot")),
94
94
  icon: Codicon.signIn,
95
95
  menu: {
96
96
  id: AccountMenu,
@@ -108,7 +108,7 @@ registerAction2(class extends Action2 {
108
108
  constructor() {
109
109
  super({
110
110
  id: "workbench.action.agenticSignOut",
111
- title: ( localize2(3177, "Sign Out")),
111
+ title: ( localize2(3192, "Sign Out")),
112
112
  icon: Codicon.signOut,
113
113
  menu: {
114
114
  id: AccountMenu,
@@ -134,9 +134,9 @@ registerAction2(class extends Action2 {
134
134
  confirmed
135
135
  } = await dialogService.confirm({
136
136
  type: Severity.Info,
137
- message: ( localize(3178, "Sign out of the Agents window?")),
138
- detail: ( localize(3179, "This will sign out '{0}' from the Agents window.", accountLabel)),
139
- primaryButton: ( localize(3180, "&&Sign Out"))
137
+ message: ( localize(3193, "Sign out of the Agents window?")),
138
+ detail: ( localize(3194, "This will sign out '{0}' from the Agents window.", accountLabel)),
139
+ primaryButton: ( localize(3195, "&&Sign Out"))
140
140
  });
141
141
  if (!confirmed) {
142
142
  return;
@@ -153,7 +153,7 @@ registerAction2(class extends Action2 {
153
153
  MenuRegistry.appendMenuItem(AccountMenu, {
154
154
  command: {
155
155
  id: "workbench.action.openSettings",
156
- title: ( localize(3181, "Settings")),
156
+ title: ( localize(3196, "Settings")),
157
157
  icon: Codicon.settingsGear
158
158
  },
159
159
  when: ( IsPhoneLayoutContext.negate()),
@@ -251,7 +251,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
251
251
  container.setAttribute("role", "button");
252
252
  container.tabIndex = 0;
253
253
  this.avatarElement = append(container, $("img.sessions-account-titlebar-widget-avatar", {
254
- alt: ( localize(3182, "Account profile image")),
254
+ alt: ( localize(3197, "Account profile image")),
255
255
  draggable: "false"
256
256
  }));
257
257
  this.avatarElement.decoding = "async";
@@ -332,16 +332,16 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
332
332
  }
333
333
  getAvatarAltText(hasLoadedAvatar) {
334
334
  if (hasLoadedAvatar && this.accountProviderId === "github" && this.accountName) {
335
- return localize(3183, "GitHub profile image for {0}", this.accountName);
335
+ return localize(3198, "GitHub profile image for {0}", this.accountName);
336
336
  }
337
- return localize(3182, "Account profile image");
337
+ return localize(3197, "Account profile image");
338
338
  }
339
339
  getCodexAvatarAltText() {
340
340
  return this.codexAccountService.account.email ? ( localize(
341
- 3184,
341
+ 3199,
342
342
  "ChatGPT profile image for {0}",
343
343
  this.codexAccountService.account.email
344
- )) : ( localize(3185, "ChatGPT profile image"));
344
+ )) : ( localize(3200, "ChatGPT profile image"));
345
345
  }
346
346
  renderCodexPanelAvatar() {
347
347
  if (!this.codexPanelAvatarElement || !this.codexPanelIconElement) {
@@ -523,7 +523,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
523
523
  const copilotAccount = append(
524
524
  identities,
525
525
  $("section.sessions-account-titlebar-panel-provider-account", {
526
- "aria-label": ( localize(3186, "Copilot account"))
526
+ "aria-label": ( localize(3201, "Copilot account"))
527
527
  })
528
528
  );
529
529
  const copilotIdentity = append(copilotAccount, $(".sessions-account-titlebar-panel-provider-identity"));
@@ -553,11 +553,11 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
553
553
  this.hoverService.hideHover(true);
554
554
  this.clickPanelDisposable.clear();
555
555
  }));
556
- copilotActionBar.push(panelStore.add(( new Action("copilot.manageModels", ( localize(3187, "Manage Copilot Models")), ThemeIcon.asClassName(Codicon.copilot), true, () => this.commandService.executeCommand(MANAGE_CHAT_COMMAND_ID, "@provider:\"Copilot\"")))), {
556
+ copilotActionBar.push(panelStore.add(( new Action("copilot.manageModels", ( localize(3202, "Manage Copilot Models")), ThemeIcon.asClassName(Codicon.copilot), true, () => this.commandService.executeCommand(MANAGE_CHAT_COMMAND_ID, "@provider:\"Copilot\"")))), {
557
557
  icon: true,
558
558
  label: false
559
559
  });
560
- copilotActionBar.push(panelStore.add(( new Action("copilot.openAgentCustomizations", ( localize(3188, "Agent Customizations for Copilot")), ThemeIcon.asClassName(Codicon.settingsGear), true, () => this.commandService.executeCommand(AICustomizationManagementCommands.OpenEditor, {
560
+ copilotActionBar.push(panelStore.add(( new Action("copilot.openAgentCustomizations", ( localize(3203, "Agent Customizations for Copilot")), ThemeIcon.asClassName(Codicon.settingsGear), true, () => this.commandService.executeCommand(AICustomizationManagementCommands.OpenEditor, {
561
561
  sessionType: SessionType.AgentHostCopilot,
562
562
  section: AICustomizationManagementSection.Agents
563
563
  })))), {
@@ -575,7 +575,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
575
575
  const copilotAccount = append(
576
576
  identities,
577
577
  $("section.sessions-account-titlebar-panel-provider-account.signed-out", {
578
- "aria-label": ( localize(3186, "Copilot account"))
578
+ "aria-label": ( localize(3201, "Copilot account"))
579
579
  })
580
580
  );
581
581
  const copilotIdentity = append(copilotAccount, $(".sessions-account-titlebar-panel-provider-identity"));
@@ -601,7 +601,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
601
601
  const accountSection = append(
602
602
  identities,
603
603
  $("section.sessions-account-titlebar-panel-provider-account", {
604
- "aria-label": ( localize(3189, "ChatGPT account"))
604
+ "aria-label": ( localize(3204, "ChatGPT account"))
605
605
  })
606
606
  );
607
607
  const accountIdentity = append(accountSection, $(".sessions-account-titlebar-panel-provider-identity"));
@@ -630,25 +630,25 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
630
630
  }
631
631
  }));
632
632
  const accountName = append(accountIdentity, $(".sessions-account-titlebar-panel-provider-name"));
633
- accountName.textContent = codexAccount.email ?? ( localize(3190, "ChatGPT"));
633
+ accountName.textContent = codexAccount.email ?? ( localize(3205, "ChatGPT"));
634
634
  const accountActions = append(accountIdentity, $(".sessions-account-titlebar-panel-provider-actions"));
635
635
  const accountActionBar = panelStore.add(( new ActionBar(accountActions)));
636
636
  panelStore.add(accountActionBar.onWillRun(() => {
637
637
  this.hoverService.hideHover(true);
638
638
  this.clickPanelDisposable.clear();
639
639
  }));
640
- accountActionBar.push(panelStore.add(( new Action("codex.manageChatGPTModels", ( localize(3191, "Manage ChatGPT Models")), ThemeIcon.asClassName(Codicon.openai), true, () => this.commandService.executeCommand(MANAGE_CHAT_COMMAND_ID, "@provider:\"ChatGPT\"")))), {
640
+ accountActionBar.push(panelStore.add(( new Action("codex.manageChatGPTModels", ( localize(3206, "Manage ChatGPT Models")), ThemeIcon.asClassName(Codicon.openai), true, () => this.commandService.executeCommand(MANAGE_CHAT_COMMAND_ID, "@provider:\"ChatGPT\"")))), {
641
641
  icon: true,
642
642
  label: false
643
643
  });
644
- accountActionBar.push(panelStore.add(( new Action("codex.openAgentCustomizations", ( localize(3192, "Agent Customizations for Codex")), ThemeIcon.asClassName(Codicon.settingsGear), true, () => this.commandService.executeCommand(AICustomizationManagementCommands.OpenEditor, {
644
+ accountActionBar.push(panelStore.add(( new Action("codex.openAgentCustomizations", ( localize(3207, "Agent Customizations for Codex")), ThemeIcon.asClassName(Codicon.settingsGear), true, () => this.commandService.executeCommand(AICustomizationManagementCommands.OpenEditor, {
645
645
  sessionType: SessionType.AgentHostCodex,
646
646
  section: AICustomizationManagementSection.HarnessSettings
647
647
  })))), {
648
648
  icon: true,
649
649
  label: false
650
650
  });
651
- accountActionBar.push(panelStore.add(( new Action("codex.signOutOfChatGPT", ( localize(3193, "Sign Out")), ThemeIcon.asClassName(Codicon.signOut), true, () => this.codexAccountService.signOut()))), {
651
+ accountActionBar.push(panelStore.add(( new Action("codex.signOutOfChatGPT", ( localize(3208, "Sign Out")), ThemeIcon.asClassName(Codicon.signOut), true, () => this.codexAccountService.signOut()))), {
652
652
  icon: true,
653
653
  label: false
654
654
  });
@@ -659,7 +659,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
659
659
  const accountSection = append(
660
660
  identities,
661
661
  $("section.sessions-account-titlebar-panel-provider-account.signed-out", {
662
- "aria-label": ( localize(3189, "ChatGPT account"))
662
+ "aria-label": ( localize(3204, "ChatGPT account"))
663
663
  })
664
664
  );
665
665
  const accountIdentity = append(accountSection, $(".sessions-account-titlebar-panel-provider-identity"));
@@ -693,7 +693,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
693
693
  );
694
694
  if (this.shouldShowCopilotDashboardHover()) {
695
695
  const footer = append(panel, $("section.sessions-account-titlebar-panel-footer", {
696
- "aria-label": ( localize(3194, "Account status"))
696
+ "aria-label": ( localize(3209, "Account status"))
697
697
  }));
698
698
  append(footer, this.createCopilotHoverContent({
699
699
  compactQuotaLayout: true
@@ -766,12 +766,12 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
766
766
  if (quotaUsage.kind === QuotaUsageKind.CreditsUsed) {
767
767
  const creditsFormatted = formatter.value.format(quotaUsage.creditsUsed);
768
768
  append(planRow, $("span.sessions-account-titlebar-panel-provider-usage-value", {
769
- "aria-label": ( localize(3195, "{0} credits used", creditsFormatted))
769
+ "aria-label": ( localize(3210, "{0} credits used", creditsFormatted))
770
770
  }, creditsFormatted));
771
771
  } else {
772
772
  const usedPercentage = Math.floor(quotaUsage.usedPercentage);
773
- const percentageLabel = ( localize(3196, "{0}%", usedPercentage));
774
- const percentageAriaLabel = ( localize(3197, "{0}% credits used", usedPercentage));
773
+ const percentageLabel = ( localize(3211, "{0}%", usedPercentage));
774
+ const percentageAriaLabel = ( localize(3212, "{0}% credits used", usedPercentage));
775
775
  const {
776
776
  used,
777
777
  total
@@ -786,13 +786,13 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
786
786
  usageValue.setAttribute("aria-label", percentageAriaLabel);
787
787
  if (used !== undefined && total !== undefined) {
788
788
  const creditsValue = ( localize(
789
- 3198,
789
+ 3213,
790
790
  "{0} / {1}",
791
791
  formatter.value.format(used),
792
792
  formatter.value.format(total)
793
793
  ));
794
794
  const creditsAriaLabel = ( localize(
795
- 3199,
795
+ 3214,
796
796
  "{0} / {1} credits used",
797
797
  formatter.value.format(used),
798
798
  formatter.value.format(total)
@@ -825,7 +825,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
825
825
  append(detailRow, $(
826
826
  "span.sessions-account-titlebar-panel-provider-usage-label",
827
827
  undefined,
828
- ( localize(3200, "Credits used"))
828
+ ( localize(3215, "Credits used"))
829
829
  ));
830
830
  }
831
831
  appendChatGPTUsage(accountSection) {
@@ -836,10 +836,10 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
836
836
  "span.sessions-account-titlebar-panel-provider-plan",
837
837
  undefined,
838
838
  account.planType ? ( localize(
839
- 3201,
839
+ 3216,
840
840
  "ChatGPT {0}",
841
841
  account.planType.charAt(0).toUpperCase() + account.planType.slice(1)
842
- )) : ( localize(3202, "ChatGPT subscription"))
842
+ )) : ( localize(3217, "ChatGPT subscription"))
843
843
  ));
844
844
  if (!account.rateLimit) {
845
845
  return;
@@ -849,15 +849,15 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
849
849
  });
850
850
  const usedPercentage = percentageFormatter.value.format(account.rateLimit.usedPercent);
851
851
  append(planRow, $("span.sessions-account-titlebar-panel-provider-usage-value", {
852
- "aria-label": ( localize(3203, "{0}% used", usedPercentage))
853
- }, ( localize(3204, "{0}%", usedPercentage))));
852
+ "aria-label": ( localize(3218, "{0}% used", usedPercentage))
853
+ }, ( localize(3219, "{0}%", usedPercentage))));
854
854
  const detailRow = append(usage, $(".sessions-account-titlebar-panel-provider-metric-row.secondary"));
855
855
  if (account.rateLimit.resetsAt) {
856
856
  append(detailRow, $(
857
857
  "span.sessions-account-titlebar-panel-provider-reset",
858
858
  undefined,
859
859
  ( localize(
860
- 3205,
860
+ 3220,
861
861
  "{0} resets {1}",
862
862
  this.getChatGPTLimitLabel(account.rateLimit.windowDurationMins),
863
863
  fromNow(account.rateLimit.resetsAt * 1000, false, true)
@@ -869,7 +869,7 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
869
869
  append(detailRow, $(
870
870
  "span.sessions-account-titlebar-panel-provider-usage-label",
871
871
  undefined,
872
- ( localize(3206, "Limit used"))
872
+ ( localize(3221, "Limit used"))
873
873
  ));
874
874
  }
875
875
  getCopilotResetLabel(quota) {
@@ -878,22 +878,22 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
878
878
  return undefined;
879
879
  }
880
880
  return reset.hasTime ? ( localize(
881
- 3207,
881
+ 3222,
882
882
  "Resets {0} at {1}",
883
883
  accountDateFormatter.value.format(reset.date),
884
884
  accountTimeFormatter.value.format(reset.date)
885
- )) : ( localize(3208, "Resets {0}", accountDateFormatter.value.format(reset.date)));
885
+ )) : ( localize(3223, "Resets {0}", accountDateFormatter.value.format(reset.date)));
886
886
  }
887
887
  getChatGPTLimitLabel(windowDurationMins) {
888
888
  if (windowDurationMins !== undefined) {
889
889
  if (Math.abs(windowDurationMins - 7 * 24 * 60) <= 60) {
890
- return localize(3209, "Weekly limit");
890
+ return localize(3224, "Weekly limit");
891
891
  }
892
892
  if (Math.abs(windowDurationMins - 24 * 60) <= 60) {
893
- return localize(3210, "Daily limit");
893
+ return localize(3225, "Daily limit");
894
894
  }
895
895
  }
896
- return localize(3211, "Usage limit");
896
+ return localize(3226, "Usage limit");
897
897
  }
898
898
  partitionMenuActions(rawActions) {
899
899
  let signIn;
@@ -946,9 +946,9 @@ let TitleBarAccountWidget = class TitleBarAccountWidget extends BaseActionViewIt
946
946
  return this.accountName;
947
947
  }
948
948
  if (this.isAccountLoading) {
949
- return localize(3212, "Loading Account...");
949
+ return localize(3227, "Loading Account...");
950
950
  }
951
- return localize(3213, "Account");
951
+ return localize(3228, "Account");
952
952
  }
953
953
  getCopilotPlanLabel() {
954
954
  switch (this.chatEntitlementService.entitlement) {
@@ -995,7 +995,7 @@ registerAction2(class extends Action2 {
995
995
  constructor() {
996
996
  super({
997
997
  id: SessionsTitleBarAccountWidgetAction,
998
- title: ( localize2(3214, "Agents Account and Status")),
998
+ title: ( localize2(3229, "Agents Account and Status")),
999
999
  menu: {
1000
1000
  id: Menus.TitleBarRightLayout,
1001
1001
  group: "navigation",
@@ -74,14 +74,14 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
74
74
  if (!badges) {
75
75
  return;
76
76
  }
77
- this.element.setAttribute("aria-label", ( localize(3215, "Pet achievement badges")));
77
+ this.element.setAttribute("aria-label", ( localize(3230, "Pet achievement badges")));
78
78
  const header = append(this.element, $(".sessions-chat-pet-achievement-badges-header"));
79
- append(header, $("h2.sessions-chat-pet-achievement-badges-title")).textContent = ( localize(3216, "Badges"));
79
+ append(header, $("h2.sessions-chat-pet-achievement-badges-title")).textContent = ( localize(3231, "Badges"));
80
80
  const unlockedCount = badges.filter(badge => badge.unlocked).length;
81
- append(header, $("span.sessions-chat-pet-achievement-badges-count")).textContent = ( localize(3217, "{0} of {1} unlocked", unlockedCount, badges.length));
81
+ append(header, $("span.sessions-chat-pet-achievement-badges-count")).textContent = ( localize(3232, "{0} of {1} unlocked", unlockedCount, badges.length));
82
82
  const list = append(this.element, $("ul.sessions-chat-pet-achievement-badges-list"));
83
83
  list.setAttribute("aria-label", ( localize(
84
- 3218,
84
+ 3233,
85
85
  "Pet achievement badges, {0} of {1} unlocked",
86
86
  unlockedCount,
87
87
  badges.length
@@ -94,7 +94,7 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
94
94
  const accessory = achievement.accessories[0];
95
95
  const item = append(list, $("li.sessions-chat-pet-achievement-badges-list-item"));
96
96
  if (!unlocked) {
97
- item.setAttribute("aria-label", ( localize(3219, "Locked secret achievement badge")));
97
+ item.setAttribute("aria-label", ( localize(3234, "Locked secret achievement badge")));
98
98
  }
99
99
  const badgeElement = unlocked ? this.createUnlockedBadgeButton(item, achievement, accessory.id, selectedAccessory === accessory.id) : append(item, $("span.sessions-chat-pet-achievement-badge.locked", {
100
100
  "aria-hidden": "true"
@@ -112,16 +112,16 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
112
112
  this.renderDisposables.add(this.hoverService.setupManagedHover(
113
113
  getDefaultHoverDelegate("mouse"),
114
114
  badgeElement,
115
- unlocked ? accessory.label : ( localize(3220, "Locked"))
115
+ unlocked ? accessory.label : ( localize(3235, "Locked"))
116
116
  ));
117
117
  }
118
118
  const actions = append(this.element, $(".sessions-chat-pet-achievement-badges-actions"));
119
119
  const viewAchievements = this.renderDisposables.add(( new Button(actions, {
120
120
  ...defaultButtonStyles,
121
121
  secondary: true,
122
- ariaLabel: ( localize(3221, "View Pet Achievements"))
122
+ ariaLabel: ( localize(3236, "View Pet Achievements"))
123
123
  })));
124
- viewAchievements.label = ( localize(3222, "View Achievements"));
124
+ viewAchievements.label = ( localize(3237, "View Achievements"));
125
125
  this.renderDisposables.add(viewAchievements.onDidClick(() => this.onOpenAchievements()));
126
126
  if (restoreViewAchievementsFocus) {
127
127
  focusTarget = viewAchievements.element;
@@ -138,12 +138,12 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
138
138
  const accessory = achievement.accessories[0];
139
139
  const button = this.renderDisposables.add(( new Button(parent, {
140
140
  ariaLabel: selected ? ( localize(
141
- 3223,
141
+ 3238,
142
142
  "{0} achievement badge: {1}, wearing",
143
143
  achievement.title,
144
144
  accessory.label
145
145
  )) : ( localize(
146
- 3224,
146
+ 3239,
147
147
  "{0} achievement badge: wear {1}",
148
148
  achievement.title,
149
149
  accessory.label
@@ -158,7 +158,7 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
158
158
  return;
159
159
  }
160
160
  this.chatPetService.setAccessory(accessoryId);
161
- status(( localize(3225, "VS Code pet is now wearing {0}", accessory.label)));
161
+ status(( localize(3240, "VS Code pet is now wearing {0}", accessory.label)));
162
162
  }));
163
163
  return button.element;
164
164
  }
@@ -41,7 +41,7 @@ registerAction2(class extends Action2 {
41
41
  constructor() {
42
42
  super({
43
43
  id: OPEN_AI_CUSTOMIZATION_FILE_ID,
44
- title: ( localize2(3226, "Open")),
44
+ title: ( localize2(3241, "Open")),
45
45
  icon: Codicon.goToFile
46
46
  });
47
47
  }
@@ -57,7 +57,7 @@ registerAction2(class extends Action2 {
57
57
  constructor() {
58
58
  super({
59
59
  id: RUN_PROMPT_FROM_VIEW_ID,
60
- title: ( localize2(3227, "Run Prompt")),
60
+ title: ( localize2(3242, "Run Prompt")),
61
61
  icon: Codicon.play
62
62
  });
63
63
  }
@@ -71,7 +71,7 @@ registerAction2(class extends Action2 {
71
71
  constructor() {
72
72
  super({
73
73
  id: DELETE_AI_CUSTOMIZATION_FILE_ID,
74
- title: ( localize2(3228, "Delete")),
74
+ title: ( localize2(3243, "Delete")),
75
75
  icon: Codicon.trash
76
76
  });
77
77
  }
@@ -84,8 +84,8 @@ registerAction2(class extends Action2 {
84
84
  return;
85
85
  }
86
86
  const confirmation = await dialogService.confirm({
87
- message: ( localize(3229, "Are you sure you want to delete '{0}'?", name || uri.path)),
88
- primaryButton: ( localize(3228, "Delete"))
87
+ message: ( localize(3244, "Are you sure you want to delete '{0}'?", name || uri.path)),
88
+ primaryButton: ( localize(3243, "Delete"))
89
89
  });
90
90
  if (confirmation.confirmed) {
91
91
  const useTrash = fileService.hasCapability(uri, FileSystemProviderCapabilities.Trash);
@@ -101,7 +101,7 @@ registerAction2(class extends Action2 {
101
101
  constructor() {
102
102
  super({
103
103
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
104
- title: ( localize2(3230, "Copy Path")),
104
+ title: ( localize2(3245, "Copy Path")),
105
105
  icon: Codicon.clippy
106
106
  });
107
107
  }
@@ -115,7 +115,7 @@ registerAction2(class extends Action2 {
115
115
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
116
116
  command: {
117
117
  id: DELETE_AI_CUSTOMIZATION_FILE_ID,
118
- title: ( localize(3228, "Delete")),
118
+ title: ( localize(3243, "Delete")),
119
119
  icon: Codicon.trash
120
120
  },
121
121
  group: "inline",
@@ -124,7 +124,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
124
124
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
125
125
  command: {
126
126
  id: OPEN_AI_CUSTOMIZATION_FILE_ID,
127
- title: ( localize(3226, "Open"))
127
+ title: ( localize(3241, "Open"))
128
128
  },
129
129
  group: "1_open",
130
130
  order: 1
@@ -132,7 +132,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
132
132
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
133
133
  command: {
134
134
  id: RUN_PROMPT_FROM_VIEW_ID,
135
- title: ( localize(3227, "Run Prompt")),
135
+ title: ( localize(3242, "Run Prompt")),
136
136
  icon: Codicon.play
137
137
  },
138
138
  group: "2_run",
@@ -142,7 +142,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
142
142
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
143
143
  command: {
144
144
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
145
- title: ( localize(3230, "Copy Path"))
145
+ title: ( localize(3245, "Copy Path"))
146
146
  },
147
147
  group: "3_modify",
148
148
  order: 1
@@ -150,7 +150,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
150
150
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
151
151
  command: {
152
152
  id: DELETE_AI_CUSTOMIZATION_FILE_ID,
153
- title: ( localize(3228, "Delete"))
153
+ title: ( localize(3243, "Delete"))
154
154
  },
155
155
  group: "3_modify",
156
156
  order: 10
@@ -160,7 +160,7 @@ registerAction2(class extends Action2 {
160
160
  constructor() {
161
161
  super({
162
162
  id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
163
- title: ( localize2(3231, "Disable")),
163
+ title: ( localize2(3246, "Disable")),
164
164
  icon: Codicon.eyeClosed
165
165
  });
166
166
  }
@@ -187,7 +187,7 @@ registerAction2(class extends Action2 {
187
187
  constructor() {
188
188
  super({
189
189
  id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
190
- title: ( localize2(3232, "Enable")),
190
+ title: ( localize2(3247, "Enable")),
191
191
  icon: Codicon.eye
192
192
  });
193
193
  }
@@ -212,7 +212,7 @@ registerAction2(class extends Action2 {
212
212
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
213
213
  command: {
214
214
  id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
215
- title: ( localize(3231, "Disable"))
215
+ title: ( localize(3246, "Disable"))
216
216
  },
217
217
  group: "4_toggle",
218
218
  order: 1,
@@ -221,7 +221,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
221
221
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
222
222
  command: {
223
223
  id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
224
- title: ( localize(3232, "Enable"))
224
+ title: ( localize(3247, "Enable"))
225
225
  },
226
226
  group: "4_toggle",
227
227
  order: 1,
@@ -230,7 +230,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
230
230
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
231
231
  command: {
232
232
  id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
233
- title: ( localize(3231, "Disable")),
233
+ title: ( localize(3246, "Disable")),
234
234
  icon: Codicon.eyeClosed
235
235
  },
236
236
  group: "inline",
@@ -240,7 +240,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
240
240
  MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
241
241
  command: {
242
242
  id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
243
- title: ( localize(3232, "Enable")),
243
+ title: ( localize(3247, "Enable")),
244
244
  icon: Codicon.eye
245
245
  },
246
246
  group: "inline",
@@ -251,7 +251,7 @@ registerAction2(class extends Action2 {
251
251
  constructor() {
252
252
  super({
253
253
  id: FOCUS_AI_CUSTOMIZATION_VIEW_ID,
254
- title: ( localize2(3233, "Focus Chat Customizations")),
254
+ title: ( localize2(3248, "Focus Chat Customizations")),
255
255
  category: AI_CUSTOMIZATION_CATEGORY,
256
256
  precondition: ( ContextKeyExpr.and(IsSessionsWindowContext, ChatContextKeys.enabled, ( IsPhoneLayoutContext.negate()))),
257
257
  f1: true,
@@ -215,26 +215,26 @@ class UnifiedAICustomizationDataSource {
215
215
  const items = [{
216
216
  type: "category",
217
217
  id: "category-agents",
218
- label: ( localize(3235, "Custom Agents")),
218
+ label: ( localize(3250, "Custom Agents")),
219
219
  promptType: PromptsType.agent,
220
220
  icon: agentIcon
221
221
  }, {
222
222
  type: "category",
223
223
  id: "category-skills",
224
- label: ( localize(3236, "Skills")),
224
+ label: ( localize(3251, "Skills")),
225
225
  promptType: PromptsType.skill,
226
226
  icon: skillIcon
227
227
  }, {
228
228
  type: "category",
229
229
  id: "category-instructions",
230
- label: ( localize(3237, "Instructions")),
230
+ label: ( localize(3252, "Instructions")),
231
231
  promptType: PromptsType.instructions,
232
232
  icon: instructionsIcon
233
233
  }];
234
234
  items.push({
235
235
  type: "link",
236
236
  id: "link-mcp-servers",
237
- label: ( localize(3238, "MCP Servers")),
237
+ label: ( localize(3253, "MCP Servers")),
238
238
  icon: mcpServerIcon,
239
239
  section: AICustomizationManagementSection.McpServers
240
240
  });
@@ -337,11 +337,11 @@ class UnifiedAICustomizationDataSource {
337
337
  }
338
338
  createGroupItem(promptType, storage, count) {
339
339
  const storageLabels = {
340
- [AICustomizationSources.local]: ( localize(3239, "Workspace ({0})", count)),
341
- [AICustomizationSources.user]: ( localize(3240, "User ({0})", count)),
342
- [AICustomizationSources.extension]: ( localize(3241, "Extensions ({0})", count)),
343
- [AICustomizationSources.plugin]: ( localize(3242, "Plugins ({0})", count)),
344
- [AICustomizationSources.builtin]: ( localize(3243, "Built-in ({0})", count))
340
+ [AICustomizationSources.local]: ( localize(3254, "Workspace ({0})", count)),
341
+ [AICustomizationSources.user]: ( localize(3255, "User ({0})", count)),
342
+ [AICustomizationSources.extension]: ( localize(3256, "Extensions ({0})", count)),
343
+ [AICustomizationSources.plugin]: ( localize(3257, "Plugins ({0})", count)),
344
+ [AICustomizationSources.builtin]: ( localize(3258, "Built-in ({0})", count))
345
345
  };
346
346
  const storageIcons = {
347
347
  [AICustomizationSources.local]: workspaceIcon,
@@ -508,10 +508,10 @@ class UnifiedAICustomizationDataSource {
508
508
  if (element.type === "group") {
509
509
  return element.label;
510
510
  }
511
- const nameAndDesc = element.description ? ( localize(3244, "{0}, {1}", element.name, element.description)) : element.name;
512
- return element.disabled ? ( localize(3245, "{0}, disabled", nameAndDesc)) : nameAndDesc;
511
+ const nameAndDesc = element.description ? ( localize(3259, "{0}, {1}", element.name, element.description)) : element.name;
512
+ return element.disabled ? ( localize(3260, "{0}, disabled", nameAndDesc)) : nameAndDesc;
513
513
  },
514
- getWidgetAriaLabel: () => ( localize(3246, "Chat Customization Items"))
514
+ getWidgetAriaLabel: () => ( localize(3261, "Chat Customization Items"))
515
515
  },
516
516
  keyboardNavigationLabelProvider: {
517
517
  getKeyboardNavigationLabel: element => {