Commit Graph
82 Commits
Author SHA1 Message Date
Can Celik 5f3763dda8 fix: cache saved machine connection metadata (#4256)
refs #4252
2026-09-16 23:55:12 +03:00
Can Celik 03749ae397 fix: default pane splits to the calling pane (#4123) 2026-09-14 18:16:13 +03:00
Can Celik c77af1892f fix: clean up idle ssh bridges and back off flapping connections (#4083)
* fix: clean up idle ssh bridges and back off flapping connections

* chore: keep ssh liveness smoke tooling local
2026-09-14 03:55:53 +03:00
JJ Liebig 5916765845 feat: install windows remote host packages (#3687)
* feat: install windows remote host packages

refs #3651

* docs: clarify windows saved reconnect package behavior

refs #3651

* fix: include windows installer in nix sources

refs #3651

* fix: preserve paths in windows scp transfers

refs #3651

* refactor: isolate windows remote package setup

refs #3651
2026-09-13 22:19:20 +03:00
Can CelikandCameron fc1cb77f05 feat: add Letta Code detection and restore (#3107)
refs #3106

Co-authored-by: Cameron <cameron@pfiffer.org>
2026-09-13 17:36:47 +02:00
Can Celik 043b804c44 feat: route cli commands to saved ssh machines (#3918) 2026-09-10 23:33:27 +03:00
akbashandakbash-bot bf76cef889 fix: accept machine add options before the SSH target (#3897)
refs #3883

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10 16:10:44 +03:00
akbashandakbash-bot 9e01168b14 fix: show ssh errors during machine setup (#3733)
refs #3731

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-08 03:34:54 +03:00
Can Celik 9e9bc8a144 feat: manage multiple ssh machines from one client (#3670) 2026-09-06 02:27:06 +03:00
JJ Liebig 7916be1656 fix: make Windows Codex prompt delay size-aware (#3552)
refs #3187
2026-09-05 02:38:14 +02:00
JJ Liebig 8633a398e6 fix: reliably submit delayed agent prompts (#3506) 2026-09-02 13:34:03 +02:00
Can Celik cc88b3b8e5 feat: add stable client endpoint compatibility (#3509)
* feat: add stable client endpoint compatibility

* fix: keep portable-pty patch checks composable

* ci: run maintenance checks in pull requests

* fix: reject endpoint errors from terminal clients

* feat: keep compatible servers running across updates
2026-09-02 02:45:20 +03:00
Can Celik 207be3c771 refactor: render the shell in the client (#3487)
* feat: add opt-in client-rendered shell

* feat: add client-owned shell mouse controls

* feat: complete client-owned shell chrome

* feat: add client-owned shell settings and notifications

* feat: run client shell custom commands

* feat: render popup terminals in client shell

* feat: add client-owned scrollback and copy mode

* fix: preserve client worktree trust defaults

* feat: render startup diagnostics in client shell

* feat: render onboarding in client shell

* feat: render product announcements in client shell

* feat: render release notes in client shell

* feat: render mobile switcher in client shell

* feat: render kitty graphics in client shell

* fix: preserve client shell lifecycle coherence

* refactor: route client shell commands through endpoint connections

* refactor: make the client-rendered shell the default

* refactor: remove monolithic launch mode

* refactor: complete client-rendered shell cutover

* perf: retain client pane surface updates

* perf: scale retained pane surface updates

* perf: remove remote pane input latency

* test: make client shell checks platform-independent

* fix: prevent client timer starvation

* test: fix client shell platform gates

* test: accept retained surfaces in cross-area checks

* test: make client mode assertions platform-neutral

* fix: badge only outdated integrations
2026-09-01 15:48:22 +03:00
Can Celik 095f1337d6 fix: trust worktree repositories per request (#3344)
refs #3044
2026-08-28 18:25:07 +03:00
akbashandakbash-bot d79fd746a9 fix: require explicit workspace group close (#3206)
refs #2874

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 23:44:56 +03:00
akbashandakbash-bot da5357d23f fix(cli): accept reordered agent report arguments (#2928)
refs #2926

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 22:38:14 +03:00
akbashandakbash-bot 0e548bcf72 fix: report agent explain file errors as json (#3023)
refs #3022

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-25 01:44:10 +03:00
akbashandakbash-bot e3c3d44358 fix(cli): exit quietly when output pipes close (#2996)
refs #2994

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-19 20:39:24 +03:00
Ogulcan Celik 1af1a5b86f feat(cli): guide agents to Herdr resources 2026-08-14 04:22:48 +03:00
akbashandakbash-bot 9351b058f3 fix: reject prompts to blocked agents (#2790)
* fix: reject prompts to blocked agents

refs #2788

* docs: clarify agent prompt timing

refs #2788

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-14 01:22:46 +03:00
37644cabe0 fix: wait for new pane shell readiness (#2774)
* fix: wait for new pane shell readiness

refs #2773

* refactor: share agent startup bounds

refs #2773

* fix: reconcile agent names after startup timeout

refs #2773

* fix: cover agent cleanup scheduling skew

refs #2773

* fix: bound pane shell readiness retries

refs #2773

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-14 00:18:35 +03:00
Can Celik a4d52ab602 feat: add qwen code detection and restore (#2743)
refs #2730
2026-08-13 03:00:35 +03:00
JJ LiebigandCan Celik 7ae4b056a0 fix: wait for agent prompt readiness (#2537)
* fix: wait for agent prompt readiness

refs #2410

* fix: return pane updates after tab bar command

refs #2410

---------

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-11 03:24:02 +03:00
akbashandOgulcan Celik ccccda54c2 fix: track opencode tui session selection (#2455)
refs #2450

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-10 14:57:44 +03:00
Can Celik 10974c822d feat(input): add per-pane right-click routing (#2504) 2026-08-08 16:26:47 +03:00
Kyle CorbeilleandCan Celik ecddecec62 fix(cli): accept --flag=value and reordered options in pane read/wait-output (#2183)
* fix(cli): accept --flag=value and reordered options in pane read/wait-output

* test(cli): trim redundant pane parser coverage

---------

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-06 03:15:17 +03:00
akbashandakbash-bot d8838082dc fix(cli): resolve pane query --current from caller (#2298)
refs #2297

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-04 22:26:52 +03:00
akbashandakbash-bot 9a4ce5e13c fix: stop advertising worktree json flag (#2174)
refs #2171

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-01 23:55:04 +03:00
Ludovico MagnocavalloandCan Celik 679584fdd4 feat: add antigravity-cli integration (#2087)
* feat: add antigravity_cli integration harness

Register the `antigravity_cli` target, resolve its configuration
directory to `~/.gemini/antigravity-cli/`, wire target actions,
and add lifecycle hook scripts for Unix and Windows.

* feat: support session resume for antigravity-cli

* fix: correct antigravity-cli hook config path, shape, and agent label

Antigravity CLI reads global customizations from ~/.gemini/config, keys
hooks.json by hook name, and only accepts the matcher/hooks wrapper for
the tool events. The previous install wrote event arrays at the top level
of ~/.gemini/antigravity-cli/hooks.json, which agy never reads and would
reject anyway, so no Herdr hook ever ran.

Session reports were dropped for a third reason: the hooks reported the
agent as antigravity-cli, but the server normalizes that to the canonical
label agy before matching, so is_official_agent_source never matched and
agy --conversation resume was unreachable.

- Resolve the config dir to ~/.gemini/config
- Nest Herdr entries under a Herdr-owned "herdr" block that install
  rewrites and uninstall removes, leaving other named hooks untouched
- Emit grouped entries for PreToolUse/PostToolUse and flat handler lists
  for PreInvocation/PostInvocation/Stop
- Report the canonical agy label from both hook assets and match it in
  agent_resume
- Compile-gate the hook asset constants and stop shadowing $args in the
  PowerShell hook
- Document the real directory, that it must already exist, and the
  named-block behavior

refs #1011
refs #1571

* fix: make antigravity-cli integration session-only

antigravity cli cannot express lifecycle safely: there is no blocked
event, postinvocation is skipped on interruption, and stop fires at the
end of a turn rather than on process exit, which left stale state and
released authority at the wrong time.

report only the conversation on preinvocation and let screen detection
own agent state. resume via `agy --conversation <id>` is unchanged.

* fix: update antigravity session after conversation switch

---------

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-01 19:32:47 +03:00
Season Saw f99647b2c2 fix: report a clear cli error when no herdr server is running (#1963)
* fix: report a clear cli error when no herdr server is running

socket cli commands surfaced a raw io::Error debug string
(`Error: Os { code: 2, ... }`) when nothing was listening on the
api socket, which read like a bad --cwd path. map dead-socket
connect failures to a `server_not_running` json error carrying the
resolved socket path, printed once at the edge that surfaces the
error; recovering callers (plugin offline registry fallback, agent
start polling) recognize the marker and keep their existing
behavior.

refs #1941

* fix: map dead-socket errors on the unchecked cli request path

refs #1941

* fix: make server-not-running guidance session-aware

refs #1941
2026-08-01 16:17:23 +03:00
Ogulcan Celik bc1c052d15 fix: read alternate-screen agent history 2026-07-31 16:22:04 +03:00
Ogulcan Celik b499e611b6 fix: resolve relative plugin commands from plugin root
refs #1949
2026-07-28 02:19:33 +03:00
Ogulcan Celik cb2e17a4a5 feat: print bundled agent skill and hint next cli steps 2026-07-26 14:29:37 +03:00
Enrico CarlessoandOgulcan Celik e9b22084e0 feat: add grok cli integration for native session restore (#1807)
* feat: add grok cli integration for native session restore

tl;dr: adds `herdr integration install grok` (session-identity tier: a
SessionStart hook reports the grok session id for native restore; state
stays screen-detected via the bundled manifest).

Grok merges every ~/.grok/hooks/*.json, so install writes a
self-contained hooks/herdr.json registering a SessionStart hook next to
hooks/herdr-agent-state.sh, and never touches other hook files. The hook
prefers $GROK_SESSION_ID (injected into every grok hook process) and
reports through the socket API; herdr:grok is a reserved-native-state
source so screen detection stays authoritative. Restore uses
`grok --resume <id>`. Additive JSON API change; no protocol bump; the
schema artifact is regenerated.

refs #1800

* fix: honor GROK_HOME and validate grok hook config in status

Review follow-ups: grok_dir now resolves GROK_CONFIG_DIR (herdr test
seam) before GROK_HOME (the grok CLI's own config-home override) before
~/.grok, so hook installs land where grok actually looks. Integration
status now also validates the herdr-owned hooks/herdr.json next to the
hook script — missing, corrupt, or no-longer-referencing configs report
the install as outdated instead of masking a hook grok never invokes.

refs #1800

* fix: validate the exact grok session hook command in status

The config validator matched on a filename substring, so a SessionStart
command like `echo herdr-agent-state.sh`, or one invoking the script
without the `session` action, still reported the integration as current
while grok never delivered a session id. Status now compares against the
exact command the installer writes, via a shared builder, and the
degradation tests cover both nonfunctional shapes.

refs #1800

* fix: require a command-type grok session hook in status validation

A config entry carrying the exact generated command under a non-command
hook type (e.g. "http") is never executed by grok, so it must not report
the integration as current. The validator now also requires
type = "command", with a degradation test for the mismatched-type shape.

refs #1800

* fix: validate the complete grok hook config

refs #1800

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-24 22:05:20 +03:00
Ogulcan Celik 1955406eaf fix: link plugins without a running server
refs #1670
2026-07-21 17:37:43 +03:00
Ogulcan Celik 69d07dba84 fix: make plugin state global across sessions
refs #1174
2026-07-20 23:04:15 +03:00
Ogulcan Celik d956a6b56d fix: show agent targets before options in help 2026-07-20 20:22:30 +03:00
Ogulcan Celik 6f7ef04e7d fix: bound stalled agent prompt waits 2026-07-20 15:22:26 +03:00
Ogulcan Celik d30ab1b54f feat: add plugin-driven agent views and startup hooks 2026-07-20 00:55:36 +03:00
Ogulcan Celik 3f80947678 feat: make agent automation a first-class cli primitive 2026-07-19 23:56:07 +03:00
Ogulcan Celik e0758c3211 feat: harden named agent cli workflows
refs #1525
2026-07-17 23:59:56 +03:00
Ogulcan Celik a723dc8852 fix(windows): prevent remaining subprocess console flashes
refs #1468
2026-07-17 16:03:47 +03:00
600753b47b fix: guard cli requests against protocol mismatches (#1453)
refs #1435

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-07-15 23:43:21 +03:00
Ogulcan Celik 2c7c8beb07 feat: add floating popup panes
refs #1125
2026-07-15 04:02:14 +03:00
Ogulcan Celik 5cfe5e5e73 feat: add configurable sidebar metadata tokens 2026-07-13 03:30:13 +03:00
Ogulcan Celik 3e8f9df14e fix: improve config diagnostic delivery 2026-07-10 17:28:31 +03:00
Ogulcan Celik c78349f422 fix: wait for server stop socket cleanup 2026-07-05 02:17:45 +03:00
Ogulcan Celik 1c606d4ff3 refactor: route cli pane placement through runtime adapters 2026-07-04 16:51:10 +03:00
Ogulcan Celik ce6c0dc842 refactor: route cli workspace tab worktree through runtime adapters 2026-07-04 16:51:10 +03:00
Ogulcan Celik 5d9212a55a feat: expose session snapshot through cli 2026-07-04 16:51:10 +03:00