@codingame/monaco-vscode-chat-service-override 36.2.7 → 37.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 (725) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +92 -10
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +10 -3
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +54 -17
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.d.ts +14 -0
  7. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +46 -0
  8. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +7 -2
  9. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +34 -2
  10. package/vscode/src/vs/platform/agentHost/browser/{remoteAgentHostProtocolClient.d.ts → agentHostProtocolClient.d.ts} +240 -60
  11. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
  12. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +30 -33
  13. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +381 -315
  14. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +3 -1
  15. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +14 -6
  21. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +14 -10
  22. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
  23. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
  24. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
  25. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
  26. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
  27. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +288 -45
  28. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
  29. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +67 -0
  30. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.d.ts +53 -0
  31. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.js +45 -0
  32. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
  33. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +27 -0
  34. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +8 -2
  35. package/vscode/src/vs/platform/agentHost/common/customAgents.js +7 -0
  36. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.d.ts +39 -0
  37. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.js +25 -0
  38. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
  39. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +38 -0
  40. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
  41. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.d.ts +7 -0
  42. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +14 -0
  43. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +3 -3
  44. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +16 -24
  45. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.d.ts +8 -0
  46. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.js +8 -0
  47. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
  48. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
  49. package/vscode/src/vs/platform/agentHost/common/shellInitScript.d.ts +24 -0
  50. package/vscode/src/vs/platform/agentHost/common/shellInitScript.js +63 -0
  51. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +71 -20
  52. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +187 -26
  53. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +30 -0
  54. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +87 -0
  55. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +2 -2
  56. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
  57. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
  58. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
  59. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
  60. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +5 -4
  61. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +100 -35
  62. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +193 -49
  63. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +161 -40
  64. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +1 -1
  65. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +5 -1
  66. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  67. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +1 -0
  68. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
  69. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  70. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +114 -3
  71. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +28 -5
  72. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -2
  73. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +34 -0
  74. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.js +28 -0
  75. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
  76. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
  77. package/vscode/src/vs/platform/browserView/common/browserChatToolReferenceNames.d.ts +1 -1
  78. package/vscode/src/vs/platform/chat/common/aiAgentEnv.d.ts +18 -0
  79. package/vscode/src/vs/platform/chat/common/aiAgentEnv.js +6 -0
  80. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +5 -1
  81. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +77 -5
  82. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +1 -1
  83. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +9 -5
  84. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +1 -5
  85. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -4
  86. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +19 -7
  87. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +49 -37
  88. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +2 -1
  89. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +12 -0
  90. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +1 -2
  91. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +1 -0
  92. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.d.ts +5 -0
  93. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.js +7 -0
  94. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.d.ts +5 -0
  95. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.js +8 -0
  96. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.d.ts +1 -2
  97. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
  98. package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
  99. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
  100. package/vscode/src/vs/workbench/common/chatPullRequest.js +53 -0
  101. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +342 -155
  102. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +25 -2
  104. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +150 -67
  105. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +5 -3
  106. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +5 -1
  107. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +39 -9
  108. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
  109. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  111. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +4 -2
  112. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +54 -17
  113. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  114. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
  115. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  116. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +6 -0
  119. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +5 -1
  120. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/media/voiceModeOnboarding.css +252 -0
  124. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  125. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  126. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +146 -0
  127. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +889 -0
  128. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +2 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +3 -54
  131. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +32 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +214 -161
  133. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -9
  134. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +2 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +256 -72
  136. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +2 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +19 -15
  140. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +30 -14
  141. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +19 -10
  142. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +9 -9
  143. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  144. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.d.ts +6 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +237 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
  147. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  148. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.d.ts +6 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +68 -61
  151. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +17 -21
  152. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -21
  153. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +68 -14
  156. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -19
  158. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +7 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +222 -72
  160. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -17
  161. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +530 -305
  162. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.d.ts +25 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +63 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.d.ts +6 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +95 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +10 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +18 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +86 -47
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +61 -47
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +43 -24
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +326 -76
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +112 -5
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +33 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.d.ts +20 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.js +26 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +28 -10
  181. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +110 -126
  182. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +131 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +638 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.d.ts +41 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.js +202 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +24 -1
  187. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +26 -5
  188. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +10 -7
  189. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.d.ts +20 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +55 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +62 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +40 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +59 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +624 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +90 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +207 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +31 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +140 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +4 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +5 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +5 -4
  202. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +74 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +511 -171
  204. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.d.ts +32 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +48 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +55 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +210 -20
  208. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +43 -24
  209. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +46 -10
  210. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +216 -110
  211. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +9 -4
  212. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +26 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  215. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  216. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  217. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +5 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +6 -6
  220. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  221. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +3 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +24 -0
  228. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +32 -0
  229. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +56 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -4
  231. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +16 -17
  232. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +7 -3
  233. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -0
  234. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +2 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +10 -1
  236. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +48 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +913 -220
  238. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +148 -84
  240. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +161 -17
  241. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +2367 -247
  242. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +5 -2
  243. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +21 -13
  244. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
  245. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
  248. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +15 -0
  249. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +3 -0
  250. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +10 -2
  251. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +143 -68
  252. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  253. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +10 -5
  254. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
  255. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
  256. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +1 -2
  257. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +49 -8
  258. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +3 -3
  259. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
  261. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.d.ts +1 -0
  262. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +53 -0
  263. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
  264. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +762 -0
  265. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
  266. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +44 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +437 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +85 -6
  270. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +697 -15
  271. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  272. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +40 -10
  273. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +164 -42
  274. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +6 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +260 -31
  276. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2097 -589
  277. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +32 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +860 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2229 -1338
  280. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +79 -26
  281. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +85 -9
  283. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1550 -357
  284. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +2 -4
  285. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +13 -27
  286. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +38 -26
  287. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +637 -319
  288. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +28 -10
  289. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.d.ts +10 -0
  290. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.js +22 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.d.ts +15 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +38 -0
  293. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.d.ts +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +38 -0
  295. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +4 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +1675 -633
  297. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +93 -6
  298. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +823 -52
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +132 -0
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +446 -0
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +183 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +218 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +45 -42
  304. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +11 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +163 -136
  306. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  307. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +7 -7
  308. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +22 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +105 -14
  310. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.d.ts +32 -0
  312. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +49 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  314. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  316. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  317. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +27 -22
  318. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +6 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +22 -23
  320. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  321. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -25
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +7 -2
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +76 -43
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  329. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.d.ts +145 -0
  330. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +839 -0
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +277 -3
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +6 -6
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +16 -16
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -4
  339. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +8 -4
  341. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -3
  343. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +35 -19
  344. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +16 -9
  345. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -3
  346. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +4 -4
  347. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +4 -0
  348. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +7 -2
  349. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +5 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +282 -0
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +14 -10
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +5 -0
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +37 -25
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +7 -5
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +135 -82
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  361. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.d.ts +17 -0
  362. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.js +28 -0
  363. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  364. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  365. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
  366. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
  367. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.d.ts +45 -0
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +326 -0
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.d.ts +33 -0
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +99 -0
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.d.ts +17 -0
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +46 -0
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.d.ts +27 -0
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +301 -0
  375. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.d.ts +22 -0
  376. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +103 -0
  377. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +9 -36
  378. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +103 -196
  379. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  380. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +36 -30
  381. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +2 -0
  382. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +51 -12
  383. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  384. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +31 -27
  385. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +65 -20
  386. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +291 -138
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +9 -0
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-dark.svg +1 -0
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-light.svg +1 -0
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.d.ts +9 -0
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.js +24 -0
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -1
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +59 -35
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +7 -2
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +221 -145
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +15 -29
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +21 -3
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.d.ts +22 -0
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.js +27 -0
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +9 -0
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +23 -21
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +6 -1
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +62 -6
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +15 -1
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +97 -8
  406. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  407. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +6 -6
  408. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +11 -2
  409. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +24 -16
  410. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  411. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +44 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +232 -0
  414. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.d.ts +36 -0
  415. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +127 -0
  416. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.d.ts +18 -0
  418. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js +55 -0
  419. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +4 -3
  420. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatPetAchievements.css +236 -0
  422. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.d.ts +9 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +260 -0
  425. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +39 -5
  426. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +155 -56
  427. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +10 -14
  428. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +29 -14
  429. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +2 -0
  430. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +76 -24
  431. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  432. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +53 -32
  433. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  434. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +17 -17
  435. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +8 -7
  436. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  437. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +29 -71
  438. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +3 -0
  439. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +36 -40
  440. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +3 -0
  441. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  442. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  443. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  445. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  446. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +9 -16
  447. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  448. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +5 -13
  449. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/media/promptTimeline.css +820 -0
  450. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.d.ts +38 -0
  451. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +100 -0
  452. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.d.ts +1 -0
  453. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +51 -0
  454. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.d.ts +30 -0
  455. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +113 -0
  456. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.d.ts +146 -0
  457. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +440 -0
  458. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.d.ts +16 -0
  459. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.js +5 -0
  460. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.d.ts +194 -0
  461. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +525 -0
  462. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRail.d.ts +33 -0
  463. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.d.ts +128 -0
  464. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +460 -0
  465. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.d.ts +38 -0
  466. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +120 -0
  467. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.d.ts +53 -0
  468. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +160 -0
  469. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +25 -22
  470. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
  471. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
  472. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
  473. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
  474. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.d.ts +63 -0
  475. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.js +361 -0
  476. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.d.ts +35 -0
  477. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +90 -0
  478. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +25 -18
  479. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  480. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +77 -41
  481. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +60 -43
  482. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -1
  483. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +60 -16
  484. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +10 -8
  485. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +13 -4
  486. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -1
  487. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +44 -24
  488. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +52 -6
  491. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +446 -79
  492. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.d.ts +66 -0
  495. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +297 -0
  496. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.d.ts +137 -0
  497. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +714 -0
  498. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentOpenChat.css +379 -0
  499. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +78 -0
  501. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +36 -0
  502. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +172 -0
  503. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +5 -1
  504. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +8 -1
  505. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +15 -0
  506. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +30 -0
  507. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +11 -1
  508. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +41 -13
  509. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +5 -2
  510. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +133 -3
  511. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +3 -2
  512. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +11 -2
  513. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.d.ts +1 -0
  515. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +96 -0
  516. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  517. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +36 -1
  518. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +67 -17
  519. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +23 -37
  520. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.d.ts +18 -0
  521. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +72 -3
  522. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
  523. package/vscode/src/vs/workbench/contrib/{agentsVoice/common/agentsVoiceColors.js → chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js} +17 -15
  524. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
  525. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
  526. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  527. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +6 -4
  528. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +21 -13
  529. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +48 -8
  530. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +457 -142
  531. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -1
  532. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +22 -14
  533. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +6 -22
  534. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
  535. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +163 -0
  536. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +27 -5
  537. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +79 -32
  538. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
  539. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
  540. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +44 -11
  541. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +404 -51
  542. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +64 -4
  543. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +33 -2
  544. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.d.ts +68 -0
  545. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.js +70 -0
  546. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -2
  547. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +18 -5
  548. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +43 -14
  549. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -0
  550. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +4 -9
  551. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +164 -71
  552. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  554. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  555. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  556. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  558. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +3 -1
  559. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +19 -10
  560. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +3 -1
  561. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +172 -159
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
  564. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
  565. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  567. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +5 -0
  568. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +21 -1
  569. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +25 -2
  570. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +55 -18
  571. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  572. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  573. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +1 -0
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.d.ts +59 -0
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +323 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.d.ts +30 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.js +79 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +6 -2
  582. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +118 -13
  583. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  584. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  585. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  586. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  587. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  589. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -0
  590. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +81 -0
  591. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +85 -0
  592. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  593. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  594. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +23 -23
  595. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  596. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +17 -3
  597. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +81 -7
  598. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.d.ts +30 -0
  599. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.js +86 -0
  600. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +10 -2
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +97 -18
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +2 -22
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +10 -8
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +2 -1
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +42 -36
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +8 -0
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +10 -0
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +25 -16
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -3
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.d.ts +70 -0
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +4316 -0
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +4 -4
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -1
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +188 -148
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +7 -0
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -3
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +5 -6
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -42
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.d.ts +2 -0
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.js +8 -0
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +27 -8
  638. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +205 -0
  639. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +1580 -0
  640. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.d.ts +30 -0
  641. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +175 -0
  642. package/vscode/src/vs/workbench/services/agentEditorComments/browser/media/agentEditorCommentsOverlayWidget.css +65 -0
  643. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.d.ts +47 -0
  644. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.js +129 -0
  645. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +26 -8
  646. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +89 -27
  647. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.d.ts +8 -0
  648. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.js +28 -0
  649. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +5 -1
  650. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +18 -18
  651. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +159 -60
  652. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.d.ts +47 -0
  653. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +362 -0
  654. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +0 -1
  655. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +0 -40
  656. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +0 -1110
  657. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +0 -76
  658. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.d.ts +0 -63
  659. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.js +0 -25
  660. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +0 -254
  661. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +0 -451
  662. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +0 -1294
  663. package/vscode/src/vs/platform/agentHost/common/agentService.js +0 -92
  664. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.d.ts +0 -186
  665. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.js +0 -10
  666. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +0 -42
  667. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +0 -7
  668. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +0 -15
  669. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +0 -15
  670. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +0 -2
  671. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +0 -19
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +0 -243
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +0 -24
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +0 -77
  675. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +0 -92
  676. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +0 -224
  677. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +0 -23
  678. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +0 -52
  679. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +0 -16
  680. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +0 -96
  681. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +0 -27
  682. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +0 -152
  683. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +0 -87
  684. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +0 -772
  685. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +0 -30
  686. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +0 -29
  687. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +0 -20
  688. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +0 -40
  689. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +0 -160
  690. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +0 -9
  691. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +0 -123
  692. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +0 -37
  693. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +0 -572
  694. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +0 -125
  695. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +0 -399
  696. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +0 -321
  697. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +0 -2117
  698. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +0 -57
  699. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +0 -367
  700. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +0 -78
  701. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +0 -13
  702. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +0 -11
  703. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +0 -6
  704. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +0 -16
  705. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +0 -6
  706. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +0 -46
  707. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +0 -36
  708. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +0 -6
  709. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +0 -12
  710. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +0 -6
  711. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +0 -9
  712. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +0 -6
  713. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +0 -15
  714. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +0 -177
  715. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +0 -67
  716. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +0 -195
  717. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +0 -65
  718. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +0 -264
  719. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +0 -190
  720. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +0 -865
  721. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +0 -31
  722. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +0 -122
  723. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  724. /package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.js +0 -0
  725. /package/vscode/src/vs/{platform/agentHost/common/agentHost.config.contribution.d.ts → workbench/contrib/chat/browser/agentSessionsConfiguration.d.ts} +0 -0
@@ -1,9 +1,11 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
5
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
6
  import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
7
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
- import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
+ import { dirname, joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
9
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
10
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
11
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
@@ -11,17 +13,23 @@ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/fi
11
13
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
12
14
  import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
13
15
  import { agentHostAuthority } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
16
+ import { isCustomizationEnabled } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/customizationEnablement';
14
17
  import { IRemoteAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service';
15
- import { buildDefaultChatUri, StateComponents } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
18
+ import { buildDefaultChatUri, StateComponents, readUsageInfoMeta } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
19
+ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
16
20
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
17
- import { ChatDebugLogLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService';
21
+ import { ChatDebugLogLevel, ChatDebugHookResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService';
18
22
  import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
19
- import { AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
20
- import { resolveEventsUri, COPILOT_CLI_LOCAL_AH_SCHEME, getCopilotCliSessionRawId, COPILOT_CLI_EH_SCHEME } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/copilotCliEventsUri';
23
+ import { IAgentHostCustomizationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service';
24
+ import { AgentHostAgentDebugLogEnabledSettingId, AgentHostAgentDebugLogMaxEventsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
25
+ import { resolveEventsUri, COPILOT_CLI_LOCAL_AH_SCHEME, getCopilotCliSessionRawId, COPILOT_CLI_EH_SCHEME, buildLocalSessionStateUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/copilotCliEventsUri';
26
+ import { AgentHostUsageRecorder, AgentHostCustomizationRecorder, buildAgentHostUsageUri, readAgentHostUsageRecords, buildAgentHostCustomizationsUri, readAgentHostCustomizationsSnapshot } from './agentHostUsageSidecar.js';
27
+ import { CustomizationType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
21
28
 
22
29
  const MAX_DISCOVERED_SESSIONS = 30;
23
30
  const TITLE_READ_BYTES = 64 * 1024;
24
31
  const MAX_RESOLVED_DETAILS = 50_000;
32
+ const DEFAULT_MAX_EVENTS_IN_MEMORY = 10_000;
25
33
  const MAX_EVENT_PAYLOAD = 4_000;
26
34
  const MAX_DETAIL_PAYLOAD = 100_000;
27
35
  let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extends Disposable {
@@ -35,7 +43,9 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
35
43
  _remoteAgentHostService,
36
44
  _agentHostService,
37
45
  _configurationService,
38
- _logService
46
+ _logService,
47
+ _environmentService,
48
+ _customizationService
39
49
  ) {
40
50
  super();
41
51
  this._chatDebugService = _chatDebugService;
@@ -45,34 +55,72 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
45
55
  this._agentHostService = _agentHostService;
46
56
  this._configurationService = _configurationService;
47
57
  this._logService = _logService;
58
+ this._environmentService = _environmentService;
59
+ this._customizationService = _customizationService;
48
60
  this._resolved = ( new Map());
49
61
  this._discovering = false;
62
+ this._hasFetchedOnce = false;
50
63
  this._liveRefresh = this._register(( new MutableDisposable()));
51
64
  const provider = {
52
65
  provideChatDebugLog: (sessionResource, token) => this._provideChatDebugLog(sessionResource, token),
53
66
  resolveChatDebugLogEvent: async eventId => this._resolved.get(eventId)
54
67
  };
55
68
  this._register(this._chatDebugService.registerProvider(provider));
69
+ this._register(( new AgentHostUsageRecorder(
70
+ this._environmentService.userRoamingDataHome,
71
+ () => this._configurationService.getValue(AgentHostAgentDebugLogEnabledSettingId),
72
+ this._fileService,
73
+ this._logService,
74
+ this._agentHostService,
75
+ this._remoteAgentHostService
76
+ )));
77
+ this._register(( new AgentHostCustomizationRecorder(
78
+ this._environmentService.userRoamingDataHome,
79
+ () => this._configurationService.getValue(AgentHostAgentDebugLogEnabledSettingId),
80
+ this._fileService,
81
+ this._logService,
82
+ this._agentHostService,
83
+ this._remoteAgentHostService
84
+ )));
56
85
  this._register(this._chatDebugService.onDidEndSession(sessionResource => {
57
86
  if (( sessionResource.toString()) === this._watchedSessionKey) {
58
87
  this._liveRefresh.clear();
59
88
  this._watchedSessionKey = undefined;
89
+ this._liveRead = undefined;
90
+ this._usageRead = undefined;
60
91
  }
61
92
  }));
62
- this._maybeDiscoverLocalSessions();
93
+ this._register(
94
+ this._chatDebugService.registerAvailableSessionsFetcher(token => this._fetchLocalSessions(token))
95
+ );
63
96
  this._register(this._configurationService.onDidChangeConfiguration(e => {
64
- if (e.affectsConfiguration(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING)) {
97
+ if (e.affectsConfiguration(AgentHostAgentDebugLogEnabledSettingId) && this._hasFetchedOnce) {
65
98
  this._maybeDiscoverLocalSessions();
66
99
  }
67
100
  }));
68
101
  }
102
+ async _fetchLocalSessions(token) {
103
+ this._hasFetchedOnce = true;
104
+ if (!this._configurationService.getValue(AgentHostAgentDebugLogEnabledSettingId)) {
105
+ return [];
106
+ }
107
+ try {
108
+ return await this._discoverLocalSessions(token);
109
+ } catch (err) {
110
+ this._logService.warn(`[AgentHostChatDebug] session discovery failed: ${toErrorMessage(err)}`);
111
+ return [];
112
+ }
113
+ }
69
114
  async _maybeDiscoverLocalSessions() {
70
- if (this._discovering || !this._configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING)) {
115
+ if (this._discovering || !this._configurationService.getValue(AgentHostAgentDebugLogEnabledSettingId)) {
71
116
  return;
72
117
  }
73
118
  this._discovering = true;
74
119
  try {
75
- await this._discoverLocalSessions();
120
+ const sessions = await this._discoverLocalSessions(CancellationToken.None);
121
+ if (sessions.length > 0) {
122
+ this._chatDebugService.addAvailableSessionResources(sessions);
123
+ }
76
124
  } catch (err) {
77
125
  this._logService.warn(`[AgentHostChatDebug] session discovery failed: ${toErrorMessage(err)}`);
78
126
  } finally {
@@ -102,13 +150,16 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
102
150
  }
103
151
  this._watchedSessionKey = key;
104
152
  const store = ( new DisposableStore());
105
- const scheduler = store.add(( new RunOnceScheduler(() => this._chatDebugService.invokeProviders(sessionResource), 400)));
106
- const watcher = store.add(this._fileService.createWatcher(eventsUri, {
153
+ const scheduler = store.add(( new RunOnceScheduler(() => {
154
+ this._chatDebugService.invokeProviders(sessionResource);
155
+ }, 400)));
156
+ const watcher = store.add(this._fileService.createWatcher(dirname(eventsUri), {
107
157
  recursive: false,
108
158
  excludes: []
109
159
  }));
110
160
  store.add(watcher.onDidChange(e => {
111
- if (e.affects(eventsUri)) {
161
+ const affects = e.affects(eventsUri);
162
+ if (affects) {
112
163
  scheduler.schedule();
113
164
  }
114
165
  }));
@@ -116,6 +167,9 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
116
167
  if (liveSub) {
117
168
  store.add(liveSub.onDidChange(() => scheduler.schedule()));
118
169
  }
170
+ store.add(
171
+ this._customizationService.onDidChangeCustomizations(() => scheduler.schedule())
172
+ );
119
173
  this._liveRefresh.value = store;
120
174
  }
121
175
  _sessionChatSubscription(sessionResource) {
@@ -140,27 +194,73 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
140
194
  }
141
195
  return sumChatStateUsage(chat);
142
196
  }
197
+ async _readUsageRecords(sessionResource) {
198
+ const rawId = getCopilotCliSessionRawId(sessionResource);
199
+ if (!rawId) {
200
+ return undefined;
201
+ }
202
+ const uri = buildAgentHostUsageUri(this._environmentService.userRoamingDataHome, rawId);
203
+ const key = ( uri.toString());
204
+ let size;
205
+ try {
206
+ const stat = await this._fileService.stat(uri);
207
+ size = stat.size ?? 0;
208
+ } catch {
209
+ this._usageRead = undefined;
210
+ return undefined;
211
+ }
212
+ if (this._usageRead?.key === key && this._usageRead.size === size) {
213
+ return this._usageRead.records.length > 0 ? this._usageRead.records : undefined;
214
+ }
215
+ const records = await readAgentHostUsageRecords(this._fileService, uri);
216
+ this._usageRead = {
217
+ key,
218
+ size,
219
+ records
220
+ };
221
+ return records.length > 0 ? records : undefined;
222
+ }
223
+ async _readCustomizationsSnapshot(sessionResource) {
224
+ const rawId = getCopilotCliSessionRawId(sessionResource);
225
+ if (!rawId) {
226
+ return undefined;
227
+ }
228
+ const uri = buildAgentHostCustomizationsUri(this._environmentService.userRoamingDataHome, rawId);
229
+ const snapshot = await readAgentHostCustomizationsSnapshot(this._fileService, uri);
230
+ return snapshot && snapshot.length > 0 ? snapshot : undefined;
231
+ }
143
232
  async _provideChatDebugLog(sessionResource, token) {
233
+ if (!this._configurationService.getValue(AgentHostAgentDebugLogEnabledSettingId)) {
234
+ return undefined;
235
+ }
144
236
  const eventsUri = this._resolveEventsUri(sessionResource);
145
237
  if (!eventsUri) {
146
238
  return undefined;
147
239
  }
148
- let text;
149
- try {
150
- const content = await this._fileService.readFile(eventsUri);
151
- text = ( content.value.toString());
152
- } catch {
240
+ this._ensureLiveRefresh(sessionResource, eventsUri);
241
+ const records = await this._readEventRecords(eventsUri, token);
242
+ if (records === undefined) {
153
243
  return undefined;
154
244
  }
155
245
  if (token.isCancellationRequested) {
156
246
  return undefined;
157
247
  }
158
- this._ensureLiveRefresh(sessionResource, eventsUri);
159
248
  const liveUsageTotals = this._getLiveUsageTotals(sessionResource);
249
+ const usageRecords = await this._readUsageRecords(sessionResource);
250
+ if (token.isCancellationRequested) {
251
+ return undefined;
252
+ }
253
+ let customizations = this._customizationService.getCustomizations(sessionResource);
254
+ if (customizations.length === 0) {
255
+ customizations = (await this._readCustomizationsSnapshot(sessionResource)) ?? customizations;
256
+ if (token.isCancellationRequested) {
257
+ return undefined;
258
+ }
259
+ }
160
260
  const {
161
261
  events,
162
262
  resolved
163
- } = convertAgentHostEventsToDebugEvents(parseJsonl(text), sessionResource, liveUsageTotals);
263
+ } = convertAgentHostEventsToDebugEvents(records, sessionResource, liveUsageTotals, usageRecords, customizations);
164
264
  for (const [id, detail] of resolved) {
165
265
  this._resolved.set(id, detail);
166
266
  if (this._resolved.size > MAX_RESOLVED_DETAILS) {
@@ -172,18 +272,98 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
172
272
  }
173
273
  return events;
174
274
  }
175
- async _discoverLocalSessions() {
275
+ _maxRecordsInMemory() {
276
+ const configured = this._configurationService.getValue(AgentHostAgentDebugLogMaxEventsSettingId);
277
+ if (typeof configured === "number" && Number.isFinite(configured) && configured >= 1) {
278
+ return Math.floor(configured);
279
+ }
280
+ return DEFAULT_MAX_EVENTS_IN_MEMORY;
281
+ }
282
+ _capRecordsInMemory(records) {
283
+ const max = this._maxRecordsInMemory();
284
+ if (records.length > max) {
285
+ records.splice(0, records.length - max);
286
+ }
287
+ }
288
+ async _readEventRecords(eventsUri, token) {
289
+ const key = ( eventsUri.toString());
290
+ let size;
291
+ try {
292
+ const stat = await this._fileService.stat(eventsUri);
293
+ size = stat.size ?? 0;
294
+ } catch {
295
+ this._liveRead = undefined;
296
+ return undefined;
297
+ }
298
+ if (token.isCancellationRequested) {
299
+ return undefined;
300
+ }
301
+ const cache = this._liveRead?.key === key ? this._liveRead : undefined;
302
+ if (cache && size >= cache.consumedBytes) {
303
+ if (size === cache.consumedBytes) {
304
+ return cache.records;
305
+ }
306
+ try {
307
+ const content = await this._fileService.readFile(eventsUri, {
308
+ position: cache.consumedBytes,
309
+ length: size - cache.consumedBytes
310
+ });
311
+ if (token.isCancellationRequested) {
312
+ return undefined;
313
+ }
314
+ const combined = cache.pendingBytes.byteLength ? VSBuffer.concat([cache.pendingBytes, content.value]) : content.value;
315
+ const lastNewline = lastIndexOfNewline(combined);
316
+ if (lastNewline >= 0) {
317
+ appendJsonlRecords(( combined.slice(0, lastNewline + 1).toString()), cache.records);
318
+ cache.pendingBytes = combined.slice(lastNewline + 1);
319
+ } else {
320
+ cache.pendingBytes = combined;
321
+ }
322
+ cache.consumedBytes = size;
323
+ this._capRecordsInMemory(cache.records);
324
+ return cache.records;
325
+ } catch {}
326
+ }
327
+ let buffer;
328
+ try {
329
+ const content = await this._fileService.readFile(eventsUri);
330
+ buffer = content.value;
331
+ } catch {
332
+ this._liveRead = undefined;
333
+ return undefined;
334
+ }
335
+ if (token.isCancellationRequested) {
336
+ return undefined;
337
+ }
338
+ const lastNewline = lastIndexOfNewline(buffer);
339
+ const records = [];
340
+ if (lastNewline >= 0) {
341
+ appendJsonlRecords(( buffer.slice(0, lastNewline + 1).toString()), records);
342
+ }
343
+ this._capRecordsInMemory(records);
344
+ this._liveRead = {
345
+ key,
346
+ consumedBytes: buffer.byteLength,
347
+ pendingBytes: lastNewline >= 0 ? buffer.slice(lastNewline + 1) : buffer,
348
+ records
349
+ };
350
+ return records;
351
+ }
352
+ async _discoverLocalSessions(token) {
176
353
  const userHome = this._pathService.userHome({
177
354
  preferLocal: true
178
355
  });
179
- const sessionStateDir = joinPath(userHome, ".copilot", "session-state");
356
+ const sessionStateDir = buildLocalSessionStateUri(userHome);
180
357
  let stat;
181
358
  try {
182
359
  stat = await this._fileService.resolve(sessionStateDir, {
183
360
  resolveMetadata: true
184
361
  });
185
362
  } catch {
186
- return;
363
+ return [];
364
+ }
365
+ if (token.isCancellationRequested) {
366
+ return [];
187
367
  }
188
368
  const folders = (stat.children ?? []).filter(child => child.isDirectory).sort((a, b) => b.mtime - a.mtime).slice(0, MAX_DISCOVERED_SESSIONS);
189
369
  const found = await Promise.all(( folders.map(async folder => {
@@ -205,16 +385,25 @@ let AgentHostChatDebugContribution = class AgentHostChatDebugContribution extend
205
385
  title
206
386
  };
207
387
  })));
208
- const sessions = found.filter(s => s !== undefined);
209
- if (sessions.length > 0) {
210
- this._chatDebugService.addAvailableSessionResources(sessions);
388
+ if (token.isCancellationRequested) {
389
+ return [];
211
390
  }
391
+ return found.filter(s => s !== undefined);
212
392
  }
213
393
  };
214
- AgentHostChatDebugContribution = ( __decorate([( __param(0, IChatDebugService)), ( __param(1, IFileService)), ( __param(2, IPathService)), ( __param(3, IRemoteAgentHostService)), ( __param(4, IAgentHostService)), ( __param(5, IConfigurationService)), ( __param(6, ILogService))], AgentHostChatDebugContribution));
215
- function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackUsageTotals) {
394
+ AgentHostChatDebugContribution = ( __decorate([( __param(0, IChatDebugService)), ( __param(1, IFileService)), ( __param(2, IPathService)), ( __param(3, IRemoteAgentHostService)), ( __param(4, IAgentHostService)), ( __param(5, IConfigurationService)), ( __param(6, ILogService)), ( __param(7, IWorkbenchEnvironmentService)), ( __param(8, IAgentHostCustomizationService))], AgentHostChatDebugContribution));
395
+ function convertAgentHostEventsToDebugEvents(
396
+ records,
397
+ sessionResource,
398
+ fallbackUsageTotals,
399
+ usageRecords,
400
+ customizations
401
+ ) {
216
402
  const completeByToolCallId = ( new Map());
217
403
  const turnStartByTurnId = ( new Map());
404
+ const hookEndByInvocationId = ( new Map());
405
+ const permissionCompleteByRequestId = ( new Map());
406
+ const subagentCompleteByToolCallId = ( new Map());
218
407
  for (const record of records) {
219
408
  if (record.type === "tool.execution_complete") {
220
409
  const toolCallId = asString(record.data.toolCallId);
@@ -226,33 +415,65 @@ function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackU
226
415
  if (turnId) {
227
416
  turnStartByTurnId.set(turnId, record);
228
417
  }
418
+ } else if (record.type === "hook.end") {
419
+ const invocationId = asString(record.data.hookInvocationId);
420
+ if (invocationId) {
421
+ hookEndByInvocationId.set(invocationId, record);
422
+ }
423
+ } else if (record.type === "permission.completed") {
424
+ const requestId = asString(record.data.requestId);
425
+ if (requestId) {
426
+ permissionCompleteByRequestId.set(requestId, record);
427
+ }
428
+ } else if (record.type === "subagent.completed") {
429
+ const toolCallId = asString(record.data.toolCallId);
430
+ if (toolCallId) {
431
+ subagentCompleteByToolCallId.set(toolCallId, record);
432
+ }
229
433
  }
230
434
  }
231
435
  const events = [];
232
436
  const resolved = ( new Map());
233
437
  const modelTurnRefs = [];
234
438
  let rootEventId;
439
+ let rootCreated;
235
440
  const currentUserMessageByAgent = ( new Map());
236
441
  const currentAssistantMessageByAgent = ( new Map());
237
442
  const toolEventByToolCallId = ( new Map());
443
+ const hasConfiguredHooks = !!customizations && ( flattenCustomizations(customizations).some(c => c.type === CustomizationType.Hook && c.enabled));
238
444
  for (const record of records) {
239
445
  const created = ( new Date(record.timestamp));
240
446
  const agentKey = record.agentId ?? "";
447
+ const turnParent = currentAssistantMessageByAgent.get(agentKey) ?? currentUserMessageByAgent.get(agentKey) ?? rootEventId;
241
448
  switch (record.type) {
242
449
  case "session.start":
243
450
  {
244
451
  rootEventId = record.id;
452
+ rootCreated = created;
245
453
  const model = asString(record.data.selectedModel);
246
454
  const effort = asString(record.data.reasoningEffort);
247
- const details = model ? (effort ? ( localize(6516, "model={0}, reasoningEffort={1}", model, effort)) : ( localize(6517, "model={0}", model))) : undefined;
455
+ const version = asString(record.data.copilotVersion);
456
+ const context = asRecord(record.data.context);
457
+ const repository = asString(context?.repository);
458
+ const branch = asString(context?.branch);
459
+ const parts = [];
460
+ if (model) {
461
+ parts.push(effort ? ( localize(7525, "model={0}, reasoningEffort={1}", model, effort)) : ( localize(7526, "model={0}", model)));
462
+ }
463
+ if (version) {
464
+ parts.push(( localize(7527, "CLI {0}", version)));
465
+ }
466
+ if (repository) {
467
+ parts.push(branch ? ( localize(7528, "{0}@{1}", repository, branch)) : repository);
468
+ }
248
469
  events.push({
249
470
  kind: "generic",
250
471
  id: record.id,
251
472
  sessionResource,
252
473
  created,
253
474
  parentEventId: undefined,
254
- name: ( localize(6518, "Session Started")),
255
- details,
475
+ name: ( localize(7529, "Session Started")),
476
+ details: parts.length ? parts.join(", ") : undefined,
256
477
  level: ChatDebugLogLevel.Info,
257
478
  category: "session"
258
479
  });
@@ -263,12 +484,12 @@ function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackU
263
484
  const content = asString(record.data.content) ?? "";
264
485
  const transformed = asString(record.data.transformedContent);
265
486
  const sections = [{
266
- name: ( localize(6519, "User Request")),
487
+ name: ( localize(7530, "User Request")),
267
488
  content
268
489
  }];
269
490
  if (transformed && transformed !== content) {
270
491
  sections.push({
271
- name: ( localize(6520, "Full Prompt")),
492
+ name: ( localize(7531, "Full Prompt")),
272
493
  content: transformed
273
494
  });
274
495
  }
@@ -308,6 +529,7 @@ function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackU
308
529
  modelTurnRefs.push({
309
530
  index: events.length,
310
531
  id: record.id,
532
+ turnId,
311
533
  outputTokens
312
534
  });
313
535
  events.push({
@@ -324,13 +546,13 @@ function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackU
324
546
  const sections = [];
325
547
  if (content) {
326
548
  sections.push({
327
- name: ( localize(6521, "Response")),
549
+ name: ( localize(7532, "Response")),
328
550
  content
329
551
  });
330
552
  }
331
553
  if (reasoning) {
332
554
  sections.push({
333
- name: ( localize(6522, "Reasoning")),
555
+ name: ( localize(7533, "Reasoning")),
334
556
  content: reasoning
335
557
  });
336
558
  }
@@ -383,16 +605,295 @@ function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackU
383
605
  });
384
606
  break;
385
607
  }
608
+ case "session.error":
609
+ {
610
+ const message = asString(record.data.message) ?? ( localize(7534, "Unknown error"));
611
+ const errorType = asString(record.data.errorType);
612
+ const stack = asString(record.data.stack);
613
+ events.push({
614
+ kind: "generic",
615
+ id: record.id,
616
+ sessionResource,
617
+ created,
618
+ parentEventId: turnParent,
619
+ name: errorType ? ( localize(7535, "Error ({0})", errorType)) : ( localize(7536, "Error")),
620
+ details: truncate(message, MAX_EVENT_PAYLOAD),
621
+ level: ChatDebugLogLevel.Error,
622
+ category: "session"
623
+ });
624
+ const detailText = stack ? `${message}\n\n${stack}` : message;
625
+ resolved.set(record.id, {
626
+ kind: "text",
627
+ value: truncate(detailText, MAX_DETAIL_PAYLOAD) ?? detailText
628
+ });
629
+ break;
630
+ }
631
+ case "session.warning":
632
+ {
633
+ const message = asString(record.data.message) ?? "";
634
+ const warningType = asString(record.data.warningType);
635
+ events.push({
636
+ kind: "generic",
637
+ id: record.id,
638
+ sessionResource,
639
+ created,
640
+ parentEventId: turnParent,
641
+ name: warningType ? ( localize(7537, "Warning ({0})", warningType)) : ( localize(7538, "Warning")),
642
+ details: truncate(message, MAX_EVENT_PAYLOAD),
643
+ level: ChatDebugLogLevel.Warning,
644
+ category: "session"
645
+ });
646
+ if (message) {
647
+ resolved.set(record.id, {
648
+ kind: "text",
649
+ value: truncate(message, MAX_DETAIL_PAYLOAD) ?? message
650
+ });
651
+ }
652
+ break;
653
+ }
654
+ case "session.model_change":
655
+ {
656
+ const previousModel = asString(record.data.previousModel);
657
+ const newModel = asString(record.data.newModel);
658
+ const effort = asString(record.data.reasoningEffort);
659
+ const change = previousModel && newModel ? ( localize(7539, "{0} → {1}", previousModel, newModel)) : newModel;
660
+ const details = change && effort ? ( localize(7540, "{0} (reasoningEffort={1})", change, effort)) : change;
661
+ events.push({
662
+ kind: "generic",
663
+ id: record.id,
664
+ sessionResource,
665
+ created,
666
+ parentEventId: turnParent,
667
+ name: ( localize(7541, "Model Changed")),
668
+ details,
669
+ level: ChatDebugLogLevel.Info,
670
+ category: "session"
671
+ });
672
+ break;
673
+ }
674
+ case "hook.start":
675
+ {
676
+ const hookType = asString(record.data.hookType) ?? "hook";
677
+ const invocationId = asString(record.data.hookInvocationId);
678
+ const end = invocationId ? hookEndByInvocationId.get(invocationId) : undefined;
679
+ const success = end ? asBoolean(end.data.success) : undefined;
680
+ const isError = hookType === "errorOccurred";
681
+ if ((hookType === "preToolUse" || hookType === "postToolUse") && !hasConfiguredHooks) {
682
+ break;
683
+ }
684
+ const hookParent = hookType === "preToolUse" ? (currentUserMessageByAgent.get(agentKey) ?? rootEventId) : turnParent;
685
+ if (!isError && success !== false) {
686
+ events.push({
687
+ kind: "generic",
688
+ id: record.id,
689
+ sessionResource,
690
+ created,
691
+ parentEventId: hookParent,
692
+ name: ( localize(7542, "Hook: {0}", hookType)),
693
+ level: ChatDebugLogLevel.Info,
694
+ category: "hook"
695
+ });
696
+ const routineInput = stringifyPayload(record.data.input);
697
+ resolved.set(record.id, {
698
+ kind: "hook",
699
+ hookType,
700
+ result: success === undefined ? undefined : (success ? ChatDebugHookResult.Success : ChatDebugHookResult.Error),
701
+ input: truncate(routineInput, MAX_DETAIL_PAYLOAD)
702
+ });
703
+ break;
704
+ }
705
+ const input = asRecord(record.data.input);
706
+ const errorContext = asString(input?.errorContext);
707
+ const recoverable = asBoolean(input?.recoverable);
708
+ events.push({
709
+ kind: "generic",
710
+ id: record.id,
711
+ sessionResource,
712
+ created,
713
+ parentEventId: hookParent,
714
+ name: isError ? (errorContext ? ( localize(7543, "Error During {0}", errorContext)) : ( localize(7544, "Error Occurred"))) : ( localize(7545, "Hook Failed: {0}", hookType)),
715
+ details: isError && recoverable !== undefined ? (recoverable ? ( localize(7546, "Recoverable; retrying")) : ( localize(7547, "Unrecoverable"))) : undefined,
716
+ level: isError ? (recoverable === false ? ChatDebugLogLevel.Error : ChatDebugLogLevel.Warning) : ChatDebugLogLevel.Error,
717
+ category: "hook"
718
+ });
719
+ const inputText = stringifyPayload(record.data.input);
720
+ const endError = asRecord(end?.data.error);
721
+ const errorParts = endError ? [asString(endError.message), asString(endError.source)].filter(s => !!s) : [];
722
+ const outputText = end && end.data.output !== undefined ? stringifyPayload(end.data.output) : undefined;
723
+ resolved.set(record.id, {
724
+ kind: "hook",
725
+ hookType,
726
+ result: success === undefined ? undefined : (success ? ChatDebugHookResult.Success : ChatDebugHookResult.Error),
727
+ input: truncate(inputText, MAX_DETAIL_PAYLOAD),
728
+ output: outputText ? truncate(outputText, MAX_DETAIL_PAYLOAD) : undefined,
729
+ errorMessage: errorParts.length > 0 ? truncate(errorParts.join("\n"), MAX_DETAIL_PAYLOAD) : undefined
730
+ });
731
+ break;
732
+ }
733
+ case "permission.requested":
734
+ {
735
+ const requestId = asString(record.data.requestId);
736
+ const permissionRequest = asRecord(record.data.permissionRequest);
737
+ const kind = asString(permissionRequest?.kind) ?? "permission";
738
+ const intention = asString(permissionRequest?.intention);
739
+ const toolCallId = asString(permissionRequest?.toolCallId);
740
+ const completed = requestId ? permissionCompleteByRequestId.get(requestId) : undefined;
741
+ const resultKind = completed ? asString(asRecord(completed.data.result)?.kind) : undefined;
742
+ if (resultKind === "approved") {
743
+ break;
744
+ }
745
+ const parentEventId = (toolCallId ? toolEventByToolCallId.get(toolCallId) : undefined) ?? turnParent;
746
+ events.push({
747
+ kind: "generic",
748
+ id: record.id,
749
+ sessionResource,
750
+ created,
751
+ parentEventId,
752
+ name: resultKind ? ( localize(7548, "Permission {0}: {1}", resultKind, kind)) : ( localize(7549, "Awaiting Permission: {0}", kind)),
753
+ details: intention,
754
+ level: ChatDebugLogLevel.Warning,
755
+ category: "permission"
756
+ });
757
+ const path = asString(permissionRequest?.path);
758
+ const lines = [( localize(7550, "kind: {0}", kind)), intention ? ( localize(7551, "intention: {0}", intention)) : undefined, path ? ( localize(7552, "path: {0}", path)) : undefined, ( localize(7553, "result: {0}", resultKind ?? ( localize(7554, "pending"))))].filter(l => !!l);
759
+ resolved.set(record.id, {
760
+ kind: "text",
761
+ value: lines.join("\n")
762
+ });
763
+ break;
764
+ }
765
+ case "subagent.started":
766
+ {
767
+ const toolCallId = asString(record.data.toolCallId);
768
+ const agentName = asString(record.data.agentDisplayName) ?? asString(record.data.agentName) ?? "subagent";
769
+ const description = asString(record.data.agentDescription);
770
+ const model = asString(record.data.model);
771
+ const complete = toolCallId ? subagentCompleteByToolCallId.get(toolCallId) : undefined;
772
+ const toolCallCount = complete ? asNumber(complete.data.totalToolCalls) : undefined;
773
+ const totalTokens = complete ? asNumber(complete.data.totalTokens) : undefined;
774
+ const durationInMillis = complete ? asNumber(complete.data.durationMs) : undefined;
775
+ const parentEventId = (toolCallId ? toolEventByToolCallId.get(toolCallId) : undefined) ?? turnParent;
776
+ events.push({
777
+ kind: "subagentInvocation",
778
+ id: record.id,
779
+ sessionResource,
780
+ created,
781
+ parentEventId,
782
+ agentName,
783
+ description,
784
+ status: complete ? "completed" : "running",
785
+ toolCallCount,
786
+ durationInMillis
787
+ });
788
+ const lines = [( localize(7555, "agent: {0}", agentName)), model ? ( localize(7556, "model: {0}", model)) : undefined, toolCallCount !== undefined ? ( localize(7557, "tool calls: {0}", toolCallCount)) : undefined, totalTokens !== undefined ? ( localize(7558, "tokens: {0}", totalTokens)) : undefined, description ? `\n${description}` : undefined].filter(l => !!l);
789
+ resolved.set(record.id, {
790
+ kind: "text",
791
+ value: lines.join("\n")
792
+ });
793
+ break;
794
+ }
795
+ case "session.compaction_start":
796
+ {
797
+ const systemTokens = asNumber(record.data.systemTokens) ?? 0;
798
+ const conversationTokens = asNumber(record.data.conversationTokens) ?? 0;
799
+ const toolTokens = asNumber(record.data.toolDefinitionsTokens) ?? 0;
800
+ events.push({
801
+ kind: "generic",
802
+ id: record.id,
803
+ sessionResource,
804
+ created,
805
+ parentEventId: turnParent,
806
+ name: ( localize(7559, "Context Compaction")),
807
+ details: ( localize(
808
+ 7560,
809
+ "system={0}, conversation={1}, tools={2} tokens",
810
+ systemTokens,
811
+ conversationTokens,
812
+ toolTokens
813
+ )),
814
+ level: ChatDebugLogLevel.Info,
815
+ category: "session"
816
+ });
817
+ break;
818
+ }
819
+ case "session.compaction_complete":
820
+ {
821
+ if (asBoolean(record.data.success) !== false) {
822
+ break;
823
+ }
824
+ const error = asString(record.data.error);
825
+ events.push({
826
+ kind: "generic",
827
+ id: record.id,
828
+ sessionResource,
829
+ created,
830
+ parentEventId: turnParent,
831
+ name: ( localize(7561, "Context Compaction Failed")),
832
+ details: truncate(error, MAX_EVENT_PAYLOAD),
833
+ level: ChatDebugLogLevel.Error,
834
+ category: "session"
835
+ });
836
+ if (error) {
837
+ resolved.set(record.id, {
838
+ kind: "text",
839
+ value: truncate(error, MAX_DETAIL_PAYLOAD) ?? error
840
+ });
841
+ }
842
+ break;
843
+ }
844
+ case "abort":
845
+ {
846
+ const reason = asString(record.data.reason);
847
+ events.push({
848
+ kind: "generic",
849
+ id: record.id,
850
+ sessionResource,
851
+ created,
852
+ parentEventId: turnParent,
853
+ name: ( localize(7562, "Aborted")),
854
+ details: reason,
855
+ level: ChatDebugLogLevel.Warning,
856
+ category: "session"
857
+ });
858
+ break;
859
+ }
860
+ case "skill.invoked":
861
+ {
862
+ const name = asString(record.data.name) ?? "skill";
863
+ const trigger = asString(record.data.trigger);
864
+ const source = asString(record.data.pluginName) ?? asString(record.data.source);
865
+ const content = asString(record.data.content);
866
+ events.push({
867
+ kind: "generic",
868
+ id: record.id,
869
+ sessionResource,
870
+ created,
871
+ parentEventId: turnParent,
872
+ name: ( localize(7563, "Skill Invoked: {0}", name)),
873
+ details: [trigger, source].filter(Boolean).join(" · ") || undefined,
874
+ level: ChatDebugLogLevel.Info,
875
+ category: "customization"
876
+ });
877
+ if (content) {
878
+ resolved.set(record.id, {
879
+ kind: "text",
880
+ value: truncate(content, MAX_DETAIL_PAYLOAD) ?? content
881
+ });
882
+ }
883
+ break;
884
+ }
386
885
  }
387
886
  }
388
- const totals = extractSessionUsageTotals(records) ?? fallbackUsageTotals;
389
- if (totals && modelTurnRefs.length > 0) {
390
- const n = modelTurnRefs.length;
887
+ const fillTurnsWithTotals = (targets, totals) => {
888
+ const n = targets.length;
889
+ if (n === 0) {
890
+ return;
891
+ }
391
892
  const inputs = totals.inputTokens !== undefined ? distributeEvenly(totals.inputTokens, n) : undefined;
392
893
  const cached = totals.cacheReadTokens !== undefined ? distributeEvenly(totals.cacheReadTokens, n) : undefined;
393
894
  const aiu = distributeEvenly(totals.totalNanoAiu, n);
394
895
  for (let i = 0; i < n; i++) {
395
- const ref = modelTurnRefs[i];
896
+ const ref = targets[i];
396
897
  const turn = events[ref.index];
397
898
  const inputTokens = inputs?.[i];
398
899
  const cachedTokens = cached?.[i];
@@ -415,12 +916,276 @@ function convertAgentHostEventsToDebugEvents(records, sessionResource, fallbackU
415
916
  });
416
917
  }
417
918
  }
919
+ };
920
+ if (usageRecords && usageRecords.length > 0 && modelTurnRefs.length > 0) {
921
+ const coverage = applyPerTurnUsage(events, resolved, modelTurnRefs, usageRecords);
922
+ const uncovered = modelTurnRefs.filter((_ref, i) => !( coverage.covered.has(i)));
923
+ if (uncovered.length > 0) {
924
+ const totals = extractSessionUsageTotals(records) ?? fallbackUsageTotals;
925
+ if (totals) {
926
+ fillTurnsWithTotals(uncovered, {
927
+ inputTokens: totals.inputTokens !== undefined ? Math.max(0, totals.inputTokens - coverage.assignedInput) : undefined,
928
+ cacheReadTokens: totals.cacheReadTokens !== undefined ? Math.max(0, totals.cacheReadTokens - coverage.assignedCache) : undefined,
929
+ totalNanoAiu: Math.max(0, totals.totalNanoAiu - coverage.assignedAiu)
930
+ });
931
+ }
932
+ }
933
+ } else if (modelTurnRefs.length > 0) {
934
+ const totals = extractSessionUsageTotals(records) ?? fallbackUsageTotals;
935
+ if (totals) {
936
+ fillTurnsWithTotals(modelTurnRefs, totals);
937
+ }
938
+ }
939
+ if (customizations && customizations.length > 0) {
940
+ const created = rootCreated ?? (records.length > 0 ? ( new Date(records[0].timestamp)) : ( new Date()));
941
+ const {
942
+ events: customEvents,
943
+ resolved: customResolved
944
+ } = buildCustomizationDebugEvents(customizations, sessionResource, rootEventId, created);
945
+ events.push(...customEvents);
946
+ for (const [id, detail] of customResolved) {
947
+ resolved.set(id, detail);
948
+ }
949
+ }
950
+ return {
951
+ events,
952
+ resolved
953
+ };
954
+ }
955
+ const CUSTOMIZATION_TYPE_ORDER = [
956
+ CustomizationType.Skill,
957
+ CustomizationType.Hook,
958
+ CustomizationType.Agent,
959
+ CustomizationType.McpServer,
960
+ CustomizationType.Rule,
961
+ CustomizationType.Prompt
962
+ ];
963
+ function flattenCustomizations(customizations) {
964
+ const out = [];
965
+ const visit = c => {
966
+ if (c.type === CustomizationType.Plugin || c.type === CustomizationType.Directory) {
967
+ for (const child of c.children ?? []) {
968
+ visit(child);
969
+ }
970
+ return;
971
+ }
972
+ out.push({
973
+ type: c.type,
974
+ name: c.name,
975
+ uri: c.uri,
976
+ enabled: c.type === CustomizationType.McpServer ? isCustomizationEnabled(c) : c.enabled !== false,
977
+ description: c.description
978
+ });
979
+ };
980
+ for (const c of customizations) {
981
+ visit(c);
982
+ }
983
+ return out;
984
+ }
985
+ function customizationDiscoveryName(type) {
986
+ switch (type) {
987
+ case CustomizationType.Skill:
988
+ return localize(7564, "Skill Discovery");
989
+ case CustomizationType.Hook:
990
+ return localize(7565, "Hook Discovery");
991
+ case CustomizationType.Agent:
992
+ return localize(7566, "Agent Discovery");
993
+ case CustomizationType.McpServer:
994
+ return localize(7567, "MCP Server Discovery");
995
+ case CustomizationType.Rule:
996
+ return localize(7568, "Instructions Discovery");
997
+ case CustomizationType.Prompt:
998
+ return localize(7569, "Prompt Discovery");
999
+ default:
1000
+ return localize(7570, "Customization Discovery");
1001
+ }
1002
+ }
1003
+ function customizationSummaryCategory(c) {
1004
+ if (!c.enabled) {
1005
+ return "skipped";
1006
+ }
1007
+ switch (c.type) {
1008
+ case CustomizationType.Skill:
1009
+ return "skill";
1010
+ case CustomizationType.Agent:
1011
+ return "custom-agent";
1012
+ case CustomizationType.Hook:
1013
+ return "hook";
1014
+ case CustomizationType.Rule:
1015
+ return "applying";
1016
+ default:
1017
+ return undefined;
1018
+ }
1019
+ }
1020
+ function buildCustomizationDebugEvents(customizations, sessionResource, parentEventId, created) {
1021
+ const events = [];
1022
+ const resolved = ( new Map());
1023
+ const flat = flattenCustomizations(customizations);
1024
+ if (flat.length === 0) {
1025
+ return {
1026
+ events,
1027
+ resolved
1028
+ };
1029
+ }
1030
+ const byType = ( new Map());
1031
+ for (const c of flat) {
1032
+ const list = byType.get(c.type);
1033
+ if (list) {
1034
+ list.push(c);
1035
+ } else {
1036
+ byType.set(c.type, [c]);
1037
+ }
1038
+ }
1039
+ const key = ( sessionResource.toString());
1040
+ for (const type of CUSTOMIZATION_TYPE_ORDER) {
1041
+ const list = byType.get(type);
1042
+ if (!list || list.length === 0) {
1043
+ continue;
1044
+ }
1045
+ const id = `agentHostCustomization:${key}:${type}`;
1046
+ const loadedCount = list.filter(c => c.enabled).length;
1047
+ const skippedCount = list.length - loadedCount;
1048
+ events.push({
1049
+ kind: "generic",
1050
+ id,
1051
+ sessionResource,
1052
+ created,
1053
+ parentEventId,
1054
+ name: customizationDiscoveryName(type),
1055
+ details: skippedCount > 0 ? ( localize(7571, "{0} loaded, {1} disabled", loadedCount, skippedCount)) : ( localize(7572, "{0} loaded", loadedCount)),
1056
+ level: ChatDebugLogLevel.Info,
1057
+ category: "discovery"
1058
+ });
1059
+ const files = ( list.map(c => ({
1060
+ uri: ( URI.parse(c.uri)),
1061
+ name: c.name,
1062
+ status: c.enabled ? "loaded" : "skipped",
1063
+ skipReason: c.enabled ? undefined : ( localize(7573, "disabled"))
1064
+ })));
1065
+ resolved.set(id, {
1066
+ kind: "fileList",
1067
+ discoveryType: type,
1068
+ durationInMillis: 0,
1069
+ files
1070
+ });
1071
+ }
1072
+ const logs = [];
1073
+ for (const c of flat) {
1074
+ const category = customizationSummaryCategory(c);
1075
+ if (!category) {
1076
+ continue;
1077
+ }
1078
+ logs.push({
1079
+ category,
1080
+ name: c.name,
1081
+ uri: ( URI.parse(c.uri)),
1082
+ reason: c.description
1083
+ });
1084
+ }
1085
+ if (logs.length > 0) {
1086
+ const id = `agentHostCustomization:${key}:summary`;
1087
+ const counts = {
1088
+ instructions: logs.filter(e => e.category === "applying" || e.category === "referenced").length,
1089
+ skills: logs.filter(e => e.category === "skill").length,
1090
+ agents: logs.filter(e => e.category === "custom-agent").length,
1091
+ hooks: logs.filter(e => e.category === "hook").length,
1092
+ skipped: logs.filter(e => e.category === "skipped").length
1093
+ };
1094
+ events.push({
1095
+ kind: "generic",
1096
+ id,
1097
+ sessionResource,
1098
+ created,
1099
+ parentEventId,
1100
+ name: ( localize(7574, "Resolve Customizations")),
1101
+ details: ( localize(
1102
+ 7575,
1103
+ "{0} skills, {1} agents, {2} hooks, {3} instructions",
1104
+ counts.skills,
1105
+ counts.agents,
1106
+ counts.hooks,
1107
+ counts.instructions
1108
+ )),
1109
+ level: ChatDebugLogLevel.Info,
1110
+ category: "customization"
1111
+ });
1112
+ resolved.set(id, {
1113
+ kind: "customizationSummary",
1114
+ resolutionLogs: logs,
1115
+ durationInMillis: 0,
1116
+ counts
1117
+ });
418
1118
  }
419
1119
  return {
420
1120
  events,
421
1121
  resolved
422
1122
  };
423
1123
  }
1124
+ function applyPerTurnUsage(events, resolved, modelTurnRefs, usageRecords) {
1125
+ const assign = (ref, inputTokens, cachedTokens, copilotUsageNanoAiu) => {
1126
+ const turn = events[ref.index];
1127
+ const totalTokens = inputTokens !== undefined ? inputTokens + (ref.outputTokens ?? 0) : undefined;
1128
+ events[ref.index] = {
1129
+ ...turn,
1130
+ inputTokens,
1131
+ cachedTokens,
1132
+ totalTokens,
1133
+ copilotUsageNanoAiu
1134
+ };
1135
+ const detail = resolved.get(ref.id);
1136
+ if (detail?.kind === "modelTurn") {
1137
+ resolved.set(ref.id, {
1138
+ ...detail,
1139
+ inputTokens,
1140
+ cachedTokens,
1141
+ totalTokens
1142
+ });
1143
+ }
1144
+ };
1145
+ const aiuByRecordIndex = ( new Array(usageRecords.length)).fill(undefined);
1146
+ for (let start = 0; start < usageRecords.length; ) {
1147
+ let end = start;
1148
+ while (end + 1 < usageRecords.length && usageRecords[end + 1].turnId === usageRecords[start].turnId) {
1149
+ end++;
1150
+ }
1151
+ let maxAiu = 0;
1152
+ for (let i = start; i <= end; i++) {
1153
+ maxAiu = Math.max(maxAiu, usageRecords[i].totalNanoAiu ?? 0);
1154
+ }
1155
+ if (maxAiu > 0) {
1156
+ aiuByRecordIndex[end] = maxAiu;
1157
+ }
1158
+ start = end + 1;
1159
+ }
1160
+ let recordIndex = 0;
1161
+ let assignedInput = 0;
1162
+ let assignedCache = 0;
1163
+ let assignedAiu = 0;
1164
+ const covered = ( new Set());
1165
+ for (let refIdx = 0; refIdx < modelTurnRefs.length; refIdx++) {
1166
+ if (recordIndex >= usageRecords.length) {
1167
+ break;
1168
+ }
1169
+ const ref = modelTurnRefs[refIdx];
1170
+ const record = usageRecords[recordIndex];
1171
+ if (ref.outputTokens !== undefined && record.outputTokens !== undefined && ref.outputTokens !== record.outputTokens) {
1172
+ continue;
1173
+ }
1174
+ const aiu = aiuByRecordIndex[recordIndex];
1175
+ assign(ref, record.inputTokens, record.cacheReadTokens, aiu);
1176
+ assignedInput += record.inputTokens ?? 0;
1177
+ assignedCache += record.cacheReadTokens ?? 0;
1178
+ assignedAiu += aiu ?? 0;
1179
+ covered.add(refIdx);
1180
+ recordIndex++;
1181
+ }
1182
+ return {
1183
+ covered,
1184
+ assignedInput,
1185
+ assignedCache,
1186
+ assignedAiu
1187
+ };
1188
+ }
424
1189
  function extractSessionUsageTotals(records) {
425
1190
  let shutdown;
426
1191
  for (const record of records) {
@@ -482,19 +1247,14 @@ function sumChatStateUsage(chat) {
482
1247
  } : undefined;
483
1248
  }
484
1249
  function readCopilotNanoAiu(usage) {
485
- const meta = usage._meta;
486
- if (!meta || typeof meta !== "object") {
487
- return 0;
488
- }
489
- const copilotUsage = meta.copilotUsage;
490
- if (!copilotUsage || typeof copilotUsage !== "object") {
491
- return 0;
492
- }
493
- const nano = copilotUsage.totalNanoAiu;
494
- return typeof nano === "number" ? nano : 0;
1250
+ return readUsageInfoMeta(usage).copilotUsage?.totalNanoAiu ?? 0;
495
1251
  }
496
1252
  function parseJsonl(text) {
497
1253
  const records = [];
1254
+ appendJsonlRecords(text, records);
1255
+ return records;
1256
+ }
1257
+ function appendJsonlRecords(text, records) {
498
1258
  for (const line of text.split("\n")) {
499
1259
  const trimmed = line.trim();
500
1260
  if (!trimmed) {
@@ -507,10 +1267,18 @@ function parseJsonl(text) {
507
1267
  }
508
1268
  } catch {}
509
1269
  }
510
- return records;
1270
+ }
1271
+ function lastIndexOfNewline(buffer) {
1272
+ const bytes = buffer.buffer;
1273
+ for (let i = bytes.length - 1; i >= 0; i--) {
1274
+ if (bytes[i] === 0x0A ) {
1275
+ return i;
1276
+ }
1277
+ }
1278
+ return -1;
511
1279
  }
512
1280
  function fallbackSessionTitle(sessionId) {
513
- return localize(6523, "Copilot CLI Session {0}", sessionId.slice(0, 8));
1281
+ return localize(7576, "Copilot Session {0}", sessionId.slice(0, 8));
514
1282
  }
515
1283
  function extractSessionTitle(text) {
516
1284
  for (const record of parseJsonl(text)) {
@@ -532,6 +1300,9 @@ function asNumber(value) {
532
1300
  function asBoolean(value) {
533
1301
  return typeof value === "boolean" ? value : undefined;
534
1302
  }
1303
+ function asRecord(value) {
1304
+ return value && typeof value === "object" && !Array.isArray(value) ? value : undefined;
1305
+ }
535
1306
  function diffMillis(start, end) {
536
1307
  const a = ( new Date(start)).getTime();
537
1308
  const b = ( new Date(end)).getTime();
@@ -564,4 +1335,4 @@ function toErrorMessage(err) {
564
1335
  return err instanceof Error ? err.message : String(err);
565
1336
  }
566
1337
 
567
- export { AgentHostChatDebugContribution, convertAgentHostEventsToDebugEvents, parseJsonl };
1338
+ export { AgentHostChatDebugContribution, buildCustomizationDebugEvents, convertAgentHostEventsToDebugEvents, parseJsonl };