@codingame/monaco-vscode-chat-service-override 22.1.9 → 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 (277) hide show
  1. package/index.js +17 -8
  2. package/package.json +43 -40
  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 +19 -19
  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 +34 -33
  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 +13 -15
  184. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  185. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
  186. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +20 -32
  187. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +63 -140
  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 +17 -16
  190. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  193. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +3 -0
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +119 -15
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +6 -4
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +47 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +192 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -5
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +21 -16
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +8 -3
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -2
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +18 -27
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +5 -2
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +3 -1
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +1 -1
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -25
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -2
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +18 -27
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +12 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +31 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +24 -8
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +8 -0
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +33 -4
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +42 -13
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +14 -21
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +23 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +18 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +227 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +17 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +133 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +36 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +17 -0
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +5 -1
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +75 -37
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +8 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +71 -0
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +28 -15
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +366 -363
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +18 -18
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +19 -0
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +123 -0
  246. package/vscode/src/vs/base/common/yaml.d.ts +0 -74
  247. package/vscode/src/vs/base/common/yaml.js +0 -597
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +0 -8
  249. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +0 -239
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +0 -102
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +0 -435
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +0 -14
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.js +0 -67
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +0 -49
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +0 -380
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +0 -37
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +0 -137
  258. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +0 -44
  259. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +0 -176
  260. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.d.ts +0 -4
  261. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +0 -206
  262. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +0 -7
  263. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +0 -79
  264. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +0 -8
  265. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +0 -145
  266. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +0 -65
  267. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +0 -306
  268. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +0 -12
  269. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +0 -102
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.d.ts +0 -97
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.js +0 -247
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +0 -118
  273. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +0 -10
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +0 -10
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +0 -55
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -2
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +0 -66
@@ -1,65 +0,0 @@
1
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
- import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
3
- import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
4
- import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
5
- import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
6
- import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
7
- import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
8
- import { IKeyMods } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput";
9
- import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
10
- import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
11
- import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
12
- /**
13
- * Options for the {@link askToSelectInstructions} function.
14
- */
15
- export interface ISelectOptions {
16
- /**
17
- * The text shows as placeholder in the selection dialog.
18
- */
19
- readonly placeholder: string;
20
- /**
21
- * Prompt resource `URI` to attach to the chat input, if any.
22
- * If provided the resource will be pre-selected in the prompt picker dialog,
23
- * otherwise the dialog will show the prompts list without any pre-selection.
24
- */
25
- readonly resource?: URI;
26
- readonly type: PromptsType;
27
- readonly optionNew?: boolean;
28
- readonly optionEdit?: boolean;
29
- readonly optionDelete?: boolean;
30
- readonly optionRename?: boolean;
31
- readonly optionCopy?: boolean;
32
- }
33
- export interface ISelectPromptResult {
34
- /**
35
- * The selected prompt file.
36
- */
37
- readonly promptFile: URI;
38
- /**
39
- * The key modifiers that were pressed when the prompt was selected.
40
- */
41
- readonly keyMods: IKeyMods;
42
- }
43
- export declare class PromptFilePickers {
44
- private readonly _quickInputService;
45
- private readonly _openerService;
46
- private readonly _fileService;
47
- private readonly _dialogService;
48
- private readonly _commandService;
49
- private readonly _instaService;
50
- private readonly _promptsService;
51
- private readonly _labelService;
52
- constructor(_quickInputService: IQuickInputService, _openerService: IOpenerService, _fileService: IFileService, _dialogService: IDialogService, _commandService: ICommandService, _instaService: IInstantiationService, _promptsService: IPromptsService, _labelService: ILabelService);
53
- /**
54
- * Shows the prompt file selection dialog to the user that allows to run a prompt file(s).
55
- *
56
- * If {@link ISelectOptions.resource resource} is provided, the dialog will have
57
- * the resource pre-selected in the prompts list.
58
- */
59
- selectPromptFile(options: ISelectOptions): Promise<ISelectPromptResult | undefined>;
60
- private _createPromptPickItems;
61
- private _getNewItems;
62
- private _createPromptPickItem;
63
- private keepQuickPickOpen;
64
- private _handleButtonClick;
65
- }
@@ -1,306 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
- import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
6
- import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
- import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
8
- import { PromptsStorage } from '../../../common/promptSyntax/service/promptsService.js';
9
- import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
10
- import { extUri, dirname, joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
11
- import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
12
- import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
13
- import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
14
- import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
15
- import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
16
- import { getCleanPromptName } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
17
- import { PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, MODE_DOCUMENTATION_URL, PromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
18
- import { NEW_PROMPT_COMMAND_ID, NEW_INSTRUCTIONS_COMMAND_ID, NEW_MODE_COMMAND_ID } from '../newPromptFileActions.js';
19
- import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
20
- import { askForPromptFileName } from './askForPromptName.js';
21
- import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
22
- import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
23
- import { UILabelProvider } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keybindingLabels';
24
- import { OS } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
25
- import { askForPromptSourceFolder } from './askForPromptSourceFolder.js';
26
- import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
27
-
28
- const HELP_BUTTON = ( Object.freeze({
29
- tooltip: ( localize(5472, "Help")),
30
- iconClass: ThemeIcon.asClassName(Codicon.question),
31
- }));
32
- const NEW_PROMPT_FILE_OPTION = ( Object.freeze({
33
- type: 'item',
34
- label: `$(plus) ${( localize(5473, 'New prompt file...'))}`,
35
- value: ( URI.parse(PROMPT_DOCUMENTATION_URL)),
36
- pickable: false,
37
- alwaysShow: true,
38
- buttons: [HELP_BUTTON],
39
- commandId: NEW_PROMPT_COMMAND_ID,
40
- }));
41
- const NEW_INSTRUCTIONS_FILE_OPTION = ( Object.freeze({
42
- type: 'item',
43
- label: `$(plus) ${( localize(5474, 'New instruction file...'))}`,
44
- value: ( URI.parse(INSTRUCTIONS_DOCUMENTATION_URL)),
45
- pickable: false,
46
- alwaysShow: true,
47
- buttons: [HELP_BUTTON],
48
- commandId: NEW_INSTRUCTIONS_COMMAND_ID,
49
- }));
50
- const UPDATE_INSTRUCTIONS_OPTION = ( Object.freeze({
51
- type: 'item',
52
- label: `$(refresh) ${( localize(5475, 'Generate agent instructions...'))}`,
53
- value: ( URI.parse(INSTRUCTIONS_DOCUMENTATION_URL)),
54
- pickable: false,
55
- alwaysShow: true,
56
- buttons: [HELP_BUTTON],
57
- commandId: 'workbench.action.chat.generateInstructions',
58
- }));
59
- const NEW_MODE_FILE_OPTION = ( Object.freeze({
60
- type: 'item',
61
- label: `$(plus) ${( localize(5476, 'Create new custom chat mode file...'))}`,
62
- value: ( URI.parse(MODE_DOCUMENTATION_URL)),
63
- pickable: false,
64
- alwaysShow: true,
65
- buttons: [HELP_BUTTON],
66
- commandId: NEW_MODE_COMMAND_ID,
67
- }));
68
- const EDIT_BUTTON = ( Object.freeze({
69
- tooltip: ( localize(5477, "Open in Editor")),
70
- iconClass: ThemeIcon.asClassName(Codicon.edit),
71
- }));
72
- const DELETE_BUTTON = ( Object.freeze({
73
- tooltip: ( localize(5478, "Delete")),
74
- iconClass: ThemeIcon.asClassName(Codicon.trash),
75
- }));
76
- const RENAME_BUTTON = ( Object.freeze({
77
- tooltip: ( localize(5479, "Rename")),
78
- iconClass: ThemeIcon.asClassName(Codicon.replace),
79
- }));
80
- const COPY_BUTTON = ( Object.freeze({
81
- tooltip: ( localize(
82
- 5480,
83
- "Copy or Move (press {0})",
84
- UILabelProvider.modifierLabels[OS].ctrlKey
85
- )),
86
- iconClass: ThemeIcon.asClassName(Codicon.copy),
87
- }));
88
- let PromptFilePickers = class PromptFilePickers {
89
- constructor(_quickInputService, _openerService, _fileService, _dialogService, _commandService, _instaService, _promptsService, _labelService) {
90
- this._quickInputService = _quickInputService;
91
- this._openerService = _openerService;
92
- this._fileService = _fileService;
93
- this._dialogService = _dialogService;
94
- this._commandService = _commandService;
95
- this._instaService = _instaService;
96
- this._promptsService = _promptsService;
97
- this._labelService = _labelService;
98
- }
99
- async selectPromptFile(options) {
100
- const quickPick = this._quickInputService.createQuickPick({ useSeparators: true });
101
- quickPick.busy = true;
102
- quickPick.placeholder = ( localize(5481, 'Searching file system...'));
103
- try {
104
- const fileOptions = await this._createPromptPickItems(options);
105
- const activeItem = options.resource && fileOptions.find(f => f.type === 'item' && extUri.isEqual(f.value, options.resource));
106
- if (activeItem) {
107
- quickPick.activeItems = [activeItem];
108
- }
109
- quickPick.placeholder = options.placeholder;
110
- quickPick.canAcceptInBackground = true;
111
- quickPick.matchOnDescription = true;
112
- quickPick.items = fileOptions;
113
- }
114
- finally {
115
- quickPick.busy = false;
116
- }
117
- return ( new Promise(resolve => {
118
- const disposables = ( new DisposableStore());
119
- let isResolved = false;
120
- disposables.add({
121
- dispose() {
122
- quickPick.dispose();
123
- if (!isResolved) {
124
- resolve(undefined);
125
- isResolved = true;
126
- }
127
- },
128
- });
129
- disposables.add(quickPick.onDidAccept(async (event) => {
130
- const { selectedItems } = quickPick;
131
- const { keyMods } = quickPick;
132
- const selectedItem = selectedItems[0];
133
- if (selectedItem.commandId) {
134
- await this._commandService.executeCommand(selectedItem.commandId);
135
- return;
136
- }
137
- if (selectedItem) {
138
- resolve({ promptFile: selectedItem.value, keyMods: { ...keyMods } });
139
- isResolved = true;
140
- }
141
- if (!event.inBackground) {
142
- disposables.dispose();
143
- }
144
- }));
145
- disposables.add(quickPick.onDidTriggerItemButton(e => this._handleButtonClick(quickPick, e, options)));
146
- disposables.add(quickPick.onDidHide(disposables.dispose.bind(disposables)));
147
- quickPick.show();
148
- }));
149
- }
150
- async _createPromptPickItems(options) {
151
- const buttons = [];
152
- if (options.optionEdit !== false) {
153
- buttons.push(EDIT_BUTTON);
154
- }
155
- if (options.optionCopy !== false) {
156
- buttons.push(COPY_BUTTON);
157
- }
158
- if (options.optionRename !== false) {
159
- buttons.push(RENAME_BUTTON);
160
- }
161
- if (options.optionDelete !== false) {
162
- buttons.push(DELETE_BUTTON);
163
- }
164
- const result = [];
165
- const newItems = options.optionNew !== false ? this._getNewItems(options.type) : [];
166
- if (newItems.length > 0) {
167
- result.push(...newItems);
168
- }
169
- const locals = await this._promptsService.listPromptFilesForStorage(options.type, PromptsStorage.local, CancellationToken.None);
170
- if (locals.length) {
171
- result.push({ type: 'separator', label: ( localize(5482, "Workspace")) });
172
- result.push(...( locals.map(l => this._createPromptPickItem(l, buttons))));
173
- }
174
- const exts = await this._promptsService.listPromptFilesForStorage(options.type, PromptsStorage.extension, CancellationToken.None);
175
- if (exts.length) {
176
- result.push({ type: 'separator', label: ( localize(5483, "Extensions")) });
177
- result.push(...( exts.map(e => this._createPromptPickItem(e, undefined))));
178
- }
179
- const users = await this._promptsService.listPromptFilesForStorage(options.type, PromptsStorage.user, CancellationToken.None);
180
- if (users.length) {
181
- result.push({ type: 'separator', label: ( localize(5484, "User Data")) });
182
- result.push(...( users.map(u => this._createPromptPickItem(u, buttons))));
183
- }
184
- return result;
185
- }
186
- _getNewItems(type) {
187
- switch (type) {
188
- case PromptsType.prompt:
189
- return [NEW_PROMPT_FILE_OPTION];
190
- case PromptsType.instructions:
191
- return [NEW_INSTRUCTIONS_FILE_OPTION, UPDATE_INSTRUCTIONS_OPTION];
192
- case PromptsType.mode:
193
- return [NEW_MODE_FILE_OPTION];
194
- default:
195
- throw ( new Error(`Unknown prompt type '${type}'.`));
196
- }
197
- }
198
- _createPromptPickItem(promptFile, buttons) {
199
- const promptName = promptFile.name ?? getCleanPromptName(promptFile.uri);
200
- let tooltip;
201
- switch (promptFile.storage) {
202
- case PromptsStorage.extension:
203
- tooltip = promptFile.extension.displayName ?? promptFile.extension.id;
204
- break;
205
- case PromptsStorage.local:
206
- tooltip = this._labelService.getUriLabel(dirname(promptFile.uri), { relative: true });
207
- break;
208
- case PromptsStorage.user:
209
- tooltip = undefined;
210
- break;
211
- }
212
- return {
213
- id: ( promptFile.uri.toString()),
214
- type: 'item',
215
- label: promptName,
216
- description: promptFile.description,
217
- tooltip,
218
- value: promptFile.uri,
219
- buttons: buttons
220
- };
221
- }
222
- async keepQuickPickOpen(quickPick, work) {
223
- const previousIgnoreFocusOut = quickPick.ignoreFocusOut;
224
- quickPick.ignoreFocusOut = true;
225
- try {
226
- await work();
227
- }
228
- finally {
229
- quickPick.ignoreFocusOut = previousIgnoreFocusOut;
230
- }
231
- }
232
- async _handleButtonClick(quickPick, context, options) {
233
- const { item, button } = context;
234
- const { value, } = item;
235
- if (button === EDIT_BUTTON) {
236
- await this._openerService.open(value);
237
- return;
238
- }
239
- if (button === COPY_BUTTON) {
240
- const currentFolder = dirname(value);
241
- const isMove = quickPick.keyMods.ctrlCmd;
242
- const newFolder = await this._instaService.invokeFunction(askForPromptSourceFolder, options.type, currentFolder, isMove);
243
- if (!newFolder) {
244
- return;
245
- }
246
- const newName = await this._instaService.invokeFunction(askForPromptFileName, options.type, newFolder.uri, item.label);
247
- if (!newName) {
248
- return;
249
- }
250
- const newFile = joinPath(newFolder.uri, newName);
251
- if (isMove) {
252
- await this._fileService.move(value, newFile);
253
- }
254
- else {
255
- await this._fileService.copy(value, newFile);
256
- }
257
- await this._openerService.open(newFile);
258
- return;
259
- }
260
- if (button === RENAME_BUTTON) {
261
- const currentFolder = dirname(value);
262
- const newName = await this._instaService.invokeFunction(askForPromptFileName, options.type, currentFolder, item.label);
263
- if (newName) {
264
- const newFile = joinPath(currentFolder, newName);
265
- await this._fileService.move(value, newFile);
266
- await this._openerService.open(newFile);
267
- }
268
- return;
269
- }
270
- if (button === DELETE_BUTTON) {
271
- assert((quickPick.activeItems.length < 2), `Expected maximum one active item, got '${quickPick.activeItems.length}'.`);
272
- const info = await this._fileService.stat(value);
273
- assert(info.isDirectory === false, `'${value.fsPath}' points to a folder.`);
274
- await this.keepQuickPickOpen(quickPick, async () => {
275
- const filename = getCleanPromptName(value);
276
- const { confirmed } = await this._dialogService.confirm({
277
- message: ( localize(5485, "Are you sure you want to delete '{0}'?", filename)),
278
- });
279
- if (!confirmed) {
280
- return;
281
- }
282
- await this._fileService.del(value);
283
- const newEntries = this._createPromptPickItems(options);
284
- quickPick.items = await newEntries;
285
- });
286
- return;
287
- }
288
- if (button === HELP_BUTTON) {
289
- await this._openerService.open(item.value);
290
- return;
291
- }
292
- throw ( new Error(`Unknown button '${JSON.stringify(button)}'.`));
293
- }
294
- };
295
- PromptFilePickers = ( __decorate([
296
- ( __param(0, IQuickInputService)),
297
- ( __param(1, IOpenerService)),
298
- ( __param(2, IFileService)),
299
- ( __param(3, IDialogService)),
300
- ( __param(4, ICommandService)),
301
- ( __param(5, IInstantiationService)),
302
- ( __param(6, IPromptsService)),
303
- ( __param(7, ILabelService))
304
- ], PromptFilePickers));
305
-
306
- export { PromptFilePickers };
@@ -1,12 +0,0 @@
1
- /**
2
- * Action ID for the `Save Prompt` action.
3
- */
4
- export declare const SAVE_TO_PROMPT_ACTION_ID = "workbench.action.chat.save-to-prompt";
5
- /**
6
- * Name of the in-chat slash command associated with this action.
7
- */
8
- export declare const SAVE_TO_PROMPT_SLASH_COMMAND_NAME = "save";
9
- /**
10
- * Helper to register all the `Save Prompt` actions.
11
- */
12
- export declare function registerSaveToPromptActions(): void;
@@ -1,102 +0,0 @@
1
-
2
- import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
- import { Action2, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
4
- import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
5
- import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
6
- import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
7
- import { PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
8
- import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
9
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
10
- import { chatSubcommandLeader } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
11
- import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
12
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
13
- import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
14
- import { PromptFileRewriter } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter';
15
- import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
16
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
17
- import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
18
-
19
- const SAVE_TO_PROMPT_ACTION_ID = 'workbench.action.chat.save-to-prompt';
20
- const SAVE_TO_PROMPT_SLASH_COMMAND_NAME = 'save';
21
- class SaveToPromptAction extends Action2 {
22
- constructor() {
23
- super({
24
- id: SAVE_TO_PROMPT_ACTION_ID,
25
- title: ( localize2(5505, "Save chat session to a prompt file")),
26
- f1: false,
27
- precondition: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled)),
28
- category: CHAT_CATEGORY,
29
- });
30
- }
31
- async run(accessor, options) {
32
- const logService = accessor.get(ILogService);
33
- const editorService = accessor.get(IEditorService);
34
- const rewriter = accessor.get(IInstantiationService).createInstance(PromptFileRewriter);
35
- const logPrefix = 'save to prompt';
36
- const chatWidget = options.chat;
37
- const mode = chatWidget.input.currentModeObs.get();
38
- const model = chatWidget.input.selectedLanguageModel;
39
- const output = [];
40
- output.push('---');
41
- output.push(`description: New prompt created from chat session`);
42
- output.push(`mode: ${mode.kind}`);
43
- if (mode.kind === ChatModeKind.Agent) {
44
- const toolAndToolsetMap = chatWidget.input.selectedToolsModel.entriesMap.get();
45
- output.push(`tools: ${rewriter.getNewValueString(toolAndToolsetMap)}`);
46
- }
47
- if (model) {
48
- output.push(`model: ${ILanguageModelChatMetadata.asQualifiedName(model.metadata)}`);
49
- }
50
- output.push('---');
51
- const viewModel = chatWidget.viewModel;
52
- if (viewModel) {
53
- for (const request of viewModel.model.getRequests()) {
54
- const { message, response: responseModel } = request;
55
- if (isSaveToPromptSlashCommand(message)) {
56
- continue;
57
- }
58
- if (responseModel === undefined) {
59
- logService.warn(`[${logPrefix}]: skipping request '${request.id}' with no response`);
60
- continue;
61
- }
62
- const { response } = responseModel;
63
- output.push(`<user>`);
64
- output.push(request.message.text);
65
- output.push(`</user>`);
66
- output.push();
67
- output.push(`<assistant>`);
68
- output.push(response.getMarkdown());
69
- output.push(`</assistant>`);
70
- output.push();
71
- }
72
- const promptText = output.join('\n');
73
- const untitledPath = 'new.prompt.md';
74
- const untitledResource = ( URI.from({ scheme: Schemas.untitled, path: untitledPath }));
75
- const editor = await editorService.openEditor({
76
- resource: untitledResource,
77
- contents: promptText,
78
- languageId: PROMPT_LANGUAGE_ID,
79
- });
80
- editor?.focus();
81
- }
82
- }
83
- }
84
- function isSaveToPromptSlashCommand(message) {
85
- const { parts } = message;
86
- if (parts.length < 1) {
87
- return false;
88
- }
89
- const firstPart = parts[0];
90
- if (firstPart.kind !== 'slash') {
91
- return false;
92
- }
93
- if (firstPart.text !== `${chatSubcommandLeader}${SAVE_TO_PROMPT_SLASH_COMMAND_NAME}`) {
94
- return false;
95
- }
96
- return true;
97
- }
98
- function registerSaveToPromptActions() {
99
- registerAction2(SaveToPromptAction);
100
- }
101
-
102
- export { SAVE_TO_PROMPT_ACTION_ID, SAVE_TO_PROMPT_SLASH_COMMAND_NAME, registerSaveToPromptActions };
@@ -1,97 +0,0 @@
1
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
- import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
3
- export declare class NewPromptsParser {
4
- constructor();
5
- parse(uri: URI, content: string): ParsedPromptFile;
6
- }
7
- export declare class ParsedPromptFile {
8
- readonly uri: URI;
9
- readonly header?: PromptHeader | undefined;
10
- readonly body?: PromptBody | undefined;
11
- constructor(uri: URI, header?: PromptHeader | undefined, body?: PromptBody | undefined);
12
- }
13
- export interface ParseError {
14
- readonly message: string;
15
- readonly range: Range;
16
- readonly code: string;
17
- }
18
- export declare class PromptHeader {
19
- readonly range: Range;
20
- private readonly linesWithEOL;
21
- private _parsed;
22
- constructor(range: Range, linesWithEOL: string[]);
23
- private get _parsedHeader();
24
- private asRange;
25
- private asValue;
26
- get attributes(): IHeaderAttribute[];
27
- getAttribute(key: string): IHeaderAttribute | undefined;
28
- get errors(): ParseError[];
29
- private getStringAttribute;
30
- get description(): string | undefined;
31
- get mode(): string | undefined;
32
- get model(): string | undefined;
33
- get applyTo(): string | undefined;
34
- get tools(): string[] | undefined;
35
- }
36
- export interface IHeaderAttribute {
37
- readonly range: Range;
38
- readonly key: string;
39
- readonly value: IValue;
40
- }
41
- export interface IStringValue {
42
- readonly type: "string";
43
- readonly value: string;
44
- readonly range: Range;
45
- }
46
- export interface INumberValue {
47
- readonly type: "number";
48
- readonly value: number;
49
- readonly range: Range;
50
- }
51
- export interface INullValue {
52
- readonly type: "null";
53
- readonly value: null;
54
- readonly range: Range;
55
- }
56
- export interface IBooleanValue {
57
- readonly type: "boolean";
58
- readonly value: boolean;
59
- readonly range: Range;
60
- }
61
- export interface IArrayValue {
62
- readonly type: "array";
63
- readonly items: readonly IValue[];
64
- readonly range: Range;
65
- }
66
- export interface IObjectValue {
67
- readonly type: "object";
68
- readonly properties: {
69
- key: IStringValue;
70
- value: IValue;
71
- }[];
72
- readonly range: Range;
73
- }
74
- export type IValue = IStringValue | INumberValue | IBooleanValue | IArrayValue | IObjectValue | INullValue;
75
- export declare class PromptBody {
76
- readonly range: Range;
77
- private readonly linesWithEOL;
78
- readonly uri: URI;
79
- private _parsed;
80
- constructor(range: Range, linesWithEOL: string[], uri: URI);
81
- get fileReferences(): readonly IBodyFileReference[];
82
- get variableReferences(): readonly IBodyVariableReference[];
83
- get offset(): number;
84
- private getParsedBody;
85
- getContent(): string;
86
- resolveFilePath(path: string): URI | undefined;
87
- }
88
- export interface IBodyFileReference {
89
- readonly content: string;
90
- readonly range: Range;
91
- readonly isMarkdownLink: boolean;
92
- }
93
- export interface IBodyVariableReference {
94
- readonly name: string;
95
- readonly range: Range;
96
- readonly offset: number;
97
- }