@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
@@ -1,7 +1,7 @@
1
1
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
2
- import { IChatAgentData } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatAgents";
3
- import { ChatRequestModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
4
- import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
2
+ import { IChatAgentData } from "@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/common/chatAgents";
3
+ import { ChatRequestModel } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel";
4
+ import { ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart } from "@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
5
5
  import { IChatSendRequestOptions, IChatUserActionEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
6
6
  import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
7
7
  import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
@@ -113,7 +113,7 @@ export declare class ChatRequestTelemetry {
113
113
  private readonly languageModelsService;
114
114
  private isComplete;
115
115
  constructor(opts: {
116
- agentPart: ChatRequestAgentPart | undefined;
116
+ agent: IChatAgentData;
117
117
  agentSlashCommandPart: ChatRequestAgentSubcommandPart | undefined;
118
118
  commandPart: ChatRequestSlashCommandPart | undefined;
119
119
  sessionId: string;
@@ -114,8 +114,8 @@ let ChatRequestTelemetry = class ChatRequestTelemetry {
114
114
  totalTime,
115
115
  result,
116
116
  requestType,
117
- agent: detectedAgent?.id ?? this.opts.agentPart?.agent.id ?? '',
118
- agentExtensionId: detectedAgent?.extensionId.value ?? this.opts.agentPart?.agent.extensionId.value ?? '',
117
+ agent: detectedAgent?.id ?? this.opts.agent.id,
118
+ agentExtensionId: detectedAgent?.extensionId.value ?? this.opts.agent.extensionId.value,
119
119
  slashCommand: this.opts.agentSlashCommandPart ? this.opts.agentSlashCommandPart.command.name : this.opts.commandPart?.slashCommand.command,
120
120
  chatSessionId: this.opts.sessionId,
121
121
  enableCommandDetection: this.opts.enableCommandDetection,
@@ -8,7 +8,7 @@ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platfo
8
8
  import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
9
9
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
10
10
  import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
11
- import { ChatModel, ISerializableChatData, ISerializableChatsData } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
11
+ import { ChatModel, ISerializableChatData, ISerializableChatsData } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel";
12
12
  import { ChatAgentLocation, ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
13
13
  export declare class ChatSessionStore extends Disposable {
14
14
  private readonly fileService;
@@ -18,7 +18,7 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
18
18
  import { IUserDataProfilesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
19
19
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
20
20
  import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
21
- import { normalizeSerializableChatData, ChatModel } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel';
21
+ import { normalizeSerializableChatData, ChatModel } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel';
22
22
 
23
23
  const maxPersistedSessions = 25;
24
24
  const ChatIndexStorageKey = 'chat.ChatSessionStore.index';
@@ -51,7 +51,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
51
51
  }
52
52
  e.join(this.storeTask, {
53
53
  id: 'join.chatSessionStore',
54
- label: ( localize(5602, "Saving chat history"))
54
+ label: ( localize(5805, "Saving chat history"))
55
55
  });
56
56
  }));
57
57
  }
@@ -323,12 +323,10 @@ function isChatSessionIndex(data) {
323
323
  return true;
324
324
  }
325
325
  function getSessionMetadata(session) {
326
- const title = session instanceof ChatModel ?
327
- session.customTitle || (session.getRequests().length > 0 ? ChatModel.getDefaultTitle(session.getRequests()) : '') :
328
- session.customTitle ?? (session.requests.length > 0 ? ChatModel.getDefaultTitle(session.requests) : '');
326
+ const title = session.customTitle || (session instanceof ChatModel ? session.title : undefined);
329
327
  return {
330
328
  sessionId: session.sessionId,
331
- title,
329
+ title: title || ( localize(5806, "New Chat")),
332
330
  lastMessageDate: session.lastMessageDate,
333
331
  isImported: session.isImported,
334
332
  initialLocation: session.initialLocation,
@@ -1,4 +1,5 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
3
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
3
4
  import { IChatTodoListService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatTodoListService.service";
4
5
  export interface IChatTodo {
@@ -8,21 +9,24 @@ export interface IChatTodo {
8
9
  status: "not-started" | "in-progress" | "completed";
9
10
  }
10
11
  export interface IChatTodoListStorage {
11
- getTodoList(sessionId: string): IChatTodo[];
12
- setTodoList(sessionId: string, todoList: IChatTodo[]): void;
12
+ getTodoList(sessionResource: URI): IChatTodo[];
13
+ setTodoList(sessionResource: URI, todoList: IChatTodo[]): void;
13
14
  }
14
15
  export declare class ChatTodoListStorage implements IChatTodoListStorage {
15
16
  private memento;
16
17
  constructor(storageService: IStorageService);
17
18
  private getSessionData;
18
19
  private setSessionData;
19
- getTodoList(sessionId: string): IChatTodo[];
20
- setTodoList(sessionId: string, todoList: IChatTodo[]): void;
20
+ getTodoList(sessionResource: URI): IChatTodo[];
21
+ setTodoList(sessionResource: URI, todoList: IChatTodo[]): void;
22
+ private toKey;
21
23
  }
22
24
  export declare class ChatTodoListService extends Disposable implements IChatTodoListService {
23
25
  readonly _serviceBrand: undefined;
26
+ private readonly _onDidUpdateTodos;
27
+ readonly onDidUpdateTodos: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<URI>;
24
28
  private todoListStorage;
25
29
  constructor(storageService: IStorageService);
26
- getTodos(sessionId: string): IChatTodo[];
27
- setTodos(sessionId: string, todos: IChatTodo[]): void;
30
+ getTodos(sessionResource: URI): IChatTodo[];
31
+ setTodos(sessionResource: URI, todos: IChatTodo[]): void;
28
32
  }
@@ -1,28 +1,33 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
3
4
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
5
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
5
6
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
6
7
  import { Memento } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/common/memento';
8
+ import { chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
7
9
 
8
10
  let ChatTodoListStorage = class ChatTodoListStorage {
9
11
  constructor(storageService) {
10
12
  this.memento = ( new Memento('chat-todo-list', storageService));
11
13
  }
12
- getSessionData(sessionId) {
14
+ getSessionData(sessionResource) {
13
15
  const storage = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
14
- return storage[sessionId] || [];
16
+ return storage[this.toKey(sessionResource)] || [];
15
17
  }
16
- setSessionData(sessionId, todoList) {
18
+ setSessionData(sessionResource, todoList) {
17
19
  const storage = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
18
- storage[sessionId] = todoList;
20
+ storage[this.toKey(sessionResource)] = todoList;
19
21
  this.memento.saveMemento();
20
22
  }
21
- getTodoList(sessionId) {
22
- return this.getSessionData(sessionId);
23
+ getTodoList(sessionResource) {
24
+ return this.getSessionData(sessionResource);
23
25
  }
24
- setTodoList(sessionId, todoList) {
25
- this.setSessionData(sessionId, todoList);
26
+ setTodoList(sessionResource, todoList) {
27
+ this.setSessionData(sessionResource, todoList);
28
+ }
29
+ toKey(sessionResource) {
30
+ return chatSessionResourceToId(sessionResource);
26
31
  }
27
32
  };
28
33
  ChatTodoListStorage = ( __decorate([
@@ -31,13 +36,16 @@ ChatTodoListStorage = ( __decorate([
31
36
  let ChatTodoListService = class ChatTodoListService extends Disposable {
32
37
  constructor(storageService) {
33
38
  super();
39
+ this._onDidUpdateTodos = this._register(( new Emitter()));
40
+ this.onDidUpdateTodos = this._onDidUpdateTodos.event;
34
41
  this.todoListStorage = ( new ChatTodoListStorage(storageService));
35
42
  }
36
- getTodos(sessionId) {
37
- return this.todoListStorage.getTodoList(sessionId);
43
+ getTodos(sessionResource) {
44
+ return this.todoListStorage.getTodoList(sessionResource);
38
45
  }
39
- setTodos(sessionId, todos) {
40
- this.todoListStorage.setTodoList(sessionId, todos);
46
+ setTodos(sessionResource, todos) {
47
+ this.todoListStorage.setTodoList(sessionResource, todos);
48
+ this._onDidUpdateTodos.fire(sessionResource);
41
49
  }
42
50
  };
43
51
  ChatTodoListService = ( __decorate([
@@ -4,15 +4,14 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
4
  import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
5
5
  import { joinPath, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
6
6
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
7
- import { PromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
7
+ import { PromptsType } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
8
8
  import { DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
- import { checkProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
10
9
 
11
10
  function registerChatFilesExtensionPoint(point) {
12
11
  return ExtensionsRegistry.registerExtensionPoint({
13
12
  extensionPoint: point,
14
13
  jsonSchema: {
15
- description: ( localize(5620, 'Contributes {0} for chat prompts.', point)),
14
+ description: ( localize(5824, 'Contributes {0} for chat prompts.', point)),
16
15
  type: 'array',
17
16
  items: {
18
17
  additionalProperties: false,
@@ -28,18 +27,18 @@ function registerChatFilesExtensionPoint(point) {
28
27
  properties: {
29
28
  name: {
30
29
  description: ( localize(
31
- 5621,
30
+ 5825,
32
31
  'Identifier for this file. Must be unique within this extension for this contribution point.'
33
32
  )),
34
33
  type: 'string',
35
34
  pattern: '^[\\w.-]+$'
36
35
  },
37
36
  path: {
38
- description: ( localize(5622, 'Path to the file relative to the extension root.')),
37
+ description: ( localize(5826, 'Path to the file relative to the extension root.')),
39
38
  type: 'string'
40
39
  },
41
40
  description: {
42
- description: ( localize(5623, '(Optional) Description of the file.')),
41
+ description: ( localize(5827, '(Optional) Description of the file.')),
43
42
  type: 'string'
44
43
  }
45
44
  }
@@ -49,12 +48,12 @@ function registerChatFilesExtensionPoint(point) {
49
48
  }
50
49
  const epPrompt = registerChatFilesExtensionPoint('chatPromptFiles');
51
50
  const epInstructions = registerChatFilesExtensionPoint('chatInstructions');
52
- const epModes = registerChatFilesExtensionPoint('chatModes');
51
+ const epAgents = registerChatFilesExtensionPoint('chatAgents');
53
52
  function pointToType(contributionPoint) {
54
53
  switch (contributionPoint) {
55
54
  case 'chatPromptFiles': return PromptsType.prompt;
56
55
  case 'chatInstructions': return PromptsType.instructions;
57
- case 'chatModes': return PromptsType.mode;
56
+ case 'chatAgents': return PromptsType.agent;
58
57
  }
59
58
  }
60
59
  function key(extensionId, type, name) {
@@ -67,19 +66,16 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
67
66
  this.registrations = ( new DisposableMap());
68
67
  this.handle(epPrompt, 'chatPromptFiles');
69
68
  this.handle(epInstructions, 'chatInstructions');
70
- this.handle(epModes, 'chatModes');
69
+ this.handle(epAgents, 'chatAgents');
71
70
  }
72
71
  handle(extensionPoint, contributionPoint) {
73
72
  extensionPoint.setHandler((_extensions, delta) => {
74
73
  for (const ext of delta.added) {
75
- if (contributionPoint === 'chatModes') {
76
- checkProposedApiEnabled(ext.description, 'chatParticipantPrivate');
77
- }
78
74
  const type = pointToType(contributionPoint);
79
75
  for (const raw of ext.value) {
80
76
  if (!raw.name || !raw.name.match(/^[\w.-]+$/)) {
81
77
  ext.collector.error(( localize(
82
- 5624,
78
+ 5828,
83
79
  "Extension '{0}' cannot register {1} entry with invalid name '{2}'.",
84
80
  ext.description.identifier.value,
85
81
  contributionPoint,
@@ -89,7 +85,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
89
85
  }
90
86
  if (!raw.path) {
91
87
  ext.collector.error(( localize(
92
- 5625,
88
+ 5829,
93
89
  "Extension '{0}' cannot register {1} entry '{2}' without path.",
94
90
  ext.description.identifier.value,
95
91
  contributionPoint,
@@ -99,7 +95,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
99
95
  }
100
96
  if (!raw.description) {
101
97
  ext.collector.error(( localize(
102
- 5626,
98
+ 5830,
103
99
  "Extension '{0}' cannot register {1} entry '{2}' without description.",
104
100
  ext.description.identifier.value,
105
101
  contributionPoint,
@@ -110,7 +106,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
110
106
  const fileUri = joinPath(ext.description.extensionLocation, raw.path);
111
107
  if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
112
108
  ext.collector.error(( localize(
113
- 5627,
109
+ 5831,
114
110
  "Extension '{0}' {1} entry '{2}' path resolves outside the extension.",
115
111
  ext.description.identifier.value,
116
112
  contributionPoint,
@@ -125,7 +121,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
125
121
  catch (e) {
126
122
  const msg = e instanceof Error ? e.message : String(e);
127
123
  ext.collector.error(( localize(
128
- 5628,
124
+ 5832,
129
125
  "Failed to register {0} entry '{1}': {2}",
130
126
  contributionPoint,
131
127
  raw.name,
@@ -2,7 +2,8 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
4
4
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
5
- import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
5
+ import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
6
+ import { PromptHeaderAttributes } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
6
7
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
7
8
 
8
9
  let PromptHeaderDefinitionProvider = class PromptHeaderDefinitionProvider {
@@ -16,17 +17,17 @@ let PromptHeaderDefinitionProvider = class PromptHeaderDefinitionProvider {
16
17
  if (!promptType) {
17
18
  return undefined;
18
19
  }
19
- const parser = this.promptsService.getParsedPromptFile(model);
20
- const header = parser.header;
20
+ const promptAST = this.promptsService.getParsedPromptFile(model);
21
+ const header = promptAST.header;
21
22
  if (!header) {
22
23
  return undefined;
23
24
  }
24
- const modeAttr = header.getAttribute('mode');
25
- if (modeAttr && modeAttr.value.type === 'string' && modeAttr.range.containsPosition(position)) {
26
- const mode = this.chatModeService.findModeByName(modeAttr.value.value);
27
- if (mode && mode.uri) {
25
+ const agentAttr = header.getAttribute(PromptHeaderAttributes.agent) ?? header.getAttribute(PromptHeaderAttributes.mode);
26
+ if (agentAttr && agentAttr.value.type === 'string' && agentAttr.range.containsPosition(position)) {
27
+ const agent = this.chatModeService.findModeByName(agentAttr.value.value);
28
+ if (agent && agent.uri) {
28
29
  return {
29
- uri: mode.uri.get(),
30
+ uri: agent.uri.get(),
30
31
  range: ( new Range(1, 1, 1, 1))
31
32
  };
32
33
  }
@@ -32,4 +32,5 @@ export declare class PromptBodyAutocompletion implements CompletionItemProvider
32
32
  * Finds a file reference that suites the provided `position`.
33
33
  */
34
34
  private findVariableReference;
35
+ private collectDefaultCompletions;
35
36
  }
@@ -1,15 +1,14 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { extUri, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
4
- import { PromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
4
+ import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
5
5
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
6
6
  import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
7
7
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
8
8
  import { CharCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
9
9
  import { getWordAtText } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/wordHelper';
10
- import { chatVariableLeader } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
10
+ import { chatVariableLeader } from '@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
11
11
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
12
- import { getPromptFileType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
13
12
 
14
13
  let PromptBodyAutocompletion = class PromptBodyAutocompletion {
15
14
  constructor(fileService, languageModelToolsService) {
@@ -19,21 +18,36 @@ let PromptBodyAutocompletion = class PromptBodyAutocompletion {
19
18
  this.triggerCharacters = [':', '.', '/', '\\'];
20
19
  }
21
20
  async provideCompletionItems(model, position, context, token) {
21
+ const promptsType = getPromptsTypeForLanguageId(model.getLanguageId());
22
+ if (!promptsType) {
23
+ return undefined;
24
+ }
22
25
  const reference = await this.findVariableReference(model, position, token);
23
26
  if (!reference) {
24
27
  return undefined;
25
28
  }
26
29
  const suggestions = [];
27
- if (reference.type === 'file') {
28
- if (reference.contentRange.containsPosition(position)) {
29
- await this.collectFilePathCompletions(model, position, reference.contentRange, suggestions);
30
- }
31
- }
32
- else if (reference.type === '') {
33
- const promptFileType = getPromptFileType(model.uri);
34
- if (promptFileType === PromptsType.mode || promptFileType === PromptsType.prompt) {
35
- await this.collectToolCompletions(model, position, reference.contentRange, suggestions);
36
- }
30
+ switch (reference.type) {
31
+ case 'file':
32
+ if (reference.contentRange.containsPosition(position)) {
33
+ await this.collectFilePathCompletions(model, position, reference.contentRange, suggestions);
34
+ }
35
+ else {
36
+ await this.collectDefaultCompletions(model, reference.range, promptsType, suggestions);
37
+ }
38
+ break;
39
+ case 'tool':
40
+ if (reference.contentRange.containsPosition(position)) {
41
+ if (promptsType === PromptsType.agent || promptsType === PromptsType.prompt) {
42
+ await this.collectToolCompletions(model, position, reference.contentRange, suggestions);
43
+ }
44
+ }
45
+ else {
46
+ await this.collectDefaultCompletions(model, reference.range, promptsType, suggestions);
47
+ }
48
+ break;
49
+ default:
50
+ await this.collectDefaultCompletions(model, reference.range, promptsType, suggestions);
37
51
  }
38
52
  return { suggestions };
39
53
  }
@@ -106,19 +120,35 @@ let PromptBodyAutocompletion = class PromptBodyAutocompletion {
106
120
  if (!varWord) {
107
121
  return undefined;
108
122
  }
123
+ const range = ( new Range(
124
+ position.lineNumber,
125
+ varWord.startColumn + 1,
126
+ position.lineNumber,
127
+ varWord.endColumn
128
+ ));
109
129
  const nameMatch = varWord.word.match(/^#(\w+:)?/);
110
130
  if (nameMatch) {
131
+ const contentCol = varWord.startColumn + nameMatch[0].length;
111
132
  if (nameMatch[1] === 'file:') {
112
- const contentCol = varWord.startColumn + nameMatch[0].length;
113
- return { type: 'file', contentRange: ( new Range(position.lineNumber, contentCol, position.lineNumber, varWord.endColumn)) };
133
+ return { type: 'file', contentRange: ( new Range(position.lineNumber, contentCol, position.lineNumber, varWord.endColumn)), range };
134
+ }
135
+ else if (nameMatch[1] === 'tool:') {
136
+ return { type: 'tool', contentRange: ( new Range(position.lineNumber, contentCol, position.lineNumber, varWord.endColumn)), range };
114
137
  }
115
138
  }
116
- return { type: '', contentRange: ( new Range(
117
- position.lineNumber,
118
- varWord.startColumn + 1,
119
- position.lineNumber,
120
- varWord.endColumn
121
- )) };
139
+ return { type: '', contentRange: range, range };
140
+ }
141
+ async collectDefaultCompletions(model, range, promptFileType, suggestions) {
142
+ const labels = promptFileType === PromptsType.instructions ? ['file'] : ['file', 'tool'];
143
+ labels.forEach(label => {
144
+ suggestions.push({
145
+ label: `${label}:`,
146
+ kind: CompletionItemKind.Keyword,
147
+ insertText: `${label}:`,
148
+ range: range,
149
+ command: { id: 'editor.action.triggerSuggest', title: 'Suggest' }
150
+ });
151
+ });
122
152
  }
123
153
  };
124
154
  PromptBodyAutocompletion = ( __decorate([
@@ -1,18 +1,22 @@
1
1
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
3
- import { CodeActionContext, CodeActionList, CodeActionProvider, ProviderResult } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
3
+ import { CodeActionContext, CodeActionList, CodeActionProvider } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
4
4
  import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
5
5
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
6
6
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
7
7
  import { Selection } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection";
8
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
8
9
  export declare class PromptCodeActionProvider implements CodeActionProvider {
9
10
  private readonly promptsService;
10
11
  private readonly languageModelToolsService;
12
+ private readonly fileService;
11
13
  /**
12
14
  * Debug display name for this provider.
13
15
  */
14
16
  readonly _debugDisplayName: string;
15
- constructor(promptsService: IPromptsService, languageModelToolsService: ILanguageModelToolsService);
16
- provideCodeActions(model: ITextModel, range: Range | Selection, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
17
+ constructor(promptsService: IPromptsService, languageModelToolsService: ILanguageModelToolsService, fileService: IFileService);
18
+ provideCodeActions(model: ITextModel, range: Range | Selection, context: CodeActionContext, token: CancellationToken): Promise<CodeActionList | undefined>;
19
+ private getUpdateModeCodeActions;
20
+ private getMigrateModeFileCodeActions;
17
21
  private getUpdateToolsCodeActions;
18
22
  }
@@ -3,31 +3,88 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
4
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
5
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
6
- import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
6
+ import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
7
7
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
8
+ import { PromptHeaderAttributes } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
8
9
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
10
+ import { LEGACY_MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
11
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
12
+ import { isGithubTarget } from './promptValidator.js';
9
13
 
10
14
  let PromptCodeActionProvider = class PromptCodeActionProvider {
11
- constructor(promptsService, languageModelToolsService) {
15
+ constructor(promptsService, languageModelToolsService, fileService) {
12
16
  this.promptsService = promptsService;
13
17
  this.languageModelToolsService = languageModelToolsService;
18
+ this.fileService = fileService;
14
19
  this._debugDisplayName = 'PromptCodeActionProvider';
15
20
  }
16
- provideCodeActions(model, range, context, token) {
21
+ async provideCodeActions(model, range, context, token) {
17
22
  const promptType = getPromptsTypeForLanguageId(model.getLanguageId());
18
- if (!promptType) {
23
+ if (!promptType || promptType === PromptsType.instructions) {
19
24
  return undefined;
20
25
  }
21
- const parser = this.promptsService.getParsedPromptFile(model);
22
- const toolsAttr = parser.header?.getAttribute('tools');
23
- if (!toolsAttr || toolsAttr.value.type !== 'array' || !toolsAttr.value.range.containsRange(range)) {
26
+ const result = [];
27
+ const promptAST = this.promptsService.getParsedPromptFile(model);
28
+ switch (promptType) {
29
+ case PromptsType.agent:
30
+ this.getUpdateToolsCodeActions(promptAST, promptType, model, range, result);
31
+ await this.getMigrateModeFileCodeActions(model.uri, result);
32
+ break;
33
+ case PromptsType.prompt:
34
+ this.getUpdateModeCodeActions(promptAST, model, range, result);
35
+ this.getUpdateToolsCodeActions(promptAST, promptType, model, range, result);
36
+ break;
37
+ }
38
+ if (result.length === 0) {
24
39
  return undefined;
25
40
  }
26
- return this.getUpdateToolsCodeActions(toolsAttr.value.items, model, range);
41
+ return {
42
+ actions: result,
43
+ dispose: () => { }
44
+ };
45
+ }
46
+ getUpdateModeCodeActions(promptFile, model, range, result) {
47
+ const modeAttr = promptFile.header?.getAttribute(PromptHeaderAttributes.mode);
48
+ if (!modeAttr?.range.containsRange(range)) {
49
+ return;
50
+ }
51
+ const keyRange = ( new Range(
52
+ modeAttr.range.startLineNumber,
53
+ modeAttr.range.startColumn,
54
+ modeAttr.range.startLineNumber,
55
+ modeAttr.range.startColumn + modeAttr.key.length
56
+ ));
57
+ result.push({
58
+ title: ( localize(5840, "Rename to 'agent'")),
59
+ edit: {
60
+ edits: [asWorkspaceTextEdit(model, { range: keyRange, text: 'agent' })]
61
+ }
62
+ });
63
+ }
64
+ async getMigrateModeFileCodeActions(uri, result) {
65
+ if (uri.path.endsWith(LEGACY_MODE_FILE_EXTENSION)) {
66
+ const location = this.promptsService.getAgentFileURIFromModeFile(uri);
67
+ if (location && (await this.fileService.canMove(uri, location))) {
68
+ const edit = { oldResource: uri, newResource: location, options: { overwrite: false, copy: false } };
69
+ result.push({
70
+ title: ( localize(5841, "Migrate to custom agent file")),
71
+ edit: {
72
+ edits: [edit]
73
+ }
74
+ });
75
+ }
76
+ }
27
77
  }
28
- getUpdateToolsCodeActions(values, model, range) {
78
+ getUpdateToolsCodeActions(promptFile, promptType, model, range, result) {
79
+ const toolsAttr = promptFile.header?.getAttribute(PromptHeaderAttributes.tools);
80
+ if (toolsAttr?.value.type !== 'array' || !toolsAttr.value.range.containsRange(range)) {
81
+ return;
82
+ }
83
+ if (isGithubTarget(promptType, promptFile.header?.target)) {
84
+ return;
85
+ }
86
+ const values = toolsAttr.value.items;
29
87
  const deprecatedNames = ( new Lazy(() => this.languageModelToolsService.getDeprecatedQualifiedToolNames()));
30
- const actions = [];
31
88
  const edits = [];
32
89
  for (const item of values) {
33
90
  if (item.type !== 'string') {
@@ -45,8 +102,8 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
45
102
  const edit = { range: item.range, text };
46
103
  edits.push(edit);
47
104
  if (item.range.containsRange(range)) {
48
- actions.push({
49
- title: ( localize(5636, "Update to '{0}'", newName)),
105
+ result.push({
106
+ title: ( localize(5842, "Update to '{0}'", newName)),
50
107
  edit: {
51
108
  edits: [asWorkspaceTextEdit(model, edit)]
52
109
  }
@@ -54,23 +111,20 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
54
111
  }
55
112
  }
56
113
  }
57
- if (edits.length && actions.length === 0 || edits.length > 1) {
58
- actions.push({
59
- title: ( localize(5637, "Update all tool names")),
114
+ if (edits.length && result.length === 0 || edits.length > 1) {
115
+ result.push({
116
+ title: ( localize(5843, "Update all tool names")),
60
117
  edit: {
61
118
  edits: ( edits.map(edit => asWorkspaceTextEdit(model, edit)))
62
119
  }
63
120
  });
64
121
  }
65
- if (actions.length) {
66
- return { actions, dispose: () => { } };
67
- }
68
- return undefined;
69
122
  }
70
123
  };
71
124
  PromptCodeActionProvider = ( __decorate([
72
125
  ( __param(0, IPromptsService)),
73
- ( __param(1, ILanguageModelToolsService))
126
+ ( __param(1, ILanguageModelToolsService)),
127
+ ( __param(2, IFileService))
74
128
  ], PromptCodeActionProvider));
75
129
  function asWorkspaceTextEdit(model, textEdit) {
76
130
  return {