@rahularya01/pi-cursor 1.4.25 → 1.4.27

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.4.27] - 2026-08-22
4
+
5
+ ### Fixed
6
+
7
+ - **An undecodable Cursor exec no longer hangs the turn forever.** When `agent.proto` has no branch for an `ExecServerMessage`, the provider logged `UNHANDLED exec case` and sent nothing, so Cursor waited on that exec id. Heartbeats counted as idle-watchdog progress, so the 3-minute silence timer never fired (observed: 90 minutes parked on `grok-4.6`). Unknown execs are now answered with `ExecClientThrow` (keyed by exec id, not a fabricated result), heartbeats are treated as socket liveness rather than turn progress once parked, and the watchdog uses a 45s park deadline. Idle retry is skipped for this path — the same unknown exec would just be re-issued. Merges [#13](https://github.com/Rahularya01/pi-cursor/pull/13).
8
+
9
+ ## [1.4.26] - 2026-08-21
10
+
11
+ ### Fixed
12
+
13
+ - **`/cursor.usage` duplicated the dashboard and corrupted fullscreen TUI.** Command handlers notified Pi's UI and also wrote to stdout, so fullscreen mode painted the dashboard twice over the editor and footer. `/cursor.models` and `/cursor.doctor` used the same dual path. Output now goes through `notify` when a UI is present, otherwise stdout/stderr. Fixes [#12](https://github.com/Rahularya01/pi-cursor/issues/12).
14
+
3
15
  ## [1.4.25] - 2026-08-20
4
16
 
5
17
  ### Fixed
package/README.md CHANGED
@@ -192,28 +192,28 @@ for tuning timeouts, debugging, and edge-case overrides.
192
192
  <details>
193
193
  <summary><strong>Full environment variable reference</strong></summary>
194
194
 
195
- | Variable | Purpose |
196
- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
197
- | `PI_CURSOR_AGENT_URL` / `CURSOR_AGENT_URL` | Override agent base URL (default: `https://agentn.us.api5.cursor.sh`). |
198
- | `CURSOR_ACCESS_TOKEN` | Static access token override. |
199
- | `PI_CURSOR_CLIENT_VERSION` | Pin `x-cursor-client-version` header sent by the HTTP/2 bridge. |
200
- | `PI_CURSOR_SYSTEM_CREDENTIALS` | `0`/`false` to disable Keychain/IDE credential reuse (default: allow). |
201
- | `PI_CURSOR_RAW_MODELS` | Disable effort-suffix model collapse. |
202
- | `PI_CURSOR_PROVIDER_DEBUG` | Enable verbose JSONL debug logging. |
203
- | `PI_CURSOR_LIFECYCLE_LOG` | Always-on compact lifecycle log path (default: `$TMPDIR/pi-cursor-lifecycle.jsonl`). |
204
- | `CURSOR_USAGE_SESSION_TOKEN` | Optional `WorkosCursorSessionToken` fallback cookie for `/cursor.usage`. |
205
- | `PI_OFFLINE` | Skip live model discovery entirely; always use the bundled fallback catalog. |
206
- | `PI_CURSOR_CACHE_DIR` | Where the model catalog and refresh back-off are cached (default: `$XDG_CACHE_HOME/pi-cursor` or `~/.cache/pi-cursor`). Delete it to force a full rediscovery. |
207
- | `PI_CURSOR_UNARY_BRIDGE` | `1` forces unary RPCs (model discovery) through the h2-bridge subprocess instead of the in-process HTTP/2 client. Diagnostic escape hatch. |
208
- | `PI_CURSOR_STREAM_IDLE_TIMEOUT_MS` | Silence safety net: ms with **no upstream progress of any kind** before recover/retry/error. **Default `180000` (3 min)**; `0` disables (turns run unbounded). Any server signal resets it and it is paused during tool execution. On timeout, recovery continues from checkpoint even after partial output. |
209
- | `PI_CURSOR_RESUME_IDLE_TIMEOUT_MS` | Same silence safety net after tool-result resume. **Default `180000` (3 min)**; `0` disables. |
210
- | `PI_CURSOR_STREAM_IDLE_MAX_RETRIES` | Auto-recovery attempts after silence/transport loss. Blind restart is skipped once text/thinking streamed unless a checkpoint is available for continuation. **Default `5`**; `0` disables. |
211
- | `PI_CURSOR_ACTIVE_BRIDGE_TTL_MS` | How long a mid-tool bridge stays parked waiting for tool results (default: 1 hour). |
212
- | `PI_CURSOR_H2_CONNECT_TIMEOUT_MS` | h2-bridge initial connect kill (default: `30000`; `0` disables). |
213
- | `PI_CURSOR_H2_IDLE_TIMEOUT_MS` | h2-bridge activity idle kill. **Default `0` (disabled)**. Parent heartbeats reset it when enabled. |
214
- | `PI_CURSOR_SLIM_TOOLS` | Compact Cursor MCP tool definitions: concise function purpose, no annotation-only parameter prose, full callable schema constraints preserved. **Default on**; set `0`/`false` for verbatim schemas. |
215
- | `PI_CURSOR_MIDPAUSE_REBUILD_MAX_AGE_MS` | Max age of mid-pause metadata used for full-history rebuild (default: 15 min). |
216
- | `PI_CURSOR_PROMPT_HISTORY` | Publish the system prompt and completed turns as Cursor prompt messages when a request is built without an upstream checkpoint. **Default on**; `0`/`false` restores the pre-1.4.24 behavior, where a rebuilt conversation reached the model with no history and no Pi system prompt. |
195
+ | Variable | Purpose |
196
+ | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
197
+ | `PI_CURSOR_AGENT_URL` / `CURSOR_AGENT_URL` | Override agent base URL (default: `https://agentn.us.api5.cursor.sh`). |
198
+ | `CURSOR_ACCESS_TOKEN` | Static access token override. |
199
+ | `PI_CURSOR_CLIENT_VERSION` | Pin `x-cursor-client-version` header sent by the HTTP/2 bridge. |
200
+ | `PI_CURSOR_SYSTEM_CREDENTIALS` | `0`/`false` to disable Keychain/IDE credential reuse (default: allow). |
201
+ | `PI_CURSOR_RAW_MODELS` | Disable effort-suffix model collapse. |
202
+ | `PI_CURSOR_PROVIDER_DEBUG` | Enable verbose JSONL debug logging. |
203
+ | `PI_CURSOR_LIFECYCLE_LOG` | Always-on compact lifecycle log path (default: `$TMPDIR/pi-cursor-lifecycle.jsonl`). |
204
+ | `CURSOR_USAGE_SESSION_TOKEN` | Optional `WorkosCursorSessionToken` fallback cookie for `/cursor.usage`. |
205
+ | `PI_OFFLINE` | Skip live model discovery entirely; always use the bundled fallback catalog. |
206
+ | `PI_CURSOR_CACHE_DIR` | Where the model catalog and refresh back-off are cached (default: `$XDG_CACHE_HOME/pi-cursor` or `~/.cache/pi-cursor`). Delete it to force a full rediscovery. |
207
+ | `PI_CURSOR_UNARY_BRIDGE` | `1` forces unary RPCs (model discovery) through the h2-bridge subprocess instead of the in-process HTTP/2 client. Diagnostic escape hatch. |
208
+ | `PI_CURSOR_STREAM_IDLE_TIMEOUT_MS` | Silence safety net: ms with **no upstream work** before recover/retry/error. **Default `180000` (3 min)**; `0` disables (turns run unbounded). Text/thinking/token deltas, tool-call events, and answered execs/queries reset it; heartbeats only prove the socket and do not hide an unanswered exec. It is paused during tool execution. On timeout, recovery continues from checkpoint even after partial output. |
209
+ | `PI_CURSOR_RESUME_IDLE_TIMEOUT_MS` | Same silence safety net after tool-result resume. **Default `180000` (3 min)**; `0` disables. |
210
+ | `PI_CURSOR_STREAM_IDLE_MAX_RETRIES` | Auto-recovery attempts after silence/transport loss. Blind restart is skipped once text/thinking streamed unless a checkpoint is available for continuation. **Default `5`**; `0` disables. |
211
+ | `PI_CURSOR_ACTIVE_BRIDGE_TTL_MS` | How long a mid-tool bridge stays parked waiting for tool results (default: 1 hour). |
212
+ | `PI_CURSOR_H2_CONNECT_TIMEOUT_MS` | h2-bridge initial connect kill (default: `30000`; `0` disables). |
213
+ | `PI_CURSOR_H2_IDLE_TIMEOUT_MS` | h2-bridge activity idle kill. **Default `0` (disabled)**. Parent heartbeats reset it when enabled. |
214
+ | `PI_CURSOR_SLIM_TOOLS` | Compact Cursor MCP tool definitions: concise function purpose, no annotation-only parameter prose, full callable schema constraints preserved. **Default on**; set `0`/`false` for verbatim schemas. |
215
+ | `PI_CURSOR_MIDPAUSE_REBUILD_MAX_AGE_MS` | Max age of mid-pause metadata used for full-history rebuild (default: 15 min). |
216
+ | `PI_CURSOR_PROMPT_HISTORY` | Publish the system prompt and completed turns as Cursor prompt messages when a request is built without an upstream checkpoint. **Default on**; `0`/`false` restores the pre-1.4.24 behavior, where a rebuilt conversation reached the model with no history and no Pi system prompt. |
217
217
 
218
218
  </details>
219
219