@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
@@ -7,9 +7,14 @@ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/fi
7
7
  import { IWorkspaceTrustManagementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
8
8
  import { areWorkspaceFoldersEmpty } from '../../../../services/workspaces/common/workspaceUtils.js';
9
9
 
10
- const transferredWorkspacesKey = 'chat.transferedWorkspaces';
10
+ const transferredWorkspacesKey = "chat.transferedWorkspaces";
11
11
  let ChatTransferService = class ChatTransferService {
12
- constructor(workspaceService, storageService, fileService, workspaceTrustManagementService) {
12
+ constructor(
13
+ workspaceService,
14
+ storageService,
15
+ fileService,
16
+ workspaceTrustManagementService
17
+ ) {
13
18
  this.workspaceService = workspaceService;
14
19
  this.storageService = storageService;
15
20
  this.fileService = fileService;
@@ -18,12 +23,22 @@ let ChatTransferService = class ChatTransferService {
18
23
  deleteWorkspaceFromTransferredList(workspace) {
19
24
  const transferredWorkspaces = this.storageService.getObject(transferredWorkspacesKey, StorageScope.PROFILE, []);
20
25
  const updatedWorkspaces = transferredWorkspaces.filter(uri => uri !== ( workspace.toString()));
21
- this.storageService.store(transferredWorkspacesKey, updatedWorkspaces, StorageScope.PROFILE, StorageTarget.MACHINE);
26
+ this.storageService.store(
27
+ transferredWorkspacesKey,
28
+ updatedWorkspaces,
29
+ StorageScope.PROFILE,
30
+ StorageTarget.MACHINE
31
+ );
22
32
  }
23
33
  addWorkspaceToTransferred(workspace) {
24
34
  const transferredWorkspaces = this.storageService.getObject(transferredWorkspacesKey, StorageScope.PROFILE, []);
25
35
  transferredWorkspaces.push(( workspace.toString()));
26
- this.storageService.store(transferredWorkspacesKey, transferredWorkspaces, StorageScope.PROFILE, StorageTarget.MACHINE);
36
+ this.storageService.store(
37
+ transferredWorkspacesKey,
38
+ transferredWorkspaces,
39
+ StorageScope.PROFILE,
40
+ StorageTarget.MACHINE
41
+ );
27
42
  }
28
43
  async checkAndSetTransferredWorkspaceTrust() {
29
44
  const workspace = this.workspaceService.getWorkspace();
@@ -44,11 +59,6 @@ let ChatTransferService = class ChatTransferService {
44
59
  return ( chatWorkspaceTransfer.some(item => ( item.toString()) === ( workspace.toString())));
45
60
  }
46
61
  };
47
- ChatTransferService = ( __decorate([
48
- ( __param(0, IWorkspaceContextService)),
49
- ( __param(1, IStorageService)),
50
- ( __param(2, IFileService)),
51
- ( __param(3, IWorkspaceTrustManagementService))
52
- ], ChatTransferService));
62
+ ChatTransferService = ( __decorate([( __param(0, IWorkspaceContextService)), ( __param(1, IStorageService)), ( __param(2, IFileService)), ( __param(3, IWorkspaceTrustManagementService))], ChatTransferService));
53
63
 
54
64
  export { ChatTransferService };
@@ -0,0 +1,109 @@
1
+ import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
2
+ /** IMPORTANT: `Key` comes first. Then we should sort in order of least->most expensive to diff */
3
+ declare enum TransformKind {
4
+ Key = 0,
5
+ Primitive = 1,
6
+ Array = 2,
7
+ Object = 3
8
+ }
9
+ /** Schema entries sorted with key properties first */
10
+ export type SchemaEntries = [
11
+ string,
12
+ Transform<unknown, unknown>
13
+ ][];
14
+ interface TransformBase<TFrom, TTo> {
15
+ readonly kind: TransformKind;
16
+ /** Extracts the serializable value from the source object */
17
+ extract(from: TFrom): TTo;
18
+ }
19
+ /** Transform for primitive values (keys and values) that can be compared for equality */
20
+ export interface TransformValue<TFrom, TTo> extends TransformBase<TFrom, TTo> {
21
+ readonly kind: TransformKind.Key | TransformKind.Primitive;
22
+ /** Compares two serialized values for equality */
23
+ equals(a: TTo, b: TTo): boolean;
24
+ }
25
+ /** Transform for arrays with an item schema */
26
+ export interface TransformArray<TFrom, TTo> extends TransformBase<TFrom, TTo> {
27
+ readonly kind: TransformKind.Array;
28
+ /** The schema for array items */
29
+ readonly itemSchema: TransformObject<unknown, unknown> | TransformValue<unknown, unknown>;
30
+ }
31
+ /** Transform for objects with child properties */
32
+ export interface TransformObject<TFrom, TTo> extends TransformBase<TFrom, TTo> {
33
+ readonly kind: TransformKind.Object;
34
+ /** Schema entries sorted with Key properties first */
35
+ readonly children: SchemaEntries;
36
+ /** Checks if the object is sealed (won't change). */
37
+ sealed?(obj: TTo, wasSerialized: boolean): boolean;
38
+ }
39
+ export type Transform<TFrom, TTo> = TransformValue<TFrom, TTo> | TransformArray<TFrom, TTo> | TransformObject<TFrom, TTo>;
40
+ export type Schema<TFrom, TTo> = {
41
+ [K in keyof Required<TTo>]: Transform<TFrom, TTo[K]>;
42
+ };
43
+ /**
44
+ * A primitive that will be tracked and compared first. If this is changed, the entire
45
+ * object is thrown out and re-stored.
46
+ */
47
+ export declare function key<T, R = T>(comparator?: (a: R, b: R) => boolean): TransformValue<T, R>;
48
+ /** A value that will be tracked and replaced if the comparator is not equal. */
49
+ export declare function value<T, R extends string | number | boolean | undefined>(): TransformValue<T, R>;
50
+ export declare function value<T, R>(comparator: (a: R, b: R) => boolean): TransformValue<T, R>;
51
+ /** An array that will use the schema to compare items positionally. */
52
+ export declare function array<T, R>(schema: TransformObject<T, R> | TransformValue<T, R>): TransformArray<readonly T[], R[]>;
53
+ export interface ObjectOptions<R> {
54
+ /**
55
+ * Returns true if the object is sealed and will never change again.
56
+ * When comparing two sealed objects, only key fields are compared
57
+ * (to detect replacement), but other fields are not diffed.
58
+ */
59
+ sealed?: (obj: R, wasSerialized: boolean) => boolean;
60
+ }
61
+ /** An object schema. */
62
+ export declare function object<T, R extends object>(schema: Schema<T, R>, options?: ObjectOptions<R>): TransformObject<T, R>;
63
+ /**
64
+ * Defines a getter on the object to extract a value, compared with the given schema.
65
+ * It should return the value that will get serialized in the resulting log file.
66
+ */
67
+ export declare function t<T, O, R>(getter: (obj: T) => O, schema: Transform<O, R>): Transform<T, R>;
68
+ /** Shortcut for t(fn, value()) */
69
+ export declare function v<T, R extends string | number | boolean | undefined>(getter: (obj: T) => R): TransformValue<T, R>;
70
+ export declare function v<T, R>(getter: (obj: T) => R, comparator: (a: R, b: R) => boolean): TransformValue<T, R>;
71
+ /**
72
+ * An implementation of an append-based mutation logger. Given a `Transform`
73
+ * definition of an object, it can recreate it from a file on disk. It is
74
+ * then stateful, and given a `write` call it can update the log in a minimal
75
+ * way.
76
+ */
77
+ export declare class ObjectMutationLog<TFrom, TTo> {
78
+ private readonly _transform;
79
+ private readonly _compactAfterEntries;
80
+ private _previous;
81
+ private _entryCount;
82
+ constructor(_transform: Transform<TFrom, TTo>, _compactAfterEntries?: number);
83
+ /**
84
+ * Creates an initial log file from the given object.
85
+ */
86
+ createInitial(current: TFrom): VSBuffer;
87
+ /**
88
+ * Creates an initial log file from the serialized object.
89
+ */
90
+ createInitialFromSerialized(value: TTo): VSBuffer;
91
+ /**
92
+ * Reads and reconstructs the state from a log file.
93
+ */
94
+ read(content: VSBuffer): TTo;
95
+ /**
96
+ * Writes updates to the log. Returns the operation type and data to write.
97
+ */
98
+ write(current: TFrom): {
99
+ op: "append" | "replace";
100
+ data: VSBuffer;
101
+ };
102
+ private _applySet;
103
+ private _applyPush;
104
+ private _diff;
105
+ private _diffObject;
106
+ private _diffArray;
107
+ private _hasKeyMismatch;
108
+ }
109
+ export {};
@@ -0,0 +1,349 @@
1
+
2
+ import { assertNever } from '@codingame/monaco-vscode-api/vscode/vs/base/common/assert';
3
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
4
+ import { isUndefinedOrNull } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
5
+
6
+ var TransformKind;
7
+ (function(TransformKind) {
8
+ TransformKind[TransformKind["Key"] = 0] = "Key";
9
+ TransformKind[TransformKind["Primitive"] = 1] = "Primitive";
10
+ TransformKind[TransformKind["Array"] = 2] = "Array";
11
+ TransformKind[TransformKind["Object"] = 3] = "Object";
12
+ })(TransformKind || (TransformKind = {}));
13
+ function key(comparator) {
14
+ return {
15
+ kind: TransformKind.Key,
16
+ extract: from => from,
17
+ equals: comparator ?? ((a, b) => a === b)
18
+ };
19
+ }
20
+ function value(comparator) {
21
+ return {
22
+ kind: TransformKind.Primitive,
23
+ extract: from => {
24
+ let value = from;
25
+ if (!!value && typeof value === "object") {
26
+ value = JSON.parse(JSON.stringify(value));
27
+ }
28
+ return value;
29
+ },
30
+ equals: comparator ?? ((a, b) => a === b)
31
+ };
32
+ }
33
+ function array(schema) {
34
+ return {
35
+ kind: TransformKind.Array,
36
+ itemSchema: schema,
37
+ extract: from => from?.map(item => schema.extract(item))
38
+ };
39
+ }
40
+ function object(schema, options) {
41
+ const entries = Object.entries(schema).sort(([, a], [, b]) => a.kind - b.kind);
42
+ return {
43
+ kind: TransformKind.Object,
44
+ children: entries,
45
+ sealed: options?.sealed,
46
+ extract: from => {
47
+ if (isUndefinedOrNull(from)) {
48
+ return from;
49
+ }
50
+ const result = Object.create(null);
51
+ for (const [key, transform] of entries) {
52
+ result[key] = transform.extract(from);
53
+ }
54
+ return result;
55
+ }
56
+ };
57
+ }
58
+ function t(getter, schema) {
59
+ return {
60
+ ...schema,
61
+ extract: from => schema.extract(getter(from))
62
+ };
63
+ }
64
+ function v(getter, comparator) {
65
+ const inner = value(comparator);
66
+ return {
67
+ ...inner,
68
+ extract: from => inner.extract(getter(from))
69
+ };
70
+ }
71
+ var EntryKind;
72
+ (function(EntryKind) {
73
+ EntryKind[EntryKind["Initial"] = 0] = "Initial";
74
+ EntryKind[EntryKind["Set"] = 1] = "Set";
75
+ EntryKind[EntryKind["Push"] = 2] = "Push";
76
+ EntryKind[EntryKind["Delete"] = 3] = "Delete";
77
+ })(EntryKind || (EntryKind = {}));
78
+ const LF = VSBuffer.fromString("\n");
79
+ class ObjectMutationLog {
80
+ constructor(_transform, _compactAfterEntries = 512) {
81
+ this._transform = _transform;
82
+ this._compactAfterEntries = _compactAfterEntries;
83
+ this._entryCount = 0;
84
+ }
85
+ createInitial(current) {
86
+ return this.createInitialFromSerialized(this._transform.extract(current));
87
+ }
88
+ createInitialFromSerialized(value) {
89
+ this._previous = value;
90
+ this._entryCount = 1;
91
+ const entry = {
92
+ kind: EntryKind.Initial,
93
+ v: value
94
+ };
95
+ return VSBuffer.fromString(JSON.stringify(entry) + "\n");
96
+ }
97
+ read(content) {
98
+ let state;
99
+ let lineCount = 0;
100
+ let start = 0;
101
+ const len = content.byteLength;
102
+ while (start < len) {
103
+ let end = content.indexOf(LF, start);
104
+ if (end === -1) {
105
+ end = len;
106
+ }
107
+ if (end > start) {
108
+ const line = content.slice(start, end);
109
+ if (line.byteLength > 0) {
110
+ lineCount++;
111
+ const entry = JSON.parse(( line.toString()));
112
+ switch (entry.kind) {
113
+ case EntryKind.Initial:
114
+ state = entry.v;
115
+ break;
116
+ case EntryKind.Set:
117
+ this._applySet(state, entry.k, entry.v);
118
+ break;
119
+ case EntryKind.Push:
120
+ this._applyPush(state, entry.k, entry.v, entry.i);
121
+ break;
122
+ case EntryKind.Delete:
123
+ this._applySet(state, entry.k, undefined);
124
+ break;
125
+ default:
126
+ assertNever();
127
+ }
128
+ }
129
+ }
130
+ start = end + 1;
131
+ }
132
+ if (lineCount === 0) {
133
+ throw ( new Error("Empty log file"));
134
+ }
135
+ this._previous = state;
136
+ this._entryCount = lineCount;
137
+ return state;
138
+ }
139
+ write(current) {
140
+ const currentValue = this._transform.extract(current);
141
+ if (!this._previous || this._entryCount > this._compactAfterEntries) {
142
+ this._previous = currentValue;
143
+ this._entryCount = 1;
144
+ const entry = {
145
+ kind: EntryKind.Initial,
146
+ v: currentValue
147
+ };
148
+ return {
149
+ op: "replace",
150
+ data: VSBuffer.fromString(JSON.stringify(entry) + "\n")
151
+ };
152
+ }
153
+ const entries = [];
154
+ const path = [];
155
+ this._diff(this._transform, path, this._previous, currentValue, entries);
156
+ if (entries.length === 0) {
157
+ return {
158
+ op: "append",
159
+ data: VSBuffer.fromString("")
160
+ };
161
+ }
162
+ this._entryCount += entries.length;
163
+ this._previous = currentValue;
164
+ let data = "";
165
+ for (const e of entries) {
166
+ data += JSON.stringify(e) + "\n";
167
+ }
168
+ return {
169
+ op: "append",
170
+ data: VSBuffer.fromString(data)
171
+ };
172
+ }
173
+ _applySet(state, path, value) {
174
+ if (path.length === 0) {
175
+ return;
176
+ }
177
+ let current = state;
178
+ for (let i = 0; i < path.length - 1; i++) {
179
+ current = current[path[i]];
180
+ }
181
+ current[path[path.length - 1]] = value;
182
+ }
183
+ _applyPush(state, path, values, startIndex) {
184
+ let current = state;
185
+ for (let i = 0; i < path.length - 1; i++) {
186
+ current = current[path[i]];
187
+ }
188
+ const arrayKey = path[path.length - 1];
189
+ const arr = current[arrayKey] || [];
190
+ if (startIndex !== undefined) {
191
+ arr.length = startIndex;
192
+ }
193
+ if (values && values.length > 0) {
194
+ arr.push(...values);
195
+ }
196
+ current[arrayKey] = arr;
197
+ }
198
+ _diff(transform, path, prev, curr, entries) {
199
+ if (transform.kind === TransformKind.Key || transform.kind === TransformKind.Primitive) {
200
+ if (!transform.equals(prev, curr)) {
201
+ entries.push({
202
+ kind: EntryKind.Set,
203
+ k: path.slice(),
204
+ v: curr
205
+ });
206
+ }
207
+ } else if (isUndefinedOrNull(prev) || isUndefinedOrNull(curr)) {
208
+ if (prev !== curr) {
209
+ if (curr === undefined) {
210
+ entries.push({
211
+ kind: EntryKind.Delete,
212
+ k: path.slice()
213
+ });
214
+ } else if (curr === null) {
215
+ entries.push({
216
+ kind: EntryKind.Set,
217
+ k: path.slice(),
218
+ v: null
219
+ });
220
+ } else {
221
+ entries.push({
222
+ kind: EntryKind.Set,
223
+ k: path.slice(),
224
+ v: curr
225
+ });
226
+ }
227
+ }
228
+ } else if (transform.kind === TransformKind.Array) {
229
+ this._diffArray(transform, path, prev, curr, entries);
230
+ } else if (transform.kind === TransformKind.Object) {
231
+ this._diffObject(transform.children, path, prev, curr, entries, transform.sealed);
232
+ } else {
233
+ throw ( new Error(`Unknown transform kind ${JSON.stringify(transform)}`));
234
+ }
235
+ }
236
+ _diffObject(children, path, prev, curr, entries, sealed) {
237
+ const prevObj = prev;
238
+ const currObj = curr;
239
+ let i = 0;
240
+ for (; i < children.length; i++) {
241
+ const [key, transform] = children[i];
242
+ if (transform.kind !== TransformKind.Key) {
243
+ break;
244
+ }
245
+ if (!transform.equals(prevObj?.[key], currObj[key])) {
246
+ entries.push({
247
+ kind: EntryKind.Set,
248
+ k: path.slice(),
249
+ v: curr
250
+ });
251
+ return;
252
+ }
253
+ }
254
+ if (sealed && sealed(prev, true) && sealed(curr, false)) {
255
+ return;
256
+ }
257
+ for (; i < children.length; i++) {
258
+ const [key, transform] = children[i];
259
+ path.push(key);
260
+ this._diff(transform, path, prevObj?.[key], currObj[key], entries);
261
+ path.pop();
262
+ }
263
+ }
264
+ _diffArray(transform, path, prev, curr, entries) {
265
+ const prevArr = prev || [];
266
+ const currArr = curr || [];
267
+ const itemSchema = transform.itemSchema;
268
+ const minLen = Math.min(prevArr.length, currArr.length);
269
+ if (itemSchema.kind === TransformKind.Object) {
270
+ const childEntries = itemSchema.children;
271
+ for (let i = 0; i < minLen; i++) {
272
+ const prevItem = prevArr[i];
273
+ const currItem = currArr[i];
274
+ if (this._hasKeyMismatch(childEntries, prevItem, currItem)) {
275
+ const newItems = currArr.slice(i);
276
+ entries.push({
277
+ kind: EntryKind.Push,
278
+ k: path.slice(),
279
+ v: newItems.length > 0 ? newItems : undefined,
280
+ i
281
+ });
282
+ return;
283
+ }
284
+ path.push(i);
285
+ this._diffObject(childEntries, path, prevItem, currItem, entries, itemSchema.sealed);
286
+ path.pop();
287
+ }
288
+ if (currArr.length > prevArr.length) {
289
+ entries.push({
290
+ kind: EntryKind.Push,
291
+ k: path.slice(),
292
+ v: currArr.slice(prevArr.length)
293
+ });
294
+ } else if (currArr.length < prevArr.length) {
295
+ entries.push({
296
+ kind: EntryKind.Push,
297
+ k: path.slice(),
298
+ i: currArr.length
299
+ });
300
+ }
301
+ } else {
302
+ let firstMismatch = -1;
303
+ for (let i = 0; i < minLen; i++) {
304
+ if (!itemSchema.equals(prevArr[i], currArr[i])) {
305
+ firstMismatch = i;
306
+ break;
307
+ }
308
+ }
309
+ if (firstMismatch === -1) {
310
+ if (currArr.length > prevArr.length) {
311
+ entries.push({
312
+ kind: EntryKind.Push,
313
+ k: path.slice(),
314
+ v: currArr.slice(prevArr.length)
315
+ });
316
+ } else if (currArr.length < prevArr.length) {
317
+ entries.push({
318
+ kind: EntryKind.Push,
319
+ k: path.slice(),
320
+ i: currArr.length
321
+ });
322
+ }
323
+ } else {
324
+ const newItems = currArr.slice(firstMismatch);
325
+ entries.push({
326
+ kind: EntryKind.Push,
327
+ k: path.slice(),
328
+ v: newItems.length > 0 ? newItems : undefined,
329
+ i: firstMismatch
330
+ });
331
+ }
332
+ }
333
+ }
334
+ _hasKeyMismatch(children, prev, curr) {
335
+ const prevObj = prev;
336
+ const currObj = curr;
337
+ for (const [key, transform] of children) {
338
+ if (transform.kind !== TransformKind.Key) {
339
+ break;
340
+ }
341
+ if (!transform.equals(prevObj?.[key], currObj[key])) {
342
+ return true;
343
+ }
344
+ }
345
+ return false;
346
+ }
347
+ }
348
+
349
+ export { ObjectMutationLog, array, key, object, t, v, value };
@@ -20,7 +20,10 @@ let ChatSlashCommandService = class ChatSlashCommandService extends Disposable {
20
20
  if (( this._commands.has(data.command))) {
21
21
  throw ( new Error(`Already registered a command with id ${data.command}}`));
22
22
  }
23
- this._commands.set(data.command, { data, command });
23
+ this._commands.set(data.command, {
24
+ data,
25
+ command
26
+ });
24
27
  this._onDidChangeCommands.fire();
25
28
  return toDisposable(() => {
26
29
  if (this._commands.delete(data.command)) {
@@ -29,9 +32,9 @@ let ChatSlashCommandService = class ChatSlashCommandService extends Disposable {
29
32
  });
30
33
  }
31
34
  getCommands(location, mode) {
32
- return Array
33
- .from(( this._commands.values()), v => v.data)
34
- .filter(c => c.locations.includes(location) && (!c.modes || c.modes.includes(mode)));
35
+ return Array.from(( this._commands.values()), v => v.data).filter(
36
+ c => c.locations.includes(location) && (!c.modes || c.modes.includes(mode))
37
+ );
35
38
  }
36
39
  hasCommand(id) {
37
40
  return ( this._commands.has(id));
@@ -39,7 +42,7 @@ let ChatSlashCommandService = class ChatSlashCommandService extends Disposable {
39
42
  async executeCommand(id, prompt, progress, history, location, sessionResource, token) {
40
43
  const data = this._commands.get(id);
41
44
  if (!data) {
42
- throw ( new Error('No command with id ${id} NOT registered'));
45
+ throw ( new Error("No command with id ${id} NOT registered"));
43
46
  }
44
47
  if (!data.command) {
45
48
  await this._extensionService.activateByEvent(`onSlash:${id}`);
@@ -50,8 +53,6 @@ let ChatSlashCommandService = class ChatSlashCommandService extends Disposable {
50
53
  return await data.command(prompt, progress, history, location, sessionResource, token);
51
54
  }
52
55
  };
53
- ChatSlashCommandService = ( __decorate([
54
- ( __param(0, IExtensionService))
55
- ], ChatSlashCommandService));
56
+ ChatSlashCommandService = ( __decorate([( __param(0, IExtensionService))], ChatSlashCommandService));
56
57
 
57
58
  export { ChatSlashCommandService };
@@ -1,5 +1,7 @@
1
1
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
2
2
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
3
+ import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
4
+ import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
5
  export declare class ChatPromptFilesExtensionPointHandler implements IWorkbenchContribution {
4
6
  private readonly promptsService;
5
7
  static readonly ID = "workbench.contrib.chatPromptFilesExtensionPointHandler";
@@ -7,3 +9,10 @@ export declare class ChatPromptFilesExtensionPointHandler implements IWorkbenchC
7
9
  constructor(promptsService: IPromptsService);
8
10
  private handle;
9
11
  }
12
+ /**
13
+ * Result type for the extension prompt file provider command.
14
+ */
15
+ export interface IExtensionPromptFileResult {
16
+ readonly uri: UriComponents;
17
+ readonly type: PromptsType;
18
+ }