openvibers/openvibe.ai Commits

openvibe-shared v4.200.0 (was v4.199.0) (#453)

OP OpenVibers committed 2 days ago · e0b4cce2a8 · 5 files, +9 −8

* openvibe-shared v4.200.0 (was v4.199.0)

Opened by scripts/pin-bump.js in OpenVibers/OpenVibe.Shared after the v4.200.0 release.

* Stabilize pinned quota test window

* Merge origin/main into shared v4.200.0 pin

Changes

ddiff --git a/README.md b/README.md
iindex dd23c33..cf4ea8e 100644
---- a/README.md
++++ b/README.md
@@@ -1101,7 +1101,7 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
<!-- versions:start -->
- openvibe-contracts: v0.399.0
- openvibe-sdk: v0.147.0
--- openvibe-shared: v4.199.0
++- openvibe-shared: v4.200.0
<!-- versions:end -->
### Exchange search engines
ddiff --git a/STATUS.json b/STATUS.json
iindex 7455adf..098dd15 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -9,7 +9,7 @@
"domain": "ai.openvibe.services (the old ai.openvibe.network address was retired on 2026-10-10); the service runs on openvibe-ovh (/opt/openvibe.ai, unit openvibe-ai) on 127.0.0.1:4700 behind nginx; OpenVibe.Live and OpenVibe.Network call it on loopback",
"contracts": "openvibe-contracts v0.399.0 (ai.config.manage and the common.config-* contracts carry D11; billing.credit-hold@1 takes a nullable project_id for personal holds)",
"sdk": "openvibe-sdk v0.147.0",
-- "shared": "openvibe-shared v4.199.0",
++ "shared": "openvibe-shared v4.200.0",
"capabilities": [
"ai.run.create",
"ai.run.read",
ddiff --git a/package-lock.json b/package-lock.json
iindex d55a3eb..07478f2 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -15,7 +15,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.399.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.147.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.199.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.200.0",
"pg": "^8.23.0"
},
"bin": {
@@@ -1668,9 +1668,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.199.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.199.0",
-- "integrity": "sha512-xzQFVeNaLuCymN3twCks01EpiWUbxW3Zzc+XE84U3auSSe+NTNTaydLqwi1sf2RTTAKbVBjgC44cbKb2Jm3zjQ==",
++ "version": "4.200.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.200.0",
++ "integrity": "sha512-MkGUNbiLM7RbuYhYZlmQXX660x5hQWkwlG0skuxjShlXxqbPAMNpAM+OMu+BbQieMpXq8HfQyTJH6nr6O6lM7w==",
"license": "MIT",
"dependencies": {
"clean-css": "^5.3.3",
ddiff --git a/package.json b/package.json
iindex 16684aa..ec581bd 100644
---- a/package.json
++++ b/package.json
@@@ -31,7 +31,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.399.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.147.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.199.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.200.0",
"pg": "^8.23.0"
},
"optionalDependencies": {
ddiff --git a/test/pin-route.test.js b/test/pin-route.test.js
iindex 35b7c28..a40d91a 100644
---- a/test/pin-route.test.js
++++ b/test/pin-route.test.js
@@@ -141,7 +141,8 @@ t.test('an idempotency replay keeps its pin; a different pin under the same key
t.test('quotas still apply to a pinned run', async () => {
const pinner = token('pinner', ['ai.run.create'], { ns: ['ai.*'] });
const q = await request(h.base, 'POST', '/api/v1/quotas', { tok: admin, body: {
-- scope_type: 'service', scope_id: 'pinner', window: 'minute', max_requests: 1,
++ // Keep both requests in the same quota window even if the test starts at a minute boundary.
++ scope_type: 'service', scope_id: 'pinner', window: 'hour', max_requests: 1,
} });
assert.strictEqual(q.status, 201, q.text);
const body = { prompt: 'quota', route: { provider: 'seam-a', model: 'a-model' }, options: { cache: false } };