// NATIVE on-device generation stub. Running a local LLM on device (e.g. via // llama.rn / MLC's native runtime) is a Phase 5 follow-up; until then the native // webllm engine reports unavailable so callers transparently fall back to the // search-only path (or a BYO-key cloud model). It NEVER produces a fake answer. // // This module is selected by Metro for native (.native.ts) and is never imported // by any vitest test. import type { GenerationEngine } from './engine'; const NOT_AVAILABLE = 'On-device generation is not available on native yet'; export const webllm: GenerationEngine = { kind: 'webllm', label: 'On-device (Qwen2.5-1.5B)', async isAvailable(): Promise { return false; }, async loadModel(): Promise { throw new Error(NOT_AVAILABLE); }, isLoaded(): boolean { return false; }, async generate(): Promise { throw new Error(NOT_AVAILABLE); }, };