Expand description
Two-tier outer shell for [atomr-agents-deep-research-harness].
An IntentClassifier routes incoming ResearchRequests to
either a fast shallow path (one web-search call, no role loop) or
the full deep harness. The shell implements
atomr_agents_callable::Callable so it composes into agents,
workflows, and tool registries exactly like the underlying harness.
The crate is intentionally minimal: it depends on
atomr-agents-deep-research-core for the contract types,
atomr-agents-deep-research-harness for the
DeepResearchHarnessRef handle, and
atomr-agents-web-search-core for the shallow path’s WebSearch
provider. It does not depend on any web-search-provider crate;
callers wire in their own provider (or MockWebSearch for tests).
ⓘ
use std::sync::Arc;
use atomr_agents_deep_research_shell::{
DeepResearchShell, DirectSearchShallow, HeuristicIntentClassifier,
};
let shell = DeepResearchShell::new(
Arc::new(HeuristicIntentClassifier::new()),
Arc::new(DirectSearchShallow::new(web_search.clone())),
deep_ref,
);
let v = shell.call(serde_json::json!({"query": "rust"}), ctx).await?;Structs§
- Deep
Research Shell - Two-tier outer shell.
- Direct
Search Shallow - Default shallow researcher: one web-search call, results rendered as a numbered markdown report.
- Heuristic
Intent Classifier - Deterministic, LLM-free intent classifier.
Enums§
- Research
Tier - Which tier should service a given
ResearchRequest. - Shell
Error - Errors raised by the deep-research shell.
Traits§
- Callable
- The shell exposes
Callablefromatomr-agents-callable. Anything an agent / workflow / harness can call. Implemented by every executable unit so they’re interchangeable as workflow steps, tool invocations, and team routing targets. - Intent
Classifier - Object-safe trait every intent classifier implements.
- Shallow
Researcher - Object-safe trait for the shallow research path.
Type Aliases§
- Result
- Crate result alias.