Skip to main content

apcore/
lib.rs

1// APCore SDK for Rust — AI Partner Core protocol implementation
2// Main library module — re-exports all public API
3// ModuleError is intentionally large (rich structured error for an SDK); boxing it
4// everywhere would change the public API, so we suppress this lint crate-wide.
5#![allow(clippy::result_large_err)]
6
7pub mod acl;
8pub mod acl_handlers;
9pub mod approval;
10pub mod async_task;
11pub mod bindings;
12pub mod builtin_steps;
13pub mod cancel;
14pub mod client;
15pub mod config;
16pub mod context;
17pub mod context_key;
18pub mod context_keys;
19pub mod decorator;
20pub mod error_formatter;
21pub mod errors;
22pub mod events;
23pub mod executor;
24pub mod extensions;
25pub mod middleware;
26pub mod module;
27pub mod observability;
28pub mod pipeline;
29pub mod pipeline_config;
30pub mod registry;
31pub mod schema;
32pub mod sys_modules;
33pub mod trace_context;
34pub mod utils;
35pub mod version;
36
37// Re-export primary types at crate root for convenience.
38pub use acl::{ACLRule, ACL};
39pub use acl_handlers::ACLConditionHandler;
40pub use approval::{
41    AlwaysDenyHandler, ApprovalHandler, ApprovalRequest, ApprovalResult, AutoApproveHandler,
42};
43pub use async_task::TaskStatus;
44pub use builtin_steps::{
45    build_internal_strategy, build_performance_strategy, build_standard_strategy,
46    build_testing_strategy, BuiltinACLCheck, BuiltinApprovalGate, BuiltinCallChainGuard,
47    BuiltinContextCreation, BuiltinExecute, BuiltinInputValidation, BuiltinMiddlewareAfter,
48    BuiltinMiddlewareBefore, BuiltinModuleLookup, BuiltinOutputValidation, BuiltinReturnResult,
49};
50pub use client::APCore;
51pub use config::{Config, ConfigMode, EnvStyle, MountSource, NamespaceInfo, NamespaceRegistration};
52pub use context::{Context, ContextFactory, Identity};
53pub use context_key::ContextKey;
54pub use errors::{ErrorCode, ErrorCodeRegistry, ModuleError};
55pub use events::emitter::{ApCoreEvent, EventEmitter};
56pub use executor::{
57    describe_pipeline, list_strategies, redact_sensitive, register_strategy, Executor,
58    REDACTED_VALUE,
59};
60pub use module::{Module, PreflightCheckResult, PreflightResult};
61pub use observability::logging::ContextLogger;
62pub use observability::tracing_middleware::{SamplingStrategy, TracingMiddleware};
63pub use pipeline::{
64    ExecutionStrategy, PipelineContext, PipelineEngine, PipelineTrace, Step, StepResult, StepTrace,
65    StrategyInfo,
66};
67pub use pipeline_config::{
68    build_strategy_from_config, register_step_type, registered_step_types, reset_step_registry,
69    unregister_step_type, StepFactory,
70};
71pub use registry::registry::Registry;
72pub use schema::{ExportProfile, SchemaDefinition, SchemaStrategy};
73pub use sys_modules::{
74    check_module_disabled, is_module_disabled, register_sys_modules, SysModulesContext, ToggleState,
75};