openvibers/openvibe.ai Commits

openvibe-shared v4.107.0 (was v4.106.2) (#271)

OP OpenVibers committed 10 days ago · 2efb779fa1 · 5 files, +25 −9

* openvibe-shared v4.107.0 (was v4.106.2)

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

* Terms, Privacy and DMCA in this site's own words (openvibe-shared/legal, profile service)

The footer's legal links answered 404 here (the 11-02 sweep). 4.107.0's profile says what the site does and keeps.

Changes

ddiff --git a/README.md b/README.md
iindex 28c8f1e..9d54645 100644
---- a/README.md
++++ b/README.md
@@@ -57,7 +57,7 @@ owns publication truth: Wiki, Blog, News, Live, … decide what to publish.
- provider APIs configured by the operator (OpenAI-compatible, OpenAI Responses, Anthropic, the HTTP seam), whisper.cpp
and the local model server `openvibe-llm.service` on this host
- `openvibe-contracts` v0.252.0, `openvibe-sdk` v0.82.0 (service tokens, events outbox, redact),
-- `openvibe-shared` v4.106.2, pinned by release tarball
++ `openvibe-shared` v4.107.0, pinned by release tarball
## Capabilities
@@@ -754,5 +754,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
<!-- versions:start -->
- openvibe-contracts: v0.262.0
- openvibe-sdk: v0.82.0
--- openvibe-shared: v4.106.2
++- openvibe-shared: v4.107.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 7c9b7bd..884fad0 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.262.0 (the ai.me.* schemas arrive in v0.257.0; the person routes also work without them until this pin moves)",
"sdk": "openvibe-sdk v0.82.0",
-- "shared": "openvibe-shared v4.106.2",
++ "shared": "openvibe-shared v4.107.0",
"capabilities": [
"ai.run.create",
"ai.run.read",
@@@ -61,5 +61,5 @@
"owner/T5: Billing unitFits() to accept unit image (OpenVibe.Billing server/ops/rating.js) — until then Billing stores image readings unrated (billing.no_card / billing.unit_mismatch)",
"Contracts: list POST /api/v1/image under ai.run.create and ai.app.run implementedBy (manifests/capabilities); add image to provider.v1 and provider-manage-request.v1 capabilities, model.v1 and provider-manage-request.v1 model type, definition-version-request.v1 step kind (media_analysis lags the same way)"
],
-- "updated": "2026-11-02"
++ "updated": "2026-11-03"
}
ddiff --git a/package-lock.json b/package-lock.json
iindex eb56615..7e58a35 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.262.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.106.2",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.0",
"pg": "^8.23.0"
},
"devDependencies": {
@@@ -1584,9 +1584,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.106.2",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.106.2",
-- "integrity": "sha512-sKq3TnkO0IaaKdgR5sLfkEwRL9DGYdT6etxTw4/9NKrp2HECvaDrPtOQw/xsrS0vtYwIm5z5BSp2+EVRt5MLQg==",
++ "version": "4.107.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.0",
++ "integrity": "sha512-S0Um9G8a0jl/yL8Sox4e+xZtLHyMjiv1WcwUIlml6hgMKAPq9aGIzcUA9Cb/d6SppJaxCKIAKmsF5Slbz6UyZg==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex 7f904e9..4e44670 100644
---- a/package.json
++++ b/package.json
@@@ -27,7 +27,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.262.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.106.2",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.0",
"pg": "^8.23.0"
},
"optionalDependencies": {
ddiff --git a/server/app.js b/server/app.js
iindex 5f115f0..d9bd734 100644
---- a/server/app.js
++++ b/server/app.js
@@@ -74,6 +74,22 @@ function createApp({ config, db, registry, pool, quotas, cache, runs, auth, keys
// The product home's browser files (the OpenVibe Frame, openvibe-shared/serve) under content-addressed
// /shared/* URLs from this repo's pinned openvibe-shared; each answer sets its own asset cache policy.
app.use('/shared', ovServe.handler());
++ // Terms, Privacy and DMCA in this site's own words (openvibe-shared/legal, profile 'service'; 11-03: the footer's
++ // legal links answered 404 here). The facts must match the code: change both together.
++ const legal = require('openvibe-shared/legal');
++ app.get(legal.PATHS, legal.handler({
++ "host": "ai.openvibe.services",
++ "name": "AI.OpenVibe.Services",
++ "id": "ai",
++ "service": "ai",
++ "profile": "service",
++ "what": "One API for chat, generation, summaries, classification, extraction and embeddings across many models; every run says which model answered, why it was chosen and what it cost.",
++ "makes": [
++ "your runs: the model that answered, why it was chosen, its tokens and its cost",
++ "the API keys you make, and the provider keys you bring, which are stored encrypted"
++ ],
++ "ai": true
++ }));
// Inline images arrive as data URLs; the per-run input cap is enforced again in runs.create.
app.use(['/api', '/v1'], express.json({ limit: Math.ceil(config.runs.maxInputBytes * 1.5), type: ['application/json', 'application/*+json'] }));