@op1/delegation
v0.5.0
Published
Async task delegation plugin for OpenCode with background output, cancellation, and citation-friendly task records
Maintainers
Readme
@op1/delegation
Async task orchestration plugin for OpenCode.
What It Provides
taskoverride with TUI/web-compatiblemetadata.sessionId- background task launch via
run_in_background background_outputfor status and transcript retrievalbackground_cancelfor safe cancellation- persistent task records with citation-friendly ids (
ref:word-word-word) - plugin-side metadata restoration so completed
tasktool parts stay clickable in OpenCode agent_statusandtask_graph_statusread models
Installation
bun add @op1/delegationAdd plugin to OpenCode config:
{
"plugin": ["@op1/workspace", "@op1/delegation"]
}Task Identity
task_id: durable record id used forbackground_output,background_cancel, and plan citationssession_id: child OpenCode session id used for renderer navigation and session-level resume
Data Layout
Runtime state is stored under:
<project>/.opencode/workspace/task-records.json- durable task lifecycle records owned by@op1/delegation- in-memory pending metadata store - temporary
(sessionID, callID)metadata used to restore finaltasktitle/session linkage intool.execute.after
Legacy version-3 task data in delegations.json is read as a fallback during migration, but new writes go to task-records.json.
Local Plugin Debugging
For local verification, prefer package-name plugins plus bun link:
bun run build
bun link --cwd packages/workspace
bun link --cwd packages/delegation
bun link @op1/workspace @op1/delegation --cwd ~/.config/opencode
opencode debug config | jq '.plugin'Keep ~/.config/opencode/opencode.json using package names like @op1/workspace and @op1/delegation, then smoke-test with opencode run.
Tooling Surface
taskbackground_outputbackground_cancelagent_statustask_graph_status
License
MIT
