@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
  4. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
  5. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
  6. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
  7. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
  8. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  9. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  10. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
  11. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
  12. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
  137. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
  140. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
  155. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
  157. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  160. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
  184. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
  211. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  213. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
  219. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  224. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
  250. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
package/index.js CHANGED
@@ -4,7 +4,7 @@ import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/
4
4
  import { IChatCodeBlockContextProviderService, IChatAccessibilityService, IQuickChatService, IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
5
5
  import { ChatAccessibilityService } from './vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js';
6
6
  import { QuickChatService } from './vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js';
7
- import { ChatVariablesService } from './vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js';
7
+ import { ChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
8
8
  import { ChatCodeBlockContextProviderService } from './vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.js';
9
9
  import { ChatAgentNameService, ChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
10
10
  import { IChatAgentNameService, IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
@@ -102,6 +102,8 @@ import { IChatAttachmentWidgetRegistry } from '@codingame/monaco-vscode-api/vsco
102
102
  import { ChatAttachmentWidgetRegistry } from './vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js';
103
103
  import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
104
104
  import { ChatDebugServiceImpl } from './vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js';
105
+ import { IChatResponseResourceFileSystemProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service';
106
+ import { ChatResponseResourceFileSystemProvider } from './vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js';
105
107
  import './vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js';
106
108
  import './vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js';
107
109
  import './vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js';
@@ -162,7 +164,8 @@ function getServiceOverride() {
162
164
  [IAgentPluginRepositoryService.toString()]: new SyncDescriptor(AgentPluginRepositoryService, [], true),
163
165
  [IPluginInstallService.toString()]: new SyncDescriptor(PluginInstallService, [], true),
164
166
  [IChatAttachmentWidgetRegistry.toString()]: new SyncDescriptor(ChatAttachmentWidgetRegistry, [], true),
165
- [IChatDebugService.toString()]: new SyncDescriptor(ChatDebugServiceImpl, [], true)
167
+ [IChatDebugService.toString()]: new SyncDescriptor(ChatDebugServiceImpl, [], true),
168
+ [IChatResponseResourceFileSystemProvider.toString()]: new SyncDescriptor(ChatResponseResourceFileSystemProvider, [], true)
166
169
  };
167
170
  }
168
171
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-chat-service-override",
3
- "version": "27.0.0",
3
+ "version": "28.0.1",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - chat service-override",
6
6
  "keywords": [],
@@ -15,10 +15,10 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "27.0.0",
19
- "@codingame/monaco-vscode-katex-common": "27.0.0",
20
- "@codingame/monaco-vscode-xterm-addons-common": "27.0.0",
21
- "@codingame/monaco-vscode-xterm-common": "27.0.0"
18
+ "@codingame/monaco-vscode-api": "28.0.1",
19
+ "@codingame/monaco-vscode-katex-common": "28.0.1",
20
+ "@codingame/monaco-vscode-xterm-addons-common": "28.0.1",
21
+ "@codingame/monaco-vscode-xterm-common": "28.0.1"
22
22
  },
23
23
  "main": "index.js",
24
24
  "module": "index.js",
@@ -1,21 +1,44 @@
1
1
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
2
2
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
3
4
  import { AICustomizationManagementSection, IStorageSourceFilter } from "../../../../workbench/contrib/chat/common/aiCustomizationWorkspaceService.js";
4
5
  import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service";
6
+ import { IChatPromptSlashCommand } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
7
+ import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
5
8
  import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/sessionsManagementService.service";
6
9
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
10
  import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
8
11
  import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
12
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
13
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
14
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
15
+ import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
9
16
  /**
10
17
  * Agent Sessions override of IAICustomizationWorkspaceService.
11
18
  * Delegates to ISessionsManagementService to provide the active session's
12
19
  * worktree/repository as the project root, and supports worktree commit.
20
+ *
21
+ * Customization files are always committed to the main repository so they
22
+ * persist across worktrees. When a worktree is active the file is also
23
+ * copied into the worktree and committed there so the running session
24
+ * picks it up immediately.
13
25
  */
14
26
  export declare class SessionsAICustomizationWorkspaceService implements IAICustomizationWorkspaceService {
15
27
  private readonly sessionsService;
16
28
  private readonly instantiationService;
29
+ private readonly promptsService;
30
+ private readonly commandService;
31
+ private readonly logService;
32
+ private readonly fileService;
33
+ private readonly notificationService;
17
34
  readonly _serviceBrand: undefined;
18
35
  readonly activeProjectRoot: IObservable<URI | undefined>;
36
+ readonly hasOverrideProjectRoot: IObservable<boolean>;
37
+ /**
38
+ * Transient override for the project root. When set, `activeProjectRoot`
39
+ * returns this value instead of the session-derived root.
40
+ */
41
+ private readonly _overrideRoot;
19
42
  /**
20
43
  * CLI-accessible user directories for customization file filtering and creation.
21
44
  */
@@ -24,16 +47,43 @@ export declare class SessionsAICustomizationWorkspaceService implements IAICusto
24
47
  * Pre-built filter for types that should only show CLI-accessible user roots.
25
48
  */
26
49
  private readonly _cliUserFilter;
27
- constructor(sessionsService: ISessionsManagementService, instantiationService: IInstantiationService, pathService: IPathService);
50
+ constructor(sessionsService: ISessionsManagementService, instantiationService: IInstantiationService, promptsService: IPromptsService, pathService: IPathService, commandService: ICommandService, logService: ILogService, fileService: IFileService, notificationService: INotificationService);
28
51
  getActiveProjectRoot(): URI | undefined;
52
+ setOverrideProjectRoot(root: URI): void;
53
+ clearOverrideProjectRoot(): void;
29
54
  readonly managementSections: readonly AICustomizationManagementSection[];
30
55
  private static readonly _hooksFilter;
31
56
  private static readonly _allUserRootsFilter;
32
57
  getStorageSourceFilter(type: PromptsType): IStorageSourceFilter;
58
+ readonly isSessionsWindow = true;
33
59
  /**
34
- * Returns the CLI-accessible user directories (~/.copilot, ~/.claude, ~/.agents).
60
+ * Commits customization files. Always commits to the main repository
61
+ * so the change persists across worktrees. When a worktree is active
62
+ * the file is also committed there so the session sees it immediately.
35
63
  */
36
- readonly isSessionsWindow = true;
37
- commitFiles(projectRoot: URI, fileUris: URI[]): Promise<void>;
64
+ commitFiles(_projectRoot: URI, fileUris: URI[]): Promise<void>;
65
+ /**
66
+ * Commits the deletion of files that have already been removed from disk.
67
+ * Always stages + commits the removal in the main repository, and also
68
+ * in the worktree if one is active.
69
+ */
70
+ deleteFiles(_projectRoot: URI, fileUris: URI[]): Promise<void>;
71
+ /**
72
+ * Computes the repository-relative path for a file. The file may be
73
+ * located under the worktree or the repository root.
74
+ */
75
+ private getRelativePath;
76
+ /**
77
+ * Commits a single file to the main repository and optionally the worktree.
78
+ * Copies the file content between trees when needed.
79
+ */
80
+ private commitFileToRepos;
81
+ /**
82
+ * Commits the deletion of a file to the main repository and optionally
83
+ * the worktree. The file is already deleted from disk before this is called;
84
+ * `git add` on a deleted path stages the removal.
85
+ */
86
+ private commitDeletionToRepos;
38
87
  generateCustomization(type: PromptsType): Promise<void>;
88
+ getFilteredPromptSlashCommands(token: CancellationToken): Promise<readonly IChatPromptSlashCommand[]>;
39
89
  }
@@ -1,14 +1,24 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
4
- import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
5
- import { AICustomizationManagementSection } from '../../../../workbench/contrib/chat/common/aiCustomizationWorkspaceService.js';
4
+ import { joinPath, relativePath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
5
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
6
+ import { AICustomizationManagementSection, applyStorageSourceFilter } from '../../../../workbench/contrib/chat/common/aiCustomizationWorkspaceService.js';
6
7
  import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
8
+ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
7
9
  import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/sessionsManagementService.service';
8
10
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
11
  import { CustomizationCreatorService } from '../../../../workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js';
10
12
  import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
11
13
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
14
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
15
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
16
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
18
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
19
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
20
+ import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
21
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
12
22
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
13
23
 
14
24
  var SessionsAICustomizationWorkspaceService_1;
@@ -16,15 +26,31 @@ let SessionsAICustomizationWorkspaceService = class SessionsAICustomizationWorks
16
26
  static {
17
27
  SessionsAICustomizationWorkspaceService_1 = this;
18
28
  }
19
- constructor(sessionsService, instantiationService, pathService) {
29
+ constructor(
30
+ sessionsService,
31
+ instantiationService,
32
+ promptsService,
33
+ pathService,
34
+ commandService,
35
+ logService,
36
+ fileService,
37
+ notificationService
38
+ ) {
20
39
  this.sessionsService = sessionsService;
21
40
  this.instantiationService = instantiationService;
41
+ this.promptsService = promptsService;
42
+ this.commandService = commandService;
43
+ this.logService = logService;
44
+ this.fileService = fileService;
45
+ this.notificationService = notificationService;
22
46
  this.managementSections = [
23
47
  AICustomizationManagementSection.Agents,
24
48
  AICustomizationManagementSection.Skills,
25
49
  AICustomizationManagementSection.Instructions,
26
50
  AICustomizationManagementSection.Prompts,
27
- AICustomizationManagementSection.Hooks
51
+ AICustomizationManagementSection.Hooks,
52
+ AICustomizationManagementSection.McpServers,
53
+ AICustomizationManagementSection.Plugins
28
54
  ];
29
55
  this.isSessionsWindow = true;
30
56
  const userHome = pathService.userHome({
@@ -36,26 +62,44 @@ let SessionsAICustomizationWorkspaceService = class SessionsAICustomizationWorks
36
62
  joinPath(userHome, ".agents")
37
63
  ];
38
64
  this._cliUserFilter = {
39
- sources: [PromptsStorage.local, PromptsStorage.user],
65
+ sources: [PromptsStorage.local, PromptsStorage.user, PromptsStorage.plugin],
40
66
  includedUserFileRoots: this._cliUserRoots
41
67
  };
68
+ this._overrideRoot = observableValue(this, undefined);
42
69
  this.activeProjectRoot = derived(reader => {
70
+ const override = this._overrideRoot.read(reader);
71
+ if (override) {
72
+ return override;
73
+ }
43
74
  const session = this.sessionsService.activeSession.read(reader);
44
75
  return session?.worktree ?? session?.repository;
45
76
  });
77
+ this.hasOverrideProjectRoot = derived(reader => {
78
+ return this._overrideRoot.read(reader) !== undefined;
79
+ });
46
80
  }
47
81
  getActiveProjectRoot() {
82
+ const override = this._overrideRoot.get();
83
+ if (override) {
84
+ return override;
85
+ }
48
86
  const session = this.sessionsService.getActiveSession();
49
87
  return session?.worktree ?? session?.repository;
50
88
  }
89
+ setOverrideProjectRoot(root) {
90
+ this._overrideRoot.set(root, undefined);
91
+ }
92
+ clearOverrideProjectRoot() {
93
+ this._overrideRoot.set(undefined, undefined);
94
+ }
51
95
  static {
52
96
  this._hooksFilter = {
53
- sources: [PromptsStorage.local]
97
+ sources: [PromptsStorage.local, PromptsStorage.plugin]
54
98
  };
55
99
  }
56
100
  static {
57
101
  this._allUserRootsFilter = {
58
- sources: [PromptsStorage.local, PromptsStorage.user]
102
+ sources: [PromptsStorage.local, PromptsStorage.user, PromptsStorage.plugin]
59
103
  };
60
104
  }
61
105
  getStorageSourceFilter(type) {
@@ -67,17 +111,141 @@ let SessionsAICustomizationWorkspaceService = class SessionsAICustomizationWorks
67
111
  }
68
112
  return this._cliUserFilter;
69
113
  }
70
- async commitFiles(projectRoot, fileUris) {
114
+ async commitFiles(_projectRoot, fileUris) {
71
115
  const session = this.sessionsService.getActiveSession();
72
- if (session) {
73
- await this.sessionsService.commitWorktreeFiles(session, fileUris);
116
+ if (!session?.repository) {
117
+ return;
118
+ }
119
+ for (const fileUri of fileUris) {
120
+ await this.commitFileToRepos(fileUri, session.repository, session.worktree);
121
+ }
122
+ }
123
+ async deleteFiles(_projectRoot, fileUris) {
124
+ const session = this.sessionsService.getActiveSession();
125
+ if (!session?.repository) {
126
+ return;
127
+ }
128
+ for (const fileUri of fileUris) {
129
+ await this.commitDeletionToRepos(fileUri, session.repository, session.worktree);
130
+ }
131
+ }
132
+ getRelativePath(fileUri, repositoryUri, worktreeUri) {
133
+ if (worktreeUri) {
134
+ const rel = relativePath(worktreeUri, fileUri);
135
+ if (rel) {
136
+ return rel;
137
+ }
138
+ }
139
+ return relativePath(repositoryUri, fileUri);
140
+ }
141
+ async commitFileToRepos(fileUri, repositoryUri, worktreeUri) {
142
+ const relPath = this.getRelativePath(fileUri, repositoryUri, worktreeUri);
143
+ if (!relPath) {
144
+ return;
145
+ }
146
+ const repoFileUri = URI.joinPath(repositoryUri, relPath);
147
+ try {
148
+ if (( repoFileUri.toString()) !== ( fileUri.toString())) {
149
+ const content = await this.fileService.readFile(fileUri);
150
+ await this.fileService.writeFile(repoFileUri, content.value);
151
+ }
152
+ await this.commandService.executeCommand("github.copilot.cli.sessions.commitToRepository", {
153
+ repositoryUri,
154
+ fileUri: repoFileUri
155
+ });
156
+ } catch (error) {
157
+ this.logService.error(
158
+ "[SessionsAICustomizationWorkspaceService] Failed to commit to repository:",
159
+ error
160
+ );
161
+ if (worktreeUri) {
162
+ this.notificationService.notify({
163
+ severity: Severity.Warning,
164
+ message: ( localize(
165
+ 2517,
166
+ "Your customization was saved to this session's worktree, but we couldn't apply it to the default branch. You may need to apply it manually."
167
+ ))
168
+ });
169
+ }
170
+ }
171
+ if (worktreeUri) {
172
+ const worktreeFileUri = URI.joinPath(worktreeUri, relPath);
173
+ try {
174
+ if (( worktreeFileUri.toString()) !== ( fileUri.toString())) {
175
+ const content = await this.fileService.readFile(fileUri);
176
+ await this.fileService.writeFile(worktreeFileUri, content.value);
177
+ }
178
+ await this.commandService.executeCommand("github.copilot.cli.sessions.commitToWorktree", {
179
+ worktreeUri,
180
+ fileUri: worktreeFileUri
181
+ });
182
+ } catch (error) {
183
+ this.logService.error(
184
+ "[SessionsAICustomizationWorkspaceService] Failed to commit to worktree:",
185
+ error
186
+ );
187
+ }
188
+ }
189
+ }
190
+ async commitDeletionToRepos(fileUri, repositoryUri, worktreeUri) {
191
+ const relPath = this.getRelativePath(fileUri, repositoryUri, worktreeUri);
192
+ if (!relPath) {
193
+ return;
194
+ }
195
+ const repoFileUri = URI.joinPath(repositoryUri, relPath);
196
+ try {
197
+ if (await this.fileService.exists(repoFileUri)) {
198
+ await this.fileService.del(repoFileUri, {
199
+ useTrash: true,
200
+ recursive: true
201
+ });
202
+ }
203
+ await this.commandService.executeCommand("github.copilot.cli.sessions.commitToRepository", {
204
+ repositoryUri,
205
+ fileUri: repoFileUri
206
+ });
207
+ } catch (error) {
208
+ this.logService.error(
209
+ "[SessionsAICustomizationWorkspaceService] Failed to commit deletion to repository:",
210
+ error
211
+ );
212
+ if (worktreeUri) {
213
+ this.notificationService.notify({
214
+ severity: Severity.Warning,
215
+ message: ( localize(
216
+ 2518,
217
+ "Your customization was removed from this session's worktree, but we couldn't apply the change to the default branch. You may need to remove it manually."
218
+ ))
219
+ });
220
+ }
221
+ }
222
+ if (worktreeUri) {
223
+ const worktreeFileUri = URI.joinPath(worktreeUri, relPath);
224
+ try {
225
+ await this.commandService.executeCommand("github.copilot.cli.sessions.commitToWorktree", {
226
+ worktreeUri,
227
+ fileUri: worktreeFileUri
228
+ });
229
+ } catch (error) {
230
+ this.logService.error(
231
+ "[SessionsAICustomizationWorkspaceService] Failed to commit deletion to worktree:",
232
+ error
233
+ );
234
+ }
74
235
  }
75
236
  }
76
237
  async generateCustomization(type) {
77
238
  const creator = this.instantiationService.createInstance(CustomizationCreatorService);
78
239
  await creator.createWithAI(type);
79
240
  }
241
+ async getFilteredPromptSlashCommands(token) {
242
+ const allCommands = await this.promptsService.getPromptSlashCommands(token);
243
+ return allCommands.filter(cmd => {
244
+ const filter = this.getStorageSourceFilter(cmd.promptPath.type);
245
+ return applyStorageSourceFilter([cmd.promptPath], filter).length > 0;
246
+ });
247
+ }
80
248
  };
81
- SessionsAICustomizationWorkspaceService = SessionsAICustomizationWorkspaceService_1 = ( __decorate([( __param(0, ISessionsManagementService)), ( __param(1, IInstantiationService)), ( __param(2, IPathService))], SessionsAICustomizationWorkspaceService));
249
+ SessionsAICustomizationWorkspaceService = SessionsAICustomizationWorkspaceService_1 = ( __decorate([( __param(0, ISessionsManagementService)), ( __param(1, IInstantiationService)), ( __param(2, IPromptsService)), ( __param(3, IPathService)), ( __param(4, ICommandService)), ( __param(5, ILogService)), ( __param(6, IFileService)), ( __param(7, INotificationService))], SessionsAICustomizationWorkspaceService));
82
250
 
83
251
  export { SessionsAICustomizationWorkspaceService };
@@ -156,7 +156,11 @@ let RemoteNewSession = class RemoteNewSession extends Disposable {
156
156
  this._repoUri = uri;
157
157
  this._onDidChange.fire("repoUri");
158
158
  this._onDidChange.fire("disabled");
159
- this.setOption("repository", uri.fsPath);
159
+ const id = uri.path.substring(1);
160
+ this.setOption("repositories", {
161
+ id,
162
+ name: id
163
+ });
160
164
  }
161
165
  setIsolationMode(_mode) {}
162
166
  setBranch(_branch) {}
@@ -8,7 +8,7 @@ import { IJSONEditingService } from "@codingame/monaco-vscode-api/vscode/vs/work
8
8
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
9
9
  import { IPreferencesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service";
10
10
  import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
11
- import { CommandString } from "@codingame/monaco-vscode-task-service-override/vscode/vs/workbench/contrib/tasks/common/taskConfiguration";
11
+ import { CommandString } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskConfiguration";
12
12
  import { ISessionsConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsConfigurationService.service";
13
13
  export type TaskStorageTarget = "user" | "workspace";
14
14
  /**
@@ -20,15 +20,19 @@ export interface ITaskEntry {
20
20
  readonly script?: string;
21
21
  readonly type?: string;
22
22
  readonly command?: string;
23
+ readonly args?: CommandString[];
23
24
  readonly inSessions?: boolean;
24
25
  readonly windows?: {
25
26
  command?: string;
27
+ args?: CommandString[];
26
28
  };
27
29
  readonly osx?: {
28
30
  command?: string;
31
+ args?: CommandString[];
29
32
  };
30
33
  readonly linux?: {
31
34
  command?: string;
35
+ args?: CommandString[];
32
36
  };
33
37
  readonly [key: string]: unknown;
34
38
  }
@@ -63,6 +67,7 @@ export declare class SessionsConfigurationService extends Disposable implements
63
67
  private _readAllTasks;
64
68
  private _isSupportedTask;
65
69
  private _resolveCommand;
70
+ private _appendArgs;
66
71
  private _ensureFileWatch;
67
72
  private _refreshSessionTasks;
68
73
  private _commitTasksFile;
@@ -13,6 +13,7 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
13
13
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
14
14
  import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service';
15
15
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
16
+ import { CommandString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskConfiguration';
16
17
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
17
18
  import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
18
19
 
@@ -206,21 +207,35 @@ let SessionsConfigurationService = class SessionsConfigurationService extends Di
206
207
  if (!task.script) {
207
208
  return undefined;
208
209
  }
209
- if (task.path) {
210
- return `npm --prefix ${task.path} run ${task.script}`;
211
- }
212
- return `npm run ${task.script}`;
210
+ const base = task.path ? `npm --prefix ${task.path} run ${task.script}` : `npm run ${task.script}`;
211
+ return this._appendArgs(base, task.args);
213
212
  }
213
+ let command;
214
+ let platformArgs;
214
215
  if (isWindows && task.windows?.command) {
215
- return task.windows.command;
216
+ command = task.windows.command;
217
+ platformArgs = task.windows.args;
218
+ } else if (isMacintosh && task.osx?.command) {
219
+ command = task.osx.command;
220
+ platformArgs = task.osx.args;
221
+ } else if (!isWindows && !isMacintosh && task.linux?.command) {
222
+ command = task.linux.command;
223
+ platformArgs = task.linux.args;
224
+ } else {
225
+ command = task.command;
216
226
  }
217
- if (isMacintosh && task.osx?.command) {
218
- return task.osx.command;
227
+ const args = platformArgs ?? task.args;
228
+ return this._appendArgs(command, args);
229
+ }
230
+ _appendArgs(command, args) {
231
+ if (!command) {
232
+ return undefined;
219
233
  }
220
- if (!isWindows && !isMacintosh && task.linux?.command) {
221
- return task.linux.command;
234
+ if (!args || args.length === 0) {
235
+ return command;
222
236
  }
223
- return task.command;
237
+ const resolvedArgs = ( args.map(a => CommandString.value(a))).join(" ");
238
+ return `${command} ${resolvedArgs}`;
224
239
  }
225
240
  _ensureFileWatch(folder) {
226
241
  const tasksUri = joinPath(folder, ".vscode", "tasks.json");
@@ -0,0 +1,67 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { FileSystemProviderCapabilities, FileType, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProviderWithFileReadWriteCapability, IFileWriteOptions, IStat, IFileChange } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files";
5
+ import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
6
+ import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
7
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
8
+ export declare const GITHUB_REMOTE_FILE_SCHEME = "github-remote-file";
9
+ /**
10
+ * Derives a display name from a github-remote-file URI.
11
+ * Returns "repo (branch)" or just "repo" when on HEAD.
12
+ */
13
+ export declare function getGitHubRemoteFileDisplayName(uri: URI): string | undefined;
14
+ /**
15
+ * A readonly virtual filesystem provider backed by the GitHub REST API.
16
+ *
17
+ * URI format: github-remote-file://github/{owner}/{repo}/{ref}/{path...}
18
+ *
19
+ * For example: github-remote-file://github/microsoft/vscode/main/src/vs/base/common/uri.ts
20
+ *
21
+ * This provider fetches the full recursive tree from the GitHub Trees API on first
22
+ * access and caches it. Individual file contents are fetched on demand via the
23
+ * Blobs API.
24
+ */
25
+ export declare class GitHubFileSystemProvider extends Disposable implements IFileSystemProviderWithFileReadWriteCapability {
26
+ private readonly requestService;
27
+ private readonly authenticationService;
28
+ private readonly logService;
29
+ private readonly _onDidChangeCapabilities;
30
+ readonly onDidChangeCapabilities: Event<void>;
31
+ readonly capabilities: FileSystemProviderCapabilities;
32
+ private readonly _onDidChangeFile;
33
+ readonly onDidChangeFile: Event<readonly IFileChange[]>;
34
+ /** Cache keyed by "owner/repo/ref" */
35
+ private readonly treeCache;
36
+ /** Negative cache for refs that returned 404, keyed by "owner/repo/ref" */
37
+ private readonly notFoundCache;
38
+ /** In-flight fetch promises keyed by "owner/repo/ref" to deduplicate concurrent requests */
39
+ private readonly pendingFetches;
40
+ /** Cache TTL - 5 minutes */
41
+ private static readonly CACHE_TTL_MS;
42
+ /** Negative cache TTL - 1 minute */
43
+ private static readonly NOT_FOUND_CACHE_TTL_MS;
44
+ constructor(requestService: IRequestService, authenticationService: IAuthenticationService, logService: ILogService);
45
+ /**
46
+ * Parse a github-remote-file URI into its components.
47
+ * Format: github-remote-file://github/{owner}/{repo}/{ref}/{path...}
48
+ */
49
+ private parseUri;
50
+ private getCacheKey;
51
+ private getAuthToken;
52
+ private fetchTree;
53
+ private doFetchTree;
54
+ stat(resource: URI): Promise<IStat>;
55
+ readdir(resource: URI): Promise<[
56
+ string,
57
+ FileType
58
+ ][]>;
59
+ readFile(resource: URI): Promise<Uint8Array>;
60
+ watch(): IDisposable;
61
+ writeFile(_resource: URI, _content: Uint8Array, _opts: IFileWriteOptions): Promise<void>;
62
+ mkdir(_resource: URI): Promise<void>;
63
+ delete(_resource: URI, _opts: IFileDeleteOptions): Promise<void>;
64
+ rename(_from: URI, _to: URI, _opts: IFileOverwriteOptions): Promise<void>;
65
+ invalidateCache(owner: string, repo: string, ref: string): void;
66
+ dispose(): void;
67
+ }