openvibers/openvibe.actor Commits
openvibe-shared v4.173.0 (was v4.172.0) (#384)
Changes
@@@ -263,5 +263,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [<!-- versions:start -->- openvibe-contracts: v0.365.0- openvibe-sdk: v0.123.0--- openvibe-shared: v4.172.0++- openvibe-shared: v4.173.0<!-- versions:end -->@@@ -9,11 +9,11 @@"domain": "openvibe.actor","contracts": "openvibe-contracts v0.365.0","sdk": "openvibe-sdk v0.123.0",-- "shared": "openvibe-shared v4.172.0",++ "shared": "openvibe-shared v4.173.0","packages": ["openvibe-contracts v0.365.0","openvibe-sdk v0.123.0",-- "openvibe-shared v4.172.0"++ "openvibe-shared v4.173.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": [@@@ -17,7 +17,7 @@"iovalkey": "^0.4.0","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.365.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.123.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.173.0","pg": "^8.23.0","sharp": "^0.34.5"},@@@ -1723,9 +1723,9 @@}},"node_modules/openvibe-shared": {-- "version": "4.172.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",-- "integrity": "sha512-uTTluDdWM8XuPcghxYbP6oHLRoV110es0hTUAxM22xrIZle84FTJBk1aBIVWBnnKHR8/oz0vXjx3m2Jjuchemg==",++ "version": "4.173.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.173.0",++ "integrity": "sha512-VdIphRqtkexEU3GlF13277EpjIG4p60CzauQaMrJaAg/bgFF6go51lfRwy/MiR9mxBqXVZoxJUQinWKb3049VQ==","license": "MIT","dependencies": {"jsonwebtoken": "^9.0.0",@@@ -30,7 +30,7 @@"iovalkey": "^0.4.0","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.365.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.123.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.173.0","pg": "^8.23.0","sharp": "^0.34.5"},@@@ -102,11 +102,13 @@ const SAME = { origin: 'https://openvibe.actor' };const edited = await t.get(`/tasks/${id}/assumptions`, { as: bea, form: { assumptions: 'Use EUR\nAsk before booking' }, headers: SAME });assert.strictEqual(edited.status, 303);t.providers.state.runtime = 'tool';++ // Up to 10 s: the follow-up turn runs after the hang is released, and a loaded CI runner took longer than++ // the 2.5 s this waited before (Actor #384 failed on it three times on 2026-11-09; it passes locally in 9 s).let seen = false;-- for (let i = 0; i < 100 && !seen; i++) {++ for (const until = Date.now() + 10000; !seen && Date.now() < until;) {const events = await store.eventsAfter(s, id, 0);seen = events.some((e) => e.step === 'plan' && /Assumptions: Use EUR; Ask before booking/.test(String(e.text)));-- if (!seen) await new Promise((r) => setTimeout(r, 25));++ if (!seen) await new Promise((r) => setTimeout(r, 50));}assert.ok(seen, 'the new assumptions are in the live plan');});
@@ -263,5 +263,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
@@ -263,5 +263,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
<!-- versions:start -->
<!-- versions:start -->
- openvibe-contracts: v0.365.0
- openvibe-contracts: v0.365.0
- openvibe-sdk: v0.123.0
- openvibe-sdk: v0.123.0
-- openvibe-shared: v4.172.0
+- openvibe-shared: v4.173.0
<!-- versions:end -->
<!-- versions:end -->
@@ -9,11 +9,11 @@
@@ -9,11 +9,11 @@
"domain": "openvibe.actor",
"domain": "openvibe.actor",
"contracts": "openvibe-contracts v0.365.0",
"contracts": "openvibe-contracts v0.365.0",
"sdk": "openvibe-sdk v0.123.0",
"sdk": "openvibe-sdk v0.123.0",
- "shared": "openvibe-shared v4.172.0",
+ "shared": "openvibe-shared v4.173.0",
"packages": [
"packages": [
"openvibe-contracts v0.365.0",
"openvibe-contracts v0.365.0",
"openvibe-sdk v0.123.0",
"openvibe-sdk v0.123.0",
- "openvibe-shared v4.172.0"
+ "openvibe-shared v4.173.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": [
@@ -17,7 +17,7 @@
@@ -17,7 +17,7 @@
"iovalkey": "^0.4.0",
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.365.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.365.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.123.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.123.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.173.0",
"pg": "^8.23.0",
"pg": "^8.23.0",
"sharp": "^0.34.5"
"sharp": "^0.34.5"
},
},
@@ -1723,9 +1723,9 @@
@@ -1723,9 +1723,9 @@
}
}
},
},
"node_modules/openvibe-shared": {
"node_modules/openvibe-shared": {
- "version": "4.172.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",
- "integrity": "sha512-uTTluDdWM8XuPcghxYbP6oHLRoV110es0hTUAxM22xrIZle84FTJBk1aBIVWBnnKHR8/oz0vXjx3m2Jjuchemg==",
+ "version": "4.173.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.173.0",
+ "integrity": "sha512-VdIphRqtkexEU3GlF13277EpjIG4p60CzauQaMrJaAg/bgFF6go51lfRwy/MiR9mxBqXVZoxJUQinWKb3049VQ==",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
"jsonwebtoken": "^9.0.0",
"jsonwebtoken": "^9.0.0",
@@ -30,7 +30,7 @@
@@ -30,7 +30,7 @@
"iovalkey": "^0.4.0",
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.365.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.365.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.123.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.123.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.172.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.173.0",
"pg": "^8.23.0",
"pg": "^8.23.0",
"sharp": "^0.34.5"
"sharp": "^0.34.5"
},
},
@@ -102,11 +102,13 @@ const SAME = { origin: 'https://openvibe.actor' };
@@ -102,11 +102,13 @@ const SAME = { origin: 'https://openvibe.actor' };
const edited = await t.get(`/tasks/${id}/assumptions`, { as: bea, form: { assumptions: 'Use EUR\nAsk before booking' }, headers: SAME });
const edited = await t.get(`/tasks/${id}/assumptions`, { as: bea, form: { assumptions: 'Use EUR\nAsk before booking' }, headers: SAME });
assert.strictEqual(edited.status, 303);
assert.strictEqual(edited.status, 303);
t.providers.state.runtime = 'tool';
t.providers.state.runtime = 'tool';
+ // Up to 10 s: the follow-up turn runs after the hang is released, and a loaded CI runner took longer than
+ // the 2.5 s this waited before (Actor #384 failed on it three times on 2026-11-09; it passes locally in 9 s).
let seen = false;
let seen = false;
- for (let i = 0; i < 100 && !seen; i++) {
+ for (const until = Date.now() + 10000; !seen && Date.now() < until;) {
const events = await store.eventsAfter(s, id, 0);
const events = await store.eventsAfter(s, id, 0);
seen = events.some((e) => e.step === 'plan' && /Assumptions: Use EUR; Ask before booking/.test(String(e.text)));
seen = events.some((e) => e.step === 'plan' && /Assumptions: Use EUR; Ask before booking/.test(String(e.text)));
- if (!seen) await new Promise((r) => setTimeout(r, 25));
+ if (!seen) await new Promise((r) => setTimeout(r, 50));
}
}
assert.ok(seen, 'the new assumptions are in the live plan');
assert.ok(seen, 'the new assumptions are in the live plan');
});
});