Skip to main content

Crate soothe_client

Crate soothe_client 

Source
Expand description

Soothe WebSocket client for talking to a running soothe-daemon.

Public surface mirrors Python / Go / TypeScript RFC-629 tiers:

Need                         → Entry point
One conversation, stream     → appkit::DaemonSession
Jobs / cron one-shots        → CommandClient
Raw protocol / custom        → Client
Multi-user HTTP backend      → appkit::ConnectionPool + TurnRunner

Re-exports§

pub use client::Client;
pub use client::ClientConfig;
pub use client::SendInputOptions;
pub use command_client::AsyncCommandClient;
pub use command_client::CommandClient;
pub use config::load_config_from_env;
pub use config::Config;
pub use errors::disconnect_cause_name;
pub use errors::ConnectionError;
pub use errors::DaemonError;
pub use errors::DisconnectCause;
pub use errors::ReconnectError;
pub use errors::StaleLoopError;
pub use errors::TimeoutError;
pub use events::classify_event_verbosity;
pub use events::is_completion_event;
pub use events::is_subagent_progress_event;
pub use events::parse_namespace;
pub use events::ParsedNamespace;
pub use events::EVENT_AUTOPILOT_DREAMING_ENTERED;
pub use events::EVENT_AUTOPILOT_DREAMING_EXITED;
pub use events::EVENT_AUTOPILOT_GOAL_BLOCKED;
pub use events::EVENT_AUTOPILOT_GOAL_COMPLETED;
pub use events::EVENT_AUTOPILOT_GOAL_CREATED;
pub use events::EVENT_AUTOPILOT_GOAL_PROGRESS;
pub use events::EVENT_AUTOPILOT_GOAL_SUSPENDED;
pub use events::EVENT_AUTOPILOT_STATUS_CHANGED;
pub use events::EVENT_BRANCH_CREATED;
pub use events::EVENT_BRANCH_RETRY_STARTED;
pub use events::EVENT_CARD_CREATED;
pub use events::EVENT_CARD_REPLAY_BEGIN;
pub use events::EVENT_CARD_REPLAY_END;
pub use events::EVENT_DEEP_RESEARCH_COMPLETED;
pub use events::EVENT_DEEP_RESEARCH_CRAWL_SUMMARY;
pub use events::EVENT_DEEP_RESEARCH_GATHER_SUMMARY;
pub use events::EVENT_DEEP_RESEARCH_PROGRESS;
pub use events::EVENT_DEEP_RESEARCH_STARTED;
pub use events::EVENT_DEEP_RESEARCH_STEP_COMPLETED;
pub use events::EVENT_EXPLORER_COMPLETED;
pub use events::EVENT_EXPLORER_MILESTONE;
pub use events::EVENT_EXPLORER_STARTED;
pub use events::EVENT_EXPLORER_STEP_COMPLETED;
pub use events::EVENT_FINAL_REPORT;
pub use events::EVENT_GENERAL_FAILED;
pub use events::EVENT_GOAL_BATCH_STARTED;
pub use events::EVENT_GOAL_COMPLETED;
pub use events::EVENT_GOAL_CREATED;
pub use events::EVENT_GOAL_DEFERRED;
pub use events::EVENT_GOAL_DIRECTIVES_APPLIED;
pub use events::EVENT_GOAL_FAILED;
pub use events::EVENT_GOAL_REPORTED;
pub use events::EVENT_LOOP_REATTACHED_WIRE;
pub use events::EVENT_MESSAGE_RECEIVED;
pub use events::EVENT_MESSAGE_SENT;
pub use events::EVENT_PLAN_BATCH_STARTED;
pub use events::EVENT_PLAN_CREATED;
pub use events::EVENT_PLAN_REFLECTED;
pub use events::EVENT_REPLAY_COMPLETE;
pub use events::EVENT_STRANGE_LOOP_COMPLETED;
pub use events::EVENT_STRANGE_LOOP_CONTEXT_COMPACTED;
pub use events::EVENT_STRANGE_LOOP_PLAN_DECISION;
pub use events::EVENT_STRANGE_LOOP_REASONED;
pub use events::EVENT_STRANGE_LOOP_STARTED;
pub use events::EVENT_STRANGE_LOOP_STEP_COMPLETED;
pub use events::EVENT_STRANGE_LOOP_STEP_QUEUED;
pub use events::EVENT_STRANGE_LOOP_STEP_STARTED;
pub use events::EVENT_STREAM_TOOL_CALL_UPDATE;
pub use events::EVENT_TOOL_CALL_UPDATES_BATCH;
pub use events::EVENT_TOOL_COMPLETED;
pub use events::EVENT_TOOL_ERROR;
pub use events::EVENT_TOOL_STARTED;
pub use heartbeat::DaemonHealth;
pub use heartbeat::HeartbeatTracker;
pub use helpers::check_daemon_status;
pub use helpers::fetch_config_section;
pub use helpers::fetch_loop_cards;
pub use helpers::fetch_loop_history;
pub use helpers::fetch_skills_catalog;
pub use helpers::is_daemon_live;
pub use helpers::protocol1_rpc;
pub use helpers::request_auth;
pub use helpers::request_auth_refresh;
pub use helpers::request_daemon_config_reload;
pub use helpers::request_daemon_shutdown;
pub use helpers::websocket_url_from_env;
pub use intent_hints::validate_loop_input_intent_hint;
pub use intent_hints::DEFAULT_DELIVERABLE_PHASES;
pub use intent_hints::EMBED;
pub use intent_hints::IMAGE_TO_TEXT;
pub use intent_hints::OCR;
pub use intent_hints::TEXT_COMPLETION;
pub use protocol::decode_message;
pub use protocol::expand_wire_messages;
pub use protocol::new_connection_init;
pub use protocol::new_notification;
pub use protocol::new_ping;
pub use protocol::new_pong;
pub use protocol::new_request;
pub use protocol::new_request_id;
pub use protocol::new_subscribe;
pub use protocol::new_unsubscribe;
pub use protocol::Envelope;
pub use protocol::ErrorObject;
pub use protocol::MessageType;
pub use protocol::CLIENT_VERSION;
pub use protocol::DEFAULT_CLIENT_CAPABILITIES;
pub use protocol::PROTO_VERSION;
pub use session::bootstrap_loop_session;
pub use session::connect_with_retries;
pub use session::BootstrapOptions;
pub use stream_terminal::extract_loop_id_from_inbound;
pub use stream_terminal::inbound_needs_delivery_ack;
pub use stream_terminal::is_turn_end_custom_data;
pub use stream_terminal::is_turn_progress_chunk;
pub use stream_terminal::stale_pending_frame_label;
pub use stream_terminal::STREAM_END;
pub use turn_boundary::format_turn_id;
pub use turn_boundary::frame_seq;
pub use turn_boundary::frame_turn_id;
pub use turn_boundary::parse_turn_generation;
pub use verbosity::is_valid_verbosity_level;
pub use verbosity::should_show;
pub use verbosity::VerbosityTier;
pub use verbosity::VERBOSITY_DEBUG;
pub use verbosity::VERBOSITY_NORMAL;
pub use verbosity::VERBOSITY_QUIET;

Modules§

appkit
Application kit: DaemonSession, pool, TurnRunner, and helpers.
client
Protocol-1 WebSocket transport client with mux and delivery_ack.
command_client
Ephemeral command clients for jobs / cron / autopilot one-shots.
config
Client configuration and environment loading.
errors
Client-facing error types.
events
Client-facing event namespace constants for the Soothe daemon wire protocol.
heartbeat
Daemon heartbeat tracking for aliveness checks.
helpers
Scripting helpers for one-shot RPCs and daemon probes.
intent_hints
Loop input intent hints.
protocol
Protocol-1 wire envelope encode/decode.
session
Session bootstrap helpers.
stream_terminal
Stream / turn terminal frame helpers.
turn_boundary
Turn / stream boundary helpers (turn_id / seq).
verbosity
Verbosity levels and tiers for event filtering.

Constants§

VERSION
Crate version reported in connection_init.