- 22 AI providers (OpenRouter, Anthropic, OpenAI, Mistral, etc.) - 7 channels (CLI, Telegram, Discord, Slack, iMessage, Matrix, Webhook) - 5-step onboarding wizard with Project Context personalization - OpenClaw-aligned system prompt (SOUL.md, IDENTITY.md, USER.md, AGENTS.md, etc.) - SQLite memory backend with auto-save - Skills system with on-demand loading - Security: autonomy levels, command allowlists, cost limits - 532 tests passing, 0 clippy warnings
26 lines
782 B
Rust
26 lines
782 B
Rust
use std::path::PathBuf;
|
|
|
|
/// Runtime adapter — abstracts platform differences so the same agent
|
|
/// code runs on native, Docker, Cloudflare Workers, Raspberry Pi, etc.
|
|
pub trait RuntimeAdapter: Send + Sync {
|
|
/// Human-readable runtime name
|
|
fn name(&self) -> &str;
|
|
|
|
/// Whether this runtime supports shell access
|
|
fn has_shell_access(&self) -> bool;
|
|
|
|
/// Whether this runtime supports filesystem access
|
|
fn has_filesystem_access(&self) -> bool;
|
|
|
|
/// Base storage path for this runtime
|
|
fn storage_path(&self) -> PathBuf;
|
|
|
|
/// Whether long-running processes (gateway, heartbeat) are supported
|
|
fn supports_long_running(&self) -> bool;
|
|
|
|
/// Maximum memory budget in bytes (0 = unlimited)
|
|
fn memory_budget(&self) -> u64 {
|
|
0
|
|
}
|
|
}
|