@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.0.1

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 (334) hide show
  1. package/index.js +24 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
  4. package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
  5. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
  10. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
  61. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
  62. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
  132. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
  133. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
  134. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
  147. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
  148. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
  149. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
  150. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
  175. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
  176. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
  177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
  178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
  179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
  184. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
  185. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
  205. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
  206. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
  207. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
  208. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
  209. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
  222. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  223. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
  235. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
  314. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
  315. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
  316. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
  317. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
  318. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
  321. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
  329. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
  330. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
  331. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
  332. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
@@ -44,10 +44,11 @@ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/work
44
44
  import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
45
45
  import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
46
46
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
47
+ import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
47
48
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
48
49
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
49
50
 
50
- const serializedChatKey = 'interactive.sessions';
51
+ const serializedChatKey = "interactive.sessions";
51
52
  let CancellableRequest = class CancellableRequest {
52
53
  constructor(cancellationTokenSource, requestId, toolsService) {
53
54
  this.cancellationTokenSource = cancellationTokenSource;
@@ -64,13 +65,14 @@ let CancellableRequest = class CancellableRequest {
64
65
  this.cancellationTokenSource.cancel();
65
66
  }
66
67
  };
67
- CancellableRequest = ( __decorate([
68
- ( __param(2, ILanguageModelToolsService))
69
- ], CancellableRequest));
68
+ CancellableRequest = ( __decorate([( __param(2, ILanguageModelToolsService))], CancellableRequest));
70
69
  let ChatService = class ChatService extends Disposable {
71
70
  get transferredSessionResource() {
72
71
  return this._transferredSessionResource;
73
72
  }
73
+ get onDidCreateModel() {
74
+ return this._sessionModels.onDidCreateModel;
75
+ }
74
76
  setSaveModelsEnabled(enabled) {
75
77
  this._saveModelsEnabled = enabled;
76
78
  }
@@ -84,7 +86,19 @@ let ChatService = class ChatService extends Disposable {
84
86
  const workspace = this.workspaceContextService.getWorkspace();
85
87
  return !workspace.configuration && workspace.folders.length === 0;
86
88
  }
87
- constructor(storageService, logService, extensionService, instantiationService, workspaceContextService, chatSlashCommandService, chatAgentService, configurationService, chatTransferService, chatSessionService, mcpService) {
89
+ constructor(
90
+ storageService,
91
+ logService,
92
+ extensionService,
93
+ instantiationService,
94
+ workspaceContextService,
95
+ chatSlashCommandService,
96
+ chatAgentService,
97
+ configurationService,
98
+ chatTransferService,
99
+ chatSessionService,
100
+ mcpService
101
+ ) {
88
102
  super();
89
103
  this.storageService = storageService;
90
104
  this.logService = logService;
@@ -103,35 +117,38 @@ let ChatService = class ChatService extends Disposable {
103
117
  this.onDidSubmitRequest = this._onDidSubmitRequest.event;
104
118
  this._onDidPerformUserAction = this._register(( new Emitter()));
105
119
  this.onDidPerformUserAction = this._onDidPerformUserAction.event;
120
+ this._onDidReceiveQuestionCarouselAnswer = this._register(( new Emitter()));
121
+ this.onDidReceiveQuestionCarouselAnswer = this._onDidReceiveQuestionCarouselAnswer.event;
106
122
  this._onDidDisposeSession = this._register(( new Emitter()));
107
123
  this.onDidDisposeSession = this._onDidDisposeSession.event;
108
124
  this._sessionFollowupCancelTokens = this._register(( new DisposableResourceMap()));
109
125
  this._sessionModels = this._register(instantiationService.createInstance(ChatModelStore, {
110
- createModel: (props) => this._startSession(props),
111
- willDisposeModel: async (model) => {
126
+ createModel: props => this._startSession(props),
127
+ willDisposeModel: async model => {
112
128
  const localSessionId = LocalChatSessionUri.parseLocalSessionId(model.sessionResource);
113
129
  if (localSessionId && this.shouldStoreSession(model)) {
114
130
  if (model.getRequests().length === 0 && !model.customTitle) {
115
131
  await this._chatSessionStore.deleteSession(localSessionId);
116
- }
117
- else if (this._saveModelsEnabled) {
132
+ } else if (this._saveModelsEnabled) {
118
133
  await this._chatSessionStore.storeSessions([model]);
119
134
  }
120
- }
121
- else if (!localSessionId && model.getRequests().length > 0) {
135
+ } else if (!localSessionId && model.getRequests().length > 0) {
122
136
  await this._chatSessionStore.storeSessionsMetadataOnly([model]);
123
137
  }
124
138
  }
125
139
  }));
126
140
  this._register(this._sessionModels.onDidDisposeModel(model => {
127
- this._onDidDisposeSession.fire({ sessionResource: [model.sessionResource], reason: 'cleared' });
141
+ this._onDidDisposeSession.fire({
142
+ sessionResource: [model.sessionResource],
143
+ reason: "cleared"
144
+ });
128
145
  }));
129
146
  this._chatServiceTelemetry = this.instantiationService.createInstance(ChatServiceTelemetry);
130
147
  this._chatSessionStore = this._register(this.instantiationService.createInstance(ChatSessionStore));
131
148
  this._chatSessionStore.migrateDataIfNeeded(() => this.migrateData());
132
149
  const transferredData = this._chatSessionStore.getTransferredSessionData();
133
150
  if (transferredData) {
134
- this.trace('constructor', `Transferred session ${transferredData}`);
151
+ this.trace("constructor", `Transferred session ${transferredData}`);
135
152
  this._transferredSessionResource = transferredData;
136
153
  }
137
154
  this.reviveSessionsWithEdits();
@@ -149,12 +166,16 @@ let ChatService = class ChatService extends Disposable {
149
166
  return this.chatAgentService.getContributedDefaultAgent(location) !== undefined;
150
167
  }
151
168
  migrateData() {
152
- const sessionData = this.storageService.get(serializedChatKey, this.isEmptyWindow ? StorageScope.APPLICATION : StorageScope.WORKSPACE, '');
169
+ const sessionData = this.storageService.get(
170
+ serializedChatKey,
171
+ this.isEmptyWindow ? StorageScope.APPLICATION : StorageScope.WORKSPACE,
172
+ ""
173
+ );
153
174
  if (sessionData) {
154
175
  const persistedSessions = this.deserializeChats(sessionData);
155
176
  const countsForLog = ( Object.keys(persistedSessions)).length;
156
177
  if (countsForLog > 0) {
157
- this.info('migrateData', `Restored ${countsForLog} persisted sessions`);
178
+ this.info("migrateData", `Restored ${countsForLog} persisted sessions`);
158
179
  }
159
180
  return persistedSessions;
160
181
  }
@@ -164,11 +185,11 @@ let ChatService = class ChatService extends Disposable {
164
185
  if (!this._saveModelsEnabled) {
165
186
  return;
166
187
  }
167
- const liveLocalChats = Array.from(( this._sessionModels.values()))
168
- .filter(session => this.shouldStoreSession(session));
188
+ const liveLocalChats = Array.from(( this._sessionModels.values())).filter(session => this.shouldStoreSession(session));
169
189
  this._chatSessionStore.storeSessions(liveLocalChats);
170
- const liveNonLocalChats = Array.from(( this._sessionModels.values()))
171
- .filter(session => !LocalChatSessionUri.parseLocalSessionId(session.sessionResource));
190
+ const liveNonLocalChats = Array.from(( this._sessionModels.values())).filter(
191
+ session => !LocalChatSessionUri.parseLocalSessionId(session.sessionResource)
192
+ );
172
193
  this._chatSessionStore.storeSessionsMetadataOnly(liveNonLocalChats);
173
194
  }
174
195
  shouldStoreSession(session) {
@@ -180,13 +201,20 @@ let ChatService = class ChatService extends Disposable {
180
201
  notifyUserAction(action) {
181
202
  this._chatServiceTelemetry.notifyUserAction(action);
182
203
  this._onDidPerformUserAction.fire(action);
183
- if (action.action.kind === 'chatEditingSessionAction') {
204
+ if (action.action.kind === "chatEditingSessionAction") {
184
205
  const model = this._sessionModels.get(action.sessionResource);
185
206
  if (model) {
186
207
  model.notifyEditingAction(action.action);
187
208
  }
188
209
  }
189
210
  }
211
+ notifyQuestionCarouselAnswer(requestId, resolveId, answers) {
212
+ this._onDidReceiveQuestionCarouselAnswer.fire({
213
+ requestId,
214
+ resolveId,
215
+ answers
216
+ });
217
+ }
190
218
  async setChatSessionTitle(sessionResource, title) {
191
219
  const model = this._sessionModels.get(sessionResource);
192
220
  if (model) {
@@ -201,16 +229,14 @@ let ChatService = class ChatService extends Disposable {
201
229
  trace(method, message) {
202
230
  if (message) {
203
231
  this.logService.trace(`ChatService#${method}: ${message}`);
204
- }
205
- else {
232
+ } else {
206
233
  this.logService.trace(`ChatService#${method}`);
207
234
  }
208
235
  }
209
236
  info(method, message) {
210
237
  if (message) {
211
238
  this.logService.info(`ChatService#${method}: ${message}`);
212
- }
213
- else {
239
+ } else {
214
240
  this.logService.info(`ChatService#${method}`);
215
241
  }
216
242
  }
@@ -221,19 +247,18 @@ let ChatService = class ChatService extends Disposable {
221
247
  try {
222
248
  const arrayOfSessions = revive(JSON.parse(sessionData));
223
249
  if (!Array.isArray(arrayOfSessions)) {
224
- throw ( new Error('Expected array'));
250
+ throw ( new Error("Expected array"));
225
251
  }
226
252
  const sessions = arrayOfSessions.reduce((acc, session) => {
227
253
  for (const request of session.requests) {
228
254
  if (Array.isArray(request.response)) {
229
- request.response = ( request.response.map((response) => {
230
- if (typeof response === 'string') {
255
+ request.response = ( request.response.map(response => {
256
+ if (typeof response === "string") {
231
257
  return ( new MarkdownString(response));
232
258
  }
233
259
  return response;
234
260
  }));
235
- }
236
- else if (typeof request.response === 'string') {
261
+ } else if (typeof request.response === "string") {
237
262
  request.response = [( new MarkdownString(request.response))];
238
263
  }
239
264
  }
@@ -241,15 +266,17 @@ let ChatService = class ChatService extends Disposable {
241
266
  return acc;
242
267
  }, {});
243
268
  return sessions;
244
- }
245
- catch (err) {
246
- this.error('deserializeChats', `Malformed session data: ${err}. [${sessionData.substring(0, 20)}${sessionData.length > 20 ? '...' : ''}]`);
269
+ } catch (err) {
270
+ this.error(
271
+ "deserializeChats",
272
+ `Malformed session data: ${err}. [${sessionData.substring(0, 20)}${sessionData.length > 20 ? "..." : ""}]`
273
+ );
247
274
  return {};
248
275
  }
249
276
  }
250
277
  async reviveSessionsWithEdits() {
251
278
  const idx = await this._chatSessionStore.getIndex();
252
- await Promise.all(( ( Object.values(idx)).map(async (session) => {
279
+ await Promise.all(( ( Object.values(idx)).map(async session => {
253
280
  if (!session.hasPendingEdits) {
254
281
  return;
255
282
  }
@@ -267,10 +294,8 @@ let ChatService = class ChatService extends Disposable {
267
294
  return [...liveSessionItems, ...historySessionItems];
268
295
  }
269
296
  async getLiveSessionItems() {
270
- return await Promise.all(( Array.from(( this._sessionModels.values()))
271
- .filter(session => this.shouldBeInHistory(session))
272
- .map(async (session) => {
273
- const title = session.title || ( localize(5944, "New Chat"));
297
+ return await Promise.all(( Array.from(( this._sessionModels.values())).filter(session => this.shouldBeInHistory(session)).map(async session => {
298
+ const title = session.title || ( localize(6219, "New Chat"));
274
299
  return {
275
300
  sessionResource: session.sessionResource,
276
301
  title,
@@ -278,23 +303,25 @@ let ChatService = class ChatService extends Disposable {
278
303
  timing: session.timing,
279
304
  isActive: true,
280
305
  stats: await awaitStatsForSession(session),
281
- lastResponseState: session.lastRequest?.response?.state ?? ResponseModelState.Pending,
306
+ lastResponseState: session.lastRequest?.response?.state ?? ResponseModelState.Pending
282
307
  };
283
308
  })));
284
309
  }
285
310
  async getHistorySessionItems() {
286
311
  const index = await this._chatSessionStore.getIndex();
287
- return ( ( Object.values(index))
288
- .filter(entry => !entry.isExternal)
289
- .filter(entry => !( this._sessionModels.has(LocalChatSessionUri.forSession(entry.sessionId))) && entry.initialLocation === ChatAgentLocation.Chat && !entry.isEmpty)
290
- .map((entry) => {
312
+ return ( ( Object.values(index)).filter(entry => !entry.isExternal).filter(entry => !( this._sessionModels.has(LocalChatSessionUri.forSession(entry.sessionId))) && entry.initialLocation === ChatAgentLocation.Chat && !entry.isEmpty).map(entry => {
291
313
  const sessionResource = LocalChatSessionUri.forSession(entry.sessionId);
314
+ const lastResponseState = entry.lastResponseState ?? ResponseModelState.Complete;
292
315
  return ({
293
316
  ...entry,
294
317
  sessionResource,
295
- timing: entry.timing ?? { startTime: entry.lastMessageDate },
318
+ timing: entry.timing ?? {
319
+ created: entry.lastMessageDate,
320
+ lastRequestStarted: undefined,
321
+ lastRequestEnded: entry.lastMessageDate
322
+ },
296
323
  isActive: ( this._sessionModels.has(sessionResource)),
297
- lastResponseState: entry.lastResponseState ?? ResponseModelState.Complete
324
+ lastResponseState: lastResponseState === ResponseModelState.Pending || lastResponseState === ResponseModelState.NeedsInput ? ResponseModelState.Complete : lastResponseState
298
325
  });
299
326
  }));
300
327
  }
@@ -305,9 +332,13 @@ let ChatService = class ChatService extends Disposable {
305
332
  return {
306
333
  ...metadata,
307
334
  sessionResource,
308
- timing: metadata.timing ?? { startTime: metadata.lastMessageDate },
335
+ timing: metadata.timing ?? {
336
+ created: metadata.lastMessageDate,
337
+ lastRequestStarted: undefined,
338
+ lastRequestEnded: metadata.lastMessageDate
339
+ },
309
340
  isActive: ( this._sessionModels.has(sessionResource)),
310
- lastResponseState: metadata.lastResponseState ?? ResponseModelState.Complete,
341
+ lastResponseState: metadata.lastResponseState ?? ResponseModelState.Complete
311
342
  };
312
343
  }
313
344
  return undefined;
@@ -317,13 +348,16 @@ let ChatService = class ChatService extends Disposable {
317
348
  }
318
349
  async removeHistoryEntry(sessionResource) {
319
350
  await this._chatSessionStore.deleteSession(this.toLocalSessionId(sessionResource));
320
- this._onDidDisposeSession.fire({ sessionResource: [sessionResource], reason: 'cleared' });
351
+ this._onDidDisposeSession.fire({
352
+ sessionResource: [sessionResource],
353
+ reason: "cleared"
354
+ });
321
355
  }
322
356
  async clearAllHistoryEntries() {
323
357
  await this._chatSessionStore.clearAllSessions();
324
358
  }
325
359
  startSession(location, options) {
326
- this.trace('startSession');
360
+ this.trace("startSession");
327
361
  const sessionId = generateUuid();
328
362
  const sessionResource = LocalChatSessionUri.forSession(sessionId);
329
363
  return this._sessionModels.acquireOrCreate({
@@ -336,8 +370,24 @@ let ChatService = class ChatService extends Disposable {
336
370
  });
337
371
  }
338
372
  _startSession(props) {
339
- const { initialData, location, sessionResource, sessionId, canUseTools, transferEditingSession, disableBackgroundKeepAlive, inputState } = props;
340
- const model = this.instantiationService.createInstance(ChatModel, initialData, { initialLocation: location, canUseTools, resource: sessionResource, sessionId, disableBackgroundKeepAlive, inputState });
373
+ const {
374
+ initialData,
375
+ location,
376
+ sessionResource,
377
+ sessionId,
378
+ canUseTools,
379
+ transferEditingSession,
380
+ disableBackgroundKeepAlive,
381
+ inputState
382
+ } = props;
383
+ const model = this.instantiationService.createInstance(ChatModel, initialData, {
384
+ initialLocation: location,
385
+ canUseTools,
386
+ resource: sessionResource,
387
+ sessionId,
388
+ disableBackgroundKeepAlive,
389
+ inputState
390
+ });
341
391
  if (location === ChatAgentLocation.Chat) {
342
392
  model.startEditingSession(true, transferEditingSession);
343
393
  }
@@ -345,14 +395,14 @@ let ChatService = class ChatService extends Disposable {
345
395
  return model;
346
396
  }
347
397
  initializeSession(model) {
348
- this.trace('initializeSession', `Initialize session ${model.sessionResource}`);
398
+ this.trace("initializeSession", `Initialize session ${model.sessionResource}`);
349
399
  this.activateDefaultAgent(model.initialLocation).catch(e => this.logService.error(e));
350
400
  }
351
401
  async activateDefaultAgent(location) {
352
402
  await this.extensionService.whenInstalledExtensionsRegistered();
353
403
  const defaultAgentData = this.chatAgentService.getContributedDefaultAgent(location) ?? this.chatAgentService.getContributedDefaultAgent(ChatAgentLocation.Chat);
354
404
  if (!defaultAgentData) {
355
- throw ( new ErrorNoTelemetry('No default agent contributed'));
405
+ throw ( new ErrorNoTelemetry("No default agent contributed"));
356
406
  }
357
407
  if (!defaultAgentData.isCore) {
358
408
  await this.extensionService.activateById(defaultAgentData.extensionId, {
@@ -363,7 +413,7 @@ let ChatService = class ChatService extends Disposable {
363
413
  }
364
414
  const defaultAgent = this.chatAgentService.getActivatedAgents().find(agent => agent.id === defaultAgentData.id);
365
415
  if (!defaultAgent) {
366
- throw ( new ErrorNoTelemetry('No default agent registered'));
416
+ throw ( new ErrorNoTelemetry("No default agent registered"));
367
417
  }
368
418
  }
369
419
  getSession(sessionResource) {
@@ -373,7 +423,7 @@ let ChatService = class ChatService extends Disposable {
373
423
  return this._sessionModels.acquireExisting(sessionResource);
374
424
  }
375
425
  async getOrRestoreSession(sessionResource) {
376
- this.trace('getOrRestoreSession', `${sessionResource}`);
426
+ this.trace("getOrRestoreSession", `${sessionResource}`);
377
427
  const existingRef = this._sessionModels.acquireExisting(sessionResource);
378
428
  if (existingRef) {
379
429
  return existingRef;
@@ -385,20 +435,19 @@ let ChatService = class ChatService extends Disposable {
385
435
  let sessionData;
386
436
  if (isEqual(this.transferredSessionResource, sessionResource)) {
387
437
  this._transferredSessionResource = undefined;
388
- sessionData = revive(await this._chatSessionStore.readTransferredSession(sessionResource));
389
- }
390
- else {
391
- sessionData = revive(await this._chatSessionStore.readSession(sessionId));
438
+ sessionData = await this._chatSessionStore.readTransferredSession(sessionResource);
439
+ } else {
440
+ sessionData = await this._chatSessionStore.readSession(sessionId);
392
441
  }
393
442
  if (!sessionData) {
394
443
  return undefined;
395
444
  }
396
445
  const sessionRef = this._sessionModels.acquireOrCreate({
397
446
  initialData: sessionData,
398
- location: sessionData.initialLocation ?? ChatAgentLocation.Chat,
447
+ location: sessionData.value.initialLocation ?? ChatAgentLocation.Chat,
399
448
  sessionResource,
400
449
  sessionId,
401
- canUseTools: true,
450
+ canUseTools: true
402
451
  });
403
452
  return sessionRef;
404
453
  }
@@ -407,18 +456,20 @@ let ChatService = class ChatService extends Disposable {
407
456
  if (!sessionId) {
408
457
  return undefined;
409
458
  }
410
- return this._sessionModels.get(sessionResource)?.title ??
411
- this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
459
+ return this._sessionModels.get(sessionResource)?.title ?? this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
412
460
  }
413
461
  loadSessionFromContent(data) {
414
462
  const sessionId = data.sessionId ?? generateUuid();
415
463
  const sessionResource = LocalChatSessionUri.forSession(sessionId);
416
464
  return this._sessionModels.acquireOrCreate({
417
- initialData: data,
465
+ initialData: {
466
+ value: data,
467
+ serializer: ( new ChatSessionOperationLog())
468
+ },
418
469
  location: data.initialLocation ?? ChatAgentLocation.Chat,
419
470
  sessionResource,
420
471
  sessionId,
421
- canUseTools: true,
472
+ canUseTools: true
422
473
  });
423
474
  }
424
475
  async loadSessionForResource(chatSessionResource, location, token) {
@@ -437,12 +488,12 @@ let ChatService = class ChatService extends Disposable {
437
488
  sessionResource: chatSessionResource,
438
489
  canUseTools: false,
439
490
  transferEditingSession: providedSession.transferredState?.editingSession,
440
- inputState: providedSession.transferredState?.inputState,
491
+ inputState: providedSession.transferredState?.inputState
441
492
  });
442
493
  modelRef.object.setContributedChatSession({
443
494
  chatSessionResource,
444
495
  chatSessionType,
445
- isUntitled: chatSessionResource.path.startsWith('/untitled-')
496
+ isUntitled: chatSessionResource.path.startsWith("/untitled-")
446
497
  });
447
498
  const model = modelRef.object;
448
499
  const disposables = ( new DisposableStore());
@@ -452,27 +503,32 @@ let ChatService = class ChatService extends Disposable {
452
503
  }));
453
504
  let lastRequest;
454
505
  for (const message of providedSession.history) {
455
- if (message.type === 'request') {
506
+ if (message.type === "request") {
456
507
  if (lastRequest) {
457
508
  lastRequest.response?.complete();
458
509
  }
459
510
  const requestText = message.prompt;
460
511
  const parsedRequest = {
461
512
  text: requestText,
462
- parts: [( new ChatRequestTextPart(( new OffsetRange(0, requestText.length)), { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: requestText.length + 1 }, requestText))]
513
+ parts: [( new ChatRequestTextPart(( new OffsetRange(0, requestText.length)), {
514
+ startLineNumber: 1,
515
+ startColumn: 1,
516
+ endLineNumber: 1,
517
+ endColumn: requestText.length + 1
518
+ }, requestText))]
463
519
  };
464
- const agent = message.participant
465
- ? this.chatAgentService.getAgent(message.participant)
466
- : this.chatAgentService.getAgent(chatSessionType);
467
- lastRequest = model.addRequest(parsedRequest, message.variableData ?? { variables: [] }, 0,
520
+ const agent = message.participant ?
521
+ this.chatAgentService.getAgent(message.participant) : this.chatAgentService.getAgent(chatSessionType);
522
+ lastRequest = model.addRequest(parsedRequest, message.variableData ?? {
523
+ variables: []
524
+ }, 0,
468
525
  undefined, agent, undefined,
469
526
  undefined,
470
527
  undefined,
471
528
  undefined,
472
529
  false,
473
530
  undefined, undefined, message.id);
474
- }
475
- else {
531
+ } else {
476
532
  if (lastRequest) {
477
533
  for (const part of message.parts) {
478
534
  model.acceptResponseProgress(lastRequest, part);
@@ -487,7 +543,7 @@ let ChatService = class ChatService extends Disposable {
487
543
  const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
488
544
  this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
489
545
  const cancellationListener = disposables.add(( new MutableDisposable()));
490
- const createCancellationListener = (token) => {
546
+ const createCancellationListener = token => {
491
547
  return token.onCancellationRequested(() => {
492
548
  providedSession.interruptActiveResponseCallback?.().then(userConfirmedInterruption => {
493
549
  if (!userConfirmedInterruption) {
@@ -515,8 +571,7 @@ let ChatService = class ChatService extends Disposable {
515
571
  cancellationListener.clear();
516
572
  }
517
573
  }));
518
- }
519
- else {
574
+ } else {
520
575
  if (lastRequest && model.editingSession) {
521
576
  await chatEditingSessionIsReady(model.editingSession);
522
577
  lastRequest.response?.complete();
@@ -529,7 +584,9 @@ let ChatService = class ChatService extends Disposable {
529
584
  if (!model) {
530
585
  return;
531
586
  }
532
- const { contributedChatSession } = model;
587
+ const {
588
+ contributedChatSession
589
+ } = model;
533
590
  return contributedChatSession;
534
591
  }
535
592
  async resendRequest(request, options) {
@@ -539,7 +596,10 @@ let ChatService = class ChatService extends Disposable {
539
596
  }
540
597
  const cts = this._pendingRequests.get(request.session.sessionResource);
541
598
  if (cts) {
542
- this.trace('resendRequest', `Session ${request.session.sessionResource} already has a pending request, cancelling...`);
599
+ this.trace(
600
+ "resendRequest",
601
+ `Session ${request.session.sessionResource} already has a pending request, cancelling...`
602
+ );
543
603
  cts.cancel();
544
604
  }
545
605
  const location = options?.location ?? model.initialLocation;
@@ -550,14 +610,23 @@ let ChatService = class ChatService extends Disposable {
550
610
  const resendOptions = {
551
611
  ...options,
552
612
  locationData: request.locationData,
553
- attachedContext: request.attachedContext,
613
+ attachedContext: request.attachedContext
554
614
  };
555
- await this._sendRequestAsync(model, model.sessionResource, request.message, attempt, enableCommandDetection, defaultAgent, location, resendOptions).responseCompletePromise;
615
+ await this._sendRequestAsync(
616
+ model,
617
+ model.sessionResource,
618
+ request.message,
619
+ attempt,
620
+ enableCommandDetection,
621
+ defaultAgent,
622
+ location,
623
+ resendOptions
624
+ ).responseCompletePromise;
556
625
  }
557
626
  async sendRequest(sessionResource, request, options) {
558
- this.trace('sendRequest', `sessionResource: ${( sessionResource.toString())}, message: ${request.substring(0, 20)}${request.length > 20 ? '[...]' : ''}}`);
627
+ this.trace("sendRequest", `sessionResource: ${( sessionResource.toString())}, message: ${request.substring(0, 20)}${request.length > 20 ? "[...]" : ""}}`);
559
628
  if (!request.trim() && !options?.slashCommand && !options?.agentId && !options?.agentIdSilent) {
560
- this.trace('sendRequest', 'Rejected empty message');
629
+ this.trace("sendRequest", "Rejected empty message");
561
630
  return;
562
631
  }
563
632
  const model = this._sessionModels.get(sessionResource);
@@ -565,7 +634,7 @@ let ChatService = class ChatService extends Disposable {
565
634
  throw ( new Error(`Unknown session: ${sessionResource}`));
566
635
  }
567
636
  if (( this._pendingRequests.has(sessionResource))) {
568
- this.trace('sendRequest', `Session ${sessionResource} already has a pending request`);
637
+ this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
569
638
  return;
570
639
  }
571
640
  const requests = model.getRequests();
@@ -574,8 +643,7 @@ let ChatService = class ChatService extends Disposable {
574
643
  if (request.shouldBeRemovedOnSend) {
575
644
  if (request.shouldBeRemovedOnSend.afterUndoStop) {
576
645
  request.response?.finalizeUndoState();
577
- }
578
- else {
646
+ } else {
579
647
  await this.removeRequest(sessionResource, request.id);
580
648
  }
581
649
  }
@@ -585,12 +653,21 @@ let ChatService = class ChatService extends Disposable {
585
653
  const defaultAgent = this.chatAgentService.getDefaultAgent(location, options?.modeInfo?.kind);
586
654
  const parsedRequest = this.parseChatRequest(sessionResource, request, location, options);
587
655
  const silentAgent = options?.agentIdSilent ? this.chatAgentService.getAgent(options.agentIdSilent) : undefined;
588
- const agent = silentAgent ?? parsedRequest.parts.find((r) => r instanceof ChatRequestAgentPart)?.agent ?? defaultAgent;
589
- const agentSlashCommandPart = parsedRequest.parts.find((r) => r instanceof ChatRequestAgentSubcommandPart);
656
+ const agent = silentAgent ?? parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart)?.agent ?? defaultAgent;
657
+ const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
590
658
  return {
591
- ...this._sendRequestAsync(model, sessionResource, parsedRequest, attempt, !options?.noCommandDetection, silentAgent ?? defaultAgent, location, options),
659
+ ...this._sendRequestAsync(
660
+ model,
661
+ sessionResource,
662
+ parsedRequest,
663
+ attempt,
664
+ !options?.noCommandDetection,
665
+ silentAgent ?? defaultAgent,
666
+ location,
667
+ options
668
+ ),
592
669
  agent,
593
- slashCommand: agentSlashCommandPart?.command,
670
+ slashCommand: agentSlashCommandPart?.command
594
671
  };
595
672
  }
596
673
  parseChatRequest(sessionResource, request, location, options) {
@@ -600,8 +677,11 @@ let ChatService = class ChatService extends Disposable {
600
677
  if (!agent) {
601
678
  throw ( new Error(`Unknown agent: ${options.agentId}`));
602
679
  }
603
- parserContext = { selectedAgent: agent, mode: options.modeInfo?.kind };
604
- const commandPart = options.slashCommand ? ` ${chatSubcommandLeader}${options.slashCommand}` : '';
680
+ parserContext = {
681
+ selectedAgent: agent,
682
+ mode: options.modeInfo?.kind
683
+ };
684
+ const commandPart = options.slashCommand ? ` ${chatSubcommandLeader}${options.slashCommand}` : "";
605
685
  request = `${chatAgentLeader}${agent.name}${commandPart} ${request}`;
606
686
  }
607
687
  const parsedRequest = this.instantiationService.createInstance(ChatRequestParser).parseChatRequest(sessionResource, request, location, parserContext);
@@ -613,12 +693,21 @@ let ChatService = class ChatService extends Disposable {
613
693
  this._sessionFollowupCancelTokens.set(sessionResource, newTokenSource);
614
694
  return newTokenSource.token;
615
695
  }
616
- _sendRequestAsync(model, sessionResource, parsedRequest, attempt, enableCommandDetection, defaultAgent, location, options) {
696
+ _sendRequestAsync(
697
+ model,
698
+ sessionResource,
699
+ parsedRequest,
700
+ attempt,
701
+ enableCommandDetection,
702
+ defaultAgent,
703
+ location,
704
+ options
705
+ ) {
617
706
  const followupsCancelToken = this.refreshFollowupsCancellationToken(sessionResource);
618
707
  let request;
619
- const agentPart = parsedRequest.parts.find((r) => r instanceof ChatRequestAgentPart);
620
- const agentSlashCommandPart = parsedRequest.parts.find((r) => r instanceof ChatRequestAgentSubcommandPart);
621
- const commandPart = parsedRequest.parts.find((r) => r instanceof ChatRequestSlashCommandPart);
708
+ const agentPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart);
709
+ const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
710
+ const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
622
711
  const requests = [...model.getRequests()];
623
712
  const requestTelemetry = this.instantiationService.createInstance(ChatRequestTelemetry, {
624
713
  agent: agentPart?.agent ?? defaultAgent,
@@ -630,7 +719,7 @@ let ChatService = class ChatService extends Disposable {
630
719
  enableCommandDetection
631
720
  });
632
721
  let gotProgress = false;
633
- const requestType = commandPart ? 'slashCommand' : 'string';
722
+ const requestType = commandPart ? "slashCommand" : "string";
634
723
  const responseCreated = ( new DeferredPromise());
635
724
  let responseCreatedComplete = false;
636
725
  function completeResponseCreated() {
@@ -643,7 +732,7 @@ let ChatService = class ChatService extends Disposable {
643
732
  const source = store.add(( new CancellationTokenSource()));
644
733
  const token = source.token;
645
734
  const sendRequestInternal = async () => {
646
- const progressCallback = (progress) => {
735
+ const progressCallback = progress => {
647
736
  if (token.isCancellationRequested) {
648
737
  return;
649
738
  }
@@ -651,11 +740,16 @@ let ChatService = class ChatService extends Disposable {
651
740
  for (let i = 0; i < progress.length; i++) {
652
741
  const isLast = i === progress.length - 1;
653
742
  const progressItem = progress[i];
654
- if (progressItem.kind === 'markdownContent') {
655
- this.trace('sendRequest', `Provider returned progress for session ${model.sessionResource}, ${progressItem.content.value.length} chars`);
656
- }
657
- else {
658
- this.trace('sendRequest', `Provider returned progress: ${JSON.stringify(progressItem)}`);
743
+ if (progressItem.kind === "markdownContent") {
744
+ this.trace(
745
+ "sendRequest",
746
+ `Provider returned progress for session ${model.sessionResource}, ${progressItem.content.value.length} chars`
747
+ );
748
+ } else {
749
+ this.trace(
750
+ "sendRequest",
751
+ `Provider returned progress: ${JSON.stringify(progressItem)}`
752
+ );
659
753
  }
660
754
  model.acceptResponseProgress(request, progressItem, !isLast);
661
755
  }
@@ -665,17 +759,20 @@ let ChatService = class ChatService extends Disposable {
665
759
  let detectedCommand;
666
760
  const stopWatch = ( new StopWatch(false));
667
761
  store.add(token.onCancellationRequested(() => {
668
- this.trace('sendRequest', `Request for session ${model.sessionResource} was cancelled`);
762
+ this.trace(
763
+ "sendRequest",
764
+ `Request for session ${model.sessionResource} was cancelled`
765
+ );
669
766
  if (!request) {
670
767
  return;
671
768
  }
672
769
  requestTelemetry.complete({
673
770
  timeToFirstProgress: undefined,
674
- result: 'cancelled',
771
+ result: "cancelled",
675
772
  totalTime: stopWatch.elapsed(),
676
773
  requestType,
677
774
  detectedAgent,
678
- request,
775
+ request
679
776
  });
680
777
  model.cancelRequest(request);
681
778
  }));
@@ -684,16 +781,32 @@ let ChatService = class ChatService extends Disposable {
684
781
  let agentOrCommandFollowups = undefined;
685
782
  if (agentPart || (defaultAgent && !commandPart)) {
686
783
  const prepareChatAgentRequest = (agent, command, enableCommandDetection, chatRequest, isParticipantDetected) => {
687
- const initVariableData = { variables: [] };
688
- request = chatRequest ?? model.addRequest(parsedRequest, initVariableData, attempt, options?.modeInfo, agent, command, options?.confirmation, options?.locationData, options?.attachedContext, undefined, options?.userSelectedModelId, options?.userSelectedTools?.get());
784
+ const initVariableData = {
785
+ variables: []
786
+ };
787
+ request = chatRequest ?? model.addRequest(
788
+ parsedRequest,
789
+ initVariableData,
790
+ attempt,
791
+ options?.modeInfo,
792
+ agent,
793
+ command,
794
+ options?.confirmation,
795
+ options?.locationData,
796
+ options?.attachedContext,
797
+ undefined,
798
+ options?.userSelectedModelId,
799
+ options?.userSelectedTools?.get()
800
+ );
689
801
  let variableData;
690
802
  let message;
691
803
  if (chatRequest) {
692
804
  variableData = chatRequest.variableData;
693
805
  message = getPromptText(request.message).message;
694
- }
695
- else {
696
- variableData = { variables: this.prepareContext(request.attachedContext) };
806
+ } else {
807
+ variableData = {
808
+ variables: this.prepareContext(request.attachedContext)
809
+ };
697
810
  model.updateRequest(request, variableData);
698
811
  const promptTextResult = getPromptText(request.message);
699
812
  variableData = updateRanges(variableData, promptTextResult.diff);
@@ -716,7 +829,7 @@ let ChatService = class ChatService extends Disposable {
716
829
  userSelectedModelId: options?.userSelectedModelId,
717
830
  userSelectedTools: options?.userSelectedTools?.get(),
718
831
  modeInstructions: options?.modeInfo?.modeInstructions,
719
- editedFileEvents: request.editedFileEvents,
832
+ editedFileEvents: request.editedFileEvents
720
833
  };
721
834
  let isInitialTools = true;
722
835
  store.add(autorun(reader => {
@@ -732,19 +845,12 @@ let ChatService = class ChatService extends Disposable {
732
845
  }));
733
846
  return agentRequest;
734
847
  };
735
- if (this.configurationService.getValue('chat.detectParticipant.enabled') !== false &&
736
- this.chatAgentService.hasChatParticipantDetectionProviders() &&
737
- !agentPart &&
738
- !commandPart &&
739
- !agentSlashCommandPart &&
740
- enableCommandDetection &&
741
- (location !== ChatAgentLocation.EditorInline || !this.configurationService.getValue(InlineChatConfigKeys.EnableV2)) &&
742
- options?.modeInfo?.kind !== ChatModeKind.Agent &&
743
- options?.modeInfo?.kind !== ChatModeKind.Edit &&
744
- !options?.agentIdSilent) {
848
+ 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) {
745
849
  const defaultAgentHistory = this.getHistoryEntriesFromModel(requests, location, defaultAgent.id);
746
850
  const chatAgentRequest = prepareChatAgentRequest(defaultAgent, undefined, enableCommandDetection, undefined, false);
747
- const result = await this.chatAgentService.detectAgentOrCommand(chatAgentRequest, defaultAgentHistory, { location }, token);
851
+ const result = await this.chatAgentService.detectAgentOrCommand(chatAgentRequest, defaultAgentHistory, {
852
+ location
853
+ }, token);
748
854
  if (result && this.chatAgentService.getAgent(result.agent.id)?.locations?.includes(location)) {
749
855
  request.response?.setAgent(result.agent, result.command);
750
856
  detectedAgent = result.agent;
@@ -755,7 +861,13 @@ let ChatService = class ChatService extends Disposable {
755
861
  const command = detectedCommand ?? agentSlashCommandPart?.command;
756
862
  await this.extensionService.activateByEvent(`onChatParticipant:${agent.id}`);
757
863
  const history = this.getHistoryEntriesFromModel(requests, location, agent.id);
758
- const requestProps = prepareChatAgentRequest(agent, command, enableCommandDetection, request , !!detectedAgent);
864
+ const requestProps = prepareChatAgentRequest(
865
+ agent,
866
+ command,
867
+ enableCommandDetection,
868
+ request,
869
+ !!detectedAgent
870
+ );
759
871
  this.generateInitialChatTitleIfNeeded(model, requestProps, defaultAgent, token);
760
872
  const pendingRequest = this._pendingRequests.get(sessionResource);
761
873
  if (pendingRequest && !pendingRequest.requestId) {
@@ -772,10 +884,11 @@ let ChatService = class ChatService extends Disposable {
772
884
  const agentResult = await this.chatAgentService.invokeAgent(agent.id, requestProps, progressCallback, history, token);
773
885
  rawResult = agentResult;
774
886
  agentOrCommandFollowups = this.chatAgentService.getFollowups(agent.id, requestProps, agentResult, history, followupsCancelToken);
775
- }
776
- else if (commandPart && this.chatSlashCommandService.hasCommand(commandPart.slashCommand.command)) {
887
+ } else if (commandPart && this.chatSlashCommandService.hasCommand(commandPart.slashCommand.command)) {
777
888
  if (commandPart.slashCommand.silent !== true) {
778
- request = model.addRequest(parsedRequest, { variables: [] }, attempt, options?.modeInfo);
889
+ request = model.addRequest(parsedRequest, {
890
+ variables: []
891
+ }, attempt, options?.modeInfo);
779
892
  completeResponseCreated();
780
893
  }
781
894
  const history = [];
@@ -783,82 +896,114 @@ let ChatService = class ChatService extends Disposable {
783
896
  if (!modelRequest.response) {
784
897
  continue;
785
898
  }
786
- history.push({ role: ChatMessageRole.User, content: [{ type: 'text', value: modelRequest.message.text }] });
787
- history.push({ role: ChatMessageRole.Assistant, content: [{ type: 'text', value: ( modelRequest.response.response.toString()) }] });
899
+ history.push({
900
+ role: ChatMessageRole.User,
901
+ content: [{
902
+ type: "text",
903
+ value: modelRequest.message.text
904
+ }]
905
+ });
906
+ history.push({
907
+ role: ChatMessageRole.Assistant,
908
+ content: [{
909
+ type: "text",
910
+ value: ( modelRequest.response.response.toString())
911
+ }]
912
+ });
788
913
  }
789
914
  const message = parsedRequest.text;
790
- const commandResult = await this.chatSlashCommandService.executeCommand(commandPart.slashCommand.command, message.substring(commandPart.slashCommand.command.length + 1).trimStart(), ( new Progress(p => {
791
- progressCallback([p]);
792
- })), history, location, model.sessionResource, token);
915
+ const commandResult = await this.chatSlashCommandService.executeCommand(
916
+ commandPart.slashCommand.command,
917
+ message.substring(commandPart.slashCommand.command.length + 1).trimStart(),
918
+ ( new Progress(p => {
919
+ progressCallback([p]);
920
+ })),
921
+ history,
922
+ location,
923
+ model.sessionResource,
924
+ token
925
+ );
793
926
  agentOrCommandFollowups = Promise.resolve(commandResult?.followUp);
794
927
  rawResult = {};
795
- }
796
- else {
928
+ } else {
797
929
  throw ( new Error(`Cannot handle request`));
798
930
  }
799
931
  if (token.isCancellationRequested && !rawResult) {
800
932
  return;
801
- }
802
- else {
933
+ } else {
803
934
  if (!rawResult) {
804
- this.trace('sendRequest', `Provider returned no response for session ${model.sessionResource}`);
805
- rawResult = { errorDetails: { message: ( localize(5945, "Provider returned null response")) } };
935
+ this.trace(
936
+ "sendRequest",
937
+ `Provider returned no response for session ${model.sessionResource}`
938
+ );
939
+ rawResult = {
940
+ errorDetails: {
941
+ message: ( localize(6220, "Provider returned null response"))
942
+ }
943
+ };
806
944
  }
807
- const result = rawResult.errorDetails?.responseIsFiltered ? 'filtered' :
808
- rawResult.errorDetails && gotProgress ? 'errorWithOutput' :
809
- rawResult.errorDetails ? 'error' :
810
- 'success';
945
+ const result = rawResult.errorDetails?.responseIsFiltered ? "filtered" : rawResult.errorDetails && gotProgress ? "errorWithOutput" : rawResult.errorDetails ? "error" : "success";
811
946
  requestTelemetry.complete({
812
947
  timeToFirstProgress: rawResult.timings?.firstProgress,
813
948
  totalTime: rawResult.timings?.totalElapsed,
814
949
  result,
815
950
  requestType,
816
951
  detectedAgent,
817
- request,
952
+ request
818
953
  });
819
954
  model.setResponse(request, rawResult);
820
955
  completeResponseCreated();
821
- this.trace('sendRequest', `Provider returned response for session ${model.sessionResource}`);
956
+ this.trace(
957
+ "sendRequest",
958
+ `Provider returned response for session ${model.sessionResource}`
959
+ );
822
960
  request.response?.complete();
823
961
  if (agentOrCommandFollowups) {
824
962
  agentOrCommandFollowups.then(followups => {
825
963
  model.setFollowups(request, followups);
826
964
  const commandForTelemetry = agentSlashCommandPart ? agentSlashCommandPart.command.name : commandPart?.slashCommand.command;
827
- this._chatServiceTelemetry.retrievedFollowups(agentPart?.agent.id ?? '', commandForTelemetry, followups?.length ?? 0);
965
+ this._chatServiceTelemetry.retrievedFollowups(agentPart?.agent.id ?? "", commandForTelemetry, followups?.length ?? 0);
828
966
  });
829
967
  }
830
968
  }
831
- }
832
- catch (err) {
969
+ } catch (err) {
833
970
  this.logService.error(`Error while handling chat request: ${toErrorMessage(err, true)}`);
834
971
  requestTelemetry.complete({
835
972
  timeToFirstProgress: undefined,
836
973
  totalTime: undefined,
837
- result: 'error',
974
+ result: "error",
838
975
  requestType,
839
976
  detectedAgent,
840
- request,
977
+ request
841
978
  });
842
979
  if (request) {
843
- const rawResult = { errorDetails: { message: err.message } };
980
+ const rawResult = {
981
+ errorDetails: {
982
+ message: err.message
983
+ }
984
+ };
844
985
  model.setResponse(request, rawResult);
845
986
  completeResponseCreated();
846
987
  request.response?.complete();
847
988
  }
848
- }
849
- finally {
989
+ } finally {
850
990
  store.dispose();
851
991
  }
852
992
  };
853
993
  const rawResponsePromise = sendRequestInternal();
854
- this._pendingRequests.set(model.sessionResource, this.instantiationService.createInstance(CancellableRequest, source, undefined));
994
+ this._pendingRequests.set(
995
+ model.sessionResource,
996
+ this.instantiationService.createInstance(CancellableRequest, source, undefined)
997
+ );
855
998
  rawResponsePromise.finally(() => {
856
999
  this._pendingRequests.deleteAndDispose(model.sessionResource);
857
1000
  });
858
- this._onDidSubmitRequest.fire({ chatSessionResource: model.sessionResource });
1001
+ this._onDidSubmitRequest.fire({
1002
+ chatSessionResource: model.sessionResource
1003
+ });
859
1004
  return {
860
1005
  responseCreatedPromise: responseCreated.p,
861
- responseCompletePromise: rawResponsePromise,
1006
+ responseCompletePromise: rawResponsePromise
862
1007
  };
863
1008
  }
864
1009
  generateInitialChatTitleIfNeeded(model, request, defaultAgent, token) {
@@ -866,10 +1011,10 @@ let ChatService = class ChatService extends Disposable {
866
1011
  return;
867
1012
  }
868
1013
  const singleEntryHistory = [{
869
- request,
870
- response: [],
871
- result: {}
872
- }];
1014
+ request,
1015
+ response: [],
1016
+ result: {}
1017
+ }];
873
1018
  const generate = async () => {
874
1019
  const title = await this.chatAgentService.getChatTitle(defaultAgent.id, singleEntryHistory, token);
875
1020
  if (title && !model.customTitle) {
@@ -911,14 +1056,18 @@ let ChatService = class ChatService extends Disposable {
911
1056
  const historyRequest = {
912
1057
  sessionResource: request.session.sessionResource,
913
1058
  requestId: request.id,
914
- agentId: request.response.agent?.id ?? '',
1059
+ agentId: request.response.agent?.id ?? "",
915
1060
  message: promptTextResult.message,
916
1061
  command: request.response.slashCommand?.name,
917
1062
  variables: updateRanges(request.variableData, promptTextResult.diff),
918
1063
  location: ChatAgentLocation.Chat,
919
- editedFileEvents: request.editedFileEvents,
1064
+ editedFileEvents: request.editedFileEvents
920
1065
  };
921
- history.push({ request: historyRequest, response: toChatHistoryContent(request.response.response.value), result: request.response.result ?? {} });
1066
+ history.push({
1067
+ request: historyRequest,
1068
+ response: toChatHistoryContent(request.response.response.value),
1069
+ result: request.response.result ?? {}
1070
+ });
922
1071
  }
923
1072
  return history;
924
1073
  }
@@ -936,7 +1085,7 @@ let ChatService = class ChatService extends Disposable {
936
1085
  }
937
1086
  async adoptRequest(sessionResource, request) {
938
1087
  if (!(request instanceof ChatRequestModel)) {
939
- throw ( new TypeError('Can only adopt requests of type ChatRequestModel'));
1088
+ throw ( new TypeError("Can only adopt requests of type ChatRequestModel"));
940
1089
  }
941
1090
  const target = this._sessionModels.get(sessionResource);
942
1091
  if (!target) {
@@ -953,19 +1102,21 @@ let ChatService = class ChatService extends Disposable {
953
1102
  }
954
1103
  }
955
1104
  async addCompleteRequest(sessionResource, message, variableData, attempt, response) {
956
- this.trace('addCompleteRequest', `message: ${message}`);
1105
+ this.trace("addCompleteRequest", `message: ${message}`);
957
1106
  const model = this._sessionModels.get(sessionResource);
958
1107
  if (!model) {
959
1108
  throw ( new Error(`Unknown session: ${sessionResource}`));
960
1109
  }
961
- const parsedRequest = typeof message === 'string' ?
962
- this.instantiationService.createInstance(ChatRequestParser).parseChatRequest(sessionResource, message) :
963
- message;
964
- const request = model.addRequest(parsedRequest, variableData || { variables: [] }, attempt ?? 0, undefined, undefined, undefined, undefined, undefined, undefined, true);
965
- if (typeof response.message === 'string') {
966
- model.acceptResponseProgress(request, { content: ( new MarkdownString(response.message)), kind: 'markdownContent' });
967
- }
968
- else {
1110
+ const parsedRequest = typeof message === "string" ? this.instantiationService.createInstance(ChatRequestParser).parseChatRequest(sessionResource, message) : message;
1111
+ const request = model.addRequest(parsedRequest, variableData || {
1112
+ variables: []
1113
+ }, attempt ?? 0, undefined, undefined, undefined, undefined, undefined, undefined, true);
1114
+ if (typeof response.message === "string") {
1115
+ model.acceptResponseProgress(request, {
1116
+ content: ( new MarkdownString(response.message)),
1117
+ kind: "markdownContent"
1118
+ });
1119
+ } else {
969
1120
  for (const part of response.message) {
970
1121
  model.acceptResponseProgress(request, part, true);
971
1122
  }
@@ -977,7 +1128,7 @@ let ChatService = class ChatService extends Disposable {
977
1128
  request.response?.complete();
978
1129
  }
979
1130
  cancelCurrentRequestForSession(sessionResource) {
980
- this.trace('cancelCurrentRequestForSession', `session: ${sessionResource}`);
1131
+ this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
981
1132
  this._pendingRequests.get(sessionResource)?.cancel();
982
1133
  this._pendingRequests.deleteAndDispose(sessionResource);
983
1134
  }
@@ -1004,10 +1155,13 @@ let ChatService = class ChatService extends Disposable {
1004
1155
  await this._chatSessionStore.storeTransferSession({
1005
1156
  sessionResource: model.sessionResource,
1006
1157
  timestampInMilliseconds: Date.now(),
1007
- toWorkspace: toWorkspace,
1158
+ toWorkspace: toWorkspace
1008
1159
  }, model);
1009
1160
  this.chatTransferService.addWorkspaceToTransferred(toWorkspace);
1010
- this.trace('transferChatSession', `Transferred session ${model.sessionResource} to workspace ${( toWorkspace.toString())}`);
1161
+ this.trace(
1162
+ "transferChatSession",
1163
+ `Transferred session ${model.sessionResource} to workspace ${( toWorkspace.toString())}`
1164
+ );
1011
1165
  }
1012
1166
  getChatStorageFolder() {
1013
1167
  return this._chatSessionStore.getChatStorageFolder();
@@ -1021,7 +1175,7 @@ let ChatService = class ChatService extends Disposable {
1021
1175
  appendProgress(request, progress) {
1022
1176
  const model = this._sessionModels.get(request.session.sessionResource);
1023
1177
  if (!(request instanceof ChatRequestModel)) {
1024
- throw ( new BugIndicatingError('Can only append progress to requests of type ChatRequestModel'));
1178
+ throw ( new BugIndicatingError("Can only append progress to requests of type ChatRequestModel"));
1025
1179
  }
1026
1180
  model?.acceptResponseProgress(request, progress);
1027
1181
  }
@@ -1033,18 +1187,6 @@ let ChatService = class ChatService extends Disposable {
1033
1187
  return localSessionId;
1034
1188
  }
1035
1189
  };
1036
- ChatService = ( __decorate([
1037
- ( __param(0, IStorageService)),
1038
- ( __param(1, ILogService)),
1039
- ( __param(2, IExtensionService)),
1040
- ( __param(3, IInstantiationService)),
1041
- ( __param(4, IWorkspaceContextService)),
1042
- ( __param(5, IChatSlashCommandService)),
1043
- ( __param(6, IChatAgentService)),
1044
- ( __param(7, IConfigurationService)),
1045
- ( __param(8, IChatTransferService)),
1046
- ( __param(9, IChatSessionsService)),
1047
- ( __param(10, IMcpService))
1048
- ], ChatService));
1190
+ ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2, IExtensionService)), ( __param(3, IInstantiationService)), ( __param(4, IWorkspaceContextService)), ( __param(5, IChatSlashCommandService)), ( __param(6, IChatAgentService)), ( __param(7, IConfigurationService)), ( __param(8, IChatTransferService)), ( __param(9, IChatSessionsService)), ( __param(10, IMcpService))], ChatService));
1049
1191
 
1050
1192
  export { ChatService };