Skip to main content

helix_im/
lib.rs

1//! # helix-im
2//!
3//! IM 业务模块(BC-B:IM Business Domain)。
4//!
5//! ## 设计约束
6//!
7//! - 只依赖 helix-core,不含任何运行时 crate
8//! - 所有 I/O 意图通过 `Effect` 表达,由 driver 异步兑现
9//! - 三栖编译:native / wasm32-unknown-unknown / ffi 全绿
10//!
11//! ## 不渗透验收
12//!
13//! ```bash
14//! grep -r "channel\|message\|cursor\|temporaryId\|im:" \
15//!      crates/helix-core/src/  # 期望 0 行
16//! ```
17
18pub mod acl;
19pub(crate) mod base64;
20pub(crate) mod chain;
21pub(crate) mod category_chain;
22pub mod channel;
23mod channel_kind;
24pub(crate) mod channel_sync;
25mod channel_update;
26pub use channel::older_context;
27pub use channel::write as channel_write;
28pub mod client_api;
29pub mod commands;
30/// MessageV3 Gate MV3-G02e 草稿域(`im_save_draft` / `im_query_draft`)。
31mod diagnostics;
32pub mod sync_observation;
33pub mod draft;
34pub mod error;
35pub mod event;
36mod forward;
37mod forward_shape;
38mod message_summary;
39pub mod http_envelope;
40mod http_outcome;
41mod increment_hydration;
42mod increment_pull;
43pub mod mobile_contract;
44pub mod module;
45pub mod outbound;
46pub mod parser {
47    pub use crate::ws::parser::core::*;
48}
49mod port_reply;
50mod port_reply_emit;
51pub mod query;
52pub use query::read_relay;
53pub use query::render_ready::candidates as render_ready_candidates;
54pub use query::render_ready::core as render_ready;
55pub use query::render_ready::locate as render_ready_locate;
56pub use query::render_ready::members as render_ready_members;
57pub use query::render_ready::replies as render_ready_replies;
58pub mod schema;
59pub mod send;
60mod schedule_media;
61pub mod timeline_navigation;
62pub mod timeline_state;
63pub use send::pending as pending_send;
64pub use send::pong_compensate;
65pub use send::reconcile as send_reconcile;
66pub mod state;
67pub mod sync;
68pub use sync::increment as sync_increment;
69pub use sync::scheduler as sync_scheduler;
70pub use sync::session as sync_session;
71pub mod todo;
72mod topic_activity;
73pub(crate) mod ws;
74
75pub use error::ImError;
76pub use http_outcome::{http_outcome_event, EVENT_HTTP_UNAUTHORIZED, EVENT_NET_OFFLINE};
77pub use module::ImModule;
78pub use module::{ClientPlatform, ImConfig};
79pub use schema::{SparseTableSpec, IM_SCHEMA, IM_SCHEMA_MIGRATIONS, IM_SPARSE_TABLE_SPECS};