<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tmuxrdr.git/src/api/schema/integrations.rs, branch tmuxrdr</title>
<subtitle>herdr but with less disrespect for the tmux community
</subtitle>
<id>https://git.soarez.net/sz/tmuxrdr.git/atom?h=tmuxrdr</id>
<link rel='self' href='https://git.soarez.net/sz/tmuxrdr.git/atom?h=tmuxrdr'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/'/>
<updated>2026-09-01T12:48:22+00:00</updated>
<entry>
<title>refactor: render the shell in the client (#3487)</title>
<updated>2026-09-01T12:48:22+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-01T12:48:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=207be3c771d281baae6e5fa0fb74be9a056e97a2'/>
<id>urn:sha1:207be3c771d281baae6e5fa0fb74be9a056e97a2</id>
<content type='text'>
* 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</content>
</entry>
<entry>
<title>feat: add qwen code detection and restore (#2743)</title>
<updated>2026-08-13T00:00:35+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-08-13T00:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=a4d52ab60282b2ad021cb90978a7ed4d3898704b'/>
<id>urn:sha1:a4d52ab60282b2ad021cb90978a7ed4d3898704b</id>
<content type='text'>
refs #2730</content>
</entry>
<entry>
<title>feat: add antigravity-cli integration (#2087)</title>
<updated>2026-08-01T16:32:47+00:00</updated>
<author>
<name>Ludovico Magnocavallo</name>
<email>ludo@qix.it</email>
</author>
<published>2026-08-01T16:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=679584fdd49f9dee5ad95755af65eedc7d0f455c'/>
<id>urn:sha1:679584fdd49f9dee5ad95755af65eedc7d0f455c</id>
<content type='text'>
* 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 &lt;id&gt;` is unchanged.

* fix: update antigravity session after conversation switch

---------

Co-authored-by: Can Celik &lt;ogulcancelik@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: add grok cli integration for native session restore (#1807)</title>
<updated>2026-07-24T19:05:20+00:00</updated>
<author>
<name>Enrico Carlesso</name>
<email>enricocarlesso@gmail.com</email>
</author>
<published>2026-07-24T19:05:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=e9b22084e03880f43d1f1daaf5d9f45c717b77c4'/>
<id>urn:sha1:e9b22084e03880f43d1f1daaf5d9f45c717b77c4</id>
<content type='text'>
* 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 &lt;id&gt;`. 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 &lt;ogulcancelik@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: make agent automation a first-class cli primitive</title>
<updated>2026-07-19T20:56:07+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-07-19T20:52:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=3f80947678a9723434aa7fddfe23750b5393e24c'/>
<id>urn:sha1:3f80947678a9723434aa7fddfe23750b5393e24c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add mastracode integration (#788)</title>
<updated>2026-07-03T22:29:42+00:00</updated>
<author>
<name>Ward Peeters</name>
<email>ward@coding-tech.com</email>
</author>
<published>2026-07-03T22:29:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=d0e333451bd794a419e96f28db925772950ea156'/>
<id>urn:sha1:d0e333451bd794a419e96f28db925772950ea156</id>
<content type='text'>
* feat: add mastracode integration

refs #337

Co-authored-by: Mastra Code (openai/gpt-5.5) &lt;noreply@mastra.ai&gt;
Co-authored-by: Ogulcan Celik &lt;ogulcancelik@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: generate socket protocol schema</title>
<updated>2026-06-29T19:27:19+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-06-29T19:27:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=25aeaa46f6c807be686b710c5c3aa656969f07e5'/>
<id>urn:sha1:25aeaa46f6c807be686b710c5c3aa656969f07e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add devin cli detection and restore support (#622)</title>
<updated>2026-06-15T13:50:24+00:00</updated>
<author>
<name>Eric Yue</name>
<email>yue1995pro@gmail.com</email>
</author>
<published>2026-06-15T13:50:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=07261e09be60ac0c145685fd11f94351cc0e5ba6'/>
<id>urn:sha1:07261e09be60ac0c145685fd11f94351cc0e5ba6</id>
<content type='text'>
* feat: add devin cli detection and restore support

refs #606

* fix: keep devin integration session-only

---------

Co-authored-by: Ogulcan Celik &lt;ogulcancelik@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: add plugin v1 system</title>
<updated>2026-06-14T00:47:07+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-06-13T23:43:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=fbd20ad6e488fb3b9efc1612fdffee6e672976c1'/>
<id>urn:sha1:fbd20ad6e488fb3b9efc1612fdffee6e672976c1</id>
<content type='text'>
Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs.

Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs.
</content>
</entry>
</feed>
