Skip to main content

meerkat_mobkit/
lib.rs

1//! MobKit core — orchestration engine for the Meerkat multi-agent runtime.
2
3pub mod identity_first;
4
5pub mod access;
6pub mod auth;
7pub mod baseline;
8pub mod blob_store;
9pub mod compaction_policy;
10pub mod config_convention;
11pub mod console_aggregator;
12pub mod console_config;
13pub mod console_contracts;
14pub(crate) mod console_spawn;
15pub mod contact_directory;
16pub mod decisions;
17pub mod gateway_wiring;
18pub mod governance;
19pub mod http_auth;
20pub mod http_console;
21pub mod http_flow_editor;
22pub mod http_sse;
23pub mod live_wiring;
24pub mod member_comms_id;
25pub mod memory;
26pub mod memory_wiring;
27pub mod mob_handle_runtime;
28pub mod mobpack;
29pub mod mocks;
30pub mod process;
31pub mod protocol;
32pub mod rpc;
33pub mod runtime;
34pub mod schedule_wiring;
35pub mod storage_doctor;
36pub mod storage_health;
37pub mod storage_layout;
38pub mod storage_migrate;
39pub mod storage_provider;
40pub mod tool_compose;
41pub mod topology_control;
42pub mod types;
43pub mod unified_runtime;
44pub mod workgraph_admission;
45pub mod workgraph_wiring;
46
47pub use access::{
48    ACCESS_ACTIONS, AccessConfigError, AccessControlConfig, AccessController, AccessDecision,
49    AccessEffect, AccessGroup, AccessPrincipal, AccessResource, AccessRule, AccessView,
50    AgentResourceAttributes, evaluate_access, validate_access_config,
51};
52pub use auth::{
53    GATEWAY_PEER_KEY_FILE, GatewayPeerKeyError, GatewayPeerKeys, Jwk, JwksCache, JwksCacheConfig,
54    JwksCacheError, JwksDocument, JwtHeaderView, JwtValidationConfig, JwtValidationError,
55    OidcContractError, OidcDiscoveryDocument, PubkeyDecodeError, ValidatedJwt, decode_pubkey_b64,
56    extract_hs256_shared_secret, inspect_jwt_header, parse_jwks_json, parse_oidc_discovery_json,
57    select_jwk_for_token, validate_jwt_locally,
58};
59pub use baseline::{
60    BaselineVerificationError, BaselineVerificationReport, MEERKAT_REPO_ENV,
61    REQUIRED_MEERKAT_SYMBOLS, verify_meerkat_baseline_symbols,
62};
63pub use blob_store::{
64    Base64BlobStoreAdapter, BinaryBlobPayload, BinaryBlobStore, BinaryBlobStoreAdapter,
65    ObjectStoreBlobStore,
66};
67pub use compaction_policy::{
68    COMPACTION_POLICY_KEYS, apply_compaction_policy, parse_compaction_policy,
69    validate_compaction_policy,
70};
71pub use config_convention::ConventionalPaths;
72pub use console_aggregator::{
73    AllowAllConsoleVisibilityPolicy, AppendDisposition, AppendOutcome, ConsoleAggregatorOptions,
74    ConsoleCursor, ConsoleFrame, ConsoleFrameSource, ConsoleFrameSourceKind, ConsoleFrameStatus,
75    ConsoleIdentityInspection, ConsoleIdentityRecord,
76    ConsoleInteractionAccepted as ConsoleTimelineInteractionAccepted, ConsoleLogError,
77    ConsoleLogResult, ConsoleLogStore, ConsoleReplayUnavailable, ConsoleRuntimeRegistration,
78    ConsoleSendRequest, ConsoleTimelineEvent, ConsoleTimelineMode, ConsoleTimelinePage,
79    ConsoleTimelineQuery, ConsoleTimelineWindowPage, ConsoleTimelineWindowQuery, ConsoleVisibility,
80    ConsoleVisibilityPolicy, HideImplicitDelegateMembersConsoleVisibilityPolicy,
81    InMemoryConsoleLogStore, MobKitConsoleAggregator, NewConsoleFrame, ReplaySubscriptionEffect,
82    ReplaySubscriptionState, ReplaySubscriptionTransition, SendEffect, SendState, SendTransition,
83    SourceIngestionEffect, SourceIngestionState, SourceIngestionTransition, SqliteConsoleLogStore,
84};
85pub use console_config::{
86    ConsoleActionsUiConfig, ConsoleAgentBadgeConfig, ConsoleAgentListConfig,
87    ConsoleAgentSectionConfig, ConsoleAppearanceConfig, ConsoleBrandingConfig, ConsoleConfigError,
88    ConsoleEnvironmentConfig, ConsoleLayoutConfig, ConsoleRailFilterPresetConfig,
89    ConsoleRailUiConfig, ConsoleSidebarButtonConfig, ConsoleSidebarUiConfig, ConsoleUiConfig,
90    load_console_ui_config_from_path_for_realm, load_console_ui_config_from_toml,
91    load_console_ui_config_from_toml_for_realm,
92};
93pub use console_contracts::{
94    ConsoleIdentityEventEnvelope, ConsoleInteractionRejectedError, ReplayUnavailableError,
95};
96pub use decisions::{
97    AuthPolicy, AuthProvider, BigQueryNaming, ConsoleAccessRequest, ConsolePolicy,
98    DecisionPolicyError, MetricsPolicy, REQUIRED_RELEASE_TARGETS, ReleaseMetadata,
99    RuntimeOpsPolicy, enforce_console_route_access, load_trusted_mobkit_modules_from_toml,
100    parse_release_metadata_json, validate_bigquery_naming, validate_release_metadata,
101    validate_runtime_ops_policy,
102};
103#[allow(deprecated)]
104pub use governance::validate_phase0_governance_contracts;
105pub use governance::{
106    GovernanceValidationError, STRICT_TRACEABILITY_STATUSES, validate_governance_contracts,
107    validate_governance_state, validate_traceability_statuses,
108};
109pub use http_auth::{auth_middleware, with_auth_layer};
110pub use http_console::{
111    ConsoleJsonState, console_frontend_app_js_handler, console_frontend_index_handler,
112    console_frontend_router, console_json_handler, console_json_router,
113    console_json_router_with_aggregator, console_json_router_with_aggregator_and_access,
114    console_json_router_with_runtime,
115};
116pub use http_flow_editor::{
117    flow_editor_frontend_app_css_handler, flow_editor_frontend_app_js_handler,
118    flow_editor_frontend_index_handler, flow_editor_frontend_router,
119    flow_editor_frontend_vendor_js_handler, flow_editor_router,
120    flow_editor_router_with_host_deploy, flow_editor_rpc_handler,
121    flow_editor_rpc_handler_allowing_host_deploy, flow_editor_rpc_router,
122    flow_editor_rpc_router_allowing_host_deploy,
123};
124pub use http_sse::{
125    AgentEventSubscribeFn, MobEventSubscribeFn, agent_event_sse, agent_events_sse_router,
126    agent_events_sse_router_with_access, mob_events_sse_router, mob_events_sse_router_with_access,
127    mob_structural_events_sse_router, mob_structural_events_sse_router_with_access,
128};
129pub use identity_first::{
130    AgentMemoryConfig, AgentMemoryCustomizer, AgentMemoryError, AgentMemoryLlmWrites,
131    AgentMemoryOperatorScope, AgentMemoryPerTurnInjection, AgentMemoryProvider,
132    AgentMemoryRecallFailurePolicy, AgentMemoryRecallRequest, AgentMemoryRecord,
133    AgentMemoryRuntimeInjector, AgentMemorySelection, AuthoredWriteReceipt, MEMORY_TOOL_NAME,
134    MarkdownAgentMemoryStore, NewAgentMemory,
135};
136pub use meerkat_mob::{MemberTurnEventSender, MemberTurnHandle, MemberTurnOptions};
137pub use memory::{
138    CompactionResetSink, ConsolePrincipalOperatorResolver, ContentTrustConfig, DispatchTaintSlot,
139    DistillCause, DistillerConfig, DistillerEngine, DreamOutcome, DreamRun, HygieneCause,
140    HygieneOutcome, HygienistConfig, HygienistEngine, ManifestTier, MemberAgentEventSink,
141    MemoryConflictBridge, MemoryEventSink, MemoryGatingBridge, MemoryKind, MemoryPanelStore,
142    MemoryRecord, MemoryScope, MemorySpawnCustomizer, MemoryTimelineEvent, MobPurposeSource,
143    NewMemoryRecord, OperatorResolver, PromotionGateResolver, RecordMeta,
144    SessionStoreEvidenceResolver, SessionTaintTracker, SqliteAgentMemoryStore, StagedMemoryStore,
145    StagedMutationBatch, StagedOp, StewardConfig, StewardEngine, StewardStore, StewardTriggers,
146    TaintLlmWriteGate, TaintObserverGuard, TaintableStore, TrustTier, spawn_member_event_observer,
147    spawn_taint_observer,
148};
149pub use mob_handle_runtime::{
150    AfterCreateHook, CapabilityFlags, MobBootstrapOptions, MobBootstrapSpec, MobRuntime,
151    MobRuntimeError, RealMobRuntime, SessionCreatedContext, SessionHook, member_entry_to_json,
152    send_message_on_mob,
153};
154pub use mobpack::{
155    MOBPACK_MEDIA_TYPE, MOBPACK_SCHEMA_VERSION, MobpackDeployCommandResult, MobpackDiagnostic,
156    MobpackDocument, MobpackExportResult, MobpackValidationResult, deploy_command_preview,
157    export_mobpack, import_mobpack, mobpack_schema_response, validate_mobpack,
158};
159pub use mocks::{MockModuleProcess, MockProcessError};
160pub use process::{ProcessBoundaryError, run_process_json_line};
161pub use protocol::{ProtocolParseError, parse_module_event_line, parse_unified_event_line};
162pub use rpc::{
163    CONSOLE_TIMELINE_REPLAY_UNAVAILABLE_CODE, IdentityFirstContext, JsonRpcError, JsonRpcRequest,
164    JsonRpcResponse, MEMORY_BACKEND_UNAVAILABLE_CODE, MOB_EVENTS_STALE_CURSOR_CODE,
165    MOBKIT_CONTRACT_VERSION, STORAGE_RESOLUTION_CODE, handle_console_ingress_json,
166    handle_mobkit_rpc_json, handle_unified_rpc_json, handle_unified_rpc_json_arc,
167};
168pub use rpc::{RpcCapabilities, RpcCapabilitiesError, parse_rpc_capabilities};
169pub use runtime::{
170    BaselineRuntimeError, BigQueryGcConfig, BigQuerySessionStoreAdapter, BigQuerySessionStoreError,
171    ConfigResolutionError, ConsoleAgentLiveSnapshot, ConsoleLiveSnapshot, ConsoleModelCapabilities,
172    ConsoleRestJsonRequest, ConsoleRestJsonResponse, DecisionRuntimeError,
173    ElephantMemoryBackendConfig, ElephantMemoryStoreError, GatingAuditEntry, GatingDecideError,
174    GatingDecideRequest, GatingDecision, GatingDecisionResult, GatingEvaluateRequest,
175    GatingEvaluateResult, GatingOutcome, GatingPendingEntry, GatingRiskTier, InMemoryMetadataStore,
176    JsonFileSessionStore, JsonFileSessionStoreError, JsonStoreLockRecord, LifecycleEvent,
177    LifecycleStage, LocalJsonMemoryBackendConfig, LocalJsonMemoryStoreError, McpBoundaryError,
178    MemoryAssertion, MemoryBackendConfig, MemoryConflictSignal, MemoryIndexError,
179    MemoryIndexRequest, MemoryIndexResult, MemoryQueryRequest, MemoryQueryResult, MemoryStoreInfo,
180    MetadataScope, MetadataStoreError, MobkitRuntimeError, MobkitRuntimeHandle, ModuleHealthState,
181    ModuleHealthTransition, ModuleRouteError, ModuleRouteRequest, ModuleRouteResponse,
182    NormalizationError, PersistentMetadataStore, RpcRouteError, RpcRuntimeError,
183    RuntimeBoundaryError, RuntimeDecisionInputs, RuntimeDecisionState, RuntimeFromConfigError,
184    RuntimeMetadataTable, RuntimeMutationError, RuntimeOptions, RuntimeRoute,
185    RuntimeRouteMutationError, RuntimeShutdownReport, ScheduleDefinition, ScheduleDispatch,
186    ScheduleDispatchReport, ScheduleEvaluation, ScheduleRuntimeInjection, ScheduleTrigger,
187    SchedulingSupervisorSignal, SessionPersistenceRow, SessionStoreContract, SessionStoreKind,
188    SqliteMetadataStore, SubscribeRequest, SubscribeResponse, SubscribeScope, SupervisorReport,
189    TrustedOidcRuntimeConfig, WILDCARD_ROUTE, build_runtime_decision_state,
190    evaluate_schedules_at_tick, handle_console_rest_json_route,
191    handle_console_rest_json_route_with_snapshot,
192    handle_console_rest_json_route_with_snapshot_and_access, materialize_latest_session_rows,
193    materialize_live_session_rows, normalize_event_line, route_module_call,
194    route_module_call_rpc_json, route_module_call_rpc_subprocess, run_discovered_module_once,
195    run_meerkat_baseline_verification_once, run_module_boundary_once,
196    run_rpc_capabilities_boundary_once, session_store_contracts, start_mobkit_runtime,
197    start_mobkit_runtime_with_options,
198};
199pub use storage_doctor::{
200    DoctorOptions, MobKitStorageMigrator, diagnose_state_dir, diagnose_state_dir_blocking,
201    diagnose_state_dir_blocking_with_options, diagnose_state_dir_with_options,
202    diagnose_state_dir_with_runtime,
203};
204pub use storage_health::{
205    BlobDurability, BlobStoreResolutionError, ResolvedStorageSummary, RuntimeStoreResolutionError,
206    StorageResolutionError, StorageSlotSummary, probe_session_store_incremental,
207};
208pub use storage_layout::{
209    DatabaseProvenance, DatabaseResolution, DatabaseSlot, DatabaseSummary, MobKitStorageLayout,
210    ResolvedDatabase, StateDirDurability, StorageLayoutError, StorageLayoutSummary,
211    default_ephemeral_scratch_root, default_gateway_home,
212};
213pub use storage_migrate::{
214    DivergenceStatus, FileRenameEntry, LedgerBaselineAction, LedgerBaselineEntry, MigrateMode,
215    MobKitMaintenanceFence, MobKitMigrateReport, MobKitPruneArtifact, MobKitPruneReport,
216    PruneAction, PruneArtifactKind, RenameAction, RowDivergenceEntry, SiblingRename, TwinReport,
217    TwinResolution, enumerate_state_dir_artifacts, enumerate_state_dir_databases,
218    is_registered_backup_artifact_name, is_registered_quarantine_artifact_name, migrate_state_dir,
219    prune_state_dir,
220};
221pub use storage_provider::{
222    DiskMobKitStorageProvider, MobKitLeaseAuthority, MobKitRealmOpenContext, MobKitRealmStoreSet,
223    MobKitStorageProvider, MobKitStorageProviderError, REQUIRED_MOBKIT_DURABILITY_DOMAINS,
224    enforce_fail_closed_store_set,
225};
226pub use topology_control::{
227    SameProcessTopologyCoordinator, TopologyAction, TopologyApplyRequest,
228    TopologyBilateralApplyRequest, TopologyBilateralPlan, TopologyBilateralPlanRequest,
229    TopologyBilateralSnapshot, TopologyBootstrapConfig, TopologyControlError, TopologyControlMode,
230    TopologyControlPolicy, TopologyController, TopologyEdge, TopologyEdgeResult,
231    TopologyEdgeResultStatus, TopologyEdgeSnapshot, TopologyEndpoint, TopologyMutation,
232    TopologyNodeAffordances, TopologyNodeSnapshot, TopologyOperationReceipt,
233    TopologyOperationRecord, TopologyOperationRecordStatus, TopologyOperationStatus, TopologyPlan,
234    TopologyPlanRequest, TopologyPlannedEdge, TopologyRevisionTransition, TopologyRuntimeHandle,
235    TopologySnapshot,
236};
237pub use types::{
238    AgentDiscoverySpec, DiscoverySpec, EventEnvelope, MobKitConfig, MobStructuralEventEnvelope,
239    ModuleConfig, ModuleEvent, PreSpawnData, RestartPolicy, UnifiedEvent,
240};
241pub use unified_runtime::{
242    DEFAULT_REFERENCE_APP_MAX_CONCURRENT_REQUESTS, DesiredPeerEdge, DesiredPeerEdgeError,
243    Discovery, EdgeDiscovery, EdgeReconcileFailure, ErrorEvent, ErrorHook, EventLogConfig,
244    EventLogStore, EventQuery, IdentityAuthorityReleaseOutcome, IdentityBootstrapMode,
245    MemberTurnAdmission, PersistedEvent, PostReconcileHook, PostSpawnHook, PreSpawnContext,
246    PreSpawnHook, RediscoverReport, ShutdownDrainReport, UnifiedRuntime,
247    UnifiedRuntimeBootstrapError, UnifiedRuntimeBuilder, UnifiedRuntimeBuilderError,
248    UnifiedRuntimeBuilderField, UnifiedRuntimeError, UnifiedRuntimeReconcileEdgesReport,
249    UnifiedRuntimeReconcileError, UnifiedRuntimeReconcileReport,
250    UnifiedRuntimeReconcileRoutingReport, UnifiedRuntimeRunReport, UnifiedRuntimeShutdownReport,
251    discovery_spec_to_spawn_spec,
252};