@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.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 (334) hide show
  1. package/index.js +24 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
  4. package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
  5. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
  10. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
  61. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
  62. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
  132. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
  133. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
  134. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
  147. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
  148. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
  149. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
  150. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
  175. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
  176. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
  177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
  178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
  179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
  184. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
  185. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
  205. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
  206. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
  207. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
  208. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
  209. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
  222. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  223. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
  235. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
  314. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
  315. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
  316. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
  317. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
  318. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
  321. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
  329. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
  330. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
  331. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
  332. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
@@ -0,0 +1,195 @@
1
+
2
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
3
+ import { KeyChord, KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
4
+ import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
+ import { registerAction2, MenuId, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
6
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
7
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
9
+ import { InputFocusedContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
10
+ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
11
+ import { MENU_INLINE_CHAT_WIDGET_STATUS, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, CTX_INLINE_CHAT_RESPONSE_TYPE, InlineChatResponseType, CTX_INLINE_CHAT_VISIBLE } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
12
+ import { CTX_NOTEBOOK_CHAT_HAS_AGENT } from './notebookChatContext.js';
13
+ import { NotebookAction, getEditorFromArgsOrActivePane, getContextFromActiveEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/controller/coreActions';
14
+ import { insertNewCell } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/controller/insertCellActions';
15
+ import { NotebookSetting, CellKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
16
+ import { NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_EDITOR_FOCUSED } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys';
17
+ import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
18
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
19
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
20
+ import { InlineChatController } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
21
+ import { EditorAction2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
22
+
23
+ async function startChat(accessor, context, index, input, autoSend, source) {
24
+ const configurationService = accessor.get(IConfigurationService);
25
+ const commandService = accessor.get(ICommandService);
26
+ if (configurationService.getValue(NotebookSetting.cellGenerate) || configurationService.getValue(NotebookSetting.cellChat)) {
27
+ const activeCell = context.notebookEditor.getActiveCell();
28
+ const targetCell = activeCell?.getTextLength() === 0 && source !== "insertToolbar" ? activeCell : (await insertNewCell(accessor, context, CellKind.Code, "below"));
29
+ if (targetCell) {
30
+ targetCell.enableAutoLanguageDetection();
31
+ await context.notebookEditor.revealFirstLineIfOutsideViewport(targetCell);
32
+ const codeEditor = context.notebookEditor.codeEditors.find(ce => ce[0] === targetCell)?.[1];
33
+ if (codeEditor) {
34
+ codeEditor.focus();
35
+ commandService.executeCommand("inlineChat.start");
36
+ }
37
+ }
38
+ }
39
+ }
40
+ registerAction2(class extends NotebookAction {
41
+ constructor() {
42
+ super({
43
+ id: "notebook.cell.chat.start",
44
+ title: {
45
+ value: "$(sparkle) " + ( localize(9676, "Generate")),
46
+ original: "$(sparkle) Generate"
47
+ },
48
+ tooltip: ( localize(9677, "Start Chat to Generate Code")),
49
+ metadata: {
50
+ description: ( localize(9677, "Start Chat to Generate Code")),
51
+ args: [{
52
+ name: "args",
53
+ schema: {
54
+ type: "object",
55
+ required: ["index"],
56
+ properties: {
57
+ "index": {
58
+ type: "number"
59
+ },
60
+ "input": {
61
+ type: "string"
62
+ },
63
+ "autoSend": {
64
+ type: "boolean"
65
+ }
66
+ }
67
+ }
68
+ }]
69
+ },
70
+ f1: false,
71
+ keybinding: {
72
+ when: ( ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, ( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), ContextKeyExpr.not(InputFocusedContextKey), CTX_NOTEBOOK_CHAT_HAS_AGENT, ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${NotebookSetting.cellChat}`, true)), ( ContextKeyExpr.equals(`config.${NotebookSetting.cellGenerate}`, true)))))),
73
+ weight: KeybindingWeight.WorkbenchContrib,
74
+ primary: KeyMod.CtrlCmd | KeyCode.KeyI,
75
+ secondary: [KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyCode.KeyI)]
76
+ },
77
+ menu: [{
78
+ id: MenuId.NotebookCellBetween,
79
+ group: "inline",
80
+ order: -1,
81
+ when: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), CTX_NOTEBOOK_CHAT_HAS_AGENT, ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${NotebookSetting.cellChat}`, true)), ( ContextKeyExpr.equals(`config.${NotebookSetting.cellGenerate}`, true))))))
82
+ }]
83
+ });
84
+ }
85
+ getEditorContextFromArgsOrActive(accessor, ...args) {
86
+ const [firstArg] = args;
87
+ if (!firstArg) {
88
+ const notebookEditor = getEditorFromArgsOrActivePane(accessor);
89
+ if (!notebookEditor) {
90
+ return undefined;
91
+ }
92
+ const activeCell = notebookEditor.getActiveCell();
93
+ if (!activeCell) {
94
+ return undefined;
95
+ }
96
+ return {
97
+ cell: activeCell,
98
+ notebookEditor,
99
+ input: undefined,
100
+ autoSend: undefined
101
+ };
102
+ }
103
+ if (typeof firstArg !== "object" || typeof firstArg.index !== "number") {
104
+ return undefined;
105
+ }
106
+ const notebookEditor = getEditorFromArgsOrActivePane(accessor);
107
+ if (!notebookEditor) {
108
+ return undefined;
109
+ }
110
+ const cell = firstArg.index <= 0 ? undefined : notebookEditor.cellAt(firstArg.index - 1);
111
+ return {
112
+ cell,
113
+ notebookEditor,
114
+ input: firstArg.input,
115
+ autoSend: firstArg.autoSend
116
+ };
117
+ }
118
+ async runWithContext(accessor, context) {
119
+ const index = Math.max(
120
+ 0,
121
+ context.cell ? context.notebookEditor.getCellIndex(context.cell) + 1 : 0
122
+ );
123
+ await startChat(accessor, context, index, context.input, context.autoSend, context.source);
124
+ }
125
+ });
126
+ registerAction2(class extends NotebookAction {
127
+ constructor() {
128
+ super({
129
+ id: "notebook.cell.chat.startAtTop",
130
+ title: {
131
+ value: "$(sparkle) " + ( localize(9676, "Generate")),
132
+ original: "$(sparkle) Generate"
133
+ },
134
+ tooltip: ( localize(9677, "Start Chat to Generate Code")),
135
+ f1: false,
136
+ menu: [{
137
+ id: MenuId.NotebookCellListTop,
138
+ group: "inline",
139
+ order: -1,
140
+ when: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), CTX_NOTEBOOK_CHAT_HAS_AGENT, ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${NotebookSetting.cellChat}`, true)), ( ContextKeyExpr.equals(`config.${NotebookSetting.cellGenerate}`, true))))))
141
+ }]
142
+ });
143
+ }
144
+ async runWithContext(accessor, context) {
145
+ await startChat(accessor, context);
146
+ }
147
+ });
148
+ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
149
+ command: {
150
+ id: "notebook.cell.chat.start",
151
+ icon: Codicon.sparkle,
152
+ title: ( localize(9678, "Generate")),
153
+ tooltip: ( localize(9679, "Start Chat to Generate Code"))
154
+ },
155
+ order: -10,
156
+ group: "navigation/add",
157
+ when: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), ( ContextKeyExpr.notEquals("config.notebook.insertToolbarLocation", "betweenCells")), ( ContextKeyExpr.notEquals("config.notebook.insertToolbarLocation", "hidden")), CTX_NOTEBOOK_CHAT_HAS_AGENT, ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${NotebookSetting.cellChat}`, true)), ( ContextKeyExpr.equals(`config.${NotebookSetting.cellGenerate}`, true))))))
158
+ });
159
+ class AcceptChangesAndRun extends EditorAction2 {
160
+ constructor() {
161
+ super({
162
+ id: "notebook.inlineChat.acceptChangesAndRun",
163
+ title: ( localize2(9680, "Accept and Run")),
164
+ shortTitle: ( localize(9681, "Accept & Run")),
165
+ tooltip: ( localize(9682, "Accept the changes and run the cell")),
166
+ icon: Codicon.check,
167
+ f1: true,
168
+ precondition: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), CTX_INLINE_CHAT_VISIBLE)),
169
+ keybinding: undefined,
170
+ menu: [{
171
+ id: MENU_INLINE_CHAT_WIDGET_STATUS,
172
+ group: "0_main",
173
+ order: 2,
174
+ when: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), ( ChatContextKeys.inputHasText.toNegated()), ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), ( CTX_INLINE_CHAT_RESPONSE_TYPE.isEqualTo(InlineChatResponseType.MessagesAndEdits))))
175
+ }]
176
+ });
177
+ }
178
+ runEditorCommand(accessor, codeEditor) {
179
+ const editor = getContextFromActiveEditor(accessor.get(IEditorService));
180
+ const ctrl = InlineChatController.get(codeEditor);
181
+ if (!editor || !ctrl) {
182
+ return;
183
+ }
184
+ const matchedCell = editor.notebookEditor.codeEditors.find(e => e[1] === codeEditor);
185
+ const cell = matchedCell?.[0];
186
+ if (!cell) {
187
+ return;
188
+ }
189
+ ctrl.acceptSession();
190
+ return editor.notebookEditor.executeNotebookCells(Iterable.single(cell));
191
+ }
192
+ }
193
+ registerAction2(AcceptChangesAndRun);
194
+
195
+ export { AcceptChangesAndRun };
@@ -0,0 +1,8 @@
1
+ import { Action2 } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
2
+ import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
3
+ export declare class SelectAndInsertKernelVariableAction extends Action2 {
4
+ constructor();
5
+ static readonly ID = "notebook.chat.selectAndInsertKernelVariable";
6
+ run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void>;
7
+ private addVariableReference;
8
+ }
@@ -0,0 +1,368 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
+ import { codiconsLibrary } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codiconsLibrary';
6
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
8
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
9
+ import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
10
+ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { Action2, registerAction2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
13
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
14
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
15
+ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
16
+ import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
17
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
18
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
19
+ import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service';
20
+ import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
21
+ import { computeCompletionRanges } from '../../../../chat/browser/widget/input/editor/chatInputCompletions.js';
22
+ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
23
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
24
+ import { chatVariableLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
25
+ import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
26
+ import { NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT, NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_CELL_OUTPUT_MIMETYPE } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys';
27
+ import { INotebookKernelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookKernelService.service';
28
+ import { NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT_CONST, createNotebookOutputVariableEntry } from '../../contrib/chat/notebookChatUtils.js';
29
+ import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
30
+ import { copyIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/notebookIcons';
31
+ import { getOutputViewModelFromId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/controller/cellOutputActions';
32
+ import { NOTEBOOK_ACTIONS_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/controller/coreActions';
33
+ import './cellChatActions.js';
34
+ import { CTX_NOTEBOOK_CHAT_HAS_AGENT } from './notebookChatContext.js';
35
+
36
+ const NotebookKernelVariableKey = "kernelVariable";
37
+ let NotebookChatContribution = class NotebookChatContribution extends Disposable {
38
+ static {
39
+ this.ID = "workbench.contrib.notebookChatContribution";
40
+ }
41
+ constructor(
42
+ contextKeyService,
43
+ chatAgentService,
44
+ editorService,
45
+ chatWidgetService,
46
+ notebookKernelService,
47
+ languageFeaturesService,
48
+ chatContextPickService
49
+ ) {
50
+ super();
51
+ this.editorService = editorService;
52
+ this.chatWidgetService = chatWidgetService;
53
+ this.notebookKernelService = notebookKernelService;
54
+ this.languageFeaturesService = languageFeaturesService;
55
+ this._register(chatContextPickService.registerChatContextItem(( new KernelVariableContextPicker(this.editorService, this.notebookKernelService))));
56
+ this._ctxHasProvider = CTX_NOTEBOOK_CHAT_HAS_AGENT.bindTo(contextKeyService);
57
+ const updateNotebookAgentStatus = () => {
58
+ const hasNotebookAgent = Boolean(chatAgentService.getDefaultAgent(ChatAgentLocation.Notebook));
59
+ this._ctxHasProvider.set(hasNotebookAgent);
60
+ };
61
+ updateNotebookAgentStatus();
62
+ this._register(chatAgentService.onDidChangeAgents(updateNotebookAgentStatus));
63
+ this._register(this.languageFeaturesService.completionProvider.register({
64
+ scheme: Schemas.vscodeChatInput,
65
+ hasAccessToAllModels: true
66
+ }, {
67
+ _debugDisplayName: "chatKernelDynamicCompletions",
68
+ triggerCharacters: [chatVariableLeader],
69
+ provideCompletionItems: async (model, position, _context, token) => {
70
+ const widget = this.chatWidgetService.getWidgetByInputUri(model.uri);
71
+ if (!widget || !widget.supportsFileReferences) {
72
+ return null;
73
+ }
74
+ if (widget.location !== ChatAgentLocation.Notebook) {
75
+ return null;
76
+ }
77
+ const variableNameDef = ( new RegExp(`${chatVariableLeader}\\w*`, "g"));
78
+ const range = computeCompletionRanges(model, position, variableNameDef, true);
79
+ if (!range) {
80
+ return null;
81
+ }
82
+ const result = {
83
+ suggestions: []
84
+ };
85
+ const afterRange = ( new Range(
86
+ position.lineNumber,
87
+ range.replace.startColumn,
88
+ position.lineNumber,
89
+ range.replace.startColumn + `${chatVariableLeader}${NotebookKernelVariableKey}:`.length
90
+ ));
91
+ result.suggestions.push({
92
+ label: `${chatVariableLeader}${NotebookKernelVariableKey}`,
93
+ insertText: `${chatVariableLeader}${NotebookKernelVariableKey}:`,
94
+ detail: ( localize(9683, "Pick a variable from the kernel")),
95
+ range,
96
+ kind: CompletionItemKind.Text,
97
+ command: {
98
+ id: SelectAndInsertKernelVariableAction.ID,
99
+ title: SelectAndInsertKernelVariableAction.ID,
100
+ arguments: [{
101
+ widget,
102
+ range: afterRange
103
+ }]
104
+ },
105
+ sortText: "z"
106
+ });
107
+ await this.addKernelVariableCompletion(widget, result, range, token);
108
+ return result;
109
+ }
110
+ }));
111
+ NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT.bindTo(contextKeyService).set(NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT_CONST);
112
+ }
113
+ async addKernelVariableCompletion(widget, result, info, token) {
114
+ let pattern;
115
+ if (info.varWord?.word && info.varWord.word.startsWith(chatVariableLeader)) {
116
+ pattern = info.varWord.word.toLowerCase().slice(1);
117
+ }
118
+ const notebook = getNotebookEditorFromEditorPane(this.editorService.activeEditorPane)?.getViewModel()?.notebookDocument;
119
+ if (!notebook) {
120
+ return;
121
+ }
122
+ const selectedKernel = this.notebookKernelService.getMatchingKernel(notebook).selected;
123
+ const hasVariableProvider = selectedKernel?.hasVariableProvider;
124
+ if (!hasVariableProvider) {
125
+ return;
126
+ }
127
+ const variables = selectedKernel.provideVariables(notebook.uri, undefined, "named", 0, CancellationToken.None);
128
+ for await (const variable of variables) {
129
+ if (pattern && !variable.name.toLowerCase().includes(pattern)) {
130
+ continue;
131
+ }
132
+ result.suggestions.push({
133
+ label: {
134
+ label: variable.name,
135
+ description: variable.type
136
+ },
137
+ insertText: `${chatVariableLeader}${NotebookKernelVariableKey}:${variable.name} `,
138
+ filterText: `${chatVariableLeader}${variable.name}`,
139
+ range: info,
140
+ kind: CompletionItemKind.Variable,
141
+ sortText: "z",
142
+ command: {
143
+ id: SelectAndInsertKernelVariableAction.ID,
144
+ title: SelectAndInsertKernelVariableAction.ID,
145
+ arguments: [{
146
+ widget,
147
+ range: info.insert,
148
+ variable: variable.name
149
+ }]
150
+ },
151
+ detail: variable.type,
152
+ documentation: variable.value
153
+ });
154
+ }
155
+ }
156
+ };
157
+ NotebookChatContribution = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IChatAgentService)), ( __param(2, IEditorService)), ( __param(3, IChatWidgetService)), ( __param(4, INotebookKernelService)), ( __param(5, ILanguageFeaturesService)), ( __param(6, IChatContextPickService))], NotebookChatContribution));
158
+ class SelectAndInsertKernelVariableAction extends Action2 {
159
+ constructor() {
160
+ super({
161
+ id: SelectAndInsertKernelVariableAction.ID,
162
+ title: ""
163
+ });
164
+ }
165
+ static {
166
+ this.ID = "notebook.chat.selectAndInsertKernelVariable";
167
+ }
168
+ async run(accessor, ...args) {
169
+ const editorService = accessor.get(IEditorService);
170
+ const notebookKernelService = accessor.get(INotebookKernelService);
171
+ const quickInputService = accessor.get(IQuickInputService);
172
+ const notebook = getNotebookEditorFromEditorPane(editorService.activeEditorPane)?.getViewModel()?.notebookDocument;
173
+ if (!notebook) {
174
+ return;
175
+ }
176
+ const context = args[0];
177
+ if (!context || !("widget" in context) || !("range" in context)) {
178
+ return;
179
+ }
180
+ const widget = context.widget;
181
+ const range = context.range;
182
+ const variable = context.variable;
183
+ if (variable !== undefined) {
184
+ this.addVariableReference(widget, variable, range, false);
185
+ return;
186
+ }
187
+ const selectedKernel = notebookKernelService.getMatchingKernel(notebook).selected;
188
+ const hasVariableProvider = selectedKernel?.hasVariableProvider;
189
+ if (!hasVariableProvider) {
190
+ return;
191
+ }
192
+ const variables = selectedKernel.provideVariables(notebook.uri, undefined, "named", 0, CancellationToken.None);
193
+ const quickPickItems = [];
194
+ for await (const variable of variables) {
195
+ quickPickItems.push({
196
+ label: variable.name,
197
+ description: variable.value,
198
+ detail: variable.type
199
+ });
200
+ }
201
+ const placeHolder = quickPickItems.length > 0 ? ( localize(9684, "Select a kernel variable")) : ( localize(9685, "No kernel variables found"));
202
+ const pickedVariable = await quickInputService.pick(quickPickItems, {
203
+ placeHolder
204
+ });
205
+ if (!pickedVariable) {
206
+ return;
207
+ }
208
+ this.addVariableReference(widget, pickedVariable.label, range, true);
209
+ }
210
+ addVariableReference(widget, variableName, range, updateText) {
211
+ if (range) {
212
+ const text = `#kernelVariable:${variableName}`;
213
+ if (updateText) {
214
+ const editor = widget.inputEditor;
215
+ const success = editor.executeEdits("chatInsertFile", [{
216
+ range,
217
+ text: text + " "
218
+ }]);
219
+ if (!success) {
220
+ return;
221
+ }
222
+ }
223
+ widget.getContrib(ChatDynamicVariableModel.ID)?.addReference({
224
+ id: "vscode.notebook.variable",
225
+ range: {
226
+ startLineNumber: range.startLineNumber,
227
+ startColumn: range.startColumn,
228
+ endLineNumber: range.endLineNumber,
229
+ endColumn: range.startColumn + text.length
230
+ },
231
+ data: variableName,
232
+ fullName: variableName,
233
+ icon: codiconsLibrary.variable
234
+ });
235
+ } else {
236
+ widget.attachmentModel.addContext({
237
+ id: "vscode.notebook.variable",
238
+ name: variableName,
239
+ value: variableName,
240
+ icon: codiconsLibrary.variable,
241
+ kind: "generic"
242
+ });
243
+ }
244
+ }
245
+ }
246
+ let KernelVariableContextPicker = class KernelVariableContextPicker {
247
+ constructor(editorService, notebookKernelService) {
248
+ this.editorService = editorService;
249
+ this.notebookKernelService = notebookKernelService;
250
+ this.type = "pickerPick";
251
+ this.label = ( localize(9686, "Kernel Variable..."));
252
+ this.icon = Codicon.serverEnvironment;
253
+ }
254
+ isEnabled(widget) {
255
+ return widget.location === ChatAgentLocation.Notebook && Boolean(
256
+ getNotebookEditorFromEditorPane(this.editorService.activeEditorPane)?.getViewModel()?.notebookDocument
257
+ );
258
+ }
259
+ asPicker() {
260
+ const picks = (async () => {
261
+ const notebook = getNotebookEditorFromEditorPane(this.editorService.activeEditorPane)?.getViewModel()?.notebookDocument;
262
+ if (!notebook) {
263
+ return [];
264
+ }
265
+ const selectedKernel = this.notebookKernelService.getMatchingKernel(notebook).selected;
266
+ const hasVariableProvider = selectedKernel?.hasVariableProvider;
267
+ if (!hasVariableProvider) {
268
+ return [];
269
+ }
270
+ const variables = selectedKernel.provideVariables(notebook.uri, undefined, "named", 0, CancellationToken.None);
271
+ const result = [];
272
+ for await (const variable of variables) {
273
+ result.push({
274
+ label: variable.name,
275
+ description: variable.value,
276
+ asAttachment: () => {
277
+ return {
278
+ kind: "generic",
279
+ id: "vscode.notebook.variable",
280
+ name: variable.name,
281
+ value: variable.value,
282
+ icon: codiconsLibrary.variable
283
+ };
284
+ }
285
+ });
286
+ }
287
+ return result;
288
+ })();
289
+ return {
290
+ placeholder: ( localize(9687, "Select a kernel variable")),
291
+ picks
292
+ };
293
+ }
294
+ };
295
+ KernelVariableContextPicker = ( __decorate([( __param(0, IEditorService)), ( __param(1, INotebookKernelService))], KernelVariableContextPicker));
296
+ registerAction2(class AddCellOutputToChatAction extends Action2 {
297
+ constructor() {
298
+ super({
299
+ id: "notebook.cellOutput.addToChat",
300
+ title: ( localize(9688, "Add Cell Output to Chat")),
301
+ menu: {
302
+ id: MenuId.NotebookOutputToolbar,
303
+ when: ( ContextKeyExpr.and(NOTEBOOK_CELL_HAS_OUTPUTS, ContextKeyExpr.in(
304
+ NOTEBOOK_CELL_OUTPUT_MIMETYPE.key,
305
+ NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT.key
306
+ ))),
307
+ order: 10,
308
+ group: "notebook_chat_actions"
309
+ },
310
+ category: NOTEBOOK_ACTIONS_CATEGORY,
311
+ icon: copyIcon,
312
+ precondition: ChatContextKeys.enabled
313
+ });
314
+ }
315
+ getNoteboookEditor(editorService, outputContext) {
316
+ if (outputContext && "notebookEditor" in outputContext) {
317
+ return outputContext.notebookEditor;
318
+ }
319
+ return getNotebookEditorFromEditorPane(editorService.activeEditorPane);
320
+ }
321
+ async run(accessor, outputContext) {
322
+ const notebookEditor = this.getNoteboookEditor(accessor.get(IEditorService), outputContext);
323
+ if (!notebookEditor) {
324
+ return;
325
+ }
326
+ let outputViewModel;
327
+ if (outputContext && "outputId" in outputContext && typeof outputContext.outputId === "string") {
328
+ outputViewModel = getOutputViewModelFromId(outputContext.outputId, notebookEditor);
329
+ } else if (outputContext && "outputViewModel" in outputContext) {
330
+ outputViewModel = outputContext.outputViewModel;
331
+ }
332
+ if (!outputViewModel) {
333
+ const activeCell = notebookEditor.getActiveCell();
334
+ if (!activeCell) {
335
+ return;
336
+ }
337
+ if (activeCell.focusedOutputId !== undefined) {
338
+ outputViewModel = activeCell.outputsViewModels.find(output => {
339
+ return output.model.outputId === activeCell.focusedOutputId;
340
+ });
341
+ } else {
342
+ outputViewModel = activeCell.outputsViewModels.find(output => output.pickedMimeType?.isTrusted);
343
+ }
344
+ }
345
+ if (!outputViewModel) {
346
+ return;
347
+ }
348
+ const mimeType = outputViewModel.pickedMimeType?.mimeType;
349
+ const chatWidgetService = accessor.get(IChatWidgetService);
350
+ const widget = await chatWidgetService.revealWidget();
351
+ if (widget && mimeType && NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT_CONST.includes(mimeType)) {
352
+ const entry = createNotebookOutputVariableEntry(outputViewModel, mimeType, notebookEditor);
353
+ if (!entry) {
354
+ return;
355
+ }
356
+ widget.attachmentModel.addContext(entry);
357
+ (await chatWidgetService.revealWidget())?.focusInput();
358
+ }
359
+ }
360
+ });
361
+ registerAction2(SelectAndInsertKernelVariableAction);
362
+ registerWorkbenchContribution2(
363
+ NotebookChatContribution.ID,
364
+ NotebookChatContribution,
365
+ WorkbenchPhase.BlockRestore
366
+ );
367
+
368
+ export { SelectAndInsertKernelVariableAction };
@@ -0,0 +1,2 @@
1
+ import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
2
+ export declare const CTX_NOTEBOOK_CHAT_HAS_AGENT: RawContextKey<boolean>;
@@ -0,0 +1,7 @@
1
+
2
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+ import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
4
+
5
+ const CTX_NOTEBOOK_CHAT_HAS_AGENT = ( new RawContextKey("notebookChatAgentRegistered", false, ( localize(9689, "Whether a chat agent for notebook is registered"))));
6
+
7
+ export { CTX_NOTEBOOK_CHAT_HAS_AGENT };
@@ -1,5 +1,5 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { CellDiffInfo } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel";
2
+ import { CellDiffInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel";
3
3
  import { INotebookEditor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
4
4
  export declare class NotebookModifiedCellDecorator extends Disposable {
5
5
  private readonly notebookEditor;
@@ -16,7 +16,7 @@ class NotebookModifiedCellDecorator extends Disposable {
16
16
  }
17
17
  const modifiedCells = [];
18
18
  for (const diff of diffInfo) {
19
- if (diff.type === 'modified') {
19
+ if (diff.type === "modified") {
20
20
  const cell = model.cells[diff.modifiedCellIndex];
21
21
  modifiedCells.push(cell);
22
22
  }