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 registry;
30pub mod schema;
31pub mod sys_modules;
32pub mod trace_context;
33pub mod utils;
34pub mod version;
35
36// Re-export primary types at crate root for convenience.
37pub use acl::{ACLRule, ACL};
38pub use acl_handlers::ACLConditionHandler;
39pub use approval::{
40    AlwaysDenyHandler, ApprovalHandler, ApprovalRequest, ApprovalResult, AutoApproveHandler,
41};
42pub use async_task::TaskStatus;
43pub use builtin_steps::{
44    build_internal_strategy, build_performance_strategy, build_standard_strategy,
45    build_testing_strategy, BuiltinACLCheck, BuiltinApprovalGate, BuiltinContextCreation,
46    BuiltinExecute, BuiltinInputValidation, BuiltinMiddlewareAfter, BuiltinMiddlewareBefore,
47    BuiltinModuleLookup, BuiltinOutputValidation, BuiltinReturnResult, BuiltinSafetyCheck,
48};
49pub use client::APCore;
50pub use config::{Config, ConfigMode, EnvStyle, MountSource, NamespaceInfo, NamespaceRegistration};
51pub use context::{Context, ContextFactory, Identity};
52pub use context_key::ContextKey;
53pub use errors::{ErrorCode, ErrorCodeRegistry, ModuleError};
54pub use events::emitter::{ApCoreEvent, EventEmitter};
55pub use executor::{
56    describe_pipeline, list_strategies, redact_sensitive, register_strategy, Executor,
57    REDACTED_VALUE,
58};
59pub use module::{Module, PreflightCheckResult, PreflightResult};
60pub use observability::logging::ContextLogger;
61pub use observability::tracing_middleware::{SamplingStrategy, TracingMiddleware};
62pub use pipeline::{
63    ExecutionStrategy, PipelineContext, PipelineEngine, PipelineTrace, Step, StepResult, StepTrace,
64    StrategyInfo,
65};
66pub use registry::registry::Registry;
67pub use schema::{ExportProfile, SchemaDefinition, SchemaStrategy};
68pub use sys_modules::{
69    check_module_disabled, is_module_disabled, register_sys_modules, SysModulesContext, ToggleState,
70};