Skip to main content

canic_core/api/
mod.rs

1//! Module: api
2//!
3//! Responsibility: public API facades for macro-generated canister endpoints.
4//! Does not own: orchestration, business logic, policy, or storage invariants.
5//! Boundary: maps endpoint calls into workflow calls and public errors.
6
7pub mod auth;
8#[cfg(feature = "blob-storage")]
9pub mod blob_storage;
10pub mod call;
11pub mod cascade;
12pub mod component_runtime;
13pub mod config;
14pub mod error;
15pub mod fleet_activation;
16pub mod ic;
17pub mod icp_refill;
18pub mod intent;
19pub mod lifecycle;
20pub mod memory;
21pub mod metadata;
22pub mod placement;
23pub mod pool;
24pub mod ready;
25pub mod rpc;
26pub mod runtime;
27pub mod state;
28pub mod timer;
29pub mod topology;
30
31///
32/// Read-only query re-exports
33///
34/// Only queries that satisfy ALL of the following may be re-exported directly:
35///
36/// - Read-only
37/// - No orchestration or side effects
38/// - No policy or invariant enforcement
39/// - No internal `InternalError` in public signatures
40/// - Return DTOs or primitives only
41///
42/// Queries that can fail with internal errors or enforce invariants
43/// MUST be wrapped in an API façade instead.
44///
45
46pub mod cycles {
47    pub use crate::workflow::runtime::cycles::query::CycleTrackerQuery;
48}
49pub mod env {
50    pub use crate::workflow::env::query::EnvQuery;
51}
52pub mod icrc {
53    pub use crate::workflow::icrc::query::{Icrc10Query, Icrc21Query};
54}
55pub mod log {
56    pub use crate::workflow::log::query::LogQuery;
57}
58pub mod metrics {
59    pub use crate::workflow::metrics::query::MetricsQuery;
60}