vibelet 1.2.221 → 1.2.224

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/README.md CHANGED
@@ -47,7 +47,7 @@ prints `Web UI (other devices)` for LAN or remote browsers.
47
47
  ## Options
48
48
 
49
49
  ```bash
50
- vibelet --access=local # Skip the default Cloudflare Tunnel for this run
50
+ vibelet --access=local # Disable Tailcat and Cloudflare for this run
51
51
  vibelet --access=remote --force # Force a fresh tunnel URL
52
52
  vibelet --access=https://<your-tunnel-url> # Use your own tunnel URL
53
53
  vibelet --access=<tailscale-or-lan-host> # Use a direct private-network host
@@ -57,7 +57,7 @@ vibelet --tailcat # Enable account-free Tailcat direc
57
57
  vibelet --no-tailcat # Disable previously enabled Tailcat access
58
58
  ```
59
59
 
60
- Remote access is enabled by default for `vibelet`, `vibelet start`, `vibelet restart`, and `vibelet reset`. Use `--access=local` when you want a LAN-only QR code for that run. Legacy aliases still work: `--local`, `--relay`, `--host`, `--fallback-hosts`, `--remote`, and `--tunnel`.
60
+ Tailcat and Cloudflare remote access are enabled by default for `vibelet`, `vibelet start`, `vibelet restart`, and `vibelet reset`. Use `--access=local` when you want a LAN-only QR code for that run. This also disables Tailcat for the current run, even if it was previously enabled; the saved Tailcat choice is unchanged. Legacy aliases still work: `--local`, `--relay`, `--host`, `--fallback-hosts`, `--remote`, and `--tunnel`.
61
61
 
62
62
  Managed Cloudflare Tunnels use cloudflared's `auto` transport so QUIC is preferred
63
63
  when UDP is available and HTTP/2 remains the fallback. The CLI checks its bundled,
@@ -81,8 +81,10 @@ Then scan the newly printed QR code with a Vibelet app build that includes
81
81
  Tailcat support. The app races the eligible connection paths and uses the first
82
82
  healthy one. Tailcat bootstraps through DERP and upgrades to a direct P2P UDP
83
83
  path when NAT traversal succeeds; if it cannot become direct, DERP can remain
84
- the encrypted relay. LAN, Tailscale, and Cloudflare targets stay available as
85
- Vibelet fallbacks.
84
+ the encrypted relay. LAN and Tailscale remain available as fallbacks. Tailcat mode skips automatic
85
+ Cloudflare Tunnel startup and saved relay URLs. To also enable Cloudflare, use
86
+ `npx vibelet --tailcat --cloudflare`; for a custom relay, add
87
+ `--access=https://<url>`.
86
88
 
87
89
  The `--tailcat` choice is stored in `~/.vibelet/tailcat.json` and reused by
88
90
  later starts and restarts. Turn it off with:
@@ -119,10 +121,25 @@ The dual publish script builds once, then publishes the same CLI bundle to both
119
121
  | `VIBE_PORT` | `9876` | Daemon listen port |
120
122
  | `VIBE_IDLE_TIMEOUT_MS` | `1800000` (30 min) | Idle timeout before a driver is released (0 = disabled) |
121
123
  | `VIBE_TURN_STALL_TIMEOUT_MS` | `300000` (5 min) | Soft inactivity threshold for suspecting an in-flight turn has stalled (0 = disabled) |
122
- | `VIBE_TURN_STALL_HARD_TIMEOUT_MS` | `900000` (15 min) | Hard inactivity threshold for force-stopping a stalled turn after warning (0 = warn only) |
124
+ | `VIBE_TURN_STALL_HARD_TIMEOUT_MS` | `900000` (15 min) | Stop threshold when both turn activity and verified execution-client presence are absent (0 = warn only; confirmed process death can still stop a turn) |
123
125
  | `VIBE_TEXT_DELTA_BATCH_MS` | `24` | Maximum delay for combining streaming text updates before WebSocket broadcast (0 = disabled) |
124
126
  | `VIBE_AUDIT_MAX_BYTES` | `8388608` (8 MB) | Max audit.jsonl size before trimming |
125
127
  | `VIBE_DAEMON_LOG_MAX_BYTES` | `16777216` (16 MB) | Max daemon log file size before trimming |
126
128
  | `VIBE_STORAGE_HOUSEKEEPING_INTERVAL_MS` | `300000` (5 min) | Log trimming check interval |
127
129
  | `CLAUDE_PATH` | auto-detect | Path to Claude binary |
128
130
  | `CODEX_PATH` | auto-detect | Path to Codex binary |
131
+
132
+ Execution-driver presence is checked locally every 2 seconds during a turn and
133
+ every 15 seconds while idle. These checks do not send prompts or consume model
134
+ tokens, and do not update the last actual activity time. A silent turn with
135
+ verified process presence produces a warning after the soft threshold but is
136
+ not stopped or subjected to tool-process recovery merely for silence. This
137
+ covers long commands, `sleep`, and polling without requiring a scheduling tool.
138
+ Presence means the execution process/connection is alive, not that its model or
139
+ tools are making progress; a live deadlock still needs explicit cancellation or
140
+ the tool's own timeout. If presence can no longer be verified, the hard timeout
141
+ also checks time since the last verified presence; a single missed check after a
142
+ long wait does not immediately terminate the turn. The existing idle-driver
143
+ release policy is independent and still applies after the turn finishes.
144
+
145
+ Both Tailcat and Cloudflare are enabled by default. Use `npx vibelet --tailcat` for Tailcat only, or `npx vibelet --cloudflare` for Cloudflare only. `--access=remote`, `--remote`, and `--tunnel` remain compatible aliases. `--no-tailcat` disables Tailcat while keeping Cloudflare available.