(
workspaceId: string,
streamHandler: StreamMessageHandler = () => Promise.resolve(Ok(undefined))
)
| 34 | let historyCleanup: (() => Promise<void>) | undefined; |
| 35 | |
| 36 | async function createSessionHarness( |
| 37 | workspaceId: string, |
| 38 | streamHandler: StreamMessageHandler = () => Promise.resolve(Ok(undefined)) |
| 39 | ) { |
| 40 | const { historyService, cleanup } = await createTestHistoryService(); |
| 41 | historyCleanup = cleanup; |
| 42 | |
| 43 | const streamMessage = mock(streamHandler); |
| 44 | const aiService = Object.assign(new EventEmitter(), { |
| 45 | isStreaming: mock((_workspaceId: string) => false), |
| 46 | stopStream: mock((_workspaceId: string) => Promise.resolve(Ok(undefined))), |
| 47 | streamMessage: streamMessage as unknown as AIService["streamMessage"], |
| 48 | }) as unknown as AIService; |
| 49 | |
| 50 | return { |
| 51 | historyService, |
| 52 | streamMessage, |
| 53 | session: new AgentSession({ |
| 54 | workspaceId, |
| 55 | config, |
| 56 | historyService, |
| 57 | aiService, |
| 58 | initStateManager: new EventEmitter() as unknown as InitStateManager, |
| 59 | backgroundProcessManager: { |
| 60 | cleanup: mock((_workspaceId: string) => Promise.resolve()), |
| 61 | setMessageQueued: mock((_workspaceId: string, _queued: boolean) => { |
| 62 | void _queued; |
| 63 | }), |
| 64 | } as unknown as BackgroundProcessManager, |
| 65 | }), |
| 66 | }; |
| 67 | } |
| 68 | |
| 69 | async function seedImageMessage( |
| 70 | workspaceId: string, |
no test coverage detected