1#![forbid(unsafe_code)]
2
3pub mod architecture;
4pub mod audit;
5pub mod awareness;
6pub mod bootstrap;
7pub mod clock;
8pub mod connector;
9pub mod contracts;
10pub mod errors;
11pub mod harness;
12pub mod integration;
13pub mod kernel;
14pub mod mailbox;
15pub mod memory;
16pub mod pack;
17pub mod plugin;
18pub mod plugin_ir;
19pub mod policy;
20pub mod policy_ext;
21pub mod runtime;
22pub mod task_supervisor;
23pub mod tool;
24
25pub use architecture::{
26 ArchitectureBoundaryPolicy, ArchitectureGuardReport, ArchitecturePathDecision,
27 ArchitecturePathReport,
28};
29pub use audit::{
30 AuditEvent, AuditEventKind, AuditRepairOutcome, AuditRepairReport, AuditSink,
31 AuditVerificationReport, ExecutionPlane, FanoutAuditSink, InMemoryAuditSink, JsonlAuditSink,
32 NoopAuditSink, PlaneTier, probe_jsonl_audit_journal_runtime_ready, repair_jsonl_audit_journal,
33 verify_jsonl_audit_journal,
34};
35pub use awareness::{CodebaseAwarenessConfig, CodebaseAwarenessEngine, CodebaseAwarenessSnapshot};
36pub use bootstrap::{
37 BootstrapPolicy, BootstrapReport, BootstrapTask, BootstrapTaskStatus, PluginBootstrapExecutor,
38 plugin_bridge_is_high_risk_auto_apply,
39};
40pub use clock::{Clock, FixedClock, SystemClock};
41pub use connector::{
42 ConnectorExtensionAdapter, ConnectorPlane, ConnectorTier, CoreConnectorAdapter,
43};
44pub use contracts::{
45 Capability, CapabilityToken, ConnectorCommand, ConnectorOutcome, ExecutionRoute, Fault,
46 HarnessKind, HarnessOutcome, HarnessRequest, Namespace, TaskIntent, TaskState,
47};
48pub use errors::{
49 AuditError, ConnectorError, HarnessError, IntegrationError, KernelError, MemoryPlaneError,
50 PackError, PolicyError, RuntimePlaneError, ToolPlaneError,
51};
52pub use harness::{HarnessAdapter, HarnessBroker};
53pub use integration::{
54 AutoProvisionAgent, AutoProvisionRequest, ChannelConfig, IntegrationCatalog, IntegrationHotfix,
55 ProviderConfig, ProviderTemplate, ProvisionAction, ProvisionPlan,
56};
57pub use kernel::{ConnectorDispatch, Kernel, KernelBuilder, KernelDispatch, LoongKernel};
58pub use memory::{
59 CoreMemoryAdapter, MemoryCoreOutcome, MemoryCoreRequest, MemoryExtensionAdapter,
60 MemoryExtensionOutcome, MemoryExtensionRequest, MemoryPlane, MemoryTier,
61};
62pub use pack::VerticalPackManifest;
63pub use plugin::{
64 CURRENT_PLUGIN_HOST_API, CURRENT_PLUGIN_MANIFEST_API_VERSION, PACKAGE_MANIFEST_FILE_NAME,
65 PluginAbsorbReport, PluginCompatibility, PluginCompatibilityMode, PluginCompatibilityShim,
66 PluginContractDialect, PluginDescriptor, PluginDiagnosticCode, PluginDiagnosticFinding,
67 PluginDiagnosticPhase, PluginDiagnosticSeverity, PluginManifest, PluginScanReport,
68 PluginScanner, PluginSetup, PluginSetupMode, PluginSlotClaim, PluginSlotMode, PluginSourceKind,
69 PluginTrustTier, format_plugin_provenance_summary, plugin_provenance_summary_for_descriptor,
70};
71pub use plugin_ir::{
72 BridgeSupportMatrix, PluginActivationCandidate, PluginActivationInventoryEntry,
73 PluginActivationPlan, PluginActivationStatus, PluginBridgeKind, PluginChannelBridgeContract,
74 PluginChannelBridgeReadiness, PluginCompatibilityShimSupport, PluginIR, PluginRuntimeProfile,
75 PluginRuntimeScaffoldDefaults, PluginSetupReadiness, PluginSetupReadinessContext,
76 PluginTranslationReport, PluginTranslator, evaluate_plugin_setup_requirements,
77 plugin_runtime_scaffold_defaults,
78};
79pub use policy::{PolicyContext, PolicyDecision, PolicyEngine, PolicyRequest, StaticPolicyEngine};
80pub use policy_ext::{PolicyExtension, PolicyExtensionChain, PolicyExtensionContext};
81pub use runtime::{
82 CoreRuntimeAdapter, RuntimeCoreOutcome, RuntimeCoreRequest, RuntimeExtensionAdapter,
83 RuntimeExtensionOutcome, RuntimeExtensionRequest, RuntimePlane, RuntimeTier,
84};
85pub use task_supervisor::TaskSupervisor;
86pub use tool::{
87 CoreToolAdapter, ToolConcurrencyClass, ToolCoreOutcome, ToolCoreRequest, ToolExtensionAdapter,
88 ToolExtensionOutcome, ToolExtensionRequest, ToolPlane, ToolTier,
89};
90
91pub mod test_support;
92
93#[cfg(test)]
94mod tests;
95
96#[cfg(test)]
97#[test]
98fn unknown_concurrency_class_requires_serial_execution() {
99 assert!(!ToolConcurrencyClass::ReadOnly.requires_serial_execution());
100 assert!(ToolConcurrencyClass::Mutating.requires_serial_execution());
101 assert!(ToolConcurrencyClass::Unknown.requires_serial_execution());
102 assert_eq!(ToolConcurrencyClass::Unknown.as_str(), "unknown");
103}