@codingame/monaco-vscode-welcome-service-override 32.0.2 → 33.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-welcome-service-override",
3
- "version": "32.0.2",
3
+ "version": "33.0.9",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - welcome service-override",
6
6
  "keywords": [],
7
+ "license": "MIT",
7
8
  "author": {
8
9
  "name": "CodinGame",
9
10
  "url": "http://www.codingame.com"
10
11
  },
11
- "license": "MIT",
12
12
  "repository": {
13
13
  "type": "git",
14
14
  "url": "git+ssh://git@github.com/CodinGame/monaco-vscode-api.git"
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "32.0.2"
18
+ "@codingame/monaco-vscode-api": "33.0.9"
19
19
  },
20
20
  "main": "index.js",
21
21
  "module": "index.js",
@@ -18,6 +18,7 @@ import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/
18
18
  import { IWorkbenchThemeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/themes/common/workbenchThemeService.service';
19
19
  import { EXTENSION_INSTALL_SKIP_WALKTHROUGH_CONTEXT } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement';
20
20
  import { IExtensionGalleryService, IExtensionManagementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
21
+ import { GitHubPaths } from '@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount';
21
22
  import { IDefaultAccountService } from '@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount.service';
22
23
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
23
24
  import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
@@ -108,11 +109,11 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
108
109
  this.overlay = append(container, $(".onboarding-a-overlay"));
109
110
  this.overlay.setAttribute("role", "dialog");
110
111
  this.overlay.setAttribute("aria-modal", "true");
111
- this.overlay.setAttribute("aria-label", ( localize(15964, "Welcome to Visual Studio Code")));
112
+ this.overlay.setAttribute("aria-label", ( localize(16096, "Welcome to Visual Studio Code")));
112
113
  this.card = append(this.overlay, $(".onboarding-a-card"));
113
114
  this.closeButton = append(this.card, $("button.onboarding-a-close-btn"));
114
115
  this.closeButton.type = "button";
115
- this.closeButton.setAttribute("aria-label", ( localize(15965, "Close")));
116
+ this.closeButton.setAttribute("aria-label", ( localize(16097, "Close")));
116
117
  this.closeButton.appendChild(renderIcon(Codicon.close));
117
118
  const header = append(this.card, $(".onboarding-a-header"));
118
119
  this.progressContainer = append(header, $(".onboarding-a-progress"));
@@ -128,7 +129,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
128
129
  this.footerLeft = append(footer, $(".onboarding-a-footer-left"));
129
130
  const footerRight = append(footer, $(".onboarding-a-footer-right"));
130
131
  this.backButton = append(footerRight, $("button.onboarding-a-btn.onboarding-a-btn-secondary"));
131
- this.backButton.textContent = ( localize(15966, "Back"));
132
+ this.backButton.textContent = ( localize(16098, "Back"));
132
133
  this.backButton.type = "button";
133
134
  this.footerFocusableElements.push(this.backButton);
134
135
  this.nextButton = append(footerRight, $("button.onboarding-a-btn.onboarding-a-btn-primary"));
@@ -244,7 +245,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
244
245
  }
245
246
  }
246
247
  this.progressContainer.appendChild(this.stepLabelEl);
247
- this.stepLabelEl.textContent = ( localize(15967, "{0} of {1}", this.currentStepIndex + 1, this.steps.length));
248
+ this.stepLabelEl.textContent = ( localize(16099, "{0} of {1}", this.currentStepIndex + 1, this.steps.length));
248
249
  }
249
250
  _renderStep() {
250
251
  if (!this.titleEl || !this.subtitleEl || !this.contentEl) {
@@ -280,7 +281,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
280
281
  break;
281
282
  }
282
283
  this.bodyEl?.setAttribute("aria-label", ( localize(
283
- 15968,
284
+ 16100,
284
285
  "Step {0} of {1}: {2}",
285
286
  this.currentStepIndex + 1,
286
287
  this.steps.length,
@@ -294,13 +295,13 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
294
295
  if (this.nextButton) {
295
296
  if (this.currentStepIndex === 0) {
296
297
  this.nextButton.className = "onboarding-a-btn onboarding-a-btn-secondary";
297
- this.nextButton.textContent = ( localize(15969, "Continue without Signing In"));
298
+ this.nextButton.textContent = ( localize(16101, "Continue without Signing In"));
298
299
  } else if (this._isLastStep()) {
299
300
  this.nextButton.className = "onboarding-a-btn onboarding-a-btn-primary";
300
- this.nextButton.textContent = ( localize(15970, "Get Started"));
301
+ this.nextButton.textContent = ( localize(16102, "Get Started"));
301
302
  } else {
302
303
  this.nextButton.className = "onboarding-a-btn onboarding-a-btn-primary";
303
- this.nextButton.textContent = ( localize(15971, "Continue"));
304
+ this.nextButton.textContent = ( localize(16103, "Continue"));
304
305
  }
305
306
  }
306
307
  if (this.footerLeft) {
@@ -308,7 +309,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
308
309
  if (!this._footerSignInBtn && !this._userSignedIn) {
309
310
  this._footerSignInBtn = append(this.footerLeft, $("button.onboarding-a-signin-nudge-btn"));
310
311
  this._footerSignInBtn.type = "button";
311
- this._footerSignInBtn.textContent = ( localize(15972, "Sign in for AI Powered Features"));
312
+ this._footerSignInBtn.textContent = ( localize(16104, "Sign in for AI Powered Features"));
312
313
  this.stepDisposables.add(
313
314
  addDisposableListener(this._footerSignInBtn, EventType.CLICK, async () => {
314
315
  this._logAction("signInNudge");
@@ -336,37 +337,37 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
336
337
  const content = append(wrapper, $(".onboarding-a-signin-content"));
337
338
  const contentMain = append(content, $(".onboarding-a-signin-content-main"));
338
339
  const title = append(contentMain, $("h2.onboarding-a-signin-title"));
339
- title.textContent = ( localize(15973, "Welcome to VS Code"));
340
+ title.textContent = ( localize(16105, "Welcome to VS Code"));
340
341
  const subtitle = append(contentMain, $("p.onboarding-a-signin-subtitle"));
341
- subtitle.textContent = ( localize(15974, "Sign in to continue with AI-powered development."));
342
+ subtitle.textContent = ( localize(16106, "Sign in to continue with AI-powered development."));
342
343
  const actions = append(contentMain, $(".onboarding-a-signin-actions"));
343
- const githubBtn = this._registerStepFocusable(this._createSignInButton(actions, "github", ( localize(15975, "Continue with GitHub")), {
344
+ const githubBtn = this._registerStepFocusable(this._createSignInButton(actions, "github", ( localize(16107, "Continue with GitHub")), {
344
345
  emphasized: true,
345
- label: ( localize(15976, "Continue with GitHub"))
346
+ label: ( localize(16108, "Continue with GitHub"))
346
347
  }));
347
348
  this.stepDisposables.add(addDisposableListener(githubBtn, EventType.CLICK, () => {
348
349
  this._logAction("signIn", undefined, "github");
349
350
  this._handleSignIn();
350
351
  }));
351
- const googleBtn = this._registerStepFocusable(this._createSignInButton(actions, "google", ( localize(15977, "Continue with Google")), {
352
+ const googleBtn = this._registerStepFocusable(this._createSignInButton(actions, "google", ( localize(16109, "Continue with Google")), {
352
353
  iconOnly: true,
353
- label: ( localize(15977, "Continue with Google"))
354
+ label: ( localize(16109, "Continue with Google"))
354
355
  }));
355
356
  this.stepDisposables.add(addDisposableListener(googleBtn, EventType.CLICK, () => {
356
357
  this._logAction("signIn", undefined, "google");
357
358
  this._handleSignIn("google");
358
359
  }));
359
- const appleBtn = this._registerStepFocusable(this._createSignInButton(actions, "apple", ( localize(15978, "Continue with Apple")), {
360
+ const appleBtn = this._registerStepFocusable(this._createSignInButton(actions, "apple", ( localize(16110, "Continue with Apple")), {
360
361
  iconOnly: true,
361
- label: ( localize(15978, "Continue with Apple"))
362
+ label: ( localize(16110, "Continue with Apple"))
362
363
  }));
363
364
  this.stepDisposables.add(addDisposableListener(appleBtn, EventType.CLICK, () => {
364
365
  this._logAction("signIn", undefined, "apple");
365
366
  this._handleSignIn("apple");
366
367
  }));
367
- const gheBtn = this._registerStepFocusable(this._createSignInButton(actions, "github-enterprise", ( localize(15979, "GHE")), {
368
+ const gheBtn = this._registerStepFocusable(this._createSignInButton(actions, "github-enterprise", ( localize(16111, "GHE")), {
368
369
  textOnly: true,
369
- label: ( localize(15980, "Continue with GitHub Enterprise"))
370
+ label: ( localize(16112, "Continue with GitHub Enterprise"))
370
371
  }));
371
372
  this.stepDisposables.add(addDisposableListener(gheBtn, EventType.CLICK, () => {
372
373
  this._logAction("signIn", undefined, "github-enterprise");
@@ -376,20 +377,20 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
376
377
  const disclaimerCol = append(footer, $(".onboarding-a-signin-disclaimer-col"));
377
378
  const copilotDisclaimer = append(disclaimerCol, $(".onboarding-a-signin-disclaimer"));
378
379
  copilotDisclaimer.append(( localize(
379
- 15981,
380
+ 16113,
380
381
  "By signing in, you agree to {0}'s ",
381
382
  defaultChat.provider.default.name
382
383
  )));
383
- this._createInlineLink(copilotDisclaimer, ( localize(15982, "Terms")), defaultChat.termsStatementUrl);
384
- copilotDisclaimer.append(( localize(15983, " and ")));
385
- this._createInlineLink(copilotDisclaimer, ( localize(15984, "Privacy Statement")), defaultChat.privacyStatementUrl);
386
- copilotDisclaimer.append(( localize(15985, ". {0} Copilot may show ", defaultChat.provider.default.name)));
387
- this._createInlineLink(copilotDisclaimer, ( localize(15986, "public code")), defaultChat.publicCodeMatchesUrl);
388
- copilotDisclaimer.append(( localize(15987, " suggestions and use your data to improve the product.")));
384
+ this._createInlineLink(copilotDisclaimer, ( localize(16114, "Terms")), defaultChat.termsStatementUrl);
385
+ copilotDisclaimer.append(( localize(16115, " and ")));
386
+ this._createInlineLink(copilotDisclaimer, ( localize(16116, "Privacy Statement")), defaultChat.privacyStatementUrl);
387
+ copilotDisclaimer.append(( localize(16117, ". {0} Copilot may show ", defaultChat.provider.default.name)));
388
+ this._createInlineLink(copilotDisclaimer, ( localize(16118, "public code")), defaultChat.publicCodeMatchesUrl);
389
+ copilotDisclaimer.append(( localize(16119, " suggestions and use your data to improve the product.")));
389
390
  copilotDisclaimer.append(" ");
390
- copilotDisclaimer.append(( localize(15988, "You can change these ")));
391
- this._createInlineLink(copilotDisclaimer, ( localize(15989, "settings")), defaultChat.manageSettingsUrl);
392
- copilotDisclaimer.append(( localize(15990, " anytime.")));
391
+ copilotDisclaimer.append(( localize(16120, "You can change these ")));
392
+ this._createInlineLink(copilotDisclaimer, ( localize(16121, "settings")), this.defaultAccountService.resolveGitHubUrl(GitHubPaths.copilotSettings));
393
+ copilotDisclaimer.append(( localize(16122, " anytime.")));
393
394
  }
394
395
  _createSignInButton(parent, providerClass, label, options) {
395
396
  const isCompact = options?.iconOnly || options?.textOnly;
@@ -458,7 +459,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
458
459
  });
459
460
  this.notificationService.notify({
460
461
  severity: Severity.Error,
461
- message: ( localize(15991, "Sign-in failed. You can try again later from the Accounts menu."))
462
+ message: ( localize(16123, "Sign-in failed. You can try again later from the Accounts menu."))
462
463
  });
463
464
  }
464
465
  }
@@ -508,7 +509,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
508
509
  this.notificationService.notify({
509
510
  severity: Severity.Error,
510
511
  message: ( localize(
511
- 15992,
512
+ 16124,
512
513
  "GitHub Enterprise sign-in failed. Check your instance URL and try again."
513
514
  ))
514
515
  });
@@ -523,8 +524,8 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
523
524
  }
524
525
  let isSingleWord = false;
525
526
  const result = await this.quickInputService.input({
526
- prompt: ( localize(15993, "What is your {0} instance?", defaultChat.provider.enterprise.name)),
527
- placeHolder: ( localize(15994, "i.e. \"octocat\" or \"https://octocat.ghe.com\"...")),
527
+ prompt: ( localize(16125, "What is your {0} instance?", defaultChat.provider.enterprise.name)),
528
+ placeHolder: ( localize(16126, "i.e. \"octocat\" or \"https://octocat.ghe.com\"...")),
528
529
  ignoreFocusLost: true,
529
530
  value: uri,
530
531
  validateInput: async value => {
@@ -535,14 +536,14 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
535
536
  if (domainRegEx.test(value)) {
536
537
  isSingleWord = true;
537
538
  return {
538
- content: ( localize(15995, "Will resolve to {0}", `https://${value}.ghe.com`)),
539
+ content: ( localize(16127, "Will resolve to {0}", `https://${value}.ghe.com`)),
539
540
  severity: Severity.Info
540
541
  };
541
542
  }
542
543
  if (!fullUriRegEx.test(value)) {
543
544
  return {
544
545
  content: ( localize(
545
- 15996,
546
+ 16128,
546
547
  "You must enter a valid {0} instance (i.e. \"octocat\" or \"https://octocat.ghe.com\")",
547
548
  defaultChat.provider.enterprise.name
548
549
  )),
@@ -567,15 +568,15 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
567
568
  _renderPersonalizeStep(container) {
568
569
  const wrapper = append(container, $(".onboarding-a-personalize"));
569
570
  const themeLabel = append(wrapper, $("div.onboarding-a-section-label"));
570
- themeLabel.textContent = ( localize(15997, "Color Theme"));
571
+ themeLabel.textContent = ( localize(16129, "Color Theme"));
571
572
  const themeHint = append(wrapper, $("div.onboarding-a-theme-hint"));
572
573
  themeHint.textContent = ( localize(
573
- 15998,
574
+ 16130,
574
575
  "You can browse and install more themes later from the Extensions view."
575
576
  ));
576
577
  const themeGrid = append(wrapper, $(".onboarding-a-theme-grid"));
577
578
  themeGrid.setAttribute("role", "radiogroup");
578
- themeGrid.setAttribute("aria-label", ( localize(15999, "Choose a color theme")));
579
+ themeGrid.setAttribute("aria-label", ( localize(16131, "Choose a color theme")));
579
580
  const hasOtherEditors = this._hasOtherEditors();
580
581
  const allThemes = product.onboardingThemes ?? [];
581
582
  const themes = hasOtherEditors ? allThemes.filter(t => !t.id.startsWith("solarized")) : allThemes;
@@ -595,15 +596,15 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
595
596
  wrapper,
596
597
  $("div.onboarding-a-section-label.onboarding-a-section-label-keymap")
597
598
  );
598
- keymapLabel.textContent = ( localize(16000, "Keyboard Mapping"));
599
+ keymapLabel.textContent = ( localize(16132, "Keyboard Mapping"));
599
600
  const keymapHint = append(wrapper, $("div.onboarding-a-theme-hint"));
600
601
  keymapHint.textContent = ( localize(
601
- 16001,
602
+ 16133,
602
603
  "Coming from another editor? Import your keyboard mapping to feel right at home."
603
604
  ));
604
605
  const keymapList = append(wrapper, $(".onboarding-a-keymap-list"));
605
606
  keymapList.setAttribute("role", "radiogroup");
606
- keymapList.setAttribute("aria-label", ( localize(16002, "Choose a keyboard mapping")));
607
+ keymapList.setAttribute("aria-label", ( localize(16134, "Choose a keyboard mapping")));
607
608
  const keymapPills = [];
608
609
  for (const keymap of keymapOptions) {
609
610
  const pill = this._registerStepFocusable(append(keymapList, $("button.onboarding-a-keymap-pill")));
@@ -626,7 +627,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
626
627
  }
627
628
  pill.classList.add("selected");
628
629
  pill.setAttribute("aria-checked", "true");
629
- this.accessibilityService.alert(( localize(16003, "{0} keyboard mapping selected", keymap.label)));
630
+ this.accessibilityService.alert(( localize(16135, "{0} keyboard mapping selected", keymap.label)));
630
631
  }));
631
632
  }
632
633
  const selectedKeymapIndex = keymapOptions.findIndex(k => k.id === this.selectedKeymapId);
@@ -636,7 +637,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
636
637
  _renderPersonalizeSubtitle(container) {
637
638
  clearNode(container);
638
639
  const modifier = isMacintosh ? "Cmd" : "Ctrl";
639
- container.append(( localize(16004, "Tip: Press ")), this._createKbd(( localize(16005, "{0}", modifier))), "+", this._createKbd(( localize(16006, "Shift"))), "+", this._createKbd(( localize(16007, "P"))), ( localize(16008, " to access all VS Code commands.")));
640
+ container.append(( localize(16136, "Tip: Press ")), this._createKbd(( localize(16137, "{0}", modifier))), "+", this._createKbd(( localize(16138, "Shift"))), "+", this._createKbd(( localize(16139, "P"))), ( localize(16140, " to access all VS Code commands.")));
640
641
  }
641
642
  _createThemeCard(parent, theme, allCards) {
642
643
  const card = this._registerStepFocusable(append(parent, $("div.onboarding-a-theme-card")));
@@ -664,7 +665,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
664
665
  }
665
666
  card.classList.add("selected");
666
667
  card.setAttribute("aria-checked", "true");
667
- this.accessibilityService.alert(( localize(16009, "{0} theme selected", theme.label)));
668
+ this.accessibilityService.alert(( localize(16141, "{0} theme selected", theme.label)));
668
669
  }));
669
670
  this.stepDisposables.add(addDisposableListener(card, EventType.KEY_DOWN, e => {
670
671
  if (e.key === "Enter" || e.key === " ") {
@@ -701,7 +702,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
701
702
  this.notificationService.notify({
702
703
  severity: Severity.Warning,
703
704
  message: ( localize(
704
- 16010,
705
+ 16142,
705
706
  "Could not install {0} keymap. You can install it later from Extensions.",
706
707
  keymap.label
707
708
  ))
@@ -824,7 +825,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
824
825
  const wrapper = append(container, $(".onboarding-a-ai-pref"));
825
826
  const cards = append(wrapper, $(".onboarding-a-ai-pref-cards"));
826
827
  cards.setAttribute("role", "radiogroup");
827
- cards.setAttribute("aria-label", ( localize(16011, "Choose your AI collaboration style")));
828
+ cards.setAttribute("aria-label", ( localize(16143, "Choose your AI collaboration style")));
828
829
  const allCards = [];
829
830
  for (const option of ONBOARDING_AI_PREFERENCE_OPTIONS) {
830
831
  const card = this._registerStepFocusable(append(cards, $("button.onboarding-a-ai-pref-card")));
@@ -852,13 +853,13 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
852
853
  c.setAttribute("aria-checked", c.dataset.id === option.id ? "true" : "false");
853
854
  }
854
855
  this._applyAiPreference(option.id);
855
- this.accessibilityService.alert(( localize(16012, "{0} selected", option.label)));
856
+ this.accessibilityService.alert(( localize(16144, "{0} selected", option.label)));
856
857
  }));
857
858
  }
858
859
  const selectedAiIndex = ONBOARDING_AI_PREFERENCE_OPTIONS.findIndex(o => o.id === this.selectedAiMode);
859
860
  this._setupRadioGroupNavigation(allCards, Math.max(0, selectedAiIndex));
860
861
  const hint = append(wrapper, $("div.onboarding-a-ai-pref-hint"));
861
- hint.textContent = ( localize(16013, "You can change this anytime in Settings."));
862
+ hint.textContent = ( localize(16145, "You can change this anytime in Settings."));
862
863
  }
863
864
  _applyAiPreference(mode) {
864
865
  switch (mode) {
@@ -878,7 +879,7 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
878
879
  const keys = isMacintosh ?
879
880
  ["⌘", "⌃", "I"] : ["Ctrl", "Alt", "I"];
880
881
  const shortcut = ( keys.map(k => this._createKbd(k)));
881
- el.append(( localize(16014, "Open Chat anytime with ")));
882
+ el.append(( localize(16146, "Open Chat anytime with ")));
882
883
  for (let i = 0; i < shortcut.length; i++) {
883
884
  if (i > 0) {
884
885
  el.append("+");
@@ -891,30 +892,30 @@ let OnboardingVariationA = class OnboardingVariationA extends Disposable {
891
892
  const features = append(wrapper, $(".onboarding-a-sessions-features"));
892
893
  const chatGroup = append(features, $(".onboarding-a-sessions-group"));
893
894
  const chatLabel = append(chatGroup, $("div.onboarding-a-sessions-group-label"));
894
- chatLabel.textContent = ( localize(16015, "Choose Your Agent"));
895
+ chatLabel.textContent = ( localize(16147, "Choose Your Agent"));
895
896
  const chatGrid = append(chatGroup, $(".onboarding-a-sessions-grid.onboarding-a-sessions-grid-2"));
896
- this._createFeatureCard(chatGrid, Codicon.listOrdered, ( localize(16016, "Plan")), ( localize(
897
- 16017,
897
+ this._createFeatureCard(chatGrid, Codicon.listOrdered, ( localize(16148, "Plan")), ( localize(
898
+ 16149,
898
899
  "Produce a structured implementation plan before any code changes, then hand it off to an implementation agent to execute."
899
900
  )));
900
- this._createFeatureCard(chatGrid, Codicon.commentDiscussion, ( localize(16018, "Agent")), ( localize(
901
- 16019,
901
+ this._createFeatureCard(chatGrid, Codicon.commentDiscussion, ( localize(16150, "Agent")), ( localize(
902
+ 16151,
902
903
  "Describe a goal. The agent plans the approach, edits files, runs commands, and self-corrects. You review and approve along the way."
903
904
  )));
904
905
  const moreGroup = append(features, $(".onboarding-a-sessions-group"));
905
906
  const moreLabel = append(moreGroup, $("div.onboarding-a-sessions-group-label"));
906
- moreLabel.textContent = ( localize(16020, "Agents That Work Your Way"));
907
+ moreLabel.textContent = ( localize(16152, "Agents That Work Your Way"));
907
908
  const moreGrid = append(moreGroup, $(".onboarding-a-sessions-grid.onboarding-a-sessions-grid-2"));
908
- this._createFeatureCard(moreGrid, Codicon.rocket, ( localize(16021, "Run Agents Anywhere")), ( localize(
909
- 16022,
909
+ this._createFeatureCard(moreGrid, Codicon.rocket, ( localize(16153, "Run Agents Anywhere")), ( localize(
910
+ 16154,
910
911
  "Run agents locally for interactive work, in the background with Copilot CLI, or in the cloud with cloud agents that open a pull request your team can review."
911
912
  )));
912
- this._createFeatureCard(moreGrid, Codicon.settingsGear, ( localize(16023, "Customize Your Agents")), ( localize(
913
- 16024,
913
+ this._createFeatureCard(moreGrid, Codicon.settingsGear, ( localize(16155, "Customize Your Agents")), ( localize(
914
+ 16156,
914
915
  "Tailor Copilot to your project with custom instructions and agents, skills, reusable prompts, and MCP servers that connect to the tools and context you rely on."
915
916
  )));
916
917
  const docsRow = append(wrapper, $(".onboarding-a-sessions-docs"));
917
- this._createDocLink(docsRow, ( localize(16025, "Agents tutorial")), "https://code.visualstudio.com/docs/copilot/agents/agents-tutorial", "agentsTutorial");
918
+ this._createDocLink(docsRow, ( localize(16157, "Agents tutorial")), "https://code.visualstudio.com/docs/copilot/agents/agents-tutorial", "agentsTutorial");
918
919
  }
919
920
  _createFeatureCard(parent, icon, title, description) {
920
921
  const card = this._registerStepFocusable(append(parent, $("div.onboarding-a-feature-card")));
@@ -13,7 +13,7 @@ registerAction2(class extends Action2 {
13
13
  constructor() {
14
14
  super({
15
15
  id: "workbench.action.welcomeOnboarding2026",
16
- title: ( localize2(16026, "Welcome Onboarding 2026")),
16
+ title: ( localize2(16158, "Welcome Onboarding 2026")),
17
17
  category: Categories.Developer,
18
18
  f1: true
19
19
  });
@@ -18,13 +18,13 @@ import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/com
18
18
  import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
19
19
 
20
20
  var NewFileTemplatesManager_1;
21
- const builtInSource = ( localize(16041, "Built-In"));
22
- const category = ( localize2(16042, "Create"));
21
+ const builtInSource = ( localize(16173, "Built-In"));
22
+ const category = ( localize2(16174, "Create"));
23
23
  registerAction2(class extends Action2 {
24
24
  constructor() {
25
25
  super({
26
26
  id: "welcome.showNewFileEntries",
27
- title: ( localize2(16043, "New File...")),
27
+ title: ( localize2(16175, "New File...")),
28
28
  category,
29
29
  f1: true,
30
30
  precondition: ( IsSessionsWindowContext.negate()),
@@ -108,8 +108,8 @@ let NewFileTemplatesManager = class NewFileTemplatesManager extends Disposable {
108
108
  const qp = this.quickInputService.createQuickPick({
109
109
  useSeparators: true
110
110
  });
111
- qp.title = ( localize(16044, "New File..."));
112
- qp.placeholder = ( localize(16045, "Select File Type or Enter File Name..."));
111
+ qp.title = ( localize(16176, "New File..."));
112
+ qp.placeholder = ( localize(16177, "Select File Type or Enter File Name..."));
113
113
  qp.sortByLabel = false;
114
114
  qp.matchOnDetail = true;
115
115
  qp.matchOnDescription = true;
@@ -136,8 +136,8 @@ let NewFileTemplatesManager = class NewFileTemplatesManager extends Disposable {
136
136
  return a.from.localeCompare(b.from);
137
137
  };
138
138
  const displayCategory = {
139
- "file": ( localize(16046, "File")),
140
- "notebook": ( localize(16047, "Notebook"))
139
+ "file": ( localize(16178, "File")),
140
+ "notebook": ( localize(16179, "Notebook"))
141
141
  };
142
142
  const refreshQp = entries => {
143
143
  const items = [];
@@ -159,7 +159,7 @@ let NewFileTemplatesManager = class NewFileTemplatesManager extends Disposable {
159
159
  keybinding,
160
160
  buttons: command ? [{
161
161
  iconClass: "codicon codicon-gear",
162
- tooltip: ( localize(16048, "Configure Keybinding"))
162
+ tooltip: ( localize(16180, "Configure Keybinding"))
163
163
  }] : [],
164
164
  detail: "",
165
165
  description: entry.from
@@ -181,7 +181,7 @@ let NewFileTemplatesManager = class NewFileTemplatesManager extends Disposable {
181
181
  viewType: undefined,
182
182
  fileName: val
183
183
  },
184
- title: ( localize(16049, "Create New File ({0})", val)),
184
+ title: ( localize(16181, "Create New File ({0})", val)),
185
185
  group: "file",
186
186
  from: builtInSource
187
187
  };
@@ -215,7 +215,7 @@ MenuRegistry.appendMenuItem(MenuId.NewFile, {
215
215
  group: "file",
216
216
  command: {
217
217
  id: "workbench.action.files.newUntitledFile",
218
- title: ( localize(16050, "Text File"))
218
+ title: ( localize(16182, "Text File"))
219
219
  },
220
220
  order: 1
221
221
  });
@@ -63,7 +63,7 @@ function parseGroupAndOrder(welcome, contribution) {
63
63
  if (welcome.group) {
64
64
  if (!isProposedApiEnabled(contribution.description)) {
65
65
  contribution.collector.warn(( localize(
66
- 16051,
66
+ 16183,
67
67
  "The viewsWelcome contribution in '{0}' requires 'enabledApiProposals: [\"contribViewsWelcome\"]' in order to use the 'group' proposed property.",
68
68
  contribution.description.identifier.value
69
69
  )));
@@ -20,12 +20,12 @@ const ViewIdentifierMap = {
20
20
  const viewsWelcomeExtensionPointSchema = ( Object.freeze({
21
21
  type: "array",
22
22
  description: ( localize(
23
- 16052,
23
+ 16184,
24
24
  "Contributed views welcome content. Welcome content will be rendered in tree based views whenever they have no meaningful content to display, ie. the File Explorer when no folder is open. Such content is useful as in-product documentation to drive users to use certain features before they are available. A good example would be a `Clone Repository` button in the File Explorer welcome view."
25
25
  )),
26
26
  items: {
27
27
  type: "object",
28
- description: ( localize(16053, "Contributed welcome content for a specific view.")),
28
+ description: ( localize(16185, "Contributed welcome content for a specific view.")),
29
29
  required: [
30
30
  ViewsWelcomeExtensionPointFields.view,
31
31
  ViewsWelcomeExtensionPointFields.contents
@@ -35,13 +35,13 @@ const viewsWelcomeExtensionPointSchema = ( Object.freeze({
35
35
  anyOf: [{
36
36
  type: "string",
37
37
  description: ( localize(
38
- 16054,
38
+ 16186,
39
39
  "Target view identifier for this welcome content. Only tree based views are supported."
40
40
  ))
41
41
  }, {
42
42
  type: "string",
43
43
  description: ( localize(
44
- 16054,
44
+ 16186,
45
45
  "Target view identifier for this welcome content. Only tree based views are supported."
46
46
  )),
47
47
  enum: ( Object.keys(ViewIdentifierMap))
@@ -50,22 +50,22 @@ const viewsWelcomeExtensionPointSchema = ( Object.freeze({
50
50
  [ViewsWelcomeExtensionPointFields.contents]: {
51
51
  type: "string",
52
52
  description: ( localize(
53
- 16055,
53
+ 16187,
54
54
  "Welcome content to be displayed. The format of the contents is a subset of Markdown, with support for links only."
55
55
  ))
56
56
  },
57
57
  [ViewsWelcomeExtensionPointFields.when]: {
58
58
  type: "string",
59
- description: ( localize(16056, "Condition when the welcome content should be displayed."))
59
+ description: ( localize(16188, "Condition when the welcome content should be displayed."))
60
60
  },
61
61
  [ViewsWelcomeExtensionPointFields.group]: {
62
62
  type: "string",
63
- description: ( localize(16057, "Group to which this welcome content belongs. Proposed API."))
63
+ description: ( localize(16189, "Group to which this welcome content belongs. Proposed API."))
64
64
  },
65
65
  [ViewsWelcomeExtensionPointFields.enablement]: {
66
66
  type: "string",
67
67
  description: ( localize(
68
- 16058,
68
+ 16190,
69
69
  "Condition when the welcome content buttons and command links should be enabled."
70
70
  ))
71
71
  }