@codingame/monaco-vscode-chat-service-override 26.2.2 → 28.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 (356) hide show
  1. package/index.js +35 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
  4. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
  5. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
  8. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
  9. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
  12. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  13. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  14. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
  15. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
  193. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  194. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  218. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  219. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  220. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  222. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
  229. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  231. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  232. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  234. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  247. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
  248. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  251. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
  252. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  253. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
  260. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
  261. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
  262. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
  263. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  265. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
  266. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  268. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  269. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  270. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
  297. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  301. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  302. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
  303. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
  304. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
  305. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  306. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  307. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  308. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  309. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  312. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  313. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  351. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
  353. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  354. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -9,26 +9,34 @@ import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/
9
9
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
10
10
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
11
11
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
12
- import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
13
- import { Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
12
+ import { getPromptsTypeForLanguageId, PromptsType, Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
14
13
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
15
14
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
16
- import { PromptHeaderAttributes, ClaudeHeaderAttributes, parseCommaSeparatedList } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
17
- import { getTarget, getValidAttributeNames, getAttributeDescription, knownClaudeTools, knownGithubCopilotTools, claudeRulesAttributes, claudeAgentAttributes } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator';
15
+ import { PromptHeaderAttributes, parseCommaSeparatedList } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
16
+ import { getTarget, getValidAttributeNames, getAttributeDefinition, knownClaudeTools, ClaudeHeaderAttributes, knownGithubCopilotTools } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes';
18
17
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
19
18
  import { getQuotePreference, formatArrayValue } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper';
19
+ import { HOOKS_BY_TARGET, HOOK_METADATA } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
20
+ import { HOOK_COMMAND_FIELD_DESCRIPTIONS } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
21
+ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
22
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
23
+ import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
20
24
 
21
25
  let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
22
26
  constructor(
23
27
  promptsService,
24
28
  languageModelsService,
25
29
  languageModelToolsService,
26
- chatModeService
30
+ chatModeService,
31
+ environmentService,
32
+ configurationService
27
33
  ) {
28
34
  this.promptsService = promptsService;
29
35
  this.languageModelsService = languageModelsService;
30
36
  this.languageModelToolsService = languageModelToolsService;
31
37
  this.chatModeService = chatModeService;
38
+ this.environmentService = environmentService;
39
+ this.configurationService = configurationService;
32
40
  this._debugDisplayName = "PromptHeaderAutocompletion";
33
41
  this.triggerCharacters = [":"];
34
42
  }
@@ -40,7 +48,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
40
48
  if (/^\s*$/.test(model.getValue())) {
41
49
  return {
42
50
  suggestions: [{
43
- label: ( localize(6417, "Add Prompt Header")),
51
+ label: ( localize(7170, "Add Prompt Header")),
44
52
  kind: CompletionItemKind.Snippet,
45
53
  insertText: [`---`, `description: $1`, `---`, `$0`].join("\n"),
46
54
  insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
@@ -61,6 +69,31 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
61
69
  const colonIndex = lineText.indexOf(":");
62
70
  const colonPosition = colonIndex !== -1 ? ( new Position(position.lineNumber, colonIndex + 1)) : undefined;
63
71
  if (!colonPosition || position.isBeforeOrEqual(colonPosition)) {
72
+ let containingAttribute = header.attributes.find((
73
+ {
74
+ range
75
+ }
76
+ ) => range.startLineNumber < position.lineNumber && position.lineNumber <= range.endLineNumber);
77
+ if (!containingAttribute) {
78
+ for (let i = header.attributes.length - 1; i >= 0; i--) {
79
+ const attr = header.attributes[i];
80
+ if (attr.range.endLineNumber < position.lineNumber && attr.value.type === "map") {
81
+ const nextAttr = header.attributes[i + 1];
82
+ const nextStartLine = nextAttr ? nextAttr.range.startLineNumber : headerRange.endLineNumber;
83
+ if (position.lineNumber < nextStartLine) {
84
+ containingAttribute = attr;
85
+ }
86
+ break;
87
+ }
88
+ }
89
+ }
90
+ if (containingAttribute) {
91
+ const attrLineText = model.getLineContent(containingAttribute.range.startLineNumber);
92
+ const attrColonIndex = attrLineText.indexOf(":");
93
+ if (attrColonIndex !== -1) {
94
+ return this.provideValueCompletions(model, position, header, ( new Position(containingAttribute.range.startLineNumber, attrColonIndex + 1)), promptType, containingAttribute);
95
+ }
96
+ }
64
97
  return this.provideAttributeNameCompletions(model, position, header, colonPosition, promptType);
65
98
  } else if (colonPosition && colonPosition.isBefore(position)) {
66
99
  return this.provideValueCompletions(model, position, header, colonPosition, promptType);
@@ -71,6 +104,9 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
71
104
  const suggestions = [];
72
105
  const target = getTarget(promptType, header);
73
106
  const attributesToPropose = ( new Set(getValidAttributeNames(promptType, false, target)));
107
+ if (!this.configurationService.getValue(PromptsConfig.USE_CUSTOM_AGENT_HOOKS)) {
108
+ attributesToPropose.delete(PromptHeaderAttributes.hooks);
109
+ }
74
110
  for (const attr of header.attributes) {
75
111
  attributesToPropose.delete(attr.key);
76
112
  }
@@ -78,6 +114,10 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
78
114
  if (colonPosition) {
79
115
  return key;
80
116
  }
117
+ if (key === PromptHeaderAttributes.hooks && promptType === PromptsType.agent && target !== Target.Claude) {
118
+ const hookNames = ( Object.keys(HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined]));
119
+ return `${key}:\n \${1|${hookNames.join(",")}|}:\n - type: command\n command: "$2"`;
120
+ }
81
121
  const valueSuggestions = this.getValueSuggestions(promptType, key, target);
82
122
  if (valueSuggestions.length > 0) {
83
123
  return `${key}: \${0:${valueSuggestions[0].name}}`;
@@ -88,7 +128,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
88
128
  for (const attribute of attributesToPropose) {
89
129
  const item = {
90
130
  label: attribute,
91
- documentation: getAttributeDescription(attribute, promptType, target),
131
+ documentation: getAttributeDefinition(attribute, promptType, target)?.description,
92
132
  kind: CompletionItemKind.Property,
93
133
  insertText: getInsertText(attribute),
94
134
  insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
@@ -105,10 +145,10 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
105
145
  suggestions
106
146
  };
107
147
  }
108
- async provideValueCompletions(model, position, header, colonPosition, promptType) {
148
+ async provideValueCompletions(model, position, header, colonPosition, promptType, preFoundAttribute) {
109
149
  const suggestions = [];
110
150
  const posLineNumber = position.lineNumber;
111
- const attribute = header.attributes.find((
151
+ const attribute = preFoundAttribute ?? header.attributes.find((
112
152
  {
113
153
  range
114
154
  }
@@ -122,7 +162,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
122
162
  }
123
163
  if (promptType === PromptsType.prompt || promptType === PromptsType.agent) {
124
164
  if (attribute.key === PromptHeaderAttributes.model) {
125
- if (attribute.value.type === "array") {
165
+ if (attribute.value.type === "sequence") {
126
166
  const getValues = async () => {
127
167
  if (target === Target.Claude) {
128
168
  return knownClaudeTools;
@@ -135,12 +175,12 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
135
175
  }
136
176
  if (attribute.key === PromptHeaderAttributes.tools || attribute.key === ClaudeHeaderAttributes.disallowedTools) {
137
177
  let value = attribute.value;
138
- if (value.type === "string") {
178
+ if (value.type === "scalar") {
139
179
  value = parseCommaSeparatedList(value);
140
180
  }
141
- if (value.type === "array") {
181
+ if (value.type === "sequence") {
142
182
  const getValues = async () => {
143
- if (target === Target.GitHubCopilot) {
183
+ if (target === Target.GitHubCopilot || this.environmentService.isSessionsWindow) {
144
184
  return knownGithubCopilotTools;
145
185
  } else if (target === Target.Claude) {
146
186
  return knownClaudeTools;
@@ -155,12 +195,25 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
155
195
  }
156
196
  }
157
197
  if (attribute.key === PromptHeaderAttributes.agents) {
158
- if (attribute.value.type === "array") {
198
+ if (attribute.value.type === "sequence") {
159
199
  return this.provideArrayCompletions(model, position, attribute.value, async () => {
160
200
  return await this.promptsService.getCustomAgents(CancellationToken.None);
161
201
  });
162
202
  }
163
203
  }
204
+ if (attribute.key === PromptHeaderAttributes.hooks) {
205
+ if (attribute.value.type === "map") {
206
+ return this.provideHookEventCompletions(model, position, attribute.value, target);
207
+ }
208
+ if (position.lineNumber !== attribute.range.startLineNumber) {
209
+ const emptyMap = {
210
+ type: "map",
211
+ properties: [],
212
+ range: attribute.value.range
213
+ };
214
+ return this.provideHookEventCompletions(model, position, emptyMap, target);
215
+ }
216
+ }
164
217
  const lineContent = model.getLineContent(attribute.range.startLineNumber);
165
218
  const whilespaceAfterColon = (lineContent.substring(colonPosition.column).match(/^\s*/)?.[0].length) ?? 0;
166
219
  const entries = this.getValueSuggestions(promptType, attribute.key, target);
@@ -188,7 +241,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
188
241
  " send: true"
189
242
  ].join("\n");
190
243
  const item = {
191
- label: ( localize(6418, "Handoff Example")),
244
+ label: ( localize(7171, "Handoff Example")),
192
245
  kind: CompletionItemKind.Value,
193
246
  insertText: whilespaceAfterColon === 0 ? ` ${value}` : value,
194
247
  range: ( new Range(
@@ -200,38 +253,236 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
200
253
  };
201
254
  suggestions.push(item);
202
255
  }
256
+ if (attribute.key === PromptHeaderAttributes.hooks && promptType === PromptsType.agent) {
257
+ const hookSnippet = ["", " ${1|" + ( Object.keys(HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined])).join(",") + "|}:", " - type: command", " command: \"$2\""].join("\n");
258
+ const item = {
259
+ label: ( localize(7172, "New Hook")),
260
+ kind: CompletionItemKind.Snippet,
261
+ insertText: whilespaceAfterColon === 0 ? ` ${hookSnippet}` : hookSnippet,
262
+ insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
263
+ range: ( new Range(
264
+ position.lineNumber,
265
+ colonPosition.column + whilespaceAfterColon + 1,
266
+ position.lineNumber,
267
+ model.getLineMaxColumn(position.lineNumber)
268
+ ))
269
+ };
270
+ suggestions.push(item);
271
+ }
203
272
  return {
204
273
  suggestions
205
274
  };
206
275
  }
207
- getValueSuggestions(promptType, attribute, target) {
208
- if (target === Target.Claude) {
209
- const attributeDesc = promptType === PromptsType.instructions ? claudeRulesAttributes[attribute] : claudeAgentAttributes[attribute];
210
- if (attributeDesc) {
211
- if (attributeDesc.enums) {
212
- return attributeDesc.enums;
213
- } else if (attributeDesc.defaults) {
214
- return ( attributeDesc.defaults.map(value => ({
215
- name: value
216
- })));
276
+ provideHookEventCompletions(model, position, hooksMap, target) {
277
+ const hookEventOnLine = hooksMap.properties.find(p => p.key.range.startLineNumber === position.lineNumber);
278
+ if (hookEventOnLine) {
279
+ const lineText = model.getLineContent(position.lineNumber);
280
+ const colonIdx = lineText.indexOf(":");
281
+ if (colonIdx !== -1 && position.column > colonIdx + 1) {
282
+ const whilespaceAfterColon = (lineText.substring(colonIdx + 1).match(/^\s*/)?.[0].length) ?? 0;
283
+ const commandSnippet = ["", " - type: command", " command: \"$1\""].join("\n");
284
+ return {
285
+ suggestions: [{
286
+ label: ( localize(7173, "New Command")),
287
+ documentation: ( localize(7174, "Add a new command entry to this hook.")),
288
+ kind: CompletionItemKind.Snippet,
289
+ insertText: whilespaceAfterColon === 0 ? ` ${commandSnippet}` : commandSnippet,
290
+ insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
291
+ range: ( new Range(
292
+ position.lineNumber,
293
+ colonIdx + 1 + whilespaceAfterColon + 1,
294
+ position.lineNumber,
295
+ model.getLineMaxColumn(position.lineNumber)
296
+ ))
297
+ }]
298
+ };
299
+ }
300
+ }
301
+ const commandFieldCompletions = this.provideHookCommandFieldCompletions(model, position, hooksMap, target);
302
+ if (commandFieldCompletions) {
303
+ return commandFieldCompletions;
304
+ }
305
+ const suggestions = [];
306
+ const hooksByTarget = HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined];
307
+ const lineText = model.getLineContent(position.lineNumber);
308
+ const firstNonWhitespace = lineText.search(/\S/);
309
+ const isEmptyLine = firstNonWhitespace === -1;
310
+ const rangeStartColumn = isEmptyLine ? position.column : firstNonWhitespace + 1;
311
+ const existingKeys = ( new Set(( hooksMap.properties.filter(p => p.key.range.startLineNumber !== position.lineNumber).map(p => p.key.value))));
312
+ const expectedIndent = hooksMap.properties.length > 0 ? hooksMap.properties[0].key.range.startColumn - 1 : -1;
313
+ if (expectedIndent >= 0) {
314
+ const scanEnd = model.getLineCount();
315
+ for (let lineNum = hooksMap.range.endLineNumber + 1; lineNum <= scanEnd; lineNum++) {
316
+ if (lineNum === position.lineNumber) {
317
+ continue;
318
+ }
319
+ const lt = model.getLineContent(lineNum);
320
+ const lineIndent = lt.search(/\S/);
321
+ if (lineIndent === -1) {
322
+ continue;
323
+ }
324
+ if (lineIndent < expectedIndent) {
325
+ break;
326
+ }
327
+ if (lineIndent === expectedIndent) {
328
+ const match = lt.match(/^\s+(\S+)\s*:/);
329
+ if (match) {
330
+ existingKeys.add(match[1]);
331
+ }
217
332
  }
218
333
  }
219
- return [];
220
334
  }
221
- switch (attribute) {
222
- case PromptHeaderAttributes.applyTo:
223
- if (promptType === PromptsType.instructions) {
224
- return [{
225
- name: `'**'`
226
- }, {
227
- name: `'**/*.ts, **/*.js'`
228
- }, {
229
- name: `'**/*.php'`
230
- }, {
231
- name: `'**/*.py'`
232
- }];
335
+ const lineHasColon = lineText.indexOf(":") !== -1;
336
+ for (const [hookName, hookType] of Object.entries(hooksByTarget)) {
337
+ if (( existingKeys.has(hookName))) {
338
+ continue;
233
339
  }
234
- break;
340
+ const meta = HOOK_METADATA[hookType];
341
+ let insertText;
342
+ if (isEmptyLine) {
343
+ insertText = [`${hookName}:`, ` - type: command`, ` command: "$1"`].join("\n");
344
+ } else if (lineHasColon) {
345
+ insertText = `${hookName}:`;
346
+ } else {
347
+ insertText = hookName;
348
+ }
349
+ suggestions.push({
350
+ label: hookName,
351
+ documentation: meta?.description,
352
+ kind: CompletionItemKind.Property,
353
+ insertText,
354
+ insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
355
+ range: ( new Range(
356
+ position.lineNumber,
357
+ rangeStartColumn,
358
+ position.lineNumber,
359
+ model.getLineMaxColumn(position.lineNumber)
360
+ ))
361
+ });
362
+ }
363
+ return {
364
+ suggestions
365
+ };
366
+ }
367
+ provideHookCommandFieldCompletions(model, position, hooksMap, target) {
368
+ const containingCommandMap = this.findContainingCommandMap(model, position, hooksMap);
369
+ if (!containingCommandMap) {
370
+ return undefined;
371
+ }
372
+ const isCopilotCli = target === Target.GitHubCopilot;
373
+ const validFields = isCopilotCli ? ["type", "bash", "powershell", "cwd", "env", "timeoutSec"] : [
374
+ "type",
375
+ "command",
376
+ "windows",
377
+ "linux",
378
+ "osx",
379
+ "bash",
380
+ "powershell",
381
+ "cwd",
382
+ "env",
383
+ "timeout"
384
+ ];
385
+ const existingFields = ( new Set(( containingCommandMap.properties.filter(p => p.key.range.startLineNumber !== position.lineNumber).map(p => p.key.value))));
386
+ const lineText = model.getLineContent(position.lineNumber);
387
+ const firstNonWhitespace = lineText.search(/\S/);
388
+ const isEmptyLine = firstNonWhitespace === -1;
389
+ const dashPrefixMatch = lineText.match(/^(\s*-\s+)/);
390
+ const fieldStart = dashPrefixMatch ? dashPrefixMatch[1].length : firstNonWhitespace;
391
+ const rangeStartColumn = isEmptyLine ? position.column : fieldStart + 1;
392
+ const colonIndex = lineText.indexOf(":");
393
+ const suggestions = [];
394
+ for (const fieldName of validFields) {
395
+ if (( existingFields.has(fieldName))) {
396
+ continue;
397
+ }
398
+ const desc = HOOK_COMMAND_FIELD_DESCRIPTIONS[fieldName];
399
+ const insertText = colonIndex !== -1 ? fieldName : `${fieldName}: $0`;
400
+ suggestions.push({
401
+ label: fieldName,
402
+ documentation: desc,
403
+ kind: CompletionItemKind.Property,
404
+ insertText,
405
+ insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
406
+ range: ( new Range(
407
+ position.lineNumber,
408
+ rangeStartColumn,
409
+ position.lineNumber,
410
+ colonIndex !== -1 ? colonIndex + 1 : model.getLineMaxColumn(position.lineNumber)
411
+ ))
412
+ });
413
+ }
414
+ return suggestions.length > 0 ? {
415
+ suggestions
416
+ } : undefined;
417
+ }
418
+ findContainingCommandMap(model, position, hooksMap) {
419
+ for (let i = 0; i < hooksMap.properties.length; i++) {
420
+ const prop = hooksMap.properties[i];
421
+ if (prop.value.type !== "sequence") {
422
+ continue;
423
+ }
424
+ const seqRange = prop.value.range;
425
+ const nextProp = hooksMap.properties[i + 1];
426
+ const isInSeq = seqRange.containsPosition(position);
427
+ const isTrailingSeq = !isInSeq && seqRange.endLineNumber < position.lineNumber && (!nextProp || nextProp.key.range.startLineNumber > position.lineNumber);
428
+ if (isInSeq || isTrailingSeq) {
429
+ if (isTrailingSeq) {
430
+ const lineText = model.getLineContent(position.lineNumber);
431
+ const firstNonWs = lineText.search(/\S/);
432
+ const effectiveIndent = firstNonWs === -1 ? position.column - 1 : firstNonWs;
433
+ const hookKeyIndent = prop.key.range.startColumn - 1;
434
+ if (effectiveIndent <= hookKeyIndent) {
435
+ continue;
436
+ }
437
+ }
438
+ const result = this.findCommandMapInSequence(position, prop.value);
439
+ if (result) {
440
+ return result;
441
+ }
442
+ }
443
+ }
444
+ return undefined;
445
+ }
446
+ findCommandMapInSequence(position, sequence) {
447
+ for (let i = 0; i < sequence.items.length; i++) {
448
+ const item = sequence.items[i];
449
+ if (item.type !== "map") {
450
+ if (item.type === "scalar" && item.range.startLineNumber === position.lineNumber) {
451
+ return {
452
+ type: "map",
453
+ properties: [],
454
+ range: item.range
455
+ };
456
+ }
457
+ continue;
458
+ }
459
+ const isInRange = item.range.containsPosition(position);
460
+ const isTrailing = !isInRange && item.range.endLineNumber < position.lineNumber && (i + 1 >= sequence.items.length || sequence.items[i + 1].range.startLineNumber > position.lineNumber);
461
+ if (!isInRange && !isTrailing) {
462
+ continue;
463
+ }
464
+ const nestedHooks = item.properties.find(p => p.key.value === "hooks");
465
+ if (nestedHooks?.value.type === "sequence") {
466
+ const result = this.findCommandMapInSequence(position, nestedHooks.value);
467
+ if (result) {
468
+ return result;
469
+ }
470
+ }
471
+ return item;
472
+ }
473
+ return undefined;
474
+ }
475
+ getValueSuggestions(promptType, attribute, target) {
476
+ const attributeDesc = getAttributeDefinition(attribute, promptType, target);
477
+ if (attributeDesc?.enums) {
478
+ return attributeDesc.enums;
479
+ }
480
+ if (attributeDesc?.defaults) {
481
+ return ( attributeDesc.defaults.map(value => ({
482
+ name: value
483
+ })));
484
+ }
485
+ switch (attribute) {
235
486
  case PromptHeaderAttributes.agent:
236
487
  case PromptHeaderAttributes.mode:
237
488
  if (promptType === PromptsType.prompt) {
@@ -246,63 +497,11 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
246
497
  return suggestions;
247
498
  }
248
499
  break;
249
- case PromptHeaderAttributes.target:
250
- if (promptType === PromptsType.agent) {
251
- return [{
252
- name: "vscode"
253
- }, {
254
- name: "github-copilot"
255
- }];
256
- }
257
- break;
258
- case PromptHeaderAttributes.tools:
259
- if (promptType === PromptsType.prompt || promptType === PromptsType.agent) {
260
- return [{
261
- name: "[]"
262
- }, {
263
- name: `['search', 'edit', 'web']`
264
- }];
265
- }
266
- break;
267
500
  case PromptHeaderAttributes.model:
268
501
  if (promptType === PromptsType.prompt || promptType === PromptsType.agent) {
269
502
  return this.getModelNames(promptType === PromptsType.agent);
270
503
  }
271
504
  break;
272
- case PromptHeaderAttributes.infer:
273
- if (promptType === PromptsType.agent) {
274
- return [{
275
- name: "true"
276
- }, {
277
- name: "false"
278
- }];
279
- }
280
- break;
281
- case PromptHeaderAttributes.agents:
282
- if (promptType === PromptsType.agent) {
283
- return [{
284
- name: "[\"*\"]"
285
- }];
286
- }
287
- break;
288
- case PromptHeaderAttributes.userInvokable:
289
- if (promptType === PromptsType.agent || promptType === PromptsType.skill) {
290
- return [{
291
- name: "true"
292
- }, {
293
- name: "false"
294
- }];
295
- }
296
- break;
297
- case PromptHeaderAttributes.disableModelInvocation:
298
- if (promptType === PromptsType.agent || promptType === PromptsType.skill) {
299
- return [{
300
- name: "true"
301
- }, {
302
- name: "false"
303
- }];
304
- }
305
- break;
306
505
  }
307
506
  return [];
308
507
  }
@@ -310,7 +509,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
310
509
  const result = [];
311
510
  for (const model of this.languageModelsService.getLanguageModelIds()) {
312
511
  const metadata = this.languageModelsService.lookupLanguageModel(model);
313
- if (metadata && metadata.isUserSelectable !== false) {
512
+ if (metadata && metadata.isUserSelectable !== false && !metadata.targetChatSessionType) {
314
513
  if (!agentModeOnly || ILanguageModelChatMetadata.suitableForAgentMode(metadata)) {
315
514
  result.push({
316
515
  name: ILanguageModelChatMetadata.asQualifiedName(metadata),
@@ -326,7 +525,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
326
525
  const suggestions = [];
327
526
  const entries = await getValues();
328
527
  const quotePreference = getQuotePreference(arrayValue, model);
329
- const existingValues = ( new Set(( arrayValue.items.filter(item => item !== currentItem).filter(item => item.type === "string").map(item => item.value))));
528
+ const existingValues = ( new Set(( arrayValue.items.filter(item => item !== currentItem).filter(item => item.type === "scalar").map(item => item.value))));
330
529
  for (const entry of entries) {
331
530
  const entryName = entry.name;
332
531
  if (( existingValues.has(entryName))) {
@@ -364,6 +563,6 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
364
563
  return undefined;
365
564
  }
366
565
  };
367
- PromptHeaderAutocompletion = ( __decorate([( __param(0, IPromptsService)), ( __param(1, ILanguageModelsService)), ( __param(2, ILanguageModelToolsService)), ( __param(3, IChatModeService))], PromptHeaderAutocompletion));
566
+ PromptHeaderAutocompletion = ( __decorate([( __param(0, IPromptsService)), ( __param(1, ILanguageModelsService)), ( __param(2, ILanguageModelToolsService)), ( __param(3, IChatModeService)), ( __param(4, IWorkbenchEnvironmentService)), ( __param(5, IConfigurationService))], PromptHeaderAutocompletion));
368
567
 
369
568
  export { PromptHeaderAutocompletion };
@@ -6,16 +6,18 @@ import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/w
6
6
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
7
7
  import { IChatModeService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service";
8
8
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
9
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
9
10
  export declare class PromptHoverProvider implements HoverProvider {
10
11
  private readonly promptsService;
11
12
  private readonly languageModelToolsService;
12
13
  private readonly languageModelsService;
13
14
  private readonly chatModeService;
15
+ private readonly configurationService;
14
16
  /**
15
17
  * Debug display name for this provider.
16
18
  */
17
19
  readonly _debugDisplayName: string;
18
- constructor(promptsService: IPromptsService, languageModelToolsService: ILanguageModelToolsService, languageModelsService: ILanguageModelsService, chatModeService: IChatModeService);
20
+ constructor(promptsService: IPromptsService, languageModelToolsService: ILanguageModelToolsService, languageModelsService: ILanguageModelsService, chatModeService: IChatModeService, configurationService: IConfigurationService);
19
21
  private createHover;
20
22
  provideHover(model: ITextModel, position: Position, token: CancellationToken, _context?: HoverContext): Promise<Hover | undefined>;
21
23
  private provideBodyHover;
@@ -25,5 +27,12 @@ export declare class PromptHoverProvider implements HoverProvider {
25
27
  private getToolsetHover;
26
28
  private getModelHover;
27
29
  private getAgentHover;
30
+ private getHooksHover;
31
+ /**
32
+ * Recursively searches hook command items for hover information.
33
+ * Handles both direct command objects and nested matcher format
34
+ * (e.g., `{ matcher: "...", hooks: [{ type: command, ... }] }`).
35
+ */
36
+ private getHookCommandItemHover;
28
37
  private getHandsOffHover;
29
38
  }