| 32 | } |
| 33 | |
| 34 | function createMockProvider(stream: StreamedMessage): ChatProvider { |
| 35 | return { |
| 36 | name: 'mock', |
| 37 | modelName: 'mock-model', |
| 38 | thinkingEffort: null, |
| 39 | generate: async ( |
| 40 | _systemPrompt: string, |
| 41 | _tools: Tool[], |
| 42 | _history: Message[], |
| 43 | ): Promise<StreamedMessage> => stream, |
| 44 | withThinking(_effort: ThinkingEffort): ChatProvider { |
| 45 | return this; |
| 46 | }, |
| 47 | }; |
| 48 | } |
| 49 | describe('generate()', () => { |
| 50 | it('merges consecutive TextParts and filters empty ones', async () => { |
| 51 | const stream = createMockStream([ |