@codingame/monaco-vscode-chat-service-override 28.4.1 → 29.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 (339) hide show
  1. package/index.js +18 -12
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
  12. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
  16. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
  98. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +22 -15
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  178. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
  188. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
  189. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
  190. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
  225. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
  226. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
  227. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
  228. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
  229. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
  231. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
  232. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
  233. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
  236. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
  237. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
  252. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
  261. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
  262. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
  263. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
  318. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
  319. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
  320. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
  321. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
  322. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
  323. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
  324. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
  325. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
  326. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
  327. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
  328. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
  329. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
  330. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
  331. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
  332. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
  333. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
  334. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
  335. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
@@ -1,13 +1,13 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
3
+ import { DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
4
  import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
5
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
6
6
  import { ErrorNoTelemetry, BugIndicatingError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
7
7
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
8
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
9
9
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
10
- import { Disposable, DisposableResourceMap, DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
+ import { Disposable, DisposableResourceMap, DisposableStore, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
11
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
12
12
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
13
13
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
@@ -36,24 +36,29 @@ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
36
36
  import { chatEditingSessionIsReady } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
37
37
  import { normalizeSerializableChatData, ChatModel, ChatRequestRemovalReason, ChatRequestModel, updateRanges, toChatHistoryContent } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
38
38
  import { ChatModelStore } from '../model/chatModelStore.js';
39
- import { ChatRequestTextPart, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader, ChatRequestSlashCommandPart, getPromptText } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
39
+ import { ChatRequestTextPart, ChatRequestSlashCommandPart, getPromptText, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
40
40
  import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
41
41
  import { ResponseModelState, ChatPendingRequestChangeEventName, ChatRequestQueueKind, ChatMcpServersStarting, ChatStopCancellationNoopEventName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
42
42
  import { ChatServiceTelemetry, ChatRequestTelemetry } from './chatServiceTelemetry.js';
43
+ import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
43
44
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
44
45
  import { ChatSessionStore } from '../model/chatSessionStore.js';
45
46
  import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
46
47
  import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatTransferService.service';
47
- import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
48
+ import { LocalChatSessionUri, getChatSessionType, chatSessionResourceToId, isUntitledChatSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
49
+ import { IChatRequestVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
48
50
  import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
49
51
  import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
50
52
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
51
53
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
52
54
  import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
53
55
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
56
+ import { AGENT_DEBUG_LOG_ENABLED_SETTING, AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING, TROUBLESHOOT_COMMAND_NAME, COPILOT_SKILL_URI_SCHEME, TROUBLESHOOT_SKILL_PATH } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
54
57
  import { mergeHooks } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
58
+ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
55
59
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
56
- import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
60
+ import { autorun, autorunIterableDelta } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
61
+ import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
57
62
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
58
63
 
59
64
  const serializedChatKey = "interactive.sessions";
@@ -61,9 +66,17 @@ let CancellableRequest = class CancellableRequest {
61
66
  get yieldRequested() {
62
67
  return this._yieldRequested;
63
68
  }
64
- constructor(cancellationTokenSource, requestId, toolsService) {
69
+ constructor(
70
+ cancellationTokenSource,
71
+ requestId,
72
+ responseCompletePromise,
73
+ sendOptions,
74
+ toolsService
75
+ ) {
65
76
  this.cancellationTokenSource = cancellationTokenSource;
66
77
  this.requestId = requestId;
78
+ this.responseCompletePromise = responseCompletePromise;
79
+ this.sendOptions = sendOptions;
67
80
  this.toolsService = toolsService;
68
81
  this._yieldRequested = observableValue(this, false);
69
82
  }
@@ -86,7 +99,7 @@ let CancellableRequest = class CancellableRequest {
86
99
  this._yieldRequested.set(false, undefined);
87
100
  }
88
101
  };
89
- CancellableRequest = ( __decorate([( __param(2, ILanguageModelToolsService))], CancellableRequest));
102
+ CancellableRequest = ( __decorate([( __param(4, ILanguageModelToolsService))], CancellableRequest));
90
103
  let ChatService = class ChatService extends Disposable {
91
104
  get transferredSessionResource() {
92
105
  return this._transferredSessionResource;
@@ -331,7 +344,7 @@ let ChatService = class ChatService extends Disposable {
331
344
  }
332
345
  async getLiveSessionItems() {
333
346
  return await Promise.all(( Array.from(( this._sessionModels.values())).filter(session => this.shouldBeInHistory(session)).map(async session => {
334
- const title = session.title || ( localize(6984, "New Chat"));
347
+ const title = session.title || ( localize(7200, "New Chat"));
335
348
  return {
336
349
  sessionResource: session.sessionResource,
337
350
  title,
@@ -496,13 +509,15 @@ let ChatService = class ChatService extends Disposable {
496
509
  }
497
510
  }
498
511
  async loadRemoteSession(sessionResource, location, token) {
499
- await this.chatSessionService.canResolveChatSession(sessionResource.scheme);
500
512
  {
501
513
  const existingRef = this.acquireExistingSession(sessionResource);
502
514
  if (existingRef) {
503
515
  return existingRef;
504
516
  }
505
517
  }
518
+ if (!(await this.chatSessionService.canResolveChatSession(sessionResource.scheme))) {
519
+ return undefined;
520
+ }
506
521
  const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
507
522
  {
508
523
  const existingRef = this.acquireExistingSession(sessionResource);
@@ -511,7 +526,7 @@ let ChatService = class ChatService extends Disposable {
511
526
  return existingRef;
512
527
  }
513
528
  }
514
- const chatSessionType = sessionResource.scheme;
529
+ const chatSessionType = getChatSessionType(sessionResource);
515
530
  const modelRef = this._sessionModels.acquireOrCreate({
516
531
  initialData: undefined,
517
532
  location,
@@ -521,9 +536,7 @@ let ChatService = class ChatService extends Disposable {
521
536
  inputState: providedSession.transferredState?.inputState
522
537
  });
523
538
  modelRef.object.setContributedChatSession({
524
- chatSessionResource: sessionResource,
525
- chatSessionType,
526
- isUntitled: sessionResource.path.startsWith("/untitled-")
539
+ chatSessionResource: sessionResource
527
540
  });
528
541
  if (providedSession.title) {
529
542
  modelRef.object.setCustomTitle(providedSession.title);
@@ -573,22 +586,24 @@ let ChatService = class ChatService extends Disposable {
573
586
  lastRequest?.response?.complete();
574
587
  }
575
588
  if (providedSession.progressObs && lastRequest && providedSession.interruptActiveResponseCallback) {
576
- const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
589
+ const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
577
590
  this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
578
591
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
579
592
  action: "add",
580
- source: "remoteSession"
593
+ source: "remoteSession",
594
+ chatSessionId: chatSessionResourceToId(model.sessionResource)
581
595
  });
582
596
  const cancellationListener = disposables.add(( new MutableDisposable()));
583
597
  const createCancellationListener = token => {
584
598
  return token.onCancellationRequested(() => {
585
599
  providedSession.interruptActiveResponseCallback?.().then(userConfirmedInterruption => {
586
600
  if (!userConfirmedInterruption) {
587
- const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
601
+ const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
588
602
  this._pendingRequests.set(model.sessionResource, newCancellationRequest);
589
603
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
590
604
  action: "add",
591
- source: "remoteSession"
605
+ source: "remoteSession",
606
+ chatSessionId: chatSessionResourceToId(model.sessionResource)
592
607
  });
593
608
  cancellationListener.value = createCancellationListener(newCancellationRequest.cancellationTokenSource.token);
594
609
  }
@@ -615,7 +630,8 @@ let ChatService = class ChatService extends Disposable {
615
630
  } else {
616
631
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
617
632
  action: "notCancelable",
618
- source: "remoteSession"
633
+ source: "remoteSession",
634
+ chatSessionId: chatSessionResourceToId(model.sessionResource)
619
635
  });
620
636
  if (lastRequest && model.editingSession) {
621
637
  await chatEditingSessionIsReady(model.editingSession);
@@ -708,10 +724,40 @@ let ChatService = class ChatService extends Disposable {
708
724
  reason: "Empty message"
709
725
  };
710
726
  }
711
- const model = this._sessionModels.get(sessionResource);
727
+ let model = this._sessionModels.get(sessionResource);
712
728
  if (!model) {
713
729
  throw ( new Error(`Unknown session: ${sessionResource}`));
714
730
  }
731
+ let newSessionResource;
732
+ if (!model.hasRequests && isUntitledChatSession(sessionResource) && getChatSessionType(sessionResource) !== localChatSessionType) {
733
+ const parsedRequest = this.parseChatRequest(
734
+ sessionResource,
735
+ request,
736
+ options?.location ?? model.initialLocation,
737
+ options
738
+ );
739
+ const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
740
+ const requestText = getPromptText(parsedRequest).message;
741
+ const initialSessionOptions = this.chatSessionService.getSessionOptions(sessionResource);
742
+ const newItem = await this.chatSessionService.createNewChatSessionItem(getChatSessionType(sessionResource), {
743
+ prompt: requestText,
744
+ command: commandPart?.text,
745
+ initialSessionOptions
746
+ }, CancellationToken.None);
747
+ if (newItem) {
748
+ model = (await this.loadRemoteSession(newItem.resource, model.initialLocation, CancellationToken.None))?.object;
749
+ if (!model) {
750
+ throw ( new Error(`Failed to load session for resource: ${newItem.resource}`));
751
+ }
752
+ this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
753
+ model.setContributedChatSession({
754
+ chatSessionResource: newItem.resource,
755
+ initialSessionOptions: initialSessionOptions
756
+ });
757
+ sessionResource = newItem.resource;
758
+ newSessionResource = newItem.resource;
759
+ }
760
+ }
715
761
  const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
716
762
  if (options?.queue) {
717
763
  const queued = this.queuePendingRequest(model, sessionResource, request, options);
@@ -746,6 +792,7 @@ let ChatService = class ChatService extends Disposable {
746
792
  const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
747
793
  return {
748
794
  kind: "sent",
795
+ newSessionResource,
749
796
  data: {
750
797
  ...this._sendRequestAsync(
751
798
  model,
@@ -859,6 +906,49 @@ let ChatService = class ChatService extends Disposable {
859
906
  };
860
907
  let detectedAgent;
861
908
  let detectedCommand;
909
+ {
910
+ const debugLogEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
911
+ const fileLoggingEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING);
912
+ if (!debugLogEnabled || !fileLoggingEnabled) {
913
+ const isTroubleshootCommand = agentSlashCommandPart?.command.name === TROUBLESHOOT_COMMAND_NAME;
914
+ const hasTroubleshootSkill = options?.attachedContext?.some(v => {
915
+ const uri = IChatRequestVariableEntry.toUri(v);
916
+ return uri && (uri.scheme === COPILOT_SKILL_URI_SCHEME || uri.path.includes(TROUBLESHOOT_SKILL_PATH));
917
+ });
918
+ if (isTroubleshootCommand || hasTroubleshootSkill) {
919
+ request = model.addRequest(parsedRequest, {
920
+ variables: []
921
+ }, attempt, options?.modeInfo);
922
+ completeResponseCreated();
923
+ const missingSettings = [];
924
+ if (!debugLogEnabled) {
925
+ missingSettings.push("`" + AGENT_DEBUG_LOG_ENABLED_SETTING + "`");
926
+ }
927
+ if (!fileLoggingEnabled) {
928
+ missingSettings.push("`" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING + "`");
929
+ }
930
+ const settingsQuery = !debugLogEnabled && !fileLoggingEnabled ? AGENT_DEBUG_LOG_ENABLED_SETTING : !debugLogEnabled ? "@id:" + AGENT_DEBUG_LOG_ENABLED_SETTING : "@id:" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING;
931
+ const settingsArg = encodeURIComponent(JSON.stringify(settingsQuery));
932
+ model.acceptResponseProgress(request, {
933
+ kind: "markdownContent",
934
+ content: ( new MarkdownString(( localize(
935
+ 7201,
936
+ "The `{0}` skill requires the following settings to be enabled: {1}. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
937
+ TROUBLESHOOT_COMMAND_NAME,
938
+ missingSettings.join(", "),
939
+ settingsArg
940
+ )), {
941
+ isTrusted: {
942
+ enabledCommands: ["workbench.action.openSettings"]
943
+ }
944
+ }))
945
+ });
946
+ model.setResponse(request, {});
947
+ request.response?.complete();
948
+ return;
949
+ }
950
+ }
951
+ }
862
952
  let collectedHooks;
863
953
  let hasDisabledClaudeHooks = false;
864
954
  try {
@@ -957,6 +1047,7 @@ let ChatService = class ChatService extends Disposable {
957
1047
  acceptedConfirmationData: options?.acceptedConfirmationData,
958
1048
  rejectedConfirmationData: options?.rejectedConfirmationData,
959
1049
  userSelectedModelId: options?.userSelectedModelId,
1050
+ modelConfiguration: options?.userSelectedModelId ? this.languageModelsService.getModelConfiguration(options.userSelectedModelId) : undefined,
960
1051
  userSelectedTools: options?.userSelectedTools?.get(),
961
1052
  modeInstructions: options?.modeInfo?.modeInstructions,
962
1053
  permissionLevel: options?.modeInfo?.permissionLevel,
@@ -1011,21 +1102,27 @@ let ChatService = class ChatService extends Disposable {
1011
1102
  }
1012
1103
  }));
1013
1104
  pendingRequest.requestId ??= requestProps.requestId;
1105
+ if (pendingRequest.requestId) {
1106
+ this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1107
+ action: "add",
1108
+ source: "sendRequestId",
1109
+ requestId: pendingRequest.requestId,
1110
+ chatSessionId: chatSessionResourceToId(sessionResource)
1111
+ });
1112
+ }
1014
1113
  }
1015
1114
  completeResponseCreated();
1016
1115
  const disabledClaudeHooksDismissedKey = "chat.disabledClaudeHooks.notification";
1017
- if (!this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
1116
+ if (hasDisabledClaudeHooks && !this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
1018
1117
  this.storageService.store(
1019
1118
  disabledClaudeHooksDismissedKey,
1020
1119
  true,
1021
1120
  StorageScope.WORKSPACE,
1022
1121
  StorageTarget.USER
1023
1122
  );
1024
- if (hasDisabledClaudeHooks) {
1025
- progressCallback([{
1026
- kind: "disabledClaudeHooks"
1027
- }]);
1028
- }
1123
+ progressCallback([{
1124
+ kind: "disabledClaudeHooks"
1125
+ }]);
1029
1126
  }
1030
1127
  if (model.canUseTools) {
1031
1128
  const autostartResult = ( new ChatMcpServersStarting(this.mcpService.autostart(token)));
@@ -1095,7 +1192,7 @@ let ChatService = class ChatService extends Disposable {
1095
1192
  );
1096
1193
  rawResult = {
1097
1194
  errorDetails: {
1098
- message: ( localize(6985, "Provider returned null response"))
1195
+ message: ( localize(7202, "Provider returned null response"))
1099
1196
  }
1100
1197
  };
1101
1198
  }
@@ -1153,18 +1250,21 @@ let ChatService = class ChatService extends Disposable {
1153
1250
  };
1154
1251
  let shouldProcessPending = false;
1155
1252
  const rawResponsePromise = sendRequestInternal();
1156
- const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, source, undefined);
1253
+ const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, source, undefined, rawResponsePromise, options);
1157
1254
  this._pendingRequests.set(model.sessionResource, cancellableRequest);
1158
1255
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1159
1256
  action: "add",
1160
- source: "sendRequest"
1257
+ source: "sendRequest",
1258
+ chatSessionId: chatSessionResourceToId(model.sessionResource)
1161
1259
  });
1162
1260
  rawResponsePromise.finally(() => {
1163
1261
  if (this._pendingRequests.get(model.sessionResource) === cancellableRequest) {
1164
1262
  this._pendingRequests.deleteAndDispose(model.sessionResource);
1165
1263
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1166
1264
  action: "remove",
1167
- source: "sendRequestComplete"
1265
+ source: "sendRequestComplete",
1266
+ requestId: cancellableRequest.requestId,
1267
+ chatSessionId: chatSessionResourceToId(model.sessionResource)
1168
1268
  });
1169
1269
  }
1170
1270
  if (shouldProcessPending) {
@@ -1349,7 +1449,9 @@ let ChatService = class ChatService extends Disposable {
1349
1449
  this._pendingRequests.deleteAndDispose(sessionResource);
1350
1450
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1351
1451
  action: "remove",
1352
- source: "removeRequest"
1452
+ source: "removeRequest",
1453
+ requestId,
1454
+ chatSessionId: chatSessionResourceToId(model.sessionResource)
1353
1455
  });
1354
1456
  }
1355
1457
  model.removeRequest(requestId);
@@ -1371,11 +1473,15 @@ let ChatService = class ChatService extends Disposable {
1371
1473
  this._pendingRequests.set(target.sessionResource, cts);
1372
1474
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1373
1475
  action: "remove",
1374
- source: "adoptRequest"
1476
+ source: "adoptRequest",
1477
+ requestId: request.id,
1478
+ chatSessionId: chatSessionResourceToId(oldOwner.sessionResource)
1375
1479
  });
1376
1480
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1377
1481
  action: "add",
1378
- source: "adoptRequest"
1482
+ source: "adoptRequest",
1483
+ requestId: request.id,
1484
+ chatSessionId: chatSessionResourceToId(target.sessionResource)
1379
1485
  });
1380
1486
  }
1381
1487
  }
@@ -1406,7 +1512,7 @@ let ChatService = class ChatService extends Disposable {
1406
1512
  }
1407
1513
  request.response?.complete();
1408
1514
  }
1409
- cancelCurrentRequestForSession(sessionResource, source) {
1515
+ async cancelCurrentRequestForSession(sessionResource, source) {
1410
1516
  this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
1411
1517
  const pendingRequest = this._pendingRequests.get(sessionResource);
1412
1518
  if (!pendingRequest) {
@@ -1420,7 +1526,8 @@ let ChatService = class ChatService extends Disposable {
1420
1526
  requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
1421
1527
  pendingRequests: pendingRequestsCount,
1422
1528
  sessionScheme: sessionResource.scheme,
1423
- lastRequestId: lastRequest?.id
1529
+ lastRequestId: lastRequest?.id,
1530
+ chatSessionId: chatSessionResourceToId(sessionResource)
1424
1531
  });
1425
1532
  this.info(
1426
1533
  "cancelCurrentRequestForSession",
@@ -1428,12 +1535,18 @@ let ChatService = class ChatService extends Disposable {
1428
1535
  );
1429
1536
  return;
1430
1537
  }
1538
+ const responseCompletePromise = pendingRequest.responseCompletePromise;
1431
1539
  pendingRequest.cancel();
1432
1540
  this._pendingRequests.deleteAndDispose(sessionResource);
1433
1541
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
1434
1542
  action: "remove",
1435
- source: source ?? "cancelRequest"
1543
+ source: source ?? "cancelRequest",
1544
+ requestId: pendingRequest.requestId,
1545
+ chatSessionId: chatSessionResourceToId(sessionResource)
1436
1546
  });
1547
+ if (responseCompletePromise) {
1548
+ await raceTimeout(responseCompletePromise, 1000);
1549
+ }
1437
1550
  }
1438
1551
  setYieldRequested(sessionResource) {
1439
1552
  const pendingRequest = this._pendingRequests.get(sessionResource);
@@ -1441,6 +1554,25 @@ let ChatService = class ChatService extends Disposable {
1441
1554
  pendingRequest.setYieldRequested();
1442
1555
  }
1443
1556
  }
1557
+ migrateRequests(originalResource, targetResource) {
1558
+ const model = this._sessionModels.get(originalResource);
1559
+ if (!model) {
1560
+ return;
1561
+ }
1562
+ const pendingRequests = [...model.getPendingRequests()];
1563
+ if (pendingRequests.length === 0) {
1564
+ return;
1565
+ }
1566
+ for (const pending of pendingRequests) {
1567
+ this.removePendingRequest(originalResource, pending.request.id);
1568
+ }
1569
+ for (const pending of pendingRequests) {
1570
+ void this.sendRequest(targetResource, pending.request.message.text, {
1571
+ ...pending.sendOptions,
1572
+ queue: pending.kind
1573
+ });
1574
+ }
1575
+ }
1444
1576
  removePendingRequest(sessionResource, requestId) {
1445
1577
  const model = this._sessionModels.get(sessionResource);
1446
1578
  if (model) {
@@ -1520,6 +1652,45 @@ let ChatService = class ChatService extends Disposable {
1520
1652
  }
1521
1653
  return localSessionId;
1522
1654
  }
1655
+ registerChatModelChangeListeners(chatSessionType, onChange) {
1656
+ const disposableStore = ( new DisposableStore());
1657
+ const chatModelsICareAbout = ( this.chatModels.map(
1658
+ models => Array.from(models).filter(model => model.sessionResource.scheme === chatSessionType)
1659
+ ));
1660
+ const listeners = ( new ResourceMap());
1661
+ const autoRunDisposable = autorunIterableDelta(reader => chatModelsICareAbout.read(reader), (
1662
+ {
1663
+ addedValues,
1664
+ removedValues
1665
+ }
1666
+ ) => {
1667
+ removedValues.forEach(removed => {
1668
+ const listener = listeners.get(removed.sessionResource);
1669
+ if (listener) {
1670
+ listeners.delete(removed.sessionResource);
1671
+ listener.dispose();
1672
+ }
1673
+ });
1674
+ addedValues.forEach(added => {
1675
+ const requestChangeListener = ( added.lastRequestObs.map(
1676
+ last => last?.response && observableSignalFromEvent("chatSessions.modelRequestChangeListener", last.response.onDidChange)
1677
+ ));
1678
+ const modelChangeListener = observableSignalFromEvent("chatSessions.modelChangeListener", added.onDidChange);
1679
+ listeners.set(added.sessionResource, autorun(reader => {
1680
+ requestChangeListener.read(reader)?.read(reader);
1681
+ modelChangeListener.read(reader);
1682
+ onChange(added.sessionResource);
1683
+ }));
1684
+ });
1685
+ });
1686
+ disposableStore.add(toDisposable(() => {
1687
+ for (const listener of ( listeners.values())) {
1688
+ listener.dispose();
1689
+ }
1690
+ }));
1691
+ disposableStore.add(autoRunDisposable);
1692
+ return disposableStore;
1693
+ }
1523
1694
  };
1524
1695
  ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2, ITelemetryService)), ( __param(3, IExtensionService)), ( __param(4, IInstantiationService)), ( __param(5, IWorkspaceContextService)), ( __param(6, IChatSlashCommandService)), ( __param(7, IChatAgentService)), ( __param(8, IConfigurationService)), ( __param(9, IChatTransferService)), ( __param(10, IChatSessionsService)), ( __param(11, IMcpService)), ( __param(12, IPromptsService)), ( __param(13, IChatEntitlementService)), ( __param(14, ILanguageModelsService)), ( __param(15, IChatDebugService))], ChatService));
1525
1696
 
@@ -1,5 +1,5 @@
1
1
 
2
- import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
2
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
3
3
  import { isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
4
4
  import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
5
5
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
@@ -59,7 +59,7 @@ const responsePartSchema = v(
59
59
  return a.kind === b.kind;
60
60
  default:
61
61
  {
62
- assertNever();
62
+ return equals(a, b);
63
63
  }
64
64
  }
65
65
  }
@@ -109,7 +109,8 @@ const requestSchema = object({
109
109
  usedContext: v(m => m.response?.usedContext, equals),
110
110
  contentReferences: v(m => m.response?.contentReferences, equals),
111
111
  codeCitations: v(m => m.response?.codeCitations, equals),
112
- timeSpentWaiting: v(m => m.response?.timestamp)
112
+ timeSpentWaiting: v(m => m.response?.timestamp),
113
+ modeInfo: v(m => m.modeInfo, equals)
113
114
  }, {
114
115
  sealed: o => o.modelState?.value === ResponseModelState.Cancelled || o.modelState?.value === ResponseModelState.Failed || o.modelState?.value === ResponseModelState.Complete
115
116
  });
@@ -6,7 +6,7 @@ import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
6
6
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
7
7
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
8
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
9
- import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
+ import { joinPath, isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
10
10
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
11
11
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
12
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
@@ -98,7 +98,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
98
98
  }
99
99
  e.join(this.storeTask, {
100
100
  id: "join.chatSessionStore",
101
- label: ( localize(7020, "Saving chat history"))
101
+ label: ( localize(7243, "Saving chat history"))
102
102
  });
103
103
  }));
104
104
  }
@@ -126,7 +126,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
126
126
  newWorkspaceId,
127
127
  "chatSessions"
128
128
  );
129
- if (( oldStorageRoot.toString()) === ( newStorageRoot.toString())) {
129
+ if (isEqual(oldStorageRoot, newStorageRoot)) {
130
130
  this.storageRoot = newStorageRoot;
131
131
  return;
132
132
  }
@@ -356,14 +356,14 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
356
356
  this._didReportIssue = true;
357
357
  this.dialogService.prompt({
358
358
  custom: true,
359
- title: ( localize(7021, "Error saving chat session")),
359
+ title: ( localize(7244, "Error saving chat session")),
360
360
  message: ( localize(
361
- 7022,
361
+ 7245,
362
362
  "Error serializing chat session for storage. The session will be lost if the window is closed. Please report this issue to the VS Code team:\n\n{0}",
363
363
  e.stack || toErrorMessage(e)
364
364
  )),
365
365
  buttons: [{
366
- label: ( localize(7023, "Report Issue")),
366
+ label: ( localize(7246, "Report Issue")),
367
367
  run: () => this.openerService.open("https://github.com/microsoft/vscode/issues/new?template=bug_report.md")
368
368
  }]
369
369
  });
@@ -708,7 +708,7 @@ async function getSessionMetadata(session) {
708
708
  }
709
709
  return {
710
710
  sessionId: session.sessionId,
711
- title: title || ( localize(7024, "New Chat")),
711
+ title: title || ( localize(7247, "New Chat")),
712
712
  lastMessageDate,
713
713
  timing,
714
714
  initialLocation: session.initialLocation,
@@ -1,6 +1,7 @@
1
1
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
3
  import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { ContextKeyExpression } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
4
5
  import { IProgress } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress";
5
6
  import { IChatMessage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
6
7
  import { IChatFollowup, IChatProgress, IChatResponseProgressFileTreeData, IChatSendRequestOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
@@ -28,7 +29,12 @@ export interface IChatSlashData {
28
29
  silent?: boolean;
29
30
  locations: ChatAgentLocation[];
30
31
  modes?: ChatModeKind[];
31
- target?: Target;
32
+ targets?: Target[];
33
+ /**
34
+ * Optional context key expression that controls visibility of this command.
35
+ * When set, the command is only shown if the expression evaluates to true.
36
+ */
37
+ when?: ContextKeyExpression;
32
38
  }
33
39
  export interface IChatSlashFragment {
34
40
  content: string | {
@@ -3,12 +3,15 @@ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/
3
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
4
  import { SyncDescriptor0 } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors";
5
5
  import { IMcpServerConfiguration } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes";
6
+ import { ContributionEnablementState, IEnablementModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/enablement";
6
7
  import { IHookCommand } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema";
7
8
  import { HookType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes";
8
9
  import { IMarketplacePlugin } from "./pluginMarketplaceService.js";
9
10
  export interface IAgentPluginHook {
10
11
  readonly type: HookType;
11
12
  readonly hooks: readonly IHookCommand[];
13
+ /** URI where this hook is defined -- not unique, multiple hooks may be in a manifest */
14
+ readonly uri: URI;
12
15
  readonly originalId: string;
13
16
  }
14
17
  export interface IAgentPluginCommand {
@@ -23,29 +26,34 @@ export interface IAgentPluginAgent {
23
26
  readonly uri: URI;
24
27
  readonly name: string;
25
28
  }
29
+ export interface IAgentPluginInstruction {
30
+ readonly uri: URI;
31
+ readonly name: string;
32
+ }
26
33
  export interface IAgentPluginMcpServerDefinition {
27
34
  readonly name: string;
28
35
  readonly configuration: IMcpServerConfiguration;
36
+ readonly uri: URI;
29
37
  }
30
38
  export interface IAgentPlugin {
31
39
  readonly uri: URI;
32
40
  /** Human-readable display name for the plugin. */
33
41
  readonly label: string;
34
- readonly enabled: IObservable<boolean>;
35
- setEnabled(enabled: boolean): void;
42
+ readonly enablement: IObservable<ContributionEnablementState>;
36
43
  /** Removes this plugin from its discovery source (config or installed storage). */
37
44
  remove(): void;
38
45
  readonly hooks: IObservable<readonly IAgentPluginHook[]>;
39
46
  readonly commands: IObservable<readonly IAgentPluginCommand[]>;
40
47
  readonly skills: IObservable<readonly IAgentPluginSkill[]>;
41
48
  readonly agents: IObservable<readonly IAgentPluginAgent[]>;
49
+ readonly instructions: IObservable<readonly IAgentPluginInstruction[]>;
42
50
  readonly mcpServerDefinitions: IObservable<readonly IAgentPluginMcpServerDefinition[]>;
43
51
  /** Set when the plugin was installed from a marketplace repository. */
44
52
  readonly fromMarketplace?: IMarketplacePlugin;
45
53
  }
46
54
  export interface IAgentPluginDiscovery extends IDisposable {
47
55
  readonly plugins: IObservable<readonly IAgentPlugin[]>;
48
- start(): void;
56
+ start(enablementModel: IEnablementModel): void;
49
57
  }
50
58
  export declare function getCanonicalPluginCommandId(plugin: IAgentPlugin, commandName: string): string;
51
59
  declare class AgentPluginDiscoveryRegistry {