@codingame/monaco-vscode-workbench-service-override 37.3.3 → 37.3.4
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 +10 -10
- package/session.js +11 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +18 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +27 -0
- package/vscode/src/vs/sessions/browser/layoutActions.d.ts +1 -0
- package/vscode/src/vs/sessions/browser/layoutActions.js +146 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +6 -6
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +5 -5
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +20 -20
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +7 -7
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +4 -4
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +42 -42
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +11 -11
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
- package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +149 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +68 -68
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +7 -7
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +4 -4
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +2 -2
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +38 -38
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +1 -1
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +6 -6
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +4 -4
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +20 -20
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +1 -1
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +9 -9
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +17 -17
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
- package/vscode/src/vs/sessions/contrib/chat/browser/taskCommand.d.ts +44 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/taskCommand.js +111 -0
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +75 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +4 -4
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +8 -8
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +7 -7
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +1 -1
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +5 -5
- 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.d.ts +26 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +98 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +33 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +98 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +72 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +2 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +13 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +122 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +464 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +35 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +90 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +84 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +328 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +94 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +174 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +1390 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +468 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.d.ts +7 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +48 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +44 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +30 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +78 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +345 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +26 -0
- 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.d.ts +42 -0
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +139 -0
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +120 -0
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +741 -0
- 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.js +1 -1
|
@@ -52,7 +52,7 @@ registerAction2(class CloseSessionAction extends Action2 {
|
|
|
52
52
|
constructor() {
|
|
53
53
|
super({
|
|
54
54
|
id: CLOSE_SESSION_COMMAND_ID,
|
|
55
|
-
title: ( localize2(
|
|
55
|
+
title: ( localize2(4963, "Close Session")),
|
|
56
56
|
f1: true,
|
|
57
57
|
precondition: ( ContextKeyExpr.and(( IsNewChatSessionContext.negate()), ( EditorsVisibleContext.negate()))),
|
|
58
58
|
category: SessionsCategories.Sessions
|
|
@@ -170,9 +170,9 @@ registerAction2(class NavigatePreviousSessionAction extends Action2 {
|
|
|
170
170
|
super({
|
|
171
171
|
id: "sessionsViewPane.navigatePreviousSession",
|
|
172
172
|
title: {
|
|
173
|
-
value: ( localize(
|
|
173
|
+
value: ( localize(4964, "Go to Previous Session")),
|
|
174
174
|
original: "Go to Previous Session",
|
|
175
|
-
mnemonicTitle: ( localize(
|
|
175
|
+
mnemonicTitle: ( localize(4965, "&&Previous Session"))
|
|
176
176
|
},
|
|
177
177
|
f1: true,
|
|
178
178
|
category: SessionsCategories.Sessions,
|
|
@@ -202,9 +202,9 @@ registerAction2(class NavigateNextSessionAction extends Action2 {
|
|
|
202
202
|
super({
|
|
203
203
|
id: "sessionsViewPane.navigateNextSession",
|
|
204
204
|
title: {
|
|
205
|
-
value: ( localize(
|
|
205
|
+
value: ( localize(4966, "Go to Next Session")),
|
|
206
206
|
original: "Go to Next Session",
|
|
207
|
-
mnemonicTitle: ( localize(
|
|
207
|
+
mnemonicTitle: ( localize(4967, "&&Next Session"))
|
|
208
208
|
},
|
|
209
209
|
f1: true,
|
|
210
210
|
category: SessionsCategories.Sessions,
|
|
@@ -231,7 +231,7 @@ registerAction2(class NavigateNextSessionAction extends Action2 {
|
|
|
231
231
|
});
|
|
232
232
|
MenuRegistry.appendMenuItem(Menus.SidebarSessionsHeader, {
|
|
233
233
|
submenu: SessionsViewFilterSubMenu,
|
|
234
|
-
title: ( localize2(
|
|
234
|
+
title: ( localize2(4968, "Filter Sessions")),
|
|
235
235
|
icon: Codicon.settings,
|
|
236
236
|
group: "navigation",
|
|
237
237
|
order: 10
|
|
@@ -239,7 +239,7 @@ MenuRegistry.appendMenuItem(Menus.SidebarSessionsHeader, {
|
|
|
239
239
|
MenuRegistry.appendMenuItem(Menus.SidebarSessionsHeader, {
|
|
240
240
|
command: {
|
|
241
241
|
id: "sessionsViewPane.find",
|
|
242
|
-
title: ( localize2(
|
|
242
|
+
title: ( localize2(4969, "Find Session")),
|
|
243
243
|
icon: Codicon.search
|
|
244
244
|
},
|
|
245
245
|
group: "navigation",
|
|
@@ -247,7 +247,7 @@ MenuRegistry.appendMenuItem(Menus.SidebarSessionsHeader, {
|
|
|
247
247
|
});
|
|
248
248
|
MenuRegistry.appendMenuItem(SessionsViewFilterSubMenu, {
|
|
249
249
|
submenu: SessionsViewFilterOptionsSubMenu,
|
|
250
|
-
title: ( localize2(
|
|
250
|
+
title: ( localize2(4970, "Filter")),
|
|
251
251
|
group: "0_filter",
|
|
252
252
|
order: 0
|
|
253
253
|
});
|
|
@@ -260,7 +260,7 @@ registerAction2(class SortByCreatedAction extends Action2 {
|
|
|
260
260
|
constructor() {
|
|
261
261
|
super({
|
|
262
262
|
id: "sessionsViewPane.sortByCreated",
|
|
263
|
-
title: ( localize2(
|
|
263
|
+
title: ( localize2(4971, "Sort by Created")),
|
|
264
264
|
category: SessionsCategories.Sessions,
|
|
265
265
|
toggled: ( ContextKeyExpr.equals(SessionsViewSortingContext.key, SessionsSorting.Created)),
|
|
266
266
|
menu: [{
|
|
@@ -280,7 +280,7 @@ registerAction2(class SortByUpdatedAction extends Action2 {
|
|
|
280
280
|
constructor() {
|
|
281
281
|
super({
|
|
282
282
|
id: "sessionsViewPane.sortByUpdated",
|
|
283
|
-
title: ( localize2(
|
|
283
|
+
title: ( localize2(4972, "Sort by Updated")),
|
|
284
284
|
category: SessionsCategories.Sessions,
|
|
285
285
|
toggled: ( ContextKeyExpr.equals(SessionsViewSortingContext.key, SessionsSorting.Updated)),
|
|
286
286
|
menu: [{
|
|
@@ -300,7 +300,7 @@ registerAction2(class GroupByWorkspaceAction extends Action2 {
|
|
|
300
300
|
constructor() {
|
|
301
301
|
super({
|
|
302
302
|
id: "sessionsViewPane.groupByWorkspace",
|
|
303
|
-
title: ( localize2(
|
|
303
|
+
title: ( localize2(4973, "Group by Workspace")),
|
|
304
304
|
category: SessionsCategories.Sessions,
|
|
305
305
|
toggled: ( ContextKeyExpr.equals(SessionsViewGroupingContext.key, SessionsGrouping.Workspace)),
|
|
306
306
|
menu: [{
|
|
@@ -320,7 +320,7 @@ registerAction2(class GroupByTimeAction extends Action2 {
|
|
|
320
320
|
constructor() {
|
|
321
321
|
super({
|
|
322
322
|
id: "sessionsViewPane.groupByTime",
|
|
323
|
-
title: ( localize2(
|
|
323
|
+
title: ( localize2(4974, "Group by Time")),
|
|
324
324
|
category: SessionsCategories.Sessions,
|
|
325
325
|
toggled: ( ContextKeyExpr.equals(SessionsViewGroupingContext.key, SessionsGrouping.Date)),
|
|
326
326
|
menu: [{
|
|
@@ -340,7 +340,7 @@ registerAction2(class ShowRecentWorkspaceSessionsAction extends Action2 {
|
|
|
340
340
|
constructor() {
|
|
341
341
|
super({
|
|
342
342
|
id: "sessionsViewPane.showRecentSessions",
|
|
343
|
-
title: ( localize2(
|
|
343
|
+
title: ( localize2(4975, "Show Recent Sessions")),
|
|
344
344
|
category: SessionsCategories.Sessions,
|
|
345
345
|
toggled: IsWorkspaceGroupCappedContext,
|
|
346
346
|
menu: [{
|
|
@@ -362,7 +362,7 @@ registerAction2(class ShowAllWorkspaceSessionsAction extends Action2 {
|
|
|
362
362
|
constructor() {
|
|
363
363
|
super({
|
|
364
364
|
id: "sessionsViewPane.showAllSessions",
|
|
365
|
-
title: ( localize2(
|
|
365
|
+
title: ( localize2(4976, "Show All Sessions")),
|
|
366
366
|
category: SessionsCategories.Sessions,
|
|
367
367
|
toggled: ( IsWorkspaceGroupCappedContext.negate()),
|
|
368
368
|
menu: [{
|
|
@@ -384,7 +384,7 @@ registerAction2(class CollapseAllGroupsAction extends Action2 {
|
|
|
384
384
|
constructor() {
|
|
385
385
|
super({
|
|
386
386
|
id: "sessionsViewPane.collapseAllGroups",
|
|
387
|
-
title: ( localize2(
|
|
387
|
+
title: ( localize2(4977, "Collapse All Groups")),
|
|
388
388
|
category: SessionsCategories.Sessions,
|
|
389
389
|
menu: [{
|
|
390
390
|
id: SessionsViewFilterSubMenu,
|
|
@@ -403,7 +403,7 @@ registerAction2(class RefreshSessionsAction extends Action2 {
|
|
|
403
403
|
constructor() {
|
|
404
404
|
super({
|
|
405
405
|
id: "sessionsViewPane.refresh",
|
|
406
|
-
title: ( localize2(
|
|
406
|
+
title: ( localize2(4978, "Refresh Sessions")),
|
|
407
407
|
icon: Codicon.refresh,
|
|
408
408
|
f1: true,
|
|
409
409
|
category: SessionsCategories.Sessions
|
|
@@ -419,7 +419,7 @@ registerAction2(class FindSessionAction extends Action2 {
|
|
|
419
419
|
constructor() {
|
|
420
420
|
super({
|
|
421
421
|
id: "sessionsViewPane.find",
|
|
422
|
-
title: ( localize2(
|
|
422
|
+
title: ( localize2(4969, "Find Session")),
|
|
423
423
|
icon: Codicon.search,
|
|
424
424
|
category: SessionsCategories.Sessions
|
|
425
425
|
});
|
|
@@ -434,7 +434,7 @@ registerAction2(class NewSessionForWorkspaceAction extends Action2 {
|
|
|
434
434
|
constructor() {
|
|
435
435
|
super({
|
|
436
436
|
id: NEW_SESSION_FOR_WORKSPACE_ACTION_ID,
|
|
437
|
-
title: ( localize2(
|
|
437
|
+
title: ( localize2(4979, "New Session")),
|
|
438
438
|
icon: Codicon.plus,
|
|
439
439
|
menu: [{
|
|
440
440
|
id: SessionSectionToolbarMenuId,
|
|
@@ -485,7 +485,7 @@ registerAction2(class NewQuickChatAction extends Action2 {
|
|
|
485
485
|
constructor() {
|
|
486
486
|
super({
|
|
487
487
|
id: NEW_QUICK_CHAT_COMMAND_ID,
|
|
488
|
-
title: ( localize2(
|
|
488
|
+
title: ( localize2(4980, "New Quick Chat")),
|
|
489
489
|
icon: Codicon.add,
|
|
490
490
|
category: SessionsCategories.Sessions,
|
|
491
491
|
f1: true,
|
|
@@ -529,36 +529,36 @@ const ConfirmArchiveStorageKey = "sessions.confirmArchive";
|
|
|
529
529
|
function getArchiveSectionConfirmationMessage(context, wording) {
|
|
530
530
|
if (context.id === "pinned") {
|
|
531
531
|
if (context.sessions.length === 1) {
|
|
532
|
-
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
532
|
+
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(4981, "Are you sure you want to mark 1 pinned session as done?")) : ( localize(4982, "Are you sure you want to archive 1 pinned session?"));
|
|
533
533
|
}
|
|
534
534
|
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
535
|
-
|
|
535
|
+
4983,
|
|
536
536
|
"Are you sure you want to mark {0} pinned sessions as done?",
|
|
537
537
|
context.sessions.length
|
|
538
538
|
)) : ( localize(
|
|
539
|
-
|
|
539
|
+
4984,
|
|
540
540
|
"Are you sure you want to archive {0} pinned sessions?",
|
|
541
541
|
context.sessions.length
|
|
542
542
|
));
|
|
543
543
|
}
|
|
544
544
|
if (context.sessions.length === 1) {
|
|
545
545
|
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
546
|
-
|
|
546
|
+
4985,
|
|
547
547
|
"Are you sure you want to mark 1 session from '{0}' as done?",
|
|
548
548
|
context.label
|
|
549
549
|
)) : ( localize(
|
|
550
|
-
|
|
550
|
+
4986,
|
|
551
551
|
"Are you sure you want to archive 1 session from '{0}'?",
|
|
552
552
|
context.label
|
|
553
553
|
));
|
|
554
554
|
}
|
|
555
555
|
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
556
|
-
|
|
556
|
+
4987,
|
|
557
557
|
"Are you sure you want to mark {0} sessions from '{1}' as done?",
|
|
558
558
|
context.sessions.length,
|
|
559
559
|
context.label
|
|
560
560
|
)) : ( localize(
|
|
561
|
-
|
|
561
|
+
4988,
|
|
562
562
|
"Are you sure you want to archive {0} sessions from '{1}'?",
|
|
563
563
|
context.sessions.length,
|
|
564
564
|
context.label
|
|
@@ -591,10 +591,10 @@ class BaseArchiveSectionAction extends Action2 {
|
|
|
591
591
|
if (!skipConfirmation) {
|
|
592
592
|
const confirmed = await dialogService.confirm({
|
|
593
593
|
message: getArchiveSectionConfirmationMessage(context, this.wording),
|
|
594
|
-
detail: this.wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
594
|
+
detail: this.wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(4989, "You can restore sessions later if needed from the sessions view.")) : ( localize(4990, "You can unarchive sessions later if needed from the sessions view.")),
|
|
595
595
|
primaryButton: getChatSessionArchiveActionPresentation(this.wording).archiveAll.title.value,
|
|
596
596
|
checkbox: {
|
|
597
|
-
label: ( localize(
|
|
597
|
+
label: ( localize(4991, "Do not ask me again"))
|
|
598
598
|
}
|
|
599
599
|
});
|
|
600
600
|
if (!confirmed.confirmed) {
|
|
@@ -622,22 +622,22 @@ class MarkSectionSessionsDoneAction extends BaseArchiveSectionAction {
|
|
|
622
622
|
function getArchiveGroupConfirmationMessage(context, wording) {
|
|
623
623
|
if (context.sessions.length === 1) {
|
|
624
624
|
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
625
|
-
|
|
625
|
+
4992,
|
|
626
626
|
"Are you sure you want to mark 1 session from '{0}' as done?",
|
|
627
627
|
context.group.name
|
|
628
628
|
)) : ( localize(
|
|
629
|
-
|
|
629
|
+
4993,
|
|
630
630
|
"Are you sure you want to archive 1 session from '{0}'?",
|
|
631
631
|
context.group.name
|
|
632
632
|
));
|
|
633
633
|
}
|
|
634
634
|
return wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
635
|
-
|
|
635
|
+
4994,
|
|
636
636
|
"Are you sure you want to mark {0} sessions from '{1}' as done?",
|
|
637
637
|
context.sessions.length,
|
|
638
638
|
context.group.name
|
|
639
639
|
)) : ( localize(
|
|
640
|
-
|
|
640
|
+
4995,
|
|
641
641
|
"Are you sure you want to archive {0} sessions from '{1}'?",
|
|
642
642
|
context.sessions.length,
|
|
643
643
|
context.group.name
|
|
@@ -670,10 +670,10 @@ class BaseArchiveSessionsInGroupAction extends Action2 {
|
|
|
670
670
|
if (!skipConfirmation) {
|
|
671
671
|
const confirmed = await dialogService.confirm({
|
|
672
672
|
message: getArchiveGroupConfirmationMessage(context, this.wording),
|
|
673
|
-
detail: this.wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(
|
|
673
|
+
detail: this.wording === ChatSessionArchiveActionWording.MarkAsDone ? ( localize(4996, "You can restore sessions later if needed from the sessions view.")) : ( localize(4997, "You can unarchive sessions later if needed from the sessions view.")),
|
|
674
674
|
primaryButton: getChatSessionArchiveActionPresentation(this.wording).archiveAll.title.value,
|
|
675
675
|
checkbox: {
|
|
676
|
-
label: ( localize(
|
|
676
|
+
label: ( localize(4991, "Do not ask me again"))
|
|
677
677
|
}
|
|
678
678
|
});
|
|
679
679
|
if (!confirmed.confirmed) {
|
|
@@ -702,7 +702,7 @@ registerAction2(class DeleteEmptySessionGroupAction extends Action2 {
|
|
|
702
702
|
constructor() {
|
|
703
703
|
super({
|
|
704
704
|
id: "sessionsView.deleteEmptyGroup",
|
|
705
|
-
title: ( localize2(
|
|
705
|
+
title: ( localize2(4998, "Delete Group")),
|
|
706
706
|
icon: Codicon.trash,
|
|
707
707
|
menu: [{
|
|
708
708
|
id: SessionGroupToolbarMenuId,
|
|
@@ -726,7 +726,7 @@ registerAction2(class NewSessionInGroupAction extends Action2 {
|
|
|
726
726
|
constructor() {
|
|
727
727
|
super({
|
|
728
728
|
id: "sessionsView.newSessionInGroup",
|
|
729
|
-
title: ( localize2(
|
|
729
|
+
title: ( localize2(4999, "New Session")),
|
|
730
730
|
icon: Codicon.plus,
|
|
731
731
|
menu: [{
|
|
732
732
|
id: SessionGroupToolbarMenuId,
|
|
@@ -756,7 +756,7 @@ registerAction2(class PinSessionAction extends Action2 {
|
|
|
756
756
|
constructor() {
|
|
757
757
|
super({
|
|
758
758
|
id: "sessionsViewPane.pinSession",
|
|
759
|
-
title: ( localize2(
|
|
759
|
+
title: ( localize2(5000, "Pin")),
|
|
760
760
|
icon: Codicon.pin,
|
|
761
761
|
menu: [{
|
|
762
762
|
id: SessionItemToolbarMenuId,
|
|
@@ -787,7 +787,7 @@ registerAction2(class UnpinSessionAction extends Action2 {
|
|
|
787
787
|
constructor() {
|
|
788
788
|
super({
|
|
789
789
|
id: "sessionsViewPane.unpinSession",
|
|
790
|
-
title: ( localize2(
|
|
790
|
+
title: ( localize2(5001, "Unpin")),
|
|
791
791
|
icon: Codicon.pinned,
|
|
792
792
|
menu: [{
|
|
793
793
|
id: SessionItemToolbarMenuId,
|
|
@@ -941,7 +941,7 @@ registerAction2(class RenameSessionAction extends Action2 {
|
|
|
941
941
|
constructor() {
|
|
942
942
|
super({
|
|
943
943
|
id: RENAME_SESSION_COMMAND_ID,
|
|
944
|
-
title: ( localize2(
|
|
944
|
+
title: ( localize2(5002, "Rename...")),
|
|
945
945
|
icon: Codicon.edit,
|
|
946
946
|
keybinding: {
|
|
947
947
|
primary: KeyCode.F2,
|
|
@@ -965,10 +965,10 @@ registerAction2(class RenameSessionAction extends Action2 {
|
|
|
965
965
|
const sessionsManagementService = accessor.get(ISessionsManagementService);
|
|
966
966
|
const newTitle = await quickInputService.input({
|
|
967
967
|
value: session.title.get(),
|
|
968
|
-
prompt: ( localize(
|
|
968
|
+
prompt: ( localize(5003, "New agent session title")),
|
|
969
969
|
validateInput: async value => {
|
|
970
970
|
if (!value.trim()) {
|
|
971
|
-
return localize(
|
|
971
|
+
return localize(5004, "Title cannot be empty");
|
|
972
972
|
}
|
|
973
973
|
return undefined;
|
|
974
974
|
}
|
|
@@ -985,7 +985,7 @@ registerAction2(class DeleteSessionAction extends Action2 {
|
|
|
985
985
|
constructor() {
|
|
986
986
|
super({
|
|
987
987
|
id: "sessionsViewPane.deleteSession",
|
|
988
|
-
title: ( localize2(
|
|
988
|
+
title: ( localize2(5005, "Delete...")),
|
|
989
989
|
menu: [{
|
|
990
990
|
id: SessionItemContextMenuId,
|
|
991
991
|
group: "1_edit",
|
|
@@ -1005,9 +1005,9 @@ registerAction2(class DeleteSessionAction extends Action2 {
|
|
|
1005
1005
|
const dialogService = accessor.get(IDialogService);
|
|
1006
1006
|
const sessionsManagementService = accessor.get(ISessionsManagementService);
|
|
1007
1007
|
const confirmed = await dialogService.confirm({
|
|
1008
|
-
message: sessions.length === 1 ? ( localize(
|
|
1009
|
-
detail: ( localize(
|
|
1010
|
-
primaryButton: ( localize(
|
|
1008
|
+
message: sessions.length === 1 ? ( localize(5006, "Are you sure you want to delete this session?")) : ( localize(5007, "Are you sure you want to delete {0} sessions?", sessions.length)),
|
|
1009
|
+
detail: ( localize(5008, "This action cannot be undone.")),
|
|
1010
|
+
primaryButton: ( localize(5009, "Delete"))
|
|
1011
1011
|
});
|
|
1012
1012
|
if (!confirmed.confirmed) {
|
|
1013
1013
|
return;
|
|
@@ -1015,7 +1015,7 @@ registerAction2(class DeleteSessionAction extends Action2 {
|
|
|
1015
1015
|
try {
|
|
1016
1016
|
await sessionsManagementService.deleteSessions(sessions);
|
|
1017
1017
|
} catch (err) {
|
|
1018
|
-
dialogService.error(sessions.length === 1 ? ( localize(
|
|
1018
|
+
dialogService.error(sessions.length === 1 ? ( localize(5010, "Failed to delete the session: {0}", toErrorMessage(err))) : ( localize(5011, "Failed to delete the sessions: {0}", toErrorMessage(err))));
|
|
1019
1019
|
}
|
|
1020
1020
|
}
|
|
1021
1021
|
});
|
|
@@ -1023,7 +1023,7 @@ registerAction2(class MarkSessionReadAction extends Action2 {
|
|
|
1023
1023
|
constructor() {
|
|
1024
1024
|
super({
|
|
1025
1025
|
id: MARK_SESSION_READ_COMMAND_ID,
|
|
1026
|
-
title: ( localize2(
|
|
1026
|
+
title: ( localize2(5012, "Mark as Read")),
|
|
1027
1027
|
menu: [{
|
|
1028
1028
|
id: SessionItemContextMenuId,
|
|
1029
1029
|
group: "0_read",
|
|
@@ -1050,7 +1050,7 @@ registerAction2(class MarkSessionUnreadAction extends Action2 {
|
|
|
1050
1050
|
constructor() {
|
|
1051
1051
|
super({
|
|
1052
1052
|
id: MARK_SESSION_UNREAD_COMMAND_ID,
|
|
1053
|
-
title: ( localize2(
|
|
1053
|
+
title: ( localize2(5013, "Mark as Unread")),
|
|
1054
1054
|
menu: [{
|
|
1055
1055
|
id: SessionItemContextMenuId,
|
|
1056
1056
|
group: "0_read",
|
|
@@ -1079,7 +1079,7 @@ registerAction2(class OpenSessionToTheSideAction extends Action2 {
|
|
|
1079
1079
|
constructor() {
|
|
1080
1080
|
super({
|
|
1081
1081
|
id: "sessionsViewPane.openToTheSide",
|
|
1082
|
-
title: ( localize2(
|
|
1082
|
+
title: ( localize2(5014, "Open to the Side")),
|
|
1083
1083
|
menu: [{
|
|
1084
1084
|
id: SessionItemContextMenuId,
|
|
1085
1085
|
group: "navigation",
|
|
@@ -1118,7 +1118,7 @@ registerAction2(class MarkAllSessionsReadAction extends Action2 {
|
|
|
1118
1118
|
constructor() {
|
|
1119
1119
|
super({
|
|
1120
1120
|
id: "sessionsViewPane.markAllRead",
|
|
1121
|
-
title: ( localize2(
|
|
1121
|
+
title: ( localize2(5015, "Mark All as Read")),
|
|
1122
1122
|
menu: [{
|
|
1123
1123
|
id: SessionItemContextMenuId,
|
|
1124
1124
|
group: "0_read",
|
|
@@ -1215,7 +1215,7 @@ registerAction2(class ManageAutomationsAction extends Action2 {
|
|
|
1215
1215
|
constructor() {
|
|
1216
1216
|
super({
|
|
1217
1217
|
id: "sessionsView.manageAutomations",
|
|
1218
|
-
title: ( localize2(
|
|
1218
|
+
title: ( localize2(5016, "Manage Automations")),
|
|
1219
1219
|
menu: []
|
|
1220
1220
|
});
|
|
1221
1221
|
}
|
|
@@ -1227,7 +1227,7 @@ registerAction2(class ResetAutomationsNewBadgeAction extends Action2 {
|
|
|
1227
1227
|
constructor() {
|
|
1228
1228
|
super({
|
|
1229
1229
|
id: "sessions.developer.resetAutomationsNewBadge",
|
|
1230
|
-
title: ( localize2(
|
|
1230
|
+
title: ( localize2(5017, "Reset Automations New Badge")),
|
|
1231
1231
|
category: Categories.Developer,
|
|
1232
1232
|
f1: true,
|
|
1233
1233
|
precondition: ( ContextKeyExpr.and(
|
|
@@ -1247,7 +1247,7 @@ registerAction2(class MarkAllAutomationRunsReadAction extends Action2 {
|
|
|
1247
1247
|
constructor() {
|
|
1248
1248
|
super({
|
|
1249
1249
|
id: MARK_ALL_AUTOMATION_RUNS_READ_COMMAND_ID,
|
|
1250
|
-
title: ( localize2(
|
|
1250
|
+
title: ( localize2(5018, "Mark All as Read"))
|
|
1251
1251
|
});
|
|
1252
1252
|
}
|
|
1253
1253
|
async run(accessor) {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
3
|
+
import { IAgentHostTerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service";
|
|
4
|
+
import { ITerminalGroupService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
|
|
5
|
+
import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
|
|
6
|
+
import { ISessionTaskRunner } from "../../chat/browser/sessionTaskRunner.js";
|
|
7
|
+
import { ITaskEntry } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsTasksService";
|
|
8
|
+
import { ISessionsTasksService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsTasksService.service";
|
|
9
|
+
import { ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
10
|
+
import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
|
|
11
|
+
import { IConfigurationResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service";
|
|
12
|
+
/**
|
|
13
|
+
* Task runner for sessions backed by an agent host (local or remote). Resolves
|
|
14
|
+
* the task into a shell command via {@link resolveTaskCommand} and dispatches
|
|
15
|
+
* it through an agent-host terminal created by
|
|
16
|
+
* {@link IAgentHostTerminalService.createTerminalForEntry}.
|
|
17
|
+
*/
|
|
18
|
+
export declare class AgentHostSessionTaskRunner implements ISessionTaskRunner {
|
|
19
|
+
private readonly _agentHostTerminalService;
|
|
20
|
+
private readonly _sessionsProvidersService;
|
|
21
|
+
private readonly _sessionsTasksService;
|
|
22
|
+
private readonly _configurationResolverService;
|
|
23
|
+
private readonly _terminalService;
|
|
24
|
+
private readonly _terminalGroupService;
|
|
25
|
+
private readonly _logService;
|
|
26
|
+
readonly id = "agentHost";
|
|
27
|
+
readonly priority = 100;
|
|
28
|
+
constructor(_agentHostTerminalService: IAgentHostTerminalService, _sessionsProvidersService: ISessionsProvidersService, _sessionsTasksService: ISessionsTasksService, _configurationResolverService: IConfigurationResolverService, _terminalService: ITerminalService, _terminalGroupService: ITerminalGroupService, _logService: ILogService);
|
|
29
|
+
canRun(session: ISession): boolean;
|
|
30
|
+
runTask(task: ITaskEntry, session: ISession): Promise<IDisposable | undefined>;
|
|
31
|
+
private _getAddress;
|
|
32
|
+
private _isSessionRemoteHostAvailable;
|
|
33
|
+
private _getCwd;
|
|
34
|
+
/**
|
|
35
|
+
* Builds the `${workspaceFolder}` resolver for a task, or `undefined` when
|
|
36
|
+
* there is no working directory. Remote hosts only get a literal
|
|
37
|
+
* `${workspaceFolder}` substitution (their OS may differ from the
|
|
38
|
+
* renderer's); local hosts use the full resolver.
|
|
39
|
+
*/
|
|
40
|
+
private _createVariableResolver;
|
|
41
|
+
private _toFolderData;
|
|
42
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
5
|
+
import { OS } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
6
|
+
import { toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
8
|
+
import { AGENT_HOST_SCHEME, fromAgentHostUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
|
|
9
|
+
import { TerminalExitReason } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal';
|
|
10
|
+
import { IAgentHostTerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service';
|
|
11
|
+
import { ITerminalService, ITerminalGroupService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
12
|
+
import { isAgentHostProvider } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
|
|
13
|
+
import { resolveTaskCommand, osToTaskTargetOS } from '../../chat/browser/taskCommand.js';
|
|
14
|
+
import { ISessionsTasksService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsTasksService.service';
|
|
15
|
+
import { ISessionsProvidersService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service';
|
|
16
|
+
import { IConfigurationResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service';
|
|
17
|
+
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
18
|
+
|
|
19
|
+
const LOG_PREFIX = "[AgentHostSessionTaskRunner]";
|
|
20
|
+
const LOCAL_AGENT_HOST_ADDRESS = "__local__";
|
|
21
|
+
let AgentHostSessionTaskRunner = class AgentHostSessionTaskRunner {
|
|
22
|
+
constructor(
|
|
23
|
+
_agentHostTerminalService,
|
|
24
|
+
_sessionsProvidersService,
|
|
25
|
+
_sessionsTasksService,
|
|
26
|
+
_configurationResolverService,
|
|
27
|
+
_terminalService,
|
|
28
|
+
_terminalGroupService,
|
|
29
|
+
_logService
|
|
30
|
+
) {
|
|
31
|
+
this._agentHostTerminalService = _agentHostTerminalService;
|
|
32
|
+
this._sessionsProvidersService = _sessionsProvidersService;
|
|
33
|
+
this._sessionsTasksService = _sessionsTasksService;
|
|
34
|
+
this._configurationResolverService = _configurationResolverService;
|
|
35
|
+
this._terminalService = _terminalService;
|
|
36
|
+
this._terminalGroupService = _terminalGroupService;
|
|
37
|
+
this._logService = _logService;
|
|
38
|
+
this.id = "agentHost";
|
|
39
|
+
this.priority = 100;
|
|
40
|
+
}
|
|
41
|
+
canRun(session) {
|
|
42
|
+
return this._isSessionRemoteHostAvailable(session) && this._getAddress(session) !== undefined;
|
|
43
|
+
}
|
|
44
|
+
async runTask(task, session) {
|
|
45
|
+
if (!this._isSessionRemoteHostAvailable(session)) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const address = this._getAddress(session);
|
|
49
|
+
if (!address) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
const allTasks = await this._sessionsTasksService.getAllTasks(session);
|
|
53
|
+
const byLabel = ( new Map());
|
|
54
|
+
for (const entry of allTasks) {
|
|
55
|
+
byLabel.set(entry.task.label, entry.task);
|
|
56
|
+
}
|
|
57
|
+
const cwd = this._getCwd(session);
|
|
58
|
+
const command = await resolveTaskCommand(task, {
|
|
59
|
+
targetOS: address === LOCAL_AGENT_HOST_ADDRESS ? osToTaskTargetOS(OS) : undefined,
|
|
60
|
+
lookup: label => byLabel.get(label),
|
|
61
|
+
resolveVariables: this._createVariableResolver(address, cwd)
|
|
62
|
+
});
|
|
63
|
+
if (!command) {
|
|
64
|
+
this._logService.trace(
|
|
65
|
+
`${LOG_PREFIX} Skipping task '${task.label}' — no command could be resolved.`
|
|
66
|
+
);
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
if (!this._isSessionRemoteHostAvailable(session)) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
const instance = await this._agentHostTerminalService.createTerminalForEntry(address, {
|
|
73
|
+
cwd,
|
|
74
|
+
name: ( localize(5019, "Task: {0}", task.label))
|
|
75
|
+
});
|
|
76
|
+
if (!instance) {
|
|
77
|
+
this._logService.warn(
|
|
78
|
+
`${LOG_PREFIX} Failed to create terminal for task '${task.label}' on '${address}'.`
|
|
79
|
+
);
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
this._terminalService.setActiveInstance(instance);
|
|
83
|
+
await this._terminalGroupService.showPanel(true);
|
|
84
|
+
await instance.sendText(command, true);
|
|
85
|
+
return toDisposable(() => {
|
|
86
|
+
instance.dispose(TerminalExitReason.User);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
_getAddress(session) {
|
|
90
|
+
const provider = this._sessionsProvidersService.getProvider(session.providerId);
|
|
91
|
+
if (!provider || !isAgentHostProvider(provider)) {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
return provider.remoteAddress ?? LOCAL_AGENT_HOST_ADDRESS;
|
|
95
|
+
}
|
|
96
|
+
_isSessionRemoteHostAvailable(session) {
|
|
97
|
+
const status = session.remoteConnectionStatus?.get();
|
|
98
|
+
return status === undefined || status.kind === "connected";
|
|
99
|
+
}
|
|
100
|
+
_getCwd(session) {
|
|
101
|
+
const folder = session.workspace.get()?.folders[0];
|
|
102
|
+
const cwd = folder?.workingDirectory ?? folder?.root;
|
|
103
|
+
if (!cwd) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
if (cwd.scheme === AGENT_HOST_SCHEME) {
|
|
107
|
+
return fromAgentHostUri(cwd);
|
|
108
|
+
}
|
|
109
|
+
if (cwd.scheme === Schemas.file) {
|
|
110
|
+
return cwd;
|
|
111
|
+
}
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
_createVariableResolver(address, cwd) {
|
|
115
|
+
if (!cwd) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
if (address !== LOCAL_AGENT_HOST_ADDRESS) {
|
|
119
|
+
return value => Promise.resolve(value.replaceAll("${workspaceFolder}", cwd.path));
|
|
120
|
+
}
|
|
121
|
+
return async value => {
|
|
122
|
+
try {
|
|
123
|
+
return await this._configurationResolverService.resolveAsync(this._toFolderData(cwd), value);
|
|
124
|
+
} catch {
|
|
125
|
+
return value;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
_toFolderData(cwd) {
|
|
130
|
+
return {
|
|
131
|
+
uri: cwd,
|
|
132
|
+
name: basename(cwd),
|
|
133
|
+
index: 0
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
AgentHostSessionTaskRunner = ( __decorate([( __param(0, IAgentHostTerminalService)), ( __param(1, ISessionsProvidersService)), ( __param(2, ISessionsTasksService)), ( __param(3, IConfigurationResolverService)), ( __param(4, ITerminalService)), ( __param(5, ITerminalGroupService)), ( __param(6, ILogService))], AgentHostSessionTaskRunner));
|
|
138
|
+
|
|
139
|
+
export { AgentHostSessionTaskRunner };
|