7611ada001
Strictly opt-in, gated, with the deterministic features as the always-present floor: - GenerationEngine: WebLLM (Qwen2.5-1.5B, WebGPU, CDN-loaded) + BYO-key cloud (OpenAI-compatible); native stub. Pure grounding prompt builder (4 tests). - rag.askLectures: retrieve Phase-1 hits -> grounded prompt -> answer with citations; refuses when nothing relevant; falls back to search-only when no engine is available. Never sends raw audio/transcripts — only question + snippets. - aiStore (BYO key persisted in localStorage on web), Ask screen (answer + tappable citation chips that jump to the audio + honest "verify" disclaimer), Settings AI section (engine status + bring-your-own-key form). 279 tests green, 0 tsc errors, web export builds. ROADMAP phases 0-5 complete. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
62 lines
1.7 KiB
JSON
62 lines
1.7 KiB
JSON
{
|
|
"name": "wisp",
|
|
"main": "expo-router/entry",
|
|
"version": "1.0.0",
|
|
"dependencies": {
|
|
"@expo/ui": "~56.0.17",
|
|
"@huggingface/transformers": "^4.2.0",
|
|
"buffer": "^6.0.3",
|
|
"dexie": "^4.4.3",
|
|
"expo": "~56.0.11",
|
|
"expo-constants": "~56.0.18",
|
|
"expo-device": "~56.0.4",
|
|
"expo-document-picker": "^56.0.4",
|
|
"expo-font": "~56.0.6",
|
|
"expo-glass-effect": "~56.0.4",
|
|
"expo-image": "~56.0.11",
|
|
"expo-linking": "~56.0.14",
|
|
"expo-router": "~56.2.10",
|
|
"expo-splash-screen": "~56.0.10",
|
|
"expo-sqlite": "^56.0.5",
|
|
"expo-status-bar": "~56.0.4",
|
|
"expo-symbols": "~56.0.6",
|
|
"expo-system-ui": "~56.0.5",
|
|
"expo-web-browser": "~56.0.5",
|
|
"react": "19.2.3",
|
|
"react-dom": "19.2.3",
|
|
"react-native": "0.85.3",
|
|
"react-native-gesture-handler": "~2.31.1",
|
|
"react-native-reanimated": "4.3.1",
|
|
"react-native-safe-area-context": "~5.7.0",
|
|
"react-native-screens": "4.25.2",
|
|
"react-native-web": "~0.21.0",
|
|
"react-native-worklets": "0.8.3",
|
|
"whisper.rn": "^0.6.0",
|
|
"zod": "^4.4.3",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^25.9.3",
|
|
"@types/react": "~19.2.2",
|
|
"eslint": "^9.0.0",
|
|
"eslint-config-expo": "~56.0.4",
|
|
"fake-indexeddb": "^6.2.5",
|
|
"fast-check": "^4.8.0",
|
|
"typescript": "~6.0.3",
|
|
"vitest": "^4.1.8"
|
|
},
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"android": "expo start --android",
|
|
"ios": "expo start --ios",
|
|
"web": "expo start --web",
|
|
"export:web": "expo export --platform web",
|
|
"prebuild:android": "expo prebuild --platform android --no-install",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "expo lint"
|
|
},
|
|
"private": true
|
|
}
|