nucel-agent-core
Core traits and types for the Nucel Agent SDK — the provider-agnostic abstraction layer.
This crate has zero provider dependencies. Implement the AgentExecutor trait
here to add support for any coding-agent backend (CLI, HTTP server, library, etc.).
What's in this crate
AgentExecutortrait —spawn(),resume(),capabilities(),availability()AgentSession— follow-upquery(),total_cost(),close()SessionImpltrait — what providers actually implement per-sessionSpawnConfig— model, budget, permission mode, env, system prompt,max_turns, …ExecutorConfig— provider-level configuration (api_key,base_url)AgentCapabilities— feature flags reported by each providerAvailabilityStatus— is the underlying CLI / server reachable?- Types —
AgentCost,AgentResponse,ToolCall,ToolResult,ExecutorType,PermissionMode,SessionMetadata AgentError— unified error type (Provider,BudgetExceeded,CliNotFound,Timeout,EscalationRequested, …)
Usage
Most users should depend on the umbrella crate
nucel-agent-sdk instead:
[]
= "0.1"
Use nucel-agent-core directly only if you're implementing a new provider:
[]
= "0.1"
= "0.1"
use async_trait;
use Path;
use Arc;
use ;
;
;
SpawnConfig fields
Provider crates
| Provider | Crate | Transport |
|---|---|---|
| Claude Code | nucel-agent-claude-code |
claude CLI subprocess |
| Codex | nucel-agent-codex |
codex CLI subprocess |
| OpenCode | nucel-agent-opencode |
opencode serve HTTP |
Source
License
Apache-2.0