@codingame/monaco-vscode-chat-service-override 22.1.8 → 23.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 (276) hide show
  1. package/index.js +16 -7
  2. package/package.json +43 -41
  3. package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +1 -1
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +6 -6
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +57 -48
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +18 -18
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +1 -1
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +26 -17
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +51 -5
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +19 -19
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/{chatClearActions.d.ts → chatNewActions.d.ts} +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/{chatClearActions.js → chatNewActions.js} +32 -32
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +9 -9
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +101 -98
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -24
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +43 -25
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +33 -32
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.d.ts +53 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +154 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +7 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +13 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +44 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +347 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +85 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +250 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +24 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +97 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +290 -231
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +7 -10
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +6 -6
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.d.ts +24 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.js +113 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +31 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +102 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +646 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +2 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +46 -26
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +17 -4
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +44 -34
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +25 -6
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +46 -10
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +45 -6
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +30 -10
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +10 -3
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +60 -9
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +117 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +12 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -4
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +60 -55
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +29 -16
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +365 -143
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +2 -3
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -30
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +7 -3
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +58 -22
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.d.ts +3 -3
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +3 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +5 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +6 -18
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +7 -11
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +13 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +38 -33
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +11 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +83 -24
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.d.ts +1 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +91 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +64 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +370 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +25 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +56 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +61 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +349 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +43 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +787 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +17 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +109 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +122 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +211 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +69 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +21 -20
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +54 -54
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +31 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +16 -6
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +6 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +29 -21
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +5 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +37 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +15 -12
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +96 -131
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +12 -7
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +66 -34
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +5 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +77 -71
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +91 -18
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +458 -138
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +3 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +212 -150
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +96 -89
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +3 -2
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +5 -5
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +3 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +15 -16
  124. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +33 -17
  126. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.d.ts +27 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +688 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +15 -10
  131. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +126 -135
  132. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +6 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css +2 -1
  134. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +38 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +28 -26
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +9 -6
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +24 -13
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +15 -14
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +25 -23
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.d.ts +21 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +89 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
  147. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +30 -29
  148. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +10 -19
  149. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +61 -43
  150. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +7 -4
  151. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +28 -28
  152. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +254 -165
  153. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +4 -6
  157. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +10 -6
  158. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +20 -12
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +13 -17
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +9 -8
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -0
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +51 -21
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +7 -3
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +74 -20
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +11 -6
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -2
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +83 -53
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +2 -1
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +136 -78
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +4 -4
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +18 -10
  172. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +357 -157
  173. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +55 -28
  175. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +235 -108
  176. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +12 -2
  177. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +50 -4
  178. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  179. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  181. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +3 -1
  182. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +11 -7
  183. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -14
  184. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  185. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
  186. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +18 -30
  187. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +62 -139
  188. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +1 -1
  189. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +16 -15
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +3 -0
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +119 -15
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +6 -4
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +47 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +192 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -5
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +21 -16
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +8 -3
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -2
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +18 -27
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +5 -2
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +3 -1
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +1 -1
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -25
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -2
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +18 -27
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +12 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +31 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +24 -8
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +8 -0
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +33 -4
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +42 -13
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +14 -21
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +23 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +18 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +227 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +17 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +133 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +36 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +17 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +5 -1
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +75 -37
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -0
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +8 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +71 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +28 -15
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +366 -363
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +18 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +19 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +123 -0
  245. package/vscode/src/vs/base/common/yaml.d.ts +0 -74
  246. package/vscode/src/vs/base/common/yaml.js +0 -597
  247. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +0 -8
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +0 -239
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +0 -102
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +0 -435
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +0 -14
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.js +0 -67
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +0 -49
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +0 -380
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +0 -37
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +0 -137
  257. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +0 -44
  258. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +0 -176
  259. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.d.ts +0 -4
  260. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +0 -206
  261. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +0 -7
  262. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +0 -79
  263. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +0 -8
  264. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +0 -145
  265. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +0 -65
  266. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +0 -306
  267. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +0 -12
  268. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +0 -102
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.d.ts +0 -97
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.js +0 -247
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +0 -118
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +0 -10
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +0 -10
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +0 -55
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +0 -66
@@ -0,0 +1,89 @@
1
+
2
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
3
+ import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
4
+ import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
5
+ import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
+ import { Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
8
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
9
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
10
+ import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
11
+ import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
12
+ import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
13
+ import { getCleanPromptName } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
14
+ import { PROMPT_LANGUAGE_ID, PromptsType, AGENT_LANGUAGE_ID, INSTRUCTIONS_LANGUAGE_ID } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
15
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
16
+ import { askForPromptFileName } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName';
17
+ import { askForPromptSourceFolder } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder';
18
+
19
+ class BaseSaveAsPromptFileAction extends Action2 {
20
+ constructor(opts, promptType) {
21
+ super(opts);
22
+ this.promptType = promptType;
23
+ }
24
+ async run(accessor, configUri) {
25
+ const instantiationService = accessor.get(IInstantiationService);
26
+ const codeEditorService = accessor.get(ICodeEditorService);
27
+ const textFileService = accessor.get(ITextFileService);
28
+ const fileService = accessor.get(IFileService);
29
+ const activeCodeEditor = codeEditorService.getActiveCodeEditor();
30
+ if (!activeCodeEditor) {
31
+ return;
32
+ }
33
+ const model = activeCodeEditor.getModel();
34
+ if (!model) {
35
+ return;
36
+ }
37
+ const newFolder = await instantiationService.invokeFunction(askForPromptSourceFolder, this.promptType, undefined, true);
38
+ if (!newFolder) {
39
+ return;
40
+ }
41
+ const newName = await instantiationService.invokeFunction(askForPromptFileName, this.promptType, newFolder.uri, getCleanPromptName(model.uri));
42
+ if (!newName) {
43
+ return;
44
+ }
45
+ const newFile = joinPath(newFolder.uri, newName);
46
+ if (model.uri.scheme === Schemas.untitled) {
47
+ await textFileService.saveAs(model.uri, newFile, { from: model.uri });
48
+ }
49
+ else {
50
+ await fileService.copy(model.uri, newFile);
51
+ }
52
+ await codeEditorService.openCodeEditor({ resource: newFile }, activeCodeEditor);
53
+ }
54
+ }
55
+ function createOptions(id, title, description, languageId) {
56
+ return {
57
+ id: id,
58
+ title: title,
59
+ metadata: {
60
+ description: description,
61
+ },
62
+ category: CHAT_CATEGORY,
63
+ f1: false,
64
+ menu: {
65
+ id: MenuId.EditorContent,
66
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(ResourceContextKey.Scheme.key, Schemas.untitled)), ( ContextKeyExpr.equals(ResourceContextKey.LangId.key, languageId)), ( ContextKeyExpr.notEquals(chatEditingWidgetFileStateContextKey.key, ModifiedFileEntryState.Modified))))
67
+ }
68
+ };
69
+ }
70
+ const SAVE_AS_PROMPT_FILE_ACTION_ID = 'workbench.action.chat.save-as-prompt';
71
+ class SaveAsPromptFileAction extends BaseSaveAsPromptFileAction {
72
+ constructor() {
73
+ super(createOptions(SAVE_AS_PROMPT_FILE_ACTION_ID, ( localize2(5701, "Save As Prompt File")), ( localize2(5702, "Save as prompt file")), PROMPT_LANGUAGE_ID), PromptsType.prompt);
74
+ }
75
+ }
76
+ const SAVE_AS_AGENT_FILE_ACTION_ID = 'workbench.action.chat.save-as-agent';
77
+ class SaveAsAgentFileAction extends BaseSaveAsPromptFileAction {
78
+ constructor() {
79
+ super(createOptions(SAVE_AS_AGENT_FILE_ACTION_ID, ( localize2(5703, "Save As Agent File")), ( localize2(5704, "Save as agent file")), AGENT_LANGUAGE_ID), PromptsType.agent);
80
+ }
81
+ }
82
+ const SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID = 'workbench.action.chat.save-as-instructions';
83
+ class SaveAsInstructionsFileAction extends BaseSaveAsPromptFileAction {
84
+ constructor() {
85
+ super(createOptions(SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, ( localize2(5705, "Save As Instructions File")), ( localize2(5706, "Save as instructions file")), INSTRUCTIONS_LANGUAGE_ID), PromptsType.instructions);
86
+ }
87
+ }
88
+
89
+ export { SAVE_AS_AGENT_FILE_ACTION_ID, SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, SAVE_AS_PROMPT_FILE_ACTION_ID, SaveAsAgentFileAction, SaveAsInstructionsFileAction, SaveAsPromptFileAction };
@@ -18,7 +18,7 @@ import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
18
18
  import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
19
19
  import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
20
20
  import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
21
- import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
21
+ import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
22
22
  import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
23
23
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
24
24
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
@@ -29,7 +29,7 @@ import { parse } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-17323564
29
29
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
30
30
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
31
31
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
32
- import { ChatViewId } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat';
32
+ import { ChatViewId } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/chat';
33
33
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
34
34
  import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
35
35
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -44,11 +44,11 @@ const toolSetsSchema = {
44
44
  allowComments: true,
45
45
  allowTrailingCommas: true,
46
46
  defaultSnippets: [{
47
- label: ( localize(5506, "Empty tool set")),
47
+ label: ( localize(5707, "Empty tool set")),
48
48
  body: { '${1:toolSetName}': { 'tools': ['${2:someTool}', '${3:anotherTool}'], 'description': '${4:description}', 'icon': '${5:tools}' } }
49
49
  }],
50
50
  type: 'object',
51
- description: ( localize(5507, 'User tool sets configuration')),
51
+ description: ( localize(5708, 'User tool sets configuration')),
52
52
  additionalProperties: {
53
53
  type: 'object',
54
54
  required: ['tools'],
@@ -56,7 +56,7 @@ const toolSetsSchema = {
56
56
  properties: {
57
57
  tools: {
58
58
  description: ( localize(
59
- 5508,
59
+ 5709,
60
60
  "A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools the way they are referenced in prompts."
61
61
  )),
62
62
  type: 'array',
@@ -69,7 +69,7 @@ const toolSetsSchema = {
69
69
  },
70
70
  icon: {
71
71
  description: ( localize(
72
- 5509,
72
+ 5710,
73
73
  'Icon to use for this tool set in the UI. Uses the "\\$(name)"-syntax, like "\\$(zap)"'
74
74
  )),
75
75
  type: 'string',
@@ -77,7 +77,7 @@ const toolSetsSchema = {
77
77
  markdownEnumDescriptions: Array.from(getAllCodicons(), icon => `$(${icon.id})`),
78
78
  },
79
79
  description: {
80
- description: ( localize(5510, "A short description of this tool set.")),
80
+ description: ( localize(5711, "A short description of this tool set.")),
81
81
  type: 'string'
82
82
  },
83
83
  },
@@ -164,7 +164,7 @@ let UserToolSetsContributions = class UserToolSetsContributions extends Disposab
164
164
  });
165
165
  for (const item of data) {
166
166
  toolEnumValues.push(item.name);
167
- toolEnumDescriptions.push(( localize(5511, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
167
+ toolEnumDescriptions.push(( localize(5712, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
168
168
  }
169
169
  store.clear();
170
170
  reg.registerSchema(toolSetSchemaId, toolSetsSchema, store);
@@ -257,8 +257,8 @@ class ConfigureToolSets extends Action2 {
257
257
  constructor() {
258
258
  super({
259
259
  id: ConfigureToolSets.ID,
260
- title: ( localize2(5512, 'Configure Tool Sets...')),
261
- shortTitle: ( localize(5513, "Tool Sets")),
260
+ title: ( localize2(5713, 'Configure Tool Sets...')),
261
+ shortTitle: ( localize(5714, "Tool Sets")),
262
262
  category: CHAT_CATEGORY,
263
263
  f1: true,
264
264
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.Tools.toolsCount.greater(0))),
@@ -266,7 +266,7 @@ class ConfigureToolSets extends Action2 {
266
266
  id: CHAT_CONFIG_MENU_ID,
267
267
  when: ( ContextKeyExpr.equals('view', ChatViewId)),
268
268
  order: 11,
269
- group: '0_level'
269
+ group: '2_level'
270
270
  },
271
271
  });
272
272
  }
@@ -279,7 +279,7 @@ class ConfigureToolSets extends Action2 {
279
279
  const textFileService = accessor.get(ITextFileService);
280
280
  const picks = [];
281
281
  picks.push({
282
- label: ( localize(5514, 'Create new tool sets file...')),
282
+ label: ( localize(5715, 'Create new tool sets file...')),
283
283
  alwaysShow: true,
284
284
  iconClass: ThemeIcon.asClassName(Codicon.plus)
285
285
  });
@@ -296,7 +296,7 @@ class ConfigureToolSets extends Action2 {
296
296
  }
297
297
  const pick = await quickInputService.pick(picks, {
298
298
  canPickMany: false,
299
- placeHolder: ( localize(5515, 'Select a tool set to configure')),
299
+ placeHolder: ( localize(5716, 'Select a tool set to configure')),
300
300
  });
301
301
  if (!pick) {
302
302
  return;
@@ -304,13 +304,13 @@ class ConfigureToolSets extends Action2 {
304
304
  let resource;
305
305
  if (!pick.toolset) {
306
306
  const name = await quickInputService.input({
307
- placeHolder: ( localize(5516, "Type tool sets file name")),
307
+ placeHolder: ( localize(5717, "Type tool sets file name")),
308
308
  validateInput: async (input) => {
309
309
  if (!input) {
310
- return localize(5517, "Invalid file name");
310
+ return localize(5718, "Invalid file name");
311
311
  }
312
312
  if (!isValidBasename(input)) {
313
- return localize(5518, "'{0}' is not a valid file name", input);
313
+ return localize(5719, "'{0}' is not a valid file name", input);
314
314
  }
315
315
  return undefined;
316
316
  }
@@ -8,40 +8,41 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
8
8
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
9
9
  import { checkProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
10
10
  import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
11
- import { ChatViewsWelcomeExtensions } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
11
+ import { ChatViewsWelcomeExtensions } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
12
12
 
13
+ const chatViewsWelcomeJsonSchema = {
14
+ type: 'object',
15
+ additionalProperties: false,
16
+ required: ['icon', 'title', 'contents', 'when'],
17
+ properties: {
18
+ icon: {
19
+ type: 'string',
20
+ description: ( localize(5725, 'The icon for the welcome message.')),
21
+ },
22
+ title: {
23
+ type: 'string',
24
+ description: ( localize(5726, 'The title of the welcome message.')),
25
+ },
26
+ content: {
27
+ type: 'string',
28
+ description: ( localize(
29
+ 5727,
30
+ 'The content of the welcome message. The first command link will be rendered as a button.'
31
+ )),
32
+ },
33
+ when: {
34
+ type: 'string',
35
+ description: ( localize(5728, 'Condition when the welcome message is shown.')),
36
+ }
37
+ }
38
+ };
13
39
  const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
14
40
  extensionPoint: 'chatViewsWelcome',
15
41
  jsonSchema: {
16
- description: ( localize(5524, 'Contributes a welcome message to a chat view')),
42
+ description: ( localize(5729, 'Contributes a welcome message to a chat view')),
17
43
  type: 'array',
18
- items: {
19
- additionalProperties: false,
20
- type: 'object',
21
- properties: {
22
- icon: {
23
- type: 'string',
24
- description: ( localize(5525, 'The icon for the welcome message.')),
25
- },
26
- title: {
27
- type: 'string',
28
- description: ( localize(5526, 'The title of the welcome message.')),
29
- },
30
- content: {
31
- type: 'string',
32
- description: ( localize(
33
- 5527,
34
- 'The content of the welcome message. The first command link will be rendered as a button.'
35
- )),
36
- },
37
- when: {
38
- type: 'string',
39
- description: ( localize(5528, 'Condition when the welcome message is shown.')),
40
- }
41
- }
42
- },
43
- required: ['icon', 'title', 'contents', 'when'],
44
- }
44
+ items: chatViewsWelcomeJsonSchema,
45
+ },
45
46
  });
46
47
  let ChatViewsWelcomeHandler = class ChatViewsWelcomeHandler {
47
48
  static { this.ID = 'workbench.contrib.chatViewsWelcomeHandler'; }
@@ -1,35 +1,26 @@
1
- import { DeferredPromise } from "@codingame/monaco-vscode-api/vscode/vs/base/common/async";
2
1
  import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
3
- import { ConfirmedReason, IChatExtensionsContent, IChatTodoListContent, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized, type IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { IChatExtensionsContent, IChatTodoListContent, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized, type IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
4
4
  import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolProgressStep, IToolResult, ToolDataSource } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
5
5
  export declare class ChatToolInvocation implements IChatToolInvocation {
6
6
  readonly toolCallId: string;
7
7
  readonly kind: "toolInvocation";
8
- private _isComplete;
9
- get isComplete(): boolean;
10
- private _isCompleteDeferred;
11
- get isCompletePromise(): Promise<void>;
12
- private _confirmDeferred;
13
- get confirmed(): DeferredPromise<ConfirmedReason>;
14
- get isConfirmed(): ConfirmedReason | undefined;
15
- private _resultDetails;
16
- get resultDetails(): IToolResult["toolResultDetails"] | undefined;
17
8
  readonly invocationMessage: string | IMarkdownString;
18
9
  readonly originMessage: string | IMarkdownString | undefined;
19
10
  pastTenseMessage: string | IMarkdownString | undefined;
20
- private _confirmationMessages;
11
+ confirmationMessages: IToolConfirmationMessages | undefined;
21
12
  readonly presentation: IPreparedToolInvocation["presentation"];
22
13
  readonly toolId: string;
23
14
  readonly source: ToolDataSource;
24
15
  readonly fromSubAgent: boolean | undefined;
16
+ readonly parameters: unknown;
25
17
  readonly toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent;
26
- readonly progress: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<{
27
- message?: string | IMarkdownString;
28
- progress: number;
29
- }, void>;
30
- constructor(preparedInvocation: IPreparedToolInvocation | undefined, toolData: IToolData, toolCallId: string, fromSubAgent: boolean | undefined);
31
- complete(result: IToolResult | undefined): void;
32
- get confirmationMessages(): IToolConfirmationMessages | undefined;
18
+ private readonly _progress;
19
+ private readonly _state;
20
+ get state(): IObservable<IChatToolInvocation.State>;
21
+ constructor(preparedInvocation: IPreparedToolInvocation | undefined, toolData: IToolData, toolCallId: string, fromSubAgent: boolean | undefined, parameters: unknown);
22
+ private _setCompleted;
23
+ didExecuteTool(result: IToolResult | undefined, final?: boolean): IChatToolInvocation.State;
33
24
  acceptProgress(step: IToolProgressStep): void;
34
25
  toJSON(): IChatToolInvocationSerialized;
35
26
  }
@@ -1,86 +1,104 @@
1
1
 
2
- import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
3
2
  import { encodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
4
3
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
5
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
- import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
5
+ import { ToolConfirmKind, IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
7
6
  import { isToolResultOutputDetails } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
8
7
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
9
8
 
10
9
  class ChatToolInvocation {
11
- get isComplete() {
12
- return this._isComplete;
10
+ get state() {
11
+ return this._state;
13
12
  }
14
- get isCompletePromise() {
15
- return this._isCompleteDeferred.p;
16
- }
17
- get confirmed() {
18
- return this._confirmDeferred;
19
- }
20
- get isConfirmed() {
21
- return this._confirmDeferred.value;
22
- }
23
- get resultDetails() {
24
- return this._resultDetails;
25
- }
26
- constructor(preparedInvocation, toolData, toolCallId, fromSubAgent) {
13
+ constructor(preparedInvocation, toolData, toolCallId, fromSubAgent, parameters) {
27
14
  this.toolCallId = toolCallId;
28
15
  this.kind = 'toolInvocation';
29
- this._isComplete = false;
30
- this._isCompleteDeferred = ( new DeferredPromise());
31
- this._confirmDeferred = ( new DeferredPromise());
32
- this.progress = observableValue(this, { progress: 0 });
33
- const defaultMessage = ( localize(5598, "Using {0}", `"${toolData.displayName}"`));
16
+ this._progress = observableValue(this, { progress: 0 });
17
+ const defaultMessage = ( localize(5802, "Using {0}", `"${toolData.displayName}"`));
34
18
  const invocationMessage = preparedInvocation?.invocationMessage ?? defaultMessage;
35
19
  this.invocationMessage = invocationMessage;
36
20
  this.pastTenseMessage = preparedInvocation?.pastTenseMessage;
37
21
  this.originMessage = preparedInvocation?.originMessage;
38
- this._confirmationMessages = preparedInvocation?.confirmationMessages;
22
+ this.confirmationMessages = preparedInvocation?.confirmationMessages;
39
23
  this.presentation = preparedInvocation?.presentation;
40
24
  this.toolSpecificData = preparedInvocation?.toolSpecificData;
41
25
  this.toolId = toolData.id;
42
26
  this.source = toolData.source;
43
27
  this.fromSubAgent = fromSubAgent;
44
- if (!this._confirmationMessages) {
45
- this._confirmDeferred.complete({ type: ToolConfirmKind.ConfirmationNotNeeded });
28
+ this.parameters = parameters;
29
+ if (!this.confirmationMessages?.title) {
30
+ this._state = observableValue(this, { type: IChatToolInvocation.StateKind.Executing, confirmed: { type: ToolConfirmKind.ConfirmationNotNeeded }, progress: this._progress });
31
+ }
32
+ else {
33
+ this._state = observableValue(this, {
34
+ type: IChatToolInvocation.StateKind.WaitingForConfirmation,
35
+ confirm: reason => {
36
+ if (reason.type === ToolConfirmKind.Denied || reason.type === ToolConfirmKind.Skipped) {
37
+ this._state.set({ type: IChatToolInvocation.StateKind.Cancelled, reason: reason.type }, undefined);
38
+ }
39
+ else {
40
+ this._state.set({ type: IChatToolInvocation.StateKind.Executing, confirmed: reason, progress: this._progress }, undefined);
41
+ }
42
+ }
43
+ });
44
+ }
45
+ }
46
+ _setCompleted(result, postConfirmed) {
47
+ if (postConfirmed && (postConfirmed.type === ToolConfirmKind.Denied || postConfirmed.type === ToolConfirmKind.Skipped)) {
48
+ this._state.set({ type: IChatToolInvocation.StateKind.Cancelled, reason: postConfirmed.type }, undefined);
49
+ return;
46
50
  }
47
- this._confirmDeferred.p.then(() => {
48
- this._confirmationMessages = undefined;
49
- });
50
- this._isCompleteDeferred.p.then(() => {
51
- this._isComplete = true;
52
- });
51
+ this._state.set({
52
+ type: IChatToolInvocation.StateKind.Completed,
53
+ confirmed: IChatToolInvocation.executionConfirmedOrDenied(this) || { type: ToolConfirmKind.ConfirmationNotNeeded },
54
+ resultDetails: result?.toolResultDetails,
55
+ postConfirmed,
56
+ contentForModel: result?.content || [],
57
+ }, undefined);
53
58
  }
54
- complete(result) {
59
+ didExecuteTool(result, final) {
55
60
  if (result?.toolResultMessage) {
56
61
  this.pastTenseMessage = result.toolResultMessage;
57
62
  }
58
- this._resultDetails = result?.toolResultDetails;
59
- this._isCompleteDeferred.complete();
60
- }
61
- get confirmationMessages() {
62
- return this._confirmationMessages;
63
+ else if (this._progress.get().message) {
64
+ this.pastTenseMessage = this._progress.get().message;
65
+ }
66
+ if (this.confirmationMessages?.confirmResults && !result?.toolResultError && result?.confirmResults !== false && !final) {
67
+ this._state.set({
68
+ type: IChatToolInvocation.StateKind.WaitingForPostApproval,
69
+ confirmed: IChatToolInvocation.executionConfirmedOrDenied(this) || { type: ToolConfirmKind.ConfirmationNotNeeded },
70
+ resultDetails: result?.toolResultDetails,
71
+ contentForModel: result?.content || [],
72
+ confirm: reason => this._setCompleted(result, reason),
73
+ }, undefined);
74
+ }
75
+ else {
76
+ this._setCompleted(result);
77
+ }
78
+ return this._state.get();
63
79
  }
64
80
  acceptProgress(step) {
65
- const prev = this.progress.get();
66
- this.progress.set({
81
+ const prev = this._progress.get();
82
+ this._progress.set({
67
83
  progress: step.progress || prev.progress || 0,
68
84
  message: step.message,
69
85
  }, undefined);
70
86
  }
71
87
  toJSON() {
88
+ const waitingForPostApproval = this.state.get().type === IChatToolInvocation.StateKind.WaitingForPostApproval;
89
+ const details = waitingForPostApproval ? undefined : IChatToolInvocation.resultDetails(this);
72
90
  return {
73
91
  kind: 'toolInvocationSerialized',
74
92
  presentation: this.presentation,
75
93
  invocationMessage: this.invocationMessage,
76
94
  pastTenseMessage: this.pastTenseMessage,
77
95
  originMessage: this.originMessage,
78
- isConfirmed: this._confirmDeferred.value,
96
+ isConfirmed: waitingForPostApproval ? { type: ToolConfirmKind.Skipped } : IChatToolInvocation.executionConfirmedOrDenied(this),
79
97
  isComplete: true,
80
98
  source: this.source,
81
- resultDetails: isToolResultOutputDetails(this._resultDetails)
82
- ? { output: { type: 'data', mimeType: this._resultDetails.output.mimeType, base64Data: encodeBase64(this._resultDetails.output.value) } }
83
- : this._resultDetails,
99
+ resultDetails: isToolResultOutputDetails(details)
100
+ ? { output: { type: 'data', mimeType: details.output.mimeType, base64Data: encodeBase64(details.output.value) } }
101
+ : details,
84
102
  toolSpecificData: this.toolSpecificData,
85
103
  toolCallId: this.toolCallId,
86
104
  toolId: this.toolId,
@@ -6,8 +6,10 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
6
6
  import { newWriteableStream } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stream';
7
7
  import { FileSystemProviderCapabilities, FileType, createFileSystemProviderError, FileSystemProviderErrorCode } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
8
8
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
9
- import { ChatResponseResource } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel';
9
+ import { ChatResponseResource } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel';
10
+ import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
10
11
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
12
+ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
11
13
  import { isToolResultInputOutputDetails } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
12
14
 
13
15
  let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSystemProvider extends Disposable {
@@ -67,7 +69,7 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
67
69
  throw createFileSystemProviderError(`File not found`, FileSystemProviderErrorCode.FileNotFound);
68
70
  }
69
71
  const { sessionId, toolCallId, index } = parsed;
70
- const session = this.chatService.getSession(sessionId);
72
+ const session = this.chatService.getSession(LocalChatSessionUri.forSession(sessionId));
71
73
  if (!session) {
72
74
  throw createFileSystemProviderError(`File not found`, FileSystemProviderErrorCode.FileNotFound);
73
75
  }
@@ -83,10 +85,11 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
83
85
  }
84
86
  lookupURI(uri) {
85
87
  const { result, index } = this.findMatchingInvocation(uri);
86
- if (!isToolResultInputOutputDetails(result.resultDetails)) {
88
+ const details = IChatToolInvocation.resultDetails(result);
89
+ if (!isToolResultInputOutputDetails(details)) {
87
90
  throw createFileSystemProviderError(`Tool does not have I/O`, FileSystemProviderErrorCode.FileNotFound);
88
91
  }
89
- const part = result.resultDetails.output.at(index);
92
+ const part = details.output.at(index);
90
93
  if (!part) {
91
94
  throw createFileSystemProviderError(`Tool does not have part`, FileSystemProviderErrorCode.FileNotFound);
92
95
  }
@@ -11,9 +11,10 @@ import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs
11
11
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
12
12
  import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
13
13
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
14
- import { ChatModel, IChatModel, IChatRequestModel, IChatRequestVariableData, IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
15
- import { IParsedChatRequest } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
16
- import { IChatCompleteResponse, IChatDetail, IChatSendRequestData, IChatSendRequestOptions, IChatTransferredSessionData, IChatUserActionEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
14
+ import { IChatEditingSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
15
+ import { ChatModel, IChatModel, IChatRequestModel, IChatRequestVariableData, IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel";
16
+ import { IParsedChatRequest } from "@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
17
+ import { IChatCompleteResponse, IChatDetail, IChatSendRequestData, IChatSendRequestOptions, IChatSessionContext, IChatTransferredSessionData, IChatUserActionEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
17
18
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
18
19
  import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
19
20
  import { IChatSlashCommandService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service";
@@ -34,35 +35,33 @@ export declare class ChatService extends Disposable implements IChatService {
34
35
  _serviceBrand: undefined;
35
36
  private readonly _sessionModels;
36
37
  private readonly _contentProviderSessionModels;
37
- private readonly _modelToExternalSession;
38
38
  private readonly _pendingRequests;
39
39
  private _persistedSessions;
40
40
  private _transferredSessionData;
41
41
  get transferredSessionData(): IChatTransferredSessionData | undefined;
42
42
  private readonly _onDidSubmitRequest;
43
43
  readonly onDidSubmitRequest: Event<{
44
- chatSessionId: string;
44
+ readonly chatSessionResource: URI;
45
45
  }>;
46
46
  private readonly _onDidPerformUserAction;
47
47
  readonly onDidPerformUserAction: Event<IChatUserActionEvent>;
48
48
  private readonly _onDidDisposeSession;
49
49
  readonly onDidDisposeSession: Event<{
50
- sessionId: string;
50
+ readonly sessionResource: URI;
51
51
  reason: "cleared";
52
52
  }>;
53
53
  private readonly _sessionFollowupCancelTokens;
54
54
  private readonly _chatServiceTelemetry;
55
55
  private readonly _chatSessionStore;
56
- private _mcpServersInteractionMessageShown;
57
56
  readonly requestInProgressObs: IObservable<boolean>;
58
57
  get edits2Enabled(): boolean;
59
58
  private get isEmptyWindow();
60
59
  constructor(storageService: IStorageService, logService: ILogService, extensionService: IExtensionService, instantiationService: IInstantiationService, workspaceContextService: IWorkspaceContextService, chatSlashCommandService: IChatSlashCommandService, chatAgentService: IChatAgentService, configurationService: IConfigurationService, chatTransferService: IChatTransferService, chatSessionService: IChatSessionsService, mcpService: IMcpService);
61
- get editingSessions(): import("@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService").IChatEditingSession[];
60
+ get editingSessions(): IChatEditingSession[];
62
61
  isEnabled(location: ChatAgentLocation): boolean;
63
62
  private saveState;
64
63
  notifyUserAction(action: IChatUserActionEvent): void;
65
- setChatSessionTitle(sessionId: string, title: string): Promise<void>;
64
+ setChatSessionTitle(sessionResource: URI, title: string): Promise<void>;
66
65
  private trace;
67
66
  private error;
68
67
  private deserializeChats;
@@ -73,41 +72,42 @@ export declare class ChatService extends Disposable implements IChatService {
73
72
  * Chat sessions that have already been loaded into the chat view are excluded from the result.
74
73
  * Imported chat sessions are also excluded from the result.
75
74
  */
76
- getHistory(): Promise<IChatDetail[]>;
77
- removeHistoryEntry(sessionId: string): Promise<void>;
75
+ getLocalSessionHistory(): Promise<IChatDetail[]>;
76
+ shouldBeInHistory(entry: Partial<ChatModel>): boolean | "" | undefined;
77
+ removeHistoryEntry(sessionResource: URI): Promise<void>;
78
78
  clearAllHistoryEntries(): Promise<void>;
79
- startSession(location: ChatAgentLocation, token: CancellationToken, isGlobalEditingSession?: boolean, inputType?: string): ChatModel;
79
+ startSession(location: ChatAgentLocation, token: CancellationToken, isGlobalEditingSession?: boolean, options?: {
80
+ canUseTools?: boolean;
81
+ }): ChatModel;
80
82
  private _startSession;
81
83
  private initializeSession;
82
84
  activateDefaultAgent(location: ChatAgentLocation): Promise<void>;
83
- getSession(sessionId: string): IChatModel | undefined;
84
- getOrRestoreSession(sessionId: string): Promise<ChatModel | undefined>;
85
+ getSession(sessionResource: URI): IChatModel | undefined;
86
+ getSessionByLegacyId(sessionId: string): IChatModel | undefined;
87
+ getOrRestoreSession(sessionResource: URI): Promise<ChatModel | undefined>;
85
88
  /**
86
89
  * This is really just for migrating data from the edit session location to the panel.
87
90
  */
88
- isPersistedSessionEmpty(sessionId: string): boolean;
89
- getPersistedSessionTitle(sessionId: string): string | undefined;
91
+ isPersistedSessionEmpty(sessionResource: URI): boolean;
92
+ getPersistedSessionTitle(sessionResource: URI): string | undefined;
90
93
  loadSessionFromContent(data: IExportableChatData | ISerializableChatData): IChatModel | undefined;
91
- loadSessionForResource(resource: URI, location: ChatAgentLocation, token: CancellationToken): Promise<IChatModel | undefined>;
92
- getChatSessionFromInternalId(modelSessionId: string): {
93
- chatSessionType: string;
94
- chatSessionId: string;
95
- isUntitled: boolean;
96
- } | undefined;
94
+ loadSessionForResource(chatSessionResource: URI, location: ChatAgentLocation, token: CancellationToken): Promise<IChatModel | undefined>;
95
+ getChatSessionFromInternalUri(sessionResource: URI): IChatSessionContext | undefined;
97
96
  resendRequest(request: IChatRequestModel, options?: IChatSendRequestOptions): Promise<void>;
98
- sendRequest(sessionId: string, request: string, options?: IChatSendRequestOptions): Promise<IChatSendRequestData | undefined>;
97
+ sendRequest(sessionResource: URI, request: string, options?: IChatSendRequestOptions): Promise<IChatSendRequestData | undefined>;
99
98
  private parseChatRequest;
100
99
  private refreshFollowupsCancellationToken;
101
100
  private _sendRequestAsync;
102
101
  private prepareContext;
103
102
  private getHistoryEntriesFromModel;
104
- removeRequest(sessionId: string, requestId: string): Promise<void>;
105
- adoptRequest(sessionId: string, request: IChatRequestModel): Promise<void>;
106
- addCompleteRequest(sessionId: string, message: IParsedChatRequest | string, variableData: IChatRequestVariableData | undefined, attempt: number | undefined, response: IChatCompleteResponse): Promise<void>;
107
- cancelCurrentRequestForSession(sessionId: string): void;
108
- clearSession(sessionId: string): Promise<void>;
103
+ removeRequest(sessionResource: URI, requestId: string): Promise<void>;
104
+ adoptRequest(sessionResource: URI, request: IChatRequestModel): Promise<void>;
105
+ addCompleteRequest(sessionResource: URI, message: IParsedChatRequest | string, variableData: IChatRequestVariableData | undefined, attempt: number | undefined, response: IChatCompleteResponse): Promise<void>;
106
+ cancelCurrentRequestForSession(sessionResource: URI): void;
107
+ clearSession(sessionResource: URI): Promise<void>;
109
108
  hasSessions(): boolean;
110
109
  transferChatSession(transferredSessionData: IChatTransferredSessionData, toWorkspace: URI): void;
111
110
  getChatStorageFolder(): URI;
112
111
  logChatIndex(): void;
112
+ private toLocalSessionId;
113
113
  }