• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / agterm / 30407203131
98%

Build:
DEFAULT BRANCH: master
Ran 28 Jul 2026 11:15PM UTC
Jobs 1
Files 79
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Jul 2026 11:11PM UTC coverage: 97.918% (+0.004%) from 97.914%
30407203131

push

github

web-flow
feat(agent-status): add OpenCode lifecycle plugin (#289)

* feat(agent-status): add OpenCode lifecycle plugin

Bundle an OpenCode lifecycle plugin mirroring the Pi extension pattern:
session.status busy/retry → active, idle → completed, permission/question
prompts and session.error → blocked. The deprecated session.idle event is
ignored so it does not double-fire with session.status(type=idle). Helpers
live in a separate .mjs so the plugin module exports only the plugin function
— OpenCode's legacy loader rejects non-function exports.

Install from Help ▸ Install Agent Status Hooks… when ~/.config/opencode
exists, with the same ownership/degrade-to-warning policy as Pi. Drop
`opencode` from the default AGTERM_AGENT_RE so the coarse shell active/idle
no longer fights the plugin.

* refactor(agent-status): collapse OpenCode plugin to one file, narrow events, move coverage to Swift

Addresses review of aa2bbab. Each structural change and nit below is
mapped to the point it answers.

Structural
- Collapse the plugin back to a single self-contained file
  (opencode/agterm-status.js), matching pi/agterm-status.ts. Drops the
  .mjs split, the two-file install with its ordering hazard, the
  package.json that shipped to users with no runtime purpose, and the
  two extra path constants in AgentHooksInstall.
- Narrow the event surface to session.status + the three blocked events
  (permission.asked, question.asked, session.error) + the three reply
  events (permission.replied, question.replied, question.rejected) that
  clear blocked. Removes tool.execute.before/after, session.compacted,
  chat.message, the child-session set, and the five-event child
  whitelist — every dropped arm mapped to the same active --blink that
  session.status(busy) already produces.

Covera
- Replace the unwired node suite (tests/opencode-plugin/, no CI step,
  node 26 incompatibility, no spawn/defaultWrapperPath coverage) with
  agtermCore/Tests/agtermCoreTests/OpenCodeStatusHookTes... (continued)

11 of 11 new or added lines in 1 file covered. (100.0%)

6349 of 6484 relevant lines covered (97.92%)

4636974.19 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30407203131.1 28 Jul 2026 11:15PM UTC 79
97.92
GitHub Action Run
Source Files on build 30407203131
  • Tree
  • List 79
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30407203131
  • 10cc5d19 on github
  • Prev Build on master (#30405392350)
  • Next Build on master (#30410660589)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc