Implement the OpenCode AgentRuntime adapter
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Parent and milestone
- Parent issue: #23
- Milestone: not scheduled; implementation starts after #15 and #42.
## Problem
Durex cannot yet execute OpenCode through the provider-neutral contract. Both
ACP and OpenCode's native server expose useful capabilities, but maintaining a
bespoke server adapter without first proving an ACP gap would duplicate an open
standard.
## Outcome
Add a conforming OpenCode adapter through pinned ACP support, using the native
HTTP/OpenAPI/SSE server only for required capabilities or guarantees documented
by #25.
## Scope
- Launch and supervise a pinned OpenCode ACP process inside #44.
- Map sessions, prompts, updates, permissions, tool events, completion, errors,
and cancellation.
- Add bounded native server extensions only when the common contract declares
and tests them.
- Keep OpenCode model-provider selection separate from runtime selection.
## Non-goals
- Forking ACP or exposing an OpenCode listener publicly.
- Depending on OpenCode plugins for Durex ownership.
- Supporting every provider or native API in the first adapter PR.
## Acceptance criteria
- [ ] The ACP path passes the common conformance suite.
- [ ] Every native extension links a #25 capability/security gap.
- [ ] Authentication, process failure, malformed update, cancellation, resume,
and unsupported capability cases are tested.
- [ ] No ACP or OpenCode identifier can bypass Durex ownership fences.
- [ ] Architecture, adapter, and operator documentation is updated.
## Validation
- Run fake ACP/native-server suites and pinned local smoke tasks covering start,
output, interaction, cancel, and resume.
## Dependencies
- #25, #26, #27, #44, #45, and #15.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the dependency issues #25, #26, #27, #44, #45, and #15 to understand the contract, ACP process, and prerequisites. Run the fake ACP/native-server suites and pinned local smoke tasks covering start, output, interaction, cancellation, and resume. Done means the common conformance suite passes, required failure cases are tested, ownership fences hold, and the architecture, adapter, and operator documentation is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100