openvibers/openvibe.actor Commits
openvibe-contracts v0.122.1 (was v0.115.0) (#7)
Changes
@@@ -147,7 +147,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.122.1- openvibe-sdk: v0.36.0- openvibe-shared: v2.17.0<!-- versions:end -->@@@ -7,13 +7,13 @@"runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9","port": 4950,"domain": "openvibe.actor",-- "contracts": "openvibe-contracts v0.115.0",++ "contracts": "openvibe-contracts v0.122.1","sdk": "openvibe-sdk v0.36.0","shared": "openvibe-shared v2.17.0","packages": [-- "openvibe-contracts v0.115.0",++ "openvibe-contracts v0.122.1","openvibe-sdk v0.36.0",-- "openvibe-shared v2.13.3"++ "openvibe-shared v2.17.0"],"summary": "Public at https://openvibe.actor (sudo ovhost deploy actor; unit openvibe-actor on 127.0.0.1:4950). A task in plain words is classified, routed by openvibe-sdk/placement to the agent system that can do it (the OpenVibe runtime acting through OpenVibe.Search and OpenVibe.Tools, OpenAI's web agent, an open model on OpenVibe's server for private mode), run with its steps streamed live, checked by a model of another family, and delivered as platform.task@1 with its cost to a fraction of a cent and the explanation; a failed agent or check hands it to the next agent. Free tier per person with an operator ceiling.","works": [@@@ -15,7 +15,7 @@"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.122.1","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.36.0","openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.17.0","pg": "^8.23.0"@@@ -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.122.1",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.122.1",++ "integrity": "sha512-+edJcURx0E76QWdgjr42fl0OgQxdWl7FA1OuWpopDKfO4ndidvf+GEz5skt1upSN4JLecLWrpMMyXJN27GjZsQ==","license": "AGPL-3.0-only","dependencies": {"ajv": "^8.17.1",@@@ -27,7 +27,7 @@"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.122.1","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.36.0","openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.17.0","pg": "^8.23.0"@@@ -3,7 +3,7 @@* The released contracts (the pinned openvibe-contracts tag, 0.115.0 or later) describe what Actor does. The* released `actor` service manifest and its four capability manifests are checked against the code: the domain,* port, health and ready paths, the capabilities (each implemented by exactly the routes in server/http/api.js, each-- * route guarded by the one capability it names), no events, and the shapes Actor answers with (the contracts'++ * route guarded by the one capability it names), no events but the account ones (ADR-033), and the shapes Actor answers with (the contracts'* actor.agent-list-result@1, platform.placement-result@1 and platform.task@1).*/const assert = require('assert');@@@ -100,9 +100,9 @@ function codeRoutes() {}});-- await check('no events: the manifest produces and consumes none, and the capabilities declare none', () => {++ await check('events: the manifest produces none and consumes only the two account events (ADR-033); the capabilities declare none', () => {assert.deepStrictEqual(manifest.eventsProduced, []);-- assert.deepStrictEqual(manifest.eventsConsumed, []);++ assert.deepStrictEqual([...manifest.eventsConsumed].sort(), ['network.account.deleted', 'network.account.export_requested']);for (const id of CAPS) assert.deepStrictEqual(contracts.capabilities.get(id).events, [], id);});
@@ -147,7 +147,7 @@ Reporting a vulnerability: [SECURITY.md](SECURITY.md).
@@ -147,7 +147,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).
Part of the [OpenVibe network](https://openvibe.network). Built in the open by [OpenVibers](https://github.com/OpenVibers).
<!-- versions:start -->
<!-- versions:start -->
-- openvibe-contracts: v0.115.0
+- openvibe-contracts: v0.122.1
- openvibe-sdk: v0.36.0
- openvibe-sdk: v0.36.0
- openvibe-shared: v2.17.0
- openvibe-shared: v2.17.0
<!-- versions:end -->
<!-- versions:end -->
@@ -7,13 +7,13 @@
@@ -7,13 +7,13 @@
"runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9",
"runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9",
"port": 4950,
"port": 4950,
"domain": "openvibe.actor",
"domain": "openvibe.actor",
- "contracts": "openvibe-contracts v0.115.0",
+ "contracts": "openvibe-contracts v0.122.1",
"sdk": "openvibe-sdk v0.36.0",
"sdk": "openvibe-sdk v0.36.0",
"shared": "openvibe-shared v2.17.0",
"shared": "openvibe-shared v2.17.0",
"packages": [
"packages": [
- "openvibe-contracts v0.115.0",
+ "openvibe-contracts v0.122.1",
"openvibe-sdk v0.36.0",
"openvibe-sdk v0.36.0",
- "openvibe-shared v2.13.3"
+ "openvibe-shared v2.17.0"
],
],
"summary": "Public at https://openvibe.actor (sudo ovhost deploy actor; unit openvibe-actor on 127.0.0.1:4950). A task in plain words is classified, routed by openvibe-sdk/placement to the agent system that can do it (the OpenVibe runtime acting through OpenVibe.Search and OpenVibe.Tools, OpenAI's web agent, an open model on OpenVibe's server for private mode), run with its steps streamed live, checked by a model of another family, and delivered as platform.task@1 with its cost to a fraction of a cent and the explanation; a failed agent or check hands it to the next agent. Free tier per person with an operator ceiling.",
"summary": "Public at https://openvibe.actor (sudo ovhost deploy actor; unit openvibe-actor on 127.0.0.1:4950). A task in plain words is classified, routed by openvibe-sdk/placement to the agent system that can do it (the OpenVibe runtime acting through OpenVibe.Search and OpenVibe.Tools, OpenAI's web agent, an open model on OpenVibe's server for private mode), run with its steps streamed live, checked by a model of another family, and delivered as platform.task@1 with its cost to a fraction of a cent and the explanation; a failed agent or check hands it to the next agent. Free tier per person with an operator ceiling.",
"works": [
"works": [
@@ -15,7 +15,7 @@
@@ -15,7 +15,7 @@
"express-rate-limit": "^7.5.0",
"express-rate-limit": "^7.5.0",
"helmet": "^8.1.0",
"helmet": "^8.1.0",
"iovalkey": "^0.4.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.122.1",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.36.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.36.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.17.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.17.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
@@ -871,9 +871,9 @@
@@ -871,9 +871,9 @@
}
}
},
},
"node_modules/openvibe-contracts": {
"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.122.1",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.122.1",
+ "integrity": "sha512-+edJcURx0E76QWdgjr42fl0OgQxdWl7FA1OuWpopDKfO4ndidvf+GEz5skt1upSN4JLecLWrpMMyXJN27GjZsQ==",
"license": "AGPL-3.0-only",
"license": "AGPL-3.0-only",
"dependencies": {
"dependencies": {
"ajv": "^8.17.1",
"ajv": "^8.17.1",
@@ -27,7 +27,7 @@
@@ -27,7 +27,7 @@
"express-rate-limit": "^7.5.0",
"express-rate-limit": "^7.5.0",
"helmet": "^8.1.0",
"helmet": "^8.1.0",
"iovalkey": "^0.4.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.122.1",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.36.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.36.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.17.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.17.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
@@ -3,7 +3,7 @@
@@ -3,7 +3,7 @@
* The released contracts (the pinned openvibe-contracts tag, 0.115.0 or later) describe what Actor does. The
* The released contracts (the pinned openvibe-contracts tag, 0.115.0 or later) describe what Actor does. The
* released `actor` service manifest and its four capability manifests are checked against the code: the domain,
* released `actor` service manifest and its four capability manifests are checked against the code: the domain,
* port, health and ready paths, the capabilities (each implemented by exactly the routes in server/http/api.js, each
* port, health and ready paths, the capabilities (each implemented by exactly the routes in server/http/api.js, each
- * route guarded by the one capability it names), no events, and the shapes Actor answers with (the contracts'
+ * route guarded by the one capability it names), no events but the account ones (ADR-033), and the shapes Actor answers with (the contracts'
* actor.agent-list-result@1, platform.placement-result@1 and platform.task@1).
* actor.agent-list-result@1, platform.placement-result@1 and platform.task@1).
*/
*/
const assert = require('assert');
const assert = require('assert');
@@ -100,9 +100,9 @@ function codeRoutes() {
@@ -100,9 +100,9 @@ function codeRoutes() {
}
}
});
});
- await check('no events: the manifest produces and consumes none, and the capabilities declare none', () => {
+ await check('events: the manifest produces none and consumes only the two account events (ADR-033); the capabilities declare none', () => {
assert.deepStrictEqual(manifest.eventsProduced, []);
assert.deepStrictEqual(manifest.eventsProduced, []);
- assert.deepStrictEqual(manifest.eventsConsumed, []);
+ assert.deepStrictEqual([...manifest.eventsConsumed].sort(), ['network.account.deleted', 'network.account.export_requested']);
for (const id of CAPS) assert.deepStrictEqual(contracts.capabilities.get(id).events, [], id);
for (const id of CAPS) assert.deepStrictEqual(contracts.capabilities.get(id).events, [], id);
});
});