/** * Точка входа Web Worker ИИ ур. 4–6 (этап 5). Подключение по комментарию * packages/ai/src/worker.ts: `self.onmessage = (e) => createWorkerHandler(self)(e.data)`. * Сборка — Vite: new Worker(new URL('./ai-worker.ts', import.meta.url), { type: 'module' }) * (см. lib/ai-client.ts, defaultWorkerFactory). */ import { createWorkerHandler } from '@go-learn/ai'; import type { WorkerRequest, WorkerResponse } from '@go-learn/ai'; /** Минимальный срез DedicatedWorkerGlobalScope, нужный обработчику. */ interface WorkerScope { onmessage: ((event: { data: WorkerRequest }) => void) | null; postMessage(message: WorkerResponse): void; } const scope = self as unknown as WorkerScope; const handle = createWorkerHandler(scope); scope.onmessage = (event): void => handle(event.data);