279 concept Command = std::same_as<T, connect> or std::same_as<T, send> or std::same_as<T, disconnect>;
283 concept Event = std::same_as<T, connected> or std::same_as<T, connect_failed> or std::same_as<T, sent>
284 or std::same_as<T, send_failed> or std::same_as<T, bytes_received> or std::same_as<T, disconnected>;
287 using in_t = std::variant<connect, send, disconnect>;
309 std::same_as<T, help> or std::same_as<T, peers> or std::same_as<T, status> or std::same_as<T, sessions>
310 or std::same_as<T, identities> or std::same_as<T, scan> or std::same_as<T, version> or std::same_as<T, mode>
311 or std::same_as<T, send> or std::same_as<T, broadcast> or std::same_as<T, connect> or std::same_as<T, disconnect>
312 or std::same_as<T, publish_identity> or std::same_as<T, unpublish_identity> or std::same_as<T, trust>
313 or std::same_as<T, verify> or std::same_as<T, subscribe> or std::same_as<T, subscribe_identities>
314 or std::same_as<T, subscribe_messages> or std::same_as<T, establish_session> or std::same_as<T, chat>
315 or std::same_as<T, leave>;
320 std::same_as<T, message_received> or std::same_as<T, session_established>
321 or std::same_as<T, bundle_announcement_received> or std::same_as<T, bundle_announcement_removed>
322 or std::same_as<T, message_sent> or std::same_as<T, bundle_published> or std::same_as<T, subscription_established>
323 or std::same_as<T, identities_listed>;
340namespace session_orchestrator {
Concept for user command event types.
Concept for all event types.
Concept for presentation layer event types.
Concept for transport command types.
Concept for transport event types.
std::variant< transport::connected, transport::connect_failed, transport::disconnected, transport::send_failed, query_status > in_t
Variant type for connection monitor input events.
std::variant< send, publish_identity, unpublish_identity, trust, subscribe, subscribe_identities, subscribe_messages, list_identities > command_from_main_variant_t
Variant of commands from main to session orchestrator.
std::variant< send, publish_identity, unpublish_identity, trust, subscribe, subscribe_identities, subscribe_messages, list_identities, connect, transport::bytes_received, transport::connected, transport::connect_failed, transport::sent, transport::send_failed, transport::disconnected, bundle_announcement_received, bundle_announcement_removed > in_t
Variant of all input events to session orchestrator.
std::variant< connect, send, disconnect > in_t
Variant type for transport input events.
transport_type
Transport type discriminator.
std::variant< message_received, session_established, bundle_announcement_received, bundle_announcement_removed, message_sent, bundle_published, subscription_established, identities_listed > presentation_event_variant_t
Variant type for presentation events.
std::variant< display_message, enter_chat_mode, exit_chat_mode > display_filter_input_t
Display filter input: either a display message or control event.
Broadcast message to all peers.
std::string message
Message content to broadcast.
Notification of received bundle announcement.
std::string pubkey
Nostr public key.
std::string bundle_content
Bundle data.
std::string event_id
Nostr event ID.
Notification of removed bundle announcement.
std::string pubkey
Nostr public key.
std::string event_id
Nostr event ID.
Notification of published bundle status.
bool accepted
Whether relay accepted the bundle.
std::string event_id
Nostr event ID.
Enter chat mode with a specific contact.
std::string contact
RDX fingerprint, Nostr pubkey, or alias.
std::string relay
Relay URL to connect to.
Request current connection status.
Disconnect from current relay.
Discovered identity information.
std::string event_id
Nostr event ID.
std::string rdx_fingerprint
Signal Protocol RDX fingerprint.
std::string nostr_pubkey
Nostr public key.
Request to display a message to the user.
std::optional< std::string > contact_rdx
Associated contact (for filtering)
@ outgoing_message
User sent a message.
@ command_feedback
Command execution feedback.
@ system
System messages (always show)
@ bundle_announcement
Bundle published/removed.
@ session_event
Session established/lost.
@ incoming_message
Received message from contact.
std::string message
Message content to display.
std::uint64_t timestamp
When event occurred (Unix epoch ms)
source source_type
Type of message for filtering.
Enter chat mode with specified contact.
std::string rdx_fingerprint
Contact to chat with.
Establish session from a received bundle.
std::string bundle_data
Base64-encoded prekey bundle.
Exit chat mode, return to showing all messages.
Request display of available commands.
Response containing discovered identities.
std::vector< discovered_identity > identities
List of discovered identities.
Request list of discovered identities.
Request list of all discovered identities.
Notification of received encrypted message.
std::string sender_alias
Alias of sender (if known)
std::string sender_rdx
RDX fingerprint of sender.
std::uint64_t timestamp
Message timestamp.
bool should_republish_bundle
Whether to republish prekey bundle.
std::string content
Decrypted message content.
Notification of sent message status.
bool accepted
Whether relay accepted the message.
std::string peer
RDX fingerprint of recipient.
std::string event_id
Nostr event ID.
std::string new_mode
The new mode to switch to.
Request list of connected peers.
Publish identity bundle to the network.
Raw unparsed command input.
std::string input
Raw command string.
Request scan for nearby peers.
Send encrypted message to a specific peer.
std::string message
Message content to send.
std::string peer
RDX fingerprint or alias of recipient.
Notification of successfully established session.
std::string peer_rdx
RDX fingerprint of peer.
Request list of active sessions.
Request current system status.
Subscribe to identity announcements.
Subscribe to encrypted messages for this node.
Subscribe to custom Nostr events.
std::string subscription_json
JSON subscription filter.
Notification of established subscription.
std::string subscription_id
Subscription identifier.
Notification of received data from transport.
std::vector< std::byte > bytes
Received raw data.
Notification of failed connection attempt.
std::string error_message
Failure reason.
transport_type type
Type of transport.
std::string url
Transport endpoint URL.
Command to connect to a transport endpoint.
std::string url
Transport endpoint URL.
Notification of successful connection.
transport_type type
Type of transport.
std::string url
Connected transport endpoint URL.
Command to disconnect from transport.
Notification of disconnection.
transport_type type
Type of transport.
Notification of failed send attempt.
std::string message_id
Message identifier.
transport_type type
Type of transport.
std::string error_message
Failure reason.
Command to send data through transport.
std::string message_id
Unique message identifier.
std::vector< std::byte > bytes
Raw data to send.
Notification of successful send.
transport_type type
Type of transport.
std::string message_id
Message identifier.
Establish trust with a peer and assign an alias.
std::string peer
RDX fingerprint of peer to trust.
std::string alias
Friendly alias to assign.
Remove identity bundle from the network.
Verify identity fingerprint of a peer.
std::string peer
RDX fingerprint to verify.
Request application version information.