1#![recursion_limit = "256"]
2
3pub mod admission;
13pub mod agent_basics;
14pub mod agent_capability;
15pub mod authz;
16pub mod builtin_agents;
17pub mod cache;
18pub mod capabilities;
19pub mod checkpoint;
20mod executor;
21pub mod flow;
22pub mod goal;
23pub mod intent_gate;
24pub mod mcp;
25pub mod messaging;
26pub mod rate_limit;
27pub mod registry;
28pub mod scope;
29pub mod skill_ceiling;
30pub mod spawn;
31pub mod subprocess;
32pub mod substrate;
33pub mod taint;
34pub mod tool_handles;
35pub mod verify_gate;
36pub mod voice_turn;
37pub use car_winenv as win_env;
42
43pub use admission::{AdmissionDecision, AdmissionGate, GateContext, GateOutcome};
44pub use agent_basics::entries as agent_basic_entries;
45pub use agent_capability::AgentCapabilityRegistry;
46pub use authz::{
47 AllowAllPermissions, AuthzDecision, AuthzPipeline, AuthzResult, AuthzStage, PermissionHandler,
48 Restriction, TierPermissionHandler,
49};
50pub use builtin_agents::{
51 agent_metadata, format_capability_payload, register_builtins, BuiltinAgent,
52 CapabilityPayloadError, BUILTIN_AGENTS,
53};
54pub use cache::ResultCache;
55pub use capabilities::CapabilitySet;
56pub use checkpoint::Checkpoint;
57pub use executor::{
58 format_tool_result, validate_proposal_action_ids, CostBudget, FailedActionSummary,
59 ReplanCallback, ReplanConfig, ReplanContext, Runtime, ToolExecution, ToolExecutor,
60 TransactionCheckMode, CANCELED_PREFIX,
61};
62pub use flow::{
63 builtin_tool_labels, load_tool_labels, tool_output_is_external, FlowLoadError,
64 InformationFlowGate, ToolLabelConfig, NET_SEND,
65};
66pub use goal::GoalGather;
67pub use mcp::{McpServer, McpServerConfig, McpSession, McpToolExecutor, McpToolInfo};
68pub use messaging::{MessageReceipt, MessageSink, OutboundMessage, Recipient};
69pub use rate_limit::{RateLimit, RateLimiter};
70pub use registry::{ToolEntry, ToolPermission, ToolRegistry, ToolSource};
71pub use scope::RuntimeScope;
72pub use skill_ceiling::{SkillCeilingGate, SKILL_CONTEXT_KEY};
73pub use subprocess::{SubprocessTool, SubprocessToolExecutor};
74pub use substrate::{
75 CommandOutput, LocalSubstrate, McpSubstrate, PathState, Substrate,
76 SUBSTRATE_TRANSPORT_ERR_PREFIX,
77};
78pub use taint::TaintLedger;
79pub use verify_gate::StaticVerificationGate;
80pub use voice_turn::{
81 dispatch_voice_turn, dispatch_voice_turn_sidecar_only,
82 dispatch_voice_turn_sidecar_only_with_classifier,
83 dispatch_voice_turn_sidecar_only_with_telemetry, dispatch_voice_turn_with_telemetry,
84 DirectDataFetcher, SidecarResult, VoiceTelemetry, VoiceTurnControl, VoiceTurnError,
85 VoiceTurnHandle,
86};
87
88pub use car_eventlog::{EventKind, EventLog, SpanStatus};
110pub use car_ir::{
111 Action, ActionProposal, ActionType, AgentOutcome, Evidence, EvidenceKind, FailureBehavior,
112 OutcomeMetrics, OutcomeStatus, ProposalResult, ToolSchema,
113};
114pub use car_planner::{Planner, PlannerConfig, ToolFeedback};
115pub use car_policy::{
116 ApprovalDecision, ApprovalLedger, ApprovalRecord, GateDecision, PermissionGate, PermissionTier,
117 PolicyCheck, PolicyEngine, RiskClassifier,
118};
119pub use car_state::StateStore;
120pub use car_validator::validate_tool_output;
121pub use car_verify::VerifyIssue;
122#[cfg(test)]
128mod tests;