mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-21 00:21:27 +00:00
- Extract shared test infrastructure (MockExecutionEnvironment, TestProfile, MockLlmProvider) replacing 11 duplicate mock implementations across tests - Deduplicate tool execution logic between sequential and parallel paths - Narrow ProviderProfile trait from 14 to 7 required methods via ProfileCapabilities struct and default implementations - Replace stringly-typed HashMap event data with typed EventData enum - Extract shared assemble_system_prompt helper and register_subagent_tools default method, eliminating copy-paste across all 3 profiles - Replace fragile shell-based glob with glob crate, fix rg detection - Add delete_file to ExecutionEnvironment, wire git context into env block - Remove dead code (AgentError::Io, count_turns, trivial derived-trait tests) - Use match-based lookups in truncation instead of per-call HashMap allocation Net reduction: -1,401 lines across 20 files. All 180 tests pass. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
785 B
TOML
32 lines
785 B
TOML
[package]
|
|
name = "coding-agent-loop"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
description = "A programmable agentic loop for coding agents"
|
|
repository = "https://github.com/brynary/attractor-rust"
|
|
readme = "README.md"
|
|
keywords = ["llm", "ai", "agent", "coding"]
|
|
categories = ["api-bindings"]
|
|
|
|
[dependencies]
|
|
unified-llm = { path = "../unified-llm" }
|
|
thiserror.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio.workspace = true
|
|
uuid.workspace = true
|
|
futures.workspace = true
|
|
async-trait.workspace = true
|
|
jsonschema.workspace = true
|
|
chrono.workspace = true
|
|
glob = "0.3"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
|
|
[lints]
|
|
workspace = true
|