mod ids;
mod task;
mod workflow;
pub use ids::{TaskId, TaskTable};
pub use task::{
AnalyzedAgentAction, AnalyzedExecAction, AnalyzedFetchAction, AnalyzedForEach,
AnalyzedInferAction, AnalyzedInvokeAction, AnalyzedOutput, AnalyzedRetry, AnalyzedTask,
AnalyzedTaskAction, HttpMethod, OutputFormat,
};
pub use workflow::{
AnalyzedContextFile, AnalyzedIncludeSpec, AnalyzedMcpServer, AnalyzedWorkflow, McpFromSource,
McpTransport, SchemaVersion,
};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_module_exports() {
use crate::binding::WithSpec;
let _ = TaskId::new(0);
let _ = AnalyzedWorkflow::default();
let _ = SchemaVersion::latest();
let _ = AnalyzedTask {
id: TaskId::new(0),
name: String::new(),
description: None,
action: AnalyzedTaskAction::default(),
provider: None,
model: None,
base_url: None,
with_spec: WithSpec::default(),
depends_on: Vec::new(),
implicit_deps: Vec::new(),
output: None,
for_each: None,
retry: None,
decompose: None,
concurrency: None,
fail_fast: None,
artifact: None,
log: None,
structured: None,
record: None,
context_budget: None,
preset: None,
routing: None,
span: crate::source::Span::dummy(),
};
}
}