@runuai/host 0.9.119 → 0.9.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/orchestrator.ts +13 -3
- package/package.json +1 -1
package/lib/orchestrator.ts
CHANGED
|
@@ -1959,7 +1959,13 @@ export class Orchestrator {
|
|
|
1959
1959
|
return false;
|
|
1960
1960
|
}
|
|
1961
1961
|
|
|
1962
|
-
|
|
1962
|
+
// Live 2026-09-10 (Mac Studio, host 0.9.119): a reconcile pass had
|
|
1963
|
+
// already spawned the whole roster, bindSession had emitted `ready`, and
|
|
1964
|
+
// this unconditional `agents` then overwrote it — the page stayed
|
|
1965
|
+
// covered for good. Only announce the wake-up when there is one to do.
|
|
1966
|
+
const allBound = (): boolean =>
|
|
1967
|
+
initialRoster.every((agent) => channel.sessions.has(agent.id));
|
|
1968
|
+
if (!allBound()) this.emitTaskStage(channel.taskId, "agents");
|
|
1963
1969
|
for (const agent of initialRoster) {
|
|
1964
1970
|
if (!this.isActiveChannel(channel)) return false;
|
|
1965
1971
|
// A prior partial start or an independently guarded recovery may already
|
|
@@ -2018,8 +2024,12 @@ export class Orchestrator {
|
|
|
2018
2024
|
// so it both duplicated the opening turn AND re-injected it on a host
|
|
2019
2025
|
// restart, making agents redo the first turn mid-task. The persona/mission
|
|
2020
2026
|
// an agent needs live in the always-on system preamble, so nothing is lost.
|
|
2021
|
-
// `ready`
|
|
2022
|
-
//
|
|
2027
|
+
// `ready` is emitted by bindSession as the last roster agent binds (or
|
|
2028
|
+
// above, when one could not). Re-assert it here for the roster that was
|
|
2029
|
+
// already bound when this loop began — every bind then predates this
|
|
2030
|
+
// pass and could have been overwritten by an `agents` from a start
|
|
2031
|
+
// that lost the race.
|
|
2032
|
+
if (allBound()) this.emitTaskStage(channel.taskId, "ready");
|
|
2023
2033
|
return true;
|
|
2024
2034
|
}
|
|
2025
2035
|
|