Skip to content
openvibers/openvibe.ai
Commits
main · package-lock.json
-
openvibe-sdk v0.37.2 (was v0.35.0) (#45)OpenVibers · 10 Oct 2026
ac5815b
-
openvibe-shared v2.21.1 (was v2.21.0) (#44)OpenVibers · 10 Oct 2026
0e28e9d
-
openvibe-shared v2.21.0 (was v2.20.4) (#43)OpenVibers · 10 Oct 2026
192cfc6
-
openvibe-shared v2.20.4 (was v2.20.3) (#42)OpenVibers · 10 Oct 2026
822f28b
-
openvibe-contracts v0.127.0 (was v0.126.0) (#41)OpenVibers · 10 Oct 2026
30a11c6
-
openvibe-shared v2.20.3 (was v2.20.0) (#37)OpenVibers · 10 Oct 2026
46e0f89
-
openvibe-contracts v0.126.0 (was v0.122.1) (#35)OpenVibers · 10 Oct 2026
6c5c4a3
-
openvibe-shared v2.20.0 (was v2.17.0) (#34)OpenVibers · 9 Oct 2026
149b9d6
-
openvibe-contracts v0.122.1 (was v0.112.0) (#33)OpenVibers · 9 Oct 2026
5f369ab
-
openvibe-shared v2.17.0 (was v2.15.0) (#32)OpenVibers · 9 Oct 2026
59a5f75
-
openvibe-shared v2.15.0 (was v2.13.2) (#31)OpenVibers · 8 Oct 2026
49bf188
-
openvibe-shared v2.13.2 (was v2.13.0) (#28)OpenVibers · 8 Oct 2026
33e5576
-
openvibe-sdk v0.35.0 (was v0.26.0) (#26)OpenVibers · 8 Oct 2026
ba0df55
-
openvibe-contracts v0.112.0 (was v0.109.0) (#25)OpenVibers · 7 Oct 2026
8850792
-
AI: the home allows openvibe.events (release notifications) and pins shared 2.13.0 (plan T7) (#24)OpenVibers · 7 Oct 2026
987b7ec
-
AI: the public home at ai.openvibe.services, developer-app routes on the public vhost, contracts 0.109.0 (#23)OpenVibers · 7 Oct 2026
e6afde7
-
Hold govern tier budgets in Valkey and claim free allowance thereOpenVibers · 4 Oct 2026
e7880ca
-
Refresh AI service manifest and bump openvibe-contracts to v0.86.0 (#12)OpenVibers · 3 Oct 2026
af2c493
-
Bump openvibe-shared v2.3.1 → v2.5.0 (#11)OpenVibers · 3 Oct 2026
3e13a5c
-
Price routing on platform rate cards and provider states per period (#7)OpenVibers · 2 Oct 2026
8903236
-
Bump openvibe-sdk pin from v0.25.2 to v0.26.0 (#5)OpenVibers · 2 Oct 2026
d056134
-
Bump openvibe-shared v1.27.0 → v2.3.1OpenVibers · 1 Oct 2026
7a7335d
-
Capability pools placed by the SDK planner, with explain on every run (plan T6 phase 1; openvibe-sdk v0.25.2): a route may name a capability instead of a fixed primary and fallbacks, and the router asks openvibe-sdk/placement for the order over every provider that can serve it (price from the model rate cards, latency and health from provider_stats_daily and the breaker, hysteresis through placement_state), then runs its unchanged attempt/retry/breaker/log loop over that order. The seeded text routes (Live's roles, default.chat, default.json) are pools whose authority is the shared provider (objective correctness): it serves while healthy and the local model takes over only when it is not, so a small local model never wins Live's text work on price. media.local/media.paid stay pinned; speech and embeddings answer an explicit 503 provider.unavailable until a second provider exists (never synthetic output). Every run response and GET /api/v1/runs/:id carry explain {objective, reasons, selected, candidates}. Migration 0003: routes.capability/constraints/pinned, runs.explain. AI_FALLBACK_* and AI_MODEL_<ROLE> are no longer read. npm test and test:pg 27/27.OpenVibers · 29 Sept 2026
5a418a5
-
Network tokens verify with keys from openvibe-sdk/auth's JWKS client (v0.23.1): fresh keys, the last good ones through a Network outage, backoff, and a rotation honoured on an unknown kid, in place of the hand-written key store. Every claim rule is still openvibe-contracts' verifyServiceToken (a sandbox token and a sub that is not a principal stay 401); the console's sign-in verifies with the SDK's verifyUserToken. Nothing public names the internal JWKS URL or its fetch error (503 detail, /api/ready), an unexpected guard error answers a plain 500, and /api/ready stays 503 until the key loads. Tests: a stub JWKS, an outage with cached keys, an unreachable JWKS, and an expired sign-in token (the SDK takes the clock as a number; a function made every expiry pass).OpenVibers · 29 Sept 2026
dde5e8f
-
The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its lockfile entries, and docs, docstrings and STATUS lines about SQLite or its rollback window. Reviewed independently; its blockers (an edited applied migration, the lockfile) are resolved here, Host's inventory follow-up is separate. npm test 23/23 test files passed.OpenVibers · 29 Sept 2026
fa943d1
-
AI moves to PostgreSQL (ADR-035, roadmap WS-X2, repository-pass group G2), async from end to end.OpenVibers · 28 Sept 2026
1a52447
-
npm test no longer counts a skipped test as passed (roadmap WS-Q task 7; openvibe-shared/test-runner, Shared v1.25.0). test/run.js counted every file that exited 0 as passed, so media-analysis without ffmpeg, which runs only its parser part, read as green. It is now the shared runner (same files, one at a time as before, 60 s timeout per file): a test prints "<label>: skipped (<why>)" for what it could not run, and that file is listed with ○ and its reasons and not counted as passed; --strict makes a skip fail the run. media-analysis's four ffmpeg parts printed "(skipped: no ffmpeg/ffprobe)" and now print "media-analysis whisper language / real run / local model down / free disk check: skipped (no ffmpeg/ffprobe)"; workflows.test.js left media.analyze out of its end-to-end run without a word when ffprobe is missing and now prints "workflow media.analyze end to end: skipped (no ffprobe)". Without ffmpeg the run reads 22/24 test files passed, 2 skipped. openvibe-shared is pinned at v1.25.0 (from v1.22.0; 1.23 and 1.24 add the web runtime, release-watch fixes and the readiness skip, and /api/ready answers as before because its db check really runs; the README follows). npm test (Node 22, ffmpeg installed) 24/24.OpenVibers · 28 Sept 2026
f6fdbc9
-
Per-streamer AI budgets are AI quotas (roadmap WS-O task 2; openvibe-contracts 0.74.0 -> 0.75.0 ai.quota.attribution.manage). server/api/attribution-quotas.js: a service sets (PUT /api/v1/attribution-quotas/:attribution, hour or day, cost and/or requests, optional workflow prefix), reads with the window's use, or removes caps on its own attributions only (Live: live:user:<id>, prefix live.viewers.). The rows are quotas with scope attribution and origin service:<svc>, so reserve() refuses a run over the cap with 429 quota.exceeded before any provider call, the operator console lists them, and upsert audits every change. test/attribution-quotas.test.js: capability and ownership, validation, a run over the cap refused while other workflows and streamers run, removal. npm test passes.OpenVibers · 28 Sept 2026
960f14a
-
A credential's models or budget change without the key; a new provider or base URL needs it again (openvibe-contracts 0.73.0 -> 0.74.0, ai.credential-put@1 api_key optional after the first put). A key never follows a new endpoint on its own: 400 credential.key_required. test/credentials.test.js covers both. npm test passes.OpenVibers · 28 Sept 2026
0b9f7aa
-
A person's own provider key lives in OpenVibe.AI (roadmap WS-O task 2; openvibe-contracts 0.49.0 -> 0.73.0).OpenVibers · 28 Sept 2026
fca04c7
More commits