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 config_convention;
10pub mod console_aggregator;
11pub mod console_config;
12pub mod console_contracts;
13pub(crate) mod console_spawn;
14pub mod contact_directory;
15pub mod decisions;
16pub mod governance;
17pub mod http_auth;
18pub mod http_console;
19pub mod http_flow_editor;
20pub mod http_sse;
21pub mod member_comms_id;
22pub mod memory;
23pub mod mob_handle_runtime;
24pub mod mobpack;
25pub mod mocks;
26pub mod process;
27pub mod protocol;
28pub mod rpc;
29pub mod runtime;
30pub mod schedule_wiring;
31pub mod types;
32pub mod unified_runtime;
33
34pub use access::{
35    ACCESS_ACTIONS, AccessConfigError, AccessControlConfig, AccessController, AccessDecision,
36    AccessEffect, AccessGroup, AccessPrincipal, AccessResource, AccessRule, AccessView,
37    AgentResourceAttributes, evaluate_access, validate_access_config,
38};
39pub use auth::{
40    GATEWAY_PEER_KEY_FILE, GatewayPeerKeyError, GatewayPeerKeys, Jwk, JwksCache, JwksCacheConfig,
41    JwksCacheError, JwksDocument, JwtHeaderView, JwtValidationConfig, JwtValidationError,
42    OidcContractError, OidcDiscoveryDocument, PubkeyDecodeError, ValidatedJwt, decode_pubkey_b64,
43    extract_hs256_shared_secret, inspect_jwt_header, parse_jwks_json, parse_oidc_discovery_json,
44    select_jwk_for_token, validate_jwt_locally,
45};
46pub use baseline::{
47    BaselineVerificationError, BaselineVerificationReport, DEFAULT_MEERKAT_REPO,
48    REQUIRED_MEERKAT_SYMBOLS, verify_meerkat_baseline_symbols,
49};
50pub use blob_store::{
51    Base64BlobStoreAdapter, BinaryBlobPayload, BinaryBlobStore, BinaryBlobStoreAdapter,
52    ObjectStoreBlobStore,
53};
54pub use config_convention::ConventionalPaths;
55pub use console_aggregator::{
56    AllowAllConsoleVisibilityPolicy, AppendDisposition, AppendOutcome, ConsoleAggregatorOptions,
57    ConsoleCursor, ConsoleFrame, ConsoleFrameSource, ConsoleFrameSourceKind, ConsoleFrameStatus,
58    ConsoleIdentityInspection, ConsoleIdentityRecord,
59    ConsoleInteractionAccepted as ConsoleTimelineInteractionAccepted, ConsoleLogError,
60    ConsoleLogResult, ConsoleLogStore, ConsoleReplayUnavailable, ConsoleRuntimeRegistration,
61    ConsoleSendRequest, ConsoleTimelineEvent, ConsoleTimelineMode, ConsoleTimelinePage,
62    ConsoleTimelineQuery, ConsoleTimelineWindowPage, ConsoleTimelineWindowQuery, ConsoleVisibility,
63    ConsoleVisibilityPolicy, HideImplicitDelegateMembersConsoleVisibilityPolicy,
64    InMemoryConsoleLogStore, MobKitConsoleAggregator, NewConsoleFrame, ReplaySubscriptionEffect,
65    ReplaySubscriptionState, ReplaySubscriptionTransition, SendEffect, SendState, SendTransition,
66    SourceIngestionEffect, SourceIngestionState, SourceIngestionTransition, SqliteConsoleLogStore,
67};
68pub use console_config::{
69    ConsoleActionsUiConfig, ConsoleAgentBadgeConfig, ConsoleAgentListConfig,
70    ConsoleAgentSectionConfig, ConsoleAppearanceConfig, ConsoleBrandingConfig, ConsoleConfigError,
71    ConsoleEnvironmentConfig, ConsoleLayoutConfig, ConsoleRailFilterPresetConfig,
72    ConsoleRailUiConfig, ConsoleSidebarButtonConfig, ConsoleSidebarUiConfig, ConsoleUiConfig,
73    load_console_ui_config_from_path_for_realm, load_console_ui_config_from_toml,
74    load_console_ui_config_from_toml_for_realm,
75};
76pub use console_contracts::{
77    ConsoleIdentityEventEnvelope, ConsoleInteractionRejectedError, ReplayUnavailableError,
78};
79pub use decisions::{
80    AuthPolicy, AuthProvider, BigQueryNaming, ConsoleAccessRequest, ConsolePolicy,
81    DecisionPolicyError, MetricsPolicy, REQUIRED_RELEASE_TARGETS, ReleaseMetadata,
82    RuntimeOpsPolicy, enforce_console_route_access, load_trusted_mobkit_modules_from_toml,
83    parse_release_metadata_json, validate_bigquery_naming, validate_release_metadata,
84    validate_runtime_ops_policy,
85};
86#[allow(deprecated)]
87pub use governance::validate_phase0_governance_contracts;
88pub use governance::{
89    GovernanceValidationError, STRICT_TRACEABILITY_STATUSES, validate_governance_contracts,
90    validate_governance_state, validate_traceability_statuses,
91};
92pub use http_auth::{auth_middleware, with_auth_layer};
93pub use http_console::{
94    ConsoleJsonState, console_frontend_app_js_handler, console_frontend_index_handler,
95    console_frontend_router, console_json_handler, console_json_router,
96    console_json_router_with_aggregator, console_json_router_with_aggregator_and_access,
97    console_json_router_with_runtime,
98};
99pub use http_flow_editor::{
100    flow_editor_frontend_app_css_handler, flow_editor_frontend_app_js_handler,
101    flow_editor_frontend_index_handler, flow_editor_frontend_router,
102    flow_editor_frontend_vendor_js_handler, flow_editor_router,
103    flow_editor_router_with_host_deploy, flow_editor_rpc_handler,
104    flow_editor_rpc_handler_allowing_host_deploy, flow_editor_rpc_router,
105    flow_editor_rpc_router_allowing_host_deploy,
106};
107pub use http_sse::{
108    AgentEventSubscribeFn, MobEventSubscribeFn, agent_event_sse, agent_events_sse_router,
109    agent_events_sse_router_with_access, mob_events_sse_router, mob_events_sse_router_with_access,
110    mob_structural_events_sse_router, mob_structural_events_sse_router_with_access,
111};
112pub use identity_first::{
113    AgentMemoryConfig, AgentMemoryCustomizer, AgentMemoryError, AgentMemoryLlmWrites,
114    AgentMemoryOperatorScope, AgentMemoryPerTurnInjection, AgentMemoryProvider,
115    AgentMemoryRecallFailurePolicy, AgentMemoryRecallRequest, AgentMemoryRecord,
116    AgentMemoryRuntimeInjector, AgentMemorySelection, AuthoredWriteReceipt, MEMORY_TOOL_NAME,
117    MarkdownAgentMemoryStore, NewAgentMemory,
118};
119pub use memory::{
120    CompactionResetSink, ContentTrustConfig, DistillCause, DistillerConfig, DistillerEngine,
121    DreamOutcome, DreamRun, HygieneCause, HygieneOutcome, HygienistConfig, HygienistEngine,
122    ManifestTier, MemberAgentEventSink, MemoryConflictBridge, MemoryEventSink, MemoryGatingBridge,
123    MemoryKind, MemoryRecord, MemoryScope, MemorySpawnCustomizer, MemoryTimelineEvent,
124    MobPurposeSource, NewMemoryRecord, OperatorResolver, PromotionGateResolver, RecordMeta,
125    SessionStoreEvidenceResolver, SessionTaintTracker, SqliteAgentMemoryStore, StagedMemoryStore,
126    StagedMutationBatch, StagedOp, StewardConfig, StewardEngine, StewardTriggers,
127    TaintLlmWriteGate, TaintObserverGuard, TrustTier, spawn_member_event_observer,
128    spawn_taint_observer,
129};
130pub use mob_handle_runtime::{
131    AfterCreateHook, CapabilityFlags, MobBootstrapOptions, MobBootstrapSpec, MobRuntime,
132    MobRuntimeError, RealMobRuntime, SessionCreatedContext, SessionHook, member_entry_to_json,
133    send_message_on_mob,
134};
135pub use mobpack::{
136    MOBPACK_MEDIA_TYPE, MOBPACK_SCHEMA_VERSION, MobpackDeployCommandResult, MobpackDiagnostic,
137    MobpackDocument, MobpackExportResult, MobpackValidationResult, deploy_command_preview,
138    export_mobpack, import_mobpack, mobpack_schema_response, validate_mobpack,
139};
140pub use mocks::{MockModuleProcess, MockProcessError};
141pub use process::{ProcessBoundaryError, run_process_json_line};
142pub use protocol::{ProtocolParseError, parse_module_event_line, parse_unified_event_line};
143pub use rpc::{
144    CONSOLE_TIMELINE_REPLAY_UNAVAILABLE_CODE, IdentityFirstContext, JsonRpcError, JsonRpcRequest,
145    JsonRpcResponse, MEMORY_BACKEND_UNAVAILABLE_CODE, MOB_EVENTS_STALE_CURSOR_CODE,
146    MOBKIT_CONTRACT_VERSION, handle_console_ingress_json, handle_mobkit_rpc_json,
147    handle_unified_rpc_json,
148};
149pub use rpc::{RpcCapabilities, RpcCapabilitiesError, parse_rpc_capabilities};
150pub use runtime::{
151    BaselineRuntimeError, BigQueryGcConfig, BigQuerySessionStoreAdapter, BigQuerySessionStoreError,
152    ConfigResolutionError, ConsoleAgentLiveSnapshot, ConsoleLiveSnapshot, ConsoleModelCapabilities,
153    ConsoleRestJsonRequest, ConsoleRestJsonResponse, DecisionRuntimeError,
154    ElephantMemoryBackendConfig, ElephantMemoryStoreError, GatingAuditEntry, GatingDecideError,
155    GatingDecideRequest, GatingDecision, GatingDecisionResult, GatingEvaluateRequest,
156    GatingEvaluateResult, GatingOutcome, GatingPendingEntry, GatingRiskTier, InMemoryMetadataStore,
157    JsonFileSessionStore, JsonFileSessionStoreError, JsonStoreLockRecord, LifecycleEvent,
158    LifecycleStage, LocalJsonMemoryBackendConfig, LocalJsonMemoryStoreError, McpBoundaryError,
159    MemoryAssertion, MemoryBackendConfig, MemoryConflictSignal, MemoryIndexError,
160    MemoryIndexRequest, MemoryIndexResult, MemoryQueryRequest, MemoryQueryResult, MemoryStoreInfo,
161    MetadataScope, MetadataStoreError, MobkitRuntimeError, MobkitRuntimeHandle, ModuleHealthState,
162    ModuleHealthTransition, ModuleRouteError, ModuleRouteRequest, ModuleRouteResponse,
163    NormalizationError, PersistentMetadataStore, RpcRouteError, RpcRuntimeError,
164    RuntimeBoundaryError, RuntimeDecisionInputs, RuntimeDecisionState, RuntimeFromConfigError,
165    RuntimeMetadataTable, RuntimeMutationError, RuntimeOptions, RuntimeRoute,
166    RuntimeRouteMutationError, RuntimeShutdownReport, ScheduleDefinition, ScheduleDispatch,
167    ScheduleDispatchReport, ScheduleEvaluation, ScheduleRuntimeInjection, ScheduleTrigger,
168    SchedulingSupervisorSignal, SessionPersistenceRow, SessionStoreContract, SessionStoreKind,
169    SqliteMetadataStore, SubscribeRequest, SubscribeResponse, SubscribeScope, SupervisorReport,
170    TrustedOidcRuntimeConfig, WILDCARD_ROUTE, build_runtime_decision_state,
171    evaluate_schedules_at_tick, handle_console_rest_json_route,
172    handle_console_rest_json_route_with_snapshot,
173    handle_console_rest_json_route_with_snapshot_and_access, materialize_latest_session_rows,
174    materialize_live_session_rows, normalize_event_line, route_module_call,
175    route_module_call_rpc_json, route_module_call_rpc_subprocess, run_discovered_module_once,
176    run_meerkat_baseline_verification_once, run_module_boundary_once,
177    run_rpc_capabilities_boundary_once, session_store_contracts, start_mobkit_runtime,
178    start_mobkit_runtime_with_options,
179};
180pub use types::{
181    AgentDiscoverySpec, DiscoverySpec, EventEnvelope, MobKitConfig, MobStructuralEventEnvelope,
182    ModuleConfig, ModuleEvent, PreSpawnData, RestartPolicy, UnifiedEvent,
183};
184pub use unified_runtime::{
185    DEFAULT_REFERENCE_APP_MAX_CONCURRENT_REQUESTS, DesiredPeerEdge, DesiredPeerEdgeError,
186    Discovery, EdgeDiscovery, EdgeReconcileFailure, ErrorEvent, ErrorHook, EventLogConfig,
187    EventLogStore, EventQuery, IdentityBootstrapMode, PersistedEvent, PostReconcileHook,
188    PostSpawnHook, PreSpawnContext, PreSpawnHook, RediscoverReport, ShutdownDrainReport,
189    UnifiedRuntime, UnifiedRuntimeBootstrapError, UnifiedRuntimeBuilder,
190    UnifiedRuntimeBuilderError, UnifiedRuntimeBuilderField, UnifiedRuntimeError,
191    UnifiedRuntimeReconcileEdgesReport, UnifiedRuntimeReconcileError,
192    UnifiedRuntimeReconcileReport, UnifiedRuntimeReconcileRoutingReport, UnifiedRuntimeRunReport,
193    UnifiedRuntimeShutdownReport, discovery_spec_to_spawn_spec,
194};