import { describe, it, expect, vi } from 'vitest'; import { createSendAgent } from './send.js'; import type { ChatRequest, ChatResponse } from '../models/types.js'; describe('send command', () => { it('createSendAgent creates an agent that can process a message', async () => { // Mock model client that returns a canned response const mockModelClient = { chat: vi.fn().mockImplementation(async (_request: ChatRequest): Promise => ({ content: 'Hello from Flynn!', stopReason: 'end_turn', usage: { inputTokens: 10, outputTokens: 5 }, })), }; const agent = createSendAgent({ modelClient: mockModelClient, systemPrompt: 'You are Flynn.', }); const response = await agent.process('Hi there'); expect(response).toBe('Hello from Flynn!'); expect(mockModelClient.chat).toHaveBeenCalledOnce(); }); });