@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
text/typescript
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
};
}
}