1pub mod connector;
4pub mod constants;
5pub mod db;
6pub mod error;
7pub mod http;
8pub mod identity;
9pub mod pairing;
10pub mod providers;
11pub mod registry;
12pub mod runtime;
13pub mod verify;
14
15pub use connector::client as connector_client;
17pub use connector::frames as connector_frames;
18pub use connector::service;
19pub use db::inbound as db_inbound;
20pub use db::outbound as db_outbound;
21pub use db::peers as db_peers;
22pub use db::verify_cache as db_verify_cache;
23pub use identity::config;
24pub use identity::did;
25pub use identity::signing;
26pub use pairing::peers;
27pub use pairing::qr;
28pub use providers as provider;
29pub use providers::nanobot as provider_nanobot;
30pub use providers::nanoclaw as provider_nanoclaw;
31pub use providers::openclaw as provider_openclaw;
32pub use providers::picoclaw as provider_picoclaw;
33pub use registry::admin;
34pub use registry::agent;
35pub use registry::api_key;
36pub use registry::crl;
37pub use registry::invite;
38pub use runtime::auth as runtime_auth;
39pub use runtime::openclaw as runtime_openclaw;
40pub use runtime::relay as runtime_relay;
41pub use runtime::replay as runtime_replay;
42pub use runtime::server as runtime_server;
43pub use runtime::trusted_receipts as runtime_trusted_receipts;
44
45pub use admin::{
46 AdminApiKey, AdminBootstrapInput, AdminBootstrapResult, AdminHuman, AdminInternalService,
47 bootstrap_admin, persist_bootstrap_config,
48};
49pub use agent::{
50 AgentAuthRefreshResult, AgentAuthRevokeResult, AgentCreateResult, AgentIdentityRecord,
51 AgentInspectResult, CreateAgentInput, create_agent, inspect_agent, refresh_agent_auth,
52 revoke_agent_auth,
53};
54pub use api_key::{
55 ApiKeyCreateInput, ApiKeyCreateResult, ApiKeyListInput, ApiKeyListResult, ApiKeyMetadata,
56 ApiKeyRevokeInput, ApiKeyRevokeResult, ApiKeyWithToken, create_api_key, list_api_keys,
57 revoke_api_key,
58};
59pub use config::{
60 CliConfig, CliStateKind, ConfigKey, ConfigPathOptions, DEFAULT_REGISTRY_URL, get_config_dir,
61 get_config_file_path, get_config_root_dir, get_config_value, read_config, resolve_config,
62 resolve_state_kind_from_registry_url, set_config_value, write_config,
63};
64pub use connector_client::{
65 ConnectorClient, ConnectorClientMetricsSnapshot, ConnectorClientOptions, ConnectorClientSender,
66 spawn_connector_client,
67};
68pub use connector_frames::{
69 CONNECTOR_FRAME_VERSION, ConnectorFrame, DeliverAckFrame, DeliverFrame, EnqueueAckFrame,
70 EnqueueFrame, HeartbeatAckFrame, HeartbeatFrame, new_frame_id, now_iso, parse_frame,
71 serialize_frame, validate_frame,
72};
73pub use crl::{
74 CRL_CACHE_TTL_MS, CrlClaims, CrlRevocation, CrlVerificationKey, is_jti_revoked, load_crl_claims,
75};
76pub use db::{SQLITE_FILE_NAME, SqliteStore, now_utc_ms};
77pub use db_inbound::{
78 InboundDeadLetterItem, InboundEvent, InboundPendingItem, append_inbound_event,
79 dead_letter_count, get_pending, list_dead_letter, list_inbound_events, list_pending_due,
80 mark_pending_attempt, move_pending_to_dead_letter, pending_count, purge_dead_letter,
81 replay_dead_letter, upsert_pending,
82};
83pub use db_outbound::{
84 EnqueueOutboundInput, OutboundDeadLetterItem, OutboundQueueItem, delete_outbound,
85 enqueue_outbound, list_outbound, list_outbound_dead_letter, move_outbound_to_dead_letter,
86 outbound_count, outbound_dead_letter_count, take_oldest_outbound,
87};
88pub use db_peers::{
89 PeerRecord, UpsertPeerInput, delete_peer, get_peer_by_alias, list_peers, upsert_peer,
90};
91pub use db_verify_cache::{
92 VerifyCacheEntry, delete_verify_cache_entry, get_verify_cache_entry, purge_verify_cache_before,
93 upsert_verify_cache_entry,
94};
95pub use did::{
96 DidEntity, ParsedDid, did_authority_from_url, make_agent_did, make_did, make_human_did,
97 new_agent_did, new_human_did, normalize_did_authority, parse_agent_did, parse_did,
98 parse_human_did,
99};
100pub use error::{CoreError, Result};
101pub use identity::{
102 LocalIdentity, PublicIdentityView, decode_secret_key, init_identity, read_identity,
103};
104pub use invite::{
105 InviteCreateInput, InviteCreateResult, InviteRecord, InviteRedeemInput, InviteRedeemResult,
106 create_invite, persist_redeem_config, redeem_invite,
107};
108pub use pairing::{
109 DEFAULT_STATUS_POLL_INTERVAL_SECONDS, DEFAULT_STATUS_WAIT_SECONDS, PAIR_CONFIRM_PATH,
110 PAIR_START_PATH, PAIR_STATUS_PATH, PAIRING_TICKET_PREFIX, PairConfirmInput, PairConfirmResult,
111 PairProfile, PairStartResult, PairStatusKind, PairStatusOptions, PairStatusResult,
112 assert_ticket_issuer_matches_proxy, confirm_pairing, get_pairing_status, parse_pairing_ticket,
113 parse_pairing_ticket_issuer_origin, start_pairing,
114};
115pub use peers::{
116 PeerEntry, PeersConfig, PersistPeerInput, derive_peer_alias_base, load_peers_config,
117 persist_peer, resolve_peer_alias, sync_openclaw_relay_peers_snapshot,
118};
119pub use provider::{
120 DetectionResult, InboundMessage, InboundRequest, InstallOptions, InstallResult,
121 PlatformProvider, ProviderDoctorCheck, ProviderDoctorCheckStatus, ProviderDoctorOptions,
122 ProviderDoctorResult, ProviderDoctorStatus, ProviderRelayTestOptions, ProviderRelayTestResult,
123 ProviderRelayTestStatus, ProviderSetupOptions, ProviderSetupResult,
124 VerifyResult as ProviderVerifyResult, all_providers, detect_platform, get_provider,
125};
126pub use provider_openclaw::{
127 DoctorCheckStatus, DoctorStatus, OPENCLAW_AGENT_FILE_NAME, OPENCLAW_CONNECTORS_FILE_NAME,
128 OPENCLAW_DEFAULT_BASE_URL, OPENCLAW_RELAY_RUNTIME_FILE_NAME, OpenclawConnectorAssignment,
129 OpenclawConnectorsConfig, OpenclawDoctorCheck, OpenclawDoctorOptions, OpenclawDoctorResult,
130 OpenclawRelayRuntimeConfig, OpenclawRelayTestOptions, OpenclawRelayTestResult,
131 OpenclawRelayWebsocketTestOptions, OpenclawRelayWebsocketTestResult, RelayCheckStatus,
132 load_connector_assignments, load_relay_runtime_config, openclaw_agent_name_path,
133 openclaw_connectors_path, openclaw_relay_runtime_path, read_selected_openclaw_agent,
134 resolve_connector_base_url, resolve_openclaw_base_url, resolve_openclaw_hook_token,
135 run_openclaw_doctor, run_openclaw_relay_test, run_openclaw_relay_websocket_test,
136 save_connector_assignment, save_relay_runtime_config, write_selected_openclaw_agent,
137};
138pub use qr::{
139 PAIRING_QR_DIR_NAME, PAIRING_QR_MAX_AGE_SECONDS, decode_ticket_from_png, encode_ticket_qr_png,
140 persist_pairing_qr,
141};
142pub use registry::{
143 RegisterIdentityResult, RegistryMetadata, fetch_registry_metadata, register_identity,
144};
145pub use runtime_auth::{RelayConnectHeaders, build_relay_connect_headers};
146pub use runtime_openclaw::{OpenclawRuntimeConfig, check_openclaw_gateway_health};
147pub use runtime_relay::{FlushOutboundResult, flush_outbound_queue_to_relay};
148pub use runtime_replay::{
149 PurgeResult, ReplayResult, purge_dead_letter_messages, replay_dead_letter_messages,
150};
151pub use runtime_server::{RuntimeServerState, create_runtime_router, run_runtime_server};
152pub use runtime_trusted_receipts::TrustedReceiptsStore;
153pub use service::{
154 ConnectorServiceInstallInput, ConnectorServiceInstallResult, ConnectorServicePlatform,
155 ConnectorServiceUninstallInput, ConnectorServiceUninstallResult, install_connector_service,
156 parse_connector_service_platform, sanitize_service_segment, uninstall_connector_service,
157};
158pub use signing::{
159 SignHttpRequestInput, SignedRequest, X_CLAW_BODY_SHA256, X_CLAW_NONCE, X_CLAW_PROOF,
160 X_CLAW_TIMESTAMP, canonicalize_request, hash_body_sha256_base64url, sign_http_request,
161};
162pub use verify::{
163 REGISTRY_KEYS_CACHE_TTL_MS, RegistrySigningKey, RegistryVerificationKey, VerifiedAitClaims,
164 VerifyResult, expected_issuer_for_registry, verify_ait_token_with_registry,
165};