You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two conflicts, both resolved to keep each side's intent:
- language-model.ts: #85/#86 moved the resolveSystemDelivery call inside
the withSessionLock callback. The skills-catalogue lookup was re-placed
into that relocated call rather than restored to its old position.
- CHANGELOG.md: the skills-bridge entry stays under [Unreleased]; main's
0.6.2 and 0.7.0 release sections are kept in full.
|`OPENCODE_CURSOR_DEBUG`| — | Set to `1` for trace logging on stderr |
158
196
|`OPENCODE_CURSOR_TRANSPORT`| — | Force a transport: `http1`\|`http2-direct`\|`sidecar` — see [Transport](#transport)|
159
-
|`OPENCODE_CURSOR_STALL_MS`|`60000`| Stream watchdog timeout (ms); `0` disables — see [Reliability](#reliability)|
197
+
|`OPENCODE_CURSOR_STALL_MS`|`120000`| Idle stream-watchdog timeout in ms (no tool call open). `0` disables the whole watchdog; an empty string also disables — see [Reliability](#reliability)|
198
+
|`OPENCODE_CURSOR_TOOL_STALL_MS`|`600000`| Stream-watchdog timeout in ms while a tool call is in flight (e.g. a long build or test suite). `0` disables the bound during tool execution only — see [Reliability](#reliability)|
160
199
|`OPENCODE_CURSOR_SIDECAR`| — | Legacy: `1` maps to `sidecar`, `0` maps to `http2-direct` (superseded by `OPENCODE_CURSOR_TRANSPORT`) |
161
200
|`OPENCODE_CURSOR_TOOL_INPUT_STREAM`| on | Set to `0` to disable live tool-input streaming (`tool-input-start`/`-delta`/`-end` parts) |
162
201
@@ -418,10 +457,20 @@ The provider classifies Cursor SDK errors into typed kinds (`agent-not-found`, `
418
457
419
458
Sends carry an idempotency key so a retry is a server-side dedupe, not a duplicate turn.
420
459
421
-
A **stream watchdog** guards against a wedged run that streams nothing: if no event arrives within
422
-
`OPENCODE_CURSOR_STALL_MS` (default `60000`), a pre-first-event stall cancels and force-resends
423
-
once; a stall after partial output is surfaced as a terminal error rather than re-emitting the
424
-
already-yielded prefix. Set `OPENCODE_CURSOR_STALL_MS=0` to disable.
460
+
A **stream watchdog** guards against a wedged run that streams nothing. It uses two budgets:
461
+
462
+
-**Idle** (`OPENCODE_CURSOR_STALL_MS`, default `120000`): when no tool call is open. A
463
+
pre-first-event stall cancels and force-resends once; a stall after partial output is surfaced
464
+
as a terminal error rather than re-emitting the already-yielded prefix.
465
+
-**Tool-phase** (`OPENCODE_CURSOR_TOOL_STALL_MS`, default `600000`): while at least one Cursor
466
+
tool call is in flight. A long shell command, build, or test suite legitimately streams nothing
467
+
for minutes; the larger budget stops a healthy run from being killed mid-tool. A tool-phase
468
+
stall is terminal and names the in-flight tool. Set `0` to disable the bound during tool
469
+
execution only.
470
+
471
+
The watchdog re-arms on **any** SDK update — including types the plugin doesn't model — so
472
+
progress/heartbeat updates count as liveness. Set `OPENCODE_CURSOR_STALL_MS=0` to disable the whole
473
+
watchdog (an empty string also disables, for backward compatibility).
0 commit comments