pi-interactive-shell 0.8.0 → 0.8.1

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
@@ -4,6 +4,12 @@ All notable changes to the `pi-interactive-shell` extension will be documented i
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.8.1] - 2026-02-08
8
+
9
+ ### Fixed
10
+ - README: documented `handsFree.gracePeriod` tool parameter and startup grace period behavior in Auto-Exit on Quiet and Dispatch sections.
11
+ - README: added missing `handoffPreviewLines` and `handoffPreviewMaxChars` to config settings table.
12
+
7
13
  ## [0.8.0] - 2026-02-08
8
14
 
9
15
  ### Added
@@ -15,6 +21,7 @@ All notable changes to the `pi-interactive-shell` extension will be documented i
15
21
 
16
22
  ### Fixed
17
23
  - Dispatch/hands-free `autoExitOnQuiet` no longer kills sessions during startup silence; quiet timer now re-arms during grace period and applies auto-kill only after grace expires.
24
+ - README config table missing `handoffPreviewLines` and `handoffPreviewMaxChars` entries despite appearing in the JSON example.
18
25
 
19
26
  ## [0.7.1] - 2026-02-03
20
27
 
package/README.md CHANGED
@@ -115,7 +115,7 @@ Attach to review full output: interactive_shell({ attach: "calm-reef" })
115
115
 
116
116
  The notification includes a brief tail (last 5 lines) and a reattach instruction. The PTY is preserved for 5 minutes so the agent can attach to review full scrollback.
117
117
 
118
- Dispatch defaults `autoExitOnQuiet: true` — the session gets a 30s startup grace period, then is killed after output goes silent (5s by default), which signals completion for task-oriented subagents. Opt out with `handsFree: { autoExitOnQuiet: false }` for long-running processes.
118
+ Dispatch defaults `autoExitOnQuiet: true` — the session gets a 30s startup grace period, then is killed after output goes silent (5s by default), which signals completion for task-oriented subagents. Tune the grace period with `handsFree: { gracePeriod: 60000 }` or opt out entirely with `handsFree: { autoExitOnQuiet: false }`.
119
119
 
120
120
  The overlay still shows for the user, who can Ctrl+T to transfer output, Ctrl+B to background, take over by typing, or Ctrl+Q for more options.
121
121
 
@@ -161,6 +161,18 @@ interactive_shell({
161
161
  })
162
162
  ```
163
163
 
164
+ A 30s startup grace period prevents the session from being killed before the subprocess has time to produce output. Customize it per-call with `gracePeriod`:
165
+
166
+ ```typescript
167
+ interactive_shell({
168
+ command: 'pi "Run the full test suite"',
169
+ mode: "hands-free",
170
+ handsFree: { autoExitOnQuiet: true, gracePeriod: 60000 }
171
+ })
172
+ ```
173
+
174
+ The default grace period is also configurable globally via `autoExitGracePeriod` in the config file.
175
+
164
176
  For multi-turn sessions where you need back-and-forth interaction, leave it disabled (default) and use `kill: true` when done.
165
177
 
166
178
  ### Send Input
@@ -300,6 +312,8 @@ Configuration files (project overrides global):
300
312
  | `handsFreeUpdateMaxChars` | 1500 | Max chars per update |
301
313
  | `handsFreeMaxTotalChars` | 100000 | Total char budget for updates |
302
314
  | `handoffPreviewEnabled` | true | Include tail in tool result |
315
+ | `handoffPreviewLines` | 30 | Lines in tail preview (0-500) |
316
+ | `handoffPreviewMaxChars` | 2000 | Max chars in tail preview (0-50KB) |
303
317
  | `handoffSnapshotEnabled` | false | Write transcript on detach/exit |
304
318
  | `ansiReemit` | true | Preserve ANSI colors in output |
305
319
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-interactive-shell",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Run AI coding agents as foreground subagents in pi TUI overlays with hands-free monitoring",
5
5
  "type": "module",
6
6
  "bin": {