@codingame/monaco-vscode-chat-service-override 32.0.0 → 32.0.2
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.
- package/index.js +1 -0
- package/package.json +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +637 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +97 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +43 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +51 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +229 -229
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.view.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.view.contribution.js +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +43 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +57 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
|
@@ -102,13 +102,13 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
102
102
|
syncContextKeys();
|
|
103
103
|
const childInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, scopedContextKeyService]))));
|
|
104
104
|
this.filterWidget = this._register(childInstantiationService.createInstance(FilterWidget, {
|
|
105
|
-
placeholder: ( localize(
|
|
106
|
-
ariaLabel: ( localize(
|
|
105
|
+
placeholder: ( localize(6210, "Filter (e.g. text, !exclude, before:YYYY-MM-DDTHH:MM:SS)")),
|
|
106
|
+
ariaLabel: ( localize(6211, "Filter debug events"))
|
|
107
107
|
}));
|
|
108
108
|
this.viewModeToggle = this._register(( new Button(this.headerContainer, {
|
|
109
109
|
...defaultButtonStyles,
|
|
110
110
|
secondary: true,
|
|
111
|
-
title: ( localize(
|
|
111
|
+
title: ( localize(6212, "Toggle between list and tree view"))
|
|
112
112
|
})));
|
|
113
113
|
this.viewModeToggle.element.classList.add("chat-debug-view-mode-toggle", "monaco-text-button");
|
|
114
114
|
this.updateViewModeToggle();
|
|
@@ -132,16 +132,16 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
132
132
|
this.tableHeader = append(mainColumn, $(".chat-debug-table-header"));
|
|
133
133
|
append(
|
|
134
134
|
this.tableHeader,
|
|
135
|
-
$("span.chat-debug-col-created", undefined, ( localize(
|
|
135
|
+
$("span.chat-debug-col-created", undefined, ( localize(6213, "Created")))
|
|
136
136
|
);
|
|
137
|
-
append(this.tableHeader, $("span.chat-debug-col-name", undefined, ( localize(
|
|
137
|
+
append(this.tableHeader, $("span.chat-debug-col-name", undefined, ( localize(6214, "Name"))));
|
|
138
138
|
append(
|
|
139
139
|
this.tableHeader,
|
|
140
|
-
$("span.chat-debug-col-details", undefined, ( localize(
|
|
140
|
+
$("span.chat-debug-col-details", undefined, ( localize(6215, "Details")))
|
|
141
141
|
);
|
|
142
142
|
this.progressBar = this._register(( new ProgressBar(mainColumn, {
|
|
143
143
|
...defaultProgressBarStyles,
|
|
144
|
-
ariaLabel: ( localize(
|
|
144
|
+
ariaLabel: ( localize(6216, "Chat debug logs loading progress"))
|
|
145
145
|
})));
|
|
146
146
|
this.bodyContainer = append(mainColumn, $(".chat-debug-logs-body"));
|
|
147
147
|
this.showMoreContainer = append(mainColumn, $(".chat-debug-logs-show-more"));
|
|
@@ -152,31 +152,31 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
152
152
|
getAriaLabel: e => {
|
|
153
153
|
switch (e.kind) {
|
|
154
154
|
case "toolCall":
|
|
155
|
-
return localize(
|
|
155
|
+
return localize(6217, "Tool call: {0}{1}", e.toolName, e.result ? ` (${e.result})` : "");
|
|
156
156
|
case "modelTurn":
|
|
157
157
|
return localize(
|
|
158
|
-
|
|
158
|
+
6218,
|
|
159
159
|
"Model turn: {0}{1}{2}",
|
|
160
|
-
e.model ?? ( localize(
|
|
161
|
-
e.totalTokens !== undefined ? ( localize(
|
|
162
|
-
e.cachedTokens !== undefined ? ( localize(
|
|
160
|
+
e.model ?? ( localize(6219, "model")),
|
|
161
|
+
e.totalTokens !== undefined ? ( localize(6220, " {0} tokens", e.totalTokens)) : "",
|
|
162
|
+
e.cachedTokens !== undefined ? ( localize(6221, " {0} cached", e.cachedTokens)) : ""
|
|
163
163
|
);
|
|
164
164
|
case "generic":
|
|
165
165
|
return `${e.category ? e.category + ": " : ""}${e.name}: ${e.details ?? ""}`;
|
|
166
166
|
case "subagentInvocation":
|
|
167
167
|
return localize(
|
|
168
|
-
|
|
168
|
+
6222,
|
|
169
169
|
"Subagent: {0}{1}",
|
|
170
170
|
e.agentName,
|
|
171
171
|
e.description ? ` - ${e.description}` : ""
|
|
172
172
|
);
|
|
173
173
|
case "userMessage":
|
|
174
|
-
return localize(
|
|
174
|
+
return localize(6223, "User message: {0}", e.message);
|
|
175
175
|
case "agentResponse":
|
|
176
|
-
return localize(
|
|
176
|
+
return localize(6224, "Agent response: {0}", e.message);
|
|
177
177
|
}
|
|
178
178
|
},
|
|
179
|
-
getWidgetAriaLabel: () => ( localize(
|
|
179
|
+
getWidgetAriaLabel: () => ( localize(6225, "Chat Debug Events"))
|
|
180
180
|
};
|
|
181
181
|
let nextFallbackId = 0;
|
|
182
182
|
const fallbackIds = ( new WeakMap());
|
|
@@ -286,7 +286,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
286
286
|
return;
|
|
287
287
|
}
|
|
288
288
|
const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
|
|
289
|
-
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(
|
|
289
|
+
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(6226, "Agent Debug Logs")), true)), ( new TextBreadcrumbItem(sessionTitle, true)), ( new TextBreadcrumbItem(( localize(6227, "Logs"))))]);
|
|
290
290
|
}
|
|
291
291
|
layout(dimension) {
|
|
292
292
|
this.currentDimension = dimension;
|
|
@@ -482,7 +482,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
482
482
|
this.showMoreBtn = this.showMoreDisposables.add(( new Button(this.showMoreContainer, {
|
|
483
483
|
...defaultButtonStyles,
|
|
484
484
|
secondary: true,
|
|
485
|
-
title: ( localize(
|
|
485
|
+
title: ( localize(6228, "Load more events"))
|
|
486
486
|
})));
|
|
487
487
|
this.showMoreDisposables.add(this.showMoreBtn.onDidClick(() => {
|
|
488
488
|
this.visibleLimit += PAGE_SIZE;
|
|
@@ -491,8 +491,8 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
491
491
|
}
|
|
492
492
|
const shown = Math.min(this.visibleLimit, totalFiltered);
|
|
493
493
|
const remaining = totalFiltered - shown;
|
|
494
|
-
this.showMoreStatusLabel.textContent = ( localize(
|
|
495
|
-
this.showMoreBtn.label = ( localize(
|
|
494
|
+
this.showMoreStatusLabel.textContent = ( localize(6229, "Showing {0} of {1} events", shown, totalFiltered));
|
|
495
|
+
this.showMoreBtn.label = ( localize(6230, "Show More ({0})", remaining));
|
|
496
496
|
if (!this.showMoreVisible) {
|
|
497
497
|
show(this.showMoreContainer);
|
|
498
498
|
this.showMoreVisible = true;
|
|
@@ -523,15 +523,15 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
523
523
|
));
|
|
524
524
|
const labelContainer = append(el, $("span.chat-debug-view-mode-labels"));
|
|
525
525
|
const treeLabel = append(labelContainer, $("span.chat-debug-view-mode-label"));
|
|
526
|
-
treeLabel.textContent = ( localize(
|
|
526
|
+
treeLabel.textContent = ( localize(6231, "Tree View"));
|
|
527
527
|
const listLabel = append(labelContainer, $("span.chat-debug-view-mode-label"));
|
|
528
|
-
listLabel.textContent = ( localize(
|
|
528
|
+
listLabel.textContent = ( localize(6232, "List View"));
|
|
529
529
|
if (isTree) {
|
|
530
530
|
listLabel.classList.add("hidden");
|
|
531
531
|
} else {
|
|
532
532
|
treeLabel.classList.add("hidden");
|
|
533
533
|
}
|
|
534
|
-
const activeLabel = isTree ? ( localize(
|
|
534
|
+
const activeLabel = isTree ? ( localize(6233, "Switch to List View")) : ( localize(6234, "Switch to Tree View"));
|
|
535
535
|
el.setAttribute("aria-label", activeLabel);
|
|
536
536
|
this.viewModeToggle.setTitle(activeLabel);
|
|
537
537
|
}
|
|
@@ -550,7 +550,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
550
550
|
const name = getEventNameText(event);
|
|
551
551
|
this.contextMenuService.showContextMenu({
|
|
552
552
|
getAnchor: () => isMouseEvent(browserEvent) ? ( new StandardMouseEvent(getWindow(this.container), browserEvent)) : this.container,
|
|
553
|
-
getActions: () => [( new Action("chatDebug.copyTimestamp", ( localize(
|
|
553
|
+
getActions: () => [( new Action("chatDebug.copyTimestamp", ( localize(6235, "Copy Timestamp")), undefined, true, () => this.clipboardService.writeText(timestamp))), ( new Action("chatDebug.copyRow", ( localize(6236, "Copy Row")), undefined, true, () => this.clipboardService.writeText(row))), ( new Separator()), ( new Action("chatDebug.filterBefore", ( localize(6237, "Filter Before Timestamp")), undefined, true, () => this.applyFilterToken(`before:${timestamp}`))), ( new Action("chatDebug.filterAfter", ( localize(6238, "Filter After Timestamp")), undefined, true, () => this.applyFilterToken(`after:${timestamp}`))), ( new Action("chatDebug.filterName", ( localize(6239, "Filter Name")), undefined, !!name, () => this.applyFilterToken(name)))]
|
|
554
554
|
});
|
|
555
555
|
}
|
|
556
556
|
applyFilterToken(token) {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js
CHANGED
|
@@ -11,7 +11,7 @@ async function renderUserMessageContent(event, languageService, clipboardService
|
|
|
11
11
|
container.tabIndex = 0;
|
|
12
12
|
append(
|
|
13
13
|
container,
|
|
14
|
-
$("div.chat-debug-message-content-title", undefined, ( localize(
|
|
14
|
+
$("div.chat-debug-message-content-title", undefined, ( localize(6240, "User Message")))
|
|
15
15
|
);
|
|
16
16
|
append(
|
|
17
17
|
container,
|
|
@@ -21,7 +21,7 @@ async function renderUserMessageContent(event, languageService, clipboardService
|
|
|
21
21
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
22
22
|
append(
|
|
23
23
|
sectionsContainer,
|
|
24
|
-
$("div.chat-debug-message-sections-label", undefined, ( localize(
|
|
24
|
+
$("div.chat-debug-message-sections-label", undefined, ( localize(6241, "Prompt Sections ({0})", event.sections.length)))
|
|
25
25
|
);
|
|
26
26
|
for (const section of event.sections) {
|
|
27
27
|
const {
|
|
@@ -51,7 +51,7 @@ async function renderAgentResponseContent(event, languageService, clipboardServi
|
|
|
51
51
|
container.tabIndex = 0;
|
|
52
52
|
append(
|
|
53
53
|
container,
|
|
54
|
-
$("div.chat-debug-message-content-title", undefined, ( localize(
|
|
54
|
+
$("div.chat-debug-message-content-title", undefined, ( localize(6242, "Agent Response")))
|
|
55
55
|
);
|
|
56
56
|
append(
|
|
57
57
|
container,
|
|
@@ -61,7 +61,7 @@ async function renderAgentResponseContent(event, languageService, clipboardServi
|
|
|
61
61
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
62
62
|
append(
|
|
63
63
|
sectionsContainer,
|
|
64
|
-
$("div.chat-debug-message-sections-label", undefined, ( localize(
|
|
64
|
+
$("div.chat-debug-message-sections-label", undefined, ( localize(6243, "Response Sections ({0})", event.sections.length)))
|
|
65
65
|
);
|
|
66
66
|
for (const section of event.sections) {
|
|
67
67
|
const {
|
|
@@ -87,7 +87,7 @@ async function renderAgentResponseContent(event, languageService, clipboardServi
|
|
|
87
87
|
}
|
|
88
88
|
function messageEventToPlainText(event) {
|
|
89
89
|
const lines = [];
|
|
90
|
-
const label = event.kind === "userMessage" ? ( localize(
|
|
90
|
+
const label = event.kind === "userMessage" ? ( localize(6240, "User Message")) : ( localize(6242, "Agent Response"));
|
|
91
91
|
lines.push(`${label}: ${event.message}`);
|
|
92
92
|
lines.push("");
|
|
93
93
|
for (const section of event.sections) {
|
|
@@ -101,7 +101,7 @@ async function renderResolvedMessageContent(content, languageService, clipboardS
|
|
|
101
101
|
const disposables = ( new DisposableStore());
|
|
102
102
|
const container = $("div.chat-debug-message-content");
|
|
103
103
|
container.tabIndex = 0;
|
|
104
|
-
const title = content.type === "user" ? ( localize(
|
|
104
|
+
const title = content.type === "user" ? ( localize(6240, "User Message")) : ( localize(6242, "Agent Response"));
|
|
105
105
|
append(container, $("div.chat-debug-message-content-title", undefined, title));
|
|
106
106
|
append(
|
|
107
107
|
container,
|
|
@@ -109,7 +109,7 @@ async function renderResolvedMessageContent(content, languageService, clipboardS
|
|
|
109
109
|
);
|
|
110
110
|
if (content.sections.length > 0) {
|
|
111
111
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
112
|
-
const label = content.type === "user" ? ( localize(
|
|
112
|
+
const label = content.type === "user" ? ( localize(6241, "Prompt Sections ({0})", content.sections.length)) : ( localize(6243, "Response Sections ({0})", content.sections.length));
|
|
113
113
|
append(
|
|
114
114
|
sectionsContainer,
|
|
115
115
|
$("div.chat-debug-message-sections-label", undefined, label)
|
|
@@ -138,7 +138,7 @@ async function renderResolvedMessageContent(content, languageService, clipboardS
|
|
|
138
138
|
}
|
|
139
139
|
function resolvedMessageToPlainText(content) {
|
|
140
140
|
const lines = [];
|
|
141
|
-
const label = content.type === "user" ? ( localize(
|
|
141
|
+
const label = content.type === "user" ? ( localize(6240, "User Message")) : ( localize(6242, "Agent Response"));
|
|
142
142
|
lines.push(`${label}: ${content.message}`);
|
|
143
143
|
lines.push("");
|
|
144
144
|
for (const section of content.sections) {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js
CHANGED
|
@@ -13,7 +13,7 @@ async function renderModelTurnContent(content, languageService, clipboardService
|
|
|
13
13
|
container.tabIndex = 0;
|
|
14
14
|
append(
|
|
15
15
|
container,
|
|
16
|
-
$("div.chat-debug-message-content-title", undefined, ( localize(
|
|
16
|
+
$("div.chat-debug-message-content-title", undefined, ( localize(6244, "Model Turn")))
|
|
17
17
|
);
|
|
18
18
|
const statusParts = [];
|
|
19
19
|
if (content.requestName) {
|
|
@@ -26,7 +26,7 @@ async function renderModelTurnContent(content, languageService, clipboardService
|
|
|
26
26
|
statusParts.push(content.status);
|
|
27
27
|
}
|
|
28
28
|
if (content.durationInMillis !== undefined) {
|
|
29
|
-
statusParts.push(( localize(
|
|
29
|
+
statusParts.push(( localize(6245, "{0}ms", numberFormatter.value.format(content.durationInMillis))));
|
|
30
30
|
}
|
|
31
31
|
if (statusParts.length > 0) {
|
|
32
32
|
append(container, $(
|
|
@@ -38,49 +38,49 @@ async function renderModelTurnContent(content, languageService, clipboardService
|
|
|
38
38
|
const detailsContainer = append(container, $("div.chat-debug-model-turn-details"));
|
|
39
39
|
if (content.inputTokens !== undefined) {
|
|
40
40
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
41
|
-
|
|
41
|
+
6246,
|
|
42
42
|
"Input tokens: {0}",
|
|
43
43
|
numberFormatter.value.format(content.inputTokens)
|
|
44
44
|
))));
|
|
45
45
|
}
|
|
46
46
|
if (content.outputTokens !== undefined) {
|
|
47
47
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
48
|
-
|
|
48
|
+
6247,
|
|
49
49
|
"Output tokens: {0}",
|
|
50
50
|
numberFormatter.value.format(content.outputTokens)
|
|
51
51
|
))));
|
|
52
52
|
}
|
|
53
53
|
if (content.cachedTokens !== undefined) {
|
|
54
54
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
55
|
-
|
|
55
|
+
6248,
|
|
56
56
|
"Cached tokens: {0}",
|
|
57
57
|
numberFormatter.value.format(content.cachedTokens)
|
|
58
58
|
))));
|
|
59
59
|
}
|
|
60
60
|
if (content.totalTokens !== undefined) {
|
|
61
61
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
62
|
-
|
|
62
|
+
6249,
|
|
63
63
|
"Total tokens: {0}",
|
|
64
64
|
numberFormatter.value.format(content.totalTokens)
|
|
65
65
|
))));
|
|
66
66
|
}
|
|
67
67
|
if (content.timeToFirstTokenInMillis !== undefined) {
|
|
68
68
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
69
|
-
|
|
69
|
+
6250,
|
|
70
70
|
"Time to first token: {0}ms",
|
|
71
71
|
numberFormatter.value.format(content.timeToFirstTokenInMillis)
|
|
72
72
|
))));
|
|
73
73
|
}
|
|
74
74
|
if (content.maxInputTokens !== undefined) {
|
|
75
75
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
76
|
-
|
|
76
|
+
6251,
|
|
77
77
|
"Max input tokens: {0}",
|
|
78
78
|
numberFormatter.value.format(content.maxInputTokens)
|
|
79
79
|
))));
|
|
80
80
|
}
|
|
81
81
|
if (content.maxOutputTokens !== undefined) {
|
|
82
82
|
append(detailsContainer, $("div", undefined, ( localize(
|
|
83
|
-
|
|
83
|
+
6252,
|
|
84
84
|
"Max output tokens: {0}",
|
|
85
85
|
numberFormatter.value.format(content.maxOutputTokens)
|
|
86
86
|
))));
|
|
@@ -88,14 +88,14 @@ async function renderModelTurnContent(content, languageService, clipboardService
|
|
|
88
88
|
if (content.errorMessage) {
|
|
89
89
|
append(
|
|
90
90
|
detailsContainer,
|
|
91
|
-
$("div.chat-debug-model-turn-error", undefined, ( localize(
|
|
91
|
+
$("div.chat-debug-model-turn-error", undefined, ( localize(6253, "Error: {0}", content.errorMessage)))
|
|
92
92
|
);
|
|
93
93
|
}
|
|
94
94
|
if (content.sections && content.sections.length > 0) {
|
|
95
95
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
96
96
|
append(
|
|
97
97
|
sectionsContainer,
|
|
98
|
-
$("div.chat-debug-message-sections-label", undefined, ( localize(
|
|
98
|
+
$("div.chat-debug-message-sections-label", undefined, ( localize(6254, "Sections ({0})", content.sections.length)))
|
|
99
99
|
);
|
|
100
100
|
for (const section of content.sections) {
|
|
101
101
|
const {
|
|
@@ -121,71 +121,71 @@ async function renderModelTurnContent(content, languageService, clipboardService
|
|
|
121
121
|
}
|
|
122
122
|
function modelTurnContentToPlainText(content) {
|
|
123
123
|
const lines = [];
|
|
124
|
-
lines.push(( localize(
|
|
124
|
+
lines.push(( localize(6255, "Request: {0}", content.requestName)));
|
|
125
125
|
if (content.model) {
|
|
126
|
-
lines.push(( localize(
|
|
126
|
+
lines.push(( localize(6256, "Model: {0}", content.model)));
|
|
127
127
|
}
|
|
128
128
|
if (content.status && content.status !== "unknown") {
|
|
129
|
-
lines.push(( localize(
|
|
129
|
+
lines.push(( localize(6257, "Status: {0}", content.status)));
|
|
130
130
|
}
|
|
131
131
|
if (content.durationInMillis !== undefined) {
|
|
132
132
|
lines.push(( localize(
|
|
133
|
-
|
|
133
|
+
6258,
|
|
134
134
|
"Duration: {0}ms",
|
|
135
135
|
numberFormatter.value.format(content.durationInMillis)
|
|
136
136
|
)));
|
|
137
137
|
}
|
|
138
138
|
if (content.timeToFirstTokenInMillis !== undefined) {
|
|
139
139
|
lines.push(( localize(
|
|
140
|
-
|
|
140
|
+
6259,
|
|
141
141
|
"Time to first token: {0}ms",
|
|
142
142
|
numberFormatter.value.format(content.timeToFirstTokenInMillis)
|
|
143
143
|
)));
|
|
144
144
|
}
|
|
145
145
|
if (content.inputTokens !== undefined) {
|
|
146
146
|
lines.push(( localize(
|
|
147
|
-
|
|
147
|
+
6260,
|
|
148
148
|
"Input tokens: {0}",
|
|
149
149
|
numberFormatter.value.format(content.inputTokens)
|
|
150
150
|
)));
|
|
151
151
|
}
|
|
152
152
|
if (content.outputTokens !== undefined) {
|
|
153
153
|
lines.push(( localize(
|
|
154
|
-
|
|
154
|
+
6261,
|
|
155
155
|
"Output tokens: {0}",
|
|
156
156
|
numberFormatter.value.format(content.outputTokens)
|
|
157
157
|
)));
|
|
158
158
|
}
|
|
159
159
|
if (content.cachedTokens !== undefined) {
|
|
160
160
|
lines.push(( localize(
|
|
161
|
-
|
|
161
|
+
6262,
|
|
162
162
|
"Cached tokens: {0}",
|
|
163
163
|
numberFormatter.value.format(content.cachedTokens)
|
|
164
164
|
)));
|
|
165
165
|
}
|
|
166
166
|
if (content.totalTokens !== undefined) {
|
|
167
167
|
lines.push(( localize(
|
|
168
|
-
|
|
168
|
+
6263,
|
|
169
169
|
"Total tokens: {0}",
|
|
170
170
|
numberFormatter.value.format(content.totalTokens)
|
|
171
171
|
)));
|
|
172
172
|
}
|
|
173
173
|
if (content.maxInputTokens !== undefined) {
|
|
174
174
|
lines.push(( localize(
|
|
175
|
-
|
|
175
|
+
6264,
|
|
176
176
|
"Max input tokens: {0}",
|
|
177
177
|
numberFormatter.value.format(content.maxInputTokens)
|
|
178
178
|
)));
|
|
179
179
|
}
|
|
180
180
|
if (content.maxOutputTokens !== undefined) {
|
|
181
181
|
lines.push(( localize(
|
|
182
|
-
|
|
182
|
+
6265,
|
|
183
183
|
"Max output tokens: {0}",
|
|
184
184
|
numberFormatter.value.format(content.maxOutputTokens)
|
|
185
185
|
)));
|
|
186
186
|
}
|
|
187
187
|
if (content.errorMessage) {
|
|
188
|
-
lines.push(( localize(
|
|
188
|
+
lines.push(( localize(6266, "Error: {0}", content.errorMessage)));
|
|
189
189
|
}
|
|
190
190
|
if (content.sections && content.sections.length > 0) {
|
|
191
191
|
lines.push("");
|
|
@@ -112,7 +112,7 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
114
114
|
const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
|
|
115
|
-
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(
|
|
115
|
+
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(6267, "Agent Debug Logs")), true)), ( new TextBreadcrumbItem(sessionTitle))]);
|
|
116
116
|
}
|
|
117
117
|
load() {
|
|
118
118
|
clearNode(this.content);
|
|
@@ -128,8 +128,8 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
128
128
|
titleEl.append(sessionTitle);
|
|
129
129
|
const titleActions = append(titleRow, $(".chat-debug-overview-title-actions"));
|
|
130
130
|
const revealSessionBtn = this.loadDisposables.add(( new Button(titleActions, {
|
|
131
|
-
ariaLabel: ( localize(
|
|
132
|
-
title: ( localize(
|
|
131
|
+
ariaLabel: ( localize(6268, "Reveal Chat Session")),
|
|
132
|
+
title: ( localize(6268, "Reveal Chat Session"))
|
|
133
133
|
})));
|
|
134
134
|
revealSessionBtn.element.classList.add("chat-debug-icon-button");
|
|
135
135
|
revealSessionBtn.icon = Codicon.goToFile;
|
|
@@ -148,36 +148,36 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
148
148
|
const details = [];
|
|
149
149
|
const sessionType = getChatSessionType(sessionUri);
|
|
150
150
|
const contribution = this.chatSessionsService.getChatSessionContribution(sessionType);
|
|
151
|
-
const sessionTypeName = contribution?.displayName || (sessionType === localChatSessionType ? ( localize(
|
|
151
|
+
const sessionTypeName = contribution?.displayName || (sessionType === localChatSessionType ? ( localize(6269, "Local")) : sessionType);
|
|
152
152
|
details.push({
|
|
153
|
-
label: ( localize(
|
|
153
|
+
label: ( localize(6270, "Session Type")),
|
|
154
154
|
value: sessionTypeName
|
|
155
155
|
});
|
|
156
156
|
if (model) {
|
|
157
157
|
const locationLabel = this.getLocationLabel(model.initialLocation);
|
|
158
158
|
details.push({
|
|
159
|
-
label: ( localize(
|
|
159
|
+
label: ( localize(6271, "Location")),
|
|
160
160
|
value: locationLabel
|
|
161
161
|
});
|
|
162
162
|
const inProgress = model.requestInProgress.get();
|
|
163
|
-
const statusLabel = inProgress ? ( localize(
|
|
163
|
+
const statusLabel = inProgress ? ( localize(6272, "In Progress")) : ( localize(6273, "Idle"));
|
|
164
164
|
details.push({
|
|
165
|
-
label: ( localize(
|
|
165
|
+
label: ( localize(6274, "Status")),
|
|
166
166
|
value: statusLabel
|
|
167
167
|
});
|
|
168
168
|
const timing = model.timing;
|
|
169
169
|
details.push({
|
|
170
|
-
label: ( localize(
|
|
170
|
+
label: ( localize(6275, "Created")),
|
|
171
171
|
value: ( new Date(timing.created)).toLocaleString()
|
|
172
172
|
});
|
|
173
173
|
if (timing.lastRequestEnded) {
|
|
174
174
|
details.push({
|
|
175
|
-
label: ( localize(
|
|
175
|
+
label: ( localize(6276, "Last Activity")),
|
|
176
176
|
value: ( new Date(timing.lastRequestEnded)).toLocaleString()
|
|
177
177
|
});
|
|
178
178
|
} else if (timing.lastRequestStarted) {
|
|
179
179
|
details.push({
|
|
180
|
-
label: ( localize(
|
|
180
|
+
label: ( localize(6276, "Last Activity")),
|
|
181
181
|
value: ( new Date(timing.lastRequestStarted)).toLocaleString()
|
|
182
182
|
});
|
|
183
183
|
}
|
|
@@ -186,7 +186,7 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
186
186
|
const section = append(this.content, $(".chat-debug-overview-section"));
|
|
187
187
|
append(
|
|
188
188
|
section,
|
|
189
|
-
$("h3.chat-debug-overview-section-label", undefined, ( localize(
|
|
189
|
+
$("h3.chat-debug-overview-section-label", undefined, ( localize(6277, "Session Details")))
|
|
190
190
|
);
|
|
191
191
|
const detailsGrid = append(section, $(".chat-debug-overview-details"));
|
|
192
192
|
for (const detail of details) {
|
|
@@ -199,13 +199,13 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
199
199
|
getLocationLabel(location) {
|
|
200
200
|
switch (location) {
|
|
201
201
|
case ChatAgentLocation.Chat:
|
|
202
|
-
return localize(
|
|
202
|
+
return localize(6278, "Chat Panel");
|
|
203
203
|
case ChatAgentLocation.Terminal:
|
|
204
|
-
return localize(
|
|
204
|
+
return localize(6279, "Terminal");
|
|
205
205
|
case ChatAgentLocation.Notebook:
|
|
206
|
-
return localize(
|
|
206
|
+
return localize(6280, "Notebook");
|
|
207
207
|
case ChatAgentLocation.EditorInline:
|
|
208
|
-
return localize(
|
|
208
|
+
return localize(6281, "Editor Inline");
|
|
209
209
|
default:
|
|
210
210
|
return String(location);
|
|
211
211
|
}
|
|
@@ -214,7 +214,7 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
214
214
|
const metricsSection = append(this.content, $(".chat-debug-overview-section"));
|
|
215
215
|
append(
|
|
216
216
|
metricsSection,
|
|
217
|
-
$("h3.chat-debug-overview-section-label", undefined, ( localize(
|
|
217
|
+
$("h3.chat-debug-overview-section-label", undefined, ( localize(6282, "Summary")))
|
|
218
218
|
);
|
|
219
219
|
this.metricsContainer = append(metricsSection, $(".chat-debug-overview-metrics"));
|
|
220
220
|
if (showShimmer) {
|
|
@@ -225,17 +225,17 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
225
225
|
const actionsSection = append(this.content, $(".chat-debug-overview-section"));
|
|
226
226
|
append(
|
|
227
227
|
actionsSection,
|
|
228
|
-
$("h3.chat-debug-overview-section-label", undefined, ( localize(
|
|
228
|
+
$("h3.chat-debug-overview-section-label", undefined, ( localize(6283, "Explore Trace Data")))
|
|
229
229
|
);
|
|
230
230
|
const row = append(actionsSection, $(".chat-debug-overview-actions"));
|
|
231
231
|
const viewLogsBtn = this.loadDisposables.add(( new Button(row, {
|
|
232
232
|
...defaultButtonStyles,
|
|
233
233
|
secondary: true,
|
|
234
234
|
supportIcons: true,
|
|
235
|
-
title: ( localize(
|
|
235
|
+
title: ( localize(6284, "View Logs"))
|
|
236
236
|
})));
|
|
237
237
|
viewLogsBtn.element.classList.add("chat-debug-overview-action-button");
|
|
238
|
-
viewLogsBtn.label = `$(list-flat) ${( localize(
|
|
238
|
+
viewLogsBtn.label = `$(list-flat) ${( localize(6284, "View Logs"))}`;
|
|
239
239
|
this.loadDisposables.add(viewLogsBtn.onDidClick(() => {
|
|
240
240
|
this._onNavigate.fire(OverviewNavigation.Logs);
|
|
241
241
|
}));
|
|
@@ -243,10 +243,10 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
243
243
|
...defaultButtonStyles,
|
|
244
244
|
secondary: true,
|
|
245
245
|
supportIcons: true,
|
|
246
|
-
title: ( localize(
|
|
246
|
+
title: ( localize(6285, "Agent Flow Chart"))
|
|
247
247
|
})));
|
|
248
248
|
flowChartBtn.element.classList.add("chat-debug-overview-action-button");
|
|
249
|
-
flowChartBtn.label = `$(type-hierarchy) ${( localize(
|
|
249
|
+
flowChartBtn.label = `$(type-hierarchy) ${( localize(6285, "Agent Flow Chart"))}`;
|
|
250
250
|
this.loadDisposables.add(flowChartBtn.onDidClick(() => {
|
|
251
251
|
this._onNavigate.fire(OverviewNavigation.FlowChart);
|
|
252
252
|
}));
|
|
@@ -254,16 +254,16 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
254
254
|
...defaultButtonStyles,
|
|
255
255
|
secondary: true,
|
|
256
256
|
supportIcons: true,
|
|
257
|
-
title: ( localize(
|
|
257
|
+
title: ( localize(6286, "Cache Explorer"))
|
|
258
258
|
})));
|
|
259
259
|
cacheBtn.element.classList.add("chat-debug-overview-action-button");
|
|
260
|
-
cacheBtn.label = `$(database) ${( localize(
|
|
260
|
+
cacheBtn.label = `$(database) ${( localize(6286, "Cache Explorer"))}`;
|
|
261
261
|
this.loadDisposables.add(cacheBtn.onDidClick(() => {
|
|
262
262
|
this._onNavigate.fire(OverviewNavigation.CacheExplorer);
|
|
263
263
|
}));
|
|
264
264
|
}
|
|
265
265
|
renderMetricsShimmer(container) {
|
|
266
|
-
const placeholderLabels = [( localize(
|
|
266
|
+
const placeholderLabels = [( localize(6287, "Model Turns")), ( localize(6288, "Tool Calls")), ( localize(6289, "Total Input Tokens")), ( localize(6290, "Total Output Tokens")), ( localize(6291, "Total Cached Input Tokens")), ( localize(6292, "Total Tokens")), ( localize(6293, "Errors"))];
|
|
267
267
|
for (const label of placeholderLabels) {
|
|
268
268
|
const card = append(container, $(".chat-debug-overview-metric-card"));
|
|
269
269
|
append(card, $("div.chat-debug-overview-metric-label", undefined, label));
|
|
@@ -285,31 +285,31 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
285
285
|
const totalTokens = modelTurns.reduce((sum, e) => sum + (e.totalTokens ?? 0), 0);
|
|
286
286
|
const totalCopilotUsageNanoAiu = modelTurns.reduce((sum, e) => sum + (e.copilotUsageNanoAiu ?? 0), 0);
|
|
287
287
|
const metrics = [{
|
|
288
|
-
label: ( localize(
|
|
288
|
+
label: ( localize(6287, "Model Turns")),
|
|
289
289
|
value: fmt.format(modelTurns.length)
|
|
290
290
|
}, {
|
|
291
|
-
label: ( localize(
|
|
291
|
+
label: ( localize(6288, "Tool Calls")),
|
|
292
292
|
value: fmt.format(toolCalls.length)
|
|
293
293
|
}, {
|
|
294
|
-
label: ( localize(
|
|
294
|
+
label: ( localize(6289, "Total Input Tokens")),
|
|
295
295
|
value: fmt.format(totalInputTokens)
|
|
296
296
|
}, {
|
|
297
|
-
label: ( localize(
|
|
297
|
+
label: ( localize(6290, "Total Output Tokens")),
|
|
298
298
|
value: fmt.format(totalOutputTokens)
|
|
299
299
|
}, {
|
|
300
|
-
label: ( localize(
|
|
300
|
+
label: ( localize(6291, "Total Cached Input Tokens")),
|
|
301
301
|
value: fmt.format(totalCachedTokens)
|
|
302
302
|
}, {
|
|
303
|
-
label: ( localize(
|
|
303
|
+
label: ( localize(6292, "Total Tokens")),
|
|
304
304
|
value: fmt.format(totalTokens)
|
|
305
305
|
}, {
|
|
306
|
-
label: ( localize(
|
|
306
|
+
label: ( localize(6293, "Errors")),
|
|
307
307
|
value: fmt.format(errors.length)
|
|
308
308
|
}];
|
|
309
309
|
if (totalCopilotUsageNanoAiu > 0) {
|
|
310
310
|
const aic = totalCopilotUsageNanoAiu / NANO_AIU_PER_AIC;
|
|
311
311
|
metrics.push({
|
|
312
|
-
label: ( localize(
|
|
312
|
+
label: ( localize(6294, "Copilot Usage (AIC)")),
|
|
313
313
|
value: aicFormatter.value.format(aic)
|
|
314
314
|
});
|
|
315
315
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js
CHANGED
|
@@ -53,8 +53,8 @@ function renderSection(
|
|
|
53
53
|
append(header, $("span.chat-debug-message-section-title", undefined, label));
|
|
54
54
|
if (clipboardService) {
|
|
55
55
|
const copyBtn = disposables.add(( new Button(header, {
|
|
56
|
-
title: ( localize(
|
|
57
|
-
ariaLabel: ( localize(
|
|
56
|
+
title: ( localize(6295, "Copy")),
|
|
57
|
+
ariaLabel: ( localize(6295, "Copy")),
|
|
58
58
|
hoverDelegate: getDefaultHoverDelegate("mouse")
|
|
59
59
|
})));
|
|
60
60
|
copyBtn.icon = Codicon.copy;
|
|
@@ -97,10 +97,10 @@ async function renderToolCallContent(content, languageService, clipboardService,
|
|
|
97
97
|
);
|
|
98
98
|
const statusParts = [];
|
|
99
99
|
if (content.result) {
|
|
100
|
-
statusParts.push(content.result === "success" ? ( localize(
|
|
100
|
+
statusParts.push(content.result === "success" ? ( localize(6296, "Success")) : ( localize(6297, "Error")));
|
|
101
101
|
}
|
|
102
102
|
if (content.durationInMillis !== undefined) {
|
|
103
|
-
statusParts.push(( localize(
|
|
103
|
+
statusParts.push(( localize(6298, "{0}ms", content.durationInMillis)));
|
|
104
104
|
}
|
|
105
105
|
if (statusParts.length > 0) {
|
|
106
106
|
append(container, $(
|
|
@@ -115,14 +115,14 @@ async function renderToolCallContent(content, languageService, clipboardService,
|
|
|
115
115
|
plainText,
|
|
116
116
|
tokenizedHtml
|
|
117
117
|
} = await tokenizeContent(content.input, languageService);
|
|
118
|
-
renderSection(sectionsContainer, ( localize(
|
|
118
|
+
renderSection(sectionsContainer, ( localize(6299, "Arguments")), plainText, tokenizedHtml, disposables, false, clipboardService, scrollable);
|
|
119
119
|
}
|
|
120
120
|
if (content.output) {
|
|
121
121
|
const {
|
|
122
122
|
plainText,
|
|
123
123
|
tokenizedHtml
|
|
124
124
|
} = await tokenizeContent(content.output, languageService);
|
|
125
|
-
renderSection(sectionsContainer, ( localize(
|
|
125
|
+
renderSection(sectionsContainer, ( localize(6300, "Output")), plainText, tokenizedHtml, disposables, false, clipboardService, scrollable);
|
|
126
126
|
}
|
|
127
127
|
return {
|
|
128
128
|
element: container,
|
|
@@ -131,16 +131,16 @@ async function renderToolCallContent(content, languageService, clipboardService,
|
|
|
131
131
|
}
|
|
132
132
|
function toolCallContentToPlainText(content) {
|
|
133
133
|
const lines = [];
|
|
134
|
-
lines.push(( localize(
|
|
134
|
+
lines.push(( localize(6301, "Tool: {0}", content.toolName)));
|
|
135
135
|
if (content.result) {
|
|
136
|
-
lines.push(( localize(
|
|
136
|
+
lines.push(( localize(6302, "Status: {0}", content.result)));
|
|
137
137
|
}
|
|
138
138
|
if (content.durationInMillis !== undefined) {
|
|
139
|
-
lines.push(( localize(
|
|
139
|
+
lines.push(( localize(6303, "Duration: {0}ms", content.durationInMillis)));
|
|
140
140
|
}
|
|
141
141
|
if (content.input) {
|
|
142
142
|
lines.push("");
|
|
143
|
-
lines.push(`[${( localize(
|
|
143
|
+
lines.push(`[${( localize(6299, "Arguments"))}]`);
|
|
144
144
|
try {
|
|
145
145
|
const parsed = JSON.parse(content.input);
|
|
146
146
|
lines.push(JSON.stringify(parsed, null, 2));
|
|
@@ -150,7 +150,7 @@ function toolCallContentToPlainText(content) {
|
|
|
150
150
|
}
|
|
151
151
|
if (content.output) {
|
|
152
152
|
lines.push("");
|
|
153
|
-
lines.push(`[${( localize(
|
|
153
|
+
lines.push(`[${( localize(6300, "Output"))}]`);
|
|
154
154
|
try {
|
|
155
155
|
const parsed = JSON.parse(content.output);
|
|
156
156
|
lines.push(JSON.stringify(parsed, null, 2));
|