mirror of
https://github.com/lWolvesl/claw-code.git
synced 2026-04-02 21:01:52 +08:00
Enable real Agent tool delegation in the Rust CLI
The Rust Agent tool only persisted queued metadata, so delegated work never actually ran. This change wires Agent into a detached background conversation path with isolated runtime, API client, session state, restricted tool subsets, and file-backed lifecycle/result updates. Constraint: Keep the tool entrypoint in the tools crate and avoid copying the upstream TypeScript implementation Rejected: Spawn an external claw process | less aligned with the requested in-process runtime/client design Rejected: Leave execution in the CLI crate only | would keep tools::Agent as a metadata-only stub Confidence: medium Scope-risk: moderate Reversibility: clean Directive: Tool subset mappings are curated guardrails; revisit them before enabling recursive Agent access or richer agent definitions Tested: cargo build --release --manifest-path rust/Cargo.toml Tested: cargo test --manifest-path rust/Cargo.toml Not-tested: Live end-to-end background sub-agent run against Anthropic API credentials
This commit is contained in:
@@ -4,8 +4,8 @@ mod sse;
|
||||
mod types;
|
||||
|
||||
pub use client::{
|
||||
oauth_token_is_expired, read_base_url, resolve_saved_oauth_token,
|
||||
resolve_startup_auth_source, AnthropicClient, AuthSource, MessageStream, OAuthTokenSet,
|
||||
oauth_token_is_expired, read_base_url, resolve_saved_oauth_token, resolve_startup_auth_source,
|
||||
AnthropicClient, AuthSource, MessageStream, OAuthTokenSet,
|
||||
};
|
||||
pub use error::ApiError;
|
||||
pub use sse::{parse_frame, SseParser};
|
||||
|
||||
Reference in New Issue
Block a user