@codingame/monaco-vscode-workbench-service-override 37.6.0 → 37.6.1
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/index.js +2 -2
- package/package.json +10 -10
- package/session.js +2 -2
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +5 -3
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +3 -22
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +1 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +19 -19
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +4 -4
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +6 -6
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +2 -2
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +4 -4
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +24 -24
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +2 -2
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +8 -8
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +32 -32
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +29 -29
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +6 -6
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +3 -3
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +4 -4
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +5 -5
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +2 -2
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +8 -8
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +58 -58
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +8 -8
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +5 -5
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +38 -38
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +118 -118
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +53 -53
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +1 -1
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +2 -2
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +2 -2
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +2 -2
- package/vscode/src/vs/workbench/browser/layout.d.ts +46 -70
- package/vscode/src/vs/workbench/browser/layout.js +243 -44
- package/vscode/src/vs/workbench/browser/workbench.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/workbench.js +3 -4
package/index.js
CHANGED
|
@@ -52,9 +52,9 @@ let CustomWorkbench = class CustomWorkbench extends Workbench {
|
|
|
52
52
|
initServices() {
|
|
53
53
|
return this.instantiationService;
|
|
54
54
|
}
|
|
55
|
-
restore(
|
|
55
|
+
restore(instantiationService) {
|
|
56
56
|
try {
|
|
57
|
-
this.restoreParts(
|
|
57
|
+
this.restoreParts(instantiationService);
|
|
58
58
|
}
|
|
59
59
|
catch (error) {
|
|
60
60
|
onUnexpectedError(error);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-workbench-service-override",
|
|
3
|
-
"version": "37.6.
|
|
3
|
+
"version": "37.6.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - workbench service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "37.6.
|
|
19
|
-
"@codingame/monaco-vscode-environment-service-override": "37.6.
|
|
20
|
-
"@codingame/monaco-vscode-katex-common": "37.6.
|
|
21
|
-
"@codingame/monaco-vscode-keybindings-service-override": "37.6.
|
|
22
|
-
"@codingame/monaco-vscode-quickaccess-service-override": "37.6.
|
|
23
|
-
"@codingame/monaco-vscode-view-banner-service-override": "37.6.
|
|
24
|
-
"@codingame/monaco-vscode-view-common-service-override": "37.6.
|
|
25
|
-
"@codingame/monaco-vscode-view-status-bar-service-override": "37.6.
|
|
26
|
-
"@codingame/monaco-vscode-view-title-bar-service-override": "37.6.
|
|
18
|
+
"@codingame/monaco-vscode-api": "37.6.1",
|
|
19
|
+
"@codingame/monaco-vscode-environment-service-override": "37.6.1",
|
|
20
|
+
"@codingame/monaco-vscode-katex-common": "37.6.1",
|
|
21
|
+
"@codingame/monaco-vscode-keybindings-service-override": "37.6.1",
|
|
22
|
+
"@codingame/monaco-vscode-quickaccess-service-override": "37.6.1",
|
|
23
|
+
"@codingame/monaco-vscode-view-banner-service-override": "37.6.1",
|
|
24
|
+
"@codingame/monaco-vscode-view-common-service-override": "37.6.1",
|
|
25
|
+
"@codingame/monaco-vscode-view-status-bar-service-override": "37.6.1",
|
|
26
|
+
"@codingame/monaco-vscode-view-title-bar-service-override": "37.6.1"
|
|
27
27
|
},
|
|
28
28
|
"main": "index.js",
|
|
29
29
|
"module": "index.js",
|
package/session.js
CHANGED
|
@@ -192,9 +192,9 @@ function createCustomWorkbench(BaseWorkbench) {
|
|
|
192
192
|
initServices() {
|
|
193
193
|
return this._instantiationService;
|
|
194
194
|
}
|
|
195
|
-
restore(
|
|
195
|
+
restore(lifecycleService) {
|
|
196
196
|
try {
|
|
197
|
-
this.restoreParts(
|
|
197
|
+
this.restoreParts();
|
|
198
198
|
}
|
|
199
199
|
catch (error) {
|
|
200
200
|
onUnexpectedError(error);
|
|
@@ -6,6 +6,7 @@ import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
6
6
|
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
7
|
import { Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
8
8
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
9
|
+
import { IsWebContext } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
|
|
9
10
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
10
11
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
11
12
|
import { IBrowserViewWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/browserView/common/browserView.service';
|
|
@@ -30,6 +31,7 @@ const addTabLayoutWhen = ( ContextKeyExpr.and(addTabActionWhen, IsTopRightEditor
|
|
|
30
31
|
const singleEditorTitleWhen = ( EditorTabsVisibleContext.negate());
|
|
31
32
|
const changesTabActionWhen = ( ContextKeyExpr.and(addTabActionWhen, SinglePaneChangesTabAvailableContext));
|
|
32
33
|
const filesTabActionWhen = ( ContextKeyExpr.and(addTabActionWhen, SinglePaneFilesTabAvailableContext));
|
|
34
|
+
const browserTabActionWhen = ( ContextKeyExpr.and(addTabActionWhen, ( IsWebContext.toNegated())));
|
|
33
35
|
const searchTabActionWhen = ( ContextKeyExpr.and(addTabActionWhen, ( IsQuickChatSessionContext.negate())));
|
|
34
36
|
class NewFileTabAction extends Action2 {
|
|
35
37
|
constructor() {
|
|
@@ -74,17 +76,17 @@ class NewBrowserTabAction extends Action2 {
|
|
|
74
76
|
category: SessionsCategories.Sessions,
|
|
75
77
|
icon: Codicon.globe,
|
|
76
78
|
f1: true,
|
|
77
|
-
precondition:
|
|
79
|
+
precondition: browserTabActionWhen,
|
|
78
80
|
keybinding: {
|
|
79
81
|
weight: KeybindingWeight.SessionsContrib,
|
|
80
|
-
when:
|
|
82
|
+
when: browserTabActionWhen,
|
|
81
83
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyB
|
|
82
84
|
},
|
|
83
85
|
menu: {
|
|
84
86
|
id: Menus.SessionsEditorTabsBarAddTab,
|
|
85
87
|
group: "navigation",
|
|
86
88
|
order: 2,
|
|
87
|
-
when: addTabLayoutWhen
|
|
89
|
+
when: ( ContextKeyExpr.and(addTabLayoutWhen, ( IsWebContext.toNegated())))
|
|
88
90
|
}
|
|
89
91
|
});
|
|
90
92
|
}
|
|
@@ -44,8 +44,6 @@ import { IChangesViewService } from '@codingame/monaco-vscode-api/vscode/vs/sess
|
|
|
44
44
|
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
|
|
45
45
|
import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
|
|
46
46
|
import { SessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
47
|
-
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
48
|
-
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
49
47
|
import { derivedOpts, derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
50
48
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
51
49
|
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
@@ -65,20 +63,6 @@ const secondarySidebarToggleOpenIcon = registerIcon(
|
|
|
65
63
|
);
|
|
66
64
|
const SESSION_LAYOUT_STATE_KEY = "sessions.layoutState";
|
|
67
65
|
const WORKING_SETS_STORAGE_KEY = "sessions.workingSets";
|
|
68
|
-
const EMPTY_WORKING_SET_SETTING = "sessions.layout.useEmptyWorkingSetForNewSession";
|
|
69
|
-
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
70
|
-
id: "sessions",
|
|
71
|
-
properties: {
|
|
72
|
-
[EMPTY_WORKING_SET_SETTING]: {
|
|
73
|
-
type: "boolean",
|
|
74
|
-
default: true,
|
|
75
|
-
description: ( localize(
|
|
76
|
-
4115,
|
|
77
|
-
"Use en empty working set for new session. If false, keep the current working set."
|
|
78
|
-
))
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
66
|
let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
83
67
|
get _isRestoringSessionLayout() {
|
|
84
68
|
return this._restoringSessionLayoutDepth > 0;
|
|
@@ -312,7 +296,7 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
312
296
|
constructor() {
|
|
313
297
|
super({
|
|
314
298
|
id: "workbench.action.agentToggleSidePanel",
|
|
315
|
-
title: ( localize2(
|
|
299
|
+
title: ( localize2(4115, "Toggle Side Panel")),
|
|
316
300
|
icon: secondarySidebarToggleClosedIcon,
|
|
317
301
|
toggled: {
|
|
318
302
|
condition: ( ContextKeyExpr.or(AuxiliaryBarVisibleContext, MainEditorAreaVisibleContext)),
|
|
@@ -320,7 +304,7 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
320
304
|
},
|
|
321
305
|
metadata: {
|
|
322
306
|
description: ( localize(
|
|
323
|
-
|
|
307
|
+
4116,
|
|
324
308
|
"Open/Show and Close/Hide the Side Panel (editor area and auxiliary bar)"
|
|
325
309
|
))
|
|
326
310
|
},
|
|
@@ -342,7 +326,7 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
342
326
|
run(accessor) {
|
|
343
327
|
const nowVisible = accessor.get(IAgentWorkbenchLayoutService).toggleSidePane();
|
|
344
328
|
logSidePanelToggle(accessor.get(ITelemetryService), nowVisible);
|
|
345
|
-
alert(nowVisible ? ( localize(
|
|
329
|
+
alert(nowVisible ? ( localize(4117, "Side Panel shown")) : ( localize(4118, "Side Panel hidden")));
|
|
346
330
|
}
|
|
347
331
|
});
|
|
348
332
|
}
|
|
@@ -524,9 +508,6 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
524
508
|
async _applyWorkingSet(sessionResource, options) {
|
|
525
509
|
const preserveFocus = true;
|
|
526
510
|
const workingSet = sessionResource ? (this._workingSets.get(sessionResource) ?? "empty") : "empty";
|
|
527
|
-
if (workingSet === "empty" && !this._configurationService.getValue(EMPTY_WORKING_SET_SETTING)) {
|
|
528
|
-
return;
|
|
529
|
-
}
|
|
530
511
|
this._onWillApplyWorkingSet(workingSet);
|
|
531
512
|
return this._workingSetSequencer.queue(async () => {
|
|
532
513
|
if (this._sessionsService.visibleSessions.get().length > 1) {
|
|
@@ -43,7 +43,7 @@ registerWorkbenchContribution2(
|
|
|
43
43
|
[RESPONSIVE_SIDEBAR_SETTING]: {
|
|
44
44
|
type: "boolean",
|
|
45
45
|
markdownDescription: ( localize(
|
|
46
|
-
|
|
46
|
+
4119,
|
|
47
47
|
"Controls whether the sessions sidebar is automatically collapsed in a narrow Agents window while both the editor and the side panel are open, and shown again once either of them closes."
|
|
48
48
|
)),
|
|
49
49
|
default: product.quality !== "stable",
|
|
@@ -55,7 +55,7 @@ registerWorkbenchContribution2(
|
|
|
55
55
|
[DOCK_DETAIL_PANEL_SETTING]: {
|
|
56
56
|
type: "boolean",
|
|
57
57
|
markdownDescription: ( localize(
|
|
58
|
-
|
|
58
|
+
4120,
|
|
59
59
|
"Controls whether the Agents window docks the detail panel inside the editor so a single editor tab bar spans across the editor and the detail panel. Requires a window reload to take effect."
|
|
60
60
|
)),
|
|
61
61
|
default: true,
|
|
@@ -407,7 +407,7 @@ let SinglePaneExistingSessionStrategy = class SinglePaneExistingSessionStrategy
|
|
|
407
407
|
constructor() {
|
|
408
408
|
super({
|
|
409
409
|
id: TOGGLE_DETAILS_COMMAND_ID,
|
|
410
|
-
title: ( localize2(
|
|
410
|
+
title: ( localize2(4121, "Toggle Details")),
|
|
411
411
|
icon: Codicon.listSelection,
|
|
412
412
|
f1: false,
|
|
413
413
|
toggled: AuxiliaryBarVisibleContext,
|
|
@@ -29,9 +29,9 @@ const DEFAULT_GITHUB_LOOKUP_TIMEOUTS = {
|
|
|
29
29
|
const LOG_PREFIX = "[NewSessionViewV3Prompt]";
|
|
30
30
|
const PROMPT_TEMPLATE_TREATMENT = "onb.newSessionViewV3.promptTemplate";
|
|
31
31
|
const PLACEHOLDER_TREATMENT = "onb.newSessionViewV3.placeholder";
|
|
32
|
-
const DEFAULT_TASK_PLACEHOLDER = ( localize(
|
|
32
|
+
const DEFAULT_TASK_PLACEHOLDER = ( localize(4122, "[describe the coding task]"));
|
|
33
33
|
const DEFAULT_PROMPT_TEMPLATE = ( localize(
|
|
34
|
-
|
|
34
|
+
4123,
|
|
35
35
|
"Help me complete {0} in this project. First, inspect the relevant files and explain your approach briefly. Then implement the solution using existing project conventions, avoid unrelated changes, and run the most relevant tests or checks. If anything is unclear, make a reasonable assumption and state it. When finished, summarize what changed and mention any remaining issues."
|
|
36
36
|
));
|
|
37
37
|
const PROMPT_OPTION_COUNT = 3;
|
|
@@ -1056,7 +1056,7 @@ class NewSessionViewV3PromptRunner {
|
|
|
1056
1056
|
}
|
|
1057
1057
|
_createGitHubPromptOption(candidate) {
|
|
1058
1058
|
const plan = this._createGitHubPrompt(candidate);
|
|
1059
|
-
const title = candidate.strategy === "githubIssue" ? ( localize(
|
|
1059
|
+
const title = candidate.strategy === "githubIssue" ? ( localize(4124, "Tackle issue")) : candidate.strategy === "githubMergeConflict" ? ( localize(4125, "Resolve conflicts")) : candidate.strategy === "githubCiFailure" ? ( localize(4126, "Fix CI")) : ( localize(4127, "Address PR comments"));
|
|
1060
1060
|
const icon = candidate.strategy === "githubIssue" ? computeIssueIcon(GitHubIssueState.Open, undefined) : computePullRequestIcon(GitHubPullRequestState.Open, {
|
|
1061
1061
|
hasMergeConflicts: candidate.strategy === "githubMergeConflict",
|
|
1062
1062
|
hasFailingChecks: candidate.strategy === "githubCiFailure",
|
|
@@ -1073,15 +1073,15 @@ class NewSessionViewV3PromptRunner {
|
|
|
1073
1073
|
};
|
|
1074
1074
|
}
|
|
1075
1075
|
_createStandardPromptOptions() {
|
|
1076
|
-
const implementFeaturePlaceholder = ( localize(
|
|
1077
|
-
const fixBugPlaceholder = ( localize(
|
|
1078
|
-
const fixCiPlaceholder = ( localize(
|
|
1076
|
+
const implementFeaturePlaceholder = ( localize(4128, "[describe the feature]"));
|
|
1077
|
+
const fixBugPlaceholder = ( localize(4129, "[describe the bug]"));
|
|
1078
|
+
const fixCiPlaceholder = ( localize(4130, "[describe the CI failure or paste a link]"));
|
|
1079
1079
|
return [{
|
|
1080
1080
|
id: "standard:implementFeature",
|
|
1081
|
-
title: ( localize(
|
|
1082
|
-
description: ( localize(
|
|
1081
|
+
title: ( localize(4131, "Implement a feature")),
|
|
1082
|
+
description: ( localize(4132, "Describe what you want to build")),
|
|
1083
1083
|
prompt: ( localize(
|
|
1084
|
-
|
|
1084
|
+
4133,
|
|
1085
1085
|
"Help me implement {0} in this project. Ask me questions if anything is unclear regarding the intended behaviour.",
|
|
1086
1086
|
implementFeaturePlaceholder
|
|
1087
1087
|
)),
|
|
@@ -1089,10 +1089,10 @@ class NewSessionViewV3PromptRunner {
|
|
|
1089
1089
|
icon: Codicon.lightbulbSparkleAutofix
|
|
1090
1090
|
}, {
|
|
1091
1091
|
id: "standard:fixBug",
|
|
1092
|
-
title: ( localize(
|
|
1093
|
-
description: ( localize(
|
|
1092
|
+
title: ( localize(4134, "Fix a bug")),
|
|
1093
|
+
description: ( localize(4135, "Describe the unexpected behavior")),
|
|
1094
1094
|
prompt: ( localize(
|
|
1095
|
-
|
|
1095
|
+
4136,
|
|
1096
1096
|
"Help me fix {0} in this project. Ask me questions if anything is unclear regarding the bug or the intended behaviour.",
|
|
1097
1097
|
fixBugPlaceholder
|
|
1098
1098
|
)),
|
|
@@ -1100,10 +1100,10 @@ class NewSessionViewV3PromptRunner {
|
|
|
1100
1100
|
icon: Codicon.bug
|
|
1101
1101
|
}, {
|
|
1102
1102
|
id: "standard:fixCi",
|
|
1103
|
-
title: ( localize(
|
|
1104
|
-
description: ( localize(
|
|
1103
|
+
title: ( localize(4137, "Fix CI")),
|
|
1104
|
+
description: ( localize(4138, "Describe a failing check or paste a link")),
|
|
1105
1105
|
prompt: ( localize(
|
|
1106
|
-
|
|
1106
|
+
4139,
|
|
1107
1107
|
"Help me fix the failing CI for {0} in this project. Ask me questions if anything is unclear regarding the CI failure or how it should be fixed.",
|
|
1108
1108
|
fixCiPlaceholder
|
|
1109
1109
|
)),
|
|
@@ -1113,22 +1113,22 @@ class NewSessionViewV3PromptRunner {
|
|
|
1113
1113
|
}
|
|
1114
1114
|
_createGitHubPrompt(candidate) {
|
|
1115
1115
|
const prompt = candidate.strategy === "githubMergeConflict" ? ( localize(
|
|
1116
|
-
|
|
1116
|
+
4140,
|
|
1117
1117
|
"The following pull request has merge conflicts: \"{0}\" ({1}). Resolve the conflicts and update the pull request.",
|
|
1118
1118
|
candidate.title,
|
|
1119
1119
|
candidate.url
|
|
1120
1120
|
)) : candidate.strategy === "githubCiFailure" ? ( localize(
|
|
1121
|
-
|
|
1121
|
+
4141,
|
|
1122
1122
|
"The following pull request has failing CI checks: \"{0}\" ({1}). Investigate the failures and resolve them.",
|
|
1123
1123
|
candidate.title,
|
|
1124
1124
|
candidate.url
|
|
1125
1125
|
)) : candidate.strategy === "githubReviewComments" ? ( localize(
|
|
1126
|
-
|
|
1126
|
+
4142,
|
|
1127
1127
|
"The following pull request has unresolved review comments that have not been addressed by a newer commit: \"{0}\" ({1}). Address the review comments and update the pull request.",
|
|
1128
1128
|
candidate.title,
|
|
1129
1129
|
candidate.url
|
|
1130
1130
|
)) : ( localize(
|
|
1131
|
-
|
|
1131
|
+
4143,
|
|
1132
1132
|
"Tackle the following issue and create a pull request for it: \"{0}\" ({1}).",
|
|
1133
1133
|
candidate.title,
|
|
1134
1134
|
candidate.url
|
|
@@ -15,18 +15,18 @@ const newSessionPayload = {
|
|
|
15
15
|
steps: [{
|
|
16
16
|
id: "workspacePicker",
|
|
17
17
|
targetId: "sessions.newSession.workspacePicker",
|
|
18
|
-
title: ( localize(
|
|
18
|
+
title: ( localize(4144, "Work Across Workspaces")),
|
|
19
19
|
description: ( localize(
|
|
20
|
-
|
|
20
|
+
4145,
|
|
21
21
|
"Choose between the folders and repositories you work in. Run multiple sessions at once in a single workspace, or across many."
|
|
22
22
|
)),
|
|
23
23
|
placement: "above"
|
|
24
24
|
}, {
|
|
25
25
|
id: "isolation",
|
|
26
26
|
targetId: "sessions.newSession.isolation",
|
|
27
|
-
title: ( localize(
|
|
27
|
+
title: ( localize(4146, "Isolate Your Work")),
|
|
28
28
|
description: ( localize(
|
|
29
|
-
|
|
29
|
+
4147,
|
|
30
30
|
"Use a worktree to work on multiple tasks in the same project without conflicts. Each task stays isolated, so you can experiment freely and safely."
|
|
31
31
|
)),
|
|
32
32
|
placement: "below"
|
|
@@ -16,9 +16,9 @@ const newSessionViewPayload = {
|
|
|
16
16
|
steps: [{
|
|
17
17
|
id: "workspacePicker",
|
|
18
18
|
targetId: "sessions.newSession.workspacePicker",
|
|
19
|
-
title: ( localize(
|
|
19
|
+
title: ( localize(4148, "Work Across Workspaces")),
|
|
20
20
|
description: ( localize(
|
|
21
|
-
|
|
21
|
+
4149,
|
|
22
22
|
"Choose between the folders and repositories you work in. Run multiple sessions at once in a single workspace, or across many."
|
|
23
23
|
)),
|
|
24
24
|
placement: "above",
|
|
@@ -27,9 +27,9 @@ const newSessionViewPayload = {
|
|
|
27
27
|
}, {
|
|
28
28
|
id: "harnessPicker",
|
|
29
29
|
targetId: "sessions.newSession.harnessPicker",
|
|
30
|
-
title: ( localize(
|
|
30
|
+
title: ( localize(4150, "Choose a Harness")),
|
|
31
31
|
description: ( localize(
|
|
32
|
-
|
|
32
|
+
4151,
|
|
33
33
|
"Each has different strengths; choose what works best for your task and switch anytime."
|
|
34
34
|
)),
|
|
35
35
|
placement: "above",
|
|
@@ -38,9 +38,9 @@ const newSessionViewPayload = {
|
|
|
38
38
|
}, {
|
|
39
39
|
id: "isolation",
|
|
40
40
|
targetId: "sessions.newSession.isolation",
|
|
41
|
-
title: ( localize(
|
|
41
|
+
title: ( localize(4152, "Isolate Your Work")),
|
|
42
42
|
description: ( localize(
|
|
43
|
-
|
|
43
|
+
4153,
|
|
44
44
|
"Use a worktree to work on multiple tasks in the same project without conflicts. Each task stays isolated, so you can experiment freely and safely."
|
|
45
45
|
)),
|
|
46
46
|
placement: "below",
|
package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js
CHANGED
|
@@ -19,9 +19,9 @@ function createNewSessionViewWorkspaceStep() {
|
|
|
19
19
|
return {
|
|
20
20
|
id: "workspacePicker",
|
|
21
21
|
targetId: "sessions.newSession.workspacePicker",
|
|
22
|
-
title: ( localize(
|
|
22
|
+
title: ( localize(4154, "Choose a workspace")),
|
|
23
23
|
description: ( localize(
|
|
24
|
-
|
|
24
|
+
4155,
|
|
25
25
|
"A workspace is the folder or repository where your agent reads context and makes changes. Choose one so it can understand your project and work on the right files."
|
|
26
26
|
)),
|
|
27
27
|
placement: "above",
|
package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js
CHANGED
|
@@ -18,9 +18,9 @@ const newSessionViewV2Payload = {
|
|
|
18
18
|
steps: [createNewSessionViewWorkspaceStep(), {
|
|
19
19
|
id: "harnessPicker",
|
|
20
20
|
targetId: "sessions.newSession.harnessPicker",
|
|
21
|
-
title: ( localize(
|
|
21
|
+
title: ( localize(4156, "Choose a harness")),
|
|
22
22
|
description: ( localize(
|
|
23
|
-
|
|
23
|
+
4157,
|
|
24
24
|
"A harness is the agent runtime that plans, uses tools, and carries out your task. Choose one based on the capabilities your work needs."
|
|
25
25
|
)),
|
|
26
26
|
placement: "above",
|
|
@@ -31,9 +31,9 @@ const newSessionViewV2Payload = {
|
|
|
31
31
|
}, {
|
|
32
32
|
id: "modelPicker",
|
|
33
33
|
targetId: "sessions.newSession.modelPicker",
|
|
34
|
-
title: ( localize(
|
|
34
|
+
title: ( localize(4158, "Choose a model")),
|
|
35
35
|
description: ( localize(
|
|
36
|
-
|
|
36
|
+
4159,
|
|
37
37
|
"The model powers your agent's reasoning. Choose one based on the balance of speed and capability your task needs."
|
|
38
38
|
)),
|
|
39
39
|
placement: "below",
|
|
@@ -80,13 +80,13 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
_renderAgentDisabled(card) {
|
|
83
|
-
this.overlay.setAttribute("aria-label", ( localize(
|
|
84
|
-
append(card, $("h2", undefined, ( localize(
|
|
83
|
+
this.overlay.setAttribute("aria-label", ( localize(4165, "Agents disabled by organization policy")));
|
|
84
|
+
append(card, $("h2", undefined, ( localize(4166, "Agents Disabled"))));
|
|
85
85
|
const description = append(card, $("p"));
|
|
86
|
-
append(description, createTextNode(( localize(
|
|
86
|
+
append(description, createTextNode(( localize(4167, "Your organization has disabled Agents via policy."))));
|
|
87
87
|
append(description, createTextNode(" "));
|
|
88
88
|
const learnMore = append(description, $("a.sessions-policy-blocked-link"));
|
|
89
|
-
learnMore.textContent = ( localize(
|
|
89
|
+
learnMore.textContent = ( localize(4168, "Learn more"));
|
|
90
90
|
learnMore.href = "https://aka.ms/VSCode/Agents/docs";
|
|
91
91
|
this._register(addDisposableListener(learnMore, EventType.CLICK, e => {
|
|
92
92
|
e.preventDefault();
|
|
@@ -96,11 +96,11 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
96
96
|
...defaultButtonStyles,
|
|
97
97
|
secondary: true
|
|
98
98
|
})));
|
|
99
|
-
button.label = ( localize(
|
|
99
|
+
button.label = ( localize(4169, "Open VS Code"));
|
|
100
100
|
this._register(button.onDidClick(() => this._openVSCode()));
|
|
101
101
|
}
|
|
102
102
|
_renderLoading(card) {
|
|
103
|
-
this.overlay.setAttribute("aria-label", ( localize(
|
|
103
|
+
this.overlay.setAttribute("aria-label", ( localize(4170, "Loading")));
|
|
104
104
|
append(card, $(
|
|
105
105
|
"div.sessions-policy-blocked-progress-bar",
|
|
106
106
|
undefined,
|
|
@@ -108,18 +108,18 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
108
108
|
));
|
|
109
109
|
}
|
|
110
110
|
_renderAccountPolicyGate(card, options) {
|
|
111
|
-
this.overlay.setAttribute("aria-label", ( localize(
|
|
112
|
-
append(card, $("h2", undefined, ( localize(
|
|
111
|
+
this.overlay.setAttribute("aria-label", ( localize(4171, "Sign-in required by your administrator")));
|
|
112
|
+
append(card, $("h2", undefined, ( localize(4172, "Sign-In Required"))));
|
|
113
113
|
const description = append(card, $("p"));
|
|
114
114
|
if (options.accountName) {
|
|
115
115
|
append(description, createTextNode(( localize(
|
|
116
|
-
|
|
116
|
+
4173,
|
|
117
117
|
"The account \"{0}\" is not a member of an organization that your administrator allows for Agents.",
|
|
118
118
|
options.accountName
|
|
119
119
|
))));
|
|
120
120
|
} else {
|
|
121
121
|
append(description, createTextNode(( localize(
|
|
122
|
-
|
|
122
|
+
4174,
|
|
123
123
|
"Your administrator restricts Agents to members of the organizations below."
|
|
124
124
|
))));
|
|
125
125
|
}
|
|
@@ -129,7 +129,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
129
129
|
const orgSection = append(card, $("div.sessions-policy-blocked-orgs"));
|
|
130
130
|
append(
|
|
131
131
|
orgSection,
|
|
132
|
-
$("p.sessions-policy-blocked-orgs-label", undefined, ( localize(
|
|
132
|
+
$("p.sessions-policy-blocked-orgs-label", undefined, ( localize(4175, "Allowed organizations:")))
|
|
133
133
|
);
|
|
134
134
|
const orgList = append(orgSection, $("ul"));
|
|
135
135
|
for (const org of approvedOrgs) {
|
|
@@ -137,10 +137,10 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
const footer = append(card, $("p.sessions-policy-blocked-footer"));
|
|
140
|
-
append(footer, createTextNode(( localize(
|
|
140
|
+
append(footer, createTextNode(( localize(4176, "Contact your administrator for more information."))));
|
|
141
141
|
append(footer, createTextNode(" "));
|
|
142
142
|
const learnMore = append(footer, $("a.sessions-policy-blocked-link"));
|
|
143
|
-
learnMore.textContent = ( localize(
|
|
143
|
+
learnMore.textContent = ( localize(4177, "Learn more"));
|
|
144
144
|
learnMore.href = "https://code.visualstudio.com/docs/enterprise/overview";
|
|
145
145
|
this._register(addDisposableListener(learnMore, EventType.CLICK, e => {
|
|
146
146
|
e.preventDefault();
|
|
@@ -149,31 +149,31 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
149
149
|
const signInButton = this._register(( new Button(card, {
|
|
150
150
|
...defaultButtonStyles
|
|
151
151
|
})));
|
|
152
|
-
signInButton.label = ( localize(
|
|
152
|
+
signInButton.label = ( localize(4178, "Sign In"));
|
|
153
153
|
this._register(signInButton.onDidClick(() => {
|
|
154
154
|
this.commandService.executeCommand("workbench.action.agenticSignIn");
|
|
155
155
|
}));
|
|
156
156
|
}
|
|
157
157
|
_renderManagedSettingsRefresh(card, freshness) {
|
|
158
|
-
this.overlay.setAttribute("aria-label", ( localize(
|
|
159
|
-
append(card, $("h2", undefined, ( localize(
|
|
158
|
+
this.overlay.setAttribute("aria-label", ( localize(4179, "Managed settings refresh required")));
|
|
159
|
+
append(card, $("h2", undefined, ( localize(4180, "Managed Settings Unavailable"))));
|
|
160
160
|
const message = freshness?.failure === ManagedSettingsFreshnessFailure.NoToken ? ( localize(
|
|
161
|
-
|
|
161
|
+
4181,
|
|
162
162
|
"Sign in so {0} can refresh your organization's managed settings before starting an agent.",
|
|
163
163
|
this.productService.nameShort
|
|
164
164
|
)) : freshness?.failure === ManagedSettingsFreshnessFailure.RateLimited ? ( localize(
|
|
165
|
-
|
|
165
|
+
4182,
|
|
166
166
|
"Your organization's managed settings service is rate limiting requests. Try again later."
|
|
167
167
|
)) : freshness?.failure === ManagedSettingsFreshnessFailure.NoUrl ? ( localize(
|
|
168
|
-
|
|
168
|
+
4183,
|
|
169
169
|
"{0} cannot locate your organization's managed settings service. Contact your administrator.",
|
|
170
170
|
this.productService.nameShort
|
|
171
171
|
)) : freshness?.failure === ManagedSettingsFreshnessFailure.UpdateRequired ? ( localize(
|
|
172
|
-
|
|
172
|
+
4184,
|
|
173
173
|
"Update {0} to a version that supports your organization's managed settings before starting an agent.",
|
|
174
174
|
this.productService.nameShort
|
|
175
175
|
)) : ( localize(
|
|
176
|
-
|
|
176
|
+
4185,
|
|
177
177
|
"Your organization requires {0} to refresh managed settings whenever it starts or reloads. An error prevented the required policy from being retrieved, so agents are unavailable. Retry, or contact your organization's administrator if the issue persists.",
|
|
178
178
|
this.productService.nameShort
|
|
179
179
|
));
|
|
@@ -182,7 +182,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
182
182
|
const signInButton = this._register(( new Button(card, {
|
|
183
183
|
...defaultButtonStyles
|
|
184
184
|
})));
|
|
185
|
-
signInButton.label = ( localize(
|
|
185
|
+
signInButton.label = ( localize(4186, "Sign In"));
|
|
186
186
|
this._register(
|
|
187
187
|
signInButton.onDidClick(() => this.commandService.executeCommand("workbench.action.agenticSignIn"))
|
|
188
188
|
);
|
|
@@ -190,7 +190,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
190
190
|
const retryButton = this._register(( new Button(card, {
|
|
191
191
|
...defaultButtonStyles
|
|
192
192
|
})));
|
|
193
|
-
retryButton.label = ( localize(
|
|
193
|
+
retryButton.label = ( localize(4187, "Retry"));
|
|
194
194
|
this._register(retryButton.onDidClick(() => this.defaultAccountService.refresh({
|
|
195
195
|
forceRefresh: true,
|
|
196
196
|
retryManagedSettings: true
|
|
@@ -200,7 +200,7 @@ let SessionsPolicyBlockedOverlay = class SessionsPolicyBlockedOverlay extends Di
|
|
|
200
200
|
...defaultButtonStyles,
|
|
201
201
|
secondary: true
|
|
202
202
|
})));
|
|
203
|
-
openVSCodeButton.label = ( localize(
|
|
203
|
+
openVSCodeButton.label = ( localize(4188, "Open VS Code"));
|
|
204
204
|
this._register(openVSCodeButton.onDidClick(() => this._openVSCode()));
|
|
205
205
|
}
|
|
206
206
|
_openVSCode() {
|
|
@@ -62,13 +62,13 @@ let AgentHostClaudePermissionModePicker = class AgentHostClaudePermissionModePic
|
|
|
62
62
|
return getClaudePermissionModeIcon(item.value);
|
|
63
63
|
}
|
|
64
64
|
_getTriggerAriaLabel(label) {
|
|
65
|
-
return localize(
|
|
65
|
+
return localize(4192, "Pick Approvals, {0}", label);
|
|
66
66
|
}
|
|
67
67
|
_getWidgetAriaLabel() {
|
|
68
|
-
return localize(
|
|
68
|
+
return localize(4193, "Approvals Picker");
|
|
69
69
|
}
|
|
70
70
|
_getFooterActionItems() {
|
|
71
|
-
const learnMoreLabel = ( localize(
|
|
71
|
+
const learnMoreLabel = ( localize(4194, "Learn more about permissions"));
|
|
72
72
|
return [{
|
|
73
73
|
kind: ActionListItemKind.Separator,
|
|
74
74
|
label: ""
|
package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js
CHANGED
|
@@ -59,16 +59,16 @@ let AgentHostCodexApprovalsPicker = class AgentHostCodexApprovalsPicker extends
|
|
|
59
59
|
return getCodexApprovalsIcon(item.value);
|
|
60
60
|
}
|
|
61
61
|
_getTriggerAriaLabel(label) {
|
|
62
|
-
return localize(
|
|
62
|
+
return localize(4195, "Pick Approvals, {0}", label);
|
|
63
63
|
}
|
|
64
64
|
_getWidgetAriaLabel() {
|
|
65
|
-
return localize(
|
|
65
|
+
return localize(4196, "Approvals Picker");
|
|
66
66
|
}
|
|
67
67
|
_getListOptions() {
|
|
68
68
|
return getCodexApprovalsPickerListOptions();
|
|
69
69
|
}
|
|
70
70
|
_getFooterActionItems() {
|
|
71
|
-
const learnMoreLabel = ( localize(
|
|
71
|
+
const learnMoreLabel = ( localize(4197, "Learn more about permissions"));
|
|
72
72
|
return [{
|
|
73
73
|
kind: ActionListItemKind.Separator,
|
|
74
74
|
label: ""
|
|
@@ -453,10 +453,10 @@ let AgentHostModePicker = class AgentHostModePicker extends AgentHostSessionEnum
|
|
|
453
453
|
return getAgentHostModeIcon(item.value);
|
|
454
454
|
}
|
|
455
455
|
_getTriggerAriaLabel(label) {
|
|
456
|
-
return this._permissionDelegate.isModePickerCombined.get() ? getModePickerAriaLabel(label, this._permissionPicker.presentation) : ( localize(
|
|
456
|
+
return this._permissionDelegate.isModePickerCombined.get() ? getModePickerAriaLabel(label, this._permissionPicker.presentation) : ( localize(4198, "Pick Agent Mode, {0}", label));
|
|
457
457
|
}
|
|
458
458
|
_getWidgetAriaLabel() {
|
|
459
|
-
return this._permissionDelegate.isModePickerCombined.get() ? ( localize(
|
|
459
|
+
return this._permissionDelegate.isModePickerCombined.get() ? ( localize(4199, "Mode and Permissions Picker")) : ( localize(4200, "Agent Mode Picker"));
|
|
460
460
|
}
|
|
461
461
|
};
|
|
462
462
|
AgentHostModePicker = ( __decorate([( __param(1, IActionWidgetService)), ( __param(2, ISessionsProvidersService)), ( __param(3, ITelemetryService)), ( __param(4, IHoverService)), ( __param(5, IChatPetService)), ( __param(6, IInstantiationService)), ( __param(7, IConfigurationService)), ( __param(8, IPreferencesService))], AgentHostModePicker));
|
|
@@ -57,19 +57,19 @@ let AgentHostPermissionPickerDelegate = class AgentHostPermissionPickerDelegate
|
|
|
57
57
|
case ChatPermissionLevel.Default:
|
|
58
58
|
return {
|
|
59
59
|
...meta,
|
|
60
|
-
label: ( localize(
|
|
61
|
-
detail: ( localize(
|
|
60
|
+
label: ( localize(4201, "Manual permissions")),
|
|
61
|
+
detail: ( localize(4202, "Asks when approval settings don't apply")),
|
|
62
62
|
icon: Codicon.key
|
|
63
63
|
};
|
|
64
64
|
case ChatPermissionLevel.Assisted:
|
|
65
65
|
return {
|
|
66
66
|
...meta,
|
|
67
|
-
detail: ( localize(
|
|
67
|
+
detail: ( localize(4203, "Evaluates risk before running tools"))
|
|
68
68
|
};
|
|
69
69
|
case ChatPermissionLevel.AutoApprove:
|
|
70
70
|
return {
|
|
71
71
|
...meta,
|
|
72
|
-
detail: ( localize(
|
|
72
|
+
detail: ( localize(4204, "Runs tool calls without asking"))
|
|
73
73
|
};
|
|
74
74
|
case ChatPermissionLevel.Autopilot:
|
|
75
75
|
return meta;
|
|
@@ -242,19 +242,19 @@ let AgentHostPermissionPickerDelegate = class AgentHostPermissionPickerDelegate
|
|
|
242
242
|
switch (level) {
|
|
243
243
|
case ChatPermissionLevel.Default:
|
|
244
244
|
return localize(
|
|
245
|
-
|
|
245
|
+
4205,
|
|
246
246
|
"Copilot asks before running tools unless your configured settings allow the tool."
|
|
247
247
|
);
|
|
248
248
|
case ChatPermissionLevel.AutoApprove:
|
|
249
|
-
return localize(
|
|
249
|
+
return localize(4206, "Copilot runs all tools without asking for approval.");
|
|
250
250
|
case ChatPermissionLevel.Assisted:
|
|
251
251
|
return localize(
|
|
252
|
-
|
|
252
|
+
4207,
|
|
253
253
|
"An LLM judge evaluates each tool call. Tools it doesn't approve require your approval."
|
|
254
254
|
);
|
|
255
255
|
case ChatPermissionLevel.Autopilot:
|
|
256
256
|
return localize(
|
|
257
|
-
|
|
257
|
+
4208,
|
|
258
258
|
"Copilot runs tools without asking for approval and continues until the task is done."
|
|
259
259
|
);
|
|
260
260
|
}
|