Expand description
Cross-platform contracts for RustFerry remote Apple builds.
This crate contains data and provider boundaries only. Provider implementations own networking and process execution; callers choose the async runtime, if any.
Re-exports§
pub use artifact::ARTIFACT_MANIFEST_SCHEMA_VERSION;pub use artifact::ApplePlatform;pub use artifact::AppleToolchainEvidence;pub use artifact::ArtifactError;pub use artifact::ArtifactKind;pub use artifact::ArtifactManifest;pub use artifact::ArtifactRecord;pub use artifact::ArtifactSigningEvidence;pub use artifact::CleanupStatus;pub use artifact::IosDeviceProductExpectation;pub use artifact::IpaExpectation;pub use artifact::IpaInspection;pub use artifact::MachOSliceEvidence;pub use artifact::PROTECTED_SIGNING_SANITIZED_LOG_V1;pub use artifact::UnsignedAppInspection;pub use artifact::UnsignedNestedBundleExpectation;pub use artifact::UnsignedNestedBundleKind;pub use artifact::UnsignedXcarchiveExpectation;pub use artifact::UnsignedXcarchiveInspection;pub use artifact::ValidationLevel;pub use artifact::inspect_ipa;pub use artifact::inspect_physical_iphone_macho;pub use artifact::inspect_unsigned_app_bundle;pub use artifact::inspect_unsigned_xcarchive;pub use artifact::verify_downloaded_file;pub use cancellation::CancellationToken;pub use data_plane::MAX_WORKER_DATA_PLANE_ARTIFACT_BYTES;pub use data_plane::MAX_WORKER_DATA_PLANE_CONTROL_BYTES;pub use data_plane::MAX_WORKER_DATA_PLANE_REQUEST_BYTES;pub use data_plane::MAX_WORKER_DATA_PLANE_RESULT_BYTES;pub use data_plane::MAX_WORKER_DATA_PLANE_SOURCE_BYTES;pub use data_plane::WORKER_DATA_PLANE_HEADER_BYTES;pub use data_plane::WORKER_DATA_PLANE_SCHEMA_VERSION;pub use data_plane::WorkerDataPlaneFrameError;pub use data_plane::WorkerDataPlaneFrameHeader;pub use data_plane::WorkerDataPlaneFrameKind;pub use data_plane::WorkerDataPlaneSequence;pub use data_plane::copy_worker_data_plane_payload;pub use data_plane::read_worker_data_plane_header;pub use data_plane::read_worker_data_plane_payload;pub use data_plane::write_worker_data_plane_frame;pub use data_plane::write_worker_data_plane_header;pub use data_plane::write_worker_data_plane_stream;pub use error::RemoteBuildError;pub use error::RemoteBuildResult;pub use handoff::COMPILE_HANDOFF_SCHEMA_VERSION;pub use handoff::COMPILE_PHASE_EVIDENCE_SCHEMA_VERSION;pub use handoff::CompileHandoff;pub use handoff::CompilePhaseEvidence;pub use handoff::CompileToolchainEvidence;pub use handoff::SEALED_UNSIGNED_ARCHIVE_SCHEMA_VERSION;pub use handoff::SealedUnsignedArchive;pub use profile::MAX_DECODED_PROFILE_BYTES;pub use profile::ProfileField;pub use profile::ProfileValidationErrors;pub use profile::ProfileValidationIssue;pub use profile::ProfileValidationRequest;pub use profile::ProvisioningProfileParseError;pub use profile::ValidatedProvisioningProfile;pub use profile::parse_decoded_provisioning_profile;pub use profile::parse_provisioning_profile_value;pub use profile::validate_profile_for_target;pub use protocol::BuildProfile;pub use protocol::CURRENT_PROTOCOL_VERSION;pub use protocol::CleanupConfirmation;pub use protocol::DiagnosticSeverity;pub use protocol::IOS_DEVICE_RUST_TARGET;pub use protocol::IOS_DEVICE_SDK;pub use protocol::IosArtifactType;pub use protocol::IosDeviceBuildRequest;pub use protocol::IosDeviceBuildResult;pub use protocol::JobState;pub use protocol::ProtocolPath;pub use protocol::ProtocolPathSemantics;pub use protocol::ProtocolVersion;pub use protocol::REMOTE_BUILD_EVENT_TYPES;pub use protocol::RemoteBuildEvent;pub use protocol::RemoteBuildEventKind;pub use protocol::RemoteDiagnostic;pub use protocol::RemoteErrorInfo;pub use protocol::canonical_git_snapshot_request_template_sha256;pub use protocol::canonical_request_bytes;pub use protocol::canonical_request_sha256;pub use protocol::canonical_retry_template_sha256_v1;pub use provider::ArtifactDownloadRequest;pub use provider::ArtifactDownloadResult;pub use provider::ArtifactListRequest;pub use provider::BuildProvider;pub use provider::CancellationAck;pub use provider::CancellationRequest;pub use provider::CleanupRequest;pub use provider::EventPage;pub use provider::EventRequest;pub use provider::HandshakeRequest;pub use provider::HandshakeResponse;pub use provider::JobHandle;pub use provider::ProviderCapabilities;pub use provider::ProviderCheck;pub use provider::ProviderCheckStatus;pub use provider::ProviderDoctorReport;pub use provider::ProviderDoctorRequest;pub use provider::ProviderFeature;pub use provider::ProviderFuture;pub use redaction::CommandOutputRedactor;pub use redaction::OutputStream;pub use redaction::REDACTION_MARKER;pub use redaction::RedactionError;pub use redaction::SecretRedactor;pub use redaction::StreamingRedactor;pub use schema::RemoteProtocolV1Document;pub use schema::protocol_v1_schema_json;pub use secret::Secret;pub use secret::SecretBytes;pub use secret::SecretReference;pub use secret::SecretReferenceError;pub use secret::SecretReferenceKind;pub use signing::BundleIdentifier;pub use signing::DevelopmentTeam;pub use signing::DevelopmentTeamPlan;pub use signing::DevicePlan;pub use signing::EntitlementPlan;pub use signing::EntitlementSet;pub use signing::EntitlementValueError;pub use signing::ProvisioningPlan;pub use signing::ProvisioningPlatform;pub use signing::ProvisioningProfile;pub use signing::ProvisioningProfileType;pub use signing::SigningCertificate;pub use signing::SigningIdentity;pub use signing::SigningMode;pub use signing::SigningPlan;pub use signing::SigningPrivateKeyReference;pub use signing::SigningReference;pub use signing::SigningStatus;pub use signing::SigningTarget;pub use signing::SigningTargetKind;pub use signing::SigningValidationError;pub use signing::SigningValidationErrors;pub use signing::SigningValidationReport;pub use signing::ValidationComponent;pub use signing::ValidationStatus;pub use signing::canonical_signing_target_graph_sha256;pub use snapshot_session::MAX_SNAPSHOT_SESSION_DESCRIPTOR_BYTES;pub use snapshot_session::SNAPSHOT_SESSION_SCHEMA_VERSION;pub use snapshot_session::SnapshotArtifactDescriptor;pub use snapshot_session::SnapshotArtifactReceipt;pub use snapshot_session::SnapshotBuildComplete;pub use snapshot_session::SnapshotBuildParameters;pub use snapshot_session::SnapshotBuildStart;pub use snapshot_session::SnapshotJobAccepted;pub use snapshot_session::SnapshotSessionError;pub use source::GIT_SNAPSHOT_ARCHIVE_PATH;pub use source::GIT_SNAPSHOT_DESCRIPTOR_PATH;pub use source::GIT_SNAPSHOT_DESCRIPTOR_SCHEMA_VERSION;pub use source::GIT_SNAPSHOT_REF_PREFIX;pub use source::GIT_SNAPSHOT_TREE_PATHS;pub use source::GitSnapshotDescriptor;pub use source::IgnoreRuleReason;pub use source::MAX_GIT_SNAPSHOT_BYTES;pub use source::MAX_GIT_SNAPSHOT_DESCRIPTOR_BYTES;pub use source::MAX_SOURCE_BUNDLE_DESCRIPTOR_BYTES;pub use source::PlannedSourceFile;pub use source::PortablePathReason;pub use source::SOURCE_BUNDLE_DESCRIPTOR_SCHEMA_VERSION;pub use source::SourceArchive;pub use source::SourceArchiveLimits;pub use source::SourceBundleDescriptor;pub use source::SourceBundlePlan;pub use source::SourceBundleRequest;pub use source::SourceError;pub use source::SourceLimitKind;pub use source::SourceLimits;pub use source::SourceManifest;pub use source::SourceManifestEntry;pub use source::SourceMode;pub use source::canonical_git_snapshot_descriptor_bytes;pub use source::create_source_bundle_archive;pub use source::git_snapshot_archive_limits;pub use source::git_snapshot_ref;pub use source::plan_source_bundle;pub use source::validate_source_manifest;pub use source::verify_and_extract_source_bundle;pub use source::verify_and_extract_source_bundle_with_parent_handle;pub use source::verify_materialized_bundle;pub use source::verify_source_bundle_plan;pub use source::verify_source_manifest;pub use source::write_source_bundle_descriptor_file;pub use stdio::MAX_WORKER_STDIO_REQUEST_BYTES;pub use stdio::MAX_WORKER_STDIO_RESPONSE_BYTES;pub use stdio::WORKER_STDIO_SCHEMA_VERSION;pub use stdio::WorkerStdioCodecError;pub use stdio::WorkerStdioErrorResponse;pub use stdio::WorkerStdioRequest;pub use stdio::WorkerStdioRequestEnvelope;pub use stdio::WorkerStdioResponse;pub use stdio::WorkerStdioResponseEnvelope;pub use stdio::decode_worker_stdio_request;pub use stdio::decode_worker_stdio_response;pub use stdio::encode_worker_stdio_request;pub use stdio::encode_worker_stdio_response;
Modules§
- artifact
- Artifact manifests and independent artifact validation. Cross-platform manifests and independent iPhone artifact inspection.
- cancellation
- Runtime-neutral cooperative cancellation.
- data_
plane - Length-framed binary transport for large worker source and artifact payloads. Length-framed binary transport for large worker source and artifact payloads.
- error
- Typed protocol and provider failures.
- handoff
- Public compile-to-sign handoff evidence. Public compile-to-sign handoff documents.
- profile
- Bounded parsing and target validation for decoded Apple provisioning profiles. Bounded parsing and target-specific validation for decoded Apple provisioning profiles.
- protocol
- Ferry Remote Build Protocol v1 data and NDJSON events.
- provider
- Runtime-neutral asynchronous build-provider boundary.
- redaction
- Chunk-safe secret redaction.
- schema
- Checked-in JSON Schema generation. JSON Schema generation for Ferry Remote Build Protocol v1.
- secret
- Non-serializable secret values and serializable opaque references.
- signing
- Apple signing plans and validation models.
- snapshot_
session - Strict control messages for one framed SSH snapshot-build session. Strict control messages for one framed SSH snapshot-build session.
- source
- Deterministic Git and snapshot source manifests. Deterministic source selection for remote builds.
- stdio
- Strict, bounded envelopes for one-request worker stdio control planes. Strict, bounded envelopes for one-request worker stdio control planes.