aboutsummaryrefslogtreecommitdiff
path: root/src/integration/mod.rs
AgeCommit message (Collapse)Author
2026-09-17test: skip windows symlink tests without symlink privilege (#4311)JJ Liebig
Windows refuses file symlinks with ERROR_PRIVILEGE_NOT_HELD (1314) unless the test process is elevated or Developer Mode is enabled, which broke non-admin local runs. Share a helper that reports the missing privilege so the two symlink tests skip only the symlink-dependent assertions.
2026-09-14fix: protect integration configs from failed writes (#3973)akbash
* fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 * fix: atomically write integration configs refs #3970 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13feat: add Letta Code detection and restore (#3107)Can Celik
refs #3106 Co-authored-by: Cameron <cameron@pfiffer.org>
2026-09-13fix: restrict claude session hooks to native sources (#4046)akbash
refs #4018 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix: update grok session after new (#2683)akbash
* fix: update grok session after new refs #2681 * fix: avoid powershell args shadowing refs #2681 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-12fix: ignore nested OMP session reports (#3994)JJ Liebig
refs #2593
2026-09-11fix: opencode v2 lifecycle reporting (#3757)Mark Jaquith
* fix: support opencode v2 lifecycle reporting * fix: repair Japanese docs * fix: ignore payload-less OpenCode events * fix: harden opencode v2 integration install and reporting Follow-ups on top of the V2 lifecycle support: - create `cli.json` when OpenCode has no V1 TUI preferences (`tui.json` or `kv.json`) to migrate, instead of only registering into an existing file - settle stalled socket attempts with a plain connect timer, and resend the latest lifecycle state after a failed delivery so the pane cannot get stuck - resolve the OpenCode state directory from `XDG_STATE_HOME` - remove the managed `herdr-opencode` directory on uninstall - document failed executions reporting `blocked`, keep the integration test environment independent of an inherited `XDG_STATE_HOME`, and simplify `reconcileBlockers` to reassign its map --------- Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-09-10fix(pi): support Windows session paths (#3729)akbash
refs #3726 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-06fix: prevent OpenCode child prompts from leaving status blocked (#3669)Mark Jaquith
Child permission and question reports omitted the session ID, clearing Herdr’s root session identity and preventing later lifecycle reports from clearing the blocked state. Track child-to-parent relationships and report prompt transitions with their root session ID, including for nested children. This preserves identity and lets existing ownership checks reject unrelated sessions. Add regression coverage for prompt routing and lifecycle transitions, and bump the OpenCode integration version to 11.
2026-08-30fix: encode antigravity windows hook command (#3352)akbash
refs #3348 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-28fix: ignore cursor events in claude hooks (#3342)Can Celik
refs #2832
2026-08-23fix: keep omp panes working through scheduled continuations (#3122)caner-akca
refs #2851
2026-08-13feat: add qwen code detection and restore (#2743)Can Celik
refs #2730
2026-08-12fix: use the running binary in agent hooks (#2722)JJ Liebig
2026-08-10fix: track opencode tui session selection (#2455)akbash
refs #2450 Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-07feat: support all agent integrations on windows (#2496)Can Celik
2026-08-03fix(pi): restrict state reporting to tui sessions (#2159)Rhys
Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-02fix: preserve claude settings formatting (#2089)akbash
refs #2066 Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-01feat: add antigravity-cli integration (#2087)Ludovico Magnocavallo
* 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-07-30fix(omp): support Windows session paths (#2092)Wiedzmin
2026-07-28fix: ignore nested codex session reports (#1927)JJ Liebig
* fix: ignore nested codex session reports refs #1789 * test: cover matching codex thread id --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-07-24feat: add grok cli integration for native session restore (#1807)Enrico Carlesso
* 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-24fix: make known-agent exit process-ownedOgulcan Celik
refs #1792 refs #1648
2026-07-20fix: report kimi questions as blockedOgulcan Celik
2026-07-18fix: support javascript integrations on windowsOgulcan Celik
refs #1531
2026-07-18fix: serialize opencode lifecycle reportsOgulcan Celik
refs #1519
2026-07-14fix: retry dropped omp lifecycle reportsOgulcan Celik
refs #1310
2026-07-09fix: reanchor pi status after session replacement (#1189)Dillon Mulroy
* fix: reanchor pi status after session replacement refs #943 * fix: guard active pi sessions from nested startup refs #943 * fix: serialize pi session replacement reports refs #943
2026-07-04feat: add mastracode integration (#788)Ward Peeters
* feat: add mastracode integration refs #337 Co-authored-by: Mastra Code (openai/gpt-5.5) <noreply@mastra.ai> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-30fix: opencode — report subagent permission prompts as blocked + handle ↵Aleksey @soar Smyrnov
session.status object form (#838) refs #838
2026-06-25refactor: split integration moduleOgulcan Celik
2026-06-25fix: avoid pi release on internal session reloads (#800)Dillon Mulroy
* fix: avoid pi release on internal session reloads * fix: align omp session shutdown release with pi --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-06-24fix: scope opencode hook to main agent and adopt new sessionsOgulcan Celik
refs #765
2026-06-22fix: support devin hook on python 3.9Ogulcan Celik
refs #719
2026-06-21fix: release pi and omp agents on shutdownOgulcan Celik
2026-06-21fix: protect root agent restore sessionsOgulcan Celik
refs #712
2026-06-16fix: isolate omp hook state to ui sessionsOgulcan Celik
refs #614
2026-06-16fix: restore omp sessions after same-pane restartOgulcan Celik
refs #614
2026-06-15feat: add devin cli detection and restore support (#622)Eric Yue
* feat: add devin cli detection and restore support refs #606 * fix: keep devin integration session-only --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-15fix: preserve claude session rotationsOgulcan Celik
refs #620
2026-06-14feat: add plugin v1 systemOgulcan Celik
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.
2026-06-12fix: stabilize public pane and tab idsOgulcan Celik
refs #569
2026-06-10chore: apply cargo fmtOgulcan Celik
2026-06-10feat: gate kimi integration install behind minimum agent versionOgulcan Celik
2026-06-10feat: add manifest-based detection engineOgulcan Celik
2026-06-09feat: update agent lifecycle integrationsOgulcan Celik
2026-06-08feat: add cursor agent cli integration for session restore (#506)udirom
Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-07fix: gate integrations by platform supportOgulcan Celik
2026-06-07fix: support windows agent hooks and input pathsOgulcan Celik
2026-06-07feat: add native windows beta supportOgulcan Celik