Skip to content

Releases: msmps/pilotty

v0.0.11

Choose a tag to compare

@github-actions github-actions released this 11 Jul 18:54
c53722b

pilotty v0.0.11 removes heuristic UI detection and narrows snapshots to evidence the terminal actually provides.

Truthful terminal snapshots

Snapshots now report only terminal facts:

  • terminal dimensions
  • cursor position and visibility
  • visible screen text
  • content hash for change observation
  • capture outcome and exit evidence when applicable

The inferred elements collection and unused snapshot_id field have been removed. Snapshots no longer classify buttons, inputs, toggles, focus, checked state, or confidence.

Snapshot protocol v3

Snapshot commands and responses now require protocol v3 because their wire shape changed. After upgrading, restart any running older daemon before taking a snapshot:

pilotty stop

The next command will automatically start the updated daemon.

Smaller implementation

The detector, classifier, style segmentation, terminal grid adapter, related tests and templates, and direct unicode-width dependency have been removed. Documentation and the bundled skill now use screen text, cursor state, keyboard input, and coordinate clicks directly.

Full changelog: v0.0.10...v0.0.11

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 11 Jul 18:28
542c2d9

pilotty v0.0.10 clarifies terminal observation around three distinct questions:

  • pilotty snapshot: what the terminal looks like now
  • pilotty output: what the process emitted over the retained history window
  • pilotty status: whether the process is running or exited

Readable retained output

pilotty output replays the bounded retained byte window through the terminal emulator and prints a readable terminal-history tail. Cursor movement, line erasure, colors, and other ANSI/VT control sequences are applied instead of being written into the viewing terminal.

The command works for live sessions and retained exited-session evidence. Raw-byte retention accounting remains on stderr, including total, retained, dropped, and truncation values.

Exact terminal bytes

pilotty output --ansi writes the exact retained ANSI/VT bytes to stdout without adding text formatting. This mode is intended for byte-exact diagnostics, replay, and fixture capture.

Command rename

The logs command is replaced by output across the CLI, daemon protocol, documentation, error guidance, npm package README, and bundled agent skill.

Included changes

  • readable retained output by default: b831d74
  • synchronized 0.0.10 package versions: 11b0a59
  • rename retained evidence command to output: 542c2d9

Full changelog: v0.0.9...v0.0.10

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 11 Jul 18:00
dbea5cd

pilotty v0.0.9 makes terminal state and process lifecycle observable from startup through exit, while preserving bounded evidence for agent recovery.

Highlights

Terminal output stays current

Session output is continuously consumed in the background, so snapshots, waits, logs, idle duration, and final evidence no longer depend on a client polling the PTY. Session finalization has a bounded drain and reports whether final output is complete.

Bounded logs and final evidence

pilotty logs returns retained raw terminal output with exact total, retained, dropped, and truncation accounting. Retention defaults to 2 MiB per live session and can be configured with spawn --retain-bytes.

Exited sessions retain their final screen, exit metadata, and the last 64 KiB of raw output in memory for up to 10 minutes. Input commands targeting an exited session return SESSION_EXITED instead of conflating exit with an unknown session.

Lifecycle status

pilotty status reports running or exited state through one stable response. Running sessions include geometry, launch settings, idle duration, and retention accounting. Exited sessions include exit code or signal, success, end time, explicit-kill state, final geometry, output completeness, and retained-evidence accounting.

Explicit capture outcomes

JSON snapshots now report immediate, changed, settled, deadline, or exited. Deadlines return the latest screen, and exited captures return final screen and process evidence.

Evidence is returned with exit 0 by default. snapshot --strict maps a deadline to exit 3 and an ended session to exit 4 without discarding the printed evidence.

Protocol and daemon reliability

Protocol capability checks reject unsupported commands before sending them to an older daemon and provide restart guidance. Explicit test servers no longer mutate the environment-derived global socket directory.

Included changes

  • fix(daemon): do not touch the environment-derived socket directory when binding explicit paths in #16
  • feat(daemon): continuously pump session output in #17
  • feat(protocol): enforce command capability requirements in #18
  • feat(logs): retain bounded session output in #19
  • feat(session): preserve finalized session evidence in #20
  • feat(status): report session lifecycle state in #21
  • feat(snapshot): report capture outcomes in #22

Full changelog: v0.0.8...v0.0.9

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:30
3176ea1

pilotty is back under active development. v0.0.8 is the first of a series of releases focused on reliability: making sure an agent can always trust what pilotty tells it about a terminal.

Highlights

--await-change and --settle now actually wait. Since v0.0.6 the snapshot wait loops compared a screen hash that was never computed, so --await-change returned immediately claiming the screen had changed, and --settle silently degraded to a fixed sleep. Both now do what they document, backed by regression tests that fail on the old behavior. If you use these flags, this release is worth taking for this alone.

Client/daemon version skew is now detected. Every request and response carries a protocol version. If you upgrade pilotty while an older daemon is still running, the client tells you — and tells you the fix (pilotty stop; the next command auto-starts the new binary) — instead of failing in confusing ways later.

Also in this release: the bundled agent skill no longer documents a nonexistent command (pilotty shutdownpilotty stop), an unused dependency is gone, and a new CONTEXT.md pins the project's vocabulary ahead of upcoming features.

What's next

v0.0.9 focuses on session reliability: a status command, exit reporting for ended sessions (exit code, final screen, crash output), explicit capture outcomes that say why a waited snapshot returned, and bounded pilotty logs.

What's Changed

  • fix(snapshot): compute content hash on every read so --await-change and --settle work by @msmps in #13
  • chore: foundation housekeeping — fix skill docs, drop unused termwiz, ignore internal tooling by @msmps in #14
  • feat(protocol): version the daemon wire protocol by @msmps in #15

Full Changelog: v0.0.7...v0.0.8

v0.0.7

Choose a tag to compare

@github-actions github-actions released this 30 Jan 20:35
a14711e

What's Changed

  • fix(spawn): default to client's cwd instead of daemon's by @msmps in #6

Full Changelog: v0.0.6...v0.0.7

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 29 Jan 17:02
d6cba21

What's Changed

  • feat: key sequence support by @msmps in #3
  • feat(snapshot): await screen changes by @msmps in #4

Full Changelog: v0.0.5...v0.0.6

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 28 Jan 22:10
a1f657c

What's Changed

  • feat: add UI element detection to snapshots by @msmps in #2

Full Changelog: v0.0.4...v0.0.5

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 27 Jan 21:38
140e3b4

Full Changelog: v0.0.3...v0.0.4

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 27 Jan 19:20
c1d9b1e

Full Changelog: v0.0.2...v0.0.3

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 27 Jan 18:58
ec33876

What's Changed

  • feat: remove region detection + fixes by @msmps in #1

New Contributors

  • @msmps made their first contribution in #1

Full Changelog: v0.0.1...v0.0.2