@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.0.0

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 (251) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
  4. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
  5. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
  6. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
  7. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
  8. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  9. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  10. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
  11. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
  12. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
  137. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
  140. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
  155. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
  157. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  160. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
  184. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
  211. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  213. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
  219. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  224. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
  250. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
@@ -17,29 +17,29 @@ const chatViewsWelcomeJsonSchema = {
17
17
  properties: {
18
18
  icon: {
19
19
  type: "string",
20
- description: ( localize(6394, "The icon for the welcome message."))
20
+ description: ( localize(6484, "The icon for the welcome message."))
21
21
  },
22
22
  title: {
23
23
  type: "string",
24
- description: ( localize(6395, "The title of the welcome message."))
24
+ description: ( localize(6485, "The title of the welcome message."))
25
25
  },
26
26
  content: {
27
27
  type: "string",
28
28
  description: ( localize(
29
- 6396,
29
+ 6486,
30
30
  "The content of the welcome message. The first command link will be rendered as a button."
31
31
  ))
32
32
  },
33
33
  when: {
34
34
  type: "string",
35
- description: ( localize(6397, "Condition when the welcome message is shown."))
35
+ description: ( localize(6487, "Condition when the welcome message is shown."))
36
36
  }
37
37
  }
38
38
  };
39
39
  const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
40
40
  extensionPoint: "chatViewsWelcome",
41
41
  jsonSchema: {
42
- description: ( localize(6398, "Contributes a welcome message to a chat view")),
42
+ description: ( localize(6488, "Contributes a welcome message to a chat view")),
43
43
  type: "array",
44
44
  items: chatViewsWelcomeJsonSchema
45
45
  }
@@ -24,8 +24,10 @@ export declare class ChatQueuePickerActionItem extends BaseActionViewItem {
24
24
  private readonly _primaryActionAction;
25
25
  private readonly _primaryAction;
26
26
  private readonly _dropdown;
27
+ private _altKeyPressed;
27
28
  constructor(action: IAction, _options: IActionViewItemOptions, commandService: ICommandService, configurationService: IConfigurationService, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, telemetryService: ITelemetryService);
28
29
  private _isSteerDefault;
30
+ private _isEffectiveSteer;
29
31
  private _updatePrimaryAction;
30
32
  private _runDefaultAction;
31
33
  render(container: HTMLElement): void;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { $, append, addDisposableListener, EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { ModifierKeyEmitter, $, append, addDisposableListener, EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
5
5
  import { BaseActionViewItem, ActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems';
6
6
  import { Action } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
@@ -37,8 +37,9 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
37
37
  super(undefined, action);
38
38
  this.commandService = commandService;
39
39
  this.configurationService = configurationService;
40
+ this._altKeyPressed = false;
40
41
  const isSteerDefault = this._isSteerDefault();
41
- this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(6718, "Steer with Message")) : ( localize(6719, "Add to Queue")), ThemeIcon.asClassName(Codicon.arrowUp), !!contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
42
+ this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(6805, "Steer with Message")) : ( localize(6806, "Add to Queue")), ThemeIcon.asClassName(isSteerDefault ? Codicon.arrowUp : Codicon.add), !!contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
42
43
  this._primaryAction = this._register(( new ActionViewItem(undefined, this._primaryActionAction, {
43
44
  icon: true,
44
45
  label: false
@@ -46,7 +47,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
46
47
  this._register(contextKeyService.onDidChangeContext(e => {
47
48
  this._primaryActionAction.enabled = !!contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key);
48
49
  }));
49
- const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(6720, "More Actions...")))));
50
+ const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(6807, "More Actions...")))));
50
51
  this._dropdown = this._register(( new ChevronActionWidgetDropdown(dropdownAction, {
51
52
  actionProvider: {
52
53
  getActions: () => this._getDropdownActions()
@@ -58,16 +59,27 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
58
59
  this._updatePrimaryAction();
59
60
  }
60
61
  }));
62
+ this._register(ModifierKeyEmitter.getInstance().event(status => {
63
+ if (this._altKeyPressed !== status.altKey) {
64
+ this._altKeyPressed = status.altKey;
65
+ this._updatePrimaryAction();
66
+ }
67
+ }));
61
68
  }
62
69
  _isSteerDefault() {
63
70
  return this.configurationService.getValue(ChatConfiguration.RequestQueueingDefaultAction) === "steer";
64
71
  }
65
- _updatePrimaryAction() {
72
+ _isEffectiveSteer() {
66
73
  const isSteerDefault = this._isSteerDefault();
67
- this._primaryActionAction.label = isSteerDefault ? ( localize(6718, "Steer with Message")) : ( localize(6719, "Add to Queue"));
74
+ return this._altKeyPressed ? !isSteerDefault : isSteerDefault;
75
+ }
76
+ _updatePrimaryAction() {
77
+ const isSteer = this._isEffectiveSteer();
78
+ this._primaryActionAction.label = isSteer ? ( localize(6805, "Steer with Message")) : ( localize(6806, "Add to Queue"));
79
+ this._primaryActionAction.class = ThemeIcon.asClassName(isSteer ? Codicon.arrowUp : Codicon.add);
68
80
  }
69
81
  _runDefaultAction() {
70
- const actionId = this._isSteerDefault() ? ChatSteerWithMessageAction.ID : ChatQueueMessageAction.ID;
82
+ const actionId = this._isEffectiveSteer() ? ChatSteerWithMessageAction.ID : ChatQueueMessageAction.ID;
71
83
  this.commandService.executeCommand(actionId);
72
84
  }
73
85
  render(container) {
@@ -110,16 +122,18 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
110
122
  this._dropdown.setFocusable(focusable);
111
123
  }
112
124
  _getDropdownActions() {
125
+ const isSteerDefault = this._isSteerDefault();
113
126
  const queueAction = {
114
127
  id: ChatQueueMessageAction.ID,
115
- label: ( localize(6719, "Add to Queue")),
128
+ label: ( localize(6806, "Add to Queue")),
116
129
  tooltip: "",
117
130
  enabled: true,
131
+ checked: !isSteerDefault,
118
132
  icon: Codicon.add,
119
133
  class: undefined,
120
134
  hover: {
121
135
  content: ( localize(
122
- 6721,
136
+ 6808,
123
137
  "Queue this message to send after the current request completes. The current response will finish uninterrupted before the queued message is sent."
124
138
  ))
125
139
  },
@@ -129,14 +143,15 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
129
143
  };
130
144
  const steerAction = {
131
145
  id: ChatSteerWithMessageAction.ID,
132
- label: ( localize(6718, "Steer with Message")),
146
+ label: ( localize(6805, "Steer with Message")),
133
147
  tooltip: "",
134
148
  enabled: true,
135
- icon: Codicon.arrowRight,
149
+ checked: isSteerDefault,
150
+ icon: Codicon.arrowUp,
136
151
  class: undefined,
137
152
  hover: {
138
153
  content: ( localize(
139
- 6722,
154
+ 6809,
140
155
  "Send this message at the next opportunity, signaling the current request to yield. The current response will stop and the new message will be sent immediately."
141
156
  ))
142
157
  },
@@ -146,13 +161,13 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
146
161
  };
147
162
  const sendAction = {
148
163
  id: "_" + ChatSubmitAction.ID,
149
- label: ( localize(6723, "Stop and Send")),
164
+ label: ( localize(6810, "Stop and Send")),
150
165
  tooltip: "",
151
166
  enabled: true,
152
- icon: Codicon.arrowUp,
167
+ icon: Codicon.arrowRight,
153
168
  class: undefined,
154
169
  hover: {
155
- content: ( localize(6724, "Cancel the current request and send this message immediately."))
170
+ content: ( localize(6811, "Cancel the current request and send this message immediately."))
156
171
  },
157
172
  run: () => {
158
173
  this.commandService.executeCommand(ChatSubmitAction.ID);
@@ -65,19 +65,19 @@ let ChatStatusWidget = class ChatStatusWidget extends Disposable {
65
65
  this.actionButton.element.classList.add("chat-status-button");
66
66
  if (enabledSku === "anonymous") {
67
67
  const message = ( localize(
68
- 6725,
68
+ 6812,
69
69
  "You've reached the limit for chat messages. Sign in to use Copilot Free."
70
70
  ));
71
- const buttonLabel = ( localize(6726, "Sign In"));
71
+ const buttonLabel = ( localize(6813, "Sign In"));
72
72
  this.messageElement.textContent = message;
73
73
  this.actionButton.label = buttonLabel;
74
- this.actionButton.element.ariaLabel = ( localize(6727, "{0} {1}", message, buttonLabel));
74
+ this.actionButton.element.ariaLabel = ( localize(6814, "{0} {1}", message, buttonLabel));
75
75
  } else {
76
- const message = ( localize(6728, "You've reached the limit for chat messages."));
77
- const buttonLabel = ( localize(6729, "Upgrade"));
76
+ const message = ( localize(6815, "You've reached the limit for chat messages."));
77
+ const buttonLabel = ( localize(6816, "Upgrade"));
78
78
  this.messageElement.textContent = message;
79
79
  this.actionButton.label = buttonLabel;
80
- this.actionButton.element.ariaLabel = ( localize(6730, "{0} {1}", message, buttonLabel));
80
+ this.actionButton.element.ariaLabel = ( localize(6817, "{0} {1}", message, buttonLabel));
81
81
  }
82
82
  this._register(this.actionButton.onDidClick(async () => {
83
83
  const commandId = this.chatEntitlementService.anonymous ? CHAT_SETUP_ACTION_ID : "workbench.action.chat.upgradePlan";
@@ -50,15 +50,16 @@ import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs
50
50
  import { ChatModeKind, ChatAgentLocation, isSupportedChatFileScheme } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
51
51
  import { isToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
52
52
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
53
- import { Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
54
53
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
54
+ import { Target, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
55
55
  import { ChatSubmitAction } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
56
56
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
57
57
  import { resizeImage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatImageUtils';
58
58
  import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
59
59
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
60
+ import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
61
+ import { createDebugEventsAttachment } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/chatDebug/chatDebugAttachment';
60
62
  import { getPromptFileType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
61
- import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
62
63
 
63
64
  var BuiltinDynamicCompletions_1, ToolCompletions_1;
64
65
  const SlashCommandWord = /\/[\p{L}0-9_.:-]*/gu;
@@ -129,7 +130,10 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
129
130
  }).map((c, i) => {
130
131
  const withSlash = `/${c.command}`;
131
132
  return {
132
- label: withSlash,
133
+ label: {
134
+ label: withSlash,
135
+ description: c.detail
136
+ },
133
137
  insertText: c.executeImmediately ? "" : `${withSlash} `,
134
138
  documentation: c.detail,
135
139
  range,
@@ -177,7 +181,10 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
177
181
  suggestions: ( slashCommands.map((c, i) => {
178
182
  const withSlash = `${chatSubcommandLeader}${c.command}`;
179
183
  return {
180
- label: withSlash,
184
+ label: {
185
+ label: withSlash,
186
+ description: c.detail
187
+ },
181
188
  insertText: c.executeImmediately ? "" : `${withSlash} `,
182
189
  documentation: c.detail,
183
190
  range,
@@ -552,7 +559,7 @@ let AgentCompletions = class AgentCompletions extends Disposable {
552
559
  if (!isEmptyUpToCompletionWord(model, range)) {
553
560
  return;
554
561
  }
555
- const label = ( localize(6736, "Install Chat Extensions..."));
562
+ const label = ( localize(6823, "Install Chat Extensions..."));
556
563
  const item = {
557
564
  label,
558
565
  insertText: "",
@@ -700,7 +707,7 @@ class StartParameterizedPromptAction extends Action2 {
700
707
  messages = await prompt.resolve(args, cts.token);
701
708
  } catch (e) {
702
709
  if (!cts.token.isCancellationRequested) {
703
- notificationService.error(( localize(6737, "Error resolving prompt: {0}", String(e))));
710
+ notificationService.error(( localize(6824, "Error resolving prompt: {0}", String(e))));
704
711
  }
705
712
  replaceTextWith("");
706
713
  return;
@@ -728,15 +735,15 @@ class StartParameterizedPromptAction extends Action2 {
728
735
  id: generateUuid(),
729
736
  kind: "generic",
730
737
  value: contents,
731
- name: ( localize(6738, "Prompt Resource"))
738
+ name: ( localize(6825, "Prompt Resource"))
732
739
  });
733
740
  }
734
741
  } else if (mimeType && getAttachableImageExtension(mimeType)) {
735
742
  const resized = await resizeImage(contents).catch(() => decodeBase64(contents).buffer);
736
743
  chatWidget.attachmentModel.addContext({
737
744
  id: generateUuid(),
738
- name: ( localize(6739, "Prompt Image")),
739
- fullName: ( localize(6739, "Prompt Image")),
745
+ name: ( localize(6826, "Prompt Image")),
746
+ fullName: ( localize(6826, "Prompt Image")),
740
747
  value: resized,
741
748
  kind: "image",
742
749
  references: validURI && [{
@@ -812,6 +819,9 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
812
819
  static {
813
820
  this.addReferenceCommand = "_addReferenceCmd";
814
821
  }
822
+ static {
823
+ this.addDebugEventsSnapshotCommand = "_addDebugEventsSnapshotCmd";
824
+ }
815
825
  static {
816
826
  this.VariableNameDef = ( new RegExp(`${chatVariableLeader}[\\w:-]*`, "g"));
817
827
  }
@@ -827,7 +837,8 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
827
837
  configurationService,
828
838
  codeEditorService,
829
839
  chatAgentService,
830
- instantiationService
840
+ instantiationService,
841
+ chatDebugService
831
842
  ) {
832
843
  super();
833
844
  this.historyService = historyService;
@@ -842,6 +853,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
842
853
  this.codeEditorService = codeEditorService;
843
854
  this.chatAgentService = chatAgentService;
844
855
  this.instantiationService = instantiationService;
856
+ this.chatDebugService = chatDebugService;
845
857
  const fileWordPattern = ( new RegExp(`${chatVariableLeader}[^\\s]*`, "g"));
846
858
  this.registerVariableCompletions("fileAndFolder", async (
847
859
  {
@@ -948,12 +960,58 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
948
960
  }
949
961
  return result;
950
962
  });
963
+ this.registerVariableCompletions("debugEventsSnapshot", (
964
+ {
965
+ widget,
966
+ range
967
+ }
968
+ ) => {
969
+ if (widget.location !== ChatAgentLocation.Chat) {
970
+ return;
971
+ }
972
+ const sessionResource = widget.viewModel?.sessionResource;
973
+ if (!sessionResource || this.chatDebugService.getEvents(sessionResource).length === 0) {
974
+ return;
975
+ }
976
+ const text = `${chatVariableLeader}debugEventsSnapshot`;
977
+ const result = {
978
+ suggestions: []
979
+ };
980
+ result.suggestions.push({
981
+ label: {
982
+ label: text,
983
+ description: ( localize(6827, "Attach debug events snapshot"))
984
+ },
985
+ filterText: text,
986
+ insertText: "",
987
+ range,
988
+ kind: CompletionItemKind.Text,
989
+ sortText: "z",
990
+ command: {
991
+ id: BuiltinDynamicCompletions_1.addDebugEventsSnapshotCommand,
992
+ title: "",
993
+ arguments: [widget]
994
+ }
995
+ });
996
+ return result;
997
+ });
951
998
  this._register(
952
999
  CommandsRegistry.registerCommand(BuiltinDynamicCompletions_1.addReferenceCommand, (_services, arg) => {
953
1000
  assertType(arg instanceof ReferenceArgument);
954
1001
  return this.cmdAddReference(arg);
955
1002
  })
956
1003
  );
1004
+ this._register(CommandsRegistry.registerCommand(
1005
+ BuiltinDynamicCompletions_1.addDebugEventsSnapshotCommand,
1006
+ async (_services, widget) => {
1007
+ const sessionResource = widget.viewModel?.sessionResource;
1008
+ if (!sessionResource) {
1009
+ return;
1010
+ }
1011
+ const attachment = await createDebugEventsAttachment(sessionResource, this.chatDebugService);
1012
+ widget.attachmentModel.addContext(attachment);
1013
+ }
1014
+ ));
957
1015
  }
958
1016
  findActiveCodeEditor() {
959
1017
  const codeEditor = this.codeEditorService.getActiveCodeEditor();
@@ -1015,7 +1073,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1015
1073
  const uriLabel = this.labelService.getUriLabel(resource, {
1016
1074
  relative: true
1017
1075
  });
1018
- const labelDescription = description ? ( localize(6740, "{0} ({1})", uriLabel, description)) : uriLabel;
1076
+ const labelDescription = description ? ( localize(6828, "{0} ({1})", uriLabel, description)) : uriLabel;
1019
1077
  const sortText = boostPriority ? " " : "!";
1020
1078
  return {
1021
1079
  label: {
@@ -1063,7 +1121,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1063
1121
  }
1064
1122
  }
1065
1123
  seen.add(resource);
1066
- const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(6741, "Active file")) : undefined, i === 0));
1124
+ const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(6829, "Active file")) : undefined, i === 0));
1067
1125
  if (newLen - len >= 5) {
1068
1126
  break;
1069
1127
  }
@@ -1186,7 +1244,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1186
1244
  arg.widget.getContrib(ChatDynamicVariableModel.ID)?.addReference(arg.variable);
1187
1245
  }
1188
1246
  };
1189
- BuiltinDynamicCompletions = BuiltinDynamicCompletions_1 = ( __decorate([( __param(0, IHistoryService)), ( __param(1, IWorkspaceContextService)), ( __param(2, ISearchService)), ( __param(3, ILabelService)), ( __param(4, ILanguageFeaturesService)), ( __param(5, IChatWidgetService)), ( __param(6, IOutlineModelService)), ( __param(7, IEditorService)), ( __param(8, IConfigurationService)), ( __param(9, ICodeEditorService)), ( __param(10, IChatAgentService)), ( __param(11, IInstantiationService))], BuiltinDynamicCompletions));
1247
+ BuiltinDynamicCompletions = BuiltinDynamicCompletions_1 = ( __decorate([( __param(0, IHistoryService)), ( __param(1, IWorkspaceContextService)), ( __param(2, ISearchService)), ( __param(3, ILabelService)), ( __param(4, ILanguageFeaturesService)), ( __param(5, IChatWidgetService)), ( __param(6, IOutlineModelService)), ( __param(7, IEditorService)), ( __param(8, IConfigurationService)), ( __param(9, ICodeEditorService)), ( __param(10, IChatAgentService)), ( __param(11, IInstantiationService)), ( __param(12, IChatDebugService))], BuiltinDynamicCompletions));
1190
1248
  ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(BuiltinDynamicCompletions, LifecyclePhase.Eventually);
1191
1249
  function computeCompletionRanges(model, position, reg, onlyOnWordStart = false) {
1192
1250
  const varWord = getWordAtText(position.column, reg, model.getLineContent(position.lineNumber), 0);
@@ -1296,7 +1354,7 @@ let ToolCompletions = class ToolCompletions extends Disposable {
1296
1354
  name = item.referenceName;
1297
1355
  } else {
1298
1356
  const source = item.source;
1299
- detail = ( localize(6742, "{0}: {1}", source.label, item.displayName));
1357
+ detail = ( localize(6830, "{0}: {1}", source.label, item.displayName));
1300
1358
  name = item.toolReferenceName ?? item.displayName;
1301
1359
  documentation = item.userDescription ?? item.modelDescription;
1302
1360
  }
@@ -26,6 +26,7 @@ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
26
26
  import { chatSlashCommandBackground, chatSlashCommandForeground } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
27
27
  import { ChatRequestTextPart, ChatRequestSlashPromptPart, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, ChatRequestToolPart, ChatRequestToolSetPart, ChatRequestDynamicVariablePart, chatAgentLeader, chatSubcommandLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
28
28
  import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
29
+ import { getDynamicVariablesForWidget, getSelectedToolAndToolSetsForWidget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
29
30
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
30
31
  import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
31
32
  import { dynamicVariableDecorationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
@@ -401,10 +402,11 @@ let ChatTokenDeleter = class ChatTokenDeleter extends Disposable {
401
402
  const change = e.changes[0];
402
403
  if (!change.text && this.widget.viewModel) {
403
404
  const attachmentCapabilities = previousSelectedAgent?.capabilities ?? this.widget.attachmentCapabilities;
404
- const previousParsedValue = parser.parseChatRequest(
405
- this.widget.viewModel.sessionResource,
405
+ const previousParsedValue = parser.parseChatRequestWithReferences(
406
+ getDynamicVariablesForWidget(this.widget),
407
+ getSelectedToolAndToolSetsForWidget(this.widget),
406
408
  previousInputValue,
407
- widget.location,
409
+ this.widget.location,
408
410
  {
409
411
  selectedAgent: previousSelectedAgent,
410
412
  mode: this.widget.input.currentModeKind,
@@ -62,7 +62,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
62
62
  return ( new RenderedHoverParts([renderedHoverPart]));
63
63
  }
64
64
  getAccessibleContent(hoverPart) {
65
- return localize(6743, "There is a chat agent hover part here.");
65
+ return localize(6831, "There is a chat agent hover part here.");
66
66
  }
67
67
  };
68
68
  ChatAgentHoverParticipant = ( __decorate([( __param(1, IInstantiationService)), ( __param(2, IChatWidgetService)), ( __param(3, ICommandService))], ChatAgentHoverParticipant));
@@ -253,7 +253,7 @@ let QuickChat = class QuickChat extends Disposable {
253
253
  disclaimerElement.classList.toggle("hidden", !showDisclaimer);
254
254
  if (showDisclaimer) {
255
255
  const renderedMarkdown = disposables.add(this.markdownRendererService.render(( new MarkdownString(( localize(
256
- 6763,
256
+ 6875,
257
257
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
258
258
  product.defaultChatAgent?.provider?.default?.name ?? "",
259
259
  product.defaultChatAgent?.provider?.default?.name ?? "",
@@ -174,7 +174,7 @@ let ChatEditor = class ChatEditor extends AbstractEditorWithViewState {
174
174
  let isContributedChatSession = false;
175
175
  const chatSessionType = input.getSessionType();
176
176
  if (chatSessionType !== localChatSessionType) {
177
- const loadingMessage = ( localize(6764, "Loading..."));
177
+ const loadingMessage = ( localize(6876, "Loading..."));
178
178
  this.showLoadingInChatWidget(loadingMessage);
179
179
  }
180
180
  await super.setInput(input, options, context, token);
@@ -187,7 +187,10 @@ let ChatEditor = class ChatEditor extends AbstractEditorWithViewState {
187
187
  }
188
188
  if (chatSessionType !== localChatSessionType) {
189
189
  try {
190
- await raceCancellationError(this.chatSessionsService.canResolveChatSession(input.resource), token);
190
+ await raceCancellationError(
191
+ this.chatSessionsService.canResolveChatSession(input.resource.scheme),
192
+ token
193
+ );
191
194
  const contributions = this.chatSessionsService.getAllChatSessionContributions();
192
195
  const contribution = contributions.find(c => c.type === chatSessionType);
193
196
  if (contribution) {
@@ -313,7 +313,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
313
313
  const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
314
314
  const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
315
315
  const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
316
- sessionsTitle.textContent = ( localize(6781, "Sessions"));
316
+ sessionsTitle.textContent = ( localize(6894, "Sessions"));
317
317
  this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
318
318
  this.sessionsControl?.scrollToTop();
319
319
  this.sessionsControl?.focus();
@@ -341,7 +341,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
341
341
  ...defaultButtonStyles,
342
342
  secondary: true
343
343
  })));
344
- newSessionButton.label = ( localize(6782, "New Session"));
344
+ newSessionButton.label = ( localize(6895, "New Session"));
345
345
  this._register(
346
346
  newSessionButton.onDidClick(() => this.commandService.executeCommand(ACTION_ID_NEW_CHAT))
347
347
  );
@@ -485,7 +485,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
485
485
  enableImplicitContext: true,
486
486
  enableWorkingSet: this.workbenchEnvironmentService.isSessionsWindow ? "implicit" : "explicit",
487
487
  supportsChangingModes: true,
488
- dndContainer: parent
488
+ dndContainer: parent,
489
+ inputEditorMinLines: this.workbenchEnvironmentService.isSessionsWindow ? 2 : undefined,
490
+ isSessionsWindow: this.workbenchEnvironmentService.isSessionsWindow
489
491
  }, {
490
492
  listForeground: SIDE_BAR_FOREGROUND,
491
493
  listBackground: locationBasedColors.background,
@@ -571,7 +573,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
571
573
  progressBadgeDisposables.value.add(autorun(reader => {
572
574
  if (model.requestInProgress.read(reader)) {
573
575
  this.activityBadge.value = this.activityService.showViewActivity(this.id, {
574
- badge: ( new ProgressBadge(() => ( localize(6783, "Agent Session in Progress"))))
576
+ badge: ( new ProgressBadge(() => ( localize(6896, "Agent Session in Progress"))))
575
577
  });
576
578
  } else {
577
579
  this.activityBadge.clear();
@@ -624,7 +626,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
624
626
  this.modelRef.value = ref;
625
627
  const model = ref?.object;
626
628
  if (model) {
627
- await this.updateWidgetLockState(model.sessionResource);
629
+ await this.updateWidgetLockState(getChatSessionType(model.sessionResource));
628
630
  this.viewState.sessionResource = model.sessionResource;
629
631
  }
630
632
  this._widget.setModel(model);
@@ -635,17 +637,16 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
635
637
  }
636
638
  return model;
637
639
  }
638
- async updateWidgetLockState(sessionResource) {
639
- const sessionType = getChatSessionType(sessionResource);
640
+ async updateWidgetLockState(sessionType) {
640
641
  if (sessionType === localChatSessionType) {
641
642
  this._widget.unlockFromCodingAgent();
642
643
  return;
643
644
  }
644
645
  let canResolve = false;
645
646
  try {
646
- canResolve = await this.chatSessionsService.canResolveChatSession(sessionResource);
647
+ canResolve = await this.chatSessionsService.canResolveChatSession(sessionType);
647
648
  } catch (error) {
648
- this.logService.warn(`Failed to resolve chat session '${( sessionResource.toString())}' for locking`, error);
649
+ this.logService.warn(`Failed to resolve chat session type '${sessionType}' for locking`, error);
649
650
  }
650
651
  if (!canResolve) {
651
652
  this._widget.unlockFromCodingAgent();
@@ -684,7 +685,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
684
685
  clearWidget.dispose();
685
686
  await queue;
686
687
  this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
687
- this.notificationService.error(( localize(6784, "Failed to open chat session: {0}", toErrorMessage(err))));
688
+ this.notificationService.error(( localize(6897, "Failed to open chat session: {0}", toErrorMessage(err))));
688
689
  return this.showModel(undefined);
689
690
  }
690
691
  });
@@ -23,7 +23,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
23
23
  ChatViewTitleControl_1 = this;
24
24
  }
25
25
  static {
26
- this.DEFAULT_TITLE = ( localize(6785, "Chat"));
26
+ this.DEFAULT_TITLE = ( localize(6898, "Chat"));
27
27
  }
28
28
  static {
29
29
  this.PICK_AGENT_SESSION_ACTION_ID = "workbench.action.chat.pickAgentSession";
@@ -48,7 +48,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
48
48
  constructor() {
49
49
  super({
50
50
  id: ChatViewTitleControl_1.PICK_AGENT_SESSION_ACTION_ID,
51
- title: ( localize(6786, "Pick Agent Session")),
51
+ title: ( localize(6899, "Pick Agent Session")),
52
52
  f1: false,
53
53
  menu: [{
54
54
  id: MenuId.ChatViewSessionTitleNavigationToolbar,
@@ -130,6 +130,14 @@
130
130
  padding: 0 6px 0 14px;
131
131
  }
132
132
 
133
+ /* Stacked: symmetric padding */
134
+ &.sessions-control-orientation-stacked {
135
+
136
+ .agent-sessions-empty-filter-message {
137
+ padding-left: 20px;
138
+ }
139
+ }
140
+
133
141
  /* Right position: symmetric padding */
134
142
  &.sessions-control-orientation-sidebyside.chat-view-position-right {
135
143
 
@@ -10,6 +10,7 @@ export declare const AICustomizationManagementSection: {
10
10
  readonly Prompts: "prompts";
11
11
  readonly Hooks: "hooks";
12
12
  readonly McpServers: "mcpServers";
13
+ readonly Plugins: "plugins";
13
14
  readonly Models: "models";
14
15
  };
15
16
  export type AICustomizationManagementSection = typeof AICustomizationManagementSection[keyof typeof AICustomizationManagementSection];
@@ -9,6 +9,7 @@ const AICustomizationManagementSection = {
9
9
  Prompts: "prompts",
10
10
  Hooks: "hooks",
11
11
  McpServers: "mcpServers",
12
+ Plugins: "plugins",
12
13
  Models: "models"
13
14
  };
14
15
  function applyStorageSourceFilter(items, filter) {
@@ -11,6 +11,11 @@ export declare class ChatDebugServiceImpl extends Disposable implements IChatDeb
11
11
  private _size;
12
12
  private readonly _onDidAddEvent;
13
13
  readonly onDidAddEvent: Event<IChatDebugEvent>;
14
+ private readonly _onDidClearProviderEvents;
15
+ readonly onDidClearProviderEvents: Event<URI>;
16
+ private readonly _onDidAttachDebugData;
17
+ readonly onDidAttachDebugData: Event<URI>;
18
+ private readonly _debugDataAttachedSessions;
14
19
  private readonly _providers;
15
20
  private readonly _invocationCts;
16
21
  /** Events that were returned by providers (not internally logged). */
@@ -27,10 +32,13 @@ export declare class ChatDebugServiceImpl extends Disposable implements IChatDeb
27
32
  getSessionResources(): readonly URI[];
28
33
  clear(): void;
29
34
  registerProvider(provider: IChatDebugLogProvider): IDisposable;
35
+ hasInvokedProviders(sessionResource: URI): boolean;
30
36
  invokeProviders(sessionResource: URI): Promise<void>;
31
37
  private _invokeProvider;
32
38
  endSession(sessionResource: URI): void;
33
39
  private _clearProviderEvents;
40
+ markDebugDataAttached(sessionResource: URI): void;
41
+ hasAttachedDebugData(sessionResource: URI): boolean;
34
42
  resolveEvent(eventId: string): Promise<IChatDebugResolvedEventContent | undefined>;
35
43
  dispose(): void;
36
44
  }