MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / convertToVsCodeLmTools

Function convertToVsCodeLmTools

src/api/providers/vscode-lm.ts:24–34  ·  view source on GitHub ↗

* Converts OpenAI-format tools to VSCode Language Model tools. * Normalizes the JSON Schema to draft 2020-12 compliant format required by * GitHub Copilot's backend, converting type: ["T", "null"] to anyOf format. * @param tools Array of OpenAI ChatCompletionTool definitions * @returns Array of

(tools: OpenAI.Chat.ChatCompletionTool[])

Source from the content-addressed store, hash-verified

22 * @returns Array of VSCode LanguageModelChatTool definitions
23 */
24function convertToVsCodeLmTools(tools: OpenAI.Chat.ChatCompletionTool[]): vscode.LanguageModelChatTool[] {
25 return tools
26 .filter((tool) => tool.type === "function")
27 .map((tool) => ({
28 name: tool.function.name,
29 description: tool.function.description || "",
30 inputSchema: tool.function.parameters
31 ? normalizeToolSchema(tool.function.parameters as Record<string, unknown>)
32 : undefined,
33 }))
34}
35
36/**
37 * Handles interaction with VS Code's Language Model API for chat-based operations.

Callers 1

createMessageMethod · 0.85

Calls 1

normalizeToolSchemaFunction · 0.90

Tested by

no test coverage detected