import test from 'node:test'; import assert from 'node:assert'; import { safeImport } from '../_helpers/path.js'; import { FakeLLMClient } from '../_helpers/fakeLLMClient.js'; function skip(msg){ console.warn('[SKIP]', msg); } test('LLMManager: supports abort/timeout behavior', async () => { const res = await safeImport('LLMManager'); if (!res.ok) { skip(res.reason); return; } const L = res.mod; if (typeof L.__setClient !== 'function') { skip('Missing __setClient'); return; } const fake = new FakeLLMClient({ delayMs: 200 }); L.__setClient('mock', fake); const ac = new AbortController(); const p = L.callModel({ provider:'mock', model:'fake-1', input:'slow', abortSignal: ac.signal }); setTimeout(()=> ac.abort(), 50); let aborted = false; try { await p; } catch(e){ aborted = true; } assert.ok(aborted, 'expected abort to be propagated'); });