@codingame/monaco-vscode-chat-service-override 21.6.0 → 22.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 (390) hide show
  1. package/index.js +3 -3
  2. package/package.json +41 -38
  3. package/vscode/src/vs/base/common/yaml.d.ts +74 -0
  4. package/vscode/src/vs/base/common/yaml.js +597 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +5 -5
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +91 -83
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +32 -21
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +13 -10
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +14 -33
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +14 -14
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +11 -11
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +12 -7
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.d.ts +1 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +98 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +13 -14
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +192 -216
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +47 -23
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +231 -175
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -18
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +200 -127
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +8 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +73 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +2 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +38 -38
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +10 -10
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +10 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +2 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +4 -3
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +7 -4
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +1 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +17 -24
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +4 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +3 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +6 -6
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +20 -20
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +4 -4
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.d.ts +1 -3
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.js +2 -13
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +41 -43
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +7 -7
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +45 -10
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +2 -2
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +4 -4
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +22 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +127 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +37 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +137 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +212 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +22 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +268 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +93 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +455 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +409 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +2 -6
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +65 -144
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +10 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +240 -107
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +131 -85
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +8 -8
  82. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +12 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +145 -26
  86. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +0 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css +4 -4
  90. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +262 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +7 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +2 -4
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +16 -22
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +7 -7
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +1 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +20 -19
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +3 -3
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +66 -83
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.d.ts +3 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +8 -6
  103. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +17 -24
  104. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  105. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +12 -10
  106. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  108. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +3 -3
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +9 -9
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.d.ts +1 -0
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +17 -9
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +8 -4
  114. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +74 -200
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +150 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.d.ts +2 -6
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +9 -33
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +2 -5
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +5 -19
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +18 -0
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +83 -0
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.d.ts +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +55 -0
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +2 -6
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +25 -68
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/{promptHeaderHovers.d.ts → promptHovers.d.ts} +5 -5
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/{promptHeaderHovers.js → promptHovers.js} +77 -75
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +13 -22
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +48 -0
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +456 -0
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.d.ts +7 -8
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +28 -21
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.d.ts +97 -0
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.js +247 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +118 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +10 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +33 -21
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +217 -83
  142. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +4 -3
  143. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -17
  144. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
  145. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  146. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +8 -2
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +24 -24
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +7 -7
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +33 -33
  151. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  152. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  153. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +13 -13
  154. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +1 -1
  155. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +3 -10
  158. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +7 -0
  159. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +1 -1
  160. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +25 -6
  161. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +1 -1
  162. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +25 -6
  163. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +1 -1
  164. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +24 -6
  165. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +1 -0
  166. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +20 -5
  167. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +5 -0
  168. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +3 -0
  169. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +3 -0
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +6 -2
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +5 -5
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +32 -13
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +14 -3
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +177 -107
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +2 -1
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +4 -0
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +113 -43
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +21 -17
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +11 -8
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +19 -15
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +17 -9
  187. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +0 -84
  188. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.js +0 -42
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.d.ts +0 -94
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.js +0 -107
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.d.ts +0 -27
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.js +0 -45
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.d.ts +0 -137
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.js +0 -150
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.d.ts +0 -57
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.js +0 -69
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.d.ts +0 -24
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.js +0 -33
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.d.ts +0 -8
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.js +0 -29
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.d.ts +0 -28
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.js +0 -118
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.d.ts +0 -33
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.js +0 -134
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.d.ts +0 -27
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.js +0 -34
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.d.ts +0 -48
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.js +0 -134
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.d.ts +0 -25
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.js +0 -64
  211. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.d.ts +0 -32
  212. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.js +0 -75
  213. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.d.ts +0 -42
  214. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.js +0 -41
  215. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.d.ts +0 -18
  216. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.js +0 -63
  217. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.d.ts +0 -61
  218. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.js +0 -127
  219. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.d.ts +0 -20
  220. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.js +0 -25
  221. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.d.ts +0 -34
  222. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.js +0 -64
  223. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.d.ts +0 -83
  224. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.js +0 -37
  225. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.d.ts +0 -27
  226. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.js +0 -57
  227. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.d.ts +0 -25
  228. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.js +0 -18
  229. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.d.ts +0 -21
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.js +0 -9
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.d.ts +0 -60
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.js +0 -100
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.d.ts +0 -28
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.js +0 -19
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.d.ts +0 -13
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.js +0 -20
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.d.ts +0 -28
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.js +0 -19
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.d.ts +0 -22
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.js +0 -72
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.d.ts +0 -42
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.js +0 -113
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.d.ts +0 -20
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.js +0 -68
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.d.ts +0 -73
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.js +0 -99
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.d.ts +0 -18
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.js +0 -19
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.d.ts +0 -50
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.js +0 -54
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.d.ts +0 -50
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.js +0 -53
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.d.ts +0 -7
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.js +0 -7
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.d.ts +0 -27
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.js +0 -68
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.d.ts +0 -49
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.js +0 -199
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.d.ts +0 -34
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.js +0 -37
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.d.ts +0 -30
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.js +0 -27
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.d.ts +0 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.js +0 -7
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.d.ts +0 -87
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.js +0 -30
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.d.ts +0 -30
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.js +0 -66
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.d.ts +0 -41
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.js +0 -23
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.d.ts +0 -19
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.js +0 -14
  273. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.d.ts +0 -41
  274. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.js +0 -23
  275. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.d.ts +0 -19
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.js +0 -14
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.d.ts +0 -19
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.js +0 -14
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.d.ts +0 -41
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.js +0 -23
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.d.ts +0 -19
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.js +0 -14
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.d.ts +0 -19
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.js +0 -14
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.d.ts +0 -25
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.js +0 -17
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.d.ts +0 -19
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.js +0 -14
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.d.ts +0 -19
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.js +0 -14
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.d.ts +0 -19
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.js +0 -14
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.d.ts +0 -41
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.js +0 -23
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.d.ts +0 -25
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.js +0 -17
  297. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.d.ts +0 -36
  298. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.js +0 -19
  299. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.d.ts +0 -19
  300. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.js +0 -14
  301. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.d.ts +0 -19
  302. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.js +0 -14
  303. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.d.ts +0 -19
  304. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.js +0 -14
  305. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.d.ts +0 -19
  306. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.js +0 -14
  307. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.d.ts +0 -32
  308. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.js +0 -29
  309. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.d.ts +0 -9
  310. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.js +0 -10
  311. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.d.ts +0 -62
  312. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.js +0 -126
  313. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.d.ts +0 -8
  314. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.js +0 -25
  315. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.d.ts +0 -42
  316. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.js +0 -13
  317. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.d.ts +0 -31
  318. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.js +0 -109
  319. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.d.ts +0 -27
  320. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.js +0 -80
  321. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.d.ts +0 -27
  322. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.js +0 -81
  323. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.d.ts +0 -36
  324. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.js +0 -100
  325. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.d.ts +0 -42
  326. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.js +0 -149
  327. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.d.ts +0 -19
  328. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.js +0 -20
  329. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.d.ts +0 -24
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.js +0 -25
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.d.ts +0 -24
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.js +0 -19
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.d.ts +0 -26
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.js +0 -25
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.d.ts +0 -6
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.js +0 -7
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.d.ts +0 -51
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.js +0 -48
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.d.ts +0 -17
  340. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.js +0 -71
  341. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.d.ts +0 -38
  342. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +0 -97
  343. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +0 -102
  344. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +0 -67
  345. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +0 -42
  346. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +0 -46
  347. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +0 -47
  348. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +0 -186
  349. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.d.ts +0 -30
  350. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +0 -54
  351. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceBase.d.ts +0 -24
  352. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceBase.js +0 -26
  353. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.d.ts +0 -37
  354. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.js +0 -87
  355. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.d.ts +0 -216
  356. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +0 -333
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.d.ts +0 -32
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.js +0 -20
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.d.ts +0 -107
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +0 -101
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +0 -26
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.js +0 -17
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.d.ts +0 -20
  364. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +0 -87
  365. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.d.ts +0 -65
  366. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.js +0 -37
  367. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +0 -24
  368. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +0 -57
  369. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.d.ts +0 -14
  370. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.js +0 -43
  371. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +0 -14
  372. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +0 -40
  373. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.d.ts +0 -11
  374. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.js +0 -43
  375. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.d.ts +0 -41
  376. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +0 -98
  377. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +0 -31
  378. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.js +0 -24
  379. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +0 -40
  380. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +0 -47
  381. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.d.ts +0 -22
  382. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.js +0 -36
  383. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +0 -17
  384. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +0 -25
  385. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.d.ts +0 -12
  386. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +0 -50
  387. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/objectCache.d.ts +0 -96
  388. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/objectCache.js +0 -39
  389. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.d.ts +0 -48
  390. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.js +0 -41
@@ -1,27 +1,34 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
- import { PromptsType, getPromptsTypeForLanguageId, PROMPT_LANGUAGE_ID, MODE_LANGUAGE_ID, getLanguageIdForPromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
5
- import { PromptParser } from '../parsers/promptParser.js';
6
- import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
4
+ import { PromptsType, getPromptsTypeForLanguageId, PROMPT_LANGUAGE_ID, MODE_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
7
5
  import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
8
6
  import { PromptFilesLocator } from '../utils/promptFilesLocator.js';
9
7
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
- import { ObjectCache } from '../utils/objectCache.js';
8
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
11
9
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
12
- import { TextModelPromptParser } from '../parsers/textModelPromptParser.js';
13
10
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
14
11
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
15
12
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
16
13
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
17
14
  import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
15
+ import { PromptsStorage } from './promptsService.js';
18
16
  import { getCleanPromptName, PROMPT_FILE_EXTENSION } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
19
17
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
20
18
  import { PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
21
19
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
20
+ import { NewPromptsParser } from './newPromptsParser.js';
21
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
22
+ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
23
+ import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
24
+ import { OffsetRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/offsetRange';
25
+ import { isEqual, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
26
+ import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
27
+ import { IFilesConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service';
22
28
 
29
+ var ChatModeUpdateTracker_1;
23
30
  let PromptsService = class PromptsService extends Disposable {
24
- constructor(logger, labelService, modelService, instantiationService, userDataService, languageService, configurationService) {
31
+ constructor(logger, labelService, modelService, instantiationService, userDataService, languageService, configurationService, fileService, filesConfigService) {
25
32
  super();
26
33
  this.logger = logger;
27
34
  this.labelService = labelService;
@@ -30,43 +37,74 @@ let PromptsService = class PromptsService extends Disposable {
30
37
  this.userDataService = userDataService;
31
38
  this.languageService = languageService;
32
39
  this.configurationService = configurationService;
40
+ this.fileService = fileService;
41
+ this.filesConfigService = filesConfigService;
42
+ this.parsedPromptFileCache = ( new ResourceMap());
43
+ this.contributedFiles = {
44
+ [PromptsType.prompt]: ( new ResourceMap()),
45
+ [PromptsType.instructions]: ( new ResourceMap()),
46
+ [PromptsType.mode]: ( new ResourceMap()),
47
+ };
33
48
  this.fileLocator = this._register(this.instantiationService.createInstance(PromptFilesLocator));
34
- this.cache = this._register(( new ObjectCache((model) => {
35
- assert(model.isDisposed() === false, 'Text model must not be disposed.');
36
- const parser = instantiationService.createInstance(TextModelPromptParser, model, { allowNonPromptFiles: true, languageId: undefined, updateOnChange: true }).start();
37
- parser.assertNotDisposed('Created prompt parser must not be disposed.');
38
- return parser;
39
- })));
49
+ this._register(this.modelService.onModelRemoved((model) => {
50
+ this.parsedPromptFileCache.delete(model.uri);
51
+ }));
40
52
  }
41
53
  get onDidChangeCustomChatModes() {
42
- if (!this.onDidChangeCustomChatModesEvent) {
43
- this.onDidChangeCustomChatModesEvent = this._register(this.fileLocator.createFilesUpdatedEvent(PromptsType.mode)).event;
44
- this._register(this.onDidChangeCustomChatModesEvent(() => {
54
+ if (!this.onDidChangeCustomChatModesEmitter) {
55
+ const emitter = this.onDidChangeCustomChatModesEmitter = this._register(( new Emitter()));
56
+ const chatModelTracker = this._register(( new ChatModeUpdateTracker(this.fileLocator, this.modelService)));
57
+ this._register(chatModelTracker.onDidChangeContent(() => {
45
58
  this.cachedCustomChatModes = undefined;
59
+ emitter.fire();
46
60
  }));
47
61
  }
48
- return this.onDidChangeCustomChatModesEvent;
62
+ return this.onDidChangeCustomChatModesEmitter.event;
49
63
  }
50
64
  getPromptFileType(uri) {
51
65
  const model = this.modelService.getModel(uri);
52
66
  const languageId = model ? model.getLanguageId() : this.languageService.guessLanguageIdByFilepathOrFirstLine(uri);
53
67
  return languageId ? getPromptsTypeForLanguageId(languageId) : undefined;
54
68
  }
55
- getSyntaxParserFor(model) {
56
- assert(model.isDisposed() === false, 'Cannot create a prompt syntax parser for a disposed model.');
57
- return this.cache.get(model);
69
+ getParsedPromptFile(textModel) {
70
+ const cached = this.parsedPromptFileCache.get(textModel.uri);
71
+ if (cached && cached[0] === textModel.getVersionId()) {
72
+ return cached[1];
73
+ }
74
+ const ast = ( new NewPromptsParser()).parse(textModel.uri, textModel.getValue());
75
+ if (!cached || cached[0] < textModel.getVersionId()) {
76
+ this.parsedPromptFileCache.set(textModel.uri, [textModel.getVersionId(), ast]);
77
+ }
78
+ return ast;
58
79
  }
59
80
  async listPromptFiles(type, token) {
60
81
  if (!PromptsConfig.enabled(this.configurationService)) {
61
82
  return [];
62
83
  }
63
84
  const prompts = await Promise.all([
64
- this.fileLocator.listFiles(type, 'user', token)
65
- .then(withType('user', type)),
66
- this.fileLocator.listFiles(type, 'local', token)
67
- .then(withType('local', type)),
85
+ this.fileLocator.listFiles(type, PromptsStorage.user, token).then(uris => ( uris.map(uri => ({ uri, storage: PromptsStorage.user, type })))),
86
+ this.fileLocator.listFiles(type, PromptsStorage.local, token).then(uris => ( uris.map(uri => ({ uri, storage: PromptsStorage.local, type })))),
87
+ this.getExtensionContributions(type)
68
88
  ]);
69
- return prompts.flat();
89
+ return [...prompts.flat()];
90
+ }
91
+ async listPromptFilesForStorage(type, storage, token) {
92
+ if (!PromptsConfig.enabled(this.configurationService)) {
93
+ return [];
94
+ }
95
+ switch (storage) {
96
+ case PromptsStorage.extension:
97
+ return this.getExtensionContributions(type);
98
+ case PromptsStorage.local:
99
+ return this.fileLocator.listFiles(type, PromptsStorage.local, token).then(uris => ( uris.map(uri => ({ uri, storage: PromptsStorage.local, type }))));
100
+ case PromptsStorage.user:
101
+ return this.fileLocator.listFiles(type, PromptsStorage.user, token).then(uris => ( uris.map(uri => ({ uri, storage: PromptsStorage.user, type }))));
102
+ default:
103
+ throw ( new Error(`[listPromptFilesForStorage] Unsupported prompt storage type: ${storage}`));
104
+ }
105
+ }
106
+ async getExtensionContributions(type) {
107
+ return Promise.all(( this.contributedFiles[type].values()));
70
108
  }
71
109
  getSourceFolders(type) {
72
110
  if (!PromptsConfig.enabled(this.configurationService)) {
@@ -74,15 +112,15 @@ let PromptsService = class PromptsService extends Disposable {
74
112
  }
75
113
  const result = [];
76
114
  for (const uri of this.fileLocator.getConfigBasedSourceFolders(type)) {
77
- result.push({ uri, storage: 'local', type });
115
+ result.push({ uri, storage: PromptsStorage.local, type });
78
116
  }
79
117
  const userHome = this.userDataService.currentProfile.promptsHome;
80
- result.push({ uri: userHome, storage: 'user', type });
118
+ result.push({ uri: userHome, storage: PromptsStorage.user, type });
81
119
  return result;
82
120
  }
83
121
  asPromptSlashCommand(command) {
84
122
  if (command.match(/^[\p{L}\d_\-\.]+$/u)) {
85
- return { command, detail: ( localize(5613, 'Prompt file: {0}', command)) };
123
+ return { command, detail: ( localize(5681, 'Prompt file: {0}', command)) };
86
124
  }
87
125
  return undefined;
88
126
  }
@@ -92,7 +130,7 @@ let PromptsService = class PromptsService extends Disposable {
92
130
  return undefined;
93
131
  }
94
132
  try {
95
- return await this.parse(promptUri, PromptsType.prompt, token);
133
+ return await this.parseNew(promptUri, token);
96
134
  }
97
135
  catch (error) {
98
136
  this.logger.error(`[resolvePromptSlashCommand] Failed to parse prompt file: ${promptUri}`, error);
@@ -103,26 +141,34 @@ let PromptsService = class PromptsService extends Disposable {
103
141
  if (data.promptPath) {
104
142
  return data.promptPath.uri;
105
143
  }
106
- const files = await this.listPromptFiles(PromptsType.prompt, CancellationToken.None);
144
+ const promptPaths = await this.listPromptFiles(PromptsType.prompt, CancellationToken.None);
107
145
  const command = data.command;
108
- const result = files.find(file => getPromptCommandName(file.uri.path) === command);
146
+ const result = promptPaths.find(promptPath => getCommandNameFromPromptPath(promptPath) === command);
109
147
  if (result) {
110
148
  return result.uri;
111
149
  }
112
- const textModel = this.modelService.getModels().find(model => model.getLanguageId() === PROMPT_LANGUAGE_ID && getPromptCommandName(model.uri.path) === command);
150
+ const textModel = this.modelService.getModels().find(model => model.getLanguageId() === PROMPT_LANGUAGE_ID && getCommandNameFromURI(model.uri) === command);
113
151
  if (textModel) {
114
152
  return textModel.uri;
115
153
  }
116
154
  return undefined;
117
155
  }
156
+ async getPromptCommandName(uri) {
157
+ const promptPaths = await this.listPromptFiles(PromptsType.prompt, CancellationToken.None);
158
+ const promptPath = promptPaths.find(promptPath => isEqual(promptPath.uri, uri));
159
+ if (!promptPath) {
160
+ return getCommandNameFromURI(uri);
161
+ }
162
+ return getCommandNameFromPromptPath(promptPath);
163
+ }
118
164
  async findPromptSlashCommands() {
119
165
  const promptFiles = await this.listPromptFiles(PromptsType.prompt, CancellationToken.None);
120
166
  return (promptFiles.map(promptPath => {
121
- const command = getPromptCommandName(promptPath.uri.path);
167
+ const command = getCommandNameFromPromptPath(promptPath);
122
168
  return {
123
169
  command,
124
170
  detail: ( localize(
125
- 5613,
171
+ 5681,
126
172
  'Prompt file: {0}',
127
173
  this.labelService.getUriLabel(promptPath.uri, { relative: true })
128
174
  )),
@@ -133,7 +179,7 @@ let PromptsService = class PromptsService extends Disposable {
133
179
  async getCustomChatModes(token) {
134
180
  if (!this.cachedCustomChatModes) {
135
181
  const customChatModes = this.computeCustomChatModes(token);
136
- if (!this.onDidChangeCustomChatModesEvent) {
182
+ if (!this.onDidChangeCustomChatModesEmitter) {
137
183
  return customChatModes;
138
184
  }
139
185
  this.cachedCustomChatModes = customChatModes;
@@ -142,48 +188,101 @@ let PromptsService = class PromptsService extends Disposable {
142
188
  }
143
189
  async computeCustomChatModes(token) {
144
190
  const modeFiles = await this.listPromptFiles(PromptsType.mode, token);
145
- const metadataList = await Promise.all(( modeFiles.map(async ({ uri }) => {
146
- let parser;
147
- try {
148
- parser = this.instantiationService.createInstance(PromptParser, uri, { allowNonPromptFiles: true, languageId: MODE_LANGUAGE_ID, updateOnChange: false }).start(token);
149
- const completed = await parser.settled();
150
- if (!completed) {
151
- throw ( new Error(( localize(5614, "Prompt parser for {0} did not complete.", (uri.toString())))));
191
+ const customChatModes = await Promise.all(( modeFiles.map(async ({ uri, name: modeName }) => {
192
+ const ast = await this.parseNew(uri, token);
193
+ let metadata;
194
+ if (ast.header) {
195
+ const advanced = ast.header.getAttribute('advancedOptions');
196
+ if (advanced && advanced.value.type === 'object') {
197
+ metadata = {};
198
+ for (const [key, value] of Object.entries(advanced.value)) {
199
+ if (['string', 'number', 'boolean'].includes(value.type)) {
200
+ metadata[key] = value;
201
+ }
202
+ }
152
203
  }
153
- const body = await parser.getBody();
154
- const name = getCleanPromptName(uri);
155
- const metadata = parser.metadata;
156
- if (metadata?.promptType !== PromptsType.mode) {
157
- return { uri, name, body };
204
+ }
205
+ const toolReferences = [];
206
+ if (ast.body) {
207
+ const bodyOffset = ast.body.offset;
208
+ const bodyVarRefs = ast.body.variableReferences;
209
+ for (let i = bodyVarRefs.length - 1; i >= 0; i--) {
210
+ const { name, offset } = bodyVarRefs[i];
211
+ const range = ( new OffsetRange(offset - bodyOffset, offset - bodyOffset + name.length + 1));
212
+ toolReferences.push({ name, range });
158
213
  }
159
- const { description, model, tools } = metadata;
160
- return { uri, name, description, model, tools, body };
161
214
  }
162
- finally {
163
- parser?.dispose();
215
+ const modeInstructions = {
216
+ content: ast.body?.getContent() ?? '',
217
+ toolReferences,
218
+ metadata,
219
+ };
220
+ const name = modeName ?? getCleanPromptName(uri);
221
+ if (!ast.header) {
222
+ return { uri, name, modeInstructions };
164
223
  }
224
+ const { description, model, tools } = ast.header;
225
+ return { uri, name, description, model, tools, modeInstructions };
165
226
  })));
166
- return metadataList;
227
+ return customChatModes;
167
228
  }
168
- async parse(uri, type, token) {
169
- let parser;
170
- try {
171
- const languageId = getLanguageIdForPromptsType(type);
172
- parser = this.instantiationService.createInstance(PromptParser, uri, { allowNonPromptFiles: true, languageId, updateOnChange: false }).start(token);
173
- const completed = await parser.settled();
174
- if (!completed) {
175
- throw ( new Error(( localize(5614, "Prompt parser for {0} did not complete.", (uri.toString())))));
176
- }
177
- return {
178
- uri: parser.uri,
179
- metadata: parser.metadata,
180
- topError: parser.topError,
181
- references: ( parser.references.map(ref => ref.uri))
182
- };
229
+ async parseNew(uri, token) {
230
+ const model = this.modelService.getModel(uri);
231
+ if (model) {
232
+ return this.getParsedPromptFile(model);
183
233
  }
184
- finally {
185
- parser?.dispose();
234
+ const fileContent = await this.fileService.readFile(uri);
235
+ if (token.isCancellationRequested) {
236
+ throw ( new CancellationError());
186
237
  }
238
+ return ( new NewPromptsParser()).parse(uri, ( fileContent.value.toString()));
239
+ }
240
+ registerContributedFile(type, name, description, uri, extension) {
241
+ const bucket = this.contributedFiles[type];
242
+ if (( bucket.has(uri))) {
243
+ return Disposable.None;
244
+ }
245
+ const entryPromise = (async () => {
246
+ try {
247
+ await this.filesConfigService.updateReadonly(uri, true);
248
+ }
249
+ catch (e) {
250
+ const msg = e instanceof Error ? e.message : String(e);
251
+ this.logger.error(`[registerContributedFile] Failed to make prompt file readonly: ${uri}`, msg);
252
+ }
253
+ return { uri, name, description, storage: PromptsStorage.extension, type, extension };
254
+ })();
255
+ bucket.set(uri, entryPromise);
256
+ const updateModesIfRequired = () => {
257
+ if (type === PromptsType.mode) {
258
+ this.cachedCustomChatModes = undefined;
259
+ this.onDidChangeCustomChatModesEmitter?.fire();
260
+ }
261
+ };
262
+ updateModesIfRequired();
263
+ return {
264
+ dispose: () => {
265
+ bucket.delete(uri);
266
+ updateModesIfRequired();
267
+ }
268
+ };
269
+ }
270
+ getPromptLocationLabel(promptPath) {
271
+ switch (promptPath.storage) {
272
+ case PromptsStorage.local: return this.labelService.getUriLabel(dirname(promptPath.uri), { relative: true });
273
+ case PromptsStorage.user: return localize(5682, 'User Data');
274
+ case PromptsStorage.extension: {
275
+ return localize(
276
+ 5683,
277
+ 'Extension: {0}',
278
+ promptPath.extension.displayName ?? promptPath.extension.id
279
+ );
280
+ }
281
+ default: throw ( new Error('Unknown prompt storage type'));
282
+ }
283
+ }
284
+ findAgentMDsInWorkspace(token) {
285
+ return this.fileLocator.findAgentMDsInWorkspace(token);
187
286
  }
188
287
  };
189
288
  PromptsService = ( __decorate([
@@ -193,22 +292,57 @@ PromptsService = ( __decorate([
193
292
  ( __param(3, IInstantiationService)),
194
293
  ( __param(4, IUserDataProfileService)),
195
294
  ( __param(5, ILanguageService)),
196
- ( __param(6, IConfigurationService))
295
+ ( __param(6, IConfigurationService)),
296
+ ( __param(7, IFileService)),
297
+ ( __param(8, IFilesConfigurationService))
197
298
  ], PromptsService));
198
- function getPromptCommandName(path) {
199
- const name = basename(path, PROMPT_FILE_EXTENSION);
200
- return name;
201
- }
202
- function addType(storage, type) {
203
- return (uri) => {
204
- return { uri, storage, type };
205
- };
299
+ function getCommandNameFromPromptPath(promptPath) {
300
+ return promptPath.name ?? getCommandNameFromURI(promptPath.uri);
206
301
  }
207
- function withType(storage, type) {
208
- return (uris) => {
209
- return ( uris
210
- .map(addType(storage, type)));
211
- };
302
+ function getCommandNameFromURI(uri) {
303
+ return basename(uri.fsPath, PROMPT_FILE_EXTENSION);
212
304
  }
305
+ let ChatModeUpdateTracker = class ChatModeUpdateTracker extends Disposable {
306
+ static { ChatModeUpdateTracker_1 = this; }
307
+ static { this.CHAT_MODE_UPDATE_DELAY_MS = 200; }
308
+ get onDidChangeContent() {
309
+ return this.onDidChatModeModelChange.event;
310
+ }
311
+ constructor(fileLocator, modelService) {
312
+ super();
313
+ this.listeners = ( new ResourceMap());
314
+ this.onDidChatModeModelChange = this._register(( new Emitter()));
315
+ const delayer = this._register(( new Delayer(ChatModeUpdateTracker_1.CHAT_MODE_UPDATE_DELAY_MS)));
316
+ const trigger = () => delayer.trigger(() => this.onDidChatModeModelChange.fire());
317
+ const filesUpdatedEventRegistration = this._register(fileLocator.createFilesUpdatedEvent(PromptsType.mode));
318
+ this._register(filesUpdatedEventRegistration.event(() => trigger()));
319
+ const onAdd = (model) => {
320
+ if (model.getLanguageId() === MODE_LANGUAGE_ID) {
321
+ this.listeners.set(model.uri, model.onDidChangeContent(() => trigger()));
322
+ }
323
+ };
324
+ const onRemove = (languageId, uri) => {
325
+ if (languageId === MODE_LANGUAGE_ID) {
326
+ this.listeners.get(uri)?.dispose();
327
+ this.listeners.delete(uri);
328
+ trigger();
329
+ }
330
+ };
331
+ this._register(modelService.onModelAdded(model => onAdd(model)));
332
+ this._register(modelService.onModelLanguageChanged(e => {
333
+ onRemove(e.oldLanguageId, e.model.uri);
334
+ onAdd(e.model);
335
+ }));
336
+ this._register(modelService.onModelRemoved(model => onRemove(model.getLanguageId(), model.uri)));
337
+ }
338
+ dispose() {
339
+ super.dispose();
340
+ this.listeners.forEach(listener => listener.dispose());
341
+ this.listeners.clear();
342
+ }
343
+ };
344
+ ChatModeUpdateTracker = ChatModeUpdateTracker_1 = ( __decorate([
345
+ ( __param(1, IModelService))
346
+ ], ChatModeUpdateTracker));
213
347
 
214
- export { PromptsService, getPromptCommandName };
348
+ export { ChatModeUpdateTracker, PromptsService };
@@ -6,7 +6,7 @@ import { PromptsType } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02
6
6
  import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
7
7
  import { ISearchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search.service";
8
8
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
9
- import { TPromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
9
+ import { PromptsStorage } from "../service/promptsService.js";
10
10
  import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
11
11
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
12
12
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
@@ -28,9 +28,8 @@ export declare class PromptFilesLocator extends Disposable {
28
28
  *
29
29
  * @returns List of prompt files found in the workspace.
30
30
  */
31
- listFiles(type: PromptsType, storage: TPromptsStorage, token: CancellationToken): Promise<readonly URI[]>;
31
+ listFiles(type: PromptsType, storage: PromptsStorage, token: CancellationToken): Promise<readonly URI[]>;
32
32
  private listFilesInUserData;
33
- getCopilotInstructionsFiles(instructionFilePaths: Iterable<string>): Promise<URI[]>;
34
33
  createFilesUpdatedEvent(type: PromptsType): {
35
34
  readonly event: Event<void>;
36
35
  dispose: () => void;
@@ -69,6 +68,8 @@ export declare class PromptFilesLocator extends Disposable {
69
68
  * Uses the search service to find all files at the provided location
70
69
  */
71
70
  private searchFilesInLocation;
71
+ findAgentMDsInWorkspace(token: CancellationToken): Promise<URI[]>;
72
+ private findAgentMDsInFolder;
72
73
  }
73
74
  /**
74
75
  * Checks if the provided `pattern` could be a valid glob pattern.
@@ -5,7 +5,7 @@ import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/p
5
5
  import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
6
6
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
7
7
  import { getPromptFileLocationsConfigKey, PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
8
- import { joinPath, basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
+ import { basename, dirname, joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
9
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
10
10
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
11
11
  import { getPromptFileType, getPromptFileExtension } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
@@ -14,6 +14,7 @@ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/netw
14
14
  import { getExcludes, QueryType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search';
15
15
  import { ISearchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search.service';
16
16
  import { isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
17
+ import { PromptsStorage } from '../service/promptsService.js';
17
18
  import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
18
19
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
19
20
  import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
@@ -31,30 +32,18 @@ let PromptFilesLocator = class PromptFilesLocator extends Disposable {
31
32
  this.logService = logService;
32
33
  }
33
34
  async listFiles(type, storage, token) {
34
- if (storage === 'local') {
35
+ if (storage === PromptsStorage.local) {
35
36
  return await this.listFilesInLocal(type, token);
36
37
  }
37
- else {
38
+ else if (storage === PromptsStorage.user) {
38
39
  return await this.listFilesInUserData(type, token);
39
40
  }
41
+ throw ( new Error(`Unsupported prompt file storage: ${storage}`));
40
42
  }
41
43
  async listFilesInUserData(type, token) {
42
44
  const files = await this.resolveFilesAtLocation(this.userDataService.currentProfile.promptsHome, token);
43
45
  return files.filter(file => getPromptFileType(file) === type);
44
46
  }
45
- async getCopilotInstructionsFiles(instructionFilePaths) {
46
- const { folders } = this.workspaceService.getWorkspace();
47
- const result = [];
48
- for (const folder of folders) {
49
- for (const instructionFilePath of instructionFilePaths) {
50
- const file = joinPath(folder.uri, instructionFilePath);
51
- if (await this.fileService.exists(file)) {
52
- result.push(file);
53
- }
54
- }
55
- }
56
- return result;
57
- }
58
47
  createFilesUpdatedEvent(type) {
59
48
  const disposables = ( new DisposableStore());
60
49
  const eventEmitter = disposables.add(( new Emitter()));
@@ -197,7 +186,35 @@ let PromptFilesLocator = class PromptFilesLocator extends Disposable {
197
186
  };
198
187
  try {
199
188
  const searchResult = await this.searchService.fileSearch(searchOptions, token);
200
- if (token?.isCancellationRequested) {
189
+ if (token.isCancellationRequested) {
190
+ return [];
191
+ }
192
+ return ( searchResult.results.map(r => r.resource));
193
+ }
194
+ catch (e) {
195
+ if (!isCancellationError(e)) {
196
+ throw e;
197
+ }
198
+ }
199
+ return [];
200
+ }
201
+ async findAgentMDsInWorkspace(token) {
202
+ const result = await Promise.all(( this.workspaceService.getWorkspace().folders.map(folder => this.findAgentMDsInFolder(folder.uri, token))));
203
+ return result.flat(1);
204
+ }
205
+ async findAgentMDsInFolder(folder, token) {
206
+ const disregardIgnoreFiles = this.configService.getValue('explorer.excludeGitIgnore');
207
+ const getExcludePattern = (folder) => getExcludes(this.configService.getValue({ resource: folder })) || {};
208
+ const searchOptions = {
209
+ folderQueries: [{ folder, disregardIgnoreFiles }],
210
+ type: QueryType.File,
211
+ shouldGlobMatchFilePattern: true,
212
+ excludePattern: getExcludePattern(folder),
213
+ filePattern: '**/AGENTS.md',
214
+ };
215
+ try {
216
+ const searchResult = await this.searchService.fileSearch(searchOptions, token);
217
+ if (token.isCancellationRequested) {
201
218
  return [];
202
219
  }
203
220
  return ( searchResult.results.map(r => r.resource));