@codingame/monaco-vscode-chat-service-override 26.2.2 → 27.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 (316) hide show
  1. package/index.js +31 -1
  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 +39 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -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 +274 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
  12. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
  13. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  15. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +84 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -29
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +16 -16
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -65
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +48 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +248 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +72 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +623 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +19 -3
  93. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +305 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +58 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +45 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +781 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +15 -7
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +15 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +182 -13
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
  174. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  175. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +27 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +16 -1
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +43 -31
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +10 -10
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +64 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +42 -8
  223. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  224. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +58 -31
  225. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  226. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -20
  227. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  228. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +39 -0
  229. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -0
  230. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  231. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  232. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +36 -0
  233. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
  235. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
  236. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
  237. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
  238. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  240. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +8 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
  242. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -0
  244. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  245. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +73 -0
  246. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
  247. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
  248. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +8 -8
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
  261. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  262. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  263. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  264. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +11 -5
  265. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
  266. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
  267. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  268. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  269. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  270. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  271. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  276. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +9 -0
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +1 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
  311. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  312. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  313. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  314. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -0,0 +1,611 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { $ as $$1, append, hide, show, isAncestorOfActiveElement, clearNode, getWindow, addDisposableListener, EventType } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
+ import { BreadcrumbsWidget } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget';
6
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
10
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
11
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
12
+ import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
13
+ import { defaultBreadcrumbsWidgetStyles, defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
14
+ import { FilterWidget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewFilter';
15
+ import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
16
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
17
+ import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
18
+ import { setupBreadcrumbKeyboardNavigation, TextBreadcrumbItem } from './chatDebugTypes.js';
19
+ import { bindFilterContextKeys } from './chatDebugFilters.js';
20
+ import { buildFlowGraph, filterFlowNodes, sliceFlowNodes, mergeToolCallNodes, mergeDiscoveryNodes } from './chatDebugFlowGraph.js';
21
+ import { layoutFlowGraph, renderFlowChartSVG } from './chatDebugFlowLayout.js';
22
+ import { ChatDebugDetailPanel } from './chatDebugDetailPanel.js';
23
+
24
+ const $ = $$1;
25
+ const MIN_SCALE = 0.1;
26
+ const MAX_SCALE = 5;
27
+ const ZOOM_STEP = 0.15;
28
+ const WHEEL_ZOOM_FACTOR = 0.002;
29
+ const CLICK_THRESHOLD_SQ = 25;
30
+ const PAGE_SIZE = 100;
31
+ var FlowChartNavigation;
32
+ (function(FlowChartNavigation) {
33
+ FlowChartNavigation["Home"] = "home";
34
+ FlowChartNavigation["Overview"] = "overview";
35
+ })(FlowChartNavigation || (FlowChartNavigation = {}));
36
+ let ChatDebugFlowChartView = class ChatDebugFlowChartView extends Disposable {
37
+ constructor(
38
+ parent,
39
+ filterState,
40
+ chatService,
41
+ chatDebugService,
42
+ contextKeyService,
43
+ instantiationService
44
+ ) {
45
+ super();
46
+ this.filterState = filterState;
47
+ this.chatService = chatService;
48
+ this.chatDebugService = chatDebugService;
49
+ this.contextKeyService = contextKeyService;
50
+ this.instantiationService = instantiationService;
51
+ this._onNavigate = this._register(( new Emitter()));
52
+ this.onNavigate = this._onNavigate.event;
53
+ this.loadDisposables = this._register(( new DisposableStore()));
54
+ this.scale = 1;
55
+ this.translateX = 0;
56
+ this.translateY = 0;
57
+ this.isPanning = false;
58
+ this.startX = 0;
59
+ this.startY = 0;
60
+ this.mouseDownX = 0;
61
+ this.mouseDownY = 0;
62
+ this.lastEventCount = 0;
63
+ this.hasUserPanned = false;
64
+ this.collapsedNodeIds = ( new Set());
65
+ this.expandedMergedIds = ( new Set());
66
+ this.visibleLimit = PAGE_SIZE;
67
+ this.eventById = ( new Map());
68
+ this.container = append(parent, $(".chat-debug-flowchart"));
69
+ hide(this.container);
70
+ const breadcrumbContainer = append(this.container, $(".chat-debug-breadcrumb"));
71
+ this.breadcrumbWidget = this._register(( new BreadcrumbsWidget(
72
+ breadcrumbContainer,
73
+ 3,
74
+ undefined,
75
+ Codicon.chevronRight,
76
+ defaultBreadcrumbsWidgetStyles
77
+ )));
78
+ this._register(
79
+ setupBreadcrumbKeyboardNavigation(breadcrumbContainer, this.breadcrumbWidget)
80
+ );
81
+ this._register(this.breadcrumbWidget.onDidSelectItem(e => {
82
+ if (e.type === "select" && e.item instanceof TextBreadcrumbItem) {
83
+ this.breadcrumbWidget.setSelection(undefined);
84
+ const items = this.breadcrumbWidget.getItems();
85
+ const idx = items.indexOf(e.item);
86
+ if (idx === 0) {
87
+ this._onNavigate.fire(FlowChartNavigation.Home);
88
+ } else if (idx === 1) {
89
+ this._onNavigate.fire(FlowChartNavigation.Overview);
90
+ }
91
+ }
92
+ }));
93
+ this.headerContainer = append(this.container, $(".chat-debug-editor-header"));
94
+ const headerContainer = this.headerContainer;
95
+ const scopedContextKeyService = this._register(this.contextKeyService.createScoped(headerContainer));
96
+ const syncContextKeys = bindFilterContextKeys(this.filterState, scopedContextKeyService);
97
+ syncContextKeys();
98
+ const childInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, scopedContextKeyService]))));
99
+ this.filterWidget = this._register(childInstantiationService.createInstance(FilterWidget, {
100
+ placeholder: ( localize(5606, "Filter nodes...")),
101
+ ariaLabel: ( localize(5607, "Filter flow chart nodes"))
102
+ }));
103
+ const filterContainer = append(headerContainer, $(".viewpane-filter-container"));
104
+ filterContainer.appendChild(this.filterWidget.element);
105
+ this._register(this.filterWidget.onDidChangeFilterText(text => {
106
+ this.filterState.setTextFilter(text);
107
+ }));
108
+ this._register(this.filterState.onDidChange(() => {
109
+ syncContextKeys();
110
+ this.filterWidget.checkMoreFilters(!this.filterState.isAllFiltersDefault());
111
+ this.visibleLimit = PAGE_SIZE;
112
+ this.hasUserPanned = false;
113
+ this.lastEventCount = 0;
114
+ this.load();
115
+ }));
116
+ const contentWrapper = append(this.container, $(".chat-debug-flowchart-content-wrapper"));
117
+ this.content = append(contentWrapper, $(".chat-debug-flowchart-content"));
118
+ this.detailPanel = this._register(
119
+ this.instantiationService.createInstance(ChatDebugDetailPanel, contentWrapper)
120
+ );
121
+ this.setupPanZoom();
122
+ this.setupKeyboard();
123
+ }
124
+ setSession(sessionResource) {
125
+ if (!this.currentSessionResource || ( this.currentSessionResource.toString()) !== ( sessionResource.toString())) {
126
+ this.scale = 1;
127
+ this.translateX = 0;
128
+ this.translateY = 0;
129
+ this.lastEventCount = 0;
130
+ this.hasUserPanned = false;
131
+ this.focusedElementId = undefined;
132
+ this.collapsedNodeIds.clear();
133
+ this.expandedMergedIds.clear();
134
+ this.visibleLimit = PAGE_SIZE;
135
+ this.detailPanel.hide();
136
+ }
137
+ this.currentSessionResource = sessionResource;
138
+ }
139
+ show() {
140
+ show(this.container);
141
+ this.load();
142
+ }
143
+ hide() {
144
+ hide(this.container);
145
+ }
146
+ refresh() {
147
+ if (this.container.style.display !== "none") {
148
+ this.load();
149
+ }
150
+ }
151
+ updateBreadcrumb() {
152
+ if (!this.currentSessionResource) {
153
+ return;
154
+ }
155
+ const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
156
+ this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(5608, "Agent Debug Panel")), true)), ( new TextBreadcrumbItem(sessionTitle, true)), ( new TextBreadcrumbItem(( localize(5609, "Agent Flow Chart"))))]);
157
+ }
158
+ load() {
159
+ const hadFocus = isAncestorOfActiveElement(this.content);
160
+ clearNode(this.content);
161
+ this.loadDisposables.clear();
162
+ this.updateBreadcrumb();
163
+ const events = this.chatDebugService.getEvents(this.currentSessionResource);
164
+ const isFirstLoad = this.lastEventCount === 0;
165
+ this.lastEventCount = events.length;
166
+ this.eventById.clear();
167
+ for (const e of events) {
168
+ if (e.id) {
169
+ this.eventById.set(e.id, e);
170
+ }
171
+ }
172
+ if (events.length === 0) {
173
+ const emptyMsg = append(this.content, $(".chat-debug-flowchart-empty"));
174
+ emptyMsg.textContent = ( localize(5610, "No events recorded for this session."));
175
+ return;
176
+ }
177
+ const flowNodes = buildFlowGraph(events);
178
+ const filtered = filterFlowNodes(flowNodes, {
179
+ isKindVisible: (kind, category) => this.filterState.isKindVisible(kind, category),
180
+ textFilter: this.filterState.textFilter
181
+ });
182
+ if (filtered.length === 0) {
183
+ const emptyMsg = append(this.content, $(".chat-debug-flowchart-empty"));
184
+ emptyMsg.textContent = ( localize(5611, "No nodes match the current filter."));
185
+ return;
186
+ }
187
+ const slice = sliceFlowNodes(filtered, this.visibleLimit);
188
+ const merged = mergeToolCallNodes(mergeDiscoveryNodes(slice.nodes));
189
+ const layout = layoutFlowGraph(merged, {
190
+ collapsedIds: this.collapsedNodeIds,
191
+ expandedMergedIds: this.expandedMergedIds
192
+ });
193
+ this.renderResult = renderFlowChartSVG(layout);
194
+ this.svgWrapper = append(this.content, $(".chat-debug-flowchart-svg-wrapper"));
195
+ this.svgWrapper.appendChild(this.renderResult.svg);
196
+ this.svgElement = this.renderResult.svg;
197
+ if (slice.shownCount < slice.totalCount) {
198
+ const remaining = slice.totalCount - slice.shownCount;
199
+ const showMoreContainer = append(this.svgWrapper, $(".chat-debug-flowchart-show-more"));
200
+ const showMoreBtn = this.loadDisposables.add(( new Button(showMoreContainer, {
201
+ ...defaultButtonStyles,
202
+ secondary: true,
203
+ title: ( localize(5612, "Load more nodes"))
204
+ })));
205
+ showMoreBtn.label = ( localize(5613, "Show More ({0})", remaining));
206
+ this.loadDisposables.add(showMoreBtn.onDidClick(() => {
207
+ this.visibleLimit += PAGE_SIZE;
208
+ this.load();
209
+ }));
210
+ }
211
+ if (isFirstLoad && !this.hasUserPanned) {
212
+ getWindow(this.content).requestAnimationFrame(() => {
213
+ this.centerContent();
214
+ });
215
+ } else {
216
+ this.applyTransform();
217
+ }
218
+ if (this.focusedElementId && hadFocus && !isAncestorOfActiveElement(this.headerContainer)) {
219
+ this.restoreFocus(this.focusedElementId);
220
+ }
221
+ }
222
+ setupPanZoom() {
223
+ this._register(
224
+ addDisposableListener(this.content, EventType.MOUSE_DOWN, e => this.handleMouseDown(e))
225
+ );
226
+ const targetDocument = getWindow(this.content).document;
227
+ this._register(
228
+ addDisposableListener(targetDocument, EventType.MOUSE_MOVE, e => this.handleMouseMove(e))
229
+ );
230
+ this._register(
231
+ addDisposableListener(targetDocument, EventType.MOUSE_UP, e => this.handleMouseUp(e))
232
+ );
233
+ this._register(
234
+ addDisposableListener(this.content, "wheel", e => this.handleWheel(e), {
235
+ passive: false
236
+ })
237
+ );
238
+ }
239
+ setupKeyboard() {
240
+ this._register(addDisposableListener(this.content, EventType.FOCUS_IN, e => {
241
+ const el = e.target;
242
+ if (!el) {
243
+ return;
244
+ }
245
+ const subgraphId = el.getAttribute?.("data-subgraph-id");
246
+ if (subgraphId) {
247
+ this.focusedElementId = `sg:${subgraphId}`;
248
+ return;
249
+ }
250
+ const nodeId = el.getAttribute?.("data-node-id");
251
+ if (nodeId) {
252
+ this.focusedElementId = nodeId;
253
+ }
254
+ }));
255
+ this._register(addDisposableListener(this.content, EventType.KEY_DOWN, e => {
256
+ const target = e.target;
257
+ if (!target) {
258
+ return;
259
+ }
260
+ const subgraphId = target.getAttribute?.("data-subgraph-id");
261
+ switch (e.key) {
262
+ case "Tab":
263
+ {
264
+ if (this.focusedElementId) {
265
+ const moved = this.focusAdjacentElement(this.focusedElementId, e.shiftKey ? -1 : 1);
266
+ if (moved) {
267
+ e.preventDefault();
268
+ } else if (!e.shiftKey && this.detailPanel.isVisible) {
269
+ e.preventDefault();
270
+ this.detailPanel.focus();
271
+ }
272
+ } else if (!e.shiftKey) {
273
+ e.preventDefault();
274
+ this.focusFirstElement();
275
+ }
276
+ break;
277
+ }
278
+ case "Enter":
279
+ case " ":
280
+ if (subgraphId) {
281
+ e.preventDefault();
282
+ e.stopPropagation();
283
+ this.detailPanel.hide();
284
+ this.toggleSubgraph(subgraphId);
285
+ } else {
286
+ const nodeId = target.getAttribute?.("data-node-id");
287
+ if (nodeId) {
288
+ e.preventDefault();
289
+ if (target.getAttribute?.("data-is-toggle")) {
290
+ this.detailPanel.hide();
291
+ this.toggleMergedDiscovery(nodeId);
292
+ } else {
293
+ const event = this.eventById.get(nodeId);
294
+ if (event) {
295
+ this.detailPanel.show(event);
296
+ }
297
+ }
298
+ }
299
+ }
300
+ break;
301
+ case "ArrowDown":
302
+ e.preventDefault();
303
+ if (this.focusedElementId) {
304
+ this.focusEdgeNeighbor(this.focusedElementId, "next");
305
+ } else {
306
+ this.focusFirstElement();
307
+ }
308
+ break;
309
+ case "ArrowRight":
310
+ e.preventDefault();
311
+ if (this.focusedElementId) {
312
+ if (subgraphId && ( this.collapsedNodeIds.has(subgraphId))) {
313
+ this.detailPanel.hide();
314
+ this.collapsedNodeIds.delete(subgraphId);
315
+ this.focusedElementId = `sg:${subgraphId}`;
316
+ this.load();
317
+ this.focusFirstChildOf(`sg:${subgraphId}`);
318
+ } else if (target.getAttribute?.("data-is-toggle")) {
319
+ if (!( this.expandedMergedIds.has(this.focusedElementId))) {
320
+ this.detailPanel.hide();
321
+ const mergedId = this.focusedElementId;
322
+ this.expandedMergedIds.add(mergedId);
323
+ this.focusedElementId = mergedId;
324
+ this.load();
325
+ this.focusFirstChildOf(mergedId);
326
+ } else {
327
+ this.focusFirstChildOf(this.focusedElementId);
328
+ }
329
+ }
330
+ } else {
331
+ this.focusFirstElement();
332
+ }
333
+ break;
334
+ case "ArrowUp":
335
+ e.preventDefault();
336
+ if (this.focusedElementId) {
337
+ this.focusEdgeNeighbor(this.focusedElementId, "prev");
338
+ } else {
339
+ this.focusFirstElement();
340
+ }
341
+ break;
342
+ case "ArrowLeft":
343
+ e.preventDefault();
344
+ if (this.focusedElementId) {
345
+ if (subgraphId && !( this.collapsedNodeIds.has(subgraphId))) {
346
+ this.detailPanel.hide();
347
+ this.toggleSubgraph(subgraphId);
348
+ } else if (target.getAttribute?.("data-is-toggle") && ( this.expandedMergedIds.has(this.focusedElementId))) {
349
+ this.detailPanel.hide();
350
+ this.toggleMergedDiscovery(this.focusedElementId);
351
+ } else {
352
+ this.focusEdgeNeighbor(this.focusedElementId, "prev");
353
+ }
354
+ }
355
+ break;
356
+ case "Home":
357
+ e.preventDefault();
358
+ this.focusFirstElement();
359
+ break;
360
+ case "End":
361
+ e.preventDefault();
362
+ this.focusLastElement();
363
+ break;
364
+ case "=":
365
+ case "+":
366
+ if (!e.ctrlKey && !e.metaKey) {
367
+ e.preventDefault();
368
+ this.zoomBy(ZOOM_STEP);
369
+ }
370
+ break;
371
+ case "-":
372
+ if (!e.ctrlKey && !e.metaKey) {
373
+ e.preventDefault();
374
+ this.zoomBy(-ZOOM_STEP);
375
+ }
376
+ break;
377
+ }
378
+ }));
379
+ }
380
+ toggleSubgraph(subgraphId) {
381
+ if (( this.collapsedNodeIds.has(subgraphId))) {
382
+ this.collapsedNodeIds.delete(subgraphId);
383
+ } else {
384
+ this.collapsedNodeIds.add(subgraphId);
385
+ }
386
+ this.focusedElementId = `sg:${subgraphId}`;
387
+ this.load();
388
+ }
389
+ toggleMergedDiscovery(mergedId) {
390
+ if (( this.expandedMergedIds.has(mergedId))) {
391
+ this.expandedMergedIds.delete(mergedId);
392
+ } else {
393
+ this.expandedMergedIds.add(mergedId);
394
+ }
395
+ this.focusedElementId = mergedId;
396
+ this.load();
397
+ }
398
+ focusFirstElement() {
399
+ if (!this.renderResult) {
400
+ return;
401
+ }
402
+ const first = ( this.renderResult.focusableElements.values()).next();
403
+ if (!first.done) {
404
+ first.value.focus();
405
+ }
406
+ }
407
+ focusLastElement() {
408
+ if (!this.renderResult) {
409
+ return;
410
+ }
411
+ const entries = [...( this.renderResult.focusableElements.values())];
412
+ if (entries.length > 0) {
413
+ entries[entries.length - 1].focus();
414
+ }
415
+ }
416
+ focusAdjacentElement(currentMapKey, direction) {
417
+ if (!this.renderResult) {
418
+ return false;
419
+ }
420
+ const keys = [...( this.renderResult.focusableElements.keys())];
421
+ const idx = keys.indexOf(currentMapKey);
422
+ if (idx === -1) {
423
+ return false;
424
+ }
425
+ const nextIdx = idx + direction;
426
+ if (nextIdx < 0 || nextIdx >= keys.length) {
427
+ return false;
428
+ }
429
+ const el = this.renderResult.focusableElements.get(keys[nextIdx]);
430
+ if (el) {
431
+ el.focus();
432
+ return true;
433
+ }
434
+ return false;
435
+ }
436
+ focusEdgeNeighbor(currentId, direction) {
437
+ if (!this.renderResult) {
438
+ return false;
439
+ }
440
+ const entry = this.renderResult.adjacency.get(currentId);
441
+ const neighbors = entry?.[direction];
442
+ if (!neighbors || neighbors.length === 0) {
443
+ return false;
444
+ }
445
+ for (const id of neighbors) {
446
+ const el = this.renderResult.focusableElements.get(id);
447
+ if (el) {
448
+ el.focus();
449
+ return true;
450
+ }
451
+ }
452
+ return false;
453
+ }
454
+ focusFirstChildOf(parentId) {
455
+ if (!this.renderResult) {
456
+ return;
457
+ }
458
+ const entry = this.renderResult.adjacency.get(parentId);
459
+ if (!entry?.next || entry.next.length === 0) {
460
+ return;
461
+ }
462
+ const parentPos = this.renderResult.positions.get(parentId);
463
+ let bestId;
464
+ for (const id of entry.next) {
465
+ if (!( this.renderResult.focusableElements.has(id))) {
466
+ continue;
467
+ }
468
+ if (!bestId) {
469
+ bestId = id;
470
+ }
471
+ if (parentPos) {
472
+ const pos = this.renderResult.positions.get(id);
473
+ if (pos && pos.x > parentPos.x) {
474
+ bestId = id;
475
+ break;
476
+ }
477
+ }
478
+ }
479
+ if (bestId) {
480
+ const el = this.renderResult.focusableElements.get(bestId);
481
+ if (el) {
482
+ this.focusedElementId = bestId;
483
+ el.focus();
484
+ }
485
+ }
486
+ }
487
+ restoreFocus(elementId) {
488
+ const el = this.renderResult?.focusableElements.get(elementId);
489
+ if (el) {
490
+ el.focus();
491
+ }
492
+ }
493
+ zoomBy(delta) {
494
+ const rect = this.content.getBoundingClientRect();
495
+ const centerX = rect.width / 2;
496
+ const centerY = rect.height / 2;
497
+ const newScale = Math.min(MAX_SCALE, Math.max(MIN_SCALE, this.scale * (1 + delta)));
498
+ const scaleFactor = newScale / this.scale;
499
+ this.translateX = centerX - (centerX - this.translateX) * scaleFactor;
500
+ this.translateY = centerY - (centerY - this.translateY) * scaleFactor;
501
+ this.scale = newScale;
502
+ this.hasUserPanned = true;
503
+ this.applyTransform();
504
+ }
505
+ handleMouseDown(e) {
506
+ if (e.button !== 0) {
507
+ return;
508
+ }
509
+ e.preventDefault();
510
+ this.isPanning = true;
511
+ this.hasUserPanned = true;
512
+ this.startX = e.clientX - this.translateX;
513
+ this.startY = e.clientY - this.translateY;
514
+ this.mouseDownX = e.clientX;
515
+ this.mouseDownY = e.clientY;
516
+ this.content.style.cursor = "grabbing";
517
+ }
518
+ handleMouseMove(e) {
519
+ if (!this.isPanning) {
520
+ return;
521
+ }
522
+ if (e.buttons === 0) {
523
+ this.handleMouseUp(e);
524
+ return;
525
+ }
526
+ this.translateX = e.clientX - this.startX;
527
+ this.translateY = e.clientY - this.startY;
528
+ this.applyTransform();
529
+ }
530
+ handleMouseUp(e) {
531
+ if (this.isPanning) {
532
+ this.isPanning = false;
533
+ this.content.style.cursor = "grab";
534
+ const dx = e.clientX - this.mouseDownX;
535
+ const dy = e.clientY - this.mouseDownY;
536
+ if (dx * dx + dy * dy < CLICK_THRESHOLD_SQ) {
537
+ this.handleClick(e);
538
+ }
539
+ }
540
+ }
541
+ handleClick(e) {
542
+ let target = e.target;
543
+ while (target && target !== this.content) {
544
+ const mergedId = target.getAttribute?.("data-merged-id");
545
+ if (mergedId) {
546
+ this.detailPanel.hide();
547
+ this.toggleMergedDiscovery(mergedId);
548
+ return;
549
+ }
550
+ const subgraphId = target.getAttribute?.("data-subgraph-id");
551
+ if (subgraphId) {
552
+ this.detailPanel.hide();
553
+ this.toggleSubgraph(subgraphId);
554
+ return;
555
+ }
556
+ const nodeId = target.getAttribute?.("data-node-id");
557
+ if (nodeId) {
558
+ target.focus();
559
+ if (target.getAttribute?.("data-is-toggle")) {
560
+ this.detailPanel.hide();
561
+ this.toggleMergedDiscovery(nodeId);
562
+ } else {
563
+ const event = this.eventById.get(nodeId);
564
+ if (event) {
565
+ this.detailPanel.show(event);
566
+ }
567
+ }
568
+ return;
569
+ }
570
+ target = target.parentElement;
571
+ }
572
+ }
573
+ handleWheel(e) {
574
+ e.preventDefault();
575
+ e.stopPropagation();
576
+ this.hasUserPanned = true;
577
+ const rect = this.content.getBoundingClientRect();
578
+ const mouseX = e.clientX - rect.left;
579
+ const mouseY = e.clientY - rect.top;
580
+ const delta = -e.deltaY * WHEEL_ZOOM_FACTOR;
581
+ const newScale = Math.min(MAX_SCALE, Math.max(MIN_SCALE, this.scale * (1 + delta)));
582
+ const scaleFactor = newScale / this.scale;
583
+ this.translateX = mouseX - (mouseX - this.translateX) * scaleFactor;
584
+ this.translateY = mouseY - (mouseY - this.translateY) * scaleFactor;
585
+ this.scale = newScale;
586
+ this.applyTransform();
587
+ }
588
+ applyTransform() {
589
+ if (this.svgWrapper) {
590
+ this.svgWrapper.style.transform = `translate(${this.translateX}px, ${this.translateY}px) scale(${this.scale})`;
591
+ }
592
+ }
593
+ centerContent() {
594
+ const containerRect = this.content.getBoundingClientRect();
595
+ if (!this.svgElement) {
596
+ return;
597
+ }
598
+ const svgWidth = parseFloat(this.svgElement.getAttribute("width") || "0");
599
+ const svgHeight = parseFloat(this.svgElement.getAttribute("height") || "0");
600
+ if (svgWidth <= 0 || svgHeight <= 0) {
601
+ return;
602
+ }
603
+ const PADDING = 20;
604
+ this.translateX = Math.max(PADDING, (containerRect.width - svgWidth) / 2);
605
+ this.translateY = PADDING;
606
+ this.applyTransform();
607
+ }
608
+ };
609
+ ChatDebugFlowChartView = ( __decorate([( __param(2, IChatService)), ( __param(3, IChatDebugService)), ( __param(4, IContextKeyService)), ( __param(5, IInstantiationService))], ChatDebugFlowChartView));
610
+
611
+ export { ChatDebugFlowChartView, FlowChartNavigation };