@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.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 (377) hide show
  1. package/index.js +21 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
  7. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
  8. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
  15. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
  22. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
  23. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
  24. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
  25. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
  28. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
  29. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
  30. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
  31. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
  172. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  173. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  174. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  175. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
  180. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
  182. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  184. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  185. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
  195. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
  199. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
  200. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  202. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  204. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +4 -3
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
  215. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
  216. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
  217. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
  218. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
  219. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
  220. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
  221. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
  222. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
  223. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
  225. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
  226. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
  227. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
  228. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
  229. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
  240. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
  242. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
  244. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  245. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
  246. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
  248. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
  249. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
  250. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
  252. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
  253. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  254. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  256. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  257. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  258. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  283. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
  284. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
  285. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
  286. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
  287. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
  288. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
  289. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
  290. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
  291. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
  292. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
  293. package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
  294. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
  295. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
  296. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
  297. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
  298. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
  304. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
  305. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
- import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
+ import { CancellationTokenSource, CancellationToken } 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';
@@ -14,7 +14,6 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/in
14
14
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
15
15
  import { StopWatch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stopwatch';
16
16
  import { isDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
17
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
18
17
  import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
19
18
  import { OffsetRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/offsetRange';
20
19
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -47,15 +46,16 @@ import { ChatSessionStore } from '../model/chatSessionStore.js';
47
46
  import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
48
47
  import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatTransferService.service';
49
48
  import { LocalChatSessionUri, getChatSessionType, chatSessionResourceToId, isUntitledChatSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
50
- import { IChatRequestVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
49
+ import { IChatRequestVariableEntry, ChatRequestVariableSet, isPromptTextVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
51
50
  import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
52
51
  import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
53
52
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
54
53
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
55
54
  import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
56
55
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
57
- 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';
56
+ import { 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';
58
57
  import { mergeHooks } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
58
+ import { ComputeAutomaticInstructions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions';
59
59
  import { findLast } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
60
60
  import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
61
61
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
@@ -196,7 +196,6 @@ let ChatService = class ChatService extends Disposable {
196
196
  this.trace("constructor", `Transferred session ${transferredData}`);
197
197
  this._transferredSessionResource = transferredData;
198
198
  }
199
- this.reviveSessionsWithEdits();
200
199
  this._register(storageService.onWillSaveState(() => this.saveState()));
201
200
  this.chatModels = derived(this, reader => [...( this._sessionModels.observable.read(reader).values())]);
202
201
  this.requestInProgressObs = derived(reader => {
@@ -319,26 +318,6 @@ let ChatService = class ChatService extends Disposable {
319
318
  return {};
320
319
  }
321
320
  }
322
- async reviveSessionsWithEdits() {
323
- const idx = await this._chatSessionStore.getIndex();
324
- await Promise.all(( ( Object.values(idx)).map(async session => {
325
- if (!session.hasPendingEdits) {
326
- return;
327
- }
328
- let sessionResource;
329
- if (session.sessionId.includes(":")) {
330
- try {
331
- sessionResource = ( URI.parse(session.sessionId, true));
332
- } catch {}
333
- }
334
- sessionResource ??= LocalChatSessionUri.forSession(session.sessionId);
335
- const sessionRef = await this.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, CancellationToken.None);
336
- if (sessionRef?.object.editingSession) {
337
- await chatEditingSessionIsReady(sessionRef.object.editingSession);
338
- sessionRef.dispose();
339
- }
340
- })));
341
- }
342
321
  async getLocalSessionHistory() {
343
322
  const liveSessionItems = await this.getLiveSessionItems();
344
323
  const historySessionItems = await this.getHistorySessionItems();
@@ -392,7 +371,7 @@ let ChatService = class ChatService extends Disposable {
392
371
  sessionResource,
393
372
  canUseTools: options?.canUseTools ?? true,
394
373
  disableBackgroundKeepAlive: options?.disableBackgroundKeepAlive
395
- });
374
+ }, options?.debugOwner ?? "ChatService#startNewLocalSession");
396
375
  }
397
376
  _startSession(props) {
398
377
  const {
@@ -442,12 +421,15 @@ let ChatService = class ChatService extends Disposable {
442
421
  getSession(sessionResource) {
443
422
  return this._sessionModels.get(sessionResource);
444
423
  }
445
- acquireExistingSession(sessionResource) {
446
- return this._sessionModels.acquireExisting(sessionResource);
424
+ acquireExistingSession(sessionResource, debugOwner) {
425
+ return this._sessionModels.acquireExisting(sessionResource, debugOwner ?? "ChatService#acquireExistingSession");
447
426
  }
448
- async acquireOrRestoreLocalSession(sessionResource) {
427
+ getChatModelReferenceDebugInfo() {
428
+ return this._sessionModels.getReferenceDebugSnapshot();
429
+ }
430
+ async acquireOrRestoreLocalSession(sessionResource, debugOwner) {
449
431
  this.trace("acquireOrRestoreSession", `${sessionResource}`);
450
- const existingRef = this.acquireExistingSession(sessionResource);
432
+ const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
451
433
  if (existingRef) {
452
434
  return existingRef;
453
435
  }
@@ -469,7 +451,7 @@ let ChatService = class ChatService extends Disposable {
469
451
  location: sessionData.value.initialLocation ?? ChatAgentLocation.Chat,
470
452
  sessionResource,
471
453
  canUseTools: true
472
- });
454
+ }, debugOwner ?? "ChatService#acquireOrRestoreLocalSession");
473
455
  return sessionRef;
474
456
  }
475
457
  getSessionTitle(sessionResource) {
@@ -479,7 +461,7 @@ let ChatService = class ChatService extends Disposable {
479
461
  }
480
462
  return this._sessionModels.get(sessionResource)?.title ?? this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
481
463
  }
482
- loadSessionFromData(data) {
464
+ loadSessionFromData(data, debugOwner) {
483
465
  const sessionId = data.sessionId ?? generateUuid();
484
466
  const sessionResource = LocalChatSessionUri.forSession(sessionId);
485
467
  return this._sessionModels.acquireOrCreate({
@@ -490,18 +472,18 @@ let ChatService = class ChatService extends Disposable {
490
472
  location: data.initialLocation ?? ChatAgentLocation.Chat,
491
473
  sessionResource,
492
474
  canUseTools: true
493
- });
475
+ }, debugOwner ?? "ChatService#loadSessionFromData");
494
476
  }
495
- async acquireOrLoadSession(sessionResource, location, token) {
477
+ async acquireOrLoadSession(sessionResource, location, token, debugOwner) {
496
478
  if (sessionResource.scheme === Schemas.vscodeLocalChatSession) {
497
- return this.acquireOrRestoreLocalSession(sessionResource);
479
+ return this.acquireOrRestoreLocalSession(sessionResource, debugOwner);
498
480
  } else {
499
- return this.loadRemoteSession(sessionResource, location, token);
481
+ return this.loadRemoteSession(sessionResource, location, token, debugOwner);
500
482
  }
501
483
  }
502
- async loadRemoteSession(sessionResource, location, token) {
484
+ async loadRemoteSession(sessionResource, location, token, debugOwner) {
503
485
  {
504
- const existingRef = this.acquireExistingSession(sessionResource);
486
+ const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
505
487
  if (existingRef) {
506
488
  return existingRef;
507
489
  }
@@ -511,14 +493,13 @@ let ChatService = class ChatService extends Disposable {
511
493
  }
512
494
  const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
513
495
  {
514
- const existingRef = this.acquireExistingSession(sessionResource);
496
+ const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
515
497
  if (existingRef) {
516
498
  providedSession.dispose();
517
499
  return existingRef;
518
500
  }
519
501
  }
520
502
  const chatSessionType = getChatSessionType(sessionResource);
521
- const contribution = this.chatSessionService.getChatSessionContribution(chatSessionType);
522
503
  const modelId = findLast(
523
504
  providedSession.history.filter(m => m.type === "request"),
524
505
  req => req.modelId
@@ -529,7 +510,7 @@ let ChatService = class ChatService extends Disposable {
529
510
  )?.modeInstructions?.uri;
530
511
  const storedPermissionLevel = this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.permissionLevel;
531
512
  let initialData = undefined;
532
- if ((modelId || agentUri) && contribution?.useRequestToPopulateBuiltInPickers) {
513
+ if ((modelId || agentUri)) {
533
514
  const mode = agentUri ? {
534
515
  kind: ChatModeKind.Agent,
535
516
  id: ( agentUri.toString())
@@ -552,7 +533,6 @@ let ChatService = class ChatService extends Disposable {
552
533
  responderUsername: "",
553
534
  sessionId: "",
554
535
  version: 3,
555
- hasPendingEdits: undefined,
556
536
  inputState: {
557
537
  attachments: [],
558
538
  contrib: {},
@@ -574,15 +554,12 @@ let ChatService = class ChatService extends Disposable {
574
554
  canUseTools: false,
575
555
  transferEditingSession: providedSession.transferredState?.editingSession,
576
556
  inputState: providedSession.transferredState?.inputState
577
- });
557
+ }, debugOwner ?? "ChatService#loadRemoteSession");
578
558
  if (storedPermissionLevel && !initialData) {
579
559
  modelRef.object.inputModel.setState({
580
560
  permissionLevel: storedPermissionLevel
581
561
  });
582
562
  }
583
- modelRef.object.setContributedChatSession({
584
- chatSessionResource: sessionResource
585
- });
586
563
  if (providedSession.title) {
587
564
  modelRef.object.setCustomTitle(providedSession.title);
588
565
  }
@@ -634,9 +611,6 @@ let ChatService = class ChatService extends Disposable {
634
611
  }
635
612
  }
636
613
  }
637
- if (providedSession.isCompleteObs?.get()) {
638
- lastRequest?.response?.complete();
639
- }
640
614
  const hasProgressStreaming = providedSession.progressObs && providedSession.interruptActiveResponseCallback;
641
615
  if (hasProgressStreaming) {
642
616
  let lastProgressLength = 0;
@@ -645,39 +619,28 @@ let ChatService = class ChatService extends Disposable {
645
619
  return token.onCancellationRequested(() => {
646
620
  providedSession.interruptActiveResponseCallback?.().then(userConfirmedInterruption => {
647
621
  if (!userConfirmedInterruption) {
648
- const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
649
- this._pendingRequests.set(model.sessionResource, newCancellationRequest);
650
- this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
651
- action: "add",
652
- source: "remoteSession",
653
- chatSessionId: chatSessionResourceToId(model.sessionResource)
654
- });
655
- cancellationListener.value = createCancellationListener(newCancellationRequest.cancellationTokenSource.token);
622
+ trackNewCancellableRequest();
656
623
  }
657
624
  });
658
625
  });
659
626
  };
660
- const ensureCancellationTracking = () => {
661
- if (!( this._pendingRequests.has(model.sessionResource))) {
662
- const cts = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
663
- this._pendingRequests.set(model.sessionResource, cts);
664
- this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
665
- action: "add",
666
- source: "remoteSession",
667
- chatSessionId: chatSessionResourceToId(model.sessionResource)
668
- });
669
- cancellationListener.value = createCancellationListener(cts.cancellationTokenSource.token);
670
- }
671
- };
672
- if (lastRequest) {
673
- const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
674
- this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
627
+ const trackNewCancellableRequest = () => {
628
+ const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
629
+ this._pendingRequests.set(model.sessionResource, cancellableRequest);
675
630
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
676
631
  action: "add",
677
632
  source: "remoteSession",
678
633
  chatSessionId: chatSessionResourceToId(model.sessionResource)
679
634
  });
680
- cancellationListener.value = createCancellationListener(initialCancellationRequest.cancellationTokenSource.token);
635
+ cancellationListener.value = createCancellationListener(cancellableRequest.cancellationTokenSource.token);
636
+ };
637
+ const ensureCancellationTracking = () => {
638
+ if (!( this._pendingRequests.has(model.sessionResource))) {
639
+ trackNewCancellableRequest();
640
+ }
641
+ };
642
+ if (lastRequest && !providedSession.isCompleteObs?.get()) {
643
+ trackNewCancellableRequest();
681
644
  }
682
645
  if (providedSession.onDidStartServerRequest) {
683
646
  disposables.add(providedSession.onDidStartServerRequest((
@@ -717,11 +680,15 @@ let ChatService = class ChatService extends Disposable {
717
680
  lastProgressLength = progressArray.length;
718
681
  }
719
682
  if (isComplete && lastRequest) {
720
- lastRequest.response?.complete();
683
+ this._pendingRequests.deleteAndDispose(model.sessionResource);
721
684
  cancellationListener.clear();
685
+ lastRequest.response?.complete();
722
686
  }
723
687
  }));
724
688
  } else {
689
+ if (providedSession.isCompleteObs?.get()) {
690
+ lastRequest?.response?.complete();
691
+ }
725
692
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
726
693
  action: "notCancelable",
727
694
  source: "remoteSession",
@@ -734,16 +701,6 @@ let ChatService = class ChatService extends Disposable {
734
701
  }
735
702
  return modelRef;
736
703
  }
737
- getChatSessionFromInternalUri(sessionResource) {
738
- const model = this._sessionModels.get(sessionResource);
739
- if (!model) {
740
- return;
741
- }
742
- const {
743
- contributedChatSession
744
- } = model;
745
- return contributedChatSession;
746
- }
747
704
  async resendRequest(request, options) {
748
705
  const model = this._sessionModels.get(request.session.sessionResource);
749
706
  if (!model && model !== request.session) {
@@ -792,7 +749,10 @@ let ChatService = class ChatService extends Disposable {
792
749
  locationData: options.locationData,
793
750
  attachedContext: options.attachedContext,
794
751
  modelId: options.userSelectedModelId,
795
- userSelectedTools: options.userSelectedTools?.get()
752
+ userSelectedTools: options.userSelectedTools?.get(),
753
+ isSystemInitiated: options.isSystemInitiated,
754
+ systemInitiatedLabel: options.systemInitiatedLabel,
755
+ terminalExecutionId: options.terminalExecutionId
796
756
  }));
797
757
  const deferred = ( new DeferredPromise());
798
758
  this._queuedRequestDeferreds.set(requestModel.id, deferred);
@@ -822,86 +782,89 @@ let ChatService = class ChatService extends Disposable {
822
782
  if (!model) {
823
783
  throw ( new Error(`Unknown session: ${sessionResource}`));
824
784
  }
785
+ let tempRef;
825
786
  let newSessionResource;
826
- if (!model.hasRequests && isUntitledChatSession(sessionResource) && getChatSessionType(sessionResource) !== localChatSessionType) {
827
- const parsedRequest = this.parseChatRequest(
828
- sessionResource,
829
- request,
830
- options?.location ?? model.initialLocation,
831
- options
832
- );
833
- const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
834
- const requestText = getPromptText(parsedRequest).message;
835
- const initialSessionOptions = this.chatSessionService.getSessionOptions(sessionResource);
836
- const newItem = await this.chatSessionService.createNewChatSessionItem(getChatSessionType(sessionResource), {
837
- prompt: requestText,
838
- command: commandPart?.text,
839
- initialSessionOptions
840
- }, CancellationToken.None);
841
- if (newItem) {
842
- model = (await this.loadRemoteSession(newItem.resource, model.initialLocation, CancellationToken.None))?.object;
843
- if (!model) {
844
- throw ( new Error(`Failed to load session for resource: ${newItem.resource}`));
787
+ try {
788
+ if (!model.hasRequests && isUntitledChatSession(sessionResource) && getChatSessionType(sessionResource) !== localChatSessionType) {
789
+ const parsedRequest = this.parseChatRequest(
790
+ sessionResource,
791
+ request,
792
+ options?.location ?? model.initialLocation,
793
+ options
794
+ );
795
+ const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
796
+ const requestText = getPromptText(parsedRequest).message;
797
+ const initialSessionOptions = this.chatSessionService.getSessionOptions(sessionResource);
798
+ const newItem = await this.chatSessionService.createNewChatSessionItem(getChatSessionType(sessionResource), {
799
+ prompt: requestText,
800
+ command: commandPart?.text,
801
+ initialSessionOptions
802
+ }, CancellationToken.None);
803
+ if (newItem) {
804
+ this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
805
+ tempRef = await this.loadRemoteSession(newItem.resource, model.initialLocation, CancellationToken.None);
806
+ model = tempRef?.object;
807
+ if (!model) {
808
+ throw ( new Error(`Failed to load session for resource: ${newItem.resource}`));
809
+ }
810
+ if (initialSessionOptions) {
811
+ this.chatSessionService.updateSessionOptions(model.sessionResource, initialSessionOptions);
812
+ }
813
+ sessionResource = newItem.resource;
814
+ newSessionResource = newItem.resource;
845
815
  }
846
- this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
847
- model.setContributedChatSession({
848
- chatSessionResource: newItem.resource,
849
- initialSessionOptions: initialSessionOptions
850
- });
851
- sessionResource = newItem.resource;
852
- newSessionResource = newItem.resource;
853
816
  }
854
- }
855
- const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
856
- if (options?.queue) {
857
- const queued = this.queuePendingRequest(model, sessionResource, request, options);
858
- if (!options.pauseQueue) {
859
- this.processPendingRequests(sessionResource);
860
- }
861
- return queued;
862
- } else if (hasPendingRequest) {
863
- this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
864
- return {
865
- kind: "rejected",
866
- reason: "Request already in progress"
867
- };
868
- }
869
- const requests = model.getRequests();
870
- for (let i = requests.length - 1; i >= 0; i -= 1) {
871
- const request = requests[i];
872
- if (request.shouldBeRemovedOnSend) {
873
- if (request.shouldBeRemovedOnSend.afterUndoStop) {
874
- request.response?.finalizeUndoState();
875
- } else {
876
- await this.removeRequest(sessionResource, request.id);
817
+ const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
818
+ if (options?.queue) {
819
+ const queued = this.queuePendingRequest(model, sessionResource, request, options);
820
+ if (!options.pauseQueue) {
821
+ this.processPendingRequests(sessionResource);
877
822
  }
823
+ return queued;
824
+ } else if (hasPendingRequest) {
825
+ this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
826
+ return {
827
+ kind: "rejected",
828
+ reason: "Request already in progress"
829
+ };
878
830
  }
879
- }
880
- const location = options?.location ?? model.initialLocation;
881
- const attempt = options?.attempt ?? 0;
882
- const defaultAgent = this.chatAgentService.getDefaultAgent(location, options?.modeInfo?.kind);
883
- const parsedRequest = this.parseChatRequest(sessionResource, request, location, options);
884
- const silentAgent = options?.agentIdSilent ? this.chatAgentService.getAgent(options.agentIdSilent) : undefined;
885
- const agent = silentAgent ?? parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart)?.agent ?? defaultAgent;
886
- const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
887
- return {
888
- kind: "sent",
889
- newSessionResource,
890
- data: {
891
- ...this._sendRequestAsync(
892
- model,
893
- sessionResource,
894
- parsedRequest,
895
- attempt,
896
- !options?.noCommandDetection,
897
- silentAgent ?? defaultAgent,
898
- location,
899
- options
900
- ),
901
- agent,
902
- slashCommand: agentSlashCommandPart?.command
831
+ const requests = model.getRequests();
832
+ for (let i = requests.length - 1; i >= 0; i -= 1) {
833
+ const request = requests[i];
834
+ if (request.shouldBeRemovedOnSend) {
835
+ if (request.shouldBeRemovedOnSend.afterUndoStop) {
836
+ request.response?.finalizeUndoState();
837
+ } else {
838
+ await this.removeRequest(sessionResource, request.id);
839
+ }
840
+ }
903
841
  }
904
- };
842
+ const location = options?.location ?? model.initialLocation;
843
+ const attempt = options?.attempt ?? 0;
844
+ const defaultAgent = this.chatAgentService.getDefaultAgent(location, options?.modeInfo?.kind);
845
+ const parsedRequest = this.parseChatRequest(sessionResource, request, location, options);
846
+ const silentAgent = options?.agentIdSilent ? this.chatAgentService.getAgent(options.agentIdSilent) : undefined;
847
+ const agent = silentAgent ?? parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart)?.agent ?? defaultAgent;
848
+ const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
849
+ return {
850
+ kind: "sent",
851
+ newSessionResource,
852
+ data: {
853
+ ...this._sendRequestAsync(
854
+ model,
855
+ sessionResource,
856
+ parsedRequest,
857
+ attempt,
858
+ !options?.noCommandDetection,
859
+ silentAgent ?? defaultAgent,
860
+ location,
861
+ options
862
+ ),
863
+ agent,
864
+ slashCommand: agentSlashCommandPart?.command
865
+ }
866
+ };
867
+ } finally {}
905
868
  }
906
869
  parseChatRequest(sessionResource, request, location, options) {
907
870
  let parserContext = options?.parserContext;
@@ -1004,9 +967,8 @@ let ChatService = class ChatService extends Disposable {
1004
967
  let detectedAgent;
1005
968
  let detectedCommand;
1006
969
  {
1007
- const debugLogEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
1008
970
  const fileLoggingEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING);
1009
- if (!debugLogEnabled || !fileLoggingEnabled) {
971
+ if (!fileLoggingEnabled) {
1010
972
  const isTroubleshootCommand = agentSlashCommandPart?.command.name === TROUBLESHOOT_COMMAND_NAME;
1011
973
  const hasTroubleshootSkill = options?.attachedContext?.some(v => {
1012
974
  const uri = IChatRequestVariableEntry.toUri(v);
@@ -1017,22 +979,14 @@ let ChatService = class ChatService extends Disposable {
1017
979
  variables: []
1018
980
  }, attempt, options?.modeInfo);
1019
981
  completeResponseCreated();
1020
- const missingSettings = [];
1021
- if (!debugLogEnabled) {
1022
- missingSettings.push("`" + AGENT_DEBUG_LOG_ENABLED_SETTING + "`");
1023
- }
1024
- if (!fileLoggingEnabled) {
1025
- missingSettings.push("`" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING + "`");
1026
- }
1027
- const settingsQuery = !debugLogEnabled && !fileLoggingEnabled ? AGENT_DEBUG_LOG_ENABLED_SETTING : !debugLogEnabled ? "@id:" + AGENT_DEBUG_LOG_ENABLED_SETTING : "@id:" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING;
1028
- const settingsArg = encodeURIComponent(JSON.stringify(settingsQuery));
982
+ const settingsArg = encodeURIComponent(JSON.stringify(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING));
1029
983
  model.acceptResponseProgress(request, {
1030
984
  kind: "markdownContent",
1031
985
  content: ( new MarkdownString(( localize(
1032
- 7257,
1033
- "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})",
986
+ 7379,
987
+ "The `{0}` skill requires `{1}` to be enabled. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
1034
988
  TROUBLESHOOT_COMMAND_NAME,
1035
- missingSettings.join(", "),
989
+ AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING,
1036
990
  settingsArg
1037
991
  )), {
1038
992
  isTrusted: {
@@ -1042,33 +996,65 @@ let ChatService = class ChatService extends Disposable {
1042
996
  });
1043
997
  model.setResponse(request, {});
1044
998
  request.response?.complete();
999
+ store.dispose();
1045
1000
  return;
1046
1001
  }
1047
1002
  }
1048
1003
  }
1049
- let collectedHooks;
1050
- let hasDisabledClaudeHooks = false;
1051
- try {
1052
- const hooksInfo = await this.promptsService.getHooks(token, model.sessionResource);
1053
- if (hooksInfo) {
1054
- collectedHooks = hooksInfo.hooks;
1055
- hasDisabledClaudeHooks = hooksInfo.hasDisabledClaudeHooks;
1056
- }
1057
- } catch (error) {
1058
- this.logService.warn("[ChatService] Failed to collect hooks:", error);
1059
- }
1060
- const agentName = options?.modeInfo?.modeInstructions?.name;
1061
- if (agentName) {
1004
+ const collectHooks = async () => {
1005
+ let collectedHooks;
1006
+ let hasDisabledClaudeHooks = false;
1062
1007
  try {
1063
- const agents = await this.promptsService.getCustomAgents(token, model.sessionResource);
1064
- const customAgent = agents.find(a => a.name === agentName);
1065
- if (customAgent?.hooks) {
1066
- collectedHooks = mergeHooks(collectedHooks, customAgent.hooks);
1008
+ const hooksInfo = await this.promptsService.getHooks(token);
1009
+ if (hooksInfo) {
1010
+ collectedHooks = hooksInfo.hooks;
1011
+ hasDisabledClaudeHooks = hooksInfo.hasDisabledClaudeHooks;
1067
1012
  }
1068
1013
  } catch (error) {
1069
- this.logService.warn("[ChatService] Failed to collect agent hooks:", error);
1014
+ this.logService.warn("[ChatService] Failed to collect hooks:", error);
1070
1015
  }
1071
- }
1016
+ const agentName = options?.modeInfo?.modeInstructions?.name;
1017
+ if (agentName) {
1018
+ try {
1019
+ const agents = await this.promptsService.getCustomAgents(token);
1020
+ const customAgent = agents.find(a => a.name === agentName);
1021
+ if (customAgent?.hooks) {
1022
+ collectedHooks = mergeHooks(collectedHooks, customAgent.hooks);
1023
+ }
1024
+ } catch (error) {
1025
+ this.logService.warn("[ChatService] Failed to collect agent hooks:", error);
1026
+ }
1027
+ }
1028
+ return {
1029
+ hooks: collectedHooks,
1030
+ hasDisabledClaudeHooks
1031
+ };
1032
+ };
1033
+ const collectInstructions = async () => {
1034
+ const ctx = options?.instructionContext;
1035
+ if (!ctx) {
1036
+ return [];
1037
+ }
1038
+ markChat(sessionResource, ChatPerfMark.WillCollectInstructions);
1039
+ try {
1040
+ const variableSet = ( new ChatRequestVariableSet(options?.attachedContext));
1041
+ const computer = this.instantiationService.createInstance(
1042
+ ComputeAutomaticInstructions,
1043
+ ctx.modeKind,
1044
+ ctx.enabledTools,
1045
+ ctx.enabledSubAgents,
1046
+ getChatSessionType(sessionResource)
1047
+ );
1048
+ await computer.collect(variableSet, token);
1049
+ const originalIds = ( new Set(( (options?.attachedContext ?? []).map(v => v.id))));
1050
+ return variableSet.asArray().filter(v => !( originalIds.has(v.id)));
1051
+ } catch (err) {
1052
+ this.logService.error("[ChatService] Failed to collect instructions:", err);
1053
+ return [];
1054
+ } finally {
1055
+ markChat(sessionResource, ChatPerfMark.DidCollectInstructions);
1056
+ }
1057
+ };
1072
1058
  const stopWatch = ( new StopWatch(false));
1073
1059
  store.add(token.onCancellationRequested(() => {
1074
1060
  this.trace(
@@ -1092,46 +1078,57 @@ let ChatService = class ChatService extends Disposable {
1092
1078
  let rawResult;
1093
1079
  let agentOrCommandFollowups = undefined;
1094
1080
  if (agentPart || (defaultAgent && !commandPart)) {
1095
- const prepareChatAgentRequest = (agent, command, enableCommandDetection, chatRequest, isParticipantDetected) => {
1096
- const initVariableData = {
1097
- variables: []
1081
+ const initialAgent = agentPart?.agent ?? defaultAgent;
1082
+ const initialCommand = agentSlashCommandPart?.command;
1083
+ const initVariableData = {
1084
+ variables: []
1085
+ };
1086
+ request = model.addRequest(
1087
+ parsedRequest,
1088
+ initVariableData,
1089
+ attempt,
1090
+ options?.modeInfo,
1091
+ initialAgent,
1092
+ initialCommand,
1093
+ options?.confirmation,
1094
+ options?.locationData,
1095
+ options?.attachedContext,
1096
+ undefined,
1097
+ options?.userSelectedModelId,
1098
+ options?.userSelectedTools?.get(),
1099
+ undefined,
1100
+ options?.isSystemInitiated,
1101
+ options?.systemInitiatedLabel,
1102
+ options?.terminalExecutionId
1103
+ );
1104
+ const thisRequest = request;
1105
+ completeResponseCreated();
1106
+ const [hooksResult, instructionEntries] = await Promise.all([collectHooks(), collectInstructions()]);
1107
+ const collectedHooks = hooksResult.hooks;
1108
+ const hasDisabledClaudeHooks = hooksResult.hasDisabledClaudeHooks;
1109
+ const allContext = this.prepareContext(request.attachedContext);
1110
+ if (instructionEntries.length > 0) {
1111
+ allContext.push(...instructionEntries);
1112
+ }
1113
+ const storedVariables = allContext.filter(v => !(isPromptTextVariableEntry(v) && v.automaticallyAdded));
1114
+ model.updateRequest(request, {
1115
+ variables: storedVariables
1116
+ });
1117
+ let variableData = {
1118
+ variables: allContext
1119
+ };
1120
+ if (options?.resolvedVariables?.length) {
1121
+ variableData = {
1122
+ variables: [...variableData.variables, ...options.resolvedVariables]
1098
1123
  };
1099
- request = chatRequest ?? model.addRequest(
1100
- parsedRequest,
1101
- initVariableData,
1102
- attempt,
1103
- options?.modeInfo,
1104
- agent,
1105
- command,
1106
- options?.confirmation,
1107
- options?.locationData,
1108
- options?.attachedContext,
1109
- undefined,
1110
- options?.userSelectedModelId,
1111
- options?.userSelectedTools?.get()
1112
- );
1113
- let variableData;
1114
- let message;
1115
- if (chatRequest) {
1116
- variableData = chatRequest.variableData;
1117
- message = getPromptText(request.message).message;
1118
- } else {
1119
- variableData = {
1120
- variables: this.prepareContext(request.attachedContext)
1121
- };
1122
- model.updateRequest(request, variableData);
1123
- if (options?.resolvedVariables?.length) {
1124
- variableData = {
1125
- variables: [...variableData.variables, ...options.resolvedVariables]
1126
- };
1127
- }
1128
- const promptTextResult = getPromptText(request.message);
1129
- variableData = updateRanges(variableData, promptTextResult.diff);
1130
- message = promptTextResult.message;
1131
- }
1124
+ }
1125
+ const promptTextResult = getPromptText(request.message);
1126
+ variableData = updateRanges(variableData, promptTextResult.diff);
1127
+ const message = promptTextResult.message;
1128
+ const buildAgentRequest = (agent, command, enableCommandDetection, isParticipantDetected) => {
1132
1129
  const agentRequest = {
1133
1130
  sessionResource: model.sessionResource,
1134
- requestId: request.id,
1131
+ requestId: thisRequest.id,
1135
1132
  agentId: agent.id,
1136
1133
  message,
1137
1134
  command: command?.name,
@@ -1140,17 +1137,19 @@ let ChatService = class ChatService extends Disposable {
1140
1137
  isParticipantDetected,
1141
1138
  attempt,
1142
1139
  location,
1143
- locationData: request.locationData,
1140
+ locationData: thisRequest.locationData,
1144
1141
  acceptedConfirmationData: options?.acceptedConfirmationData,
1145
1142
  rejectedConfirmationData: options?.rejectedConfirmationData,
1143
+ agentHostSessionConfig: options?.agentHostSessionConfig,
1146
1144
  userSelectedModelId: options?.userSelectedModelId,
1147
1145
  modelConfiguration: options?.userSelectedModelId ? this.languageModelsService.getModelConfiguration(options.userSelectedModelId) : undefined,
1148
1146
  userSelectedTools: options?.userSelectedTools?.get(),
1149
1147
  modeInstructions: options?.modeInfo?.modeInstructions,
1150
1148
  permissionLevel: options?.modeInfo?.permissionLevel,
1151
- editedFileEvents: request.editedFileEvents,
1149
+ editedFileEvents: thisRequest.editedFileEvents,
1152
1150
  hooks: collectedHooks,
1153
- hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0))
1151
+ hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0)),
1152
+ isSystemInitiated: options?.isSystemInitiated
1154
1153
  };
1155
1154
  let isInitialTools = true;
1156
1155
  store.add(autorun(reader => {
@@ -1168,7 +1167,7 @@ let ChatService = class ChatService extends Disposable {
1168
1167
  };
1169
1168
  if (this.configurationService.getValue("chat.detectParticipant.enabled") !== false && this.chatAgentService.hasChatParticipantDetectionProviders() && !agentPart && !commandPart && !agentSlashCommandPart && enableCommandDetection && (location !== ChatAgentLocation.EditorInline || !this.configurationService.getValue(InlineChatConfigKeys.EnableV2)) && options?.modeInfo?.kind !== ChatModeKind.Agent && options?.modeInfo?.kind !== ChatModeKind.Edit && !options?.agentIdSilent) {
1170
1169
  const defaultAgentHistory = this.getHistoryEntriesFromModel(requests, location, defaultAgent.id);
1171
- const chatAgentRequest = prepareChatAgentRequest(defaultAgent, undefined, enableCommandDetection, undefined, false);
1170
+ const chatAgentRequest = buildAgentRequest(defaultAgent, undefined, enableCommandDetection, false);
1172
1171
  const result = await this.chatAgentService.detectAgentOrCommand(chatAgentRequest, defaultAgentHistory, {
1173
1172
  location
1174
1173
  }, token);
@@ -1182,13 +1181,7 @@ let ChatService = class ChatService extends Disposable {
1182
1181
  const command = detectedCommand ?? agentSlashCommandPart?.command;
1183
1182
  await this.extensionService.activateByEvent(`onChatParticipant:${agent.id}`);
1184
1183
  const history = this.getHistoryEntriesFromModel(requests, location, agent.id);
1185
- const requestProps = prepareChatAgentRequest(
1186
- agent,
1187
- command,
1188
- enableCommandDetection,
1189
- request,
1190
- !!detectedAgent
1191
- );
1184
+ const requestProps = buildAgentRequest(agent, command, enableCommandDetection, !!detectedAgent);
1192
1185
  this.generateInitialChatTitleIfNeeded(model, requestProps, defaultAgent, token);
1193
1186
  const pendingRequest = this._pendingRequests.get(sessionResource);
1194
1187
  if (pendingRequest) {
@@ -1208,7 +1201,6 @@ let ChatService = class ChatService extends Disposable {
1208
1201
  });
1209
1202
  }
1210
1203
  }
1211
- completeResponseCreated();
1212
1204
  const disabledClaudeHooksDismissedKey = "chat.disabledClaudeHooks.notification";
1213
1205
  if (hasDisabledClaudeHooks && !this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
1214
1206
  this.storageService.store(
@@ -1289,7 +1281,7 @@ let ChatService = class ChatService extends Disposable {
1289
1281
  );
1290
1282
  rawResult = {
1291
1283
  errorDetails: {
1292
- message: ( localize(7258, "Provider returned null response"))
1284
+ message: ( localize(7380, "Provider returned null response"))
1293
1285
  }
1294
1286
  };
1295
1287
  }
@@ -1314,8 +1306,9 @@ let ChatService = class ChatService extends Disposable {
1314
1306
  shouldProcessPending = !rawResult.errorDetails && !token.isCancellationRequested;
1315
1307
  request.response?.complete();
1316
1308
  if (agentOrCommandFollowups) {
1309
+ const completedRequest = request;
1317
1310
  agentOrCommandFollowups.then(followups => {
1318
- model.setFollowups(request, followups);
1311
+ model.setFollowups(completedRequest, followups);
1319
1312
  const commandForTelemetry = agentSlashCommandPart ? agentSlashCommandPart.command.name : commandPart?.slashCommand.command;
1320
1313
  this._chatServiceTelemetry.retrievedFollowups(agentPart?.agent.id ?? "", commandForTelemetry, followups?.length ?? 0);
1321
1314
  });
@@ -1414,8 +1407,17 @@ let ChatService = class ChatService extends Disposable {
1414
1407
  }
1415
1408
  }
1416
1409
  const firstRequest = allRequests[0];
1410
+ const terminalIds = ( new Set(( allRequests.map(req => req.sendOptions.terminalExecutionId)).filter(id => !!id)));
1411
+ if (terminalIds.size > 1) {
1412
+ this.info(
1413
+ "processNextPendingRequest",
1414
+ `Dropping terminalExecutionId: ${terminalIds.size} conflicting terminal IDs (${[...terminalIds].join(", ")})`
1415
+ );
1416
+ }
1417
+ const mergedTerminalExecutionId = terminalIds.size === 1 ? [...terminalIds][0] : undefined;
1417
1418
  const sendOptions = {
1418
1419
  ...firstRequest.sendOptions,
1420
+ terminalExecutionId: mergedTerminalExecutionId,
1419
1421
  attachedContext: allRequests.flatMap(req => req.request.variableData.variables.slice())
1420
1422
  };
1421
1423
  const location = sendOptions.location ?? sendOptions.locationData?.type ?? model.initialLocation;
@@ -1622,23 +1624,25 @@ let ChatService = class ChatService extends Disposable {
1622
1624
  this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
1623
1625
  const pendingRequest = this._pendingRequests.get(sessionResource);
1624
1626
  if (!pendingRequest) {
1625
- const model = this._sessionModels.get(sessionResource);
1626
- const requestInProgress = model?.requestInProgress.get();
1627
- const pendingRequestsCount = model?.getPendingRequests().length ?? 0;
1628
- const lastRequest = model?.lastRequest;
1629
- this.telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
1630
- source: source ?? "chatService",
1631
- reason: "noPendingRequest",
1632
- requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
1633
- pendingRequests: pendingRequestsCount,
1634
- sessionScheme: sessionResource.scheme,
1635
- lastRequestId: lastRequest?.id,
1636
- chatSessionId: chatSessionResourceToId(sessionResource)
1637
- });
1638
- this.info(
1639
- "cancelCurrentRequestForSession",
1640
- `No pending request was found for session ${sessionResource}. requestInProgress=${requestInProgress ?? "unknown"}, pendingRequests=${pendingRequestsCount}`
1641
- );
1627
+ if (source !== "archive") {
1628
+ const model = this._sessionModels.get(sessionResource);
1629
+ const requestInProgress = model?.requestInProgress.get();
1630
+ const pendingRequestsCount = model?.getPendingRequests().length ?? 0;
1631
+ const lastRequest = model?.lastRequest;
1632
+ this.telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
1633
+ source: source ?? "chatService",
1634
+ reason: "noPendingRequest",
1635
+ requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
1636
+ pendingRequests: pendingRequestsCount,
1637
+ sessionScheme: sessionResource.scheme,
1638
+ lastRequestId: lastRequest?.id,
1639
+ chatSessionId: chatSessionResourceToId(sessionResource)
1640
+ });
1641
+ this.info(
1642
+ "cancelCurrentRequestForSession",
1643
+ `No pending request was found for session ${sessionResource}. requestInProgress=${requestInProgress ?? "unknown"}, pendingRequests=${pendingRequestsCount}`
1644
+ );
1645
+ }
1642
1646
  return;
1643
1647
  }
1644
1648
  const responseCompletePromise = pendingRequest.responseCompletePromise;
@@ -1761,7 +1765,7 @@ let ChatService = class ChatService extends Disposable {
1761
1765
  };
1762
1766
  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));
1763
1767
  async function chatModelToChatDetail(model) {
1764
- const title = model.title || ( localize(7259, "New Chat"));
1768
+ const title = model.title || ( localize(7381, "New Chat"));
1765
1769
  return {
1766
1770
  sessionResource: model.sessionResource,
1767
1771
  title,