{
"id": "agent-version:opencode@1.x",
"_kind": "AgentVersion",
"_file": "agent-stack/versions/opencode-1-x.yaml",
"_cluster": "agent-stack",
"attributes": {
"agentProductId": "agent:opencode",
"versionRange": ">=1.0.0 <2.0.0",
"releasedAt": "2025-01-01",
"cliCommand": "opencode",
"installMethods": [
"install:npm",
"install:brew",
"install:curl"
],
"minSchemaVersion": "6.0.0"
},
"outgoingEdges": [
{
"from": "agent-version:opencode@1.x",
"to": "agent:opencode",
"kind": "version_of"
},
{
"from": "agent-version:opencode@1.x",
"to": "agent-core-impl:opencode.core@1.x",
"kind": "composed_of",
"attributes": {
"role": "core"
}
},
{
"from": "agent-version:opencode@1.x",
"to": "agent-runtime-impl:opencode.runtime@1.x",
"kind": "composed_of",
"attributes": {
"role": "runtime"
}
},
{
"from": "agent-version:opencode@1.x",
"to": "agent-platform-impl:opencode.platform@1.x",
"kind": "composed_of",
"attributes": {
"role": "platform"
}
},
{
"from": "agent-version:opencode@1.x",
"to": "agent-ui-impl:opencode.ui@current",
"kind": "composed_of",
"attributes": {
"role": "ui"
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:skills",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "OpenCode documents reusable command surfaces โ first-party basis for the local skills abstraction."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:supports-thinking",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "OpenCode documented as an interactive terminal coding surface backed by configurable providers."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:interactive-mode",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Interactive terminal use documented directly in OpenCode TUI docs."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:stdin-injection",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Public docs thinner for non-interactive prompt injection; local fallback metadata remains primary."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:vision-input",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Public OpenCode docs lack strong technical detail for image input."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:runtime-hooks",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "OpenCode plugins expose hook-based extensibility โ first-party basis for runtime hooks."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:stop-hook",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Local ontology normalizes stop-hook separately; first-party support is the broader plugin hook system."
}
},
{
"from": "agent-version:opencode@1.x",
"to": "capability:can-resume",
"kind": "supports",
"attributes": {
"versionRange": ">=0.0.0",
"level": "full",
"notes": "Public OpenCode docs describe where sessions are stored."
}
}
],
"incomingEdges": [
{
"from": "agent:opencode",
"to": "agent-version:opencode@1.x",
"kind": "has_version"
},
{
"from": "hook-mapping:post-tool-use-opencode",
"to": "agent-version:opencode@1.x",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "hook-mapping:shell-env-opencode",
"to": "agent-version:opencode@1.x",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-idle-opencode",
"to": "agent-version:opencode@1.x",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-opencode",
"to": "agent-version:opencode@1.x",
"kind": "emits_hook",
"attributes": {}
},
{
"from": "mux:agent-launch-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:agent-comm-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:session-storage-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:agent-config-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:hooks-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:extension-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "mux:tool-mux",
"to": "agent-version:opencode@1.x",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "lifecycle-semantics:opencode",
"to": "agent-version:opencode@1.x",
"kind": "applies_to_version",
"attributes": {}
},
{
"from": "session-semantics:opencode",
"to": "agent-version:opencode@1.x",
"kind": "applies_to_version",
"attributes": {}
}
]
}