openvibers/openvibe.sdk Commits

openvibe-contracts v0.289.1 (was v0.261.0) (#117)

OP OpenVibers committed 8 days ago · 5635532ce8 · 7 files, +17 −13

* openvibe-contracts v0.289.1 (was v0.261.0)

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

* Take the contracts 0.289.1 rate-card fields and service-manifest types

platform.rate-card@1 gained optional side, version and effective_to, so rateCard() keeps
them. types/contracts.d.ts is re-copied from the pinned release: service-manifest's
legalProfile gains public and service.

Changes

ddiff --git a/README.md b/README.md
iindex 186f317..4a3781a 100644
---- a/README.md
++++ b/README.md
@@@ -564,5 +564,5 @@ Nothing at runtime. `openvibe-contracts` and `@electric-sql/pglite` are devDepen
Part of the [OpenVibe network](https://openvibe.network). Built in the open by [OpenVibers](https://github.com/OpenVibers).
<!-- versions:start -->
--- openvibe-contracts: v0.261.0
++- openvibe-contracts: v0.289.1
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 099f254..7e105bd 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -7,7 +7,7 @@
"plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026), §3.2; roadmap §30",
"deployed": false,
"deployment": "none: a package released as git tags; services and apps pin a tag",
-- "contracts": "openvibe-contracts v0.261.0 (devDependency; runtime contracts range >=0.5.0 <1.0.0)",
++ "contracts": "openvibe-contracts v0.289.1 (devDependency; runtime contracts range >=0.5.0 <1.0.0)",
"features": [
"redact (openvibe-sdk/redact): the shared secret scrubber for memory, the same shapes and corpus as OpenVibe.Node's internal/memory/redact.go (redact, onlySecret)",
"core client: retries, timeouts, problem+json errors, trace propagation",
@@@ -39,5 +39,5 @@
"openvibe-sdk/machines: the network's machines hub (list, get, catalogue, pair, rename, roles, revoke) against OpenVibe.Network, for a person and for the apps they consented to",
"vibes (openvibe-sdk/vibes): Vibes Pay charges (create with the app reference as the Idempotency-Key, get, refund) and constant-time webhook verification (X-OpenVibe-Signature-V2, ±300 s) for developer apps"
],
-- "updated": "2026-11-04"
++ "updated": "2026-11-05"
}
ddiff --git a/package-lock.json b/package-lock.json
iindex db91d10..bf303cc 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -14,7 +14,7 @@
"devDependencies": {
"@electric-sql/pglite": "^0.5.8",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.261.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.289.1",
"pg": "^8.23.0"
},
"engines": {
@@@ -198,9 +198,9 @@
"license": "MIT"
},
"node_modules/openvibe-contracts": {
-- "version": "0.261.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.261.0",
-- "integrity": "sha512-SiXOcXRL9+WivMkKM1W6sGNJMD4uCBR9o7KYZvs99hT2xgYxDvP4rM7tLBudGu1boPH+coMdUXVQAAWbS/3JDw==",
++ "version": "0.289.1",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.289.1",
++ "integrity": "sha512-LrKTwe8VPCWn+b0MTNmfjAYEJ0rtgLxeM6EHONBDl0ynt/Igndz+ruDEpwuz5SZ9HYCIMkCqSV5ujhedh6zmzQ==",
"dev": true,
"license": "AGPL-3.0-only",
"dependencies": {
ddiff --git a/package.json b/package.json
iindex 09c7233..c567cad 100644
---- a/package.json
++++ b/package.json
@@@ -493,7 +493,7 @@
"devDependencies": {
"@electric-sql/pglite": "^0.5.8",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.261.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.289.1",
"pg": "^8.23.0"
},
"peerDependencies": {
ddiff --git a/src/cost.js b/src/cost.js
iindex 97cb96e..e54b330 100644
---- a/src/cost.js
++++ b/src/cost.js
@@@ -141,6 +141,8 @@ function rateCard(fields) {
id: f.id,
provider: f.provider,
adapter: f.adapter,
++ side: f.side,
++ version: f.version,
metric: f.metric,
unit_size: f.unit_size,
unit_price_usd: f.unit_price_usd,
@@@ -148,6 +150,7 @@ function rateCard(fields) {
reset_period: f.reset_period,
region: f.region,
effective_from: f.effective_from,
++ effective_to: f.effective_to,
effective_until: f.effective_until,
source: f.source,
verified_at: f.verified_at,
ddiff --git a/types/contracts.d.ts b/types/contracts.d.ts
iindex dfdf26f..29180f6 100644
---- a/types/contracts.d.ts
++++ b/types/contracts.d.ts
@@@ -1,4 +1,4 @@
--/* Copied verbatim from openvibe-contracts v0.214.0 generated/typescript/index.d.ts (the SDK does not
++/* Copied verbatim from openvibe-contracts v0.289.1 generated/typescript/index.d.ts (the SDK does not
* require the package at runtime; it is a devDependency for the tests). test/types.test.js checks
* these against it. */
/* eslint-disable */
@@@ -176,7 +176,7 @@ export interface ServiceManifest {
/**
* Which legal wording its /terms, /privacy and /dmca use (openvibe-shared/legal).
*/
-- legalProfile: "streaming" | "tools" | "ugc" | "games" | "hosting" | "account" | "info";
++ legalProfile: "streaming" | "tools" | "ugc" | "games" | "hosting" | "account" | "info" | "public" | "service";
/**
* Order in site lists.
*/
ddiff --git a/types/cost.d.ts b/types/cost.d.ts
iindex 9cb1c0a..974ac02 100644
---- a/types/cost.d.ts
++++ b/types/cost.d.ts
@@@ -1,8 +1,9 @@
/** platform.rate-card@1 and platform.cost-snapshot@1: provider pricing and cost windows. Validated by
* openvibe-contracts (required lazily by the validate* functions). */
--export type RateCard = { id: string; provider: string; adapter?: string; metric: string; unit_size: number;
-- unit_price_usd: number; free_allowance: number; reset_period: 'day' | 'month' | 'none'; region?: string;
-- effective_from: string; effective_until?: string; source: string; verified_at: string };
++export type RateCard = { id: string; provider: string; adapter?: string; side?: 'supply' | 'retail'; version?: string;
++ metric: string; unit_size: number; unit_price_usd: number; free_allowance: number;
++ reset_period: 'day' | 'month' | 'none'; region?: string; effective_from: string; effective_to?: string;
++ effective_until?: string; source: string; verified_at: string };
export type CostSnapshotTarget = { id: string; units: number; cost_usd: number; p50_ms?: number; p95_ms?: number };
export type CostSnapshot = { window_start: string; window_end: string; project_id?: string; scope: string;
by_target: CostSnapshotTarget[]; actual_usd: number; counterfactual_usd?: Record<string, number> };