Skip to main content

Crate terminal_commander_ipc

Crate terminal_commander_ipc 

Source
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 (see client).
  • 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::ContextUnavailableReason;
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;

Modules§

client
Daemon UDS client (TC37).
framing
protocol
IPC wire protocol (TC37).