Skip to content

Commit f8d2bfb

Browse files
authored
handle markdown string correctly, fix bug (microsoft#250653)
1 parent a3f36d6 commit f8d2bfb

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,16 @@ export const getToolConfirmationAlert = (accessor: ServicesAccessor, toolInvocat
2727
const titles: string[] = toolInvocation.filter(t => t.confirmationMessages?.title).map(v => {
2828
let input = '';
2929
if (v.toolSpecificData) {
30-
input = v.toolSpecificData?.kind === 'terminal'
31-
? v.toolSpecificData.command
32-
: v.toolSpecificData?.kind === 'extensions'
33-
? JSON.stringify(v.toolSpecificData.extensions)
34-
: JSON.stringify(v.toolSpecificData.rawInput);
30+
if (v.toolSpecificData.kind === 'terminal') {
31+
input = v.toolSpecificData.command;
32+
} else if (v.toolSpecificData.kind === 'extensions') {
33+
input = JSON.stringify(v.toolSpecificData.extensions);
34+
} else if (v.toolSpecificData.kind === 'input') {
35+
input = JSON.stringify(v.toolSpecificData.rawInput);
36+
}
3537
}
36-
const title = v.confirmationMessages?.title || '';
38+
const titleObj = v.confirmationMessages?.title;
39+
const title = typeof titleObj === 'string' ? titleObj : titleObj?.value || '';
3740
return (title + (input ? ': ' + input : '')).trim();
3841
}).filter(v => !!v);
3942

src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class ChatResponseAccessibleProvider extends Disposable implements IAccessibleVi
7070
const toolInvocations = item.response.value.filter(item => item.kind === 'toolInvocation');
7171
for (const toolInvocation of toolInvocations) {
7272
if (toolInvocation.confirmationMessages) {
73-
const title = toolInvocation.confirmationMessages.title;
73+
const title = typeof toolInvocation.confirmationMessages.title === 'string' ? toolInvocation.confirmationMessages.title : toolInvocation.confirmationMessages.title.value;
7474
const message = typeof toolInvocation.confirmationMessages.message === 'string' ? toolInvocation.confirmationMessages.message : stripIcons(renderMarkdownAsPlaintext(toolInvocation.confirmationMessages.message));
7575
let input = '';
7676
if (toolInvocation.toolSpecificData) {

0 commit comments

Comments
 (0)