@codingame/monaco-vscode-katex-common 31.0.1 → 32.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +15 -3
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
  6. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
  21. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +20 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +7 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +68 -10
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +91 -54
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -11
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +4 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +6 -2
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +29 -23
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +1 -1
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +77 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +521 -9
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
  136. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  137. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
  142. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
  143. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
  144. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
  153. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
  154. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
  155. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
  156. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
  157. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
  158. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
  206. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
  207. package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
- import { $, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { $, append, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
5
  import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
6
6
  import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
7
7
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
@@ -9,6 +9,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
9
9
  import { fromNow, getDurationString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
10
10
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
11
11
  import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
12
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
12
13
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
13
14
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
15
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
@@ -18,8 +19,10 @@ import { ChatViewModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
18
19
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
19
20
  import { ChatListWidget } from '../widget/chatListWidget.js';
20
21
  import { getAgentSessionProvider, AgentSessionProviders, getAgentSessionProviderIcon, getAgentSessionProviderName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
22
+ import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
21
23
  import { getAgentChangesSummary, hasValidDiff } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
22
24
  import * as agentSessionHoverWidget from './media/agentSessionHoverWidget.css';
25
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
23
26
  import { ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
24
27
 
25
28
  registerCss(agentSessionHoverWidget);
@@ -27,12 +30,19 @@ const HEADER_HEIGHT = 60;
27
30
  const CHAT_LIST_HEIGHT = 240;
28
31
  const CHAT_HOVER_WIDTH = 500;
29
32
  let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
30
- constructor(session, chatService, instantiationService, chatWidgetService) {
33
+ constructor(
34
+ session,
35
+ chatService,
36
+ instantiationService,
37
+ chatWidgetService,
38
+ agentSessionsService
39
+ ) {
31
40
  super();
32
41
  this.session = session;
33
42
  this.chatService = chatService;
34
43
  this.instantiationService = instantiationService;
35
44
  this.chatWidgetService = chatWidgetService;
45
+ this.agentSessionsService = agentSessionsService;
36
46
  this.hasRendered = false;
37
47
  this.domNode = $(".agent-session-hover.interactive-session");
38
48
  this.domNode.style.width = `${CHAT_HOVER_WIDTH}px`;
@@ -135,20 +145,32 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
135
145
  const startTime = session.timing.lastRequestStarted ?? session.timing.created;
136
146
  append(detailsRow, $("span", undefined, fromNow(startTime, true, true)));
137
147
  }
138
- const diff = getAgentChangesSummary(session.changes);
139
- if (diff && hasValidDiff(session.changes)) {
140
- append(detailsRow, $("span.separator", undefined, ""));
141
- const diffContainer = append(detailsRow, $(".agent-session-hover-diff"));
142
- if (diff.files > 0) {
143
- append(diffContainer, $("span", undefined, diff.files === 1 ? ( localize(5108, "1 file")) : ( localize(5109, "{0} files", diff.files))));
144
- }
145
- if (diff.insertions > 0) {
146
- append(diffContainer, $("span.insertions", undefined, `+${diff.insertions}`));
147
- }
148
- if (diff.deletions > 0) {
149
- append(diffContainer, $("span.deletions", undefined, `-${diff.deletions}`));
148
+ const diffSeparator = append(detailsRow, $("span.separator", undefined, "•"));
149
+ const diffContainer = append(detailsRow, $(".agent-session-hover-diff"));
150
+ diffSeparator.style.display = "none";
151
+ diffContainer.style.display = "none";
152
+ const observed = this.agentSessionsService.model.observeSession(session.resource);
153
+ this._register(autorun(reader => {
154
+ const latest = observed.read(reader) ?? session;
155
+ const diff = getAgentChangesSummary(latest.changes);
156
+ clearNode(diffContainer);
157
+ if (diff && hasValidDiff(latest.changes)) {
158
+ diffSeparator.style.display = "";
159
+ diffContainer.style.display = "";
160
+ if (diff.files > 0) {
161
+ append(diffContainer, $("span", undefined, diff.files === 1 ? ( localize(5176, "1 file")) : ( localize(5177, "{0} files", diff.files))));
162
+ }
163
+ if (diff.insertions > 0) {
164
+ append(diffContainer, $("span.insertions", undefined, `+${diff.insertions}`));
165
+ }
166
+ if (diff.deletions > 0) {
167
+ append(diffContainer, $("span.deletions", undefined, `-${diff.deletions}`));
168
+ }
169
+ } else {
170
+ diffSeparator.style.display = "none";
171
+ diffContainer.style.display = "none";
150
172
  }
151
- }
173
+ }));
152
174
  if (session.status !== ChatSessionStatus.Completed) {
153
175
  append(detailsRow, $("span.separator", undefined, "•"));
154
176
  append(detailsRow, $("span", undefined, this.toStatusLabel(session.status)));
@@ -156,7 +178,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
156
178
  if (session.isArchived()) {
157
179
  append(detailsRow, $("span.separator", undefined, "•"));
158
180
  append(detailsRow, renderIcon(Codicon.archive));
159
- append(detailsRow, $("span", undefined, ( localize(5110, "Archived"))));
181
+ append(detailsRow, $("span", undefined, ( localize(5178, "Archived"))));
160
182
  }
161
183
  }
162
184
  buildFallbackTooltip(session) {
@@ -193,7 +215,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
193
215
  if (diff && hasValidDiff(session.changes)) {
194
216
  const diffParts = [];
195
217
  if (diff.files > 0) {
196
- diffParts.push(diff.files === 1 ? ( localize(5108, "1 file")) : ( localize(5109, "{0} files", diff.files)));
218
+ diffParts.push(diff.files === 1 ? ( localize(5176, "1 file")) : ( localize(5177, "{0} files", diff.files)));
197
219
  }
198
220
  if (diff.insertions > 0) {
199
221
  diffParts.push(`+${diff.insertions}`);
@@ -210,7 +232,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
210
232
  }
211
233
  lines.push(details.join(" • "));
212
234
  if (session.isArchived()) {
213
- lines.push(`$(archive) ${( localize(5110, "Archived"))}`);
235
+ lines.push(`$(archive) ${( localize(5178, "Archived"))}`);
214
236
  }
215
237
  return ( new MarkdownString(lines.join("\n\n"), {
216
238
  supportThemeIcons: true
@@ -227,20 +249,20 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
227
249
  let statusLabel;
228
250
  switch (status) {
229
251
  case ChatSessionStatus.NeedsInput:
230
- statusLabel = ( localize(5111, "Needs Input"));
252
+ statusLabel = ( localize(5179, "Needs Input"));
231
253
  break;
232
254
  case ChatSessionStatus.InProgress:
233
- statusLabel = ( localize(5112, "In Progress"));
255
+ statusLabel = ( localize(5180, "In Progress"));
234
256
  break;
235
257
  case ChatSessionStatus.Failed:
236
- statusLabel = ( localize(5113, "Failed"));
258
+ statusLabel = ( localize(5181, "Failed"));
237
259
  break;
238
260
  default:
239
- statusLabel = ( localize(5114, "Completed"));
261
+ statusLabel = ( localize(5182, "Completed"));
240
262
  }
241
263
  return statusLabel;
242
264
  }
243
265
  };
244
- AgentSessionHoverWidget = ( __decorate([( __param(1, IChatService)), ( __param(2, IInstantiationService)), ( __param(3, IChatWidgetService))], AgentSessionHoverWidget));
266
+ AgentSessionHoverWidget = ( __decorate([( __param(1, IChatService)), ( __param(2, IInstantiationService)), ( __param(3, IChatWidgetService)), ( __param(4, IAgentSessionsService))], AgentSessionHoverWidget));
245
267
 
246
268
  export { AgentSessionHoverWidget };
@@ -122,9 +122,9 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
122
122
  this.emptyFilterMessage = append(container, $(".agent-sessions-empty-filter-message"));
123
123
  hide(this.emptyFilterMessage);
124
124
  const span = append(this.emptyFilterMessage, $("span"));
125
- span.textContent = `${( localize(5183, "No matching sessions"))} - `;
125
+ span.textContent = `${( localize(5251, "No matching sessions"))} - `;
126
126
  const link = append(this.emptyFilterMessage, $("span.reset-filter-link"));
127
- link.textContent = ( localize(5184, "Reset Filter"));
127
+ link.textContent = ( localize(5252, "Reset Filter"));
128
128
  link.tabIndex = 0;
129
129
  link.setAttribute("role", "button");
130
130
  this._register(
@@ -681,9 +681,11 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
681
681
  }
682
682
  focus() {
683
683
  this.sessionsList?.domFocus();
684
- if ((this.sessionsList?.getFocus().length ?? 0) === 0) {
685
- this.sessionsList?.focusFirst();
686
- }
684
+ try {
685
+ if ((this.sessionsList?.getFocus().length ?? 0) === 0) {
686
+ this.sessionsList?.focusFirst();
687
+ }
688
+ } catch {}
687
689
  }
688
690
  clearFocus() {
689
691
  this.sessionsList?.setFocus([]);
@@ -709,8 +711,12 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
709
711
  if (!session || !this.sessionsList.hasNode(session)) {
710
712
  return false;
711
713
  }
712
- if (this.sessionsList.getRelativeTop(session) === null) {
713
- this.sessionsList.reveal(session, 0.5);
714
+ try {
715
+ if (this.sessionsList.getRelativeTop(session) === null) {
716
+ this.sessionsList.reveal(session, 0.5);
717
+ }
718
+ } catch {
719
+ return false;
714
720
  }
715
721
  this.sessionsList.setFocus([session]);
716
722
  this.sessionsList.setSelection([session]);
@@ -142,7 +142,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
142
142
  constructor() {
143
143
  super({
144
144
  id: `agentSessions.filter.sortByCreated.${menuId.id.toLowerCase()}`,
145
- title: ( localize(5185, "Sort by Created")),
145
+ title: ( localize(5253, "Sort by Created")),
146
146
  menu: {
147
147
  id: menuId,
148
148
  group: "0_sort",
@@ -159,7 +159,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
159
159
  constructor() {
160
160
  super({
161
161
  id: `agentSessions.filter.sortByUpdated.${menuId.id.toLowerCase()}`,
162
- title: ( localize(5186, "Sort by Updated")),
162
+ title: ( localize(5254, "Sort by Updated")),
163
163
  menu: {
164
164
  id: menuId,
165
165
  group: "0_sort",
@@ -235,16 +235,16 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
235
235
  registerStateActions(disposables, menuId) {
236
236
  const states = [{
237
237
  id: ChatSessionStatus.Completed,
238
- label: ( localize(5187, "Completed"))
238
+ label: ( localize(5255, "Completed"))
239
239
  }, {
240
240
  id: ChatSessionStatus.InProgress,
241
- label: ( localize(5188, "In Progress"))
241
+ label: ( localize(5256, "In Progress"))
242
242
  }, {
243
243
  id: ChatSessionStatus.NeedsInput,
244
- label: ( localize(5189, "Input Needed"))
244
+ label: ( localize(5257, "Input Needed"))
245
245
  }, {
246
246
  id: ChatSessionStatus.Failed,
247
- label: ( localize(5190, "Failed"))
247
+ label: ( localize(5258, "Failed"))
248
248
  }];
249
249
  const that = this;
250
250
  let counter = 0;
@@ -281,7 +281,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
281
281
  constructor() {
282
282
  super({
283
283
  id: `agentSessions.filter.toggleExcludeArchived.${menuId.id.toLowerCase()}`,
284
- title: ( localize(5191, "Archived")),
284
+ title: ( localize(5259, "Archived")),
285
285
  menu: {
286
286
  id: menuId,
287
287
  group: "3_props",
@@ -304,7 +304,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
304
304
  constructor() {
305
305
  super({
306
306
  id: `agentSessions.filter.toggleExcludeRead.${menuId.id.toLowerCase()}`,
307
- title: ( localize(5192, "Read")),
307
+ title: ( localize(5260, "Read")),
308
308
  menu: {
309
309
  id: menuId,
310
310
  group: "3_props",
@@ -335,7 +335,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
335
335
  constructor() {
336
336
  super({
337
337
  id: `agentSessions.filter.resetExcludes.${menuId.id.toLowerCase()}`,
338
- title: ( localize(5193, "Reset")),
338
+ title: ( localize(5261, "Reset")),
339
339
  menu: {
340
340
  id: menuId,
341
341
  group: "4_reset",
@@ -3,8 +3,10 @@ import { isLocalAgentSessionItem } from '@codingame/monaco-vscode-api/vscode/vs/
3
3
  import { ChatViewPaneTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
4
4
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
5
5
  import { ACTIVE_GROUP, SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
6
+ import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
6
7
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
7
8
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
9
+ import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
8
10
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
9
11
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
10
12
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -71,8 +73,8 @@ async function openSessionDefault(accessor, session, openOptions) {
71
73
  } else {
72
74
  target = ChatViewPaneTarget;
73
75
  }
74
- const isLocalChatSession = session.resource.scheme === Schemas.vscodeChatEditor || session.resource.scheme === Schemas.vscodeLocalChatSession;
75
- if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(session.resource.scheme))) {
76
+ const isLocalChatSession = session.resource.scheme === Schemas.vscodeChatEditor || getChatSessionType(session.resource) === localChatSessionType;
77
+ if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(getChatSessionType(session.resource)))) {
76
78
  target = openOptions?.sideBySide ? SIDE_GROUP : ACTIVE_GROUP;
77
79
  options = {
78
80
  ...options,
@@ -81,7 +83,7 @@ async function openSessionDefault(accessor, session, openOptions) {
81
83
  }
82
84
  return await chatWidgetService.openSession(session.resource, target, options);
83
85
  } catch (error) {
84
- notificationService.error(( localize(5195, "Failed to open chat session: {0}", toErrorMessage(error))));
86
+ notificationService.error(( localize(5263, "Failed to open chat session: {0}", toErrorMessage(error))));
85
87
  return undefined;
86
88
  }
87
89
  }
@@ -23,6 +23,7 @@ import { AgentSessionsGrouping, AgentSessionsSorting } from "./agentSessionsFilt
23
23
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
24
24
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
25
25
  import { AgentSessionApprovalModel } from "./agentSessionApprovalModel.js";
26
+ import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
26
27
  export type AgentSessionListItem = IAgentSession | IAgentSessionSection | IAgentSessionShowMore | IAgentSessionShowLess;
27
28
  interface IAgentSessionItemTemplate {
28
29
  readonly element: HTMLElement;
@@ -63,6 +64,7 @@ export declare class AgentSessionRenderer extends Disposable implements ICompres
63
64
  private readonly hoverService;
64
65
  private readonly instantiationService;
65
66
  private readonly contextKeyService;
67
+ private readonly chatSessionsService;
66
68
  static readonly TEMPLATE_ID = "agent-session";
67
69
  static readonly APPROVAL_ROW_MAX_LINES = 3;
68
70
  private static readonly _APPROVAL_ROW_LINE_HEIGHT;
@@ -72,9 +74,10 @@ export declare class AgentSessionRenderer extends Disposable implements ICompres
72
74
  private readonly sessionHover;
73
75
  private readonly _onDidChangeItemHeight;
74
76
  readonly onDidChangeItemHeight: Event<IAgentSession>;
75
- constructor(options: IAgentSessionRendererOptions, _approvalModel: AgentSessionApprovalModel | undefined, _activeSessionResource: IObservable<URI | undefined>, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
77
+ constructor(options: IAgentSessionRendererOptions, _approvalModel: AgentSessionApprovalModel | undefined, _activeSessionResource: IObservable<URI | undefined>, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, chatSessionsService: IChatSessionsService);
76
78
  renderTemplate(container: HTMLElement): IAgentSessionItemTemplate;
77
79
  renderElement(session: ITreeNode<IAgentSession, FuzzyScore>, index: number, template: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
80
+ private triggerResolve;
78
81
  private renderBadge;
79
82
  private stripCodicons;
80
83
  private renderMarkdownOrText;
@@ -39,6 +39,8 @@ import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/b
39
39
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
40
40
  import { BugIndicatingError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
41
41
  import { compareIgnoreCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
42
+ import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
43
+ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
42
44
  import { ChatSessionStatus, isSessionInProgressStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
43
45
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
44
46
 
@@ -72,7 +74,8 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
72
74
  productService,
73
75
  hoverService,
74
76
  instantiationService,
75
- contextKeyService
77
+ contextKeyService,
78
+ chatSessionsService
76
79
  ) {
77
80
  super();
78
81
  this.options = options;
@@ -83,6 +86,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
83
86
  this.hoverService = hoverService;
84
87
  this.instantiationService = instantiationService;
85
88
  this.contextKeyService = contextKeyService;
89
+ this.chatSessionsService = chatSessionsService;
86
90
  this.templateId = AgentSessionRenderer_1.TEMPLATE_ID;
87
91
  this.sessionHover = this._register(( new MutableDisposable()));
88
92
  this._onDidChangeItemHeight = this._register(( new Emitter()));
@@ -232,6 +236,16 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
232
236
  if (this._approvalModel) {
233
237
  this.renderApprovalRow(session, template);
234
238
  }
239
+ this.triggerResolve(session, template);
240
+ }
241
+ triggerResolve(session, template) {
242
+ const cts = ( new CancellationTokenSource());
243
+ template.elementDisposable.add({
244
+ dispose() {
245
+ cts.dispose(true);
246
+ }
247
+ });
248
+ this.chatSessionsService.resolveChatSessionItem(session.element.providerType, session.element.resource, cts.token).catch(() => {});
235
249
  }
236
250
  renderBadge(session, template) {
237
251
  if (this.options.hideSessionBadge) {
@@ -378,13 +392,13 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
378
392
  return true;
379
393
  }
380
394
  if (session.element.status === ChatSessionStatus.InProgress) {
381
- template.description.textContent = ( localize(5202, "Working..."));
395
+ template.description.textContent = ( localize(5270, "Working..."));
382
396
  return true;
383
397
  } else if (session.element.status === ChatSessionStatus.NeedsInput) {
384
- template.description.textContent = ( localize(5203, "Input needed."));
398
+ template.description.textContent = ( localize(5271, "Input needed."));
385
399
  return true;
386
400
  } else if (session.element.status === ChatSessionStatus.Failed) {
387
- template.description.textContent = ( localize(5204, "Failed"));
401
+ template.description.textContent = ( localize(5272, "Failed"));
388
402
  return true;
389
403
  }
390
404
  template.description.textContent = "";
@@ -393,7 +407,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
393
407
  toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
394
408
  const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
395
409
  if (!disallowNow && elapsed < 60000) {
396
- return localize(5205, "now");
410
+ return localize(5273, "now");
397
411
  }
398
412
  return getDurationString(elapsed, useFullTimeWords);
399
413
  }
@@ -408,7 +422,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
408
422
  const date = this.options.isSortedByUpdated?.() ? session.timing.lastRequestEnded ?? session.timing.created : session.timing.created;
409
423
  const seconds = Math.round((( new Date()).getTime() - date) / 1000);
410
424
  if (seconds < 60) {
411
- timeLabel = ( localize(5205, "now"));
425
+ timeLabel = ( localize(5273, "now"));
412
426
  } else {
413
427
  timeLabel = sessionDateFromNow(date, true);
414
428
  }
@@ -491,11 +505,11 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
491
505
  template.approvalButtonContainer.textContent = "";
492
506
  const isActive = this._activeSessionResource.read(reader)?.toString() === ( session.element.resource.toString());
493
507
  const button = buttonStore.add(( new Button(template.approvalButtonContainer, {
494
- title: ( localize(5206, "Allow once")),
508
+ title: ( localize(5274, "Allow once")),
495
509
  secondary: isActive,
496
510
  ...defaultButtonStyles
497
511
  })));
498
- button.label = ( localize(5207, "Allow"));
512
+ button.label = ( localize(5275, "Allow"));
499
513
  buttonStore.add(button.onDidClick(() => info.confirm()));
500
514
  }
501
515
  if (wasVisible !== visible) {
@@ -514,21 +528,21 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
514
528
  templateData.disposables.dispose();
515
529
  }
516
530
  };
517
- AgentSessionRenderer = AgentSessionRenderer_1 = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IProductService)), ( __param(5, IHoverService)), ( __param(6, IInstantiationService)), ( __param(7, IContextKeyService))], AgentSessionRenderer));
531
+ AgentSessionRenderer = AgentSessionRenderer_1 = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IProductService)), ( __param(5, IHoverService)), ( __param(6, IInstantiationService)), ( __param(7, IContextKeyService)), ( __param(8, IChatSessionsService))], AgentSessionRenderer));
518
532
  function toStatusLabel(status) {
519
533
  let statusLabel;
520
534
  switch (status) {
521
535
  case ChatSessionStatus.NeedsInput:
522
- statusLabel = ( localize(5208, "Needs Input"));
536
+ statusLabel = ( localize(5276, "Needs Input"));
523
537
  break;
524
538
  case ChatSessionStatus.InProgress:
525
- statusLabel = ( localize(5209, "In Progress"));
539
+ statusLabel = ( localize(5277, "In Progress"));
526
540
  break;
527
541
  case ChatSessionStatus.Failed:
528
- statusLabel = ( localize(5210, "Failed"));
542
+ statusLabel = ( localize(5278, "Failed"));
529
543
  break;
530
544
  default:
531
- statusLabel = ( localize(5211, "Completed"));
545
+ statusLabel = ( localize(5279, "Completed"));
532
546
  }
533
547
  return statusLabel;
534
548
  }
@@ -621,7 +635,7 @@ class AgentSessionShowMoreRenderer {
621
635
  };
622
636
  }
623
637
  renderElement(element, _index, template) {
624
- template.label.textContent = this.options?.compactLabel ? ( localize(5212, "+{0} more", element.element.remainingCount)) : ( localize(5213, "Show {0} More...", element.element.remainingCount));
638
+ template.label.textContent = this.options?.compactLabel ? ( localize(5280, "+{0} more", element.element.remainingCount)) : ( localize(5281, "Show {0} More...", element.element.remainingCount));
625
639
  template.container.setAttribute("data-section-label", element.element.sectionLabel);
626
640
  }
627
641
  renderCompressedElements() {
@@ -656,7 +670,7 @@ class AgentSessionShowLessRenderer {
656
670
  };
657
671
  }
658
672
  renderElement(element, _index, template) {
659
- template.label.textContent = ( localize(5214, "Show less"));
673
+ template.label.textContent = ( localize(5282, "Show less"));
660
674
  template.container.setAttribute("data-section-label", element.element.sectionLabel);
661
675
  }
662
676
  renderCompressedElements() {
@@ -719,24 +733,24 @@ class AgentSessionsAccessibilityProvider {
719
733
  return "listitem";
720
734
  }
721
735
  getWidgetAriaLabel() {
722
- return localize(5215, "Agent Sessions");
736
+ return localize(5283, "Agent Sessions");
723
737
  }
724
738
  getAriaLabel(element) {
725
739
  if (isAgentSessionSection(element)) {
726
740
  const count = element.sessions.length;
727
741
  if (count === 1) {
728
- return localize(5216, "{0} sessions section, {1} session", element.label, count);
742
+ return localize(5284, "{0} sessions section, {1} session", element.label, count);
729
743
  }
730
- return localize(5217, "{0} sessions section, {1} sessions", element.label, count);
744
+ return localize(5285, "{0} sessions section, {1} sessions", element.label, count);
731
745
  }
732
746
  if (isAgentSessionShowMore(element)) {
733
- return localize(5218, "Show {0} more sessions", element.remainingCount);
747
+ return localize(5286, "Show {0} more sessions", element.remainingCount);
734
748
  }
735
749
  if (isAgentSessionShowLess(element)) {
736
- return localize(5219, "Show less sessions");
750
+ return localize(5287, "Show less sessions");
737
751
  }
738
752
  return localize(
739
- 5220,
753
+ 5288,
740
754
  "{0} session {1} ({2}), created {3}",
741
755
  element.providerLabel,
742
756
  element.label,
@@ -1065,14 +1079,14 @@ function extractRepoNameFromPath(dirPath) {
1065
1079
  return segments[segments.length - 1];
1066
1080
  }
1067
1081
  const AgentSessionSectionLabels = {
1068
- [AgentSessionSection.Pinned]: ( localize(5221, "Pinned")),
1069
- [AgentSessionSection.Today]: ( localize(5222, "Today")),
1070
- [AgentSessionSection.Yesterday]: ( localize(5223, "Yesterday")),
1071
- [AgentSessionSection.Week]: ( localize(5224, "Last 7 days")),
1072
- [AgentSessionSection.Older]: ( localize(5225, "Older")),
1073
- [AgentSessionSection.Archived]: ( localize(5226, "Archived")),
1074
- [AgentSessionSection.More]: ( localize(5227, "More")),
1075
- [AgentSessionSection.Repository]: ( localize(5228, "Other"))
1082
+ [AgentSessionSection.Pinned]: ( localize(5289, "Pinned")),
1083
+ [AgentSessionSection.Today]: ( localize(5290, "Today")),
1084
+ [AgentSessionSection.Yesterday]: ( localize(5291, "Yesterday")),
1085
+ [AgentSessionSection.Week]: ( localize(5292, "Last 7 days")),
1086
+ [AgentSessionSection.Older]: ( localize(5293, "Older")),
1087
+ [AgentSessionSection.Archived]: ( localize(5294, "Archived")),
1088
+ [AgentSessionSection.More]: ( localize(5295, "More")),
1089
+ [AgentSessionSection.Repository]: ( localize(5296, "Other"))
1076
1090
  };
1077
1091
  const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
1078
1092
  const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
@@ -1137,10 +1151,10 @@ function sessionDateFromNow(sessionTime, appendAgoLabel) {
1137
1151
  const startOfYesterday = startOfToday - DAY_THRESHOLD;
1138
1152
  const startOfTwoDaysAgo = startOfYesterday - DAY_THRESHOLD;
1139
1153
  if (sessionTime < startOfToday && sessionTime >= startOfYesterday) {
1140
- return appendAgoLabel ? ( localize(5229, "1 day ago")) : ( localize(5230, "1 day"));
1154
+ return appendAgoLabel ? ( localize(5297, "1 day ago")) : ( localize(5298, "1 day"));
1141
1155
  }
1142
1156
  if (sessionTime < startOfYesterday && sessionTime >= startOfTwoDaysAgo) {
1143
- return appendAgoLabel ? ( localize(5231, "2 days ago")) : ( localize(5232, "2 days"));
1157
+ return appendAgoLabel ? ( localize(5299, "2 days ago")) : ( localize(5300, "2 days"));
1144
1158
  }
1145
1159
  return fromNow(sessionTime, appendAgoLabel);
1146
1160
  }
@@ -1247,7 +1261,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
1247
1261
  if (sessions.length === 1) {
1248
1262
  return sessions[0].label;
1249
1263
  }
1250
- return localize(5233, "{0} agent sessions", sessions.length);
1264
+ return localize(5301, "{0} agent sessions", sessions.length);
1251
1265
  }
1252
1266
  onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
1253
1267
  return false;
@@ -44,6 +44,14 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
44
44
  this.addContext(context);
45
45
  }
46
46
  return;
47
+ } else if (uri.scheme === Schemas.vscodeBrowser) {
48
+ const entry = await this.chatAttachmentResolveService.resolveEditorAttachContext({
49
+ resource: uri
50
+ });
51
+ if (entry) {
52
+ this.addContext(entry);
53
+ }
54
+ return;
47
55
  } else {
48
56
  this.addContext(this.asFileVariableEntry(uri, range));
49
57
  }
@@ -22,8 +22,9 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
22
22
  import { IPreferencesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service";
23
23
  import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
24
24
  import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
25
+ import { IBrowserViewWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/browserView/common/browserView.service";
25
26
  import { IChatContentReference } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
26
- import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
27
+ import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IBrowserViewVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
27
28
  import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
28
29
  import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
29
30
  import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
@@ -187,6 +188,27 @@ export declare class SCMHistoryItemChangeRangeAttachmentWidget extends AbstractC
187
188
  protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: true): Promise<void>;
188
189
  protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: false, range: IRange | undefined): Promise<void>;
189
190
  }
191
+ export declare class BrowserViewAttachmentWidget extends AbstractChatAttachmentWidget {
192
+ private readonly _attachment;
193
+ private readonly _options;
194
+ private readonly _browserViewService;
195
+ private readonly _hoverService;
196
+ private readonly _editorService;
197
+ private readonly _instantiationService;
198
+ private readonly _inputListeners;
199
+ private _input;
200
+ constructor(_attachment: IBrowserViewVariableEntry, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, _options: {
201
+ shouldFocusClearButton: boolean;
202
+ supportsDeletion: boolean;
203
+ }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, _browserViewService: IBrowserViewWorkbenchService, _hoverService: IHoverService, _editorService: IEditorService, _instantiationService: IInstantiationService);
204
+ /**
205
+ * Look up the current BrowserEditorInput for this attachment's browser ID, bind listeners, and refresh the UI.
206
+ */
207
+ private _resolveInput;
208
+ private _updateLabel;
209
+ protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: true): Promise<void>;
210
+ protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: false, range: IRange | undefined): Promise<void>;
211
+ }
190
212
  export declare function hookUpResourceAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, resource: URI): IDisposable;
191
213
  export declare function hookUpSymbolAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, parentContextKeyService: IContextKeyService, attachment: {
192
214
  name: string;