pub struct ClaudeCodeAgent {
pub identity: AgentIdentity,
pub worktree_path: PathBuf,
pub branch_name: String,
pub claude_config: ClaudeConfig,
pub status: AgentStatus,
pub current_task: Option<Task>,
pub task_history: Vec<(Task, TaskResult)>,
pub last_activity: DateTime<Utc>,
}Expand description
Core Claude Code agent structure
Fields§
§identity: AgentIdentityAgent identity information
worktree_path: PathBufGit worktree path
branch_name: StringGit branch name
claude_config: ClaudeConfigClaude configuration
status: AgentStatusCurrent agent status
current_task: Option<Task>Current task being worked on
task_history: Vec<(Task, TaskResult)>Task history
last_activity: DateTime<Utc>Last activity timestamp
Implementations§
Source§impl ClaudeCodeAgent
impl ClaudeCodeAgent
Sourcepub async fn new(
role: AgentRole,
workspace_root: &Path,
branch_prefix: &str,
claude_config: ClaudeConfig,
) -> Result<Self>
pub async fn new( role: AgentRole, workspace_root: &Path, branch_prefix: &str, claude_config: ClaudeConfig, ) -> Result<Self>
Create a new agent with the given configuration
Sourcepub async fn initialize(&mut self) -> Result<()>
pub async fn initialize(&mut self) -> Result<()>
Initialize the agent (setup worktree, identity, etc.)
Sourcepub async fn establish_identity(&mut self) -> Result<()>
pub async fn establish_identity(&mut self) -> Result<()>
Establish agent identity with Claude Code
Sourcepub async fn execute_task(&mut self, task: Task) -> Result<TaskResult>
pub async fn execute_task(&mut self, task: Task) -> Result<TaskResult>
Execute a task with full identity and boundary checking
Trait Implementations§
Source§impl Clone for ClaudeCodeAgent
impl Clone for ClaudeCodeAgent
Source§fn clone(&self) -> ClaudeCodeAgent
fn clone(&self) -> ClaudeCodeAgent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ClaudeCodeAgent
impl Debug for ClaudeCodeAgent
Source§impl<'de> Deserialize<'de> for ClaudeCodeAgent
impl<'de> Deserialize<'de> for ClaudeCodeAgent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ClaudeCodeAgent
impl RefUnwindSafe for ClaudeCodeAgent
impl Send for ClaudeCodeAgent
impl Sync for ClaudeCodeAgent
impl Unpin for ClaudeCodeAgent
impl UnwindSafe for ClaudeCodeAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more