Commit Graph

16 Commits

Author SHA1 Message Date
Ogulcan Celik 3a9888cd56 feat: add ansi pane read format 2026-05-09 22:07:52 +03:00
Ogulcan Celik 793f127e54 feat(remote): add network-efficient thin client transport
Add SSH stdio remote attach, negotiate terminal-ANSI render encoding, move blit encoding server-side for remote clients, and split control/render writer delivery for safer backpressure.

Fixes #76
2026-05-08 22:20:04 +03:00
Ogulcan Celik b0aa7b2cdd fix: preserve osc8 hyperlinks in client rendering
fixes #73
2026-05-07 21:48:50 +03:00
Ogulcan Celik 5a61ae2f9d feat: add status command 2026-04-27 22:54:02 +03:00
Ogulcan Celik 3d1ef155bf feat: add live config reload 2026-04-26 02:07:33 +03:00
Can Celik 3397e1ce29
feat: add persistent server-client sessions
Make herdr persistent by default.

   Launching herdr now starts or reattaches to a background session
   server. Clients can detach and reattach while panes and agent
   processes keep running. Session mode now supports multi-client attach,
   auto-detect startup, and a thin-client/headless-server split.

   This also refactors the large app, ui, input, pane, config,
   workspace, and persistence modules into smaller focused submodules,
   while preserving behavior and colocating tests with the code they
   exercise.

   Upgrade notes:
   - persistence mode is now the default
   - in-app quit detaches the current client instead of stopping the server
   - use `herdr server stop` to stop the background session
   - use `--no-session` for the old single-process behavior
   - default socket paths now live under the config directory
2026-04-21 16:30:04 +03:00
Ogulcan Celik c45a3b2dc1 feat(api): return root panes from workspace and tab creation 2026-04-09 21:59:18 +03:00
Ogulcan Celik bb2c579df2 feat(cli): support labels when creating tabs and workspaces 2026-04-09 04:42:35 +03:00
Ogulcan Celik a3ecb4e3b4 feat(api): expose done as agent status 2026-04-09 03:31:37 +03:00
Ogulcan Celik 25974892c7 fix: make pane run use bracketed-paste-aware send input 2026-04-07 23:22:57 +03:00
Ogulcan Celik 5e05460816 docs: clarify herdr pane split and wait output usage 2026-04-07 02:48:13 +03:00
Ogulcan Celik 544c7ebebb feat: add tabs to socket api 2026-04-03 00:04:35 +03:00
Can Celik ca4270b31f feat: add authoritative pi hook integration 2026-04-01 19:32:26 +03:00
Ogulcan Celik 0426bf53d7 refactor: rename agent states to working and blocked 2026-03-30 13:43:41 +03:00
Ogulcan Celik 8b7848aac3 feat(api): add socket subscriptions and lifecycle events 2026-03-29 17:20:53 +03:00
Ogulcan Celik fd1e3b8b05 feat: add initial socket api for workspace and pane control
add unix socket request/response api scaffolding

implement initial workspace and pane commands:
- ping
- workspace.list
- workspace.get
- workspace.create
- pane.list
- pane.get
- pane.read
- pane.send_text
- pane.send_keys
- pane.wait_for_output

improve pane read semantics:
- visible trims trailing blank viewport rows
- recent reads from parser scrollback/current screen
- wait_for_output returns matched snapshot plus matched_line

add real subprocess integration tests for socket api
2026-03-29 04:23:22 +03:00