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