Add a real TurnExecutor (behind the `provider` feature) that runs each topology turn as a single tool-free LLM call via any cm-llm provider (Anthropic / OpenAI-compat / scripted). Topologies now execute real model calls and produce real metrics (tokens), feeding the comparison harness. - ProviderExecutor builds a per-role system prompt + threads upstream context into the user message; collects TextDelta → output, Usage → tokens. - Tool-free reasoning turns take no sandbox-leaving actions (gated = []); §15 remains satisfied. Tool-using turns will route through a cm-runtime adapter. - Core crate stays dependency-light; cm-llm/futures are optional (feature). - Tests: pipeline + hierarchical run over the deterministic scripted provider (7 tests with --features provider). Clippy clean. Co-Authored-By: Claude Opus 4.8 <[email protected]>
27 lines
626 B
TOML
27 lines
626 B
TOML
[package]
|
|
name = "cm-orchestrator"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
# Real LLM-backed turn executor (tool-free reasoning turns) over cm-llm.
|
|
provider = ["dep:cm-llm", "dep:futures"]
|
|
|
|
[dependencies]
|
|
cm-topology = { path = "../cm-topology" }
|
|
cm-domain = { path = "../cm-domain" }
|
|
cm-llm = { path = "../cm-llm", optional = true }
|
|
futures = { version = "0.3", optional = true }
|
|
serde = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|