4f3f0f24ff
新增后台 AGC 模型目录、别名、启停和默认项管理 客户端设置页恢复原状,对话框右下角按别名选择模型 服务端按稳定模型标识映射并校验实际模型白名单 修复 AGC 配套后端端口漂移、启动等待和 SpacetimeDB 版本检查 补充迁移、文档、启动与模型选择测试
273 lines
6.9 KiB
Rust
273 lines
6.9 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,
|
|
};
|
|
mod admin_account_storage;
|
|
mod admin_dashboard;
|
|
#[path = "agc_models.rs"]
|
|
mod agc_models;
|
|
mod ai;
|
|
mod asset_metadata;
|
|
mod auth;
|
|
#[path = "legacy_schema/bark_battle.rs"]
|
|
mod bark_battle;
|
|
#[path = "legacy_schema/big_fish.rs"]
|
|
mod big_fish;
|
|
#[path = "legacy_schema/custom_world.rs"]
|
|
mod custom_world;
|
|
mod editor_agent_storage;
|
|
mod editor_project_storage;
|
|
#[path = "error_report.rs"]
|
|
mod error_reports_schema;
|
|
mod external_api_key_storage;
|
|
mod external_generation;
|
|
#[path = "legacy_schema/gameplay.rs"]
|
|
mod gameplay;
|
|
#[path = "legacy_schema/jump_hop.rs"]
|
|
mod jump_hop;
|
|
#[path = "llm_router_account.rs"]
|
|
mod llm_router_account_storage;
|
|
pub use agc_models::*;
|
|
#[path = "legacy_schema/match3d.rs"]
|
|
mod match3d;
|
|
mod migration;
|
|
#[path = "legacy_schema/puzzle.rs"]
|
|
mod puzzle;
|
|
#[path = "legacy_schema/puzzle_clear.rs"]
|
|
mod puzzle_clear;
|
|
mod runtime;
|
|
#[path = "legacy_schema/square_hole.rs"]
|
|
mod square_hole;
|
|
#[path = "legacy_schema/visual_novel.rs"]
|
|
mod visual_novel;
|
|
#[path = "legacy_schema/wooden_fish.rs"]
|
|
mod wooden_fish;
|
|
|
|
pub use admin_account_storage::*;
|
|
pub use admin_dashboard::*;
|
|
pub use ai::*;
|
|
pub use asset_metadata::*;
|
|
pub use auth::*;
|
|
pub use bark_battle::*;
|
|
pub use big_fish::*;
|
|
pub use custom_world::*;
|
|
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 gameplay::*;
|
|
pub use jump_hop::*;
|
|
pub use llm_router_account_storage::*;
|
|
pub use match3d::*;
|
|
pub use migration::*;
|
|
pub use puzzle_clear::*;
|
|
pub use runtime::*;
|
|
pub use square_hole::*;
|
|
pub use visual_novel::*;
|
|
pub use wooden_fish::*;
|
|
|
|
// 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
|
|
}
|
|
}
|