@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,19 +1,17 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { renderStringAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
4
+ import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
4
5
  import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
6
+ import { encodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
5
7
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
6
8
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
7
9
  import { CancellationError, isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
8
10
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
9
- import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
10
11
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
11
12
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
12
- import { Disposable, DisposableStore, toDisposable, dispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
13
+ import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
13
14
  import { LRUCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
14
- import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
15
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
16
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
17
15
  import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
18
16
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
19
17
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
@@ -30,7 +28,8 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
30
28
  import { ChatToolInvocation } from '../common/chatProgressTypes/chatToolInvocation.js';
31
29
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
32
30
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
33
- import { stringifyPromptTsxPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
31
+ import { createToolSchemaUri, stringifyPromptTsxPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
32
+ import { getToolConfirmationAlert } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatAccessibilityProvider';
34
33
 
35
34
  var ToolConfirmStore_1;
36
35
  const jsonSchemaRegistry = ( Registry.as(Extensions.JSONContribution));
@@ -82,9 +81,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
82
81
  let store;
83
82
  if (toolData.inputSchema) {
84
83
  store = ( new DisposableStore());
85
- const schemaUrl = ( ( URI.from(
86
- { scheme: Schemas.vscode, authority: 'schemas', path: `/lm/tool/${toolData.id}` }
87
- )).toString());
84
+ const schemaUrl = ( createToolSchemaUri(toolData.id).toString());
88
85
  jsonSchemaRegistry.registerSchema(schemaUrl, toolData.inputSchema, store);
89
86
  store.add(jsonSchemaRegistry.registerSchemaAssociation(schemaUrl, `/lm/tool/${toolData.id}/tool_input.json`));
90
87
  }
@@ -192,7 +189,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
192
189
  if (!( this._callsByRequestId.has(requestId))) {
193
190
  this._callsByRequestId.set(requestId, []);
194
191
  }
195
- this._callsByRequestId.get(requestId).push(store);
192
+ const trackedCall = { store };
193
+ this._callsByRequestId.get(requestId).push(trackedCall);
196
194
  const source = ( new CancellationTokenSource());
197
195
  store.add(toDisposable(() => {
198
196
  source.dispose(true);
@@ -207,12 +205,13 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
207
205
  token = source.token;
208
206
  const prepared = await this.prepareToolInvocation(tool, dto, token);
209
207
  toolInvocation = ( new ChatToolInvocation(prepared, tool.data, dto.callId));
208
+ trackedCall.invocation = toolInvocation;
210
209
  if (this.shouldAutoConfirm(tool.data.id, tool.data.runsInWorkspace)) {
211
210
  toolInvocation.confirmed.complete(true);
212
211
  }
213
212
  model.acceptResponseProgress(request, toolInvocation);
214
213
  if (prepared?.confirmationMessages) {
215
- this._accessibilityService.alert(( localize(4905, "Action required: {0}", prepared.confirmationMessages.title)));
214
+ this._accessibilityService.alert(this._instantiationService.invokeFunction(getToolConfirmationAlert, prepared.confirmationMessages.title));
216
215
  const userConfirmed = await toolInvocation.confirmed.p;
217
216
  if (!userConfirmed) {
218
217
  throw ( new CancellationError());
@@ -236,7 +235,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
236
235
  if (token.isCancellationRequested) {
237
236
  throw ( new CancellationError());
238
237
  }
239
- toolResult = await tool.impl.invoke(dto, countTokens, token);
238
+ toolResult = await tool.impl.invoke(dto, countTokens, {
239
+ report: step => {
240
+ toolInvocation?.acceptProgress(step);
241
+ }
242
+ }, token);
240
243
  this.ensureToolDetails(dto, toolResult, tool.data);
241
244
  this._telemetryService.publicLog2('languageModelToolInvoked', {
242
245
  result: 'success',
@@ -256,7 +259,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
256
259
  toolExtensionId: tool.data.source.type === 'extension' ? tool.data.source.extensionId.value : undefined,
257
260
  toolSourceKind: tool.data.source.type,
258
261
  });
259
- this._logService.error(`[LanguageModelToolsService#invokeTool] Error from tool ${dto.toolId}: ${toErrorMessage(err)}. With parameters ${JSON.stringify(dto.parameters)}`);
262
+ this._logService.error(`[LanguageModelToolsService#invokeTool] Error from tool ${dto.toolId} with parameters ${JSON.stringify(dto.parameters)}:\n${toErrorMessage(err, true)}`);
263
+ toolResult ??= { content: [] };
264
+ toolResult.toolResultError = err instanceof Error ? err.message : String(err);
265
+ if (tool.data.alwaysDisplayInputOutput) {
266
+ toolResult.toolResultDetails = { input: this.formatToolInput(dto), output: [{ type: 'text', value: String(err) }], isError: true };
267
+ }
260
268
  throw err;
261
269
  }
262
270
  finally {
@@ -267,28 +275,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
267
275
  }
268
276
  }
269
277
  async prepareToolInvocation(tool, dto, token) {
270
- let prepared = tool.impl.prepareToolInvocation ?
278
+ const prepared = tool.impl.prepareToolInvocation ?
271
279
  await tool.impl.prepareToolInvocation(dto.parameters, token)
272
280
  : undefined;
273
- if (!prepared?.confirmationMessages && tool.data.requiresConfirmation && tool.data.source.type === 'extension') {
274
- if (!prepared) {
275
- prepared = {};
276
- }
277
- const toolWarning = ( localize(
278
- 4906,
279
- "{0} This tool is from the extension `{1}`. Please carefully review any requested actions.",
280
- '$(info)',
281
- tool.data.source.extensionId.value
282
- ));
283
- prepared.confirmationMessages = {
284
- title: ( localize(4907, "Run {0}", `"${tool.data.displayName}"`)),
285
- message: ( new MarkdownString(
286
- (tool.data.userDescription ?? tool.data.modelDescription) + '\n\n' + toolWarning,
287
- { supportThemeIcons: true }
288
- )),
289
- allowAutoConfirm: true,
290
- };
291
- }
292
281
  if (prepared?.confirmationMessages) {
293
282
  if (prepared.toolSpecificData?.kind !== 'terminal' && typeof prepared.confirmationMessages.allowAutoConfirm !== 'boolean') {
294
283
  prepared.confirmationMessages.allowAutoConfirm = true;
@@ -305,22 +294,29 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
305
294
  ensureToolDetails(dto, toolResult, toolData) {
306
295
  if (!toolResult.toolResultDetails && toolData.alwaysDisplayInputOutput) {
307
296
  toolResult.toolResultDetails = {
308
- input: JSON.stringify(dto.parameters, undefined, 2),
309
- output: this.toolResultToString(toolResult),
297
+ input: this.formatToolInput(dto),
298
+ output: this.toolResultToIO(toolResult),
310
299
  };
311
300
  }
312
301
  }
313
- toolResultToString(toolResult) {
314
- const strs = [];
315
- for (const part of toolResult.content) {
302
+ formatToolInput(dto) {
303
+ return JSON.stringify(dto.parameters, undefined, 2);
304
+ }
305
+ toolResultToIO(toolResult) {
306
+ return ( toolResult.content.map(part => {
316
307
  if (part.kind === 'text') {
317
- strs.push(part.value);
308
+ return { type: 'text', value: part.value };
318
309
  }
319
310
  else if (part.kind === 'promptTsx') {
320
- strs.push(stringifyPromptTsxPart(part));
311
+ return { type: 'text', value: stringifyPromptTsxPart(part) };
321
312
  }
322
- }
323
- return strs.join('');
313
+ else if (part.kind === 'data') {
314
+ return { type: 'data', value64: encodeBase64(part.value.data), mimeType: part.value.mimeType };
315
+ }
316
+ else {
317
+ assertNever();
318
+ }
319
+ }));
324
320
  }
325
321
  shouldAutoConfirm(toolId, runsInWorkspace) {
326
322
  if (this._workspaceToolConfirmStore.value.getAutoConfirm(toolId) || this._profileToolConfirmStore.value.getAutoConfirm(toolId) || ( this._memoryToolConfirmStore.has(toolId))) {
@@ -339,7 +335,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
339
335
  cleanupCallDisposables(requestId, store) {
340
336
  const disposables = this._callsByRequestId.get(requestId);
341
337
  if (disposables) {
342
- const index = disposables.indexOf(store);
338
+ const index = disposables.findIndex(d => d.store === store);
343
339
  if (index > -1) {
344
340
  disposables.splice(index, 1);
345
341
  }
@@ -352,13 +348,13 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
352
348
  cancelToolCallsForRequest(requestId) {
353
349
  const calls = this._callsByRequestId.get(requestId);
354
350
  if (calls) {
355
- calls.forEach(call => call.dispose());
351
+ calls.forEach(call => call.store.dispose());
356
352
  this._callsByRequestId.delete(requestId);
357
353
  }
358
354
  }
359
355
  dispose() {
360
356
  super.dispose();
361
- this._callsByRequestId.forEach(calls => dispose(calls));
357
+ this._callsByRequestId.forEach(calls => calls.forEach(call => call.store.dispose()));
362
358
  this._ctxToolsCount.reset();
363
359
  }
364
360
  };
@@ -27,49 +27,25 @@
27
27
  .chat-editor-overlay-widget .chat-editor-overlay-progress {
28
28
  align-items: center;
29
29
  display: none;
30
- padding: 0px 5px;
30
+ padding: 5px 0 5px 5px;
31
31
  font-size: 12px;
32
- font-variant-numeric: tabular-nums;
33
32
  overflow: hidden;
34
- white-space: nowrap;
33
+ gap: 6px;
35
34
  }
36
35
  .chat-editor-overlay-widget.busy .chat-editor-overlay-progress {
37
36
  display: inline-flex;
38
37
  }
39
- @keyframes ellipsis {
40
- 0% {
41
- content: "";
42
- }
43
- 25% {
44
- content: ".";
45
- }
46
- 50% {
47
- content: "..";
48
- }
49
- 75% {
50
- content: "...";
51
- }
52
- 100% {
53
- content: "";
54
- }
55
- }
56
- .chat-editor-overlay-widget.busy.paused .chat-editor-overlay-progress {
57
- .codicon-loading {
58
- display: none;
59
- }
38
+ .chat-editor-overlay-widget .chat-editor-overlay-progress .progress-message {
39
+ white-space: nowrap;
40
+ max-width: 13em;
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ padding-right: 8px;
60
44
  }
61
45
  .chat-editor-overlay-widget .action-item > .action-label {
62
46
  padding: 5px;
63
47
  font-size: 12px;
64
48
  }
65
- .chat-editor-overlay-widget.busy .action-item > .action-label.busy::after {
66
- content: "";
67
- display: inline-flex;
68
- white-space: nowrap;
69
- overflow: hidden;
70
- width: 3ch;
71
- animation: ellipsis steps(4, end) 1s infinite;
72
- }
73
49
  .chat-editor-overlay-widget .action-item:first-child > .action-label {
74
50
  padding-left: 7px;
75
51
  }
@@ -1,18 +1,8 @@
1
- .chat-welcome-view .chat-setup-view {
2
- text-align: center;
3
- .chat-features-container {
4
- display: flex;
5
- justify-content: center;
6
- text-align: initial;
7
- border-radius: 2px;
8
- border: 1px solid var(--vscode-chat-requestBorder);
9
- background-color: var(--vscode-chat-requestBackground);
10
- }
11
- }
12
- .dialog-message-body .chat-setup-view {
1
+ .chat-setup-dialog {
13
2
  p {
14
3
  margin-top: 0;
15
4
  margin-bottom: 0;
5
+ width: 100%;
16
6
  }
17
7
  p.setup-legal {
18
8
  font-size: 12px;
@@ -24,12 +14,6 @@
24
14
  color: var(--vscode-descriptionForeground);
25
15
  margin-top: 1em;
26
16
  }
27
- }
28
- .dialog-message-body .chat-setup-view,
29
- .chat-welcome-view .chat-setup-view {
30
- p {
31
- width: 100%;
32
- }
33
17
  .chat-feature-container {
34
18
  display: flex;
35
19
  align-items: center;
@@ -7,11 +7,17 @@
7
7
  margin-bottom: 8px;
8
8
  }
9
9
  .chat-status-bar-entry-tooltip div.header {
10
+ display: flex;
11
+ align-items: center;
10
12
  color: var(--vscode-descriptionForeground);
11
13
  margin-bottom: 4px;
12
14
  font-weight: 600;
13
15
  }
16
+ .chat-status-bar-entry-tooltip div.header .monaco-action-bar {
17
+ margin-left: auto;
18
+ }
14
19
  .chat-status-bar-entry-tooltip div.description {
20
+ font-size: 11px;
15
21
  color: var(--vscode-descriptionForeground);
16
22
  }
17
23
  .chat-status-bar-entry-tooltip .monaco-button {
@@ -30,14 +36,19 @@
30
36
  .chat-status-bar-entry-tooltip .quota-indicator .quota-label {
31
37
  display: flex;
32
38
  justify-content: space-between;
39
+ gap: 20px;
33
40
  margin-bottom: 3px;
34
41
  }
42
+ .chat-status-bar-entry-tooltip .quota-indicator .quota-label .quota-value {
43
+ color: var(--vscode-descriptionForeground);
44
+ }
35
45
  .chat-status-bar-entry-tooltip .quota-indicator .quota-bar {
36
46
  width: 100%;
37
47
  height: 4px;
38
48
  background-color: var(--vscode-gauge-foreground);
39
49
  border-radius: 4px;
40
50
  border: 1px solid var(--vscode-gauge-border);
51
+ margin: 4px 0;
41
52
  }
42
53
  .chat-status-bar-entry-tooltip .quota-indicator .quota-bar .quota-bit {
43
54
  height: 100%;
@@ -70,9 +81,6 @@
70
81
  width: 14px;
71
82
  margin-right: 5px;
72
83
  }
73
- .chat-status-bar-entry-tooltip .settings .setting .codicon {
74
- font-size: 12px;
75
- }
76
84
  .chat-status-bar-entry-tooltip .settings .setting .setting-label {
77
85
  cursor: pointer;
78
86
  }
@@ -82,8 +90,16 @@
82
90
  .chat-status-bar-entry-tooltip .contribution .body {
83
91
  display: flex;
84
92
  flex-direction: row;
85
- gap: 6px;
93
+ align-items: center;
94
+ gap: 5px;
95
+ .description,
86
96
  .detail-item {
97
+ display: flex;
98
+ align-items: center;
99
+ gap: 3px;
100
+ }
101
+ .detail-item,
102
+ .detail-item a {
87
103
  margin-left: auto;
88
104
  color: var(--vscode-descriptionForeground);
89
105
  }
@@ -0,0 +1,67 @@
1
+ .element-selection-message,
2
+ .element-expand-container {
3
+ position: absolute;
4
+ bottom: 10px;
5
+ right: 10px;
6
+ padding: 0px 10px;
7
+ background: var(--vscode-notifications-background);
8
+ color: var(--vscode-notifications-foreground);
9
+ border-radius: 4px;
10
+ font-size: 12px;
11
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
12
+ display: flex;
13
+ align-items: center;
14
+ gap: 8px;
15
+ width: max-content;
16
+ z-index: 1;
17
+ height: 42px;
18
+ }
19
+ .element-selection-message {
20
+ bottom: 10px;
21
+ right: 10px;
22
+ }
23
+ .element-expand-container {
24
+ bottom: 15px;
25
+ right: 15px;
26
+ }
27
+ .element-selection-cancel,
28
+ .element-selection-start {
29
+ padding: 2px 8px;
30
+ width: fit-content;
31
+ }
32
+ .element-selection-message .monaco-button.codicon.codicon-close,
33
+ .element-expand-container .monaco-button.codicon.codicon-layout,
34
+ .element-selection-message .monaco-button.codicon.codicon-chevron-right,
35
+ .element-selection-message .monaco-button.codicon.codicon-gear {
36
+ width: 17px;
37
+ height: 17px;
38
+ padding: 2px 2px;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ font-size: 16px;
43
+ color: var(--vscode-descriptionForeground);
44
+ border: none;
45
+ outline: none;
46
+ padding: 0;
47
+ border-radius: 5px;
48
+ cursor: pointer;
49
+ }
50
+ .element-selection .monaco-button {
51
+ height: 17px;
52
+ width: fit-content;
53
+ padding: 2px 6px;
54
+ font-size: 11px;
55
+ background-color: var(--vscode-button-background);
56
+ border: 1px solid var(--vscode-button-border);
57
+ color: var(--vscode-button-foreground);
58
+ }
59
+ .element-selection-message .monaco-button:hover,
60
+ .element-expand-container .monaco-button:hover {
61
+ background-color: var(--vscode-toolbar-hoverBackground);
62
+ }
63
+ .element-selection-message .hidden,
64
+ .element-expand-container.hidden,
65
+ .element-selection-message.hidden {
66
+ display: none !important;
67
+ }
@@ -0,0 +1,6 @@
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
+ import { IChatWidget } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chat";
3
+ import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ export declare const INSTRUCTIONS_COMMAND_ID = "workbench.command.instructions.attach";
5
+ export declare function getFocusedChatWidget(accessor: ServicesAccessor): IChatWidget | undefined;
6
+ export declare const getActiveInstructionsFileUri: (accessor: ServicesAccessor) => URI | undefined;
@@ -0,0 +1,73 @@
1
+
2
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
4
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
5
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
6
+ import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
9
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
10
+ import { INSTRUCTIONS_LANGUAGE_ID } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/constants';
11
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
12
+ import { PromptsConfig } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/config';
13
+ import '../../actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js';
14
+ import '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
15
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
16
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
18
+ import { MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
19
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
20
+ import { KeybindingsRegistry, KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
21
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
22
+ import '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions';
23
+ import '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
24
+ import '../../../common/promptSyntax/service/promptsService.js';
25
+ import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
26
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
27
+ import { runAttachInstructionsAction } from '../../actions/promptActions/chatAttachInstructionsAction.js';
28
+
29
+ const INSTRUCTIONS_COMMAND_ID = 'workbench.command.instructions.attach';
30
+ const INSTRUCTIONS_COMMAND_KEY_BINDING = KeyMod.CtrlCmd | KeyCode.Slash | KeyMod.Alt;
31
+ const command = async (accessor) => {
32
+ const commandService = accessor.get(ICommandService);
33
+ await runAttachInstructionsAction(commandService, {
34
+ resource: getActiveInstructionsFileUri(accessor),
35
+ widget: getFocusedChatWidget(accessor),
36
+ });
37
+ };
38
+ function getFocusedChatWidget(accessor) {
39
+ const chatWidgetService = accessor.get(IChatWidgetService);
40
+ const { lastFocusedWidget } = chatWidgetService;
41
+ if (!lastFocusedWidget) {
42
+ return undefined;
43
+ }
44
+ if (!lastFocusedWidget.hasInputFocus()) {
45
+ return undefined;
46
+ }
47
+ return lastFocusedWidget;
48
+ }
49
+ const getActiveInstructionsFileUri = (accessor) => {
50
+ const codeEditorService = accessor.get(ICodeEditorService);
51
+ const model = codeEditorService.getActiveCodeEditor()?.getModel();
52
+ if (model?.getLanguageId() === INSTRUCTIONS_LANGUAGE_ID) {
53
+ return model.uri;
54
+ }
55
+ return undefined;
56
+ };
57
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
58
+ id: INSTRUCTIONS_COMMAND_ID,
59
+ weight: KeybindingWeight.WorkbenchContrib,
60
+ primary: INSTRUCTIONS_COMMAND_KEY_BINDING,
61
+ handler: command,
62
+ when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled)),
63
+ });
64
+ MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
65
+ command: {
66
+ id: INSTRUCTIONS_COMMAND_ID,
67
+ title: ( localize(4973, "Attach Instructions...")),
68
+ category: CHAT_CATEGORY
69
+ },
70
+ when: ( ContextKeyExpr.and(PromptsConfig.enabledCtx, ChatContextKeys.enabled))
71
+ });
72
+
73
+ export { INSTRUCTIONS_COMMAND_ID, getActiveInstructionsFileUri, getFocusedChatWidget };
@@ -1 +1,2 @@
1
- export {};
1
+ export declare const NEW_PROMPT_COMMAND_ID = "workbench.command.new.prompt";
2
+ export declare const NEW_INSTRUCTIONS_COMMAND_ID = "workbench.command.new.instructions";