Enforce Genarrative play-type SOP and update docs

Rewrite Genarrative play-type integration guidance across .codex and .hermes to define a platform-level SOP: default to form/image workbench, unify single-image asset slots (CreativeImageInputPanel), standardize series-material sheet->cut->transparent->OSS pipeline, and forbid copying legacy chat/agent workflows as the default. Add decision-log entry freezing the SOP and a pitfalls note warning against direct reuse of old play tools. Update CONTEXT.md and docs/README.md, add a new PRD file, and apply related small server-side changes (module-auth, spacetime-client mappers and runtime) to align back-end code with the new contracts and flows.
This commit is contained in:
2026-05-20 12:12:00 +08:00
parent f370539a6f
commit 3931442249
123 changed files with 15514 additions and 3419 deletions

View File

@@ -11,6 +11,7 @@ module-big-fish = { workspace = true }
module-combat = { workspace = true }
module-custom-world = { workspace = true }
module-inventory = { workspace = true }
module-jump-hop = { workspace = true }
module-match3d = { workspace = true }
module-npc = { workspace = true }
module-puzzle = { workspace = true }

File diff suppressed because it is too large Load Diff

View File

@@ -38,6 +38,16 @@ pub use mapper::{
Match3DRunClickRecordInput, Match3DRunRecord, Match3DRunRestartRecordInput,
Match3DRunStartRecordInput, Match3DRunStopRecordInput, Match3DRunTimeUpRecordInput,
Match3DTraySlotRecord, Match3DWorkProfileRecord, Match3DWorkUpdateRecordInput,
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
JumpHopGalleryDetailResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopJumpResponse, JumpHopJumpResult, JumpHopLastJump, JumpHopPath,
JumpHopPlatform, JumpHopRestartRunRequest, JumpHopRunResponse, JumpHopRunStatus,
JumpHopRuntimeRunSnapshotResponse, JumpHopScoring, JumpHopSessionResponse,
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkDetailResponse, JumpHopWorkMutationResponse,
JumpHopWorkProfileResponse, JumpHopWorkSummaryResponse, JumpHopWorksResponse,
JumpHopWorkspaceCreateRequest,
NpcBattleInteractionRecord, NpcInteractionRecord, NpcStateRecord,
PuzzleAgentMessageFinalizeRecordInput, PuzzleAgentMessageRecord,
PuzzleAgentMessageSubmitRecordInput, PuzzleAgentSessionCreateRecordInput,
@@ -86,6 +96,7 @@ pub mod big_fish;
pub mod combat;
pub mod custom_world;
pub mod inventory;
pub mod jump_hop;
pub mod match3d;
pub mod npc;
pub mod puzzle;
@@ -551,6 +562,7 @@ impl SpacetimeClient {
let mut subscriptions = Vec::new();
for query in [
"SELECT * FROM puzzle_gallery_card_view",
"SELECT * FROM jump_hop_gallery_card_view",
"SELECT * FROM custom_world_gallery_entry",
"SELECT * FROM match_3_d_gallery_view",
"SELECT * FROM square_hole_gallery_view",
@@ -565,6 +577,7 @@ impl SpacetimeClient {
for query in [
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'puzzle'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'jump-hop'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'custom-world'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'match3d'",
"SELECT * FROM public_work_play_daily_stat WHERE source_type = 'square-hole'",

View File

@@ -9,6 +9,7 @@ mod combat;
mod common;
mod custom_world;
mod inventory;
mod jump_hop;
mod match3d;
mod npc;
mod puzzle;
@@ -35,6 +36,18 @@ pub use self::combat::{
BarkBattleDraftConfigRecord, BarkBattleRunRecord, BarkBattleRuntimeConfigRecord,
ResolveCombatActionRecord,
};
pub use self::jump_hop::{
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
JumpHopGalleryDetailResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopJumpResponse, JumpHopJumpResult, JumpHopLastJump, JumpHopPath,
JumpHopPlatform, JumpHopRestartRunRequest, JumpHopRunResponse, JumpHopRunStatus,
JumpHopRuntimeRunSnapshotResponse, JumpHopScoring, JumpHopSessionResponse,
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkDetailResponse, JumpHopWorkMutationResponse,
JumpHopWorkProfileResponse, JumpHopWorkSummaryResponse, JumpHopWorksResponse,
JumpHopWorkspaceCreateRequest,
};
pub use self::common::{
BigFishAgentMessageRecord, BigFishAnchorItemRecord, BigFishAnchorPackRecord,
BigFishBackgroundBlueprintRecord, BigFishDraftCompileRecordInput,
@@ -139,6 +152,11 @@ pub(crate) use self::inventory::{
map_runtime_inventory_state_procedure_result, map_runtime_item_reward_item_snapshot,
map_runtime_item_reward_item_snapshot_back,
};
pub(crate) use self::jump_hop::{
map_jump_hop_agent_session_procedure_result, map_jump_hop_gallery_card_view_row,
map_jump_hop_run_procedure_result, map_jump_hop_work_procedure_result,
map_jump_hop_works_procedure_result,
};
pub(crate) use self::match3d::{
map_match3d_agent_session_procedure_result, map_match3d_click_item_procedure_result,
map_match3d_gallery_view_row, map_match3d_run_procedure_result,
@@ -158,9 +176,9 @@ pub(crate) use self::runtime::{
build_creation_entry_config_record_from_rows, map_creation_entry_config_procedure_result,
map_runtime_setting_procedure_result, map_runtime_snapshot_delete_procedure_result,
map_runtime_snapshot_procedure_result, map_runtime_snapshot_required_procedure_result,
map_runtime_tracking_event_procedure_result, map_runtime_tracking_scope_kind,
map_runtime_tracking_scope_kind_back, parse_json_array, parse_json_string_array,
parse_json_value, parse_supported_actions_json,
map_runtime_tracking_event_batch_procedure_result, map_runtime_tracking_event_procedure_result,
map_runtime_tracking_scope_kind, map_runtime_tracking_scope_kind_back, parse_json_array,
parse_json_string_array, parse_json_value, parse_supported_actions_json,
};
pub(crate) use self::runtime_profile::{
map_analytics_metric_query_procedure_result, map_runtime_profile_dashboard_procedure_result,

View File

@@ -0,0 +1,344 @@
use super::*;
pub use shared_contracts::jump_hop::{
JumpHopActionRequest, JumpHopActionResponse, JumpHopActionType, JumpHopCharacterAsset,
JumpHopDifficulty, JumpHopDraftResponse, JumpHopGalleryCardResponse,
JumpHopGalleryDetailResponse, JumpHopGalleryResponse, JumpHopGenerationStatus,
JumpHopJumpRequest, JumpHopJumpResponse, JumpHopJumpResult, JumpHopLastJump, JumpHopPath,
JumpHopPlatform, JumpHopRestartRunRequest, JumpHopRunResponse, JumpHopRunStatus,
JumpHopRuntimeRunSnapshotResponse, JumpHopScoring, JumpHopSessionResponse,
JumpHopSessionSnapshotResponse, JumpHopStartRunRequest, JumpHopStylePreset, JumpHopTileAsset,
JumpHopTileType, JumpHopWorkDetailResponse, JumpHopWorkMutationResponse,
JumpHopWorkProfileResponse, JumpHopWorkSummaryResponse, JumpHopWorksResponse,
JumpHopWorkspaceCreateRequest,
};
pub(crate) fn map_jump_hop_agent_session_procedure_result(
result: JumpHopAgentSessionProcedureResult,
) -> Result<JumpHopSessionSnapshotResponse, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
let session = result
.session
.ok_or_else(|| SpacetimeClientError::missing_snapshot("jump hop agent session 快照"))?;
Ok(map_jump_hop_session_snapshot(session))
}
pub(crate) fn map_jump_hop_work_procedure_result(
result: JumpHopWorkProcedureResult,
) -> Result<JumpHopWorkProfileResponse, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
let work = result
.work
.ok_or_else(|| SpacetimeClientError::missing_snapshot("jump hop work 快照"))?;
map_jump_hop_work_snapshot(work)
}
pub(crate) fn map_jump_hop_works_procedure_result(
result: JumpHopWorksProcedureResult,
) -> Result<Vec<JumpHopWorkProfileResponse>, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
result
.items
.into_iter()
.map(map_jump_hop_work_snapshot)
.collect()
}
pub(crate) fn map_jump_hop_run_procedure_result(
result: JumpHopRunProcedureResult,
) -> Result<JumpHopRuntimeRunSnapshotResponse, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
let run = result
.run
.ok_or_else(|| SpacetimeClientError::missing_snapshot("jump hop run 快照"))?;
Ok(map_jump_hop_run_snapshot(run))
}
pub(crate) fn map_jump_hop_gallery_card_view_row(
row: JumpHopGalleryCardViewRow,
) -> JumpHopGalleryCardResponse {
JumpHopGalleryCardResponse {
public_work_code: row.public_work_code,
work_id: row.work_id,
profile_id: row.profile_id,
owner_user_id: row.owner_user_id,
author_display_name: row.author_display_name,
work_title: row.work_title,
work_description: row.work_description,
cover_image_src: empty_string_to_none(row.cover_image_src),
theme_tags: row.theme_tags,
difficulty: parse_difficulty(&row.difficulty),
style_preset: parse_style_preset(&row.style_preset),
publication_status: normalize_publication_status(&row.publication_status).to_string(),
play_count: row.play_count,
updated_at: format_timestamp_micros(row.updated_at_micros),
published_at: row.published_at_micros.map(format_timestamp_micros),
generation_status: parse_generation_status(&row.generation_status),
}
}
fn map_jump_hop_session_snapshot(
snapshot: JumpHopAgentSessionSnapshot,
) -> JumpHopSessionSnapshotResponse {
JumpHopSessionSnapshotResponse {
session_id: snapshot.session_id,
owner_user_id: snapshot.owner_user_id,
status: snapshot
.draft
.as_ref()
.map(|draft| parse_generation_status(&draft.generation_status))
.unwrap_or(JumpHopGenerationStatus::Draft),
draft: snapshot.draft.map(map_jump_hop_draft_snapshot),
created_at: format_timestamp_micros(snapshot.created_at_micros),
updated_at: format_timestamp_micros(snapshot.updated_at_micros),
}
}
fn map_jump_hop_work_snapshot(
snapshot: JumpHopWorkSnapshot,
) -> Result<JumpHopWorkProfileResponse, SpacetimeClientError> {
let draft = JumpHopDraftResponse {
template_id: "jump-hop".to_string(),
template_name: "跳一跳".to_string(),
profile_id: Some(snapshot.profile_id.clone()),
work_title: snapshot.work_title.clone(),
work_description: snapshot.work_description.clone(),
theme_tags: snapshot.theme_tags.clone(),
difficulty: parse_difficulty(&snapshot.difficulty),
style_preset: parse_style_preset(&snapshot.style_preset),
character_prompt: snapshot.character_prompt.clone(),
tile_prompt: snapshot.tile_prompt.clone(),
end_mood_prompt: snapshot.end_mood_prompt.clone(),
character_asset: snapshot.character_asset.clone().map(map_character_asset),
tile_atlas_asset: snapshot.tile_atlas_asset.clone().map(map_character_asset),
tile_assets: snapshot
.tile_assets
.clone()
.into_iter()
.map(map_tile_asset)
.collect(),
path: Some(map_jump_hop_path(snapshot.path.clone())),
cover_composite: snapshot.cover_composite.clone(),
generation_status: parse_generation_status(&snapshot.generation_status),
};
let character_asset = draft
.character_asset
.clone()
.ok_or_else(|| SpacetimeClientError::missing_snapshot("jump hop character asset"))?;
let tile_atlas_asset = draft
.tile_atlas_asset
.clone()
.ok_or_else(|| SpacetimeClientError::missing_snapshot("jump hop tile atlas asset"))?;
Ok(JumpHopWorkProfileResponse {
summary: JumpHopWorkSummaryResponse {
runtime_kind: "jump-hop".to_string(),
work_id: snapshot.work_id,
profile_id: snapshot.profile_id,
owner_user_id: snapshot.owner_user_id,
source_session_id: empty_string_to_none(snapshot.source_session_id),
work_title: snapshot.work_title,
work_description: snapshot.work_description,
theme_tags: snapshot.theme_tags,
difficulty: parse_difficulty(&snapshot.difficulty),
style_preset: parse_style_preset(&snapshot.style_preset),
cover_image_src: empty_string_to_none(snapshot.cover_image_src),
publication_status: normalize_publication_status(&snapshot.publication_status)
.to_string(),
play_count: snapshot.play_count,
updated_at: format_timestamp_micros(snapshot.updated_at_micros),
published_at: snapshot.published_at_micros.map(format_timestamp_micros),
publish_ready: snapshot.publish_ready,
generation_status: parse_generation_status(&snapshot.generation_status),
},
draft,
path: map_jump_hop_path(snapshot.path),
character_asset,
tile_atlas_asset,
tile_assets: snapshot.tile_assets.into_iter().map(map_tile_asset).collect(),
})
}
fn map_jump_hop_draft_snapshot(snapshot: JumpHopDraftSnapshot) -> JumpHopDraftResponse {
JumpHopDraftResponse {
template_id: snapshot.template_id,
template_name: snapshot.template_name,
profile_id: snapshot.profile_id,
work_title: snapshot.work_title,
work_description: snapshot.work_description,
theme_tags: snapshot.theme_tags,
difficulty: parse_difficulty(&snapshot.difficulty),
style_preset: parse_style_preset(&snapshot.style_preset),
character_prompt: snapshot.character_prompt,
tile_prompt: snapshot.tile_prompt,
end_mood_prompt: snapshot.end_mood_prompt,
character_asset: snapshot.character_asset.map(map_character_asset),
tile_atlas_asset: snapshot.tile_atlas_asset.map(map_character_asset),
tile_assets: snapshot.tile_assets.into_iter().map(map_tile_asset).collect(),
path: snapshot.path.map(map_jump_hop_path),
cover_composite: snapshot.cover_composite,
generation_status: parse_generation_status(&snapshot.generation_status),
}
}
fn map_character_asset(snapshot: JumpHopCharacterAssetSnapshot) -> JumpHopCharacterAsset {
JumpHopCharacterAsset {
asset_id: snapshot.asset_id,
image_src: snapshot.image_src,
image_object_key: snapshot.image_object_key,
asset_object_id: snapshot.asset_object_id,
generation_provider: snapshot.generation_provider,
prompt: snapshot.prompt,
width: snapshot.width,
height: snapshot.height,
}
}
fn map_tile_asset(snapshot: JumpHopTileAssetSnapshot) -> JumpHopTileAsset {
JumpHopTileAsset {
tile_type: parse_tile_type(&snapshot.tile_type),
image_src: snapshot.image_src,
image_object_key: snapshot.image_object_key,
asset_object_id: snapshot.asset_object_id,
source_atlas_cell: snapshot.source_atlas_cell,
visual_width: snapshot.visual_width,
visual_height: snapshot.visual_height,
top_surface_radius: snapshot.top_surface_radius,
landing_radius: snapshot.landing_radius,
}
}
fn map_jump_hop_path(snapshot: crate::module_bindings::JumpHopPath) -> JumpHopPath {
JumpHopPath {
seed: snapshot.seed,
difficulty: parse_domain_difficulty(snapshot.difficulty),
platforms: snapshot
.platforms
.into_iter()
.map(|platform| JumpHopPlatform {
platform_id: platform.platform_id,
tile_type: parse_domain_tile_type(platform.tile_type),
x: platform.x,
y: platform.y,
width: platform.width,
height: platform.height,
landing_radius: platform.landing_radius,
perfect_radius: platform.perfect_radius,
score_value: platform.score_value,
})
.collect(),
finish_index: snapshot.finish_index,
camera_preset: snapshot.camera_preset,
scoring: JumpHopScoring {
charge_to_distance_ratio: snapshot.scoring.charge_to_distance_ratio,
max_charge_ms: snapshot.scoring.max_charge_ms,
hit_bonus: snapshot.scoring.hit_bonus,
perfect_bonus: snapshot.scoring.perfect_bonus,
},
}
}
fn map_jump_hop_run_snapshot(snapshot: JumpHopRunSnapshot) -> JumpHopRuntimeRunSnapshotResponse {
JumpHopRuntimeRunSnapshotResponse {
run_id: snapshot.run_id,
profile_id: snapshot.profile_id,
owner_user_id: snapshot.owner_user_id,
status: match snapshot.status {
crate::module_bindings::JumpHopRunStatus::Failed => JumpHopRunStatus::Failed,
crate::module_bindings::JumpHopRunStatus::Cleared => JumpHopRunStatus::Cleared,
crate::module_bindings::JumpHopRunStatus::Playing => JumpHopRunStatus::Playing,
},
current_platform_index: snapshot.current_platform_index,
score: snapshot.score,
combo: snapshot.combo,
path: map_jump_hop_path(snapshot.path),
last_jump: snapshot.last_jump.map(|jump| JumpHopLastJump {
charge_ms: jump.charge_ms,
jump_distance: jump.jump_distance,
target_platform_index: jump.target_platform_index,
landed_x: jump.landed_x,
landed_y: jump.landed_y,
result: match jump.result {
crate::module_bindings::JumpHopJumpResultKind::Miss => JumpHopJumpResult::Miss,
crate::module_bindings::JumpHopJumpResultKind::Hit => JumpHopJumpResult::Hit,
crate::module_bindings::JumpHopJumpResultKind::Finish => JumpHopJumpResult::Finish,
crate::module_bindings::JumpHopJumpResultKind::Perfect => JumpHopJumpResult::Perfect,
},
}),
started_at_ms: snapshot.started_at_ms,
finished_at_ms: snapshot.finished_at_ms,
}
}
fn parse_difficulty(value: &str) -> JumpHopDifficulty {
match value {
"easy" => JumpHopDifficulty::Easy,
"advanced" => JumpHopDifficulty::Advanced,
"challenge" => JumpHopDifficulty::Challenge,
_ => JumpHopDifficulty::Standard,
}
}
fn parse_domain_difficulty(value: crate::module_bindings::JumpHopDifficulty) -> JumpHopDifficulty {
match value {
crate::module_bindings::JumpHopDifficulty::Easy => JumpHopDifficulty::Easy,
crate::module_bindings::JumpHopDifficulty::Advanced => JumpHopDifficulty::Advanced,
crate::module_bindings::JumpHopDifficulty::Challenge => JumpHopDifficulty::Challenge,
crate::module_bindings::JumpHopDifficulty::Standard => JumpHopDifficulty::Standard,
}
}
fn parse_style_preset(value: &str) -> JumpHopStylePreset {
match value {
"paper-toy" => JumpHopStylePreset::PaperToy,
"neon-glass" => JumpHopStylePreset::NeonGlass,
"forest-stone" => JumpHopStylePreset::ForestStone,
"future-metal" => JumpHopStylePreset::FutureMetal,
"custom" => JumpHopStylePreset::Custom,
_ => JumpHopStylePreset::MinimalBlocks,
}
}
fn parse_tile_type(value: &str) -> JumpHopTileType {
match value {
"start" => JumpHopTileType::Start,
"target" => JumpHopTileType::Target,
"finish" => JumpHopTileType::Finish,
"bonus" => JumpHopTileType::Bonus,
"accent" => JumpHopTileType::Accent,
_ => JumpHopTileType::Normal,
}
}
fn parse_domain_tile_type(value: crate::module_bindings::JumpHopTileType) -> JumpHopTileType {
match value {
crate::module_bindings::JumpHopTileType::Start => JumpHopTileType::Start,
crate::module_bindings::JumpHopTileType::Target => JumpHopTileType::Target,
crate::module_bindings::JumpHopTileType::Finish => JumpHopTileType::Finish,
crate::module_bindings::JumpHopTileType::Bonus => JumpHopTileType::Bonus,
crate::module_bindings::JumpHopTileType::Accent => JumpHopTileType::Accent,
crate::module_bindings::JumpHopTileType::Normal => JumpHopTileType::Normal,
}
}
fn parse_generation_status(value: &str) -> JumpHopGenerationStatus {
match value {
"generating" => JumpHopGenerationStatus::Generating,
"ready" => JumpHopGenerationStatus::Ready,
"failed" => JumpHopGenerationStatus::Failed,
_ => JumpHopGenerationStatus::Draft,
}
}
fn normalize_publication_status(value: &str) -> &str {
match value {
"Published" | "published" => "published",
_ => "draft",
}
}

View File

@@ -213,6 +213,16 @@ pub(crate) fn map_runtime_tracking_event_procedure_result(
Ok(())
}
pub(crate) fn map_runtime_tracking_event_batch_procedure_result(
result: RuntimeTrackingEventBatchProcedureResult,
) -> Result<u32, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
Ok(result.accepted_count)
}
pub(crate) fn map_runtime_snapshot_procedure_result(
result: RuntimeSnapshotProcedureResult,
) -> Result<Option<RuntimeSnapshotRecord>, SpacetimeClientError> {

View File

@@ -1,7 +1,7 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
// This was generated using spacetimedb cli version 2.2.0 (commit eb11e2f5c41dce6979715ad407996270d61329f6).
// This was generated using spacetimedb cli version 2.1.0 (commit 6981f48b4bc1a71c8dd9bdfe5a2c343f6370243d).
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
@@ -199,6 +199,7 @@ pub mod click_match_3_d_item_procedure;
pub mod combat_outcome_type;
pub mod compile_big_fish_draft_procedure;
pub mod compile_custom_world_published_profile_procedure;
pub mod compile_jump_hop_draft_procedure;
pub mod compile_match_3_d_draft_procedure;
pub mod compile_puzzle_agent_draft_procedure;
pub mod compile_square_hole_draft_procedure;
@@ -218,6 +219,7 @@ pub mod create_battle_state_and_return_procedure;
pub mod create_battle_state_reducer;
pub mod create_big_fish_session_procedure;
pub mod create_custom_world_agent_session_procedure;
pub mod create_jump_hop_agent_session_procedure;
pub mod create_match_3_d_agent_session_procedure;
pub mod create_profile_recharge_order_and_return_procedure;
pub mod create_puzzle_agent_session_procedure;
@@ -349,6 +351,9 @@ pub mod get_custom_world_agent_session_procedure;
pub mod get_custom_world_gallery_detail_by_code_procedure;
pub mod get_custom_world_gallery_detail_procedure;
pub mod get_custom_world_library_detail_procedure;
pub mod get_jump_hop_agent_session_procedure;
pub mod get_jump_hop_run_procedure;
pub mod get_jump_hop_work_profile_procedure;
pub mod get_match_3_d_agent_session_procedure;
pub mod get_match_3_d_run_procedure;
pub mod get_match_3_d_work_detail_procedure;
@@ -393,11 +398,55 @@ pub mod inventory_mutation_type;
pub mod inventory_slot_snapshot_type;
pub mod inventory_slot_table;
pub mod inventory_slot_type;
pub mod jump_hop_agent_session_create_input_type;
pub mod jump_hop_agent_session_get_input_type;
pub mod jump_hop_agent_session_procedure_result_type;
pub mod jump_hop_agent_session_row_type;
pub mod jump_hop_agent_session_snapshot_type;
pub mod jump_hop_agent_session_table;
pub mod jump_hop_character_asset_snapshot_type;
pub mod jump_hop_creator_config_snapshot_type;
pub mod jump_hop_difficulty_type;
pub mod jump_hop_draft_compile_input_type;
pub mod jump_hop_draft_snapshot_type;
pub mod jump_hop_event_row_type;
pub mod jump_hop_event_table;
pub mod jump_hop_gallery_card_view_row_type;
pub mod jump_hop_gallery_card_view_table;
pub mod jump_hop_gallery_view_row_type;
pub mod jump_hop_gallery_view_table;
pub mod jump_hop_jump_procedure;
pub mod jump_hop_jump_result_kind_type;
pub mod jump_hop_last_jump_type;
pub mod jump_hop_path_type;
pub mod jump_hop_platform_type;
pub mod jump_hop_run_get_input_type;
pub mod jump_hop_run_jump_input_type;
pub mod jump_hop_run_procedure_result_type;
pub mod jump_hop_run_restart_input_type;
pub mod jump_hop_run_snapshot_type;
pub mod jump_hop_run_start_input_type;
pub mod jump_hop_run_status_type;
pub mod jump_hop_runtime_run_row_type;
pub mod jump_hop_runtime_run_table;
pub mod jump_hop_scoring_type;
pub mod jump_hop_tile_asset_snapshot_type;
pub mod jump_hop_tile_type_type;
pub mod jump_hop_work_get_input_type;
pub mod jump_hop_work_procedure_result_type;
pub mod jump_hop_work_profile_row_type;
pub mod jump_hop_work_profile_table;
pub mod jump_hop_work_publish_input_type;
pub mod jump_hop_work_snapshot_type;
pub mod jump_hop_work_update_input_type;
pub mod jump_hop_works_list_input_type;
pub mod jump_hop_works_procedure_result_type;
pub mod list_asset_history_and_return_procedure;
pub mod list_big_fish_works_procedure;
pub mod list_custom_world_gallery_entries_procedure;
pub mod list_custom_world_profiles_procedure;
pub mod list_custom_world_works_procedure;
pub mod list_jump_hop_works_procedure;
pub mod list_match_3_d_works_procedure;
pub mod list_platform_browse_history_procedure;
pub mod list_profile_save_archives_procedure;
@@ -508,6 +557,7 @@ pub mod publish_big_fish_game_procedure;
pub mod publish_custom_world_profile_and_return_procedure;
pub mod publish_custom_world_profile_reducer;
pub mod publish_custom_world_world_procedure;
pub mod publish_jump_hop_work_procedure;
pub mod publish_match_3_d_work_procedure;
pub mod publish_puzzle_work_procedure;
pub mod publish_square_hole_work_procedure;
@@ -649,6 +699,7 @@ pub mod resolve_npc_social_action_input_type;
pub mod resolve_npc_social_action_reducer;
pub mod resolve_treasure_interaction_and_return_procedure;
pub mod resolve_treasure_interaction_reducer;
pub mod restart_jump_hop_run_procedure;
pub mod restart_match_3_d_run_procedure;
pub mod restart_square_hole_run_procedure;
pub mod resume_profile_save_archive_and_return_procedure;
@@ -820,6 +871,7 @@ pub mod start_ai_task_reducer;
pub mod start_ai_task_stage_reducer;
pub mod start_bark_battle_run_procedure;
pub mod start_big_fish_run_procedure;
pub mod start_jump_hop_run_procedure;
pub mod start_match_3_d_run_procedure;
pub mod start_puzzle_run_procedure;
pub mod start_square_hole_run_procedure;
@@ -864,6 +916,7 @@ pub mod unequip_inventory_item_input_type;
pub mod unpublish_custom_world_profile_and_return_procedure;
pub mod unpublish_custom_world_profile_reducer;
pub mod update_bark_battle_draft_config_procedure;
pub mod update_jump_hop_work_procedure;
pub mod update_match_3_d_work_procedure;
pub mod update_puzzle_run_pause_procedure;
pub mod update_puzzle_work_procedure;
@@ -1125,6 +1178,7 @@ pub use click_match_3_d_item_procedure::click_match_3_d_item;
pub use combat_outcome_type::CombatOutcome;
pub use compile_big_fish_draft_procedure::compile_big_fish_draft;
pub use compile_custom_world_published_profile_procedure::compile_custom_world_published_profile;
pub use compile_jump_hop_draft_procedure::compile_jump_hop_draft;
pub use compile_match_3_d_draft_procedure::compile_match_3_d_draft;
pub use compile_puzzle_agent_draft_procedure::compile_puzzle_agent_draft;
pub use compile_square_hole_draft_procedure::compile_square_hole_draft;
@@ -1144,6 +1198,7 @@ pub use create_battle_state_and_return_procedure::create_battle_state_and_return
pub use create_battle_state_reducer::create_battle_state;
pub use create_big_fish_session_procedure::create_big_fish_session;
pub use create_custom_world_agent_session_procedure::create_custom_world_agent_session;
pub use create_jump_hop_agent_session_procedure::create_jump_hop_agent_session;
pub use create_match_3_d_agent_session_procedure::create_match_3_d_agent_session;
pub use create_profile_recharge_order_and_return_procedure::create_profile_recharge_order_and_return;
pub use create_puzzle_agent_session_procedure::create_puzzle_agent_session;
@@ -1275,6 +1330,9 @@ pub use get_custom_world_agent_session_procedure::get_custom_world_agent_session
pub use get_custom_world_gallery_detail_by_code_procedure::get_custom_world_gallery_detail_by_code;
pub use get_custom_world_gallery_detail_procedure::get_custom_world_gallery_detail;
pub use get_custom_world_library_detail_procedure::get_custom_world_library_detail;
pub use get_jump_hop_agent_session_procedure::get_jump_hop_agent_session;
pub use get_jump_hop_run_procedure::get_jump_hop_run;
pub use get_jump_hop_work_profile_procedure::get_jump_hop_work_profile;
pub use get_match_3_d_agent_session_procedure::get_match_3_d_agent_session;
pub use get_match_3_d_run_procedure::get_match_3_d_run;
pub use get_match_3_d_work_detail_procedure::get_match_3_d_work_detail;
@@ -1319,11 +1377,55 @@ pub use inventory_mutation_type::InventoryMutation;
pub use inventory_slot_snapshot_type::InventorySlotSnapshot;
pub use inventory_slot_table::*;
pub use inventory_slot_type::InventorySlot;
pub use jump_hop_agent_session_create_input_type::JumpHopAgentSessionCreateInput;
pub use jump_hop_agent_session_get_input_type::JumpHopAgentSessionGetInput;
pub use jump_hop_agent_session_procedure_result_type::JumpHopAgentSessionProcedureResult;
pub use jump_hop_agent_session_row_type::JumpHopAgentSessionRow;
pub use jump_hop_agent_session_snapshot_type::JumpHopAgentSessionSnapshot;
pub use jump_hop_agent_session_table::*;
pub use jump_hop_character_asset_snapshot_type::JumpHopCharacterAssetSnapshot;
pub use jump_hop_creator_config_snapshot_type::JumpHopCreatorConfigSnapshot;
pub use jump_hop_difficulty_type::JumpHopDifficulty;
pub use jump_hop_draft_compile_input_type::JumpHopDraftCompileInput;
pub use jump_hop_draft_snapshot_type::JumpHopDraftSnapshot;
pub use jump_hop_event_row_type::JumpHopEventRow;
pub use jump_hop_event_table::*;
pub use jump_hop_gallery_card_view_row_type::JumpHopGalleryCardViewRow;
pub use jump_hop_gallery_card_view_table::*;
pub use jump_hop_gallery_view_row_type::JumpHopGalleryViewRow;
pub use jump_hop_gallery_view_table::*;
pub use jump_hop_jump_procedure::jump_hop_jump;
pub use jump_hop_jump_result_kind_type::JumpHopJumpResultKind;
pub use jump_hop_last_jump_type::JumpHopLastJump;
pub use jump_hop_path_type::JumpHopPath;
pub use jump_hop_platform_type::JumpHopPlatform;
pub use jump_hop_run_get_input_type::JumpHopRunGetInput;
pub use jump_hop_run_jump_input_type::JumpHopRunJumpInput;
pub use jump_hop_run_procedure_result_type::JumpHopRunProcedureResult;
pub use jump_hop_run_restart_input_type::JumpHopRunRestartInput;
pub use jump_hop_run_snapshot_type::JumpHopRunSnapshot;
pub use jump_hop_run_start_input_type::JumpHopRunStartInput;
pub use jump_hop_run_status_type::JumpHopRunStatus;
pub use jump_hop_runtime_run_row_type::JumpHopRuntimeRunRow;
pub use jump_hop_runtime_run_table::*;
pub use jump_hop_scoring_type::JumpHopScoring;
pub use jump_hop_tile_asset_snapshot_type::JumpHopTileAssetSnapshot;
pub use jump_hop_tile_type_type::JumpHopTileType;
pub use jump_hop_work_get_input_type::JumpHopWorkGetInput;
pub use jump_hop_work_procedure_result_type::JumpHopWorkProcedureResult;
pub use jump_hop_work_profile_row_type::JumpHopWorkProfileRow;
pub use jump_hop_work_profile_table::*;
pub use jump_hop_work_publish_input_type::JumpHopWorkPublishInput;
pub use jump_hop_work_snapshot_type::JumpHopWorkSnapshot;
pub use jump_hop_work_update_input_type::JumpHopWorkUpdateInput;
pub use jump_hop_works_list_input_type::JumpHopWorksListInput;
pub use jump_hop_works_procedure_result_type::JumpHopWorksProcedureResult;
pub use list_asset_history_and_return_procedure::list_asset_history_and_return;
pub use list_big_fish_works_procedure::list_big_fish_works;
pub use list_custom_world_gallery_entries_procedure::list_custom_world_gallery_entries;
pub use list_custom_world_profiles_procedure::list_custom_world_profiles;
pub use list_custom_world_works_procedure::list_custom_world_works;
pub use list_jump_hop_works_procedure::list_jump_hop_works;
pub use list_match_3_d_works_procedure::list_match_3_d_works;
pub use list_platform_browse_history_procedure::list_platform_browse_history;
pub use list_profile_save_archives_procedure::list_profile_save_archives;
@@ -1434,6 +1536,7 @@ pub use publish_big_fish_game_procedure::publish_big_fish_game;
pub use publish_custom_world_profile_and_return_procedure::publish_custom_world_profile_and_return;
pub use publish_custom_world_profile_reducer::publish_custom_world_profile;
pub use publish_custom_world_world_procedure::publish_custom_world_world;
pub use publish_jump_hop_work_procedure::publish_jump_hop_work;
pub use publish_match_3_d_work_procedure::publish_match_3_d_work;
pub use publish_puzzle_work_procedure::publish_puzzle_work;
pub use publish_square_hole_work_procedure::publish_square_hole_work;
@@ -1575,6 +1678,7 @@ pub use resolve_npc_social_action_input_type::ResolveNpcSocialActionInput;
pub use resolve_npc_social_action_reducer::resolve_npc_social_action;
pub use resolve_treasure_interaction_and_return_procedure::resolve_treasure_interaction_and_return;
pub use resolve_treasure_interaction_reducer::resolve_treasure_interaction;
pub use restart_jump_hop_run_procedure::restart_jump_hop_run;
pub use restart_match_3_d_run_procedure::restart_match_3_d_run;
pub use restart_square_hole_run_procedure::restart_square_hole_run;
pub use resume_profile_save_archive_and_return_procedure::resume_profile_save_archive_and_return;
@@ -1746,6 +1850,7 @@ pub use start_ai_task_reducer::start_ai_task;
pub use start_ai_task_stage_reducer::start_ai_task_stage;
pub use start_bark_battle_run_procedure::start_bark_battle_run;
pub use start_big_fish_run_procedure::start_big_fish_run;
pub use start_jump_hop_run_procedure::start_jump_hop_run;
pub use start_match_3_d_run_procedure::start_match_3_d_run;
pub use start_puzzle_run_procedure::start_puzzle_run;
pub use start_square_hole_run_procedure::start_square_hole_run;
@@ -1790,6 +1895,7 @@ pub use unequip_inventory_item_input_type::UnequipInventoryItemInput;
pub use unpublish_custom_world_profile_and_return_procedure::unpublish_custom_world_profile_and_return;
pub use unpublish_custom_world_profile_reducer::unpublish_custom_world_profile;
pub use update_bark_battle_draft_config_procedure::update_bark_battle_draft_config;
pub use update_jump_hop_work_procedure::update_jump_hop_work;
pub use update_match_3_d_work_procedure::update_match_3_d_work;
pub use update_puzzle_run_pause_procedure::update_puzzle_run_pause;
pub use update_puzzle_work_procedure::update_puzzle_work;
@@ -2169,6 +2275,12 @@ pub struct DbUpdate {
database_migration_import_chunk: __sdk::TableUpdate<DatabaseMigrationImportChunk>,
database_migration_operator: __sdk::TableUpdate<DatabaseMigrationOperator>,
inventory_slot: __sdk::TableUpdate<InventorySlot>,
jump_hop_agent_session: __sdk::TableUpdate<JumpHopAgentSessionRow>,
jump_hop_event: __sdk::TableUpdate<JumpHopEventRow>,
jump_hop_gallery_card_view: __sdk::TableUpdate<JumpHopGalleryCardViewRow>,
jump_hop_gallery_view: __sdk::TableUpdate<JumpHopGalleryViewRow>,
jump_hop_runtime_run: __sdk::TableUpdate<JumpHopRuntimeRunRow>,
jump_hop_work_profile: __sdk::TableUpdate<JumpHopWorkProfileRow>,
match_3_d_agent_message: __sdk::TableUpdate<Match3DAgentMessageRow>,
match_3_d_agent_session: __sdk::TableUpdate<Match3DAgentSessionRow>,
match_3_d_gallery_view: __sdk::TableUpdate<Match3DGalleryViewRow>,
@@ -2358,6 +2470,24 @@ impl TryFrom<__ws::v2::TransactionUpdate> for DbUpdate {
"inventory_slot" => db_update
.inventory_slot
.append(inventory_slot_table::parse_table_update(table_update)?),
"jump_hop_agent_session" => db_update.jump_hop_agent_session.append(
jump_hop_agent_session_table::parse_table_update(table_update)?,
),
"jump_hop_event" => db_update
.jump_hop_event
.append(jump_hop_event_table::parse_table_update(table_update)?),
"jump_hop_gallery_card_view" => db_update.jump_hop_gallery_card_view.append(
jump_hop_gallery_card_view_table::parse_table_update(table_update)?,
),
"jump_hop_gallery_view" => db_update.jump_hop_gallery_view.append(
jump_hop_gallery_view_table::parse_table_update(table_update)?,
),
"jump_hop_runtime_run" => db_update.jump_hop_runtime_run.append(
jump_hop_runtime_run_table::parse_table_update(table_update)?,
),
"jump_hop_work_profile" => db_update.jump_hop_work_profile.append(
jump_hop_work_profile_table::parse_table_update(table_update)?,
),
"match_3_d_agent_message" => db_update.match_3_d_agent_message.append(
match_3_d_agent_message_table::parse_table_update(table_update)?,
),
@@ -2748,6 +2878,27 @@ impl __sdk::DbUpdate for DbUpdate {
diff.inventory_slot = cache
.apply_diff_to_table::<InventorySlot>("inventory_slot", &self.inventory_slot)
.with_updates_by_pk(|row| &row.slot_id);
diff.jump_hop_agent_session = cache
.apply_diff_to_table::<JumpHopAgentSessionRow>(
"jump_hop_agent_session",
&self.jump_hop_agent_session,
)
.with_updates_by_pk(|row| &row.session_id);
diff.jump_hop_event = cache
.apply_diff_to_table::<JumpHopEventRow>("jump_hop_event", &self.jump_hop_event)
.with_updates_by_pk(|row| &row.event_id);
diff.jump_hop_runtime_run = cache
.apply_diff_to_table::<JumpHopRuntimeRunRow>(
"jump_hop_runtime_run",
&self.jump_hop_runtime_run,
)
.with_updates_by_pk(|row| &row.run_id);
diff.jump_hop_work_profile = cache
.apply_diff_to_table::<JumpHopWorkProfileRow>(
"jump_hop_work_profile",
&self.jump_hop_work_profile,
)
.with_updates_by_pk(|row| &row.profile_id);
diff.match_3_d_agent_message = cache
.apply_diff_to_table::<Match3DAgentMessageRow>(
"match_3_d_agent_message",
@@ -3012,6 +3163,14 @@ impl __sdk::DbUpdate for DbUpdate {
"big_fish_gallery_view",
&self.big_fish_gallery_view,
);
diff.jump_hop_gallery_card_view = cache.apply_diff_to_table::<JumpHopGalleryCardViewRow>(
"jump_hop_gallery_card_view",
&self.jump_hop_gallery_card_view,
);
diff.jump_hop_gallery_view = cache.apply_diff_to_table::<JumpHopGalleryViewRow>(
"jump_hop_gallery_view",
&self.jump_hop_gallery_view,
);
diff.match_3_d_gallery_view = cache.apply_diff_to_table::<Match3DGalleryViewRow>(
"match_3_d_gallery_view",
&self.match_3_d_gallery_view,
@@ -3156,6 +3315,24 @@ impl __sdk::DbUpdate for DbUpdate {
"inventory_slot" => db_update
.inventory_slot
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"jump_hop_agent_session" => db_update
.jump_hop_agent_session
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"jump_hop_event" => db_update
.jump_hop_event
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"jump_hop_gallery_card_view" => db_update
.jump_hop_gallery_card_view
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"jump_hop_gallery_view" => db_update
.jump_hop_gallery_view
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"jump_hop_runtime_run" => db_update
.jump_hop_runtime_run
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"jump_hop_work_profile" => db_update
.jump_hop_work_profile
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
"match_3_d_agent_message" => db_update
.match_3_d_agent_message
.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?),
@@ -3454,6 +3631,24 @@ impl __sdk::DbUpdate for DbUpdate {
"inventory_slot" => db_update
.inventory_slot
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"jump_hop_agent_session" => db_update
.jump_hop_agent_session
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"jump_hop_event" => db_update
.jump_hop_event
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"jump_hop_gallery_card_view" => db_update
.jump_hop_gallery_card_view
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"jump_hop_gallery_view" => db_update
.jump_hop_gallery_view
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"jump_hop_runtime_run" => db_update
.jump_hop_runtime_run
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"jump_hop_work_profile" => db_update
.jump_hop_work_profile
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
"match_3_d_agent_message" => db_update
.match_3_d_agent_message
.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?),
@@ -3678,6 +3873,12 @@ pub struct AppliedDiff<'r> {
database_migration_import_chunk: __sdk::TableAppliedDiff<'r, DatabaseMigrationImportChunk>,
database_migration_operator: __sdk::TableAppliedDiff<'r, DatabaseMigrationOperator>,
inventory_slot: __sdk::TableAppliedDiff<'r, InventorySlot>,
jump_hop_agent_session: __sdk::TableAppliedDiff<'r, JumpHopAgentSessionRow>,
jump_hop_event: __sdk::TableAppliedDiff<'r, JumpHopEventRow>,
jump_hop_gallery_card_view: __sdk::TableAppliedDiff<'r, JumpHopGalleryCardViewRow>,
jump_hop_gallery_view: __sdk::TableAppliedDiff<'r, JumpHopGalleryViewRow>,
jump_hop_runtime_run: __sdk::TableAppliedDiff<'r, JumpHopRuntimeRunRow>,
jump_hop_work_profile: __sdk::TableAppliedDiff<'r, JumpHopWorkProfileRow>,
match_3_d_agent_message: __sdk::TableAppliedDiff<'r, Match3DAgentMessageRow>,
match_3_d_agent_session: __sdk::TableAppliedDiff<'r, Match3DAgentSessionRow>,
match_3_d_gallery_view: __sdk::TableAppliedDiff<'r, Match3DGalleryViewRow>,
@@ -3935,6 +4136,36 @@ impl<'r> __sdk::AppliedDiff<'r> for AppliedDiff<'r> {
&self.inventory_slot,
event,
);
callbacks.invoke_table_row_callbacks::<JumpHopAgentSessionRow>(
"jump_hop_agent_session",
&self.jump_hop_agent_session,
event,
);
callbacks.invoke_table_row_callbacks::<JumpHopEventRow>(
"jump_hop_event",
&self.jump_hop_event,
event,
);
callbacks.invoke_table_row_callbacks::<JumpHopGalleryCardViewRow>(
"jump_hop_gallery_card_view",
&self.jump_hop_gallery_card_view,
event,
);
callbacks.invoke_table_row_callbacks::<JumpHopGalleryViewRow>(
"jump_hop_gallery_view",
&self.jump_hop_gallery_view,
event,
);
callbacks.invoke_table_row_callbacks::<JumpHopRuntimeRunRow>(
"jump_hop_runtime_run",
&self.jump_hop_runtime_run,
event,
);
callbacks.invoke_table_row_callbacks::<JumpHopWorkProfileRow>(
"jump_hop_work_profile",
&self.jump_hop_work_profile,
event,
);
callbacks.invoke_table_row_callbacks::<Match3DAgentMessageRow>(
"match_3_d_agent_message",
&self.match_3_d_agent_message,
@@ -4902,6 +5133,12 @@ impl __sdk::SpacetimeModule for RemoteModule {
database_migration_import_chunk_table::register_table(client_cache);
database_migration_operator_table::register_table(client_cache);
inventory_slot_table::register_table(client_cache);
jump_hop_agent_session_table::register_table(client_cache);
jump_hop_event_table::register_table(client_cache);
jump_hop_gallery_card_view_table::register_table(client_cache);
jump_hop_gallery_view_table::register_table(client_cache);
jump_hop_runtime_run_table::register_table(client_cache);
jump_hop_work_profile_table::register_table(client_cache);
match_3_d_agent_message_table::register_table(client_cache);
match_3_d_agent_session_table::register_table(client_cache);
match_3_d_gallery_view_table::register_table(client_cache);
@@ -4999,6 +5236,12 @@ impl __sdk::SpacetimeModule for RemoteModule {
"database_migration_import_chunk",
"database_migration_operator",
"inventory_slot",
"jump_hop_agent_session",
"jump_hop_event",
"jump_hop_gallery_card_view",
"jump_hop_gallery_view",
"jump_hop_runtime_run",
"jump_hop_work_profile",
"match_3_d_agent_message",
"match_3_d_agent_session",
"match_3_d_gallery_view",

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_agent_session_procedure_result_type::JumpHopAgentSessionProcedureResult;
use super::jump_hop_draft_compile_input_type::JumpHopDraftCompileInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct CompileJumpHopDraftArgs {
pub input: JumpHopDraftCompileInput,
}
impl __sdk::InModule for CompileJumpHopDraftArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `compile_jump_hop_draft`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait compile_jump_hop_draft {
fn compile_jump_hop_draft(&self, input: JumpHopDraftCompileInput) {
self.compile_jump_hop_draft_then(input, |_, _| {});
}
fn compile_jump_hop_draft_then(
&self,
input: JumpHopDraftCompileInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl compile_jump_hop_draft for super::RemoteProcedures {
fn compile_jump_hop_draft_then(
&self,
input: JumpHopDraftCompileInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopAgentSessionProcedureResult>(
"compile_jump_hop_draft",
CompileJumpHopDraftArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_agent_session_create_input_type::JumpHopAgentSessionCreateInput;
use super::jump_hop_agent_session_procedure_result_type::JumpHopAgentSessionProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct CreateJumpHopAgentSessionArgs {
pub input: JumpHopAgentSessionCreateInput,
}
impl __sdk::InModule for CreateJumpHopAgentSessionArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `create_jump_hop_agent_session`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait create_jump_hop_agent_session {
fn create_jump_hop_agent_session(&self, input: JumpHopAgentSessionCreateInput) {
self.create_jump_hop_agent_session_then(input, |_, _| {});
}
fn create_jump_hop_agent_session_then(
&self,
input: JumpHopAgentSessionCreateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl create_jump_hop_agent_session for super::RemoteProcedures {
fn create_jump_hop_agent_session_then(
&self,
input: JumpHopAgentSessionCreateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopAgentSessionProcedureResult>(
"create_jump_hop_agent_session",
CreateJumpHopAgentSessionArgs { input },
__callback,
);
}
}

View File

@@ -1,3 +1,4 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_agent_session_get_input_type::JumpHopAgentSessionGetInput;
use super::jump_hop_agent_session_procedure_result_type::JumpHopAgentSessionProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct GetJumpHopAgentSessionArgs {
pub input: JumpHopAgentSessionGetInput,
}
impl __sdk::InModule for GetJumpHopAgentSessionArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `get_jump_hop_agent_session`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait get_jump_hop_agent_session {
fn get_jump_hop_agent_session(&self, input: JumpHopAgentSessionGetInput) {
self.get_jump_hop_agent_session_then(input, |_, _| {});
}
fn get_jump_hop_agent_session_then(
&self,
input: JumpHopAgentSessionGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl get_jump_hop_agent_session for super::RemoteProcedures {
fn get_jump_hop_agent_session_then(
&self,
input: JumpHopAgentSessionGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopAgentSessionProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopAgentSessionProcedureResult>(
"get_jump_hop_agent_session",
GetJumpHopAgentSessionArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_run_get_input_type::JumpHopRunGetInput;
use super::jump_hop_run_procedure_result_type::JumpHopRunProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct GetJumpHopRunArgs {
pub input: JumpHopRunGetInput,
}
impl __sdk::InModule for GetJumpHopRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `get_jump_hop_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait get_jump_hop_run {
fn get_jump_hop_run(&self, input: JumpHopRunGetInput) {
self.get_jump_hop_run_then(input, |_, _| {});
}
fn get_jump_hop_run_then(
&self,
input: JumpHopRunGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl get_jump_hop_run for super::RemoteProcedures {
fn get_jump_hop_run_then(
&self,
input: JumpHopRunGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopRunProcedureResult>(
"get_jump_hop_run",
GetJumpHopRunArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_work_get_input_type::JumpHopWorkGetInput;
use super::jump_hop_work_procedure_result_type::JumpHopWorkProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct GetJumpHopWorkProfileArgs {
pub input: JumpHopWorkGetInput,
}
impl __sdk::InModule for GetJumpHopWorkProfileArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `get_jump_hop_work_profile`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait get_jump_hop_work_profile {
fn get_jump_hop_work_profile(&self, input: JumpHopWorkGetInput) {
self.get_jump_hop_work_profile_then(input, |_, _| {});
}
fn get_jump_hop_work_profile_then(
&self,
input: JumpHopWorkGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl get_jump_hop_work_profile for super::RemoteProcedures {
fn get_jump_hop_work_profile_then(
&self,
input: JumpHopWorkGetInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopWorkProcedureResult>(
"get_jump_hop_work_profile",
GetJumpHopWorkProfileArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,23 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopAgentSessionCreateInput {
pub session_id: String,
pub owner_user_id: String,
pub seed_text: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: Option<String>,
pub welcome_message_text: String,
pub config_json: Option<String>,
pub created_at_micros: i64,
}
impl __sdk::InModule for JumpHopAgentSessionCreateInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopAgentSessionGetInput {
pub session_id: String,
pub owner_user_id: String,
}
impl __sdk::InModule for JumpHopAgentSessionGetInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_agent_session_snapshot_type::JumpHopAgentSessionSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopAgentSessionProcedureResult {
pub ok: bool,
pub session: Option<JumpHopAgentSessionSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for JumpHopAgentSessionProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,90 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopAgentSessionRow {
pub session_id: String,
pub owner_user_id: String,
pub seed_text: String,
pub current_turn: u32,
pub progress_percent: u32,
pub stage: String,
pub config_json: String,
pub draft_json: String,
pub last_assistant_reply: String,
pub published_profile_id: String,
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
}
impl __sdk::InModule for JumpHopAgentSessionRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `JumpHopAgentSessionRow`.
///
/// Provides typed access to columns for query building.
pub struct JumpHopAgentSessionRowCols {
pub session_id: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub seed_text: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub current_turn: __sdk::__query_builder::Col<JumpHopAgentSessionRow, u32>,
pub progress_percent: __sdk::__query_builder::Col<JumpHopAgentSessionRow, u32>,
pub stage: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub config_json: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub draft_json: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub last_assistant_reply: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub published_profile_id: __sdk::__query_builder::Col<JumpHopAgentSessionRow, String>,
pub created_at: __sdk::__query_builder::Col<JumpHopAgentSessionRow, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<JumpHopAgentSessionRow, __sdk::Timestamp>,
}
impl __sdk::__query_builder::HasCols for JumpHopAgentSessionRow {
type Cols = JumpHopAgentSessionRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
JumpHopAgentSessionRowCols {
session_id: __sdk::__query_builder::Col::new(table_name, "session_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
seed_text: __sdk::__query_builder::Col::new(table_name, "seed_text"),
current_turn: __sdk::__query_builder::Col::new(table_name, "current_turn"),
progress_percent: __sdk::__query_builder::Col::new(table_name, "progress_percent"),
stage: __sdk::__query_builder::Col::new(table_name, "stage"),
config_json: __sdk::__query_builder::Col::new(table_name, "config_json"),
draft_json: __sdk::__query_builder::Col::new(table_name, "draft_json"),
last_assistant_reply: __sdk::__query_builder::Col::new(
table_name,
"last_assistant_reply",
),
published_profile_id: __sdk::__query_builder::Col::new(
table_name,
"published_profile_id",
),
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
}
}
}
/// Indexed column accessor struct for the table `JumpHopAgentSessionRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct JumpHopAgentSessionRowIxCols {
pub owner_user_id: __sdk::__query_builder::IxCol<JumpHopAgentSessionRow, String>,
pub session_id: __sdk::__query_builder::IxCol<JumpHopAgentSessionRow, String>,
}
impl __sdk::__query_builder::HasIxCols for JumpHopAgentSessionRow {
type IxCols = JumpHopAgentSessionRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
JumpHopAgentSessionRowIxCols {
owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"),
session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for JumpHopAgentSessionRow {}

View File

@@ -0,0 +1,29 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_creator_config_snapshot_type::JumpHopCreatorConfigSnapshot;
use super::jump_hop_draft_snapshot_type::JumpHopDraftSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopAgentSessionSnapshot {
pub session_id: String,
pub owner_user_id: String,
pub seed_text: String,
pub current_turn: u32,
pub progress_percent: u32,
pub stage: String,
pub config: JumpHopCreatorConfigSnapshot,
pub draft: Option<JumpHopDraftSnapshot>,
pub last_assistant_reply: String,
pub published_profile_id: Option<String>,
pub created_at_micros: i64,
pub updated_at_micros: i64,
}
impl __sdk::InModule for JumpHopAgentSessionSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,161 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::jump_hop_agent_session_row_type::JumpHopAgentSessionRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `jump_hop_agent_session`.
///
/// Obtain a handle from the [`JumpHopAgentSessionTableAccess::jump_hop_agent_session`] method on [`super::RemoteTables`],
/// like `ctx.db.jump_hop_agent_session()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_agent_session().on_insert(...)`.
pub struct JumpHopAgentSessionTableHandle<'ctx> {
imp: __sdk::TableHandle<JumpHopAgentSessionRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `jump_hop_agent_session`.
///
/// Implemented for [`super::RemoteTables`].
pub trait JumpHopAgentSessionTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`JumpHopAgentSessionTableHandle`], which mediates access to the table `jump_hop_agent_session`.
fn jump_hop_agent_session(&self) -> JumpHopAgentSessionTableHandle<'_>;
}
impl JumpHopAgentSessionTableAccess for super::RemoteTables {
fn jump_hop_agent_session(&self) -> JumpHopAgentSessionTableHandle<'_> {
JumpHopAgentSessionTableHandle {
imp: self
.imp
.get_table::<JumpHopAgentSessionRow>("jump_hop_agent_session"),
ctx: std::marker::PhantomData,
}
}
}
pub struct JumpHopAgentSessionInsertCallbackId(__sdk::CallbackId);
pub struct JumpHopAgentSessionDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for JumpHopAgentSessionTableHandle<'ctx> {
type Row = JumpHopAgentSessionRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = JumpHopAgentSessionRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = JumpHopAgentSessionInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopAgentSessionInsertCallbackId {
JumpHopAgentSessionInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: JumpHopAgentSessionInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = JumpHopAgentSessionDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopAgentSessionDeleteCallbackId {
JumpHopAgentSessionDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: JumpHopAgentSessionDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct JumpHopAgentSessionUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for JumpHopAgentSessionTableHandle<'ctx> {
type UpdateCallbackId = JumpHopAgentSessionUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> JumpHopAgentSessionUpdateCallbackId {
JumpHopAgentSessionUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: JumpHopAgentSessionUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `session_id` unique index on the table `jump_hop_agent_session`,
/// which allows point queries on the field of the same name
/// via the [`JumpHopAgentSessionSessionIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_agent_session().session_id().find(...)`.
pub struct JumpHopAgentSessionSessionIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<JumpHopAgentSessionRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> JumpHopAgentSessionTableHandle<'ctx> {
/// Get a handle on the `session_id` unique index on the table `jump_hop_agent_session`.
pub fn session_id(&self) -> JumpHopAgentSessionSessionIdUnique<'ctx> {
JumpHopAgentSessionSessionIdUnique {
imp: self.imp.get_unique_constraint::<String>("session_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> JumpHopAgentSessionSessionIdUnique<'ctx> {
/// Find the subscribed row whose `session_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<JumpHopAgentSessionRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache.get_or_make_table::<JumpHopAgentSessionRow>("jump_hop_agent_session");
_table.add_unique_constraint::<String>("session_id", |row| &row.session_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<JumpHopAgentSessionRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<JumpHopAgentSessionRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `JumpHopAgentSessionRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait jump_hop_agent_sessionQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `JumpHopAgentSessionRow`.
fn jump_hop_agent_session(&self) -> __sdk::__query_builder::Table<JumpHopAgentSessionRow>;
}
impl jump_hop_agent_sessionQueryTableAccess for __sdk::QueryTableAccessor {
fn jump_hop_agent_session(&self) -> __sdk::__query_builder::Table<JumpHopAgentSessionRow> {
__sdk::__query_builder::Table::new("jump_hop_agent_session")
}
}

View File

@@ -0,0 +1,22 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopCharacterAssetSnapshot {
pub asset_id: String,
pub image_src: String,
pub image_object_key: String,
pub asset_object_id: String,
pub generation_provider: String,
pub prompt: String,
pub width: u32,
pub height: u32,
}
impl __sdk::InModule for JumpHopCharacterAssetSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,20 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopCreatorConfigSnapshot {
pub theme_text: String,
pub difficulty: String,
pub style_preset: String,
pub character_prompt: String,
pub tile_prompt: String,
pub end_mood_prompt: String,
}
impl __sdk::InModule for JumpHopCreatorConfigSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,22 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
#[derive(Copy, Eq, Hash)]
pub enum JumpHopDifficulty {
Easy,
Standard,
Advanced,
Challenge,
}
impl __sdk::InModule for JumpHopDifficulty {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,34 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopDraftCompileInput {
pub session_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub author_display_name: String,
pub seed_text: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: Option<String>,
pub theme_text: Option<String>,
pub difficulty: Option<String>,
pub style_preset: Option<String>,
pub character_prompt: Option<String>,
pub tile_prompt: Option<String>,
pub end_mood_prompt: Option<String>,
pub character_asset_json: Option<String>,
pub tile_atlas_asset_json: Option<String>,
pub tile_assets_json: Option<String>,
pub cover_composite: Option<String>,
pub generation_status: Option<String>,
pub compiled_at_micros: i64,
}
impl __sdk::InModule for JumpHopDraftCompileInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,35 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_character_asset_snapshot_type::JumpHopCharacterAssetSnapshot;
use super::jump_hop_path_type::JumpHopPath;
use super::jump_hop_tile_asset_snapshot_type::JumpHopTileAssetSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopDraftSnapshot {
pub template_id: String,
pub template_name: String,
pub profile_id: Option<String>,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub difficulty: String,
pub style_preset: String,
pub character_prompt: String,
pub tile_prompt: String,
pub end_mood_prompt: Option<String>,
pub character_asset: Option<JumpHopCharacterAssetSnapshot>,
pub tile_atlas_asset: Option<JumpHopCharacterAssetSnapshot>,
pub tile_assets: Vec<JumpHopTileAssetSnapshot>,
pub path: Option<JumpHopPath>,
pub cover_composite: Option<String>,
pub generation_status: String,
}
impl __sdk::InModule for JumpHopDraftSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,71 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopEventRow {
pub event_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub run_id: String,
pub event_type: String,
pub result: String,
pub occurred_at: __sdk::Timestamp,
}
impl __sdk::InModule for JumpHopEventRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `JumpHopEventRow`.
///
/// Provides typed access to columns for query building.
pub struct JumpHopEventRowCols {
pub event_id: __sdk::__query_builder::Col<JumpHopEventRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<JumpHopEventRow, String>,
pub profile_id: __sdk::__query_builder::Col<JumpHopEventRow, String>,
pub run_id: __sdk::__query_builder::Col<JumpHopEventRow, String>,
pub event_type: __sdk::__query_builder::Col<JumpHopEventRow, String>,
pub result: __sdk::__query_builder::Col<JumpHopEventRow, String>,
pub occurred_at: __sdk::__query_builder::Col<JumpHopEventRow, __sdk::Timestamp>,
}
impl __sdk::__query_builder::HasCols for JumpHopEventRow {
type Cols = JumpHopEventRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
JumpHopEventRowCols {
event_id: __sdk::__query_builder::Col::new(table_name, "event_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
run_id: __sdk::__query_builder::Col::new(table_name, "run_id"),
event_type: __sdk::__query_builder::Col::new(table_name, "event_type"),
result: __sdk::__query_builder::Col::new(table_name, "result"),
occurred_at: __sdk::__query_builder::Col::new(table_name, "occurred_at"),
}
}
}
/// Indexed column accessor struct for the table `JumpHopEventRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct JumpHopEventRowIxCols {
pub event_id: __sdk::__query_builder::IxCol<JumpHopEventRow, String>,
pub profile_id: __sdk::__query_builder::IxCol<JumpHopEventRow, String>,
pub run_id: __sdk::__query_builder::IxCol<JumpHopEventRow, String>,
}
impl __sdk::__query_builder::HasIxCols for JumpHopEventRow {
type IxCols = JumpHopEventRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
JumpHopEventRowIxCols {
event_id: __sdk::__query_builder::IxCol::new(table_name, "event_id"),
profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"),
run_id: __sdk::__query_builder::IxCol::new(table_name, "run_id"),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for JumpHopEventRow {}

View File

@@ -0,0 +1,159 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::jump_hop_event_row_type::JumpHopEventRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `jump_hop_event`.
///
/// Obtain a handle from the [`JumpHopEventTableAccess::jump_hop_event`] method on [`super::RemoteTables`],
/// like `ctx.db.jump_hop_event()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_event().on_insert(...)`.
pub struct JumpHopEventTableHandle<'ctx> {
imp: __sdk::TableHandle<JumpHopEventRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `jump_hop_event`.
///
/// Implemented for [`super::RemoteTables`].
pub trait JumpHopEventTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`JumpHopEventTableHandle`], which mediates access to the table `jump_hop_event`.
fn jump_hop_event(&self) -> JumpHopEventTableHandle<'_>;
}
impl JumpHopEventTableAccess for super::RemoteTables {
fn jump_hop_event(&self) -> JumpHopEventTableHandle<'_> {
JumpHopEventTableHandle {
imp: self.imp.get_table::<JumpHopEventRow>("jump_hop_event"),
ctx: std::marker::PhantomData,
}
}
}
pub struct JumpHopEventInsertCallbackId(__sdk::CallbackId);
pub struct JumpHopEventDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for JumpHopEventTableHandle<'ctx> {
type Row = JumpHopEventRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = JumpHopEventRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = JumpHopEventInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopEventInsertCallbackId {
JumpHopEventInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: JumpHopEventInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = JumpHopEventDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopEventDeleteCallbackId {
JumpHopEventDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: JumpHopEventDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct JumpHopEventUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for JumpHopEventTableHandle<'ctx> {
type UpdateCallbackId = JumpHopEventUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> JumpHopEventUpdateCallbackId {
JumpHopEventUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: JumpHopEventUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `event_id` unique index on the table `jump_hop_event`,
/// which allows point queries on the field of the same name
/// via the [`JumpHopEventEventIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_event().event_id().find(...)`.
pub struct JumpHopEventEventIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<JumpHopEventRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> JumpHopEventTableHandle<'ctx> {
/// Get a handle on the `event_id` unique index on the table `jump_hop_event`.
pub fn event_id(&self) -> JumpHopEventEventIdUnique<'ctx> {
JumpHopEventEventIdUnique {
imp: self.imp.get_unique_constraint::<String>("event_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> JumpHopEventEventIdUnique<'ctx> {
/// Find the subscribed row whose `event_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<JumpHopEventRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache.get_or_make_table::<JumpHopEventRow>("jump_hop_event");
_table.add_unique_constraint::<String>("event_id", |row| &row.event_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<JumpHopEventRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<JumpHopEventRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `JumpHopEventRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait jump_hop_eventQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `JumpHopEventRow`.
fn jump_hop_event(&self) -> __sdk::__query_builder::Table<JumpHopEventRow>;
}
impl jump_hop_eventQueryTableAccess for __sdk::QueryTableAccessor {
fn jump_hop_event(&self) -> __sdk::__query_builder::Table<JumpHopEventRow> {
__sdk::__query_builder::Table::new("jump_hop_event")
}
}

View File

@@ -0,0 +1,82 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopGalleryCardViewRow {
pub public_work_code: String,
pub work_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub difficulty: String,
pub style_preset: String,
pub cover_image_src: String,
pub publication_status: String,
pub play_count: u32,
pub updated_at_micros: i64,
pub published_at_micros: Option<i64>,
pub generation_status: String,
}
impl __sdk::InModule for JumpHopGalleryCardViewRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `JumpHopGalleryCardViewRow`.
///
/// Provides typed access to columns for query building.
pub struct JumpHopGalleryCardViewRowCols {
pub public_work_code: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub work_id: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub profile_id: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub author_display_name: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub work_title: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub work_description: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub theme_tags: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, Vec<String>>,
pub difficulty: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub style_preset: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub cover_image_src: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub publication_status: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
pub play_count: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, u32>,
pub updated_at_micros: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, i64>,
pub published_at_micros: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, Option<i64>>,
pub generation_status: __sdk::__query_builder::Col<JumpHopGalleryCardViewRow, String>,
}
impl __sdk::__query_builder::HasCols for JumpHopGalleryCardViewRow {
type Cols = JumpHopGalleryCardViewRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
JumpHopGalleryCardViewRowCols {
public_work_code: __sdk::__query_builder::Col::new(table_name, "public_work_code"),
work_id: __sdk::__query_builder::Col::new(table_name, "work_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
author_display_name: __sdk::__query_builder::Col::new(
table_name,
"author_display_name",
),
work_title: __sdk::__query_builder::Col::new(table_name, "work_title"),
work_description: __sdk::__query_builder::Col::new(table_name, "work_description"),
theme_tags: __sdk::__query_builder::Col::new(table_name, "theme_tags"),
difficulty: __sdk::__query_builder::Col::new(table_name, "difficulty"),
style_preset: __sdk::__query_builder::Col::new(table_name, "style_preset"),
cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"),
publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"),
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
updated_at_micros: __sdk::__query_builder::Col::new(table_name, "updated_at_micros"),
published_at_micros: __sdk::__query_builder::Col::new(
table_name,
"published_at_micros",
),
generation_status: __sdk::__query_builder::Col::new(table_name, "generation_status"),
}
}
}

View File

@@ -0,0 +1,118 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::jump_hop_gallery_card_view_row_type::JumpHopGalleryCardViewRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `jump_hop_gallery_card_view`.
///
/// Obtain a handle from the [`JumpHopGalleryCardViewTableAccess::jump_hop_gallery_card_view`] method on [`super::RemoteTables`],
/// like `ctx.db.jump_hop_gallery_card_view()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_gallery_card_view().on_insert(...)`.
pub struct JumpHopGalleryCardViewTableHandle<'ctx> {
imp: __sdk::TableHandle<JumpHopGalleryCardViewRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `jump_hop_gallery_card_view`.
///
/// Implemented for [`super::RemoteTables`].
pub trait JumpHopGalleryCardViewTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`JumpHopGalleryCardViewTableHandle`], which mediates access to the table `jump_hop_gallery_card_view`.
fn jump_hop_gallery_card_view(&self) -> JumpHopGalleryCardViewTableHandle<'_>;
}
impl JumpHopGalleryCardViewTableAccess for super::RemoteTables {
fn jump_hop_gallery_card_view(&self) -> JumpHopGalleryCardViewTableHandle<'_> {
JumpHopGalleryCardViewTableHandle {
imp: self
.imp
.get_table::<JumpHopGalleryCardViewRow>("jump_hop_gallery_card_view"),
ctx: std::marker::PhantomData,
}
}
}
pub struct JumpHopGalleryCardViewInsertCallbackId(__sdk::CallbackId);
pub struct JumpHopGalleryCardViewDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for JumpHopGalleryCardViewTableHandle<'ctx> {
type Row = JumpHopGalleryCardViewRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = JumpHopGalleryCardViewRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = JumpHopGalleryCardViewInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopGalleryCardViewInsertCallbackId {
JumpHopGalleryCardViewInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: JumpHopGalleryCardViewInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = JumpHopGalleryCardViewDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopGalleryCardViewDeleteCallbackId {
JumpHopGalleryCardViewDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: JumpHopGalleryCardViewDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table =
client_cache.get_or_make_table::<JumpHopGalleryCardViewRow>("jump_hop_gallery_card_view");
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<JumpHopGalleryCardViewRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<JumpHopGalleryCardViewRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `JumpHopGalleryCardViewRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait jump_hop_gallery_card_viewQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `JumpHopGalleryCardViewRow`.
fn jump_hop_gallery_card_view(
&self,
) -> __sdk::__query_builder::Table<JumpHopGalleryCardViewRow>;
}
impl jump_hop_gallery_card_viewQueryTableAccess for __sdk::QueryTableAccessor {
fn jump_hop_gallery_card_view(
&self,
) -> __sdk::__query_builder::Table<JumpHopGalleryCardViewRow> {
__sdk::__query_builder::Table::new("jump_hop_gallery_card_view")
}
}

View File

@@ -0,0 +1,116 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_character_asset_snapshot_type::JumpHopCharacterAssetSnapshot;
use super::jump_hop_path_type::JumpHopPath;
use super::jump_hop_tile_asset_snapshot_type::JumpHopTileAssetSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopGalleryViewRow {
pub work_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub source_session_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub difficulty: String,
pub style_preset: String,
pub character_prompt: String,
pub tile_prompt: String,
pub end_mood_prompt: Option<String>,
pub character_asset: Option<JumpHopCharacterAssetSnapshot>,
pub tile_atlas_asset: Option<JumpHopCharacterAssetSnapshot>,
pub tile_assets: Vec<JumpHopTileAssetSnapshot>,
pub path: JumpHopPath,
pub cover_image_src: String,
pub cover_composite: Option<String>,
pub publication_status: String,
pub publish_ready: bool,
pub play_count: u32,
pub generation_status: String,
pub updated_at_micros: i64,
pub published_at_micros: Option<i64>,
}
impl __sdk::InModule for JumpHopGalleryViewRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `JumpHopGalleryViewRow`.
///
/// Provides typed access to columns for query building.
pub struct JumpHopGalleryViewRowCols {
pub work_id: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub profile_id: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub source_session_id: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub author_display_name: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub work_title: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub work_description: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub theme_tags: __sdk::__query_builder::Col<JumpHopGalleryViewRow, Vec<String>>,
pub difficulty: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub style_preset: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub character_prompt: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub tile_prompt: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub end_mood_prompt: __sdk::__query_builder::Col<JumpHopGalleryViewRow, Option<String>>,
pub character_asset:
__sdk::__query_builder::Col<JumpHopGalleryViewRow, Option<JumpHopCharacterAssetSnapshot>>,
pub tile_atlas_asset:
__sdk::__query_builder::Col<JumpHopGalleryViewRow, Option<JumpHopCharacterAssetSnapshot>>,
pub tile_assets:
__sdk::__query_builder::Col<JumpHopGalleryViewRow, Vec<JumpHopTileAssetSnapshot>>,
pub path: __sdk::__query_builder::Col<JumpHopGalleryViewRow, JumpHopPath>,
pub cover_image_src: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub cover_composite: __sdk::__query_builder::Col<JumpHopGalleryViewRow, Option<String>>,
pub publication_status: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub publish_ready: __sdk::__query_builder::Col<JumpHopGalleryViewRow, bool>,
pub play_count: __sdk::__query_builder::Col<JumpHopGalleryViewRow, u32>,
pub generation_status: __sdk::__query_builder::Col<JumpHopGalleryViewRow, String>,
pub updated_at_micros: __sdk::__query_builder::Col<JumpHopGalleryViewRow, i64>,
pub published_at_micros: __sdk::__query_builder::Col<JumpHopGalleryViewRow, Option<i64>>,
}
impl __sdk::__query_builder::HasCols for JumpHopGalleryViewRow {
type Cols = JumpHopGalleryViewRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
JumpHopGalleryViewRowCols {
work_id: __sdk::__query_builder::Col::new(table_name, "work_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
source_session_id: __sdk::__query_builder::Col::new(table_name, "source_session_id"),
author_display_name: __sdk::__query_builder::Col::new(
table_name,
"author_display_name",
),
work_title: __sdk::__query_builder::Col::new(table_name, "work_title"),
work_description: __sdk::__query_builder::Col::new(table_name, "work_description"),
theme_tags: __sdk::__query_builder::Col::new(table_name, "theme_tags"),
difficulty: __sdk::__query_builder::Col::new(table_name, "difficulty"),
style_preset: __sdk::__query_builder::Col::new(table_name, "style_preset"),
character_prompt: __sdk::__query_builder::Col::new(table_name, "character_prompt"),
tile_prompt: __sdk::__query_builder::Col::new(table_name, "tile_prompt"),
end_mood_prompt: __sdk::__query_builder::Col::new(table_name, "end_mood_prompt"),
character_asset: __sdk::__query_builder::Col::new(table_name, "character_asset"),
tile_atlas_asset: __sdk::__query_builder::Col::new(table_name, "tile_atlas_asset"),
tile_assets: __sdk::__query_builder::Col::new(table_name, "tile_assets"),
path: __sdk::__query_builder::Col::new(table_name, "path"),
cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"),
cover_composite: __sdk::__query_builder::Col::new(table_name, "cover_composite"),
publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"),
publish_ready: __sdk::__query_builder::Col::new(table_name, "publish_ready"),
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
generation_status: __sdk::__query_builder::Col::new(table_name, "generation_status"),
updated_at_micros: __sdk::__query_builder::Col::new(table_name, "updated_at_micros"),
published_at_micros: __sdk::__query_builder::Col::new(
table_name,
"published_at_micros",
),
}
}
}

View File

@@ -0,0 +1,116 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::jump_hop_character_asset_snapshot_type::JumpHopCharacterAssetSnapshot;
use super::jump_hop_gallery_view_row_type::JumpHopGalleryViewRow;
use super::jump_hop_path_type::JumpHopPath;
use super::jump_hop_tile_asset_snapshot_type::JumpHopTileAssetSnapshot;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `jump_hop_gallery_view`.
///
/// Obtain a handle from the [`JumpHopGalleryViewTableAccess::jump_hop_gallery_view`] method on [`super::RemoteTables`],
/// like `ctx.db.jump_hop_gallery_view()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_gallery_view().on_insert(...)`.
pub struct JumpHopGalleryViewTableHandle<'ctx> {
imp: __sdk::TableHandle<JumpHopGalleryViewRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `jump_hop_gallery_view`.
///
/// Implemented for [`super::RemoteTables`].
pub trait JumpHopGalleryViewTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`JumpHopGalleryViewTableHandle`], which mediates access to the table `jump_hop_gallery_view`.
fn jump_hop_gallery_view(&self) -> JumpHopGalleryViewTableHandle<'_>;
}
impl JumpHopGalleryViewTableAccess for super::RemoteTables {
fn jump_hop_gallery_view(&self) -> JumpHopGalleryViewTableHandle<'_> {
JumpHopGalleryViewTableHandle {
imp: self
.imp
.get_table::<JumpHopGalleryViewRow>("jump_hop_gallery_view"),
ctx: std::marker::PhantomData,
}
}
}
pub struct JumpHopGalleryViewInsertCallbackId(__sdk::CallbackId);
pub struct JumpHopGalleryViewDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for JumpHopGalleryViewTableHandle<'ctx> {
type Row = JumpHopGalleryViewRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = JumpHopGalleryViewRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = JumpHopGalleryViewInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopGalleryViewInsertCallbackId {
JumpHopGalleryViewInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: JumpHopGalleryViewInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = JumpHopGalleryViewDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopGalleryViewDeleteCallbackId {
JumpHopGalleryViewDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: JumpHopGalleryViewDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache.get_or_make_table::<JumpHopGalleryViewRow>("jump_hop_gallery_view");
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<JumpHopGalleryViewRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<JumpHopGalleryViewRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `JumpHopGalleryViewRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait jump_hop_gallery_viewQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `JumpHopGalleryViewRow`.
fn jump_hop_gallery_view(&self) -> __sdk::__query_builder::Table<JumpHopGalleryViewRow>;
}
impl jump_hop_gallery_viewQueryTableAccess for __sdk::QueryTableAccessor {
fn jump_hop_gallery_view(&self) -> __sdk::__query_builder::Table<JumpHopGalleryViewRow> {
__sdk::__query_builder::Table::new("jump_hop_gallery_view")
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_run_jump_input_type::JumpHopRunJumpInput;
use super::jump_hop_run_procedure_result_type::JumpHopRunProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct JumpHopJumpArgs {
pub input: JumpHopRunJumpInput,
}
impl __sdk::InModule for JumpHopJumpArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `jump_hop_jump`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait jump_hop_jump {
fn jump_hop_jump(&self, input: JumpHopRunJumpInput) {
self.jump_hop_jump_then(input, |_, _| {});
}
fn jump_hop_jump_then(
&self,
input: JumpHopRunJumpInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl jump_hop_jump for super::RemoteProcedures {
fn jump_hop_jump_then(
&self,
input: JumpHopRunJumpInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopRunProcedureResult>(
"jump_hop_jump",
JumpHopJumpArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,22 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
#[derive(Copy, Eq, Hash)]
pub enum JumpHopJumpResultKind {
Miss,
Hit,
Perfect,
Finish,
}
impl __sdk::InModule for JumpHopJumpResultKind {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,22 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_jump_result_kind_type::JumpHopJumpResultKind;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopLastJump {
pub charge_ms: u32,
pub jump_distance: f32,
pub target_platform_index: u32,
pub landed_x: f32,
pub landed_y: f32,
pub result: JumpHopJumpResultKind,
}
impl __sdk::InModule for JumpHopLastJump {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,24 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_difficulty_type::JumpHopDifficulty;
use super::jump_hop_platform_type::JumpHopPlatform;
use super::jump_hop_scoring_type::JumpHopScoring;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopPath {
pub seed: String,
pub difficulty: JumpHopDifficulty,
pub platforms: Vec<JumpHopPlatform>,
pub finish_index: u32,
pub camera_preset: String,
pub scoring: JumpHopScoring,
}
impl __sdk::InModule for JumpHopPath {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,25 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_tile_type_type::JumpHopTileType;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopPlatform {
pub platform_id: String,
pub tile_type: JumpHopTileType,
pub x: f32,
pub y: f32,
pub width: f32,
pub height: f32,
pub landing_radius: f32,
pub perfect_radius: f32,
pub score_value: u32,
}
impl __sdk::InModule for JumpHopPlatform {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRunGetInput {
pub run_id: String,
pub owner_user_id: String,
}
impl __sdk::InModule for JumpHopRunGetInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRunJumpInput {
pub run_id: String,
pub owner_user_id: String,
pub charge_ms: u32,
pub client_event_id: String,
pub jumped_at_ms: i64,
}
impl __sdk::InModule for JumpHopRunJumpInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_run_snapshot_type::JumpHopRunSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRunProcedureResult {
pub ok: bool,
pub run: Option<JumpHopRunSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for JumpHopRunProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRunRestartInput {
pub source_run_id: String,
pub next_run_id: String,
pub owner_user_id: String,
pub client_action_id: String,
pub restarted_at_ms: i64,
}
impl __sdk::InModule for JumpHopRunRestartInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,29 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_last_jump_type::JumpHopLastJump;
use super::jump_hop_path_type::JumpHopPath;
use super::jump_hop_run_status_type::JumpHopRunStatus;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRunSnapshot {
pub run_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub status: JumpHopRunStatus,
pub current_platform_index: u32,
pub score: u32,
pub combo: u32,
pub last_jump: Option<JumpHopLastJump>,
pub started_at_ms: u64,
pub finished_at_ms: Option<u64>,
pub path: JumpHopPath,
}
impl __sdk::InModule for JumpHopRunSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRunStartInput {
pub run_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub client_event_id: String,
pub started_at_ms: i64,
}
impl __sdk::InModule for JumpHopRunStartInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,20 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
#[derive(Copy, Eq, Hash)]
pub enum JumpHopRunStatus {
Playing,
Failed,
Cleared,
}
impl __sdk::InModule for JumpHopRunStatus {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,89 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopRuntimeRunRow {
pub run_id: String,
pub owner_user_id: String,
pub profile_id: String,
pub status: String,
pub started_at_ms: i64,
pub finished_at_ms: i64,
pub current_platform_index: u32,
pub score: u32,
pub combo: u32,
pub snapshot_json: String,
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
}
impl __sdk::InModule for JumpHopRuntimeRunRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `JumpHopRuntimeRunRow`.
///
/// Provides typed access to columns for query building.
pub struct JumpHopRuntimeRunRowCols {
pub run_id: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, String>,
pub profile_id: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, String>,
pub status: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, String>,
pub started_at_ms: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, i64>,
pub finished_at_ms: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, i64>,
pub current_platform_index: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, u32>,
pub score: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, u32>,
pub combo: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, u32>,
pub snapshot_json: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, String>,
pub created_at: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<JumpHopRuntimeRunRow, __sdk::Timestamp>,
}
impl __sdk::__query_builder::HasCols for JumpHopRuntimeRunRow {
type Cols = JumpHopRuntimeRunRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
JumpHopRuntimeRunRowCols {
run_id: __sdk::__query_builder::Col::new(table_name, "run_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
status: __sdk::__query_builder::Col::new(table_name, "status"),
started_at_ms: __sdk::__query_builder::Col::new(table_name, "started_at_ms"),
finished_at_ms: __sdk::__query_builder::Col::new(table_name, "finished_at_ms"),
current_platform_index: __sdk::__query_builder::Col::new(
table_name,
"current_platform_index",
),
score: __sdk::__query_builder::Col::new(table_name, "score"),
combo: __sdk::__query_builder::Col::new(table_name, "combo"),
snapshot_json: __sdk::__query_builder::Col::new(table_name, "snapshot_json"),
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
}
}
}
/// Indexed column accessor struct for the table `JumpHopRuntimeRunRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct JumpHopRuntimeRunRowIxCols {
pub owner_user_id: __sdk::__query_builder::IxCol<JumpHopRuntimeRunRow, String>,
pub profile_id: __sdk::__query_builder::IxCol<JumpHopRuntimeRunRow, String>,
pub run_id: __sdk::__query_builder::IxCol<JumpHopRuntimeRunRow, String>,
}
impl __sdk::__query_builder::HasIxCols for JumpHopRuntimeRunRow {
type IxCols = JumpHopRuntimeRunRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
JumpHopRuntimeRunRowIxCols {
owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"),
run_id: __sdk::__query_builder::IxCol::new(table_name, "run_id"),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for JumpHopRuntimeRunRow {}

View File

@@ -0,0 +1,161 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::jump_hop_runtime_run_row_type::JumpHopRuntimeRunRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `jump_hop_runtime_run`.
///
/// Obtain a handle from the [`JumpHopRuntimeRunTableAccess::jump_hop_runtime_run`] method on [`super::RemoteTables`],
/// like `ctx.db.jump_hop_runtime_run()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_runtime_run().on_insert(...)`.
pub struct JumpHopRuntimeRunTableHandle<'ctx> {
imp: __sdk::TableHandle<JumpHopRuntimeRunRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `jump_hop_runtime_run`.
///
/// Implemented for [`super::RemoteTables`].
pub trait JumpHopRuntimeRunTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`JumpHopRuntimeRunTableHandle`], which mediates access to the table `jump_hop_runtime_run`.
fn jump_hop_runtime_run(&self) -> JumpHopRuntimeRunTableHandle<'_>;
}
impl JumpHopRuntimeRunTableAccess for super::RemoteTables {
fn jump_hop_runtime_run(&self) -> JumpHopRuntimeRunTableHandle<'_> {
JumpHopRuntimeRunTableHandle {
imp: self
.imp
.get_table::<JumpHopRuntimeRunRow>("jump_hop_runtime_run"),
ctx: std::marker::PhantomData,
}
}
}
pub struct JumpHopRuntimeRunInsertCallbackId(__sdk::CallbackId);
pub struct JumpHopRuntimeRunDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for JumpHopRuntimeRunTableHandle<'ctx> {
type Row = JumpHopRuntimeRunRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = JumpHopRuntimeRunRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = JumpHopRuntimeRunInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopRuntimeRunInsertCallbackId {
JumpHopRuntimeRunInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: JumpHopRuntimeRunInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = JumpHopRuntimeRunDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopRuntimeRunDeleteCallbackId {
JumpHopRuntimeRunDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: JumpHopRuntimeRunDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct JumpHopRuntimeRunUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for JumpHopRuntimeRunTableHandle<'ctx> {
type UpdateCallbackId = JumpHopRuntimeRunUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> JumpHopRuntimeRunUpdateCallbackId {
JumpHopRuntimeRunUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: JumpHopRuntimeRunUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `run_id` unique index on the table `jump_hop_runtime_run`,
/// which allows point queries on the field of the same name
/// via the [`JumpHopRuntimeRunRunIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_runtime_run().run_id().find(...)`.
pub struct JumpHopRuntimeRunRunIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<JumpHopRuntimeRunRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> JumpHopRuntimeRunTableHandle<'ctx> {
/// Get a handle on the `run_id` unique index on the table `jump_hop_runtime_run`.
pub fn run_id(&self) -> JumpHopRuntimeRunRunIdUnique<'ctx> {
JumpHopRuntimeRunRunIdUnique {
imp: self.imp.get_unique_constraint::<String>("run_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> JumpHopRuntimeRunRunIdUnique<'ctx> {
/// Find the subscribed row whose `run_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<JumpHopRuntimeRunRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache.get_or_make_table::<JumpHopRuntimeRunRow>("jump_hop_runtime_run");
_table.add_unique_constraint::<String>("run_id", |row| &row.run_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<JumpHopRuntimeRunRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<JumpHopRuntimeRunRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `JumpHopRuntimeRunRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait jump_hop_runtime_runQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `JumpHopRuntimeRunRow`.
fn jump_hop_runtime_run(&self) -> __sdk::__query_builder::Table<JumpHopRuntimeRunRow>;
}
impl jump_hop_runtime_runQueryTableAccess for __sdk::QueryTableAccessor {
fn jump_hop_runtime_run(&self) -> __sdk::__query_builder::Table<JumpHopRuntimeRunRow> {
__sdk::__query_builder::Table::new("jump_hop_runtime_run")
}
}

View File

@@ -0,0 +1,18 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopScoring {
pub charge_to_distance_ratio: f32,
pub max_charge_ms: u32,
pub hit_bonus: u32,
pub perfect_bonus: u32,
}
impl __sdk::InModule for JumpHopScoring {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,23 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopTileAssetSnapshot {
pub tile_type: String,
pub image_src: String,
pub image_object_key: String,
pub asset_object_id: String,
pub source_atlas_cell: String,
pub visual_width: u32,
pub visual_height: u32,
pub top_surface_radius: f32,
pub landing_radius: f32,
}
impl __sdk::InModule for JumpHopTileAssetSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,26 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
#[derive(Copy, Eq, Hash)]
pub enum JumpHopTileType {
Start,
Normal,
Target,
Finish,
Bonus,
Accent,
}
impl __sdk::InModule for JumpHopTileType {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorkGetInput {
pub profile_id: String,
pub owner_user_id: String,
}
impl __sdk::InModule for JumpHopWorkGetInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_work_snapshot_type::JumpHopWorkSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorkProcedureResult {
pub ok: bool,
pub work: Option<JumpHopWorkSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for JumpHopWorkProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,134 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorkProfileRow {
pub profile_id: String,
pub work_id: String,
pub owner_user_id: String,
pub source_session_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: String,
pub difficulty: String,
pub style_preset: String,
pub character_prompt: String,
pub tile_prompt: String,
pub end_mood_prompt: String,
pub character_asset_json: String,
pub tile_atlas_asset_json: String,
pub tile_assets_json: String,
pub path_json: String,
pub cover_image_src: String,
pub cover_composite: String,
pub generation_status: String,
pub publication_status: String,
pub play_count: u32,
pub updated_at: __sdk::Timestamp,
pub published_at: Option<__sdk::Timestamp>,
}
impl __sdk::InModule for JumpHopWorkProfileRow {
type Module = super::RemoteModule;
}
/// Column accessor struct for the table `JumpHopWorkProfileRow`.
///
/// Provides typed access to columns for query building.
pub struct JumpHopWorkProfileRowCols {
pub profile_id: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub work_id: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub owner_user_id: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub source_session_id: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub author_display_name: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub work_title: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub work_description: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub theme_tags_json: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub difficulty: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub style_preset: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub character_prompt: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub tile_prompt: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub end_mood_prompt: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub character_asset_json: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub tile_atlas_asset_json: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub tile_assets_json: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub path_json: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub cover_image_src: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub cover_composite: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub generation_status: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub publication_status: __sdk::__query_builder::Col<JumpHopWorkProfileRow, String>,
pub play_count: __sdk::__query_builder::Col<JumpHopWorkProfileRow, u32>,
pub updated_at: __sdk::__query_builder::Col<JumpHopWorkProfileRow, __sdk::Timestamp>,
pub published_at: __sdk::__query_builder::Col<JumpHopWorkProfileRow, Option<__sdk::Timestamp>>,
}
impl __sdk::__query_builder::HasCols for JumpHopWorkProfileRow {
type Cols = JumpHopWorkProfileRowCols;
fn cols(table_name: &'static str) -> Self::Cols {
JumpHopWorkProfileRowCols {
profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"),
work_id: __sdk::__query_builder::Col::new(table_name, "work_id"),
owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"),
source_session_id: __sdk::__query_builder::Col::new(table_name, "source_session_id"),
author_display_name: __sdk::__query_builder::Col::new(
table_name,
"author_display_name",
),
work_title: __sdk::__query_builder::Col::new(table_name, "work_title"),
work_description: __sdk::__query_builder::Col::new(table_name, "work_description"),
theme_tags_json: __sdk::__query_builder::Col::new(table_name, "theme_tags_json"),
difficulty: __sdk::__query_builder::Col::new(table_name, "difficulty"),
style_preset: __sdk::__query_builder::Col::new(table_name, "style_preset"),
character_prompt: __sdk::__query_builder::Col::new(table_name, "character_prompt"),
tile_prompt: __sdk::__query_builder::Col::new(table_name, "tile_prompt"),
end_mood_prompt: __sdk::__query_builder::Col::new(table_name, "end_mood_prompt"),
character_asset_json: __sdk::__query_builder::Col::new(
table_name,
"character_asset_json",
),
tile_atlas_asset_json: __sdk::__query_builder::Col::new(
table_name,
"tile_atlas_asset_json",
),
tile_assets_json: __sdk::__query_builder::Col::new(table_name, "tile_assets_json"),
path_json: __sdk::__query_builder::Col::new(table_name, "path_json"),
cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"),
cover_composite: __sdk::__query_builder::Col::new(table_name, "cover_composite"),
generation_status: __sdk::__query_builder::Col::new(table_name, "generation_status"),
publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"),
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
}
}
}
/// Indexed column accessor struct for the table `JumpHopWorkProfileRow`.
///
/// Provides typed access to indexed columns for query building.
pub struct JumpHopWorkProfileRowIxCols {
pub owner_user_id: __sdk::__query_builder::IxCol<JumpHopWorkProfileRow, String>,
pub profile_id: __sdk::__query_builder::IxCol<JumpHopWorkProfileRow, String>,
pub publication_status: __sdk::__query_builder::IxCol<JumpHopWorkProfileRow, String>,
}
impl __sdk::__query_builder::HasIxCols for JumpHopWorkProfileRow {
type IxCols = JumpHopWorkProfileRowIxCols;
fn ix_cols(table_name: &'static str) -> Self::IxCols {
JumpHopWorkProfileRowIxCols {
owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"),
profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"),
publication_status: __sdk::__query_builder::IxCol::new(
table_name,
"publication_status",
),
}
}
}
impl __sdk::__query_builder::CanBeLookupTable for JumpHopWorkProfileRow {}

View File

@@ -0,0 +1,161 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use super::jump_hop_work_profile_row_type::JumpHopWorkProfileRow;
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
/// Table handle for the table `jump_hop_work_profile`.
///
/// Obtain a handle from the [`JumpHopWorkProfileTableAccess::jump_hop_work_profile`] method on [`super::RemoteTables`],
/// like `ctx.db.jump_hop_work_profile()`.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_work_profile().on_insert(...)`.
pub struct JumpHopWorkProfileTableHandle<'ctx> {
imp: __sdk::TableHandle<JumpHopWorkProfileRow>,
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the table `jump_hop_work_profile`.
///
/// Implemented for [`super::RemoteTables`].
pub trait JumpHopWorkProfileTableAccess {
#[allow(non_snake_case)]
/// Obtain a [`JumpHopWorkProfileTableHandle`], which mediates access to the table `jump_hop_work_profile`.
fn jump_hop_work_profile(&self) -> JumpHopWorkProfileTableHandle<'_>;
}
impl JumpHopWorkProfileTableAccess for super::RemoteTables {
fn jump_hop_work_profile(&self) -> JumpHopWorkProfileTableHandle<'_> {
JumpHopWorkProfileTableHandle {
imp: self
.imp
.get_table::<JumpHopWorkProfileRow>("jump_hop_work_profile"),
ctx: std::marker::PhantomData,
}
}
}
pub struct JumpHopWorkProfileInsertCallbackId(__sdk::CallbackId);
pub struct JumpHopWorkProfileDeleteCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::Table for JumpHopWorkProfileTableHandle<'ctx> {
type Row = JumpHopWorkProfileRow;
type EventContext = super::EventContext;
fn count(&self) -> u64 {
self.imp.count()
}
fn iter(&self) -> impl Iterator<Item = JumpHopWorkProfileRow> + '_ {
self.imp.iter()
}
type InsertCallbackId = JumpHopWorkProfileInsertCallbackId;
fn on_insert(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopWorkProfileInsertCallbackId {
JumpHopWorkProfileInsertCallbackId(self.imp.on_insert(Box::new(callback)))
}
fn remove_on_insert(&self, callback: JumpHopWorkProfileInsertCallbackId) {
self.imp.remove_on_insert(callback.0)
}
type DeleteCallbackId = JumpHopWorkProfileDeleteCallbackId;
fn on_delete(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
) -> JumpHopWorkProfileDeleteCallbackId {
JumpHopWorkProfileDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
}
fn remove_on_delete(&self, callback: JumpHopWorkProfileDeleteCallbackId) {
self.imp.remove_on_delete(callback.0)
}
}
pub struct JumpHopWorkProfileUpdateCallbackId(__sdk::CallbackId);
impl<'ctx> __sdk::TableWithPrimaryKey for JumpHopWorkProfileTableHandle<'ctx> {
type UpdateCallbackId = JumpHopWorkProfileUpdateCallbackId;
fn on_update(
&self,
callback: impl FnMut(&Self::EventContext, &Self::Row, &Self::Row) + Send + 'static,
) -> JumpHopWorkProfileUpdateCallbackId {
JumpHopWorkProfileUpdateCallbackId(self.imp.on_update(Box::new(callback)))
}
fn remove_on_update(&self, callback: JumpHopWorkProfileUpdateCallbackId) {
self.imp.remove_on_update(callback.0)
}
}
/// Access to the `profile_id` unique index on the table `jump_hop_work_profile`,
/// which allows point queries on the field of the same name
/// via the [`JumpHopWorkProfileProfileIdUnique::find`] method.
///
/// Users are encouraged not to explicitly reference this type,
/// but to directly chain method calls,
/// like `ctx.db.jump_hop_work_profile().profile_id().find(...)`.
pub struct JumpHopWorkProfileProfileIdUnique<'ctx> {
imp: __sdk::UniqueConstraintHandle<JumpHopWorkProfileRow, String>,
phantom: std::marker::PhantomData<&'ctx super::RemoteTables>,
}
impl<'ctx> JumpHopWorkProfileTableHandle<'ctx> {
/// Get a handle on the `profile_id` unique index on the table `jump_hop_work_profile`.
pub fn profile_id(&self) -> JumpHopWorkProfileProfileIdUnique<'ctx> {
JumpHopWorkProfileProfileIdUnique {
imp: self.imp.get_unique_constraint::<String>("profile_id"),
phantom: std::marker::PhantomData,
}
}
}
impl<'ctx> JumpHopWorkProfileProfileIdUnique<'ctx> {
/// Find the subscribed row whose `profile_id` column value is equal to `col_val`,
/// if such a row is present in the client cache.
pub fn find(&self, col_val: &String) -> Option<JumpHopWorkProfileRow> {
self.imp.find(col_val)
}
}
#[doc(hidden)]
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
let _table = client_cache.get_or_make_table::<JumpHopWorkProfileRow>("jump_hop_work_profile");
_table.add_unique_constraint::<String>("profile_id", |row| &row.profile_id);
}
#[doc(hidden)]
pub(super) fn parse_table_update(
raw_updates: __ws::v2::TableUpdate,
) -> __sdk::Result<__sdk::TableUpdate<JumpHopWorkProfileRow>> {
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
__sdk::InternalError::failed_parse("TableUpdate<JumpHopWorkProfileRow>", "TableUpdate")
.with_cause(e)
.into()
})
}
#[allow(non_camel_case_types)]
/// Extension trait for query builder access to the table `JumpHopWorkProfileRow`.
///
/// Implemented for [`__sdk::QueryTableAccessor`].
pub trait jump_hop_work_profileQueryTableAccess {
#[allow(non_snake_case)]
/// Get a query builder for the table `JumpHopWorkProfileRow`.
fn jump_hop_work_profile(&self) -> __sdk::__query_builder::Table<JumpHopWorkProfileRow>;
}
impl jump_hop_work_profileQueryTableAccess for __sdk::QueryTableAccessor {
fn jump_hop_work_profile(&self) -> __sdk::__query_builder::Table<JumpHopWorkProfileRow> {
__sdk::__query_builder::Table::new("jump_hop_work_profile")
}
}

View File

@@ -0,0 +1,17 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorkPublishInput {
pub profile_id: String,
pub owner_user_id: String,
pub published_at_micros: i64,
}
impl __sdk::InModule for JumpHopWorkPublishInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,43 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_character_asset_snapshot_type::JumpHopCharacterAssetSnapshot;
use super::jump_hop_path_type::JumpHopPath;
use super::jump_hop_tile_asset_snapshot_type::JumpHopTileAssetSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorkSnapshot {
pub work_id: String,
pub profile_id: String,
pub owner_user_id: String,
pub source_session_id: String,
pub author_display_name: String,
pub work_title: String,
pub work_description: String,
pub theme_tags: Vec<String>,
pub difficulty: String,
pub style_preset: String,
pub character_prompt: String,
pub tile_prompt: String,
pub end_mood_prompt: Option<String>,
pub character_asset: Option<JumpHopCharacterAssetSnapshot>,
pub tile_atlas_asset: Option<JumpHopCharacterAssetSnapshot>,
pub tile_assets: Vec<JumpHopTileAssetSnapshot>,
pub path: JumpHopPath,
pub cover_image_src: String,
pub cover_composite: Option<String>,
pub publication_status: String,
pub publish_ready: bool,
pub play_count: u32,
pub generation_status: String,
pub updated_at_micros: i64,
pub published_at_micros: Option<i64>,
}
impl __sdk::InModule for JumpHopWorkSnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,24 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorkUpdateInput {
pub profile_id: String,
pub owner_user_id: String,
pub work_title: String,
pub work_description: String,
pub theme_tags_json: String,
pub difficulty: Option<String>,
pub style_preset: Option<String>,
pub cover_image_src: Option<String>,
pub cover_composite: Option<String>,
pub updated_at_micros: i64,
}
impl __sdk::InModule for JumpHopWorkUpdateInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,16 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorksListInput {
pub owner_user_id: String,
pub published_only: bool,
}
impl __sdk::InModule for JumpHopWorksListInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_work_snapshot_type::JumpHopWorkSnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct JumpHopWorksProcedureResult {
pub ok: bool,
pub items: Vec<JumpHopWorkSnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for JumpHopWorksProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_works_list_input_type::JumpHopWorksListInput;
use super::jump_hop_works_procedure_result_type::JumpHopWorksProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct ListJumpHopWorksArgs {
pub input: JumpHopWorksListInput,
}
impl __sdk::InModule for ListJumpHopWorksArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `list_jump_hop_works`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait list_jump_hop_works {
fn list_jump_hop_works(&self, input: JumpHopWorksListInput) {
self.list_jump_hop_works_then(input, |_, _| {});
}
fn list_jump_hop_works_then(
&self,
input: JumpHopWorksListInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorksProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl list_jump_hop_works for super::RemoteProcedures {
fn list_jump_hop_works_then(
&self,
input: JumpHopWorksListInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorksProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopWorksProcedureResult>(
"list_jump_hop_works",
ListJumpHopWorksArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_work_procedure_result_type::JumpHopWorkProcedureResult;
use super::jump_hop_work_publish_input_type::JumpHopWorkPublishInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct PublishJumpHopWorkArgs {
pub input: JumpHopWorkPublishInput,
}
impl __sdk::InModule for PublishJumpHopWorkArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `publish_jump_hop_work`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait publish_jump_hop_work {
fn publish_jump_hop_work(&self, input: JumpHopWorkPublishInput) {
self.publish_jump_hop_work_then(input, |_, _| {});
}
fn publish_jump_hop_work_then(
&self,
input: JumpHopWorkPublishInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl publish_jump_hop_work for super::RemoteProcedures {
fn publish_jump_hop_work_then(
&self,
input: JumpHopWorkPublishInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopWorkProcedureResult>(
"publish_jump_hop_work",
PublishJumpHopWorkArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_run_procedure_result_type::JumpHopRunProcedureResult;
use super::jump_hop_run_restart_input_type::JumpHopRunRestartInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct RestartJumpHopRunArgs {
pub input: JumpHopRunRestartInput,
}
impl __sdk::InModule for RestartJumpHopRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `restart_jump_hop_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait restart_jump_hop_run {
fn restart_jump_hop_run(&self, input: JumpHopRunRestartInput) {
self.restart_jump_hop_run_then(input, |_, _| {});
}
fn restart_jump_hop_run_then(
&self,
input: JumpHopRunRestartInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl restart_jump_hop_run for super::RemoteProcedures {
fn restart_jump_hop_run_then(
&self,
input: JumpHopRunRestartInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopRunProcedureResult>(
"restart_jump_hop_run",
RestartJumpHopRunArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_run_procedure_result_type::JumpHopRunProcedureResult;
use super::jump_hop_run_start_input_type::JumpHopRunStartInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct StartJumpHopRunArgs {
pub input: JumpHopRunStartInput,
}
impl __sdk::InModule for StartJumpHopRunArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `start_jump_hop_run`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait start_jump_hop_run {
fn start_jump_hop_run(&self, input: JumpHopRunStartInput) {
self.start_jump_hop_run_then(input, |_, _| {});
}
fn start_jump_hop_run_then(
&self,
input: JumpHopRunStartInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl start_jump_hop_run for super::RemoteProcedures {
fn start_jump_hop_run_then(
&self,
input: JumpHopRunStartInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopRunProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopRunProcedureResult>(
"start_jump_hop_run",
StartJumpHopRunArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::jump_hop_work_procedure_result_type::JumpHopWorkProcedureResult;
use super::jump_hop_work_update_input_type::JumpHopWorkUpdateInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct UpdateJumpHopWorkArgs {
pub input: JumpHopWorkUpdateInput,
}
impl __sdk::InModule for UpdateJumpHopWorkArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `update_jump_hop_work`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait update_jump_hop_work {
fn update_jump_hop_work(&self, input: JumpHopWorkUpdateInput) {
self.update_jump_hop_work_then(input, |_, _| {});
}
fn update_jump_hop_work_then(
&self,
input: JumpHopWorkUpdateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl update_jump_hop_work for super::RemoteProcedures {
fn update_jump_hop_work_then(
&self,
input: JumpHopWorkUpdateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<JumpHopWorkProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, JumpHopWorkProcedureResult>(
"update_jump_hop_work",
UpdateJumpHopWorkArgs { input },
__callback,
);
}
}

View File

@@ -595,7 +595,18 @@ impl SpacetimeClient {
let procedure_inputs = events
.into_iter()
.map(crate::module_bindings::RuntimeTrackingEventInput::from)
.map(|event| crate::module_bindings::RuntimeTrackingEventInput {
event_id: event.event_id,
event_key: event.event_key,
scope_kind: map_runtime_tracking_scope_kind(event.scope_kind),
scope_id: event.scope_id,
user_id: event.user_id,
owner_user_id: event.owner_user_id,
profile_id: event.profile_id,
module_key: event.module_key,
metadata_json: event.metadata_json,
occurred_at_micros: event.occurred_at_micros,
})
.collect::<Vec<_>>();
self.call_after_connect(