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

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 (142) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  3. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +30 -0
  4. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.js +8 -0
  5. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.d.ts +32 -0
  6. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +13 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +56 -36
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +45 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +114 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +87 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +502 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +45 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +188 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +153 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +2 -2
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +30 -30
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +52 -52
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -13
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +4 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.d.ts +1 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +23 -20
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +13 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +40 -13
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +217 -13
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +44 -44
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +10 -10
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +2 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +36 -23
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +12 -9
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -3
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +8 -13
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +16 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +24 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +6 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +72 -23
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +2 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +7 -22
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +3 -3
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +3 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +1 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +25 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +9 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +41 -27
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +31 -25
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +1 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +4 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +89 -27
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +203 -107
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +6 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +18 -18
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +32 -81
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +4 -4
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +6 -6
  114. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  115. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  116. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  117. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -2
  119. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  120. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  122. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  125. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  126. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  127. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  128. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  129. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  130. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  131. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  132. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  133. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +4 -0
  134. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  136. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +29 -7
  138. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +27 -8
  139. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +17 -8
  140. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -69
  141. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -2
  142. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +9 -14
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { $ as $$1, clearNode, h, hide, append, addStandardDisposableListener, EventType, isHTMLElement, DisposableResizeObserver, setVisibility, isKeyboardEvent, getActiveElement, getWindow, show, addDisposableListener, scheduleAtNextAnimationFrame, getTotalWidth } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { $ as $$1, clearNode, h, hide, append, addStandardDisposableListener, EventType, isHTMLElement, AnimationFrameScheduler, DisposableResizeObserver, setVisibility, isKeyboardEvent, getActiveElement, getWindow, show, addDisposableListener, scheduleAtNextAnimationFrame, getTotalWidth } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { DEFAULT_FONT_FAMILY } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/fonts';
5
5
  import { hasModifierKeys } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
6
6
  import { ActionViewItem, BaseActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems';
@@ -84,7 +84,7 @@ import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/w
84
84
  import { ILanguageModelChatMetadata } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
85
85
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
86
86
  import { shouldResetOnModelListChange, shouldRestorePersistedModel, shouldRestoreLateArrivingModel, resolveModelFromSyncState, shouldResetModelToDefault, mergeModelsWithCache, filterModelsForSession, hasModelsTargetingSession, isModelValidForSession, findDefaultModel } from './chatModelSelectionLogic.js';
87
- import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
87
+ import { LocalChatSessionUri, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
88
88
  import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
89
89
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
90
90
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
@@ -101,6 +101,11 @@ import { isIChatResourceViewContext, isIChatViewViewContext } from '@codingame/m
101
101
  import { ChatEditingShowChangesAction, ViewPreviousEditsAction } from '../../chatEditing/chatEditingActions.js';
102
102
  import { resizeImage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatImageUtils';
103
103
  import { ChatSessionPickerActionItem } from '../../chatSessions/chatSessionPickerActionItem.js';
104
+ import { AgentHostChatInputPicker, AgentHostChatInputPickerActionViewItem } from '../../agentSessions/agentHost/agentHostChatInputPicker.js';
105
+ import { OpenAgentHostModePickerAction, OpenAgentHostAutoApprovePickerAction, OpenAgentHostPermissionModePickerAction, OpenAgentHostBranchPickerAction, OpenAgentHostIsolationPickerAction } from '../../agentSessions/agentHost/agentHostChatInputPicker.contribution.js';
106
+ import { AgentHostGenericConfigChips } from '../../agentSessions/agentHost/agentHostGenericConfigChips.js';
107
+ import { SessionConfigKey } from '../../../../../../platform/agentHost/common/sessionConfigKeys.js';
108
+ import { ClaudeSessionConfigKey } from '../../../../../../platform/agentHost/common/claudeSessionConfigKeys.js';
104
109
  import { MobileChatInputCombinedPickerActionItem } from './chatPhoneInputPresenter.js';
105
110
  import { IChatPhoneInputPresenter } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service';
106
111
  import { IChatContextService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service';
@@ -377,9 +382,12 @@ let ChatInputPart = class ChatInputPart extends Disposable {
377
382
  this.height = observableValue(this, 0);
378
383
  this._forceVisibleScrollbarUntilAccept = false;
379
384
  this._modelSyncDisposables = this._register(( new DisposableStore()));
385
+ this._currentChatModes = this._register(( new MutableDisposable()));
380
386
  this._isSyncingToOrFromInputModel = false;
387
+ this.permissionWidgetDisposeListener = this._register(( new MutableDisposable()));
381
388
  this.chatSessionPickerWidgets = this._register(( new DisposableMap()));
382
389
  this._waitForPersistedLanguageModel = this._register(( new MutableDisposable()));
390
+ this._waitForSessionHistoryLanguageModel = this._register(( new MutableDisposable()));
383
391
  this._chatSessionOptionEmitters = this._register(( new DisposableMap()));
384
392
  this._optionContextKeys = ( new Map());
385
393
  this._currentLanguageModel = observableValue("_currentLanguageModel", undefined);
@@ -403,7 +411,9 @@ let ChatInputPart = class ChatInputPart extends Disposable {
403
411
  onDidChangeVisibility: this._onDidChangeVisibility.event
404
412
  }));
405
413
  this._currentModeObservable = observableValue("currentMode", this.options.defaultMode ?? ChatMode.Agent);
406
- this._currentChatModesObservable = observableValue("currentChatModes", this.chatModeService.getModes(localChatSessionType));
414
+ const localModes = this.chatModeService.createModes(LocalChatSessionUri.getNewSessionUri());
415
+ this._currentChatModes.value = localModes;
416
+ this._currentChatModesObservable = observableValue("currentChatModes", localModes);
407
417
  this._currentPermissionLevel = observableValue("permissionLevel", this.getDefaultPermissionLevel());
408
418
  this._register(this.editorService.onDidActiveEditorChange(() => {
409
419
  this._indexOfLastOpenedContext = -1;
@@ -576,6 +586,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
576
586
  return `chat.currentLanguageModel.${this.location}.isDefault`;
577
587
  }
578
588
  initSelectedModel() {
589
+ this._waitForPersistedLanguageModel.clear();
579
590
  const persistedSelection = this.storageService.get(this.getSelectedModelStorageKey(), StorageScope.APPLICATION);
580
591
  const persistedAsDefault = this.storageService.getBoolean(this.getSelectedModelIsDefaultStorageKey(), StorageScope.APPLICATION, true);
581
592
  if (persistedSelection) {
@@ -643,6 +654,20 @@ let ChatInputPart = class ChatInputPart extends Disposable {
643
654
  this.setCurrentLanguageModel(models[nextIndex]);
644
655
  }
645
656
  }
657
+ switchToNextPinnedModel() {
658
+ const models = this.getModels();
659
+ if (models.length === 0) {
660
+ return;
661
+ }
662
+ const modelMap = ( new Map(( models.map(model => [model.identifier, model]))));
663
+ const pinnedModels = ( this.languageModelsService.getPinnedModelIds().map(modelId => modelMap.get(modelId))).filter(isDefined);
664
+ if (pinnedModels.length === 0) {
665
+ return;
666
+ }
667
+ const currentIndex = pinnedModels.findIndex(model => model.identifier === this._currentLanguageModel.get()?.identifier);
668
+ const nextIndex = (currentIndex + 1) % pinnedModels.length;
669
+ this.setCurrentLanguageModel(pinnedModels[nextIndex]);
670
+ }
646
671
  openModelPicker() {
647
672
  if (this.chatPhoneInputPresenter.enabled.get()) {
648
673
  this._showCombinedPhonePickerSheet();
@@ -672,6 +697,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
672
697
  currentModel: this._currentLanguageModel,
673
698
  setModel: model => {
674
699
  this._waitForPersistedLanguageModel.clear();
700
+ this._waitForSessionHistoryLanguageModel.clear();
675
701
  this.setCurrentLanguageModel(model);
676
702
  this.renderAttachedContext();
677
703
  },
@@ -797,10 +823,9 @@ let ChatInputPart = class ChatInputPart extends Disposable {
797
823
  }
798
824
  this._inputModel = model;
799
825
  this._modelSyncDisposables.clear();
800
- this._currentChatModesObservable.set(
801
- this.chatModeService.getModes(getChatSessionType(forSessionResource)),
802
- undefined
803
- );
826
+ const chatModes = this.chatModeService.createModes(forSessionResource);
827
+ this._currentChatModes.value = chatModes;
828
+ this._currentChatModesObservable.set(chatModes, undefined);
804
829
  this.selectedToolsModel.resetSessionEnablementState();
805
830
  this._chatSessionIsEmpty = chatSessionIsEmpty;
806
831
  if (chatSessionIsEmpty) {
@@ -864,7 +889,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
864
889
  }
865
890
  if (state?.selectedModel) {
866
891
  const allModels = this.getAllMergedModels();
867
- const sessionType = this.getCurrentSessionType() ?? getChatSessionType(forSessionResource);
892
+ const sessionType = getChatSessionType(forSessionResource);
868
893
  const syncResult = resolveModelFromSyncState(
869
894
  state.selectedModel,
870
895
  this._currentLanguageModel.get(),
@@ -1050,7 +1075,13 @@ let ChatInputPart = class ChatInputPart extends Disposable {
1050
1075
  }
1051
1076
  }
1052
1077
  preselectModelFromSessionHistory() {
1053
- const requests = this._widget?.viewModel?.model.getRequests();
1078
+ this._waitForSessionHistoryLanguageModel.clear();
1079
+ const sessionModel = this._widget?.viewModel?.model;
1080
+ const sessionResource = sessionModel?.sessionResource;
1081
+ const requests = sessionModel?.getRequests();
1082
+ if (!sessionResource) {
1083
+ return;
1084
+ }
1054
1085
  if (!requests || requests.length === 0) {
1055
1086
  return;
1056
1087
  }
@@ -1081,10 +1112,15 @@ let ChatInputPart = class ChatInputPart extends Disposable {
1081
1112
  this.setCurrentLanguageModel(match);
1082
1113
  return;
1083
1114
  }
1084
- this._waitForPersistedLanguageModel.value = this.languageModelsService.onDidChangeLanguageModels(() => {
1115
+ this._waitForSessionHistoryLanguageModel.value = this.languageModelsService.onDidChangeLanguageModels(() => {
1116
+ const currentSessionResource = this._widget?.viewModel?.model.sessionResource;
1117
+ if (!currentSessionResource || !isEqual(currentSessionResource, sessionResource)) {
1118
+ this._waitForSessionHistoryLanguageModel.clear();
1119
+ return;
1120
+ }
1085
1121
  const found = tryMatch();
1086
1122
  if (found) {
1087
- this._waitForPersistedLanguageModel.clear();
1123
+ this._waitForSessionHistoryLanguageModel.clear();
1088
1124
  this.setCurrentLanguageModel(found);
1089
1125
  }
1090
1126
  });
@@ -1123,40 +1159,40 @@ let ChatInputPart = class ChatInputPart extends Disposable {
1123
1159
  }
1124
1160
  const mode = this._currentModeObservable.get();
1125
1161
  const modelName = this._currentLanguageModel.get()?.metadata.name;
1126
- const modelInfo = modelName ? ( localize(7456, ", {0}. ", modelName)) : "";
1162
+ const modelInfo = modelName ? ( localize(7535, ", {0}. ", modelName)) : "";
1127
1163
  let modeLabel = "";
1128
1164
  if (!mode.isBuiltin) {
1129
1165
  const mode = this.currentModeObs.get();
1130
- modeLabel = ( localize(7457, "({0}), {1}", mode.label.get(), mode.description.get()));
1166
+ modeLabel = ( localize(7536, "({0}), {1}", mode.label.get(), mode.description.get()));
1131
1167
  } else {
1132
1168
  switch (this.currentModeKind) {
1133
1169
  case ChatModeKind.Agent:
1134
- modeLabel = ( localize(7458, "(Agent), edit files in your workspace."));
1170
+ modeLabel = ( localize(7537, "(Agent), edit files in your workspace."));
1135
1171
  break;
1136
1172
  case ChatModeKind.Edit:
1137
- modeLabel = ( localize(7459, "(Edit), edit files in your workspace."));
1173
+ modeLabel = ( localize(7538, "(Edit), edit files in your workspace."));
1138
1174
  break;
1139
1175
  case ChatModeKind.Ask:
1140
1176
  default:
1141
- modeLabel = ( localize(7460, "(Ask), ask questions or type / for topics."));
1177
+ modeLabel = ( localize(7539, "(Ask), ask questions or type / for topics."));
1142
1178
  break;
1143
1179
  }
1144
1180
  }
1145
1181
  if (verbose) {
1146
1182
  return kbLabel ? ( localize(
1147
- 7461,
1183
+ 7540,
1148
1184
  "Chat Input {0}{1} Press Enter to send out the request. Use {2} for Chat Accessibility Help.",
1149
1185
  modeLabel,
1150
1186
  modelInfo,
1151
1187
  kbLabel
1152
1188
  )) : ( localize(
1153
- 7462,
1189
+ 7541,
1154
1190
  "Chat Input {0}{1} Press Enter to send out the request. Use the Chat Accessibility Help command for more information.",
1155
1191
  modeLabel,
1156
1192
  modelInfo
1157
1193
  ));
1158
1194
  } else {
1159
- return localize(7463, "Chat Input {0}{1}.", modeLabel, modelInfo);
1195
+ return localize(7542, "Chat Input {0}{1}.", modeLabel, modelInfo);
1160
1196
  }
1161
1197
  }
1162
1198
  validateCurrentChatMode() {
@@ -2047,6 +2083,19 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2047
2083
  widget
2048
2084
  };
2049
2085
  }
2086
+ const agentHostShortPickerIds = ( new Set([
2087
+ OpenAgentHostModePickerAction.ID,
2088
+ OpenAgentHostAutoApprovePickerAction.ID,
2089
+ OpenAgentHostPermissionModePickerAction.ID,
2090
+ OpenAgentHostBranchPickerAction.ID,
2091
+ OpenAgentHostIsolationPickerAction.ID,
2092
+ "sessions.tunnelHost.toggleSharing"
2093
+ ]));
2094
+ const genericChipsContainer = $$1(".chat-secondary-generic-chips");
2095
+ const genericChipsLane = this._register(
2096
+ this.instantiationService.createInstance(AgentHostGenericConfigChips, widget, secondaryPickerOptions)
2097
+ );
2098
+ genericChipsLane.render(genericChipsContainer);
2050
2099
  this.secondaryToolbar = this._register(this.instantiationService.createInstance(
2051
2100
  MenuWorkbenchToolBar,
2052
2101
  this.secondaryToolbarContainer,
@@ -2060,9 +2109,10 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2060
2109
  hoverDelegate,
2061
2110
  responsiveBehavior: {
2062
2111
  enabled: true,
2063
- kind: "last",
2112
+ kind: "all",
2064
2113
  minItems: 1,
2065
- actionMinWidth: 48
2114
+ actionMinWidth: 48,
2115
+ getActionMinWidth: action => ( agentHostShortPickerIds.has(action.id)) ? 22 : undefined
2066
2116
  },
2067
2117
  actionViewItemProvider: (action, options) => {
2068
2118
  if ((action.id === OpenSessionTargetPickerAction.ID || action.id === OpenDelegationPickerAction.ID) && action instanceof MenuItemAction) {
@@ -2142,12 +2192,20 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2142
2192
  };
2143
2193
  const widget = this.instantiationService.createInstance(PermissionPickerActionItem, action, delegate, secondaryPickerOptions);
2144
2194
  this.permissionWidget = widget;
2145
- this._register(widget.onDidDispose(() => {
2195
+ this.permissionWidgetDisposeListener.value = widget.onDidDispose(() => {
2146
2196
  if (this.permissionWidget === widget) {
2147
2197
  this.permissionWidget = undefined;
2148
2198
  }
2149
- }));
2199
+ this.permissionWidgetDisposeListener.clear();
2200
+ });
2150
2201
  return widget;
2202
+ } else if ((action.id === OpenAgentHostModePickerAction.ID || action.id === OpenAgentHostAutoApprovePickerAction.ID || action.id === OpenAgentHostPermissionModePickerAction.ID || action.id === OpenAgentHostBranchPickerAction.ID || action.id === OpenAgentHostIsolationPickerAction.ID) && action instanceof MenuItemAction) {
2203
+ if (this.options.isSessionsWindow) {
2204
+ return ( new HiddenActionViewItem(action));
2205
+ }
2206
+ const property = action.id === OpenAgentHostBranchPickerAction.ID ? SessionConfigKey.Branch : action.id === OpenAgentHostIsolationPickerAction.ID ? SessionConfigKey.Isolation : action.id === OpenAgentHostAutoApprovePickerAction.ID ? SessionConfigKey.AutoApprove : action.id === OpenAgentHostPermissionModePickerAction.ID ? ClaudeSessionConfigKey.PermissionMode : SessionConfigKey.Mode;
2207
+ const picker = this.instantiationService.createInstance(AgentHostChatInputPicker, widget, property, secondaryPickerOptions);
2208
+ return ( new AgentHostChatInputPickerActionViewItem(action, picker));
2151
2209
  } else if (action.id === ChatSessionPrimaryPickerAction.ID && action instanceof MenuItemAction) {
2152
2210
  const widgets = this.createChatSessionPickerWidgets(action, secondaryPickerOptions);
2153
2211
  if (widgets.length === 0) {
@@ -2163,6 +2221,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2163
2221
  this.secondaryToolbar.context = {
2164
2222
  widget
2165
2223
  };
2224
+ append(this.secondaryToolbarContainer, genericChipsContainer);
2166
2225
  this._register(this.secondaryToolbar.onDidChangeMenuItems(() => {
2167
2226
  const toolbarElement = this.secondaryToolbar.getElement();
2168
2227
  const container = toolbarElement.querySelector(".chat-sessionPicker-container");
@@ -2220,8 +2279,11 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2220
2279
  this.renderAttachedContext();
2221
2280
  }));
2222
2281
  this.renderAttachedContext();
2282
+ const updateCarouselMaxHeightScheduler = this._register(
2283
+ new AnimationFrameScheduler(this.container, () => this.updateToolConfirmationCarouselMaxHeight())
2284
+ );
2223
2285
  const inputResizeObserver = this._register(new DisposableResizeObserver("ChatInputPart.containerHeight", () => {
2224
- this.updateToolConfirmationCarouselMaxHeight();
2286
+ updateCarouselMaxHeightScheduler.schedule();
2225
2287
  const newHeight = this.container.offsetHeight;
2226
2288
  this.height.set(newHeight, undefined);
2227
2289
  }));
@@ -2885,7 +2947,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2885
2947
  const button = this._chatEditsActionsDisposables.add(( new ButtonWithIcon(overviewTitle, {
2886
2948
  supportIcons: true,
2887
2949
  secondary: true,
2888
- ariaLabel: ( localize(7464, "Toggle changed files."))
2950
+ ariaLabel: ( localize(7543, "Toggle changed files."))
2889
2951
  })));
2890
2952
  const topLevelStats = derived(reader => {
2891
2953
  const entries = editSessionEntriesObs.read(reader);
@@ -2959,10 +3021,10 @@ let ChatInputPart = class ChatInputPart extends Disposable {
2959
3021
  removed,
2960
3022
  shouldShowEditingSession
2961
3023
  } = topLevelStats.read(reader);
2962
- const buttonLabel = files === 1 ? ( localize(7465, "1 file changed")) : ( localize(7466, "{0} files changed", files));
3024
+ const buttonLabel = files === 1 ? ( localize(7544, "1 file changed")) : ( localize(7545, "{0} files changed", files));
2963
3025
  button.label = buttonLabel;
2964
3026
  button.element.setAttribute("aria-label", ( localize(
2965
- 7467,
3027
+ 7546,
2966
3028
  "{0}, {1} lines added, {2} lines removed",
2967
3029
  buttonLabel,
2968
3030
  added,
@@ -14,6 +14,7 @@ import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/w
14
14
  import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
15
15
  import { IModelPickerDelegate } from "./modelPickerActionItem.js";
16
16
  import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
17
+ import { IDefaultAccountService } from "@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount.service";
17
18
  import { StateType } from "@codingame/monaco-vscode-api/vscode/vs/platform/update/common/update";
18
19
  import { IUpdateService } from "@codingame/monaco-vscode-api/vscode/vs/platform/update/common/update.service";
19
20
  /**
@@ -35,7 +36,7 @@ import { IUpdateService } from "@codingame/monaco-vscode-api/vscode/vs/platform/
35
36
  * the `customoai` vendor) renders as distinct sections.
36
37
  * 4. Optional "Manage Models..." action shown in Other Models after a separator
37
38
  */
38
- export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean, languageModelsService?: ILanguageModelsService, openerService?: IOpenerService, isUBB?: boolean): IActionListItem<IActionWidgetDropdownAction>[];
39
+ export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], pinnedModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, onTogglePin: ((modelIdentifier: string, pinned: boolean) => void) | undefined, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean, languageModelsService?: ILanguageModelsService, openerService?: IOpenerService, isUBB?: boolean): IActionListItem<IActionWidgetDropdownAction>[];
39
40
  export declare function getModelPickerAccessibilityProvider(): {
40
41
  readonly getAriaLabel: (element: IActionListItem<IActionWidgetDropdownAction>) => string | null;
41
42
  readonly isChecked: (element: IActionListItem<IActionWidgetDropdownAction>) => boolean | undefined;
@@ -64,6 +65,7 @@ export declare class ModelPickerWidget extends Disposable {
64
65
  private readonly _entitlementService;
65
66
  private readonly _updateService;
66
67
  private readonly _uriIdentityService;
68
+ private readonly _defaultAccountService;
67
69
  private readonly _onDidChangeSelection;
68
70
  readonly onDidChangeSelection: Event<ILanguageModelChatMetadataAndIdentifier>;
69
71
  private _selectedModel;
@@ -77,7 +79,7 @@ export declare class ModelPickerWidget extends Disposable {
77
79
  get selectedModel(): ILanguageModelChatMetadataAndIdentifier | undefined;
78
80
  get domNode(): HTMLElement | undefined;
79
81
  get nameButton(): HTMLElement | undefined;
80
- constructor(_delegate: IModelPickerDelegate, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _openerService: IOpenerService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService, _uriIdentityService: IUriIdentityService);
82
+ constructor(_delegate: IModelPickerDelegate, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _openerService: IOpenerService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService, _uriIdentityService: IUriIdentityService, _defaultAccountService: IDefaultAccountService);
81
83
  setHideChevrons(hideChevrons: IObservable<boolean>): void;
82
84
  setSelectedModel(model: ILanguageModelChatMetadataAndIdentifier | undefined): void;
83
85
  setEnabled(enabled: boolean): void;