@codingame/monaco-vscode-workbench-service-override 37.3.2 → 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.
Files changed (108) hide show
  1. package/package.json +10 -10
  2. package/session.js +11 -0
  3. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +18 -0
  4. package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +27 -0
  5. package/vscode/src/vs/sessions/browser/layoutActions.d.ts +1 -0
  6. package/vscode/src/vs/sessions/browser/layoutActions.js +146 -0
  7. package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +6 -6
  8. package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +5 -5
  9. package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
  10. package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +1 -1
  11. package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +1 -1
  12. package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +20 -20
  13. package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +7 -7
  14. package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +4 -4
  15. package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +42 -42
  16. package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +11 -11
  17. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
  18. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
  19. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.d.ts +1 -0
  20. package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +149 -0
  21. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
  22. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
  23. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +68 -68
  24. package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +7 -7
  25. package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +4 -4
  26. package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +2 -2
  27. package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +38 -38
  28. package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +2 -2
  29. package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +1 -1
  30. package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +6 -6
  31. package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +4 -4
  32. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +20 -20
  33. package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +1 -1
  34. package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +9 -9
  35. package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +17 -17
  36. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
  37. package/vscode/src/vs/sessions/contrib/chat/browser/taskCommand.d.ts +44 -0
  38. package/vscode/src/vs/sessions/contrib/chat/browser/taskCommand.js +111 -0
  39. package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
  40. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.d.ts +1 -0
  41. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +75 -0
  42. package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
  43. package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +4 -4
  44. package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +8 -8
  45. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +1 -1
  46. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
  47. package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
  48. package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +7 -7
  49. package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +1 -1
  50. package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +5 -5
  51. package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +2 -2
  52. package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +1 -1
  53. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +19 -19
  54. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +4 -4
  55. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +6 -6
  56. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +2 -2
  57. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +4 -4
  58. package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +24 -24
  59. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +26 -0
  60. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +98 -0
  61. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +33 -0
  62. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +98 -0
  63. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.d.ts +1 -0
  64. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +72 -0
  65. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +2 -0
  66. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +13 -0
  67. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +122 -0
  68. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +464 -0
  69. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +35 -0
  70. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +90 -0
  71. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +84 -0
  72. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +328 -0
  73. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.d.ts +1 -0
  74. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +94 -0
  75. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +174 -0
  76. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +1390 -0
  77. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.d.ts +1 -0
  78. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +468 -0
  79. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.d.ts +7 -0
  80. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +48 -0
  81. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +44 -0
  82. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +30 -0
  83. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +78 -0
  84. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.d.ts +1 -0
  85. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +345 -0
  86. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +11 -0
  87. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +26 -0
  88. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +6 -6
  89. package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +3 -3
  90. package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
  91. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +4 -4
  92. package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +5 -5
  93. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +2 -2
  94. package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +8 -8
  95. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +58 -58
  96. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +8 -8
  97. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +5 -5
  98. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
  99. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +38 -38
  100. package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +118 -118
  101. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +53 -53
  102. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +42 -0
  103. package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +139 -0
  104. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +120 -0
  105. package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +741 -0
  106. package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +2 -2
  107. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +2 -2
  108. package/vscode/src/vs/workbench/browser/layout.js +1 -1
@@ -0,0 +1,174 @@
1
+ import { IActionListItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList";
2
+ import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
3
+ import { BaseActionViewItem } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems";
4
+ import { Delayer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/async";
5
+ import { Disposable, DisposableStore, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
6
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
7
+ import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
8
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
9
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
10
+ import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
11
+ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
12
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
13
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
14
+ import type { SessionConfigPropertySchema } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/commands";
15
+ import { IChatInputPickerResponsiveState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerResponsiveLayout";
16
+ import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service";
17
+ import { IAgentWorkbenchLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service";
18
+ import { ISessionChangesService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/changes/browser/sessionChangesService";
19
+ import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
20
+ import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
21
+ import { type IAgentHostSessionsProvider } from "@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider";
22
+ import { type ISessionChangeset } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
23
+ export interface IConfigPickerItem {
24
+ readonly value: string;
25
+ readonly label: string;
26
+ readonly description?: string;
27
+ readonly checked?: boolean;
28
+ }
29
+ export declare function getConfigIcon(property: string, value: unknown | undefined, hasUncommittedChanges?: boolean): ThemeIcon | undefined;
30
+ export declare class AgentHostSessionConfigPicker extends Disposable {
31
+ protected readonly _session: IObservable<IActiveSession | undefined>;
32
+ protected readonly _actionWidgetService: IActionWidgetService;
33
+ protected readonly _configurationService: IConfigurationService;
34
+ protected readonly _contextKeyService: IContextKeyService;
35
+ protected readonly _dialogService: IDialogService;
36
+ protected readonly _hoverService: IHoverService;
37
+ protected readonly _sessionsProvidersService: ISessionsProvidersService;
38
+ protected readonly _telemetryService: ITelemetryService;
39
+ protected readonly _layoutService: IAgentWorkbenchLayoutService;
40
+ protected readonly _storageService: IStorageService;
41
+ private readonly _sessionChangesService;
42
+ protected readonly _viewsService: IViewsService;
43
+ protected readonly _renderDisposables: DisposableStore;
44
+ private readonly _providerListeners;
45
+ private readonly _isolationCheckbox;
46
+ private readonly _hostMarker;
47
+ protected readonly _filterDelayer: Delayer<readonly IActionListItem<IConfigPickerItem>[]>;
48
+ private readonly _repositoryConfigSequencer;
49
+ private _container;
50
+ /**
51
+ * Session/property-scoped value→label cache for `enumDynamic`
52
+ * properties (e.g. branch), populated whenever `_getItems` fetches
53
+ * completions. `enumDynamic` completions are transient protocol
54
+ * data — only `value` is persisted via `setSessionConfigValue`/
55
+ * `resolveSessionConfig` — so this is the only place a completion's
56
+ * `label` for a previously-picked value can be recovered once the
57
+ * dropdown/sheet closes. Static `enum` properties don't need this:
58
+ * their label is always derivable from `schema.enum`/`enumLabels`.
59
+ *
60
+ * Keyed by session so entries don't leak across sessions: this picker
61
+ * is only ever created for the new-session composer (`Menus.NewSession-
62
+ * RepositoryConfig`), and that composer's `_session` tracks the
63
+ * globally active session — so the *same* picker instance can observe
64
+ * a sequence of different (not-yet-created) draft sessions as the user
65
+ * switches between them. `_renderConfigPickers` evicts entries for any
66
+ * session other than the current one on every render, so the map never
67
+ * grows beyond the properties of the currently active session.
68
+ */
69
+ private readonly _dynamicValueLabels;
70
+ constructor(_session: IObservable<IActiveSession | undefined>, _actionWidgetService: IActionWidgetService, _configurationService: IConfigurationService, _contextKeyService: IContextKeyService, _dialogService: IDialogService, _hoverService: IHoverService, _sessionsProvidersService: ISessionsProvidersService, _telemetryService: ITelemetryService, _layoutService: IAgentWorkbenchLayoutService, _storageService: IStorageService, _sessionChangesService: ISessionChangesService, _viewsService: IViewsService);
71
+ private _watchProviders;
72
+ render(container: HTMLElement): void;
73
+ private _renderConfigPickers;
74
+ private _isPickable;
75
+ /**
76
+ * Order the schema properties for rendering. The base implementation
77
+ * enforces a stable visual sequence for well-known properties:
78
+ * Isolation (worktree/folder) first, then Branch. Any other properties
79
+ * keep their original schema order after these two. Subclasses can
80
+ * override to impose a different deterministic visual sequence
81
+ * (e.g. the mobile chip row groups Approvals | Branch | Worktree).
82
+ */
83
+ protected _orderProperties(properties: ReadonlyArray<[
84
+ string,
85
+ SessionConfigPropertySchema
86
+ ]>): ReadonlyArray<[
87
+ string,
88
+ SessionConfigPropertySchema
89
+ ]>;
90
+ /**
91
+ * Decide whether a property's chip should be rendered for the current
92
+ * session. The base implementation hides non-mutable properties in
93
+ * running sessions (they would render as dead pills). Subclasses can
94
+ * override to keep specific properties visible as readonly chips —
95
+ * see {@link _isReadOnlyChip}.
96
+ */
97
+ protected _shouldRenderProperty(property: string, schema: SessionConfigPropertySchema, isNewSession: boolean): boolean;
98
+ /**
99
+ * Decide whether a property's trigger should render as readonly
100
+ * (no chevron, no popup). The base implementation defers to the
101
+ * schema's `readOnly` flag. Subclasses that opt in to rendering
102
+ * non-mutable chips via {@link _shouldRenderProperty} should
103
+ * override this to also mark them readonly at runtime.
104
+ */
105
+ protected _isReadOnlyChip(property: string, schema: SessionConfigPropertySchema, isNewSession: boolean): boolean;
106
+ protected _setSessionConfigValue(provider: IAgentHostSessionsProvider, sessionId: string, property: string, value: unknown): Promise<void>;
107
+ private _invokeCheckoutOperation;
108
+ protected _requiresBranchCheckout(provider: IAgentHostSessionsProvider, sessionId: string, property: string): boolean;
109
+ protected _getCheckoutChangeset(sessionId: string): ISessionChangeset | undefined;
110
+ protected _renderTrigger(trigger: HTMLElement, sessionId: string, property: string, schema: SessionConfigPropertySchema, value: unknown | undefined, isReadOnly: boolean): void;
111
+ /**
112
+ * Keeps the Branch chip's glyph, aria label, and hover in sync with the
113
+ * checked-out branch and uncommitted-changes count reported by the agent host.
114
+ *
115
+ * The chip only adopts the dirty state when its selected base branch matches
116
+ * the repository's checked-out branch. Picker rows apply the same rule.
117
+ *
118
+ * The state is patched onto the existing nodes rather than routed through
119
+ * `_renderConfigPickers`, which tears the whole chip row down: the host
120
+ * re-probes git whenever it observes a file change, so a flip while the
121
+ * user has the branch dropdown open would otherwise destroy its anchor.
122
+ */
123
+ private _trackBranchRepositoryState;
124
+ /**
125
+ * Whether the isolation property should render as a checkbox
126
+ * (Worktree on/off) rather than a dropdown. Only on non-phone
127
+ * layouts and only when the schema offers both folder and worktree.
128
+ */
129
+ protected _shouldRenderIsolationAsCheckbox(schema: SessionConfigPropertySchema): boolean;
130
+ private _renderIsolationCheckbox;
131
+ private _isDevContainerWorktreeEnabled;
132
+ private _applyIsolationValue;
133
+ protected _showPicker(provider: IAgentHostSessionsProvider, sessionId: string, property: string, schema: SessionConfigPropertySchema, trigger: HTMLElement): Promise<void>;
134
+ private _showChanges;
135
+ protected _getRepositoryBranchState(sessionId: string): {
136
+ branchName: string | undefined;
137
+ uncommittedChanges: number | undefined;
138
+ };
139
+ protected _getItems(provider: IAgentHostSessionsProvider, sessionId: string, property: string, schema: SessionConfigPropertySchema, query?: string): Promise<readonly IConfigPickerItem[]>;
140
+ private _fromCompletionItem;
141
+ private _dynamicValueLabelsKey;
142
+ private _cacheDynamicValueLabels;
143
+ /**
144
+ * Drops cached labels for any session other than `sessionId`. Called on
145
+ * every render so the cache tracks whichever session the picker is
146
+ * currently bound to, instead of accumulating entries for every draft
147
+ * session this (potentially long-lived) picker instance has ever shown.
148
+ */
149
+ private _evictDynamicValueLabelsForOtherSessions;
150
+ private _getLabel;
151
+ protected _getProvider(providerId: string): IAgentHostSessionsProvider | undefined;
152
+ }
153
+ interface IConfigPickerWidget extends IDisposable {
154
+ render(container: HTMLElement): HTMLElement | void;
155
+ focus?(): void;
156
+ showPicker?(anchor: HTMLElement, onHide?: () => void): boolean | void;
157
+ }
158
+ export declare class PickerActionViewItem extends BaseActionViewItem implements IChatInputPickerResponsiveState {
159
+ private readonly _picker;
160
+ private _compact;
161
+ private _focusableElement;
162
+ constructor(_picker: IConfigPickerWidget, disposable?: IDisposable);
163
+ render(container: HTMLElement): void;
164
+ focus(): void;
165
+ isFocused(): boolean;
166
+ blur(): void;
167
+ setFocusable(_focusable: boolean): void;
168
+ private _focusFirstTabStop;
169
+ isCompact(): boolean;
170
+ setCompact(compact: boolean): void;
171
+ show(anchor?: HTMLElement): void;
172
+ dispose(): void;
173
+ }
174
+ export {};