@bojackduy/opencode-loopd 1.13.0 → 1.13.2
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 +37 -0
- package/dist/server.js +797 -461
- package/dist/tui.js +117 -58
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,43 @@
|
|
|
17
17
|
|
|
18
18
|
- Scratch harness (real host + real service): timeout→`terminated/timeout`+notify; until→`terminated/until` with 1 notify and `until-matched` state; pattern read returns ANSI-original lines case-insensitively, rejects `(a+)+`; env value reaches process while state keeps only the name; terminate+remove in one call. 555 tests pass.
|
|
19
19
|
|
|
20
|
+
## 1.13.2 (2026-10-12) — Diagnostic Isolation and Lock Recovery
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Read/exempt tools no longer wait on workspace bookkeeping in either hook or worker tracking. After-hooks without an execution reservation avoid unnecessary state mutations; write and scope guards remain enforced.
|
|
25
|
+
- State and inbox locks retain their acquisition descriptor for cleanup under file-table exhaustion, validate token and inode ownership, and remove incomplete acquisition metadata on failure. Lock errors identify loopd and the last observed owner PID and operation.
|
|
26
|
+
- State read errors fail closed instead of allowing a mutation to overwrite saved goals with an empty store.
|
|
27
|
+
- Dashboard control timeouts bound request submission, response reads, and timeout diagnostics. A timeout reports uncertain/late delivery rather than implying cancellation.
|
|
28
|
+
- v2 CodeMode orchestration no longer blocks itself on the outer execute reservation. Nested executors retain independent guards and reservations even when the host reuses a call ID.
|
|
29
|
+
- Automatic terminal-tool cleanup handles missing part identity only with matching message-envelope identity, and retained idle runtime IDs only with exact terminal evidence.
|
|
30
|
+
- Idle continuation distinguishes completed tool-call steps from finished turns, and newer unfinished assistant steps invalidate older completion anchors.
|
|
31
|
+
- Repeated block acknowledgements preserve the original blocker and do not duplicate accounting, events, or parent notifications.
|
|
32
|
+
|
|
33
|
+
### Verification
|
|
34
|
+
|
|
35
|
+
- 794 tests pass across 70 files; the ten control-I/O and diagnostic-isolation regressions also pass ten repetitions.
|
|
36
|
+
- Typecheck, server/TUI builds, and whitespace checks pass.
|
|
37
|
+
|
|
38
|
+
Fully stop the old OpenCode instance before restarting to load the updated plugins. This release does not steal or delete locks held by a live process.
|
|
39
|
+
|
|
40
|
+
## 1.13.1 (2026-10-11) — Truthful Goal Delivery and Safe Recovery
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- Nudge, resume, retry, and command-await recovery report actual prompt delivery outcomes instead of success after a blocked or skipped continuation. Busy and unknown workers keep their current turn intact.
|
|
45
|
+
- Failed tools that miss their after-hook release execution reservations only when exact session, call ID, and terminal timestamp evidence proves completion. Automatic maintenance uses the same recovery path; age, idle status, goal deletion, and generation changes never substitute for tool-exit proof.
|
|
46
|
+
- Late prompt responses and worker callbacks cannot overwrite a newer run, acknowledge its inbox, or restore a cleared goal. Explicit cleared IDs return `not_found` rather than falling back to another goal.
|
|
47
|
+
- Inbox messages survive preparation or dispatch failures and concurrent appends. Force-finish requests are recorded only after host acceptance.
|
|
48
|
+
- Dashboard labels distinguish requested, sending, accepted, observed, and stale turns instead of treating a stored running phase as proof of worker activity.
|
|
49
|
+
|
|
50
|
+
### Verification
|
|
51
|
+
|
|
52
|
+
- 772 tests pass across 68 files; the 41 recovery regressions also pass ten consecutive repetitions.
|
|
53
|
+
- Typecheck, server/TUI builds, bundle import smoke checks, and whitespace checks pass.
|
|
54
|
+
|
|
55
|
+
Restart OpenCode after upgrading to load the corrected server and TUI plugins.
|
|
56
|
+
|
|
20
57
|
## 1.7.0 (2026-08-25) — Scheduled Intervals
|
|
21
58
|
|
|
22
59
|
> Interval requeue for repetitive dialogues — one `/goal` covers `monitor deploy` `periodic tests` `keep going` without manual re-prompt. `5s` `createScheduleWorker` resurrects `complete → active` with `Scheduled tick N/M`.
|