UNPKG

@nomyx/assistant

Version:

A powerful assistant library and cli for your AI projects. works with Vertex AI (Claude and Gemini)

55 lines (48 loc) 1.45 kB
import { ChatMessage, ChatOptions, ProviderResponse } from "../types/chat"; import { IAIProvider, ProviderCapabilities } from "../types/provider"; import { StandardizedToolCall } from "../types/tool"; export class MockAIProvider implements IAIProvider { async chat(messages: ChatMessage[], options: ChatOptions): Promise<ProviderResponse> { return { content: `Mock response to: ${messages[messages.length - 1].content}`, toolCalls: [], usage: { promptTokens: 10, completionTokens: 20, totalTokens: 30 } }; } async *streamChat(messages: ChatMessage[], options: ChatOptions): AsyncIterableIterator<ProviderResponse> { yield { content: `Mock streaming response to: ${messages[messages.length - 1].content}`, toolCalls: [], usage: { promptTokens: 5, completionTokens: 10, totalTokens: 15 } }; } convertToolSchema(schema: any): unknown { return schema; } convertToolCall(call: unknown): StandardizedToolCall { return { name: 'mockTool', arguments: {} }; } use(middleware: any): void {} registerPlugin(plugin: any): void {} getCapabilities(): ProviderCapabilities { return { maxTokens: 1000, supportsFunctionCalling: false, supportsStreaming: true, supportedModels: ['mock-model'], maxSimultaneousCalls: 1, supportsSemanticCaching: false }; } }