Skip to main content

runx_contracts/
lib.rs

1//! Shared Rust contract types for runx JSON and protocol boundaries.
2
3// Lets the `#[derive(RunxSchema)]` output reference `::runx_contracts::schema`
4// from inside this crate, the same way serde_derive references `::serde`.
5extern crate self as runx_contracts;
6
7pub mod act;
8pub mod agent_context;
9pub mod artifact;
10pub mod authority;
11pub mod cli;
12pub mod credential_delivery;
13pub mod decision;
14pub mod dev;
15pub mod doctor;
16pub mod execution;
17pub mod external_adapter;
18pub mod fingerprint;
19pub mod fixture;
20pub mod handoff;
21pub mod host_protocol;
22pub mod json;
23pub mod ledger;
24pub mod links;
25pub mod list;
26pub mod maturity;
27pub mod operational_policy;
28pub mod operational_proposal;
29pub mod output;
30pub mod packet_index;
31pub mod policy_proof;
32pub mod receipt;
33pub mod receipts;
34pub mod redaction;
35pub mod reference;
36pub mod registry;
37pub mod registry_binding;
38pub mod review;
39pub mod run_summary;
40pub mod schema;
41pub mod schema_artifacts;
42pub mod signal;
43pub mod source_packet;
44pub mod suppression;
45pub mod thread_outbox_provider;
46pub mod tools;
47pub mod verification;
48
49pub use act::assignment::{
50    ActAssignment, ActAssignmentActor, ActAssignmentHost, ActAssignmentHostKind,
51    ActAssignmentIdempotency, ActAssignmentSchema, BuildActAssignment, IntentKeyInput,
52    derive_content_hash, derive_intent_key, derive_trigger_key,
53};
54pub use act::result::{
55    ActResultEnvelope, ActResultNeedsAgentEnvelope, ActResultNeedsAgentStatus, ActResultNull,
56    ActResultSignal, ActResultTerminalEnvelope, ActResultTerminalStatus,
57};
58pub use act::{
59    Act, ActForm, ActSchema, ChangePlan, ChangeRequest, CriterionBinding, CriterionStatus,
60    GovernedActRef, Intent, RevisionDetails, SuccessCriterion, TargetSurface, VerificationDetails,
61};
62pub use agent_context::{
63    AgentContextEnvelope, AgentContextProfiles, ContextArtifactMeta, ContextArtifactProducer,
64    ContextEntry, ContextEntryVersion, ExecutionLocation, ProfileFile, ProvenanceEntry,
65    QualityProfile, QualityProfileSource,
66};
67pub use artifact::{ARTIFACT_SCHEMA, Artifact, ArtifactProducedBy, ArtifactSchema};
68pub use authority::{
69    Authority, AuthorityApproval, AuthorityAttenuation, AuthorityBounds, AuthorityCapability,
70    AuthorityCondition, AuthorityConditionPredicate, AuthorityEffectCredentialForm,
71    AuthorityEffectGuard, AuthorityEffectGuardKind, AuthorityEffectLimit, AuthorityResourceFamily,
72    AuthoritySchema, AuthoritySubsetComparison, AuthoritySubsetProof, AuthoritySubsetRelation,
73    AuthoritySubsetResult, AuthorityTerm, AuthorityVerb,
74};
75pub use credential_delivery::{
76    CredentialDeliveryEnvBinding, CredentialDeliveryHandle, CredentialDeliveryMode,
77    CredentialDeliveryObservation, CredentialDeliveryObservationSchema,
78    CredentialDeliveryObservationStatus, CredentialDeliveryProfile,
79    CredentialDeliveryProfileSchema, CredentialDeliveryPurpose, CredentialDeliveryRequest,
80    CredentialDeliveryRequestSchema, CredentialDeliveryResponse, CredentialDeliveryResponseSchema,
81    CredentialDeliveryStatus, CredentialMaterialRole,
82};
83pub use decision::{
84    Closure, ClosureDisposition, Decision, DecisionChoice, DecisionInputs, DecisionJustification,
85};
86pub use dev::{
87    DevFixtureAssertion, DevFixtureAssertionKind, DevFixtureResult, DevFixtureStatus, DevReport,
88    DevReportSchema, DevReportStatus,
89};
90pub use doctor::{
91    DoctorDiagnostic, DoctorDiagnosticSeverity, DoctorLocation, DoctorRepair,
92    DoctorRepairConfidence, DoctorRepairKind, DoctorRepairRisk, DoctorReport, DoctorReportSchema,
93    DoctorStatus, DoctorSummary,
94};
95pub use execution::{
96    ExecutionSemantics, GovernedDisposition, InputContextCapture, OutcomeState, ReceiptOutcome,
97    ReceiptSurfaceRef,
98};
99pub use external_adapter::{
100    EXTERNAL_ADAPTER_PROTOCOL_VERSION, ExternalAdapterArtifactObservation,
101    ExternalAdapterCancellationFrame, ExternalAdapterCancellationSchema,
102    ExternalAdapterCredentialNeed, ExternalAdapterCredentialPurpose,
103    ExternalAdapterCredentialReference, ExternalAdapterCredentialRequest,
104    ExternalAdapterCredentialRequestSchema, ExternalAdapterErrorObservation,
105    ExternalAdapterHostResolutionFrame, ExternalAdapterHostResolutionSchema,
106    ExternalAdapterInvocation, ExternalAdapterInvocationSchema, ExternalAdapterManifest,
107    ExternalAdapterManifestSchema, ExternalAdapterProtocolVersion, ExternalAdapterResponse,
108    ExternalAdapterSandboxIntent, ExternalAdapterStatus, ExternalAdapterTelemetryObservation,
109    ExternalAdapterTelemetryValue, ExternalAdapterTimeouts, ExternalAdapterTransport,
110    ExternalAdapterTransportKind,
111};
112pub use fingerprint::{Fingerprint, FingerprintAlgorithm, hex_lower, sha256_hex, sha256_prefixed};
113pub use fixture::{Fixture, FixtureLane};
114pub use handoff::{
115    HandoffDisposition, HandoffSignal, HandoffSignalActor, HandoffSignalSchema,
116    HandoffSignalSource, HandoffSignalSourceRef, HandoffState, HandoffStateSchema, HandoffStatus,
117    SuppressionReason,
118};
119pub use host_protocol::{
120    AgentActInvocation, AgentActSourceType, ApprovalDecision, ApprovalGate, ExecutionEvent,
121    HostNeedsAgentState, HostRunApproval, HostRunApprovalDecision, HostRunKind, HostRunLineage,
122    HostRunLineageKind, HostRunResult, HostRunState, HostRunVerification,
123    HostRunVerificationStatus, HostTerminalState, Question, ResolutionRequest, ResolutionResponse,
124    ResolutionResponseActor,
125};
126pub use json::{
127    JsonNumber, JsonObject, JsonValue, json_bool_field, json_object, json_object_field,
128    json_string_field,
129};
130pub use ledger::{
131    LedgerCanonicalization, LedgerChain, LedgerChainVersion, LedgerEntry, LedgerEntryMeta,
132    LedgerEntrySchemaVersion, LedgerHashAlgorithm, LedgerPayload, LedgerPayloadVersion,
133    LedgerProducer, LedgerSha256Hex,
134};
135pub use links::{DuplicateCandidate, Links};
136pub use list::{
137    RunxListEmit, RunxListItem, RunxListItemKind, RunxListReport, RunxListRequestedKind,
138    RunxListSchema, RunxListSource, RunxListStatus,
139};
140pub use operational_policy::{
141    OperationalPolicy, OperationalPolicyAction, OperationalPolicyAdmission,
142    OperationalPolicyAdmissionRequest, OperationalPolicyAdmissionStatus,
143    OperationalPolicyAutomationPermissions, OperationalPolicyDedupePolicy,
144    OperationalPolicyDedupeStrategy, OperationalPolicyDuplicateBehavior, OperationalPolicyError,
145    OperationalPolicyMissingBehavior, OperationalPolicyOutcomeCloseMode,
146    OperationalPolicyOutcomePolicy, OperationalPolicyOwnerRoute, OperationalPolicyPublishMode,
147    OperationalPolicyReadback, OperationalPolicyRunnerReadback, OperationalPolicyRunnerRule,
148    OperationalPolicyRunnerState, OperationalPolicySchema, OperationalPolicySourceReadback,
149    OperationalPolicySourceRule, OperationalPolicySourceThreadPolicy,
150    OperationalPolicyTargetReadback, OperationalPolicyTargetRule,
151    OperationalPolicyValidationFinding, admit_operational_policy_request,
152    lint_operational_policy_contract, operational_policy_runner_kind,
153    operational_policy_source_provider, project_operational_policy_readback,
154    validate_operational_policy_contract, validate_operational_policy_semantics,
155};
156pub use operational_proposal::{
157    OPERATIONAL_PROPOSAL_SCHEMA, OperationalProposal, OperationalProposalAuthority,
158    OperationalProposalHumanGate, OperationalProposalIdempotency, OperationalProposalOutcome,
159    OperationalProposalRecommendedAction, OperationalProposalRedactionStatus,
160    OperationalProposalSchema,
161};
162pub use output::{Output, OutputField, OutputFieldSpec, OutputType};
163pub use packet_index::{PacketIndex, PacketIndexEntry, PacketIndexSchema};
164pub use policy_proof::{
165    AuthorityKind, AuthorityProof, AuthorityProofApprovalDecision,
166    AuthorityProofApprovalDecisionValue, AuthorityProofCredentialMaterial,
167    AuthorityProofCredentialMaterialStatus, AuthorityProofRedaction,
168    AuthorityProofRedactionSecretMaterial, AuthorityProofRedactionStatus,
169    AuthorityProofRedactionStream, AuthorityProofRequested, AuthorityProofSandbox,
170    AuthorityProofSandboxFilesystem, AuthorityProofSandboxNetwork, AuthorityProofSandboxRuntime,
171    AuthorityProofSchemaVersion, CredentialEnvelope, CredentialEnvelopeKind,
172    CredentialGrantReference, ScopeAdmission, ScopeAdmissionStatus,
173};
174pub use receipt::{
175    EFFECT_FINALITY_RECEIPT_SCHEMA, EffectFinalityPhase, EffectFinalityReceipt,
176    EffectFinalityReceiptSchema, FanoutReceiptDecision, FanoutReceiptStrategy,
177    FanoutReceiptSyncPoint, Lineage, RECEIPT_CANONICALIZATION, RECEIPT_SCHEMA, Receipt, ReceiptAct,
178    ReceiptAuthority, ReceiptCommitment, ReceiptCommitmentScope, ReceiptEnforcement,
179    ReceiptIdempotency, ReceiptInputContext, ReceiptIssuer, ReceiptIssuerType, ReceiptSchema,
180    ReceiptSignature, RunnerProvenance, Seal, SignatureAlgorithm, Subject, receipt_subject_kind,
181};
182pub use redaction::{HashAlgorithm, HashCommitment, REDACTION_SCHEMA, Redaction, RedactionSchema};
183pub use reference::{ActRef, ProofKind, Reference, ReferenceLink, ReferenceType};
184pub use registry_binding::{
185    RegistryBinding, RegistryBindingHarness, RegistryBindingRegistry, RegistryBindingSchema,
186    RegistryBindingSkill, RegistryBindingState, RegistryBindingUpstream, RegistryHarnessStatus,
187    RegistryTrustTier,
188};
189pub use review::{ReviewReceiptImprovementProposal, ReviewReceiptOutput, ReviewReceiptVerdict};
190pub use run_summary::{RunSummary, RunSummarySchema, RunSummaryStatus};
191pub use schema_artifacts::{SchemaArtifact, generated_schema_artifacts};
192pub use signal::{
193    SIGNAL_SCHEMA, Signal, SignalAuthenticity, SignalSchema, SignalTrustLevel, signal_type,
194};
195pub use source_packet::{SOURCE_PACKET_SCHEMA, SourcePacket, SourcePacketSchema};
196pub use suppression::{SuppressionRecord, SuppressionRecordSchema, SuppressionScope};
197pub use thread_outbox_provider::{
198    THREAD_OUTBOX_PROVIDER_PROTOCOL_VERSION, ThreadOutboxProviderCredentialNeed,
199    ThreadOutboxProviderCredentialProfile, ThreadOutboxProviderError, ThreadOutboxProviderFetch,
200    ThreadOutboxProviderFetchProviderTarget, ThreadOutboxProviderFetchSchema,
201    ThreadOutboxProviderFetchTarget, ThreadOutboxProviderFetchThreadTarget,
202    ThreadOutboxProviderIdempotency, ThreadOutboxProviderIdempotencyObservation,
203    ThreadOutboxProviderIdempotencyStatus, ThreadOutboxProviderLocator,
204    ThreadOutboxProviderManifest, ThreadOutboxProviderManifestSchema,
205    ThreadOutboxProviderObservation, ThreadOutboxProviderObservationSchema,
206    ThreadOutboxProviderObservationStatus, ThreadOutboxProviderOperation,
207    ThreadOutboxProviderPayloadFormat, ThreadOutboxProviderProtocolVersion,
208    ThreadOutboxProviderPush, ThreadOutboxProviderPushSchema, ThreadOutboxProviderReadbackSummary,
209    ThreadOutboxProviderReceiptCapabilities, ThreadOutboxProviderReceiptContext,
210    ThreadOutboxProviderRedactionCapabilities, ThreadOutboxProviderRenderedPayload,
211    ThreadOutboxProviderThreadLocator, ThreadOutboxProviderTransport,
212    ThreadOutboxProviderTransportKind,
213};
214pub use tools::{
215    RuntimeCommand, ToolCommandInputMode, ToolIdempotencyPolicy, ToolInput, ToolManifest,
216    ToolManifestSchema, ToolMcpServer, ToolOutput, ToolOutputBinding, ToolRetryPolicy, ToolSandbox,
217    ToolSandboxCwdPolicy, ToolSandboxProfile, ToolSource, ToolSourceType,
218};
219pub use verification::{
220    ReceiptVerificationSummary, VERIFICATION_SCHEMA, Verification, VerificationCheck,
221    VerificationSchema, VerificationStatus,
222};