@volter/supercode-orchestrator 0.4.42 → 0.4.43

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.
Files changed (2) hide show
  1. package/loop.mjs +8 -0
  2. package/package.json +1 -1
package/loop.mjs CHANGED
@@ -586,6 +586,14 @@ export class Orchestrator {
586
586
  try {
587
587
  await runtime.sendInput(input);
588
588
  } catch (error) {
589
+ // A turn the harness is still running (one this loop did not start, or whose end it has not heard yet) is not a
590
+ // dead session: the line waits for that turn's end, as a refused steer does. Ending the binding on it killed a
591
+ // live lobby manager on the first message that reached it mid-turn.
592
+ if (/already in progress/.test(error.message)) {
593
+ this.log('info', `send ${keyString}: a turn is in progress; the line waits for its end`);
594
+ this.enqueue(events.worker({ profile, keyString, runtime_id: runtime.handle.runtime_id, ev: { kind: 'steer_refused', text: input }, at: this.clock() }));
595
+ return;
596
+ }
589
597
  this.enqueue(events.worker({ profile, keyString, runtime_id: runtime.handle.runtime_id, ev: { kind: 'error', message: `send failed: ${error.message}` }, at: this.clock() }));
590
598
  }
591
599
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/supercode-orchestrator",
3
- "version": "0.4.42",
3
+ "version": "0.4.43",
4
4
  "type": "module",
5
5
  "description": "The orchestrator runtime over the Volter Harness ontology: one typed operational model whose folder is its serialization, read and written through the harness orchestration doors (docs/ORCHESTRATOR-IR.md)",
6
6
  "exports": {