diff --git a/lib/ai/models.mock.ts b/lib/ai/models.mock.ts new file mode 100644 index 0000000..97ce212 --- /dev/null +++ b/lib/ai/models.mock.ts @@ -0,0 +1,38 @@ +import { type LanguageModel } from 'ai'; + +const createMockModel = (): LanguageModel => { + return { + specificationVersion: 'v2', + provider: 'mock', + modelId: 'mock-model', + defaultObjectGenerationMode: 'tool', + supportedUrls: [], + supportsImageUrls: false, + supportsStructuredOutputs: false, + doGenerate: async () => ({ + rawCall: { rawPrompt: null, rawSettings: {} }, + finishReason: 'stop', + usage: { inputTokens: 10, outputTokens: 20, totalTokens: 30 }, + content: [{ type: 'text', text: 'Hello, world!' }], + warnings: [], + }), + doStream: async () => ({ + stream: new ReadableStream({ + start(controller) { + controller.enqueue({ + type: 'text-delta', + id: 'mock-id', + delta: 'Mock response', + }); + controller.close(); + }, + }), + rawCall: { rawPrompt: null, rawSettings: {} }, + }), + } as unknown as LanguageModel; +}; + +export const chatModel = createMockModel(); +export const reasoningModel = createMockModel(); +export const titleModel = createMockModel(); +export const artifactModel = createMockModel(); \ No newline at end of file diff --git a/lib/ai/providers.ts b/lib/ai/providers.ts index edeade7..578fa08 100644 --- a/lib/ai/providers.ts +++ b/lib/ai/providers.ts @@ -13,7 +13,7 @@ export const myProvider = isTestEnvironment chatModel, reasoningModel, titleModel, - } = require('./models.test'); + } = require('./models.mock'); return customProvider({ languageModels: { 'chat-model': chatModel,