1#[cfg(feature = "agent_daemon_core")]
48pub mod agent_daemon_core;
49#[cfg(feature = "agent_daemon_runtime")]
50pub mod agent_daemon_runtime;
51mod app_root;
52pub mod approval;
55mod attach;
56pub mod chunk;
57mod client;
58pub mod contract;
59mod discovery;
60mod error;
61pub mod event_log;
62mod fail_limit;
63mod host_identity;
64mod incumbent;
65pub mod install;
66pub mod lifecycle;
67#[cfg(feature = "link")]
68pub mod link;
69#[cfg(feature = "remote-loopback")]
71pub mod loopback;
72pub mod metrics;
73pub mod mode;
74mod peer;
75mod peer_signature;
76pub mod private;
77mod record;
78mod registration;
79#[cfg(feature = "relay")]
80pub mod relay;
81pub mod reload;
82#[cfg(any(feature = "remote", feature = "link"))]
84pub mod remote;
85mod root_cutover;
86mod server;
87mod service;
88mod shutdown;
89pub mod stop;
90mod suite;
91pub mod supervisor;
92mod takeover_watch;
93pub mod ticker;
94mod transport;
95pub mod wake;
96
97pub use attach::{attach_or_fallback, Attached};
98pub use client::{Client, ClientConfig, ClientPool, RetryPolicy, DEFAULT_DEADLINE};
99pub use discovery::{
100 adopt_or_spawn, discover_apps_in, discover_apps_in_with, discover_macos, discover_macos_with,
101 discover_windows, discover_windows_with, parse_plist_string, parse_reg_query, plan_host,
102 poll_until, publish_takeover, record_process_matches, resolve_install_dir, resolve_rank,
103 should_request_takeover, spawn_detached, takeover_obliges_yield, try_adopt_or_spawn,
104 try_plan_host, wait_for_claim_winner, AdoptOrSpawn, Completeness, DiscoverOptions, HostPlan,
105 InstalledApp, SpawnClaim, SpawnClaimError, UninstallEntry,
106};
107pub use private::{
108 exit_when_stdin_closes, watch_reader_eof, watch_stdin_eof, PrivateChild, PrivateSecret,
109 SecretError, SECRET_BYTES, SECRET_HEX_LEN,
110};
111pub use app_root::{
114 valid_app_name, AppRoot, AppRootError, LinkNotCreated, MigrateOptions, MigratedLink,
115 MigrationOutcome, MigrationReport, MigrationScope, MigrationState, MigrationStatus,
116 OmittedLink, ReparseKind, SkippedReparsePoint, SkippedSpecial, SpecialKind, WriterLock,
117 MAX_APP_NAME_LEN, MIGRATION_MARKER, MIGRATION_STATE,
118};
119#[allow(deprecated)]
120pub use discovery::{discover_apps, KNOWN_APPS};
121pub use error::{
122 ConnectError, ServiceError, ERROR_BAD_CHUNK, ERROR_CONNECTION_CLOSED, ERROR_FORBIDDEN,
123 ERROR_HOST_HANDOFF, ERROR_HOST_IDENTITY, ERROR_NOT_ALLOWED, ERROR_RATE_LIMITED,
124 ERROR_REQUEST_TOO_LARGE, ERROR_RESPONSE_TOO_LARGE, ERROR_REVISION_CONFLICT,
125 ERROR_SUITE_UNRESOLVED, ERROR_TIMEOUT, ERROR_UNAUTHENTICATED, ERROR_UNAVAILABLE,
126};
127pub use fail_limit::FailLimiter;
128pub use host_identity::{HostExpectation, HostIdentityError, HostIdentityReason, HostProcess};
129pub use incumbent::{stop_incumbent, IncumbentError, IncumbentStop};
130pub use lifecycle::{
131 DaemonLifecycle, LifecycleError, Provenance, ERROR_NOT_OWNED, ERROR_RESTART_EXHAUSTED,
132 ERROR_SESSION_RELEASED, ERROR_STALE_GENERATION,
133};
134#[cfg(unix)]
135pub use peer::verify_peer_is_current_user;
136#[cfg(windows)]
137pub use peer::{
138 current_user_sid, owner_only_security_attributes, owner_only_security_attributes_with,
139 pipe_security_attributes, verify_pipe_peer_is_current_user, verify_pipe_peer_is_sid,
140 verify_pipe_server_is_current_user, OwnerOnlySecurityAttributes,
141};
142pub use peer::{
143 AclEntry, IntegrityLabel, PeerError, PeerFailureKind, PeerIdentity, PeerRefusal,
144 ACCESS_GENERIC_ALL, ACCESS_PIPE_OWNER_RW,
145};
146pub use peer_signature::{
147 verify_authenticode, verify_peer, AuthenticodeSigner, PeerPolicy, SignatureError,
148 SigningIdentity, LICENSE_SNAPSHOT_METHOD,
149};
150pub use record::{
151 clear_takeover_if_owner, read_live_record, read_record, read_takeover, record_path,
152 takeover_path, try_read_live_record, try_read_record, try_read_takeover, write_atomic,
153 write_takeover, Allowlist, ServiceRecord, TakeoverRequest, PROTOCOL_MAJOR, PROTOCOL_MINOR,
154 RANK_UNKNOWN,
155};
156pub use registration::{
157 MethodDescriptor, Registration, RegistrationError, ServiceIdentity, TransportProfile,
158};
159pub use root_cutover::{
160 CutoverContext, CutoverError, CutoverParticipant, CutoverPhase, CutoverReport, CutoverStep,
161 FsMove, ParticipantError, RecoverOutcome, RetireMode, Retired, RootCutover, RootSelection,
162 RootStatus, Settlement, CUTOVER_RECORD,
163};
164pub use server::{
165 host, host_with_options, CallContext, Emit, Handler, HostError, HostOptions, Hosted,
166 ServiceConfig, ServiceEvent, ServiceStatus, DEFAULT_FRAME_LIMIT, DEFAULT_HANDSHAKE_TIMEOUT,
167 DEFAULT_MAX_CONNECTIONS, DEFAULT_RESERVED_SLOTS, DEFAULT_WRITE_TIMEOUT,
168};
169pub use service::{BuildError, Service, ServiceBuilder};
170pub use shutdown::{OrderedShutdown, PhaseOutcome, PhaseReport, ShutdownReport};
171pub use suite::{
172 valid_service_name, Suite, SuiteError, ENV_SUITE_ROOT, MAX_SERVICE_NAME_LEN, SHARED_DIR_NAME,
173 SUITE_DIR_NAME,
174};
175pub use transport::{
176 endpoint_candidates, endpoint_for, find_live_endpoint, open_stream, open_stream_expecting,
177 pid_alive, probe_endpoint, try_endpoint_for, Accepted, Conn, EndpointError, Listener, Stream,
178 DEFAULT_MAX_PIPE_INSTANCES, MAX_UNIX_SOCKET_PATH,
179};