This commit is contained in:
Rob Lourens
2024-10-28 16:21:47 -07:00
parent cb3cd5201c
commit fa7a0d8d9d
2 changed files with 11 additions and 8 deletions

View File

@ -75,7 +75,6 @@ interface ToolCallsProps extends BasePromptElementProps {
toolInvocationToken: vscode.ChatParticipantToolToken | undefined;
}
const agentSupportedContentTypes = [promptTsxContentType, 'text/plain'];
const dummyCancellationToken: vscode.CancellationToken = new vscode.CancellationTokenSource().token;
class ToolCalls extends PromptElement<ToolCallsProps, void> {

View File

@ -18,19 +18,23 @@ export function isTsxToolUserMetadata(obj: unknown): obj is TsxToolUserMetadata
Array.isArray((obj as TsxToolUserMetadata).toolCallsMetadata.toolCallRounds);
}
export function registerTsxChatParticipant(context: vscode.ExtensionContext) {
export function registerToolUserChatParticipant(context: vscode.ExtensionContext) {
const handler: vscode.ChatRequestHandler = async (request: vscode.ChatRequest, chatContext: vscode.ChatContext, stream: vscode.ChatResponseStream, token: vscode.CancellationToken) => {
if (request.command === 'list') {
stream.markdown(`Available tools: ${vscode.lm.tools.map(tool => tool.name).join(', ')}\n\n`);
return;
}
const models = await vscode.lm.selectChatModels({
vendor: 'copilot',
family: 'gpt-4o'
});
let model = request.model;
if (model.vendor === 'copilot' && model.family.startsWith('o1')) {
// The o1 models do not currently support tools
const models = await vscode.lm.selectChatModels({
vendor: 'copilot',
family: 'gpt-4o'
});
model = models[0];
}
const model = models[0];
const allTools = vscode.lm.tools.map((tool): vscode.LanguageModelChatTool => {
return {
name: tool.name,
@ -40,7 +44,7 @@ export function registerTsxChatParticipant(context: vscode.ExtensionContext) {
});
const options: vscode.LanguageModelChatRequestOptions = {
justification: 'Just because!',
justification: 'To make a request to @toolsTSX',
};
let { messages, references } = await renderPrompt(