Commit Graph
53 Commits
Author SHA1 Message Date
Ogulcan Celik a723dc8852 fix(windows): prevent remaining subprocess console flashes
refs #1468
2026-07-17 16:03:47 +03:00
Ogulcan Celik 9e4fdd6102 fix: retry dropped omp lifecycle reports
refs #1310
2026-07-14 04:10:43 +03:00
Dillon Mulroy adbaae68da fix: reanchor pi status after session replacement (#1189)
* 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-09 01:55:14 +03:00
Ogulcan Celik b1d1a07b1c fix: retry pi state socket reports
refs #1049
2026-07-05 22:21:30 +03:00
d0e333451b feat: add mastracode integration (#788)
* 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-07-04 01:29:42 +03:00
Dillon Mulroy d5521e3d25 fix: preserve pi and omp working status across reloads (#984) 2026-07-03 22:47:31 +03:00
Aleksey @soar Smyrnov be901fead2 fix: opencode — report subagent permission prompts as blocked + handle session.status object form (#838)
refs #838
2026-06-30 17:58:40 +03:00
Ogulcan Celik c5c307597f fix: recover omp resume and blocked states
refs #879
2026-06-30 00:35:53 +03:00
Ogulcan Celik 12cce7deeb refactor: split integration module 2026-06-25 20:50:13 +03:00
Dillon MulroyandCan Celik 3c7327c267 fix: avoid pi release on internal session reloads (#800)
* 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-25 17:59:17 +03:00
Ogulcan Celik 74fa90cecc fix: scope opencode hook to main agent and adopt new sessions
refs #765
2026-06-24 00:52:07 +03:00
Ogulcan Celik a5182282a4 fix: support devin hook on python 3.9
refs #719
2026-06-22 00:03:21 +03:00
Ogulcan Celik 734bf3c09d fix: release pi and omp agents on shutdown 2026-06-21 17:26:45 +03:00
Ogulcan Celik 92a10fc044 fix: protect root agent restore sessions
refs #712
2026-06-21 02:42:39 +03:00
Ogulcan Celik 5ffaf4f32b fix: isolate omp hook state to ui sessions
refs #614
2026-06-16 18:25:02 +03:00
Ogulcan Celik ebff34063a fix: restore omp sessions after same-pane restart
refs #614
2026-06-16 17:57:52 +03:00
Eric YueandOgulcan Celik 07261e09be feat: add devin cli detection and restore support (#622)
* 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-15 16:50:24 +03:00
Ogulcan Celik dcfc45b45d fix: preserve claude session rotations
refs #620
2026-06-15 02:13:30 +03:00
Ogulcan Celik fbd20ad6e4 feat: add plugin v1 system
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-14 03:47:07 +03:00
Ogulcan Celik f7a7da03fc fix: stabilize public pane and tab ids
refs #569
2026-06-12 19:10:09 +03:00
Ogulcan Celik 0c853bb474 chore: apply cargo fmt 2026-06-10 20:25:59 +03:00
Ogulcan Celik 42ec722131 feat: gate kimi integration install behind minimum agent version 2026-06-10 20:12:05 +03:00
Ogulcan Celik 82468a0e03 feat: add manifest-based detection engine 2026-06-10 19:23:13 +03:00
Ogulcan Celik df7880c54b feat: update agent lifecycle integrations 2026-06-09 15:59:34 +03:00
5fe527d1be feat: add cursor agent cli integration for session restore (#506)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-08 03:26:11 +03:00
Ogulcan Celik 3c8f8dcb77 fix: gate integrations by platform support 2026-06-07 20:22:30 +03:00
Ogulcan Celik c01b947d0b fix: support windows agent hooks and input paths 2026-06-07 19:45:16 +03:00
Ogulcan Celik 3c2b46d24a feat: add native windows beta support 2026-06-07 16:29:44 +03:00
Ogulcan Celik 1ce4213d9e fix: preserve hermes flat plugin lists
refs #479
2026-06-05 02:56:03 +03:00
Ogulcan Celik 9b2749776a feat: add droid integration 2026-06-04 23:17:45 +03:00
qer 66b0f6b2d6 feat: add kimi code cli integration (#463)
* feat: add kimi code cli integration

refs #431

* fix: improve kimi code screen detection

refs #431
2026-06-04 13:52:29 +03:00
Ogulcan Celik 295b09ca25 feat: make claude codex opencode hooks session-only 2026-06-02 21:25:32 +03:00
LaneandOgulcan Celik f7d315d494 feat: add github copilot cli integration (#386)
* feat: add github copilot cli integration

refs #232

* docs: restore 0.6.5 changelog and document copilot hook flow

* test: cover copilot camelcase hook payloads

---------

Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-06-02 01:32:05 +03:00
Ogulcan Celik 6b9b092228 fix: preserve opencode working state
refs #351
2026-05-30 00:51:01 +03:00
Ogulcan Celik b56eeb991e fix: release opencode integration on dispose
refs #314
2026-05-27 18:06:20 +03:00
bfb9e756a0 feat: add Qoder CLI integration (#309)
* feat: add qodercli agent integration

Recognize qodercli as an agent in herdr panes, with basic Idle/Working/
Blocked screen-state detection mirroring the existing claude / codex
patterns. Adds an IntegrationTarget::Qodercli variant, install_target
wiring for shell hooks under src/integration/assets/qodercli/, the
herdr integration install qodercli CLI surface, and sound-override
coverage so qodercli notifications follow the same routing rules as
other agents.

refs #308

* fix: detect qodercli permission required as blocked

refs #308

* fix: detect qodercli ask-user prompt as blocked

refs #308

* refactor: extract has_qodercli_blocked_prompt helper aligning detect_claude

refs #308

* fix: tighten qodercli working state detection

Combine spinner-row strictness and explicit cancel-hint matching, and
stop matching the bare word 'working'. This avoids false positives when
narrative output (logs, commit messages, Markdown) contains the word
'working' or when a stale braille glyph is sitting in the scrollback
from a previous frame.

- has_qodercli_spinner_row: require row-start braille glyph + space +
  alphabetic char so only an active spinner row triggers Working.
- has_qodercli_working_hint: match '(esc to cancel,' as a positive
  signal that survives spinner masking (e.g. when a hook icon replaces
  the spinner glyph).

refs #308

* fix: short-circuit qodercli press-again banners to idle

refs #308

* fix: detect qodercli AskUser dialog by its 'Asking User' title

refs #308

* feat: recognize qodercli, qoderclicn, qoder, qodercn process names

Map qodercli, qoderclicn, qoder, and qodercn process names all to the
Qodercli agent. Covers both international (qodercli/qoder) and CN
(qoderclicn/qodercn) Qoder CLI binary names.

refs #308

* feat: register qodercli hook in qoder settings.json with stdin payload

Address the integration-layer feedback on #308:

- `herdr integration install qodercli` now writes the bundled hook into
  ~/.qoder/hooks/herdr-agent-state.sh AND registers it in
  ~/.qoder/settings.json under the schema documented at
  https://docs.qoder.com/zh/cli/hooks (and confirmed against the
  packages/core/src/hooks/types.ts type definitions in qodercli's own
  source tree). The hooks object is keyed by event name —
  SessionStart / UserPromptSubmit / PreToolUse / PermissionRequest /
  Stop / SessionEnd — with each entry holding a matcher and a list of
  `{ type: "command", command, timeout }` invocations, mirroring how
  install_claude already wires claude code's settings.json.
- The bundled assets/qodercli/herdr-agent-state.sh now reads the hook
  payload from stdin (per HookInput in qodercli's types.ts:
  session_id, transcript_path, cwd, hook_event_name, agent_id, ...).
  No environment variable is consulted to identify the event;
  SubagentStop and subagent release events return early so a recap or
  away-summary frame cannot revive an idle pane, mirroring
  assets/claude/herdr-agent-state.sh.
- uninstall_qodercli reverses the same set of entries while preserving
  any foreign hook entries the user may have configured by hand.
- Tests cover write / idempotency / uninstall-preserves-others and
  lock the stdin contract via a bundled-asset assertion.

refs #308

---------

Co-authored-by: coderwayne <jlu1318079810@163.com>
Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-27 17:42:26 +03:00
Ogulcan Celik 3750e0bae2 feat: add pane metadata reporting
refs #36
2026-05-26 17:10:28 +03:00
Ogulcan Celik db67e9d74f feat: restore agent sessions
refs #233
2026-05-23 21:37:05 +03:00
Ogulcan Celik ed11779fca feat: add omp integration 2026-05-23 15:19:36 +03:00
Ogulcan Celik f7b26a9117 fix: stop claude subagent completion reviving working
refs #198
2026-05-20 20:42:14 +03:00
Ogulcan Celik fb93e37475 feat: surface agent integrations in onboarding 2026-05-20 00:00:16 +03:00
Ogulcan Celik 104295f492 fix: report codex permission hooks as blocked
refs #198
2026-05-19 22:10:15 +03:00
Ogulcan Celik 2939030cec fix: stop claude post-tool hooks pinning working
refs #198
2026-05-19 21:07:52 +03:00
Ogulcan Celik e7f94a3f35 feat: support hermes agent integration
refs #144
2026-05-19 00:26:05 +03:00
Ogulcan Celik 170d567487 fix: respect integration config dirs
refs #121
2026-05-16 18:31:35 +03:00
Ogulcan Celik bdac7143f6 fix: update codex hooks feature flag
fixes #108
2026-05-14 16:32:07 +03:00
Ogulcan Celik 55cdf2e8f8 fix: stabilize integration agent state reports 2026-05-11 16:13:17 +03:00
Ogulcan Celik c950670dca fix: run integration commands without server 2026-04-29 23:24:36 +03:00
Ogulcan Celik 0ef94cdbc1 fix: improve claude subagent hook lifecycle
fixes #58
2026-04-27 21:13:14 +03:00
Ogulcan Celik fb4e5a73ff fix: ignore claude subagent hook reports
fixes #58
2026-04-27 17:48:08 +03:00