@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
@@ -25,13 +25,13 @@ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs
25
25
  import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
26
26
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
27
27
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
28
- import { normalizeSerializableChatData, ChatModel, ChatRequestRemovalReason, updateRanges, toChatHistoryContent, ChatRequestModel } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatModel';
29
- import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader, ChatRequestSlashCommandPart, getPromptText } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
30
- import { ChatRequestParser } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
28
+ import { normalizeSerializableChatData, ChatModel, ChatRequestRemovalReason, updateRanges, isImageVariableEntry, toChatHistoryContent, ChatRequestModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
29
+ import { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader, ChatRequestSlashCommandPart, getPromptText } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
30
+ import { ChatRequestParser } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatRequestParser';
31
31
  import { ChatServiceTelemetry } from './chatServiceTelemetry.js';
32
32
  import { ChatSessionStore } from './chatSessionStore.js';
33
33
  import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service';
34
- import { IChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service';
34
+ import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatTransferService.service';
35
35
  import { ChatConfiguration, ChatAgentLocation, ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
36
36
  import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
37
37
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
@@ -63,17 +63,17 @@ let ChatService = class ChatService extends Disposable {
63
63
  get transferredSessionData() {
64
64
  return this._transferredSessionData;
65
65
  }
66
- get unifiedViewEnabled() {
67
- return !!this.configurationService.getValue(ChatConfiguration.UnifiedChatView);
68
- }
69
66
  get useFileStorage() {
70
67
  return this.configurationService.getValue(ChatConfiguration.UseFileStorage);
71
68
  }
69
+ get edits2Enabled() {
70
+ return this.configurationService.getValue(ChatConfiguration.Edits2Enabled);
71
+ }
72
72
  get isEmptyWindow() {
73
73
  const workspace = this.workspaceContextService.getWorkspace();
74
74
  return !workspace.configuration && workspace.folders.length === 0;
75
75
  }
76
- constructor(storageService, logService, extensionService, instantiationService, telemetryService, workspaceContextService, chatSlashCommandService, chatVariablesService, chatAgentService, configurationService, experimentService) {
76
+ constructor(storageService, logService, extensionService, instantiationService, telemetryService, workspaceContextService, chatSlashCommandService, chatAgentService, configurationService, experimentService, chatTransferService) {
77
77
  super();
78
78
  this.storageService = storageService;
79
79
  this.logService = logService;
@@ -82,10 +82,10 @@ let ChatService = class ChatService extends Disposable {
82
82
  this.telemetryService = telemetryService;
83
83
  this.workspaceContextService = workspaceContextService;
84
84
  this.chatSlashCommandService = chatSlashCommandService;
85
- this.chatVariablesService = chatVariablesService;
86
85
  this.chatAgentService = chatAgentService;
87
86
  this.configurationService = configurationService;
88
87
  this.experimentService = experimentService;
88
+ this.chatTransferService = chatTransferService;
89
89
  this._sessionModels = this._register(( new DisposableMap()));
90
90
  this._pendingRequests = this._register(( new DisposableMap()));
91
91
  this._deletedChatIds = ( new Set());
@@ -131,7 +131,7 @@ let ChatService = class ChatService extends Disposable {
131
131
  }
132
132
  saveState() {
133
133
  const liveChats = Array.from(( this._sessionModels.values()))
134
- .filter(session => session.initialLocation === ChatAgentLocation.Panel || session.initialLocation === ChatAgentLocation.EditingSession);
134
+ .filter(session => session.initialLocation === ChatAgentLocation.Panel);
135
135
  if (this.useFileStorage) {
136
136
  this._chatSessionStore.storeSessions(liveChats);
137
137
  }
@@ -145,19 +145,6 @@ let ChatService = class ChatService extends Disposable {
145
145
  .filter(session => !( this._sessionModels.has(session.sessionId)))
146
146
  .filter(session => session.requests.length));
147
147
  allSessions.sort((a, b) => (b.creationDate ?? 0) - (a.creationDate ?? 0));
148
- let hasPersistedEditSession = false;
149
- allSessions = allSessions.filter(s => {
150
- if (s.initialLocation === ChatAgentLocation.EditingSession) {
151
- if (hasPersistedEditSession) {
152
- return false;
153
- }
154
- else {
155
- hasPersistedEditSession = true;
156
- return true;
157
- }
158
- }
159
- return true;
160
- });
161
148
  allSessions = allSessions.slice(0, maxPersistedSessions);
162
149
  if (allSessions.length) {
163
150
  this.trace('onWillSaveState', `Persisting ${allSessions.length} sessions`);
@@ -210,6 +197,12 @@ let ChatService = class ChatService extends Disposable {
210
197
  notifyUserAction(action) {
211
198
  this._chatServiceTelemetry.notifyUserAction(action);
212
199
  this._onDidPerformUserAction.fire(action);
200
+ if (action.action.kind === 'chatEditingSessionAction') {
201
+ const model = this._sessionModels.get(action.sessionId);
202
+ if (model) {
203
+ model.notifyEditingAction(action.action);
204
+ }
205
+ }
213
206
  }
214
207
  async setChatSessionTitle(sessionId, title) {
215
208
  const model = this._sessionModels.get(sessionId);
@@ -283,9 +276,9 @@ let ChatService = class ChatService extends Disposable {
283
276
  async getHistory() {
284
277
  if (this.useFileStorage) {
285
278
  const liveSessionItems = ( Array.from(( this._sessionModels.values()))
286
- .filter(session => !session.isImported && (session.initialLocation !== ChatAgentLocation.EditingSession || this.unifiedViewEnabled))
279
+ .filter(session => !session.isImported)
287
280
  .map(session => {
288
- const title = session.title || ( localize(4984, "New Chat"));
281
+ const title = session.title || ( localize(5054, "New Chat"));
289
282
  return {
290
283
  sessionId: session.sessionId,
291
284
  title,
@@ -306,7 +299,7 @@ let ChatService = class ChatService extends Disposable {
306
299
  .filter(session => session.requests.length > 0)
307
300
  .filter(session => !( this._sessionModels.has(session.sessionId)));
308
301
  const persistedSessionItems = ( persistedSessions
309
- .filter(session => !session.isImported && session.initialLocation !== ChatAgentLocation.EditingSession)
302
+ .filter(session => !session.isImported)
310
303
  .map(session => {
311
304
  const title = session.customTitle ?? ChatModel.getDefaultTitle(session.requests);
312
305
  return {
@@ -317,9 +310,9 @@ let ChatService = class ChatService extends Disposable {
317
310
  };
318
311
  }));
319
312
  const liveSessionItems = ( Array.from(( this._sessionModels.values()))
320
- .filter(session => !session.isImported && session.initialLocation !== ChatAgentLocation.EditingSession)
313
+ .filter(session => !session.isImported)
321
314
  .map(session => {
322
- const title = session.title || ( localize(4984, "New Chat"));
315
+ const title = session.title || ( localize(5054, "New Chat"));
323
316
  return {
324
317
  sessionId: session.sessionId,
325
318
  title,
@@ -355,7 +348,7 @@ let ChatService = class ChatService extends Disposable {
355
348
  }
356
349
  _startSession(someSessionHistory, location, isGlobalEditingSession, token) {
357
350
  const model = this.instantiationService.createInstance(ChatModel, someSessionHistory, location);
358
- if (location === ChatAgentLocation.EditingSession || (this.unifiedViewEnabled && location === ChatAgentLocation.Panel)) {
351
+ if (location === ChatAgentLocation.Panel) {
359
352
  model.startEditingSession(isGlobalEditingSession);
360
353
  }
361
354
  this._sessionModels.set(model.sessionId, model);
@@ -366,21 +359,7 @@ let ChatService = class ChatService extends Disposable {
366
359
  try {
367
360
  this.trace('initializeSession', `Initialize session ${model.sessionId}`);
368
361
  model.startInitialize();
369
- await this.extensionService.whenInstalledExtensionsRegistered();
370
- const defaultAgentData = this.chatAgentService.getContributedDefaultAgent(model.initialLocation) ?? this.chatAgentService.getContributedDefaultAgent(ChatAgentLocation.Panel);
371
- if (!defaultAgentData) {
372
- throw ( new ErrorNoTelemetry('No default agent contributed'));
373
- }
374
- if (this.configurationService.getValue('chat.setupFromDialog')) {
375
- this.extensionService.activateByEvent(`onChatParticipant:${defaultAgentData.id}`);
376
- }
377
- else {
378
- await this.extensionService.activateByEvent(`onChatParticipant:${defaultAgentData.id}`);
379
- const defaultAgent = this.chatAgentService.getActivatedAgents().find(agent => agent.id === defaultAgentData.id);
380
- if (!defaultAgent) {
381
- throw ( new ErrorNoTelemetry('No default agent registered'));
382
- }
383
- }
362
+ this.activateDefaultAgent(model.initialLocation).catch(e => this.logService.error(e));
384
363
  model.initialize();
385
364
  }
386
365
  catch (err) {
@@ -390,6 +369,18 @@ let ChatService = class ChatService extends Disposable {
390
369
  this._onDidDisposeSession.fire({ sessionId: model.sessionId, reason: 'initializationFailed' });
391
370
  }
392
371
  }
372
+ async activateDefaultAgent(location) {
373
+ await this.extensionService.whenInstalledExtensionsRegistered();
374
+ const defaultAgentData = this.chatAgentService.getContributedDefaultAgent(location) ?? this.chatAgentService.getContributedDefaultAgent(ChatAgentLocation.Panel);
375
+ if (!defaultAgentData) {
376
+ throw ( new ErrorNoTelemetry('No default agent contributed'));
377
+ }
378
+ await this.extensionService.activateByEvent(`onChatParticipant:${defaultAgentData.id}`);
379
+ const defaultAgent = this.chatAgentService.getActivatedAgents().find(agent => agent.id === defaultAgentData.id);
380
+ if (!defaultAgent) {
381
+ throw ( new ErrorNoTelemetry('No default agent registered'));
382
+ }
383
+ }
393
384
  getSession(sessionId) {
394
385
  return this._sessionModels.get(sessionId);
395
386
  }
@@ -400,11 +391,11 @@ let ChatService = class ChatService extends Disposable {
400
391
  return model;
401
392
  }
402
393
  let sessionData;
403
- if (this.useFileStorage) {
404
- sessionData = revive(await this._chatSessionStore.readSession(sessionId));
394
+ if (!this.useFileStorage || this.transferredSessionData?.sessionId === sessionId) {
395
+ sessionData = revive(this._persistedSessions[sessionId]);
405
396
  }
406
397
  else {
407
- sessionData = revive(this._persistedSessions[sessionId]);
398
+ sessionData = revive(await this._chatSessionStore.readSession(sessionId));
408
399
  }
409
400
  if (!sessionData) {
410
401
  return undefined;
@@ -446,16 +437,12 @@ let ChatService = class ChatService extends Disposable {
446
437
  ...options,
447
438
  locationData: request.locationData,
448
439
  attachedContext: request.attachedContext,
449
- hasInstructionAttachments: options?.hasInstructionAttachments ?? false,
450
440
  };
451
441
  await this._sendRequestAsync(model, model.sessionId, request.message, attempt, enableCommandDetection, defaultAgent, location, resendOptions).responseCompletePromise;
452
442
  }
453
443
  async sendRequest(sessionId, request, options) {
454
444
  this.trace('sendRequest', `sessionId: ${sessionId}, message: ${request.substring(0, 20)}${request.length > 20 ? '[...]' : ''}}`);
455
- if (!request.trim() && options?.hasInstructionAttachments) {
456
- request = 'Follow these instructions.';
457
- }
458
- if (!request.trim() && !options?.slashCommand && !options?.agentId && !options?.hasInstructionAttachments) {
445
+ if (!request.trim() && !options?.slashCommand && !options?.agentId) {
459
446
  this.trace('sendRequest', 'Rejected empty message');
460
447
  return;
461
448
  }
@@ -574,7 +561,7 @@ let ChatService = class ChatService extends Disposable {
574
561
  let agentOrCommandFollowups = undefined;
575
562
  let chatTitlePromise;
576
563
  if (agentPart || (defaultAgent && !commandPart)) {
577
- const prepareChatAgentRequest = async (agent, command, enableCommandDetection, chatRequest, isParticipantDetected) => {
564
+ const prepareChatAgentRequest = (agent, command, enableCommandDetection, chatRequest, isParticipantDetected) => {
578
565
  const initVariableData = { variables: [] };
579
566
  request = chatRequest ?? model.addRequest(parsedRequest, initVariableData, attempt, agent, command, options?.confirmation, options?.locationData, options?.attachedContext, undefined, options?.userSelectedModelId);
580
567
  let variableData;
@@ -584,7 +571,7 @@ let ChatService = class ChatService extends Disposable {
584
571
  message = getPromptText(request.message).message;
585
572
  }
586
573
  else {
587
- variableData = this.chatVariablesService.resolveVariables(parsedRequest, request.attachedContext);
574
+ variableData = { variables: this.prepareContext(request.attachedContext) };
588
575
  model.updateRequest(request, variableData);
589
576
  const promptTextResult = getPromptText(request.message);
590
577
  variableData = updateRanges(variableData, promptTextResult.diff);
@@ -605,12 +592,15 @@ let ChatService = class ChatService extends Disposable {
605
592
  acceptedConfirmationData: options?.acceptedConfirmationData,
606
593
  rejectedConfirmationData: options?.rejectedConfirmationData,
607
594
  userSelectedModelId: options?.userSelectedModelId,
608
- userSelectedTools: options?.userSelectedTools
595
+ userSelectedTools: options?.userSelectedTools,
596
+ userSelectedTools2: options?.userSelectedTools2,
597
+ toolSelectionIsExclusive: options?.toolSelectionIsExclusive,
598
+ editedFileEvents: request.editedFileEvents
609
599
  };
610
600
  };
611
601
  if (this.configurationService.getValue('chat.detectParticipant.enabled') !== false && this.chatAgentService.hasChatParticipantDetectionProviders() && !agentPart && !commandPart && !agentSlashCommandPart && enableCommandDetection && options?.mode !== ChatMode.Agent && options?.mode !== ChatMode.Edit) {
612
602
  const defaultAgentHistory = this.getHistoryEntriesFromModel(requests, model.sessionId, location, defaultAgent.id);
613
- const chatAgentRequest = await prepareChatAgentRequest(defaultAgent, undefined, enableCommandDetection, undefined, false);
603
+ const chatAgentRequest = prepareChatAgentRequest(defaultAgent, undefined, enableCommandDetection, undefined, false);
614
604
  const result = await this.chatAgentService.detectAgentOrCommand(chatAgentRequest, defaultAgentHistory, { location }, token);
615
605
  if (result && this.chatAgentService.getAgent(result.agent.id)?.locations?.includes(location)) {
616
606
  request.response?.setAgent(result.agent, result.command);
@@ -623,7 +613,7 @@ let ChatService = class ChatService extends Disposable {
623
613
  await this.extensionService.activateByEvent(`onChatParticipant:${agent.id}`);
624
614
  await this.checkAgentAllowed(agent);
625
615
  const history = this.getHistoryEntriesFromModel(requests, model.sessionId, location, agent.id);
626
- const requestProps = await prepareChatAgentRequest(agent, command, enableCommandDetection, request , !!detectedAgent);
616
+ const requestProps = prepareChatAgentRequest(agent, command, enableCommandDetection, request , !!detectedAgent);
627
617
  const pendingRequest = this._pendingRequests.get(sessionId);
628
618
  if (pendingRequest && !pendingRequest.requestId) {
629
619
  pendingRequest.requestId = requestProps.requestId;
@@ -635,15 +625,17 @@ let ChatService = class ChatService extends Disposable {
635
625
  chatTitlePromise = model.getRequests().length === 1 && !model.customTitle ? this.chatAgentService.getChatTitle(defaultAgent.id, this.getHistoryEntriesFromModel(model.getRequests(), model.sessionId, location, agent.id), CancellationToken.None) : undefined;
636
626
  }
637
627
  else if (commandPart && this.chatSlashCommandService.hasCommand(commandPart.slashCommand.command)) {
638
- request = model.addRequest(parsedRequest, { variables: [] }, attempt);
639
- completeResponseCreated();
628
+ if (commandPart.slashCommand.silent !== true) {
629
+ request = model.addRequest(parsedRequest, { variables: [] }, attempt);
630
+ completeResponseCreated();
631
+ }
640
632
  const history = [];
641
- for (const request of model.getRequests()) {
642
- if (!request.response) {
633
+ for (const modelRequest of model.getRequests()) {
634
+ if (!modelRequest.response) {
643
635
  continue;
644
636
  }
645
- history.push({ role: ChatMessageRole.User, content: [{ type: 'text', value: request.message.text }] });
646
- history.push({ role: ChatMessageRole.Assistant, content: [{ type: 'text', value: ( request.response.response.toString()) }] });
637
+ history.push({ role: ChatMessageRole.User, content: [{ type: 'text', value: modelRequest.message.text }] });
638
+ history.push({ role: ChatMessageRole.Assistant, content: [{ type: 'text', value: ( modelRequest.response.response.toString()) }] });
647
639
  }
648
640
  const message = parsedRequest.text;
649
641
  const commandResult = await this.chatSlashCommandService.executeCommand(commandPart.slashCommand.command, message.substring(commandPart.slashCommand.command.length + 1).trimStart(), ( new Progress(p => {
@@ -661,7 +653,7 @@ let ChatService = class ChatService extends Disposable {
661
653
  else {
662
654
  if (!rawResult) {
663
655
  this.trace('sendRequest', `Provider returned no response for session ${model.sessionId}`);
664
- rawResult = { errorDetails: { message: ( localize(4985, "Provider returned null response")) } };
656
+ rawResult = { errorDetails: { message: ( localize(5055, "Provider returned null response")) } };
665
657
  }
666
658
  const result = rawResult.errorDetails?.responseIsFiltered ? 'filtered' :
667
659
  rawResult.errorDetails && gotProgress ? 'errorWithOutput' :
@@ -742,8 +734,24 @@ let ChatService = class ChatService extends Disposable {
742
734
  responseCompletePromise: rawResponsePromise,
743
735
  };
744
736
  }
737
+ prepareContext(attachedContextVariables) {
738
+ attachedContextVariables ??= [];
739
+ attachedContextVariables.sort((a, b) => {
740
+ if (!a.range && !b.range) {
741
+ return 0;
742
+ }
743
+ if (!a.range) {
744
+ return 1;
745
+ }
746
+ if (!b.range) {
747
+ return -1;
748
+ }
749
+ return b.range.start - a.range.start;
750
+ });
751
+ return attachedContextVariables;
752
+ }
745
753
  async checkAgentAllowed(agent) {
746
- if (agent.isToolsAgent) {
754
+ if (agent.modes.includes(ChatMode.Agent)) {
747
755
  const enabled = await this.experimentService.getTreatment('chatAgentEnabled');
748
756
  if (enabled === false) {
749
757
  throw ( new Error('Agent is currently disabled'));
@@ -756,7 +764,7 @@ let ChatService = class ChatService extends Disposable {
756
764
  return 'implicit';
757
765
  }
758
766
  else if (v.range) {
759
- if (v.isTool) {
767
+ if (v.kind === 'tool') {
760
768
  return 'toolInPrompt';
761
769
  }
762
770
  else {
@@ -769,13 +777,13 @@ let ChatService = class ChatService extends Disposable {
769
777
  else if (v.kind === 'symbol') {
770
778
  return 'symbol';
771
779
  }
772
- else if (v.isImage) {
780
+ else if (isImageVariableEntry(v)) {
773
781
  return 'image';
774
782
  }
775
- else if (v.isDirectory) {
783
+ else if (v.kind === 'directory') {
776
784
  return 'directory';
777
785
  }
778
- else if (v.isTool) {
786
+ else if (v.kind === 'tool') {
779
787
  return 'tool';
780
788
  }
781
789
  else {
@@ -809,7 +817,8 @@ let ChatService = class ChatService extends Disposable {
809
817
  message: promptTextResult.message,
810
818
  command: request.response.slashCommand?.name,
811
819
  variables: updateRanges(request.variableData, promptTextResult.diff),
812
- location: ChatAgentLocation.Panel
820
+ location: ChatAgentLocation.Panel,
821
+ editedFileEvents: request.editedFileEvents,
813
822
  };
814
823
  history.push({ request: historyRequest, response: toChatHistoryContent(request.response.response.value), result: request.response.result ?? {} });
815
824
  }
@@ -933,11 +942,9 @@ let ChatService = class ChatService extends Disposable {
933
942
  mode: transferredSessionData.mode,
934
943
  });
935
944
  this.storageService.store(globalChatKey, JSON.stringify(existingRaw), StorageScope.PROFILE, StorageTarget.MACHINE);
945
+ this.chatTransferService.addWorkspaceToTransferred(toWorkspace);
936
946
  this.trace('transferChatSession', `Transferred session ${model.sessionId} to workspace ${( toWorkspace.toString())}`);
937
947
  }
938
- isEditingLocation(location) {
939
- return location === ChatAgentLocation.EditingSession || this.unifiedViewEnabled;
940
- }
941
948
  getChatStorageFolder() {
942
949
  return this._chatSessionStore.getChatStorageFolder();
943
950
  }
@@ -945,9 +952,6 @@ let ChatService = class ChatService extends Disposable {
945
952
  this._chatSessionStore.logIndex();
946
953
  }
947
954
  };
948
- ChatService.__decorator = ( __decorate([
949
- memoize
950
- ], ChatService.prototype, "unifiedViewEnabled", null));
951
955
  ChatService.__decorator = ( __decorate([
952
956
  memoize
953
957
  ], ChatService.prototype, "useFileStorage", null));
@@ -959,10 +963,10 @@ ChatService = ( __decorate([
959
963
  ( __param(4, ITelemetryService)),
960
964
  ( __param(5, IWorkspaceContextService)),
961
965
  ( __param(6, IChatSlashCommandService)),
962
- ( __param(7, IChatVariablesService)),
963
- ( __param(8, IChatAgentService)),
964
- ( __param(9, IConfigurationService)),
965
- ( __param(10, IWorkbenchAssignmentService))
966
+ ( __param(7, IChatAgentService)),
967
+ ( __param(8, IConfigurationService)),
968
+ ( __param(9, IWorkbenchAssignmentService)),
969
+ ( __param(10, IChatTransferService))
966
970
  ], ChatService));
967
971
  function getCodeBlocks(text) {
968
972
  const lines = text.split('\n');
@@ -8,7 +8,7 @@ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platfo
8
8
  import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
9
9
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
10
10
  import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
11
- import { ChatModel, ISerializableChatData, ISerializableChatsData } from "@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatModel";
11
+ import { ChatModel, ISerializableChatData, ISerializableChatsData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
12
12
  import { ChatAgentLocation, ChatMode } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
13
13
  export declare class ChatSessionStore extends Disposable {
14
14
  private readonly fileService;
@@ -18,7 +18,7 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
18
18
  import { IUserDataProfilesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
19
19
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
20
20
  import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
21
- import { normalizeSerializableChatData, ChatModel } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatModel';
21
+ import { normalizeSerializableChatData, ChatModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
22
22
 
23
23
  const maxPersistedSessions = 25;
24
24
  const ChatIndexStorageKey = 'chat.ChatSessionStore.index';
@@ -51,7 +51,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
51
51
  }
52
52
  e.join(this.storeTask, {
53
53
  id: 'join.chatSessionStore',
54
- label: ( localize(4986, "Saving chat history"))
54
+ label: ( localize(5056, "Saving chat history"))
55
55
  });
56
56
  }));
57
57
  }
@@ -324,7 +324,7 @@ function isChatSessionIndex(data) {
324
324
  }
325
325
  function getSessionMetadata(session) {
326
326
  const title = session instanceof ChatModel ?
327
- (session.title || ( localize(4987, "New Chat"))) :
327
+ (session.title || ( localize(5057, "New Chat"))) :
328
328
  session.customTitle ?? ChatModel.getDefaultTitle(session.requests);
329
329
  return {
330
330
  sessionId: session.sessionId,
@@ -12,6 +12,7 @@ export interface IChatSlashData {
12
12
  detail: string;
13
13
  sortText?: string;
14
14
  executeImmediately?: boolean;
15
+ silent?: boolean;
15
16
  locations: ChatAgentLocation[];
16
17
  modes?: ChatMode[];
17
18
  }
@@ -2,6 +2,7 @@ import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs
2
2
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
3
3
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
4
4
  import { IWorkspaceTrustManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
5
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
6
  import { IChatTransferService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatTransferService.service";
6
7
  export declare class ChatTransferService implements IChatTransferService {
7
8
  private readonly workspaceService;
@@ -10,5 +11,8 @@ export declare class ChatTransferService implements IChatTransferService {
10
11
  private readonly workspaceTrustManagementService;
11
12
  _serviceBrand: undefined;
12
13
  constructor(workspaceService: IWorkspaceContextService, storageService: IStorageService, fileService: IFileService, workspaceTrustManagementService: IWorkspaceTrustManagementService);
13
- checkAndSetWorkspaceTrust(): Promise<void>;
14
+ deleteWorkspaceFromTransferredList(workspace: URI): void;
15
+ addWorkspaceToTransferred(workspace: URI): void;
16
+ checkAndSetTransferredWorkspaceTrust(): Promise<void>;
17
+ isChatTransferredWorkspace(workspace: URI, storageService: IStorageService): boolean;
14
18
  }
@@ -1,11 +1,13 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
4
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
4
5
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
5
6
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
6
7
  import { IWorkspaceTrustManagementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
7
- import { isChatTransferredWorkspace, areWorkspaceFoldersEmpty } from '../../../services/workspaces/common/workspaceUtils.js';
8
+ import { areWorkspaceFoldersEmpty } from '../../../services/workspaces/common/workspaceUtils.js';
8
9
 
10
+ const transferredWorkspacesKey = 'chat.transferedWorkspaces';
9
11
  let ChatTransferService = class ChatTransferService {
10
12
  constructor(workspaceService, storageService, fileService, workspaceTrustManagementService) {
11
13
  this.workspaceService = workspaceService;
@@ -13,11 +15,33 @@ let ChatTransferService = class ChatTransferService {
13
15
  this.fileService = fileService;
14
16
  this.workspaceTrustManagementService = workspaceTrustManagementService;
15
17
  }
16
- async checkAndSetWorkspaceTrust() {
18
+ deleteWorkspaceFromTransferredList(workspace) {
19
+ const transferredWorkspaces = this.storageService.getObject(transferredWorkspacesKey, StorageScope.PROFILE, []);
20
+ const updatedWorkspaces = transferredWorkspaces.filter(uri => uri !== ( workspace.toString()));
21
+ this.storageService.store(transferredWorkspacesKey, updatedWorkspaces, StorageScope.PROFILE, StorageTarget.MACHINE);
22
+ }
23
+ addWorkspaceToTransferred(workspace) {
24
+ const transferredWorkspaces = this.storageService.getObject(transferredWorkspacesKey, StorageScope.PROFILE, []);
25
+ transferredWorkspaces.push(( workspace.toString()));
26
+ this.storageService.store(transferredWorkspacesKey, transferredWorkspaces, StorageScope.PROFILE, StorageTarget.MACHINE);
27
+ }
28
+ async checkAndSetTransferredWorkspaceTrust() {
17
29
  const workspace = this.workspaceService.getWorkspace();
18
- if (isChatTransferredWorkspace(workspace, this.storageService) && (await areWorkspaceFoldersEmpty(workspace, this.fileService))) {
30
+ const currentWorkspaceUri = workspace.folders[0]?.uri;
31
+ if (!currentWorkspaceUri) {
32
+ return;
33
+ }
34
+ if (this.isChatTransferredWorkspace(currentWorkspaceUri, this.storageService) && (await areWorkspaceFoldersEmpty(workspace, this.fileService))) {
19
35
  await this.workspaceTrustManagementService.setWorkspaceTrust(true);
36
+ this.deleteWorkspaceFromTransferredList(currentWorkspaceUri);
37
+ }
38
+ }
39
+ isChatTransferredWorkspace(workspace, storageService) {
40
+ if (!workspace) {
41
+ return false;
20
42
  }
43
+ const chatWorkspaceTransfer = storageService.getObject(transferredWorkspacesKey, StorageScope.PROFILE, []);
44
+ return ( chatWorkspaceTransfer.some(item => ( item.toString()) === ( workspace.toString())));
21
45
  }
22
46
  };
23
47
  ChatTransferService = ( __decorate([
@@ -0,0 +1,5 @@
1
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
2
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
+ export declare class ConfigMigration implements IWorkbenchContribution {
4
+ constructor(configService: IConfigurationService);
5
+ }
@@ -0,0 +1,62 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { assert } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
4
+ import { asBoolean } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/config';
5
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
6
+ import { CONFIG_KEY, PROMPT_LOCATIONS_CONFIG_KEY } from '@codingame/monaco-vscode-51fed910-d648-5620-9b80-9232cd79d116-common/vscode/vs/platform/prompts/common/constants';
7
+
8
+ let ConfigMigration = class ConfigMigration {
9
+ constructor(configService) {
10
+ const value = configService.getValue(CONFIG_KEY);
11
+ if ((value === undefined) || (value === null)) {
12
+ return;
13
+ }
14
+ if ((typeof value === 'boolean') || (asBoolean(value) !== undefined)) {
15
+ return;
16
+ }
17
+ if (Array.isArray(value)) {
18
+ const locationsValue = {};
19
+ for (const filePath of value) {
20
+ if (typeof filePath !== 'string') {
21
+ continue;
22
+ }
23
+ const trimmedValue = filePath.trim();
24
+ if (!trimmedValue) {
25
+ continue;
26
+ }
27
+ locationsValue[trimmedValue] = true;
28
+ }
29
+ configService.updateValue(CONFIG_KEY, true);
30
+ configService.updateValue(PROMPT_LOCATIONS_CONFIG_KEY, locationsValue);
31
+ return;
32
+ }
33
+ if (typeof value === 'object') {
34
+ assert(value !== null, 'Object value must not be a null.');
35
+ const locationsValue = {};
36
+ for (const [location, enabled] of Object.entries(value)) {
37
+ if ((typeof enabled !== 'boolean') || (asBoolean(enabled) === undefined)) {
38
+ continue;
39
+ }
40
+ const trimmedValue = location.trim();
41
+ if (!trimmedValue) {
42
+ continue;
43
+ }
44
+ locationsValue[trimmedValue] = enabled;
45
+ }
46
+ configService.updateValue(CONFIG_KEY, true);
47
+ configService.updateValue(PROMPT_LOCATIONS_CONFIG_KEY, locationsValue);
48
+ return;
49
+ }
50
+ if (typeof value === 'string') {
51
+ assert(asBoolean(value) === undefined, `String value must not be a boolean, got '${value}'.`);
52
+ configService.updateValue(CONFIG_KEY, true);
53
+ configService.updateValue(PROMPT_LOCATIONS_CONFIG_KEY, { [value]: true });
54
+ return;
55
+ }
56
+ }
57
+ };
58
+ ConfigMigration = ( __decorate([
59
+ ( __param(0, IConfigurationService))
60
+ ], ConfigMigration));
61
+
62
+ export { ConfigMigration };
@@ -0,0 +1,3 @@
1
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
2
+ export declare const registerPromptFileContributions: () => void;
3
+ export type TContribution = new (...args: any[]) => IWorkbenchContribution;
@@ -0,0 +1,16 @@
1
+
2
+ import { ConfigMigration } from './configMigration.js';
3
+ import './languageFeatures/index.js';
4
+ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
5
+ import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
6
+ import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
7
+
8
+ const registerPromptFileContributions = () => {
9
+ registerContribution(ConfigMigration);
10
+ };
11
+ const registerContribution = (contribution) => {
12
+ ( Registry.as(Extensions.Workbench))
13
+ .registerWorkbenchContribution(contribution, LifecyclePhase.Eventually);
14
+ };
15
+
16
+ export { registerPromptFileContributions };
@@ -0,0 +1,2 @@
1
+ import { TContribution } from "../index.js";
2
+ export declare const LANGUAGE_FEATURE_CONTRIBUTIONS: readonly TContribution[];
@@ -0,0 +1,17 @@
1
+
2
+ import { PromptLinkProvider } from './providers/promptLinkProvider.js';
3
+ import { isWindows } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
4
+ import { PromptPathAutocompletion } from './providers/promptPathAutocompletion.js';
5
+ import { PromptLinkDiagnosticsInstanceManager } from './providers/promptLinkDiagnosticsProvider.js';
6
+ import { PromptHeaderDiagnosticsInstanceManager } from './providers/promptHeaderDiagnosticsProvider.js';
7
+ import { PromptDecorationsProviderInstanceManager } from './providers/decorationsProvider/promptDecorationsProvider.js';
8
+
9
+ const CONTRIBUTIONS = [
10
+ PromptLinkProvider,
11
+ PromptLinkDiagnosticsInstanceManager,
12
+ PromptHeaderDiagnosticsInstanceManager,
13
+ PromptDecorationsProviderInstanceManager,
14
+ ];
15
+ if (isWindows === false) {
16
+ CONTRIBUTIONS.push(PromptPathAutocompletion);
17
+ }