@codingame/monaco-vscode-chat-service-override 16.1.0 → 17.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 (188) hide show
  1. package/index.js +6 -6
  2. package/package.json +30 -27
  3. package/vscode/src/vs/base/common/objectCache.d.ts +1 -1
  4. package/vscode/src/vs/base/common/objectCache.js +1 -1
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +41 -41
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +16 -15
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +4 -6
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +410 -443
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +6 -6
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +1 -7
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +3 -18
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -12
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +4 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +32 -28
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.d.ts +10 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.js +61 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.d.ts +4 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.js +159 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +9 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.js +140 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.d.ts +32 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js +244 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +12 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +30 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +15 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.js +12 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +2 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +13 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -168
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEdinputInputContentProvider.js +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +5 -5
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +48 -45
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +5 -5
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +46 -44
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +118 -123
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +5 -7
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +45 -29
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +12 -7
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +48 -34
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +53 -20
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -2
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +32 -15
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +9 -23
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +80 -268
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +36 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +214 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.js +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +7 -6
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +26 -10
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +7 -7
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +186 -106
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +19 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +129 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.d.ts +9 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +313 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +4 -6
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +12 -16
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +0 -4
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +42 -181
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +3 -3
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +15 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +2 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +484 -384
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +2 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +187 -101
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusItemService.d.ts +4 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +3 -12
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +8 -52
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +53 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +264 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +28 -22
  85. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
  87. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +2 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +41 -45
  89. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +8 -32
  90. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +2 -18
  91. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +20 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +67 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.d.ts +6 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.js +73 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.d.ts +2 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.js +82 -67
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.d.ts +4 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.js +44 -14
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.d.ts +5 -4
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.js +24 -14
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +2 -2
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +2 -0
  105. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +7 -1
  106. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +14 -1
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +8 -7
  108. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +84 -80
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +1 -0
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.d.ts +5 -1
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.js +27 -3
  114. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.d.ts +5 -0
  115. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.js +62 -0
  116. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.d.ts +3 -0
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +16 -0
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.d.ts +2 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +17 -0
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.d.ts +29 -0
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.js +74 -0
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.d.ts +14 -0
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.js +40 -0
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.d.ts +23 -0
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.js +40 -0
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.d.ts +5 -0
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.js +9 -0
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.d.ts +23 -0
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.js +68 -0
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/types.d.ts +13 -0
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.d.ts +19 -0
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.js +121 -0
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.d.ts +13 -0
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.js +13 -0
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +15 -0
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +62 -0
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.d.ts +15 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.js +65 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptLinkProvider.js +3 -8
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptPathAutocompletion.d.ts +2 -2
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptPathAutocompletion.js +14 -19
  142. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.d.ts +11 -0
  143. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.js +22 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.d.ts +17 -0
  145. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.js +83 -0
  146. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +4 -3
  147. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +8 -6
  148. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +17 -5
  149. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +223 -21
  150. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +5 -4
  151. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +28 -22
  152. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +10 -0
  153. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +25 -0
  154. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +20 -31
  155. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +15 -12
  158. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  159. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +12 -12
  161. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +2 -2
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  164. package/vscode/src/vs/workbench/services/workspaces/common/workspaceUtils.d.ts +0 -2
  165. package/vscode/src/vs/workbench/services/workspaces/common/workspaceUtils.js +1 -14
  166. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/chatAttachPromptAction.d.ts +0 -10
  167. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/chatAttachPromptAction.js +0 -54
  168. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/askToSelectPrompt.d.ts +0 -25
  169. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/askToSelectPrompt.js +0 -79
  170. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/constants.d.ts +0 -7
  171. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/constants.js +0 -27
  172. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/attachPrompts.d.ts +0 -5
  173. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/attachPrompts.js +0 -53
  174. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPlaceholderText.d.ts +0 -2
  175. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPlaceholderText.js +0 -19
  176. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPromptPickItem.d.ts +0 -5
  177. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/createPromptPickItem.js +0 -27
  178. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/handleButtonClick.d.ts +0 -13
  179. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAttachPromptAction/dialogs/askToSelectPrompt/utils/handleButtonClick.js +0 -49
  180. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/usePromptCommand.d.ts +0 -6
  181. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/usePromptCommand.js +0 -80
  182. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/constants.d.ts +0 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/constants.js +0 -13
  184. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.d.ts +0 -21
  185. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/textModelContentsProvider.js +0 -64
  186. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkDiagnosticsProvider.d.ts +0 -9
  187. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageFeatures/promptLinkDiagnosticsProvider.js +0 -117
  188. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/{languageFeatures → contributions/languageFeatures/providers}/promptLinkProvider.d.ts +0 -0
@@ -1,34 +1,36 @@
1
1
 
2
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
3
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
+ import { getCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
5
+ import { SnippetController2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/snippet/browser/snippetController2';
2
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
- import { createPromptFile } from './utils/createPromptFile.js';
4
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
5
- import { askForPromptName } from './dialogs/askForPromptName.js';
6
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
7
- import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
8
- import { askForPromptSourceFolder } from './dialogs/askForPromptSourceFolder.js';
7
+ import { MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
8
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
9
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
9
10
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
11
+ import { KeybindingsRegistry, KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
10
12
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
13
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
14
+ import { NeverShowAgainScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
15
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
11
16
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
12
- import { PromptsConfig } from '@codingame/monaco-vscode-a1eb43d5-da63-5f76-8ad4-acf0d6c3b749-common/vscode/vs/platform/prompts/common/config';
13
- import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
14
- import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
15
- import { MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
16
- import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/types.service';
17
+ import { PromptsConfig } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/config';
17
18
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
18
- import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
19
- import { CONFIGURE_SYNC_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataSync/common/userDataSync';
20
19
  import { SyncResource } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync';
21
20
  import { IUserDataSyncEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service';
22
- import { KeybindingsRegistry, KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
23
- import { NeverShowAgainScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
24
- import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
21
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
22
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
23
+ import { CONFIGURE_SYNC_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataSync/common/userDataSync';
24
+ import { ISnippetsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/snippets/browser/snippets.service';
25
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
26
+ import { INSTRUCTIONS_LANGUAGE_ID, PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/constants';
27
+ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/types.service';
28
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
29
+ import { askForPromptFileName } from './dialogs/askForPromptName.js';
30
+ import { askForPromptSourceFolder } from './dialogs/askForPromptSourceFolder.js';
31
+ import { createPromptFile } from './utils/createPromptFile.js';
25
32
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
26
33
 
27
- const BASE_COMMAND_ID = 'workbench.command.prompts.create';
28
- const LOCAL_COMMAND_ID = `${BASE_COMMAND_ID}.local`;
29
- const USER_COMMAND_ID = `${BASE_COMMAND_ID}.user`;
30
- const LOCAL_COMMAND_TITLE = ( localize(4908, "Create Prompt"));
31
- const USER_COMMAND_TITLE = ( localize(4909, "Create User Prompt"));
32
34
  const command = async (accessor, type) => {
33
35
  const logService = accessor.get(ILogService);
34
36
  const fileService = accessor.get(IFileService);
@@ -40,12 +42,14 @@ const command = async (accessor, type) => {
40
42
  const notificationService = accessor.get(INotificationService);
41
43
  const workspaceService = accessor.get(IWorkspaceContextService);
42
44
  const userDataSyncEnablementService = accessor.get(IUserDataSyncEnablementService);
43
- const fileName = await askForPromptName(type, quickInputService);
44
- if (!fileName) {
45
- return;
46
- }
45
+ const snippetService = accessor.get(ISnippetsService);
46
+ const editorService = accessor.get(IEditorService);
47
+ const placeHolder = (type === 'instructions')
48
+ ? ( localize(4974, "Select a location to create the instructions file in..."))
49
+ : ( localize(4975, "Select a location to create the prompt file in..."));
47
50
  const selectedFolder = await askForPromptSourceFolder({
48
- type: type,
51
+ type,
52
+ placeHolder,
49
53
  labelService,
50
54
  openerService,
51
55
  promptsService,
@@ -55,16 +59,30 @@ const command = async (accessor, type) => {
55
59
  if (!selectedFolder) {
56
60
  return;
57
61
  }
58
- const content = ( localize(4910, "Add prompt contents..."));
62
+ const fileName = await askForPromptFileName(type, selectedFolder.uri, quickInputService, fileService);
63
+ if (!fileName) {
64
+ return;
65
+ }
59
66
  const promptUri = await createPromptFile({
60
67
  fileName,
61
- folder: selectedFolder,
62
- content,
68
+ folder: selectedFolder.uri,
69
+ content: '',
63
70
  fileService,
64
71
  openerService,
65
72
  });
66
73
  await openerService.open(promptUri);
67
- if (type !== 'user') {
74
+ const editor = getCodeEditor(editorService.activeTextEditorControl);
75
+ if (editor && editor.hasModel() && isEqual(editor.getModel().uri, promptUri)) {
76
+ const languageId = type === 'instructions' ? INSTRUCTIONS_LANGUAGE_ID : PROMPT_LANGUAGE_ID;
77
+ const snippets = await snippetService.getSnippets(languageId, { fileTemplateSnippets: true, noRecencySort: true, includeNoPrefixSnippets: true });
78
+ if (snippets.length > 0) {
79
+ SnippetController2.get(editor)?.apply([{
80
+ range: editor.getModel().getFullModelRange(),
81
+ template: snippets[0].body
82
+ }]);
83
+ }
84
+ }
85
+ if (selectedFolder.storage !== 'user') {
68
86
  return;
69
87
  }
70
88
  const isConfigured = userDataSyncEnablementService
@@ -74,18 +92,24 @@ const command = async (accessor, type) => {
74
92
  return;
75
93
  }
76
94
  notificationService.prompt(Severity.Info, ( localize(
77
- 4911,
78
- "User prompts are not currently synchronized. Do you want to enable synchronization of the user prompts?"
95
+ 4976,
96
+ "Do you want to backup and sync your user prompt and instruction files with Setting Sync?'"
79
97
  )), [
80
98
  {
81
- label: ( localize(4912, "Enable")),
99
+ label: ( localize(4977, "Enable")),
82
100
  run: () => {
83
101
  commandService.executeCommand(CONFIGURE_SYNC_COMMAND_ID)
84
102
  .catch((error) => {
85
103
  logService.error(`Failed to run '${CONFIGURE_SYNC_COMMAND_ID}' command: ${error}.`);
86
104
  });
87
105
  },
88
- }
106
+ },
107
+ {
108
+ label: ( localize(4978, "Learn More")),
109
+ run: () => {
110
+ openerService.open(( URI.parse('https://aka.ms/vscode-settings-sync-help')));
111
+ },
112
+ },
89
113
  ], {
90
114
  neverShowAgain: {
91
115
  id: 'workbench.command.prompts.create.user.enable-sync-notification',
@@ -93,36 +117,27 @@ const command = async (accessor, type) => {
93
117
  },
94
118
  });
95
119
  };
96
- const commandFactory = (type) => {
97
- return async (accessor) => {
98
- return command(accessor, type);
99
- };
100
- };
101
- KeybindingsRegistry.registerCommandAndKeybindingRule({
102
- id: LOCAL_COMMAND_ID,
103
- weight: KeybindingWeight.WorkbenchContrib,
104
- handler: commandFactory('local'),
105
- when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled)),
106
- });
107
- KeybindingsRegistry.registerCommandAndKeybindingRule({
108
- id: USER_COMMAND_ID,
109
- weight: KeybindingWeight.WorkbenchContrib,
110
- handler: commandFactory('user'),
111
- when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled)),
112
- });
113
- MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
114
- command: {
115
- id: LOCAL_COMMAND_ID,
116
- title: LOCAL_COMMAND_TITLE,
117
- category: CHAT_CATEGORY
118
- },
119
- when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled))
120
- });
121
- MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
122
- command: {
123
- id: USER_COMMAND_ID,
124
- title: USER_COMMAND_TITLE,
125
- category: CHAT_CATEGORY,
126
- },
127
- when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled))
128
- });
120
+ function register(type, id, title) {
121
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
122
+ id,
123
+ weight: KeybindingWeight.WorkbenchContrib,
124
+ handler: async (accessor) => {
125
+ return command(accessor, type);
126
+ },
127
+ when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled)),
128
+ });
129
+ MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
130
+ command: {
131
+ id,
132
+ title,
133
+ category: CHAT_CATEGORY
134
+ },
135
+ when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled))
136
+ });
137
+ }
138
+ const NEW_PROMPT_COMMAND_ID = 'workbench.command.new.prompt';
139
+ const NEW_INSTRUCTIONS_COMMAND_ID = 'workbench.command.new.instructions';
140
+ register('instructions', NEW_INSTRUCTIONS_COMMAND_ID, ( localize(4979, "New Instructions File...")));
141
+ register('prompt', NEW_PROMPT_COMMAND_ID, ( localize(4980, "New Prompt File...")));
142
+
143
+ export { NEW_INSTRUCTIONS_COMMAND_ID, NEW_PROMPT_COMMAND_ID };
@@ -1,2 +1,5 @@
1
+ import { TPromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/types";
1
2
  import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
2
- export declare const askForPromptName: (_type: "local" | "user", quickInputService: IQuickInputService) => Promise<string | undefined>;
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
5
+ export declare const askForPromptFileName: (type: TPromptsType, selectedFolder: URI, quickInputService: IQuickInputService, fileService: IFileService) => Promise<string | undefined>;
@@ -1,22 +1,52 @@
1
1
 
2
2
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
- import { PROMPT_FILE_EXTENSION } from '@codingame/monaco-vscode-a1eb43d5-da63-5f76-8ad4-acf0d6c3b749-common/vscode/vs/platform/prompts/common/constants';
3
+ import { getPromptFileExtension } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/constants';
4
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
+ import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
6
+ import { isValidBasename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/extpath';
4
7
 
5
- const askForPromptName = async (_type, quickInputService) => {
6
- const result = await quickInputService.input({
7
- placeHolder: ( localize(4913, "Provide a prompt name", PROMPT_FILE_EXTENSION)),
8
- });
9
- if (!result) {
8
+ const askForPromptFileName = async (type, selectedFolder, quickInputService, fileService) => {
9
+ const placeHolder = (type === 'instructions')
10
+ ? ( localize(4981, "Enter the name of the instructions file"))
11
+ : ( localize(4982, "Enter the name of the prompt file"));
12
+ const sanitizeInput = (input) => {
13
+ const trimmedName = input.trim();
14
+ if (!trimmedName) {
15
+ return undefined;
16
+ }
17
+ const fileExtension = getPromptFileExtension(type);
18
+ return (trimmedName.endsWith(fileExtension))
19
+ ? trimmedName
20
+ : `${trimmedName}${fileExtension}`;
21
+ };
22
+ const validateInput = async (value) => {
23
+ const fileName = sanitizeInput(value);
24
+ if (!fileName) {
25
+ return {
26
+ content: ( localize(4983, "Please enter a name.")),
27
+ severity: Severity.Warning
28
+ };
29
+ }
30
+ if (!isValidBasename(fileName)) {
31
+ return {
32
+ content: ( localize(4984, "The name contains invalid characters.")),
33
+ severity: Severity.Error
34
+ };
35
+ }
36
+ const fileUri = URI.joinPath(selectedFolder, fileName);
37
+ if (await fileService.exists(fileUri)) {
38
+ return {
39
+ content: ( localize(4985, "A file for the given name already exists.")),
40
+ severity: Severity.Error
41
+ };
42
+ }
10
43
  return undefined;
11
- }
12
- const trimmedName = result.trim();
13
- if (!trimmedName) {
44
+ };
45
+ const result = await quickInputService.input({ placeHolder, validateInput });
46
+ if (!result) {
14
47
  return undefined;
15
48
  }
16
- const cleanName = (trimmedName.endsWith(PROMPT_FILE_EXTENSION))
17
- ? trimmedName
18
- : `${trimmedName}${PROMPT_FILE_EXTENSION}`;
19
- return cleanName;
49
+ return sanitizeInput(result);
20
50
  };
21
51
 
22
- export { askForPromptName };
52
+ export { askForPromptFileName };
@@ -1,16 +1,17 @@
1
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
- import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/types.service";
3
1
  import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
4
2
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
5
3
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
4
+ import { IPromptPath, TPromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/types";
5
+ import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/types.service";
6
6
  import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
7
7
  interface IAskForFolderOptions {
8
- readonly type: "local" | "user";
8
+ readonly type: TPromptsType;
9
+ readonly placeHolder: string;
9
10
  readonly labelService: ILabelService;
10
11
  readonly openerService: IOpenerService;
11
12
  readonly promptsService: IPromptsService;
12
13
  readonly quickInputService: IQuickInputService;
13
14
  readonly workspaceService: IWorkspaceContextService;
14
15
  }
15
- export declare const askForPromptSourceFolder: (options: IAskForFolderOptions) => Promise<URI | undefined>;
16
+ export declare const askForPromptSourceFolder: (options: IAskForFolderOptions) => Promise<IPromptPath | undefined>;
16
17
  export {};
@@ -1,24 +1,34 @@
1
1
 
2
2
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
3
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
- import { DOCUMENTATION_URL } from '../../../../../common/promptSyntax/constants.js';
5
4
  import { extUri, basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
5
+ import { PROMPT_DOCUMENTATION_URL } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/constants';
6
6
 
7
7
  const askForPromptSourceFolder = async (options) => {
8
- const { type, promptsService, quickInputService, labelService, openerService, workspaceService } = options;
8
+ const { type, placeHolder, promptsService, quickInputService, labelService, openerService, workspaceService } = options;
9
9
  const folders = promptsService.getSourceFolders(type);
10
10
  if (folders.length === 0) {
11
11
  return await showNoFoldersDialog(quickInputService, openerService);
12
12
  }
13
13
  if (folders.length === 1) {
14
- return folders[0].uri;
14
+ return folders[0];
15
15
  }
16
16
  const pickOptions = {
17
- placeHolder: ( localize(4914, "Select a prompt source folder")),
17
+ placeHolder,
18
18
  canPickMany: false,
19
19
  matchOnDescription: true,
20
20
  };
21
- const foldersList = ( folders.map(({ uri }) => {
21
+ const foldersList = ( folders.map(folder => {
22
+ const uri = folder.uri;
23
+ if (folder.storage === 'user') {
24
+ return {
25
+ type: 'item',
26
+ label: ( localize(4986, "User Data Folder")),
27
+ description: labelService.getUriLabel(uri),
28
+ tooltip: uri.fsPath,
29
+ folder
30
+ };
31
+ }
22
32
  const { folders } = workspaceService.getWorkspace();
23
33
  const isMultirootWorkspace = (folders.length > 1);
24
34
  const firstFolder = folders[0];
@@ -28,33 +38,33 @@ const askForPromptSourceFolder = async (options) => {
28
38
  label: basename(uri),
29
39
  description: labelService.getUriLabel(uri, { relative: true }),
30
40
  tooltip: uri.fsPath,
31
- value: uri,
41
+ folder,
32
42
  };
33
43
  }
34
44
  return {
35
45
  type: 'item',
36
- label: ( localize(4915, "Current Workspace")),
46
+ label: ( localize(4987, "Current Workspace")),
37
47
  description: labelService.getUriLabel(uri, { relative: false }),
38
48
  tooltip: uri.fsPath,
39
- value: uri,
49
+ folder,
40
50
  };
41
51
  }));
42
52
  const answer = await quickInputService.pick(foldersList, pickOptions);
43
53
  if (!answer) {
44
54
  return;
45
55
  }
46
- return answer.value;
56
+ return answer.folder;
47
57
  };
48
58
  const showNoFoldersDialog = async (quickInputService, openerService) => {
49
59
  const docsQuickPick = {
50
60
  type: 'item',
51
- label: ( localize(4916, 'Learn how to configure reusable prompts')),
52
- description: DOCUMENTATION_URL,
53
- tooltip: DOCUMENTATION_URL,
54
- value: ( URI.parse(DOCUMENTATION_URL)),
61
+ label: ( localize(4988, 'Learn how to configure reusable prompts')),
62
+ description: PROMPT_DOCUMENTATION_URL,
63
+ tooltip: PROMPT_DOCUMENTATION_URL,
64
+ value: ( URI.parse(PROMPT_DOCUMENTATION_URL)),
55
65
  };
56
66
  const result = await quickInputService.pick([docsQuickPick], {
57
- placeHolder: ( localize(4917, 'No prompt source folders found.')),
67
+ placeHolder: ( localize(4989, 'No prompt source folders found.')),
58
68
  canPickMany: false,
59
69
  });
60
70
  if (!result) {
@@ -5,12 +5,12 @@ class BaseCreatePromptError extends Error {
5
5
  }
6
6
  class FolderExists extends BaseCreatePromptError {
7
7
  constructor(path) {
8
- super(( localize(4918, "Folder already exists at '{0}'.", path)));
8
+ super(( localize(4990, "Folder already exists at '{0}'.", path)));
9
9
  }
10
10
  }
11
11
  class InvalidPromptName extends BaseCreatePromptError {
12
12
  constructor(name) {
13
- super(( localize(4919, "Invalid prompt file name '{0}'.", name)));
13
+ super(( localize(4991, "Invalid prompt file name '{0}'.", name)));
14
14
  }
15
15
  }
16
16
 
@@ -4,12 +4,12 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
4
  import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
5
5
  import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
6
6
  import { dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
- import { isPromptFile } from '@codingame/monaco-vscode-a1eb43d5-da63-5f76-8ad4-acf0d6c3b749-common/vscode/vs/platform/prompts/common/constants';
7
+ import { isPromptOrInstructionsFile } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/constants';
8
8
 
9
9
  const createPromptFile = async (options) => {
10
10
  const { fileName, folder, content, fileService, openerService } = options;
11
11
  const promptUri = URI.joinPath(folder, fileName);
12
- assert(isPromptFile(promptUri), ( new InvalidPromptName(fileName)));
12
+ assert(isPromptOrInstructionsFile(promptUri), ( new InvalidPromptName(fileName)));
13
13
  if (await fileService.exists(promptUri)) {
14
14
  const promptInfo = await fileService.resolve(promptUri);
15
15
  assert(!promptInfo.isDirectory, ( new FolderExists(promptUri.fsPath)));
@@ -8,12 +8,12 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
8
8
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
9
9
  import { checkProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
10
10
  import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
11
- import { ChatViewsWelcomeExtensions } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
11
+ import { ChatViewsWelcomeExtensions } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
12
12
 
13
13
  const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
14
14
  extensionPoint: 'chatViewsWelcome',
15
15
  jsonSchema: {
16
- description: ( localize(4922, 'Contributes a welcome message to a chat view')),
16
+ description: ( localize(4993, 'Contributes a welcome message to a chat view')),
17
17
  type: 'array',
18
18
  items: {
19
19
  additionalProperties: false,
@@ -21,22 +21,22 @@ const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint
21
21
  properties: {
22
22
  icon: {
23
23
  type: 'string',
24
- description: ( localize(4923, 'The icon for the welcome message.')),
24
+ description: ( localize(4994, 'The icon for the welcome message.')),
25
25
  },
26
26
  title: {
27
27
  type: 'string',
28
- description: ( localize(4924, 'The title of the welcome message.')),
28
+ description: ( localize(4995, 'The title of the welcome message.')),
29
29
  },
30
30
  content: {
31
31
  type: 'string',
32
32
  description: ( localize(
33
- 4925,
33
+ 4996,
34
34
  'The content of the welcome message. The first command link will be rendered as a button.'
35
35
  )),
36
36
  },
37
37
  when: {
38
38
  type: 'string',
39
- description: ( localize(4926, 'Condition when the welcome message is shown.')),
39
+ description: ( localize(4997, 'Condition when the welcome message is shown.')),
40
40
  }
41
41
  }
42
42
  },
@@ -16,6 +16,8 @@ export interface ICodeMapperCodeBlock {
16
16
  export interface ICodeMapperRequest {
17
17
  readonly codeBlocks: ICodeMapperCodeBlock[];
18
18
  readonly chatRequestId?: string;
19
+ readonly chatRequestModel?: string;
20
+ readonly chatSessionId?: string;
19
21
  readonly location?: string;
20
22
  }
21
23
  export interface ICodeMapperResult {
@@ -1,7 +1,7 @@
1
1
  import { DeferredPromise } from "@codingame/monaco-vscode-api/vscode/vs/base/common/async";
2
2
  import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
3
3
  import { IChatTerminalToolInvocationData, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
4
- import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
4
+ import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolProgressStep, IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
5
5
  export declare class ChatToolInvocation implements IChatToolInvocation {
6
6
  readonly toolCallId: string;
7
7
  readonly kind: "toolInvocation";
@@ -16,13 +16,19 @@ export declare class ChatToolInvocation implements IChatToolInvocation {
16
16
  private _resultDetails;
17
17
  get resultDetails(): IToolResult["toolResultDetails"] | undefined;
18
18
  readonly invocationMessage: string | IMarkdownString;
19
+ readonly originMessage: string | IMarkdownString | undefined;
19
20
  pastTenseMessage: string | IMarkdownString | undefined;
20
21
  private _confirmationMessages;
21
22
  readonly presentation: IPreparedToolInvocation["presentation"];
22
23
  readonly toolId: string;
23
24
  readonly toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData;
25
+ readonly progress: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<{
26
+ message?: string | IMarkdownString;
27
+ progress: number;
28
+ }, void>;
24
29
  constructor(preparedInvocation: IPreparedToolInvocation | undefined, toolData: IToolData, toolCallId: string);
25
30
  complete(result: IToolResult | undefined): void;
26
31
  get confirmationMessages(): IToolConfirmationMessages | undefined;
32
+ acceptProgress(step: IToolProgressStep): void;
27
33
  toJSON(): IChatToolInvocationSerialized;
28
34
  }
@@ -1,6 +1,8 @@
1
1
 
2
2
  import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
3
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
3
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/base';
4
6
 
5
7
  class ChatToolInvocation {
6
8
  get isComplete() {
@@ -24,10 +26,12 @@ class ChatToolInvocation {
24
26
  this._isComplete = false;
25
27
  this._isCompleteDeferred = ( new DeferredPromise());
26
28
  this._confirmDeferred = ( new DeferredPromise());
27
- const defaultMessage = ( localize(4983, "Using {0}", `"${toolData.displayName}"`));
29
+ this.progress = observableValue(this, { progress: 0 });
30
+ const defaultMessage = ( localize(5053, "Using {0}", `"${toolData.displayName}"`));
28
31
  const invocationMessage = preparedInvocation?.invocationMessage ?? defaultMessage;
29
32
  this.invocationMessage = invocationMessage;
30
33
  this.pastTenseMessage = preparedInvocation?.pastTenseMessage;
34
+ this.originMessage = preparedInvocation?.originMessage;
31
35
  this._confirmationMessages = preparedInvocation?.confirmationMessages;
32
36
  this.presentation = preparedInvocation?.presentation;
33
37
  this.toolSpecificData = preparedInvocation?.toolSpecificData;
@@ -54,17 +58,26 @@ class ChatToolInvocation {
54
58
  get confirmationMessages() {
55
59
  return this._confirmationMessages;
56
60
  }
61
+ acceptProgress(step) {
62
+ const prev = this.progress.get();
63
+ this.progress.set({
64
+ progress: step.increment ? (prev.progress + step.increment) : prev.progress,
65
+ message: step.message,
66
+ }, undefined);
67
+ }
57
68
  toJSON() {
58
69
  return {
59
70
  kind: 'toolInvocationSerialized',
60
71
  presentation: this.presentation,
61
72
  invocationMessage: this.invocationMessage,
62
73
  pastTenseMessage: this.pastTenseMessage,
74
+ originMessage: this.originMessage,
63
75
  isConfirmed: this._isConfirmed,
64
76
  isComplete: this._isComplete,
65
77
  resultDetails: this._resultDetails,
66
78
  toolSpecificData: this.toolSpecificData,
67
79
  toolCallId: this.toolCallId,
80
+ toolId: this.toolId,
68
81
  };
69
82
  }
70
83
  }
@@ -11,12 +11,12 @@ import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs
11
11
  import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
12
12
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
13
13
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
14
- import { ChatModel, IChatModel, IChatRequestModel, IChatRequestVariableData, IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatModel";
15
- import { IParsedChatRequest } from "@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
14
+ import { ChatModel, IChatModel, IChatRequestModel, IChatRequestVariableData, IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
15
+ import { IParsedChatRequest } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
16
16
  import { IChatCompleteResponse, IChatDetail, IChatSendRequestData, IChatSendRequestOptions, IChatTransferredSessionData, IChatUserActionEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
17
17
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
18
18
  import { IChatSlashCommandService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service";
19
- import { IChatVariablesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service";
19
+ import { IChatTransferService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatTransferService.service";
20
20
  import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
21
21
  export declare class ChatService extends Disposable implements IChatService {
22
22
  private readonly storageService;
@@ -26,10 +26,10 @@ export declare class ChatService extends Disposable implements IChatService {
26
26
  private readonly telemetryService;
27
27
  private readonly workspaceContextService;
28
28
  private readonly chatSlashCommandService;
29
- private readonly chatVariablesService;
30
29
  private readonly chatAgentService;
31
30
  private readonly configurationService;
32
31
  private readonly experimentService;
32
+ private readonly chatTransferService;
33
33
  _serviceBrand: undefined;
34
34
  private readonly _sessionModels;
35
35
  private readonly _pendingRequests;
@@ -51,10 +51,10 @@ export declare class ChatService extends Disposable implements IChatService {
51
51
  private readonly _sessionFollowupCancelTokens;
52
52
  private readonly _chatServiceTelemetry;
53
53
  private readonly _chatSessionStore;
54
- get unifiedViewEnabled(): boolean;
55
54
  private get useFileStorage();
55
+ get edits2Enabled(): boolean;
56
56
  private get isEmptyWindow();
57
- constructor(storageService: IStorageService, logService: ILogService, extensionService: IExtensionService, instantiationService: IInstantiationService, telemetryService: ITelemetryService, workspaceContextService: IWorkspaceContextService, chatSlashCommandService: IChatSlashCommandService, chatVariablesService: IChatVariablesService, chatAgentService: IChatAgentService, configurationService: IConfigurationService, experimentService: IWorkbenchAssignmentService);
57
+ constructor(storageService: IStorageService, logService: ILogService, extensionService: IExtensionService, instantiationService: IInstantiationService, telemetryService: ITelemetryService, workspaceContextService: IWorkspaceContextService, chatSlashCommandService: IChatSlashCommandService, chatAgentService: IChatAgentService, configurationService: IConfigurationService, experimentService: IWorkbenchAssignmentService, chatTransferService: IChatTransferService);
58
58
  isEnabled(location: ChatAgentLocation): boolean;
59
59
  private saveState;
60
60
  private syncEmptyWindowChats;
@@ -70,6 +70,7 @@ export declare class ChatService extends Disposable implements IChatService {
70
70
  startSession(location: ChatAgentLocation, token: CancellationToken, isGlobalEditingSession?: boolean): ChatModel;
71
71
  private _startSession;
72
72
  private initializeSession;
73
+ activateDefaultAgent(location: ChatAgentLocation): Promise<void>;
73
74
  getSession(sessionId: string): IChatModel | undefined;
74
75
  getOrRestoreSession(sessionId: string): Promise<ChatModel | undefined>;
75
76
  isPersistedSessionEmpty(sessionId: string): boolean;
@@ -79,6 +80,7 @@ export declare class ChatService extends Disposable implements IChatService {
79
80
  private parseChatRequest;
80
81
  private refreshFollowupsCancellationToken;
81
82
  private _sendRequestAsync;
83
+ private prepareContext;
82
84
  private checkAgentAllowed;
83
85
  private attachmentKindsForTelemetry;
84
86
  private getHistoryEntriesFromModel;
@@ -89,7 +91,6 @@ export declare class ChatService extends Disposable implements IChatService {
89
91
  clearSession(sessionId: string): Promise<void>;
90
92
  hasSessions(): boolean;
91
93
  transferChatSession(transferredSessionData: IChatTransferredSessionData, toWorkspace: URI): void;
92
- isEditingLocation(location: ChatAgentLocation): boolean;
93
94
  getChatStorageFolder(): URI;
94
95
  logChatIndex(): void;
95
96
  }