pi-claude-supervisor 0.5.4 → 0.5.5
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/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/src/worker/tmux-adapter.ts +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented here.
|
|
4
4
|
|
|
5
|
+
## [0.5.5](https://github.com/btnalit/pi-claude-supervisor/compare/v0.5.4...v0.5.5) (2026-09-15)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* ignore expected tmux teardown races ([ac7ad57](https://github.com/btnalit/pi-claude-supervisor/commit/ac7ad57efa835764ea02fa138f8837947a5d9c39))
|
|
11
|
+
|
|
5
12
|
## [0.5.4](https://github.com/btnalit/pi-claude-supervisor/compare/v0.5.3...v0.5.4) (2026-09-15)
|
|
6
13
|
|
|
7
14
|
|
package/package.json
CHANGED
|
@@ -890,8 +890,11 @@ export class TmuxWorkerAdapter implements WorkerAdapter {
|
|
|
890
890
|
try {
|
|
891
891
|
const outputBeforeInput = record.lastOutputAt;
|
|
892
892
|
await this.#collectOutput(record);
|
|
893
|
-
if (record.structured) await this.#checkNestedClaude(record);
|
|
894
893
|
if (record.inputAt && record.lastOutputAt && Date.parse(record.lastOutputAt) >= record.inputAt && record.lastOutputAt !== outputBeforeInput) record.turnObservedOutput = true;
|
|
894
|
+
// Inspect the pane before walking its process tree. A normal stop or an
|
|
895
|
+
// externally killed pane can remove the bridge between these two reads;
|
|
896
|
+
// treating that expected exit as a nested-process/containment failure
|
|
897
|
+
// would turn successful cleanup into a false runtime error.
|
|
895
898
|
const pane = await this.#paneStatus(record);
|
|
896
899
|
record.paneDead = pane.dead;
|
|
897
900
|
record.panePid = pane.pid;
|
|
@@ -905,6 +908,9 @@ export class TmuxWorkerAdapter implements WorkerAdapter {
|
|
|
905
908
|
this.#emit(record, { type: "exited", handle: record.handle, exitCode: record.exitCode, signal: record.signal });
|
|
906
909
|
return;
|
|
907
910
|
}
|
|
911
|
+
// During explicit cleanup the bridge is expected to disappear. Do not
|
|
912
|
+
// race that teardown with the nested Claude/Reviewer guard.
|
|
913
|
+
if (record.structured && !record.stopping) await this.#checkNestedClaude(record);
|
|
908
914
|
const screen = await this.#capture(record);
|
|
909
915
|
if (record.structured) {
|
|
910
916
|
if (record.activeRequests === 0 && hasBridgePromptInput(screen)) {
|