@yusukeshib/pi-babysit 0.6.26 → 0.6.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/README.md CHANGED
@@ -131,12 +131,8 @@ waits use this mapping; manual remote sessions are never adopted or killed.
131
131
  Resume the same Pi session to reconnect. Remote logs stay remote: results show
132
132
  an executable `babysit --host … log -s …` locator instead of a local file path.
133
133
  Remote output is a bounded tail (200 lines by default) or CLI `--grep` search
134
- (no local line numbers). The widget shows host/state and a small tail. Opening
135
- a remote session in the widget viewer shows its full history: while the viewer
136
- is open, pi-babysit incrementally mirrors the remote raw log (`log --since
137
- --raw --json`) into the local session root and pages it like a local log; a
138
- replaced or truncated remote log rebuilds the mirror, and a finished log stops
139
- syncing once its final output has been read.
134
+ (no local line numbers). The passive widget shows host/state and the session
135
+ description; it never fetches or mirrors remote output.
140
136
 
141
137
  An SSH failure is **unknown status**, not process exit. Remote workers may
142
138
  survive disconnects. An uncertain launch keeps its identity and reports the
@@ -155,56 +151,18 @@ before local retention can collect their metadata.
155
151
  | Command | What it does |
156
152
  | ------- | ------------ |
157
153
  | `/babysit` | Arrow-key picker over all sessions. Renders an **inline snapshot** (no tmux): running **process** → current rendered screen + recent output + a copy-paste `babysit attach` take-over hint (detach `Ctrl-\ Ctrl-\`); running **subagent** → read-only progress (RPC stdin stays untouchable); finished → summary. Re-run `/babysit` to refresh |
158
- | `/babysit view` | Keyboard picker to open a session in the widget log viewer (Pi TUI) |
154
+ | `/babysit-log` | Pick any process or agent (running or finished) and put its shell-quoted `babysit log` command in Pi's input buffer for copying. Includes the local session namespace or remote host/worker ID. Does not execute the command or write to the clipboard |
159
155
  | `/babysit gc [days]` | Preview and confirm deletion of old Pi-session roots (default 14 days). Active leases, live supervisor/child PIDs, unknown states, the current root, and recent roots are retained; old empty roots are eligible once their lease is gone. Deletion uses a GC lock and atomic rename |
160
156
 
161
- A widget below the editor separates session **kind** from task **state** at a glance:
162
- summary counts use `RUNNING` / `IDLE`, and every row is labeled
163
- `PROCESS RUNNING`, `AGENT RUNNING`, or `AGENT IDLE`. In fullscreen mode, the
164
- `babysits(n running)` list shows live sessions (including idle agents) by default.
165
- Click the header to toggle to `babysits(n all)`, which also shows finished and failed
166
- sessions, and click again to return to running-only. Both modes show newest first,
167
- ten per page; `< 1/4 >` shows the current/total page when needed. Click the
168
- arrows to page. Rows occupy one line, previewing the description (or the command
169
- for older processes and task for older agents), with `…` when clipped. Click an
170
- AGENT or PROCESS row to expand a **log viewer directly below that row**. The summary
171
- title, list header, and all other rows remain visible with their original colors.
172
- Only one row is expanded at a time; selecting another closes the previous one.
173
- The viewer is capped at ten lines including its existing row header and footer;
174
- all saved history remains available by scrolling. Click the same row again to
175
- collapse it, preserving the list's mode and page.
176
- There is no separate Close button or Esc binding. The viewer uses Pi's `ScrollView` for
177
- scroll position and follow behavior, with a widget-local scrollbar styled using
178
- Pi's scrollbar theme. Wheel, scrollbar drag/track clicks, and ↑/↓ navigate the
179
- log without requiring any Pi core changes. Home/End and PageUp/PageDown remain
180
- Pi's transcript shortcuts. At the bottom it follows new output; scrolling up
181
- pauses following until you return to the bottom. The viewer resizes with the
182
- terminal, leaving room for the editor/status/footer. Agent logs separate
183
- assistant text, tool calls, and results; process logs show terminal output.
184
- When babysit provides `output.timestamps.jsonl`, process lines begin with a muted
185
- local `[YYYY-MM-DD HH:mm:ss]` capture time, with wrapped text aligned beneath the
186
- message. Agent lines show the capture time of their block's first available event
187
- in the same left column, with the assistant/tool/result/error label beside the
188
- first content line; streamed updates and duplicate results keep that time. This
189
- is the time babysit received the first byte of the event or line, not an
190
- application event time. Narrow views place the date above the text. Old logs and
191
- lines without capture metadata remain readable without invented timestamps.
192
- Only the selected log is loaded: the viewer starts at the tail and lazily reads
193
- older/newer pages as you scroll to the loaded window's edges. The scrollbar
194
- represents that window, not the entire file; the footer shows its byte range.
195
- Normally a small sliding window of roughly 64 KiB pages is retained. Page limits
196
- are soft for oversized records and individual assistant-response/tool-result
197
- groups (streaming snapshots and duplicate results stay together), and for pages
198
- intersecting the viewport. Agent tasks are split at assistant-message boundaries,
199
- not loaded as a whole; older logs lacking those events can form larger groups.
200
- All saved history remains reachable, with no log records discarded or modified.
201
- Capture-time sidecars are sought by byte range rather than read in full. Empty
202
- logs show a placeholder. Works in the released Pi 1.0 widget host. Mouse interaction
203
- requires fullscreen mode; `/babysit view` opens the viewer using a keyboard
204
- picker, and `/babysit` still provides a snapshot. The displayed `age` is total
205
- session age, not time spent in the current state. Transcript details
206
- from tool results, snapshots, and completion notifications collapse or expand
207
- with Pi's tool-output toggle (`Ctrl+O` by default).
157
+ The read-only widget below the editor lists all running sessions, newest first,
158
+ including reusable idle agents. Summary counts use `RUNNING` / `IDLE`; rows show
159
+ `PROCESS RUNNING`, `AGENT RUNNING`, or `AGENT IDLE`, total session age, remote host
160
+ and unknown-status indicators when applicable, and a colored one-line description.
161
+ Older sessions fall back to their command or task. Rows truncate to terminal width
162
+ with `…`; there is no paging, mouse interaction, keyboard handling, or log fetching.
163
+ Finished sessions disappear from the widget. Use `/babysit` for snapshots or the
164
+ babysit tools to inspect output. Transcript details from tool results, snapshots,
165
+ and completion notifications still use Pi's tool-output toggle (`Ctrl+O` by default).
208
166
 
209
167
  ## Logs without context flooding
210
168