Skip to main content

agent_sdk_core/testing/
mod.rs

1//! Downstream-facing test kit for SDK consumers.
2//!
3//! Fakes and scripted adapters in this namespace exercise the same public
4//! ports, records, and package contracts as production implementations.
5
6/// Compatibility facade for deterministic fake adapters. Prefer the
7/// concrete modules below when a test needs a narrower fake surface.
8pub mod fakes {
9    pub use crate::fakes::*;
10}
11
12/// Public approval namespace. Use it for the documented approval API
13/// surface; prefer crate-root re-exports for common imports. Module
14/// items must preserve the core ownership and side-effect boundaries
15/// described in this file.
16pub mod approval {
17    pub use crate::approval_testing::*;
18}
19
20/// Public content namespace. Use it for the documented content API
21/// surface; prefer crate-root re-exports for common imports. Module
22/// items must preserve the core ownership and side-effect boundaries
23/// described in this file.
24pub mod content {
25    pub use crate::content_testing::*;
26}
27
28/// Public event namespace. Use it for the documented event API surface;
29/// prefer crate-root re-exports for common imports. Module items must
30/// preserve the core ownership and side-effect boundaries described in
31/// this file.
32pub mod event {
33    pub use crate::event_testing::*;
34}
35
36/// Public extension namespace. Use it for the documented extension API
37/// surface; prefer crate-root re-exports for common imports. Module
38/// items must preserve the core ownership and side-effect boundaries
39/// described in this file.
40pub mod extension {
41    pub use crate::extension_testing::*;
42}
43
44/// Public hooks namespace. Use it for the documented hooks API surface;
45/// prefer crate-root re-exports for common imports. Module items must
46/// preserve the core ownership and side-effect boundaries described in
47/// this file.
48pub mod hooks {
49    pub use crate::hooks_testing::*;
50}
51
52/// Public isolation namespace. Use it for the documented isolation API
53/// surface; prefer crate-root re-exports for common imports. Module
54/// items must preserve the core ownership and side-effect boundaries
55/// described in this file.
56pub mod isolation {
57    pub use crate::isolation_testing::*;
58}
59
60/// Public output delivery namespace. Use it for the documented output
61/// delivery API surface; prefer crate-root re-exports for common
62/// imports. Module items must preserve the core ownership and
63/// side-effect boundaries described in this file.
64pub mod output_delivery {
65    pub use crate::output_delivery_testing::*;
66}
67
68/// Public realtime namespace. Use it for the documented realtime API
69/// surface; prefer crate-root re-exports for common imports. Module
70/// items must preserve the core ownership and side-effect boundaries
71/// described in this file.
72pub mod realtime {
73    pub use crate::realtime_testing::*;
74}
75
76/// Public telemetry namespace. Use it for the documented telemetry API
77/// surface; prefer crate-root re-exports for common imports. Module
78/// items must preserve the core ownership and side-effect boundaries
79/// described in this file.
80pub mod telemetry {
81    pub use crate::telemetry_testing::*;
82}
83
84/// Public tool namespace. Use it for the documented tool API surface;
85/// prefer crate-root re-exports for common imports. Module items must
86/// preserve the core ownership and side-effect boundaries described in
87/// this file.
88pub mod tool {
89    pub use crate::tool_testing::*;
90}
91
92pub use crate::approval_testing::ScriptedApprovalDispatcher;
93pub use crate::content_testing::FakeContentResolver;
94pub use crate::event_testing::FakeEventConformanceHarness;
95pub use crate::extension_testing::ScriptedExtensionActionExecutor;
96pub use crate::fakes::{
97    DeterministicClock, DeterministicIdGenerator, FIXTURE_SCHEMA_VERSION, FakeContentStore,
98    FakeEventSink, FakeFixtureHarness, FakeJournalStore, FakeProvider, FixtureManifest,
99    FixtureManifestEntry, StoredContent, StoredContentManifestEntry, normalize_json_value,
100    read_fixture, write_fixture,
101};
102pub use crate::hooks_testing::ScriptedHookExecutor;
103pub use crate::isolation_testing::FakeIsolationRuntime;
104pub use crate::output_delivery_testing::ScriptedOutputSink;
105pub use crate::realtime_testing::ScriptedRealtimeAdapter;
106pub use crate::telemetry_testing::ScriptedTelemetrySink;
107pub use crate::tool_testing::ScriptedToolExecutor;