Skip to content

Add opencode as a declarable agent pill - #190

Open
naylonmedya wants to merge 1 commit into
Louis-CFM:mainfrom
naylonmedya:add-opencode-pill
Open

naylonmedya wants to merge 1 commit into
Louis-CFM:mainfrom
naylonmedya:add-opencode-pill

Conversation

@naylonmedya

Copy link
Copy Markdown

Related to #9 (opencode support request). Third-party agents already get an automatic transient pill via \coucou_agent; this makes opencode pinnable in Settings so the pill survives after the session ends instead of being removed 5 s after Stop.

Changes

  • \NotchBuddy/Sources/App/PillCatalog.swift: \�gent_opencode\ entry under Agents (no \githubOnly\ — the bridge is an external plugin spawning the relay directly, so it works in every build with no hook installer) + \sessionSubtitle\ case. No status-hint branch needed: unlike gemini/agy/codex there is nothing to install, so the row shows no warning.
  • \windows/src/core/state.ts: same catalog id/name/color;
    emoveTask\ now mirrors macOS \AppState.removeTask\ — a pill that is both in-catalog and checked in Settings resets to idle instead of being removed. Behavior for undeclared pills is unchanged.
  • \windows/src/settings/main.ts: new Agents section listing catalog pills with \source == .agent, reusing the existing switch + 4-pill-budget pattern (shared with Integrations).
  • \docs/AGENTS.md: one-line note documenting the opencode declared pill.

Verification (Windows)

  • \ sc --noEmit: clean; full \ auri build\ (vite + rust + nsis): pass.
  • Headless state test (18 assertions, all pass): declared+active pill survives Stop as idle with steps/badge cleared; undeclared and unchecked pills are still removed; sort order and opt-in defaults unchanged.
  • Live relay test against the built app: SessionStart/UserPromptSubmit/PreToolUse/Stop arrive in \coucou.log, pill appears, and — visually confirmed on the island — stays idle after the 5.2 s window instead of disappearing.

Caveats

  • The macOS Swift changes follow existing patterns exactly but could not be compiled here (no Xcode on this machine) — please rely on CI for that side.
  • No screenshot/GIF available from this environment (headless Windows); happy to add one if CI artifacts allow.
  • No new network, IPC, auth, secrets, or settings.json writes; \�alidateAgent\ (including the \claude\ reservation) is untouched.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant