@codingame/monaco-vscode-chat-service-override 18.4.0 → 19.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 (371) hide show
  1. package/index.js +17 -10
  2. package/package.json +31 -35
  3. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +11 -0
  4. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.js +42 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +52 -43
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +16 -14
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +32 -15
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +17 -17
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +41 -19
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +21 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.d.ts +1 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +179 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -9
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +44 -27
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +32 -28
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +46 -32
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +116 -109
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +38 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +234 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +5 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +44 -18
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +12 -12
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +10 -33
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +42 -312
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +10 -29
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -13
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +7 -7
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +42 -22
  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 +3 -4
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +52 -70
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +0 -3
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +61 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +332 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +1 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +1 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.d.ts +13 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +69 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +10 -31
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +30 -235
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +1 -2
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +2 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +8 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +14 -13
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +2 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -2
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +172 -348
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +4 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +150 -67
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -5
  74. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +15 -10
  76. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +3 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +40 -12
  80. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +6 -90
  81. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +32 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +3 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +3 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatAttachInstructionsAction.d.ts → promptSyntax/attachInstructionsAction.d.ts} +8 -9
  85. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatAttachInstructionsAction.js → promptSyntax/attachInstructionsAction.js} +43 -45
  86. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +68 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/createPromptCommand.d.ts → newPromptFileActions.d.ts} +1 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/createPromptCommand.js → newPromptFileActions.js} +95 -36
  90. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptName.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptName.js +11 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptSourceFolder.d.ts +3 -3
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/{contributions/createPromptCommand/dialogs → pickers}/askForPromptSourceFolder.js +27 -34
  94. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/dialogs/askToSelectPrompt → promptSyntax/pickers}/promptFilePickers.d.ts +3 -3
  95. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/dialogs/askToSelectPrompt → promptSyntax/pickers}/promptFilePickers.js +33 -24
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.d.ts +11 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +35 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.d.ts +22 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +117 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +16 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +15 -33
  103. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.d.ts +27 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +153 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatRunPromptAction.js → promptSyntax/runPromptAction.js} +38 -33
  107. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +9 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/{actions/promptActions/chatSaveToPromptAction.js → promptSyntax/saveToPromptAction.js} +26 -26
  109. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +20 -21
  110. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +2 -2
  114. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +13 -13
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +3 -3
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +3 -3
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.d.ts +40 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptFileReferenceErrors.js +107 -0
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.d.ts +9 -0
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/asyncDecoder.js +45 -0
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.d.ts +35 -0
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseDecoder.js +150 -0
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.d.ts +15 -0
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/baseToken.js +69 -0
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.d.ts +10 -0
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/compositeToken.js +33 -0
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.d.ts +4 -0
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/constants.js +29 -0
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.d.ts +15 -0
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/frontMatterDecoder.js +118 -0
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.d.ts +14 -0
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterArray.js +134 -0
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.d.ts +27 -0
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterParserFactory.js +34 -0
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.d.ts +18 -0
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecord.js +134 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.d.ts +13 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordName.js +64 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.d.ts +17 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterRecord/frontMatterRecordNameWithDelimiter.js +75 -0
  142. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.d.ts +11 -0
  143. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterSequence.js +41 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.d.ts +9 -0
  145. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterString.js +63 -0
  146. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.d.ts +21 -0
  147. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/parsers/frontMatterValue.js +127 -0
  148. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.d.ts +11 -0
  149. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterArray.js +25 -0
  150. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.d.ts +14 -0
  151. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterBoolean.js +64 -0
  152. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.d.ts +22 -0
  153. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterRecord.js +37 -0
  154. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.d.ts +9 -0
  155. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterSequence.js +57 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.d.ts +13 -0
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterString.js +18 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.d.ts +9 -0
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/frontMatterToken.js +9 -0
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.d.ts +16 -0
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/linesDecoder.js +100 -0
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.d.ts +9 -0
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/carriageReturn.js +19 -0
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.d.ts +6 -0
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/line.js +20 -0
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.d.ts +9 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/linesCodec/tokens/newLine.js +19 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.d.ts +12 -0
  169. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/markdownDecoder.js +72 -0
  170. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.d.ts +22 -0
  171. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownComment.js +113 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.d.ts +10 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownImage.js +68 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.d.ts +19 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/parsers/markdownLink.js +99 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownComment.js +19 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.d.ts +12 -0
  179. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownImage.js +54 -0
  180. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.d.ts +12 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownLink.js +53 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.d.ts +3 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownCodec/tokens/markdownToken.js +7 -0
  184. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.d.ts +13 -0
  185. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/markdownExtensionsDecoder.js +68 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.d.ts +20 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/parsers/frontMatterHeader.js +199 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.d.ts +16 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterHeader.js +37 -0
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.d.ts +14 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/frontMatterMarker.js +27 -0
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.d.ts +3 -0
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/markdownExtensionsCodec/tokens/markdownExtensionsToken.js +7 -0
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.d.ts +24 -0
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/parserBase.js +30 -0
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.d.ts +15 -0
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/simpleDecoder.js +66 -0
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.d.ts +12 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/angleBrackets.js +23 -0
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.d.ts +6 -0
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/at.js +14 -0
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.d.ts +12 -0
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/brackets.js +23 -0
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.d.ts +6 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/colon.js +14 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.d.ts +6 -0
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/comma.js +14 -0
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.d.ts +12 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/curlyBraces.js +23 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.d.ts +6 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dash.js +14 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.d.ts +6 -0
  213. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/dollarSign.js +14 -0
  214. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.d.ts +8 -0
  215. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/doubleQuote.js +17 -0
  216. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.d.ts +6 -0
  217. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/exclamationMark.js +14 -0
  218. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.d.ts +6 -0
  219. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/formFeed.js +14 -0
  220. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.d.ts +6 -0
  221. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/hash.js +14 -0
  222. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.d.ts +12 -0
  223. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/parentheses.js +23 -0
  224. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.d.ts +8 -0
  225. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/quote.js +17 -0
  226. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.d.ts +12 -0
  227. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/simpleToken.js +19 -0
  228. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.d.ts +6 -0
  229. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/slash.js +14 -0
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.d.ts +6 -0
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/space.js +14 -0
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.d.ts +6 -0
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tab.js +14 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.d.ts +6 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/verticalTab.js +14 -0
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.d.ts +9 -0
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/word.js +29 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.d.ts +5 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/textToken.js +10 -0
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.d.ts +25 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStream.js +126 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.d.ts +5 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/utils/objectStreamFromTextModel.js +25 -0
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.d.ts +12 -0
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptCodec.js +13 -0
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.d.ts +16 -0
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/chatPromptDecoder.js +109 -0
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.d.ts +11 -0
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptAtMentionParser.js +80 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.d.ts +11 -0
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptSlashCommandParser.js +81 -0
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.d.ts +15 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptTemplateVariableParser.js +100 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.d.ts +16 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/parsers/promptVariableParser.js +149 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/fileReference.js +20 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.d.ts +8 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptAtMention.js +25 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.d.ts +8 -0
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptSlashCommand.js +19 -0
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.d.ts +8 -0
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptTemplateVariable.js +25 -0
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.d.ts +3 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptToken.js +7 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.d.ts +14 -0
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/tokens/promptVariable.js +48 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions → config}/configMigration.js +8 -9
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.d.ts +23 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +97 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +32 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +67 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +22 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +46 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +241 -0
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +28 -0
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +155 -0
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +22 -0
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +162 -0
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptLinkDiagnosticsProvider.d.ts +5 -3
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptLinkDiagnosticsProvider.js +17 -27
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +9 -0
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +39 -0
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptPathAutocompletion.d.ts +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/promptPathAutocompletion.js +11 -13
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceBase.d.ts +4 -4
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceBase.js +2 -2
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceManagerBase.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.d.ts +72 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +333 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.d.ts +14 -0
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/diagnostics.js +20 -0
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.d.ts +36 -0
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +101 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +14 -0
  297. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.js +17 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.d.ts +10 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +87 -0
  300. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +10 -0
  301. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +63 -0
  302. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.d.ts +23 -0
  303. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/record.js +37 -0
  304. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +10 -0
  305. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +54 -0
  306. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.d.ts +7 -0
  307. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/description.js +43 -0
  308. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +7 -0
  309. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +41 -0
  310. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.d.ts +7 -0
  311. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/model.js +43 -0
  312. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.d.ts +15 -0
  313. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +98 -0
  314. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +16 -0
  315. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.js +24 -0
  316. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +19 -0
  317. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +62 -0
  318. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.d.ts +12 -0
  319. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptParser.js +36 -0
  320. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +4 -4
  321. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.d.ts +9 -0
  323. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +50 -0
  324. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/index.d.ts → promptFileContributions.d.ts} +1 -1
  325. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +29 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{promptsService.d.ts → promptsServiceImpl.d.ts} +14 -11
  327. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{promptsService.js → promptsServiceImpl.js} +78 -121
  328. package/vscode/src/vs/{base/common → workbench/contrib/chat/common/promptSyntax/utils}/objectCache.d.ts +1 -1
  329. package/vscode/src/vs/{base/common → workbench/contrib/chat/common/promptSyntax/utils}/objectCache.js +1 -1
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.d.ts +17 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/observableDisposable.js +41 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +64 -34
  334. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  335. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  336. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +7 -7
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +13 -17
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  342. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  343. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.d.ts +9 -0
  344. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +100 -0
  345. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.d.ts +24 -0
  346. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +62 -0
  347. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +0 -1
  348. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +0 -54
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.d.ts +0 -4
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +0 -9
  351. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +0 -30
  353. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +0 -15
  354. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.js +0 -12
  355. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
  356. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +0 -14
  357. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.d.ts +0 -9
  358. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +0 -17
  359. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +0 -9
  360. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +0 -23
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +0 -21
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.d.ts +0 -2
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +0 -18
  364. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +0 -16
  365. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +0 -66
  366. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.d.ts +0 -12
  367. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +0 -56
  368. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +0 -22
  369. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +0 -13
  370. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions → config}/configMigration.d.ts +0 -0
  371. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{contributions/languageFeatures/providers → languageProviders}/providerInstanceManagerBase.d.ts +0 -0
@@ -0,0 +1,63 @@
1
+
2
+ import { PromptStringMetadata } from './string.js';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
5
+ import { isOneOf } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
6
+ import { PromptMetadataError } from '../../diagnostics.js';
7
+ import { FrontMatterSequence } from '../../../../codecs/base/frontMatterCodec/tokens/frontMatterSequence.js';
8
+ import { FrontMatterString } from '../../../../codecs/base/frontMatterCodec/tokens/frontMatterString.js';
9
+ import '../../../../codecs/base/simpleCodec/tokens/at.js';
10
+ import '../../../../codecs/base/simpleCodec/tokens/tab.js';
11
+ import '../../../../codecs/base/simpleCodec/tokens/dash.js';
12
+ import '../../../../codecs/base/simpleCodec/tokens/hash.js';
13
+ import '../../../../codecs/base/simpleCodec/tokens/colon.js';
14
+ import '../../../../codecs/base/simpleCodec/tokens/quote.js';
15
+ import '../../../../codecs/base/simpleCodec/tokens/slash.js';
16
+ import '../../../../codecs/base/simpleCodec/tokens/space.js';
17
+ import '../../../../codecs/base/simpleCodec/tokens/comma.js';
18
+ import '../../../../codecs/base/simpleCodec/tokens/formFeed.js';
19
+ import '../../../../codecs/base/simpleCodec/tokens/dollarSign.js';
20
+ import '../../../../codecs/base/simpleCodec/tokens/verticalTab.js';
21
+ import '../../../../codecs/base/simpleCodec/tokens/doubleQuote.js';
22
+ import '../../../../codecs/base/simpleCodec/tokens/exclamationMark.js';
23
+ import '../../../../codecs/base/simpleCodec/tokens/brackets.js';
24
+ import '../../../../codecs/base/simpleCodec/tokens/curlyBraces.js';
25
+ import '../../../../codecs/base/simpleCodec/tokens/parentheses.js';
26
+ import '../../../../codecs/base/simpleCodec/tokens/angleBrackets.js';
27
+
28
+ class PromptEnumMetadata extends PromptStringMetadata {
29
+ constructor(validValues, expectedRecordName, recordToken, languageId) {
30
+ super(expectedRecordName, recordToken, languageId);
31
+ this.validValues = validValues;
32
+ }
33
+ get value() {
34
+ return this.enumValue;
35
+ }
36
+ validate() {
37
+ super.validate();
38
+ if (this.valueToken === undefined) {
39
+ return this.issues;
40
+ }
41
+ assert(this.valueToken instanceof FrontMatterString
42
+ || this.valueToken instanceof FrontMatterSequence, `Record token must be 'string', got '${this.valueToken}'.`);
43
+ const { cleanText } = this.valueToken;
44
+ if (isOneOf(cleanText, this.validValues)) {
45
+ this.enumValue = cleanText;
46
+ return this.issues;
47
+ }
48
+ this.issues.push(( new PromptMetadataError(this.valueToken.range, ( localize(
49
+ 5345,
50
+ "The '{0}' metadata must be one of {1}, got '{2}'.",
51
+ this.recordName,
52
+ ( this.validValues
53
+ .map((value) => {
54
+ return `'${value}'`;
55
+ })).join(' | '),
56
+ cleanText
57
+ )))));
58
+ delete this.valueToken;
59
+ return this.issues;
60
+ }
61
+ }
62
+
63
+ export { PromptEnumMetadata };
@@ -0,0 +1,23 @@
1
+ import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
2
+ import { PromptMetadataDiagnostic, PromptMetadataError, PromptMetadataWarning } from "../../diagnostics.js";
3
+ import { FrontMatterRecord } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
4
+ type TMetadataPrimitive = string | boolean;
5
+ type TMetadataValue = TMetadataPrimitive | TMetadataPrimitive[];
6
+ export interface IMetadataRecord<T extends TMetadataValue> {
7
+ readonly value: T | undefined;
8
+ }
9
+ export declare abstract class PromptMetadataRecord<TValue extends TMetadataValue> implements IMetadataRecord<TValue> {
10
+ protected readonly expectedRecordName: string;
11
+ protected readonly recordToken: FrontMatterRecord;
12
+ protected readonly languageId: string;
13
+ protected readonly issues: PromptMetadataDiagnostic[];
14
+ get range(): Range;
15
+ constructor(expectedRecordName: string, recordToken: FrontMatterRecord, languageId: string);
16
+ get recordName(): string;
17
+ abstract validate(): readonly PromptMetadataDiagnostic[];
18
+ get diagnostics(): readonly PromptMetadataDiagnostic[];
19
+ abstract get value(): TValue | undefined;
20
+ get errorDiagnostics(): readonly PromptMetadataError[];
21
+ get warningDiagnostics(): readonly PromptMetadataWarning[];
22
+ }
23
+ export {};
@@ -0,0 +1,37 @@
1
+
2
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
3
+ import { PromptMetadataError, PromptMetadataWarning } from '../../diagnostics.js';
4
+
5
+ class PromptMetadataRecord {
6
+ get range() {
7
+ return this.recordToken.range;
8
+ }
9
+ constructor(expectedRecordName, recordToken, languageId) {
10
+ this.expectedRecordName = expectedRecordName;
11
+ this.recordToken = recordToken;
12
+ this.languageId = languageId;
13
+ const recordName = recordToken.nameToken.text;
14
+ assert(recordName === expectedRecordName, `Record name must be '${expectedRecordName}', got '${recordName}'.`);
15
+ this.issues = [];
16
+ }
17
+ get recordName() {
18
+ return this.recordToken.nameToken.text;
19
+ }
20
+ get diagnostics() {
21
+ return this.issues;
22
+ }
23
+ get errorDiagnostics() {
24
+ return this.diagnostics
25
+ .filter((diagnostic) => {
26
+ return (diagnostic instanceof PromptMetadataError);
27
+ });
28
+ }
29
+ get warningDiagnostics() {
30
+ return this.diagnostics
31
+ .filter((diagnostic) => {
32
+ return (diagnostic instanceof PromptMetadataWarning);
33
+ });
34
+ }
35
+ }
36
+
37
+ export { PromptMetadataRecord };
@@ -0,0 +1,10 @@
1
+ import { PromptMetadataRecord } from "./record.js";
2
+ import { PromptMetadataDiagnostic } from "../../diagnostics.js";
3
+ import { FrontMatterSequence } from "../../../../codecs/base/frontMatterCodec/tokens/frontMatterSequence.js";
4
+ import { FrontMatterRecord, FrontMatterString } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
5
+ export declare abstract class PromptStringMetadata extends PromptMetadataRecord<string> {
6
+ protected valueToken: FrontMatterString | FrontMatterSequence | undefined;
7
+ get value(): string | undefined;
8
+ constructor(expectedRecordName: string, recordToken: FrontMatterRecord, languageId: string);
9
+ validate(): readonly PromptMetadataDiagnostic[];
10
+ }
@@ -0,0 +1,54 @@
1
+
2
+ import { PromptMetadataRecord } from './record.js';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { PromptMetadataError } from '../../diagnostics.js';
5
+ import { FrontMatterSequence } from '../../../../codecs/base/frontMatterCodec/tokens/frontMatterSequence.js';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
7
+ import { FrontMatterString } from '../../../../codecs/base/frontMatterCodec/tokens/frontMatterString.js';
8
+ import '../../../../codecs/base/simpleCodec/tokens/at.js';
9
+ import '../../../../codecs/base/simpleCodec/tokens/tab.js';
10
+ import '../../../../codecs/base/simpleCodec/tokens/dash.js';
11
+ import '../../../../codecs/base/simpleCodec/tokens/hash.js';
12
+ import '../../../../codecs/base/simpleCodec/tokens/colon.js';
13
+ import '../../../../codecs/base/simpleCodec/tokens/quote.js';
14
+ import '../../../../codecs/base/simpleCodec/tokens/slash.js';
15
+ import '../../../../codecs/base/simpleCodec/tokens/space.js';
16
+ import '../../../../codecs/base/simpleCodec/tokens/comma.js';
17
+ import '../../../../codecs/base/simpleCodec/tokens/formFeed.js';
18
+ import '../../../../codecs/base/simpleCodec/tokens/dollarSign.js';
19
+ import '../../../../codecs/base/simpleCodec/tokens/verticalTab.js';
20
+ import '../../../../codecs/base/simpleCodec/tokens/doubleQuote.js';
21
+ import '../../../../codecs/base/simpleCodec/tokens/exclamationMark.js';
22
+ import '../../../../codecs/base/simpleCodec/tokens/brackets.js';
23
+ import '../../../../codecs/base/simpleCodec/tokens/curlyBraces.js';
24
+ import '../../../../codecs/base/simpleCodec/tokens/parentheses.js';
25
+ import '../../../../codecs/base/simpleCodec/tokens/angleBrackets.js';
26
+
27
+ class PromptStringMetadata extends PromptMetadataRecord {
28
+ get value() {
29
+ return this.valueToken?.cleanText;
30
+ }
31
+ constructor(expectedRecordName, recordToken, languageId) {
32
+ super(expectedRecordName, recordToken, languageId);
33
+ }
34
+ validate() {
35
+ const { valueToken } = this.recordToken;
36
+ const isString = (valueToken instanceof FrontMatterString);
37
+ const isSequence = (valueToken instanceof FrontMatterSequence);
38
+ if (isString || isSequence) {
39
+ this.valueToken = valueToken;
40
+ return this.issues;
41
+ }
42
+ this.issues.push(( new PromptMetadataError(valueToken.range, ( localize(
43
+ 5346,
44
+ "The '{0}' metadata must be a '{1}', got '{2}'.",
45
+ this.recordName,
46
+ 'string',
47
+ (valueToken.valueTypeName.toString())
48
+ )))));
49
+ delete this.valueToken;
50
+ return this.issues;
51
+ }
52
+ }
53
+
54
+ export { PromptStringMetadata };
@@ -0,0 +1,7 @@
1
+ import { PromptStringMetadata } from "./base/string.js";
2
+ import { FrontMatterRecord, FrontMatterToken } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
3
+ export declare class PromptDescriptionMetadata extends PromptStringMetadata {
4
+ get recordName(): string;
5
+ constructor(recordToken: FrontMatterRecord, languageId: string);
6
+ static isDescriptionRecord(token: FrontMatterToken): boolean;
7
+ }
@@ -0,0 +1,43 @@
1
+
2
+ import { PromptStringMetadata } from './base/string.js';
3
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
4
+ import '../../../codecs/base/simpleCodec/tokens/at.js';
5
+ import '../../../codecs/base/simpleCodec/tokens/tab.js';
6
+ import '../../../codecs/base/simpleCodec/tokens/dash.js';
7
+ import '../../../codecs/base/simpleCodec/tokens/hash.js';
8
+ import '../../../codecs/base/simpleCodec/tokens/colon.js';
9
+ import '../../../codecs/base/simpleCodec/tokens/quote.js';
10
+ import '../../../codecs/base/simpleCodec/tokens/slash.js';
11
+ import '../../../codecs/base/simpleCodec/tokens/space.js';
12
+ import '../../../codecs/base/simpleCodec/tokens/comma.js';
13
+ import '../../../codecs/base/simpleCodec/tokens/formFeed.js';
14
+ import '../../../codecs/base/simpleCodec/tokens/dollarSign.js';
15
+ import '../../../codecs/base/simpleCodec/tokens/verticalTab.js';
16
+ import '../../../codecs/base/simpleCodec/tokens/doubleQuote.js';
17
+ import '../../../codecs/base/simpleCodec/tokens/exclamationMark.js';
18
+ import '../../../codecs/base/simpleCodec/tokens/brackets.js';
19
+ import '../../../codecs/base/simpleCodec/tokens/curlyBraces.js';
20
+ import '../../../codecs/base/simpleCodec/tokens/parentheses.js';
21
+ import '../../../codecs/base/simpleCodec/tokens/angleBrackets.js';
22
+ import { FrontMatterRecord } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterRecord.js';
23
+
24
+ const RECORD_NAME = 'description';
25
+ class PromptDescriptionMetadata extends PromptStringMetadata {
26
+ get recordName() {
27
+ return RECORD_NAME;
28
+ }
29
+ constructor(recordToken, languageId) {
30
+ super(RECORD_NAME, recordToken, languageId);
31
+ }
32
+ static isDescriptionRecord(token) {
33
+ if ((token instanceof FrontMatterRecord) === false) {
34
+ return false;
35
+ }
36
+ if (token.nameToken.text === RECORD_NAME) {
37
+ return true;
38
+ }
39
+ return false;
40
+ }
41
+ }
42
+
43
+ export { PromptDescriptionMetadata };
@@ -0,0 +1,7 @@
1
+ import { ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
2
+ import { PromptEnumMetadata } from "./base/enum.js";
3
+ import { FrontMatterRecord, FrontMatterToken } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
4
+ export declare class PromptModeMetadata extends PromptEnumMetadata<ChatModeKind> {
5
+ constructor(recordToken: FrontMatterRecord, languageId: string);
6
+ static isModeRecord(token: FrontMatterToken): boolean;
7
+ }
@@ -0,0 +1,41 @@
1
+
2
+ import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
3
+ import { PromptEnumMetadata } from './base/enum.js';
4
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
5
+ import '../../../codecs/base/simpleCodec/tokens/at.js';
6
+ import '../../../codecs/base/simpleCodec/tokens/tab.js';
7
+ import '../../../codecs/base/simpleCodec/tokens/dash.js';
8
+ import '../../../codecs/base/simpleCodec/tokens/hash.js';
9
+ import '../../../codecs/base/simpleCodec/tokens/colon.js';
10
+ import '../../../codecs/base/simpleCodec/tokens/quote.js';
11
+ import '../../../codecs/base/simpleCodec/tokens/slash.js';
12
+ import '../../../codecs/base/simpleCodec/tokens/space.js';
13
+ import '../../../codecs/base/simpleCodec/tokens/comma.js';
14
+ import '../../../codecs/base/simpleCodec/tokens/formFeed.js';
15
+ import '../../../codecs/base/simpleCodec/tokens/dollarSign.js';
16
+ import '../../../codecs/base/simpleCodec/tokens/verticalTab.js';
17
+ import '../../../codecs/base/simpleCodec/tokens/doubleQuote.js';
18
+ import '../../../codecs/base/simpleCodec/tokens/exclamationMark.js';
19
+ import '../../../codecs/base/simpleCodec/tokens/brackets.js';
20
+ import '../../../codecs/base/simpleCodec/tokens/curlyBraces.js';
21
+ import '../../../codecs/base/simpleCodec/tokens/parentheses.js';
22
+ import '../../../codecs/base/simpleCodec/tokens/angleBrackets.js';
23
+ import { FrontMatterRecord } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterRecord.js';
24
+
25
+ const RECORD_NAME = 'mode';
26
+ class PromptModeMetadata extends PromptEnumMetadata {
27
+ constructor(recordToken, languageId) {
28
+ super([ChatModeKind.Ask, ChatModeKind.Edit, ChatModeKind.Agent], RECORD_NAME, recordToken, languageId);
29
+ }
30
+ static isModeRecord(token) {
31
+ if ((token instanceof FrontMatterRecord) === false) {
32
+ return false;
33
+ }
34
+ if (token.nameToken.text === RECORD_NAME) {
35
+ return true;
36
+ }
37
+ return false;
38
+ }
39
+ }
40
+
41
+ export { PromptModeMetadata };
@@ -0,0 +1,7 @@
1
+ import { FrontMatterRecord, FrontMatterToken } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
2
+ import { PromptStringMetadata } from "./base/string.js";
3
+ export declare class PromptModelMetadata extends PromptStringMetadata {
4
+ get recordName(): string;
5
+ constructor(recordToken: FrontMatterRecord, languageId: string);
6
+ static isModelRecord(token: FrontMatterToken): boolean;
7
+ }
@@ -0,0 +1,43 @@
1
+
2
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
3
+ import '../../../codecs/base/simpleCodec/tokens/at.js';
4
+ import '../../../codecs/base/simpleCodec/tokens/tab.js';
5
+ import '../../../codecs/base/simpleCodec/tokens/dash.js';
6
+ import '../../../codecs/base/simpleCodec/tokens/hash.js';
7
+ import '../../../codecs/base/simpleCodec/tokens/colon.js';
8
+ import '../../../codecs/base/simpleCodec/tokens/quote.js';
9
+ import '../../../codecs/base/simpleCodec/tokens/slash.js';
10
+ import '../../../codecs/base/simpleCodec/tokens/space.js';
11
+ import '../../../codecs/base/simpleCodec/tokens/comma.js';
12
+ import '../../../codecs/base/simpleCodec/tokens/formFeed.js';
13
+ import '../../../codecs/base/simpleCodec/tokens/dollarSign.js';
14
+ import '../../../codecs/base/simpleCodec/tokens/verticalTab.js';
15
+ import '../../../codecs/base/simpleCodec/tokens/doubleQuote.js';
16
+ import '../../../codecs/base/simpleCodec/tokens/exclamationMark.js';
17
+ import '../../../codecs/base/simpleCodec/tokens/brackets.js';
18
+ import '../../../codecs/base/simpleCodec/tokens/curlyBraces.js';
19
+ import '../../../codecs/base/simpleCodec/tokens/parentheses.js';
20
+ import '../../../codecs/base/simpleCodec/tokens/angleBrackets.js';
21
+ import { FrontMatterRecord } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterRecord.js';
22
+ import { PromptStringMetadata } from './base/string.js';
23
+
24
+ const RECORD_NAME = 'model';
25
+ class PromptModelMetadata extends PromptStringMetadata {
26
+ get recordName() {
27
+ return RECORD_NAME;
28
+ }
29
+ constructor(recordToken, languageId) {
30
+ super(RECORD_NAME, recordToken, languageId);
31
+ }
32
+ static isModelRecord(token) {
33
+ if ((token instanceof FrontMatterRecord) === false) {
34
+ return false;
35
+ }
36
+ if (token.nameToken.text === RECORD_NAME) {
37
+ return true;
38
+ }
39
+ return false;
40
+ }
41
+ }
42
+
43
+ export { PromptModelMetadata };
@@ -0,0 +1,15 @@
1
+ import { PromptMetadataRecord } from "./base/record.js";
2
+ import { PromptMetadataDiagnostic } from "../diagnostics.js";
3
+ import { FrontMatterArray, FrontMatterRecord, FrontMatterToken } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
4
+ import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
5
+ export declare class PromptToolsMetadata extends PromptMetadataRecord<string[]> {
6
+ get value(): string[] | undefined;
7
+ get recordName(): string;
8
+ protected valueToken: FrontMatterArray | undefined;
9
+ private validToolNames;
10
+ constructor(recordToken: FrontMatterRecord, languageId: string);
11
+ validate(): readonly PromptMetadataDiagnostic[];
12
+ getToolRange(toolName: string): Range | undefined;
13
+ private validateToolName;
14
+ static isToolsRecord(token: FrontMatterToken): boolean;
15
+ }
@@ -0,0 +1,98 @@
1
+
2
+ import { PromptMetadataRecord } from './base/record.js';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { PromptMetadataError, PromptMetadataWarning } from '../diagnostics.js';
5
+ import { FrontMatterSequence } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterSequence.js';
6
+ import { FrontMatterArray } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterArray.js';
7
+ import { FrontMatterString } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterString.js';
8
+ import '../../../codecs/base/simpleCodec/tokens/at.js';
9
+ import '../../../codecs/base/simpleCodec/tokens/tab.js';
10
+ import '../../../codecs/base/simpleCodec/tokens/dash.js';
11
+ import '../../../codecs/base/simpleCodec/tokens/hash.js';
12
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
13
+ import '../../../codecs/base/simpleCodec/tokens/colon.js';
14
+ import '../../../codecs/base/simpleCodec/tokens/quote.js';
15
+ import '../../../codecs/base/simpleCodec/tokens/slash.js';
16
+ import '../../../codecs/base/simpleCodec/tokens/space.js';
17
+ import '../../../codecs/base/simpleCodec/tokens/comma.js';
18
+ import '../../../codecs/base/simpleCodec/tokens/formFeed.js';
19
+ import '../../../codecs/base/simpleCodec/tokens/dollarSign.js';
20
+ import '../../../codecs/base/simpleCodec/tokens/verticalTab.js';
21
+ import '../../../codecs/base/simpleCodec/tokens/doubleQuote.js';
22
+ import '../../../codecs/base/simpleCodec/tokens/exclamationMark.js';
23
+ import '../../../codecs/base/simpleCodec/tokens/brackets.js';
24
+ import '../../../codecs/base/simpleCodec/tokens/curlyBraces.js';
25
+ import '../../../codecs/base/simpleCodec/tokens/parentheses.js';
26
+ import '../../../codecs/base/simpleCodec/tokens/angleBrackets.js';
27
+ import { FrontMatterRecord } from '../../../codecs/base/frontMatterCodec/tokens/frontMatterRecord.js';
28
+
29
+ const RECORD_NAME = 'tools';
30
+ class PromptToolsMetadata extends PromptMetadataRecord {
31
+ get value() {
32
+ if (this.validToolNames === undefined) {
33
+ return [];
34
+ }
35
+ return [...( this.validToolNames.keys())];
36
+ }
37
+ get recordName() {
38
+ return RECORD_NAME;
39
+ }
40
+ constructor(recordToken, languageId) {
41
+ super(RECORD_NAME, recordToken, languageId);
42
+ }
43
+ validate() {
44
+ const { valueToken } = this.recordToken;
45
+ if ((valueToken instanceof FrontMatterArray) === false) {
46
+ this.issues.push(( new PromptMetadataError(valueToken.range, ( localize(
47
+ 5347,
48
+ "Must be an array of tool names, got '{0}'.",
49
+ (valueToken.valueTypeName.toString())
50
+ )))));
51
+ delete this.valueToken;
52
+ return this.issues;
53
+ }
54
+ this.valueToken = valueToken;
55
+ this.validToolNames = ( new Map());
56
+ for (const item of this.valueToken.items) {
57
+ this.issues.push(...this.validateToolName(item, this.validToolNames));
58
+ }
59
+ return this.issues;
60
+ }
61
+ getToolRange(toolName) {
62
+ return this.validToolNames?.get(toolName);
63
+ }
64
+ validateToolName(valueToken, validToolNames) {
65
+ const issues = [];
66
+ if ((valueToken instanceof FrontMatterString) === false &&
67
+ (valueToken instanceof FrontMatterSequence) === false) {
68
+ issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(
69
+ 5348,
70
+ "Unexpected tool name '{0}', expected a string literal.",
71
+ valueToken.text
72
+ )))));
73
+ return issues;
74
+ }
75
+ const cleanToolName = valueToken.cleanText.trim();
76
+ if (cleanToolName.length === 0) {
77
+ issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(5349, "Tool name cannot be empty.")))));
78
+ return issues;
79
+ }
80
+ if (( validToolNames.has(cleanToolName))) {
81
+ issues.push(( new PromptMetadataWarning(valueToken.range, ( localize(5350, "Duplicate tool name '{0}'.", cleanToolName)))));
82
+ return issues;
83
+ }
84
+ validToolNames.set(cleanToolName, valueToken.range);
85
+ return issues;
86
+ }
87
+ static isToolsRecord(token) {
88
+ if ((token instanceof FrontMatterRecord) === false) {
89
+ return false;
90
+ }
91
+ if (token.nameToken.text === RECORD_NAME) {
92
+ return true;
93
+ }
94
+ return false;
95
+ }
96
+ }
97
+
98
+ export { PromptToolsMetadata };
@@ -0,0 +1,16 @@
1
+ import { HeaderBase, IHeaderMetadata, type TDehydrated } from "./headerBase.js";
2
+ import { PromptsType } from "@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
3
+ import { FrontMatterRecord } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
4
+ import { PromptModelMetadata } from "./metadata/model.js";
5
+ import { PromptToolsMetadata } from "./metadata/tools.js";
6
+ interface IModeMetadata extends IHeaderMetadata {
7
+ tools: PromptToolsMetadata;
8
+ model: PromptModelMetadata;
9
+ }
10
+ export type TModeMetadata = Partial<TDehydrated<IModeMetadata>> & {
11
+ promptType: PromptsType.mode;
12
+ };
13
+ export declare class ModeHeader extends HeaderBase<IModeMetadata> {
14
+ protected handleToken(token: FrontMatterRecord): boolean;
15
+ }
16
+ export {};
@@ -0,0 +1,24 @@
1
+
2
+ import { HeaderBase } from './headerBase.js';
3
+ import { PromptModelMetadata } from './metadata/model.js';
4
+ import { PromptToolsMetadata } from './metadata/tools.js';
5
+
6
+ class ModeHeader extends HeaderBase {
7
+ handleToken(token) {
8
+ if (PromptToolsMetadata.isToolsRecord(token)) {
9
+ const metadata = ( new PromptToolsMetadata(token, this.languageId));
10
+ this.issues.push(...metadata.validate());
11
+ this.meta.tools = metadata;
12
+ return true;
13
+ }
14
+ if (PromptModelMetadata.isModelRecord(token)) {
15
+ const metadata = ( new PromptModelMetadata(token, this.languageId));
16
+ this.issues.push(...metadata.validate());
17
+ this.meta.model = metadata;
18
+ return true;
19
+ }
20
+ return false;
21
+ }
22
+ }
23
+
24
+ export { ModeHeader };
@@ -0,0 +1,19 @@
1
+ import { HeaderBase, IHeaderMetadata, type TDehydrated } from "./headerBase.js";
2
+ import { PromptsType } from "@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
3
+ import { FrontMatterRecord } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index";
4
+ import { PromptModelMetadata } from "./metadata/model.js";
5
+ import { PromptToolsMetadata } from "./metadata/tools.js";
6
+ import { PromptModeMetadata } from "./metadata/mode.js";
7
+ export interface IPromptMetadata extends IHeaderMetadata {
8
+ tools: PromptToolsMetadata;
9
+ mode: PromptModeMetadata;
10
+ model: PromptModelMetadata;
11
+ }
12
+ export type TPromptMetadata = Partial<TDehydrated<IPromptMetadata>> & {
13
+ promptType: PromptsType.prompt;
14
+ };
15
+ export declare class PromptHeader extends HeaderBase<IPromptMetadata> {
16
+ protected handleToken(token: FrontMatterRecord): boolean;
17
+ private get toolsAndModeCompatible();
18
+ private validateToolsAndModeCompatibility;
19
+ }
@@ -0,0 +1,62 @@
1
+
2
+ import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
3
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
+ import { PromptMetadataWarning } from './diagnostics.js';
5
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
6
+ import { assertDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
7
+ import { HeaderBase } from './headerBase.js';
8
+ import { PromptModelMetadata } from './metadata/model.js';
9
+ import { PromptToolsMetadata } from './metadata/tools.js';
10
+ import { PromptModeMetadata } from './metadata/mode.js';
11
+
12
+ class PromptHeader extends HeaderBase {
13
+ handleToken(token) {
14
+ if (PromptToolsMetadata.isToolsRecord(token)) {
15
+ const metadata = ( new PromptToolsMetadata(token, this.languageId));
16
+ this.issues.push(...metadata.validate());
17
+ this.meta.tools = metadata;
18
+ this.validateToolsAndModeCompatibility();
19
+ return true;
20
+ }
21
+ if (PromptModeMetadata.isModeRecord(token)) {
22
+ const metadata = ( new PromptModeMetadata(token, this.languageId));
23
+ this.issues.push(...metadata.validate());
24
+ this.meta.mode = metadata;
25
+ this.validateToolsAndModeCompatibility();
26
+ return true;
27
+ }
28
+ if (PromptModelMetadata.isModelRecord(token)) {
29
+ const metadata = ( new PromptModelMetadata(token, this.languageId));
30
+ this.issues.push(...metadata.validate());
31
+ this.meta.model = metadata;
32
+ return true;
33
+ }
34
+ return false;
35
+ }
36
+ get toolsAndModeCompatible() {
37
+ const { tools, mode } = this.meta;
38
+ if (tools === undefined) {
39
+ return true;
40
+ }
41
+ if (mode?.value === undefined) {
42
+ return true;
43
+ }
44
+ return (mode.value === ChatModeKind.Agent);
45
+ }
46
+ validateToolsAndModeCompatibility() {
47
+ if (this.toolsAndModeCompatible === true) {
48
+ return;
49
+ }
50
+ const { tools, mode } = this.meta;
51
+ assertDefined(tools, 'Tools metadata must have been present.');
52
+ assertDefined(mode, 'Mode metadata must have been present.');
53
+ assert(mode.value !== ChatModeKind.Agent, 'Mode metadata must not be agent mode.');
54
+ this.issues.push(( new PromptMetadataWarning(tools.range, ( localize(
55
+ 5351,
56
+ "Tools can only be used when in 'agent' mode, but the mode is set to '{0}'. The tools will be ignored.",
57
+ mode.value
58
+ )))));
59
+ }
60
+ }
61
+
62
+ export { PromptHeader };
@@ -0,0 +1,12 @@
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
+ import { IPromptContentsProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types";
3
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
4
+ import { BasePromptParser, IPromptParserOptions } from "./basePromptParser.js";
5
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
6
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
+ import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
8
+ export declare class PromptParser extends BasePromptParser<IPromptContentsProvider> {
9
+ private readonly contentsProvider;
10
+ constructor(uri: URI, options: IPromptParserOptions, logService: ILogService, modelService: IModelService, instaService: IInstantiationService, envService: IWorkbenchEnvironmentService);
11
+ toString(): string;
12
+ }