@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
@@ -0,0 +1,456 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { splitGlobAware, parse, isEmptyPattern } from '@codingame/monaco-vscode-api/vscode/vs/base/common/glob';
4
+ import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
5
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
6
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
+ import { MarkerSeverity } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers';
10
+ import { IMarkerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service';
11
+ import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
12
+ import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
13
+ import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
14
+ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
15
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
16
+ import { PromptsType, getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
17
+ import { PromptsConfig } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
18
+ import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
19
+ import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
20
+ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
21
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
22
+ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
23
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
24
+
25
+ const MARKERS_OWNER_ID = 'prompts-diagnostics-provider';
26
+ let PromptValidator = class PromptValidator {
27
+ constructor(languageModelsService, languageModelToolsService, chatModeService, fileService, labelService) {
28
+ this.languageModelsService = languageModelsService;
29
+ this.languageModelToolsService = languageModelToolsService;
30
+ this.chatModeService = chatModeService;
31
+ this.fileService = fileService;
32
+ this.labelService = labelService;
33
+ }
34
+ async validate(promptAST, promptType, report) {
35
+ promptAST.header?.errors.forEach(error => report(toMarker(error.message, error.range, MarkerSeverity.Error)));
36
+ this.validateHeader(promptAST, promptType, report);
37
+ await this.validateBody(promptAST, report);
38
+ }
39
+ async validateBody(promptAST, report) {
40
+ const body = promptAST.body;
41
+ if (!body) {
42
+ return;
43
+ }
44
+ const fileReferenceChecks = [];
45
+ for (const ref of body.fileReferences) {
46
+ const resolved = body.resolveFilePath(ref.content);
47
+ if (!resolved) {
48
+ report(toMarker(( localize(5656, "Invalid file reference '{0}'.", ref.content)), ref.range, MarkerSeverity.Warning));
49
+ continue;
50
+ }
51
+ fileReferenceChecks.push((async () => {
52
+ try {
53
+ const exists = await this.fileService.exists(resolved);
54
+ if (exists) {
55
+ return;
56
+ }
57
+ }
58
+ catch {
59
+ }
60
+ const loc = this.labelService.getUriLabel(resolved);
61
+ report(toMarker(( localize(5657, "File '{0}' not found at '{1}'.", ref.content, loc)), ref.range, MarkerSeverity.Warning));
62
+ })());
63
+ }
64
+ if (body.variableReferences.length) {
65
+ const headerTools = promptAST.header?.tools;
66
+ const headerToolsMap = headerTools ? this.languageModelToolsService.toToolAndToolSetEnablementMap(headerTools) : undefined;
67
+ const available = ( new Set(this.languageModelToolsService.getQualifiedToolNames()));
68
+ const deprecatedNames = this.languageModelToolsService.getDeprecatedQualifiedToolNames();
69
+ for (const variable of body.variableReferences) {
70
+ if (!( available.has(variable.name))) {
71
+ if (( deprecatedNames.has(variable.name))) {
72
+ const currentName = deprecatedNames.get(variable.name);
73
+ report(toMarker(( localize(
74
+ 5658,
75
+ "Tool or toolset '{0}' has been renamed, use '{1}' instead.",
76
+ variable.name,
77
+ currentName
78
+ )), variable.range, MarkerSeverity.Info));
79
+ }
80
+ else {
81
+ report(toMarker(( localize(5659, "Unknown tool or toolset '{0}'.", variable.name)), variable.range, MarkerSeverity.Warning));
82
+ }
83
+ }
84
+ else if (headerToolsMap) {
85
+ const tool = this.languageModelToolsService.getToolByQualifiedName(variable.name);
86
+ if (tool && headerToolsMap.get(tool) === false) {
87
+ report(toMarker(( localize(
88
+ 5660,
89
+ "Tool or toolset '{0}' also needs to be enabled in the header.",
90
+ variable.name
91
+ )), variable.range, MarkerSeverity.Warning));
92
+ }
93
+ }
94
+ }
95
+ }
96
+ await Promise.all(fileReferenceChecks);
97
+ }
98
+ validateHeader(promptAST, promptType, report) {
99
+ const header = promptAST.header;
100
+ if (!header) {
101
+ return;
102
+ }
103
+ const validAttributeNames = getValidAttributeNames(promptType, true);
104
+ const attributes = header.attributes;
105
+ for (const attribute of attributes) {
106
+ if (!validAttributeNames.includes(attribute.key)) {
107
+ const supportedNames = getValidAttributeNames(promptType, false).join(', ');
108
+ switch (promptType) {
109
+ case PromptsType.prompt:
110
+ report(toMarker(( localize(
111
+ 5661,
112
+ "Attribute '{0}' is not supported in prompt files. Supported: {1}.",
113
+ attribute.key,
114
+ supportedNames
115
+ )), attribute.range, MarkerSeverity.Warning));
116
+ break;
117
+ case PromptsType.mode:
118
+ report(toMarker(( localize(
119
+ 5662,
120
+ "Attribute '{0}' is not supported in mode files. Supported: {1}.",
121
+ attribute.key,
122
+ supportedNames
123
+ )), attribute.range, MarkerSeverity.Warning));
124
+ break;
125
+ case PromptsType.instructions:
126
+ report(toMarker(( localize(
127
+ 5663,
128
+ "Attribute '{0}' is not supported in instructions files. Supported: {1}.",
129
+ attribute.key,
130
+ supportedNames
131
+ )), attribute.range, MarkerSeverity.Warning));
132
+ break;
133
+ }
134
+ }
135
+ }
136
+ this.validateDescription(attributes, report);
137
+ switch (promptType) {
138
+ case PromptsType.prompt: {
139
+ const mode = this.validateMode(attributes, report);
140
+ this.validateTools(attributes, mode?.kind ?? ChatModeKind.Agent, report);
141
+ this.validateModel(attributes, mode?.kind ?? ChatModeKind.Agent, report);
142
+ break;
143
+ }
144
+ case PromptsType.instructions:
145
+ this.validateApplyTo(attributes, report);
146
+ this.validateExcludeAgent(attributes, report);
147
+ break;
148
+ case PromptsType.mode:
149
+ this.validateTools(attributes, ChatModeKind.Agent, report);
150
+ this.validateModel(attributes, ChatModeKind.Agent, report);
151
+ break;
152
+ }
153
+ }
154
+ validateDescription(attributes, report) {
155
+ const descriptionAttribute = attributes.find(attr => attr.key === 'description');
156
+ if (!descriptionAttribute) {
157
+ return;
158
+ }
159
+ if (descriptionAttribute.value.type !== 'string') {
160
+ report(toMarker(( localize(5664, "The 'description' attribute must be a string.")), descriptionAttribute.range, MarkerSeverity.Error));
161
+ return;
162
+ }
163
+ if (descriptionAttribute.value.value.trim().length === 0) {
164
+ report(toMarker(( localize(5665, "The 'description' attribute should not be empty.")), descriptionAttribute.value.range, MarkerSeverity.Error));
165
+ return;
166
+ }
167
+ }
168
+ validateModel(attributes, modeKind, report) {
169
+ const attribute = attributes.find(attr => attr.key === 'model');
170
+ if (!attribute) {
171
+ return;
172
+ }
173
+ if (attribute.value.type !== 'string') {
174
+ report(toMarker(( localize(5666, "The 'model' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
175
+ return;
176
+ }
177
+ const modelName = attribute.value.value.trim();
178
+ if (modelName.length === 0) {
179
+ report(toMarker(( localize(5667, "The 'model' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
180
+ return;
181
+ }
182
+ const languageModes = this.languageModelsService.getLanguageModelIds();
183
+ if (languageModes.length === 0) {
184
+ return;
185
+ }
186
+ const modelMetadata = this.findModelByName(languageModes, modelName);
187
+ if (!modelMetadata) {
188
+ report(toMarker(( localize(5668, "Unknown model '{0}'.", modelName)), attribute.value.range, MarkerSeverity.Warning));
189
+ }
190
+ else if (modeKind === ChatModeKind.Agent && !ILanguageModelChatMetadata.suitableForAgentMode(modelMetadata)) {
191
+ report(toMarker(( localize(5669, "Model '{0}' is not suited for agent mode.", modelName)), attribute.value.range, MarkerSeverity.Warning));
192
+ }
193
+ }
194
+ findModelByName(languageModes, modelName) {
195
+ for (const model of languageModes) {
196
+ const metadata = this.languageModelsService.lookupLanguageModel(model);
197
+ if (metadata && metadata.isUserSelectable !== false && ILanguageModelChatMetadata.matchesQualifiedName(modelName, metadata)) {
198
+ return metadata;
199
+ }
200
+ }
201
+ return undefined;
202
+ }
203
+ validateMode(attributes, report) {
204
+ const attribute = attributes.find(attr => attr.key === 'mode');
205
+ if (!attribute) {
206
+ return undefined;
207
+ }
208
+ if (attribute.value.type !== 'string') {
209
+ report(toMarker(( localize(5670, "The 'mode' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
210
+ return undefined;
211
+ }
212
+ const modeValue = attribute.value.value;
213
+ if (modeValue.trim().length === 0) {
214
+ report(toMarker(( localize(5671, "The 'mode' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
215
+ return undefined;
216
+ }
217
+ const modes = this.chatModeService.getModes();
218
+ const availableModes = [];
219
+ for (const mode of Iterable.concat(modes.builtin, modes.custom)) {
220
+ if (mode.name === modeValue) {
221
+ return mode;
222
+ }
223
+ availableModes.push(mode.name);
224
+ }
225
+ const errorMessage = ( localize(
226
+ 5672,
227
+ "Unknown mode '{0}'. Available modes: {1}.",
228
+ modeValue,
229
+ availableModes.join(', ')
230
+ ));
231
+ report(toMarker(errorMessage, attribute.value.range, MarkerSeverity.Warning));
232
+ return undefined;
233
+ }
234
+ validateTools(attributes, modeKind, report) {
235
+ const attribute = attributes.find(attr => attr.key === 'tools');
236
+ if (!attribute) {
237
+ return;
238
+ }
239
+ if (modeKind !== ChatModeKind.Agent) {
240
+ report(toMarker(( localize(
241
+ 5673,
242
+ "The 'tools' attribute is only supported in agent mode. Attribute will be ignored."
243
+ )), attribute.range, MarkerSeverity.Warning));
244
+ }
245
+ switch (attribute.value.type) {
246
+ case 'array':
247
+ this.validateToolsArray(attribute.value, report);
248
+ break;
249
+ default:
250
+ report(toMarker(( localize(5674, "The 'tools' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
251
+ }
252
+ }
253
+ validateToolsArray(valueItem, report) {
254
+ if (valueItem.items.length > 0) {
255
+ const available = ( new Set(this.languageModelToolsService.getQualifiedToolNames()));
256
+ const deprecatedNames = this.languageModelToolsService.getDeprecatedQualifiedToolNames();
257
+ for (const item of valueItem.items) {
258
+ if (item.type !== 'string') {
259
+ report(toMarker(( localize(5675, "Each tool name in the 'tools' attribute must be a string.")), item.range, MarkerSeverity.Error));
260
+ }
261
+ else if (item.value && !( available.has(item.value))) {
262
+ if (( deprecatedNames.has(item.value))) {
263
+ const currentName = deprecatedNames.get(item.value);
264
+ report(toMarker(( localize(
265
+ 5676,
266
+ "Tool or toolset '{0}' has been renamed, use '{1}' instead.",
267
+ item.value,
268
+ currentName
269
+ )), item.range, MarkerSeverity.Info));
270
+ }
271
+ else {
272
+ report(toMarker(( localize(5677, "Unknown tool '{0}'.", item.value)), item.range, MarkerSeverity.Warning));
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+ validateApplyTo(attributes, report) {
279
+ const attribute = attributes.find(attr => attr.key === 'applyTo');
280
+ if (!attribute) {
281
+ return;
282
+ }
283
+ if (attribute.value.type !== 'string') {
284
+ report(toMarker(( localize(5678, "The 'applyTo' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
285
+ return;
286
+ }
287
+ const pattern = attribute.value.value;
288
+ try {
289
+ const patterns = splitGlobAware(pattern, ',');
290
+ if (patterns.length === 0) {
291
+ report(toMarker(( localize(5679, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
292
+ return;
293
+ }
294
+ for (const pattern of patterns) {
295
+ const globPattern = parse(pattern);
296
+ if (isEmptyPattern(globPattern)) {
297
+ report(toMarker(( localize(5679, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
298
+ return;
299
+ }
300
+ }
301
+ }
302
+ catch (_error) {
303
+ report(toMarker(( localize(5679, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
304
+ }
305
+ }
306
+ validateExcludeAgent(attributes, report) {
307
+ const attribute = attributes.find(attr => attr.key === 'excludeAgent');
308
+ if (!attribute) {
309
+ return;
310
+ }
311
+ if (attribute.value.type !== 'array') {
312
+ report(toMarker(( localize(5680, "The 'excludeAgent' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
313
+ return;
314
+ }
315
+ }
316
+ };
317
+ PromptValidator = ( __decorate([
318
+ ( __param(0, ILanguageModelsService)),
319
+ ( __param(1, ILanguageModelToolsService)),
320
+ ( __param(2, IChatModeService)),
321
+ ( __param(3, IFileService)),
322
+ ( __param(4, ILabelService))
323
+ ], PromptValidator));
324
+ const validAttributeNames = {
325
+ [PromptsType.prompt]: ['description', 'model', 'tools', 'mode'],
326
+ [PromptsType.instructions]: ['description', 'applyTo', 'excludeAgent'],
327
+ [PromptsType.mode]: ['description', 'model', 'tools', 'advancedOptions']
328
+ };
329
+ const validAttributeNamesNoExperimental = {
330
+ [PromptsType.prompt]: validAttributeNames[PromptsType.prompt].filter(name => !isExperimentalAttribute(name)),
331
+ [PromptsType.instructions]: validAttributeNames[PromptsType.instructions].filter(name => !isExperimentalAttribute(name)),
332
+ [PromptsType.mode]: validAttributeNames[PromptsType.mode].filter(name => !isExperimentalAttribute(name))
333
+ };
334
+ function getValidAttributeNames(promptType, includeExperimental) {
335
+ return includeExperimental ? validAttributeNames[promptType] : validAttributeNamesNoExperimental[promptType];
336
+ }
337
+ function isExperimentalAttribute(attributeName) {
338
+ return attributeName === 'advancedOptions' || attributeName === 'excludeAgent';
339
+ }
340
+ function toMarker(message, range, severity = MarkerSeverity.Error) {
341
+ return { severity, message, ...range };
342
+ }
343
+ let PromptValidatorContribution = class PromptValidatorContribution extends Disposable {
344
+ constructor(modelService, instantiationService, configService, markerService, promptsService, languageModelsService, languageModelToolsService, chatModeService) {
345
+ super();
346
+ this.modelService = modelService;
347
+ this.configService = configService;
348
+ this.markerService = markerService;
349
+ this.promptsService = promptsService;
350
+ this.languageModelsService = languageModelsService;
351
+ this.languageModelToolsService = languageModelToolsService;
352
+ this.chatModeService = chatModeService;
353
+ this.localDisposables = this._register(( new DisposableStore()));
354
+ this.validator = instantiationService.createInstance(PromptValidator);
355
+ this.updateRegistration();
356
+ this._register(this.configService.onDidChangeConfiguration(e => {
357
+ if (e.affectsConfiguration(PromptsConfig.KEY)) {
358
+ this.updateRegistration();
359
+ }
360
+ }));
361
+ }
362
+ updateRegistration() {
363
+ this.localDisposables.clear();
364
+ if (!PromptsConfig.enabled(this.configService)) {
365
+ return;
366
+ }
367
+ const trackers = ( new ResourceMap());
368
+ this.localDisposables.add(toDisposable(() => {
369
+ trackers.forEach(tracker => tracker.dispose());
370
+ }));
371
+ const validateAllDelayer = this._register(( new Delayer(200)));
372
+ const validateAll = () => {
373
+ validateAllDelayer.trigger(async () => {
374
+ this.modelService.getModels().forEach(model => {
375
+ const promptType = getPromptsTypeForLanguageId(model.getLanguageId());
376
+ if (promptType) {
377
+ trackers.set(model.uri, ( new ModelTracker(model, promptType, this.validator, this.promptsService, this.markerService)));
378
+ }
379
+ });
380
+ });
381
+ };
382
+ this.localDisposables.add(this.modelService.onModelAdded((model) => {
383
+ const promptType = getPromptsTypeForLanguageId(model.getLanguageId());
384
+ if (promptType) {
385
+ trackers.set(model.uri, ( new ModelTracker(model, promptType, this.validator, this.promptsService, this.markerService)));
386
+ }
387
+ }));
388
+ this.localDisposables.add(this.modelService.onModelRemoved((model) => {
389
+ const promptType = getPromptsTypeForLanguageId(model.getLanguageId());
390
+ if (promptType) {
391
+ const tracker = trackers.get(model.uri);
392
+ if (tracker) {
393
+ tracker.dispose();
394
+ trackers.delete(model.uri);
395
+ }
396
+ }
397
+ }));
398
+ this.localDisposables.add(this.modelService.onModelLanguageChanged((event) => {
399
+ const { model } = event;
400
+ const tracker = trackers.get(model.uri);
401
+ if (tracker) {
402
+ tracker.dispose();
403
+ trackers.delete(model.uri);
404
+ }
405
+ const promptType = getPromptsTypeForLanguageId(model.getLanguageId());
406
+ if (promptType) {
407
+ trackers.set(model.uri, ( new ModelTracker(model, promptType, this.validator, this.promptsService, this.markerService)));
408
+ }
409
+ }));
410
+ this.localDisposables.add(this.languageModelToolsService.onDidChangeTools(() => validateAll()));
411
+ this.localDisposables.add(this.chatModeService.onDidChangeChatModes(() => validateAll()));
412
+ this.localDisposables.add(this.languageModelsService.onDidChangeLanguageModels(() => validateAll()));
413
+ validateAll();
414
+ }
415
+ };
416
+ PromptValidatorContribution = ( __decorate([
417
+ ( __param(0, IModelService)),
418
+ ( __param(1, IInstantiationService)),
419
+ ( __param(2, IConfigurationService)),
420
+ ( __param(3, IMarkerService)),
421
+ ( __param(4, IPromptsService)),
422
+ ( __param(5, ILanguageModelsService)),
423
+ ( __param(6, ILanguageModelToolsService)),
424
+ ( __param(7, IChatModeService))
425
+ ], PromptValidatorContribution));
426
+ let ModelTracker = class ModelTracker extends Disposable {
427
+ constructor(textModel, promptType, validator, promptsService, markerService) {
428
+ super();
429
+ this.textModel = textModel;
430
+ this.promptType = promptType;
431
+ this.validator = validator;
432
+ this.promptsService = promptsService;
433
+ this.markerService = markerService;
434
+ this.delayer = this._register(( new Delayer(200)));
435
+ this._register(textModel.onDidChangeContent(() => this.validate()));
436
+ this.validate();
437
+ }
438
+ validate() {
439
+ this.delayer.trigger(async () => {
440
+ const markers = [];
441
+ const ast = this.promptsService.getParsedPromptFile(this.textModel);
442
+ await this.validator.validate(ast, this.promptType, m => markers.push(m));
443
+ this.markerService.changeOne(MARKERS_OWNER_ID, this.textModel.uri, markers);
444
+ });
445
+ }
446
+ dispose() {
447
+ this.markerService.remove(MARKERS_OWNER_ID, [this.textModel.uri]);
448
+ super.dispose();
449
+ }
450
+ };
451
+ ModelTracker = ( __decorate([
452
+ ( __param(3, IPromptsService)),
453
+ ( __param(4, IMarkerService))
454
+ ], ModelTracker));
455
+
456
+ export { PromptValidator, PromptValidatorContribution, getValidAttributeNames, isExperimentalAttribute };
@@ -1,9 +1,8 @@
1
1
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
2
- /**
3
- * Function that registers all prompt-file related contributions.
4
- */
5
- export declare function registerPromptFileContributions(): void;
6
- /**
7
- * Type for a generic workbench contribution.
8
- */
9
- export type TContribution = new (...args: any[]) => IWorkbenchContribution;
2
+ import { ILanguageFeaturesService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service";
3
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
+ export declare class PromptLanguageFeaturesProvider extends Disposable implements IWorkbenchContribution {
6
+ static readonly ID = "chat.promptLanguageFeatures";
7
+ constructor(languageService: ILanguageFeaturesService, instantiationService: IInstantiationService);
8
+ }
@@ -1,28 +1,35 @@
1
1
 
2
- import { ConfigMigration } from './config/configMigration.js';
3
- import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
4
- import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
5
- import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
6
3
  import { PromptLinkProvider } from './languageProviders/promptLinkProvider.js';
7
- import { PromptLinkDiagnosticsInstanceManager } from './languageProviders/promptLinkDiagnosticsProvider.js';
8
- import { PromptHeaderDiagnosticsInstanceManager } from './languageProviders/promptHeaderDiagnosticsProvider.js';
9
4
  import { PromptBodyAutocompletion } from './languageProviders/promptBodyAutocompletion.js';
10
5
  import { PromptHeaderAutocompletion } from './languageProviders/promptHeaderAutocompletion.js';
11
- import { PromptHeaderHoverProvider } from './languageProviders/promptHeaderHovers.js';
6
+ import { PromptHoverProvider } from './languageProviders/promptHovers.js';
12
7
  import { PromptHeaderDefinitionProvider } from './languageProviders/PromptHeaderDefinitionProvider.js';
8
+ import { PromptValidatorContribution } from './languageProviders/promptValidator.js';
9
+ import { PromptDocumentSemanticTokensProvider } from './languageProviders/promptDocumentSemanticTokensProvider.js';
10
+ import { PromptCodeActionProvider } from './languageProviders/promptCodeActions.js';
11
+ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
12
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
13
+ import { ALL_PROMPTS_LANGUAGE_SELECTOR } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
14
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
13
15
 
14
- function registerPromptFileContributions() {
15
- registerContribution(PromptLinkProvider);
16
- registerContribution(PromptLinkDiagnosticsInstanceManager);
17
- registerContribution(PromptHeaderDiagnosticsInstanceManager);
18
- registerContribution(PromptBodyAutocompletion);
19
- registerContribution(PromptHeaderAutocompletion);
20
- registerContribution(PromptHeaderHoverProvider);
21
- registerContribution(PromptHeaderDefinitionProvider);
22
- registerContribution(ConfigMigration);
23
- }
24
- function registerContribution(contribution) {
25
- ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(contribution, LifecyclePhase.Eventually);
26
- }
16
+ let PromptLanguageFeaturesProvider = class PromptLanguageFeaturesProvider extends Disposable {
17
+ static { this.ID = 'chat.promptLanguageFeatures'; }
18
+ constructor(languageService, instantiationService) {
19
+ super();
20
+ this._register(languageService.linkProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptLinkProvider)));
21
+ this._register(languageService.completionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptBodyAutocompletion)));
22
+ this._register(languageService.completionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptHeaderAutocompletion)));
23
+ this._register(languageService.hoverProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptHoverProvider)));
24
+ this._register(languageService.definitionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptHeaderDefinitionProvider)));
25
+ this._register(languageService.documentSemanticTokensProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptDocumentSemanticTokensProvider)));
26
+ this._register(languageService.codeActionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptCodeActionProvider)));
27
+ this._register(instantiationService.createInstance(PromptValidatorContribution));
28
+ }
29
+ };
30
+ PromptLanguageFeaturesProvider = ( __decorate([
31
+ ( __param(0, ILanguageFeaturesService)),
32
+ ( __param(1, IInstantiationService))
33
+ ], PromptLanguageFeaturesProvider));
27
34
 
28
- export { registerPromptFileContributions };
35
+ export { PromptLanguageFeaturesProvider };
@@ -0,0 +1,97 @@
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
+ }