Skip to main content

cpex_core/extensions/
mod.rs

1// Location: ./crates/cpex-core/src/extensions/mod.rs
2// Copyright 2025
3// SPDX-License-Identifier: Apache-2.0
4// Authors: Teryl Taylor
5//
6// Typed extension models for the CPEX framework.
7//
8// Each extension carries contextual metadata with an explicit
9// mutability tier enforced by the processing pipeline. Extensions
10// are always passed separately from the payload to handlers.
11//
12// Mirrors the Python extensions in cpex/framework/extensions/.
13
14pub mod agent;
15pub mod authorization;
16pub mod completion;
17pub mod container;
18pub mod delegation;
19pub mod filter;
20pub mod framework;
21pub mod guarded;
22pub mod http;
23pub mod llm;
24pub mod mcp;
25pub mod meta;
26pub mod monotonic;
27pub mod provenance;
28pub mod raw_credentials;
29pub mod request;
30pub mod security;
31pub mod tiers;
32
33// Re-export containers
34pub use container::{Extensions, OwnedExtensions};
35
36// Re-export all extension types
37pub use agent::{AgentExtension, ConversationContext};
38pub use authorization::AuthorizationDetail;
39pub use completion::{CompletionExtension, StopReason, TokenUsage};
40pub use delegation::{DelegationExtension, DelegationHop, DelegationStrategy};
41pub use filter::{filter_extensions, SlotName};
42pub use framework::FrameworkExtension;
43pub use guarded::{Guarded, WriteToken};
44pub use http::HttpExtension;
45pub use llm::LLMExtension;
46pub use mcp::{MCPExtension, PromptMetadata, ResourceMetadata, ToolMetadata};
47pub use meta::MetaExtension;
48pub use monotonic::{DeclassifierToken, MonotonicSet};
49pub use provenance::ProvenanceExtension;
50pub use raw_credentials::{
51    DelegationKey, DelegationMode, RawCredentialsExtension, RawDelegatedToken, RawInboundToken,
52    TokenKind, TokenRole,
53};
54pub use request::RequestExtension;
55pub use security::{
56    ClientExtension, ClientTrustLevel, DataPolicy, ObjectSecurityProfile, RetentionPolicy,
57    SecurityExtension, SubjectExtension, SubjectType, WorkloadIdentity,
58};
59pub use tiers::{AccessPolicy, Capability, MutabilityTier, SlotPolicy};