Expand description
Terminal Commander shared IPC crate (TC37).
Houses the wire protocol, the length-prefixed JSON framing, and the
cross-platform DaemonClient transport that every IPC client (MCP
adapter, admin CLI) and the daemon server share. Splitting these out
of the daemon keeps the dependency arrow pointing at a small,
protocol-only crate: core <- ipc <- {daemon, mcp, cli}.
Platform support for the client transport:
- Linux / WSL2 / macOS / BSD: live via tokio
UnixStream(seeclient). - Windows native: live via tokio named pipe
ClientOptions(see [pipe_client]).
The server side (dispatch, peer identity, IpcServer / PipeServer)
stays in the daemon crate; this crate is wire types + framing +
client transport only.
Source-status: live (TC37).
Re-exports§
pub use protocol::AccessRoute;pub use protocol::AuditRowWire;pub use protocol::AuditSinceParams;pub use protocol::AuditSinceResponse;pub use protocol::BucketEventsSinceParams;pub use protocol::BucketEventsSinceResponse;pub use protocol::BucketSummaryParams;pub use protocol::BucketSummaryResponse;pub use protocol::BucketWaitParams;pub use protocol::BucketWaitResponse;pub use protocol::BulkDeactivateOutcome;pub use protocol::BulkOutcomeKind;pub use protocol::CommandOutputTailParams;pub use protocol::CommandOutputTailResponse;pub use protocol::CommandReceipt;pub use protocol::CommandStartParams;pub use protocol::CommandStartResponse;pub use protocol::CommandStatusParams;pub use protocol::CommandStatusResponse;pub use protocol::CommandStopParams;pub use protocol::CommandStopResponse;pub use protocol::DEFAULT_AUDIT_READ_LIMIT;pub use protocol::DEFAULT_BUCKET_READ_LIMIT;pub use protocol::DEFAULT_BUCKET_WAIT_MS;pub use protocol::DEFAULT_CONTEXT_AFTER;pub use protocol::DEFAULT_CONTEXT_BEFORE;pub use protocol::DEFAULT_FILE_READ_BYTES;pub use protocol::DEFAULT_FILE_READ_LINES;pub use protocol::DEFAULT_FILE_SEARCH_MATCHES;pub use protocol::DEFAULT_FILE_SEARCH_SNIPPET_BYTES;pub use protocol::DEFAULT_PULL_TIMEOUT_MS;pub use protocol::DEFAULT_REGISTRY_SEARCH_LIMIT;pub use protocol::DiscoverResponse;pub use protocol::EventContextParams;pub use protocol::EventContextResponse;pub use protocol::FileLine;pub use protocol::FileReadWindowParams;pub use protocol::FileReadWindowResponse;pub use protocol::FileSearchMatch;pub use protocol::FileSearchParams;pub use protocol::FileSearchResponse;pub use protocol::FileWatchListEntry;pub use protocol::FileWatchListResponse;pub use protocol::FileWatchStartParams;pub use protocol::FileWatchStartResponse;pub use protocol::FileWatchStopParams;pub use protocol::FileWatchStopResponse;pub use protocol::FileWriteParams;pub use protocol::FileWriteResponse;pub use protocol::HostEnvironment;pub use protocol::IpcContextFrame;pub use protocol::IpcError;pub use protocol::IpcErrorCode;pub use protocol::IpcRequest;pub use protocol::IpcResponse;pub use protocol::IpcResult;pub use protocol::ListLimitParams;pub use protocol::Liveness;pub use protocol::MAX_AUDIT_READ_LIMIT;pub use protocol::MAX_BUCKET_READ_LIMIT;pub use protocol::MAX_BUCKET_WAIT_MS;pub use protocol::MAX_BUCKETS_PER_SUBSCRIPTION;pub use protocol::MAX_COMMAND_ENV_ITEMS;pub use protocol::MAX_COMMAND_GRACE_MS;pub use protocol::MAX_COMMAND_INLINE_RULES;pub use protocol::MAX_CONTEXT_BYTES;pub use protocol::MAX_CONTEXT_FRAMES;pub use protocol::MAX_FILE_READ_BYTES;pub use protocol::MAX_FILE_READ_LINES;pub use protocol::MAX_FILE_SEARCH_MATCHES;pub use protocol::MAX_FILE_SEARCH_SCAN_BYTES;pub use protocol::MAX_FILE_SEARCH_SNIPPET_BYTES;pub use protocol::MAX_FILE_WRITE_BYTES;pub use protocol::MAX_FRAME_BYTES;pub use protocol::MAX_LIST_LIMIT;pub use protocol::MAX_PTY_ARGV_ITEMS;pub use protocol::MAX_PTY_STDIN_BYTES;pub use protocol::MAX_PULL_EVENTS;pub use protocol::MAX_PULL_TIMEOUT_MS;pub use protocol::MAX_REGISTRY_SEARCH_LIMIT;pub use protocol::MAX_REGISTRY_TEST_SAMPLE_BYTES;pub use protocol::MAX_REGISTRY_TEST_SAMPLES;pub use protocol::MAX_REQUEST_BYTES;pub use protocol::MAX_RESPONSE_BYTES;pub use protocol::MAX_SESSION_ENV_ITEMS;pub use protocol::MAX_SESSION_LINE_BYTES;pub use protocol::MAX_SUBSCRIPTIONS;pub use protocol::MAX_SUGGEST_PROPOSED_RULES;pub use protocol::MAX_SUGGEST_SAMPLE_BYTES;pub use protocol::MAX_SUGGEST_SAMPLES;pub use protocol::MAX_TAIL_BYTES;pub use protocol::MAX_TAIL_LINES;pub use protocol::OutcomeTrust;pub use protocol::PackAvailableHint;pub use protocol::PolicyCapsView;pub use protocol::PolicyStatusResponse;pub use protocol::ProbeKind;pub use protocol::ProbeListEntry;pub use protocol::ProbeListResponse;pub use protocol::ProbeStatusParams;pub use protocol::ProbeStatusResponse;pub use protocol::ProgramProbe;pub use protocol::PtyCommandListEntry;pub use protocol::PtyCommandListResponse;pub use protocol::PtyCommandStartParams;pub use protocol::PtyCommandStartResponse;pub use protocol::PtyCommandStopParams;pub use protocol::PtyCommandStopResponse;pub use protocol::PtyCommandWriteStdinParams;pub use protocol::PtyCommandWriteStdinResponse;pub use protocol::RegistryActivateParams;pub use protocol::RegistryActivateResponse;pub use protocol::RegistryActiveEntry;pub use protocol::RegistryDeactivateBulkParams;pub use protocol::RegistryDeactivateBulkResponse;pub use protocol::RegistryDeactivateParams;pub use protocol::RegistryDeactivateResponse;pub use protocol::RegistryGetParams;pub use protocol::RegistryGetResponse;pub use protocol::RegistryImportFailure;pub use protocol::RegistryImportPackParams;pub use protocol::RegistryImportPackResponse;pub use protocol::RegistryListActiveResponse;pub use protocol::RegistrySearchHit;pub use protocol::RegistrySearchParams;pub use protocol::RegistrySearchResponse;pub use protocol::RegistrySuggestFromSamplesParams;pub use protocol::RegistrySuggestFromSamplesResponse;pub use protocol::RegistryTestMatch;pub use protocol::RegistryTestParams;pub use protocol::RegistryTestResponse;pub use protocol::RegistryTestSample;pub use protocol::RegistryUpsertParams;pub use protocol::RegistryUpsertResponse;pub use protocol::RequestEnvelope;pub use protocol::ResponseEnvelope;pub use protocol::RuntimeActiveRule;pub use protocol::RuntimeBucketSummary;pub use protocol::RuntimeStateResponse;pub use protocol::SelfCheckResponse;pub use protocol::SessionState;pub use protocol::SeverityHistogram;pub use protocol::ShellExecParams;pub use protocol::ShellSessionExecParams;pub use protocol::ShellSessionExecResponse;pub use protocol::ShellSessionListEntry;pub use protocol::ShellSessionListResponse;pub use protocol::ShellSessionStartParams;pub use protocol::ShellSessionStartResponse;pub use protocol::ShellSessionStatusParams;pub use protocol::ShellSessionStatusResponse;pub use protocol::ShellSessionStopParams;pub use protocol::ShellSessionStopResponse;pub use protocol::SourceLiveness;pub use protocol::SubscriptionCloseParams;pub use protocol::SubscriptionCloseResponse;pub use protocol::SubscriptionEvent;pub use protocol::SubscriptionListParams;pub use protocol::SubscriptionListResponse;pub use protocol::SubscriptionOpenParams;pub use protocol::SubscriptionOpenResponse;pub use protocol::SubscriptionPredicate;pub use protocol::SubscriptionPullParams;pub use protocol::SubscriptionPullResponse;pub use protocol::SubscriptionSourceSel;pub use protocol::SubscriptionSummary;pub use protocol::TerminalProbe;pub use protocol::WorkspaceSnapshotApplyParams;pub use protocol::WorkspaceSnapshotApplyResponse;pub use protocol::WorkspaceSnapshotCreateParams;pub use protocol::WorkspaceSnapshotCreateResponse;pub use protocol::WslProbe;pub use protocol::decode_payload;pub use protocol::encode_frame;pub use framing::ReadOutcome;pub use framing::read_frame;pub use framing::read_request;pub use framing::read_request_classified;pub use framing::write_response;pub use client::DaemonClient;