openvibers/openvibe.food Commits

openvibe-contracts v0.116.0 and openvibe-shared v2.15.0

OP OpenVibers committed 8 Oct 2026 · a5e6f1a522 · 4 files, +13 −15


Changes

ddiff --git a/README.md b/README.md
iindex 27addc1..4c260e2 100644
---- a/README.md
++++ b/README.md
@@@ -37,7 +37,7 @@ a plain POST, and every page is complete as it leaves the server.
| `PUT /api/v1/pantry` | signed in | replace it: `{ items: ["eggs-dozen", …] }` |
Public reads need no token. A person's own data (a plan, a pantry) needs a signed-in caller; an app, agent or service
--token needs the route's capability (`food.place.read`, `food.food.read`, `food.plan.read|write`,
++token needs the route's capability (`food.plan.read|write`,
`food.pantry.read|write` — [server/http/principal.js](server/http/principal.js)). A write made with the session cookie
must come from `openvibe.food` itself. Errors are RFC 9457 `application/problem+json` with a stable `code`.
@@@ -116,7 +116,7 @@ Reporting a vulnerability: [SECURITY.md](SECURITY.md).
Part of the [OpenVibe network](https://openvibe.network). Built in the open by [OpenVibers](https://github.com/OpenVibers).
<!-- versions:start -->
--- openvibe-contracts: v0.115.0
++- openvibe-contracts: v0.116.0
- openvibe-sdk: v0.35.2
--- openvibe-shared: v2.14.0
++- openvibe-shared: v2.15.0
<!-- versions:end -->
ddiff --git a/package-lock.json b/package-lock.json
iindex 51dd786..c7628cd 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -15,9 +15,9 @@
"express-rate-limit": "^7.5.0",
"helmet": "^8.1.0",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.115.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.116.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.35.2",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.14.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.15.0",
"pg": "^8.23.0"
},
"devDependencies": {
@@@ -871,9 +871,9 @@
}
},
"node_modules/openvibe-contracts": {
-- "version": "0.115.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.115.0",
-- "integrity": "sha512-2si6od4+RLgZEIAuWMmTrLZL65TzvCwB/sKoe24vSzC9+sNPt2RXWGXDCwE2fB90vmaRvX6pI+DQyu18QN2f0Q==",
++ "version": "0.116.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.116.0",
++ "integrity": "sha512-mDqQJ6m8YSJf3UV+kVpqeMrgNDMMzBQdYmj/3o5JqGegj52ymiDH1NerVW6c+0ebsV3zX7RbRlknIy3vr634yw==",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
@@@ -916,9 +916,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "2.14.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.14.0",
-- "integrity": "sha512-XraQxTERs14Jc65sJ23Hv0B5BJLC3Fbwsg3uEp8rMaEShFiuhMofr7pKGYX11sgreMMF64tymO6l6kdjYTBJfw==",
++ "version": "2.15.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.15.0",
++ "integrity": "sha512-xApTyiUBVDQLTdnKEjjr/9uUU4+T5gofz9DqXv0MrLVINmW88uwbfoEht3kAlG9mp1792U6kIFEblJDHn2wyMQ==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0"
ddiff --git a/package.json b/package.json
iindex 8a026bd..282b6ea 100644
---- a/package.json
++++ b/package.json
@@@ -22,9 +22,9 @@
"express-rate-limit": "^7.5.0",
"helmet": "^8.1.0",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.115.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.116.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.35.2",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.14.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.15.0",
"pg": "^8.23.0"
},
"engines": {
ddiff --git a/server/http/principal.js b/server/http/principal.js
iindex 30079c7..7ab335f 100644
---- a/server/http/principal.js
++++ b/server/http/principal.js
@@@ -24,8 +24,6 @@ const PROJECT_RE = /^prj_[0-9A-HJKMNP-TV-Z]{26}$/;
// manifests/capabilities/<food>.*. requireCapability('<name>') refuses a name that is not listed here, so a
// route can never be guarded by a capability the service does not declare.
const CAPABILITIES = [
-- 'food.place.read', // the place search: food banks and budget grocers near a point
-- 'food.food.read', // the food list and one food
'food.plan.read', // the plans a caller saved
'food.plan.write', // save a plan
'food.pantry.read', // read a caller's pantry