Skip to main content

hivemind/adapters/
mod.rs

1//! Runtime adapters for agent execution.
2
3pub mod claude_code;
4pub mod codex;
5pub mod kilo;
6pub mod opencode;
7pub mod runtime;
8
9/// Supported runtime adapter names.
10pub const SUPPORTED_ADAPTERS: [&str; 4] = ["opencode", "codex", "claude-code", "kilo"];
11
12/// Built-in runtime descriptor.
13#[derive(Debug, Clone, Copy, PartialEq, Eq)]
14pub struct RuntimeDescriptor {
15    pub adapter_name: &'static str,
16    pub default_binary: &'static str,
17    pub opencode_compatible: bool,
18}
19
20/// Returns descriptors for built-in runtime adapters.
21#[must_use]
22pub fn runtime_descriptors() -> [RuntimeDescriptor; 4] {
23    [
24        RuntimeDescriptor {
25            adapter_name: "opencode",
26            default_binary: "opencode",
27            opencode_compatible: true,
28        },
29        RuntimeDescriptor {
30            adapter_name: "codex",
31            default_binary: "codex",
32            opencode_compatible: false,
33        },
34        RuntimeDescriptor {
35            adapter_name: "claude-code",
36            default_binary: "claude",
37            opencode_compatible: false,
38        },
39        RuntimeDescriptor {
40            adapter_name: "kilo",
41            default_binary: "kilo",
42            opencode_compatible: true,
43        },
44    ]
45}