mirror of
https://github.com/lWolvesl/claw-code.git
synced 2026-04-02 20:51:52 +08:00
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
18 lines
447 B
TOML
18 lines
447 B
TOML
[package]
|
|
name = "tools"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
[dependencies]
|
|
api = { path = "../api" }
|
|
runtime = { path = "../runtime" }
|
|
reqwest = { version = "0.12", default-features = false, features = ["blocking", "rustls-tls"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = ["rt-multi-thread"] }
|
|
|
|
[lints]
|
|
workspace = true
|