Skip to content

Commit c66f083

Browse files
authored
api finalization for chat extension (#1788)
1 parent f5451c2 commit c66f083

File tree

10 files changed

+509
-221
lines changed

10 files changed

+509
-221
lines changed

src/extension/conversation/common/languageModelChatMessageHelpers.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,15 @@
44
*--------------------------------------------------------------------------------------------*/
55

66

7-
import { ChatImageMimeType, LanguageModelDataPart } from '../../../vscodeTypes';
7+
import { LanguageModelDataPart } from '../../../vscodeTypes';
8+
9+
export enum ChatImageMimeType {
10+
PNG = 'image/png',
11+
JPEG = 'image/jpeg',
12+
GIF = 'image/gif',
13+
WEBP = 'image/webp',
14+
BMP = 'image/bmp',
15+
}
816

917
export function isImageDataPart(part: unknown): part is LanguageModelDataPart {
1018
if (part instanceof LanguageModelDataPart && isChatImageMimeType(part.mimeType)) {
@@ -25,4 +33,4 @@ function isChatImageMimeType(mimeType: string): mimeType is ChatImageMimeType {
2533
default:
2634
return false;
2735
}
28-
}
36+
}

src/extension/prompt/vscode-node/requestLoggerToolResult.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { JSONTree, OutputMode, PromptElement, Raw, renderPrompt, UserMessage } from '@vscode/prompt-tsx';
7-
import { ChatImageMimeType, LanguageModelDataPart, LanguageModelPromptTsxPart } from '../../../vscodeTypes';
7+
import { LanguageModelDataPart, LanguageModelPromptTsxPart } from '../../../vscodeTypes';
8+
import { ChatImageMimeType } from '../../conversation/common/languageModelChatMessageHelpers';
89

910
export async function renderToolResultToStringNoBudget(part: LanguageModelPromptTsxPart) {
1011
const r = await renderPrompt(class extends PromptElement {

src/extension/tools/node/getNotebookCellOutputTool.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { IPromptPathRepresentationService } from '../../../platform/prompts/comm
1111
import { IWorkspaceService } from '../../../platform/workspace/common/workspaceService';
1212
import { findNotebook } from '../../../util/common/notebooks';
1313
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
14-
import { ChatImageMimeType, ExtendedLanguageModelToolResult, LanguageModelDataPart, LanguageModelPromptTsxPart, LanguageModelTextPart, MarkdownString } from '../../../vscodeTypes';
14+
import { ExtendedLanguageModelToolResult, LanguageModelDataPart, LanguageModelPromptTsxPart, LanguageModelTextPart, MarkdownString } from '../../../vscodeTypes';
1515
import { IBuildPromptContext } from '../../prompt/common/intents';
1616
import { renderPromptElementJSON } from '../../prompts/node/base/promptRenderer';
1717
import { ToolName } from '../common/toolNames';
@@ -21,6 +21,7 @@ import { ITelemetryService } from '../../../platform/telemetry/common/telemetry'
2121
import { getCellIdMap } from '../../../platform/notebook/common/helpers';
2222
import { INotebookService } from '../../../platform/notebook/common/notebookService';
2323
import { ILogService } from '../../../platform/log/common/logService';
24+
import { ChatImageMimeType } from '../../conversation/common/languageModelChatMessageHelpers';
2425

2526
export class GetNotebookCellOutputTool implements ICopilotTool<IGetNotebookCellOutputToolParams> {
2627
public static toolName = ToolName.ReadCellOutput;

src/extension/tools/node/runNotebookCellTool.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { findNotebook, isJupyterNotebookUri } from '../../../util/common/noteboo
2020
import { raceCancellationError, raceTimeout } from '../../../util/vs/base/common/async';
2121
import { dispose } from '../../../util/vs/base/common/lifecycle';
2222
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
23-
import { ChatImageMimeType, ExtendedLanguageModelToolResult, LanguageModelDataPart, LanguageModelPromptTsxPart, LanguageModelTextPart, LanguageModelToolResult, MarkdownString } from '../../../vscodeTypes';
23+
import { ExtendedLanguageModelToolResult, LanguageModelDataPart, LanguageModelPromptTsxPart, LanguageModelTextPart, LanguageModelToolResult, MarkdownString } from '../../../vscodeTypes';
2424
import { IBuildPromptContext } from '../../prompt/common/intents';
2525
import { renderPromptElementJSON } from '../../prompts/node/base/promptRenderer';
2626
import { Tag } from '../../prompts/node/base/tag';
@@ -29,6 +29,7 @@ import { ToolName } from '../common/toolNames';
2929
import { ICopilotTool, ToolRegistry } from '../common/toolsRegistry';
3030
import { IToolsService } from '../common/toolsService';
3131
import { IInstallExtensionToolInput } from './installExtensionTool';
32+
import { ChatImageMimeType } from '../../conversation/common/languageModelChatMessageHelpers';
3233

3334
class RunNotebookTelemetryEvent {
3435
public result: 'success' | 'failure' | 'skipped' = 'failure';

0 commit comments

Comments
 (0)