v0.1.0
·
206 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
odaiCLI bin with single-shot subcommands —summarize,commit-msg,triage,patch, plus abackendsavailability probe. Parsed JSON on stdout, diagnostics on stderr, a hard per-prompt budget via--timeout/ODAI_TIMEOUT_MS, and a stable exit-code contract: 0 success, 1 model failure, 2 usage error, 69 no backend available — the clean-skip signal for CI steps, printed with exact provisioning instructions.summarizeText,suggestCommitMessage, andtriageAlertstasks alongside the existing patch, dedupe, and lockfile tasks, exported from both entry points.- Backend registry with
createOdaiModelandselectBackend: backendssimulator,gemini-nano-headless,llama-server, andapple-fm(declared, unavailable); selection precedence is explicit option, thenODAI_BACKENDenv var, then availability probe order. llama-serverbackend adapter for any OpenAI-compatible/v1/chat/completionsendpoint: liveGET /healthavailability probe,ODAI_LLAMA_URL(defaulthttp://127.0.0.1:8080) andODAI_LLAMA_MODELconfig, SSE streaming, and prefill emulation through the existing JSON repair path.gemini-nano-headlessbackend bridge: in Node it launches real Google Chrome with--headless=newviaplaywright-core(optional peer dependency) and page-proxies theLanguageModelglobal — create, prompt, streaming, clone, destroy — throughpage.evaluate. System-Chrome mode clones the machine's already-downloaded Nano component into a odai-owned profile with copy-on-write (zero weights download, the live Chrome profile is never written;ODAI_CHROMEoverrides the executable). CI mode downloads the component once into a cacheable profile whenODAI_NANO_ALLOW_DOWNLOAD=1;ODAI_NANO_USER_DATA_DIRpins the profile foractions/cache. Chromium builds cannot run Nano — only real Chrome works.bench --backend=<name>scores any registry backend through the seam; real-model runs put Gemini Nano at 28.6% stable across reruns, 42.9% at best, on the 7-scenario battery.- Bench reports now include per-scenario prompt latency in milliseconds, recorded by
runEvaland printed byformatReport. apple-fmbackend adapter for Apple Foundation Models on macOS 26+: a Swift stdio shim compiled from embedded source withxcrun swiftcon first use and cached innode_modules/.cache/odai/, honest availability reporting the framework's own reason —deviceNotEligible,appleIntelligenceNotEnabled,modelNotReady— and aODAI_APPLE_FM_SHIMoverride for prebuilt shims and tests. Single-shot prompting through the existing JSON repair path; streaming yields one chunk in v1.- Initial fleet onboarding scaffolding.
Changed
- Renamed the package from
@socketsecurity/gemini-nanoto@socketsecurity/odai; thegnhevaluation harness is nowbench— the./gnhexport andpnpm run gnhscript are now./benchandpnpm run bench.
Fixed
apple-fm— move the shim cache out of node_modules to the repo-root store