Files
Genarrative/server-rs/crates/spacetime-module/src/active.rs
T
lhk229 1e186369c9
Project CI / AI game creator shell Rust crates (push) Successful in 1m24s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m56s
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
客户端埋点设置 (#446)
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/446
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-09-23 00:09:12 +08:00

246 lines
6.2 KiB
Rust

// 中文注释:SpacetimeDB 绑定生成依赖根模块继续公开 re-export 各领域类型;
// 少数领域 helper 同名只影响 value namespace 导出,不影响 table / reducer 类型。
#![allow(ambiguous_glob_reexports)]
pub use module_ai::*;
pub use module_assets::*;
pub use module_runtime::*;
pub(crate) use serde_json::{Map as JsonMap, Value as JsonValue, json};
pub use spacetimedb::{
Identity, ProcedureContext, ReducerContext, ScheduleAt, SpacetimeType, Table, Timestamp,
};
#[path = "agc_analytics.rs"]
mod agc_analytics_storage;
pub use agc_analytics_storage::*;
mod admin_account_storage;
mod admin_dashboard;
#[path = "agc_models.rs"]
mod agc_models;
mod ai;
mod asset_metadata;
mod auth;
mod editor_agent_storage;
mod editor_project_storage;
#[path = "error_report.rs"]
mod error_reports_schema;
mod external_api_key_storage;
mod external_generation;
mod game_distribution;
#[path = "llm_router_account.rs"]
mod llm_router_account_storage;
pub use agc_models::*;
mod migration;
mod runtime;
pub use admin_account_storage::*;
pub use admin_dashboard::*;
pub use ai::*;
pub use asset_metadata::*;
pub use auth::*;
pub use editor_agent_storage::*;
pub use editor_project_storage::*;
pub use error_reports_schema::*;
pub use external_api_key_storage::*;
pub use external_generation::*;
pub use game_distribution::*;
pub use llm_router_account_storage::*;
pub use migration::*;
pub use runtime::*;
// Host-side unit tests need to link the module crate as a normal test binary.
// SpacetimeDB's raw ABI imports only exist in the WASM host, so provide
// deterministic error-returning symbols for tests that exercise pure helpers.
// Reducer/procedure integration tests must use a real SpacetimeDB runtime.
#[cfg(all(test, not(target_arch = "wasm32")))]
mod host_test_imports {
type TableId = u32;
type IndexId = u32;
type ColId = u16;
type BytesSource = u32;
type BytesSink = u32;
type RowIter = u32;
const HOST_TEST_UNSUPPORTED: u16 = 1;
#[unsafe(no_mangle)]
pub extern "C" fn table_id_from_name(_: *const u8, _: usize, _: *mut TableId) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn index_id_from_name(_: *const u8, _: usize, _: *mut IndexId) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_table_row_count(_: TableId, _: *mut u64) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_table_scan_bsatn(_: TableId, _: *mut RowIter) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_index_scan_range_bsatn(
_: IndexId,
_: *const u8,
_: usize,
_: ColId,
_: *const u8,
_: usize,
_: *const u8,
_: usize,
_: *mut RowIter,
) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_delete_by_index_scan_range_bsatn(
_: IndexId,
_: *const u8,
_: usize,
_: ColId,
_: *const u8,
_: usize,
_: *const u8,
_: usize,
_: *mut u32,
) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_delete_all_by_eq_bsatn(
_: TableId,
_: *const u8,
_: usize,
_: *mut u32,
) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn row_iter_bsatn_advance(_: RowIter, _: *mut u8, _: *mut usize) -> i16 {
-1
}
#[unsafe(no_mangle)]
pub extern "C" fn row_iter_bsatn_close(_: RowIter) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_insert_bsatn(_: TableId, _: *mut u8, _: *mut usize) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_update_bsatn(
_: TableId,
_: IndexId,
_: *mut u8,
_: *mut usize,
) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn bytes_sink_write(_: BytesSink, _: *const u8, _: *mut usize) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn bytes_source_read(_: BytesSource, _: *mut u8, _: *mut usize) -> i16 {
-1
}
#[unsafe(no_mangle)]
pub extern "C" fn console_log(
_: u8,
_: *const u8,
_: usize,
_: *const u8,
_: usize,
_: u32,
_: *const u8,
_: usize,
) {
}
#[unsafe(no_mangle)]
pub extern "C" fn console_timer_start(_: *const u8, _: usize) -> u32 {
0
}
#[unsafe(no_mangle)]
pub extern "C" fn console_timer_end(_: u32) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn identity(out: *mut u8) {
if !out.is_null() {
unsafe { std::ptr::write_bytes(out, 0, 32) };
}
}
#[unsafe(no_mangle)]
pub extern "C" fn bytes_source_remaining_length(_: BytesSource, _: *mut u32) -> i16 {
HOST_TEST_UNSUPPORTED as i16
}
#[unsafe(no_mangle)]
pub extern "C" fn get_jwt(_: *const u8, _: *mut BytesSource) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn procedure_sleep_until(wake_at: i64) -> i64 {
wake_at
}
#[unsafe(no_mangle)]
pub extern "C" fn procedure_start_mut_tx(_: *mut i64) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn procedure_commit_mut_tx() -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn procedure_abort_mut_tx() -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_index_scan_point_bsatn(
_: IndexId,
_: *const u8,
_: usize,
_: *mut RowIter,
) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_delete_by_index_scan_point_bsatn(
_: IndexId,
_: *const u8,
_: usize,
_: *mut u32,
) -> u16 {
HOST_TEST_UNSUPPORTED
}
#[unsafe(no_mangle)]
pub extern "C" fn datastore_clear(_: TableId, _: *mut u64) -> u16 {
HOST_TEST_UNSUPPORTED
}
}