Releases: SocketDev/odai
Releases · SocketDev/odai
Release list
v0.2.1
Added
cli— add the batch command — one backend launch, many tasks
Fixed
cli/batch— align catch bindings and remove underscore params in testsjson— never repair end-of-stream truncation — give up insteadjson— repair an unclosed array at the object close, string-aware
Internal
hooks— allowlist dl.google.com for chrome-builtin provisioningci— neutral sample text — the verify prompt tripped the publish-doctrine scannerci— make the verify job the lean consumer reference shapeci— cache only the model components + activation state, not profile litterci— add the on-device model cache fill + offline-verify workflow
v0.2.0
Added
cli— wire the dep-update reasoning family into the CLIllama-server— accept portless *.localhost loopback URLsodai— constrained decoding + generate-verify guardrailsodai— best-of-N self-consistency + grounded determinism for decision tasksodai— code-first decision split — model extracts, code decides
Fixed
release— baseline the three unprovenanced odai npm versionssoak— drop the unpublishable bare stuie excludecli— drop the phantom type parameter from parseJsonInputchrome-builtin— call clone and destroy through the session object
Internal
fleet— resync -stable aliases + cascade and lockfile reconciledeps— align nock to the catalog pin + absorb sdk 4.1.3
v0.1.0
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