1pub mod config;
37mod explanation;
38mod graphql;
39pub mod handler;
40mod token;
41mod types;
42pub mod validation;
43
44pub mod templates;
46
47pub mod schema_exposure;
49
50pub mod policy;
52
53pub mod policy_annotations;
55
56#[cfg(test)]
58pub mod cedar_validation;
59
60#[cfg(feature = "openapi-code-mode")]
62mod javascript;
63
64#[cfg(feature = "js-runtime")]
66pub mod executor;
67
68#[cfg(feature = "js-runtime")]
70mod eval;
71
72pub use config::CodeModeConfig;
74
75pub use explanation::{ExplanationGenerator, TemplateExplanationGenerator};
76
77pub use graphql::{GraphQLOperationType, GraphQLQueryInfo, GraphQLValidator};
78
79#[cfg(feature = "openapi-code-mode")]
81pub use javascript::{
82 ApiCall, HttpMethod, JavaScriptCodeInfo, JavaScriptValidator, OutputDeclaration,
83 SafetyViolation, SafetyViolationType,
84};
85
86#[cfg(feature = "js-runtime")]
88pub use executor::{
89 filter_blocked_fields,
90 find_blocked_fields_in_output,
91 ApiCallLog,
92 ArrayMethodCall,
93 BinaryOperator,
94 CompileError,
95 ExecutionConfig,
96 ExecutionPlan,
97 ExecutionResult,
98 HttpExecutor,
99 JsExecutor,
100 MockExecutionMode,
101 MockHttpExecutor,
102 MockedCall,
103 PathPart,
104 PathTemplate,
105 PlanCompiler,
106 PlanExecutor,
107 PlanMetadata,
108 PlanStep,
109 UnaryOperator,
110 ValueExpr,
111};
112
113#[cfg(feature = "mcp-code-mode")]
115pub use executor::McpExecutor;
116
117pub use token::{
118 canonicalize_code, compute_context_hash, hash_code, ApprovalToken, HmacTokenGenerator,
119 TokenGenerator,
120};
121
122pub use types::{
123 CodeLocation, CodeType, Complexity, ExecutionError, PolicyViolation, RiskLevel,
124 SecurityAnalysis, SecurityIssue, SecurityIssueType, UnifiedAction, ValidationError,
125 ValidationMetadata, ValidationResult,
126};
127
128pub use validation::{ValidationContext, ValidationPipeline};
129
130pub use templates::TemplateContext;
132
133pub use handler::{
135 format_error_response, format_execution_error, CodeModeHandler, CodeModeToolBuilder,
136 ExecuteCodeInput, ValidateCodeInput, ValidationResponse,
137};
138
139pub use policy::{
141 AuthorizationDecision, OperationEntity, PolicyEvaluationError, PolicyEvaluator,
142 ServerConfigEntity, get_baseline_policies, get_code_mode_schema_json,
143};
144
145#[cfg(feature = "openapi-code-mode")]
146pub use policy::{
147 OpenAPIServerEntity, ScriptEntity, get_openapi_baseline_policies,
148 get_openapi_code_mode_schema_json, normalize_operation_format, normalize_path_to_pattern,
149};
150
151#[cfg(feature = "cedar")]
153pub use policy::cedar::CedarPolicyEvaluator;
154
155pub use schema_exposure::{
157 CodeModeExposurePolicy,
158 DerivationMetadata,
159 DerivationStats,
160 DerivedSchema,
161 ExposureMode,
162 FilterReason,
163 FilteredOperation,
164 GlobalBlocklist,
165 McpExposurePolicy,
166 MethodExposurePolicy,
167 Operation,
168 OperationCategory,
169 OperationDetails,
170 OperationParameter,
171 OperationRiskLevel,
172 SchemaDeriver,
173 SchemaFormat,
174 SchemaMetadata,
175 SchemaSource,
176 ToolExposurePolicy,
177 ToolOverride,
178};