@codingame/monaco-vscode-chat-service-override 18.4.0 → 19.0.1

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,179 @@
1
+
2
+ import { Action2, MenuId, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
3
+ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
4
+ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
5
+ import { IAuthenticationAccessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationAccessService.service';
6
+ import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
+ import { INTERNAL_AUTH_PROVIDER_PREFIX } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication';
8
+ import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
9
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
10
+ import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
11
+ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
12
+ import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
13
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
14
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
15
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
16
+
17
+ class ManageLanguageModelAuthenticationAction extends Action2 {
18
+ static { this.ID = 'workbench.action.chat.manageLanguageModelAuthentication'; }
19
+ constructor() {
20
+ super({
21
+ id: ManageLanguageModelAuthenticationAction.ID,
22
+ title: ( localize2(4572, 'Manage Language Model Access...')),
23
+ category: CHAT_CATEGORY,
24
+ precondition: ChatContextKeys.enabled,
25
+ menu: [{
26
+ id: MenuId.AccountsContext,
27
+ order: 100,
28
+ }],
29
+ f1: true
30
+ });
31
+ }
32
+ async run(accessor) {
33
+ const quickInputService = accessor.get(IQuickInputService);
34
+ const languageModelsService = accessor.get(ILanguageModelsService);
35
+ const authenticationAccessService = accessor.get(IAuthenticationAccessService);
36
+ const dialogService = accessor.get(IDialogService);
37
+ const extensionService = accessor.get(IExtensionService);
38
+ const extensionsWorkbenchService = accessor.get(IExtensionsWorkbenchService);
39
+ const productService = accessor.get(IProductService);
40
+ const modelIds = languageModelsService.getLanguageModelIds();
41
+ const extensionAuth = ( new Map());
42
+ const ownerToAccountLabel = ( new Map());
43
+ for (const modelId of modelIds) {
44
+ const model = languageModelsService.lookupLanguageModel(modelId);
45
+ if (!model?.auth) {
46
+ continue;
47
+ }
48
+ const ownerId = model.extension.value;
49
+ if (( extensionAuth.has(ownerId))) {
50
+ continue;
51
+ }
52
+ try {
53
+ const providerId = INTERNAL_AUTH_PROVIDER_PREFIX + ownerId;
54
+ const accountLabel = model.auth.accountLabel || 'Language Models';
55
+ ownerToAccountLabel.set(ownerId, accountLabel);
56
+ const allowedExtensions = authenticationAccessService.readAllowedExtensions(providerId, accountLabel).filter(ext => !ext.trusted);
57
+ if (productService.trustedExtensionAuthAccess && !Array.isArray(productService.trustedExtensionAuthAccess)) {
58
+ const trustedExtensions = productService.trustedExtensionAuthAccess[providerId];
59
+ for (const ext of trustedExtensions) {
60
+ const index = allowedExtensions.findIndex(a => a.id === ext);
61
+ if (index !== -1) {
62
+ allowedExtensions.splice(index, 1);
63
+ }
64
+ const extension = await extensionService.getExtension(ext);
65
+ if (!extension) {
66
+ continue;
67
+ }
68
+ allowedExtensions.push({
69
+ id: ext,
70
+ name: extension.displayName || extension.name,
71
+ allowed: true,
72
+ trusted: true
73
+ });
74
+ }
75
+ }
76
+ const filteredExtensions = ( new Array());
77
+ for (const ext of allowedExtensions) {
78
+ if (await extensionService.getExtension(ext.id)) {
79
+ filteredExtensions.push(ext);
80
+ }
81
+ }
82
+ extensionAuth.set(ownerId, filteredExtensions);
83
+ }
84
+ catch (error) {
85
+ if (!( extensionAuth.has(ownerId))) {
86
+ extensionAuth.set(ownerId, []);
87
+ }
88
+ }
89
+ }
90
+ if (extensionAuth.size === 0) {
91
+ dialogService.prompt({
92
+ type: 'info',
93
+ message: ( localize(4573, 'No language models requiring authentication found.')),
94
+ detail: ( localize(
95
+ 4574,
96
+ 'There are currently no language models that require authentication.'
97
+ ))
98
+ });
99
+ return;
100
+ }
101
+ const items = [];
102
+ for (const [ownerId, allowedExtensions] of extensionAuth) {
103
+ const extension = await extensionService.getExtension(ownerId);
104
+ if (!extension) {
105
+ continue;
106
+ }
107
+ items.push({
108
+ type: 'separator',
109
+ id: ownerId,
110
+ label: ( localize(4575, '{0}', extension.displayName || extension.name)),
111
+ buttons: [{
112
+ iconClass: ThemeIcon.asClassName(Codicon.info),
113
+ tooltip: ( localize(4576, 'Open Extension')),
114
+ }]
115
+ });
116
+ let addedTrustedSeparator = false;
117
+ if (allowedExtensions.length > 0) {
118
+ for (const allowedExt of allowedExtensions) {
119
+ if (allowedExt.trusted && !addedTrustedSeparator) {
120
+ items.push({
121
+ type: 'separator',
122
+ label: ( localize(4577, 'Trusted by Microsoft')),
123
+ });
124
+ addedTrustedSeparator = true;
125
+ }
126
+ items.push({
127
+ label: allowedExt.name,
128
+ ownerId,
129
+ id: allowedExt.id,
130
+ picked: allowedExt.allowed ?? false,
131
+ extension: allowedExt,
132
+ disabled: allowedExt.trusted,
133
+ });
134
+ }
135
+ }
136
+ else {
137
+ items.push({
138
+ label: ( localize(4578, 'No extensions have access')),
139
+ description: ( localize(
140
+ 4579,
141
+ 'No extensions are currently allowed to use models from {0}',
142
+ ownerId
143
+ )),
144
+ pickable: false
145
+ });
146
+ }
147
+ }
148
+ const result = await quickInputService.pick(items, {
149
+ canPickMany: true,
150
+ sortByLabel: true,
151
+ onDidTriggerSeparatorButton(context) {
152
+ const extId = context.separator.id;
153
+ if (extId) {
154
+ void extensionsWorkbenchService.open(extId);
155
+ }
156
+ },
157
+ title: ( localize(4580, 'Manage Language Model Access')),
158
+ placeHolder: ( localize(4581, 'Choose which extensions can access language models')),
159
+ });
160
+ if (!result) {
161
+ return;
162
+ }
163
+ for (const [ownerId, allowedExtensions] of extensionAuth) {
164
+ const allowedSet = ( new Set(( result
165
+ .filter(item => item.ownerId === ownerId)
166
+ .filter(item => !item.extension?.trusted)
167
+ .map(item => item.id))));
168
+ for (const allowedExt of allowedExtensions) {
169
+ allowedExt.allowed = ( allowedSet.has(allowedExt.id));
170
+ }
171
+ authenticationAccessService.updateAllowedExtensions(INTERNAL_AUTH_PROVIDER_PREFIX + ownerId, ownerToAccountLabel.get(ownerId) || 'Language Models', allowedExtensions);
172
+ }
173
+ }
174
+ }
175
+ function registerLanguageModelActions() {
176
+ registerAction2(ManageLanguageModelAuthenticationAction);
177
+ }
178
+
179
+ export { registerLanguageModelActions };
@@ -12,11 +12,11 @@ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
12
12
  import { isChatViewTitleActionContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatActions';
13
13
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
14
14
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
15
- import { ChatViewId } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/browser/chat';
15
+ import { ChatViewId } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/chat';
16
16
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
17
17
  import { ChatEditor } from '../chatEditor.js';
18
- import { ChatEditorInput } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
19
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
18
+ import { ChatEditorInput } from '@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
19
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
20
20
 
21
21
  var MoveToNewLocation;
22
22
  (function (MoveToNewLocation) {
@@ -28,7 +28,7 @@ function registerMoveActions() {
28
28
  constructor() {
29
29
  super({
30
30
  id: 'workbench.action.chat.openInEditor',
31
- title: ( localize2(4472, "Open Chat in Editor")),
31
+ title: ( localize2(4582, "Open Chat in Editor")),
32
32
  category: CHAT_CATEGORY,
33
33
  precondition: ChatContextKeys.enabled,
34
34
  f1: true,
@@ -49,7 +49,7 @@ function registerMoveActions() {
49
49
  constructor() {
50
50
  super({
51
51
  id: 'workbench.action.chat.openInNewWindow',
52
- title: ( localize2(4473, "Open Chat in New Window")),
52
+ title: ( localize2(4583, "Open Chat in New Window")),
53
53
  category: CHAT_CATEGORY,
54
54
  precondition: ChatContextKeys.enabled,
55
55
  f1: true,
@@ -70,7 +70,7 @@ function registerMoveActions() {
70
70
  constructor() {
71
71
  super({
72
72
  id: 'workbench.action.chat.openInSidebar',
73
- title: ( localize2(4474, "Open Chat in Side Bar")),
73
+ title: ( localize2(4584, "Open Chat in Side Bar")),
74
74
  category: CHAT_CATEGORY,
75
75
  precondition: ChatContextKeys.enabled,
76
76
  f1: true
@@ -89,9 +89,9 @@ function registerMoveActions() {
89
89
  });
90
90
  }
91
91
  [MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].forEach(id => {
92
- appendOpenChatInViewMenuItem(id, ( localize(4475, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
93
- appendOpenChatInViewMenuItem(id, ( localize(4476, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
94
- appendOpenChatInViewMenuItem(id, ( localize(4477, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
92
+ appendOpenChatInViewMenuItem(id, ( localize(4585, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
93
+ appendOpenChatInViewMenuItem(id, ( localize(4586, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
94
+ appendOpenChatInViewMenuItem(id, ( localize(4587, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
95
95
  });
96
96
  }
97
97
  async function executeMoveToAction(accessor, moveTo, _sessionId) {
@@ -1,2 +1,2 @@
1
- export { ASK_QUICK_QUESTION_ACTION_ID } from "@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants";
1
+ export { ASK_QUICK_QUESTION_ACTION_ID } from "@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants";
2
2
  export declare function registerQuickChatActions(): void;
@@ -5,11 +5,11 @@ import { Selection } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/
5
5
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
6
  import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
7
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
8
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
8
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
9
9
  import { IQuickChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
10
10
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
11
- import { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
12
- export { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
11
+ import { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
12
+ export { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
13
13
 
14
14
  function registerQuickChatActions() {
15
15
  registerAction2(QuickChatGlobalAction);
@@ -18,7 +18,7 @@ function registerQuickChatActions() {
18
18
  constructor() {
19
19
  super({
20
20
  id: 'workbench.action.quickchat.openInChatView',
21
- title: ( localize2(4478, "Open in Chat View")),
21
+ title: ( localize2(4588, "Open in Chat View")),
22
22
  f1: false,
23
23
  category: CHAT_CATEGORY,
24
24
  icon: Codicon.commentDiscussion,
@@ -38,7 +38,7 @@ function registerQuickChatActions() {
38
38
  constructor() {
39
39
  super({
40
40
  id: 'workbench.action.quickchat.close',
41
- title: ( localize2(4479, "Close Quick Chat")),
41
+ title: ( localize2(4589, "Close Quick Chat")),
42
42
  f1: false,
43
43
  category: CHAT_CATEGORY,
44
44
  icon: Codicon.close,
@@ -59,7 +59,7 @@ class QuickChatGlobalAction extends Action2 {
59
59
  constructor() {
60
60
  super({
61
61
  id: ASK_QUICK_QUESTION_ACTION_ID,
62
- title: ( localize2(4480, 'Quick Chat')),
62
+ title: ( localize2(4590, 'Quick Chat')),
63
63
  precondition: ChatContextKeys.enabled,
64
64
  icon: Codicon.commentDiscussion,
65
65
  f1: false,
@@ -74,7 +74,7 @@ class QuickChatGlobalAction extends Action2 {
74
74
  order: 4
75
75
  },
76
76
  metadata: {
77
- description: ( localize(4481, 'Toggle the quick chat')),
77
+ description: ( localize(4591, 'Toggle the quick chat')),
78
78
  args: [{
79
79
  name: 'args',
80
80
  schema: {
@@ -84,18 +84,18 @@ class QuickChatGlobalAction extends Action2 {
84
84
  required: ['query'],
85
85
  properties: {
86
86
  query: {
87
- description: ( localize(4482, "The query to open the quick chat with")),
87
+ description: ( localize(4592, "The query to open the quick chat with")),
88
88
  type: 'string'
89
89
  },
90
90
  isPartialQuery: {
91
- description: ( localize(4483, "Whether the query is partial; it will wait for more user input")),
91
+ description: ( localize(4593, "Whether the query is partial; it will wait for more user input")),
92
92
  type: 'boolean'
93
93
  }
94
94
  },
95
95
  },
96
96
  {
97
97
  type: 'string',
98
- description: ( localize(4482, "The query to open the quick chat with"))
98
+ description: ( localize(4592, "The query to open the quick chat with"))
99
99
  }
100
100
  ]
101
101
  }
@@ -125,7 +125,7 @@ class AskQuickChatAction extends Action2 {
125
125
  super({
126
126
  id: `workbench.action.openQuickChat`,
127
127
  category: CHAT_CATEGORY,
128
- title: ( localize2(4484, "Open Quick Chat")),
128
+ title: ( localize2(4594, "Open Quick Chat")),
129
129
  precondition: ChatContextKeys.enabled,
130
130
  f1: true
131
131
  });
@@ -8,19 +8,20 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
8
8
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
9
9
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
10
10
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
11
- import { isResponseVM } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
12
- import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
13
- import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
11
+ import { isResponseVM } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
12
+ import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
13
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
14
14
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
15
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
16
- import { AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-6c0f93b9-169c-58c3-a9cb-7d60698eb52c-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
15
+ import { ToolsScope } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatSelectedTools';
16
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
17
+ import { AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
17
18
  import { showToolsPicker } from './chatToolPicker.js';
18
19
 
19
20
  class AcceptToolConfirmation extends Action2 {
20
21
  constructor() {
21
22
  super({
22
23
  id: AcceptToolConfirmationActionId,
23
- title: ( localize2(4495, "Accept")),
24
+ title: ( localize2(4605, "Accept")),
24
25
  f1: false,
25
26
  category: CHAT_CATEGORY,
26
27
  keybinding: {
@@ -48,17 +49,17 @@ class ConfigureToolsAction extends Action2 {
48
49
  constructor() {
49
50
  super({
50
51
  id: 'workbench.action.chat.configureTools',
51
- title: ( localize(4496, "Configure Tools...")),
52
+ title: ( localize(4606, "Configure Tools...")),
52
53
  icon: Codicon.tools,
53
54
  f1: false,
54
55
  category: CHAT_CATEGORY,
55
- precondition: ( ChatContextKeys.chatMode.isEqualTo(ChatMode.Agent)),
56
- menu: {
57
- when: ( ChatContextKeys.chatMode.isEqualTo(ChatMode.Agent)),
58
- id: MenuId.ChatExecute,
59
- group: 'navigation',
60
- order: 1,
61
- }
56
+ precondition: ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)),
57
+ menu: [{
58
+ when: ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)),
59
+ id: MenuId.ChatExecute,
60
+ group: 'navigation',
61
+ order: 1,
62
+ }]
62
63
  });
63
64
  }
64
65
  async run(accessor, ...args) {
@@ -78,23 +79,39 @@ class ConfigureToolsAction extends Action2 {
78
79
  if (!widget) {
79
80
  return;
80
81
  }
81
- await instaService.invokeFunction(showToolsPicker, ( localize(4497, "Select tools that are available to chat")), widget.input.selectedToolsModel.entriesMap, newEntriesMap => {
82
- const disableToolSets = [];
83
- const disableTools = [];
82
+ let placeholder;
83
+ let description;
84
+ const { entriesScope, entriesMap } = widget.input.selectedToolsModel;
85
+ switch (entriesScope) {
86
+ case ToolsScope.Session:
87
+ placeholder = ( localize(4607, "Select tools for this chat session"));
88
+ description = ( localize(
89
+ 4608,
90
+ "The selected tools were configured by a prompt command and only apply to this chat session."
91
+ ));
92
+ break;
93
+ case ToolsScope.Mode:
94
+ placeholder = ( localize(4609, "Select tools for this chat mode"));
95
+ description = ( localize(
96
+ 4610,
97
+ "The selected tools are configured by the '{0}' chat mode. Changes to the tools will be applied to the mode file as well.",
98
+ widget.input.currentModeObs.get().name
99
+ ));
100
+ break;
101
+ case ToolsScope.Global:
102
+ placeholder = ( localize(4611, "Select tools that are available to chat."));
103
+ description = undefined;
104
+ break;
105
+ }
106
+ const result = await instaService.invokeFunction(showToolsPicker, placeholder, description, entriesMap.get(), newEntriesMap => {
84
107
  for (const [item, enabled] of newEntriesMap) {
85
- if (!enabled) {
86
- if (item instanceof ToolSet) {
87
- disableToolSets.push(item);
88
- }
89
- else {
90
- disableTools.push(item);
91
- }
92
- }
93
108
  }
94
- widget.input.selectedToolsModel.disable(disableToolSets, disableTools, false);
95
109
  });
110
+ if (result) {
111
+ widget.input.selectedToolsModel.set(result, false);
112
+ }
96
113
  telemetryService.publicLog2('chat/selectedTools', {
97
- total: widget.input.selectedToolsModel.entriesMap.size,
114
+ total: widget.input.selectedToolsModel.entriesMap.get().size,
98
115
  enabled: widget.input.selectedToolsModel.entries.get().size,
99
116
  });
100
117
  }
@@ -1,3 +1,3 @@
1
1
  import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
2
2
  import { IToolData, ToolSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
3
- export declare function showToolsPicker(accessor: ServicesAccessor, placeHolder: string, toolsEntries?: ReadonlyMap<ToolSet | IToolData, boolean>, onUpdate?: (toolsEntries: ReadonlyMap<ToolSet | IToolData, boolean>) => void): Promise<ReadonlyMap<ToolSet | IToolData, boolean> | undefined>;
3
+ export declare function showToolsPicker(accessor: ServicesAccessor, placeHolder: string, description?: string, toolsEntries?: ReadonlyMap<ToolSet | IToolData, boolean>, onUpdate?: (toolsEntries: ReadonlyMap<ToolSet | IToolData, boolean>) => void): Promise<ReadonlyMap<ToolSet | IToolData, boolean> | undefined>;
@@ -3,7 +3,6 @@ import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/
3
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
4
  import { diffSets } from '@codingame/monaco-vscode-api/vscode/vs/base/common/collections';
5
5
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
- import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
7
6
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
7
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
9
8
  import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
@@ -13,7 +12,7 @@ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform
13
12
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
14
13
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
15
14
  import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
16
- import { AddConfigurationAction } from '@codingame/monaco-vscode-aa9ead53-dfd3-59da-b9e7-f163d201de8d-common/vscode/vs/workbench/contrib/mcp/browser/mcpCommands';
15
+ import { McpCommandIds } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/workbench/contrib/mcp/common/mcpCommandIds';
17
16
  import { IMcpRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service';
18
17
  import { McpConnectionState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes';
19
18
  import { IMcpService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
@@ -43,7 +42,7 @@ function isCallbackPick(obj) {
43
42
  function isActionableButton(obj) {
44
43
  return typeof obj.action === 'function';
45
44
  }
46
- async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
45
+ async function showToolsPicker(accessor, placeHolder, description, toolsEntries, onUpdate) {
47
46
  const quickPickService = accessor.get(IQuickInputService);
48
47
  const mcpService = accessor.get(IMcpService);
49
48
  const mcpRegistry = accessor.get(IMcpRegistry);
@@ -60,26 +59,26 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
60
59
  const builtinBucket = {
61
60
  type: 'item',
62
61
  children: [],
63
- label: ( localize(4498, "Built-In")),
62
+ label: ( localize(4612, "Built-In")),
64
63
  ordinal: BucketOrdinal.BuiltIn,
65
64
  picked: false,
66
65
  };
67
66
  const userBucket = {
68
67
  type: 'item',
69
68
  children: [],
70
- label: ( localize(4499, "User Defined Tool Sets")),
69
+ label: ( localize(4613, "User Defined Tool Sets")),
71
70
  ordinal: BucketOrdinal.User,
72
71
  alwaysShow: true,
73
72
  picked: false,
74
73
  };
75
- const addMcpPick = { type: 'item', label: ( localize(4500, "Add MCP Server...")), iconClass: ThemeIcon.asClassName(Codicon.add), pickable: false, run: () => commandService.executeCommand(AddConfigurationAction.ID) };
76
- const configureToolSetsPick = { type: 'item', label: ( localize(4501, "Configure Tool Sets...")), iconClass: ThemeIcon.asClassName(Codicon.gear), pickable: false, run: () => commandService.executeCommand(ConfigureToolSets.ID) };
77
- const addExpPick = { type: 'item', label: ( localize(4502, "Install Extension...")), iconClass: ThemeIcon.asClassName(Codicon.add), pickable: false, run: () => extensionWorkbenchService.openSearch('@tag:language-model-tools') };
74
+ const addMcpPick = { type: 'item', label: ( localize(4614, "Add MCP Server...")), iconClass: ThemeIcon.asClassName(Codicon.add), pickable: false, run: () => commandService.executeCommand(McpCommandIds.AddConfiguration) };
75
+ const configureToolSetsPick = { type: 'item', label: ( localize(4615, "Configure Tool Sets...")), iconClass: ThemeIcon.asClassName(Codicon.gear), pickable: false, run: () => commandService.executeCommand(ConfigureToolSets.ID) };
76
+ const addExpPick = { type: 'item', label: ( localize(4616, "Install Extension...")), iconClass: ThemeIcon.asClassName(Codicon.add), pickable: false, run: () => extensionWorkbenchService.openSearch('@tag:language-model-tools') };
78
77
  const addPick = {
79
- type: 'item', label: ( localize(4503, "Add More Tools...")), iconClass: ThemeIcon.asClassName(Codicon.add), pickable: false, run: async () => {
78
+ type: 'item', label: ( localize(4617, "Add More Tools...")), iconClass: ThemeIcon.asClassName(Codicon.add), pickable: false, run: async () => {
80
79
  const pick = await quickPickService.pick([addMcpPick, addExpPick], {
81
80
  canPickMany: false,
82
- placeHolder: ( localize(4504, "Add tools to chat"))
81
+ placeHolder: ( localize(4618, "Add tools to chat"))
83
82
  });
84
83
  pick?.run();
85
84
  }
@@ -88,7 +87,9 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
88
87
  if (!toolsEntries) {
89
88
  const defaultEntries = ( new Map());
90
89
  for (const tool of toolsService.getTools()) {
91
- defaultEntries.set(tool, false);
90
+ if (tool.canBeReferencedInPrompt) {
91
+ defaultEntries.set(tool, false);
92
+ }
92
93
  }
93
94
  for (const toolSet of toolsService.toolSets.get()) {
94
95
  defaultEntries.set(toolSet, false);
@@ -108,7 +109,7 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
108
109
  const buttons = [];
109
110
  bucket = toolBuckets.get(key) ?? {
110
111
  type: 'item',
111
- label: ( localize(4505, "MCP Server: {0}", toolSetOrTool.source.label)),
112
+ label: ( localize(4619, "MCP Server: {0}", toolSetOrTool.source.label)),
112
113
  ordinal: BucketOrdinal.Mcp,
113
114
  picked: false,
114
115
  alwaysShow: true,
@@ -120,7 +121,7 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
120
121
  if (collection?.presentation?.origin) {
121
122
  buttons.push({
122
123
  iconClass: ThemeIcon.asClassName(Codicon.settingsGear),
123
- tooltip: ( localize(4506, "Configure {0}", collection.label)),
124
+ tooltip: ( localize(4620, "Configure {0}", collection.label)),
124
125
  action: () => editorService.openEditor({
125
126
  resource: collection.presentation.origin,
126
127
  })
@@ -129,7 +130,7 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
129
130
  if (mcpServer.connectionState.get().state === McpConnectionState.Kind.Error) {
130
131
  buttons.push({
131
132
  iconClass: ThemeIcon.asClassName(Codicon.warning),
132
- tooltip: ( localize(4507, "Show Output")),
133
+ tooltip: ( localize(4621, "Show Output")),
133
134
  action: () => mcpServer.showOutput(),
134
135
  });
135
136
  }
@@ -138,7 +139,7 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
138
139
  const key = ToolDataSource.toKey(toolSetOrTool.source);
139
140
  bucket = toolBuckets.get(key) ?? {
140
141
  type: 'item',
141
- label: ( localize(4508, 'Extension: {0}', toolSetOrTool.source.label)),
142
+ label: ( localize(4622, 'Extension: {0}', toolSetOrTool.source.label)),
142
143
  ordinal: BucketOrdinal.Extension,
143
144
  picked: false,
144
145
  alwaysShow: true,
@@ -153,7 +154,7 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
153
154
  bucket = userBucket;
154
155
  buttons.push({
155
156
  iconClass: ThemeIcon.asClassName(Codicon.edit),
156
- tooltip: ( localize(4509, "Edit Tool Set")),
157
+ tooltip: ( localize(4623, "Edit Tool Set")),
157
158
  action: () => {
158
159
  assertType(toolSetOrTool.source.type === 'user');
159
160
  editorService.openEditor({ resource: toolSetOrTool.source.file });
@@ -178,6 +179,7 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
178
179
  }
179
180
  else {
180
181
  bucket.toolset = toolSetOrTool;
182
+ bucket.picked = picked;
181
183
  }
182
184
  }
183
185
  else if (toolSetOrTool.canBeReferencedInPrompt) {
@@ -191,15 +193,22 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
191
193
  indented: true,
192
194
  });
193
195
  }
194
- if (picked) {
195
- bucket.picked = true;
196
- }
197
196
  }
198
197
  for (const bucket of [builtinBucket, userBucket]) {
199
198
  if (bucket.children.length > 0) {
200
199
  toolBuckets.set(generateUuid(), bucket);
201
200
  }
202
201
  }
202
+ for (const bucket of ( toolBuckets.values())) {
203
+ if (bucket.picked) {
204
+ for (const child of bucket.children) {
205
+ child.picked = true;
206
+ }
207
+ }
208
+ else {
209
+ bucket.picked = ( bucket.children.some(child => child.picked));
210
+ }
211
+ }
203
212
  const store = ( new DisposableStore());
204
213
  const picks = [];
205
214
  for (const bucket of Array.from(( toolBuckets.values())).sort((a, b) => a.ordinal - b.ordinal)) {
@@ -212,12 +221,13 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
212
221
  }
213
222
  const picker = store.add(quickPickService.createQuickPick({ useSeparators: true }));
214
223
  picker.placeholder = placeHolder;
224
+ picker.description = description;
215
225
  picker.canSelectMany = true;
216
226
  picker.keepScrollPosition = true;
217
227
  picker.sortByLabel = false;
218
228
  picker.matchOnDescription = true;
219
229
  if (picks.length === 0) {
220
- picker.placeholder = ( localize(4504, "Add tools to chat"));
230
+ picker.placeholder = ( localize(4618, "Add tools to chat"));
221
231
  picker.canSelectMany = false;
222
232
  picks.push(addMcpPick, addExpPick);
223
233
  }
@@ -326,16 +336,10 @@ async function showToolsPicker(accessor, placeHolder, toolsEntries, onUpdate) {
326
336
  }));
327
337
  await Promise.race([Event.toPromise(Event.any(picker.onDidAccept, picker.onDidHide))]);
328
338
  store.dispose();
329
- const mcpToolSets = ( new Set());
330
339
  for (const item of toolsService.toolSets.get()) {
331
340
  if (item.source.type === 'mcp') {
332
- mcpToolSets.add(item);
333
- if (Iterable.every(item.getTools(), tool => result.get(tool))) {
334
- for (const tool of item.getTools()) {
335
- result.delete(tool);
336
- }
337
- result.set(item, true);
338
- }
341
+ const toolsInSet = Array.from(item.getTools());
342
+ result.set(item, toolsInSet.every(tool => result.get(tool)));
339
343
  }
340
344
  }
341
345
  return didAccept ? result : undefined;