@codingame/monaco-vscode-api 32.0.1 → 33.0.3
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/missing-services.js +51 -7
- package/package.json +8 -8
- package/service-override/tools/views.d.ts +2 -2
- package/services.d.ts +3 -0
- package/services.js +8 -3
- package/vscode/product.json.js +1 -1
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/common/arrays.js +5 -1
- package/vscode/src/vs/base/common/async.js +94 -1
- package/vscode/src/vs/base/common/cache.js +22 -1
- package/vscode/src/vs/base/common/defaultAccount.d.ts +63 -0
- package/vscode/src/vs/base/common/policy.d.ts +1 -1
- package/vscode/src/vs/base/common/product.d.ts +0 -2
- package/vscode/src/vs/base/parts/ipc/common/ipc.net.d.ts +12 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +1 -1
- package/vscode/src/vs/editor/common/config/editorOptions.js +1 -1
- package/vscode/src/vs/editor/common/textModelEditSource.js +18 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +2 -2
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +2 -0
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +22 -2
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +58 -17
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +9 -9
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +6 -3
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +3 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +7 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +24 -10
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +1 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +12 -12
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +3 -3
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
- package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
- package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/agentHostUri.js +3 -0
- package/vscode/src/vs/platform/agentHost/common/agentPluginManager.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.d.ts +13 -4
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +8 -3
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +17 -1
- package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +27 -0
- package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +20 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +1054 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.js +59 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +17 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +6 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +5 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocolUpgrade.d.ts +73 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +139 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.js +24 -0
- package/vscode/src/vs/platform/browserView/common/browserView.d.ts +20 -0
- package/vscode/src/vs/platform/browserView/common/browserView.js +1 -0
- package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.d.ts +3 -1
- package/vscode/src/vs/platform/configuration/common/configuration.js +1 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +10 -10
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +16 -1
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.js +8 -0
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +9 -1
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
- package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
- package/vscode/src/vs/platform/environment/common/argv.d.ts +0 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/vscode/src/vs/platform/hover/browser/hoverService.js +1 -1
- package/vscode/src/vs/platform/hover/browser/hoverWidget.js +1 -1
- package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
- package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
- package/vscode/src/vs/platform/list/browser/listService.js +25 -25
- package/vscode/src/vs/platform/log/common/log.js +6 -6
- package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
- package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.d.ts +2 -4
- package/vscode/src/vs/platform/notification/common/notification.js +3 -3
- package/vscode/src/vs/platform/policy/common/policy.d.ts +1 -1
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -6
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
- package/vscode/src/vs/platform/request/common/request.js +20 -20
- package/vscode/src/vs/platform/telemetry/common/telemetry.js +4 -1
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +34 -34
- package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +19 -19
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +10 -10
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
- package/vscode/src/vs/platform/theme/common/sizeUtils.d.ts +5 -3
- package/vscode/src/vs/platform/theme/common/sizeUtils.js +17 -3
- package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +11 -11
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
- package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
- package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +7 -1
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -5
- package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostChatStatus.js +9 -1
- package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +3 -4
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +4 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +12 -0
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +98 -38
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +35 -35
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +127 -127
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +29 -29
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
- package/vscode/src/vs/workbench/browser/editor.js +2 -2
- package/vscode/src/vs/workbench/browser/labels.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +23 -23
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +26 -26
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
- package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -9
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.d.ts +1 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +139 -176
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +28 -27
- package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +16 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +24 -7
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +19 -19
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +22 -22
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +13 -13
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +27 -27
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -10
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +15 -15
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/views/viewMenuActions.d.ts +7 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewMenuActions.js +28 -5
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +7 -0
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +11 -5
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +12 -9
- package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
- package/vscode/src/vs/workbench/browser/window.js +14 -14
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +225 -225
- package/vscode/src/vs/workbench/common/configuration.js +9 -9
- package/vscode/src/vs/workbench/common/contextkeys.js +82 -82
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.js +161 -161
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +156 -156
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/browserView/common/browserView.js +10 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +68 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.service.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service.d.ts +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +43 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatOutputPartStateCache.service.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatOutputPartStateCache.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +93 -86
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +4 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +29 -21
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.service.d.ts +7 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +41 -2
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +17 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +152 -49
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +17 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +21 -19
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +79 -79
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.d.ts +92 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.js +329 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -44
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +33 -276
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +12 -12
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.d.ts +7 -12
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.js +68 -64
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +85 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +149 -151
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +179 -179
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +47 -47
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +6 -6
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +30 -30
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +79 -76
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +28 -28
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.js +108 -0
- package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletions.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +49 -0
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +40 -40
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +42 -42
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +16 -16
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
- package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/opener/browser/opener.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/opener/browser/opener.contribution.js +44 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
- package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
- package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
- package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
- package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
- package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
- package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/common/search.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/search/common/search.js +9 -1
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +10 -10
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +104 -74
- package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +14 -14
- package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +2 -1
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +14 -3
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -25
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +15 -0
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +11 -2
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +65 -22
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +2 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +15 -3
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +19 -3
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
- package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +30 -30
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
- package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
- package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
- package/vscode/src/vs/workbench/services/title/browser/titleService.service.d.ts +7 -0
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
- package/vscode-dts/vscode.proposed.authIssuers.d.ts +14 -0
- package/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts +23 -3
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +0 -9
- package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +0 -39
- package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.d.ts +0 -76
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -470
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css +0 -86
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -47
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '../../../../../../../../../external/tslib/tslib.es6.js';
|
|
3
|
-
import { CancellationToken } from '../../../../../../base/common/cancellation.js';
|
|
4
3
|
import { CancellationError } from '../../../../../../base/common/errors.js';
|
|
5
4
|
import { Emitter, Event } from '../../../../../../base/common/event.js';
|
|
6
5
|
import { parse } from '../../../../../../base/common/json.js';
|
|
7
|
-
import { Disposable
|
|
6
|
+
import { Disposable } from '../../../../../../base/common/lifecycle.js';
|
|
8
7
|
import { StopWatch } from '../../../../../../base/common/stopwatch.js';
|
|
9
8
|
import '../../../../../../base/common/observableInternal/index.js';
|
|
10
9
|
import { ResourceMap, ResourceSet } from '../../../../../../base/common/map.js';
|
|
@@ -16,11 +15,9 @@ import { localize } from '../../../../../../nls.js';
|
|
|
16
15
|
import { IConfigurationService } from '../../../../../../platform/configuration/common/configuration.service.js';
|
|
17
16
|
import { FileOperationError, FileOperationResult } from '../../../../../../platform/files/common/files.js';
|
|
18
17
|
import { IFileService } from '../../../../../../platform/files/common/files.service.js';
|
|
19
|
-
import { IExtensionService } from '../../../../../services/extensions/common/extensions.service.js';
|
|
20
18
|
import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
|
|
21
19
|
import { ILabelService } from '../../../../../../platform/label/common/label.service.js';
|
|
22
20
|
import { ILogService } from '../../../../../../platform/log/common/log.service.js';
|
|
23
|
-
import { IFilesConfigurationService } from '../../../../../services/filesConfiguration/common/filesConfigurationService.service.js';
|
|
24
21
|
import { StorageScope, StorageTarget } from '../../../../../../platform/storage/common/storage.js';
|
|
25
22
|
import { IStorageService } from '../../../../../../platform/storage/common/storage.service.js';
|
|
26
23
|
import { ITelemetryService } from '../../../../../../platform/telemetry/common/telemetry.service.js';
|
|
@@ -30,7 +27,7 @@ import { getSkillFolderName, getCleanPromptName, AGENT_MD_FILENAME, CLAUDE_MD_FI
|
|
|
30
27
|
import { PromptsType, PromptFileSource, PROMPT_LANGUAGE_ID, getPromptsTypeForLanguageId, Target } from '../promptTypes.js';
|
|
31
28
|
import { PromptFilesLocator } from '../utils/promptFilesLocator.js';
|
|
32
29
|
import { PromptFileParser, evaluateApplyToPattern, PromptHeaderAttributes } from '../promptFileParser.js';
|
|
33
|
-
import { PromptsStorage,
|
|
30
|
+
import { PromptsStorage, matchesSessionType, AgentInstructionFileType } from './promptsService.js';
|
|
34
31
|
import { Delayer } from '../../../../../../base/common/async.js';
|
|
35
32
|
import { Schemas } from '../../../../../../base/common/network.js';
|
|
36
33
|
import { parseSubagentHooksFromYaml } from '../hookSchema.js';
|
|
@@ -39,12 +36,11 @@ import { IWorkspaceContextService } from '../../../../../../platform/workspace/c
|
|
|
39
36
|
import { IWorkspaceTrustManagementService } from '../../../../../../platform/workspace/common/workspaceTrust.service.js';
|
|
40
37
|
import { IPathService } from '../../../../../services/path/common/pathService.service.js';
|
|
41
38
|
import { getTarget, mapClaudeModels, mapClaudeTools } from '../languageProviders/promptFileAttributes.js';
|
|
42
|
-
import { ContextKeyExpr } from '../../../../../../platform/contextkey/common/contextkey.js';
|
|
43
|
-
import { IContextKeyService } from '../../../../../../platform/contextkey/common/contextkey.service.js';
|
|
44
39
|
import { getCanonicalPluginCommandId } from '../../plugins/agentPluginService.js';
|
|
45
40
|
import { IAgentPluginService } from '../../plugins/agentPluginService.service.js';
|
|
46
41
|
import { isContributionEnabled } from '../../enablement.js';
|
|
47
42
|
import { assertNever } from '../../../../../../base/common/assert.js';
|
|
43
|
+
import { ExtensionPromptFileService } from './extensionPromptFileService.js';
|
|
48
44
|
import { autorun } from '../../../../../../base/common/observableInternal/reactions/autorun.js';
|
|
49
45
|
|
|
50
46
|
let PromptsService = class PromptsService extends Disposable {
|
|
@@ -56,13 +52,10 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
56
52
|
userDataService,
|
|
57
53
|
configurationService,
|
|
58
54
|
fileService,
|
|
59
|
-
filesConfigService,
|
|
60
55
|
storageService,
|
|
61
|
-
extensionService,
|
|
62
56
|
telemetryService,
|
|
63
57
|
workspaceService,
|
|
64
58
|
pathService,
|
|
65
|
-
contextKeyService,
|
|
66
59
|
agentPluginService,
|
|
67
60
|
workspaceTrustService
|
|
68
61
|
) {
|
|
@@ -74,48 +67,27 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
74
67
|
this.userDataService = userDataService;
|
|
75
68
|
this.configurationService = configurationService;
|
|
76
69
|
this.fileService = fileService;
|
|
77
|
-
this.filesConfigService = filesConfigService;
|
|
78
70
|
this.storageService = storageService;
|
|
79
|
-
this.extensionService = extensionService;
|
|
80
71
|
this.telemetryService = telemetryService;
|
|
81
72
|
this.workspaceService = workspaceService;
|
|
82
73
|
this.pathService = pathService;
|
|
83
|
-
this.contextKeyService = contextKeyService;
|
|
84
74
|
this.agentPluginService = agentPluginService;
|
|
85
75
|
this.workspaceTrustService = workspaceTrustService;
|
|
86
76
|
this.cachedParsedPromptFromModels = ( new ResourceMap());
|
|
87
77
|
this.cachedFileLocations = {};
|
|
88
78
|
this.fileLocatorEvents = {};
|
|
89
|
-
this.contributedFiles = {
|
|
90
|
-
[PromptsType.prompt]: ( new ResourceMap()),
|
|
91
|
-
[PromptsType.instructions]: ( new ResourceMap()),
|
|
92
|
-
[PromptsType.agent]: ( new ResourceMap()),
|
|
93
|
-
[PromptsType.skill]: ( new ResourceMap()),
|
|
94
|
-
[PromptsType.hook]: ( new ResourceMap())
|
|
95
|
-
};
|
|
96
|
-
this._contributedWhenKeys = ( new Set());
|
|
97
|
-
this._contributedWhenClauses = ( new Map());
|
|
98
|
-
this._providerWhenClauses = ( new Map());
|
|
99
|
-
this._onDidContributedWhenChange = this._register(( new Emitter()));
|
|
100
|
-
this._onDidChangeInstructions = this._register(( new Emitter()));
|
|
101
79
|
this._onDidPluginPromptFilesChange = this._register(( new Emitter()));
|
|
102
80
|
this._onDidPluginHooksChange = this._register(( new Emitter()));
|
|
103
81
|
this._pluginPromptFilesByType = ( new Map());
|
|
104
|
-
this._pendingReadonlyUris = [];
|
|
105
|
-
this._pendingReadonlyFlush = false;
|
|
106
|
-
this.promptFileProviders = [];
|
|
107
82
|
this.disabledPromptsStorageKeyPrefix = "chat.disabledPromptFiles.";
|
|
108
83
|
this.fileLocator = this.createPromptFilesLocator();
|
|
109
84
|
this._register(this.modelService.onModelRemoved(model => {
|
|
110
85
|
this.cachedParsedPromptFromModels.delete(model.uri);
|
|
111
86
|
}));
|
|
112
|
-
this._register(this.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
this._onDidContributedWhenChange.fire();
|
|
118
|
-
}
|
|
87
|
+
this.extensionPromptFiles = this._register(this.instantiationService.createInstance(ExtensionPromptFileService));
|
|
88
|
+
const onDidChangeExtensionPromptFiles = this.extensionPromptFiles.onDidChange;
|
|
89
|
+
this._register(onDidChangeExtensionPromptFiles(e => {
|
|
90
|
+
this.cachedFileLocations[e.type] = undefined;
|
|
119
91
|
}));
|
|
120
92
|
const modelChangeEvent = this._register(( new ModelChangeTracker(this.modelService))).onDidPromptChange;
|
|
121
93
|
this.cachedCustomAgents = this._register(( new CachedPromise(token => this.computeAgentDiscoveryInfo(token), () => Event.any(
|
|
@@ -125,8 +97,8 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
125
97
|
this.configurationService.onDidChangeConfiguration,
|
|
126
98
|
e => e.affectsConfiguration(PromptsConfig.USE_CHAT_HOOKS)
|
|
127
99
|
),
|
|
128
|
-
|
|
129
|
-
this._onDidPluginPromptFilesChange.event,
|
|
100
|
+
Event.filter(onDidChangeExtensionPromptFiles, e => e.type === PromptsType.agent),
|
|
101
|
+
Event.filter(this._onDidPluginPromptFilesChange.event, t => t === PromptsType.agent),
|
|
130
102
|
this.workspaceTrustService.onDidChangeTrust
|
|
131
103
|
))));
|
|
132
104
|
this.cachedSlashCommands = this._register(( new CachedPromise(token => this.computeSlashCommandDiscoveryInfo(token), () => Event.any(
|
|
@@ -134,14 +106,20 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
134
106
|
this.getFileLocatorEvent(PromptsType.skill),
|
|
135
107
|
Event.filter(modelChangeEvent, e => e.promptType === PromptsType.prompt),
|
|
136
108
|
Event.filter(modelChangeEvent, e => e.promptType === PromptsType.skill),
|
|
137
|
-
|
|
138
|
-
|
|
109
|
+
Event.filter(
|
|
110
|
+
onDidChangeExtensionPromptFiles,
|
|
111
|
+
e => e.type === PromptsType.prompt || e.type === PromptsType.skill
|
|
112
|
+
),
|
|
113
|
+
Event.filter(
|
|
114
|
+
this._onDidPluginPromptFilesChange.event,
|
|
115
|
+
t => t === PromptsType.prompt || t === PromptsType.skill
|
|
116
|
+
)
|
|
139
117
|
))));
|
|
140
118
|
this.cachedSkills = this._register(( new CachedPromise(token => this.computeSkillDiscovery(token), () => Event.any(
|
|
141
119
|
this.getFileLocatorEvent(PromptsType.skill),
|
|
142
120
|
Event.filter(modelChangeEvent, e => e.promptType === PromptsType.skill),
|
|
143
|
-
|
|
144
|
-
this._onDidPluginPromptFilesChange.event
|
|
121
|
+
Event.filter(onDidChangeExtensionPromptFiles, e => e.type === PromptsType.skill),
|
|
122
|
+
Event.filter(this._onDidPluginPromptFilesChange.event, t => t === PromptsType.skill)
|
|
145
123
|
))));
|
|
146
124
|
this.cachedHooks = this._register(( new CachedPromise(
|
|
147
125
|
token => this.computeHooks(token),
|
|
@@ -152,9 +130,11 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
152
130
|
)));
|
|
153
131
|
this.cachedInstructions = this._register(( new CachedPromise(token => this.computeInstructionFiles(token), () => Event.any(
|
|
154
132
|
this.getFileLocatorEvent(PromptsType.instructions),
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
133
|
+
Event.filter(onDidChangeExtensionPromptFiles, e => e.type === PromptsType.instructions),
|
|
134
|
+
Event.filter(
|
|
135
|
+
this._onDidPluginPromptFilesChange.event,
|
|
136
|
+
t => t === PromptsType.instructions
|
|
137
|
+
)
|
|
158
138
|
))));
|
|
159
139
|
this._register(
|
|
160
140
|
this.watchPluginPromptFilesForType(PromptsType.prompt, (plugin, reader) => plugin.commands.read(reader))
|
|
@@ -213,7 +193,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
213
193
|
nextFiles.sort((a, b) => `${a.name ?? ""}|${( a.uri.toString())}`.localeCompare(`${b.name ?? ""}|${( b.uri.toString())}`));
|
|
214
194
|
this._pluginPromptFilesByType.set(type, nextFiles);
|
|
215
195
|
this.cachedFileLocations[type] = undefined;
|
|
216
|
-
this._onDidPluginPromptFilesChange.fire();
|
|
196
|
+
this._onDidPluginPromptFilesChange.fire(type);
|
|
217
197
|
});
|
|
218
198
|
}
|
|
219
199
|
createPromptFilesLocator() {
|
|
@@ -277,87 +257,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
277
257
|
})));
|
|
278
258
|
}
|
|
279
259
|
registerPromptFileProvider(extension, type, provider) {
|
|
280
|
-
|
|
281
|
-
extension,
|
|
282
|
-
type,
|
|
283
|
-
...provider
|
|
284
|
-
};
|
|
285
|
-
this.promptFileProviders.push(providerEntry);
|
|
286
|
-
const disposables = ( new DisposableStore());
|
|
287
|
-
if (provider.onDidChangePromptFiles) {
|
|
288
|
-
disposables.add(provider.onDidChangePromptFiles(() => {
|
|
289
|
-
this.invalidatePromptFileCache(type);
|
|
290
|
-
}));
|
|
291
|
-
}
|
|
292
|
-
this.invalidatePromptFileCache(type);
|
|
293
|
-
disposables.add({
|
|
294
|
-
dispose: () => {
|
|
295
|
-
const index = this.promptFileProviders.findIndex(p => p === providerEntry);
|
|
296
|
-
if (index >= 0) {
|
|
297
|
-
this.promptFileProviders.splice(index, 1);
|
|
298
|
-
this._providerWhenClauses.delete(providerEntry);
|
|
299
|
-
this._updateContributedWhenKeys();
|
|
300
|
-
this.invalidatePromptFileCache(type);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
});
|
|
304
|
-
return disposables;
|
|
305
|
-
}
|
|
306
|
-
invalidatePromptFileCache(type) {
|
|
307
|
-
if (type === PromptsType.agent) {
|
|
308
|
-
this.cachedFileLocations[PromptsType.agent] = undefined;
|
|
309
|
-
this.cachedCustomAgents.refresh();
|
|
310
|
-
} else if (type === PromptsType.instructions) {
|
|
311
|
-
this.cachedFileLocations[PromptsType.instructions] = undefined;
|
|
312
|
-
this._onDidChangeInstructions.fire();
|
|
313
|
-
} else if (type === PromptsType.prompt) {
|
|
314
|
-
this.cachedFileLocations[PromptsType.prompt] = undefined;
|
|
315
|
-
this.cachedSlashCommands.refresh();
|
|
316
|
-
} else if (type === PromptsType.skill) {
|
|
317
|
-
this.cachedFileLocations[PromptsType.skill] = undefined;
|
|
318
|
-
this.cachedSkills.refresh();
|
|
319
|
-
this.cachedSlashCommands.refresh();
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
async listFromProviders(type, activationEvent, token) {
|
|
323
|
-
const result = [];
|
|
324
|
-
const readonlyUris = [];
|
|
325
|
-
await this.extensionService.activateByEvent(activationEvent);
|
|
326
|
-
const providers = this.promptFileProviders.filter(p => p.type === type);
|
|
327
|
-
if (providers.length === 0) {
|
|
328
|
-
return result;
|
|
329
|
-
}
|
|
330
|
-
for (const providerEntry of providers) {
|
|
331
|
-
try {
|
|
332
|
-
const files = await providerEntry.providePromptFiles({}, token);
|
|
333
|
-
this._providerWhenClauses.set(providerEntry, files?.flatMap(file => file.when ? [file.when] : []) ?? []);
|
|
334
|
-
this._updateContributedWhenKeys();
|
|
335
|
-
if (!files || token.isCancellationRequested) {
|
|
336
|
-
continue;
|
|
337
|
-
}
|
|
338
|
-
for (const file of files) {
|
|
339
|
-
readonlyUris.push(file.uri);
|
|
340
|
-
result.push({
|
|
341
|
-
uri: file.uri,
|
|
342
|
-
storage: PromptsStorage.extension,
|
|
343
|
-
type,
|
|
344
|
-
extension: providerEntry.extension,
|
|
345
|
-
source: PromptFileSource.ExtensionAPI,
|
|
346
|
-
name: file.name,
|
|
347
|
-
description: file.description,
|
|
348
|
-
when: file.when,
|
|
349
|
-
sessionTypes: file.sessionTypes
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
} catch (e) {
|
|
353
|
-
this.logger.error(
|
|
354
|
-
`[listFromProviders] Failed to get ${type} files from provider`,
|
|
355
|
-
e instanceof Error ? e.message : String(e)
|
|
356
|
-
);
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
void this.filesConfigService.updateReadonly(readonlyUris, true);
|
|
360
|
-
return result;
|
|
260
|
+
return this.extensionPromptFiles.registerPromptFileProvider(extension, type, provider);
|
|
361
261
|
}
|
|
362
262
|
async listPromptFilesForStorage(type, storage, token) {
|
|
363
263
|
let promptPaths;
|
|
@@ -387,39 +287,8 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
387
287
|
}
|
|
388
288
|
return promptPaths;
|
|
389
289
|
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
const settledResults = await Promise.allSettled(( this.contributedFiles[type].values()));
|
|
393
|
-
const contributedFiles = ( settledResults.filter(result => result.status === "fulfilled").map(result => result.value));
|
|
394
|
-
const activationEvent = this.getProviderActivationEvent(type);
|
|
395
|
-
const providerFiles = activationEvent ? await this.listFromProviders(type, activationEvent, token) : [];
|
|
396
|
-
return [...contributedFiles, ...providerFiles].filter(file => {
|
|
397
|
-
if (!file.when) {
|
|
398
|
-
return true;
|
|
399
|
-
}
|
|
400
|
-
const when = ContextKeyExpr.deserialize(file.when);
|
|
401
|
-
if (!when) {
|
|
402
|
-
this.logger.warn(
|
|
403
|
-
`[getExtensionPromptFiles] Ignoring contributed prompt file with invalid when clause: ${file.when}`
|
|
404
|
-
);
|
|
405
|
-
return false;
|
|
406
|
-
}
|
|
407
|
-
return this.contextKeyService.contextMatchesRules(when);
|
|
408
|
-
});
|
|
409
|
-
}
|
|
410
|
-
getProviderActivationEvent(type) {
|
|
411
|
-
switch (type) {
|
|
412
|
-
case PromptsType.agent:
|
|
413
|
-
return CUSTOM_AGENT_PROVIDER_ACTIVATION_EVENT;
|
|
414
|
-
case PromptsType.instructions:
|
|
415
|
-
return INSTRUCTIONS_PROVIDER_ACTIVATION_EVENT;
|
|
416
|
-
case PromptsType.prompt:
|
|
417
|
-
return PROMPT_FILE_PROVIDER_ACTIVATION_EVENT;
|
|
418
|
-
case PromptsType.skill:
|
|
419
|
-
return SKILL_PROVIDER_ACTIVATION_EVENT;
|
|
420
|
-
case PromptsType.hook:
|
|
421
|
-
return undefined;
|
|
422
|
-
}
|
|
290
|
+
getExtensionPromptFiles(type, token) {
|
|
291
|
+
return this.extensionPromptFiles.getExtensionPromptFiles(type, token);
|
|
423
292
|
}
|
|
424
293
|
async getSourceFolders(type) {
|
|
425
294
|
const result = [];
|
|
@@ -687,95 +556,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
687
556
|
return ( new PromptFileParser()).parse(uri, ( fileContent.value.toString()));
|
|
688
557
|
}
|
|
689
558
|
registerContributedFile(type, uri, extension, name, description, when, sessionTypes) {
|
|
690
|
-
|
|
691
|
-
if (( bucket.has(uri))) {
|
|
692
|
-
return Disposable.None;
|
|
693
|
-
}
|
|
694
|
-
const entryPromise = (async () => {
|
|
695
|
-
if (type === PromptsType.skill) {
|
|
696
|
-
try {
|
|
697
|
-
const validated = await this.validateAndSanitizeSkillFile(uri, CancellationToken.None);
|
|
698
|
-
name = validated.name;
|
|
699
|
-
description = validated.description;
|
|
700
|
-
} catch (e) {
|
|
701
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
702
|
-
this.logger.error(
|
|
703
|
-
`[registerContributedFile] Extension '${extension.identifier.value}' failed to validate skill file: ${uri}`,
|
|
704
|
-
msg
|
|
705
|
-
);
|
|
706
|
-
throw e;
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
return {
|
|
710
|
-
uri,
|
|
711
|
-
name,
|
|
712
|
-
description,
|
|
713
|
-
when,
|
|
714
|
-
sessionTypes,
|
|
715
|
-
storage: PromptsStorage.extension,
|
|
716
|
-
type,
|
|
717
|
-
extension,
|
|
718
|
-
source: PromptFileSource.ExtensionContribution
|
|
719
|
-
};
|
|
720
|
-
})();
|
|
721
|
-
bucket.set(uri, entryPromise);
|
|
722
|
-
this._enqueueReadonlyUpdate(uri);
|
|
723
|
-
if (when) {
|
|
724
|
-
this._contributedWhenClauses.set(`${type}/${( uri.toString())}`, when);
|
|
725
|
-
}
|
|
726
|
-
const flushCachesIfRequired = () => {
|
|
727
|
-
this._updateContributedWhenKeys();
|
|
728
|
-
this.cachedFileLocations[type] = undefined;
|
|
729
|
-
switch (type) {
|
|
730
|
-
case PromptsType.agent:
|
|
731
|
-
this.cachedCustomAgents.refresh();
|
|
732
|
-
break;
|
|
733
|
-
case PromptsType.prompt:
|
|
734
|
-
this.cachedSlashCommands.refresh();
|
|
735
|
-
break;
|
|
736
|
-
case PromptsType.skill:
|
|
737
|
-
this.cachedSkills.refresh();
|
|
738
|
-
this.cachedSlashCommands.refresh();
|
|
739
|
-
break;
|
|
740
|
-
}
|
|
741
|
-
};
|
|
742
|
-
flushCachesIfRequired();
|
|
743
|
-
return {
|
|
744
|
-
dispose: () => {
|
|
745
|
-
bucket.delete(uri);
|
|
746
|
-
this._contributedWhenClauses.delete(`${type}/${( uri.toString())}`);
|
|
747
|
-
flushCachesIfRequired();
|
|
748
|
-
}
|
|
749
|
-
};
|
|
750
|
-
}
|
|
751
|
-
_enqueueReadonlyUpdate(uri) {
|
|
752
|
-
this._pendingReadonlyUris.push(uri);
|
|
753
|
-
if (!this._pendingReadonlyFlush) {
|
|
754
|
-
this._pendingReadonlyFlush = true;
|
|
755
|
-
queueMicrotask(() => {
|
|
756
|
-
const uris = this._pendingReadonlyUris;
|
|
757
|
-
this._pendingReadonlyUris = [];
|
|
758
|
-
this._pendingReadonlyFlush = false;
|
|
759
|
-
void this.filesConfigService.updateReadonly(uris, true);
|
|
760
|
-
});
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
_updateContributedWhenKeys() {
|
|
764
|
-
this._contributedWhenKeys.clear();
|
|
765
|
-
for (const whenClause of ( this._contributedWhenClauses.values())) {
|
|
766
|
-
const expr = ContextKeyExpr.deserialize(whenClause);
|
|
767
|
-
for (const key of expr?.keys() ?? []) {
|
|
768
|
-
this._contributedWhenKeys.add(key);
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
for (const whenClauses of ( this._providerWhenClauses.values())) {
|
|
772
|
-
for (const whenClause of whenClauses) {
|
|
773
|
-
const expr = ContextKeyExpr.deserialize(whenClause);
|
|
774
|
-
for (const key of expr?.keys() ?? []) {
|
|
775
|
-
this._contributedWhenKeys.add(key);
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
}
|
|
559
|
+
return this.extensionPromptFiles.registerContributedFile(type, uri, extension, name, description, when, sessionTypes);
|
|
779
560
|
}
|
|
780
561
|
getPromptLocationLabel(promptPath) {
|
|
781
562
|
switch (promptPath.storage) {
|
|
@@ -784,17 +565,17 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
784
565
|
relative: true
|
|
785
566
|
});
|
|
786
567
|
case PromptsStorage.user:
|
|
787
|
-
return localize(
|
|
568
|
+
return localize(8170, "User Data");
|
|
788
569
|
case PromptsStorage.extension:
|
|
789
570
|
{
|
|
790
571
|
return localize(
|
|
791
|
-
|
|
572
|
+
8171,
|
|
792
573
|
"Extension: {0}",
|
|
793
574
|
promptPath.extension.displayName ?? promptPath.extension.id
|
|
794
575
|
);
|
|
795
576
|
}
|
|
796
577
|
case PromptsStorage.plugin:
|
|
797
|
-
return localize(
|
|
578
|
+
return localize(8172, "Plugin");
|
|
798
579
|
default:
|
|
799
580
|
assertNever(promptPath, "Unknown prompt storage type");
|
|
800
581
|
}
|
|
@@ -938,30 +719,6 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
938
719
|
sanitizeAgentSkillText(text) {
|
|
939
720
|
return text.replace(/<[^>]+>/g, "");
|
|
940
721
|
}
|
|
941
|
-
async validateAndSanitizeSkillFile(uri, token) {
|
|
942
|
-
const parsedFile = await this.parseNew(uri, token);
|
|
943
|
-
const folderName = getSkillFolderName(uri);
|
|
944
|
-
let name = parsedFile.header?.name;
|
|
945
|
-
if (!name) {
|
|
946
|
-
this.logger.debug(
|
|
947
|
-
`[validateAndSanitizeSkillFile] Agent skill file missing name attribute, using folder name "${folderName}": ${uri}`
|
|
948
|
-
);
|
|
949
|
-
name = folderName;
|
|
950
|
-
}
|
|
951
|
-
const description = parsedFile.header?.description;
|
|
952
|
-
let sanitizedName = this.truncateAgentSkillName(name, uri);
|
|
953
|
-
if (sanitizedName !== folderName) {
|
|
954
|
-
this.logger.debug(
|
|
955
|
-
`[validateAndSanitizeSkillFile] Agent skill name "${sanitizedName}" does not match folder name "${folderName}", using folder name: ${uri}`
|
|
956
|
-
);
|
|
957
|
-
sanitizedName = folderName;
|
|
958
|
-
}
|
|
959
|
-
const sanitizedDescription = description ? this.truncateAgentSkillDescription(description, uri) : undefined;
|
|
960
|
-
return {
|
|
961
|
-
name: sanitizedName,
|
|
962
|
-
description: sanitizedDescription
|
|
963
|
-
};
|
|
964
|
-
}
|
|
965
722
|
truncateAgentSkillName(name, uri) {
|
|
966
723
|
const MAX_NAME_LENGTH = 64;
|
|
967
724
|
const sanitized = this.sanitizeAgentSkillText(name);
|
|
@@ -1467,7 +1224,7 @@ let PromptsService = class PromptsService extends Disposable {
|
|
|
1467
1224
|
};
|
|
1468
1225
|
}
|
|
1469
1226
|
};
|
|
1470
|
-
PromptsService = ( __decorate([( __param(0, ILogService)), ( __param(1, ILabelService)), ( __param(2, IModelService)), ( __param(3, IInstantiationService)), ( __param(4, IUserDataProfileService)), ( __param(5, IConfigurationService)), ( __param(6, IFileService)), ( __param(7,
|
|
1227
|
+
PromptsService = ( __decorate([( __param(0, ILogService)), ( __param(1, ILabelService)), ( __param(2, IModelService)), ( __param(3, IInstantiationService)), ( __param(4, IUserDataProfileService)), ( __param(5, IConfigurationService)), ( __param(6, IFileService)), ( __param(7, IStorageService)), ( __param(8, ITelemetryService)), ( __param(9, IWorkspaceContextService)), ( __param(10, IPathService)), ( __param(11, IAgentPluginService)), ( __param(12, IWorkspaceTrustManagementService))], PromptsService));
|
|
1471
1228
|
class CachedPromise extends Disposable {
|
|
1472
1229
|
constructor(computeFn, getEvent, delay = 0) {
|
|
1473
1230
|
super();
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js
CHANGED
|
@@ -57,7 +57,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
57
57
|
filePattern: undefined,
|
|
58
58
|
source: PromptFileSource.UserData,
|
|
59
59
|
storage: PromptsStorage.user,
|
|
60
|
-
displayPath: ( localize(
|
|
60
|
+
displayPath: ( localize(8173, "User Data")),
|
|
61
61
|
isDefault: true
|
|
62
62
|
};
|
|
63
63
|
}
|
|
@@ -107,9 +107,9 @@ function createAskQuestionsToolData() {
|
|
|
107
107
|
legacyToolReferenceFullNames: [AskQuestionsToolId, "vscode/askQuestions"],
|
|
108
108
|
canBeReferencedInPrompt: false,
|
|
109
109
|
icon: ThemeIcon.fromId(Codicon.question.id),
|
|
110
|
-
displayName: ( localize(
|
|
110
|
+
displayName: ( localize(8174, "Ask Clarifying Questions")),
|
|
111
111
|
userDescription: ( localize(
|
|
112
|
-
|
|
112
|
+
8175,
|
|
113
113
|
"Ask structured clarifying questions using single select, multi-select, or freeform inputs to collect task requirements before proceeding."
|
|
114
114
|
)),
|
|
115
115
|
modelDescription: "Use this tool to ask the user a small number of clarifying questions before proceeding. Provide the questions array with concise headers and prompts. Use options for fixed choices, set multiSelect when multiple selections are allowed. Users can always provide a freeform text answer alongside options unless you set allowFreeformInput to false.",
|
|
@@ -135,7 +135,7 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
135
135
|
this.logService.trace(`[AskQuestionsTool] Invoking with ${questions?.length ?? 0} question(s)`);
|
|
136
136
|
if (!questions || questions.length === 0) {
|
|
137
137
|
throw ( new Error(( localize(
|
|
138
|
-
|
|
138
|
+
8176,
|
|
139
139
|
"No questions provided. The questions array must contain at least one question."
|
|
140
140
|
))));
|
|
141
141
|
}
|
|
@@ -210,7 +210,7 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
210
210
|
};
|
|
211
211
|
}
|
|
212
212
|
progress.report({
|
|
213
|
-
message: ( localize(
|
|
213
|
+
message: ( localize(8177, "Analyzing your answers..."))
|
|
214
214
|
});
|
|
215
215
|
const converted = this.convertCarouselAnswers(questions, answerResult?.answers, idToHeaderMap);
|
|
216
216
|
const {
|
|
@@ -248,14 +248,14 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
248
248
|
} = parameters;
|
|
249
249
|
if (!questions || questions.length === 0) {
|
|
250
250
|
throw ( new Error(( localize(
|
|
251
|
-
|
|
251
|
+
8176,
|
|
252
252
|
"No questions provided. The questions array must contain at least one question."
|
|
253
253
|
))));
|
|
254
254
|
}
|
|
255
255
|
for (const question of questions) {
|
|
256
256
|
if (question.options && question.options.length === 1) {
|
|
257
257
|
throw ( new Error(( localize(
|
|
258
|
-
|
|
258
|
+
8178,
|
|
259
259
|
"Question \"{0}\" must have at least two options, or none for free text input.",
|
|
260
260
|
question.header
|
|
261
261
|
))));
|
|
@@ -263,8 +263,8 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
263
263
|
}
|
|
264
264
|
const questionCount = questions.length;
|
|
265
265
|
const headers = ( questions.map(q => q.header)).join(", ");
|
|
266
|
-
const message = questionCount === 1 ? ( localize(
|
|
267
|
-
const pastMessage = questionCount === 1 ? ( localize(
|
|
266
|
+
const message = questionCount === 1 ? ( localize(8179, "Asking a question ({0})", headers)) : ( localize(8180, "Asking {0} questions ({1})", questionCount, headers));
|
|
267
|
+
const pastMessage = questionCount === 1 ? ( localize(8181, "Asked a question ({0})", headers)) : ( localize(8182, "Asked {0} questions ({1})", questionCount, headers));
|
|
268
268
|
return {
|
|
269
269
|
invocationMessage: ( new MarkdownString(message)),
|
|
270
270
|
pastTenseMessage: ( new MarkdownString(pastMessage))
|
package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js
CHANGED
|
@@ -48,8 +48,8 @@ function createManageTodoListToolData() {
|
|
|
48
48
|
legacyToolReferenceFullNames: ["todos"],
|
|
49
49
|
canBeReferencedInPrompt: true,
|
|
50
50
|
icon: ThemeIcon.fromId(Codicon.checklist.id),
|
|
51
|
-
displayName: ( localize(
|
|
52
|
-
userDescription: ( localize(
|
|
51
|
+
displayName: ( localize(8183, "Manage and track todo items for task planning")),
|
|
52
|
+
userDescription: ( localize(8184, "Manage and track todo items for task planning")),
|
|
53
53
|
modelDescription: "Manage a structured todo list to track progress and plan tasks throughout your coding session. Use this tool VERY frequently to ensure task visibility and proper planning.\n\nWhen to use this tool:\n- Complex multi-step work requiring planning and tracking\n- When user provides multiple tasks or requests (numbered/comma-separated)\n- After receiving new instructions that require multiple steps\n- BEFORE starting work on any todo (mark as in-progress)\n- IMMEDIATELY after completing each todo (mark completed individually)\n- When breaking down larger tasks into smaller actionable steps\n- To give users visibility into your progress and planning\n\nWhen NOT to use:\n- Single, trivial tasks that can be completed in one step\n- Purely conversational/informational requests\n- When just reading files or performing simple searches\n\nCRITICAL workflow:\n1. Plan tasks by writing todo list with specific, actionable items\n2. Mark ONE todo as in-progress before starting work\n3. Complete the work for that specific todo\n4. Mark that todo as completed IMMEDIATELY\n5. Move to next todo and repeat\n\nTodo states:\n- not-started: Todo not yet begun\n- in-progress: Currently working (limit ONE at a time)\n- completed: Finished successfully\n\nIMPORTANT: Mark todos completed as soon as they are done. Do not batch completions.",
|
|
54
54
|
source: ToolDataSource.Internal,
|
|
55
55
|
inputSchema: inputSchema
|
|
@@ -107,7 +107,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
107
107
|
const currentTodoItems = this.chatTodoListService.getTodos(chatSessionResource);
|
|
108
108
|
let message;
|
|
109
109
|
if (args.operation === "read") {
|
|
110
|
-
message = ( localize(
|
|
110
|
+
message = ( localize(8185, "Read todo list"));
|
|
111
111
|
} else if (args.todoList) {
|
|
112
112
|
message = this.generatePastTenseMessage(currentTodoItems, args.todoList);
|
|
113
113
|
}
|
|
@@ -117,12 +117,12 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
117
117
|
title: todo.title,
|
|
118
118
|
status: todo.status
|
|
119
119
|
})));
|
|
120
|
-
const invocationLabel = message?.replace(/^(Starting|Completed): /i, "") ?? ( localize(
|
|
120
|
+
const invocationLabel = message?.replace(/^(Starting|Completed): /i, "") ?? ( localize(8186, "Updating todo list"));
|
|
121
121
|
const invocationMessage = ( new MarkdownString(invocationLabel));
|
|
122
122
|
return {
|
|
123
123
|
invocationMessage,
|
|
124
124
|
presentation: items.length ? undefined : ToolInvocationPresentation.Hidden,
|
|
125
|
-
pastTenseMessage: ( new MarkdownString(message ?? ( localize(
|
|
125
|
+
pastTenseMessage: ( new MarkdownString(message ?? ( localize(8187, "Updated todo list")))),
|
|
126
126
|
toolSpecificData: {
|
|
127
127
|
kind: "todoList",
|
|
128
128
|
todoList: todoList
|
|
@@ -131,7 +131,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
131
131
|
}
|
|
132
132
|
generatePastTenseMessage(currentTodos, newTodos) {
|
|
133
133
|
if (currentTodos.length === 0) {
|
|
134
|
-
return newTodos.length === 1 ? ( localize(
|
|
134
|
+
return newTodos.length === 1 ? ( localize(8188, "Created 1 todo")) : ( localize(8189, "Created {0} todos", newTodos.length));
|
|
135
135
|
}
|
|
136
136
|
const currentTodoMap = ( new Map(( currentTodos.map(todo => [todo.id, todo]))));
|
|
137
137
|
const startedTodos = newTodos.filter(newTodo => {
|
|
@@ -143,7 +143,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
143
143
|
const totalTodos = newTodos.length;
|
|
144
144
|
const currentPosition = newTodos.findIndex(todo => todo.id === startedTodo.id) + 1;
|
|
145
145
|
return localize(
|
|
146
|
-
|
|
146
|
+
8190,
|
|
147
147
|
"Starting: *{0}* ({1}/{2})",
|
|
148
148
|
startedTodo.title,
|
|
149
149
|
currentPosition,
|
|
@@ -159,7 +159,7 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
159
159
|
const totalTodos = newTodos.length;
|
|
160
160
|
const currentPosition = newTodos.findIndex(todo => todo.id === completedTodo.id) + 1;
|
|
161
161
|
return localize(
|
|
162
|
-
|
|
162
|
+
8191,
|
|
163
163
|
"Completed: *{0}* ({1}/{2})",
|
|
164
164
|
completedTodo.title,
|
|
165
165
|
currentPosition,
|
|
@@ -168,9 +168,9 @@ let ManageTodoListTool = class ManageTodoListTool extends Disposable {
|
|
|
168
168
|
}
|
|
169
169
|
const addedTodos = newTodos.filter(newTodo => !( currentTodoMap.has(newTodo.id)));
|
|
170
170
|
if (addedTodos.length > 0) {
|
|
171
|
-
return addedTodos.length === 1 ? ( localize(
|
|
171
|
+
return addedTodos.length === 1 ? ( localize(8192, "Added 1 todo")) : ( localize(8193, "Added {0} todos", addedTodos.length));
|
|
172
172
|
}
|
|
173
|
-
return localize(
|
|
173
|
+
return localize(8194, "Updated todo list");
|
|
174
174
|
}
|
|
175
175
|
handleRead(todoItems, sessionResource) {
|
|
176
176
|
if (todoItems.length === 0) {
|
|
@@ -72,8 +72,8 @@ function createReviewPlanToolData() {
|
|
|
72
72
|
toolReferenceName: "reviewPlan",
|
|
73
73
|
canBeReferencedInPrompt: false,
|
|
74
74
|
icon: ThemeIcon.fromId(Codicon.checklist.id),
|
|
75
|
-
displayName: ( localize(
|
|
76
|
-
userDescription: ( localize(
|
|
75
|
+
displayName: ( localize(8195, "Review Plan")),
|
|
76
|
+
userDescription: ( localize(8196, "Ask the user to review and approve a plan before proceeding.")),
|
|
77
77
|
modelDescription: "Use this tool to present a plan to the user for review. Provide the plan content as markdown, a list of approval actions (with optional default), and whether the user can provide freeform feedback. Optionally provide a URI to the backing plan file so the user can edit it. The tool returns the chosen action, whether the plan was rejected, and any feedback.",
|
|
78
78
|
source: ToolDataSource.Internal,
|
|
79
79
|
inputSchema
|
|
@@ -96,7 +96,7 @@ let ReviewPlanTool = class ReviewPlanTool extends Disposable {
|
|
|
96
96
|
canProvideFeedback
|
|
97
97
|
} = parameters;
|
|
98
98
|
if (!actions || actions.length === 0) {
|
|
99
|
-
throw ( new Error(( localize(
|
|
99
|
+
throw ( new Error(( localize(8197, "At least one approval action must be provided."))));
|
|
100
100
|
}
|
|
101
101
|
const {
|
|
102
102
|
request
|
|
@@ -119,7 +119,7 @@ let ReviewPlanTool = class ReviewPlanTool extends Disposable {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
const reviewData = ( new ChatPlanReviewData(title ?? ( localize(
|
|
122
|
+
const reviewData = ( new ChatPlanReviewData(title ?? ( localize(8198, "Review plan")), content, actions, canProvideFeedback, planUri?.toJSON(), generateUuid()));
|
|
123
123
|
this.chatService.appendProgress(request, reviewData);
|
|
124
124
|
const result = await raceCancellation(reviewData.completion.p, token);
|
|
125
125
|
if (token.isCancellationRequested) {
|
|
@@ -132,11 +132,11 @@ let ReviewPlanTool = class ReviewPlanTool extends Disposable {
|
|
|
132
132
|
async prepareToolInvocation(context, _token) {
|
|
133
133
|
const parameters = context.parameters;
|
|
134
134
|
if (!parameters.actions || parameters.actions.length === 0) {
|
|
135
|
-
throw ( new Error(( localize(
|
|
135
|
+
throw ( new Error(( localize(8197, "At least one approval action must be provided."))));
|
|
136
136
|
}
|
|
137
137
|
return {
|
|
138
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
139
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
138
|
+
invocationMessage: ( new MarkdownString(( localize(8199, "Asking you to review the plan")))),
|
|
139
|
+
pastTenseMessage: ( new MarkdownString(( localize(8200, "Asked you to review the plan"))))
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
142
|
toResult(result) {
|