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::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_LOOP_REATTACHED_WIRE;
pub use events::EVENT_PLAN_CREATED;
pub use events::EVENT_REPLAY_COMPLETE;
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_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;

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.
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.

Constants§

VERSION
Crate version reported in connection_init.