Skip to main content

meerkat_contracts/
lib.rs

1#![recursion_limit = "1024"]
2
3//! Meerkat contracts — canonical wire types, surface schemas, and error contracts.
4//!
5//! This crate is the single source of truth for all wire-facing types.
6//! Surface crates (RPC, REST, MCP, CLI) consume these types directly.
7
8pub mod capability;
9pub mod error;
10pub mod event_catalog;
11pub mod protocol;
12pub mod request_lifecycle;
13pub mod rest_catalog;
14pub mod rpc_catalog;
15pub mod session_locator;
16pub mod version;
17pub mod wire;
18
19// Schema emission is a host-side concern (the `emit-schemas` binary); some
20// emitted entries reference host-only types (`meerkat_core::ConfigEnvelope`),
21// so the module is additionally gated off wasm32.
22#[cfg(all(feature = "schema", not(target_arch = "wasm32")))]
23pub mod emit;
24
25// Re-exports for convenience
26pub use capability::{
27    CapabilitiesResponse, CapabilityEntry, CapabilityId, CapabilityRegistration, CapabilityScope,
28    CapabilityStatus, available_capabilities, build_capabilities, resolve_capabilities,
29};
30pub use error::{CapabilityHint, ErrorCategory, ErrorCode, WireError};
31pub use event_catalog::KNOWN_AGENT_EVENT_TYPES;
32pub use meerkat_core::{
33    ExecutionPlacement, ExecutionPlacementIdentity, SessionForkResult,
34    TranscriptEditRunningBehavior, TranscriptReplacement,
35};
36pub use protocol::Protocol;
37pub use request_lifecycle::{
38    RequestLifecycle, RpcRequestLifecycleRule, WireInitialTurn, rpc_request_lifecycle,
39};
40pub use rest_catalog::{
41    RestOperationDescriptor, RestPathDescriptor, rest_documented_paths, rest_path_catalog,
42};
43pub use rpc_catalog::{
44    RpcMethodCatalogOptions, RpcMethodDescriptor, RpcNotificationDescriptor, rpc_method_catalog,
45    rpc_method_names, rpc_notification_catalog, rpc_notification_names,
46};
47pub use session_locator::{SessionLocator, SessionLocatorError, format_session_ref};
48pub use version::ContractVersion;
49#[cfg(not(target_arch = "wasm32"))]
50pub use wire::ConfigWriteResult;
51pub use wire::supervisor_bridge::{
52    BridgeAck, BridgeBindPayload, BridgeBindResponse, BridgeCapabilities, BridgeCommand,
53    BridgeCommandDecodeError, BridgeDeliveryOutcome, BridgeDeliveryPayload,
54    BridgeDeliveryRejectionCause, BridgeDeliveryResponse, BridgeDestroyResponse,
55    BridgeHardCancelPayload, BridgeMemberRuntimeState, BridgeMobPeerOverlayHandoff,
56    BridgeObservationResponse, BridgeOutboundTaintPayload, BridgePeerConnectivity, BridgePeerSpec,
57    BridgePeerWiringPayload, BridgeProtocolVersion, BridgeReply, BridgeRetireResponse,
58    BridgeSupervisorPayload, SUPERVISOR_BRIDGE_CURRENT_PROTOCOL_VERSION,
59    SUPERVISOR_BRIDGE_DEFAULT_PROTOCOL_VERSION, SUPERVISOR_BRIDGE_PROTOCOL_VERSION,
60    SUPERVISOR_BRIDGE_SUPPORTED_PROTOCOL_VERSIONS, UnsupportedBridgeProtocolVersion,
61    decode_bridge_command, supervisor_bridge_current_protocol_version,
62    supervisor_bridge_default_protocol_version, supervisor_bridge_protocol_version_supported,
63    supervisor_bridge_supported_protocol_versions,
64};
65pub use wire::{
66    ApprovalActionKind,
67    ApprovalDecideParams,
68    ApprovalDecision,
69    ApprovalDecisionRecord,
70    ApprovalGetParams,
71    ApprovalId,
72    ApprovalListFilter,
73    ApprovalListParams,
74    ApprovalListResult,
75    ApprovalMemberRef,
76    ApprovalMobRef,
77    ApprovalOwnerRef,
78    ApprovalPrincipalId,
79    ApprovalProposedAction,
80    ApprovalRecord,
81    ApprovalRequest,
82    ApprovalRequestParams,
83    ApprovalResourceId,
84    ApprovalResourceKind,
85    ApprovalResourceRef,
86    ApprovalRisk,
87    ApprovalStatus,
88    ArtifactDownloadParams,
89    ArtifactDownloadResult,
90    ArtifactIdParams,
91    ArtifactListParams,
92    ArtifactListResult,
93    AuthGrant,
94    BindingIdParams,
95    CatalogModelEntry,
96    CommsChecksumTokenParams,
97    CommsChecksumTokenResult,
98    CommsChecksumTokenResultIntent,
99    CommsCommandError,
100    CommsCommandProjectionError,
101    CommsCommandRequest,
102    CommsParams,
103    CommsPeerEntry,
104    CommsPeerLifecycleParams,
105    CommsPeerRequestIntent,
106    CommsPeerRequestParams,
107    CommsPeerResponseResult,
108    CommsPeerUnreachableReason,
109    CommsPeersParams,
110    CommsPeersResult,
111    CommsSendErrorData,
112    CommsSendParams,
113    CommsSendResult,
114    ConfigPatchParams,
115    ConfigSetParams,
116    CoreCreateParams,
117    CreateProfileParams,
118    DeviceCompleteParams,
119    DeviceStartParams,
120    EventReplayCursor,
121    EventReplayCursorError,
122    EventReplayEnvelope,
123    EventReplayEventId,
124    EventReplayScope,
125    EventsLatestCursorParams,
126    EventsLatestCursorResult,
127    EventsListSinceParams,
128    EventsListSinceResult,
129    EventsSnapshotBody,
130    EventsSnapshotParams,
131    EventsSnapshotResult,
132    ForkSessionAtParams,
133    ForkSessionReplaceParams,
134    GrantAction,
135    GrantScope,
136    HelpExecutionMode,
137    HelpRequest,
138    HelpResponse,
139    HookParams,
140    InterruptResult,
141    ListSchedulesParams,
142    ListSessionTranscriptRevisionsParams,
143    LiveChannelParams,
144    LiveCloseResult,
145    LiveCloseStatus,
146    LiveCommitInputParams,
147    LiveCommitInputResult,
148    LiveCommitInputStatus,
149    LiveInputChunkWire,
150    LiveInterruptResult,
151    LiveInterruptStatus,
152    LiveOpenParams,
153    LiveOpenResult,
154    LiveOpenTransport,
155    LiveRefreshResult,
156    LiveRefreshStatus,
157    LiveSendInputParams,
158    LiveSendInputResult,
159    LiveSendInputStatus,
160    LiveStatusResult,
161    LiveTruncateParams,
162    LiveTruncateResult,
163    LiveTruncateStatus,
164    LiveWebrtcAnswerParams,
165    LiveWebrtcAnswerResult,
166    LoginCompleteParams,
167    LoginStartParams,
168    McpAddParams,
169    McpLiveOpResponse,
170    McpLiveOpStatus,
171    McpLiveOperation,
172    McpReloadParams,
173    McpRemoveParams,
174    MobAppendSystemContextParams,
175    MobAppendSystemContextResult,
176    MobCancelAllWorkParams,
177    MobCancelAllWorkResult,
178    MobCancelWorkParams,
179    MobCancelWorkResult,
180    MobCreateParams,
181    MobCreateResult,
182    MobDefinitionInput,
183    MobDestroyResult,
184    MobEnsureMemberOutcomeWire,
185    MobEnsureMemberParams,
186    MobEnsureMemberResult,
187    MobEventsParams,
188    MobEventsResult,
189    MobFlowCancelParams,
190    MobFlowCancelResult,
191    MobFlowRunParams,
192    MobFlowRunResult,
193    MobFlowStatusParams,
194    MobFlowStatusResult,
195    MobFlowsResult,
196    MobForceCancelResult,
197    MobForkHelperParams,
198    MobHelperResult,
199    MobIdParams,
200    MobIngressInteractionParams,
201    MobIngressInteractionResult,
202    MobLifecycleParams,
203    MobLifecycleResult,
204    MobListMembersMatchingParams,
205    MobListMembersMatchingResult,
206    MobListResult,
207    MobMemberFilterWire,
208    MobMemberListEntryWire,
209    MobMemberParams,
210    MobMemberSendParams,
211    MobMemberSendResult,
212    MobMemberSpecWire,
213    MobMemberStatusResult,
214    MobMembersResult,
215    MobPeerTarget,
216    MobProfileCreateParams,
217    MobProfileDeleteParams,
218    MobProfileDeleteResult,
219    MobProfileInput,
220    MobProfileListResult,
221    MobProfileLookupResult,
222    MobProfileNameParams,
223    MobProfileUpdateParams,
224    MobReconcileFailureWire,
225    MobReconcileOptionsWire,
226    MobReconcileParams,
227    MobReconcileReportWire,
228    MobReconcileResult,
229    MobRespawnParams,
230    MobRespawnReceipt,
231    MobRespawnResult,
232    MobRetireResult,
233    MobRotateSupervisorResult,
234    MobRunParams,
235    MobRunResult,
236    MobRunResultParams,
237    MobSnapshotResult,
238    MobSpawnHelperParams,
239    MobSpawnManyFailedResult,
240    MobSpawnManyFailureCause,
241    MobSpawnManyParams,
242    MobSpawnManyResult,
243    MobSpawnManyResultEntry,
244    MobSpawnManyResultPayload,
245    MobSpawnManyResultStatus,
246    MobSpawnManySpawnedResult,
247    MobSpawnParams,
248    MobSpawnReceiptWire,
249    MobSpawnResult,
250    MobSpawnSpecParams,
251    MobStatusResult,
252    MobStreamCloseParams,
253    MobStreamCloseResult,
254    MobStreamOpenParams,
255    MobStreamOpenResult,
256    MobSubmitWorkParams,
257    MobSubmitWorkResult,
258    MobTurnStartParams,
259    MobUnwireParams,
260    MobUnwireResult,
261    MobWaitMembersResult,
262    MobWaitParams,
263    MobWireMembersBatchEdge,
264    MobWireMembersBatchParams,
265    MobWireMembersBatchResult,
266    MobWireParams,
267    MobWireResult,
268    ModelsCatalogResponse,
269    PeerAddress,
270    PeerCapabilitySet,
271    PeerDirectoryEntry,
272    PeerDirectoryListing,
273    PeerDirectorySource,
274    PeerId,
275    PeerResponseTerminalStatusWire,
276    PeerSendability,
277    PeerTransport,
278    PrincipalId,
279    PrincipalKind,
280    PrincipalRef,
281    ProviderCatalog,
282    ProvisionApiKeyParams,
283    ReadSessionTranscriptRevisionParams,
284    RealmIdParams,
285    RealtimeAudioChunk,
286    RealtimeAudioFormat,
287    RealtimeCapabilities,
288    RealtimeInputChunk,
289    RealtimeInputKind,
290    RealtimeOutputKind,
291    RealtimeTextChunk,
292    RealtimeTurningMode,
293    RealtimeVideoChunk,
294    RestoreSessionTranscriptRevisionParams,
295    RevisionId,
296    RevisionSelector,
297    RewriteSessionTranscriptParams,
298    RuntimeAcceptOutcomeType,
299    RuntimeAcceptResult,
300    RuntimeHostCapabilities,
301    RuntimeHostEndpointProjection,
302    RuntimeHostFeatureFlags,
303    RuntimeHostHealth,
304    RuntimeHostHealthStatus,
305    RuntimeHostIdScope,
306    RuntimeHostInfo,
307    RuntimeHostRealmProjection,
308    RuntimeStateResult,
309    ScheduleIdParams,
310    ScheduleListResult,
311    ScheduleOccurrencesParams,
312    ScheduleOccurrencesResult,
313    SendTaintOverride,
314    SenderContentTaint,
315    ServerCapabilities,
316    ServerInfo,
317    SessionExternalEventEnvelope,
318    SessionInputStateParams,
319    SessionInputStateResult,
320    SessionInputStateSelector,
321    SessionPeerResponseTerminalParams,
322    SessionStreamCloseParams,
323    SessionStreamCloseResult,
324    SessionStreamOpenParams,
325    SessionStreamOpenResult,
326    SkillEntry,
327    SkillInspectResponse,
328    SkillListResponse,
329    SkillSourceProvenance,
330    SkillsParams,
331    StreamReadStatus,
332    StructuredOutputParams,
333    SupervisorRotationIncompleteDataWire,
334    SupervisorRotationIncompleteDetailsWire,
335    SupervisorRotationIncompleteKind,
336    SupervisorRotationReportWire,
337    SupervisorRotationRetryAuthority,
338    SupervisorRotationRetryScope,
339    TranscriptRewriteMessage,
340    UpdateScheduleParams,
341    VisibilityClass,
342    WireAgentRuntimeId,
343    WireAppendSystemContextStatus,
344    WireAssistantBlock,
345    WireAssistantImageRef,
346    WireAuthBindingRef,
347    // Phase 4c — auth-binding wire types.
348    WireAuthError,
349    WireAuthProfile,
350    WireAuthProfileCleared,
351    WireAuthProfileCreated,
352    WireAuthProfileDetail,
353    WireAuthProfilesList,
354    WireAuthStatus,
355    WireAuthStatusDetail,
356    WireBackendProfile,
357    WireBindingIdentity,
358    WireCallbackPending,
359    WireCallbackPendingStatus,
360    WireContentBlock,
361    WireContentInput,
362    WireDeviceCompleteResult,
363    WireDeviceStart,
364    WireEvent,
365    WireGenerateImageExecutionPlan,
366    WireGenerateImageRequest,
367    WireHandlingMode,
368    WireImageGenerationToolResult,
369    WireImageOperationPhase,
370    WireInputLifecycleState,
371    WireInputState,
372    WireInputStateHistoryEntry,
373    WireInterruptOutcome,
374    WireLiveAdapterErrorCode,
375    WireLiveAdapterObservation,
376    WireLiveAdapterStatus,
377    WireLiveChannelCapabilities,
378    WireLiveChannelCloseFailure,
379    WireLiveChannelRefreshFailure,
380    WireLiveCloseFailure,
381    WireLiveConfigPropagationReport,
382    WireLiveContinuityMode,
383    WireLiveDegradationReason,
384    WireLiveHotSwapSkip,
385    WireLiveHotSwapSkipReason,
386    WireLiveRefreshFailure,
387    WireLiveResponseModality,
388    WireLiveSwapFailure,
389    WireLiveTransportBootstrap,
390    WireLoginReady,
391    WireLoginStart,
392    WireMemberRef,
393    WireMemberRefError,
394    WireMobBackendKind,
395    WireMobError,
396    WireMobLifecycleAction,
397    WireMobLifecycleStatus,
398    WireMobMemberStatus,
399    WireMobProfile,
400    WireMobReconcileStage,
401    WireMobRespawnOutcome,
402    WireMobResumeOverrideField,
403    WireMobRun,
404    WireMobRunResultEnvelope,
405    WireMobRunStatus,
406    WireMobRuntimeMode,
407    WireMobToolConfig,
408    WireMobWireAction,
409    WireModelBetaHeader,
410    WireModelProfile,
411    WireModelRoutingApprovalPhase,
412    WireModelTier,
413    WirePeerConnectivity,
414    WirePeerConnectivitySnapshot,
415    WirePendingToolCall,
416    WirePromptInput,
417    WireProviderBinding,
418    WireProviderMeta,
419    WireProvisionApiKeyResult,
420    WireRealmConnectionSet,
421    WireRealmList,
422    WireRealmSummary,
423    WireRenderClass,
424    WireRenderMetadata,
425    WireRenderSalience,
426    WireResolvedModelCapabilities,
427    WireRunResult,
428    WireRuntimeBinding,
429    WireRuntimeState,
430    WireScopedModelOverride,
431    WireSessionHistory,
432    WireSessionInfo,
433    WireSessionMessage,
434    WireSessionModelRoutingStatus,
435    WireSessionSummary,
436    WireSessionTranscriptRevision,
437    WireSessionTranscriptRevisionEntry,
438    WireSessionTranscriptRevisionList,
439    WireStopReason,
440    WireSwitchTurnControlResult,
441    WireSwitchTurnIntent,
442    WireSwitchTurnPhase,
443    WireToolResult,
444    WireToolResultContent,
445    WireTrustedPeerIdentity,
446    WireTrustedPeerSpec,
447    WireUnreachablePeer,
448    WireUsage,
449    WireWorkOrigin,
450    WorkEventsResult,
451    WorkItemsResult,
452};