SDK surface by view

August 17, 2026 ยท View on GitHub

Full per-surface map of view file to SDK calls. Referenced from AGENTS.md; the availability-gating rule that follows from this table lives there, not here. The app uses the namespaced facade throughout โ€” nothing calls the flat deprecated aliases.

SurfaceView fileSDK calls
Assistantviews/chat.tsllm.generateStream, llm.generate, llm.tools.register, runtime.modalities.llm.status
Talkviews/voice.tsvoice.createSession
Advancedapp.ts (initAdvancedHub)navigation hub only, no inference
Image & Liveviews/vision.tsvlm.generateStream, ImageInput.rawRgb, VideoCapture
Transcribeviews/transcribe.tsstt.transcribe, stt.transcribeStream, AudioInput.float32, AudioCapture, AudioFileLoader
Read Aloudviews/speak.tstts.speak, then SpeechHandle.interrupt() to stop
Voice Activityviews/vad.tsvad.detectStream, AudioInput.float32, AudioCapture
Segmentationviews/segmentation.tssegmentation.segment, ImageInput.rawRgba. No browser engine publishes the capability, so the catalog is empty and the view renders the unavailable placeholder
Diarizationviews/diarization.tsdiarization.diarize, AudioInput.float32. Same gate as Segmentation. There is no diarizeStream verb on Web
Documentsviews/documents.tsrag.open, then RagSession.ingest; models.list, models.get, models.download
Downloadsviews/storage.tsstorage.{clearCaches,chooseDirectory,directoryName,requestAccess,isReady,backend,isSupported}, models.{state,list,delete}
Solutionsviews/solutions.tssolutions.run, rag.open
Benchmarksviews/benchmarks.tsllm.generateStream. LLM only; iOS also covers STT, TTS, and VLM
Settingsviews/settings.tssetHuggingFaceToken, version, isReady, plus the reinitialization handler in main.ts