Skip to main content

Crate atomr_agents_deep_research_shell

Crate atomr_agents_deep_research_shell 

Source
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§

DeepResearchShell
Two-tier outer shell.
DirectSearchShallow
Default shallow researcher: one web-search call, results rendered as a numbered markdown report.
HeuristicIntentClassifier
Deterministic, LLM-free intent classifier.

Enums§

ResearchTier
Which tier should service a given ResearchRequest.
ShellError
Errors raised by the deep-research shell.

Traits§

Callable
The shell exposes Callable from atomr-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.
IntentClassifier
Object-safe trait every intent classifier implements.
ShallowResearcher
Object-safe trait for the shallow research path.

Type Aliases§

Result
Crate result alias.