@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,25 @@
1
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { ObservableDisposable } from "../../../utils/observableDisposable.js";
3
+ import { ReadableStream } from "@codingame/monaco-vscode-api/vscode/vs/base/common/stream";
4
+ export declare class ObjectStream<T extends object> extends ObservableDisposable implements ReadableStream<T> {
5
+ private readonly data;
6
+ private readonly cancellationToken?;
7
+ private ended;
8
+ private readonly stream;
9
+ private timeoutHandle;
10
+ constructor(data: Generator<T, undefined>, cancellationToken?: CancellationToken | undefined);
11
+ send(stopAfterFirstSend?: boolean): void;
12
+ stopStream(): this;
13
+ private sendData;
14
+ private end;
15
+ pause(): void;
16
+ resume(): void;
17
+ destroy(): void;
18
+ removeListener(event: string, callback: (...args: any[]) => void): void;
19
+ on(event: "data", callback: (data: T) => void): void;
20
+ on(event: "error", callback: (err: Error) => void): void;
21
+ on(event: "end", callback: () => void): void;
22
+ dispose(): void;
23
+ static fromArray<T extends object>(array: T[], cancellationToken?: CancellationToken): ObjectStream<T>;
24
+ }
25
+ export declare function arrayToGenerator<T extends NonNullable<unknown>>(array: T[]): Generator<T, undefined>;
@@ -0,0 +1,126 @@
1
+
2
+ import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
3
+ import { ObservableDisposable } from '../../../utils/observableDisposable.js';
4
+ import { newWriteableStream } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stream';
5
+
6
+ class ObjectStream extends ObservableDisposable {
7
+ constructor(data, cancellationToken) {
8
+ super();
9
+ this.data = data;
10
+ this.cancellationToken = cancellationToken;
11
+ this.ended = false;
12
+ this.stream = newWriteableStream(null);
13
+ if (cancellationToken?.isCancellationRequested) {
14
+ this.end();
15
+ return;
16
+ }
17
+ this.send(true);
18
+ }
19
+ send(stopAfterFirstSend = false) {
20
+ if (this.cancellationToken?.isCancellationRequested || this.ended) {
21
+ this.end();
22
+ return;
23
+ }
24
+ this.sendData()
25
+ .then(() => {
26
+ if (this.cancellationToken?.isCancellationRequested || this.ended) {
27
+ this.end();
28
+ return;
29
+ }
30
+ if (stopAfterFirstSend === true) {
31
+ this.stopStream();
32
+ return;
33
+ }
34
+ this.timeoutHandle = setTimeout(this.send.bind(this));
35
+ })
36
+ .catch((error) => {
37
+ this.stream.error(error);
38
+ this.dispose();
39
+ });
40
+ }
41
+ stopStream() {
42
+ if (this.timeoutHandle === undefined) {
43
+ return this;
44
+ }
45
+ clearTimeout(this.timeoutHandle);
46
+ this.timeoutHandle = undefined;
47
+ return this;
48
+ }
49
+ async sendData(objectsCount = 25) {
50
+ while (objectsCount > 0) {
51
+ try {
52
+ const next = this.data.next();
53
+ if (next.done || this.cancellationToken?.isCancellationRequested) {
54
+ this.end();
55
+ return;
56
+ }
57
+ await this.stream.write(next.value);
58
+ objectsCount--;
59
+ }
60
+ catch (error) {
61
+ this.stream.error(error);
62
+ this.dispose();
63
+ return;
64
+ }
65
+ }
66
+ }
67
+ end() {
68
+ if (this.ended) {
69
+ return this;
70
+ }
71
+ this.ended = true;
72
+ this.stopStream();
73
+ this.stream.end();
74
+ return this;
75
+ }
76
+ pause() {
77
+ this.stopStream();
78
+ this.stream.pause();
79
+ return;
80
+ }
81
+ resume() {
82
+ this.send();
83
+ this.stream.resume();
84
+ return;
85
+ }
86
+ destroy() {
87
+ this.dispose();
88
+ }
89
+ removeListener(event, callback) {
90
+ this.stream.removeListener(event, callback);
91
+ return;
92
+ }
93
+ on(event, callback) {
94
+ if (event === 'data') {
95
+ this.stream.on(event, callback);
96
+ this.send();
97
+ return;
98
+ }
99
+ if (event === 'error') {
100
+ this.stream.on(event, callback);
101
+ return;
102
+ }
103
+ if (event === 'end') {
104
+ this.stream.on(event, callback);
105
+ return;
106
+ }
107
+ assertNever(event, `Unexpected event name '${event}'.`);
108
+ }
109
+ dispose() {
110
+ this.stopStream();
111
+ this.stream.destroy();
112
+ super.dispose();
113
+ }
114
+ static fromArray(array, cancellationToken) {
115
+ return ( new ObjectStream(arrayToGenerator(array), cancellationToken));
116
+ }
117
+ }
118
+ function arrayToGenerator(array) {
119
+ return (function* () {
120
+ for (const item of array) {
121
+ yield item;
122
+ }
123
+ })();
124
+ }
125
+
126
+ export { ObjectStream, arrayToGenerator };
@@ -0,0 +1,5 @@
1
+ import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
2
+ import { ObjectStream } from "./objectStream.js";
3
+ import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
4
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
5
+ export declare function objectStreamFromTextModel(model: ITextModel, cancellationToken?: CancellationToken): ObjectStream<VSBuffer>;
@@ -0,0 +1,25 @@
1
+
2
+ import { ObjectStream } from './objectStream.js';
3
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
4
+
5
+ function objectStreamFromTextModel(model, cancellationToken) {
6
+ return ( new ObjectStream(modelToGenerator(model), cancellationToken));
7
+ }
8
+ function modelToGenerator(model) {
9
+ return (function* () {
10
+ const totalLines = model.getLineCount();
11
+ let currentLine = 1;
12
+ while (currentLine <= totalLines) {
13
+ if (model.isDisposed()) {
14
+ return undefined;
15
+ }
16
+ yield VSBuffer.fromString(model.getLineContent(currentLine));
17
+ if (currentLine !== totalLines) {
18
+ yield VSBuffer.fromString(model.getEOL());
19
+ }
20
+ currentLine++;
21
+ }
22
+ })();
23
+ }
24
+
25
+ export { objectStreamFromTextModel };
@@ -0,0 +1,12 @@
1
+ import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
2
+ import { ReadableStream } from "@codingame/monaco-vscode-api/vscode/vs/base/common/stream";
3
+ import { ChatPromptDecoder, TChatPromptToken } from "./chatPromptDecoder.js";
4
+ export interface ICodec<T, K> {
5
+ encode: (value: ReadableStream<K>) => ReadableStream<T>;
6
+ decode: (value: ReadableStream<T>) => ReadableStream<K>;
7
+ }
8
+ interface IChatPromptCodec extends ICodec<VSBuffer, TChatPromptToken> {
9
+ decode: (value: ReadableStream<VSBuffer>) => ChatPromptDecoder;
10
+ }
11
+ export declare const ChatPromptCodec: IChatPromptCodec;
12
+ export {};
@@ -0,0 +1,13 @@
1
+
2
+ import { ChatPromptDecoder } from './chatPromptDecoder.js';
3
+
4
+ const ChatPromptCodec = ( Object.freeze({
5
+ encode: (_stream) => {
6
+ throw ( new Error('The `encode` method is not implemented.'));
7
+ },
8
+ decode: (stream) => {
9
+ return ( new ChatPromptDecoder(stream));
10
+ },
11
+ }));
12
+
13
+ export { ChatPromptCodec };
@@ -0,0 +1,16 @@
1
+ import { PromptAtMention } from "./tokens/promptAtMention.js";
2
+ import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
3
+ import { PromptSlashCommand } from "./tokens/promptSlashCommand.js";
4
+ import { ReadableStream } from "@codingame/monaco-vscode-api/vscode/vs/base/common/stream";
5
+ import { PromptTemplateVariable } from "./tokens/promptTemplateVariable.js";
6
+ import { BaseDecoder } from "./base/baseDecoder.js";
7
+ import { PromptVariable, PromptVariableWithData } from "./tokens/promptVariable.js";
8
+ import { TMarkdownToken } from "./base/markdownCodec/markdownDecoder.js";
9
+ export type TChatPromptToken = TMarkdownToken | (PromptVariable | PromptVariableWithData) | PromptAtMention | PromptSlashCommand | PromptTemplateVariable;
10
+ export declare class ChatPromptDecoder extends BaseDecoder<TChatPromptToken, TMarkdownToken> {
11
+ private current?;
12
+ constructor(stream: ReadableStream<VSBuffer>);
13
+ protected onStreamData(token: TMarkdownToken): void;
14
+ protected onStreamEnd(): void;
15
+ protected reEmitCurrentTokens(): void;
16
+ }
@@ -0,0 +1,109 @@
1
+
2
+ import { PromptToken } from './tokens/promptToken.js';
3
+ import { PartialPromptAtMention } from './parsers/promptAtMentionParser.js';
4
+ import { assert, assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
5
+ import { PartialPromptSlashCommand } from './parsers/promptSlashCommandParser.js';
6
+ import { BaseDecoder } from './base/baseDecoder.js';
7
+ import { At } from './base/simpleCodec/tokens/at.js';
8
+ import { Hash } from './base/simpleCodec/tokens/hash.js';
9
+ import { Slash } from './base/simpleCodec/tokens/slash.js';
10
+ import { DollarSign } from './base/simpleCodec/tokens/dollarSign.js';
11
+ import { PartialPromptVariableName, PartialPromptVariableWithData } from './parsers/promptVariableParser.js';
12
+ import { MarkdownDecoder } from './base/markdownCodec/markdownDecoder.js';
13
+ import { PartialPromptTemplateVariableStart, PartialPromptTemplateVariable } from './parsers/promptTemplateVariableParser.js';
14
+
15
+ class ChatPromptDecoder extends BaseDecoder {
16
+ constructor(stream) {
17
+ super(( new MarkdownDecoder(stream)));
18
+ }
19
+ onStreamData(token) {
20
+ if ((token instanceof Hash) && !this.current) {
21
+ this.current = ( new PartialPromptVariableName(token));
22
+ return;
23
+ }
24
+ if ((token instanceof At) && !this.current) {
25
+ this.current = ( new PartialPromptAtMention(token));
26
+ return;
27
+ }
28
+ if ((token instanceof Slash) && !this.current) {
29
+ this.current = ( new PartialPromptSlashCommand(token));
30
+ return;
31
+ }
32
+ if ((token instanceof DollarSign) && !this.current) {
33
+ this.current = ( new PartialPromptTemplateVariableStart(token));
34
+ return;
35
+ }
36
+ if (!this.current) {
37
+ this._onData.fire(token);
38
+ return;
39
+ }
40
+ const parseResult = this.current.accept(token);
41
+ switch (parseResult.result) {
42
+ case 'success': {
43
+ const { nextParser } = parseResult;
44
+ if (nextParser instanceof PromptToken) {
45
+ this._onData.fire(nextParser);
46
+ delete this.current;
47
+ }
48
+ else {
49
+ this.current = nextParser;
50
+ }
51
+ break;
52
+ }
53
+ case 'failure': {
54
+ this.reEmitCurrentTokens();
55
+ break;
56
+ }
57
+ }
58
+ if (!parseResult.wasTokenConsumed) {
59
+ this.onStreamData(token);
60
+ }
61
+ }
62
+ onStreamEnd() {
63
+ try {
64
+ if (this.current === undefined) {
65
+ return;
66
+ }
67
+ if (this.current instanceof PartialPromptVariableName) {
68
+ this._onData.fire(this.current.asPromptVariable());
69
+ return;
70
+ }
71
+ if (this.current instanceof PartialPromptVariableWithData) {
72
+ this._onData.fire(this.current.asPromptVariableWithData());
73
+ return;
74
+ }
75
+ if (this.current instanceof PartialPromptAtMention) {
76
+ this._onData.fire(this.current.asPromptAtMention());
77
+ return;
78
+ }
79
+ if (this.current instanceof PartialPromptSlashCommand) {
80
+ this._onData.fire(this.current.asPromptSlashCommand());
81
+ return;
82
+ }
83
+ assert((this.current instanceof PartialPromptTemplateVariableStart) === false, 'Incomplete template variable token.');
84
+ if (this.current instanceof PartialPromptTemplateVariable) {
85
+ this._onData.fire(this.current.asPromptTemplateVariable());
86
+ return;
87
+ }
88
+ assertNever(this.current, `Unknown parser object '${this.current}'`);
89
+ }
90
+ catch (_error) {
91
+ this.reEmitCurrentTokens();
92
+ }
93
+ finally {
94
+ delete this.current;
95
+ super.onStreamEnd();
96
+ }
97
+ }
98
+ reEmitCurrentTokens() {
99
+ if (this.current === undefined) {
100
+ return;
101
+ }
102
+ for (const token of this.current.tokens) {
103
+ this._onData.fire(token);
104
+ }
105
+ delete this.current;
106
+ }
107
+ }
108
+
109
+ export { ChatPromptDecoder };
@@ -0,0 +1,11 @@
1
+ import { PromptAtMention } from "../tokens/promptAtMention.js";
2
+ import { At } from "../base/simpleCodec/tokens/at.js";
3
+ import { TSimpleDecoderToken } from "../base/simpleCodec/simpleDecoder.js";
4
+ import { ParserBase, TAcceptTokenResult } from "../base/simpleCodec/parserBase.js";
5
+ export declare const STOP_CHARACTERS: readonly string[];
6
+ export declare const INVALID_NAME_CHARACTERS: readonly string[];
7
+ export declare class PartialPromptAtMention extends ParserBase<TSimpleDecoderToken, PartialPromptAtMention | PromptAtMention> {
8
+ constructor(token: At);
9
+ accept(token: TSimpleDecoderToken): TAcceptTokenResult<PartialPromptAtMention | PromptAtMention>;
10
+ asPromptAtMention(): PromptAtMention;
11
+ }
@@ -0,0 +1,80 @@
1
+
2
+ import { __decorate } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { PromptAtMention } from '../tokens/promptAtMention.js';
4
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
5
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
6
+ import { BaseToken } from '../base/baseToken.js';
7
+ import { At } from '../base/simpleCodec/tokens/at.js';
8
+ import { Tab } from '../base/simpleCodec/tokens/tab.js';
9
+ import { Hash } from '../base/simpleCodec/tokens/hash.js';
10
+ import { Space } from '../base/simpleCodec/tokens/space.js';
11
+ import { Colon } from '../base/simpleCodec/tokens/colon.js';
12
+ import { NewLine } from '../base/linesCodec/tokens/newLine.js';
13
+ import { FormFeed } from '../base/simpleCodec/tokens/formFeed.js';
14
+ import { VerticalTab } from '../base/simpleCodec/tokens/verticalTab.js';
15
+ import { CarriageReturn } from '../base/linesCodec/tokens/carriageReturn.js';
16
+ import { ExclamationMark } from '../base/simpleCodec/tokens/exclamationMark.js';
17
+ import { LeftBracket, RightBracket } from '../base/simpleCodec/tokens/brackets.js';
18
+ import { LeftAngleBracket, RightAngleBracket } from '../base/simpleCodec/tokens/angleBrackets.js';
19
+ import { ParserBase, assertNotConsumed } from '../base/simpleCodec/parserBase.js';
20
+
21
+ const STOP_CHARACTERS = ( [Space, Tab, NewLine, CarriageReturn, VerticalTab, FormFeed, At, Colon, Hash]
22
+ .map((token) => { return token.symbol; }));
23
+ const INVALID_NAME_CHARACTERS = ( [ExclamationMark, LeftAngleBracket, RightAngleBracket, LeftBracket, RightBracket]
24
+ .map((token) => { return token.symbol; }));
25
+ class PartialPromptAtMention extends ParserBase {
26
+ constructor(token) {
27
+ super([token]);
28
+ }
29
+ accept(token) {
30
+ if (STOP_CHARACTERS.includes(token.text)) {
31
+ try {
32
+ return {
33
+ result: 'success',
34
+ nextParser: this.asPromptAtMention(),
35
+ wasTokenConsumed: false,
36
+ };
37
+ }
38
+ catch (error) {
39
+ return {
40
+ result: 'failure',
41
+ wasTokenConsumed: false,
42
+ };
43
+ }
44
+ finally {
45
+ this.isConsumed = true;
46
+ }
47
+ }
48
+ if (INVALID_NAME_CHARACTERS.includes(token.text)) {
49
+ this.isConsumed = true;
50
+ return {
51
+ result: 'failure',
52
+ wasTokenConsumed: false,
53
+ };
54
+ }
55
+ this.currentTokens.push(token);
56
+ return {
57
+ result: 'success',
58
+ nextParser: this,
59
+ wasTokenConsumed: true,
60
+ };
61
+ }
62
+ asPromptAtMention() {
63
+ assert(this.currentTokens.length > 1, 'Cannot create a prompt @mention out of incomplete token sequence.');
64
+ const firstToken = this.currentTokens[0];
65
+ const lastToken = this.currentTokens[this.currentTokens.length - 1];
66
+ const nameTokens = this.currentTokens.slice(1);
67
+ const atMentionName = BaseToken.render(nameTokens);
68
+ return ( new PromptAtMention(( new Range(
69
+ firstToken.range.startLineNumber,
70
+ firstToken.range.startColumn,
71
+ lastToken.range.endLineNumber,
72
+ lastToken.range.endColumn
73
+ )), atMentionName));
74
+ }
75
+ }
76
+ PartialPromptAtMention.__decorator = ( __decorate([
77
+ assertNotConsumed
78
+ ], PartialPromptAtMention.prototype, "accept", null));
79
+
80
+ export { INVALID_NAME_CHARACTERS, PartialPromptAtMention, STOP_CHARACTERS };
@@ -0,0 +1,11 @@
1
+ import { PromptSlashCommand } from "../tokens/promptSlashCommand.js";
2
+ import { Slash } from "../base/simpleCodec/tokens/slash.js";
3
+ import { TSimpleDecoderToken } from "../base/simpleCodec/simpleDecoder.js";
4
+ import { ParserBase, TAcceptTokenResult } from "../base/simpleCodec/parserBase.js";
5
+ export declare const STOP_CHARACTERS: readonly string[];
6
+ export declare const INVALID_NAME_CHARACTERS: readonly string[];
7
+ export declare class PartialPromptSlashCommand extends ParserBase<TSimpleDecoderToken, PartialPromptSlashCommand | PromptSlashCommand> {
8
+ constructor(token: Slash);
9
+ accept(token: TSimpleDecoderToken): TAcceptTokenResult<PartialPromptSlashCommand | PromptSlashCommand>;
10
+ asPromptSlashCommand(): PromptSlashCommand;
11
+ }
@@ -0,0 +1,81 @@
1
+
2
+ import { __decorate } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
4
+ import { PromptSlashCommand } from '../tokens/promptSlashCommand.js';
5
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
6
+ import { BaseToken } from '../base/baseToken.js';
7
+ import { At } from '../base/simpleCodec/tokens/at.js';
8
+ import { Tab } from '../base/simpleCodec/tokens/tab.js';
9
+ import { Hash } from '../base/simpleCodec/tokens/hash.js';
10
+ import { Slash } from '../base/simpleCodec/tokens/slash.js';
11
+ import { Space } from '../base/simpleCodec/tokens/space.js';
12
+ import { Colon } from '../base/simpleCodec/tokens/colon.js';
13
+ import { NewLine } from '../base/linesCodec/tokens/newLine.js';
14
+ import { FormFeed } from '../base/simpleCodec/tokens/formFeed.js';
15
+ import { VerticalTab } from '../base/simpleCodec/tokens/verticalTab.js';
16
+ import { CarriageReturn } from '../base/linesCodec/tokens/carriageReturn.js';
17
+ import { ExclamationMark } from '../base/simpleCodec/tokens/exclamationMark.js';
18
+ import { LeftBracket, RightBracket } from '../base/simpleCodec/tokens/brackets.js';
19
+ import { LeftAngleBracket, RightAngleBracket } from '../base/simpleCodec/tokens/angleBrackets.js';
20
+ import { ParserBase, assertNotConsumed } from '../base/simpleCodec/parserBase.js';
21
+
22
+ const STOP_CHARACTERS = ( [Space, Tab, NewLine, CarriageReturn, VerticalTab, FormFeed, Colon, At, Hash, Slash]
23
+ .map((token) => { return token.symbol; }));
24
+ const INVALID_NAME_CHARACTERS = ( [ExclamationMark, LeftAngleBracket, RightAngleBracket, LeftBracket, RightBracket]
25
+ .map((token) => { return token.symbol; }));
26
+ class PartialPromptSlashCommand extends ParserBase {
27
+ constructor(token) {
28
+ super([token]);
29
+ }
30
+ accept(token) {
31
+ if (STOP_CHARACTERS.includes(token.text)) {
32
+ try {
33
+ return {
34
+ result: 'success',
35
+ nextParser: this.asPromptSlashCommand(),
36
+ wasTokenConsumed: false,
37
+ };
38
+ }
39
+ catch (error) {
40
+ return {
41
+ result: 'failure',
42
+ wasTokenConsumed: false,
43
+ };
44
+ }
45
+ finally {
46
+ this.isConsumed = true;
47
+ }
48
+ }
49
+ if (INVALID_NAME_CHARACTERS.includes(token.text)) {
50
+ this.isConsumed = true;
51
+ return {
52
+ result: 'failure',
53
+ wasTokenConsumed: false,
54
+ };
55
+ }
56
+ this.currentTokens.push(token);
57
+ return {
58
+ result: 'success',
59
+ nextParser: this,
60
+ wasTokenConsumed: true,
61
+ };
62
+ }
63
+ asPromptSlashCommand() {
64
+ assert(this.currentTokens.length > 1, 'Cannot create a prompt /command out of incomplete token sequence.');
65
+ const firstToken = this.currentTokens[0];
66
+ const lastToken = this.currentTokens[this.currentTokens.length - 1];
67
+ const nameTokens = this.currentTokens.slice(1);
68
+ const atMentionName = BaseToken.render(nameTokens);
69
+ return ( new PromptSlashCommand(( new Range(
70
+ firstToken.range.startLineNumber,
71
+ firstToken.range.startColumn,
72
+ lastToken.range.endLineNumber,
73
+ lastToken.range.endColumn
74
+ )), atMentionName));
75
+ }
76
+ }
77
+ PartialPromptSlashCommand.__decorator = ( __decorate([
78
+ assertNotConsumed
79
+ ], PartialPromptSlashCommand.prototype, "accept", null));
80
+
81
+ export { INVALID_NAME_CHARACTERS, PartialPromptSlashCommand, STOP_CHARACTERS };
@@ -0,0 +1,15 @@
1
+ import { PromptTemplateVariable } from "../tokens/promptTemplateVariable.js";
2
+ import { TSimpleDecoderToken } from "../base/simpleCodec/simpleDecoder.js";
3
+ import { DollarSign, LeftCurlyBrace } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tokens";
4
+ import { ParserBase, TAcceptTokenResult } from "../base/simpleCodec/parserBase.js";
5
+ export type TPromptTemplateVariableParser = PartialPromptTemplateVariableStart | PartialPromptTemplateVariable;
6
+ export declare class PartialPromptTemplateVariableStart extends ParserBase<DollarSign | LeftCurlyBrace, PartialPromptTemplateVariableStart | PartialPromptTemplateVariable> {
7
+ constructor(token: DollarSign);
8
+ accept(token: TSimpleDecoderToken): TAcceptTokenResult<PartialPromptTemplateVariableStart | PartialPromptTemplateVariable>;
9
+ }
10
+ export declare class PartialPromptTemplateVariable extends ParserBase<TSimpleDecoderToken, PartialPromptTemplateVariable | PromptTemplateVariable> {
11
+ constructor(tokens: (DollarSign | LeftCurlyBrace)[]);
12
+ accept(token: TSimpleDecoderToken): TAcceptTokenResult<PartialPromptTemplateVariable | PromptTemplateVariable>;
13
+ private get contents();
14
+ asPromptTemplateVariable(): PromptTemplateVariable;
15
+ }
@@ -0,0 +1,100 @@
1
+
2
+ import { __decorate } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
4
+ import { PromptTemplateVariable } from '../tokens/promptTemplateVariable.js';
5
+ import { BaseToken } from '../base/baseToken.js';
6
+ import '../base/simpleCodec/tokens/at.js';
7
+ import '../base/simpleCodec/tokens/tab.js';
8
+ import '../base/simpleCodec/tokens/dash.js';
9
+ import '../base/simpleCodec/tokens/hash.js';
10
+ import '../base/simpleCodec/tokens/colon.js';
11
+ import '../base/simpleCodec/tokens/quote.js';
12
+ import '../base/simpleCodec/tokens/slash.js';
13
+ import '../base/simpleCodec/tokens/space.js';
14
+ import '../base/simpleCodec/tokens/comma.js';
15
+ import '../base/simpleCodec/tokens/formFeed.js';
16
+ import { DollarSign } from '../base/simpleCodec/tokens/dollarSign.js';
17
+ import '../base/simpleCodec/tokens/verticalTab.js';
18
+ import '../base/simpleCodec/tokens/doubleQuote.js';
19
+ import '../base/simpleCodec/tokens/exclamationMark.js';
20
+ import '../base/simpleCodec/tokens/brackets.js';
21
+ import { LeftCurlyBrace, RightCurlyBrace } from '../base/simpleCodec/tokens/curlyBraces.js';
22
+ import '../base/simpleCodec/tokens/parentheses.js';
23
+ import '../base/simpleCodec/tokens/angleBrackets.js';
24
+ import { ParserBase, assertNotConsumed } from '../base/simpleCodec/parserBase.js';
25
+
26
+ class PartialPromptTemplateVariableStart extends ParserBase {
27
+ constructor(token) {
28
+ super([token]);
29
+ }
30
+ accept(token) {
31
+ if (token instanceof LeftCurlyBrace) {
32
+ this.currentTokens.push(token);
33
+ this.isConsumed = true;
34
+ return {
35
+ result: 'success',
36
+ nextParser: ( new PartialPromptTemplateVariable(this.currentTokens)),
37
+ wasTokenConsumed: true,
38
+ };
39
+ }
40
+ return {
41
+ result: 'failure',
42
+ wasTokenConsumed: false,
43
+ };
44
+ }
45
+ }
46
+ PartialPromptTemplateVariableStart.__decorator = ( __decorate([
47
+ assertNotConsumed
48
+ ], PartialPromptTemplateVariableStart.prototype, "accept", null));
49
+ class PartialPromptTemplateVariable extends ParserBase {
50
+ constructor(tokens) {
51
+ super(tokens);
52
+ }
53
+ accept(token) {
54
+ if (token instanceof RightCurlyBrace) {
55
+ this.currentTokens.push(token);
56
+ this.isConsumed = true;
57
+ return {
58
+ result: 'success',
59
+ nextParser: this.asPromptTemplateVariable(),
60
+ wasTokenConsumed: true,
61
+ };
62
+ }
63
+ this.currentTokens.push(token);
64
+ return {
65
+ result: 'success',
66
+ nextParser: this,
67
+ wasTokenConsumed: true,
68
+ };
69
+ }
70
+ get contents() {
71
+ const contentTokens = [];
72
+ if (this.currentTokens.length < 3) {
73
+ return '';
74
+ }
75
+ for (let i = 2; i < this.currentTokens.length; i++) {
76
+ const token = this.currentTokens[i];
77
+ const isLastToken = (i === this.currentTokens.length - 1);
78
+ if ((token instanceof RightCurlyBrace) && (isLastToken === true)) {
79
+ break;
80
+ }
81
+ contentTokens.push(token);
82
+ }
83
+ return BaseToken.render(contentTokens);
84
+ }
85
+ asPromptTemplateVariable() {
86
+ const firstToken = this.currentTokens[0];
87
+ const secondToken = this.currentTokens[1];
88
+ const lastToken = this.currentTokens[this.currentTokens.length - 1];
89
+ assert(this.currentTokens.length >= 3, 'Prompt template variable should have at least 3 tokens.');
90
+ assert(lastToken instanceof RightCurlyBrace, 'Last token is not a "}".');
91
+ assert(firstToken instanceof DollarSign, 'First token must be a "$".');
92
+ assert(secondToken instanceof LeftCurlyBrace, 'Second token must be a "{".');
93
+ return ( new PromptTemplateVariable(BaseToken.fullRange(this.currentTokens), this.contents));
94
+ }
95
+ }
96
+ PartialPromptTemplateVariable.__decorator = ( __decorate([
97
+ assertNotConsumed
98
+ ], PartialPromptTemplateVariable.prototype, "accept", null));
99
+
100
+ export { PartialPromptTemplateVariable, PartialPromptTemplateVariableStart };
@@ -0,0 +1,16 @@
1
+ import { PromptVariable, PromptVariableWithData } from "../tokens/promptVariable.js";
2
+ import { Hash } from "../base/simpleCodec/tokens/hash.js";
3
+ import { TSimpleDecoderToken } from "../base/simpleCodec/simpleDecoder.js";
4
+ import { ParserBase, TAcceptTokenResult } from "../base/simpleCodec/parserBase.js";
5
+ export declare const STOP_CHARACTERS: readonly string[];
6
+ export declare const INVALID_NAME_CHARACTERS: readonly string[];
7
+ export declare class PartialPromptVariableName extends ParserBase<TSimpleDecoderToken, PartialPromptVariableName | PartialPromptVariableWithData | PromptVariable> {
8
+ constructor(token: Hash);
9
+ accept(token: TSimpleDecoderToken): TAcceptTokenResult<PartialPromptVariableName | PartialPromptVariableWithData | PromptVariable>;
10
+ asPromptVariable(): PromptVariable;
11
+ }
12
+ export declare class PartialPromptVariableWithData extends ParserBase<TSimpleDecoderToken, PartialPromptVariableWithData | PromptVariableWithData> {
13
+ constructor(tokens: readonly TSimpleDecoderToken[]);
14
+ accept(token: TSimpleDecoderToken): TAcceptTokenResult<PartialPromptVariableWithData | PromptVariableWithData>;
15
+ asPromptVariableWithData(): PromptVariableWithData;
16
+ }