openvibers/openvibe.community Commits
Bump openvibe-contracts to v0.86.0 and note T10 migration TODO (#10)
Changes
@@@ -558,7 +558,7 @@ same shape as its `manifests/capabilities`):| `community.post.create` | active in contracts (v0.7.0) | forum writes || `community.space.read` / `.manage`, `community.thread.read`, `community.vote.set`, `community.pulse.read` | active in contracts | spaces, threads, votes and Pulse reads by services and apps |--This repository pins `openvibe-contracts` v0.76.0, which knows every id above, so they all go++This repository pins `openvibe-contracts` v0.86.0, which knows every id above, so they all gothrough the library's `capabilities.check`. `server/identity/capabilities.js` still decides an idthe installed contracts do not know locally, with the library's own matching rule (the exact idor a `prefix.*` grant).@@@ -17,7 +17,7 @@"highlight.js": "^11.11.1","iovalkey": "^0.4.0","multer": "^2.4.0",-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.76.0",++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.86.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.26.0","openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.5.0","pg": "^8.23.0"@@@ -1191,9 +1191,9 @@}},"node_modules/openvibe-contracts": {-- "version": "0.76.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.76.0",-- "integrity": "sha512-zTdx776KWrcJKm1JTnf+0+BnsvswdvXy1ldPyse1hSqhnW/SSr98sX696eRetFUhTl8qVM1xSRCykqIUbqItPw==",++ "version": "0.86.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.86.0",++ "integrity": "sha512-3o3AILEBtQ2pK0KqK7GEAlN3HJjaKUl6vrbzEDiBbhK6Nr2hivgN/5MAmJ7WRkgaDkxNsZETs/fLZC2Q4oNCiA==","license": "AGPL-3.0-only","dependencies": {"ajv": "^8.17.1",@@@ -28,7 +28,7 @@"highlight.js": "^11.11.1","iovalkey": "^0.4.0","multer": "^2.4.0",-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.76.0",++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.86.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.26.0","openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.5.0","pg": "^8.23.0"@@@ -4,8 +4,13 @@** alex owns a public paste, a private one, a screenshot, comments, a thread with a reply, a typed comment,* an uploaded image and a space (as its creator; spaces have no per-space moderators, so a space's owner-- * is what "moderator of X" means here: cora owns another). sam tries each of alex's ids as himself, and so-- * do first-party services forwarding for him (svc:live, svc:tools, each with the write grants they hold)++ * is what "moderator of X" means here: cora owns another).++ *++ * TODO(T10 step 1): migrations/0005_space_moderators.sql adds per-space moderators; revisit the++ * "no per-space moderators" assumption above (and this file's space expectations) when it lands.++ *++ * sam tries each of alex's ids as himself, and so do first-party services forwarding for him++ * (svc:live, svc:tools, each with the write grants they hold)* and a developer app acting for him: editing, deleting, changing visibility, re-screenshotting* (censor), the AI write-back, bulk actions, reading edit history, managing comments (also through a* paste he owns), gating, pinning/locking, categories and statuses, space settings and chat rooms,
@@ -558,7 +558,7 @@ same shape as its `manifests/capabilities`):
@@ -558,7 +558,7 @@ same shape as its `manifests/capabilities`):
| `community.post.create` | active in contracts (v0.7.0) | forum writes |
| `community.post.create` | active in contracts (v0.7.0) | forum writes |
| `community.space.read` / `.manage`, `community.thread.read`, `community.vote.set`, `community.pulse.read` | active in contracts | spaces, threads, votes and Pulse reads by services and apps |
| `community.space.read` / `.manage`, `community.thread.read`, `community.vote.set`, `community.pulse.read` | active in contracts | spaces, threads, votes and Pulse reads by services and apps |
-This repository pins `openvibe-contracts` v0.76.0, which knows every id above, so they all go
+This repository pins `openvibe-contracts` v0.86.0, which knows every id above, so they all go
through the library's `capabilities.check`. `server/identity/capabilities.js` still decides an id
through the library's `capabilities.check`. `server/identity/capabilities.js` still decides an id
the installed contracts do not know locally, with the library's own matching rule (the exact id
the installed contracts do not know locally, with the library's own matching rule (the exact id
or a `prefix.*` grant).
or a `prefix.*` grant).
@@ -17,7 +17,7 @@
@@ -17,7 +17,7 @@
"highlight.js": "^11.11.1",
"highlight.js": "^11.11.1",
"iovalkey": "^0.4.0",
"iovalkey": "^0.4.0",
"multer": "^2.4.0",
"multer": "^2.4.0",
- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.76.0",
+ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.86.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.26.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.26.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.5.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.5.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
@@ -1191,9 +1191,9 @@
@@ -1191,9 +1191,9 @@
}
}
},
},
"node_modules/openvibe-contracts": {
"node_modules/openvibe-contracts": {
- "version": "0.76.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.76.0",
- "integrity": "sha512-zTdx776KWrcJKm1JTnf+0+BnsvswdvXy1ldPyse1hSqhnW/SSr98sX696eRetFUhTl8qVM1xSRCykqIUbqItPw==",
+ "version": "0.86.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.86.0",
+ "integrity": "sha512-3o3AILEBtQ2pK0KqK7GEAlN3HJjaKUl6vrbzEDiBbhK6Nr2hivgN/5MAmJ7WRkgaDkxNsZETs/fLZC2Q4oNCiA==",
"license": "AGPL-3.0-only",
"license": "AGPL-3.0-only",
"dependencies": {
"dependencies": {
"ajv": "^8.17.1",
"ajv": "^8.17.1",
@@ -28,7 +28,7 @@
@@ -28,7 +28,7 @@
"highlight.js": "^11.11.1",
"highlight.js": "^11.11.1",
"iovalkey": "^0.4.0",
"iovalkey": "^0.4.0",
"multer": "^2.4.0",
"multer": "^2.4.0",
- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.76.0",
+ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.86.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.26.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.26.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.5.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.5.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
@@ -4,8 +4,13 @@
@@ -4,8 +4,13 @@
*
*
* alex owns a public paste, a private one, a screenshot, comments, a thread with a reply, a typed comment,
* alex owns a public paste, a private one, a screenshot, comments, a thread with a reply, a typed comment,
* an uploaded image and a space (as its creator; spaces have no per-space moderators, so a space's owner
* an uploaded image and a space (as its creator; spaces have no per-space moderators, so a space's owner
- * is what "moderator of X" means here: cora owns another). sam tries each of alex's ids as himself, and so
- * do first-party services forwarding for him (svc:live, svc:tools, each with the write grants they hold)
+ * is what "moderator of X" means here: cora owns another).
+ *
+ * TODO(T10 step 1): migrations/0005_space_moderators.sql adds per-space moderators; revisit the
+ * "no per-space moderators" assumption above (and this file's space expectations) when it lands.
+ *
+ * sam tries each of alex's ids as himself, and so do first-party services forwarding for him
+ * (svc:live, svc:tools, each with the write grants they hold)
* and a developer app acting for him: editing, deleting, changing visibility, re-screenshotting
* and a developer app acting for him: editing, deleting, changing visibility, re-screenshotting
* (censor), the AI write-back, bulk actions, reading edit history, managing comments (also through a
* (censor), the AI write-back, bulk actions, reading edit history, managing comments (also through a
* paste he owns), gating, pinning/locking, categories and statuses, space settings and chat rooms,
* paste he owns), gating, pinning/locking, categories and statuses, space settings and chat rooms,