From 70b5a7cf73bef94b4703c382de918ea53a668301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E7=89=A9?= <253518756@qq.com> Date: Fri, 24 Apr 2026 12:21:33 +0800 Subject: [PATCH] 1 --- .env.example | 10 +- .env.local | 7 +- ..._NODE_FREEZE_AND_DEPRECATION_2026-04-24.md | 40 + ...SPONSIVE_LAYOUT_OPTIMIZATION_2026-04-24.md | 35 + docs/experience/AGENT_UI_CHANGELOG.md | 29 +- ...NTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md | 13 +- ...NCHOR_TEMPLATE_COMMONIZATION_2026-04-24.md | 66 + ...SH_GATE_SCHEMA_ALIGNMENT_FIX_2026-04-23.md | 21 + ..._ENTITY_ACTIONS_RS_MIGRATION_2026-04-24.md | 85 + ...N_RS_NODE_WORKFLOW_ALIGNMENT_2026-04-24.md | 54 + ...RESULT_ENTITY_GENERATION_FIX_2026-04-24.md | 40 + docs/technical/README.md | 1 + ...SULT_EDITING_MIGRATION_AUDIT_2026-04-24.md | 55 + ...REATION_AGENT_CHAT_FRAMEWORK_2026-04-22.md | 7 +- package.json | 23 +- .../shared/src/contracts/rpgAgentActions.ts | 11 +- scripts/check-server-node-freeze.mjs | 127 ++ scripts/server-node-freeze-baseline.json | 1241 ++++++++++++ scripts/server-node-frozen.mjs | 8 + server-node/data/.gitkeep | 1 - server-node/logs/.gitkeep | 1 - server-rs/crates/api-server/src/big_fish.rs | 105 +- .../api-server/src/big_fish_agent_turn.rs | 312 +++ .../src/creation_agent_anchor_templates.json | 127 ++ .../src/creation_agent_anchor_templates.rs | 67 + .../crates/api-server/src/custom_world.rs | 60 +- .../src/custom_world_agent_entities.rs | 641 ++++++ .../src/custom_world_foundation_draft.rs | 1149 ++++++++++- server-rs/crates/api-server/src/main.rs | 3 + .../api-server/src/puzzle_agent_turn.rs | 17 +- server-rs/crates/module-big-fish/src/lib.rs | 20 + .../crates/module-custom-world/src/lib.rs | 4 + .../crates/shared-contracts/src/runtime.rs | 2 + server-rs/crates/spacetime-client/src/lib.rs | 59 + .../module_bindings/accept_quest_reducer.rs | 38 +- .../acknowledge_quest_completion_reducer.rs | 38 +- .../advance_puzzle_next_level_procedure.rs | 39 +- .../ai_result_reference_input_type.rs | 11 +- .../ai_result_reference_kind_type.rs | 11 +- .../ai_result_reference_snapshot_type.rs | 11 +- .../ai_result_reference_table.rs | 118 +- .../ai_result_reference_type.rs | 26 +- .../ai_stage_completion_input_type.rs | 15 +- .../ai_task_cancel_input_type.rs | 10 +- .../ai_task_create_input_type.rs | 15 +- .../ai_task_failure_input_type.rs | 10 +- .../ai_task_finish_input_type.rs | 10 +- .../src/module_bindings/ai_task_kind_type.rs | 11 +- .../ai_task_procedure_result_type.rs | 15 +- .../module_bindings/ai_task_snapshot_type.rs | 31 +- .../ai_task_stage_blueprint_type.rs | 9 +- .../ai_task_stage_kind_type.rs | 11 +- .../ai_task_stage_snapshot_type.rs | 19 +- .../ai_task_stage_start_input_type.rs | 9 +- .../ai_task_stage_status_type.rs | 11 +- .../module_bindings/ai_task_stage_table.rs | 108 +- .../src/module_bindings/ai_task_stage_type.rs | 37 +- .../ai_task_start_input_type.rs | 10 +- .../module_bindings/ai_task_status_type.rs | 11 +- .../src/module_bindings/ai_task_table.rs | 108 +- .../src/module_bindings/ai_task_type.rs | 50 +- .../ai_text_chunk_append_input_type.rs | 9 +- .../ai_text_chunk_snapshot_type.rs | 9 +- .../module_bindings/ai_text_chunk_table.rs | 110 +- .../src/module_bindings/ai_text_chunk_type.rs | 12 +- ...pend_ai_text_chunk_and_return_procedure.rs | 41 +- ...ssion_ledger_entry_and_return_procedure.rs | 42 +- ...hapter_progression_ledger_entry_reducer.rs | 43 +- .../apply_inventory_mutation_reducer.rs | 38 +- .../apply_quest_signal_reducer.rs | 38 +- .../asset_entity_binding_input_type.rs | 14 +- ...et_entity_binding_procedure_result_type.rs | 13 +- .../asset_entity_binding_snapshot_type.rs | 14 +- .../asset_entity_binding_table.rs | 110 +- .../asset_entity_binding_type.rs | 21 +- .../asset_object_access_policy_type.rs | 11 +- .../asset_object_procedure_result_type.rs | 13 +- .../src/module_bindings/asset_object_table.rs | 108 +- .../src/module_bindings/asset_object_type.rs | 36 +- .../asset_object_upsert_input_type.rs | 21 +- .../asset_object_upsert_snapshot_type.rs | 21 +- ...i_result_reference_and_return_procedure.rs | 41 +- .../src/module_bindings/battle_mode_type.rs | 11 +- .../battle_state_input_type.rs | 13 +- .../battle_state_procedure_result_type.rs | 13 +- .../battle_state_query_input_type.rs | 10 +- .../battle_state_snapshot_type.rs | 21 +- .../src/module_bindings/battle_state_table.rs | 110 +- .../src/module_bindings/battle_state_type.rs | 44 +- .../src/module_bindings/battle_status_type.rs | 11 +- ...egin_story_session_and_return_procedure.rs | 39 +- .../begin_story_session_reducer.rs | 38 +- .../big_fish_agent_message_kind_type.rs | 11 +- .../big_fish_agent_message_role_type.rs | 11 +- .../big_fish_agent_message_snapshot_type.rs | 11 +- .../big_fish_agent_message_table.rs | 114 +- .../big_fish_agent_message_type.rs | 14 +- .../big_fish_anchor_item_type.rs | 9 +- .../big_fish_anchor_pack_type.rs | 9 +- .../big_fish_anchor_status_type.rs | 11 +- .../big_fish_asset_coverage_type.rs | 12 +- .../big_fish_asset_generate_input_type.rs | 15 +- .../big_fish_asset_kind_type.rs | 11 +- .../big_fish_asset_slot_snapshot_type.rs | 15 +- .../big_fish_asset_slot_table.rs | 112 +- .../big_fish_asset_slot_type.rs | 24 +- .../big_fish_asset_status_type.rs | 11 +- .../big_fish_background_blueprint_type.rs | 10 +- .../big_fish_creation_session_table.rs | 113 +- .../big_fish_creation_session_type.rs | 30 +- .../big_fish_creation_stage_type.rs | 11 +- .../big_fish_draft_compile_input_type.rs | 10 +- .../big_fish_game_draft_type.rs | 13 +- .../big_fish_level_blueprint_type.rs | 16 +- .../big_fish_message_finalize_input_type.rs | 32 + .../big_fish_message_submit_input_type.rs | 10 +- .../big_fish_publish_input_type.rs | 10 +- .../big_fish_run_get_input_type.rs | 10 +- .../big_fish_run_input_submit_input_type.rs | 10 +- .../big_fish_run_procedure_result_type.rs | 13 +- .../big_fish_run_start_input_type.rs | 10 +- .../big_fish_run_status_type.rs | 11 +- .../big_fish_runtime_entity_type.rs | 9 +- .../big_fish_runtime_params_type.rs | 14 +- .../big_fish_runtime_run_table.rs | 112 +- .../big_fish_runtime_run_type.rs | 12 +- .../big_fish_runtime_snapshot_type.rs | 17 +- .../big_fish_session_create_input_type.rs | 10 +- .../big_fish_session_get_input_type.rs | 10 +- .../big_fish_session_procedure_result_type.rs | 13 +- .../big_fish_session_snapshot_type.rs | 25 +- .../module_bindings/big_fish_vector_2_type.rs | 10 +- .../big_fish_works_list_input_type.rs | 10 +- .../big_fish_works_procedure_result_type.rs | 14 +- ...t_object_to_entity_and_return_procedure.rs | 39 +- .../bind_asset_object_to_entity_reducer.rs | 38 +- .../cancel_ai_task_and_return_procedure.rs | 41 +- .../module_bindings/chapter_pace_band_type.rs | 11 +- .../chapter_progression_get_input_type.rs | 10 +- .../chapter_progression_input_type.rs | 9 +- .../chapter_progression_ledger_input_type.rs | 12 +- ...apter_progression_procedure_result_type.rs | 13 +- .../chapter_progression_snapshot_type.rs | 11 +- .../chapter_progression_table.rs | 118 +- .../chapter_progression_type.rs | 46 +- ...orm_browse_history_and_return_procedure.rs | 39 +- .../module_bindings/combat_outcome_type.rs | 11 +- .../compile_big_fish_draft_procedure.rs | 39 +- ...ustom_world_published_profile_procedure.rs | 42 +- .../compile_puzzle_agent_draft_procedure.rs | 41 +- .../complete_ai_stage_and_return_procedure.rs | 41 +- .../complete_ai_task_and_return_procedure.rs | 41 +- ...nfirm_asset_object_and_return_procedure.rs | 41 +- .../confirm_asset_object_reducer.rs | 38 +- .../consume_inventory_item_input_type.rs | 10 +- .../continue_story_and_return_procedure.rs | 41 +- .../module_bindings/continue_story_reducer.rs | 38 +- .../create_ai_task_and_return_procedure.rs | 41 +- .../module_bindings/create_ai_task_reducer.rs | 38 +- ...reate_battle_state_and_return_procedure.rs | 39 +- .../create_battle_state_reducer.rs | 38 +- .../create_big_fish_session_procedure.rs | 41 +- ...te_custom_world_agent_session_procedure.rs | 39 +- .../create_puzzle_agent_session_procedure.rs | 41 +- ...m_world_agent_action_execute_input_type.rs | 12 +- ..._world_agent_action_execute_result_type.rs | 13 +- ..._world_agent_card_detail_get_input_type.rs | 10 +- ...world_agent_message_finalize_input_type.rs | 25 +- ...ustom_world_agent_message_snapshot_type.rs | 13 +- ...m_world_agent_message_submit_input_type.rs | 10 +- .../custom_world_agent_message_table.rs | 115 +- .../custom_world_agent_message_type.rs | 23 +- ...om_world_agent_operation_get_input_type.rs | 10 +- ...d_agent_operation_procedure_result_type.rs | 13 +- ...tom_world_agent_operation_snapshot_type.rs | 13 +- .../custom_world_agent_operation_table.rs | 119 +- .../custom_world_agent_operation_type.rs | 21 +- ...m_world_agent_session_create_input_type.rs | 18 +- ...stom_world_agent_session_get_input_type.rs | 10 +- ...rld_agent_session_procedure_result_type.rs | 13 +- ...ustom_world_agent_session_snapshot_type.rs | 37 +- .../custom_world_agent_session_table.rs | 113 +- .../custom_world_agent_session_type.rs | 94 +- ...tom_world_draft_card_detail_result_type.rs | 13 +- ...draft_card_detail_section_snapshot_type.rs | 10 +- ...m_world_draft_card_detail_snapshot_type.rs | 19 +- .../custom_world_draft_card_snapshot_type.rs | 17 +- .../custom_world_draft_card_table.rs | 112 +- .../custom_world_draft_card_type.rs | 32 +- ...world_gallery_detail_by_code_input_type.rs | 10 +- .../custom_world_gallery_detail_input_type.rs | 10 +- ...ustom_world_gallery_entry_snapshot_type.rs | 11 +- .../custom_world_gallery_entry_table.rs | 113 +- .../custom_world_gallery_entry_type.rs | 26 +- .../custom_world_gallery_list_result_type.rs | 13 +- .../custom_world_generation_mode_type.rs | 11 +- .../custom_world_library_detail_input_type.rs | 10 +- ...stom_world_library_mutation_result_type.rs | 17 +- .../custom_world_profile_delete_input_type.rs | 10 +- .../custom_world_profile_list_input_type.rs | 10 +- .../custom_world_profile_list_result_type.rs | 13 +- ...custom_world_profile_publish_input_type.rs | 12 +- .../custom_world_profile_snapshot_type.rs | 23 +- .../custom_world_profile_table.rs | 112 +- .../custom_world_profile_type.rs | 69 +- ...stom_world_profile_unpublish_input_type.rs | 10 +- .../custom_world_profile_upsert_input_type.rs | 17 +- .../custom_world_publication_status_type.rs | 11 +- .../custom_world_publish_world_input_type.rs | 14 +- .../custom_world_publish_world_result_type.rs | 23 +- ...ld_published_profile_compile_input_type.rs | 12 +- ...d_published_profile_compile_result_type.rs | 13 +- ...published_profile_compile_snapshot_type.rs | 11 +- .../custom_world_role_asset_status_type.rs | 11 +- .../custom_world_session_status_type.rs | 11 +- .../custom_world_session_table.rs | 112 +- .../custom_world_session_type.rs | 39 +- .../custom_world_theme_mode_type.rs | 11 +- ...custom_world_work_summary_snapshot_type.rs | 29 +- .../custom_world_works_list_input_type.rs | 10 +- .../custom_world_works_list_result_type.rs | 13 +- ...stom_world_profile_and_return_procedure.rs | 39 +- ...e_runtime_snapshot_and_return_procedure.rs | 39 +- .../drag_puzzle_piece_or_group_procedure.rs | 41 +- .../equip_inventory_item_input_type.rs | 10 +- ...ute_custom_world_agent_action_procedure.rs | 39 +- .../fail_ai_task_and_return_procedure.rs | 41 +- ...e_big_fish_agent_message_turn_procedure.rs | 58 + ...stom_world_agent_message_turn_procedure.rs | 42 +- ...ize_puzzle_agent_message_turn_procedure.rs | 41 +- .../generate_big_fish_asset_procedure.rs | 41 +- .../get_battle_state_procedure.rs | 39 +- .../get_big_fish_run_procedure.rs | 39 +- .../get_big_fish_session_procedure.rs | 41 +- .../get_chapter_progression_procedure.rs | 41 +- ...ustom_world_agent_card_detail_procedure.rs | 39 +- ..._custom_world_agent_operation_procedure.rs | 41 +- ...et_custom_world_agent_session_procedure.rs | 41 +- ..._world_gallery_detail_by_code_procedure.rs | 41 +- ...t_custom_world_gallery_detail_procedure.rs | 39 +- ...t_custom_world_library_detail_procedure.rs | 41 +- ...player_progression_or_default_procedure.rs | 39 +- .../get_profile_dashboard_procedure.rs | 39 +- .../get_profile_play_stats_procedure.rs | 39 +- .../get_puzzle_agent_session_procedure.rs | 41 +- .../get_puzzle_gallery_detail_procedure.rs | 39 +- .../get_puzzle_run_procedure.rs | 41 +- .../get_puzzle_work_detail_procedure.rs | 39 +- .../get_runtime_inventory_state_procedure.rs | 41 +- ...et_runtime_setting_or_default_procedure.rs | 39 +- .../get_runtime_snapshot_procedure.rs | 41 +- .../get_story_session_state_procedure.rs | 39 +- .../grant_inventory_item_input_type.rs | 9 +- ...ression_experience_and_return_procedure.rs | 41 +- ...t_player_progression_experience_reducer.rs | 41 +- .../inventory_container_kind_type.rs | 11 +- .../inventory_equipment_slot_type.rs | 11 +- .../inventory_item_rarity_type.rs | 11 +- .../inventory_item_snapshot_type.rs | 19 +- .../inventory_item_source_kind_type.rs | 11 +- .../inventory_mutation_input_type.rs | 11 +- .../inventory_mutation_type.rs | 13 +- .../inventory_slot_snapshot_type.rs | 23 +- .../module_bindings/inventory_slot_table.rs | 114 +- .../module_bindings/inventory_slot_type.rs | 47 +- .../list_big_fish_works_procedure.rs | 39 +- ..._custom_world_gallery_entries_procedure.rs | 43 +- .../list_custom_world_profiles_procedure.rs | 41 +- .../list_custom_world_works_procedure.rs | 39 +- .../list_platform_browse_history_procedure.rs | 41 +- .../list_profile_save_archives_procedure.rs | 39 +- .../list_profile_wallet_ledger_procedure.rs | 39 +- .../list_puzzle_gallery_procedure.rs | 43 +- .../list_puzzle_works_procedure.rs | 41 +- .../src/module_bindings/mod.rs | 1760 ++++++----------- ...attle_interaction_procedure_result_type.rs | 13 +- .../npc_battle_interaction_result_type.rs | 9 +- .../npc_interaction_battle_mode_type.rs | 11 +- .../npc_interaction_procedure_result_type.rs | 13 +- .../npc_interaction_result_type.rs | 17 +- .../npc_interaction_status_type.rs | 11 +- .../npc_relation_stance_type.rs | 11 +- .../npc_relation_state_type.rs | 9 +- .../npc_social_action_kind_type.rs | 11 +- .../npc_stance_profile_type.rs | 16 +- .../npc_state_procedure_result_type.rs | 13 +- .../npc_state_snapshot_type.rs | 17 +- .../src/module_bindings/npc_state_table.rs | 108 +- .../src/module_bindings/npc_state_type.rs | 53 +- .../npc_state_upsert_input_type.rs | 19 +- .../player_progression_get_input_type.rs | 10 +- .../player_progression_grant_input_type.rs | 9 +- .../player_progression_grant_source_type.rs | 11 +- ...layer_progression_procedure_result_type.rs | 13 +- .../player_progression_snapshot_type.rs | 11 +- .../player_progression_table.rs | 112 +- .../player_progression_type.rs | 22 +- .../profile_dashboard_state_table.rs | 110 +- .../profile_dashboard_state_type.rs | 13 +- .../profile_played_world_table.rs | 110 +- .../profile_played_world_type.rs | 30 +- .../profile_save_archive_table.rs | 110 +- .../profile_save_archive_type.rs | 33 +- .../profile_wallet_ledger_table.rs | 110 +- .../profile_wallet_ledger_type.rs | 15 +- .../publish_big_fish_game_procedure.rs | 41 +- ...stom_world_profile_and_return_procedure.rs | 39 +- .../publish_custom_world_profile_reducer.rs | 41 +- .../publish_custom_world_world_procedure.rs | 39 +- .../publish_puzzle_work_procedure.rs | 41 +- ...uzzle_agent_message_finalize_input_type.rs | 15 +- .../puzzle_agent_message_kind_type.rs | 11 +- .../puzzle_agent_message_role_type.rs | 11 +- .../puzzle_agent_message_row_type.rs | 14 +- .../puzzle_agent_message_submit_input_type.rs | 10 +- .../puzzle_agent_message_table.rs | 114 +- .../puzzle_agent_session_create_input_type.rs | 10 +- .../puzzle_agent_session_get_input_type.rs | 10 +- ...zle_agent_session_procedure_result_type.rs | 14 +- .../puzzle_agent_session_row_type.rs | 34 +- .../puzzle_agent_session_table.rs | 110 +- .../puzzle_agent_stage_type.rs | 11 +- .../puzzle_draft_compile_input_type.rs | 10 +- ...puzzle_generated_images_save_input_type.rs | 10 +- .../puzzle_publication_status_type.rs | 11 +- .../puzzle_publish_input_type.rs | 16 +- .../puzzle_run_drag_input_type.rs | 10 +- .../puzzle_run_get_input_type.rs | 10 +- .../puzzle_run_next_level_input_type.rs | 10 +- .../puzzle_run_procedure_result_type.rs | 14 +- .../puzzle_run_start_input_type.rs | 10 +- .../puzzle_run_swap_input_type.rs | 10 +- .../puzzle_runtime_run_row_type.rs | 33 +- .../puzzle_runtime_run_table.rs | 110 +- .../puzzle_select_cover_image_input_type.rs | 10 +- .../puzzle_work_get_input_type.rs | 10 +- .../puzzle_work_procedure_result_type.rs | 14 +- .../puzzle_work_profile_row_type.rs | 44 +- .../puzzle_work_profile_table.rs | 112 +- .../puzzle_work_upsert_input_type.rs | 16 +- .../puzzle_works_list_input_type.rs | 10 +- .../puzzle_works_procedure_result_type.rs | 14 +- .../quest_completion_ack_input_type.rs | 10 +- .../quest_hostile_npc_defeated_signal_type.rs | 12 +- .../quest_item_delivered_signal_type.rs | 10 +- .../quest_log_event_kind_type.rs | 11 +- .../src/module_bindings/quest_log_table.rs | 112 +- .../src/module_bindings/quest_log_type.rs | 39 +- .../quest_narrative_binding_snapshot_type.rs | 11 +- .../quest_narrative_origin_type.rs | 11 +- .../quest_narrative_type_type.rs | 11 +- .../quest_npc_spar_completed_signal_type.rs | 10 +- .../quest_npc_talk_completed_signal_type.rs | 10 +- .../quest_objective_kind_type.rs | 11 +- .../quest_objective_snapshot_type.rs | 17 +- .../quest_progress_signal_type.rs | 15 +- .../quest_record_input_type.rs | 37 +- .../src/module_bindings/quest_record_table.rs | 112 +- .../src/module_bindings/quest_record_type.rs | 94 +- .../quest_reward_equipment_slot_type.rs | 11 +- .../quest_reward_intel_type.rs | 12 +- .../quest_reward_item_rarity_type.rs | 11 +- .../module_bindings/quest_reward_item_type.rs | 17 +- .../quest_reward_snapshot_type.rs | 19 +- .../quest_scene_reached_signal_type.rs | 10 +- .../quest_signal_apply_input_type.rs | 9 +- .../module_bindings/quest_signal_kind_type.rs | 11 +- .../src/module_bindings/quest_status_type.rs | 11 +- .../quest_step_snapshot_type.rs | 17 +- .../quest_treasure_inspected_signal_type.rs | 12 +- .../quest_turn_in_input_type.rs | 10 +- ...olve_combat_action_and_return_procedure.rs | 39 +- .../resolve_combat_action_input_type.rs | 10 +- ...lve_combat_action_procedure_result_type.rs | 13 +- .../resolve_combat_action_reducer.rs | 38 +- .../resolve_combat_action_result_type.rs | 11 +- ...battle_interaction_and_return_procedure.rs | 41 +- ...solve_npc_battle_interaction_input_type.rs | 15 +- ...ve_npc_interaction_and_return_procedure.rs | 41 +- .../resolve_npc_interaction_input_type.rs | 12 +- .../resolve_npc_interaction_reducer.rs | 38 +- ..._npc_social_action_and_return_procedure.rs | 41 +- .../resolve_npc_social_action_input_type.rs | 13 +- .../resolve_npc_social_action_reducer.rs | 38 +- ...easure_interaction_and_return_procedure.rs | 41 +- .../resolve_treasure_interaction_reducer.rs | 38 +- ...ofile_save_archive_and_return_procedure.rs | 39 +- .../rpg_agent_draft_card_kind_type.rs | 11 +- .../rpg_agent_draft_card_status_type.rs | 11 +- .../rpg_agent_message_kind_type.rs | 11 +- .../rpg_agent_message_role_type.rs | 11 +- .../rpg_agent_operation_status_type.rs | 11 +- .../rpg_agent_operation_type_type.rs | 11 +- .../module_bindings/rpg_agent_stage_type.rs | 11 +- ...runtime_browse_history_clear_input_type.rs | 10 +- .../runtime_browse_history_list_input_type.rs | 10 +- ...me_browse_history_procedure_result_type.rs | 13 +- .../runtime_browse_history_snapshot_type.rs | 11 +- .../runtime_browse_history_sync_input_type.rs | 11 +- .../runtime_browse_history_theme_mode_type.rs | 11 +- ...runtime_browse_history_write_input_type.rs | 22 +- ...e_inventory_state_procedure_result_type.rs | 13 +- ...untime_inventory_state_query_input_type.rs | 10 +- .../runtime_inventory_state_snapshot_type.rs | 13 +- .../runtime_item_equipment_slot_type.rs | 11 +- .../runtime_item_reward_item_rarity_type.rs | 11 +- .../runtime_item_reward_item_snapshot_type.rs | 17 +- .../runtime_platform_theme_type.rs | 11 +- ...untime_profile_dashboard_get_input_type.rs | 10 +- ...profile_dashboard_procedure_result_type.rs | 13 +- ...runtime_profile_dashboard_snapshot_type.rs | 12 +- ...ntime_profile_play_stats_get_input_type.rs | 10 +- ...rofile_play_stats_procedure_result_type.rs | 13 +- ...untime_profile_play_stats_snapshot_type.rs | 13 +- ...time_profile_played_world_snapshot_type.rs | 16 +- ...me_profile_save_archive_list_input_type.rs | 10 +- ...file_save_archive_procedure_result_type.rs | 19 +- ..._profile_save_archive_resume_input_type.rs | 10 +- ...time_profile_save_archive_snapshot_type.rs | 20 +- ...ofile_wallet_ledger_entry_snapshot_type.rs | 9 +- ...e_profile_wallet_ledger_list_input_type.rs | 10 +- ...ile_wallet_ledger_procedure_result_type.rs | 13 +- ..._profile_wallet_ledger_source_type_type.rs | 11 +- .../runtime_setting_get_input_type.rs | 10 +- .../runtime_setting_procedure_result_type.rs | 13 +- .../runtime_setting_snapshot_type.rs | 9 +- .../module_bindings/runtime_setting_table.rs | 108 +- .../module_bindings/runtime_setting_type.rs | 12 +- .../runtime_setting_upsert_input_type.rs | 9 +- .../runtime_snapshot_delete_input_type.rs | 10 +- .../runtime_snapshot_get_input_type.rs | 10 +- .../runtime_snapshot_procedure_result_type.rs | 13 +- .../runtime_snapshot_row_type.rs | 17 +- .../module_bindings/runtime_snapshot_table.rs | 106 +- .../module_bindings/runtime_snapshot_type.rs | 12 +- .../runtime_snapshot_upsert_input_type.rs | 12 +- .../save_puzzle_generated_images_procedure.rs | 39 +- .../select_puzzle_cover_image_procedure.rs | 39 +- .../module_bindings/start_ai_task_reducer.rs | 38 +- .../start_ai_task_stage_reducer.rs | 38 +- .../start_big_fish_run_procedure.rs | 39 +- .../start_puzzle_run_procedure.rs | 39 +- .../story_continue_input_type.rs | 12 +- .../module_bindings/story_event_kind_type.rs | 11 +- .../story_event_snapshot_type.rs | 11 +- .../src/module_bindings/story_event_table.rs | 108 +- .../src/module_bindings/story_event_type.rs | 16 +- .../story_session_input_type.rs | 12 +- .../story_session_procedure_result_type.rs | 17 +- .../story_session_snapshot_type.rs | 13 +- .../story_session_state_input_type.rs | 10 +- ...ory_session_state_procedure_result_type.rs | 17 +- .../story_session_status_type.rs | 11 +- .../module_bindings/story_session_table.rs | 108 +- .../src/module_bindings/story_session_type.rs | 35 +- .../submit_big_fish_input_procedure.rs | 41 +- .../submit_big_fish_message_procedure.rs | 41 +- ...it_custom_world_agent_message_procedure.rs | 41 +- .../submit_puzzle_agent_message_procedure.rs | 41 +- .../swap_puzzle_pieces_procedure.rs | 39 +- .../treasure_interaction_action_type.rs | 11 +- .../treasure_record_procedure_result_type.rs | 13 +- .../treasure_record_snapshot_type.rs | 17 +- .../module_bindings/treasure_record_table.rs | 110 +- .../module_bindings/treasure_record_type.rs | 39 +- .../treasure_resolve_input_type.rs | 17 +- .../module_bindings/turn_in_quest_reducer.rs | 38 +- .../unequip_inventory_item_input_type.rs | 10 +- ...stom_world_profile_and_return_procedure.rs | 39 +- .../unpublish_custom_world_profile_reducer.rs | 41 +- .../update_puzzle_work_procedure.rs | 39 +- ...hapter_progression_and_return_procedure.rs | 41 +- .../upsert_chapter_progression_reducer.rs | 38 +- ...stom_world_profile_and_return_procedure.rs | 39 +- .../upsert_custom_world_profile_reducer.rs | 41 +- .../upsert_npc_state_and_return_procedure.rs | 39 +- .../upsert_npc_state_reducer.rs | 38 +- ...orm_browse_history_and_return_procedure.rs | 39 +- ...rt_runtime_setting_and_return_procedure.rs | 39 +- ...t_runtime_snapshot_and_return_procedure.rs | 39 +- .../user_browse_history_table.rs | 114 +- .../user_browse_history_type.rs | 21 +- .../spacetime-module/src/ai/snapshots.rs | 5 +- .../crates/spacetime-module/src/ai/stages.rs | 9 +- .../crates/spacetime-module/src/ai/tasks.rs | 2 +- .../spacetime-module/src/big_fish/session.rs | 132 +- .../spacetime-module/src/custom_world/mod.rs | 1298 +++++++++++- server-rs/crates/spacetime-module/src/lib.rs | 2 - .../spacetime-module/src/runtime/profile.rs | 5 +- .../spacetime-module/src/runtime/snapshots.rs | 3 +- src/components/CustomWorldEntityCatalog.tsx | 54 +- src/components/CustomWorldResultView.test.tsx | 73 +- src/components/MapModal.tsx | 14 +- .../BigFishAgentWorkspace.tsx | 7 +- .../big-fish-result/BigFishResultView.tsx | 4 +- .../CreationAgentWorkspace.test.tsx | 37 + .../creation-agent/CreationAgentWorkspace.tsx | 27 +- .../CustomWorldAgentWorkspace.test.tsx | 4 + .../CustomWorldAgentWorkspace.tsx | 7 +- .../PlatformEntryFlowShellImpl.tsx | 99 +- .../puzzle-agent/PuzzleAgentWorkspace.tsx | 7 +- .../puzzle-result/PuzzleResultView.tsx | 4 +- .../RpgCreationResultActionBar.tsx | 113 +- .../RpgCreationResultViewImpl.tsx | 62 +- .../useRpgCreationResultActions.ts | 28 +- ...gEntryFlowShell.agent.interaction.test.tsx | 62 +- src/components/rpg-entry/RpgEntryHomeView.tsx | 56 +- .../rpg-entry/useRpgCreationResultAutosave.ts | 2 +- .../useRpgCreationSessionController.ts | 37 +- .../RpgRuntimeStageRouter.tsx | 2 +- src/index.css | 192 ++ src/services/customWorldAgentUiState.test.ts | 8 + src/services/customWorldAgentUiState.ts | 3 + src/types/customWorld.ts | 1 + vite.config.ts | 5 +- 515 files changed, 14971 insertions(+), 6831 deletions(-) create mode 100644 docs/audits/engineering/SERVER_NODE_FREEZE_AND_DEPRECATION_2026-04-24.md create mode 100644 docs/design/PLATFORM_HOME_RESPONSIVE_LAYOUT_OPTIMIZATION_2026-04-24.md create mode 100644 docs/technical/CREATION_AGENT_ANCHOR_TEMPLATE_COMMONIZATION_2026-04-24.md create mode 100644 docs/technical/CUSTOM_WORLD_AGENT_ENTITY_ACTIONS_RS_MIGRATION_2026-04-24.md create mode 100644 docs/technical/CUSTOM_WORLD_DRAFT_FOUNDATION_RS_NODE_WORKFLOW_ALIGNMENT_2026-04-24.md create mode 100644 docs/technical/CUSTOM_WORLD_RESULT_ENTITY_GENERATION_FIX_2026-04-24.md create mode 100644 docs/technical/RPG_CREATION_RESULT_EDITING_MIGRATION_AUDIT_2026-04-24.md create mode 100644 scripts/check-server-node-freeze.mjs create mode 100644 scripts/server-node-freeze-baseline.json create mode 100644 scripts/server-node-frozen.mjs delete mode 100644 server-node/data/.gitkeep delete mode 100644 server-node/logs/.gitkeep create mode 100644 server-rs/crates/api-server/src/big_fish_agent_turn.rs create mode 100644 server-rs/crates/api-server/src/creation_agent_anchor_templates.json create mode 100644 server-rs/crates/api-server/src/creation_agent_anchor_templates.rs create mode 100644 server-rs/crates/api-server/src/custom_world_agent_entities.rs create mode 100644 server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_finalize_input_type.rs create mode 100644 server-rs/crates/spacetime-client/src/module_bindings/finalize_big_fish_agent_message_turn_procedure.rs diff --git a/.env.example b/.env.example index 5470d4ea..ed6cfa2f 100644 --- a/.env.example +++ b/.env.example @@ -13,14 +13,14 @@ VITE_LLM_PROXY_BASE_URL="/api/llm" # Optional frontend override for the local custom-world scene image proxy path. VITE_SCENE_IMAGE_PROXY_BASE_URL="/api/custom-world/scene-image" -# Local Node backend address and target used by Vite's dev proxy for runtime API routes. +# Legacy Node backend address. Do not use for new runtime routes. NODE_SERVER_ADDR=":8081" NODE_SERVER_TARGET="http://127.0.0.1:8081" -# M7 backend cutover switch for local/gray dev proxy. -# Keep `node` by default. Set to `rust` to point Vite dev proxy at the Rust Axum server. -GENARRATIVE_BACKEND_STACK="node" -RUST_SERVER_TARGET="http://127.0.0.1:3000" +# Backend switch for local dev proxy. +# Runtime API routes default to Rust Axum api-server. +GENARRATIVE_BACKEND_STACK="rust" +RUST_SERVER_TARGET="http://127.0.0.1:3100" # Optional hard override. When set, it wins over GENARRATIVE_BACKEND_STACK/NODE_SERVER_TARGET/RUST_SERVER_TARGET. GENARRATIVE_RUNTIME_SERVER_TARGET="" diff --git a/.env.local b/.env.local index 0869d115..79ef4b7e 100644 --- a/.env.local +++ b/.env.local @@ -1,4 +1,4 @@ -VITE_LLM_BASE_URL="https://ark.cn-beijing.volces.com/api/v3" +VITE_LLM_BASE_URL="https://ark.cn-beijing.volces.com/api/v3" LLM_API_KEY="eb750614-e0b5-402a-bfea-4224862d251e" ARK_API_KEY="eb750614-e0b5-402a-bfea-4224862d251e" ARK_CHARACTER_VIDEO_BASE_URL="https://ark.cn-beijing.volces.com/api/v3" @@ -46,3 +46,8 @@ ALIYUN_OSS_REGION="oss-cn-beijing" ALIYUN_OSS_ENDPOINT="oss-cn-beijing.aliyuncs.com" ALIYUN_OSS_ACCESS_KEY_ID="LTAI5t7aiyw6uDFW4miJvU8f" ALIYUN_OSS_ACCESS_KEY_SECRET="XblWGE6CO1WLnSBdMRVpL6lut4GSoS" + +# Local Rust backend target for Vite dev proxy. +GENARRATIVE_BACKEND_STACK="rust" +RUST_SERVER_TARGET="http://127.0.0.1:3100" +GENARRATIVE_API_TARGET="http://127.0.0.1:3100" diff --git a/docs/audits/engineering/SERVER_NODE_FREEZE_AND_DEPRECATION_2026-04-24.md b/docs/audits/engineering/SERVER_NODE_FREEZE_AND_DEPRECATION_2026-04-24.md new file mode 100644 index 00000000..c5218d37 --- /dev/null +++ b/docs/audits/engineering/SERVER_NODE_FREEZE_AND_DEPRECATION_2026-04-24.md @@ -0,0 +1,40 @@ +# server-node 冻结隔离说明(2026-04-24) + +## 1. 当前状态 + +`server-node/` 已进入冻结隔离状态,不再作为可运行、可扩展、可引用的后端工程使用。 + +冻结原因:项目后端主线已经切到 `server-rs/` 的 Rust + SpacetimeDB 多 crate 方案,继续保留可执行的 `server-node/` 入口会误导后续开发,并增加提示词资产、AI 工作流与运行态逻辑的迁移漂移风险。 + +## 2. 冻结边界 + +1. 禁止新增任何以 `server-node/` 为目标的运行脚本、开发入口、CI 入口或工程依赖。 +2. 禁止新增从前端、Rust 后端、脚本或配置主动调用 `server-node/` 的逻辑。 +3. 禁止在 `server-node/` 内继续新增业务能力;后续能力必须落到 `server-rs/` 对应 crate。 +4. 历史文档、审计文档、迁移基线中允许保留 `server-node/` 作为旧系统来源说明,但不得把它描述成当前推荐实现。 +5. 删除 `server-node/` 前,必须先完成提示词资产与提示词相关工作流的最终迁移确认。 + +## 3. 删除前阻断项 + +以下资产仍需要在删除目录前逐项确认迁移或废弃: + +1. `server-node/src/prompts/customWorldEntityPrompts.ts`:自定义世界实体生成 prompt。 +2. `server-node/src/prompts/customWorldSceneNpcPrompts.ts`:自定义世界场景 NPC prompt。 +3. `server-node/src/prompts/questPrompts.ts`:任务意图识别 prompt。 +4. `server-node/src/prompts/runtimeItemPrompts.ts`:运行时物品意图识别 prompt。 +5. `server-node/src/prompts/customWorldOrchestratorPrompts.ts`:旧 Custom World JSON 生成与修复 prompt。 +6. `src/services/ai.ts` 与 `src/prompts/customWorldPrompts.ts` 中仍由前端承载的 AI orchestration / prompt 编排。 + +## 4. 工程防线 + +1. 根目录 `package.json` 中的 `server-node:*` 脚本统一改为冻结失败入口。 +2. 新增 `npm run check:server-node-freeze`,用于阻止新增 `server-node` 引用。 +3. 新增 `scripts/server-node-frozen.mjs`,任何旧 `server-node:*` 入口被误执行时都会直接失败并提示迁移到 `server-rs/`。 +4. 新增 `scripts/server-node-freeze-baseline.json`,只允许冻结前已经存在的引用继续作为迁移基线存在。 + +## 5. 后续处理顺序 + +1. 优先迁移或废弃提示词资产与 prompt 工作流。 +2. 确认前端不再通过任何路径调用 Node 后端能力。 +3. 删除旧脚本、旧 smoke、旧 manifest 与 `server-node/` 目录。 +4. 删除冻结基线检查中对历史引用的豁免。 diff --git a/docs/design/PLATFORM_HOME_RESPONSIVE_LAYOUT_OPTIMIZATION_2026-04-24.md b/docs/design/PLATFORM_HOME_RESPONSIVE_LAYOUT_OPTIMIZATION_2026-04-24.md new file mode 100644 index 00000000..291971c4 --- /dev/null +++ b/docs/design/PLATFORM_HOME_RESPONSIVE_LAYOUT_OPTIMIZATION_2026-04-24.md @@ -0,0 +1,35 @@ +# 平台首页响应式布局优化设计 + +更新时间:`2026-04-24` + +## 1. 问题结论 + +当前平台首页桌面端视觉方向成立,但移动端存在明显横向溢出:Hero 右侧按钮、底部导航末项和部分卡片会被裁切。问题根因不是数据逻辑,而是桌面式固定宽度、外层 padding 与若干卡片最小宽度在窄屏下叠加,超过了 `100vw`。 + +## 2. 本次目标 + +- 移动端优先保证首页不横向滚动、不裁切底部导航。 +- Hero 在手机宽度下改为紧凑单列,标题、按钮和标签都完整显示。 +- 桌面端降低外框视觉噪声,让主内容和 CTA 更清晰。 +- 空状态区域收敛高度,避免首屏出现大面积空白。 + +## 3. 编码落点 + +- `src/components/rpg-runtime-shell/RpgRuntimeStageRouter.tsx` + - 平台壳移动端使用更小边距,避免根容器加宽。 +- `src/components/rpg-entry/RpgEntryHomeView.tsx` + - 移动端根节点显式 `min-w-0` 与 `overflow-hidden`。 + - 底部导航外层不再额外制造宽度。 + - Hero/内容卡片补充 `min-w-0`,窄屏内按容器收缩。 +- `src/index.css` + - 全局与平台壳禁止横向溢出。 + - 移动端压缩底部导航间距、字号和图标壳尺寸。 + - 移动端收敛 `platform-page-stage` 圆角与边框层级。 + - 桌面端保留卡片质感,但弱化多层外框阴影。 + +## 4. 验收标准 + +- `390px` 宽度截图中,首页内容、Hero 按钮和底部四个导航项完整可见。 +- 桌面端首页仍保持顶部栏、侧边导航、主推荐区和右侧趋势区结构。 +- 页面不新增功能说明类 UI 文案。 +- 修改中文文件后通过编码检查。 diff --git a/docs/experience/AGENT_UI_CHANGELOG.md b/docs/experience/AGENT_UI_CHANGELOG.md index 16a87f01..e5d9e2e2 100644 --- a/docs/experience/AGENT_UI_CHANGELOG.md +++ b/docs/experience/AGENT_UI_CHANGELOG.md @@ -1,4 +1,4 @@ -# UI 改动记录(供后续 Agent 阅读) +# UI 改动记录(供后续 Agent 阅读) 本文档汇总 **像素 RPG UI 皮肤化** 相关实现与决策,便于新会话快速接手。更细的命名与规范见同目录上一级的 **`UI_CODING_STANDARD.md`**。 @@ -172,4 +172,31 @@ --- +## 14. 2026-04-24 Agent 工作区恢复指针按用户隔离 + +- `custom-world agent session` 现在由 `server-rs` Axum 路由接入 SpacetimeDB procedure,模块内按 `owner_user_id + session_id` 查询;前端恢复旧工作区前必须确认本地指针属于当前登录用户,否则旧账号残留会先请求一次 `/api/runtime/custom-world/agent/sessions/:sessionId` 并产生 404。 +- `src/services/customWorldAgentUiState.ts` 的 URL 仍只保留 `customWorldSessionId` / `customWorldOperationId`,用户归属只写入 `sessionStorage`,避免把 `userId` 暴露到可分享链接里。 +- `src/components/rpg-entry/useRpgCreationSessionController.ts` 在恢复初始工作区时会对比 `ownerUserId`,发现不是当前用户就清空恢复指针并停留在创作入口,不再打后端失效 session。 +- 后续新增 Agent 类恢复入口时,同样要区分“可分享的 URL 指针”和“仅本机使用的登录用户归属”,不要只凭 sessionId 自动恢复受保护资源。 + +--- + +## 15. 2026-04-24 多玩法 Agent 聊天顶部文案统一隐藏 + +- `CreationAgentWorkspace` 已支持在 `title` 与 `assistantSummary` 为空时只展示返回、主操作、进度与锚点区域;各玩法适配层不要再传入“世界共创 / 玩法共创”这类模块标题或引导副文案。 +- `custom-world`、`big-fish`、`puzzle` 三条 Agent 聊天工作区现在统一隐藏顶部标题与标题下方说明,避免只有 RPG / 自定义世界生效、其他玩法模板仍残留旧文案。 +- 后续新增玩法模板时,聊天页顶部模块应保持清爽:必要状态放进进度、操作横幅或聊天消息,不把功能说明类文案默认写入 UI。 + +--- + +## 16. 2026-04-24 创作结果页亮色主题细节补色 + +- RPG / 拼图 / 大鱼结果页根容器统一挂 `platform-remap-surface`,让亮色主题能接管遗留的 `text-white`、`text-zinc-*`、`bg-white/*`、`bg-black/*` 和状态色工具类。 +- 拼图与大鱼结果页顶部 Hero 只增加 `platform-result-hero` 语义类,不改变整体布局;亮色主题下由 `src/index.css` 统一换成暖白底、轻粉高光和平台主按钮色。 +- 地图弹窗新增 `map-modal-overlay`、`map-modal-shell`、`map-modal-backdrop`、`map-modal-shade`、`map-info-panel` 语义类;亮色主题通过这些类降低暗色遮罩、提亮地图背景、统一节点卡与连线颜色。 +- 结果页中保存、生成、发布等旧的 `bg-amber-600` / `bg-cyan-600` / `bg-cyan-200` 按钮,在 `platform-remap-surface` 内被映射回 `platform-button--primary` 同款渐变,避免亮色主题下按钮体系割裂。 +- 后续继续做结果页 UI 细节时,优先补语义 class + `src/index.css` 的 light remap,不要在每个结果页组件里复制一套亮色配色,也不要调整页面整体布局结构。 + +--- + _文档目的:交接给下一个 Agent 时,优先读本文件 + `UI_CODING_STANDARD.md`,再改 `uiAssets.ts` / `App.tsx` / `index.css`。_ diff --git a/docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md b/docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md index 9ad29494..dfb720dc 100644 --- a/docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md +++ b/docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md @@ -152,12 +152,11 @@ 开发态本地链路补充约定: 1. 浏览器仍只请求同源 `/api/runtime/big-fish/*`。 -2. `vite -> server-node:8081` 保持不变,由 `server-node` 先复用现有登录态完成 Bearer 校验。 -3. `server-node` 仅作为 Big Fish 兼容网关,把“已校验用户身份 + 原始请求体”转发到 Rust `api-server`。 -4. Rust `api-server` 继续作为 Big Fish 真相后端,正式处理会话、草稿、资产动作和运行态规则。 +2. `vite -> Rust api-server:3100` 是默认开发链路,禁止把新运行态接口继续接回 `server-node`。 +3. Rust `api-server` 作为 Big Fish 真相后端,正式处理鉴权、会话、草稿、资产动作和运行态规则。 +4. 若本机端口不同,只能通过 `RUST_SERVER_TARGET`、`GENARRATIVE_API_TARGET` 或 `GENARRATIVE_RUNTIME_SERVER_TARGET` 显式覆盖 Vite 代理目标。 5. 本地默认端口: - `vite`: `3000` - - `server-node`: `8081` - Rust `api-server`: `3100` - `SpacetimeDB standalone`: `3001` 6. `GENARRATIVE_SPACETIME_DATABASE` 本地开发优先跟随仓库根目录 `spacetime.local.json` 的 `database` 字段,避免 `api-server` 默认连到错误数据库名。 @@ -192,6 +191,12 @@ 2. `GET /api/runtime/big-fish/runs/{runId}` 3. `POST /api/runtime/big-fish/runs/{runId}/input` +### 6.3 作品列表 + +1. `GET /api/runtime/big-fish/works` + +开发态 Vite 必须把该同源接口代理到 Rust `api-server`;前端作品页只调用同源 `/api/runtime/big-fish/works`,不得直连 Rust 端口或回退到 `server-node`。 + `input` 请求体: ```json diff --git a/docs/technical/CREATION_AGENT_ANCHOR_TEMPLATE_COMMONIZATION_2026-04-24.md b/docs/technical/CREATION_AGENT_ANCHOR_TEMPLATE_COMMONIZATION_2026-04-24.md new file mode 100644 index 00000000..2015c0d1 --- /dev/null +++ b/docs/technical/CREATION_AGENT_ANCHOR_TEMPLATE_COMMONIZATION_2026-04-24.md @@ -0,0 +1,66 @@ +# 创作模板 Agent 聊天共用化设计(2026-04-24) + +## 背景 + +当前创作模板的 Agent 聊天链路不一致:RPG 世界共创与拼图共创已经由后端调用模型推理生成回复和锚点状态,大鱼吃小鱼仍在 SpacetimeDB 过程内用规则推断锚点并返回固定回复。这样会导致同一入口下不同模板的共创体验不一致,也会让后续新增模板重复实现聊天流程。 + +## 目标 + +1. 所有创作模板的 Agent 聊天都必须由后端模型推理生成回复与下一轮锚点状态。 +2. Agent 聊天能力对齐 RPG 世界共创的功能效果:后端负责模型调用、锚点更新、进度推进与落库,前端只消费 session snapshot。 +3. 不同模板在 Agent 聊天环节只允许通过“锚点问题配置”体现差异,其余提示词骨架、流式回复、JSON 解析、失败兜底流程复用。 +4. 锚点配置必须从代码逻辑中抽离为独立配置文件,新增模板时优先新增配置而不是复制聊天代码。 + +## 首版落地范围 + +| 模板 | 现状 | 本次处理 | +| --- | --- | --- | +| RPG 世界共创 | 已走模型推理,八锚点结构最完整 | 保持现有流程,作为统一体验标杆 | +| 拼图共创 | 已走模型推理,但锚点问题硬编码在 Rust 提示词中 | 把 5 个锚点问题迁入配置文件,提示词读取配置 | +| 大鱼吃小鱼 | 规则推断 + 固定回复 | 新增模型推理 turn,读取 4 个锚点配置,提交消息后再 finalize 落库 | + +## 配置设计 + +配置文件路径固定为:`server-rs/crates/api-server/src/creation_agent_anchor_templates.json`。 + +每个模板配置包含: + +- `templateId`:模板唯一标识。 +- `displayName`:用于后端提示词,不直接展示在 UI。 +- `creationGoal`:模板最终要收束出的可玩结果。 +- `anchorQuestions`:锚点问题列表,包含 `key / label / question / requiredEffect`。 + +首版配置只存“问题与效果”,不存模型输出 schema。原因是各模板 session 的锚点结构不同,schema 仍由各自 domain 类型约束,避免为了统一而牺牲类型安全。 + +## 共用聊天骨架 + +后端新增 `creation_agent_anchor_templates` 模块,提供: + +1. 读取并缓存配置文件。 +2. 按 `templateId` 返回模板配置。 +3. 渲染统一的“锚点问题段落”。 + +各模板 agent turn 共用以下模型推理约束: + +1. 系统提示词说明当前模板目标。 +2. 插入配置文件中的锚点问题段落。 +3. 插入当前锚点状态与最近聊天记录。 +4. 要求模型只输出 JSON。 +5. 流式过程中只把 `replyText` 增量给前端。 +6. 完整响应解析后,由模板自身 domain 类型反序列化并落库。 + +## 大鱼吃小鱼落库调整 + +SpacetimeDB module 仍保持数据真相源职责,但不再在 `submit_big_fish_message` 内生成 assistant 回复与新锚点。流程调整为: + +1. `submit_big_fish_message` 只写入用户消息,保留原锚点与进度。 +2. api-server 调用模型生成 `replyText / progressPercent / nextAnchorPack`。 +3. 新增 `finalize_big_fish_agent_message_turn` procedure,把模型结果写回 assistant 消息、锚点、进度与 `last_assistant_reply`。 +4. 模型失败时通过 finalize 记录失败提示,避免用户消息丢失。 + +## 约束 + +- 前端不新增逻辑分支,不在 UI 中展示规则说明类文本。 +- 后端 prompt、配置与 Rust 代码必须保留中文注释或中文语义说明。 +- 配置文件是后端资产,不依赖前端动态编辑。 +- 若未来模板锚点结构统一,可以再把输出 schema 迁入配置;首版不做过度抽象。 diff --git a/docs/technical/CREATION_AGENT_PUBLISH_GATE_SCHEMA_ALIGNMENT_FIX_2026-04-23.md b/docs/technical/CREATION_AGENT_PUBLISH_GATE_SCHEMA_ALIGNMENT_FIX_2026-04-23.md index 5d247f17..22ff04c3 100644 --- a/docs/technical/CREATION_AGENT_PUBLISH_GATE_SCHEMA_ALIGNMENT_FIX_2026-04-23.md +++ b/docs/technical/CREATION_AGENT_PUBLISH_GATE_SCHEMA_ALIGNMENT_FIX_2026-04-23.md @@ -73,3 +73,24 @@ RPG 创作结果页已经能看到完整草稿内容,但页面底部仍然持 3. “发布并进入世界”在 blocker 清空后恢复可点击。 4. `ensure_minimal_draft_profile(...)` 生成的兜底草稿也包含 `sceneChapterBlueprints`。 5. 新增 Rust 单测,覆盖“当前 Agent 结果 schema 不应再误报 blocker”与“最小草稿必须保留 `sceneChapterBlueprints` 默认槽位”。 + +## 5. 亮色主题阻断项弹窗配色修复 + +日期:`2026-04-24` + +### 5.1 问题现象 + +点击“发布并进入世界”但仍存在阻断项时,`PublishBlockersDialog` 会通过 portal 挂载到 `document.body`。在亮色主题下,弹窗面板使用平台浅色面板变量,但标题、分隔线和阻断项标签仍混用暗色主题下的 `text-white`、`border-white/10`、`text-amber-100/78` 等硬编码类名,导致局部对比度和色相不一致。 + +### 5.2 修复口径 + +1. portal 根节点显式补上 `platform-theme platform-theme--${platformTheme}`,避免弹窗脱离原页面主题变量继承。 +2. 弹窗标题、上下分隔线统一改为 `--platform-text-strong` 与 `--platform-subpanel-border`。 +3. 阻断项卡片复用 `platform-banner platform-banner--warning`,由平台主题变量决定亮色和暗色下的边框、背景与警示文字色。 +4. 阻断项正文保持 `--platform-text-strong`,保证亮色主题下可读性,不再依赖暗色主题的琥珀色文本。 + +### 5.3 验收标准 + +1. 亮色主题下阻断项弹窗标题、正文、分隔线和按钮均保持平台浅色视觉体系。 +2. 阻断项卡片呈现柔和警示底色,不出现白字或过浅琥珀字落在浅底上的情况。 +3. 暗色主题下弹窗仍保持原有平台暗色 warning banner 风格。 diff --git a/docs/technical/CUSTOM_WORLD_AGENT_ENTITY_ACTIONS_RS_MIGRATION_2026-04-24.md b/docs/technical/CUSTOM_WORLD_AGENT_ENTITY_ACTIONS_RS_MIGRATION_2026-04-24.md new file mode 100644 index 00000000..7e3c0693 --- /dev/null +++ b/docs/technical/CUSTOM_WORLD_AGENT_ENTITY_ACTIONS_RS_MIGRATION_2026-04-24.md @@ -0,0 +1,85 @@ +# Custom World Agent 删除作品 / 新增 NPC / 新增场景 Rust 迁移记录 + +日期:`2026-04-24` + +## 范围 + +本次继续检查 RPG 创作 Agent 从旧 `server-node` 迁到 `server-rs` 后的功能缺口,重点覆盖: + +1. 删除作品。 +2. 新增 NPC(`generate_characters`)。 +3. 新增场景 / 地点(`generate_landmarks`)。 + +## 结论 + +### 删除作品 + +Rust 链路已经存在: + +```text +DELETE /api/runtime/custom-world/library/:profileId +-> api-server.delete_custom_world_library_profile +-> spacetime-client.delete_custom_world_profile +-> SpacetimeDB delete_custom_world_profile_and_return +-> owner-only 软删除 profile,并从 gallery 读模型移除 +``` + +本次未改删除作品实现,只确认它已走 Rust + SpacetimeDB,不再依赖 Node。 + +### 新增 NPC / 新增场景 + +迁移前,`spacetime-module` 对 `generate_characters` 与 `generate_landmarks` 只走 `execute_placeholder_custom_world_action(...)`,不会真的调用 AI,也不会更新 `draftProfile` / draft card。 + +本次迁移后链路变为: + +```text +前端 action +-> api-server execute_custom_world_agent_action +-> api-server 读取 session snapshot +-> platform-llm 使用旧 Node prompt 生成 JSON 数组 +-> payload 注入 generatedCharacters / generatedLandmarks +-> spacetime-client.execute_custom_world_agent_action +-> SpacetimeDB 更新 draftProfile +-> SpacetimeDB upsert 对应 draft card +-> SpacetimeDB 更新 publishGate / resultPreview / checkpoint / operation / action result message +``` + +## Node 对齐点 + +新增 NPC 保留旧 Node 的 system prompt 与 user prompt 字段约束: + +```text +name, role, publicMask, hiddenHook, relationToPlayer, summary, threadIds +``` + +新增场景保留旧 Node 的 system prompt 与 user prompt 字段约束: + +```text +name, purpose, mood, dangerLevel, secret, summary, threadIds, characterIds +``` + +Rust 侧只做最小归一化:补 `id`、去除重名、限制数量 `1..=3`,不改写提示词原文语义。 + +## 落库设计 + +1. `generate_characters` 默认追加到 `draftProfile.storyNpcs`。 +2. `generate_landmarks` 追加到 `draftProfile.landmarks`。 +3. 每个新增对象都会生成 / 更新一张 `custom_world_draft_card`。 +4. 操作完成后同步更新: + - `last_assistant_reply` + - `publish_gate_json` + - `result_preview_json` + - `checkpoints_json` + - `custom_world_agent_operation` + - `custom_world_agent_message` + +## 验证 + +已运行: + +```bash +cargo test -p api-server custom_world_agent_entities --no-default-features +cargo check -p spacetime-module +``` + +结果:通过。`spacetime-module` 仅保留仓库既有 glob re-export warning。 diff --git a/docs/technical/CUSTOM_WORLD_DRAFT_FOUNDATION_RS_NODE_WORKFLOW_ALIGNMENT_2026-04-24.md b/docs/technical/CUSTOM_WORLD_DRAFT_FOUNDATION_RS_NODE_WORKFLOW_ALIGNMENT_2026-04-24.md new file mode 100644 index 00000000..192f7d2d --- /dev/null +++ b/docs/technical/CUSTOM_WORLD_DRAFT_FOUNDATION_RS_NODE_WORKFLOW_ALIGNMENT_2026-04-24.md @@ -0,0 +1,54 @@ +# Custom World `draft_foundation` Rust/Node AI 工作流对齐记录 + +日期:`2026-04-24` + +## 背景 + +本次检查发现 `server-rs` 的 RPG 档案 / 世界底稿生成只做了单次 LLM 调用:直接让模型输出完整 `draftProfile`,再做最小字段归一化。这与旧 `server-node` 的 `CustomWorldAgentFoundationDraftService.generate()` 不一致。 + +旧 Node 流程不是单 prompt 直出,而是分阶段生成: + +```text +buildFoundationGenerationSeedText +-> buildCustomWorldFrameworkPrompt +-> generateFoundationRoleOutlineEntries(playable) +-> generateFoundationRoleOutlineEntries(story) +-> generateFoundationLandmarkSeedEntries +-> expandFoundationLandmarkNetworkEntries +-> expandFoundationRoleEntries(playable, narrative) +-> expandFoundationRoleEntries(playable, dossier) +-> expandFoundationRoleEntries(story, narrative) +-> expandFoundationRoleEntries(story, dossier) +-> buildFoundationDraftProfileFromFramework +``` + +## 本次落地 + +`server-rs/crates/api-server/src/custom_world_foundation_draft.rs` 已改为按 Node 原顺序执行多阶段 AI 生成: + +1. 先从 `anchorContent / anchorPack / creatorIntent / seedText` 构造 `settingText`。 +2. 使用旧 Node 的 framework prompt 生成世界核心骨架。 +3. 分批生成可扮演角色 outline。 +4. 分批生成场景角色 outline。 +5. 分批生成关键场景 seed。 +6. 补全关键场景探索网络。 +7. 先补可扮演角色叙事档案,再补养成档案。 +8. 先补场景角色叙事档案,再补养成档案。 +9. 将分阶段结果编译回 `draftProfile`,再交给 SpacetimeDB action 落库。 + +## 约束 + +1. 未修改旧 Node 提示词原文的语义与阶段顺序。 +2. Rust 侧新增 prompt 构造只服务 `api-server` 外部 LLM 调用;SpacetimeDB reducer 仍只负责校验与落库,不承担联网生成。 +3. 当前仍保留 Rust 侧最小归一化,目的仅是保证 `publish gate / result preview` 需要的字段存在,不替代 Node 的 AI 工作流。 +4. 后续如继续迁移,需要优先把 Node `buildFoundationDraftProfileFromFramework` 的结构编译细节进一步完整 Rust 化,而不是回退到单 prompt 直出。 + +## 验证 + +已运行: + +```bash +cargo test -p api-server custom_world_foundation_draft --no-default-features +``` + +结果:`3 passed`。 diff --git a/docs/technical/CUSTOM_WORLD_RESULT_ENTITY_GENERATION_FIX_2026-04-24.md b/docs/technical/CUSTOM_WORLD_RESULT_ENTITY_GENERATION_FIX_2026-04-24.md new file mode 100644 index 00000000..fe4335de --- /dev/null +++ b/docs/technical/CUSTOM_WORLD_RESULT_ENTITY_GENERATION_FIX_2026-04-24.md @@ -0,0 +1,40 @@ +# 世界结果页新增场景与 NPC 生成修复 + +## 背景 + +世界结果页在 Agent 草稿模式下点击“新增场景角色”和“新增场景”时,会走 `api-server` 的 `generate_characters / generate_landmarks` 动作: + +1. `api-server` 根据当前 `draft_profile` 请求 LLM 生成新增实体。 +2. `spacetime-module` 将 `generatedCharacters / generatedLandmarks` 写回 `draft_profile`。 +3. 结果页从服务端 `resultPreview.preview` 读取最新世界 profile。 + +## 问题 + +LLM 扩展提示词为了草稿卡片简洁,只要求返回角色的 `publicMask / hiddenHook / relationToPlayer / summary`,以及场景的 `purpose / mood / secret / summary / characterIds`。 + +但结果页与运行时 `CustomWorldProfile` 读取的是当前完整字段: + +- NPC:`description / backstory / personality / motivation / relationshipHooks / tags / initialAffinity` +- 场景:`description / dangerLevel / sceneNpcIds / connections` + +因此新增实体即使后端动作成功,也可能因为字段缺失或关联字段名不一致,在结果页表现为“生成后没有可用内容 / 场景没有 NPC 关联”。 + +此外,Agent 结果页生成回调原本只返回 `void`:当 `activeAgentSessionId` 失效、服务端没有返回最新 `resultPreview`,或最新 profile 没有新增实体时,前端只会结束 pending 动画,表现为“点击后闪一下就消失”。 + +## 修复方案 + +本次修复保持“前端只表现,后端负责数据整理”的边界: + +1. 在 `api-server` 生成实体归一化阶段补齐结果页需要的最小完整字段。 +2. NPC 将 `publicMask / summary` 映射为 `description`,`hiddenHook` 映射为 `backstory / motivation`,`relationToPlayer` 进入 `relationshipHooks`。 +3. 场景将 `summary / purpose / mood / secret` 合成 `description`,将 `characterIds` 转为 `sceneNpcIds`。 +4. 保留 LLM 已返回的字段,不覆盖更完整的结构化结果。 +5. 增加后端单元测试锁定新增 NPC 与场景的 profile 字段契约。 +6. 前端 Agent 生成回调返回最新 profile;如果没有可用会话或最新 profile 未增加对应实体,结果页显示明确错误,不再静默消失。 + +## 验收 + +- `generate_characters` 的 payload 中新增角色必须包含非空 `description` 与可用 `relationshipHooks`。 +- `generate_landmarks` 的 payload 中新增场景必须包含非空 `description`,并能把 `characterIds` 落为 `sceneNpcIds`。 +- 结果页继续只消费 `resultPreview.preview`,不新增前端本地编译分支。 +- 结果页点击新增实体后,如果服务端没有回传新增内容,必须展示错误提示。 diff --git a/docs/technical/README.md b/docs/technical/README.md index 7802752d..cfaa5cb1 100644 --- a/docs/technical/README.md +++ b/docs/technical/README.md @@ -4,6 +4,7 @@ ## 文档列表 +- [CUSTOM_WORLD_RESULT_ENTITY_GENERATION_FIX_2026-04-24.md](./CUSTOM_WORLD_RESULT_ENTITY_GENERATION_FIX_2026-04-24.md):记录世界结果页在 Agent 草稿模式下新增场景、新增 NPC 生成成功但结果页字段不可用的根因,并冻结 `api-server` 生成归一化层补齐 profile 字段的修复口径。 - [ADMIN_CONSOLE_SERVICE_DESIGN_2026-04-23.md](./ADMIN_CONSOLE_SERVICE_DESIGN_2026-04-23.md):冻结 Rust `api-server` 内后台管理服务首版方案,明确管理员用户名密码登录、管理员 JWT 鉴权、数据库概览、受控 API 调试台与同源管理页面的落地边界。 - [SPACETIME_MODULE_LIB_RS_SPLIT_EXECUTION_2026-04-23.md](./SPACETIME_MODULE_LIB_RS_SPLIT_EXECUTION_2026-04-23.md):冻结 `server-rs/crates/spacetime-module/src/lib.rs` 的模块地图、二级落位点与迁移顺序,要求后续 SpacetimeDB 主工程改动按对应模块落位,不再继续堆回单大文件。 - [CUSTOM_WORLD_DRAFT_FOUNDATION_API_SERVER_LLM_MIGRATION_2026-04-23.md](./CUSTOM_WORLD_DRAFT_FOUNDATION_API_SERVER_LLM_MIGRATION_2026-04-23.md):冻结 `draft_foundation` 从 SpacetimeDB 内部规则编译迁到 `api-server + platform-llm` 的边界,明确草稿必须由 `api-server` 真实调 LLM 生成,SpacetimeDB 只负责落库。 diff --git a/docs/technical/RPG_CREATION_RESULT_EDITING_MIGRATION_AUDIT_2026-04-24.md b/docs/technical/RPG_CREATION_RESULT_EDITING_MIGRATION_AUDIT_2026-04-24.md new file mode 100644 index 00000000..d479f263 --- /dev/null +++ b/docs/technical/RPG_CREATION_RESULT_EDITING_MIGRATION_AUDIT_2026-04-24.md @@ -0,0 +1,55 @@ +# RPG 创作结果页编辑功能迁移审计 + +日期:`2026-04-24` + +## 本次发现 + +`generate_characters` / `generate_landmarks` 后端已经迁到 Rust,但前端 Agent 结果页看不到入口,原因不是后端能力缺失,而是: + +1. `RpgCreationResultViewImpl` 在 `compactAgentResultMode=true` 时隐藏 `createActionLabel / onCreateAction`。 +2. `PlatformEntryFlowShellImpl` 对 Agent 草稿结果页传入了 `compactAgentResultMode={isAgentDraftResultView}`。 +3. 结果页原有“新增可扮演角色 / 新增场景角色 / 新增场景”仍走 legacy `rpgCreationAssetClient`,只改前端内存态,不会触发 Agent action。 + +## 本次前端修复 + +已改为: + +```text +Agent 结果页点击新增场景角色 / 新增场景 +-> RpgCreationResultView.onGenerateEntity +-> autosaveCoordinator.executeAgentActionAndWait +-> POST /api/runtime/custom-world/agent/sessions/:sessionId/actions +-> generate_characters / generate_landmarks +-> 等 operation completed +-> 拉最新 session +-> rpgCreationPreviewAdapter.buildPreviewFromSession +-> 刷新结果页 profile +``` + +说明:当前可扮演角色 tab 的“新增可扮演角色”也会调用 `generate_characters`,后端现阶段会追加到 `storyNpcs`。因此严格意义上的“新增可扮演角色”仍未完整迁移,需要后续给 action 增加角色类型参数或新增 `generate_playable_characters`。 + +## 已迁移 / 可见 + +1. 删除作品:已有 Rust + SpacetimeDB 软删除链路。 +2. 新增场景角色:结果页可见,调用 Rust `generate_characters`。 +3. 新增场景 / 地点:结果页可见,调用 Rust `generate_landmarks`。 +4. Agent 结果页发布进入世界:已有 `publish_world` + publish gate 链路。 +5. 手动编辑结果页 profile:目前仍通过 `sync_result_profile` 自动保存回 Agent session。 + +## 尚未完整迁移的结果页编辑功能 + +1. 新增可扮演角色:前端有入口,但 Rust action 暂无角色类型区分,当前会落到 `storyNpcs`。 +2. 批量删除场景角色:前端只改本地 profile,再靠 `sync_result_profile` 同步,不是独立 Rust action。 +3. 批量删除场景:前端只改本地 profile,再靠 `sync_result_profile` 同步,不是独立 Rust action。 +4. 单个角色 / 场景的细粒度编辑:前端 modal 仍编辑本地 profile,再靠 `sync_result_profile` 同步;SpacetimeDB 虽有 `update_draft_card`,但结果页表单尚未按 card section action 化。 +5. 角色资产生成:`generate_role_assets / sync_role_assets` Rust 侧仍是 placeholder 或外部链路未完全接入结果页。 +6. 场景资产生成:`generate_scene_assets / sync_scene_assets` Rust 侧仍是 placeholder 或外部链路未完全接入结果页。 +7. 长尾补全:`expand_long_tail` Rust 侧仍是 placeholder。 +8. 回滚 checkpoint:Rust 有 `revert_checkpoint`,但结果页没有清晰可见入口。 + +## 下一步建议 + +1. 为 `generate_characters` 增加 `roleType: playable|story` 契约,并让可扮演角色 tab 真正落到 `playableNpcs`。 +2. 将删除角色 / 删除场景改为独立 action,避免继续依赖整份 profile 同步。 +3. 将角色 / 场景编辑 modal 的保存改为 `update_draft_card` 或更细粒度 reducer,而不是每次整份 profile 覆盖。 +4. 继续迁移 `generate_role_assets / generate_scene_assets / expand_long_tail`,并在结果页显示对应入口。 diff --git a/docs/technical/UNIFIED_CREATION_AGENT_CHAT_FRAMEWORK_2026-04-22.md b/docs/technical/UNIFIED_CREATION_AGENT_CHAT_FRAMEWORK_2026-04-22.md index d78d90b1..b63c1404 100644 --- a/docs/technical/UNIFIED_CREATION_AGENT_CHAT_FRAMEWORK_2026-04-22.md +++ b/docs/technical/UNIFIED_CREATION_AGENT_CHAT_FRAMEWORK_2026-04-22.md @@ -50,9 +50,10 @@ src/services/creation-agent/ 聊天页展示规则: 1. Agent 聊天页不展示锚点内容卡片,锚点只作为进度与后端生成依据。 -2. 生成草稿 / 生成结果页主按钮只在 `progressPercent` 归一化后达到 `100%` 时显示。 -3. 进度条下方承载“总结当前设定”“补全剩余设定”等进度操作按钮。 -4. “补全剩余设定”必须配置 `minTurn: 2`,对话不足两轮时不显示。 +2. 标题区文案支持按品类留空;当 `title` 与 `assistantSummary` 都为空时,顶部模块只保留返回、进度和操作按钮,不显示额外标题与副文案。 +3. 生成草稿 / 生成结果页主按钮只在 `progressPercent` 归一化后达到 `100%` 时显示。 +4. 进度条下方承载“总结当前设定”“补全剩余设定”等进度操作按钮。 +5. “补全剩余设定”必须配置 `minTurn: 2`,对话不足两轮时不显示。 组件内部只做表现,不读取任何 RPG、Big Fish、Puzzle 专属字段。 diff --git a/package.json b/package.json index 80287d56..d030fec1 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,15 @@ "deploy:rust:remote": "node scripts/run-bash-script.mjs scripts/deploy-rust-remote.sh", "build:rust:ubuntu": "node scripts/run-bash-script.mjs scripts/deploy-rust-remote.sh", "serve:caddy": "node scripts/run-caddy-dev.mjs", - "server-node:dev": "npm --prefix server-node run dev", - "server-node:build": "npm --prefix server-node run build", - "server-node:db:migrate": "npm --prefix server-node run db:migrate", - "server-node:manifest:backend": "npm --prefix server-node run manifest:backend", - "server-node:test": "npm --prefix server-node run test", - "server-node:test:baseline": "npx tsx --test server-node/src/observability.test.ts", - "server-node:smoke": "npx tsx scripts/smoke-server-node.ts", - "server-node:smoke:proxy": "npx tsx scripts/smoke-same-origin-stack.ts", - "server-node:check:deploy": "npm run check:encoding && npm run server-node:test && npm run server-node:smoke && npm run server-node:build && npm run build && npm run server-node:smoke:proxy", + "server-node:dev": "node scripts/server-node-frozen.mjs", + "server-node:build": "node scripts/server-node-frozen.mjs", + "server-node:db:migrate": "node scripts/server-node-frozen.mjs", + "server-node:manifest:backend": "node scripts/server-node-frozen.mjs", + "server-node:test": "node scripts/server-node-frozen.mjs", + "server-node:test:baseline": "node scripts/server-node-frozen.mjs", + "server-node:smoke": "node scripts/server-node-frozen.mjs", + "server-node:smoke:proxy": "node scripts/server-node-frozen.mjs", + "server-node:check:deploy": "node scripts/server-node-frozen.mjs", "server-rs:m7:preflight": "powershell -ExecutionPolicy Bypass -File server-rs/scripts/m7-preflight.ps1", "m7:api-compare": "node scripts/run-tsx.cjs scripts/m7-api-compare.ts", "build": "node scripts/build-gate.mjs", @@ -32,7 +32,7 @@ "lint:guardrails": "npm run lint:eslint", "typecheck": "tsc -p tsconfig.typecheck-guardrails.json --noEmit", "typecheck:guardrails": "npm run typecheck", - "lint": "npm run check:encoding && npm run lint:eslint && npm run typecheck", + "lint": "npm run check:encoding && npm run check:server-node-freeze && npm run lint:eslint && npm run typecheck", "lint:fix": "eslint . --ext .ts,.tsx,.js,.mjs,.cjs --fix && prettier --write .", "format": "prettier --write .", "format:check": "prettier --check .", @@ -42,7 +42,8 @@ "check:data": "node scripts/run-tsx.cjs scripts/validate-content.ts", "check:overrides": "node scripts/run-tsx.cjs scripts/validate-overrides.ts", "check:smoke": "node scripts/run-tsx.cjs scripts/smoke-content.ts", - "check:content": "npm run check:data && npm run check:overrides && npm run check:smoke" + "check:content": "npm run check:data && npm run check:overrides && npm run check:smoke", + "check:server-node-freeze": "node scripts/check-server-node-freeze.mjs" }, "dependencies": { "@tailwindcss/vite": "^4.1.14", diff --git a/packages/shared/src/contracts/rpgAgentActions.ts b/packages/shared/src/contracts/rpgAgentActions.ts index 4a47b28a..3562f345 100644 --- a/packages/shared/src/contracts/rpgAgentActions.ts +++ b/packages/shared/src/contracts/rpgAgentActions.ts @@ -26,6 +26,8 @@ export type RpgAgentActionType = | 'sync_result_profile' | 'generate_characters' | 'generate_landmarks' + | 'delete_characters' + | 'delete_landmarks' | 'generate_role_assets' | 'sync_role_assets' | 'generate_scene_assets' @@ -83,6 +85,7 @@ export type RpgAgentActionRequest = | { action: 'generate_characters'; count: number; + roleType?: 'playable' | 'story' | null; promptText?: string | null; anchorCardIds?: string[]; } @@ -92,6 +95,8 @@ export type RpgAgentActionRequest = promptText?: string | null; anchorCardIds?: string[]; } + | { action: 'delete_characters'; roleIds: string[] } + | { action: 'delete_landmarks'; sceneIds: string[] } | { action: 'generate_role_assets'; roleIds: string[] } | { action: 'sync_role_assets'; @@ -101,7 +106,11 @@ export type RpgAgentActionRequest = generatedAnimationSetId?: string | null; animationMap?: Record | null; } - | { action: 'generate_scene_assets'; sceneIds: string[] } + | { + action: 'generate_scene_assets'; + sceneIds: string[]; + sceneKind?: 'camp' | 'landmark' | null; + } | { action: 'sync_scene_assets'; sceneId: string; diff --git a/scripts/check-server-node-freeze.mjs b/scripts/check-server-node-freeze.mjs new file mode 100644 index 00000000..359ca49a --- /dev/null +++ b/scripts/check-server-node-freeze.mjs @@ -0,0 +1,127 @@ +#!/usr/bin/env node + +import { createHash } from 'node:crypto'; +import { existsSync, readdirSync, readFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); +const baselinePath = path.join(repoRoot, 'scripts', 'server-node-freeze-baseline.json'); +const needle = 'server-node'; + +const ignoredDirectories = new Set([ + '.git', + '.codex', + '.codex-temp', + '.idea', + 'node_modules', + 'dist', + 'build', + 'coverage', + 'target', + 'logs', +]); + +const ignoredFiles = new Set([ + 'scripts/check-server-node-freeze.mjs', + 'scripts/server-node-freeze-baseline.json', + 'scripts/server-node-frozen.mjs', + 'docs/audits/engineering/SERVER_NODE_FREEZE_AND_DEPRECATION_2026-04-24.md', +]); + +const allowedExtensions = new Set([ + '.cjs', + '.js', + '.json', + '.md', + '.mjs', + '.ps1', + '.rs', + '.toml', + '.ts', + '.tsx', + '.yaml', + '.yml', +]); + +function toRepoPath(absolutePath) { + return path.relative(repoRoot, absolutePath).replaceAll(path.sep, '/'); +} + +function hashLine(line) { + return createHash('sha256').update(line.trim()).digest('hex'); +} + +function walk(directory, output) { + for (const entry of readdirSync(directory, { withFileTypes: true })) { + if (entry.isDirectory()) { + if (!ignoredDirectories.has(entry.name)) { + walk(path.join(directory, entry.name), output); + } + continue; + } + + const absolutePath = path.join(directory, entry.name); + const repoPath = toRepoPath(absolutePath); + if (ignoredFiles.has(repoPath)) { + continue; + } + if (!allowedExtensions.has(path.extname(entry.name).toLowerCase())) { + continue; + } + output.push(absolutePath); + } +} + +function collectReferences() { + const files = []; + walk(repoRoot, files); + + const references = new Map(); + for (const file of files) { + const repoPath = toRepoPath(file); + const content = readFileSync(file, 'utf8'); + const lines = content.split(/\r?\n/u); + for (const line of lines) { + if (!line.toLowerCase().includes(needle)) { + continue; + } + const key = `${repoPath}\u0000${hashLine(line)}`; + references.set(key, (references.get(key) || 0) + 1); + } + } + return references; +} + +function parseBaseline() { + if (!existsSync(baselinePath)) { + return new Map(); + } + const baseline = JSON.parse(readFileSync(baselinePath, 'utf8')); + return new Map(Object.entries(baseline.references || {})); +} + +const currentReferences = collectReferences(); +const baselineReferences = parseBaseline(); +const newReferences = []; + +for (const [key, count] of currentReferences.entries()) { + const allowedCount = baselineReferences.get(key) || 0; + if (count > allowedCount) { + const [repoPath] = key.split('\u0000'); + newReferences.push({ repoPath, count: count - allowedCount }); + } +} + +if (newReferences.length > 0) { + console.error('检测到冻结后新增的 server-node 引用,请迁移到 server-rs 或更新废弃审计后再处理:'); + for (const reference of newReferences.slice(0, 50)) { + console.error(`- ${reference.repoPath} (+${reference.count})`); + } + if (newReferences.length > 50) { + console.error(`... 另有 ${newReferences.length - 50} 处`); + } + process.exit(1); +} + +console.log('server-node freeze guard passed: 未发现冻结后新增引用。'); diff --git a/scripts/server-node-freeze-baseline.json b/scripts/server-node-freeze-baseline.json new file mode 100644 index 00000000..23d7e4ec --- /dev/null +++ b/scripts/server-node-freeze-baseline.json @@ -0,0 +1,1241 @@ +{ + "generatedAt": "2026-04-24", + "description": "server-node 冻结状态下允许保留的既有引用基线;冻结后不允许新增引用。", + "references": { + "AGENTS.md\u000045988b31f8fad12fb8bb4763a4f3d4dc10c23395c401563a2f8e1f08eda3282d": 1, + "backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md\u00007a8de9c30168f55a8d131ea3108e2c44897516af6e981b6fa637e404945e67a9": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u00006c5e6d67ef9b19b63a070b0296e517db7e83bcec8ee803d9efb11e9429fd7547": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u0000d291b0935293a4948f36a5f9709afefdae1e4439852da1d10bd15e2e121d3a6a": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u0000b77f0484ff1f247cf32acf1f165c7ef6dbc69cc32516464cd3e7751b1474191f": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u0000883f8218a699143bf9550e65b9abbf5f81680b49c8ada9933983e465c8c5c938": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u00002b6bf9286ee8937bdd860be9cc17ad6a1091bb639959932c9e6047d585fb23ea": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u000080a35bd9a2407e476fe378415290c804b2a9d9b133b8f83b02bb05bd8291b097": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u00008da91693d7b3f8fb64f4ff39709f4bdad6494e121f3417ed7e437b3649c863f7": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u00009012a4798b850ba23134ac4d20f60e4a4aca1f0e3060e2f0bbdf136dfdb70ba8": 1, + "backend-rewrite-tasklist/M0_CAPABILITY_SURFACE_BASELINE_2026-04-20.md\u0000af61921cea3a6717370b2e822c774674cc0aec9162f1842cf96c4f97eb6719c8": 1, + "backend-rewrite-tasklist/M0_FRONTEND_RESPONSE_CONTRACT_BASELINE_2026-04-20.md\u00006fb7e1246b06ad44e775ac264c97d4f0c098884fb810fffb2fb2ca439de53dfc": 1, + "backend-rewrite-tasklist/M0_FRONTEND_RESPONSE_CONTRACT_BASELINE_2026-04-20.md\u000095bf118f83ee82de3c32868d76b8ec8e0aefcb28fddcb953d7d30c68f8363095": 1, + "backend-rewrite-tasklist/M0_FRONTEND_RESPONSE_CONTRACT_BASELINE_2026-04-20.md\u000003f69617b44518b8c89971efb6db7ba8593c0d1e4a3a4113ccaa55bd731385d0": 1, + "backend-rewrite-tasklist/M0_FRONTEND_RESPONSE_CONTRACT_BASELINE_2026-04-20.md\u0000eca95be6e7bbc9de6455ae9b9375bc404819b9823f4dd3016d930e86ffd464d1": 1, + "backend-rewrite-tasklist/M0_GENERATED_STATIC_PREFIX_BASELINE_2026-04-20.md\u0000b4ed53f9cecbf30d83e3ee52952bce89c0963ee932ef786ff33c41bc37aa7d02": 1, + "backend-rewrite-tasklist/M0_GENERATED_STATIC_PREFIX_BASELINE_2026-04-20.md\u000075ca2112dd827023f724759d253d0e3436b9cd1797c76166c952e53f8499e8b1": 1, + "backend-rewrite-tasklist/M0_GENERATED_STATIC_PREFIX_BASELINE_2026-04-20.md\u0000f190fe3862bbf3c5485b704822caff42d75a3bc7851042ab451d903a8f5009c0": 1, + "backend-rewrite-tasklist/M0_GENERATED_STATIC_PREFIX_BASELINE_2026-04-20.md\u0000ce908e01f1ce7bc63b86197ed0e389b3bc8484819a51e3f36bcf71cdc683321d": 1, + "backend-rewrite-tasklist/M0_GENERATED_STATIC_PREFIX_BASELINE_2026-04-20.md\u000039c682400bbbf8dd1e6e75ef34b777a5753a78ba90ed12414014419c70d33bb3": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u00006c5e6d67ef9b19b63a070b0296e517db7e83bcec8ee803d9efb11e9429fd7547": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000f3410c1b6437e42ad0d69f7bd1c99408370f2bc59e304f8d6e5500aec19aec9b": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000e8098135526dffe799c9280e1a2ef4582b26d8870471aa43f22fb7fac4b44d52": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000ca79fa760fd78b54dcf246c04f22f081d03826944d20c72990cc4596e0ccbeb3": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000543132a8c1cfe6953abd46161827cc478cdb8cd3d513a13fbe6e734fdd65e4c3": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000b835bf74ae7ef74eb64af0fb38d6ec93a1e028ebb52bfbaa0bc19eea76ee940a": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000a9e2668d290fad29344dcb712d12c2ef791758d7ea2800e82a387df1ab44d541": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000fe68cc34ed7627946086d3fa98003dd2c2e887fb690ac677bd8ea2a08d989ebc": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u00006b880488d999d1ca830452d396dbbccc65f515dfd7924f702180002aabc6090e": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u000061ec594aafe6f0b5a309d23a8fc55e0549281e09695cee227241333cde8e0a21": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u00007c25f46b2ac69d9b9d65fdd4125045b27a845626507369fce093f99960d679c7": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u00003be9a0ef03f23a59edec11865b80ff11c2ed3714b22fff92d57adf18d45cb81f": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u00002161e8e369c5f5f7093c0ea016a7077b6ca5e68b84ffda1fc449b17cd282c4f3": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u00000e4fe40618112a84d60c38f609926d022d0a4005be2a87d059fe010b0a7737a7": 1, + "backend-rewrite-tasklist/M0_MODULE_MIGRATION_BASELINE_2026-04-20.md\u0000163a263d5794daa24f525883fc3a11c768361202c9c2a968e0b537d5fba95484": 1, + "backend-rewrite-tasklist/M0_PHASE_ACCEPTANCE_MATRIX_2026-04-20.md\u0000a114c530267b900294b1e275b57483c0654f2fba9811441c0e2c1ebb657b2867": 1, + "backend-rewrite-tasklist/M0_PHASE_ACCEPTANCE_MATRIX_2026-04-20.md\u0000221458c93ca3f9b81650d57a8d11e3479ec3b3a56b45f96ba5889bbf68df5ad0": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u000025d32842a1d6cb6e92176913c34494fea42e58186d7d3868e4cbd5f99c130c64": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000bc52fbd3b890985f5fd865e88598ba28f837c08980ff5f8a4e1ff8db5d7d24c4": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u000089c2ca4755ebd93b0e8c7f061c7bc9f5e87a4804e9b5b376ee7ed792c8f57869": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u00009691b86721a607c1576974fffbd9288c10239bd6b65076dd28234301082b4755": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000cf67e3ac1b02e09e9d31785cc08d1a7e66dd0b74953f9c527fb007ccd2ca60a1": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u00000e65dd8c18606e8a9a329a9b1b34984675d8d127248cb7b27d7b6c67cbc6a240": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u000014b0824277838bcc47582d452d0f1a5c80cef12e7905bd7930fcabe03f8d050f": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u000082bf2f60d387c35073188f049c3d3bea0c079e0bcd18aae05c8542735a4b1c40": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u000060be1d0c1f35c95b4ac688affdfe2c24e93f2010e53fa71a50cae8189089de3e": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000c007fa1a0a6b23f6ff66d5c6792db8ab021364676f755e256f5734a242a0b397": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000b2d5150834f5b6d065c413ebf66acfea4151090bed2124b608ecbb739963ad0a": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000a0b6a31e8f6b5b9af2dd0fabf935090af306e985192935be84cf26ab8eade8ac": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u00004518097a58cc4f8d3e4e0bbfabf64a7e08ce76f40a1290bb62d1cee5a3436cc4": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000e34e4729cf7110e981ce9fc0a3735d78cdba0e2adb7c252b1e534653060fdfd2": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u000045fd84211718088954b95c252be973d6a0f1902aae55acb6578dacd3217b3ac5": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u00009654671e380f1a7b086f04d6d3d15a9dc7a1c0070bca75b6f62a8ca4e5a099e1": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000ebb6aec34e7c0a7be23e1fa75665b32171cd254faa9cc3fa42b71a37b5a6e58b": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u00009f984eee0f0558e870f5cb18cdc4528db5a41d41ada29bd2dd97c0a1139d987d": 1, + "backend-rewrite-tasklist/M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md\u0000c6b0320ef3419386a53e9c21551e50d7ad13a6d670cac79aad0bda769f06ca6f": 1, + "backend-rewrite-tasklist/M0_ROUTE_MIGRATION_MATRIX_2026-04-20.md\u00006c5e6d67ef9b19b63a070b0296e517db7e83bcec8ee803d9efb11e9429fd7547": 1, + "backend-rewrite-tasklist/M0_ROUTE_MIGRATION_MATRIX_2026-04-20.md\u0000265091148237b23ce1795d1e587fd827cbc5fb133640dbcaca8e4e8be859a305": 1, + "backend-rewrite-tasklist/M0_ROUTE_MIGRATION_MATRIX_2026-04-20.md\u0000cb87497fcc882177d3af84cf989d616e2161018f15c14acd33344d171ec079c2": 1, + "backend-rewrite-tasklist/M0_ROUTE_MIGRATION_MATRIX_2026-04-20.md\u00001f8ab8f863f290fbf9b0e98cf104862766d01813fca95f1efcd3dedf3e7a6c5f": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u00006c5e6d67ef9b19b63a070b0296e517db7e83bcec8ee803d9efb11e9429fd7547": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u00006fb7e1246b06ad44e775ac264c97d4f0c098884fb810fffb2fb2ca439de53dfc": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u0000ea879ddfe019a14e428a2d4103d01de687b9f571ec83619f45f059524eaa5e84": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u00000c7dab32dd8d79f8a55dfe8de52df01da216ca64cb26cfb3fecacc667a6ed80a": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "backend-rewrite-tasklist/M0_SSE_INTERFACE_BASELINE_2026-04-20.md\u0000798729f12c0ba12bb90570fe70923c9d038661886f5021acecb12fae54511cf4": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u0000d53458dfee41d3c3a26f6c66761b9871ac4647f427d15107551e51bad2e9d1b7": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 2, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u00003fb7958730ec076d3c5057ee5819402bb47a0e6c6b0fea10f68cfade2b66e81f": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u000000ecc83edd3ee386e211002bb4ace7a362dd05095dc5651fba0e72274f9103ae": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u00003d2597c34b71d8f0afdcfd99238e425bef58fb78aa0df743ad3e155687a95942": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u0000ff3dc32a72b0f6b9e6be1bc149d15d4545fc703be69961d681a00be59beee2b3": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u000047fabb484aa8d502baa469802d2ee72d85281708ed8db3798266901fde117b31": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u000039c682400bbbf8dd1e6e75ef34b777a5753a78ba90ed12414014419c70d33bb3": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u0000c4bd4fd83cd69aa5168a981ed5f5b83b4e5ab25ed3d6820ce62c4968d626ef91": 1, + "docs/audits/AGENT_TO_DRAFT_TO_WORLD_PIPELINE_AUDIT_2026-04-20.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/audits/CHARACTER_ASSET_PROMPT_CHAIN_AUDIT_2026-04-20.md\u0000491398d4c2b3de81ba0b01a58d1d03e33c250b3b5d926b2e3c8a6d91a72abfda": 4, + "docs/audits/CHARACTER_ASSET_PROMPT_CHAIN_AUDIT_2026-04-20.md\u0000a98dfaa4510ce77864accf9b8c5df1df31e4aa5b3cbb5a508b78351d3da7092b": 1, + "docs/audits/CHARACTER_ASSET_PROMPT_CHAIN_AUDIT_2026-04-20.md\u0000b4ed53f9cecbf30d83e3ee52952bce89c0963ee932ef786ff33c41bc37aa7d02": 3, + "docs/audits/CHARACTER_ASSET_PROMPT_CHAIN_AUDIT_2026-04-20.md\u0000ed38ad2b40d62039eca4fdaad65d3512ff26d1c87d34220c6fa963da04025946": 2, + "docs/audits/CHARACTER_ASSET_PROMPT_CHAIN_AUDIT_2026-04-20.md\u000059add105792395e82a765b4187d89192c8811cd4a9dc652219c147707f39ab72": 1, + "docs/audits/CUSTOM_WORLD_CREATOR_TOOL_AUDIT_2026-04-08.md\u00003fb7958730ec076d3c5057ee5819402bb47a0e6c6b0fea10f68cfade2b66e81f": 1, + "docs/audits/CUSTOM_WORLD_CREATOR_TOOL_AUDIT_2026-04-08.md\u0000132dddf2b2356bec3b88873a7dcc12b037bf193d49051bbce031390a1fc525bf": 1, + "docs/audits/CUSTOM_WORLD_CREATOR_TOOL_AUDIT_2026-04-08.md\u0000093951a59f9d75cdc88f4d976acb685f70a5dbaa653b84a64f36da38ae954eb1": 1, + "docs/audits/CUSTOM_WORLD_CREATOR_TOOL_AUDIT_2026-04-08.md\u00004ba9d25937a9ddaf4e4ac7261baf578b93df8dec203239f2436e2bea852f3284": 1, + "docs/audits/CUSTOM_WORLD_CREATOR_TOOL_AUDIT_2026-04-08.md\u0000d81a9401e6358e8ef4e1d9a8799d0d36ef904456015176d900e66712a5d5d4e3": 1, + "docs/audits/CUSTOM_WORLD_CREATOR_TOOL_AUDIT_2026-04-08.md\u00007089803ce571c1e30a0d8e9cc70036a29dda71b709aab00560ad714118286ca6": 1, + "docs/audits/CUSTOM_WORLD_PROFILE_MAPPING_AUDIT_2026-04-18.md\u0000798729f12c0ba12bb90570fe70923c9d038661886f5021acecb12fae54511cf4": 3, + "docs/audits/CUSTOM_WORLD_PROFILE_MAPPING_AUDIT_2026-04-18.md\u00003c22e30f19a83566f84b708750e3981c85a7dcfa8a5a780afc1517a315907598": 3, + "docs/audits/CUSTOM_WORLD_PROFILE_MAPPING_AUDIT_2026-04-18.md\u0000983a7434d67243336c4a732ec606cf84e65681e80491f210125200720beb612c": 2, + "docs/audits/CUSTOM_WORLD_PROFILE_MAPPING_AUDIT_2026-04-18.md\u0000d4097c649064b761c524ec17e5f2015a2d61b67fab204a463c9931935b396765": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u0000af5fe0565379c60a6b416068beb89c6ae896b392d0a38bb481d2176cc9586ac6": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u000063796956b89cae3b30a99d476d048ec0477b92845557a8dd2fc4ec5720e8002c": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u00002c4f253a5bf31927c52386f2fd16af7a4d26c58a2d43c3d476a8b7297b45e7f7": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u0000c6744966fe0f580b4073a8572669a5f99821419579cdc22a3277ea025460fb7c": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u00007670b226e1e15a4c154bb701832db0f0274b1aaa975046e71583e3c66609caaf": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u000012877451d0dd422a89860a9b59fbf3ef76d4575e1fa3dce85b9f3d335b809a43": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u000064179846bc43e6d04bca8eda15c62fb7c1704423946197454eb76d94fc0c590c": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u00003c7cdbae6b42ddd73b0beca3da6098951d7c8ed3732655bb480a7ce49e37e9e1": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u0000516f72c0495482631a1f25718adca05ba890bf786698013f9a36d0f1fa5aebe8": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u0000c5da60a1898bb7af987eeb7adf6bcffc761fbb2aa318978db9883783a79a1e58": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_OPPORTUNITIES_2026-04-20.md\u00006d09ccd01829378040ab5174d3db2ea5d163da7fcdc78b00e9d7e9320336728a": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000f04c68d32e7e385578e5ec0b4e83e038e255e568b5afaed5d4efd4f57162c3ba": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000d53c33e2125bac0ee9d7b7d4a46c4fbe9a20baeef17d9a1b3d3a9f9362e76eb2": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u000021c5408e8583ec937c1b2e6f817c7391868ac718f7b01e566afd93ed403f0b32": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000f643ebda56ddd1d89bb277ad77db87843c794f8888a4852125aaa17e47ccf40c": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u00004991feb765eb926b18d3f8b6bbaf75f655cf3264b0eca74cb29c2abac17d9d5d": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u00001fb3e602b2c7ac87b54580fa4f4f1fe6c42bc4b0223917750454e75be69822b1": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u00002c39f76cb38df67cfa34769a9d72cf7c8edee9e26279a14ff20ac98d40609be1": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000589f47858719929bca101dd3839921999d2f60e50fb1ae4ef093458bc93e9c26": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000b117d37b95957a218c3a05f9ae4a1ab1a7d4ad116fff7d093b1729c707af118a": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000366ee372ba32a0ef02312969dd368ddd160cd528a9e9fb47a1903951c0962bc9": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000807e68ab8a82cdf9ec76e553033af5abd6218b2c35ac9d52ac4a876fed22e0b1": 1, + "docs/audits/engineering/CURRENT_ENGINEERING_OPTIMIZATION_PRIORITIES_2026-04-10.md\u0000a16387a2480116743883402650c6df05b6dc30e7cd2a705d1e8962473a28b0b5": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000b208df007248684f45ec2bcfb4ab94130dc93f6c7d4be1bfe7bd3da0d0e20c52": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00001ca82826b746b1b647f28c8cc289e4a86a3581fc150ee189ffcc6258fcd4fd66": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000c4353e26a96d3b77712ee4b4e64bcd3721fce67383077b5e4b9d457f7a4e31ec": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000b2747ebfee148b1645d05e9cdadb01434fc5890fc8a93da17b72788e6ce901a0": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00002b7f9cd382f767f6c16eabd45824e809b77d3b0456d59d08ce21e17068d8a205": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000355d2bae2b9ecb450d2b14873b1a873bd99da84f48fd68d2ebaa51676fa29b6e": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00007900a0da38aa888756cbda21c02d3d4a53e1388246a348ea991deb7b1933443c": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000b6e595a3895919c3ea6c9a51e845292061f75bd296418f10664d27f68f4358ec": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000293f0c58a4124c2d4ba91378089c94d64dd12e6c7f4aafeaa56bef3502f59321": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u000015a7c0fd879f31cf8fd3af5c663de6cae0ee3dcc5dab3828cf580ad661fc640b": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u000012b5a8c6a51711671a7a01a4ee9223caa8e0a6ef12b7dcb3e9d1f75f967bb5da": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00008eb3a31cd79402ff162c569d2a5cfc0411d0f6097ae76252e5110ebadc030200": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00005151dc4786d1b7d49ca3c81d5b3f6b9558fe2a01599fa52583e100b120a108ad": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00008c39b82b5b65ce713d8d0102e169b31eed96a5d95e66a880bfad3430fb2e90c1": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00007fbe98eeecbec2363b330a96bee24474333d7a97271ce1213f63a4978b5fb297": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000f9afe7dc078db37d489590d227027b1dd44b974e7f759f67227190a461052eca": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00008e310b7a56e477bd9a0c2bca7a50c8987f446a9939b41444a30872bef84d703a": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u000021a4e6ae0c550fdb27c4f8768bbbc2ef6f2caace11d11580c5e191cf3499b735": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u000064d125677a717a6965f7166b94f145499a2cf17eed9b7c4e876d8b5650b2ed50": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00007696247562cd0333e2320c959812fd8268af68694adb9c821ccb45090de58622": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000c8a26e6d2fb41f6ee54abf07f7287866f0923417062fa14c29e9e4fc1e47b8cd": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u000009e6c83700546b97245ec4d359a4ce017c41b3d54b421f5758363e626d1145b2": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000735e1e873c1115dd1202d7ee2aea8711a14691fcb5a225243cddfbf92f96d9b7": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000185da8222c46fae32244c99861a8dd40c48d16c502285fd5a53aaf80dcaf0356": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000478c6cd574aad56d1ecc8ef251c0f1dd720c16bb23335b914fc6fd93f0b75d1d": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u0000a392bf345b68937165ab9eff9a243e9ad3a974d37a6c8019c6969ad86041a0fe": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-19.md\u00003995b9eeb17551721f1e0e80564e2c44dec1f68600f4977a02352ccc6e59a48c": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u000074298c876947d0de26a056616a03f31e72975076bb4796527c1d4964d16b17ff": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00001a7ab1ff027172af6d430532013183f74b2d0c2cc185345339567989f537f0a1": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00002ea67e634f7fdae9af0b6f0b06300d4021cb82f7ac78846b6f75fcf11a6edcdf": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u0000ab3ec10e3001aa28e3f67160f096d6497797ec4058401ec425e1015a08eb1f5f": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u0000da4451019f56ea613b93875253a74140fe3ffdfbafe793ac8c95b39ad9506394": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00006d6d391a80d5fb88950f0d1682be32490dbb8940c6c27b1dfedb27edb7006526": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00008a3740bf40fea0e4a9c38d9d0c794587fd6235725207a338f6e3afbead3930f4": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00005573a6396e46fbfd77e571595cc16eee75f37398c8737f21d979eff9a2992e45": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u000059386071108df861b2828b4da60aeff213a2dfa03effaff9ddd3cc4c429f46ff": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00006ec2d417f858a947ca97f93ffe8243543868e78222da026f36ef3b404a09fca0": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u0000b9bc40c276eea0f67fef74359d72469df870828a2f50466b40a77dbc2f798c25": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u0000808d9e46ac7b4eefab37e25a9ea7983e5b04dd7cb4428e25a7d06a600ffc9476": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u000009f5dd58bd8a1e7675be6f252c352eff73b3c307df2f9f73606eb996f7caf75f": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u000035ca974c2fb82746c44c2420340dab21694156b006a7a604a9ab2205eed38139": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u0000a5dcdb6ccbc9cdc7307526eb08d66adedf1112d54eaeee39654f063e4e379b36": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00009fb04afc744b7ccbbf4800e565cf09f166161d4cc1413a49fee26e1774871340": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00003dee6a92bd57ce2065d81cc59f61f7468c6c0ad97494b6a45ffe20e336795394": 1, + "docs/audits/engineering/ENGINEERING_CLEANUP_AND_BACKEND_BOUNDARY_AUDIT_2026-04-20.md\u00009142bf6a0f901ccdeb54204c0179eb45da1026299b16e2e769d770c52022fd5b": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_A_2026-04-21.md\u0000e372023824041dc37925fa663fa9b99904aceafbdd14ca8ddca8d07f8875ffae": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_A_2026-04-21.md\u00003e2536aa770fbf7f8d760665dfb728a9546f1f810b388a1d60bd7f78ec6000c2": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_C_2026-04-21.md\u0000a8bf258368f76607cd6dfa3ae023a2c9edcd6a2045fcba0fe3fc3589810d98c7": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_C_2026-04-21.md\u0000fc8ab1297cd7ac2e646d18c91205d039fce0b8f744d483073191fb473288a755": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_C_2026-04-21.md\u00003d50294567429d4b54227d60bc74725f78f37ba535092835fd4b773fdb53e80f": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00000ae42e113282fabcf0e184db04db9fbb96d310edda8b0cf4330e1b75f0560baf": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00001928d3a8b72da9de47b84f8aa7cdc403c3ee614ff429b02e89e4a6ac0d20857b": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u000022ca70ffd255d8ed549b1967ce71226a8fa17944e762f60934630afd98a66668": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u000011f398dc3b807fc1aa5a10d0135d676ef65b914ca866443bc66a1b1baa30463f": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u000054644338eba439b224c3302c4ad25f9089ebe3f4c43915fb956e65f9582cdb59": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000bdedff5be7c77793631cd6b9dc564cd119012d46c3169f0183478953887d61be": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000abf2f9a1eb37f86d9544ec00d7e380d22db758cf4e2305adc51d95e4ac6cc8cb": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000b3fd3c3e443f1658ddca6dfb36b59696d562a4ac40c7d8fbe0df51f610074389": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00008cc380dcf6c07b66d1511990e1a725b5cdf9d4af70d2ae080f16aa0408adeba9": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000529a9ac786c59b2d808349322f8574db2a7c3f1b59a728edd244750795035cc5": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000860006064cdde91ff49033d9328d246a375c934b1d66024260bfba6cc8607473": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00008e95ded5d3762570147180d018f744ca2d75a12adf025c3d4b9fb177b60d4d72": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000c5b699573355b7fb2c0756829a7b822b77cbd5ada7705f171699f5291b2ab303": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00006c464a89139fb709c66f07a18c6e50f3acf583faa0c60b6c2482fdf7fd253cab": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000917993c45af22929249203760cf001759a239ecd9d34cff8078cf87ad95f2516": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000c8a5874cc50e2715ceda384d556d77e7f58171a1388ec9a99dea57e2b2c0c7db": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000df94764534ab14ab4dc680a60cc4a00694caf611cdce2cda3e18623f911df137": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000e04debcb85c439f60e376620dfc61d63bd8aeecfec4cc58d6634fb3e0be21d4c": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00005f52db01e77c6173f84c1a1c5eac7ac9c5ab038604a3148fd8714b9dfc06a7e2": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u0000f6dfea69c78ac01a682f09b3b285e56bd09773bcd2b86e258e4bed5e1d91fb8d": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00006aea2761001efef6b91d5f57744c5b3464bd04b3c10d39d3e31b098d656e8a4a": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00005637ce6e89b1f07bb90140b296560acb1772b81563932c90ce83ea0ebadaad61": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_E_2026-04-21.md\u00009bd5bcae2afcd4e7827787d29c58781712bc324ad883fd245ef932b14fa75d08": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u0000800b93fef1004b5df81e094dd3c6ccdaf4512982da7ee129590451f902169333": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u0000726732dac2de1e867e3b621dd06d7695fb3c03382de5cd5bae18f285255bab18": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u00001d66ca21b7fdfad2fdbe8ea2e571f866f47db4379b2882d34b45b3d86a660767": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u000052e0ab915078aa95ee88fd90fef2d5633312b2fdb3576ba9fae8e4ee8b61377b": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u000096e9a130bffd814eb952a831b13830516c82db25cdc8818f49a626e9c9eafd5b": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u0000b2b3e2e3864d1173144239caa99f52d6eda385ce1fc180e529949b698a87d98e": 1, + "docs/audits/engineering/ENGINEERING_DEAD_CODE_CLEANUP_BATCH_F_2026-04-21.md\u0000053bb70f8ceed6dd8ac384b8ea266faf9d225816d95e1f83f3b5e021c6261456": 1, + "docs/audits/engineering/FRONTEND_LOGIC_BACKEND_MIGRATION_AUDIT_2026-04-21.md\u00007d379302b9ed1690e31b2731d2833bab81d94c4e8583b6b06dd9da0e38cadd71": 1, + "docs/audits/engineering/FRONTEND_LOGIC_BACKEND_MIGRATION_AUDIT_2026-04-21.md\u000000532658521e6db306703dcb98c679524175a14eda9a3b7d66c5ed76a387d9aa": 1, + "docs/audits/engineering/README.md\u0000bc0982e95a444cab723caea791b7ced86335fe5970f0b2f9b38f161eaa638847": 1, + "docs/audits/FUNCTION_REQUIREMENT_COMPLETENESS_AUDIT_2026-04-14.md\u0000521c8f33885c533de9a4c5079b16833f07b280d6faa2e543869a3c91b4b0e20a": 1, + "docs/audits/FUNCTION_REQUIREMENT_COMPLETENESS_AUDIT_2026-04-14.md\u00002b920b27a592422e4b02fa9151c158a5a3d2eab4f8652edbc2a504082e36d2e6": 1, + "docs/audits/FUNCTION_REQUIREMENT_COMPLETENESS_AUDIT_2026-04-14.md\u0000795c38432ea566a14cfe677ea4ba92cac69bd745d5a0f5399d2f99beea8cdf96": 1, + "docs/audits/FUNCTION_REQUIREMENT_COMPLETENESS_AUDIT_2026-04-14.md\u00009eb5b944d06ee75016b2cf39deafd6cee434a4ebad79c5405f0626a7c7260cb5": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000521c8f33885c533de9a4c5079b16833f07b280d6faa2e543869a3c91b4b0e20a": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u00002b920b27a592422e4b02fa9151c158a5a3d2eab4f8652edbc2a504082e36d2e6": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000795c38432ea566a14cfe677ea4ba92cac69bd745d5a0f5399d2f99beea8cdf96": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u00009eb5b944d06ee75016b2cf39deafd6cee434a4ebad79c5405f0626a7c7260cb5": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000361645b1d4313448ed9504d412ef862fd96587b6bae7a10d4fe1e9ce78c2764e": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u00002d58689f446b45cb030c75b67e2f150804c7f03e9f174281fe4d0a38ed02e073": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000d8133456e51929d664c481897143a9b2e63baf93ae5c4b8ab8add45e7380e088": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000aaeaffb7c4fed2fecebb41239e49bf6ce5422c81e9972c741e9a974b7d4aa76f": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000ad7dd5f62871fe7beba20f68fd3c635f988742adb01fe3d3209481c0d8d623a4": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u00004ad738ce40f95fd8d5b62f9f3cc6cbd697851f80b5a6df7c098b540af096781c": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u00004096e8a2d46fe783d4737c1864de51d81530634f2bc1c4f7fef22347dcde0800": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000d7b829a6e0c0938a9cde34edb9a65f6073b79bf48a7d7e5575e5a030dec1cd32": 1, + "docs/audits/FUNCTION_RUNTIME_FULL_TEST_AUDIT_2026-04-16.md\u0000cceb2748acef6de3bab9bf6927730f3d23588a006ab3ab728b529911e9614be5": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u000011510d45472267bacc628ef62e08243f17fe81be28b8feac2f24179afab5300b": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u0000b38594661f621533c89e713de7c4fa6c2a8a0ffa5c2183adcef8aedf43ab939b": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u00003fb7f7bc226fffdb60334fc68dd168893caf04ead2abee87a7b51b0fa089cb0a": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u00009cae9e7c752ad49139623b05caf17dc1e817c8fde6f0992c70b6237c10548236": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u0000bee35a59b96a30d04ff431d6b174d4fa43e90f4547bf4c027a3e5440f3e283ec": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u00004bc2f286cc88fad84710b61fc3d4aec8a1c4de0178060e1672915f0086ead66d": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u0000bd7b2ce60ecd0802151a57e30508667c4c4edd8e6faa6616590bb1a13d775297": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u000010fb105a07e8e5a04b278b730fdf3272dfbd7385128edca05642fa950d602713": 1, + "docs/design/LEVEL_PROGRESS_AND_CHAPTER_NPC_AUTO_SCALING_DESIGN_2026-04-20.md\u000058838d84e0c18eab395ad01bdaeec6383d11c4219d08c2e5f912a1a2fa4411b4": 1, + "docs/design/SCENE_CHAPTER_BENCHMARK_GAP_AND_AI_NATIVE_EXPERIENCE_SUPPLEMENT_2026-04-08.md\u0000bed22e5361cf93462ef723014282563216eb38952db39e4681ab8aa1dfe99b42": 1, + "docs/planning/CUSTOM_WORLD_PROFILE_MAPPING_OPTIMIZATION_PLAN_2026-04-18.md\u0000d3d40ac12e6d84532f496a45e54084077de0aeaf673e4a818ee558688f7cae64": 3, + "docs/planning/CUSTOM_WORLD_PROFILE_MAPPING_OPTIMIZATION_PLAN_2026-04-18.md\u0000ad8d737b6c5616b35f5554208e068c830b1273a276913f9c91d4cad2b86875d3": 3, + "docs/planning/CUSTOM_WORLD_PROFILE_MAPPING_OPTIMIZATION_PLAN_2026-04-18.md\u0000aebdcddca1821b6e3462a7b47d6767073a62130473c12ebfb274c8ca0751f829": 2, + "docs/planning/ENGINEERING_DEAD_CODE_AND_HIDDEN_BRANCH_CLEANUP_PLAN_2026-04-21.md\u000064179846bc43e6d04bca8eda15c62fb7c1704423946197454eb76d94fc0c590c": 2, + "docs/planning/ENGINEERING_DEAD_CODE_AND_HIDDEN_BRANCH_CLEANUP_PLAN_2026-04-21.md\u0000fb993463445c772d83b781570910aa69d823181d5fc4370817580772137ba329": 2, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000e4d048462697c6c73db23a8d72783e6a411d2280699e7f851a1da4c14b18aa6d": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000e4ae0d2ac489c7ec1d4a15b6c8f4f6be6740d6ad41bd504935fc26ef27882c2c": 2, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000ae8483419d10f77e64c61612fad63cbca329edae2d20d6399e67339db59ab81c": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000cc0769b050a6002bc698c3936ff69b7d00c967618e2b0d0c3f913bf9d67f8e4e": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000152328ee302e400e62a042df24a009268cc72ac7fdaa6038988958063f14b888": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000c71e3572f198ca9f842a1f17cc845d8578e686bd48169ffc7456b8d5a43a3a86": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u000077f7c673736b732a89e86696635a05a9c647fbc48a720960b2189a821db6809d": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000789029ae2ec56eeb8983a37a393b3c2b241713e3c6023199a07e1cbc2bf25522": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00006fb7e1246b06ad44e775ac264c97d4f0c098884fb810fffb2fb2ca439de53dfc": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000fcbe6fcdd0986da1cde4dc12f95c030bec908871cef4613d6ef4e025860d868c": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00005aab5e47b6c78beab3d3b957597d92b5c324ba4c6280732cc09d625e2bee3584": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000fafac9e1779d6c47a66f7a1335a44b6dc587238ee29ea7a797ce2037ec4a0d61": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u000000ee385c5ee19044357b68561d180ff7f494478c7635ece0bef178556eed2435": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000ed07d1646c752c9e6c18cb80cb4e4a387a2ee96d5ab18661d9c015f95e0cbe5d": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000132dddf2b2356bec3b88873a7dcc12b037bf193d49051bbce031390a1fc525bf": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00006e50eef4c4860ab72031fdafc2dd40e6680462103d9d9978efad07806a3fa3f9": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00002e1d96dd81898ce5968e46c0696a531f2dd067e1d6de887f386af791848bf735": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000cf06fec5e5e97390b7edcb0b8a7b1c75fdf3a9774909b927c87fe4239c573a9f": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000521c8f33885c533de9a4c5079b16833f07b280d6faa2e543869a3c91b4b0e20a": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000e205cd5d32408785ab6a465a1163c8ea3e4c2692f06690f0b2e99c7a2cf7d4fd": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u000008d99990832ba07e6740ba9cd02fdd0c25a7aea31977dff4cf21e4996a0d2ee3": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00002b920b27a592422e4b02fa9151c158a5a3d2eab4f8652edbc2a504082e36d2e6": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00009eb5b944d06ee75016b2cf39deafd6cee434a4ebad79c5405f0626a7c7260cb5": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00005c37ceb1dc182197f4ff420b86c29e2ac56ded5efd5e08daf05ddaaf301cedd5": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000795c38432ea566a14cfe677ea4ba92cac69bd745d5a0f5399d2f99beea8cdf96": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000f9afe7dc078db37d489590d227027b1dd44b974e7f759f67227190a461052eca": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u00001563649ec67710a8baced44efdf8f5703ca66519e16bd1917cc399add06a8e9e": 1, + "docs/planning/EXPRESS_BACKEND_PARALLEL_WORKSTREAM_PLAN_2026-04-08.md\u000020f57f8456434f058b7a9e4c4940051414ea01e3f6b1a40b4331a44e040994cf": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u0000879344dbc4cccb352e35db66cd6440c4fa8c1e1134a013c4abfee2c0a64938f1": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u00009865d20c245fb4546fcbb171120fae68d8dac6945ff87f499f4568933a7e1efa": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u0000e7efb52435f42eb9dbe00f99aa599de59ee56538a36e3e463907ab56d1ca349e": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u00007ea4c84911c447cf9537182c116f77acd61fae7e55795f5f3bb2d786aae6e187": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u00001078021240c46c5e3f25563e7fca1db769c647f1eb75143c81a461aabcdc38f3": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u0000c9500dff8400a116a98d19feb6f5b96c7655ea9cbfd30d062ad98fd0ee2497a6": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u00005bd1ce06e9959f5730b87716abb0671278cffb30a5c8a7387ded119860936428": 1, + "docs/planning/EXPRESS_BACKEND_REFACTOR_PLAN_2026-04-08.md\u00004a0011c405caa264d929f484247a0bb47c0ec650be2665f8bb4ed5291f75e1e9": 1, + "docs/prd/ACCOUNT_SYSTEM_AND_LOGIN_ENTRY_PRD_2026-04-09.md\u00004aae14cd919ad3f9ee9af23c68ab86bfbad32f03035bcbb9a8dd381ce118576b": 2, + "docs/prd/ACCOUNT_SYSTEM_AND_LOGIN_ENTRY_PRD_2026-04-09.md\u000062441bcdee1f836b8b69a325b031b5619252e790ae501ce12a05f6bd5548ed22": 2, + "docs/prd/ACCOUNT_SYSTEM_AND_LOGIN_ENTRY_PRD_2026-04-09.md\u000018044b6302ea7e25a0cae1852203168eec2a662edfdb5ae1974346607039f873": 1, + "docs/prd/ACCOUNT_SYSTEM_AND_LOGIN_ENTRY_PRD_2026-04-09.md\u00000db9b9da879ac11eee6a09f2587761d765e4b03031059a325120a60963611105": 1, + "docs/prd/AI_CHARACTER_VISUAL_ANIMATION_MVP_PRD_2026-04-04.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_BIG_FISH_GAME_CREATION_AND_GAMEPLAY_PRD_2026-04-22.md\u000018097d5eb05e8232c8cff02908b6a200768e8e251b926e08e8bd86d14d015318": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 2, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000ea879ddfe019a14e428a2d4103d01de687b9f571ec83619f45f059524eaa5e84": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 2, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 2, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000711cfa4d6d8c3bd294d296888b2598d289f1c20ab81f8208bd9d9c78e8023959": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u00009ddfeb8840883dda7821626d90a56fd591d8fc1fcbe1b5e4454bbad6e99919eb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u00005748db249b754e554926ec5540f739429482785084e95c5051c054920fcadc53": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000f9f2cccc05600b591aa4b61134818ff158eb38c91e5296338d7a46927185880c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u00007dbf1033c5c0ee25139572fa3bf541772540dcf6a8c1a315e57059433a997070": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000d6c8e2eb2e967bc80666e6e47d9560ea06dc4207f936c98af3220d9ba8415e42": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u000067e508b67fa5c218c07d14cc1818d252bcf26704a9db6dae49ce0ec5121abea9": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000791d439035244705a6448287cae219a675e471ee489cf3afc4aafbb8538c17b4": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000b404005a6fd11eb75522494521c88374c2ace5c461bd6f3c01bad477222e8dbe": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE1_IMPLEMENTATION_PLAN_2026-04-13.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u00001e78c232c905d2c3e1d78366141d60266231cd784e5d06bf34e577bcdb4af660": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000a212c45e1a0adc7c2a175a2390e43fd11bde65cae1312a7ff1c2a70cfac19cc3": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000a1de2ff15475b864f29d51a327bb4abb00804931e6fff502758b559f4c4e64a3": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u00007ab1406b5470742d610db05fef45a820465e4b15698701cfc5dde0f068d5476f": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000d15a6d56ab5bacd51cba61cc33c75110b60f0c23eae46c6fb96ac6420df70dc4": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u00009fc34066e4ead77690955a7e29ee7aa90cb0074e8c8973efbfeda395a654d2fa": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000e4bdaf704fb465f282388a7793994a6b22101d250c5b65a2ce034607570d8340": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000e0af4079eea14486f8f0c6f8c5fdb7fb2efc6db639cca0adfa112a6d2009d5c6": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE2_IMPLEMENTATION_PLAN_2026-04-13.md\u0000762a252250aa2550c0c083bffb516d2331c7a75f74943f546bb3b59d005825ff": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u0000140398f428bc4ff7e8e83ca64729ab9925dfd75845377a051d39be26b5f7e229": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u000070e4e5cfdcf28570d76a66e9344030dad59ba33d634e483dcac02e4ccb2ceb6f": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u0000791e8f23cf4763066fc7bb70fe25fc5752b3d86dc72265ceb9f4464139cfa5e3": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u0000a47b710152bcf1d5d3b029a223372a72bdf5901081fd432ebbeb3fa2ac5f0079": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u000051d0ba57eb76f04ca5aa277d727db490a5f3a7ef22475aa85e21ae25f8e587a7": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u00001d6a28713ddcdc81e9d606cbfb7d744bb6dad1cc0ae8693bbb6d4d0d810b8f3c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u0000e4bdaf704fb465f282388a7793994a6b22101d250c5b65a2ce034607570d8340": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u000067e508b67fa5c218c07d14cc1818d252bcf26704a9db6dae49ce0ec5121abea9": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u000078ddba9e867fdb2dd01ab4cf69813329c431e7d51b24627bdd5e35dbf6ec8a68": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE3_IMPLEMENTATION_PLAN_2026-04-14.md\u000048266cdb7e05df170ceec6720d44b881dfe1de6f724158acb70e9d69396725ba": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u000070e4e5cfdcf28570d76a66e9344030dad59ba33d634e483dcac02e4ccb2ceb6f": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u000095b1af3956407beec3a977efcdaadc8abbe7c92f519fe214dd034bbe0994802f": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u00004415e39b98750bb303f852eba5a63516ad760ac2896f36a9f74fdbcde8d6aa2c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000583b9c033f5fd3c7d4ea951c03b9d86f9dd15d6f14ad0a2254c721d9fee0e11e": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u00007283a5906f999b879ffe3d38d44a1b795f477189707ceacbb9ce98e1ee51db96": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000f73b865595102858971b30d466824986cab21885f19c368a43880d14a9db9693": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000467fac8bb749ad065c79ab65e4337b4f35ef082f4e0ec111b11e1a0cbd755cf8": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000bad20eb60188b8eb32bc34a10d044361faa52b7f595c504ab232648e19e3f4b9": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000ce6c208b11ece12ec24ab576a337afb15fdd3a554152ba8d7215379ddbe79d32": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000e4bdaf704fb465f282388a7793994a6b22101d250c5b65a2ce034607570d8340": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u00001d6a28713ddcdc81e9d606cbfb7d744bb6dad1cc0ae8693bbb6d4d0d810b8f3c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u0000762a252250aa2550c0c083bffb516d2331c7a75f74943f546bb3b59d005825ff": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE4_IMPLEMENTATION_PLAN_2026-04-14.md\u000048266cdb7e05df170ceec6720d44b881dfe1de6f724158acb70e9d69396725ba": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u000070e4e5cfdcf28570d76a66e9344030dad59ba33d634e483dcac02e4ccb2ceb6f": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000b4ed53f9cecbf30d83e3ee52952bce89c0963ee932ef786ff33c41bc37aa7d02": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u00000b443aa5f7cf9288f449943aeaf7b360ee30720475d61bf51e39dd6473879729": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000c4bd4fd83cd69aa5168a981ed5f5b83b4e5ab25ed3d6820ce62c4968d626ef91": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u000026e0d8e2e7b48a9c1fb2b9de9ed21ca1950408a537a516ffa658af802c548d40": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u000045233df048f6981ea148e4ebd0c45ac98b3b1aecbad19f71c29ffff62c9a9868": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000b6b2772bed8502b92b92ad8e0744e498b35ddef3b00e4a57edc91de239714ce4": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u000056d84ad2b493795c1ffa4a3f6344cbc41e3cddc17a640d475d4159c38ed712a8": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000e4bdaf704fb465f282388a7793994a6b22101d250c5b65a2ce034607570d8340": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u00001d6a28713ddcdc81e9d606cbfb7d744bb6dad1cc0ae8693bbb6d4d0d810b8f3c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000762a252250aa2550c0c083bffb516d2331c7a75f74943f546bb3b59d005825ff": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE5_IMPLEMENTATION_PLAN_2026-04-14.md\u0000b404005a6fd11eb75522494521c88374c2ace5c461bd6f3c01bad477222e8dbe": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u000070e4e5cfdcf28570d76a66e9344030dad59ba33d634e483dcac02e4ccb2ceb6f": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u000073963a094a46e066dae72eb1cf0d342cacb7d57363c8a7592f1138d260269dad": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000f190fe3862bbf3c5485b704822caff42d75a3bc7851042ab451d903a8f5009c0": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000eeae4b3eac262e38a17784637740475d49b169f03d7d745441ccdccfb5eea05c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000bee768da786c3061f426af2bd174314fed380fae1b35942babf50e56ed9b50b0": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000912b12d9715ba1d94d3e33370a6e42ed9376f7e53041fba338590fe1e51e856d": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000e4bdaf704fb465f282388a7793994a6b22101d250c5b65a2ce034607570d8340": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u00001d6a28713ddcdc81e9d606cbfb7d744bb6dad1cc0ae8693bbb6d4d0d810b8f3c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000762a252250aa2550c0c083bffb516d2331c7a75f74943f546bb3b59d005825ff": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u0000b404005a6fd11eb75522494521c88374c2ace5c461bd6f3c01bad477222e8dbe": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u00007e79f4d08485c0a2dfea6535f9cf9bebc521be59ad99e65bb1da287285c106c9": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PHASE6_IMPLEMENTATION_PLAN_2026-04-14.md\u00000acde37b834341b7adba1407b84ff444ea342b46fc74ce1b6a69b1ed8557c4ff": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000491510e8ba67094ad2e874540545e7328e7433ebce7a984fc65669ca77765c65": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000c07efb153bcf7b3bf9d1ed78504a8dcfa2016de7ca8e07b68ff5e3f2ca967065": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000012eebd04c1fc436c437c2f27565f5a8b484b828258303098ea535868a4462ab2": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000fba914738cb406678c9966d22b49ab2e20c3137c5aee92081dadfe50a3d548c4": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000f9f2cccc05600b591aa4b61134818ff158eb38c91e5296338d7a46927185880c": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000711cfa4d6d8c3bd294d296888b2598d289f1c20ab81f8208bd9d9c78e8023959": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u00005748db249b754e554926ec5540f739429482785084e95c5051c054920fcadc53": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000de933ca0c3fb2cf67b1dcf19f7e6faa624d72e1cd53f5b13aafbc3db71ecad87": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u00004fc0ff8d08844730ef20c20afef8becfbb6446a0b320fb60c9d71bbe5bce19c6": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000b8cd1a4aed1e86d0889ff4a5748924b2b8913a5f094fc45d7b0aa014215db022": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000a47b710152bcf1d5d3b029a223372a72bdf5901081fd432ebbeb3fa2ac5f0079": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000132dddf2b2356bec3b88873a7dcc12b037bf193d49051bbce031390a1fc525bf": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u00002ad14de73e25fb1feb3aa889383204f5aa6bf959f29f6e7ba77e7091dc85dbf7": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000de16cef1a3c034639e172eee66dadd5db40aaf9cc47f01cc9aeaabff14719316": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000026e0d8e2e7b48a9c1fb2b9de9ed21ca1950408a537a516ffa658af802c548d40": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u00006e0d856a35e5e05c199e3184a45f16ea83ed6c69743e404bd17b8bbde034cb81": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000d20efe70ce83b31ab9dca73475158c3f64cee6ff07bf0771d4daad3eefe8ad34": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000036393522a35e654bd7d67bd6b6120c08ac9d432137025547db52842e324aee26": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000d6c8e2eb2e967bc80666e6e47d9560ea06dc4207f936c98af3220d9ba8415e42": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000067e508b67fa5c218c07d14cc1818d252bcf26704a9db6dae49ce0ec5121abea9": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000791d439035244705a6448287cae219a675e471ee489cf3afc4aafbb8538c17b4": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000fd94a43ae96e171cd22359253310b63c06483ef41f9dc0321add4af5e0d9a730": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000290d254f221327a08758245ce5340eb953db27545f0fdfc46b9e25bccfe8797a": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u00007c58e7b8856b7e68b35b614e01ccbc028fa62929e411301ae75acd7055d92e49": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000d2c18f5945d2ce75d18b48ec71af8e7831eb8701a82a0145cbd96c785a7be191": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000b97dbfd7ba19711b7786bf381cc841f92d62510797aab9eb6b5b0907b81885cf": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000020c4e06b00b3bf0910f97eaed1b90a893e9d93758ea3074ffc9ca1d417c313e2": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000a48d1e47ee01f186863d92f8340d6c4b5233c7f4b57f4f07f2efee66dad75494": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000057fc6e2a85a66398bc22cd2e0ec13a86692b598d1309ac4f2bec3a9c33cc35ca": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u000005c0924303f5ccab58e71d2c1072ba5c77a619572734b6b9f0a6f0b63d9a53bb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_CUSTOM_WORLD_CREATOR_PRD_2026-04-12.md\u0000083ccfb130e7778750db168dac1be0f6cb2f6676bd14282a3ca18b8bad7a40a5": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u00002497413ef5d54ada799156f80274ac857d24cbfdb6b40b62adfea369be83d570": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u00004db392000c789e58a5331ba82c10dbdb7270eaf30a096e7ea1f43ef42ebbbad1": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u00009bc31d73fba2d0324350698a2d3f6bbf5d7009056cfdeff44be6b191bcd0acd8": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u0000bf275f41ddcc20f0851efe2345cd07a4f716bf2058533d6990ef33384e68915e": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u000019176756c9c4ef77889e945584af9fa4973ad22e98321359dd409e7a40beef32": 1, + "docs/prd/AI_NATIVE_AGENT_FIRST_EIGHT_ANCHOR_MINIMUM_LOOP_PRD_2026-04-17.md\u00007f862cbc2d3703be4890079b0966e855fa996f1afa367a4eb65001c6025f0713": 1, + "docs/prd/AI_NATIVE_CUSTOM_WORLD_CREATION_HUB_PRD_2026-04-13.md\u00009ddfeb8840883dda7821626d90a56fd591d8fc1fcbe1b5e4454bbad6e99919eb": 1, + "docs/prd/AI_NATIVE_NPC_CHAT_SINGLE_TURN_SESSION_PRD_2026-04-18.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/prd/AI_NATIVE_NPC_CHAT_SINGLE_TURN_SESSION_PRD_2026-04-18.md\u00001f62acad4ad19f3b1191ebbc95493c7050246ed1f649b56444ec6805b9ae8c8d": 1, + "docs/prd/AI_NATIVE_NPC_CHAT_SINGLE_TURN_SESSION_PRD_2026-04-18.md\u00005446610f1bac7195f74b16d6bf92d768a0bc91af9e141c5388575be82d434f9a": 1, + "docs/prd/AI_NATIVE_NPC_CHAT_SINGLE_TURN_SESSION_PRD_2026-04-18.md\u0000b12bc9664466f9a95c4e4f60141e7cc52e3047b9d65d4c569fcc0280e324ec0f": 1, + "docs/prd/AI_NATIVE_PUZZLE_CREATOR_AND_GAMEPLAY_SYSTEM_PRD_2026-04-22.md\u0000800ffc432bf717a5a87433d8106232aa02633664aab6fe12fc5518bf2dd6755d": 1, + "docs/prd/AI_NATIVE_PUZZLE_CREATOR_AND_GAMEPLAY_SYSTEM_PRD_2026-04-22.md\u0000802b6afb4081048f4fea1fb9f56e58dc891fb43208bdc746430d07c7fbcab30e": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u000075b752254c16a54782f6cfd2d4499612881b7c045cbe0f0331e708b6ed3284c5": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u00000a715455eacf4fc4ca80e52da7066b43d553dad8b2949d741fb6e972b6ce7297": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u0000870821f94843d7d6ef8031a0728fcb03274d98ad56dfc60d3d9599c668b778f3": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u0000ecf98584795397149bbe60ad918864fe355e1c33f721aacbf739ed628e7f3b47": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u00000826253e65afb6d0b837b0edb526458d9c06113cf73476441067adba8450e594": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u0000a8274c044c0c1f7ea81fc320a6fe8e732578f8284cedf0e897b014e0ba57d501": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u0000edbc4c03ca0127edfd620dc7a14ed9fc3a0c0d37aaf3cb40bcd40e6193aefb62": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u000010981c4ccf9cbb268733f620437b30366cf31dc9a0b12f24487db85b07322b81": 1, + "docs/prd/AI_NATIVE_SCENE_CHAPTER_GAMEPLAY_PRD_AND_EXECUTION_PLAN_2026-04-08.md\u0000c8736a82cb153f8e8eecedd142ec55698ada32be0448fbe616e69c77291b0522": 1, + "docs/prd/AI_NATIVE_SCENE_MULTI_ACT_CREATOR_AND_GAMEPLAY_FLOW_PRD_2026-04-20.md\u00001d6a28713ddcdc81e9d606cbfb7d744bb6dad1cc0ae8693bbb6d4d0d810b8f3c": 1, + "docs/prd/AI_NATIVE_SCENE_MULTI_ACT_CREATOR_AND_GAMEPLAY_FLOW_PRD_2026-04-20.md\u00004326517de02b2d3bac8811c81e8d11c9a4e0b1b031a1eb21c19efc69c294a596": 1, + "docs/prd/AI_NATIVE_SCENE_MULTI_ACT_CREATOR_AND_GAMEPLAY_FLOW_PRD_2026-04-20.md\u0000dafb274192ef13ffa0734946a9cf95ef5e77600083dd9cc170353c27c1a9495d": 1, + "docs/prd/AI_NATIVE_SCENE_MULTI_ACT_CREATOR_AND_GAMEPLAY_FLOW_PRD_2026-04-20.md\u00007f628f0c54841e9cc704b7802e537a39025cbd41834b6421259d1a28781086d0": 1, + "docs/prd/AI_NATIVE_SCENE_MULTI_ACT_CREATOR_AND_GAMEPLAY_FLOW_PRD_2026-04-20.md\u000027b1dd2e74d479990da851d75000d5ff08635db4629e17a666d0fdbb0bca0400": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u00005d8ddf4bec4e2dad46b05f07373b1dea9803c7622e56fbd1da2287dbe05f7821": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u00006f3779dccea09f6758ea5b1f8a431f5f056858549f8685817f80659f381885f3": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u0000ad7892fbbeedfca860f48d7bddd80ecdf5d836c28b3d79a384b2a19c5a8717ad": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u000042567f5a28a493d571669d443d8fa2f7d173e7ffba037197bd0b58f626427648": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u00008045c32279aeb43e89b93769d3182246aa3c8c2b305f1b7959990333aee0a234": 1, + "docs/prd/TXT_MODE_CORE_GAMEPLAY_PRD_2026-04-20.md\u000045eb2014aec2855c232484530cf0cbfe205a2e760931f8ada7604a8fccdf9c88": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u00007c6587c7167c5ba7999c070f3322de05f59e8aa2cc99a9d3f00a124bbfee7e66": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000d896be1247f3fd235e01da0945d751ec26cd3d2b1a8df8a15c8fd3ef42871a15": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000dd4447a3a439c543e1c139fb6fb063425253e862a8fe60ec89a608ffd17d4401": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000ca7cbcb7b956a4e0d907644d95b81e91695584d01d1c64c3336c4eb672cff666": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u00005993aa66c74dedc485c3721386c235bcc6431cd16196e2c79bf1b23276ff9cce": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u000090707f44e5aeb1e970ad8a8b93d0f52a39cb99add8b9bd5f09d4b247e8d9fa95": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000c58d248aadf49bd78f6b18005bb162b003463940656a1c79538f2fc67737522c": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u000041bae9d80a0afd1cc38ef5e2653d8226d5d2cb6822dbdfd44a21ace243032a71": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u000096fedf999012a9d0b42e8ef289d82bee9578cff5bec6158558f67021ef543b79": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000440bea12f20a7031cf2786d35c94ed09629a6b92edb04e38c91155694bf8f3f1": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u00009bf2ebda032ad41af26044c4d82c3aa94380712dac135d36ca72748ddf55e4df": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u00004641eff0ee56579a535c3cb3e82c1a9fa681f4ba865637602602ec4cb4f50f20": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u000068dcd91e276a44125c0432d3f04c1302a23ba03ced480b26d7fa84f564c3e284": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u00009bc31d73fba2d0324350698a2d3f6bbf5d7009056cfdeff44be6b191bcd0acd8": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000feeb6e10129bc0d3edbed51afa15ca736ee165ed0e87f9445f7fd766e4280758": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u000063db1092b9231775b39a6899267787e99b5dcf132a5f126948814bf1b6856573": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000e05f193f5f11300a5ab0dfb6069b2f177bb7117a90c2264f7b43856d6fbfd9fd": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000b4aaa19cf86cee1caa56e36ade89699d3bbf2bd34d15070c6b14347e11488511": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u00003e4a1e0d6d82bd103366f6a97dedeceae9f2a149bd6c42d0a0927cbac2c72ecc": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000af857ee1d6f8fbe6ca3c988c28b78a04c8d82782262448c073594101f7b04420": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000a16387a2480116743883402650c6df05b6dc30e7cd2a705d1e8962473a28b0b5": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000ab6d2bf908bdc225978233c1b69f215e072c7c7edaad7996a7dfc0dcaaefd151": 1, + "docs/reference/BUSINESS_PROMPT_INVENTORY_2026-04-19.md\u0000bcf8a740ffa72200116fbc7a0ea131e473e6e0bf4a129e26f57d8ceba310b72d": 1, + "docs/technical/ADMIN_CONSOLE_SERVICE_DESIGN_2026-04-23.md\u0000ee95b3308e59017c9abef805bf4202097e3c3c396f72dc92e2f9c14bbefef5b1": 1, + "docs/technical/AGENT_DRAFT_RESULT_ASSET_MERGE_FIX_2026-04-21.md\u00002d8af19e247ac7d26fd5ef9c33551bb5b2d8400d6d0a4407eeef200c075712ee": 1, + "docs/technical/AGENT_DRAFT_RESULT_AUTOSAVE_DB_CHECK_2026-04-21.md\u0000ef564f7b3d27a584f95ce1531cf306145eb0a6bb5f070aa27c2443377dfe0cdb": 1, + "docs/technical/AGENT_DRAFT_RESULT_AUTOSAVE_DB_CHECK_2026-04-21.md\u00001e65b126de084de1dfb7eb73f0b6221a5766fe69aa9523ee14f9873b5439aae3": 1, + "docs/technical/AI_CHARACTER_ANIMATION_TECHNICAL_SOLUTION_2026-04-04.md\u0000b8fd8e814f8765cf066614d4992fe65b35aefdaaedcb2d191b8f2e9fafe196d1": 1, + "docs/technical/ALIYUN_NPC_IMAGE_ANIMATION_EXPERIMENT_2026-04-07.md\u0000720d77b397c0bda9401790c07685b92650d2593050f696fc7d86e9271fc66a03": 1, + "docs/technical/ALIYUN_NPC_IMAGE_ANIMATION_EXPERIMENT_2026-04-07.md\u000069783a43d3d2655e32c6c85e981e4e4ff89901840bc59e7f0d50b1230a68322a": 1, + "docs/technical/ALIYUN_NPC_IMAGE_ANIMATION_EXPERIMENT_2026-04-07.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "docs/technical/ALIYUN_NPC_IMAGE_ANIMATION_EXPERIMENT_2026-04-07.md\u0000cf06fec5e5e97390b7edcb0b8a7b1c75fdf3a9774909b927c87fe4239c573a9f": 1, + "docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md\u0000ce70be0f767fa7a9f455ff1ea98fba3d1170ae1ca5ee2a2be96763ea16c35371": 1, + "docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md\u0000b33b5f77cb5cdd287507b358d7214552b6b5efdca7c2e2aa93881e4fc5beba75": 1, + "docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md\u0000381b35357273f3b284ef4a2d58b1494de7fb100dd9632f78c0e973f786541c7b": 1, + "docs/technical/BIG_FISH_CREATION_AND_RUNTIME_MINIMAL_IMPLEMENTATION_2026-04-22.md\u0000703142fb7766e070f1e73cdfc7a320ab6422a668c606d03aa7aad849d3f1c541": 1, + "docs/technical/CREATION_CATEGORY_OPENING_TIMEOUT_GUARD_FIX_2026-04-22.md\u0000b31c1da113e546f3cad5d628f7b0a337dcda053f732c27760431661adf38975d": 1, + "docs/technical/CREATION_CATEGORY_OPENING_TIMEOUT_GUARD_FIX_2026-04-22.md\u000074de8056cacf58706518a85dd806346c1c369eb4514c8632b0cebe4601bcdf8e": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00003b728f13598d2508e672ce982083b36d6802e76df9da8163dd47acf83be20305": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00008b70d2b13994be37dbd8eb16896b8f287c6e4f4e121a7eb718e17a8dd0739c5c": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00009f02e534f95c026c0f7148449380bf2273882fb39a4a59e1e51d704bfea49a12": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000f62c4d47406aaab0cab3b2a8ef50b202d7fcaedc53b913a64eb1a39875fcbd41": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000336162c28d48d4420fe04e14e4175e28b5ce381de198f89586179048dd625fa7": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00003646965c6b19a309d9398877a32e09a59d545ead40f0965ebec7c04c7acdc1c1": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000049a2244321dee957e526bea1a83c5ae8c0e05a5154d2ffec31542cba89a1cf36": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000ece3bf113d3f34962b7ed6607088da3425202957de1a8dc95e9b4d9d0b16c951": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000042c6b16ad68a3af96d15ed3a105b64bd2d487c6764d02a083a2df79b878a12d3": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000ddcc5d903513035421c2b066540cce5f523ab1bcde079fbb6231fb77f6299efe": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c9cddd29f1b52052be35e26fba26bad4701c42a2d87004bafe11aa8fe76eefd3": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000069aa96282bc1c7b10d10d42387ee4dc8d7dabfbdb489f4fe227e148c96bbcffb": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00002fc85d05fcdc9438ee20b0adba030bb68d2a489cf072b7c5ae720e07a23c645c": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000034440dd44b17970b2ad5b0185d910af22780b79c155cd0d2be768d9ab3b80db4": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000230aea5bc00687b8ca2a47390442fff35c0b14831eab92c38bc2155caf2a98b6": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000a91e544a311ed40ba0dfbbb311c3b48d185a82ff024840bf148170c46eb77064": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00006a059339bde5c4939984eadc448c9535a4aea71d37151a553322aa69d86153c8": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00005f6a6e8f3161f29b54c920bba36965ed8c906ee0e205859041db012276ca1522": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000cd0f69ef34130c35a1b6eb6d9ae29591b7b8fd10b33140ec5f7070b2876e00f9": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000414850e482dd2524cefec8996be54e419642bb241c4dab1b2d5c9d2ec42747fc": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000eabc77263e78923a5c33a044aba141206323106dee19e14f8553e54bee1b8a4c": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000028d6036e0370b9cf49ee24f695caa597c5ea9c03c65afc7c9017053f84d533e0": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00005649c045ff978b6a89d03ebe146b8ad21a83fe653a6ed7da2f50988162c94029": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000025103268303e57323110daec6e8b9d6734dea7192a1927efd8ed6e5d0c6d2530": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000046d1739b6fcd519e202743734865ee8eef4dfa8aba9d920aeefe1ad0bdabced9": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000b2c2738f2878def3d0ff0e8617b98f3a34c9b711db8b8f4fbc105e166133fba6": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007e1edc37995dc7049200d7279741242cc1092cc065f331d357b814328d4812b8": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000968611a6438c0fbdb80c3269b44726f2dc2b875d9878f22e89ba38b91ef29710": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000e0bbe90697c214800f88f542d25c1210af641d8cd718236ffcba1979eb3c1f63": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00009bab15755fe8e97a5ef690c44c931d8395658b910590de5d874493b5213056e5": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000086e06ca3320279485a006e99ddc027b550f64db7abafc8ad4b27ee236fd9d53d": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000e61402b4b32f7427f280dff99fc631f98c1b25444fed7be23d8cdb81107ddda5": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c1138010ca5d4158494743604150168ffd1c743cd2ee73ff3e626435e4073034": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000054a8cdd597578a13c6af0fc533f7fa90e09977548a50c6cb7918492c78681572": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000762a252250aa2550c0c083bffb516d2331c7a75f74943f546bb3b59d005825ff": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c575892291169e985615013c3b06af0cdff31272dc1ed1bb9346fa0e4521da87": 2, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000ffe61a0bf8101805a4811614a439b61625d3315191442873c5de096aa5fbe62f": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00006ae0c988c3f46910d96c53bfa7ff6fe33e515d4444c7aef9481a4338b67726c5": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007eafdb4ad0bc4b461ecaded0683615d95abbbeb750372ecefc9139d354c4b3e4": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c7592faac641e230e0cc54730386a5c0717cf2e2288ffa8d86aeb4665a3e839e": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000aba470b1d8e0c4d316751be419b56960f7961343eda7cc7e327f5156cb98bc17": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000139307c5834341c8ec3fc0d88d390a0385b8f15f3ea915d5c9c99991dbd4c3f7": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000034fad8f82c97c3ecf2a95b4a1efc763d7bf773c15ea1bfc0a536a3fc4ada15cd": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00000d56881fcb2b03449f6c8b4c6c9ee00a04a23bfd09ff79f8fbc12feb8066fcee": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000035cce40f59f9a5bc8b3647fc100708dc679099200fb01605892117c62b04ecd8": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000f4304b99a5207a8914d62883de7d0773bf86eee2e8324ee6ae84f83358983671": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007b73c4c3a1af0bdafdf1fde3504cb033138ad6b9c7e110ae54ca45174fa8e28b": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000a3fe61165f1bca7f73748dcb40d563e78abe68f2211052f08ffcd03522fe6a79": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000785627266eaf1aa9caf888857057740c78fd01f4144bea130944b6e3fdcefd30": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000e612999d54374f3062f1b85e47f1aaf6adeb77dc48f5f1832e539ef79a0dae5a": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000530671ac6777070e4746da7ea8c06f51f16a1e965108b498b4aa6c16e13b49fc": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007d8eaffab1c534b072bf311e458f4640617ac8fa7411339b5ea0917bb5a14376": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000acc11a9437cdcd1a76f83e3a569c5db12b41678b1b73a9919358989cf900475b": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c8f912d94785818f8d7776ca78d264961a218ed0bc159ce9eff92c6f00c9c4db": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00000a9dd8c72d9179f2608f676eae387710f08d59f81d25a336fda22df81ed1cd99": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00001c961325f4f801ce357a237067e595b06fdf70f18ced60da4eddc1dd1450c5e9": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000078ddba9e867fdb2dd01ab4cf69813329c431e7d51b24627bdd5e35dbf6ec8a68": 2, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000381d76b284c2d5fe0a6fcc3e06ce6e48afa255ec73f0dc8ee1660105d029e55a": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007e3df586bfce524e0383379880e95b428b96f21449c1db06261561c1e599a188": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000af857ee1d6f8fbe6ca3c988c28b78a04c8d82782262448c073594101f7b04420": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000771bf296bddfa67d4a917a8160ebe271d4b5622f5cb2ef3290c48d2583461fcb": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000f1a370aa40f96f947916e42666964856b7ca5d0c550d1e9a4be0979b4ddc67eb": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000bef4f9af2b2f60e7e50589486db75f822ae8f50c988f2f7951a81ddc706ae0e5": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c9b5c8cafd8f8a08cd45b3dc92c7fd5ab0511d95577d26ade8f54e416fa65762": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00005f49c37763eb0316fb3d2d6e9fa736e7bceb1d7bf518d9b4b5a30d76f91ba174": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000194d74cc656ae7ba5a1597916cb1d43b82c288f99cfaf9bbcca61e861a126c9c": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000c43f6c113324ec0cfd2a408c4f0af3afb3f24879f4640ab581023e765820a6c4": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000a18ac4732de4746b8e848272369460bac0a1dd96ecfe700d6d1c2c850476b688": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000ab257fabe5148cdc0e6f56bb9fcaa50b750e822685e13748feb9e7322d941625": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000922a0525e57858f1562e4b97a00bf74297609733cf225b3bb3e2eb85a74bed68": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000067e508b67fa5c218c07d14cc1818d252bcf26704a9db6dae49ce0ec5121abea9": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00002646a6adb33dc1a29e2e52bb78db9b3b48d92b61319ff9e696a07edc40f5415b": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00003c7cdbae6b42ddd73b0beca3da6098951d7c8ed3732655bb480a7ce49e37e9e1": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000030a57281b06b7444fb578d0aee3a0ad370404acf07a117250a1939f0609a430f": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00009e941fbbb5c5aedb0161f6037aab66e4e2e4a2dca98ee5058f01ea0c40d0145b": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00001af13aa7e2c6328ea16cf6f073434097c2397c671a1bcc48dd52eacf0c2d47a7": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00004bde2d8c3f2ab66b6e178f4afe1f947919dc444f164640de4887670c2f8aad7d": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000012178596b5a0b7ccff88e0fd329cc7c52a17e0773884ce815096e29321c1249": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000aa44e6e4402a69aad6ad64b9a922feb64de250e184bde233be8ddd31336f17ed": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00000bebad944d4314cf46c264f21eb96e92a5eace9a3b07c3f356ae1da3c757ccd2": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000ecfa4578d99a135521126719616f048d44a2d9d745814c705960f50a788cdc56": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000403e593fb93db40962a43f77ad2ada3ec5f2e25307cbae49d8aa65694f4254c0": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u000034440dd44b17970b2ad5b0185d910af22780b79c155cd0d2be768d9ab3b80db4": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u000062e4b1ad4f0d4178638737b20638bb94533560aed3436fa0160618f43fb1a977": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u00003e1f144aa9b6d5f455cb97d5dfea93898969059db27eb252148ee7cce99075de": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u000025284bae1ee260340ef95bca1e03bdd4ebe3fedec52060feb3c274d75c332537": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u000092cce25b5bc2495fdeca513f384c2795b2095d74970411b90f107d70d4859bff": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u0000ca7e03864434b96ff19b6ee15c7fd05fdb420659be98cf6e6fa9f92b2b36cbc8": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u0000432d638fbbc6141d61c331b91e951a5ef46ed9ba3e416d9958b672871d996fd8": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u00002046aa3fc03cb801d80604c312268f9bf1138166e370e7539d4e6db3bc027b8e": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_D_PROGRESS_2026-04-21.md\u0000d40f7493bf9cbe975e4ed5129b321deaff92332e13cb9aee91237dd3e010d379": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u00007f75128f07efaa6ecd1d787e5b31c1e672ba774a7ddb43e210c2f1eac7702770": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u00006f7bbde8cfbd53d0e6463a57f0cb881907f00625464bd3015b148393974c80e3": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u00002322b53fffedd08199a24ad42fa72d1448978bbc771a4290a1fda6dfee1d1bde": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u000046871555e553a699140bad21a03ef31c88afc05093ea96cd51b63991c1c99de8": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u0000b2c2738f2878def3d0ff0e8617b98f3a34c9b711db8b8f4fbc105e166133fba6": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u0000c4b39ae21aea067744757a67a581017c40cb2c83e728da21eb263c346d088c5f": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u0000294e48ae736ff50a60ff24ba233f3200805cc427a9be69713122f3648e5b47dd": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u0000fab7bc29741659428d3f227bba2f9d6be8a6ed1fd92087d03f69c88982a15bfb": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u0000e0bbe90697c214800f88f542d25c1210af641d8cd718236ffcba1979eb3c1f63": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u00003f93abdf17093347c314f390b1b41d09f131c8ba616ad781991911df05a703c5": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u000007c700377b146380ee2ceca43c7b6063f2fb421d097f960f71a83d449c7d7991": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_E_PROGRESS_2026-04-21.md\u0000c6cc479a4fbb10d31619fee09e8c20a7fd27cfdadc638b4bca0a19b63fc5d7b4": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000d9be9c7d4ac37a27def7c4d3bfd8cbbe5c7357660956b750a3f1b29ce683c07d": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000aa004450e3d39f10c139121668b4f810ec58f6bb89b58308479d7f6827f0b2e0": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000c7c41b09b298eef99305610c598ef2e3f74fb94386f169973bf0800fa010be76": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u000046e068e1a01e8715a9e99e22d93842e156e4bf99239bcd96ec5a0c72aef49484": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00003cde3f9782b82f6a22db2df3fe012e528a42c0939f4f0ca12c570394468cc810": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000adb827259503fc1da94aac99980f86222b7267adee3e0e493954aa58f6ad5d94": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00006307b32b0b76c973d40c3de0c7a9722fde9f1f3caf12f7031a5d5aab17da1705": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00009dc064c8b14cd3259cef59a3da622ddc5ceacae2112867d6e10055cb7f0eac6f": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00003c60115566ff97da566323752fd1ab536782b66b759a86855b5e1982ae86ab9f": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000d775bcabc86bc07809e91379a00517374051e99a88a3cd2858e0e2c52907711a": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000aee0fbd458996b469b18ffcc3c84b6b1663732e061906c6902b23460b8bf1cc7": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000f78e07b3a8b56b54fe5bb1c6ee638a66f31b5f3b98311c4ae1fe19a91875dc9d": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00003608b849b83a47587dd2692a70f82284400f10d5a5837bff8ff4736d92633b50": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00001f727d0e6f4a7b29bb6393919ed796aaa341be9353cd743c9d8fdc3c37426a0d": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00008f7a852bc8016c88078c081f594719e11459ed34141500bccdf329e42c54a30f": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000ad4a83686d554c8ef6ffbe708141b9aa75bddbfdf851a06f9b5e03ba13886ad2": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000ba094548a49b8f79995f62b762ea743d49df57428d0b50334ddbc2259a5ac452": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00002503fad68c0b8f9acc6897a4444fd01df07c466240192aed4791d8bcc343a1c6": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000870966dfbed92d0745787dc94878d46cd078af397f9fc613734a25a9e5c83489": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u00009989323f85d38d76cfb1d0972a581fe17d06c31f253b6b9d4347cedad8d135f2": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000e23392f5645ada3dc4f499007d0174b7b6dda08a0f955b1fb88f403ef0b4677e": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u00009a540baf8823666621836d5677912c739d37cd5676f599c25802362e8fad6c86": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000bc54c585bfc679dcc11dd4810e457e8d309bfabb8631b07d9e469571a2c74ecb": 1, + "docs/technical/CREATION_FLOW_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u00000f960e01a596b4ec1bbaf6333720878ed4534530a75bbb84e2f1832318e031ba": 1, + "docs/technical/CURRENT_AGENT_CREATION_FLOW_STAGE4_CLEANUP_CHECK_2026-04-21.md\u000075b4f2bc05984befd4114f898da6491cbc851e0a7307e8143f0b07d46a95a854": 1, + "docs/technical/CURRENT_AGENT_CREATION_FLOW_STAGE4_CLEANUP_CHECK_2026-04-21.md\u0000baf1fb4d413de5d616ec0c34ddb39d92a106da3cdb47cb72a1a11be98d134368": 1, + "docs/technical/CURRENT_AGENT_CREATION_FLOW_STAGE4_CLEANUP_CHECK_2026-04-21.md\u00000f8f3536e3b6ff87b20e7a194283722444d6f3ba6b33a2a0b6bac098bfd4c28e": 1, + "docs/technical/CURRENT_AGENT_CREATION_FLOW_STAGE4_CLEANUP_CHECK_2026-04-21.md\u00008ebfd3d0b096d18bdd9c68e9f5d0d4ce8ee872d4a627c252a164a9ea0767f78d": 1, + "docs/technical/CURRENT_AGENT_CREATION_FLOW_STAGE4_CLEANUP_CHECK_2026-04-21.md\u0000db7738669b8bc328e3b5987e24f1cd1c4f6211cb8389487f80c9959f94d5a370": 1, + "docs/technical/CURRENT_AGENT_CREATION_FLOW_STAGE4_CLEANUP_CHECK_2026-04-21.md\u0000a06894995c5dce3d2d34c151bd298c7f7308f953f4eee4048b9f7762ab5c47ab": 1, + "docs/technical/CUSTOM_WORLD_AGENT_LLM_REPLY_RESTORE_2026-04-22.md\u00003c7153c4b1877e123aa9f0eb0db02db69f2761d628d0ed986f378fac30800374": 1, + "docs/technical/CUSTOM_WORLD_AGENT_LLM_REPLY_RESTORE_2026-04-22.md\u000014bd14efb93d87c13aa4462ffe8a18de0270497603c621842e6323bebd417e21": 1, + "docs/technical/CUSTOM_WORLD_AUTO_ASSET_VISIBILITY_FIX_2026-04-20.md\u000028ea9f6abe602eaf0ea5fbc3b4f8f38cb49e161dc0c8dc02dad6201bb1086576": 1, + "docs/technical/CUSTOM_WORLD_AUTO_ASSET_VISIBILITY_FIX_2026-04-20.md\u0000157f4823dae2a671974214d1e56b99c4e391d58611afa43d300e0dc356879508": 1, + "docs/technical/CUSTOM_WORLD_AUTO_ASSET_VISIBILITY_FIX_2026-04-20.md\u0000251783eca869282972c432bea45421e35ab80c54f4e291620683409d62540005": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u00004769ca2325077be5cf0d8891c94ce5fa75f8c37693e904f372dfdceded318a81": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u0000bbd079cd6638b0db39dcf7f6a8a8dc77319a9dd7a06335e1691c2d8cbce2b041": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u00004056a4bc9c51a449a76fc381167749036f910b7e7b0d3642613d7fa59e3a830f": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u0000fda1f65d8d83683dea3597b8dbe65cd32618ff4a58471c00b2b96c89e3a961c4": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u00000d59dc23c8fb7cbc5824e22b40e530f481cf2c4b884f4f15de360ae63952fe06": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u00005872cb0a5a768543eb9951cf39d5ee6cba814ff56eb4b61917c9c806d14c00ff": 1, + "docs/technical/CUSTOM_WORLD_DRAFT_GENERATION_FAILURE_ANALYSIS_AND_FIX_2026-04-20.md\u000005ec65eaea433162b17d995a0a4ce051f25be5346e1eea4e2eda8348f90a4101": 1, + "docs/technical/CUSTOM_WORLD_PHASE4_COUNT_SEMANTICS_ALIGNMENT_2026-04-20.md\u0000d3c40d649fd3f502751459acf776b86dd29b65ec8848c7009ebdcbc8e2581447": 1, + "docs/technical/CUSTOM_WORLD_PHASE4_COUNT_SEMANTICS_ALIGNMENT_2026-04-20.md\u00001bd2ac5f1b5e9d6b0f6d356aa9e82f959f0384de0c410353d36c8c18a975da3e": 1, + "docs/technical/CUSTOM_WORLD_PHASE4_COUNT_SEMANTICS_ALIGNMENT_2026-04-20.md\u0000ce480e229d180aa081ae739ea85f8d39a528694807568dee11de0141b4869717": 1, + "docs/technical/EDITOR_ASSET_API_MIGRATION_2026-04-08.md\u0000c6571d3ad15791dbfbda2bff043b2deeb6b0f43888134bbda7e39709353755cc": 1, + "docs/technical/EDITOR_ASSET_API_MIGRATION_2026-04-08.md\u00006bfdc3affd0e519cf97262c08d402486945d05929e7c50418a1e2d1a4e13d358": 1, + "docs/technical/EDITOR_ASSET_API_MIGRATION_2026-04-08.md\u0000f9afe7dc078db37d489590d227027b1dd44b974e7f759f67227190a461052eca": 1, + "docs/technical/EDITOR_ASSET_API_MIGRATION_2026-04-08.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "docs/technical/EDITOR_ENTRY_CLEANUP_2026-04-21.md\u000069200f40223cc0ddb190ea2bcea8ffeab31b39dac033628dc3b79045e10c259d": 1, + "docs/technical/EDITOR_ENTRY_CLEANUP_2026-04-21.md\u0000243e7c55a0524648219aae21f426a3ea572001a51a695b27711f0dda7d7d2789": 1, + "docs/technical/EDITOR_ENTRY_CLEANUP_2026-04-21.md\u0000e4ae0d2ac489c7ec1d4a15b6c8f4f6be6740d6ad41bd504935fc26ef27882c2c": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000fefd0412bbd702a787e3b6bc7e770d779f1a8006982e3d5f3796cc18ee7bc3b6": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000953dbb131ffc4ef6770d000f0bfa23acc7f8058e5d89af9b114a86b12a18b4e3": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000e4d048462697c6c73db23a8d72783e6a411d2280699e7f851a1da4c14b18aa6d": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000e4ae0d2ac489c7ec1d4a15b6c8f4f6be6740d6ad41bd504935fc26ef27882c2c": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000ccb962501910f26ce0cff38bf12b6b5cead2cce029df9dd6e5f2c81812f08b0e": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u000006377113a4120ec61ef73bd5b60f9f3a2fcf0013fa0b6fa2f5ba29f29d8de626": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u00003e6405ad9cd28f9973e7f96dd04ee3f36df030eef6799feaf833c47ed7952a94": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u000015cce913280a7cc9caef937aeaa4d2f00d6e5789326bae1b37a53c62abd36fc7": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000bb82fdbd53ea452d76b45c7d66e199c7bc39c21f02216b364b7b23d8c3400068": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000563e73dc07ac4d8a002a6b6aa2660bbfb4525738a72bab3a33ebcd48c85a8fce": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u00004b8b4a9dbe0187b43880e206e1454a97c93be589a071a01ab71fd8e1d5b42bb0": 2, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u000023783035f19a0852d3050ba28bddbf4ed545db4329fe287fcf4215b792e93c08": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u000051981db8f419858931aef81f8570b20431c80d55e2f0f7eb410824c1540754d3": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u00002f6d6d6e0d0ebcc39d433f1071bfee461c8fa5d77afdb495f0d874a8102c1e2f": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u00003290d363768890c0fc0b9886284d09db03c9f052481c731ebe5891098d2085d2": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u00000c7dab32dd8d79f8a55dfe8de52df01da216ca64cb26cfb3fecacc667a6ed80a": 1, + "docs/technical/EXPRESS_BACKEND_INTEGRATION_FREEZE_2026-04-09.md\u0000798729f12c0ba12bb90570fe70923c9d038661886f5021acecb12fae54511cf4": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u00003290d363768890c0fc0b9886284d09db03c9f052481c731ebe5891098d2085d2": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u00000c7dab32dd8d79f8a55dfe8de52df01da216ca64cb26cfb3fecacc667a6ed80a": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u0000798729f12c0ba12bb90570fe70923c9d038661886f5021acecb12fae54511cf4": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u0000fafac9e1779d6c47a66f7a1335a44b6dc587238ee29ea7a797ce2037ec4a0d61": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u0000ed07d1646c752c9e6c18cb80cb4e4a387a2ee96d5ab18661d9c015f95e0cbe5d": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u000000ee385c5ee19044357b68561d180ff7f494478c7635ece0bef178556eed2435": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u0000132dddf2b2356bec3b88873a7dcc12b037bf193d49051bbce031390a1fc525bf": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u00006e50eef4c4860ab72031fdafc2dd40e6680462103d9d9978efad07806a3fa3f9": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u00002e1d96dd81898ce5968e46c0696a531f2dd067e1d6de887f386af791848bf735": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u0000093951a59f9d75cdc88f4d976acb685f70a5dbaa653b84a64f36da38ae954eb1": 1, + "docs/technical/EXPRESS_BACKEND_TASK4_AI_ORCHESTRATION_STATUS_2026-04-08.md\u000014e790628f6b5179e828ea908fe97d98be5cd3978144ebe2bac691279e1e95de": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00007f700b9c4a295919bf26d8422425aad1ca08465e9096f6372295197009dbf8ad": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000adda1e60564a4da36932134c6acca8177e9b127616870361a49f16378377675d": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00001bb74571e117dbe72b92bd8e2c55451a2a4857704b07b10628f33ebc6d7764db": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00002f6d6d6e0d0ebcc39d433f1071bfee461c8fa5d77afdb495f0d874a8102c1e2f": 2, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00001d039376c79428854a0f445f35014b5c082902682b5a873e9ad62271ac14b52e": 4, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00001f65b1bdd071507c14fcc8245a7c74be401084225e77eb13291d523aac62f443": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00006e4677f0888bbd26f27cffd7d9f6f4a8ac155856ac19f13f058451b6966225bc": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000c3108b93db3b377b71c32a93c05ad53851a6cd90a7030599a5ca71aec7d69b39": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00008b80adbd569e3697f61561a462c1292cb54b3a559cf87235e3ec7c81dc45db09": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00006a15fb7f60aedf77ebf53834cbd99538eece43d01a10960ede001a4ab558ee2c": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000982f74424aa1667b8915397911abbf1b194d3b6e0a7544d664570dde7217d588": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000fb431300460d53043db5249ac4b0b03f04c994cffce7257f9b12bcf7165a2e97": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00003e743aba3de2f27c17a7e54a515a70de25a201e1c87a399c1f3d6504444646b5": 2, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00006b0737be1e4086ba5261de49311ad7789cbe5058d67ef2289162c16cdf7033b5": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00004f2f9ae340168d5b0acc05f1fb8af49f75086b5c57935696d6c902f3d8a1fcff": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000efc7d8538483e62ff4d461705c5c87d8a8ae5ea444968dd14e9b937ae6a08a20": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00002ac309e448b9fc2564c582aed8c048d25e2d200a211cafc99aae3ef01c6fe365": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00006820b3eee6f76a321e34da9867056b43dfd81c6553b9e87740504b948d5adbfb": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000021ed7f93872d07b918a265b5a73e1d682c722933d34dd85c4b53bfc79748d720": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000d76fa4ed0b835fdac9af9dd07b9d1a6ff229c84c03f0ce9b1050a09bb8dfbe69": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000081937f950b0df5f64e99136b5fc34e291eb74088bd338592bcb98b62a0c6ad4b": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00005aabc6fe44f770767588b9b903d5e1d6af18c6f6d55dded02e180022209e89e6": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000fa5f2f7741dd70d3ff46d1e1a48b7dae6723a00da12e7353076f0f8854aa353f": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000993e32e670e6fc8175cb710fb2cb563ec5571340c87b3d5ef0ee98edd6046b20": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00007ac97395020aef8eeeb2a6800b1abcae12a97f56afe0336dc7758af4554bc200": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000b05d01dcd41be0a44f9eb4cca213a6474c9670c15370eaf31a396494304d974d": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000ece4348742fd5c9d92af615bbcc94f87000fe66faa3f20ab12961d0733343d07": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000051981db8f419858931aef81f8570b20431c80d55e2f0f7eb410824c1540754d3": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000053a305552b9d410a6b506a8bc10ba584a7896b49a4c3691d7a45595ad65d022f": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00000c7dab32dd8d79f8a55dfe8de52df01da216ca64cb26cfb3fecacc667a6ed80a": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000064e0ac1a377ff3d7f2c788bcbc10f68acdc83b973e644459f0e308ff9c21a2e0": 2, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000040abbf8ac963647ab3eee2b842200dc76d91d6a957aec1cd3296a58708f79194": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000035bab6c60cde211e0fc26a85703ef4fa4afe2b8db7b5a9cc1c3c61a7b834adfd": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000051da50b7d7d59a7e257dce7c4379f960304c55a03aa03109bc14016414269d19": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000f80aca1f5546689458f25dd64d5a651ac9f9aca7eb27b10454998c7a8793b063": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000a06ee3b47b5427a96e1a2b84452f3abfdb63b69014db1dbb22e0ccf25a0d1d85": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000ab9bfb084c0dd1920484399339343f8a69074fef6245d480a9270e3688c33bb9": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000007ae0dca2361bdd24040a24edaafae1884f058492640a551acf487806f6dc6d6": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u00008688be1b55165defa6bcac4ebd19e98dd59c0f822b67fc4d88846ac1949ee1c3": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u000092fc2b45aefe19f7cdec001f582acaa4fad0e4b3dfe8f2ed10d29cfa67683cf4": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000ddbe9055fce1f875394a654729f4b2c2e2c2e8bf6e279348c1ab920e1d83d9ce": 1, + "docs/technical/EXPRESS_BACKEND_WORKSTREAM_AUDIT_2026-04-09.md\u0000a16387a2480116743883402650c6df05b6dc30e7cd2a705d1e8962473a28b0b5": 1, + "docs/technical/FOUNDATION_DRAFT_OPTIONAL_TEXT_FIELD_GUARD_FIX_2026-04-22.md\u0000d4340afddd112c11a2bbbec50911a5a7ea5931655a6cff8558d9559545af50fd": 1, + "docs/technical/FRONTEND_TO_BACKEND_MIGRATION_EXECUTION_PLAN_2026-04-21.md\u0000a4850e5dc56a84b5728492e1ca10a09e78c04a4d5dd64ff367fa82abf721bfaf": 1, + "docs/technical/FRONTEND_TO_BACKEND_MIGRATION_EXECUTION_PLAN_2026-04-21.md\u0000a791e35387f52b5ead2b96e76d3be3adac91796567a65f44e37f2ed2b26fc859": 1, + "docs/technical/FRONTEND_TO_BACKEND_MIGRATION_EXECUTION_PLAN_2026-04-21.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/technical/FRONTEND_TO_BACKEND_MIGRATION_EXECUTION_PLAN_2026-04-21.md\u00008a024aec291f4a3806149a04e83d86758d0d12d7a5a29f28610c254cad79d004": 1, + "docs/technical/JENKINS_RUST_BUILD_DEPLOY_PIPELINES_2026-04-23.md\u000051a02e2c4df9933d43a8632d4125ba2116c5a8ff4dac1fc3ad17ef8c0e0197ef": 1, + "docs/technical/M3_BROWSE_HISTORY_AXUM_SPACETIMEDB_DESIGN_2026-04-21.md\u00002de0e7b45df5480887d8b53dcf511fd818a0aac24d230393deb9144cc7f26fe4": 2, + "docs/technical/M3_BROWSE_HISTORY_AXUM_SPACETIMEDB_DESIGN_2026-04-21.md\u00009f2ca27c4738cfa55712a7b58727e388c2db2e4cd89dcb468face805ada11235": 2, + "docs/technical/M3_PROFILE_DASHBOARD_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u00002de0e7b45df5480887d8b53dcf511fd818a0aac24d230393deb9144cc7f26fe4": 1, + "docs/technical/M3_PROFILE_DASHBOARD_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u00009f2ca27c4738cfa55712a7b58727e388c2db2e4cd89dcb468face805ada11235": 1, + "docs/technical/M3_PROFILE_DASHBOARD_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u0000a2af44495a5201e018798ab6652e6cfb2cc6e7fdf56b6de585c5ad62bc76c272": 1, + "docs/technical/M3_PROFILE_DASHBOARD_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u00003aef2e29d03793e51133dfe1720a6c9c64658f145d8edb6eb51a78ef454a2d47": 1, + "docs/technical/M3_RUNTIME_SETTINGS_AXUM_SPACETIMEDB_DESIGN_2026-04-21.md\u00002de0e7b45df5480887d8b53dcf511fd818a0aac24d230393deb9144cc7f26fe4": 2, + "docs/technical/M3_RUNTIME_SETTINGS_AXUM_SPACETIMEDB_DESIGN_2026-04-21.md\u00009f2ca27c4738cfa55712a7b58727e388c2db2e4cd89dcb468face805ada11235": 2, + "docs/technical/M3_RUNTIME_SNAPSHOT_SAVE_ARCHIVE_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u0000fa466babf5b3a21a9c13006ef7fc7a84707ae2f764ae1234f53e898976390cfe": 1, + "docs/technical/M3_RUNTIME_SNAPSHOT_SAVE_ARCHIVE_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u00009f2ca27c4738cfa55712a7b58727e388c2db2e4cd89dcb468face805ada11235": 1, + "docs/technical/M3_RUNTIME_SNAPSHOT_SAVE_ARCHIVE_AXUM_SPACETIMEDB_DESIGN_2026-04-22.md\u0000d4097c649064b761c524ec17e5f2015a2d61b67fab204a463c9931935b396765": 1, + "docs/technical/M4_MODULE_AI_BASELINE_DESIGN_2026-04-21.md\u000042c9d531724d1f37828e40d52f04e0f6be90343a460e2a27d355b736ab77066b": 1, + "docs/technical/M4_MODULE_AI_BASELINE_DESIGN_2026-04-21.md\u00005ad161d0a52c0a7e59c86aaa38ae48dba3bcf3d2d9e9cd55490f867f6e68398b": 1, + "docs/technical/M4_MODULE_AI_BASELINE_DESIGN_2026-04-21.md\u0000c21674a0ad95d1c18f289d1752b5199a42506c310cc1cfa06ce90bc7fe101195": 1, + "docs/technical/M4_RPG_RUNTIME_QUEST_SPACETIMEDB_BASELINE_2026-04-21.md\u00008b07a10a0c48a5faf303f27c9a9ceff62f2b09ca78b6b98d7ed91ba229e73428": 1, + "docs/technical/M4_RPG_RUNTIME_STORY_SPACETIMEDB_BASELINE_2026-04-21.md\u00008b5d0cd4d231b8c7de9036b8ae809d3736ed540fd3065af5391bc615a04fa44d": 1, + "docs/technical/M4_RUNTIME_STORY_COMPAT_STATE_BRIDGE_DESIGN_2026-04-22.md\u000043833db3beac243f4cc2b959624f7716daf435ed7febcc23d7e4f0f1926011d0": 1, + "docs/technical/M4_RUNTIME_STORY_COMPAT_STATE_BRIDGE_DESIGN_2026-04-22.md\u0000fc5fce2cc43156a8c31fcb1aad729a63c81f6827e40d0976a41851583de76c84": 1, + "docs/technical/M4_RUNTIME_STORY_COMPAT_STATE_BRIDGE_DESIGN_2026-04-22.md\u0000c728b783a4374349ac567b64d048f6437ff0b08fa460d3c285aa5cfd4db26dbf": 1, + "docs/technical/M4_RUNTIME_STORY_COMPAT_STATE_BRIDGE_DESIGN_2026-04-22.md\u0000bd14cd2f50104e481d416d5a6fe3e6b0e459dbfc08192464c23e7149c028878f": 1, + "docs/technical/M4_RUNTIME_STORY_COMPAT_STATE_BRIDGE_DESIGN_2026-04-22.md\u0000c317b6a472d8b65e72ee0c3deb534f37acef761187725def4c6e7aae45bfe077": 1, + "docs/technical/M6_CHARACTER_VISUAL_ASSET_EXTERNAL_GENERATION_STAGE2_2026-04-23.md\u000009b903499aeb4f54038fabf2bc253d0329684f2a697e51f6461d78ba2af10c7c": 1, + "docs/technical/M7_TEST_DEPLOY_CUTOVER_EXECUTION_PLAN_2026-04-22.md\u00009fda322414f95800e08897ec8b9d5748658351b7da26a4d0479cbe161d05d2f4": 1, + "docs/technical/M7_TEST_DEPLOY_CUTOVER_EXECUTION_PLAN_2026-04-22.md\u0000e412ab4bb79c01728b6ae2e827881e277b2fbf917564a4b19b25a57f2a4f79ae": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00006ae63ef2f83684656c96bffa00cb456ac8aaec94816eeff35d32474ec0966c83": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000079eb34556bc6bbd46f708b8bc0fb6eb0c9abb48df72a5bd382e462025abff255": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00003a1438a263a55dbfd4b9d4d4ecc8af49ea551b323a143798bf39fffebe3137a6": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000922b15779c98df15b771d948e81767dda106efc74593d4e222c3d6fd019c4501": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000319afb5c4908c0029bc718e3f4a67fa82ccec339f03d4a207ccb4a3d4ea5655b": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000f139c329edf0d765c5a7779c004f24a838b9e2e7bf4edb5944f4cbdae8f0c4a4": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00009e4ec27bb31195af024ddc45fe30775430aebf7bcc7cdf2149cb8a025818fe6b": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000e9005621ec18b197e910989c707e676ae8e3b7e483146c4c6c3b42ef73c462b3": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000095b02cdac3643ef6fba15d3b423c86e14d8efd3c6912989e185f2c32617ad9b2": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000001db6af13c4c665f00aa7e35e13f6b8f974249c6c60fcc037dab577ce6a66260": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000eb232ddf74fdbc7fac08cfe65ef8a3e2dcf450972355934fd33553e152d101c7": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00001e073ed2b6d8b5c81c94c0eea1324f5efba908e2d25bfe6a71fd470af893217d": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00000c7dab32dd8d79f8a55dfe8de52df01da216ca64cb26cfb3fecacc667a6ed80a": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000798729f12c0ba12bb90570fe70923c9d038661886f5021acecb12fae54511cf4": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00003290d363768890c0fc0b9886284d09db03c9f052481c731ebe5891098d2085d2": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000dcc68b427c593fb6e458db9423cea9e13f906b77aa9dcf1b0f4a64f3bcd64647": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000b4ed53f9cecbf30d83e3ee52952bce89c0963ee932ef786ff33c41bc37aa7d02": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000075ca2112dd827023f724759d253d0e3436b9cd1797c76166c952e53f8499e8b1": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000002d71c2c0b1ec3545c5078c2c381ecb41bf8f097b61b19b531787a906435868": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000b9d17274aca90c41a86c14cd3b2fc29537f21b226e34c349368653fd714109d2": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000cb4952f987bd93c8a30fae653aa83ff34abe78866963276ecf1061e66df1e460": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000e8b81499036176f30d5ccc34c14a11f40b2a154549dc945d7345c26c27d6420b": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00003dee6a92bd57ce2065d81cc59f61f7468c6c0ad97494b6a45ffe20e336795394": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000192297c49a4d2ec387cc51e5a8112e35c435379c1c12c391d5155a8bd54e120c": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00003b67656f3dcabcaed82b6bf1bfb64362814a35c9cd673fa5e89a33fdeb51ad92": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000243e7c55a0524648219aae21f426a3ea572001a51a695b27711f0dda7d7d2789": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000630da442b0d025844eee25870b646b38fe376ca8ebbec0ca09791bafe40f401b": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000d6d80b9548b4f173cddd28a5932d1d86398474d229c10836c672965608660ce7": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000053d86a2d6bd7523b42448b6f45874604b4d7c4a72bbd9dcc5cf42a435013438a": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00001ca610284f642694cd5d99f301b0b445cb22ca685395c46289db63226830484f": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00009b0f7ef1bdf1facec94962810793d4f9964513cf74476e6b6e10ef1906a7fac3": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000bb8c60945b2707d8f406be2c1e6b17a5a3d260b304d5e6b58b37135f36d22ff1": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00005d1324d67b40ceb68a5149ce342416508af3404da7201dab3a6f3de89c0677c1": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000b72acc06cf79369fda91607367b253e152af452b76112c1974a5e36ccbca2713": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000a95fa1a31e2ab5d9e902673f9d23459d381e0c408af2e66deb901226e6a56de8": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00000fa946e2e62fadedc2af4cee65a750b031bbebe535f9e873c9145f5191418cca": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000fd73f6be0dea5a8fca73b33e27104b8da9685877d9b91c6cab9495dd8a5d46d3": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00009b449fd956969efe51c0de2326d9f18b7b936c69badf09bfa6e29683a9c6bdbd": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000983a7434d67243336c4a732ec606cf84e65681e80491f210125200720beb612c": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000d664acac540aaf261bfc0a2a01260ef5312f8df30c109216eeaefe3724d1ae16": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00006b342c67752cdfdf42f84a327f2c2e14dafcb51c063e49f83b49ac02851b195d": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000f2c3f4c0ed0926e8f394a9a6177b5c2221c3ce9fa11d40aa2ccc3adfda0d67be": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000d4097c649064b761c524ec17e5f2015a2d61b67fab204a463c9931935b396765": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00009e9f5fb3939f6c8da5f52bd89bcb0d5fe56b84f26b9de059f9654efb58d29519": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000052c9763d938a01b9d32bdf08778b37e43900627eb0c86c5775f8a6569cffec40": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000602eb871c0abdf186def7c89a090d7189c93bac660ec622675c1f6bdd2a285f8": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00003c22e30f19a83566f84b708750e3981c85a7dcfa8a5a780afc1517a315907598": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u000065733b9abd44bd6e2b9b71e515f73c7d47d398b15346664122b108e8a8c500ab": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000fb3b90692a08a6a53a5df4bc1e93a88b52a910ff469d13247ef259d04e9e753a": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00006b9118dc7737ab739b3ff82794071c84697b6a25e69d97b365d1580ac1a64d3f": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000a8006bc294c8dceb997330b4e4a904853ead4e59653ee6e948db04633896a2e3": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u00004be8ae7cdad8962feed8c1eae698e859d28c8ae2f29dd668b1ad6eac2f228132": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000f065e96127c1a6453a117f0c18a4bba3fb53276f0f807299f24193aeb6b185e7": 1, + "docs/technical/NODE_BACKEND_MODULE_AND_API_INDEX.md\u0000174f731e67775927dfd3da433d7c09d60d70caba44e1d95b0cf67aabe52a1d34": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000a1934e752e760be97eb509c3033a2e53bee993589e51f9b88baff20efc7c49ad": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000a03e4871d22b22ba755a2112a66bd4a177bd37cf7c3472dc96af093ddc69abd6": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u00003ae8342c0e0eafc78bfd75d5dcbe2f9ccf1de5d2e69372242768b0fc887c9a5c": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u00009210b004c03483aa48500bc08554dc8833adcdbb1d8068ab8fc314c989afe2a4": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000b8f769fe65466ab150815e5a9fe3537bcd67448b63e1be948dce3f2c480f3b14": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000e4ae0d2ac489c7ec1d4a15b6c8f4f6be6740d6ad41bd504935fc26ef27882c2c": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u00004aae14cd919ad3f9ee9af23c68ab86bfbad32f03035bcbb9a8dd381ce118576b": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000d9068a2b7360687b20cc86359e95c72ab1b22629b94d777572ebd782d6b8bddc": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000243e7c55a0524648219aae21f426a3ea572001a51a695b27711f0dda7d7d2789": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000b4ed53f9cecbf30d83e3ee52952bce89c0963ee932ef786ff33c41bc37aa7d02": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u000075ca2112dd827023f724759d253d0e3436b9cd1797c76166c952e53f8499e8b1": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000152328ee302e400e62a042df24a009268cc72ac7fdaa6038988958063f14b888": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u00009a4654de7ff834f53b4adbda35109e893c0405c2272e096c83fd7de71f084afc": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000c71e3572f198ca9f842a1f17cc845d8578e686bd48169ffc7456b8d5a43a3a86": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000e4d048462697c6c73db23a8d72783e6a411d2280699e7f851a1da4c14b18aa6d": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u000018044b6302ea7e25a0cae1852203168eec2a662edfdb5ae1974346607039f873": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u00009f2ca27c4738cfa55712a7b58727e388c2db2e4cd89dcb468face805ada11235": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u000062441bcdee1f836b8b69a325b031b5619252e790ae501ce12a05f6bd5548ed22": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000791896fdc1b6eee023def6e8a47d57271359e2ad94aa5f72f02b9fbf338ac38d": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000dae1405ec3bb1f395eab920cc2382ed36b507f576680e1be14d022fae54d571d": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u00000db9b9da879ac11eee6a09f2587761d765e4b03031059a325120a60963611105": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000978ad15e9ffc6e43d7ba26f647b549a7d6e8e4777e01280b110fb38d80daa954": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u0000797175db826f084e05d6f228b93c88a44c2df87d34d1c174035bc770e49e9419": 1, + "docs/technical/NODE_SERVER_KNOWLEDGE_GRAPH_2026-04-08.md\u000078b0d432159a5c712dd092c7294eb64c49b2e0160d67ed036347e24a74d5c072": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000d4f8759ca28f51a9b1aef65a7eb4486963cf11633bbbef5379833a7736a47fc8": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000abb63dcb46c3b47874d2cd713c2239dbb781764a3127910fd6775d0ec9f9ac50": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00002999493aa6ae7e0753b68c47e93685cbd07ed660aa8cdc2952d6e04219527a5d": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000e36fcdd62b637e8ae5a386bc1637e365dea311eb5694dd12cca9c39378541560": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00009623dbde479c313aef97f2423c59eb0ca44c345a8ac47a13cfa006e24842df23": 2, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000807e68ab8a82cdf9ec76e553033af5abd6218b2c35ac9d52ac4a876fed22e0b1": 2, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000dd6ef146dc9d71260c0cb7fe7f4db589f51bede47a36b9bfa158e611a9401b1e": 2, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000ebad9eded209f541410f210ec3d90982332d2e45e8c8d40d97239e442d1a46d5": 2, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00002e8695f14a84106c53d5eb4ab79c6ea30029a191e5c2a3c379177cf9f2a3fd18": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u000043093e1215fd72b8820f01cc0592054948f7f04f1134a7d065c3a0e74b79413f": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00009737be500d23078ba3ce24a160ecd3b684bd66f741f11061efeff219799fc717": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00004134c896b4e80e39571cd4aab44c2203a8d511dc52ef8288a5c563629ba137a0": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u000069dffa0d1bceb721e7478511310ea3f314da464f66479f46f3b35a33fddffbb1": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00009683c102bb091fea9248852b9db27fbbe5d2a93223513999d5ae2315a9d94b90": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000b00c00698e40000492198a66d93ee72353ec763d43a1a4f5d1a307eb772c8087": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u000044f6966c4fa11bf14d7aef87f231e99d7b37502bbcde3c2a67e31e22d0409707": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u0000990cf374343218408e9d99f4b5f1f852341f8c215b7b9f9e337e3a3fe10033be": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00007e1184b6e7e1a879da1eb574f84df2e82e4346645f92093ffd6a4f4aa8905002": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u000061221c345e1adf879ec3e377d4ed63f92cd12b0833405919636fd1f4830e3d83": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00009b8a035c3bd73a413bef72b573a7b8b123e70cca4c3dc4c477d359e82e05fafa": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00004467e9b932bc91869cfc66a9d0f689005814ecb25c3cdf9204c6d0ef68c10347": 1, + "docs/technical/NODE_SERVER_TEST_AND_DEPLOY_BASELINE_2026-04-08.md\u00000ce00ad15126e9fd2e4ea1a86b80ccdb84d5ba15810c1bf2bc0ccf3567302bb2": 1, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u00003a2d7782f0a4f4817583900757cef922d04140a0de0c82492853ed68bf711c6b": 2, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u0000a791e35387f52b5ead2b96e76d3be3adac91796567a65f44e37f2ed2b26fc859": 2, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u000089b4fd0bf98dfd0877142301d8f0799c6f4359e4c8e1ac493bede72623f3aefd": 1, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u0000fc5140d5b04889e05d9d7c01422bd8787904be15e51a3c3f9d12fc4c4709a6a1": 1, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u000024a215d39b398d1044e0d1e995c18eed28984e11cc6780e61f15c97957d124e4": 1, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u0000a7ead5180417817de91dbee361c9dc2416ed78065a44e6268971c915ee7b5ad2": 1, + "docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md\u0000d349d2c681c850e16f09d21b7484bc1555fb9e5f8be188eb26757259462609a2": 1, + "docs/technical/PHONE_SMS_LOGIN_STAGE_A_IMPLEMENTATION_2026-04-21.md\u0000a4850e5dc56a84b5728492e1ca10a09e78c04a4d5dd64ff367fa82abf721bfaf": 1, + "docs/technical/PHONE_SMS_LOGIN_STAGE_A_IMPLEMENTATION_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 1, + "docs/technical/PHONE_SMS_LOGIN_STAGE_A_IMPLEMENTATION_2026-04-21.md\u0000e621e8b40459a3324a27843263d9ebea854ed3e1ed9806b03f3ba0450e0b727f": 1, + "docs/technical/PHONE_SMS_LOGIN_STAGE_A_IMPLEMENTATION_2026-04-21.md\u0000ed80a6d58958e855c785da46d1997b20615d7b9dd8ed411fa6987952504b55c8": 1, + "docs/technical/PHONE_SMS_LOGIN_STAGE_A_IMPLEMENTATION_2026-04-21.md\u00000b06979366a1d5b697a5d0082114aeda15ec8b6c2740b8943faf8df20dd666a5": 1, + "docs/technical/PHONE_SMS_REAL_PROVIDER_MANUAL_VERIFICATION_RUNBOOK_2026-04-23.md\u0000b3d7b6912a297f1466859148d201948e426bf05bf3feb24acc60286c16dfc830": 1, + "docs/technical/PLATFORM_ENTRY_AUTH_GUARD_AND_ASSET_404_DEDUP_FIX_2026-04-22.md\u0000dd2dcecf0eee6ff77508fcdddfce60d383b9afe334b37ccaa9b33ed86b1e0251": 1, + "docs/technical/PLATFORM_LLM_TEXT_GATEWAY_DESIGN_2026-04-21.md\u0000c53d68764fafe84e4ba92945942ef1aeb15b1ede2a0b9dad94e014fc34684f19": 1, + "docs/technical/PLATFORM_LLM_TEXT_GATEWAY_DESIGN_2026-04-21.md\u00003ab9dc54b929e1e29da5526ade699d0e76b69e78b2a0d2ebf312d37eec013cf7": 1, + "docs/technical/PLATFORM_LLM_TEXT_GATEWAY_DESIGN_2026-04-21.md\u0000fa85abf0cdb070e2d7d53b98215fcc6b3fbe7e92b49e534b88c7c91e24bb2d87": 1, + "docs/technical/PLATFORM_LLM_TEXT_GATEWAY_DESIGN_2026-04-21.md\u00000e8c820f7ae87cd41614b6db388dc1bb15fdfeb94e9e8bde02b0bc49301d00a1": 1, + "docs/technical/PLATFORM_LLM_TEXT_GATEWAY_DESIGN_2026-04-21.md\u00000d99115b2f09f7df44decf1f5aca1881bff58a53a5530546acecda959a7870c7": 1, + "docs/technical/PLATFORM_LLM_TEXT_GATEWAY_DESIGN_2026-04-21.md\u000089f42edfd0d635845cc1ecabde04960f53890e6d3aa98f1d5206621d56a37f12": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000cf06fec5e5e97390b7edcb0b8a7b1c75fdf3a9774909b927c87fe4239c573a9f": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u00009eb5b944d06ee75016b2cf39deafd6cee434a4ebad79c5405f0626a7c7260cb5": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000795c38432ea566a14cfe677ea4ba92cac69bd745d5a0f5399d2f99beea8cdf96": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u00008f45353c56526e7282ca9bca563525e03b5da029767f15bc7b422c48fa902d94": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u00009bc31d73fba2d0324350698a2d3f6bbf5d7009056cfdeff44be6b191bcd0acd8": 2, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000b4ed53f9cecbf30d83e3ee52952bce89c0963ee932ef786ff33c41bc37aa7d02": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u00005f7e037cbadb3a9ce3352d54b2f6ceeef2546391263e847b67553cf8fe6e0d54": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000d553a71f74cbed3393b06878acf1fcda835097cd3a6f0100ca8637c682b8d3ae": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000cb53ceb2a4669a83a5b67fb2134bb718ccd5a958bcc309ada5355f21018b4b64": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000a1e2b7aeb92fd40ce43e2cff88a47dbcdcb5e6714c469720f946538fce2c3d66": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u00007c4362ea636f121392ac683fbda5873ad4ecd5a6f023d64cf9a9c26bc2028b11": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000a16387a2480116743883402650c6df05b6dc30e7cd2a705d1e8962473a28b0b5": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000af857ee1d6f8fbe6ca3c988c28b78a04c8d82782262448c073594101f7b04420": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u0000195c1131fdbebecae39e32fc3ef16f501103aee57d164740600b09eb33d0a6e1": 1, + "docs/technical/PROMPT_DIRECTORY_MANAGEMENT_2026-04-19.md\u000026ef27a5bba638c22ed22fd2ac64c253ede228a16a7a09cc283c0c5ee71fa4b3": 1, + "docs/technical/README.md\u000073dcd2e6f2c467a72eb3010e5e4f5e4ed8409b899c8e7d85147fa28c57e18da6": 1, + "docs/technical/README.md\u00000d46e63be360630a5bbeb7620426b5cdc70cd80d64d5f019e65a853da25904a8": 1, + "docs/technical/REPO_NOISE_CLEANUP_BASELINE_2026-04-19.md\u0000494c45e083234e81930ed248689967ae9f416c6bc97c0d6df86a3061c45aca07": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000a4ee4c04b0af9bca6da7f717605d360c3eb1d6f4bc5d1380f1a7b81e70f95be4": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007bdafb42bf0bfe081323c957dbf08aaafaee8c656d31da865a42014dfdaaa7ad": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00000946fbf7b1b7e883cd4f851f854dddee47dbd99eed30c45606918957cb4df932": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00001d586886fd98692b97757fd82928d4a81422f5fac596d65a0d74ebdb32713cd3": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000d933230e173f421e1e8342d3679007aef286b4384eaaedaabafba115cdd547c7": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000041d045f2f55cac56dc584861b07e509afab98b6f6fe54c114fd53d0a0e64c726": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000f582a1936f53f278a2252bd199e526d6249378414549f009839f34bcf489b203": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000d3040fd2e2156c77c68040046b4bca830c5099ed5ab06cd2e8085fc148185f54": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00007c2c86bf7fa8c5c961c5b6ad3fd3e31af16f826139b03f858d10697aa6f54bac": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000fc24ff4fbcbb26ef8e52af7113c4d78fb868dd6d1c72a3bdee2df3a374a5e60b": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000069293ea9e90b164a56dec6dadf28bdd917617bc2b74caa89cf0bb420dcff08d2": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u00008fa9ed07c1646bfcec3c9ba0a86c381fae03bcc7dd71ede8f8fceb6ab28442fe": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000ea488107b28d49f96d685e785b506ff4f3c1b95894b3bd127c5139c14e1e7ecd": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000048c83c3ea5acb5ce6c0fbda2c72b0ab6ff27d2abcb13b461004ccb7441b4f20d": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000e0de048b31f56db7d151a0f9eaeebd88e130f163c1f804f931f85b8663e69a8c": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000019a4b2e5c6da6097103a3b60de4d27745922d1606ff268e697000df39e97791": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000a2af44495a5201e018798ab6652e6cfb2cc6e7fdf56b6de585c5ad62bc76c272": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000a35d970713013a9dd6fac050eecca7e972a3c36a4795bcdeb6a14501e18b239d": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000970c2ad26619c51dda1d0bbf32554bb2d811b1e2ceddc889db009ba56f7b4b82": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000bf33fb174da7cadb9304188f1600b3dc345edf192da00231dfc66568480f0cf0": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000042af89f092b0ce9f8859aff740165eedd2403500f460c3b4873980d92949e31": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000f0851d3243db439ab3073f6aafb8709b69284a25fe0cca588a8d43734e7fe706": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000045fb386eb6115e2da57065ffa3969df86bc8ca2bcbcc06c15fc938e8a7a14c9a": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u000057e7f25ac023fbc9ddb12051dc780426cdd969ba3ab594293303dfcd261c1308": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_EXECUTION_PLAN_2026-04-21.md\u0000cc2aa2abe0f8303391b0064d1074086d98a7c4f9a82ec6f2df6d9e1e678cb22d": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u00009142bf6a0f901ccdeb54204c0179eb45da1026299b16e2e769d770c52022fd5b": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000480559055abad5a11a3dcfe2ee89acd725d6a36aa544be431105df05e6659398": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u000047742a683d4b11596b7d59bb42832e298fb74cedb737bba729a5c8a0fc61392a": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000b8ebe80d90b33e1b62310cca1e0eef0e50ff5d1d80d0ae791a949103bdea8a61": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000b789841afefa17a1f488a90ff08e6ff2efd197e3f3a620c6eccdaa15e2124b44": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u000057da2042b1c55789ee634d380ecdf2faeebb3589e8b0c9ae5a5eeb98378a8874": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000823ded4779cd8ddf5efc6598f7500ff82cdcbe1dde83a42a19d4bc6438d7e3b1": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000832e358425f50391c5ecf1fe50e1cd48f06bc2f5c4f31231d112241058ed91b2": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u00003e80d7f806cbcb5c936dac5bba9eab3d596ddc8797abf75c1f719ce35b96f7e2": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000938389b39bda2ee20f5fdd79c55a20edd1363fbc59fe418ff4e3e1af35b907d2": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000ba935bc1fae61f152dbe40ad3ab6b267320d066cc326650cac2d02c96e1dc285": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u00008721d1237d54347318dffc3752910015a4e904e7063242957732a7e5b793dfaa": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u0000559430b1dbce6998d2f601bddfb9ac431834d73c6bdd7226862a0394980e7dff": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u00009b6b7e03babbad660b4af41dffeb0764b24b0777e91384c93dff35063846e3c8": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_OLD_SCRIPT_REMOVAL_2026-04-21.md\u000030a57281b06b7444fb578d0aee3a0ad370404acf07a117250a1939f0609a430f": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PARALLEL_BATCH_AUDIT_2026-04-21.md\u0000c1563ef713fdb0b682920fd5ec71d499c320f0b66e33a951c6510a3945430b42": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PARALLEL_BATCH_AUDIT_2026-04-21.md\u0000e848bcc311d2c6bc09fcab3aaafba8276c824bdb3f00ca42a206ca167afaaa3e": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PARALLEL_BATCH_AUDIT_2026-04-21.md\u00009215d86a8e467a98e4198f776a10f471fccec1bedb783e844add021f2a9b9dd8": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000a2af44495a5201e018798ab6652e6cfb2cc6e7fdf56b6de585c5ad62bc76c272": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000a35d970713013a9dd6fac050eecca7e972a3c36a4795bcdeb6a14501e18b239d": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u00005f62f6d3a6707fc57ac154db48643e21672ff1616870a05051b712b1d8a54f02": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000c728b783a4374349ac567b64d048f6437ff0b08fa460d3c285aa5cfd4db26dbf": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000b4c58b7efb6a58fbb4bb254e17e2b39913f4abd090c4344d82548b27f2956e27": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000c317b6a472d8b65e72ee0c3deb534f37acef761187725def4c6e7aae45bfe077": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000481bfc3691c1b64417d6f03cfb4af67b9c24e7d7eb5e3bba157d59b6c597def9": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u00005c0a8ec64889e67f4551e76d8229d8e2b7f0dc84ddc9ad6a8e0abee228e42f2b": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u000035798cf055e995a6aaa4acf3a04f57614994089ebfe8414e02bf8d1587f078e9": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u00009142bf6a0f901ccdeb54204c0179eb45da1026299b16e2e769d770c52022fd5b": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u0000d049ec8a7ed9f0e8a4d651bacc8636c5825d3e17baf999a76f8f11838bae1219": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_PHASE3_CLOSURE_2026-04-21.md\u00008ea06440d7b719c83f30c93fedbc97960cb4f8d933c808dc9348e15f3471021b": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u0000995f0ff4c0e6f92457752de7dbeb2476730988cdd9f3b7b84a6396fee85af99a": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u00008535442c97e6da71bb5539ac0b14fd459a9e2fff41b9b862ac182cbf8954c11c": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u00004d517271f66e625dfd7348c7469fd24f69e22a94d532c7df2be63e393cbf5dc5": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u0000c6da1c5ae2422714752cf11f167dd82e33ea6cf191dd5dc7695bcfeb83ce2b88": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u00000b11b704e54afdedbf5f360fd9abcda4623877c75162335c28918afa0d270de6": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u0000248b1e903ba578008d2b1c86d93fd61776a1923bf9705287f82f7439e2652585": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u000062f7ceb85e4035a64ae053eec3d1ee195eedc7ee68a8659997c7501ae0432198": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u0000c8f0d46727ca9636a76d8815cd73de2b11eccec49424481822b75b528c505565": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_A_PROGRESS_2026-04-21.md\u00002d3fc0d8b64470523c97eae73d2a90efcc812cf4b4ff30de65c651f4af39e27f": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00003bcf572fbc84e29b1e72d665bbc9fdb9980e69e9998a3bc92925e9f8b6c85449": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000a2af44495a5201e018798ab6652e6cfb2cc6e7fdf56b6de585c5ad62bc76c272": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000a35d970713013a9dd6fac050eecca7e972a3c36a4795bcdeb6a14501e18b239d": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000970c2ad26619c51dda1d0bbf32554bb2d811b1e2ceddc889db009ba56f7b4b82": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000bf33fb174da7cadb9304188f1600b3dc345edf192da00231dfc66568480f0cf0": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000042af89f092b0ce9f8859aff740165eedd2403500f460c3b4873980d92949e31": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00009f26f2530a43411d9cec58a9165bed35ac14888a33b80c7630d21a0fa201c74a": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000fc8ab1297cd7ac2e646d18c91205d039fce0b8f744d483073191fb473288a755": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000db4ebb886ebea760f2a49f6e95786433f21d9e3a24205e5671f8dd36df848609": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u0000ba4e18a6b24aab0cc3295395978144dad815ab7d2432f4e79ab261155b668034": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_F_PROGRESS_2026-04-21.md\u00008bcaf969fbb62523c9fde1477c94ad8d863ef2fbf8bf046fc3a8bf7b88cbb7b2": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00003acd1b353650cbbc570c7eebcc95007a4e202b7ba6ed9ae8d1d81b1deacbd75a": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00003c42d4ce282edacb4ddf8d5a819ef000c7fa7e3aa53f865208d3a6f1d248b70c": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000fa192b7f997db5c6c2f2eb689e2834253915b8b7b136baa322df5e4099f7a856": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u000078dcb6709b03cb77fcae9d83a5f01a7b8178236b81808e262c91afa0eb34c645": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000656506090a9fb714adfea825d5859dfad9434afc27f88339e7c43c01fb6c96c4": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00002a527885fb71277e5457541f0142548608b8d5fc5e0fdb4296f27592a13142a2": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00006b6ff38ab10aafcfa34ff28f63413f8e85bd9bdbb1e58720240f602c19ee309f": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000dc7dbba01aed2482eaa03cb8209c59cd66578d56185f12bdc2fd499561e52b28": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000ef9a0d46ce8dfa04c178e95cbaa866e7ceb2111650e26c5a8fcd961194e5e82a": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u000066f99139e9706c1584006b493a0a0570f96feedf1eeaee309eb1a65095f41cf0": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000f102cf3dfec7e411652f7a13e822827f6bdc68c7cacd7f0b3923bbecffc7809f": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00002e28c0f8a0df13a1718150a99f443bed57bf78d7f83605fa9e8f166f409f8235": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u000065ac3b68e11c29515ca74045094483d56ba90c0dc3344640f900461679a3702e": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u000090c6ee38fb333b51a4ab29f44c36cd0408e182d2934c663abac7611d98af6490": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000906d2030c8180bdf7b9275e431c82822bb057ad533d860ddbcb7d1c1d165c9b5": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00007d031c48db6e80aac5d366d649c65a21374c4740661127518559aca6cee62c85": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u000000532658521e6db306703dcb98c679524175a14eda9a3b7d66c5ed76a387d9aa": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00004dc7ceaa226e1696c53dc56e88ec1b31e4853859a6102538f8e7973b6ac59207": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00003cd852241dc72338da38d83c068b6d74067baca2cd05c153380977a7f1c58ea3": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u000054cf46839913783bd3794cbb71fcb65f88d62b12bc5631464eb2f33eb187001c": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00008bd382b637b258a1eb861dcc6a1ea8c12a3906ac6a450860e1b8fe3534bfb696": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00003742417c38bb0104ab8a308e92d2bbc30c64c50436a1dda1f0d4ae86e2ea5685": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000997effefce8502a6086a9c62d6c16324453fcfd52e2cc370c50cfe21689d9ad6": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000e7e0ca895610293833a0a33bc34281bb54b3d21bce02d01a69054736b2bd1f79": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000da20f329a6e4126ed7e1b79e98a7079991f2d2a0120e847db076651bbaeafbfb": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u0000b336150ba769d710d76039142f11ae6f49b5906fbc18d7b726d63006323b81aa": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00009e941fbbb5c5aedb0161f6037aab66e4e2e4a2dca98ee5058f01ea0c40d0145b": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00002734d011ecdf4640a818d71a857f42b0d9f880af98eaa0b2a87d996d7bd1b567": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_G_PROGRESS_2026-04-21.md\u00003a72bf11728976b17e975b9d1fa5051d2edd49927cdb3da8e181ec732b1e0ea3": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000d5ce4695f438602075bc275b1ce50a637d77667d1eec70ada761216a1c988802": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u00008c7735e827981f74e75b6399bd4d664160f37d6c349d2ac282e5af4a39f98531": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000894b0b9d1085468343a1ff74e930894b03b30b05f0cd18b37800f24501ab0d3c": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u00008e18a8f6457941f54f86ff92d1152ecab06af0ffe8bae598029c7fbc11a9dff6": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u00001c6b6f4e2ffb056f2ea08c113cee6c3c52538c700e0e0115785c346359ec65a6": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000e6f42e536e540258d5a4cdf340487e03ce1a61ca9e81565b78cbc3bddf606d9e": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000979d094841a3a22b6f9ba0d8d5e073f72fcbd7dbde0b09d48861596281a39993": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000da1004ea2cd56b6789231e5f12bafe4730c51e13234ba1c430d267a250df7a4e": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u0000359448756c4cf1896b6c21cdbff3f639ea9424f509976a704a40a2a9b5788ddc": 1, + "docs/technical/RPG_ENTRY_RUNTIME_CHAIN_REFACTOR_WORK_PACKAGE_H_PROGRESS_2026-04-21.md\u000090a985f544b618fca01c159b15a730b6d90527a160cc30283076c2adfdf28540": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000dab988fc46f56d8ddb8bf44cf3235b62945c0d2753da8762cd2aae843f4e6c40": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u00007d379302b9ed1690e31b2731d2833bab81d94c4e8583b6b06dd9da0e38cadd71": 2, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000094cafb9aebdfe1afc79dc2389a16247c952f0a20f98aa79361eaac54c6f565c": 3, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000bee35a59b96a30d04ff431d6b174d4fa43e90f4547bf4c027a3e5440f3e283ec": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000f54e666637fc02ac460c0c664751b058127fbb20465346dc33d7e2c1b07565ad": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000f7e0f38ff9567196b22eabc04cb0a4437397a091b73023c22c64e74164e72a08": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000e8fbc4d893d18ff497853e5f739b7501a237c881d8bf48cf9c0c0f9498d49258": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000a9d05a236c0afba73d609f6be9d3d0011e764af835576b35510a84297af31f23": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u00009638d38b34fe5087ed0b489e041ef1bb05427b5e4bc4c1791d723a0b78103259": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u00003d78c2a1286b9504f7710a515d3e012feebc0737cd7e1ef2b82953a43e3bc504": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u000093ef03c4f6d5506588f912a2fd50da6012e763d8cf386c699ccbeeff73fb2415": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u000006059a4d462cb3619e3e858a49008c01ca2692a5fbd949453cd0f072942c34d9": 1, + "docs/technical/RUNTIME_STORY_BACKEND_BOUNDARY_MIGRATION_2026-04-19.md\u0000496c8786d5c350c769cded8719e739ed8a6f00c21d726c7b5d10fb1438ed4289": 1, + "docs/technical/SCENE_MULTI_ACT_CREATOR_IMPLEMENTATION_PROGRESS_2026-04-20.md\u0000d771ea0e8a6d5f846741b5bab102f14276b4985aecb5efa2ccf35525131a212a": 1, + "docs/technical/SCENE_MULTI_ACT_CREATOR_IMPLEMENTATION_PROGRESS_2026-04-20.md\u000030c0ff968c301b8f298a3a2656d3a5fd20e34f84b9213c8acf7cd6e5d4dd2020": 1, + "docs/technical/SCENE_MULTI_ACT_CREATOR_IMPLEMENTATION_PROGRESS_2026-04-20.md\u0000a3e0913a227731b54bd92cc124ccdf9c9832ea4877b93c8d2dfb496915484e24": 1, + "docs/technical/SERVER_DEPLOYMENT_AND_CORS_TECHNICAL_SOLUTION_2026-04-05.md\u000023c96e2eb4aa2e488188d29ffaf483556848453c1ce35a959cf4302803273d87": 1, + "docs/technical/SERVER_DEPLOYMENT_AND_CORS_TECHNICAL_SOLUTION_2026-04-05.md\u0000f9afe7dc078db37d489590d227027b1dd44b974e7f759f67227190a461052eca": 1, + "docs/technical/SERVER_DEPLOYMENT_AND_CORS_TECHNICAL_SOLUTION_2026-04-05.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "docs/technical/SERVER_DEPLOYMENT_AND_CORS_TECHNICAL_SOLUTION_2026-04-05.md\u0000cf06fec5e5e97390b7edcb0b8a7b1c75fdf3a9774909b927c87fe4239c573a9f": 1, + "docs/technical/SPACETIMEDB_AUTH_AUDIT_LOG_TABLE_DESIGN_2026-04-21.md\u00007bfdbda72abae646063f8ad2a4a7fb737923cc5ecb989ea53979a4f6fb5e03af": 1, + "docs/technical/SPACETIMEDB_AUTH_AUDIT_LOG_TABLE_DESIGN_2026-04-21.md\u0000901d66f303c6075d11accfd3508246d0df2929b6b2bd76009a4ad7248a88ce1e": 1, + "docs/technical/SPACETIMEDB_AUTH_AUDIT_LOG_TABLE_DESIGN_2026-04-21.md\u0000c7ddf6fafff73ac9640e0b9a696fdaaea490f456befbbe473c627aa2b086cbd1": 1, + "docs/technical/SPACETIMEDB_AUTH_AUDIT_LOG_TABLE_DESIGN_2026-04-21.md\u0000e2c9fe811ef1aec79cd321de74cf8894e353051bc7df58bb4eed71ad7c7ae981": 1, + "docs/technical/SPACETIMEDB_AUTH_IDENTITY_TABLE_DESIGN_2026-04-21.md\u0000a4850e5dc56a84b5728492e1ca10a09e78c04a4d5dd64ff367fa82abf721bfaf": 1, + "docs/technical/SPACETIMEDB_AUTH_IDENTITY_TABLE_DESIGN_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 1, + "docs/technical/SPACETIMEDB_AUTH_IDENTITY_TABLE_DESIGN_2026-04-21.md\u0000f7d91c78abe6119d84b9a1d6070a7cf952ee7fe67e40c222956b9097511c1e88": 1, + "docs/technical/SPACETIMEDB_AUTH_IDENTITY_TABLE_DESIGN_2026-04-21.md\u0000e8c045385829978a232e8f8c44a45265ed44d6bd931f54d90618dfbbdf4f6924": 1, + "docs/technical/SPACETIMEDB_AUTH_IDENTITY_TABLE_DESIGN_2026-04-21.md\u00005469756d43602560d166f0173baa92907b4de9604d75d2e4eb50b00f39174d86": 1, + "docs/technical/SPACETIMEDB_AUTH_RISK_BLOCK_TABLE_DESIGN_2026-04-21.md\u000095fd023685b2a019012ad7edde51d59ae2ba930a5de2b231bef3458f1b949ac9": 1, + "docs/technical/SPACETIMEDB_AUTH_RISK_BLOCK_TABLE_DESIGN_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 1, + "docs/technical/SPACETIMEDB_AUTH_RISK_BLOCK_TABLE_DESIGN_2026-04-21.md\u0000c7ddf6fafff73ac9640e0b9a696fdaaea490f456befbbe473c627aa2b086cbd1": 1, + "docs/technical/SPACETIMEDB_AUTH_RISK_BLOCK_TABLE_DESIGN_2026-04-21.md\u0000e2c9fe811ef1aec79cd321de74cf8894e353051bc7df58bb4eed71ad7c7ae981": 1, + "docs/technical/SPACETIMEDB_AUTH_USER_ACCOUNT_TABLE_DESIGN_2026-04-21.md\u0000a4850e5dc56a84b5728492e1ca10a09e78c04a4d5dd64ff367fa82abf721bfaf": 1, + "docs/technical/SPACETIMEDB_AUTH_USER_ACCOUNT_TABLE_DESIGN_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 1, + "docs/technical/SPACETIMEDB_AUTH_USER_ACCOUNT_TABLE_DESIGN_2026-04-21.md\u000089086dc64a0e1efb2c8228c12bee5a362f87dec9e83cb142e19484122eade2ac": 1, + "docs/technical/SPACETIMEDB_AUTH_USER_ACCOUNT_TABLE_DESIGN_2026-04-21.md\u0000c5701dc0dc7b7e586a0eb19ab5f3b0f5a5cb474714f253c10d752cc579c0e2fe": 1, + "docs/technical/SPACETIMEDB_AUTH_USER_ACCOUNT_TABLE_DESIGN_2026-04-21.md\u000090d76a63db8497c1b32a954246a8546d5ede1ba78166596af2c14721a7f612af": 1, + "docs/technical/SPACETIMEDB_AUTH_USER_ACCOUNT_TABLE_DESIGN_2026-04-21.md\u0000e891975c0eb1d7d82b1a8811429de102757fe53986f7794a4f9dd6a81eb68a09": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u000029bc2729237f5ba84c6eade80b69f97ed2649cdd43d23189a42ca1c48df72a83": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u000075eee2b06554479b4b2edca9ce80fd1fb1ecc1ab6278c6dc3961e8ddaeeaedca": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000bfe58e0f337dade72cdda134c420df68e1a7086a715e89d0a2b740fdfbc0462f": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000b54248b84a2aa172b91f691940cf9857dc2cbb79370aace46b1b86816be782ff": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000b27f9a9020ac388eefbe0d09e190fc6d40f5f8df1e7a65a98441e0c50abdcaae": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000a09d32d530c8f425c2b9ae5afca4ea3e4860ae7b8e9f0cc4da3303973e915154": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000c7ddf6fafff73ac9640e0b9a696fdaaea490f456befbbe473c627aa2b086cbd1": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000be42e0650928dc34d9b279a4bd3d69e551801e222ebe7374f4fee3a5bc4ac549": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u000079f713318f3c399d77ca577793570c998d7fcf48c370e659a3c32bca3ddda183": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u0000424960d188b1cacd0c3e65716be8cf5030c20f59f198d270821061b579505853": 1, + "docs/technical/SPACETIMEDB_AXUM_OSS_BACKEND_REWRITE_DESIGN_2026-04-20.md\u00001b215c7f2d091366bd0507d660070ab4dfde0457b207c7b642ed7155d019ec27": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u0000a4850e5dc56a84b5728492e1ca10a09e78c04a4d5dd64ff367fa82abf721bfaf": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u000024a215d39b398d1044e0d1e995c18eed28984e11cc6780e61f15c97957d124e4": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u000020ce2346079804a0a2b731888b56215b33cd10d0fe5e787237bd62e4d4b15e4c": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u0000c42e0d7fd4c14c126ae44f6c7fc544ec2e5f28e3eed3615b3aa1deb6a8401f90": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u0000e891975c0eb1d7d82b1a8811429de102757fe53986f7794a4f9dd6a81eb68a09": 1, + "docs/technical/SPACETIMEDB_REFRESH_SESSION_TABLE_DESIGN_2026-04-21.md\u000034cb4897e5a43cf66e55e4689433748a751261ce185a037371ba1588691d9edc": 1, + "docs/technical/SPACETIMEDB_SMS_AUTH_EVENT_TABLE_DESIGN_2026-04-21.md\u0000c4f7682b65879b83f0ef1f2c5bdd7b9f07272d781bf8e239bd9e30236726ed80": 1, + "docs/technical/SPACETIMEDB_SMS_AUTH_EVENT_TABLE_DESIGN_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 1, + "docs/technical/SPACETIMEDB_SMS_AUTH_EVENT_TABLE_DESIGN_2026-04-21.md\u00001ba32f8d3b49af3b21b789034a069a3c7587861b0a624634426a84fbace6e211": 1, + "docs/technical/SPACETIMEDB_SMS_AUTH_EVENT_TABLE_DESIGN_2026-04-21.md\u0000fc7600f0fabacfe95bbc71ca97d833bd3dbb4f625053c7ff3ba53fc60a384366": 1, + "docs/technical/SPACETIMEDB_SMS_AUTH_EVENT_TABLE_DESIGN_2026-04-21.md\u00005469756d43602560d166f0173baa92907b4de9604d75d2e4eb50b00f39174d86": 1, + "docs/technical/SPACETIMEDB_WECHAT_AUTH_STATE_TABLE_DESIGN_2026-04-21.md\u0000887cacdced758736b2aebd3ef169c64574ecbb8ca0232f4e4b2a268b756c46ad": 2, + "docs/technical/SPACETIMEDB_WECHAT_AUTH_STATE_TABLE_DESIGN_2026-04-21.md\u00008abab45095a2ee495fd98137bea0a3145a8826a386faaa859251570695913875": 2, + "docs/technical/SPACETIMEDB_WECHAT_AUTH_STATE_TABLE_DESIGN_2026-04-21.md\u0000c7ddf6fafff73ac9640e0b9a696fdaaea490f456befbbe473c627aa2b086cbd1": 2, + "docs/technical/SPACETIMEDB_WECHAT_AUTH_STATE_TABLE_DESIGN_2026-04-21.md\u000035fd82a69796b480f75e35bc0117508e097724d70d31b58b14d743dfdbd9aa44": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u00003bfd51469f90a4a5a81de9e94b36546f174e27c4af537aa5eac1db437b250141": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000310aec205a5c3e9de68292ed624b25572dd487454bd4d10e935fe5c15f0f7d2b": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u00005d8ddf4bec4e2dad46b05f07373b1dea9803c7622e56fbd1da2287dbe05f7821": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000806ba95a8ac023031f861f97375fa66b693d0d6b0380c3e6386fc14a5834bd98": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u00006f3779dccea09f6758ea5b1f8a431f5f056858549f8685817f80659f381885f3": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u00000137801f26b50e0665de4b494279c7185ede8e4e414b61ca4aa64d23a66b7bfa": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000dde2a7a524a217acdf4ba76fe624cb658e6f5c2325ffe60b6cb98f2b15cb9527": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000ad7892fbbeedfca860f48d7bddd80ecdf5d836c28b3d79a384b2a19c5a8717ad": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u000042567f5a28a493d571669d443d8fa2f7d173e7ffba037197bd0b58f626427648": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u00008045c32279aeb43e89b93769d3182246aa3c8c2b305f1b7959990333aee0a234": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u000045eb2014aec2855c232484530cf0cbfe205a2e760931f8ada7604a8fccdf9c88": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000ff6f2053f9afb63651ba25541b0cf9d8f3a8bc46b21c48e2f9319c7da391a6c6": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000fcb7de637ed287b102ec934fb6d3e2ab75d11a77b2c2b69884b8ccfd1d5f493f": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000ba2c025a53fc4fa5ec17de75fc481e7675a1fae9fdd858c39672696f74a69d07": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000b89c6db56b04c89e2255d02d4b77b798095d4afc7da66ae9bf05f4c1b82c2d85": 1, + "docs/technical/TXT_MODE_VISUAL_NOVEL_MIGRATION_EXECUTION_PLAN_2026-04-20.md\u0000c208dee3e34e5432782ab2c243aaf69b0b876949a6691bbd62715a0526519b1a": 1, + "package.json\u000010621cbe6c5a62867afa37a12eb07efa3620e09111b46a8fb18b8b0a0b282b7c": 1, + "package.json\u0000b9cef1a954fc23413bfc29f436416c2d81f3932509b3f5aa0331877eabf794bf": 1, + "package.json\u0000605821c2c1595f16dc3bbadce7919a3d4ea4e30b68dc5cdb981667e7b98fff21": 1, + "package.json\u0000ff4ab635930fc3f75d3dc1f131614798b5cba848183b60716aa5e20544255549": 1, + "package.json\u00007b6ba66e038021cee55e15a1b3c2d2e48c1acd9266dd7eb56b6e8a4749c2bad2": 1, + "package.json\u00001b0a207d09cd0b1af466e3385a031f9122a4de986afe0cfacf31e28a2ad3c196": 1, + "package.json\u00004998e6f4142e735d3076dcbc95e9c271801c574acfa88c51e05029f9b28868ec": 1, + "package.json\u00007f0b7766ec9aedefebb88dcc3de99d689c66d878b08234aed060dd141bc273a2": 1, + "package.json\u00003f223245810ecb34d729422db9dec4894f701abae34061c25b62befa5891f429": 1, + "package.json\u0000a4e73139c3b780cff610b8c9b49c3949ada60101d97b6855a8686c0a3318807a": 1, + "package.json\u0000925267acb37acca7e05948d9e12dce3d705938bc4024aa874c413ea6e3e4b33f": 1, + "packages/shared/src/prompts/qwenSprite.ts\u000029b06446c9924c52650bb30de43d1a2c004669edabcec7a15d4f0957b85493b4": 1, + "scripts/dev-node.mjs\u000043f204adc4523e952b9d70c8546760eb7cce07a3738a4da0447c93eec52d582a": 1, + "scripts/dev-node.mjs\u00000efe0f7f677da85884e4c4a13413f07026a09b776a38cec8c9f61b82d00344a6": 1, + "scripts/dev-node.mjs\u0000a369acaec97cd74e23f55928bb610acab32a36947f76919a144b2f341b2a3aec": 1, + "scripts/dev-server/README.md\u0000f9afe7dc078db37d489590d227027b1dd44b974e7f759f67227190a461052eca": 1, + "scripts/dev-server/README.md\u0000b8028a259a0ded9a7009d67fb4dc00e7c915711e1af061b9df2032e8ef118493": 1, + "scripts/smoke-same-origin-stack.ts\u0000883b2587b2ce3fd7271adcb1672f5ca990cd923d0b5d2294608b9d8df7b512b4": 1, + "scripts/smoke-same-origin-stack.ts\u0000a130dae439d509ceb2dbc200491329eff1cbe6d91670285c48a4596c39b99cd2": 1, + "scripts/smoke-same-origin-stack.ts\u0000da69b9580b2f5e8b870cb2f922eef1773ff1d3c1dee7f8c6c33129c51b8a989e": 1, + "scripts/smoke-same-origin-stack.ts\u000073843e2fbad45e046810c5a20d29f8853d4498dcf4e84b49a96ccc9f36252797": 1, + "scripts/smoke-server-node.ts\u0000e859fc71f4ec9cefb495e0ba3502b516336b3b1638180a3c376a533e85db160e": 1, + "scripts/smoke-server-node.ts\u0000c3ff93f22b296350a51a3b45993fe5eb243f71bd7e30e26dcabeaabe34c63ee8": 1, + "scripts/smoke-server-node.ts\u00003e2f6037d519fa6dafff4c9eb01a2d88cdd9d2ab5783c56f419e89684717208e": 1, + "scripts/smoke-server-node.ts\u0000f6d8b46774a5c8f702559cc709ba1cd67ab58e5bcfb0d6b99d5a23209d2e5b0a": 1, + "scripts/smoke-server-node.ts\u00005d8f3fd5dab9195d1f7da8a4484f8a1a1c3972f59b276f5b52ff27b5ec24aa6b": 1, + "scripts/smoke-server-node.ts\u000086a758564aa6d19a0647555ede52a16eb609cce8cea00ff8e4172f23a5fbc5d1": 1, + "scripts/smoke-server-node.ts\u0000cb1e4b5ca72afdf0e5cc561311080ec9b420379bf6da50b8eb97b20c316b7818": 1, + "scripts/smoke-server-node.ts\u000067f98dda4f159374a84f616a5d702fe7c7303135f30bbadbb2534b859b454f1f": 1, + "scripts/smoke-server-node.ts\u00003afd6b6832071bedc9c51bbfc800ba4aee29feb4036708f38b445e2eb2599043": 1, + "scripts/smoke-server-node.ts\u0000d8ce8a0d5925a29dc1c915cf715568e4799b84a19348134de860cdb9b22a71cf": 1, + "scripts/smoke-server-node.ts\u000031fa6b611e2afc123a35e61c2bca932ede53f4ac4023229c4ab3fa84728b592e": 1, + "scripts/smoke-server-node.ts\u00009b70b5aacc3c9ba80a7c281280d35180ca8bb9fe7b2a9811e0544e452670d288": 1, + "scripts/smoke-server-node.ts\u000005cbf4b8976aa5ccbef6611ded46b143c154307caff63f3d01f96932b7e1b2e2": 1, + "scripts/smoke-server-node.ts\u0000acbc764687afa651d026d57f217bb508422c2b51592333fa50e48ec493b63e58": 1, + "scripts/smoke-server-node.ts\u0000cea76761bd15bca049a59a546cc3cf5c78f16e0ee1974cc649b4a461992642cb": 1, + "scripts/smoke-server-node.ts\u00008396f8eaaabdf7513272ef6f6e0a8a839d45069a356d1ff11de25c199cc808ff": 1, + "scripts/smoke-server-node.ts\u0000c10ec2eb966d0441b2aa75ffd3e76055ac41f87aba56ce7dd8456ebb984e5097": 1, + "server-node/manifests/backend-capability-index.json\u000056f27c117ab10020e9677a4af8f751ec5731e5683fd8e6ef22716f470edcae4a": 1, + "server-node/manifests/backend-capability-index.json\u00002ac2001c1e6284a6a41c9a4e1f35f67d3e0255194ac8399f4e62bb650f25daa9": 1, + "server-node/manifests/backend-capability-index.json\u0000a81060f4f5ea87472433c41868238f5fc43d54fa281b9fa1994da1e26008c2d7": 7, + "server-node/manifests/backend-capability-index.json\u0000b9cd6ffc760cf15d07931a58fcdc6612bcb8071cc26358b6329f95785312d5d7": 1, + "server-node/manifests/backend-capability-index.json\u000022e6bb0357290ce4a4640d28132341d9cf47ed7b184c2fc268a873894d9b40eb": 1, + "server-node/manifests/backend-capability-index.json\u0000049e94436d9b8bfa52f26c8cd8e22b549270ca91591f5879de3d2a69a975a575": 1, + "server-node/manifests/backend-capability-index.json\u0000c1780f3391e5e39dbaa4b823be7fb40e6380fa8e3a53cb28ff5e1a02094f3c74": 1, + "server-node/manifests/backend-capability-index.json\u00000dd3a86d2024577b2a3b0dab08d5d66e403b4bbd3a3031f636d2c3da634b6d38": 1, + "server-node/manifests/backend-capability-index.json\u0000d77496a42c7b86eaec2d06084d0482907e719bac8e5459ab79613033a7c7da69": 1, + "server-node/manifests/backend-capability-index.json\u0000ded464b81ba13183305c7863e6234459bb2fba5a3388a3a5278fb9df9d8fdd7f": 1, + "server-node/manifests/backend-capability-index.json\u0000e153da3ff06d5adc74d4460a33285f2df4b4aaf6aa824d1a82d5a636f729f4ef": 1, + "server-node/manifests/backend-capability-index.json\u000031fc4e7268a5e03dc0f22255e7f9a9026d7945dfe5c603bceff4c47d846fd7ab": 1, + "server-node/manifests/backend-capability-index.json\u0000f63c246a0bc1d398266ae86cfd9402e9a1095d1904167a9b9daf4608157b1d9c": 1, + "server-node/manifests/backend-capability-index.json\u0000431a6afee8b07b1e9dbe477218f15266e4c73f85f1b54852dac02b887892b18d": 1, + "server-node/manifests/backend-capability-index.json\u00008915039216bcd7177503b20b15c74efcf11d45c67c99105906ea1cd181cbaf1a": 1, + "server-node/manifests/backend-capability-index.json\u00003e92da71592fed1d24fa90ae609ac8a2368ccfcf968c8866139607d5a2c2a6a2": 1, + "server-node/manifests/backend-capability-index.json\u0000f14d1524892557852e2505df46480552a53bc6124db295e921170073bdc01134": 1, + "server-node/manifests/backend-capability-index.json\u00006400667a6891e6ba78c62541fe0ca6446cb598c852289ffc48075ba1f61b65e6": 1, + "server-node/manifests/backend-capability-index.json\u0000e89282b72a621822189c19c3dd89a89c7021f292d4f70ef88f74651e5badb353": 1, + "server-node/manifests/backend-capability-index.json\u0000b5bc5431132f739b8b1d102d1f94c87140c807bf45dadfc48740c216fcc9968a": 1, + "server-node/manifests/backend-capability-index.json\u00003dc7ea9bd363d82f049c72eef436e05c6c2575810f58ebede984ffcaad3df4b8": 1, + "server-node/manifests/backend-capability-index.json\u00005cde654b28abd69f9733c1478ad2b34ee99808bdd29548ad8ec5499ee66d956b": 1, + "server-node/manifests/backend-capability-index.json\u0000193bfd27c9106a14cfdbcf7cb5f45bc55d5bdd6169f7498b16c4e97036096e59": 1, + "server-node/manifests/backend-capability-index.json\u0000a1a1ea86bf2d08a2cca3339555684c2548f755457b61f164f556386d1f6e5e44": 1, + "server-node/manifests/backend-capability-index.json\u0000b186d8d6aeadc12092a836cc9e56fd1af940ee1d5b66d7d7ea2434efb7f4d5d5": 1, + "server-node/manifests/backend-capability-index.json\u000063d7409e9001d79b0afe27f66c916d1d19c5a4776831804ea0fae80407db9d70": 1, + "server-node/manifests/backend-capability-index.json\u00003e0f9bd72c8761da6067aa9eb8cb631b3293440f14f02b19f543c4c18ca2c14a": 1, + "server-node/manifests/backend-capability-index.json\u00008fedba82625ada5def7573e8f8301bc449d448fd9d8be10b19ca6d39cf0b656e": 1, + "server-node/manifests/backend-capability-index.json\u0000526fff0041bebf96007b8a584a2b27c6889723e3d035fbe0d247aae851d25e70": 1, + "server-node/manifests/backend-capability-index.json\u0000ddcae371a5388f7ada993fb88ec6576d51f074aec30762f1c7c321babe865ce5": 1, + "server-node/manifests/backend-capability-index.json\u000041cfc98243a84ca68f4f454fd915f4a53a0b906fc890d63b94aad90a15be4fee": 1, + "server-node/manifests/backend-capability-index.json\u000099fa07fd7bdb357dfc733daa78d583e49b614dc6befdf841795a6e10ec8b5971": 1, + "server-node/manifests/backend-capability-index.json\u0000fd9f915894e3110326c2c9b12c7c4cc7cecece18f455fbbd5ceebed48e8caaf2": 1, + "server-node/manifests/backend-capability-index.json\u000044a4f808e59ff619b77749edb329dd2e679181f1ff4d554c9dddfac31c5e6326": 1, + "server-node/manifests/backend-capability-index.json\u0000e1aa773771075c9624f86a11630981a5cb55916dce1c37e74c4498975f4e451f": 1, + "server-node/manifests/backend-capability-index.json\u0000bf5b61f4ff8ae0d08666a731e47cdd224792648e213255ce35e2e6580eaaec38": 1, + "server-node/manifests/backend-capability-index.json\u0000606915ce40a9ed8b2541015f552faed7d5d7129be821c8ffdb05b9b91d2813f7": 1, + "server-node/manifests/backend-capability-index.json\u0000f0d3340aa2e699b352f687bcb4c06e3ac255f4bd5d34df337b3083b62c2944ed": 1, + "server-node/manifests/backend-capability-index.json\u0000858f122e260286ea4dc408f781b6bfe1137b6cfaa899397ee01edbc49e588372": 1, + "server-node/manifests/backend-capability-index.json\u000022af6710e5cc63059530627e848f5977dfebb00c0107d192034acb81e447f215": 1, + "server-node/manifests/backend-capability-index.json\u0000294b29a681618e40f20b29cfdc82c6e32cb918983c085da1bcec5fe0bfcbe4b6": 1, + "server-node/manifests/backend-capability-index.json\u0000358d8c7499d2f8880ecd2761a778bdc196e003775df8ade73f40422d7b0c8be1": 1, + "server-node/manifests/backend-capability-index.json\u000090227f9a84cb851917ae8d1ee285d5c7635ba983c1ed5a968c078bab9a327758": 1, + "server-node/manifests/backend-capability-index.json\u0000e09c45381e8a3480904021d0b0c79c974c93a7b32298642441564594cb282e7b": 1, + "server-node/manifests/backend-capability-index.json\u0000f2cb529f32c48821debfb0d2f011dd95c725935d9f221d8e9b7fb1de17b7d1e4": 1, + "server-node/manifests/backend-capability-index.json\u000012821d4d15c4bf28759572b479c61ae2550ae0eb6b20cb2d0cbc6b05f02c66a9": 1, + "server-node/manifests/backend-capability-index.json\u0000c192b0a807f4a2376b3ba6b3adb825061ca22edf6795b494590d137d89e4e6d6": 1, + "server-node/manifests/backend-capability-index.json\u00004e17a017f18227e78f7e2e99a00f7807c1d8d1a6e488140854df6ab22a6c21cd": 10, + "server-node/manifests/backend-capability-index.json\u0000fdd0cac4c593e4bfc0b34f18dd627d3fc2b892086f5f4e416dbfff9982cc475a": 4, + "server-node/manifests/backend-capability-index.json\u00008036d23ecbdf20520dc4c74bd0d52e84e84355e15fd14008eebcf08067f23ffa": 17, + "server-node/manifests/backend-capability-index.json\u000094a2a08f5b155a16100da672499ba3544ab70600bd7e58d008d1104c06b047c7": 52, + "server-node/manifests/backend-capability-index.json\u0000de73c1459d6363502c0c1cc70aa3db53cd673b255ac10d1249a89b6e8beeb155": 3, + "server-node/manifests/backend-capability-index.json\u0000ea839c5a573f5a143557ca68541138a6904988a383977e0ce015bdb083adba4e": 7, + "server-node/manifests/backend-capability-index.json\u000071a2dca73d28a6fee8585eeb9f044560c0ebd575735026d64b3e4fbd87ccd8b8": 2, + "server-node/manifests/backend-capability-index.json\u0000a813474b869285c20d11652750d67f18d10f6352576851f925aa7207b6cc8f4f": 1, + "server-node/manifests/backend-capability-index.json\u0000f8a47fc6daf13aa200addeee99b5fe1246a610639311b53e15ae91676d3bc1eb": 1, + "server-node/package-lock.json\u00009aa85a85f6018efa293f174e5df2f65ed1c766c77fda76388b50e4e40e4bcb48": 2, + "server-node/package.json\u00009aa85a85f6018efa293f174e5df2f65ed1c766c77fda76388b50e4e40e4bcb48": 1, + "server-node/scripts/generateBackendCapabilityArtifacts.ts\u0000ed8deaad538255e55f8b71d3a41e517b301d6d01a323cbfb6d56de02eb1d65e7": 1, + "server-node/scripts/generateBackendCapabilityArtifacts.ts\u00000c0d8f42aa90bc2ff3ab67415c1d66fec5f25dc6db27fde12dd34704ea907b03": 1, + "server-node/scripts/generateBackendCapabilityArtifacts.ts\u00008a4ba48138f6b0d5242b50ea4081db3880ed2c60293833052a303e1a9039dcd5": 1, + "server-node/scripts/generateBackendCapabilityArtifacts.ts\u0000fa1d067c01c81ca0a3326bc169b317aa76ca27e940a9dc232a5c3d6e898dd5a0": 1, + "server-node/sql/schema/README.md\u000057b35b62ecf00e77a6944a18739c3c9d27ceaab17361670ea7ec992b46b2b5e1": 1, + "server-node/src/app.test.ts\u000054022bb1a9aaf2e1624436fa3f18d18ea449935ba3ad546ecd3ed89481c83392": 1, + "server-node/src/app.test.ts\u00003b484de1dbbce3e8933a76da1462943554be4a85bf4c1dc0aad9416d4bd4b7ae": 1, + "server-node/src/config.ts\u0000e0899bb76e5cedb66c6ea5b0582d3d74a8bdfbbbb33cbfe5504eb44601a0ec26": 1, + "server-node/src/config.ts\u00000af84cc03240532ee0044db36236d2b0eacafd7e8b9c097a628fd85568ac4b08": 1, + "server-node/src/config.ts\u00001edd84674f0d251801f6f574082ae9bf848d5f272523014d70933f69a3994498": 1, + "server-node/src/config.ts\u0000e27e58af85c8cfcc7dbef3812fc8c6ed7a05b68059efc474c4f0067096050703": 1, + "server-node/src/db.test.ts\u00007cb4609a0288b2076299342c6537e7d3f88b56e5a0931a1c06c6fbea92171aa5": 1, + "server-node/src/db.test.ts\u0000f79f94c3ddc028f7acfc84eb6fc19d5b26c40d0f8a8a42032b6944e284da8540": 1, + "server-node/src/db.test.ts\u00003b484de1dbbce3e8933a76da1462943554be4a85bf4c1dc0aad9416d4bd4b7ae": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00002117ae72ffff9502bd361616c91dd9faa833fc24340f663ef2149ea5b3d104d1": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00008a860aa0a3263b1320e50b38c59ffe1eb6f1a162d09ca2dcb6525327961b7b30": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00003a0258d73e41cacaa7fd9f249adf22c08071e7ca2ba122cd0b74f34795ad46e2": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00003652b58a4ee5b20968780f31a28177a659e6a2685ecff40dda212d3284f40354": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000bd1a48e3b86180591ae62641df451b2eddc8fa189183ab60f642faed5144ac77": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000d146976ee0200295189de04c5a44b173d6ea7fef9b2ea1ecf8911e540f9e60ee": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00007137032dcf8ef52cf99cfbae31f1f89b8e4a73d16c46baec172b166fdb40ce10": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000271276cc9a7ebcf065910bc978522a4b966878c0a2284026ff3df4195d2da05c": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000f9b1d51f4f56c2e5a88a8bd7a59cf5db27f57493b5301b0fe1b2782e712c1aa9": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000f4993e99a4c745f1059c410c9806c512b189be510c055f3bd6d16de24b9318a2": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000dcd4886d8a8766ae6c7a20e70d596baac7053b2a61a8c3f0918ab2a5dcd86b33": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000003aaf230186f976424549f328898613e49f80f376dad4f48fde0d1d971e00070": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000b3057414fb5361086e9aaffe5f667ceccb21addc33092ce9e66544ad814844c9": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000048f2d22f1046a5baad05a27bae65f6bbaf8fdb56db285ed2399da60a7252987c": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000aa527fccb3d32cbbfb3f172799794be4d3eb11437b10267bf835df376b70ac29": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000051f9799e55f4a76bcc18dc538c6839a9f4409d68a3ec568db3a470a48d4266ea": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000787c23d1e6c326028fe8fc3ef1b87031613466cbde44219e72ab020ee2874742": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00006fb7541bdf06d8712b11969c7d6a6cb232ca86196b182ed4db2d784fe83334f5": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000ef056282a8664f16964ed97813e57fa3b1dcef72f80aec7b9c44159f8781bb9c": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00006e8a117a4f9a08a90260f513e1f0bcb955e70518f68e6c737479b35228bda34b": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000fee0b167671ad25b22b35d9bd22f2ff6f4b056fe05dc3628346917a4611bedc3": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000ccdf3cf3e90c0049579f245aa56030673f0ca56e711676972a44153b4db7e12a": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000054c5e24ca3a711a386e636fc1af45e31d196de7476f01ffece05476d8d0a71f6": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000d76e524a189a2de21763fdc6bd8efe9f529206919997e1b6e95152a92888c3a0": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00008d39320b2e2d02cd3874a552dd0a9fce6f7c8883fcb36d763bc1f65555d88530": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00007586e045dec890cf1ffe81547738bbd8ce6cdb409fb1ee7908951eadeb19c291": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00008d67513a58aacf34631c11aecfa3f2becafc7e1bea706824d98050b959841f3a": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000a13d5ffd13ec05348407a9e86260e5cd38caedfd7e11ac10437b16c2838e6833": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000c32b6324ee0061cce0de0510a2386d8b86c3f0811160cdc33caa4772f8c3f1c0": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00003a2ab053adc5f82f95031cdc71f51fff7f6d931b9d353d4aa270ed7a6b8d7ea8": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00001b3b9eb7431d02970758fb7578b53464944848a7bf8e9392bf58f0c6a6dc990d": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000bf6b32768345af6d8c16b0b68343f1ba31cd441a11d2af65ac077effee33f07c": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000dcd06e8e449aeb450de2cb6dcc507933d5f689540ca6f4bbdc55f838997935c9": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000d033f743e7a7bb72d5d5a8390f5ef091bd6ebb879c846f9c79e93e706fec6cbb": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000079d2ef4183a09fffc6b77f70e5db6aaf84ac129ab6ee83670a2d9e2067af470e": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000ce9e81664ba29f4e4082c248faeee1e6fbd782fe4e128cdbc2581e2bb8e1f1ed": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000077a0c85152c5ee21d8bebf3bec0194d67f86b3b5717c8067e19ee5762f4294ee": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000f86d313c455762461c3ed8a9de1ffbe1080621fee7ce631b2f868ec0bc6ed722": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000042a396102c1462abaee22d09239895fcbdcd89c4632ace958231006c7cfb8a7e": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000b7592ec748e7346d52c4379bfefcc215e31087092e0a57cff016d4a462b5388e": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000080b277e7e971303d35c235b741ff80542a852c8e1265a62edce22b0b43c213dd": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000e79b92a03c52e1ca1d9e4df6fae7473ed81a2452410ff0080abe3f8d2b8bdbe2": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000b8f3d76345b4036ef38fe21a3ec7df5315d68ad77db79ac02b83016f1c683cda": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00003f8e89474c0e219d2c7a2c8f82708c569e450ccaad7dd04c54013f9e5f279d5e": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000c9e8d2598cb57e9392b57f8a4e1498b8a7fd3b202244ac8fdc8b689b4f52abc0": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000b4fdd5086292da37aa5742941a83f0c283cb7a5375e4de371a4e90fc59427566": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000d7072813c1083dbb1143429c1b20b7f3d3267812c71d7b1d386a7848ae632875": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00002a5611a783e015c8a3f510906a3a61cef1222ed4baf6fa00a5c38b9f3f2dadc7": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000ce792ddd185d82366f9a17b53473058b00e6fea614fe83747cd7197398ee23be": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000e1d203df849c33c4a08c73c3635f94e5b6a566d3ab8b8bb83a9539d1ca6563f8": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000be705da238160ee2a0a5790ccd73231e8a8d2589243c5b34dddad3e2988774ac": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u000047b52f649640c8ea337ffb133fdc04a98a6dae76513bbb1f9fe081f48abc9549": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u00003a731ad8f2ec46d459163ad3d8e91603ade3c4af8a1bb8fce22343eb64593820": 1, + "server-node/src/manifest/backendCapabilityManifest.ts\u0000a22f5224601961db224b507f83a45e8f221f0237d28d16503aba6a61b684db8a": 1, + "server-node/src/observability.test.ts\u000054022bb1a9aaf2e1624436fa3f18d18ea449935ba3ad546ecd3ed89481c83392": 1, + "server-node/src/observability.test.ts\u00003b484de1dbbce3e8933a76da1462943554be4a85bf4c1dc0aad9416d4bd4b7ae": 1, + "server-node/src/server.ts\u00006a29197840b346af2f6cd87983cf2367f10532ba189467a3da2ecb988b2fb5d2": 1, + "server-node/src/server.ts\u0000eb63882aab4e8308326984c9a628c48c4f61cb57f40e886e491fcafc6f0a572c": 1, + "server-node/test.mjs\u000052a8ac3a4353d6274ffb10a59ef6ea1e5ec4b5dfabfd789d8fea15c96e3a4f2a": 1, + "server-rs/README.md\u0000659f779515099e5bb71a6d3e49b0855d631b2fc9224bbb91fe9dc5a253c8f6d2": 1, + "server-rs/README.md\u00008e2a3a31bda683646449a0a2609928630f514e983712bd817fedcbbb0c14fcad": 1, + "src/data/functionCatalog/flow/storyOpeningCampDialogue.ts\u0000b4414fe223895b2c0082477abbf92b0ab38d14e3826a61f6fde33b87181a0cb8": 1, + "src/data/functionCatalog/npc/npcChatQuestOffer.ts\u0000742efe81d48503c9efa60f444af16a633769082f18fa6468e0ab1739f69452d7": 1, + "src/data/functionCatalog/state/battleAttackBasic.ts\u0000d3f869397b98758f3b9983bde08288b09096829ada0342630f5c57dabf913d3f": 1, + "src/data/functionCatalog/state/battleUseSkill.ts\u0000d3f869397b98758f3b9983bde08288b09096829ada0342630f5c57dabf913d3f": 1, + "view-llm-logs.ps1\u0000cea4f5c3a3b0023d64d44dc1d68dc535b409c0196ac8d996b0f176e481804fdf": 1 + } +} diff --git a/scripts/server-node-frozen.mjs b/scripts/server-node-frozen.mjs new file mode 100644 index 00000000..12ef34b2 --- /dev/null +++ b/scripts/server-node-frozen.mjs @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +const command = process.env.npm_lifecycle_event || 'server-node:*'; + +console.error(`[server-node frozen] ${command} 已冻结。`); +console.error('后端主线已切换到 server-rs(Rust + SpacetimeDB),禁止继续运行或扩展 server-node。'); +console.error('如需开发后端能力,请使用 npm run dev:rust 或 server-rs/scripts/*。'); +process.exit(1); diff --git a/server-node/data/.gitkeep b/server-node/data/.gitkeep deleted file mode 100644 index 8b137891..00000000 --- a/server-node/data/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/server-node/logs/.gitkeep b/server-node/logs/.gitkeep deleted file mode 100644 index 8b137891..00000000 --- a/server-node/logs/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/server-rs/crates/api-server/src/big_fish.rs b/server-rs/crates/api-server/src/big_fish.rs index ebc167f9..9b61717d 100644 --- a/server-rs/crates/api-server/src/big_fish.rs +++ b/server-rs/crates/api-server/src/big_fish.rs @@ -37,6 +37,10 @@ use spacetime_client::{ }; use tokio::time::sleep; +use crate::big_fish_agent_turn::{ + BigFishAgentTurnRequest, build_failed_finalize_record_input, build_finalize_record_input, + run_big_fish_agent_turn, +}; use crate::{ api_response::json_success_body, auth::AuthenticatedAccessToken, http_error::AppError, request_context::RequestContext, state::AppState, @@ -157,11 +161,12 @@ pub async fn submit_big_fish_message( )); } - let session = state + let owner_user_id = authenticated.claims().user_id().to_string(); + let submitted_session = state .spacetime_client() .submit_big_fish_message(BigFishMessageSubmitRecordInput { - session_id, - owner_user_id: authenticated.claims().user_id().to_string(), + session_id: session_id.clone(), + owner_user_id: owner_user_id.clone(), user_message_id: client_message_id, user_message_text: message_text, assistant_message_id: build_prefixed_uuid_id("big-fish-message-"), @@ -171,6 +176,37 @@ pub async fn submit_big_fish_message( .map_err(|error| { big_fish_error_response(&request_context, map_big_fish_client_error(error)) })?; + let turn_result = run_big_fish_agent_turn( + BigFishAgentTurnRequest { + llm_client: state.llm_client(), + session: &submitted_session, + }, + |_| {}, + ) + .await; + let finalize_input = match turn_result { + Ok(turn_result) => build_finalize_record_input( + session_id.clone(), + owner_user_id.clone(), + build_prefixed_uuid_id("big-fish-message-"), + turn_result, + current_utc_micros(), + ), + Err(error) => build_failed_finalize_record_input( + session_id.clone(), + owner_user_id.clone(), + &submitted_session, + error.to_string(), + current_utc_micros(), + ), + }; + let session = state + .spacetime_client() + .finalize_big_fish_agent_message(finalize_input) + .await + .map_err(|error| { + big_fish_error_response(&request_context, map_big_fish_client_error(error)) + })?; Ok(json_success_body( Some(&request_context), @@ -198,14 +234,23 @@ pub async fn stream_big_fish_message( })?; ensure_non_empty(&request_context, &session_id, "sessionId")?; + let client_message_id = payload.client_message_id.trim().to_string(); + let message_text = payload.text.trim().to_string(); + if client_message_id.is_empty() || message_text.is_empty() { + return Err(big_fish_bad_request( + &request_context, + "clientMessageId and text are required", + )); + } + let owner_user_id = authenticated.claims().user_id().to_string(); - let session = state + let submitted_session = state .spacetime_client() .submit_big_fish_message(BigFishMessageSubmitRecordInput { - session_id, - owner_user_id, - user_message_id: payload.client_message_id.trim().to_string(), - user_message_text: payload.text.trim().to_string(), + session_id: session_id.clone(), + owner_user_id: owner_user_id.clone(), + user_message_id: client_message_id, + user_message_text: message_text, assistant_message_id: build_prefixed_uuid_id("big-fish-message-"), submitted_at_micros: current_utc_micros(), }) @@ -213,18 +258,52 @@ pub async fn stream_big_fish_message( .map_err(|error| { big_fish_error_response(&request_context, map_big_fish_client_error(error)) })?; + let mut streamed_reply_text = String::new(); + let turn_result = run_big_fish_agent_turn( + BigFishAgentTurnRequest { + llm_client: state.llm_client(), + session: &submitted_session, + }, + |text| { + streamed_reply_text = text.to_string(); + }, + ) + .await; + let reply_text = match &turn_result { + Ok(result) => result.assistant_reply_text.clone(), + Err(error) => error.to_string(), + }; + let finalize_input = match turn_result { + Ok(turn_result) => build_finalize_record_input( + session_id.clone(), + owner_user_id.clone(), + build_prefixed_uuid_id("big-fish-message-"), + turn_result, + current_utc_micros(), + ), + Err(error) => build_failed_finalize_record_input( + session_id.clone(), + owner_user_id.clone(), + &submitted_session, + error.to_string(), + current_utc_micros(), + ), + }; + let session = state + .spacetime_client() + .finalize_big_fish_agent_message(finalize_input) + .await + .map_err(|error| { + big_fish_error_response(&request_context, map_big_fish_client_error(error)) + })?; let session_response = map_big_fish_session_response(session); - let reply_text = session_response - .last_assistant_reply - .clone() - .unwrap_or_else(|| "锚点已更新。".to_string()); let mut sse_body = String::new(); append_sse_event( &request_context, &mut sse_body, "reply_delta", - &json!({ "text": reply_text }), + &json!({ "text": if streamed_reply_text.is_empty() { reply_text } else { streamed_reply_text } }), )?; append_sse_event( &request_context, diff --git a/server-rs/crates/api-server/src/big_fish_agent_turn.rs b/server-rs/crates/api-server/src/big_fish_agent_turn.rs new file mode 100644 index 00000000..ae8c2c4c --- /dev/null +++ b/server-rs/crates/api-server/src/big_fish_agent_turn.rs @@ -0,0 +1,312 @@ +use module_big_fish::{BigFishAnchorPack, BigFishCreationStage}; +use platform_llm::{LlmClient, LlmMessage, LlmStreamDelta, LlmTextRequest}; +use serde::{Deserialize, Serialize}; +use serde_json::{Value as JsonValue, json}; +use spacetime_client::{ + BigFishAgentMessageRecord, BigFishMessageFinalizeRecordInput, BigFishSessionRecord, +}; + +use crate::creation_agent_anchor_templates::{ + get_creation_agent_anchor_template, render_anchor_question_block, +}; + +#[derive(Clone, Debug)] +pub(crate) struct BigFishAgentTurnRequest<'a> { + pub llm_client: Option<&'a LlmClient>, + pub session: &'a BigFishSessionRecord, +} + +#[derive(Clone, Debug)] +pub(crate) struct BigFishAgentTurnResult { + pub assistant_reply_text: String, + pub stage: String, + pub progress_percent: u32, + pub anchor_pack_json: String, + pub error_message: Option, +} + +#[derive(Clone, Debug)] +pub(crate) struct BigFishAgentTurnError { + message: String, +} + +impl BigFishAgentTurnError { + fn new(message: impl Into) -> Self { + Self { + message: message.into(), + } + } +} + +impl std::fmt::Display for BigFishAgentTurnError { + fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str(&self.message) + } +} + +impl std::error::Error for BigFishAgentTurnError {} + +#[derive(Clone, Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +struct BigFishAgentModelOutput { + reply_text: String, + progress_percent: u32, + next_anchor_pack: BigFishAnchorPack, +} + +const BIG_FISH_AGENT_SYSTEM_PROMPT: &str = r#"你是一个负责和创作者共创“大鱼吃小鱼”竖屏玩法的中文创意策划。 + +你必须把用户灵感收束成可以编译为可玩草稿的玩法、生态视觉、成长阶梯和风险节奏。 + +你必须同时输出: +1. 一段直接发给用户的中文回复 replyText +2. 当前进度 progressPercent +3. 下一轮完整可用的 nextAnchorPack + +硬约束: +1. 只能输出 JSON,不能输出代码块或解释 +2. nextAnchorPack 必须是完整对象,不能只输出 patch +3. replyText 必须是自然中文,不能提“字段”“锚点”“结构”“JSON”等内部词 +4. replyText 一次最多推进一个最关键问题 +5. 必须对齐 RPG 共创的体验:先理解玩家幻想,再收束成能进入运行时的可玩效果 +6. progressPercent 范围只能是 0 到 100 +7. status 只能使用 missing / inferred / confirmed / locked +"#; + +const BIG_FISH_AGENT_OUTPUT_CONTRACT: &str = r#"请严格按以下 JSON 输出,不要输出其他文字: +{ + "replyText": "", + "progressPercent": 0, + "nextAnchorPack": { + "gameplayPromise": { + "key": "gameplayPromise", + "label": "玩法承诺", + "value": "", + "status": "missing" + }, + "ecologyVisualTheme": { + "key": "ecologyVisualTheme", + "label": "生态视觉主题", + "value": "", + "status": "missing" + }, + "growthLadder": { + "key": "growthLadder", + "label": "成长阶梯", + "value": "", + "status": "missing" + }, + "riskTempo": { + "key": "riskTempo", + "label": "风险节奏", + "value": "", + "status": "missing" + } + } +}"#; + +pub(crate) async fn run_big_fish_agent_turn( + request: BigFishAgentTurnRequest<'_>, + mut on_reply_update: F, +) -> Result +where + F: FnMut(&str), +{ + let llm_client = request + .llm_client + .ok_or_else(|| BigFishAgentTurnError::new("当前模型不可用,请稍后重试。"))?; + let prompt = build_big_fish_agent_prompt(request.session); + let mut latest_reply_text = String::new(); + let response = llm_client + .stream_text( + LlmTextRequest::new(vec![ + LlmMessage::system(format!("{BIG_FISH_AGENT_SYSTEM_PROMPT}\n\n{prompt}")), + LlmMessage::user("请按约定输出这一轮的 JSON。"), + ]), + |delta: &LlmStreamDelta| { + if let Some(reply_progress) = + extract_reply_text_from_partial_json(delta.accumulated_text.as_str()) + && reply_progress != latest_reply_text + { + latest_reply_text = reply_progress.clone(); + on_reply_update(reply_progress.as_str()); + } + }, + ) + .await + .map_err(|_| BigFishAgentTurnError::new("大鱼吃小鱼聊天生成失败,请稍后重试。"))?; + + let parsed = parse_json_response_text(response.content.as_str()) + .map_err(|_| BigFishAgentTurnError::new("大鱼吃小鱼聊天结果解析失败,请稍后重试。"))?; + let output = parse_big_fish_model_output(&parsed)?; + if output.reply_text != latest_reply_text { + on_reply_update(output.reply_text.as_str()); + } + + Ok(BigFishAgentTurnResult { + assistant_reply_text: output.reply_text, + stage: BigFishCreationStage::CollectingAnchors.as_str().to_string(), + progress_percent: output.progress_percent.min(100), + anchor_pack_json: serde_json::to_string(&output.next_anchor_pack) + .unwrap_or_else(|_| "{}".to_string()), + error_message: None, + }) +} + +pub(crate) fn build_finalize_record_input( + session_id: String, + owner_user_id: String, + assistant_message_id: String, + result: BigFishAgentTurnResult, + updated_at_micros: i64, +) -> BigFishMessageFinalizeRecordInput { + BigFishMessageFinalizeRecordInput { + session_id, + owner_user_id, + assistant_message_id: Some(assistant_message_id), + assistant_reply_text: Some(result.assistant_reply_text), + stage: result.stage, + progress_percent: result.progress_percent, + anchor_pack_json: result.anchor_pack_json, + error_message: result.error_message, + updated_at_micros, + } +} + +pub(crate) fn build_failed_finalize_record_input( + session_id: String, + owner_user_id: String, + session: &BigFishSessionRecord, + error_message: String, + updated_at_micros: i64, +) -> BigFishMessageFinalizeRecordInput { + BigFishMessageFinalizeRecordInput { + session_id, + owner_user_id, + assistant_message_id: None, + assistant_reply_text: None, + stage: session.stage.clone(), + progress_percent: session.progress_percent, + anchor_pack_json: serialize_record_anchor_pack(&session.anchor_pack), + error_message: Some(error_message), + updated_at_micros, + } +} + +fn build_big_fish_agent_prompt(session: &BigFishSessionRecord) -> String { + let anchor_question_block = get_creation_agent_anchor_template("big_fish") + .map(render_anchor_question_block) + .unwrap_or_else(|| "模板目标:收束成可玩的竖屏大鱼吃小鱼玩法草稿。".to_string()); + format!( + "{anchor_question_block}\n\n当前是第 {turn} 轮,当前进度 {progress}% 。\n\n当前 anchor pack:\n{anchor_pack}\n\n最近聊天记录:\n{chat_history}\n\n{contract}", + anchor_question_block = anchor_question_block, + turn = session.current_turn.saturating_add(1), + progress = session.progress_percent, + anchor_pack = serialize_record_anchor_pack(&session.anchor_pack), + chat_history = + serde_json::to_string_pretty(&build_chat_history(session.messages.as_slice())) + .unwrap_or_else(|_| "[]".to_string()), + contract = BIG_FISH_AGENT_OUTPUT_CONTRACT, + ) +} + +fn build_chat_history(messages: &[BigFishAgentMessageRecord]) -> Vec { + messages + .iter() + .map(|message| { + json!({ + "role": message.role, + "kind": message.kind, + "content": message.text, + }) + }) + .collect() +} + +fn parse_big_fish_model_output( + parsed: &JsonValue, +) -> Result { + serde_json::from_value::(parsed.clone()) + .map_err(|_| BigFishAgentTurnError::new("大鱼吃小鱼模型结果缺少必要内容,请稍后重试。")) +} + +fn serialize_record_anchor_pack(anchor_pack: &spacetime_client::BigFishAnchorPackRecord) -> String { + serde_json::to_string_pretty(&json!({ + "gameplayPromise": { + "key": anchor_pack.gameplay_promise.key, + "label": anchor_pack.gameplay_promise.label, + "value": anchor_pack.gameplay_promise.value, + "status": anchor_pack.gameplay_promise.status, + }, + "ecologyVisualTheme": { + "key": anchor_pack.ecology_visual_theme.key, + "label": anchor_pack.ecology_visual_theme.label, + "value": anchor_pack.ecology_visual_theme.value, + "status": anchor_pack.ecology_visual_theme.status, + }, + "growthLadder": { + "key": anchor_pack.growth_ladder.key, + "label": anchor_pack.growth_ladder.label, + "value": anchor_pack.growth_ladder.value, + "status": anchor_pack.growth_ladder.status, + }, + "riskTempo": { + "key": anchor_pack.risk_tempo.key, + "label": anchor_pack.risk_tempo.label, + "value": anchor_pack.risk_tempo.value, + "status": anchor_pack.risk_tempo.status, + }, + })) + .unwrap_or_else(|_| "{}".to_string()) +} + +fn parse_json_response_text(text: &str) -> Result { + if let Ok(value) = serde_json::from_str::(text) { + return Ok(value); + } + let Some(start) = text.find('{') else { + return serde_json::from_str(text); + }; + let Some(end) = text.rfind('}') else { + return serde_json::from_str(text); + }; + serde_json::from_str(&text[start..=end]) +} + +fn extract_reply_text_from_partial_json(text: &str) -> Option { + let marker = "\"replyText\""; + let marker_index = text.find(marker)?; + let after_marker = &text[marker_index + marker.len()..]; + let colon_index = after_marker.find(':')?; + let after_colon = after_marker[colon_index + 1..].trim_start(); + let content = after_colon.strip_prefix('"')?; + let mut result = String::new(); + let mut escaped = false; + for character in content.chars() { + if escaped { + result.push(match character { + 'n' => '\n', + 'r' => '\r', + 't' => '\t', + '"' => '"', + '\\' => '\\', + other => other, + }); + escaped = false; + continue; + } + if character == '\\' { + escaped = true; + continue; + } + if character == '"' { + return Some(result); + } + result.push(character); + } + if result.is_empty() { + None + } else { + Some(result) + } +} diff --git a/server-rs/crates/api-server/src/creation_agent_anchor_templates.json b/server-rs/crates/api-server/src/creation_agent_anchor_templates.json new file mode 100644 index 00000000..ce21edcd --- /dev/null +++ b/server-rs/crates/api-server/src/creation_agent_anchor_templates.json @@ -0,0 +1,127 @@ +{ + "templates": [ + { + "templateId": "rpg_world", + "displayName": "RPG 世界共创", + "creationGoal": "收束成可直接进入 RPG 运行时的世界、角色、冲突、入口与隐藏线索。", + "anchorQuestions": [ + { + "key": "worldPromise", + "label": "世界承诺", + "question": "这个世界最想让玩家体验到什么独特承诺?", + "requiredEffect": "明确世界钩子、差异化体验与玩家期待。" + }, + { + "key": "playerFantasy", + "label": "玩家幻想", + "question": "玩家进入后扮演谁、追求什么、害怕失去什么?", + "requiredEffect": "明确身份、目标与核心情绪压力。" + }, + { + "key": "themeBoundary", + "label": "题材边界", + "question": "题材气质、视觉方向和禁忌边界分别是什么?", + "requiredEffect": "约束语气、审美与不可越界内容。" + }, + { + "key": "playerEntryPoint", + "label": "玩家入口", + "question": "玩家第一幕以什么身份遇到什么问题?", + "requiredEffect": "形成可开局的身份、问题和行动动机。" + }, + { + "key": "coreConflict", + "label": "核心冲突", + "question": "表层冲突、隐藏危机和首个触发冲突是什么?", + "requiredEffect": "建立运行时持续推进的矛盾发动机。" + }, + { + "key": "keyRelationships", + "label": "关键关系", + "question": "哪些人物关系最能推动选择、秘密和代价?", + "requiredEffect": "形成 NPC、势力或亲密关系的互动张力。" + }, + { + "key": "hiddenLine", + "label": "隐藏线", + "question": "世界真相如何被误导、铺垫并逐步揭示?", + "requiredEffect": "为中后期探索与反转留下结构化线索。" + }, + { + "key": "iconicElements", + "label": "标志元素", + "question": "哪些标志物、机构、规则或意象让世界被记住?", + "requiredEffect": "提供可复用的视觉、剧情和系统记忆点。" + } + ] + }, + { + "templateId": "puzzle", + "displayName": "拼图共创", + "creationGoal": "收束成可以发布为拼图关卡的视觉方案。", + "anchorQuestions": [ + { + "key": "themePromise", + "label": "题材承诺", + "question": "这张拼图给玩家的题材和完成期待是什么?", + "requiredEffect": "明确拼图主题、辨识度和完成后的满足感。" + }, + { + "key": "visualSubject", + "label": "画面主体", + "question": "画面中最需要被玩家一眼看懂的主体是什么?", + "requiredEffect": "明确主体、层级和可被切片识别的形状。" + }, + { + "key": "visualMood", + "label": "视觉气质", + "question": "整体色彩、光线、情绪和美术风格是什么?", + "requiredEffect": "收束画面风格,避免结果图风格漂移。" + }, + { + "key": "compositionHooks", + "label": "拼图记忆点", + "question": "哪些构图、纹理或局部细节会成为玩家拼接线索?", + "requiredEffect": "提供适合拼图玩法的边缘、块面和局部记忆点。" + }, + { + "key": "tagsAndForbidden", + "label": "标签与禁忌", + "question": "需要保留哪些关键词,又必须避开什么内容?", + "requiredEffect": "锁定生成标签和负向约束。" + } + ] + }, + { + "templateId": "big_fish", + "displayName": "大鱼吃小鱼共创", + "creationGoal": "收束成可直接编译为竖屏大鱼吃小鱼玩法草稿的成长、生态、节奏方案。", + "anchorQuestions": [ + { + "key": "gameplayPromise", + "label": "玩法承诺", + "question": "这版大鱼吃小鱼最核心的吞噬成长爽点是什么?", + "requiredEffect": "明确玩家为什么要持续吞噬、升级和冒险。" + }, + { + "key": "ecologyVisualTheme", + "label": "生态视觉主题", + "question": "鱼群、场景和敌我生态的视觉主题是什么?", + "requiredEffect": "提供后续角色图、动作图和背景图的一致视觉方向。" + }, + { + "key": "growthLadder", + "label": "成长阶梯", + "question": "从弱小到终局巨兽的 6 到 12 级成长阶梯如何递进?", + "requiredEffect": "保证等级轮廓、体型、能力幻想逐级增强。" + }, + { + "key": "riskTempo", + "label": "风险节奏", + "question": "玩家在每个阶段面对的威胁压力和爽快节奏如何变化?", + "requiredEffect": "确定猎物、威胁、压迫感和爽感之间的节奏比例。" + } + ] + } + ] +} diff --git a/server-rs/crates/api-server/src/creation_agent_anchor_templates.rs b/server-rs/crates/api-server/src/creation_agent_anchor_templates.rs new file mode 100644 index 00000000..3eaca9a1 --- /dev/null +++ b/server-rs/crates/api-server/src/creation_agent_anchor_templates.rs @@ -0,0 +1,67 @@ +use std::sync::OnceLock; + +use serde::Deserialize; + +const ANCHOR_TEMPLATE_CONFIG: &str = include_str!("creation_agent_anchor_templates.json"); + +#[derive(Clone, Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CreationAgentAnchorTemplateConfig { + templates: Vec, +} + +#[derive(Clone, Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CreationAgentAnchorTemplate { + pub template_id: String, + pub display_name: String, + pub creation_goal: String, + pub anchor_questions: Vec, +} + +#[derive(Clone, Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct CreationAgentAnchorQuestion { + pub key: String, + pub label: String, + pub question: String, + pub required_effect: String, +} + +static ANCHOR_TEMPLATES: OnceLock = OnceLock::new(); + +pub(crate) fn get_creation_agent_anchor_template( + template_id: &str, +) -> Option<&'static CreationAgentAnchorTemplate> { + load_creation_agent_anchor_templates() + .templates + .iter() + .find(|template| template.template_id == template_id) +} + +pub(crate) fn render_anchor_question_block(template: &CreationAgentAnchorTemplate) -> String { + let mut lines = vec![ + format!("模板目标:{}", template.creation_goal), + "".to_string(), + ]; + lines.push("本模板只通过以下锚点问题体现差异:".to_string()); + for (index, question) in template.anchor_questions.iter().enumerate() { + lines.push(format!( + "{}. {}({} / {}):{};达成效果:{}", + index + 1, + question.label, + question.key, + template.display_name, + question.question, + question.required_effect + )); + } + lines.join("\n") +} + +fn load_creation_agent_anchor_templates() -> &'static CreationAgentAnchorTemplateConfig { + ANCHOR_TEMPLATES.get_or_init(|| { + serde_json::from_str(ANCHOR_TEMPLATE_CONFIG) + .expect("creation_agent_anchor_templates.json 必须是合法配置") + }) +} diff --git a/server-rs/crates/api-server/src/custom_world.rs b/server-rs/crates/api-server/src/custom_world.rs index b2d2a9ce..c23dfb5d 100644 --- a/server-rs/crates/api-server/src/custom_world.rs +++ b/server-rs/crates/api-server/src/custom_world.rs @@ -42,6 +42,7 @@ use std::convert::Infallible; use crate::{ api_response::json_success_body, auth::AuthenticatedAccessToken, + custom_world_agent_entities::generate_custom_world_agent_entities, custom_world_agent_turn::{ CustomWorldAgentTurnRequest, build_failed_finalize_record_input, build_finalize_record_input, run_custom_world_agent_turn, @@ -916,7 +917,10 @@ pub async fn execute_custom_world_agent_action( let owner_user_id = authenticated.claims().user_id().to_string(); let submitted_at_micros = current_utc_micros(); - let payload_json = if action == "draft_foundation" { + let payload_json = if matches!( + action.as_str(), + "draft_foundation" | "generate_characters" | "generate_landmarks" + ) { let session = state .spacetime_client() .get_custom_world_agent_session(session_id.clone(), owner_user_id.clone()) @@ -924,15 +928,6 @@ pub async fn execute_custom_world_agent_action( .map_err(|error| { custom_world_error_response(&request_context, map_custom_world_client_error(error)) })?; - if session.progress_percent < 100 { - return Err(custom_world_error_response( - &request_context, - AppError::from_status(StatusCode::BAD_REQUEST).with_details(json!({ - "provider": "custom-world-agent", - "message": "draft_foundation requires progressPercent >= 100", - })), - )); - } let llm_client = state.llm_client().ok_or_else(|| { custom_world_error_response( &request_context, @@ -942,19 +937,29 @@ pub async fn execute_custom_world_agent_action( })), ) })?; - let draft_result = generate_custom_world_foundation_draft(llm_client, &session) - .await - .map_err(|message| { - custom_world_error_response( + if action == "draft_foundation" { + if session.progress_percent < 100 { + return Err(custom_world_error_response( &request_context, - AppError::from_status(StatusCode::BAD_GATEWAY).with_details(json!({ + AppError::from_status(StatusCode::BAD_REQUEST).with_details(json!({ "provider": "custom-world-agent", - "message": message, + "message": "draft_foundation requires progressPercent >= 100", })), - ) - })?; - build_draft_foundation_action_payload_json(&payload, &draft_result.draft_profile_json) - .map_err(|error| { + )); + } + let draft_result = generate_custom_world_foundation_draft(llm_client, &session) + .await + .map_err(|message| { + custom_world_error_response( + &request_context, + AppError::from_status(StatusCode::BAD_GATEWAY).with_details(json!({ + "provider": "custom-world-agent", + "message": message, + })), + ) + })?; + build_draft_foundation_action_payload_json(&payload, &draft_result.draft_profile_json) + .map_err(|error| { let (status, message) = match error { DraftFoundationPayloadError::SerializePayload(message) => { (StatusCode::BAD_REQUEST, message) @@ -975,6 +980,21 @@ pub async fn execute_custom_world_agent_action( })), ) })? + } else { + let generation_result = + generate_custom_world_agent_entities(llm_client, &session, &payload) + .await + .map_err(|message| { + custom_world_error_response( + &request_context, + AppError::from_status(StatusCode::BAD_GATEWAY).with_details(json!({ + "provider": "custom-world-agent", + "message": message, + })), + ) + })?; + generation_result.payload_json + } } else { serde_json::to_string(&payload).map_err(|error| { custom_world_error_response( diff --git a/server-rs/crates/api-server/src/custom_world_agent_entities.rs b/server-rs/crates/api-server/src/custom_world_agent_entities.rs new file mode 100644 index 00000000..9f9ff730 --- /dev/null +++ b/server-rs/crates/api-server/src/custom_world_agent_entities.rs @@ -0,0 +1,641 @@ +use platform_llm::{LlmClient, LlmMessage, LlmTextRequest}; +use serde_json::{Map as JsonMap, Value as JsonValue, json}; +use shared_contracts::runtime::ExecuteCustomWorldAgentActionRequest; +use spacetime_client::CustomWorldAgentSessionRecord; + +const CUSTOM_WORLD_AGENT_CHARACTER_EXPANSION_SYSTEM_PROMPT: &str = + "你负责为当前游戏世界底稿补 1 到 3 个新角色。只能输出 JSON 数组,不要输出任何额外说明。"; +const CUSTOM_WORLD_AGENT_LANDMARK_EXPANSION_SYSTEM_PROMPT: &str = + "你负责为当前游戏世界底稿补 1 到 3 个新地点。只能输出 JSON 数组,不要输出任何额外说明。"; + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct CustomWorldGeneratedEntitiesResult { + pub payload_json: String, +} + +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum CustomWorldGeneratedEntitiesPayloadError { + SerializePayload(String), + InvalidPayloadShape, +} + +pub async fn generate_custom_world_agent_entities( + llm_client: &LlmClient, + session: &CustomWorldAgentSessionRecord, + payload: &ExecuteCustomWorldAgentActionRequest, +) -> Result { + let action = payload.action.trim(); + let draft_profile = session + .draft_profile + .as_object() + .ok_or_else(|| format!("{action} requires an existing draft foundation"))?; + let count = ensure_count(payload.count); + let prompt_seed = payload + .prompt_text + .as_deref() + .map(str::trim) + .filter(|value| !value.is_empty()) + .unwrap_or("没有额外要求,围绕当前底稿自然扩展。"); + let anchor_summary = build_anchor_summary( + draft_profile, + payload.anchor_card_ids.as_deref().unwrap_or(&[]), + ); + let creator_intent_summary = session + .anchor_pack + .get("creatorIntentSummary") + .and_then(JsonValue::as_str) + .or_else(|| { + session + .creator_intent + .get("worldHook") + .and_then(JsonValue::as_str) + }) + .or_else(|| draft_profile.get("summary").and_then(JsonValue::as_str)) + .unwrap_or_default(); + let world_name = draft_profile + .get("name") + .and_then(JsonValue::as_str) + .unwrap_or("未命名世界"); + let world_summary = draft_profile + .get("summary") + .and_then(JsonValue::as_str) + .unwrap_or_default(); + + let (system_prompt, user_prompt, result_key) = match action { + "generate_characters" => ( + CUSTOM_WORLD_AGENT_CHARACTER_EXPANSION_SYSTEM_PROMPT, + build_custom_world_agent_character_expansion_prompt(ExpansionPromptParams { + world_name, + world_summary, + creator_intent_summary, + anchor_summary: anchor_summary.as_str(), + existing_names: existing_character_names(draft_profile), + count, + prompt_seed, + }), + "generatedCharacters", + ), + "generate_landmarks" => ( + CUSTOM_WORLD_AGENT_LANDMARK_EXPANSION_SYSTEM_PROMPT, + build_custom_world_agent_landmark_expansion_prompt(ExpansionPromptParams { + world_name, + world_summary, + creator_intent_summary, + anchor_summary: anchor_summary.as_str(), + existing_names: existing_landmark_names(draft_profile), + count, + prompt_seed, + }), + "generatedLandmarks", + ), + _ => return Err(format!("unsupported generated entity action: {action}")), + }; + + let response = llm_client + .request_text(LlmTextRequest::new(vec![ + LlmMessage::system(system_prompt), + LlmMessage::user(user_prompt), + ])) + .await + .map_err(|error| format!("{action} LLM 请求失败:{error}"))?; + let generated_entities = parse_json_array_response(response.content.as_str()) + .map_err(|error| format!("{action} JSON 解析失败:{error}"))?; + let normalized_entities = + normalize_generated_entities(action, generated_entities, draft_profile, count); + let payload_json = + build_generated_entities_action_payload_json(payload, result_key, normalized_entities) + .map_err(|error| match error { + CustomWorldGeneratedEntitiesPayloadError::SerializePayload(message) => message, + CustomWorldGeneratedEntitiesPayloadError::InvalidPayloadShape => { + "action payload 必须是 object".to_string() + } + })?; + + Ok(CustomWorldGeneratedEntitiesResult { payload_json }) +} + +pub fn build_generated_entities_action_payload_json( + payload: &ExecuteCustomWorldAgentActionRequest, + result_key: &str, + generated_entities: Vec, +) -> Result { + let mut payload_value = serde_json::to_value(payload).map_err(|error| { + CustomWorldGeneratedEntitiesPayloadError::SerializePayload(format!( + "action payload JSON 序列化失败:{error}" + )) + })?; + let payload_object = payload_value + .as_object_mut() + .ok_or(CustomWorldGeneratedEntitiesPayloadError::InvalidPayloadShape)?; + if payload.action.trim() == "generate_characters" { + payload_object.insert( + "roleType".to_string(), + JsonValue::String(resolve_role_type(payload.role_type.as_deref()).to_string()), + ); + } + payload_object.insert(result_key.to_string(), JsonValue::Array(generated_entities)); + serde_json::to_string(&payload_value).map_err(|error| { + CustomWorldGeneratedEntitiesPayloadError::SerializePayload(format!( + "action payload JSON 序列化失败:{error}" + )) + }) +} + +struct ExpansionPromptParams<'a> { + world_name: &'a str, + world_summary: &'a str, + creator_intent_summary: &'a str, + anchor_summary: &'a str, + existing_names: Vec, + count: u32, + prompt_seed: &'a str, +} + +fn build_custom_world_agent_character_expansion_prompt( + params: ExpansionPromptParams<'_>, +) -> String { + [ + format!("当前世界:{}", params.world_name), + format!("世界摘要:{}", params.world_summary), + format!("创作意图摘要:{}", params.creator_intent_summary), + format!("参考锚点:{}", params.anchor_summary), + format!( + "已有角色:{}", + if params.existing_names.is_empty() { + "暂无".to_string() + } else { + params.existing_names.join("、") + } + ), + format!("数量:{}", params.count), + format!( + "补充要求:{}", + if params.prompt_seed.trim().is_empty() { + "没有额外要求,围绕当前底稿自然扩展。" + } else { + params.prompt_seed + } + ), + "返回 JSON 数组。每个对象字段只允许包含:name, role, publicMask, hiddenHook, relationToPlayer, summary, threadIds。".to_string(), + "threadIds 必须优先引用现有线程 id。".to_string(), + ] + .join("\n") +} + +fn build_custom_world_agent_landmark_expansion_prompt(params: ExpansionPromptParams<'_>) -> String { + [ + format!("当前世界:{}", params.world_name), + format!("世界摘要:{}", params.world_summary), + format!("创作意图摘要:{}", params.creator_intent_summary), + format!("参考锚点:{}", params.anchor_summary), + format!( + "已有地点:{}", + if params.existing_names.is_empty() { + "暂无".to_string() + } else { + params.existing_names.join("、") + } + ), + format!("数量:{}", params.count), + format!( + "补充要求:{}", + if params.prompt_seed.trim().is_empty() { + "没有额外要求,围绕当前底稿自然扩展。" + } else { + params.prompt_seed + } + ), + "返回 JSON 数组。每个对象字段只允许包含:name, purpose, mood, dangerLevel, secret, summary, threadIds, characterIds。".to_string(), + "threadIds / characterIds 必须优先引用现有对象 id。".to_string(), + ] + .join("\n") +} + +fn ensure_count(count: Option) -> u32 { + count.unwrap_or(1).clamp(1, 3) +} + +fn resolve_role_type(role_type: Option<&str>) -> &'static str { + match role_type.map(str::trim) { + Some("playable") => "playable", + _ => "story", + } +} + +fn parse_json_array_response(text: &str) -> Result, serde_json::Error> { + let trimmed = text.trim(); + if let Some(start) = trimmed.find('[') + && let Some(end) = trimmed.rfind(']') + && end >= start + { + return serde_json::from_str::>(&trimmed[start..=end]); + } + serde_json::from_str::>(trimmed) +} + +fn normalize_generated_entities( + action: &str, + entities: Vec, + draft_profile: &JsonMap, + count: u32, +) -> Vec { + let mut existing_names = if action == "generate_characters" { + existing_character_names(draft_profile) + } else { + existing_landmark_names(draft_profile) + }; + entities + .into_iter() + .filter_map(|entry| entry.as_object().cloned()) + .filter_map(|mut object| { + let name = object + .get("name") + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty())? + .to_string(); + if existing_names.iter().any(|entry| entry == &name) { + return None; + } + existing_names.push(name.clone()); + let prefix = if action == "generate_characters" { + "character" + } else { + "landmark" + }; + object.entry("id".to_string()).or_insert_with(|| { + JsonValue::String(create_stable_id( + prefix, + name.as_str(), + existing_names.len(), + )) + }); + normalize_generated_entity_profile_fields(action, &mut object); + Some(JsonValue::Object(object)) + }) + .take(count as usize) + .collect() +} + +fn normalize_generated_entity_profile_fields( + action: &str, + object: &mut JsonMap, +) { + if action == "generate_characters" { + normalize_generated_character_profile_fields(object); + } else { + normalize_generated_landmark_profile_fields(object); + } +} + +fn normalize_generated_character_profile_fields(object: &mut JsonMap) { + let name = read_object_text(object, "name").unwrap_or_else(|| "新场景角色".to_string()); + let role = read_object_text(object, "role").unwrap_or_else(|| "场景角色".to_string()); + let summary = read_first_object_text(object, &["description", "summary", "publicMask"]) + .unwrap_or_else(|| format!("{name}是围绕当前世界新补出的{role}。")); + let hidden_hook = read_object_text(object, "hiddenHook").unwrap_or_else(|| summary.clone()); + + insert_text_if_missing(object, "title", role.as_str()); + insert_text_if_missing(object, "description", summary.as_str()); + insert_text_if_missing(object, "backstory", hidden_hook.as_str()); + insert_text_if_missing(object, "personality", "待在后续互动中揭示"); + insert_text_if_missing(object, "motivation", hidden_hook.as_str()); + insert_text_if_missing(object, "combatStyle", "围绕自身身份采取行动"); + object + .entry("initialAffinity".to_string()) + .or_insert_with(|| JsonValue::Number(6.into())); + + if !object + .get("relationshipHooks") + .is_some_and(JsonValue::is_array) + { + let mut hooks = Vec::new(); + if let Some(relation) = read_object_text(object, "relationToPlayer") { + hooks.push(JsonValue::String(relation)); + } + if hooks.is_empty() { + hooks.push(JsonValue::String("等待玩家接触".to_string())); + } + object.insert("relationshipHooks".to_string(), JsonValue::Array(hooks)); + } + + if !object.get("tags").is_some_and(JsonValue::is_array) { + object.insert( + "tags".to_string(), + JsonValue::Array(vec![JsonValue::String(role)]), + ); + } +} + +fn normalize_generated_landmark_profile_fields(object: &mut JsonMap) { + let name = read_object_text(object, "name").unwrap_or_else(|| "新场景".to_string()); + let description = read_first_object_text(object, &["description", "summary", "purpose"]) + .unwrap_or_else(|| format!("{name}是围绕当前世界新补出的关键场景。")); + let mut description_parts = vec![description]; + for key in ["mood", "secret"] { + if let Some(text) = read_object_text(object, key) + && !description_parts.iter().any(|entry| entry == &text) + { + description_parts.push(text); + } + } + + insert_text_if_missing(object, "description", description_parts.join(" ").as_str()); + insert_text_if_missing(object, "dangerLevel", "中"); + object + .entry("connections".to_string()) + .or_insert_with(|| JsonValue::Array(Vec::new())); + + if !object.get("sceneNpcIds").is_some_and(JsonValue::is_array) { + let npc_ids = object + .get("characterIds") + .and_then(JsonValue::as_array) + .map(|items| { + items + .iter() + .filter_map(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(|value| JsonValue::String(value.to_string())) + .collect::>() + }) + .unwrap_or_default(); + object.insert("sceneNpcIds".to_string(), JsonValue::Array(npc_ids)); + } +} + +fn read_object_text(object: &JsonMap, key: &str) -> Option { + object + .get(key) + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(ToOwned::to_owned) +} + +fn read_first_object_text(object: &JsonMap, keys: &[&str]) -> Option { + keys.iter().find_map(|key| read_object_text(object, key)) +} + +fn insert_text_if_missing(object: &mut JsonMap, key: &str, value: &str) { + if read_object_text(object, key).is_none() { + object.insert(key.to_string(), JsonValue::String(value.to_string())); + } +} + +fn existing_character_names(draft_profile: &JsonMap) -> Vec { + ["playableNpcs", "storyNpcs"] + .into_iter() + .flat_map(|key| object_array_names(draft_profile.get(key))) + .take(10) + .collect() +} + +fn existing_landmark_names(draft_profile: &JsonMap) -> Vec { + object_array_names(draft_profile.get("landmarks")) + .into_iter() + .take(10) + .collect() +} + +fn object_array_names(value: Option<&JsonValue>) -> Vec { + value + .and_then(JsonValue::as_array) + .into_iter() + .flatten() + .filter_map(|entry| entry.get("name").and_then(JsonValue::as_str)) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(ToOwned::to_owned) + .collect() +} + +fn build_anchor_summary( + draft_profile: &JsonMap, + anchor_card_ids: &[String], +) -> String { + let selected = anchor_card_ids + .iter() + .filter_map(|card_id| find_anchor_summary(draft_profile, card_id)) + .collect::>(); + if !selected.is_empty() { + return selected.join(";"); + } + draft_profile + .get("summary") + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .unwrap_or("围绕当前世界底稿自然扩展。") + .to_string() +} + +fn find_anchor_summary( + draft_profile: &JsonMap, + card_id: &str, +) -> Option { + for key in ["playableNpcs", "storyNpcs", "landmarks", "threads"] { + for entry in draft_profile.get(key)?.as_array()? { + let object = entry.as_object()?; + let id = object + .get("id") + .and_then(JsonValue::as_str) + .unwrap_or_default(); + if id != card_id { + continue; + } + let name = object + .get("name") + .and_then(JsonValue::as_str) + .unwrap_or_default(); + let summary = object + .get("summary") + .or_else(|| object.get("description")) + .or_else(|| object.get("publicMask")) + .and_then(JsonValue::as_str) + .unwrap_or_default(); + return Some(format!("{name}:{summary}")); + } + } + None +} + +fn create_stable_id(prefix: &str, name: &str, index: usize) -> String { + let slug = name + .trim() + .to_lowercase() + .chars() + .map(|ch| { + if ch.is_ascii_alphanumeric() || ('\u{4e00}'..='\u{9fa5}').contains(&ch) { + ch + } else { + '-' + } + }) + .collect::() + .trim_matches('-') + .to_string(); + format!( + "{prefix}-{}-{index}", + if slug.is_empty() { + "entry" + } else { + slug.as_str() + } + ) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn character_expansion_prompt_keeps_node_contract_text() { + let prompt = build_custom_world_agent_character_expansion_prompt(ExpansionPromptParams { + world_name: "雾港归航", + world_summary: "守灯人追查旧案。", + creator_intent_summary: "悬疑航海", + anchor_summary: "旧灯塔:灯火错位", + existing_names: vec!["岑灯".to_string()], + count: 2, + prompt_seed: "补一个敌对角色", + }); + + assert!(prompt.contains("返回 JSON 数组。每个对象字段只允许包含:name, role, publicMask, hiddenHook, relationToPlayer, summary, threadIds。")); + assert!(prompt.contains("threadIds 必须优先引用现有线程 id。")); + } + + #[test] + fn generated_entities_payload_injects_expected_key() { + let payload = ExecuteCustomWorldAgentActionRequest { + action: "generate_landmarks".to_string(), + profile_id: None, + draft_profile: None, + legacy_result_profile: None, + setting_text: None, + card_id: None, + sections: None, + profile: None, + count: Some(1), + role_type: None, + prompt_text: Some("补地点".to_string()), + anchor_card_ids: None, + role_ids: None, + role_id: None, + portrait_path: None, + generated_visual_asset_id: None, + generated_animation_set_id: None, + animation_map: None, + scene_ids: None, + scene_id: None, + scene_kind: None, + image_src: None, + generated_scene_asset_id: None, + generated_scene_prompt: None, + generated_scene_model: None, + checkpoint_id: None, + }; + + let payload_json = build_generated_entities_action_payload_json( + &payload, + "generatedLandmarks", + vec![json!({ "name": "沉船湾" })], + ) + .expect("payload should build"); + let value = serde_json::from_str::(&payload_json).expect("payload should parse"); + + assert_eq!(value.get("action"), Some(&json!("generate_landmarks"))); + assert_eq!( + value + .get("generatedLandmarks") + .and_then(JsonValue::as_array) + .map(Vec::len), + Some(1) + ); + } + + #[test] + fn generated_character_payload_fills_result_profile_fields() { + let draft_profile = json!({ + "playableNpcs": [], + "storyNpcs": [], + "landmarks": [] + }); + let entities = normalize_generated_entities( + "generate_characters", + vec![json!({ + "name": "潮雾证人", + "role": "旧案目击者", + "publicMask": "总在码头边缘售卖旧航图。", + "hiddenHook": "他记得沉钟第一次响起时失踪的人。", + "relationToPlayer": "掌握玩家亲族旧案线索" + })], + draft_profile + .as_object() + .expect("draft profile should be object"), + 1, + ); + let character = entities[0] + .as_object() + .expect("generated character should be object"); + + assert_eq!( + character.get("description").and_then(JsonValue::as_str), + Some("总在码头边缘售卖旧航图。") + ); + assert_eq!( + character.get("backstory").and_then(JsonValue::as_str), + Some("他记得沉钟第一次响起时失踪的人。") + ); + assert_eq!( + character + .get("relationshipHooks") + .and_then(JsonValue::as_array) + .and_then(|items| items.first()) + .and_then(JsonValue::as_str), + Some("掌握玩家亲族旧案线索") + ); + } + + #[test] + fn generated_landmark_payload_fills_scene_profile_fields() { + let draft_profile = json!({ + "playableNpcs": [], + "storyNpcs": [{ "id": "character-witness", "name": "潮雾证人" }], + "landmarks": [] + }); + let entities = normalize_generated_entities( + "generate_landmarks", + vec![json!({ + "name": "沉钟码头", + "purpose": "玩家第一次追查沉钟旧案的入口。", + "mood": "潮湿、压抑、灯火忽明忽暗。", + "secret": "码头木桩下藏着改写航道的符牌。", + "dangerLevel": "高", + "characterIds": ["character-witness"] + })], + draft_profile + .as_object() + .expect("draft profile should be object"), + 1, + ); + let landmark = entities[0] + .as_object() + .expect("generated landmark should be object"); + + assert!( + landmark + .get("description") + .and_then(JsonValue::as_str) + .is_some_and(|text| text.contains("沉钟旧案") && text.contains("符牌")) + ); + assert_eq!( + landmark + .get("sceneNpcIds") + .and_then(JsonValue::as_array) + .and_then(|items| items.first()) + .and_then(JsonValue::as_str), + Some("character-witness") + ); + } +} diff --git a/server-rs/crates/api-server/src/custom_world_foundation_draft.rs b/server-rs/crates/api-server/src/custom_world_foundation_draft.rs index 4d095788..26fcba2f 100644 --- a/server-rs/crates/api-server/src/custom_world_foundation_draft.rs +++ b/server-rs/crates/api-server/src/custom_world_foundation_draft.rs @@ -19,24 +19,316 @@ pub async fn generate_custom_world_foundation_draft( llm_client: &LlmClient, session: &CustomWorldAgentSessionRecord, ) -> Result { - let system_prompt = build_foundation_draft_system_prompt(); - let user_prompt = build_foundation_draft_user_prompt(session); - let response = llm_client - .request_text(LlmTextRequest::new(vec![ - LlmMessage::system(system_prompt), - LlmMessage::user(user_prompt), - ])) - .await - .map_err(|error| format!("foundation draft LLM 请求失败:{error}"))?; - let parsed = parse_json_response_text(response.content.as_str()) - .map_err(|error| format!("foundation draft JSON 解析失败:{error}"))?; - let draft_profile = normalize_foundation_draft_profile(parsed, session); + let setting_text = build_foundation_generation_seed_text(session); + let mut framework = request_foundation_json_stage( + llm_client, + build_custom_world_framework_prompt(setting_text.as_str()), + "agent-foundation-framework", + |response_text| build_custom_world_framework_json_repair_prompt(response_text), + "agent-foundation-framework-json-repair", + "世界框架阶段没有返回有效内容。", + ) + .await?; + normalize_framework_shape(&mut framework, setting_text.as_str()); + + let playable_outlines = generate_foundation_role_outline_entries( + llm_client, + &framework, + "playable", + FOUNDATION_DRAFT_PLAYABLE_COUNT, + ) + .await?; + framework["playableNpcs"] = JsonValue::Array(playable_outlines.clone()); + + let story_outlines = generate_foundation_role_outline_entries( + llm_client, + &framework, + "story", + FOUNDATION_DRAFT_STORY_COUNT, + ) + .await?; + framework["storyNpcs"] = JsonValue::Array(story_outlines.clone()); + + let landmark_seeds = generate_foundation_landmark_seed_entries( + llm_client, + &framework, + FOUNDATION_DRAFT_LANDMARK_COUNT, + ) + .await?; + framework["landmarks"] = JsonValue::Array(landmark_seeds.clone()); + + let landmarks = expand_foundation_landmark_network_entries( + llm_client, + &framework, + &story_outlines, + &landmark_seeds, + ) + .await?; + framework["landmarks"] = JsonValue::Array(landmarks.clone()); + + let playable_narrative = expand_foundation_role_entries( + llm_client, + &framework, + "playable", + &playable_outlines, + "narrative", + ) + .await?; + let playable_detailed = expand_foundation_role_entries( + llm_client, + &framework, + "playable", + &playable_narrative, + "dossier", + ) + .await?; + let story_narrative = expand_foundation_role_entries( + llm_client, + &framework, + "story", + &story_outlines, + "narrative", + ) + .await?; + let story_detailed = expand_foundation_role_entries( + llm_client, + &framework, + "story", + &story_narrative, + "dossier", + ) + .await?; + + let draft_profile = build_foundation_draft_profile_from_framework( + framework, + playable_detailed, + story_detailed, + landmarks, + session, + setting_text.as_str(), + ); let draft_profile_json = serde_json::to_string(&JsonValue::Object(draft_profile)) .map_err(|error| format!("foundation draft JSON 序列化失败:{error}"))?; Ok(CustomWorldFoundationDraftResult { draft_profile_json }) } +const FOUNDATION_JSON_ONLY_SYSTEM_PROMPT: &str = "你是严格的世界草稿 JSON 生成器。\n只输出一个 JSON 对象,不要输出 Markdown、代码块、解释或额外文字。"; +const FOUNDATION_JSON_REPAIR_SYSTEM_PROMPT: &str = "你是 JSON 修复器。\n你会收到一段本应为单个 JSON 对象的文本。\n你的唯一任务是把它修复成能被 JSON.parse 直接解析的单个 JSON 对象。\n不要输出 Markdown、代码块、解释、注释或额外文字。"; +const FOUNDATION_DRAFT_PLAYABLE_COUNT: usize = 1; +const FOUNDATION_DRAFT_STORY_COUNT: usize = 8; +const FOUNDATION_DRAFT_LANDMARK_COUNT: usize = 2; +const FOUNDATION_ROLE_OUTLINE_BATCH_SIZE: usize = 2; +const FOUNDATION_LANDMARK_BATCH_SIZE: usize = 2; +const FOUNDATION_ROLE_DETAIL_BATCH_SIZE: usize = 2; +const CUSTOM_WORLD_BACKSTORY_CHAPTER_AFFINITIES: [i64; 4] = [15, 30, 60, 90]; + +async fn request_foundation_json_stage( + llm_client: &LlmClient, + user_prompt: String, + debug_label: &str, + repair_prompt_builder: F, + repair_debug_label: &str, + empty_response_message: &str, +) -> Result +where + F: Fn(&str) -> String, +{ + let response = llm_client + .request_text(LlmTextRequest::new(vec![ + LlmMessage::system(FOUNDATION_JSON_ONLY_SYSTEM_PROMPT), + LlmMessage::user(user_prompt), + ])) + .await + .map_err(|error| format!("{debug_label} LLM 请求失败:{error}"))?; + let text = response.content.trim(); + if text.is_empty() { + return Err(empty_response_message.to_string()); + } + match parse_json_response_text(text) { + Ok(value) => Ok(value), + Err(_) => { + let repaired = llm_client + .request_text(LlmTextRequest::new(vec![ + LlmMessage::system(FOUNDATION_JSON_REPAIR_SYSTEM_PROMPT), + LlmMessage::user(repair_prompt_builder(text)), + ])) + .await + .map_err(|error| format!("{repair_debug_label} LLM 请求失败:{error}"))?; + parse_json_response_text(repaired.content.as_str()) + .map_err(|error| format!("{repair_debug_label} JSON 解析失败:{error}")) + } + } +} + +async fn generate_foundation_role_outline_entries( + llm_client: &LlmClient, + framework: &JsonValue, + role_type: &str, + total_count: usize, +) -> Result, String> { + let mut merged_entries = Vec::new(); + let planned_batch_count = total_count + .div_ceil(FOUNDATION_ROLE_OUTLINE_BATCH_SIZE) + .max(1); + for batch_index in 0..planned_batch_count { + if merged_entries.len() >= total_count { + break; + } + let batch_count = + (total_count - merged_entries.len()).min(FOUNDATION_ROLE_OUTLINE_BATCH_SIZE); + let forbidden_names = names_from_entries(&merged_entries); + let raw = request_foundation_json_stage( + llm_client, + build_custom_world_role_outline_batch_prompt( + framework, + role_type, + batch_count, + &forbidden_names, + ), + format!( + "agent-foundation-{role_type}-outline-batch-{}", + batch_index + 1 + ) + .as_str(), + |response_text| { + build_custom_world_role_outline_batch_json_repair_prompt( + response_text, + role_type, + batch_count, + &forbidden_names, + ) + }, + format!( + "agent-foundation-{role_type}-outline-batch-{}-json-repair", + batch_index + 1 + ) + .as_str(), + "角色框架名单阶段没有返回有效内容。", + ) + .await?; + let key = role_key(role_type); + merged_entries.extend(array_field(&raw, key).into_iter().take(batch_count)); + } + Ok(merged_entries.into_iter().take(total_count).collect()) +} + +async fn generate_foundation_landmark_seed_entries( + llm_client: &LlmClient, + framework: &JsonValue, + total_count: usize, +) -> Result, String> { + let mut merged_entries = Vec::new(); + let planned_batch_count = total_count.div_ceil(FOUNDATION_LANDMARK_BATCH_SIZE).max(1); + for batch_index in 0..planned_batch_count { + if merged_entries.len() >= total_count { + break; + } + let batch_count = (total_count - merged_entries.len()).min(FOUNDATION_LANDMARK_BATCH_SIZE); + let forbidden_names = names_from_entries(&merged_entries); + let raw = request_foundation_json_stage( + llm_client, + build_custom_world_landmark_seed_batch_prompt(framework, batch_count, &forbidden_names), + format!("agent-foundation-landmark-seed-batch-{}", batch_index + 1).as_str(), + |response_text| { + build_custom_world_landmark_seed_batch_json_repair_prompt( + response_text, + batch_count, + &forbidden_names, + ) + }, + format!( + "agent-foundation-landmark-seed-batch-{}-json-repair", + batch_index + 1 + ) + .as_str(), + "地点框架名单阶段没有返回有效内容。", + ) + .await?; + merged_entries.extend(array_field(&raw, "landmarks").into_iter().take(batch_count)); + } + Ok(merged_entries.into_iter().take(total_count).collect()) +} + +async fn expand_foundation_landmark_network_entries( + llm_client: &LlmClient, + framework: &JsonValue, + story_npcs: &[JsonValue], + base_entries: &[JsonValue], +) -> Result, String> { + let mut merged_entries = Vec::new(); + for (batch_index, batch) in base_entries + .chunks(FOUNDATION_LANDMARK_BATCH_SIZE) + .enumerate() + { + let raw = request_foundation_json_stage( + llm_client, + build_custom_world_landmark_network_batch_prompt(framework, story_npcs, batch), + format!( + "agent-foundation-landmark-network-batch-{}", + batch_index + 1 + ) + .as_str(), + |response_text| { + build_custom_world_landmark_network_batch_json_repair_prompt( + response_text, + &names_from_entries(batch), + ) + }, + format!( + "agent-foundation-landmark-network-batch-{}-json-repair", + batch_index + 1 + ) + .as_str(), + "地点网络补全阶段没有返回有效内容。", + ) + .await?; + merged_entries.extend(array_field(&raw, "landmarks")); + } + Ok(merge_entries_by_name(base_entries, &merged_entries)) +} + +async fn expand_foundation_role_entries( + llm_client: &LlmClient, + framework: &JsonValue, + role_type: &str, + base_entries: &[JsonValue], + stage: &str, +) -> Result, String> { + let mut merged_entries = Vec::new(); + for (batch_index, batch) in base_entries + .chunks(FOUNDATION_ROLE_DETAIL_BATCH_SIZE) + .enumerate() + { + let expected_names = names_from_entries(batch); + let raw = request_foundation_json_stage( + llm_client, + build_custom_world_role_batch_prompt(framework, role_type, batch, stage), + format!( + "agent-foundation-{role_type}-{stage}-batch-{}", + batch_index + 1 + ) + .as_str(), + |response_text| { + build_custom_world_role_batch_json_repair_prompt( + response_text, + role_type, + stage, + &expected_names, + ) + }, + format!( + "agent-foundation-{role_type}-{stage}-batch-{}-json-repair", + batch_index + 1 + ) + .as_str(), + "角色档案补全阶段没有返回有效内容。", + ) + .await?; + merged_entries.extend(array_field(&raw, role_key(role_type))); + } + Ok(merge_entries_by_name(base_entries, &merged_entries)) +} // foundation draft 已经由 api-server 真实生成,落库前只负责把它注入现有 action payload。 pub fn build_draft_foundation_action_payload_json( payload: &ExecuteCustomWorldAgentActionRequest, @@ -70,21 +362,397 @@ pub fn build_draft_foundation_action_payload_json( }) } -fn build_foundation_draft_system_prompt() -> String { - [ - "你是 RPG 世界共创后端里的底稿编译器。", - "你的任务是根据当前会话已经确认的世界锚点,生成第一版“世界设定草稿” JSON。", - "必须只输出一个 JSON object,不要输出 markdown、解释、前后缀。", - "输出必须使用中文内容。", - "不要返回占位符,不要写“待补充”“略”“TBD”“placeholder”。", - "如果某些信息不完整,也要基于已知锚点给出一版合理、可继续精修的首稿。", - "字段必须至少包含:name、subtitle、summary、worldHook、playerPremise、coreConflicts、playableNpcs、storyNpcs、landmarks、chapters、sceneChapterBlueprints。", - "sceneChapterBlueprints 至少包含 1 个 chapter,且 chapter.acts 至少包含 1 个 act。", - "playableNpcs、storyNpcs、landmarks 可以是小规模首批关键对象,不要求长尾铺满。", +fn build_foundation_generation_seed_text(session: &CustomWorldAgentSessionRecord) -> String { + let anchor_text = build_eight_anchor_foundation_text(&session.anchor_content); + if !anchor_text.trim().is_empty() { + return anchor_text; + } + if let Some(summary) = session + .anchor_pack + .get("creatorIntentSummary") + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + { + return summary.to_string(); + } + let sections = [ + json_path_text(&session.creator_intent, &["worldHook"]) + .map(|value| format!("世界核心:{value}")), + json_path_text(&session.creator_intent, &["playerPremise"]) + .map(|value| format!("玩家身份:{value}")), + json_path_text(&session.creator_intent, &["openingSituation"]) + .map(|value| format!("开局处境:{value}")), + json_string_array(&session.creator_intent, "coreConflicts") + .map(|items| format!("核心冲突:{}", items.join("、"))), + json_string_array(&session.creator_intent, "iconicElements") + .map(|items| format!("标志元素:{}", items.join("、"))), ] - .join("\n") + .into_iter() + .flatten() + .collect::>() + .join("\n"); + if sections.trim().is_empty() { + session.seed_text.trim().to_string() + } else { + sections + } } +fn build_eight_anchor_foundation_text(anchor_content: &JsonValue) -> String { + let mut sections = Vec::new(); + for key in [ + "worldPromise", + "playerEntryPoint", + "coreLoop", + "mainConflict", + "keyCharacters", + "keyPlaces", + "toneAndStyle", + "firstScene", + ] { + if let Some(value) = anchor_content.get(key) + && !value.is_null() + { + sections.push(format!("{key}:{}", compact_json_text(value))); + } + } + sections.join("\n") +} + +fn build_custom_world_framework_prompt(setting_text: &str) -> String { + [ + "请先根据下面的玩家设定创建一份“世界核心骨架”,后续我会分步骤生成角色名单、场景名单和详细档案。".to_string(), + "你必须只输出一个能被 JSON.parse 直接解析的 JSON 对象,不要输出 Markdown、代码块、注释或解释。".to_string(), + "这一步只保留世界顶层信息与一个开局归处场景,不要输出 playableNpcs、storyNpcs、landmarks,也不要展开人物和地图细节。".to_string(), + "玩家设定:".to_string(), + setting_text.trim().to_string(), + "".to_string(), + "输出 JSON 模板:".to_string(), + "{".to_string(), + " \"name\": \"世界名称\",".to_string(), + " \"subtitle\": \"世界副标题\",".to_string(), + " \"summary\": \"世界概述\",".to_string(), + " \"tone\": \"世界基调\",".to_string(), + " \"playerGoal\": \"玩家核心目标\",".to_string(), + " \"templateWorldType\": \"WUXIA|XIANXIA\",".to_string(), + " \"majorFactions\": [\"势力甲\", \"势力乙\"],".to_string(), + " \"coreConflicts\": [\"冲突甲\", \"冲突乙\"],".to_string(), + " \"camp\": {".to_string(), + " \"name\": \"开局归处名称\",".to_string(), + " \"description\": \"这是玩家进入世界后的第一处落脚点描述\",".to_string(), + " \"dangerLevel\": \"low|medium|high|extreme\"".to_string(), + " }".to_string(), + "}".to_string(), + "".to_string(), + "要求:".to_string(), + "- 所有生成文本都必须使用中文。".to_string(), + "- 这一步只输出顶层 9 个字段:name、subtitle、summary、tone、playerGoal、templateWorldType、majorFactions、coreConflicts、camp。".to_string(), + "- 这是一个完全独立的自定义世界;不要在任何正文里直接写出“武侠世界”“仙侠世界”等现成世界名。".to_string(), + "- templateWorldType 只是系统兼容字段,不代表正文应当引用的世界名称。".to_string(), + "- camp 必须表示玩家开局时的落脚处,名字不要直接写成“某某营地”,更接近归舍、住处、栖居、前哨居所这类“家/归处”的概念。".to_string(), + "- 不要输出 playableNpcs、storyNpcs、landmarks、items,也不要输出任何角色和地图细节。".to_string(), + "- majorFactions 保持 2 到 3 个,coreConflicts 保持 2 到 3 个。".to_string(), + "- 世界设定必须直接源自玩家输入,不要脱离主题乱扩写。".to_string(), + "- 每个字符串尽量简洁:subtitle 控制在 8 到 18 个汉字内,summary 控制在 16 到 32 个汉字内,tone 控制在 6 到 16 个汉字内,playerGoal 控制在 16 到 32 个汉字内,camp.description 控制在 18 到 40 个汉字内。".to_string(), + "- 返回前自检:必须是一个能被 JSON.parse 直接解析的单个 JSON 对象。".to_string(), + ].join("\n") +} + +fn build_custom_world_framework_json_repair_prompt(response_text: &str) -> String { + [ + "下面这段文本本应是自定义世界核心骨架的单个 JSON 对象,但当前不能被 JSON.parse 直接解析。", + "请只输出修复后的 JSON 对象。", + "顶层必须只包含:name、subtitle、summary、tone、playerGoal、templateWorldType、majorFactions、coreConflicts、camp。", + "不要输出 playableNpcs、storyNpcs、landmarks、items 或任何其他字段。", + "majorFactions 与 coreConflicts 必须是字符串数组。", + "camp 必须是对象,且包含:name、description、dangerLevel。", + "原始文本:", + response_text.trim(), + ].join("\n") +} + +fn build_custom_world_role_outline_batch_prompt( + framework: &JsonValue, + role_type: &str, + batch_count: usize, + forbidden_names: &[String], +) -> String { + let key = role_key(role_type); + let label = if role_type == "playable" { + "可扮演角色" + } else { + "场景角色" + }; + [ + format!("请根据下面的世界核心信息,生成一批{label}框架名单。"), + "后续我会继续补全人物档案,所以这一步每个角色只保留最少字段。".to_string(), + "你必须只输出一个能被 JSON.parse 直接解析的 JSON 对象,不要输出 Markdown、代码块、注释或解释。".to_string(), + "世界核心信息:".to_string(), + build_framework_summary_text(framework, 0), + if forbidden_names.is_empty() { "".to_string() } else { format!("这些名字已经生成,禁止重复:{}", forbidden_names.join("、")) }, + "".to_string(), + "输出 JSON 模板:".to_string(), + "{".to_string(), + format!(" \"{key}\": ["), + " {".to_string(), + " \"name\": \"角色名称\",".to_string(), + " \"title\": \"称号\",".to_string(), + " \"role\": \"身份\",".to_string(), + " \"description\": \"极简定位描述\",".to_string(), + " \"initialAffinity\": 18,".to_string(), + " \"relationshipHooks\": [\"一个关系切入口\"],".to_string(), + " \"tags\": [\"标签1\", \"标签2\"]".to_string(), + " }".to_string(), + " ]".to_string(), + "}".to_string(), + "".to_string(), + "要求:".to_string(), + format!("- 必须生成恰好 {batch_count} 个{label}。"), + "- 这是一个完全独立的自定义世界;不要把角色写成来自“武侠世界”“仙侠世界”等现成世界。".to_string(), + "- 名称必须具体且互不重复,不要使用 角色1、NPC1、场景角色1 之类的占位名。".to_string(), + "- 只保留:name、title、role、description、initialAffinity、relationshipHooks、tags。".to_string(), + "- relationshipHooks 最多 1 条;tags 保持 1 到 2 个。".to_string(), + "- description 控制在 8 到 18 个汉字内,title 和 role 也尽量短。".to_string(), + "- initialAffinity 必须是 -40 到 90 的整数。".to_string(), + if role_type == "playable" { "- 可扮演角色的定位必须明显不同,通常使用 18 到 40 的初始好感。".to_string() } else { "- 场景角色要覆盖势力成员、居民、异类或怪物,不要全是同一种身份;敌对或怪物型角色可以使用负好感。".to_string() }, + "- 所有生成文本都必须使用中文。".to_string(), + "- 返回前自检:必须是一个能被 JSON.parse 直接解析的单个 JSON 对象。".to_string(), + ].into_iter().filter(|value| !value.is_empty()).collect::>().join("\n") +} + +fn build_custom_world_role_outline_batch_json_repair_prompt( + response_text: &str, + role_type: &str, + expected_count: usize, + forbidden_names: &[String], +) -> String { + let key = role_key(role_type); + [ + format!("下面这段文本本应是自定义世界{}框架名单批次的单个 JSON 对象,但当前不能被 JSON.parse 直接解析。", if role_type == "playable" { "可扮演角色" } else { "场景角色" }), + "请只输出修复后的 JSON 对象。".to_string(), + format!("顶层必须只包含一个 {key} 数组。"), + format!("必须保留恰好 {expected_count} 个角色对象。"), + if forbidden_names.is_empty() { "".to_string() } else { format!("禁止使用这些重复名:{}。", forbidden_names.join("、")) }, + "每个角色只包含:name、title、role、description、initialAffinity、relationshipHooks、tags。".to_string(), + "如果缺少字段:字符串补空字符串,relationshipHooks 和 tags 补空数组,initialAffinity 补默认整数。".to_string(), + "不要输出 backstory、skills、landmarks 或任何其他字段。".to_string(), + "原始文本:".to_string(), + response_text.trim().to_string(), + ].into_iter().filter(|value| !value.is_empty()).collect::>().join("\n") +} +fn build_custom_world_landmark_seed_batch_prompt( + framework: &JsonValue, + batch_count: usize, + forbidden_names: &[String], +) -> String { + [ + "请根据下面的世界核心信息,生成一批关键场景框架名单。".to_string(), + "后续我会继续补全场景网络,所以这一步每个地点只保留最少字段。".to_string(), + "你必须只输出一个能被 JSON.parse 直接解析的 JSON 对象,不要输出 Markdown、代码块、注释或解释。".to_string(), + "世界核心信息:".to_string(), + build_framework_summary_text(framework, 0), + if forbidden_names.is_empty() { "".to_string() } else { format!("这些地点已经生成,禁止重复:{}", forbidden_names.join("、")) }, + "".to_string(), + "输出 JSON 模板:".to_string(), + "{".to_string(), + " \"landmarks\": [".to_string(), + " {".to_string(), + " \"name\": \"场景名称\",".to_string(), + " \"description\": \"场景极简描述\",".to_string(), + " \"dangerLevel\": \"low|medium|high|extreme\"".to_string(), + " }".to_string(), + " ]".to_string(), + "}".to_string(), + "".to_string(), + "要求:".to_string(), + format!("- 必须生成恰好 {batch_count} 个关键场景。"), + "- 这是一个完全独立的自定义世界;地点名称必须直接服务玩家输入主题。".to_string(), + "- 名称必须具体且互不重复,不要使用 地点1、场景1 之类的占位名。".to_string(), + "- 每个地点只保留:name、description、dangerLevel。".to_string(), + "- description 控制在 12 到 24 个汉字内。".to_string(), + "- dangerLevel 只能是 low、medium、high、extreme 之一。".to_string(), + "- 所有生成文本都必须使用中文。".to_string(), + "- 返回前自检:必须是一个能被 JSON.parse 直接解析的单个 JSON 对象。".to_string(), + ].into_iter().filter(|value| !value.is_empty()).collect::>().join("\n") +} + +fn build_custom_world_landmark_seed_batch_json_repair_prompt( + response_text: &str, + expected_count: usize, + forbidden_names: &[String], +) -> String { + [ + "下面这段文本本应是自定义世界关键场景框架名单批次的单个 JSON 对象,但当前不能被 JSON.parse 直接解析。".to_string(), + "请只输出修复后的 JSON 对象。".to_string(), + "顶层必须只包含一个 landmarks 数组。".to_string(), + format!("必须保留恰好 {expected_count} 个地点对象。"), + if forbidden_names.is_empty() { "".to_string() } else { format!("禁止使用这些重复名:{}。", forbidden_names.join("、")) }, + "每个地点只包含:name、description、dangerLevel。".to_string(), + "如果缺少字段:字符串补空字符串,dangerLevel 补 medium。".to_string(), + "不要输出 sceneNpcNames、connectedLandmarks、items 或任何其他字段。".to_string(), + "原始文本:".to_string(), + response_text.trim().to_string(), + ].into_iter().filter(|value| !value.is_empty()).collect::>().join("\n") +} + +fn build_custom_world_landmark_network_batch_prompt( + framework: &JsonValue, + story_npcs: &[JsonValue], + landmark_batch: &[JsonValue], +) -> String { + [ + "请补全下面这一批关键场景的探索网络信息。".to_string(), + "你必须只输出一个能被 JSON.parse 直接解析的 JSON 对象,不要输出 Markdown、代码块、注释或解释。".to_string(), + "世界核心信息:".to_string(), + build_framework_summary_text(framework, 10), + "可用场景角色名单:".to_string(), + names_from_entries(story_npcs).join("、"), + "本批场景:".to_string(), + compact_json_text(&JsonValue::Array(landmark_batch.to_vec())), + "".to_string(), + "输出 JSON 模板:".to_string(), + "{".to_string(), + " \"landmarks\": [".to_string(), + " {".to_string(), + " \"name\": \"场景名称\",".to_string(), + " \"description\": \"场景描述\",".to_string(), + " \"dangerLevel\": \"low|medium|high|extreme\",".to_string(), + " \"sceneNpcNames\": [\"会在这里出现的角色名\"],".to_string(), + " \"connectedLandmarkNames\": [\"相邻或可通往的地点名\"],".to_string(), + " \"entryHook\": \"玩家进入这里时首先遇到的钩子\"".to_string(), + " }".to_string(), + " ]".to_string(), + "}".to_string(), + "".to_string(), + "要求:".to_string(), + "- 必须只补全本批场景,name 必须与本批场景完全一致,不得增删改名。".to_string(), + "- sceneNpcNames 只能引用上方可用场景角色名单中的名字,每个地点 1 到 3 个。".to_string(), + "- connectedLandmarkNames 优先引用已知关键场景名称,每个地点 1 到 3 个。".to_string(), + "- entryHook 控制在 16 到 36 个汉字内。".to_string(), + "- 所有生成文本都必须使用中文。".to_string(), + "- 返回前自检:必须是一个能被 JSON.parse 直接解析的单个 JSON 对象。".to_string(), + ].into_iter().filter(|value| !value.is_empty()).collect::>().join("\n") +} + +fn build_custom_world_landmark_network_batch_json_repair_prompt( + response_text: &str, + expected_names: &[String], +) -> String { + [ + "下面这段文本本应是自定义世界关键场景探索网络补全批次的单个 JSON 对象,但当前不能被 JSON.parse 直接解析。".to_string(), + "请只输出修复后的 JSON 对象。".to_string(), + "顶层必须只包含一个 landmarks 数组。".to_string(), + format!("这个数组里只能保留这些地点名:{}。", expected_names.join("、")), + "名称必须与名单完全一致,不得增删改名;如果原文遗漏,可按名单顺序补齐占位对象。".to_string(), + "每个地点都必须包含:name、description、dangerLevel、sceneNpcNames、connectedLandmarkNames、entryHook。".to_string(), + "如果缺少字段:字符串补空字符串,数组补空数组,dangerLevel 补 medium。".to_string(), + "不要新增名单外的地点。".to_string(), + "原始文本:".to_string(), + response_text.trim().to_string(), + ].join("\n") +} + +fn build_custom_world_role_batch_prompt( + framework: &JsonValue, + role_type: &str, + role_batch: &[JsonValue], + stage: &str, +) -> String { + let key = role_key(role_type); + let label = if role_type == "playable" { + "可扮演角色" + } else { + "场景角色" + }; + let stage_label = if stage == "narrative" { + "叙事档案" + } else { + "养成档案" + }; + let required_fields = if stage == "narrative" { + "name、backstory、personality、motivation、combatStyle" + } else { + "name、backstoryReveal、skills、initialItems" + }; + let template_extra = if stage == "narrative" { + [ + " \"backstory\": \"公开背景\",", + " \"personality\": \"性格关键词\",", + " \"motivation\": \"当前动机\",", + " \"combatStyle\": \"行动或战斗风格\"", + ] + .join("\n") + } else { + [ + " \"backstoryReveal\": { \"publicSummary\": \"公开摘要\", \"chapters\": [{ \"affinityRequired\": 15, \"title\": \"羁绊章节\", \"summary\": \"章节摘要\" }] },", + " \"skills\": [{ \"name\": \"技能名\", \"summary\": \"技能摘要\", \"style\": \"风格\" }],", + " \"initialItems\": [{ \"name\": \"物品名\", \"category\": \"道具\", \"quantity\": 1, \"rarity\": \"common\", \"description\": \"描述\", \"tags\": [\"标签\"] }]", + ].join("\n") + }; + [ + format!("请为下面这一批{label}补全{stage_label}。"), + "你必须只输出一个能被 JSON.parse 直接解析的 JSON 对象,不要输出 Markdown、代码块、注释或解释。".to_string(), + "世界核心信息:".to_string(), + build_framework_summary_text(framework, 10), + "本批角色:".to_string(), + build_role_outline_prompt_text(role_batch, framework, role_type), + "".to_string(), + "输出 JSON 模板:".to_string(), + "{".to_string(), + format!(" \"{key}\": ["), + " {".to_string(), + " \"name\": \"角色名称\",".to_string(), + template_extra, + " }".to_string(), + " ]".to_string(), + "}".to_string(), + "".to_string(), + "要求:".to_string(), + "- 必须只补全本批角色,name 必须与本批角色完全一致,不得增删改名。".to_string(), + format!("- 每个角色必须包含:{required_fields}。"), + if stage == "narrative" { "- backstory 控制在 32 到 80 个汉字内;personality、motivation、combatStyle 都要短而具体。".to_string() } else { format!("- backstoryReveal 必须包含 publicSummary 和 4 个 chapters,chapters.affinityRequired 固定为 {}。", CUSTOM_WORLD_BACKSTORY_CHAPTER_AFFINITIES.iter().map(i64::to_string).collect::>().join("、")) }, + if stage == "narrative" { "- 不要输出 backstoryReveal、skills、initialItems。".to_string() } else { "- skills 默认 3 个;initialItems 默认 3 个;不要输出 backstory、personality、motivation、combatStyle。".to_string() }, + "- 所有生成文本都必须使用中文。".to_string(), + "- 返回前自检:必须是一个能被 JSON.parse 直接解析的单个 JSON 对象。".to_string(), + ].into_iter().filter(|value| !value.is_empty()).collect::>().join("\n") +} + +fn build_custom_world_role_batch_json_repair_prompt( + response_text: &str, + role_type: &str, + stage: &str, + expected_names: &[String], +) -> String { + let key = role_key(role_type); + if stage == "narrative" { + return [ + format!("下面这段文本本应是自定义世界{}叙事档案补全批次的单个 JSON 对象,但当前不能被 JSON.parse 直接解析。", if role_type == "playable" { "可扮演角色" } else { "场景角色" }), + "请只输出修复后的 JSON 对象。".to_string(), + format!("顶层必须只包含一个 {key} 数组。"), + format!("这个数组里只能保留这些角色名:{}。", expected_names.join("、")), + "名称必须与名单完全一致,不得增删改名;如果原文遗漏,可按名单顺序补齐占位对象。".to_string(), + "每个角色都必须包含:name、backstory、personality、motivation、combatStyle。".to_string(), + "如果缺少字段:字符串补空字符串。".to_string(), + "不要输出 backstoryReveal、skills、initialItems,也不要新增名单外的角色。".to_string(), + "原始文本:".to_string(), + response_text.trim().to_string(), + ].join("\n"); + } + [ + format!("下面这段文本本应是自定义世界{}档案补全批次的单个 JSON 对象,但当前不能被 JSON.parse 直接解析。", if role_type == "playable" { "可扮演角色" } else { "场景角色" }), + "请只输出修复后的 JSON 对象。".to_string(), + format!("顶层必须只包含一个 {key} 数组。"), + format!("这个数组里只能保留这些角色名:{}。", expected_names.join("、")), + "名称必须与名单完全一致,不得增删改名;如果原文遗漏,可按名单顺序补齐占位对象。".to_string(), + "每个角色都必须包含:name、backstoryReveal、skills、initialItems。".to_string(), + format!("backstoryReveal 必须包含 publicSummary 和 4 个 chapters,chapters.affinityRequired 固定为 {}。", CUSTOM_WORLD_BACKSTORY_CHAPTER_AFFINITIES.iter().map(i64::to_string).collect::>().join("、")), + "skills 默认补成 3 个对象,每个对象包含 name、summary、style;initialItems 默认补成 3 个对象,每个对象包含 name、category、quantity、rarity、description、tags。".to_string(), + "不要输出 backstory、personality、motivation、combatStyle、landmarks,也不要新增名单外的角色。".to_string(), + "原始文本:".to_string(), + response_text.trim().to_string(), + ].join("\n") +} fn build_foundation_draft_user_prompt(session: &CustomWorldAgentSessionRecord) -> String { let anchor_content = to_pretty_json(&session.anchor_content); let creator_intent = to_pretty_json(&session.creator_intent); @@ -121,6 +789,346 @@ fn build_foundation_draft_user_prompt(session: &CustomWorldAgentSessionRecord) - .join("\n\n") } +fn build_foundation_draft_profile_from_framework( + framework: JsonValue, + playable_detailed: Vec, + story_detailed: Vec, + landmarks: Vec, + session: &CustomWorldAgentSessionRecord, + setting_text: &str, +) -> JsonMap { + let mut object = JsonMap::new(); + object.insert( + "name".to_string(), + JsonValue::String( + json_text(&framework, "name") + .unwrap_or_else(|| derive_world_name(&JsonMap::new(), session)), + ), + ); + object.insert( + "subtitle".to_string(), + JsonValue::String( + json_text(&framework, "subtitle").unwrap_or_else(|| "世界底稿已生成".to_string()), + ), + ); + object.insert( + "summary".to_string(), + JsonValue::String( + json_text(&framework, "summary").unwrap_or_else(|| setting_text.to_string()), + ), + ); + object.insert( + "tone".to_string(), + JsonValue::String(json_text(&framework, "tone").unwrap_or_default()), + ); + object.insert( + "playerGoal".to_string(), + JsonValue::String(json_text(&framework, "playerGoal").unwrap_or_default()), + ); + object.insert( + "worldHook".to_string(), + JsonValue::String( + json_text(&framework, "summary") + .unwrap_or_else(|| derive_world_hook(&JsonMap::new(), session)), + ), + ); + object.insert( + "playerPremise".to_string(), + JsonValue::String( + json_text(&framework, "playerGoal") + .unwrap_or_else(|| derive_player_premise(&JsonMap::new(), session)), + ), + ); + object.insert( + "settingText".to_string(), + JsonValue::String(setting_text.to_string()), + ); + object.insert( + "templateWorldType".to_string(), + JsonValue::String( + json_text(&framework, "templateWorldType").unwrap_or_else(|| "WUXIA".to_string()), + ), + ); + object.insert( + "majorFactions".to_string(), + framework + .get("majorFactions") + .cloned() + .unwrap_or_else(|| JsonValue::Array(Vec::new())), + ); + object.insert( + "coreConflicts".to_string(), + framework.get("coreConflicts").cloned().unwrap_or_else(|| { + JsonValue::Array(vec![JsonValue::String( + "核心冲突仍需继续深化,但已经具备第一版主线推进方向。".to_string(), + )]) + }), + ); + object.insert("camp".to_string(), framework.get("camp").cloned().unwrap_or_else(|| json!({ "name": "开局归处", "description": "玩家进入世界后的第一处落脚点。", "dangerLevel": "low" }))); + object.insert( + "playableNpcs".to_string(), + JsonValue::Array(playable_detailed), + ); + object.insert("storyNpcs".to_string(), JsonValue::Array(story_detailed)); + object.insert("landmarks".to_string(), JsonValue::Array(landmarks)); + object.insert("chapters".to_string(), JsonValue::Array(Vec::new())); + normalize_foundation_draft_profile(JsonValue::Object(object), session) +} + +fn normalize_framework_shape(framework: &mut JsonValue, setting_text: &str) { + if !framework.is_object() { + *framework = json!({}); + } + let object = framework + .as_object_mut() + .expect("framework object should exist"); + for key in [ + "name", + "subtitle", + "summary", + "tone", + "playerGoal", + "templateWorldType", + ] { + let value = object + .get(key) + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .unwrap_or_default() + .to_string(); + if value.is_empty() { + object.insert( + key.to_string(), + JsonValue::String(if key == "summary" { + setting_text.to_string() + } else { + String::new() + }), + ); + } + } + if !object.get("majorFactions").is_some_and(JsonValue::is_array) { + object.insert("majorFactions".to_string(), JsonValue::Array(Vec::new())); + } + if !object.get("coreConflicts").is_some_and(JsonValue::is_array) { + object.insert("coreConflicts".to_string(), JsonValue::Array(Vec::new())); + } + if !object.get("camp").is_some_and(JsonValue::is_object) { + object.insert("camp".to_string(), json!({ "name": "开局归处", "description": "玩家进入世界后的第一处落脚点。", "dangerLevel": "low" })); + } +} + +fn build_framework_summary_text(framework: &JsonValue, max_landmarks: usize) -> String { + let landmark_text = array_field(framework, "landmarks") + .into_iter() + .take(max_landmarks) + .map(|landmark| { + format!( + "{}({},{})", + json_text(&landmark, "name").unwrap_or_default(), + json_text(&landmark, "dangerLevel").unwrap_or_default(), + json_text(&landmark, "description").unwrap_or_default() + ) + }) + .filter(|value| !value.trim().is_empty()) + .collect::>() + .join("、"); + [ + format!("世界:{}", json_text(framework, "name").unwrap_or_default()), + format!( + "副标题:{}", + json_text(framework, "subtitle").unwrap_or_default() + ), + format!( + "世界概述:{}", + json_text(framework, "summary").unwrap_or_default() + ), + format!( + "世界基调:{}", + json_text(framework, "tone").unwrap_or_default() + ), + format!( + "玩家核心目标:{}", + json_text(framework, "playerGoal").unwrap_or_default() + ), + json_string_array(framework, "majorFactions") + .map(|items| format!("主要势力:{}", items.join("、"))) + .unwrap_or_default(), + json_string_array(framework, "coreConflicts") + .map(|items| format!("核心冲突:{}", items.join("、"))) + .unwrap_or_default(), + format!( + "开局归处:{}({})", + json_path_text(framework, &["camp", "name"]).unwrap_or_default(), + json_path_text(framework, &["camp", "description"]).unwrap_or_default() + ), + if landmark_text.is_empty() { + String::new() + } else { + format!("关键场景:{landmark_text}") + }, + ] + .into_iter() + .filter(|value| !value.is_empty()) + .collect::>() + .join("\n") +} + +fn build_role_outline_prompt_text( + role_batch: &[JsonValue], + framework: &JsonValue, + role_type: &str, +) -> String { + role_batch + .iter() + .map(|role| { + let appearance_text = if role_type == "story" { + landmark_names_for_role( + framework, + json_text(role, "name").unwrap_or_default().as_str(), + ) + .join("、") + } else { + String::new() + }; + [ + format!( + "- {} / {}", + json_text(role, "name").unwrap_or_default(), + json_text(role, "title").unwrap_or_default() + ), + format!("身份:{}", json_text(role, "role").unwrap_or_default()), + format!( + "框架描述:{}", + json_text(role, "description").unwrap_or_default() + ), + format!( + "预设好感:{}", + role.get("initialAffinity") + .and_then(JsonValue::as_i64) + .unwrap_or(0) + ), + json_string_array(role, "relationshipHooks") + .map(|items| format!("关系切入口:{}", items.join("、"))) + .unwrap_or_default(), + json_string_array(role, "tags") + .map(|items| format!("标签:{}", items.join("、"))) + .unwrap_or_default(), + if appearance_text.is_empty() { + String::new() + } else { + format!("出现场景:{appearance_text}") + }, + ] + .into_iter() + .filter(|value| !value.is_empty()) + .collect::>() + .join("\n") + }) + .collect::>() + .join("\n") +} + +fn landmark_names_for_role(framework: &JsonValue, role_name: &str) -> Vec { + array_field(framework, "landmarks") + .into_iter() + .filter_map(|landmark| { + let names = json_string_array(&landmark, "sceneNpcNames").unwrap_or_default(); + if names.iter().any(|name| name == role_name) { + json_text(&landmark, "name") + } else { + None + } + }) + .collect() +} + +fn role_key(role_type: &str) -> &'static str { + if role_type == "playable" { + "playableNpcs" + } else { + "storyNpcs" + } +} + +fn array_field(value: &JsonValue, key: &str) -> Vec { + value + .get(key) + .and_then(JsonValue::as_array) + .cloned() + .unwrap_or_default() +} + +fn names_from_entries(entries: &[JsonValue]) -> Vec { + entries + .iter() + .filter_map(|entry| json_text(entry, "name")) + .filter(|value| !value.is_empty()) + .collect() +} + +fn merge_entries_by_name( + base_entries: &[JsonValue], + patch_entries: &[JsonValue], +) -> Vec { + base_entries + .iter() + .map(|base| { + let Some(name) = json_text(base, "name") else { + return base.clone(); + }; + let patch = patch_entries + .iter() + .find(|entry| json_text(entry, "name").as_deref() == Some(name.as_str())); + merge_json_objects(base, patch.unwrap_or(base)) + }) + .collect() +} + +fn merge_json_objects(base: &JsonValue, patch: &JsonValue) -> JsonValue { + let mut object = base.as_object().cloned().unwrap_or_default(); + if let Some(patch_object) = patch.as_object() { + for (key, value) in patch_object { + if !value.is_null() { + object.insert(key.clone(), value.clone()); + } + } + } + JsonValue::Object(object) +} + +fn json_text(value: &JsonValue, key: &str) -> Option { + json_path_text(value, &[key]) +} + +fn json_path_text(value: &JsonValue, path: &[&str]) -> Option { + let mut current = value; + for segment in path { + current = current.get(*segment)?; + } + current + .as_str() + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(ToOwned::to_owned) +} + +fn json_string_array(value: &JsonValue, key: &str) -> Option> { + let items = value + .get(key)? + .as_array()? + .iter() + .filter_map(|entry| entry.as_str().map(str::trim)) + .filter(|entry| !entry.is_empty()) + .map(ToOwned::to_owned) + .collect::>(); + if items.is_empty() { None } else { Some(items) } +} + +fn compact_json_text(value: &JsonValue) -> String { + serde_json::to_string(value).unwrap_or_else(|_| "null".to_string()) +} fn normalize_foundation_draft_profile( value: JsonValue, session: &CustomWorldAgentSessionRecord, @@ -399,6 +1407,7 @@ fn is_non_null_json(value: &JsonValue) -> bool { #[cfg(test)] mod tests { use std::{ + collections::VecDeque, io::{Read, Write}, net::TcpListener, sync::{Arc, Mutex}, @@ -432,6 +1441,7 @@ mod tests { sections: None, profile: None, count: None, + role_type: None, prompt_text: Some("补充提示".to_string()), anchor_card_ids: Some(vec!["card-1".to_string()]), role_ids: None, @@ -473,11 +1483,47 @@ mod tests { #[tokio::test] async fn generate_custom_world_foundation_draft_uses_seed_text_and_normalizes_fields() { - let request_capture = Arc::new(Mutex::new(String::new())); + let request_capture = Arc::new(Mutex::new(Vec::new())); let server_url = spawn_mock_server( request_capture.clone(), - r#"{"id":"resp_01","choices":[{"message":{"content":"{\"name\":\"雾港归航\",\"coreConflicts\":[\"守灯塔的旧档案被人改写。\"]}"}}]}"# - .to_string(), + vec![ + llm_response( + r#"{"name":"雾港归航","subtitle":"失灯旧案","summary":"守灯人与群岛议会围绕沉船旧案对峙。","tone":"海雾悬疑","playerGoal":"查清父亲沉船真相","templateWorldType":"WUXIA","majorFactions":["群岛议会","灯塔署"],"coreConflicts":["守灯塔的旧档案被人改写。"],"camp":{"name":"旧灯塔归舍","description":"海雾边缘的守灯人旧居。","dangerLevel":"low"}}"#, + ), + llm_response( + r#"{"playableNpcs":[{"name":"岑灯","title":"返乡守灯人","role":"主角代理","description":"追查旧案的人","initialAffinity":24,"relationshipHooks":["旧案牵连"],"tags":["守灯人"]}]}"#, + ), + llm_response( + r#"{"storyNpcs":[{"name":"议长甲","title":"群岛议长","role":"遮掩者","description":"压住旧档的人","initialAffinity":-10,"relationshipHooks":["旧档案"],"tags":["议会"]},{"name":"潮医乙","title":"潮汐医师","role":"证人","description":"知道沉船伤痕","initialAffinity":20,"relationshipHooks":["救治记录"],"tags":["证人"]}]}"#, + ), + llm_response( + r#"{"storyNpcs":[{"name":"雾商丙","title":"雾港商人","role":"中间人","description":"贩卖航线的人","initialAffinity":5,"relationshipHooks":["伪造海图"],"tags":["商人"]},{"name":"灯童丁","title":"灯塔学徒","role":"目击者","description":"听见夜钟的人","initialAffinity":30,"relationshipHooks":["夜钟"],"tags":["学徒"]}]}"#, + ), + llm_response( + r#"{"storyNpcs":[{"name":"船魂戊","title":"沉船残魂","role":"异类","description":"困在潮声里","initialAffinity":-20,"relationshipHooks":["沉船真相"],"tags":["异类"]},{"name":"巡海己","title":"巡海队长","role":"追捕者","description":"封锁海岸线","initialAffinity":-15,"relationshipHooks":["封锁令"],"tags":["巡海"]}]}"#, + ), + llm_response( + r#"{"storyNpcs":[{"name":"档吏庚","title":"旧档吏","role":"保管者","description":"藏起原始卷宗","initialAffinity":10,"relationshipHooks":["原始卷宗"],"tags":["档案"]},{"name":"潮女辛","title":"听潮女","role":"引路人","description":"听懂海雾低语","initialAffinity":35,"relationshipHooks":["海雾低语"],"tags":["引路"]}]}"#, + ), + llm_response( + r#"{"landmarks":[{"name":"旧灯塔","description":"雾中仍亮着错位灯火","dangerLevel":"medium"},{"name":"沉船湾","description":"退潮后露出旧船骨","dangerLevel":"high"}]}"#, + ), + llm_response( + r#"{"landmarks":[{"name":"旧灯塔","description":"雾中仍亮着错位灯火","dangerLevel":"medium","sceneNpcNames":["灯童丁","档吏庚"],"connectedLandmarkNames":["沉船湾"],"entryHook":"灯火按被篡改的航线闪烁。"},{"name":"沉船湾","description":"退潮后露出旧船骨","dangerLevel":"high","sceneNpcNames":["船魂戊","潮医乙"],"connectedLandmarkNames":["旧灯塔"],"entryHook":"旧船骨里传出父亲留下的暗号。"}]}"#, + ), + llm_response( + r#"{"playableNpcs":[{"name":"岑灯","backstory":"被停职的守灯人返乡后发现父亲沉船案被改写。","personality":"克制执拗","motivation":"查清父亲沉船真相","combatStyle":"借灯火与海图周旋"}]}"#, + ), + llm_response( + r#"{"playableNpcs":[{"name":"岑灯","backstoryReveal":{"publicSummary":"返乡守灯人的旧案羁绊。","chapters":[{"affinityRequired":15,"title":"返乡","summary":"回到旧灯塔。"},{"affinityRequired":30,"title":"旧档","summary":"发现档案错页。"},{"affinityRequired":60,"title":"沉船","summary":"接近沉船湾。"},{"affinityRequired":90,"title":"真相","summary":"直面议会遮掩。"}]},"skills":[{"name":"读灯","summary":"辨认灯火暗号","style":"侦查"}],"initialItems":[{"name":"旧海图","category":"道具","quantity":1,"rarity":"common","description":"父亲留下的海图。","tags":["线索"]}]}]}"#, + ), + llm_response( + r#"{"storyNpcs":[{"name":"议长甲","backstory":"长期维持群岛议会体面并遮掩沉船旧案。","personality":"冷硬周密","motivation":"压住旧案","combatStyle":"以权令封锁线索"}]}"#, + ), + llm_response( + r#"{"storyNpcs":[{"name":"议长甲","backstoryReveal":{"publicSummary":"议会遮掩者。","chapters":[{"affinityRequired":15,"title":"议会","summary":"议会出面。"},{"affinityRequired":30,"title":"封锁","summary":"封锁港口。"},{"affinityRequired":60,"title":"旧案","summary":"旧案松动。"},{"affinityRequired":90,"title":"对质","summary":"灯塔对质。"}]},"skills":[{"name":"封港令","summary":"调动巡海封锁","style":"压制"}],"initialItems":[{"name":"议会印信","category":"道具","quantity":1,"rarity":"rare","description":"可调动巡海队。","tags":["权力"]}]}]}"#, + ), + ], ); let llm_client = build_test_llm_client(server_url); let session = build_test_session(); @@ -487,12 +1533,21 @@ mod tests { .expect("draft generation should succeed"); let draft_profile = serde_json::from_str::(&result.draft_profile_json) .expect("draft profile should parse"); - let request_text = request_capture + let captured_requests = request_capture .lock() .expect("request capture should lock") .clone(); + let request_text = captured_requests.join("\n---request---\n"); - assert!(request_text.contains("海雾会吞掉记错航线的人。")); + assert!(captured_requests.len() >= 18); + assert!(request_text.contains("在失真的海图上追查一场被篡改的沉船事故。")); + assert!(request_text.contains("世界核心骨架")); + assert!(request_text.contains("可扮演角色框架名单")); + assert!(request_text.contains("场景角色框架名单")); + assert!(request_text.contains("关键场景框架名单")); + assert!(request_text.contains("探索网络信息")); + assert!(request_text.contains("叙事档案")); + assert!(request_text.contains("养成档案")); assert!(!request_text.contains("seedText\\uff1acustom-world-agent-session-1")); assert_eq!(draft_profile.get("name"), Some(&json!("雾港归航"))); assert!( @@ -519,6 +1574,20 @@ mod tests { ); } + fn llm_response(content: &str) -> String { + json!({ + "id": "resp_01", + "choices": [ + { + "message": { + "content": content, + } + } + ] + }) + .to_string() + } + fn build_test_session() -> CustomWorldAgentSessionRecord { CustomWorldAgentSessionRecord { session_id: "custom-world-agent-session-1".to_string(), @@ -580,17 +1649,29 @@ mod tests { LlmClient::new(config).expect("llm client should build") } - fn spawn_mock_server(request_capture: Arc>, response_body: String) -> String { + fn spawn_mock_server( + request_capture: Arc>>, + response_bodies: Vec, + ) -> String { let listener = TcpListener::bind("127.0.0.1:0").expect("listener should bind"); let address = listener .local_addr() .expect("listener should expose address"); thread::spawn(move || { - let (mut stream, _) = listener.accept().expect("request should connect"); - let request_text = read_request(&mut stream); - *request_capture.lock().expect("request capture should lock") = request_text; - write_response(&mut stream, response_body); + let mut response_queue = VecDeque::from(response_bodies); + for _ in 0..32 { + let response_body = response_queue.pop_front().unwrap_or_else(|| { + llm_response(r#"{"storyNpcs":[{"name":"议长甲","backstory":"长期维持群岛议会体面并遮掩沉船旧案。","personality":"冷硬周密","motivation":"压住旧案","combatStyle":"以权令封锁线索","backstoryReveal":{"publicSummary":"议会遮掩者。","chapters":[{"affinityRequired":15,"title":"议会","summary":"议会出面。"},{"affinityRequired":30,"title":"封锁","summary":"封锁港口。"},{"affinityRequired":60,"title":"旧案","summary":"旧案松动。"},{"affinityRequired":90,"title":"对质","summary":"灯塔对质。"}]},"skills":[{"name":"封港令","summary":"调动巡海封锁","style":"压制"}],"initialItems":[{"name":"议会印信","category":"道具","quantity":1,"rarity":"rare","description":"可调动巡海队。","tags":["权力"]}]}]}"#) + }); + let (mut stream, _) = listener.accept().expect("request should connect"); + let request_text = read_request(&mut stream); + request_capture + .lock() + .expect("request capture should lock") + .push(request_text); + write_response(&mut stream, response_body); + } }); format!("http://{address}") diff --git a/server-rs/crates/api-server/src/main.rs b/server-rs/crates/api-server/src/main.rs index 4c921317..e91478bd 100644 --- a/server-rs/crates/api-server/src/main.rs +++ b/server-rs/crates/api-server/src/main.rs @@ -10,10 +10,13 @@ mod auth_public_user; mod auth_session; mod auth_sessions; mod big_fish; +mod big_fish_agent_turn; mod character_animation_assets; mod character_visual_assets; mod config; +mod creation_agent_anchor_templates; mod custom_world; +mod custom_world_agent_entities; mod custom_world_agent_turn; mod custom_world_ai; mod custom_world_foundation_draft; diff --git a/server-rs/crates/api-server/src/puzzle_agent_turn.rs b/server-rs/crates/api-server/src/puzzle_agent_turn.rs index e9394e89..72d8f0c4 100644 --- a/server-rs/crates/api-server/src/puzzle_agent_turn.rs +++ b/server-rs/crates/api-server/src/puzzle_agent_turn.rs @@ -6,6 +6,10 @@ use spacetime_client::{ PuzzleAgentMessageFinalizeRecordInput, PuzzleAgentMessageRecord, PuzzleAgentSessionRecord, }; +use crate::creation_agent_anchor_templates::{ + get_creation_agent_anchor_template, render_anchor_question_block, +}; + #[derive(Clone, Debug)] pub(crate) struct PuzzleAgentTurnRequest<'a> { pub llm_client: Option<&'a LlmClient>, @@ -59,13 +63,6 @@ const PUZZLE_AGENT_SYSTEM_PROMPT: &str = r#"你是一个负责和创作者共创 2. 当前进度 progressPercent 3. 下一轮完整可用的 nextAnchorPack -拼图创作固定围绕 5 个视觉锚点: -1. themePromise:题材承诺 -2. visualSubject:画面主体 -3. visualMood:视觉气质 -4. compositionHooks:拼图记忆点 -5. tagsAndForbidden:标签与禁忌 - 硬约束: 1. 只能输出 JSON,不能输出代码块或解释 2. nextAnchorPack 必须是完整对象,不能只输出 patch @@ -211,8 +208,12 @@ pub(crate) fn build_failed_finalize_record_input( } fn build_puzzle_agent_prompt(session: &PuzzleAgentSessionRecord) -> String { + let anchor_question_block = get_creation_agent_anchor_template("puzzle") + .map(render_anchor_question_block) + .unwrap_or_else(|| "模板目标:收束成可以发布为拼图关卡的视觉方案。".to_string()); format!( - "当前是第 {turn} 轮,当前进度 {progress}% 。\n\n当前 anchor pack:\n{anchor_pack}\n\n最近聊天记录:\n{chat_history}\n\n{contract}", + "{anchor_question_block}\n\n当前是第 {turn} 轮,当前进度 {progress}% 。\n\n当前 anchor pack:\n{anchor_pack}\n\n最近聊天记录:\n{chat_history}\n\n{contract}", + anchor_question_block = anchor_question_block, turn = session.current_turn.saturating_add(1), progress = session.progress_percent, anchor_pack = serde_json::to_string_pretty(&map_record_anchor_pack(&session.anchor_pack)) diff --git a/server-rs/crates/module-big-fish/src/lib.rs b/server-rs/crates/module-big-fish/src/lib.rs index 8e29274f..897664e8 100644 --- a/server-rs/crates/module-big-fish/src/lib.rs +++ b/server-rs/crates/module-big-fish/src/lib.rs @@ -321,6 +321,20 @@ pub struct BigFishMessageSubmitInput { pub submitted_at_micros: i64, } +#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub struct BigFishMessageFinalizeInput { + pub session_id: String, + pub owner_user_id: String, + pub assistant_message_id: Option, + pub assistant_reply_text: Option, + pub stage: BigFishCreationStage, + pub progress_percent: u32, + pub anchor_pack_json: String, + pub error_message: Option, + pub updated_at_micros: i64, +} + #[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct BigFishDraftCompileInput { @@ -757,6 +771,12 @@ pub fn validate_message_submit_input( Ok(()) } +pub fn validate_message_finalize_input( + input: &BigFishMessageFinalizeInput, +) -> Result<(), BigFishFieldError> { + validate_session_owner(&input.session_id, &input.owner_user_id) +} + pub fn validate_draft_compile_input( input: &BigFishDraftCompileInput, ) -> Result<(), BigFishFieldError> { diff --git a/server-rs/crates/module-custom-world/src/lib.rs b/server-rs/crates/module-custom-world/src/lib.rs index d4117763..e17b2216 100644 --- a/server-rs/crates/module-custom-world/src/lib.rs +++ b/server-rs/crates/module-custom-world/src/lib.rs @@ -84,6 +84,8 @@ pub enum RpgAgentOperationType { SyncResultProfile, GenerateCharacters, GenerateLandmarks, + DeleteCharacters, + DeleteLandmarks, GenerateRoleAssets, SyncRoleAssets, GenerateSceneAssets, @@ -768,6 +770,8 @@ impl RpgAgentOperationType { Self::SyncResultProfile => "sync_result_profile", Self::GenerateCharacters => "generate_characters", Self::GenerateLandmarks => "generate_landmarks", + Self::DeleteCharacters => "delete_characters", + Self::DeleteLandmarks => "delete_landmarks", Self::GenerateRoleAssets => "generate_role_assets", Self::SyncRoleAssets => "sync_role_assets", Self::GenerateSceneAssets => "generate_scene_assets", diff --git a/server-rs/crates/shared-contracts/src/runtime.rs b/server-rs/crates/shared-contracts/src/runtime.rs index b6ad22a0..6f8f6eeb 100644 --- a/server-rs/crates/shared-contracts/src/runtime.rs +++ b/server-rs/crates/shared-contracts/src/runtime.rs @@ -510,6 +510,8 @@ pub struct ExecuteCustomWorldAgentActionRequest { #[serde(default)] pub count: Option, #[serde(default)] + pub role_type: Option, + #[serde(default)] pub prompt_text: Option, #[serde(default)] pub anchor_card_ids: Option>, diff --git a/server-rs/crates/spacetime-client/src/lib.rs b/server-rs/crates/spacetime-client/src/lib.rs index 4a980c50..0d7e432b 100644 --- a/server-rs/crates/spacetime-client/src/lib.rs +++ b/server-rs/crates/spacetime-client/src/lib.rs @@ -143,6 +143,7 @@ use crate::module_bindings::{ BigFishDraftCompileInput as BindingBigFishDraftCompileInput, BigFishGameDraft as BindingBigFishGameDraft, BigFishLevelBlueprint as BindingBigFishLevelBlueprint, + BigFishMessageFinalizeInput as BindingBigFishMessageFinalizeInput, BigFishMessageSubmitInput as BindingBigFishMessageSubmitInput, BigFishPublishInput as BindingBigFishPublishInput, BigFishRunGetInput as BindingBigFishRunGetInput, @@ -302,6 +303,7 @@ use crate::module_bindings::{ drag_puzzle_piece_or_group_procedure::drag_puzzle_piece_or_group as _, execute_custom_world_agent_action_procedure::execute_custom_world_agent_action as _, fail_ai_task_and_return_procedure::fail_ai_task_and_return as _, + finalize_big_fish_agent_message_turn_procedure::finalize_big_fish_agent_message_turn as _, finalize_custom_world_agent_message_turn_procedure::finalize_custom_world_agent_message_turn as _, finalize_puzzle_agent_message_turn_procedure::finalize_puzzle_agent_message_turn as _, generate_big_fish_asset_procedure::generate_big_fish_asset as _, @@ -1574,6 +1576,35 @@ impl SpacetimeClient { .await } + pub async fn finalize_big_fish_agent_message( + &self, + input: BigFishMessageFinalizeRecordInput, + ) -> Result { + let procedure_input = BindingBigFishMessageFinalizeInput { + session_id: input.session_id, + owner_user_id: input.owner_user_id, + assistant_message_id: input.assistant_message_id, + assistant_reply_text: input.assistant_reply_text, + stage: parse_big_fish_creation_stage_record(input.stage.as_str())?, + progress_percent: input.progress_percent, + anchor_pack_json: input.anchor_pack_json, + error_message: input.error_message, + updated_at_micros: input.updated_at_micros, + }; + + self.call_after_connect(move |connection, sender| { + connection + .procedures() + .finalize_big_fish_agent_message_turn_then(procedure_input, move |_, result| { + let mapped = result + .map_err(|error| SpacetimeClientError::Procedure(error.to_string())) + .and_then(map_big_fish_session_procedure_result); + send_once(&sender, mapped); + }); + }) + .await + } + pub async fn compile_big_fish_draft( &self, session_id: String, @@ -5300,6 +5331,21 @@ fn format_big_fish_creation_stage(value: BindingBigFishCreationStage) -> &'stati } } +fn parse_big_fish_creation_stage_record( + value: &str, +) -> Result { + match value.trim() { + "collecting_anchors" => Ok(BindingBigFishCreationStage::CollectingAnchors), + "draft_ready" => Ok(BindingBigFishCreationStage::DraftReady), + "asset_refining" => Ok(BindingBigFishCreationStage::AssetRefining), + "ready_to_publish" => Ok(BindingBigFishCreationStage::ReadyToPublish), + "published" => Ok(BindingBigFishCreationStage::Published), + other => Err(SpacetimeClientError::Runtime(format!( + "未知 big fish creation stage: {other}" + ))), + } +} + fn format_big_fish_anchor_status(value: BindingBigFishAnchorStatus) -> &'static str { match value { BindingBigFishAnchorStatus::Confirmed => "confirmed", @@ -6445,6 +6491,19 @@ pub struct BigFishMessageSubmitRecordInput { pub submitted_at_micros: i64, } +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct BigFishMessageFinalizeRecordInput { + pub session_id: String, + pub owner_user_id: String, + pub assistant_message_id: Option, + pub assistant_reply_text: Option, + pub stage: String, + pub progress_percent: u32, + pub anchor_pack_json: String, + pub error_message: Option, + pub updated_at_micros: i64, +} + #[derive(Clone, Debug, PartialEq, Eq)] pub struct BigFishAssetGenerateRecordInput { pub session_id: String, diff --git a/server-rs/crates/spacetime-client/src/module_bindings/accept_quest_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/accept_quest_reducer.rs index 61e6b9c5..b9e670d6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/accept_quest_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/accept_quest_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_record_input_type::QuestRecordInput; @@ -14,8 +19,10 @@ pub(super) struct AcceptQuestArgs { impl From for super::Reducer { fn from(args: AcceptQuestArgs) -> Self { - Self::AcceptQuest { input: args.input } - } + Self::AcceptQuest { + input: args.input, +} +} } impl __sdk::InModule for AcceptQuestArgs { @@ -33,8 +40,9 @@ pub trait accept_quest { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`accept_quest:accept_quest_then`] to run a callback after the reducer completes. - fn accept_quest(&self, input: QuestRecordInput) -> __sdk::Result<()> { - self.accept_quest_then(input, |_, _| {}) + fn accept_quest(&self, input: QuestRecordInput, +) -> __sdk::Result<()> { + self.accept_quest_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `accept_quest` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait accept_quest { &self, input: QuestRecordInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl accept_quest for super::RemoteReducers { &self, input: QuestRecordInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(AcceptQuestArgs { input }, callback) + self.imp.invoke_reducer_with_callback(AcceptQuestArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/acknowledge_quest_completion_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/acknowledge_quest_completion_reducer.rs index b1419fb7..6027c9f6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/acknowledge_quest_completion_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/acknowledge_quest_completion_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_completion_ack_input_type::QuestCompletionAckInput; @@ -14,8 +19,10 @@ pub(super) struct AcknowledgeQuestCompletionArgs { impl From for super::Reducer { fn from(args: AcknowledgeQuestCompletionArgs) -> Self { - Self::AcknowledgeQuestCompletion { input: args.input } - } + Self::AcknowledgeQuestCompletion { + input: args.input, +} +} } impl __sdk::InModule for AcknowledgeQuestCompletionArgs { @@ -33,8 +40,9 @@ pub trait acknowledge_quest_completion { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`acknowledge_quest_completion:acknowledge_quest_completion_then`] to run a callback after the reducer completes. - fn acknowledge_quest_completion(&self, input: QuestCompletionAckInput) -> __sdk::Result<()> { - self.acknowledge_quest_completion_then(input, |_, _| {}) + fn acknowledge_quest_completion(&self, input: QuestCompletionAckInput, +) -> __sdk::Result<()> { + self.acknowledge_quest_completion_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `acknowledge_quest_completion` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait acknowledge_quest_completion { &self, input: QuestCompletionAckInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl acknowledge_quest_completion for super::RemoteReducers { &self, input: QuestCompletionAckInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(AcknowledgeQuestCompletionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(AcknowledgeQuestCompletionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/advance_puzzle_next_level_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/advance_puzzle_next_level_procedure.rs index 7cb4f8f4..4a7804c7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/advance_puzzle_next_level_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/advance_puzzle_next_level_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_run_next_level_input_type::PuzzleRunNextLevelInput; use super::puzzle_run_procedure_result_type::PuzzleRunProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct AdvancePuzzleNextLevelArgs { + struct AdvancePuzzleNextLevelArgs { pub input: PuzzleRunNextLevelInput, } + impl __sdk::InModule for AdvancePuzzleNextLevelArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for AdvancePuzzleNextLevelArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait advance_puzzle_next_level { - fn advance_puzzle_next_level(&self, input: PuzzleRunNextLevelInput) { - self.advance_puzzle_next_level_then(input, |_, _| {}); + fn advance_puzzle_next_level(&self, input: PuzzleRunNextLevelInput, +) { + self.advance_puzzle_next_level_then(input, |_, _| {}); } fn advance_puzzle_next_level_then( &self, input: PuzzleRunNextLevelInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl advance_puzzle_next_level for super::RemoteProcedures { &self, input: PuzzleRunNextLevelInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( - "advance_puzzle_next_level", - AdvancePuzzleNextLevelArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( + "advance_puzzle_next_level", + AdvancePuzzleNextLevelArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_input_type.rs index b63aad41..c22d39dd 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_result_reference_kind_type::AiResultReferenceKind; @@ -12,10 +17,12 @@ pub struct AiResultReferenceInput { pub task_id: String, pub reference_kind: AiResultReferenceKind, pub reference_id: String, - pub label: Option, + pub label: Option::, pub created_at_micros: i64, } + impl __sdk::InModule for AiResultReferenceInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_kind_type.rs index 0e5f045b..9b9a5a43 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum AiResultReferenceKind { RuntimeItemRecord, AssetObject, + } + + impl __sdk::InModule for AiResultReferenceKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_snapshot_type.rs index f949db7f..7522ac4c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_result_reference_kind_type::AiResultReferenceKind; @@ -13,10 +18,12 @@ pub struct AiResultReferenceSnapshot { pub task_id: String, pub reference_kind: AiResultReferenceKind, pub reference_id: String, - pub label: Option, + pub label: Option::, pub created_at_micros: i64, } + impl __sdk::InModule for AiResultReferenceSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_table.rs index 09b7c492..6a648b5b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::ai_result_reference_kind_type::AiResultReferenceKind; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_result_reference_type::AiResultReference; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::ai_result_reference_kind_type::AiResultReferenceKind; /// Table handle for the table `ai_result_reference`. /// @@ -32,9 +37,7 @@ pub trait AiResultReferenceTableAccess { impl AiResultReferenceTableAccess for super::RemoteTables { fn ai_result_reference(&self) -> AiResultReferenceTableHandle<'_> { AiResultReferenceTableHandle { - imp: self - .imp - .get_table::("ai_result_reference"), + imp: self.imp.get_table::("ai_result_reference"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for AiResultReferenceTableHandle<'ctx> { type Row = AiResultReference; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = AiResultReferenceInsertCallbackId; @@ -98,44 +97,41 @@ impl<'ctx> __sdk::TableWithPrimaryKey for AiResultReferenceTableHandle<'ctx> { } } -/// Access to the `result_reference_row_id` unique index on the table `ai_result_reference`, -/// which allows point queries on the field of the same name -/// via the [`AiResultReferenceResultReferenceRowIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.ai_result_reference().result_reference_row_id().find(...)`. -pub struct AiResultReferenceResultReferenceRowIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> AiResultReferenceTableHandle<'ctx> { - /// Get a handle on the `result_reference_row_id` unique index on the table `ai_result_reference`. - pub fn result_reference_row_id(&self) -> AiResultReferenceResultReferenceRowIdUnique<'ctx> { - AiResultReferenceResultReferenceRowIdUnique { - imp: self - .imp - .get_unique_constraint::("result_reference_row_id"), - phantom: std::marker::PhantomData, + /// Access to the `result_reference_row_id` unique index on the table `ai_result_reference`, + /// which allows point queries on the field of the same name + /// via the [`AiResultReferenceResultReferenceRowIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.ai_result_reference().result_reference_row_id().find(...)`. + pub struct AiResultReferenceResultReferenceRowIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> AiResultReferenceResultReferenceRowIdUnique<'ctx> { - /// Find the subscribed row whose `result_reference_row_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 { - self.imp.find(col_val) - } -} + impl<'ctx> AiResultReferenceTableHandle<'ctx> { + /// Get a handle on the `result_reference_row_id` unique index on the table `ai_result_reference`. + pub fn result_reference_row_id(&self) -> AiResultReferenceResultReferenceRowIdUnique<'ctx> { + AiResultReferenceResultReferenceRowIdUnique { + imp: self.imp.get_unique_constraint::("result_reference_row_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> AiResultReferenceResultReferenceRowIdUnique<'ctx> { + /// Find the subscribed row whose `result_reference_row_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("ai_result_reference"); - _table.add_unique_constraint::("result_reference_row_id", |row| { - &row.result_reference_row_id - }); + _table.add_unique_constraint::("result_reference_row_id", |row| &row.result_reference_row_id); } #[doc(hidden)] @@ -143,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `AiResultReference`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait ai_result_referenceQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `AiResultReference`. - fn ai_result_reference(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `AiResultReference`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait ai_result_referenceQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `AiResultReference`. + fn ai_result_reference(&self) -> __sdk::__query_builder::Table; + } + + impl ai_result_referenceQueryTableAccess for __sdk::QueryTableAccessor { + fn ai_result_reference(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("ai_result_reference") + } + } -impl ai_result_referenceQueryTableAccess for __sdk::QueryTableAccessor { - fn ai_result_reference(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("ai_result_reference") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_type.rs index 3b1121b0..d9e32eaf 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_result_reference_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_result_reference_kind_type::AiResultReferenceKind; @@ -14,14 +19,16 @@ pub struct AiResultReference { pub task_id: String, pub reference_kind: AiResultReferenceKind, pub reference_id: String, - pub label: Option, + pub label: Option::, pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for AiResultReference { type Module = super::RemoteModule; } + /// Column accessor struct for the table `AiResultReference`. /// /// Provides typed access to columns for query building. @@ -31,7 +38,7 @@ pub struct AiResultReferenceCols { pub task_id: __sdk::__query_builder::Col, pub reference_kind: __sdk::__query_builder::Col, pub reference_id: __sdk::__query_builder::Col, - pub label: __sdk::__query_builder::Col>, + pub label: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, } @@ -39,16 +46,14 @@ impl __sdk::__query_builder::HasCols for AiResultReference { type Cols = AiResultReferenceCols; fn cols(table_name: &'static str) -> Self::Cols { AiResultReferenceCols { - result_reference_row_id: __sdk::__query_builder::Col::new( - table_name, - "result_reference_row_id", - ), + result_reference_row_id: __sdk::__query_builder::Col::new(table_name, "result_reference_row_id"), result_ref_id: __sdk::__query_builder::Col::new(table_name, "result_ref_id"), task_id: __sdk::__query_builder::Col::new(table_name, "task_id"), reference_kind: __sdk::__query_builder::Col::new(table_name, "reference_kind"), reference_id: __sdk::__query_builder::Col::new(table_name, "reference_id"), label: __sdk::__query_builder::Col::new(table_name, "label"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -65,13 +70,12 @@ impl __sdk::__query_builder::HasIxCols for AiResultReference { type IxCols = AiResultReferenceIxCols; fn ix_cols(table_name: &'static str) -> Self::IxCols { AiResultReferenceIxCols { - result_reference_row_id: __sdk::__query_builder::IxCol::new( - table_name, - "result_reference_row_id", - ), + result_reference_row_id: __sdk::__query_builder::IxCol::new(table_name, "result_reference_row_id"), task_id: __sdk::__query_builder::IxCol::new(table_name, "task_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for AiResultReference {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_stage_completion_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_stage_completion_input_type.rs index 7ce33006..c165fc55 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_stage_completion_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_stage_completion_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; @@ -11,12 +16,14 @@ use super::ai_task_stage_kind_type::AiTaskStageKind; pub struct AiStageCompletionInput { pub task_id: String, pub stage_kind: AiTaskStageKind, - pub text_output: Option, - pub structured_payload_json: Option, - pub warning_messages: Vec, + pub text_output: Option::, + pub structured_payload_json: Option::, + pub warning_messages: Vec::, pub completed_at_micros: i64, } + impl __sdk::InModule for AiStageCompletionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_cancel_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_cancel_input_type.rs index 93b697a6..1c5af5fa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_cancel_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_cancel_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct AiTaskCancelInput { pub completed_at_micros: i64, } + impl __sdk::InModule for AiTaskCancelInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_create_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_create_input_type.rs index 95b0506a..2d53ad93 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_create_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_create_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_kind_type::AiTaskKind; use super::ai_task_stage_blueprint_type::AiTaskStageBlueprint; @@ -15,12 +20,14 @@ pub struct AiTaskCreateInput { pub owner_user_id: String, pub request_label: String, pub source_module: String, - pub source_entity_id: Option, - pub request_payload_json: Option, - pub stages: Vec, + pub source_entity_id: Option::, + pub request_payload_json: Option::, + pub stages: Vec::, pub created_at_micros: i64, } + impl __sdk::InModule for AiTaskCreateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_failure_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_failure_input_type.rs index 91a87cf5..dfdd6ee6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_failure_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_failure_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct AiTaskFailureInput { pub completed_at_micros: i64, } + impl __sdk::InModule for AiTaskFailureInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_finish_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_finish_input_type.rs index d8fe6713..f7bc9735 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_finish_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_finish_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct AiTaskFinishInput { pub completed_at_micros: i64, } + impl __sdk::InModule for AiTaskFinishInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_kind_type.rs index 9468bc95..7724e312 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum AiTaskKind { QuestIntent, RuntimeItemIntent, + } + + impl __sdk::InModule for AiTaskKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_procedure_result_type.rs index 57728f6e..f0457945 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_snapshot_type::AiTaskSnapshot; use super::ai_text_chunk_snapshot_type::AiTextChunkSnapshot; @@ -11,11 +16,13 @@ use super::ai_text_chunk_snapshot_type::AiTextChunkSnapshot; #[sats(crate = __lib)] pub struct AiTaskProcedureResult { pub ok: bool, - pub task: Option, - pub text_chunk: Option, - pub error_message: Option, + pub task: Option::, + pub text_chunk: Option::, + pub error_message: Option::, } + impl __sdk::InModule for AiTaskProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_snapshot_type.rs index 66fa9a15..c0259393 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_snapshot_type.rs @@ -2,12 +2,17 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_result_reference_snapshot_type::AiResultReferenceSnapshot; use super::ai_task_kind_type::AiTaskKind; -use super::ai_task_stage_snapshot_type::AiTaskStageSnapshot; use super::ai_task_status_type::AiTaskStatus; +use super::ai_task_stage_snapshot_type::AiTaskStageSnapshot; +use super::ai_result_reference_snapshot_type::AiResultReferenceSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,21 +22,23 @@ pub struct AiTaskSnapshot { pub owner_user_id: String, pub request_label: String, pub source_module: String, - pub source_entity_id: Option, - pub request_payload_json: Option, + pub source_entity_id: Option::, + pub request_payload_json: Option::, pub status: AiTaskStatus, - pub failure_message: Option, - pub stages: Vec, - pub result_references: Vec, - pub latest_text_output: Option, - pub latest_structured_payload_json: Option, + pub failure_message: Option::, + pub stages: Vec::, + pub result_references: Vec::, + pub latest_text_output: Option::, + pub latest_structured_payload_json: Option::, pub version: u32, pub created_at_micros: i64, - pub started_at_micros: Option, - pub completed_at_micros: Option, + pub started_at_micros: Option::, + pub completed_at_micros: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for AiTaskSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_blueprint_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_blueprint_type.rs index 8ed04d04..366ca586 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_blueprint_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_blueprint_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; @@ -15,6 +20,8 @@ pub struct AiTaskStageBlueprint { pub order: u32, } + impl __sdk::InModule for AiTaskStageBlueprint { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_kind_type.rs index 1d7405de..679241ae 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum AiTaskStageKind { NormalizeResult, PersistResult, + } + + impl __sdk::InModule for AiTaskStageKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_snapshot_type.rs index 30cdb845..9d449d38 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; use super::ai_task_stage_status_type::AiTaskStageStatus; @@ -15,13 +20,15 @@ pub struct AiTaskStageSnapshot { pub detail: String, pub order: u32, pub status: AiTaskStageStatus, - pub text_output: Option, - pub structured_payload_json: Option, - pub warning_messages: Vec, - pub started_at_micros: Option, - pub completed_at_micros: Option, + pub text_output: Option::, + pub structured_payload_json: Option::, + pub warning_messages: Vec::, + pub started_at_micros: Option::, + pub completed_at_micros: Option::, } + impl __sdk::InModule for AiTaskStageSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_start_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_start_input_type.rs index 956fff88..8571c6d8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_start_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_start_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; @@ -14,6 +19,8 @@ pub struct AiTaskStageStartInput { pub started_at_micros: i64, } + impl __sdk::InModule for AiTaskStageStartInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_status_type.rs index e1a28d7c..3f60897b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum AiTaskStageStatus { Completed, Skipped, + } + + impl __sdk::InModule for AiTaskStageStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_table.rs index 0bd84f77..ae1617de 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_table.rs @@ -2,10 +2,15 @@ // 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::ai_task_stage_type::AiTaskStage; use super::ai_task_stage_kind_type::AiTaskStageKind; use super::ai_task_stage_status_type::AiTaskStageStatus; -use super::ai_task_stage_type::AiTaskStage; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `ai_task_stage`. /// @@ -46,12 +51,8 @@ impl<'ctx> __sdk::Table for AiTaskStageTableHandle<'ctx> { type Row = AiTaskStage; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = AiTaskStageInsertCallbackId; @@ -97,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for AiTaskStageTableHandle<'ctx> { } } -/// Access to the `task_stage_id` unique index on the table `ai_task_stage`, -/// which allows point queries on the field of the same name -/// via the [`AiTaskStageTaskStageIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.ai_task_stage().task_stage_id().find(...)`. -pub struct AiTaskStageTaskStageIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> AiTaskStageTableHandle<'ctx> { - /// Get a handle on the `task_stage_id` unique index on the table `ai_task_stage`. - pub fn task_stage_id(&self) -> AiTaskStageTaskStageIdUnique<'ctx> { - AiTaskStageTaskStageIdUnique { - imp: self.imp.get_unique_constraint::("task_stage_id"), - phantom: std::marker::PhantomData, + /// Access to the `task_stage_id` unique index on the table `ai_task_stage`, + /// which allows point queries on the field of the same name + /// via the [`AiTaskStageTaskStageIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.ai_task_stage().task_stage_id().find(...)`. + pub struct AiTaskStageTaskStageIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> AiTaskStageTaskStageIdUnique<'ctx> { - /// Find the subscribed row whose `task_stage_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 { - self.imp.find(col_val) - } -} + impl<'ctx> AiTaskStageTableHandle<'ctx> { + /// Get a handle on the `task_stage_id` unique index on the table `ai_task_stage`. + pub fn task_stage_id(&self) -> AiTaskStageTaskStageIdUnique<'ctx> { + AiTaskStageTaskStageIdUnique { + imp: self.imp.get_unique_constraint::("task_stage_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> AiTaskStageTaskStageIdUnique<'ctx> { + /// Find the subscribed row whose `task_stage_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("ai_task_stage"); _table.add_unique_constraint::("task_stage_id", |row| &row.task_stage_id); } @@ -138,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `AiTaskStage`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait ai_task_stageQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `AiTaskStage`. - fn ai_task_stage(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `AiTaskStage`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait ai_task_stageQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `AiTaskStage`. + fn ai_task_stage(&self) -> __sdk::__query_builder::Table; + } + + impl ai_task_stageQueryTableAccess for __sdk::QueryTableAccessor { + fn ai_task_stage(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("ai_task_stage") + } + } -impl ai_task_stageQueryTableAccess for __sdk::QueryTableAccessor { - fn ai_task_stage(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("ai_task_stage") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_type.rs index f4c902de..56a4094e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_stage_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; use super::ai_task_stage_status_type::AiTaskStageStatus; @@ -17,17 +22,19 @@ pub struct AiTaskStage { pub detail: String, pub stage_order: u32, pub status: AiTaskStageStatus, - pub text_output: Option, - pub structured_payload_json: Option, - pub warning_messages: Vec, - pub started_at: Option<__sdk::Timestamp>, - pub completed_at: Option<__sdk::Timestamp>, + pub text_output: Option::, + pub structured_payload_json: Option::, + pub warning_messages: Vec::, + pub started_at: Option::<__sdk::Timestamp>, + pub completed_at: Option::<__sdk::Timestamp>, } + impl __sdk::InModule for AiTaskStage { type Module = super::RemoteModule; } + /// Column accessor struct for the table `AiTaskStage`. /// /// Provides typed access to columns for query building. @@ -39,11 +46,11 @@ pub struct AiTaskStageCols { pub detail: __sdk::__query_builder::Col, pub stage_order: __sdk::__query_builder::Col, pub status: __sdk::__query_builder::Col, - pub text_output: __sdk::__query_builder::Col>, - pub structured_payload_json: __sdk::__query_builder::Col>, - pub warning_messages: __sdk::__query_builder::Col>, - pub started_at: __sdk::__query_builder::Col>, - pub completed_at: __sdk::__query_builder::Col>, + pub text_output: __sdk::__query_builder::Col>, + pub structured_payload_json: __sdk::__query_builder::Col>, + pub warning_messages: __sdk::__query_builder::Col>, + pub started_at: __sdk::__query_builder::Col>, + pub completed_at: __sdk::__query_builder::Col>, } impl __sdk::__query_builder::HasCols for AiTaskStage { @@ -58,13 +65,11 @@ impl __sdk::__query_builder::HasCols for AiTaskStage { stage_order: __sdk::__query_builder::Col::new(table_name, "stage_order"), status: __sdk::__query_builder::Col::new(table_name, "status"), text_output: __sdk::__query_builder::Col::new(table_name, "text_output"), - structured_payload_json: __sdk::__query_builder::Col::new( - table_name, - "structured_payload_json", - ), + structured_payload_json: __sdk::__query_builder::Col::new(table_name, "structured_payload_json"), warning_messages: __sdk::__query_builder::Col::new(table_name, "warning_messages"), started_at: __sdk::__query_builder::Col::new(table_name, "started_at"), completed_at: __sdk::__query_builder::Col::new(table_name, "completed_at"), + } } } @@ -83,8 +88,10 @@ impl __sdk::__query_builder::HasIxCols for AiTaskStage { AiTaskStageIxCols { task_id: __sdk::__query_builder::IxCol::new(table_name, "task_id"), task_stage_id: __sdk::__query_builder::IxCol::new(table_name, "task_stage_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for AiTaskStage {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_start_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_start_input_type.rs index d2145e81..14fa5acb 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_start_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_start_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct AiTaskStartInput { pub started_at_micros: i64, } + impl __sdk::InModule for AiTaskStartInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_status_type.rs index 3c59cd6a..58f1f7a2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum AiTaskStatus { Failed, Cancelled, + } + + impl __sdk::InModule for AiTaskStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_table.rs index 83c04b8a..60172196 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_table.rs @@ -2,10 +2,15 @@ // 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::ai_task_type::AiTask; use super::ai_task_kind_type::AiTaskKind; use super::ai_task_status_type::AiTaskStatus; -use super::ai_task_type::AiTask; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `ai_task`. /// @@ -46,12 +51,8 @@ impl<'ctx> __sdk::Table for AiTaskTableHandle<'ctx> { type Row = AiTask; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = AiTaskInsertCallbackId; @@ -97,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for AiTaskTableHandle<'ctx> { } } -/// Access to the `task_id` unique index on the table `ai_task`, -/// which allows point queries on the field of the same name -/// via the [`AiTaskTaskIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.ai_task().task_id().find(...)`. -pub struct AiTaskTaskIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> AiTaskTableHandle<'ctx> { - /// Get a handle on the `task_id` unique index on the table `ai_task`. - pub fn task_id(&self) -> AiTaskTaskIdUnique<'ctx> { - AiTaskTaskIdUnique { - imp: self.imp.get_unique_constraint::("task_id"), - phantom: std::marker::PhantomData, + /// Access to the `task_id` unique index on the table `ai_task`, + /// which allows point queries on the field of the same name + /// via the [`AiTaskTaskIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.ai_task().task_id().find(...)`. + pub struct AiTaskTaskIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> AiTaskTaskIdUnique<'ctx> { - /// Find the subscribed row whose `task_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 { - self.imp.find(col_val) - } -} + impl<'ctx> AiTaskTableHandle<'ctx> { + /// Get a handle on the `task_id` unique index on the table `ai_task`. + pub fn task_id(&self) -> AiTaskTaskIdUnique<'ctx> { + AiTaskTaskIdUnique { + imp: self.imp.get_unique_constraint::("task_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> AiTaskTaskIdUnique<'ctx> { + /// Find the subscribed row whose `task_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("ai_task"); _table.add_unique_constraint::("task_id", |row| &row.task_id); } @@ -138,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `AiTask`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait ai_taskQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `AiTask`. - fn ai_task(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `AiTask`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait ai_taskQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `AiTask`. + fn ai_task(&self) -> __sdk::__query_builder::Table; + } + + impl ai_taskQueryTableAccess for __sdk::QueryTableAccessor { + fn ai_task(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("ai_task") + } + } -impl ai_taskQueryTableAccess for __sdk::QueryTableAccessor { - fn ai_task(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("ai_task") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_type.rs index 6b2845fc..96d4077f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_task_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_task_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_kind_type::AiTaskKind; use super::ai_task_status_type::AiTaskStatus; @@ -15,23 +20,25 @@ pub struct AiTask { pub owner_user_id: String, pub request_label: String, pub source_module: String, - pub source_entity_id: Option, - pub request_payload_json: Option, + pub source_entity_id: Option::, + pub request_payload_json: Option::, pub status: AiTaskStatus, - pub failure_message: Option, - pub latest_text_output: Option, - pub latest_structured_payload_json: Option, + pub failure_message: Option::, + pub latest_text_output: Option::, + pub latest_structured_payload_json: Option::, pub version: u32, pub created_at: __sdk::Timestamp, - pub started_at: Option<__sdk::Timestamp>, - pub completed_at: Option<__sdk::Timestamp>, + pub started_at: Option::<__sdk::Timestamp>, + pub completed_at: Option::<__sdk::Timestamp>, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for AiTask { type Module = super::RemoteModule; } + /// Column accessor struct for the table `AiTask`. /// /// Provides typed access to columns for query building. @@ -41,16 +48,16 @@ pub struct AiTaskCols { pub owner_user_id: __sdk::__query_builder::Col, pub request_label: __sdk::__query_builder::Col, pub source_module: __sdk::__query_builder::Col, - pub source_entity_id: __sdk::__query_builder::Col>, - pub request_payload_json: __sdk::__query_builder::Col>, + pub source_entity_id: __sdk::__query_builder::Col>, + pub request_payload_json: __sdk::__query_builder::Col>, pub status: __sdk::__query_builder::Col, - pub failure_message: __sdk::__query_builder::Col>, - pub latest_text_output: __sdk::__query_builder::Col>, - pub latest_structured_payload_json: __sdk::__query_builder::Col>, + pub failure_message: __sdk::__query_builder::Col>, + pub latest_text_output: __sdk::__query_builder::Col>, + pub latest_structured_payload_json: __sdk::__query_builder::Col>, pub version: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, - pub started_at: __sdk::__query_builder::Col>, - pub completed_at: __sdk::__query_builder::Col>, + pub started_at: __sdk::__query_builder::Col>, + pub completed_at: __sdk::__query_builder::Col>, pub updated_at: __sdk::__query_builder::Col, } @@ -64,22 +71,17 @@ impl __sdk::__query_builder::HasCols for AiTask { request_label: __sdk::__query_builder::Col::new(table_name, "request_label"), source_module: __sdk::__query_builder::Col::new(table_name, "source_module"), source_entity_id: __sdk::__query_builder::Col::new(table_name, "source_entity_id"), - request_payload_json: __sdk::__query_builder::Col::new( - table_name, - "request_payload_json", - ), + request_payload_json: __sdk::__query_builder::Col::new(table_name, "request_payload_json"), status: __sdk::__query_builder::Col::new(table_name, "status"), failure_message: __sdk::__query_builder::Col::new(table_name, "failure_message"), latest_text_output: __sdk::__query_builder::Col::new(table_name, "latest_text_output"), - latest_structured_payload_json: __sdk::__query_builder::Col::new( - table_name, - "latest_structured_payload_json", - ), + latest_structured_payload_json: __sdk::__query_builder::Col::new(table_name, "latest_structured_payload_json"), version: __sdk::__query_builder::Col::new(table_name, "version"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), started_at: __sdk::__query_builder::Col::new(table_name, "started_at"), completed_at: __sdk::__query_builder::Col::new(table_name, "completed_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -102,8 +104,10 @@ impl __sdk::__query_builder::HasIxCols for AiTask { status: __sdk::__query_builder::IxCol::new(table_name, "status"), task_id: __sdk::__query_builder::IxCol::new(table_name, "task_id"), task_kind: __sdk::__query_builder::IxCol::new(table_name, "task_kind"), + } } } impl __sdk::__query_builder::CanBeLookupTable for AiTask {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_append_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_append_input_type.rs index 0f462690..11b5da68 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_append_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_append_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; @@ -16,6 +21,8 @@ pub struct AiTextChunkAppendInput { pub created_at_micros: i64, } + impl __sdk::InModule for AiTextChunkAppendInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_snapshot_type.rs index f386071c..81cb2ce9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; @@ -17,6 +22,8 @@ pub struct AiTextChunkSnapshot { pub created_at_micros: i64, } + impl __sdk::InModule for AiTextChunkSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_table.rs index 7311d79f..2ef5c6ad 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::ai_task_stage_kind_type::AiTaskStageKind; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_text_chunk_type::AiTextChunk; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::ai_task_stage_kind_type::AiTaskStageKind; /// Table handle for the table `ai_text_chunk`. /// @@ -45,12 +50,8 @@ impl<'ctx> __sdk::Table for AiTextChunkTableHandle<'ctx> { type Row = AiTextChunk; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = AiTextChunkInsertCallbackId; @@ -96,40 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for AiTextChunkTableHandle<'ctx> { } } -/// Access to the `text_chunk_row_id` unique index on the table `ai_text_chunk`, -/// which allows point queries on the field of the same name -/// via the [`AiTextChunkTextChunkRowIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.ai_text_chunk().text_chunk_row_id().find(...)`. -pub struct AiTextChunkTextChunkRowIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> AiTextChunkTableHandle<'ctx> { - /// Get a handle on the `text_chunk_row_id` unique index on the table `ai_text_chunk`. - pub fn text_chunk_row_id(&self) -> AiTextChunkTextChunkRowIdUnique<'ctx> { - AiTextChunkTextChunkRowIdUnique { - imp: self - .imp - .get_unique_constraint::("text_chunk_row_id"), - phantom: std::marker::PhantomData, + /// Access to the `text_chunk_row_id` unique index on the table `ai_text_chunk`, + /// which allows point queries on the field of the same name + /// via the [`AiTextChunkTextChunkRowIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.ai_text_chunk().text_chunk_row_id().find(...)`. + pub struct AiTextChunkTextChunkRowIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> AiTextChunkTextChunkRowIdUnique<'ctx> { - /// Find the subscribed row whose `text_chunk_row_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 { - self.imp.find(col_val) - } -} + impl<'ctx> AiTextChunkTableHandle<'ctx> { + /// Get a handle on the `text_chunk_row_id` unique index on the table `ai_text_chunk`. + pub fn text_chunk_row_id(&self) -> AiTextChunkTextChunkRowIdUnique<'ctx> { + AiTextChunkTextChunkRowIdUnique { + imp: self.imp.get_unique_constraint::("text_chunk_row_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> AiTextChunkTextChunkRowIdUnique<'ctx> { + /// Find the subscribed row whose `text_chunk_row_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("ai_text_chunk"); _table.add_unique_constraint::("text_chunk_row_id", |row| &row.text_chunk_row_id); } @@ -139,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `AiTextChunk`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait ai_text_chunkQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `AiTextChunk`. - fn ai_text_chunk(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `AiTextChunk`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait ai_text_chunkQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `AiTextChunk`. + fn ai_text_chunk(&self) -> __sdk::__query_builder::Table; + } + + impl ai_text_chunkQueryTableAccess for __sdk::QueryTableAccessor { + fn ai_text_chunk(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("ai_text_chunk") + } + } -impl ai_text_chunkQueryTableAccess for __sdk::QueryTableAccessor { - fn ai_text_chunk(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("ai_text_chunk") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_type.rs index 8a1a8c93..df60c3a7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/ai_text_chunk_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_kind_type::AiTaskStageKind; @@ -18,10 +23,12 @@ pub struct AiTextChunk { pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for AiTextChunk { type Module = super::RemoteModule; } + /// Column accessor struct for the table `AiTextChunk`. /// /// Provides typed access to columns for query building. @@ -46,6 +53,7 @@ impl __sdk::__query_builder::HasCols for AiTextChunk { sequence: __sdk::__query_builder::Col::new(table_name, "sequence"), delta_text: __sdk::__query_builder::Col::new(table_name, "delta_text"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -64,8 +72,10 @@ impl __sdk::__query_builder::HasIxCols for AiTextChunk { AiTextChunkIxCols { task_id: __sdk::__query_builder::IxCol::new(table_name, "task_id"), text_chunk_row_id: __sdk::__query_builder::IxCol::new(table_name, "text_chunk_row_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for AiTextChunk {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/append_ai_text_chunk_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/append_ai_text_chunk_and_return_procedure.rs index 191e2ea7..2edd4cbc 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/append_ai_text_chunk_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/append_ai_text_chunk_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_task_procedure_result_type::AiTaskProcedureResult; use super::ai_text_chunk_append_input_type::AiTextChunkAppendInput; +use super::ai_task_procedure_result_type::AiTaskProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct AppendAiTextChunkAndReturnArgs { + struct AppendAiTextChunkAndReturnArgs { pub input: AiTextChunkAppendInput, } + impl __sdk::InModule for AppendAiTextChunkAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for AppendAiTextChunkAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait append_ai_text_chunk_and_return { - fn append_ai_text_chunk_and_return(&self, input: AiTextChunkAppendInput) { - self.append_ai_text_chunk_and_return_then(input, |_, _| {}); + fn append_ai_text_chunk_and_return(&self, input: AiTextChunkAppendInput, +) { + self.append_ai_text_chunk_and_return_then(input, |_, _| {}); } fn append_ai_text_chunk_and_return_then( &self, input: AiTextChunkAppendInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl append_ai_text_chunk_and_return for super::RemoteProcedures { &self, input: AiTextChunkAppendInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "append_ai_text_chunk_and_return", - AppendAiTextChunkAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "append_ai_text_chunk_and_return", + AppendAiTextChunkAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_and_return_procedure.rs index 4a949906..e76eac6e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_progression_ledger_input_type::ChapterProgressionLedgerInput; use super::chapter_progression_procedure_result_type::ChapterProgressionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ApplyChapterProgressionLedgerEntryAndReturnArgs { + struct ApplyChapterProgressionLedgerEntryAndReturnArgs { pub input: ChapterProgressionLedgerInput, } + impl __sdk::InModule for ApplyChapterProgressionLedgerEntryAndReturnArgs { type Module = super::RemoteModule; } @@ -22,22 +28,16 @@ impl __sdk::InModule for ApplyChapterProgressionLedgerEntryAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait apply_chapter_progression_ledger_entry_and_return { - fn apply_chapter_progression_ledger_entry_and_return( - &self, - input: ChapterProgressionLedgerInput, - ) { - self.apply_chapter_progression_ledger_entry_and_return_then(input, |_, _| {}); + fn apply_chapter_progression_ledger_entry_and_return(&self, input: ChapterProgressionLedgerInput, +) { + self.apply_chapter_progression_ledger_entry_and_return_then(input, |_, _| {}); } fn apply_chapter_progression_ledger_entry_and_return_then( &self, input: ChapterProgressionLedgerInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -46,17 +46,13 @@ impl apply_chapter_progression_ledger_entry_and_return for super::RemoteProcedur &self, input: ChapterProgressionLedgerInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, ChapterProgressionProcedureResult>( - "apply_chapter_progression_ledger_entry_and_return", - ApplyChapterProgressionLedgerEntryAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, ChapterProgressionProcedureResult>( + "apply_chapter_progression_ledger_entry_and_return", + ApplyChapterProgressionLedgerEntryAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_reducer.rs index 44596083..04f54e54 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_progression_ledger_input_type::ChapterProgressionLedgerInput; @@ -14,8 +19,10 @@ pub(super) struct ApplyChapterProgressionLedgerEntryArgs { impl From for super::Reducer { fn from(args: ApplyChapterProgressionLedgerEntryArgs) -> Self { - Self::ApplyChapterProgressionLedgerEntry { input: args.input } - } + Self::ApplyChapterProgressionLedgerEntry { + input: args.input, +} +} } impl __sdk::InModule for ApplyChapterProgressionLedgerEntryArgs { @@ -33,11 +40,9 @@ pub trait apply_chapter_progression_ledger_entry { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`apply_chapter_progression_ledger_entry:apply_chapter_progression_ledger_entry_then`] to run a callback after the reducer completes. - fn apply_chapter_progression_ledger_entry( - &self, - input: ChapterProgressionLedgerInput, - ) -> __sdk::Result<()> { - self.apply_chapter_progression_ledger_entry_then(input, |_, _| {}) + fn apply_chapter_progression_ledger_entry(&self, input: ChapterProgressionLedgerInput, +) -> __sdk::Result<()> { + self.apply_chapter_progression_ledger_entry_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `apply_chapter_progression_ledger_entry` to run as soon as possible, @@ -50,11 +55,9 @@ pub trait apply_chapter_progression_ledger_entry { &self, input: ChapterProgressionLedgerInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -63,15 +66,11 @@ impl apply_chapter_progression_ledger_entry for super::RemoteReducers { &self, input: ChapterProgressionLedgerInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp.invoke_reducer_with_callback( - ApplyChapterProgressionLedgerEntryArgs { input }, - callback, - ) + self.imp.invoke_reducer_with_callback(ApplyChapterProgressionLedgerEntryArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/apply_inventory_mutation_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/apply_inventory_mutation_reducer.rs index d9b4240d..4270f52a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/apply_inventory_mutation_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/apply_inventory_mutation_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::inventory_mutation_input_type::InventoryMutationInput; @@ -14,8 +19,10 @@ pub(super) struct ApplyInventoryMutationArgs { impl From for super::Reducer { fn from(args: ApplyInventoryMutationArgs) -> Self { - Self::ApplyInventoryMutation { input: args.input } - } + Self::ApplyInventoryMutation { + input: args.input, +} +} } impl __sdk::InModule for ApplyInventoryMutationArgs { @@ -33,8 +40,9 @@ pub trait apply_inventory_mutation { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`apply_inventory_mutation:apply_inventory_mutation_then`] to run a callback after the reducer completes. - fn apply_inventory_mutation(&self, input: InventoryMutationInput) -> __sdk::Result<()> { - self.apply_inventory_mutation_then(input, |_, _| {}) + fn apply_inventory_mutation(&self, input: InventoryMutationInput, +) -> __sdk::Result<()> { + self.apply_inventory_mutation_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `apply_inventory_mutation` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait apply_inventory_mutation { &self, input: InventoryMutationInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl apply_inventory_mutation for super::RemoteReducers { &self, input: InventoryMutationInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ApplyInventoryMutationArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ApplyInventoryMutationArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/apply_quest_signal_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/apply_quest_signal_reducer.rs index 6b4c310b..6976f6aa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/apply_quest_signal_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/apply_quest_signal_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_signal_apply_input_type::QuestSignalApplyInput; @@ -14,8 +19,10 @@ pub(super) struct ApplyQuestSignalArgs { impl From for super::Reducer { fn from(args: ApplyQuestSignalArgs) -> Self { - Self::ApplyQuestSignal { input: args.input } - } + Self::ApplyQuestSignal { + input: args.input, +} +} } impl __sdk::InModule for ApplyQuestSignalArgs { @@ -33,8 +40,9 @@ pub trait apply_quest_signal { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`apply_quest_signal:apply_quest_signal_then`] to run a callback after the reducer completes. - fn apply_quest_signal(&self, input: QuestSignalApplyInput) -> __sdk::Result<()> { - self.apply_quest_signal_then(input, |_, _| {}) + fn apply_quest_signal(&self, input: QuestSignalApplyInput, +) -> __sdk::Result<()> { + self.apply_quest_signal_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `apply_quest_signal` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait apply_quest_signal { &self, input: QuestSignalApplyInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl apply_quest_signal for super::RemoteReducers { &self, input: QuestSignalApplyInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ApplyQuestSignalArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ApplyQuestSignalArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_input_type.rs index 10a39937..10dab835 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,11 +19,13 @@ pub struct AssetEntityBindingInput { pub entity_id: String, pub slot: String, pub asset_kind: String, - pub owner_user_id: Option, - pub profile_id: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for AssetEntityBindingInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_procedure_result_type.rs index 1c51596f..73eff3a6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_entity_binding_snapshot_type::AssetEntityBindingSnapshot; @@ -10,10 +15,12 @@ use super::asset_entity_binding_snapshot_type::AssetEntityBindingSnapshot; #[sats(crate = __lib)] pub struct AssetEntityBindingProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for AssetEntityBindingProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_snapshot_type.rs index d559ea04..862d1b14 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_snapshot_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,12 +19,14 @@ pub struct AssetEntityBindingSnapshot { pub entity_id: String, pub slot: String, pub asset_kind: String, - pub owner_user_id: Option, - pub profile_id: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for AssetEntityBindingSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_table.rs index 971704ae..13f7b47f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_table.rs @@ -2,8 +2,13 @@ // 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::asset_entity_binding_type::AssetEntityBinding; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `asset_entity_binding`. /// @@ -31,9 +36,7 @@ pub trait AssetEntityBindingTableAccess { impl AssetEntityBindingTableAccess for super::RemoteTables { fn asset_entity_binding(&self) -> AssetEntityBindingTableHandle<'_> { AssetEntityBindingTableHandle { - imp: self - .imp - .get_table::("asset_entity_binding"), + imp: self.imp.get_table::("asset_entity_binding"), ctx: std::marker::PhantomData, } } @@ -46,12 +49,8 @@ impl<'ctx> __sdk::Table for AssetEntityBindingTableHandle<'ctx> { type Row = AssetEntityBinding; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = AssetEntityBindingInsertCallbackId; @@ -97,38 +96,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for AssetEntityBindingTableHandle<'ctx> { } } -/// Access to the `binding_id` unique index on the table `asset_entity_binding`, -/// which allows point queries on the field of the same name -/// via the [`AssetEntityBindingBindingIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.asset_entity_binding().binding_id().find(...)`. -pub struct AssetEntityBindingBindingIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> AssetEntityBindingTableHandle<'ctx> { - /// Get a handle on the `binding_id` unique index on the table `asset_entity_binding`. - pub fn binding_id(&self) -> AssetEntityBindingBindingIdUnique<'ctx> { - AssetEntityBindingBindingIdUnique { - imp: self.imp.get_unique_constraint::("binding_id"), - phantom: std::marker::PhantomData, + /// Access to the `binding_id` unique index on the table `asset_entity_binding`, + /// which allows point queries on the field of the same name + /// via the [`AssetEntityBindingBindingIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.asset_entity_binding().binding_id().find(...)`. + pub struct AssetEntityBindingBindingIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> AssetEntityBindingBindingIdUnique<'ctx> { - /// Find the subscribed row whose `binding_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 { - self.imp.find(col_val) - } -} + impl<'ctx> AssetEntityBindingTableHandle<'ctx> { + /// Get a handle on the `binding_id` unique index on the table `asset_entity_binding`. + pub fn binding_id(&self) -> AssetEntityBindingBindingIdUnique<'ctx> { + AssetEntityBindingBindingIdUnique { + imp: self.imp.get_unique_constraint::("binding_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> AssetEntityBindingBindingIdUnique<'ctx> { + /// Find the subscribed row whose `binding_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("asset_entity_binding"); _table.add_unique_constraint::("binding_id", |row| &row.binding_id); } @@ -138,24 +138,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `AssetEntityBinding`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait asset_entity_bindingQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `AssetEntityBinding`. - fn asset_entity_binding(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `AssetEntityBinding`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait asset_entity_bindingQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `AssetEntityBinding`. + fn asset_entity_binding(&self) -> __sdk::__query_builder::Table; + } + + impl asset_entity_bindingQueryTableAccess for __sdk::QueryTableAccessor { + fn asset_entity_binding(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("asset_entity_binding") + } + } -impl asset_entity_bindingQueryTableAccess for __sdk::QueryTableAccessor { - fn asset_entity_binding(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("asset_entity_binding") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_type.rs index f12154e1..8f5423b6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_entity_binding_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,16 +19,18 @@ pub struct AssetEntityBinding { pub entity_id: String, pub slot: String, pub asset_kind: String, - pub owner_user_id: Option, - pub profile_id: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for AssetEntityBinding { type Module = super::RemoteModule; } + /// Column accessor struct for the table `AssetEntityBinding`. /// /// Provides typed access to columns for query building. @@ -33,8 +41,8 @@ pub struct AssetEntityBindingCols { pub entity_id: __sdk::__query_builder::Col, pub slot: __sdk::__query_builder::Col, pub asset_kind: __sdk::__query_builder::Col, - pub owner_user_id: __sdk::__query_builder::Col>, - pub profile_id: __sdk::__query_builder::Col>, + pub owner_user_id: __sdk::__query_builder::Col>, + pub profile_id: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -53,6 +61,7 @@ impl __sdk::__query_builder::HasCols for AssetEntityBinding { profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -71,8 +80,10 @@ impl __sdk::__query_builder::HasIxCols for AssetEntityBinding { AssetEntityBindingIxCols { asset_object_id: __sdk::__query_builder::IxCol::new(table_name, "asset_object_id"), binding_id: __sdk::__query_builder::IxCol::new(table_name, "binding_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for AssetEntityBinding {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_access_policy_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_access_policy_type.rs index 17d02930..3d6203bb 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_access_policy_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_access_policy_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum AssetObjectAccessPolicy { Private, PublicRead, + } + + impl __sdk::InModule for AssetObjectAccessPolicy { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_procedure_result_type.rs index 9ccf22ed..ea327af9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_object_upsert_snapshot_type::AssetObjectUpsertSnapshot; @@ -10,10 +15,12 @@ use super::asset_object_upsert_snapshot_type::AssetObjectUpsertSnapshot; #[sats(crate = __lib)] pub struct AssetObjectProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for AssetObjectProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_table.rs index 526fa287..2aeb9a22 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::asset_object_access_policy_type::AssetObjectAccessPolicy; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_object_type::AssetObject; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::asset_object_access_policy_type::AssetObjectAccessPolicy; /// Table handle for the table `asset_object`. /// @@ -45,12 +50,8 @@ impl<'ctx> __sdk::Table for AssetObjectTableHandle<'ctx> { type Row = AssetObject; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = AssetObjectInsertCallbackId; @@ -96,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for AssetObjectTableHandle<'ctx> { } } -/// Access to the `asset_object_id` unique index on the table `asset_object`, -/// which allows point queries on the field of the same name -/// via the [`AssetObjectAssetObjectIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.asset_object().asset_object_id().find(...)`. -pub struct AssetObjectAssetObjectIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> AssetObjectTableHandle<'ctx> { - /// Get a handle on the `asset_object_id` unique index on the table `asset_object`. - pub fn asset_object_id(&self) -> AssetObjectAssetObjectIdUnique<'ctx> { - AssetObjectAssetObjectIdUnique { - imp: self.imp.get_unique_constraint::("asset_object_id"), - phantom: std::marker::PhantomData, + /// Access to the `asset_object_id` unique index on the table `asset_object`, + /// which allows point queries on the field of the same name + /// via the [`AssetObjectAssetObjectIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.asset_object().asset_object_id().find(...)`. + pub struct AssetObjectAssetObjectIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> AssetObjectAssetObjectIdUnique<'ctx> { - /// Find the subscribed row whose `asset_object_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 { - self.imp.find(col_val) - } -} + impl<'ctx> AssetObjectTableHandle<'ctx> { + /// Get a handle on the `asset_object_id` unique index on the table `asset_object`. + pub fn asset_object_id(&self) -> AssetObjectAssetObjectIdUnique<'ctx> { + AssetObjectAssetObjectIdUnique { + imp: self.imp.get_unique_constraint::("asset_object_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> AssetObjectAssetObjectIdUnique<'ctx> { + /// Find the subscribed row whose `asset_object_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("asset_object"); _table.add_unique_constraint::("asset_object_id", |row| &row.asset_object_id); } @@ -137,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `AssetObject`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait asset_objectQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `AssetObject`. - fn asset_object(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `AssetObject`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait asset_objectQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `AssetObject`. + fn asset_object(&self) -> __sdk::__query_builder::Table; + } + + impl asset_objectQueryTableAccess for __sdk::QueryTableAccessor { + fn asset_object(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("asset_object") + } + } -impl asset_objectQueryTableAccess for __sdk::QueryTableAccessor { - fn asset_object(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("asset_object") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_type.rs index c9d57ac5..75935935 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_object_access_policy_type::AssetObjectAccessPolicy; @@ -13,23 +18,25 @@ pub struct AssetObject { pub bucket: String, pub object_key: String, pub access_policy: AssetObjectAccessPolicy, - pub content_type: Option, + pub content_type: Option::, pub content_length: u64, - pub content_hash: Option, + pub content_hash: Option::, pub version: u32, - pub source_job_id: Option, - pub owner_user_id: Option, - pub profile_id: Option, - pub entity_id: Option, + pub source_job_id: Option::, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub entity_id: Option::, pub asset_kind: String, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for AssetObject { type Module = super::RemoteModule; } + /// Column accessor struct for the table `AssetObject`. /// /// Provides typed access to columns for query building. @@ -38,14 +45,14 @@ pub struct AssetObjectCols { pub bucket: __sdk::__query_builder::Col, pub object_key: __sdk::__query_builder::Col, pub access_policy: __sdk::__query_builder::Col, - pub content_type: __sdk::__query_builder::Col>, + pub content_type: __sdk::__query_builder::Col>, pub content_length: __sdk::__query_builder::Col, - pub content_hash: __sdk::__query_builder::Col>, + pub content_hash: __sdk::__query_builder::Col>, pub version: __sdk::__query_builder::Col, - pub source_job_id: __sdk::__query_builder::Col>, - pub owner_user_id: __sdk::__query_builder::Col>, - pub profile_id: __sdk::__query_builder::Col>, - pub entity_id: __sdk::__query_builder::Col>, + pub source_job_id: __sdk::__query_builder::Col>, + pub owner_user_id: __sdk::__query_builder::Col>, + pub profile_id: __sdk::__query_builder::Col>, + pub entity_id: __sdk::__query_builder::Col>, pub asset_kind: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, @@ -70,6 +77,7 @@ impl __sdk::__query_builder::HasCols for AssetObject { asset_kind: __sdk::__query_builder::Col::new(table_name, "asset_kind"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -88,8 +96,10 @@ impl __sdk::__query_builder::HasIxCols for AssetObject { AssetObjectIxCols { asset_kind: __sdk::__query_builder::IxCol::new(table_name, "asset_kind"), asset_object_id: __sdk::__query_builder::IxCol::new(table_name, "asset_object_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for AssetObject {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_input_type.rs index 85fcadc6..7e48cffa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_object_access_policy_type::AssetObjectAccessPolicy; @@ -13,18 +18,20 @@ pub struct AssetObjectUpsertInput { pub bucket: String, pub object_key: String, pub access_policy: AssetObjectAccessPolicy, - pub content_type: Option, + pub content_type: Option::, pub content_length: u64, - pub content_hash: Option, + pub content_hash: Option::, pub version: u32, - pub source_job_id: Option, - pub owner_user_id: Option, - pub profile_id: Option, - pub entity_id: Option, + pub source_job_id: Option::, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub entity_id: Option::, pub asset_kind: String, pub updated_at_micros: i64, } + impl __sdk::InModule for AssetObjectUpsertInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_snapshot_type.rs index b349f18d..7b5d3860 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/asset_object_upsert_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_object_access_policy_type::AssetObjectAccessPolicy; @@ -13,19 +18,21 @@ pub struct AssetObjectUpsertSnapshot { pub bucket: String, pub object_key: String, pub access_policy: AssetObjectAccessPolicy, - pub content_type: Option, + pub content_type: Option::, pub content_length: u64, - pub content_hash: Option, + pub content_hash: Option::, pub version: u32, - pub source_job_id: Option, - pub owner_user_id: Option, - pub profile_id: Option, - pub entity_id: Option, + pub source_job_id: Option::, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub entity_id: Option::, pub asset_kind: String, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for AssetObjectUpsertSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/attach_ai_result_reference_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/attach_ai_result_reference_and_return_procedure.rs index 94d41850..c7eb0e22 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/attach_ai_result_reference_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/attach_ai_result_reference_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_result_reference_input_type::AiResultReferenceInput; use super::ai_task_procedure_result_type::AiTaskProcedureResult; +use super::ai_result_reference_input_type::AiResultReferenceInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct AttachAiResultReferenceAndReturnArgs { + struct AttachAiResultReferenceAndReturnArgs { pub input: AiResultReferenceInput, } + impl __sdk::InModule for AttachAiResultReferenceAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for AttachAiResultReferenceAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait attach_ai_result_reference_and_return { - fn attach_ai_result_reference_and_return(&self, input: AiResultReferenceInput) { - self.attach_ai_result_reference_and_return_then(input, |_, _| {}); + fn attach_ai_result_reference_and_return(&self, input: AiResultReferenceInput, +) { + self.attach_ai_result_reference_and_return_then(input, |_, _| {}); } fn attach_ai_result_reference_and_return_then( &self, input: AiResultReferenceInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl attach_ai_result_reference_and_return for super::RemoteProcedures { &self, input: AiResultReferenceInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "attach_ai_result_reference_and_return", - AttachAiResultReferenceAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "attach_ai_result_reference_and_return", + AttachAiResultReferenceAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_mode_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_mode_type.rs index a88c25f4..1961ac69 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_mode_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_mode_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum BattleMode { Fight, Spar, + } + + impl __sdk::InModule for BattleMode { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_input_type.rs index 6a176e2d..104b96cb 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_mode_type::BattleMode; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; @@ -14,7 +19,7 @@ pub struct BattleStateInput { pub story_session_id: String, pub runtime_session_id: String, pub actor_user_id: String, - pub chapter_id: Option, + pub chapter_id: Option::, pub target_npc_id: String, pub target_name: String, pub battle_mode: BattleMode, @@ -25,10 +30,12 @@ pub struct BattleStateInput { pub target_hp: i32, pub target_max_hp: i32, pub experience_reward: u32, - pub reward_items: Vec, + pub reward_items: Vec::, pub created_at_micros: i64, } + impl __sdk::InModule for BattleStateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_procedure_result_type.rs index e66352ad..cadc80d8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_state_snapshot_type::BattleStateSnapshot; @@ -10,10 +15,12 @@ use super::battle_state_snapshot_type::BattleStateSnapshot; #[sats(crate = __lib)] pub struct BattleStateProcedureResult { pub ok: bool, - pub snapshot: Option, - pub error_message: Option, + pub snapshot: Option::, + pub error_message: Option::, } + impl __sdk::InModule for BattleStateProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_query_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_query_input_type.rs index 53053cca..6b9298d4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_query_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_query_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct BattleStateQueryInput { pub battle_state_id: String, } + impl __sdk::InModule for BattleStateQueryInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_snapshot_type.rs index 925d8468..c20ec25c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_snapshot_type.rs @@ -2,12 +2,17 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_mode_type::BattleMode; use super::battle_status_type::BattleStatus; -use super::combat_outcome_type::CombatOutcome; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; +use super::combat_outcome_type::CombatOutcome; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -16,7 +21,7 @@ pub struct BattleStateSnapshot { pub story_session_id: String, pub runtime_session_id: String, pub actor_user_id: String, - pub chapter_id: Option, + pub chapter_id: Option::, pub target_npc_id: String, pub target_name: String, pub battle_mode: BattleMode, @@ -28,11 +33,11 @@ pub struct BattleStateSnapshot { pub target_hp: i32, pub target_max_hp: i32, pub experience_reward: u32, - pub reward_items: Vec, + pub reward_items: Vec::, pub turn_index: u32, - pub last_action_function_id: Option, - pub last_action_text: Option, - pub last_result_text: Option, + pub last_action_function_id: Option::, + pub last_action_text: Option::, + pub last_result_text: Option::, pub last_damage_dealt: i32, pub last_damage_taken: i32, pub last_outcome: CombatOutcome, @@ -41,6 +46,8 @@ pub struct BattleStateSnapshot { pub updated_at_micros: i64, } + impl __sdk::InModule for BattleStateSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_table.rs index 98a289a4..53dc1ebb 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_table.rs @@ -2,12 +2,17 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::battle_mode_type::BattleMode; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_state_type::BattleState; +use super::battle_mode_type::BattleMode; use super::battle_status_type::BattleStatus; -use super::combat_outcome_type::CombatOutcome; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::combat_outcome_type::CombatOutcome; /// Table handle for the table `battle_state`. /// @@ -48,12 +53,8 @@ impl<'ctx> __sdk::Table for BattleStateTableHandle<'ctx> { type Row = BattleState; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = BattleStateInsertCallbackId; @@ -99,38 +100,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for BattleStateTableHandle<'ctx> { } } -/// Access to the `battle_state_id` unique index on the table `battle_state`, -/// which allows point queries on the field of the same name -/// via the [`BattleStateBattleStateIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.battle_state().battle_state_id().find(...)`. -pub struct BattleStateBattleStateIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> BattleStateTableHandle<'ctx> { - /// Get a handle on the `battle_state_id` unique index on the table `battle_state`. - pub fn battle_state_id(&self) -> BattleStateBattleStateIdUnique<'ctx> { - BattleStateBattleStateIdUnique { - imp: self.imp.get_unique_constraint::("battle_state_id"), - phantom: std::marker::PhantomData, + /// Access to the `battle_state_id` unique index on the table `battle_state`, + /// which allows point queries on the field of the same name + /// via the [`BattleStateBattleStateIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.battle_state().battle_state_id().find(...)`. + pub struct BattleStateBattleStateIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> BattleStateBattleStateIdUnique<'ctx> { - /// Find the subscribed row whose `battle_state_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 { - self.imp.find(col_val) - } -} + impl<'ctx> BattleStateTableHandle<'ctx> { + /// Get a handle on the `battle_state_id` unique index on the table `battle_state`. + pub fn battle_state_id(&self) -> BattleStateBattleStateIdUnique<'ctx> { + BattleStateBattleStateIdUnique { + imp: self.imp.get_unique_constraint::("battle_state_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> BattleStateBattleStateIdUnique<'ctx> { + /// Find the subscribed row whose `battle_state_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("battle_state"); _table.add_unique_constraint::("battle_state_id", |row| &row.battle_state_id); } @@ -140,24 +142,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `BattleState`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait battle_stateQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `BattleState`. - fn battle_state(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `BattleState`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait battle_stateQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `BattleState`. + fn battle_state(&self) -> __sdk::__query_builder::Table; + } + + impl battle_stateQueryTableAccess for __sdk::QueryTableAccessor { + fn battle_state(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("battle_state") + } + } -impl battle_stateQueryTableAccess for __sdk::QueryTableAccessor { - fn battle_state(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("battle_state") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_type.rs index 9d9b852f..1b7e0420 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_state_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_state_type.rs @@ -2,12 +2,17 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_mode_type::BattleMode; use super::battle_status_type::BattleStatus; -use super::combat_outcome_type::CombatOutcome; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; +use super::combat_outcome_type::CombatOutcome; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -16,7 +21,7 @@ pub struct BattleState { pub story_session_id: String, pub runtime_session_id: String, pub actor_user_id: String, - pub chapter_id: Option, + pub chapter_id: Option::, pub target_npc_id: String, pub target_name: String, pub battle_mode: BattleMode, @@ -28,11 +33,11 @@ pub struct BattleState { pub target_hp: i32, pub target_max_hp: i32, pub experience_reward: u32, - pub reward_items: Vec, + pub reward_items: Vec::, pub turn_index: u32, - pub last_action_function_id: Option, - pub last_action_text: Option, - pub last_result_text: Option, + pub last_action_function_id: Option::, + pub last_action_text: Option::, + pub last_result_text: Option::, pub last_damage_dealt: i32, pub last_damage_taken: i32, pub last_outcome: CombatOutcome, @@ -41,10 +46,12 @@ pub struct BattleState { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for BattleState { type Module = super::RemoteModule; } + /// Column accessor struct for the table `BattleState`. /// /// Provides typed access to columns for query building. @@ -53,7 +60,7 @@ pub struct BattleStateCols { pub story_session_id: __sdk::__query_builder::Col, pub runtime_session_id: __sdk::__query_builder::Col, pub actor_user_id: __sdk::__query_builder::Col, - pub chapter_id: __sdk::__query_builder::Col>, + pub chapter_id: __sdk::__query_builder::Col>, pub target_npc_id: __sdk::__query_builder::Col, pub target_name: __sdk::__query_builder::Col, pub battle_mode: __sdk::__query_builder::Col, @@ -65,11 +72,11 @@ pub struct BattleStateCols { pub target_hp: __sdk::__query_builder::Col, pub target_max_hp: __sdk::__query_builder::Col, pub experience_reward: __sdk::__query_builder::Col, - pub reward_items: __sdk::__query_builder::Col>, + pub reward_items: __sdk::__query_builder::Col>, pub turn_index: __sdk::__query_builder::Col, - pub last_action_function_id: __sdk::__query_builder::Col>, - pub last_action_text: __sdk::__query_builder::Col>, - pub last_result_text: __sdk::__query_builder::Col>, + pub last_action_function_id: __sdk::__query_builder::Col>, + pub last_action_text: __sdk::__query_builder::Col>, + pub last_result_text: __sdk::__query_builder::Col>, pub last_damage_dealt: __sdk::__query_builder::Col, pub last_damage_taken: __sdk::__query_builder::Col, pub last_outcome: __sdk::__query_builder::Col, @@ -100,10 +107,7 @@ impl __sdk::__query_builder::HasCols for BattleState { experience_reward: __sdk::__query_builder::Col::new(table_name, "experience_reward"), reward_items: __sdk::__query_builder::Col::new(table_name, "reward_items"), turn_index: __sdk::__query_builder::Col::new(table_name, "turn_index"), - last_action_function_id: __sdk::__query_builder::Col::new( - table_name, - "last_action_function_id", - ), + last_action_function_id: __sdk::__query_builder::Col::new(table_name, "last_action_function_id"), last_action_text: __sdk::__query_builder::Col::new(table_name, "last_action_text"), last_result_text: __sdk::__query_builder::Col::new(table_name, "last_result_text"), last_damage_dealt: __sdk::__query_builder::Col::new(table_name, "last_damage_dealt"), @@ -112,6 +116,7 @@ impl __sdk::__query_builder::HasCols for BattleState { version: __sdk::__query_builder::Col::new(table_name, "version"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -132,13 +137,12 @@ impl __sdk::__query_builder::HasIxCols for BattleState { BattleStateIxCols { actor_user_id: __sdk::__query_builder::IxCol::new(table_name, "actor_user_id"), battle_state_id: __sdk::__query_builder::IxCol::new(table_name, "battle_state_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), story_session_id: __sdk::__query_builder::IxCol::new(table_name, "story_session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for BattleState {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/battle_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/battle_status_type.rs index 0aba4f43..e869befe 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/battle_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/battle_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum BattleStatus { Resolved, Aborted, + } + + impl __sdk::InModule for BattleStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_and_return_procedure.rs index 304b2e0c..75c19e04 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_session_input_type::StorySessionInput; use super::story_session_procedure_result_type::StorySessionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct BeginStorySessionAndReturnArgs { + struct BeginStorySessionAndReturnArgs { pub input: StorySessionInput, } + impl __sdk::InModule for BeginStorySessionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for BeginStorySessionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait begin_story_session_and_return { - fn begin_story_session_and_return(&self, input: StorySessionInput) { - self.begin_story_session_and_return_then(input, |_, _| {}); + fn begin_story_session_and_return(&self, input: StorySessionInput, +) { + self.begin_story_session_and_return_then(input, |_, _| {}); } fn begin_story_session_and_return_then( &self, input: StorySessionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl begin_story_session_and_return for super::RemoteProcedures { &self, input: StorySessionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, StorySessionProcedureResult>( - "begin_story_session_and_return", - BeginStorySessionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, StorySessionProcedureResult>( + "begin_story_session_and_return", + BeginStorySessionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_reducer.rs index 22bc4add..582bb850 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_session_input_type::StorySessionInput; @@ -14,8 +19,10 @@ pub(super) struct BeginStorySessionArgs { impl From for super::Reducer { fn from(args: BeginStorySessionArgs) -> Self { - Self::BeginStorySession { input: args.input } - } + Self::BeginStorySession { + input: args.input, +} +} } impl __sdk::InModule for BeginStorySessionArgs { @@ -33,8 +40,9 @@ pub trait begin_story_session { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`begin_story_session:begin_story_session_then`] to run a callback after the reducer completes. - fn begin_story_session(&self, input: StorySessionInput) -> __sdk::Result<()> { - self.begin_story_session_then(input, |_, _| {}) + fn begin_story_session(&self, input: StorySessionInput, +) -> __sdk::Result<()> { + self.begin_story_session_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `begin_story_session` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait begin_story_session { &self, input: StorySessionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl begin_story_session for super::RemoteReducers { &self, input: StorySessionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(BeginStorySessionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(BeginStorySessionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_kind_type.rs index 00f36e4e..174e55f8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum BigFishAgentMessageKind { ActionResult, Warning, + } + + impl __sdk::InModule for BigFishAgentMessageKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_role_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_role_type.rs index d8a1a82c..9f8a0458 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_role_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_role_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum BigFishAgentMessageRole { Assistant, System, + } + + impl __sdk::InModule for BigFishAgentMessageRole { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_snapshot_type.rs index acc31e57..d6b00fc5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_snapshot_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_agent_message_kind_type::BigFishAgentMessageKind; use super::big_fish_agent_message_role_type::BigFishAgentMessageRole; +use super::big_fish_agent_message_kind_type::BigFishAgentMessageKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -18,6 +23,8 @@ pub struct BigFishAgentMessageSnapshot { pub created_at_micros: i64, } + impl __sdk::InModule for BigFishAgentMessageSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_table.rs index cbb48abe..59185a0b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_table.rs @@ -2,10 +2,15 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::big_fish_agent_message_kind_type::BigFishAgentMessageKind; -use super::big_fish_agent_message_role_type::BigFishAgentMessageRole; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_agent_message_type::BigFishAgentMessage; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::big_fish_agent_message_role_type::BigFishAgentMessageRole; +use super::big_fish_agent_message_kind_type::BigFishAgentMessageKind; /// Table handle for the table `big_fish_agent_message`. /// @@ -33,9 +38,7 @@ pub trait BigFishAgentMessageTableAccess { impl BigFishAgentMessageTableAccess for super::RemoteTables { fn big_fish_agent_message(&self) -> BigFishAgentMessageTableHandle<'_> { BigFishAgentMessageTableHandle { - imp: self - .imp - .get_table::("big_fish_agent_message"), + imp: self.imp.get_table::("big_fish_agent_message"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for BigFishAgentMessageTableHandle<'ctx> { type Row = BigFishAgentMessage; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = BigFishAgentMessageInsertCallbackId; @@ -99,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for BigFishAgentMessageTableHandle<'ctx> { } } -/// Access to the `message_id` unique index on the table `big_fish_agent_message`, -/// which allows point queries on the field of the same name -/// via the [`BigFishAgentMessageMessageIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.big_fish_agent_message().message_id().find(...)`. -pub struct BigFishAgentMessageMessageIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> BigFishAgentMessageTableHandle<'ctx> { - /// Get a handle on the `message_id` unique index on the table `big_fish_agent_message`. - pub fn message_id(&self) -> BigFishAgentMessageMessageIdUnique<'ctx> { - BigFishAgentMessageMessageIdUnique { - imp: self.imp.get_unique_constraint::("message_id"), - phantom: std::marker::PhantomData, + /// Access to the `message_id` unique index on the table `big_fish_agent_message`, + /// which allows point queries on the field of the same name + /// via the [`BigFishAgentMessageMessageIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.big_fish_agent_message().message_id().find(...)`. + pub struct BigFishAgentMessageMessageIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> BigFishAgentMessageMessageIdUnique<'ctx> { - /// Find the subscribed row whose `message_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 { - self.imp.find(col_val) - } -} + impl<'ctx> BigFishAgentMessageTableHandle<'ctx> { + /// Get a handle on the `message_id` unique index on the table `big_fish_agent_message`. + pub fn message_id(&self) -> BigFishAgentMessageMessageIdUnique<'ctx> { + BigFishAgentMessageMessageIdUnique { + imp: self.imp.get_unique_constraint::("message_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> BigFishAgentMessageMessageIdUnique<'ctx> { + /// Find the subscribed row whose `message_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("big_fish_agent_message"); _table.add_unique_constraint::("message_id", |row| &row.message_id); } @@ -140,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `BigFishAgentMessage`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait big_fish_agent_messageQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `BigFishAgentMessage`. - fn big_fish_agent_message(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `BigFishAgentMessage`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait big_fish_agent_messageQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `BigFishAgentMessage`. + fn big_fish_agent_message(&self) -> __sdk::__query_builder::Table; + } + + impl big_fish_agent_messageQueryTableAccess for __sdk::QueryTableAccessor { + fn big_fish_agent_message(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("big_fish_agent_message") + } + } -impl big_fish_agent_messageQueryTableAccess for __sdk::QueryTableAccessor { - fn big_fish_agent_message(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("big_fish_agent_message") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_type.rs index a5e70272..c55ecc3d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_agent_message_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_agent_message_kind_type::BigFishAgentMessageKind; use super::big_fish_agent_message_role_type::BigFishAgentMessageRole; +use super::big_fish_agent_message_kind_type::BigFishAgentMessageKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -18,10 +23,12 @@ pub struct BigFishAgentMessage { pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for BigFishAgentMessage { type Module = super::RemoteModule; } + /// Column accessor struct for the table `BigFishAgentMessage`. /// /// Provides typed access to columns for query building. @@ -44,6 +51,7 @@ impl __sdk::__query_builder::HasCols for BigFishAgentMessage { kind: __sdk::__query_builder::Col::new(table_name, "kind"), text: __sdk::__query_builder::Col::new(table_name, "text"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -62,8 +70,10 @@ impl __sdk::__query_builder::HasIxCols for BigFishAgentMessage { BigFishAgentMessageIxCols { message_id: __sdk::__query_builder::IxCol::new(table_name, "message_id"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for BigFishAgentMessage {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_item_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_item_type.rs index d876588e..80ecc407 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_item_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_item_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_anchor_status_type::BigFishAnchorStatus; @@ -15,6 +20,8 @@ pub struct BigFishAnchorItem { pub status: BigFishAnchorStatus, } + impl __sdk::InModule for BigFishAnchorItem { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_pack_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_pack_type.rs index 5d93c291..6f93262e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_pack_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_pack_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_anchor_item_type::BigFishAnchorItem; @@ -15,6 +20,8 @@ pub struct BigFishAnchorPack { pub risk_tempo: BigFishAnchorItem, } + impl __sdk::InModule for BigFishAnchorPack { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_status_type.rs index bcfe701e..d1ed8bb3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_anchor_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum BigFishAnchorStatus { Missing, Locked, + } + + impl __sdk::InModule for BigFishAnchorStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_coverage_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_coverage_type.rs index 607a8c39..c1b3429a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_coverage_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_coverage_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,9 +18,11 @@ pub struct BigFishAssetCoverage { pub background_ready: bool, pub required_level_count: u32, pub publish_ready: bool, - pub blockers: Vec, + pub blockers: Vec::, } + impl __sdk::InModule for BigFishAssetCoverage { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_generate_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_generate_input_type.rs index e7589076..ba67939a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_generate_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_generate_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_asset_kind_type::BigFishAssetKind; @@ -12,12 +17,14 @@ pub struct BigFishAssetGenerateInput { pub session_id: String, pub owner_user_id: String, pub asset_kind: BigFishAssetKind, - pub level: Option, - pub motion_key: Option, - pub asset_url: Option, + pub level: Option::, + pub motion_key: Option::, + pub asset_url: Option::, pub generated_at_micros: i64, } + impl __sdk::InModule for BigFishAssetGenerateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_kind_type.rs index b4c9dcd1..a5d6c3ed 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum BigFishAssetKind { LevelMotion, StageBackground, + } + + impl __sdk::InModule for BigFishAssetKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_snapshot_type.rs index 200b1a6d..911e51fc 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_asset_kind_type::BigFishAssetKind; use super::big_fish_asset_status_type::BigFishAssetStatus; @@ -13,14 +18,16 @@ pub struct BigFishAssetSlotSnapshot { pub slot_id: String, pub session_id: String, pub asset_kind: BigFishAssetKind, - pub level: Option, - pub motion_key: Option, + pub level: Option::, + pub motion_key: Option::, pub status: BigFishAssetStatus, - pub asset_url: Option, + pub asset_url: Option::, pub prompt_snapshot: String, pub updated_at_micros: i64, } + impl __sdk::InModule for BigFishAssetSlotSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_table.rs index d4817cf0..8b296390 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_table.rs @@ -2,10 +2,15 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::big_fish_asset_kind_type::BigFishAssetKind; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_asset_slot_type::BigFishAssetSlot; +use super::big_fish_asset_kind_type::BigFishAssetKind; use super::big_fish_asset_status_type::BigFishAssetStatus; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `big_fish_asset_slot`. /// @@ -33,9 +38,7 @@ pub trait BigFishAssetSlotTableAccess { impl BigFishAssetSlotTableAccess for super::RemoteTables { fn big_fish_asset_slot(&self) -> BigFishAssetSlotTableHandle<'_> { BigFishAssetSlotTableHandle { - imp: self - .imp - .get_table::("big_fish_asset_slot"), + imp: self.imp.get_table::("big_fish_asset_slot"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for BigFishAssetSlotTableHandle<'ctx> { type Row = BigFishAssetSlot; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = BigFishAssetSlotInsertCallbackId; @@ -99,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for BigFishAssetSlotTableHandle<'ctx> { } } -/// Access to the `slot_id` unique index on the table `big_fish_asset_slot`, -/// which allows point queries on the field of the same name -/// via the [`BigFishAssetSlotSlotIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.big_fish_asset_slot().slot_id().find(...)`. -pub struct BigFishAssetSlotSlotIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> BigFishAssetSlotTableHandle<'ctx> { - /// Get a handle on the `slot_id` unique index on the table `big_fish_asset_slot`. - pub fn slot_id(&self) -> BigFishAssetSlotSlotIdUnique<'ctx> { - BigFishAssetSlotSlotIdUnique { - imp: self.imp.get_unique_constraint::("slot_id"), - phantom: std::marker::PhantomData, + /// Access to the `slot_id` unique index on the table `big_fish_asset_slot`, + /// which allows point queries on the field of the same name + /// via the [`BigFishAssetSlotSlotIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.big_fish_asset_slot().slot_id().find(...)`. + pub struct BigFishAssetSlotSlotIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> BigFishAssetSlotSlotIdUnique<'ctx> { - /// Find the subscribed row whose `slot_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 { - self.imp.find(col_val) - } -} + impl<'ctx> BigFishAssetSlotTableHandle<'ctx> { + /// Get a handle on the `slot_id` unique index on the table `big_fish_asset_slot`. + pub fn slot_id(&self) -> BigFishAssetSlotSlotIdUnique<'ctx> { + BigFishAssetSlotSlotIdUnique { + imp: self.imp.get_unique_constraint::("slot_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> BigFishAssetSlotSlotIdUnique<'ctx> { + /// Find the subscribed row whose `slot_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("big_fish_asset_slot"); _table.add_unique_constraint::("slot_id", |row| &row.slot_id); } @@ -140,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `BigFishAssetSlot`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait big_fish_asset_slotQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `BigFishAssetSlot`. - fn big_fish_asset_slot(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `BigFishAssetSlot`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait big_fish_asset_slotQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `BigFishAssetSlot`. + fn big_fish_asset_slot(&self) -> __sdk::__query_builder::Table; + } + + impl big_fish_asset_slotQueryTableAccess for __sdk::QueryTableAccessor { + fn big_fish_asset_slot(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("big_fish_asset_slot") + } + } -impl big_fish_asset_slotQueryTableAccess for __sdk::QueryTableAccessor { - fn big_fish_asset_slot(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("big_fish_asset_slot") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_type.rs index 406c151d..a6cb0813 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_slot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_asset_kind_type::BigFishAssetKind; use super::big_fish_asset_status_type::BigFishAssetStatus; @@ -13,18 +18,20 @@ pub struct BigFishAssetSlot { pub slot_id: String, pub session_id: String, pub asset_kind: BigFishAssetKind, - pub level: Option, - pub motion_key: Option, + pub level: Option::, + pub motion_key: Option::, pub status: BigFishAssetStatus, - pub asset_url: Option, + pub asset_url: Option::, pub prompt_snapshot: String, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for BigFishAssetSlot { type Module = super::RemoteModule; } + /// Column accessor struct for the table `BigFishAssetSlot`. /// /// Provides typed access to columns for query building. @@ -32,10 +39,10 @@ pub struct BigFishAssetSlotCols { pub slot_id: __sdk::__query_builder::Col, pub session_id: __sdk::__query_builder::Col, pub asset_kind: __sdk::__query_builder::Col, - pub level: __sdk::__query_builder::Col>, - pub motion_key: __sdk::__query_builder::Col>, + pub level: __sdk::__query_builder::Col>, + pub motion_key: __sdk::__query_builder::Col>, pub status: __sdk::__query_builder::Col, - pub asset_url: __sdk::__query_builder::Col>, + pub asset_url: __sdk::__query_builder::Col>, pub prompt_snapshot: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -53,6 +60,7 @@ impl __sdk::__query_builder::HasCols for BigFishAssetSlot { asset_url: __sdk::__query_builder::Col::new(table_name, "asset_url"), prompt_snapshot: __sdk::__query_builder::Col::new(table_name, "prompt_snapshot"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -71,8 +79,10 @@ impl __sdk::__query_builder::HasIxCols for BigFishAssetSlot { BigFishAssetSlotIxCols { session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), slot_id: __sdk::__query_builder::IxCol::new(table_name, "slot_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for BigFishAssetSlot {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_status_type.rs index c673f0f3..25ed0f6a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_asset_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum BigFishAssetStatus { Missing, Ready, + } + + impl __sdk::InModule for BigFishAssetStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_background_blueprint_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_background_blueprint_type.rs index b28e3196..bda8e3be 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_background_blueprint_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_background_blueprint_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,6 +23,8 @@ pub struct BigFishBackgroundBlueprint { pub background_prompt_seed: String, } + impl __sdk::InModule for BigFishBackgroundBlueprint { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_table.rs index d7b82298..3eff808d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_table.rs @@ -2,9 +2,14 @@ // 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::big_fish_creation_session_type::BigFishCreationSession; use super::big_fish_creation_stage_type::BigFishCreationStage; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `big_fish_creation_session`. /// @@ -32,9 +37,7 @@ pub trait BigFishCreationSessionTableAccess { impl BigFishCreationSessionTableAccess for super::RemoteTables { fn big_fish_creation_session(&self) -> BigFishCreationSessionTableHandle<'_> { BigFishCreationSessionTableHandle { - imp: self - .imp - .get_table::("big_fish_creation_session"), + imp: self.imp.get_table::("big_fish_creation_session"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for BigFishCreationSessionTableHandle<'ctx> { type Row = BigFishCreationSession; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = BigFishCreationSessionInsertCallbackId; @@ -98,40 +97,40 @@ impl<'ctx> __sdk::TableWithPrimaryKey for BigFishCreationSessionTableHandle<'ctx } } -/// Access to the `session_id` unique index on the table `big_fish_creation_session`, -/// which allows point queries on the field of the same name -/// via the [`BigFishCreationSessionSessionIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.big_fish_creation_session().session_id().find(...)`. -pub struct BigFishCreationSessionSessionIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> BigFishCreationSessionTableHandle<'ctx> { - /// Get a handle on the `session_id` unique index on the table `big_fish_creation_session`. - pub fn session_id(&self) -> BigFishCreationSessionSessionIdUnique<'ctx> { - BigFishCreationSessionSessionIdUnique { - imp: self.imp.get_unique_constraint::("session_id"), - phantom: std::marker::PhantomData, + /// Access to the `session_id` unique index on the table `big_fish_creation_session`, + /// which allows point queries on the field of the same name + /// via the [`BigFishCreationSessionSessionIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.big_fish_creation_session().session_id().find(...)`. + pub struct BigFishCreationSessionSessionIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> BigFishCreationSessionSessionIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> BigFishCreationSessionTableHandle<'ctx> { + /// Get a handle on the `session_id` unique index on the table `big_fish_creation_session`. + pub fn session_id(&self) -> BigFishCreationSessionSessionIdUnique<'ctx> { + BigFishCreationSessionSessionIdUnique { + imp: self.imp.get_unique_constraint::("session_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> BigFishCreationSessionSessionIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { - let _table = - client_cache.get_or_make_table::("big_fish_creation_session"); + + let _table = client_cache.get_or_make_table::("big_fish_creation_session"); _table.add_unique_constraint::("session_id", |row| &row.session_id); } @@ -140,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `BigFishCreationSession`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait big_fish_creation_sessionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `BigFishCreationSession`. - fn big_fish_creation_session(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `BigFishCreationSession`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait big_fish_creation_sessionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `BigFishCreationSession`. + fn big_fish_creation_session(&self) -> __sdk::__query_builder::Table; + } + + impl big_fish_creation_sessionQueryTableAccess for __sdk::QueryTableAccessor { + fn big_fish_creation_session(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("big_fish_creation_session") + } + } -impl big_fish_creation_sessionQueryTableAccess for __sdk::QueryTableAccessor { - fn big_fish_creation_session(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("big_fish_creation_session") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_type.rs index 353343fd..b45590fe 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_session_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_creation_stage_type::BigFishCreationStage; @@ -16,18 +21,20 @@ pub struct BigFishCreationSession { pub progress_percent: u32, pub stage: BigFishCreationStage, pub anchor_pack_json: String, - pub draft_json: Option, + pub draft_json: Option::, pub asset_coverage_json: String, - pub last_assistant_reply: Option, + pub last_assistant_reply: Option::, pub publish_ready: bool, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for BigFishCreationSession { type Module = super::RemoteModule; } + /// Column accessor struct for the table `BigFishCreationSession`. /// /// Provides typed access to columns for query building. @@ -39,9 +46,9 @@ pub struct BigFishCreationSessionCols { pub progress_percent: __sdk::__query_builder::Col, pub stage: __sdk::__query_builder::Col, pub anchor_pack_json: __sdk::__query_builder::Col, - pub draft_json: __sdk::__query_builder::Col>, + pub draft_json: __sdk::__query_builder::Col>, pub asset_coverage_json: __sdk::__query_builder::Col, - pub last_assistant_reply: __sdk::__query_builder::Col>, + pub last_assistant_reply: __sdk::__query_builder::Col>, pub publish_ready: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, @@ -59,17 +66,12 @@ impl __sdk::__query_builder::HasCols for BigFishCreationSession { stage: __sdk::__query_builder::Col::new(table_name, "stage"), anchor_pack_json: __sdk::__query_builder::Col::new(table_name, "anchor_pack_json"), draft_json: __sdk::__query_builder::Col::new(table_name, "draft_json"), - asset_coverage_json: __sdk::__query_builder::Col::new( - table_name, - "asset_coverage_json", - ), - last_assistant_reply: __sdk::__query_builder::Col::new( - table_name, - "last_assistant_reply", - ), + asset_coverage_json: __sdk::__query_builder::Col::new(table_name, "asset_coverage_json"), + last_assistant_reply: __sdk::__query_builder::Col::new(table_name, "last_assistant_reply"), publish_ready: __sdk::__query_builder::Col::new(table_name, "publish_ready"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -88,8 +90,10 @@ impl __sdk::__query_builder::HasIxCols for BigFishCreationSession { BigFishCreationSessionIxCols { 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 BigFishCreationSession {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_stage_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_stage_type.rs index c878d467..b96fb5e4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_stage_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_creation_stage_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum BigFishCreationStage { ReadyToPublish, Published, + } + + impl __sdk::InModule for BigFishCreationStage { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_draft_compile_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_draft_compile_input_type.rs index 9cf25ddc..25792484 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_draft_compile_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_draft_compile_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct BigFishDraftCompileInput { pub compiled_at_micros: i64, } + impl __sdk::InModule for BigFishDraftCompileInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_game_draft_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_game_draft_type.rs index 0c661176..43810d9b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_game_draft_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_game_draft_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_background_blueprint_type::BigFishBackgroundBlueprint; use super::big_fish_level_blueprint_type::BigFishLevelBlueprint; +use super::big_fish_background_blueprint_type::BigFishBackgroundBlueprint; use super::big_fish_runtime_params_type::BigFishRuntimeParams; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] @@ -15,11 +20,13 @@ pub struct BigFishGameDraft { pub subtitle: String, pub core_fun: String, pub ecology_theme: String, - pub levels: Vec, + pub levels: Vec::, pub background: BigFishBackgroundBlueprint, pub runtime_params: BigFishRuntimeParams, } + impl __sdk::InModule for BigFishGameDraft { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_level_blueprint_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_level_blueprint_type.rs index b8ea2493..3953e1ff 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_level_blueprint_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_level_blueprint_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -14,12 +20,14 @@ pub struct BigFishLevelBlueprint { pub size_ratio: f32, pub visual_prompt_seed: String, pub motion_prompt_seed: String, - pub merge_source_level: Option, - pub prey_window: Vec, - pub threat_window: Vec, + pub merge_source_level: Option::, + pub prey_window: Vec::, + pub threat_window: Vec::, pub is_final_level: bool, } + impl __sdk::InModule for BigFishLevelBlueprint { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_finalize_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_finalize_input_type.rs new file mode 100644 index 00000000..bfe80bda --- /dev/null +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_finalize_input_type.rs @@ -0,0 +1,32 @@ +// 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::big_fish_creation_stage_type::BigFishCreationStage; + +#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] +#[sats(crate = __lib)] +pub struct BigFishMessageFinalizeInput { + pub session_id: String, + pub owner_user_id: String, + pub assistant_message_id: Option::, + pub assistant_reply_text: Option::, + pub stage: BigFishCreationStage, + pub progress_percent: u32, + pub anchor_pack_json: String, + pub error_message: Option::, + pub updated_at_micros: i64, +} + + +impl __sdk::InModule for BigFishMessageFinalizeInput { + type Module = super::RemoteModule; +} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_submit_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_submit_input_type.rs index b0e41147..40dfe964 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_submit_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_message_submit_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,6 +21,8 @@ pub struct BigFishMessageSubmitInput { pub submitted_at_micros: i64, } + impl __sdk::InModule for BigFishMessageSubmitInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_publish_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_publish_input_type.rs index ec00bf84..a1a0fcca 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_publish_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_publish_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct BigFishPublishInput { pub published_at_micros: i64, } + impl __sdk::InModule for BigFishPublishInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_get_input_type.rs index 8e0d0d8d..0940b187 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct BigFishRunGetInput { pub owner_user_id: String, } + impl __sdk::InModule for BigFishRunGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_input_submit_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_input_submit_input_type.rs index f3175d40..ae5f1367 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_input_submit_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_input_submit_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -14,6 +20,8 @@ pub struct BigFishRunInputSubmitInput { pub submitted_at_micros: i64, } + impl __sdk::InModule for BigFishRunInputSubmitInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_procedure_result_type.rs index 86d73fc2..12e6eb95 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_runtime_snapshot_type::BigFishRuntimeSnapshot; @@ -10,10 +15,12 @@ use super::big_fish_runtime_snapshot_type::BigFishRuntimeSnapshot; #[sats(crate = __lib)] pub struct BigFishRunProcedureResult { pub ok: bool, - pub run: Option, - pub error_message: Option, + pub run: Option::, + pub error_message: Option::, } + impl __sdk::InModule for BigFishRunProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_start_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_start_input_type.rs index 944fa6da..4e166892 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_start_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_start_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,6 +19,8 @@ pub struct BigFishRunStartInput { pub started_at_micros: i64, } + impl __sdk::InModule for BigFishRunStartInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_status_type.rs index 6bb94f36..ab1b80cd 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_run_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum BigFishRunStatus { Won, Failed, + } + + impl __sdk::InModule for BigFishRunStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_entity_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_entity_type.rs index ee7c160c..f1a82061 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_entity_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_entity_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_vector_2_type::BigFishVector2; @@ -16,6 +21,8 @@ pub struct BigFishRuntimeEntity { pub offscreen_seconds: f32, } + impl __sdk::InModule for BigFishRuntimeEntity { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_params_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_params_type.rs index 78117371..1fece110 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_params_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_params_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,11 +19,13 @@ pub struct BigFishRuntimeParams { pub leader_move_speed: f32, pub follower_catch_up_speed: f32, pub offscreen_cull_seconds: f32, - pub prey_spawn_delta_levels: Vec, - pub threat_spawn_delta_levels: Vec, + pub prey_spawn_delta_levels: Vec::, + pub threat_spawn_delta_levels: Vec::, pub win_level: u32, } + impl __sdk::InModule for BigFishRuntimeParams { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_table.rs index bbf7ef94..9ed2da19 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::big_fish_run_status_type::BigFishRunStatus; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_runtime_run_type::BigFishRuntimeRun; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::big_fish_run_status_type::BigFishRunStatus; /// Table handle for the table `big_fish_runtime_run`. /// @@ -32,9 +37,7 @@ pub trait BigFishRuntimeRunTableAccess { impl BigFishRuntimeRunTableAccess for super::RemoteTables { fn big_fish_runtime_run(&self) -> BigFishRuntimeRunTableHandle<'_> { BigFishRuntimeRunTableHandle { - imp: self - .imp - .get_table::("big_fish_runtime_run"), + imp: self.imp.get_table::("big_fish_runtime_run"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for BigFishRuntimeRunTableHandle<'ctx> { type Row = BigFishRuntimeRun; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = BigFishRuntimeRunInsertCallbackId; @@ -98,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for BigFishRuntimeRunTableHandle<'ctx> { } } -/// Access to the `run_id` unique index on the table `big_fish_runtime_run`, -/// which allows point queries on the field of the same name -/// via the [`BigFishRuntimeRunRunIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.big_fish_runtime_run().run_id().find(...)`. -pub struct BigFishRuntimeRunRunIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> BigFishRuntimeRunTableHandle<'ctx> { - /// Get a handle on the `run_id` unique index on the table `big_fish_runtime_run`. - pub fn run_id(&self) -> BigFishRuntimeRunRunIdUnique<'ctx> { - BigFishRuntimeRunRunIdUnique { - imp: self.imp.get_unique_constraint::("run_id"), - phantom: std::marker::PhantomData, + /// Access to the `run_id` unique index on the table `big_fish_runtime_run`, + /// which allows point queries on the field of the same name + /// via the [`BigFishRuntimeRunRunIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.big_fish_runtime_run().run_id().find(...)`. + pub struct BigFishRuntimeRunRunIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> BigFishRuntimeRunRunIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> BigFishRuntimeRunTableHandle<'ctx> { + /// Get a handle on the `run_id` unique index on the table `big_fish_runtime_run`. + pub fn run_id(&self) -> BigFishRuntimeRunRunIdUnique<'ctx> { + BigFishRuntimeRunRunIdUnique { + imp: self.imp.get_unique_constraint::("run_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> BigFishRuntimeRunRunIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("big_fish_runtime_run"); _table.add_unique_constraint::("run_id", |row| &row.run_id); } @@ -139,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `BigFishRuntimeRun`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait big_fish_runtime_runQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `BigFishRuntimeRun`. - fn big_fish_runtime_run(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `BigFishRuntimeRun`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait big_fish_runtime_runQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `BigFishRuntimeRun`. + fn big_fish_runtime_run(&self) -> __sdk::__query_builder::Table; + } + + impl big_fish_runtime_runQueryTableAccess for __sdk::QueryTableAccessor { + fn big_fish_runtime_run(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("big_fish_runtime_run") + } + } -impl big_fish_runtime_runQueryTableAccess for __sdk::QueryTableAccessor { - fn big_fish_runtime_run(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("big_fish_runtime_run") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_type.rs index 01852b9c..20ac1aa1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_run_status_type::BigFishRunStatus; @@ -21,10 +26,12 @@ pub struct BigFishRuntimeRun { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for BigFishRuntimeRun { type Module = super::RemoteModule; } + /// Column accessor struct for the table `BigFishRuntimeRun`. /// /// Provides typed access to columns for query building. @@ -55,6 +62,7 @@ impl __sdk::__query_builder::HasCols for BigFishRuntimeRun { tick: __sdk::__query_builder::Col::new(table_name, "tick"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -75,8 +83,10 @@ impl __sdk::__query_builder::HasIxCols for BigFishRuntimeRun { owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"), run_id: __sdk::__query_builder::IxCol::new(table_name, "run_id"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for BigFishRuntimeRun {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_snapshot_type.rs index 32f2a80c..0a367449 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_run_status_type::BigFishRunStatus; use super::big_fish_runtime_entity_type::BigFishRuntimeEntity; @@ -17,15 +22,17 @@ pub struct BigFishRuntimeSnapshot { pub tick: u64, pub player_level: u32, pub win_level: u32, - pub leader_entity_id: Option, - pub owned_entities: Vec, - pub wild_entities: Vec, + pub leader_entity_id: Option::, + pub owned_entities: Vec::, + pub wild_entities: Vec::, pub camera_center: BigFishVector2, pub last_input: BigFishVector2, - pub event_log: Vec, + pub event_log: Vec::, pub updated_at_micros: i64, } + impl __sdk::InModule for BigFishRuntimeSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_create_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_create_input_type.rs index 13533785..f7ae7eb7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_create_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_create_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,6 +21,8 @@ pub struct BigFishSessionCreateInput { pub created_at_micros: i64, } + impl __sdk::InModule for BigFishSessionCreateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_get_input_type.rs index 396808f4..88ef9cfa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct BigFishSessionGetInput { pub owner_user_id: String, } + impl __sdk::InModule for BigFishSessionGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_procedure_result_type.rs index 1f2f7666..db8af7c7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_session_snapshot_type::BigFishSessionSnapshot; @@ -10,10 +15,12 @@ use super::big_fish_session_snapshot_type::BigFishSessionSnapshot; #[sats(crate = __lib)] pub struct BigFishSessionProcedureResult { pub ok: bool, - pub session: Option, - pub error_message: Option, + pub session: Option::, + pub error_message: Option::, } + impl __sdk::InModule for BigFishSessionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_snapshot_type.rs index 11e6a141..abff56b6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_session_snapshot_type.rs @@ -2,14 +2,19 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_agent_message_snapshot_type::BigFishAgentMessageSnapshot; -use super::big_fish_anchor_pack_type::BigFishAnchorPack; -use super::big_fish_asset_coverage_type::BigFishAssetCoverage; -use super::big_fish_asset_slot_snapshot_type::BigFishAssetSlotSnapshot; use super::big_fish_creation_stage_type::BigFishCreationStage; +use super::big_fish_anchor_pack_type::BigFishAnchorPack; use super::big_fish_game_draft_type::BigFishGameDraft; +use super::big_fish_asset_slot_snapshot_type::BigFishAssetSlotSnapshot; +use super::big_fish_asset_coverage_type::BigFishAssetCoverage; +use super::big_fish_agent_message_snapshot_type::BigFishAgentMessageSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -21,16 +26,18 @@ pub struct BigFishSessionSnapshot { pub progress_percent: u32, pub stage: BigFishCreationStage, pub anchor_pack: BigFishAnchorPack, - pub draft: Option, - pub asset_slots: Vec, + pub draft: Option::, + pub asset_slots: Vec::, pub asset_coverage: BigFishAssetCoverage, - pub messages: Vec, - pub last_assistant_reply: Option, + pub messages: Vec::, + pub last_assistant_reply: Option::, pub publish_ready: bool, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for BigFishSessionSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_vector_2_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_vector_2_type.rs index 745063ad..534f83e9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_vector_2_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_vector_2_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct BigFishVector2 { pub y: f32, } + impl __sdk::InModule for BigFishVector2 { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_list_input_type.rs index 240ce46a..72220ff9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct BigFishWorksListInput { pub owner_user_id: String, } + impl __sdk::InModule for BigFishWorksListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_procedure_result_type.rs index 37d7c7b6..a8fbe37b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/big_fish_works_procedure_result_type.rs @@ -2,16 +2,24 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct BigFishWorksProcedureResult { pub ok: bool, - pub items_json: Option, - pub error_message: Option, + pub items_json: Option::, + pub error_message: Option::, } + impl __sdk::InModule for BigFishWorksProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_and_return_procedure.rs index 78c80aee..aebf2217 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_entity_binding_input_type::AssetEntityBindingInput; use super::asset_entity_binding_procedure_result_type::AssetEntityBindingProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct BindAssetObjectToEntityAndReturnArgs { + struct BindAssetObjectToEntityAndReturnArgs { pub input: AssetEntityBindingInput, } + impl __sdk::InModule for BindAssetObjectToEntityAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for BindAssetObjectToEntityAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait bind_asset_object_to_entity_and_return { - fn bind_asset_object_to_entity_and_return(&self, input: AssetEntityBindingInput) { - self.bind_asset_object_to_entity_and_return_then(input, |_, _| {}); + fn bind_asset_object_to_entity_and_return(&self, input: AssetEntityBindingInput, +) { + self.bind_asset_object_to_entity_and_return_then(input, |_, _| {}); } fn bind_asset_object_to_entity_and_return_then( &self, input: AssetEntityBindingInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl bind_asset_object_to_entity_and_return for super::RemoteProcedures { &self, input: AssetEntityBindingInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AssetEntityBindingProcedureResult>( - "bind_asset_object_to_entity_and_return", - BindAssetObjectToEntityAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AssetEntityBindingProcedureResult>( + "bind_asset_object_to_entity_and_return", + BindAssetObjectToEntityAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_reducer.rs index caf48b26..ca2154f7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_entity_binding_input_type::AssetEntityBindingInput; @@ -14,8 +19,10 @@ pub(super) struct BindAssetObjectToEntityArgs { impl From for super::Reducer { fn from(args: BindAssetObjectToEntityArgs) -> Self { - Self::BindAssetObjectToEntity { input: args.input } - } + Self::BindAssetObjectToEntity { + input: args.input, +} +} } impl __sdk::InModule for BindAssetObjectToEntityArgs { @@ -33,8 +40,9 @@ pub trait bind_asset_object_to_entity { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`bind_asset_object_to_entity:bind_asset_object_to_entity_then`] to run a callback after the reducer completes. - fn bind_asset_object_to_entity(&self, input: AssetEntityBindingInput) -> __sdk::Result<()> { - self.bind_asset_object_to_entity_then(input, |_, _| {}) + fn bind_asset_object_to_entity(&self, input: AssetEntityBindingInput, +) -> __sdk::Result<()> { + self.bind_asset_object_to_entity_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `bind_asset_object_to_entity` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait bind_asset_object_to_entity { &self, input: AssetEntityBindingInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl bind_asset_object_to_entity for super::RemoteReducers { &self, input: AssetEntityBindingInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(BindAssetObjectToEntityArgs { input }, callback) + self.imp.invoke_reducer_with_callback(BindAssetObjectToEntityArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/cancel_ai_task_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/cancel_ai_task_and_return_procedure.rs index 0c5dc3eb..1a4a6394 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/cancel_ai_task_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/cancel_ai_task_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_task_cancel_input_type::AiTaskCancelInput; use super::ai_task_procedure_result_type::AiTaskProcedureResult; +use super::ai_task_cancel_input_type::AiTaskCancelInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CancelAiTaskAndReturnArgs { + struct CancelAiTaskAndReturnArgs { pub input: AiTaskCancelInput, } + impl __sdk::InModule for CancelAiTaskAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CancelAiTaskAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait cancel_ai_task_and_return { - fn cancel_ai_task_and_return(&self, input: AiTaskCancelInput) { - self.cancel_ai_task_and_return_then(input, |_, _| {}); + fn cancel_ai_task_and_return(&self, input: AiTaskCancelInput, +) { + self.cancel_ai_task_and_return_then(input, |_, _| {}); } fn cancel_ai_task_and_return_then( &self, input: AiTaskCancelInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl cancel_ai_task_and_return for super::RemoteProcedures { &self, input: AiTaskCancelInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "cancel_ai_task_and_return", - CancelAiTaskAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "cancel_ai_task_and_return", + CancelAiTaskAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_pace_band_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_pace_band_type.rs index effbeb9d..fe7d5e3a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_pace_band_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_pace_band_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum ChapterPaceBand { Pressure, FinaleDense, + } + + impl __sdk::InModule for ChapterPaceBand { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_get_input_type.rs index 927a4b04..cc88d00b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct ChapterProgressionGetInput { pub chapter_id: String, } + impl __sdk::InModule for ChapterProgressionGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_input_type.rs index dae51fa0..ed9aa5ca 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_pace_band_type::ChapterPaceBand; @@ -26,6 +31,8 @@ pub struct ChapterProgressionInput { pub updated_at_micros: i64, } + impl __sdk::InModule for ChapterProgressionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_ledger_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_ledger_input_type.rs index a599ffc9..a9e0a8c3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_ledger_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_ledger_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,10 +18,12 @@ pub struct ChapterProgressionLedgerInput { pub granted_quest_xp: u32, pub granted_hostile_xp: u32, pub hostile_defeat_increment: u32, - pub level_at_exit: Option, + pub level_at_exit: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for ChapterProgressionLedgerInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_procedure_result_type.rs index 276b3a26..6a7d01af 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_progression_snapshot_type::ChapterProgressionSnapshot; @@ -10,10 +15,12 @@ use super::chapter_progression_snapshot_type::ChapterProgressionSnapshot; #[sats(crate = __lib)] pub struct ChapterProgressionProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for ChapterProgressionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_snapshot_type.rs index e1fde7fe..d1eaad92 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_pace_band_type::ChapterPaceBand; @@ -25,12 +30,14 @@ pub struct ChapterProgressionSnapshot { pub expected_hostile_defeat_count: u32, pub actual_hostile_defeat_count: u32, pub level_at_entry: u32, - pub level_at_exit: Option, + pub level_at_exit: Option::, pub pace_band: ChapterPaceBand, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for ChapterProgressionSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_table.rs index 2fb6c042..5bd5c38c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::chapter_pace_band_type::ChapterPaceBand; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_progression_type::ChapterProgression; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::chapter_pace_band_type::ChapterPaceBand; /// Table handle for the table `chapter_progression`. /// @@ -32,9 +37,7 @@ pub trait ChapterProgressionTableAccess { impl ChapterProgressionTableAccess for super::RemoteTables { fn chapter_progression(&self) -> ChapterProgressionTableHandle<'_> { ChapterProgressionTableHandle { - imp: self - .imp - .get_table::("chapter_progression"), + imp: self.imp.get_table::("chapter_progression"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for ChapterProgressionTableHandle<'ctx> { type Row = ChapterProgression; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = ChapterProgressionInsertCallbackId; @@ -98,44 +97,41 @@ impl<'ctx> __sdk::TableWithPrimaryKey for ChapterProgressionTableHandle<'ctx> { } } -/// Access to the `chapter_progression_id` unique index on the table `chapter_progression`, -/// which allows point queries on the field of the same name -/// via the [`ChapterProgressionChapterProgressionIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.chapter_progression().chapter_progression_id().find(...)`. -pub struct ChapterProgressionChapterProgressionIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> ChapterProgressionTableHandle<'ctx> { - /// Get a handle on the `chapter_progression_id` unique index on the table `chapter_progression`. - pub fn chapter_progression_id(&self) -> ChapterProgressionChapterProgressionIdUnique<'ctx> { - ChapterProgressionChapterProgressionIdUnique { - imp: self - .imp - .get_unique_constraint::("chapter_progression_id"), - phantom: std::marker::PhantomData, + /// Access to the `chapter_progression_id` unique index on the table `chapter_progression`, + /// which allows point queries on the field of the same name + /// via the [`ChapterProgressionChapterProgressionIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.chapter_progression().chapter_progression_id().find(...)`. + pub struct ChapterProgressionChapterProgressionIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> ChapterProgressionChapterProgressionIdUnique<'ctx> { - /// Find the subscribed row whose `chapter_progression_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 { - self.imp.find(col_val) - } -} + impl<'ctx> ChapterProgressionTableHandle<'ctx> { + /// Get a handle on the `chapter_progression_id` unique index on the table `chapter_progression`. + pub fn chapter_progression_id(&self) -> ChapterProgressionChapterProgressionIdUnique<'ctx> { + ChapterProgressionChapterProgressionIdUnique { + imp: self.imp.get_unique_constraint::("chapter_progression_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> ChapterProgressionChapterProgressionIdUnique<'ctx> { + /// Find the subscribed row whose `chapter_progression_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("chapter_progression"); - _table.add_unique_constraint::("chapter_progression_id", |row| { - &row.chapter_progression_id - }); + _table.add_unique_constraint::("chapter_progression_id", |row| &row.chapter_progression_id); } #[doc(hidden)] @@ -143,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `ChapterProgression`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait chapter_progressionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `ChapterProgression`. - fn chapter_progression(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `ChapterProgression`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait chapter_progressionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ChapterProgression`. + fn chapter_progression(&self) -> __sdk::__query_builder::Table; + } + + impl chapter_progressionQueryTableAccess for __sdk::QueryTableAccessor { + fn chapter_progression(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("chapter_progression") + } + } -impl chapter_progressionQueryTableAccess for __sdk::QueryTableAccessor { - fn chapter_progression(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("chapter_progression") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_type.rs index c94a7196..c5600eb7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/chapter_progression_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_pace_band_type::ChapterPaceBand; @@ -26,16 +31,18 @@ pub struct ChapterProgression { pub expected_hostile_defeat_count: u32, pub actual_hostile_defeat_count: u32, pub level_at_entry: u32, - pub level_at_exit: Option, + pub level_at_exit: Option::, pub pace_band: ChapterPaceBand, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for ChapterProgression { type Module = super::RemoteModule; } + /// Column accessor struct for the table `ChapterProgression`. /// /// Provides typed access to columns for query building. @@ -57,7 +64,7 @@ pub struct ChapterProgressionCols { pub expected_hostile_defeat_count: __sdk::__query_builder::Col, pub actual_hostile_defeat_count: __sdk::__query_builder::Col, pub level_at_entry: __sdk::__query_builder::Col, - pub level_at_exit: __sdk::__query_builder::Col>, + pub level_at_exit: __sdk::__query_builder::Col>, pub pace_band: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, @@ -67,22 +74,13 @@ impl __sdk::__query_builder::HasCols for ChapterProgression { type Cols = ChapterProgressionCols; fn cols(table_name: &'static str) -> Self::Cols { ChapterProgressionCols { - chapter_progression_id: __sdk::__query_builder::Col::new( - table_name, - "chapter_progression_id", - ), + chapter_progression_id: __sdk::__query_builder::Col::new(table_name, "chapter_progression_id"), user_id: __sdk::__query_builder::Col::new(table_name, "user_id"), chapter_id: __sdk::__query_builder::Col::new(table_name, "chapter_id"), chapter_index: __sdk::__query_builder::Col::new(table_name, "chapter_index"), total_chapters: __sdk::__query_builder::Col::new(table_name, "total_chapters"), - entry_pseudo_level_millis: __sdk::__query_builder::Col::new( - table_name, - "entry_pseudo_level_millis", - ), - exit_pseudo_level_millis: __sdk::__query_builder::Col::new( - table_name, - "exit_pseudo_level_millis", - ), + entry_pseudo_level_millis: __sdk::__query_builder::Col::new(table_name, "entry_pseudo_level_millis"), + exit_pseudo_level_millis: __sdk::__query_builder::Col::new(table_name, "exit_pseudo_level_millis"), entry_level: __sdk::__query_builder::Col::new(table_name, "entry_level"), exit_level: __sdk::__query_builder::Col::new(table_name, "exit_level"), planned_total_xp: __sdk::__query_builder::Col::new(table_name, "planned_total_xp"), @@ -90,19 +88,14 @@ impl __sdk::__query_builder::HasCols for ChapterProgression { planned_hostile_xp: __sdk::__query_builder::Col::new(table_name, "planned_hostile_xp"), actual_quest_xp: __sdk::__query_builder::Col::new(table_name, "actual_quest_xp"), actual_hostile_xp: __sdk::__query_builder::Col::new(table_name, "actual_hostile_xp"), - expected_hostile_defeat_count: __sdk::__query_builder::Col::new( - table_name, - "expected_hostile_defeat_count", - ), - actual_hostile_defeat_count: __sdk::__query_builder::Col::new( - table_name, - "actual_hostile_defeat_count", - ), + expected_hostile_defeat_count: __sdk::__query_builder::Col::new(table_name, "expected_hostile_defeat_count"), + actual_hostile_defeat_count: __sdk::__query_builder::Col::new(table_name, "actual_hostile_defeat_count"), level_at_entry: __sdk::__query_builder::Col::new(table_name, "level_at_entry"), level_at_exit: __sdk::__query_builder::Col::new(table_name, "level_at_exit"), pace_band: __sdk::__query_builder::Col::new(table_name, "pace_band"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -121,13 +114,12 @@ impl __sdk::__query_builder::HasIxCols for ChapterProgression { fn ix_cols(table_name: &'static str) -> Self::IxCols { ChapterProgressionIxCols { chapter_id: __sdk::__query_builder::IxCol::new(table_name, "chapter_id"), - chapter_progression_id: __sdk::__query_builder::IxCol::new( - table_name, - "chapter_progression_id", - ), + chapter_progression_id: __sdk::__query_builder::IxCol::new(table_name, "chapter_progression_id"), user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for ChapterProgression {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/clear_platform_browse_history_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/clear_platform_browse_history_and_return_procedure.rs index c8ba8d49..5b9a2c9e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/clear_platform_browse_history_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/clear_platform_browse_history_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_browse_history_clear_input_type::RuntimeBrowseHistoryClearInput; use super::runtime_browse_history_procedure_result_type::RuntimeBrowseHistoryProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ClearPlatformBrowseHistoryAndReturnArgs { + struct ClearPlatformBrowseHistoryAndReturnArgs { pub input: RuntimeBrowseHistoryClearInput, } + impl __sdk::InModule for ClearPlatformBrowseHistoryAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ClearPlatformBrowseHistoryAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait clear_platform_browse_history_and_return { - fn clear_platform_browse_history_and_return(&self, input: RuntimeBrowseHistoryClearInput) { - self.clear_platform_browse_history_and_return_then(input, |_, _| {}); + fn clear_platform_browse_history_and_return(&self, input: RuntimeBrowseHistoryClearInput, +) { + self.clear_platform_browse_history_and_return_then(input, |_, _| {}); } fn clear_platform_browse_history_and_return_then( &self, input: RuntimeBrowseHistoryClearInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl clear_platform_browse_history_and_return for super::RemoteProcedures { &self, input: RuntimeBrowseHistoryClearInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeBrowseHistoryProcedureResult>( - "clear_platform_browse_history_and_return", - ClearPlatformBrowseHistoryAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeBrowseHistoryProcedureResult>( + "clear_platform_browse_history_and_return", + ClearPlatformBrowseHistoryAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/combat_outcome_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/combat_outcome_type.rs index 731563dd..5ef77940 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/combat_outcome_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/combat_outcome_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum CombatOutcome { SparComplete, Escaped, + } + + impl __sdk::InModule for CombatOutcome { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/compile_big_fish_draft_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/compile_big_fish_draft_procedure.rs index bafe95a6..ba45db0a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/compile_big_fish_draft_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/compile_big_fish_draft_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_draft_compile_input_type::BigFishDraftCompileInput; use super::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CompileBigFishDraftArgs { + struct CompileBigFishDraftArgs { pub input: BigFishDraftCompileInput, } + impl __sdk::InModule for CompileBigFishDraftArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CompileBigFishDraftArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait compile_big_fish_draft { - fn compile_big_fish_draft(&self, input: BigFishDraftCompileInput) { - self.compile_big_fish_draft_then(input, |_, _| {}); + fn compile_big_fish_draft(&self, input: BigFishDraftCompileInput, +) { + self.compile_big_fish_draft_then(input, |_, _| {}); } fn compile_big_fish_draft_then( &self, input: BigFishDraftCompileInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl compile_big_fish_draft for super::RemoteProcedures { &self, input: BigFishDraftCompileInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( - "compile_big_fish_draft", - CompileBigFishDraftArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "compile_big_fish_draft", + CompileBigFishDraftArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/compile_custom_world_published_profile_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/compile_custom_world_published_profile_procedure.rs index 67706fab..767a3954 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/compile_custom_world_published_profile_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/compile_custom_world_published_profile_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_published_profile_compile_input_type::CustomWorldPublishedProfileCompileInput; use super::custom_world_published_profile_compile_result_type::CustomWorldPublishedProfileCompileResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CompileCustomWorldPublishedProfileArgs { + struct CompileCustomWorldPublishedProfileArgs { pub input: CustomWorldPublishedProfileCompileInput, } + impl __sdk::InModule for CompileCustomWorldPublishedProfileArgs { type Module = super::RemoteModule; } @@ -22,22 +28,16 @@ impl __sdk::InModule for CompileCustomWorldPublishedProfileArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait compile_custom_world_published_profile { - fn compile_custom_world_published_profile( - &self, - input: CustomWorldPublishedProfileCompileInput, - ) { - self.compile_custom_world_published_profile_then(input, |_, _| {}); + fn compile_custom_world_published_profile(&self, input: CustomWorldPublishedProfileCompileInput, +) { + self.compile_custom_world_published_profile_then(input, |_, _| {}); } fn compile_custom_world_published_profile_then( &self, input: CustomWorldPublishedProfileCompileInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -46,17 +46,13 @@ impl compile_custom_world_published_profile for super::RemoteProcedures { &self, input: CustomWorldPublishedProfileCompileInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldPublishedProfileCompileResult>( - "compile_custom_world_published_profile", - CompileCustomWorldPublishedProfileArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldPublishedProfileCompileResult>( + "compile_custom_world_published_profile", + CompileCustomWorldPublishedProfileArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/compile_puzzle_agent_draft_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/compile_puzzle_agent_draft_procedure.rs index 177c0c40..d90769dc 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/compile_puzzle_agent_draft_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/compile_puzzle_agent_draft_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; use super::puzzle_draft_compile_input_type::PuzzleDraftCompileInput; +use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CompilePuzzleAgentDraftArgs { + struct CompilePuzzleAgentDraftArgs { pub input: PuzzleDraftCompileInput, } + impl __sdk::InModule for CompilePuzzleAgentDraftArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CompilePuzzleAgentDraftArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait compile_puzzle_agent_draft { - fn compile_puzzle_agent_draft(&self, input: PuzzleDraftCompileInput) { - self.compile_puzzle_agent_draft_then(input, |_, _| {}); + fn compile_puzzle_agent_draft(&self, input: PuzzleDraftCompileInput, +) { + self.compile_puzzle_agent_draft_then(input, |_, _| {}); } fn compile_puzzle_agent_draft_then( &self, input: PuzzleDraftCompileInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl compile_puzzle_agent_draft for super::RemoteProcedures { &self, input: PuzzleDraftCompileInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "compile_puzzle_agent_draft", - CompilePuzzleAgentDraftArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "compile_puzzle_agent_draft", + CompilePuzzleAgentDraftArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_stage_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_stage_and_return_procedure.rs index e59ab8f0..f921c224 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_stage_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_stage_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_stage_completion_input_type::AiStageCompletionInput; use super::ai_task_procedure_result_type::AiTaskProcedureResult; +use super::ai_stage_completion_input_type::AiStageCompletionInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CompleteAiStageAndReturnArgs { + struct CompleteAiStageAndReturnArgs { pub input: AiStageCompletionInput, } + impl __sdk::InModule for CompleteAiStageAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CompleteAiStageAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait complete_ai_stage_and_return { - fn complete_ai_stage_and_return(&self, input: AiStageCompletionInput) { - self.complete_ai_stage_and_return_then(input, |_, _| {}); + fn complete_ai_stage_and_return(&self, input: AiStageCompletionInput, +) { + self.complete_ai_stage_and_return_then(input, |_, _| {}); } fn complete_ai_stage_and_return_then( &self, input: AiStageCompletionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl complete_ai_stage_and_return for super::RemoteProcedures { &self, input: AiStageCompletionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "complete_ai_stage_and_return", - CompleteAiStageAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "complete_ai_stage_and_return", + CompleteAiStageAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_task_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_task_and_return_procedure.rs index ca7eab9f..47ae2af1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_task_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/complete_ai_task_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_task_finish_input_type::AiTaskFinishInput; use super::ai_task_procedure_result_type::AiTaskProcedureResult; +use super::ai_task_finish_input_type::AiTaskFinishInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CompleteAiTaskAndReturnArgs { + struct CompleteAiTaskAndReturnArgs { pub input: AiTaskFinishInput, } + impl __sdk::InModule for CompleteAiTaskAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CompleteAiTaskAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait complete_ai_task_and_return { - fn complete_ai_task_and_return(&self, input: AiTaskFinishInput) { - self.complete_ai_task_and_return_then(input, |_, _| {}); + fn complete_ai_task_and_return(&self, input: AiTaskFinishInput, +) { + self.complete_ai_task_and_return_then(input, |_, _| {}); } fn complete_ai_task_and_return_then( &self, input: AiTaskFinishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl complete_ai_task_and_return for super::RemoteProcedures { &self, input: AiTaskFinishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "complete_ai_task_and_return", - CompleteAiTaskAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "complete_ai_task_and_return", + CompleteAiTaskAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_and_return_procedure.rs index cc65f744..11c079e4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::asset_object_procedure_result_type::AssetObjectProcedureResult; use super::asset_object_upsert_input_type::AssetObjectUpsertInput; +use super::asset_object_procedure_result_type::AssetObjectProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ConfirmAssetObjectAndReturnArgs { + struct ConfirmAssetObjectAndReturnArgs { pub input: AssetObjectUpsertInput, } + impl __sdk::InModule for ConfirmAssetObjectAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ConfirmAssetObjectAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait confirm_asset_object_and_return { - fn confirm_asset_object_and_return(&self, input: AssetObjectUpsertInput) { - self.confirm_asset_object_and_return_then(input, |_, _| {}); + fn confirm_asset_object_and_return(&self, input: AssetObjectUpsertInput, +) { + self.confirm_asset_object_and_return_then(input, |_, _| {}); } fn confirm_asset_object_and_return_then( &self, input: AssetObjectUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl confirm_asset_object_and_return for super::RemoteProcedures { &self, input: AssetObjectUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AssetObjectProcedureResult>( - "confirm_asset_object_and_return", - ConfirmAssetObjectAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AssetObjectProcedureResult>( + "confirm_asset_object_and_return", + ConfirmAssetObjectAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_reducer.rs index f5edb63a..fb6acde2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::asset_object_upsert_input_type::AssetObjectUpsertInput; @@ -14,8 +19,10 @@ pub(super) struct ConfirmAssetObjectArgs { impl From for super::Reducer { fn from(args: ConfirmAssetObjectArgs) -> Self { - Self::ConfirmAssetObject { input: args.input } - } + Self::ConfirmAssetObject { + input: args.input, +} +} } impl __sdk::InModule for ConfirmAssetObjectArgs { @@ -33,8 +40,9 @@ pub trait confirm_asset_object { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`confirm_asset_object:confirm_asset_object_then`] to run a callback after the reducer completes. - fn confirm_asset_object(&self, input: AssetObjectUpsertInput) -> __sdk::Result<()> { - self.confirm_asset_object_then(input, |_, _| {}) + fn confirm_asset_object(&self, input: AssetObjectUpsertInput, +) -> __sdk::Result<()> { + self.confirm_asset_object_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `confirm_asset_object` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait confirm_asset_object { &self, input: AssetObjectUpsertInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl confirm_asset_object for super::RemoteReducers { &self, input: AssetObjectUpsertInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ConfirmAssetObjectArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ConfirmAssetObjectArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/consume_inventory_item_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/consume_inventory_item_input_type.rs index 0e867e21..3bd69ba8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/consume_inventory_item_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/consume_inventory_item_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct ConsumeInventoryItemInput { pub quantity: u32, } + impl __sdk::InModule for ConsumeInventoryItemInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/continue_story_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/continue_story_and_return_procedure.rs index 1c2b51d8..0713f423 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/continue_story_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/continue_story_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::story_continue_input_type::StoryContinueInput; use super::story_session_procedure_result_type::StorySessionProcedureResult; +use super::story_continue_input_type::StoryContinueInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ContinueStoryAndReturnArgs { + struct ContinueStoryAndReturnArgs { pub input: StoryContinueInput, } + impl __sdk::InModule for ContinueStoryAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ContinueStoryAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait continue_story_and_return { - fn continue_story_and_return(&self, input: StoryContinueInput) { - self.continue_story_and_return_then(input, |_, _| {}); + fn continue_story_and_return(&self, input: StoryContinueInput, +) { + self.continue_story_and_return_then(input, |_, _| {}); } fn continue_story_and_return_then( &self, input: StoryContinueInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl continue_story_and_return for super::RemoteProcedures { &self, input: StoryContinueInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, StorySessionProcedureResult>( - "continue_story_and_return", - ContinueStoryAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, StorySessionProcedureResult>( + "continue_story_and_return", + ContinueStoryAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/continue_story_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/continue_story_reducer.rs index fb35bd1f..9c2b310a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/continue_story_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/continue_story_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_continue_input_type::StoryContinueInput; @@ -14,8 +19,10 @@ pub(super) struct ContinueStoryArgs { impl From for super::Reducer { fn from(args: ContinueStoryArgs) -> Self { - Self::ContinueStory { input: args.input } - } + Self::ContinueStory { + input: args.input, +} +} } impl __sdk::InModule for ContinueStoryArgs { @@ -33,8 +40,9 @@ pub trait continue_story { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`continue_story:continue_story_then`] to run a callback after the reducer completes. - fn continue_story(&self, input: StoryContinueInput) -> __sdk::Result<()> { - self.continue_story_then(input, |_, _| {}) + fn continue_story(&self, input: StoryContinueInput, +) -> __sdk::Result<()> { + self.continue_story_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `continue_story` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait continue_story { &self, input: StoryContinueInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl continue_story for super::RemoteReducers { &self, input: StoryContinueInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ContinueStoryArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ContinueStoryArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_and_return_procedure.rs index a2f40fd0..cee9ffd8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_task_create_input_type::AiTaskCreateInput; use super::ai_task_procedure_result_type::AiTaskProcedureResult; +use super::ai_task_create_input_type::AiTaskCreateInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CreateAiTaskAndReturnArgs { + struct CreateAiTaskAndReturnArgs { pub input: AiTaskCreateInput, } + impl __sdk::InModule for CreateAiTaskAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CreateAiTaskAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait create_ai_task_and_return { - fn create_ai_task_and_return(&self, input: AiTaskCreateInput) { - self.create_ai_task_and_return_then(input, |_, _| {}); + fn create_ai_task_and_return(&self, input: AiTaskCreateInput, +) { + self.create_ai_task_and_return_then(input, |_, _| {}); } fn create_ai_task_and_return_then( &self, input: AiTaskCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl create_ai_task_and_return for super::RemoteProcedures { &self, input: AiTaskCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "create_ai_task_and_return", - CreateAiTaskAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "create_ai_task_and_return", + CreateAiTaskAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_reducer.rs index b87207f0..d57e7291 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_create_input_type::AiTaskCreateInput; @@ -14,8 +19,10 @@ pub(super) struct CreateAiTaskArgs { impl From for super::Reducer { fn from(args: CreateAiTaskArgs) -> Self { - Self::CreateAiTask { input: args.input } - } + Self::CreateAiTask { + input: args.input, +} +} } impl __sdk::InModule for CreateAiTaskArgs { @@ -33,8 +40,9 @@ pub trait create_ai_task { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`create_ai_task:create_ai_task_then`] to run a callback after the reducer completes. - fn create_ai_task(&self, input: AiTaskCreateInput) -> __sdk::Result<()> { - self.create_ai_task_then(input, |_, _| {}) + fn create_ai_task(&self, input: AiTaskCreateInput, +) -> __sdk::Result<()> { + self.create_ai_task_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `create_ai_task` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait create_ai_task { &self, input: AiTaskCreateInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl create_ai_task for super::RemoteReducers { &self, input: AiTaskCreateInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(CreateAiTaskArgs { input }, callback) + self.imp.invoke_reducer_with_callback(CreateAiTaskArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_and_return_procedure.rs index c028ba4e..bfee133e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_state_input_type::BattleStateInput; use super::battle_state_procedure_result_type::BattleStateProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CreateBattleStateAndReturnArgs { + struct CreateBattleStateAndReturnArgs { pub input: BattleStateInput, } + impl __sdk::InModule for CreateBattleStateAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CreateBattleStateAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait create_battle_state_and_return { - fn create_battle_state_and_return(&self, input: BattleStateInput) { - self.create_battle_state_and_return_then(input, |_, _| {}); + fn create_battle_state_and_return(&self, input: BattleStateInput, +) { + self.create_battle_state_and_return_then(input, |_, _| {}); } fn create_battle_state_and_return_then( &self, input: BattleStateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl create_battle_state_and_return for super::RemoteProcedures { &self, input: BattleStateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BattleStateProcedureResult>( - "create_battle_state_and_return", - CreateBattleStateAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BattleStateProcedureResult>( + "create_battle_state_and_return", + CreateBattleStateAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_reducer.rs index 7f34eab2..258d5af2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_state_input_type::BattleStateInput; @@ -14,8 +19,10 @@ pub(super) struct CreateBattleStateArgs { impl From for super::Reducer { fn from(args: CreateBattleStateArgs) -> Self { - Self::CreateBattleState { input: args.input } - } + Self::CreateBattleState { + input: args.input, +} +} } impl __sdk::InModule for CreateBattleStateArgs { @@ -33,8 +40,9 @@ pub trait create_battle_state { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`create_battle_state:create_battle_state_then`] to run a callback after the reducer completes. - fn create_battle_state(&self, input: BattleStateInput) -> __sdk::Result<()> { - self.create_battle_state_then(input, |_, _| {}) + fn create_battle_state(&self, input: BattleStateInput, +) -> __sdk::Result<()> { + self.create_battle_state_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `create_battle_state` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait create_battle_state { &self, input: BattleStateInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl create_battle_state for super::RemoteReducers { &self, input: BattleStateInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(CreateBattleStateArgs { input }, callback) + self.imp.invoke_reducer_with_callback(CreateBattleStateArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_big_fish_session_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_big_fish_session_procedure.rs index 6e48521a..cf4398e6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_big_fish_session_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_big_fish_session_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_session_create_input_type::BigFishSessionCreateInput; use super::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; +use super::big_fish_session_create_input_type::BigFishSessionCreateInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CreateBigFishSessionArgs { + struct CreateBigFishSessionArgs { pub input: BigFishSessionCreateInput, } + impl __sdk::InModule for CreateBigFishSessionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CreateBigFishSessionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait create_big_fish_session { - fn create_big_fish_session(&self, input: BigFishSessionCreateInput) { - self.create_big_fish_session_then(input, |_, _| {}); + fn create_big_fish_session(&self, input: BigFishSessionCreateInput, +) { + self.create_big_fish_session_then(input, |_, _| {}); } fn create_big_fish_session_then( &self, input: BigFishSessionCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl create_big_fish_session for super::RemoteProcedures { &self, input: BigFishSessionCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( - "create_big_fish_session", - CreateBigFishSessionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "create_big_fish_session", + CreateBigFishSessionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_custom_world_agent_session_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_custom_world_agent_session_procedure.rs index 96a21162..18065e71 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_custom_world_agent_session_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_custom_world_agent_session_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_session_create_input_type::CustomWorldAgentSessionCreateInput; use super::custom_world_agent_session_procedure_result_type::CustomWorldAgentSessionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CreateCustomWorldAgentSessionArgs { + struct CreateCustomWorldAgentSessionArgs { pub input: CustomWorldAgentSessionCreateInput, } + impl __sdk::InModule for CreateCustomWorldAgentSessionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CreateCustomWorldAgentSessionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait create_custom_world_agent_session { - fn create_custom_world_agent_session(&self, input: CustomWorldAgentSessionCreateInput) { - self.create_custom_world_agent_session_then(input, |_, _| {}); + fn create_custom_world_agent_session(&self, input: CustomWorldAgentSessionCreateInput, +) { + self.create_custom_world_agent_session_then(input, |_, _| {}); } fn create_custom_world_agent_session_then( &self, input: CustomWorldAgentSessionCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl create_custom_world_agent_session for super::RemoteProcedures { &self, input: CustomWorldAgentSessionCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldAgentSessionProcedureResult>( - "create_custom_world_agent_session", - CreateCustomWorldAgentSessionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldAgentSessionProcedureResult>( + "create_custom_world_agent_session", + CreateCustomWorldAgentSessionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/create_puzzle_agent_session_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/create_puzzle_agent_session_procedure.rs index 62b77081..d5c79fa4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/create_puzzle_agent_session_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/create_puzzle_agent_session_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_agent_session_create_input_type::PuzzleAgentSessionCreateInput; use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; +use super::puzzle_agent_session_create_input_type::PuzzleAgentSessionCreateInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct CreatePuzzleAgentSessionArgs { + struct CreatePuzzleAgentSessionArgs { pub input: PuzzleAgentSessionCreateInput, } + impl __sdk::InModule for CreatePuzzleAgentSessionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for CreatePuzzleAgentSessionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait create_puzzle_agent_session { - fn create_puzzle_agent_session(&self, input: PuzzleAgentSessionCreateInput) { - self.create_puzzle_agent_session_then(input, |_, _| {}); + fn create_puzzle_agent_session(&self, input: PuzzleAgentSessionCreateInput, +) { + self.create_puzzle_agent_session_then(input, |_, _| {}); } fn create_puzzle_agent_session_then( &self, input: PuzzleAgentSessionCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl create_puzzle_agent_session for super::RemoteProcedures { &self, input: PuzzleAgentSessionCreateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "create_puzzle_agent_session", - CreatePuzzleAgentSessionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "create_puzzle_agent_session", + CreatePuzzleAgentSessionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_input_type.rs index 9663e12d..3281a80a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,10 +17,12 @@ pub struct CustomWorldAgentActionExecuteInput { pub owner_user_id: String, pub operation_id: String, pub action: String, - pub payload_json: Option, + pub payload_json: Option::, pub submitted_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentActionExecuteInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_result_type.rs index 39aeb7e0..6729b4db 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_action_execute_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_operation_snapshot_type::CustomWorldAgentOperationSnapshot; @@ -10,10 +15,12 @@ use super::custom_world_agent_operation_snapshot_type::CustomWorldAgentOperation #[sats(crate = __lib)] pub struct CustomWorldAgentActionExecuteResult { pub ok: bool, - pub operation: Option, - pub error_message: Option, + pub operation: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldAgentActionExecuteResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_card_detail_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_card_detail_get_input_type.rs index 2b8cde47..c6cdeb3b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_card_detail_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_card_detail_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct CustomWorldAgentCardDetailGetInput { pub card_id: String, } + impl __sdk::InModule for CustomWorldAgentCardDetailGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_finalize_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_finalize_input_type.rs index 25184d85..d0153b44 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_finalize_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_finalize_input_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; use super::rpg_agent_stage_type::RpgAgentStage; +use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,29 +18,31 @@ pub struct CustomWorldAgentMessageFinalizeInput { pub session_id: String, pub owner_user_id: String, pub operation_id: String, - pub assistant_message_id: Option, - pub assistant_reply_text: Option, + pub assistant_message_id: Option::, + pub assistant_reply_text: Option::, pub phase_label: String, pub phase_detail: String, pub operation_status: RpgAgentOperationStatus, pub operation_progress: u32, pub stage: RpgAgentStage, pub progress_percent: u32, - pub focus_card_id: Option, + pub focus_card_id: Option::, pub anchor_content_json: String, - pub creator_intent_json: Option, + pub creator_intent_json: Option::, pub creator_intent_readiness_json: String, - pub anchor_pack_json: Option, - pub draft_profile_json: Option, + pub anchor_pack_json: Option::, + pub draft_profile_json: Option::, pub pending_clarifications_json: String, pub suggested_actions_json: String, pub recommended_replies_json: String, pub quality_findings_json: String, pub asset_coverage_json: String, - pub error_message: Option, + pub error_message: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentMessageFinalizeInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_snapshot_type.rs index 69368214..e57b9839 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_snapshot_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::rpg_agent_message_kind_type::RpgAgentMessageKind; use super::rpg_agent_message_role_type::RpgAgentMessageRole; +use super::rpg_agent_message_kind_type::RpgAgentMessageKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,10 +20,12 @@ pub struct CustomWorldAgentMessageSnapshot { pub role: RpgAgentMessageRole, pub kind: RpgAgentMessageKind, pub text: String, - pub related_operation_id: Option, + pub related_operation_id: Option::, pub created_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentMessageSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_submit_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_submit_input_type.rs index cf3a4230..bc2da116 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_submit_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_submit_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,6 +21,8 @@ pub struct CustomWorldAgentMessageSubmitInput { pub submitted_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentMessageSubmitInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_table.rs index 1d0886e7..12cae6f1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_table.rs @@ -2,10 +2,15 @@ // 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::custom_world_agent_message_type::CustomWorldAgentMessage; -use super::rpg_agent_message_kind_type::RpgAgentMessageKind; use super::rpg_agent_message_role_type::RpgAgentMessageRole; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::rpg_agent_message_kind_type::RpgAgentMessageKind; /// Table handle for the table `custom_world_agent_message`. /// @@ -33,9 +38,7 @@ pub trait CustomWorldAgentMessageTableAccess { impl CustomWorldAgentMessageTableAccess for super::RemoteTables { fn custom_world_agent_message(&self) -> CustomWorldAgentMessageTableHandle<'_> { CustomWorldAgentMessageTableHandle { - imp: self - .imp - .get_table::("custom_world_agent_message"), + imp: self.imp.get_table::("custom_world_agent_message"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for CustomWorldAgentMessageTableHandle<'ctx> { type Row = CustomWorldAgentMessage; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldAgentMessageInsertCallbackId; @@ -99,40 +98,40 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldAgentMessageTableHandle<'ct } } -/// Access to the `message_id` unique index on the table `custom_world_agent_message`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldAgentMessageMessageIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_agent_message().message_id().find(...)`. -pub struct CustomWorldAgentMessageMessageIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldAgentMessageTableHandle<'ctx> { - /// Get a handle on the `message_id` unique index on the table `custom_world_agent_message`. - pub fn message_id(&self) -> CustomWorldAgentMessageMessageIdUnique<'ctx> { - CustomWorldAgentMessageMessageIdUnique { - imp: self.imp.get_unique_constraint::("message_id"), - phantom: std::marker::PhantomData, + /// Access to the `message_id` unique index on the table `custom_world_agent_message`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldAgentMessageMessageIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_agent_message().message_id().find(...)`. + pub struct CustomWorldAgentMessageMessageIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldAgentMessageMessageIdUnique<'ctx> { - /// Find the subscribed row whose `message_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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldAgentMessageTableHandle<'ctx> { + /// Get a handle on the `message_id` unique index on the table `custom_world_agent_message`. + pub fn message_id(&self) -> CustomWorldAgentMessageMessageIdUnique<'ctx> { + CustomWorldAgentMessageMessageIdUnique { + imp: self.imp.get_unique_constraint::("message_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldAgentMessageMessageIdUnique<'ctx> { + /// Find the subscribed row whose `message_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { - let _table = - client_cache.get_or_make_table::("custom_world_agent_message"); + + let _table = client_cache.get_or_make_table::("custom_world_agent_message"); _table.add_unique_constraint::("message_id", |row| &row.message_id); } @@ -141,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldAgentMessage`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_agent_messageQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldAgentMessage`. - fn custom_world_agent_message(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldAgentMessage`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_agent_messageQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldAgentMessage`. + fn custom_world_agent_message(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_agent_messageQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_agent_message(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_agent_message") + } + } -impl custom_world_agent_messageQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_agent_message(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_agent_message") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_type.rs index 75110860..e33b5c4a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_message_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::rpg_agent_message_kind_type::RpgAgentMessageKind; use super::rpg_agent_message_role_type::RpgAgentMessageRole; +use super::rpg_agent_message_kind_type::RpgAgentMessageKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,14 +20,16 @@ pub struct CustomWorldAgentMessage { pub role: RpgAgentMessageRole, pub kind: RpgAgentMessageKind, pub text: String, - pub related_operation_id: Option, + pub related_operation_id: Option::, pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldAgentMessage { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldAgentMessage`. /// /// Provides typed access to columns for query building. @@ -32,7 +39,7 @@ pub struct CustomWorldAgentMessageCols { pub role: __sdk::__query_builder::Col, pub kind: __sdk::__query_builder::Col, pub text: __sdk::__query_builder::Col, - pub related_operation_id: __sdk::__query_builder::Col>, + pub related_operation_id: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, } @@ -45,11 +52,9 @@ impl __sdk::__query_builder::HasCols for CustomWorldAgentMessage { role: __sdk::__query_builder::Col::new(table_name, "role"), kind: __sdk::__query_builder::Col::new(table_name, "kind"), text: __sdk::__query_builder::Col::new(table_name, "text"), - related_operation_id: __sdk::__query_builder::Col::new( - table_name, - "related_operation_id", - ), + related_operation_id: __sdk::__query_builder::Col::new(table_name, "related_operation_id"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -68,8 +73,10 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldAgentMessage { CustomWorldAgentMessageIxCols { message_id: __sdk::__query_builder::IxCol::new(table_name, "message_id"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for CustomWorldAgentMessage {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_get_input_type.rs index 1e249edf..2aa3b05b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct CustomWorldAgentOperationGetInput { pub operation_id: String, } + impl __sdk::InModule for CustomWorldAgentOperationGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_procedure_result_type.rs index 39d0e493..f9bf13da 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_operation_snapshot_type::CustomWorldAgentOperationSnapshot; @@ -10,10 +15,12 @@ use super::custom_world_agent_operation_snapshot_type::CustomWorldAgentOperation #[sats(crate = __lib)] pub struct CustomWorldAgentOperationProcedureResult { pub ok: bool, - pub operation: Option, - pub error_message: Option, + pub operation: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldAgentOperationProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_snapshot_type.rs index 61e86eb3..954a809c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_snapshot_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; use super::rpg_agent_operation_type_type::RpgAgentOperationType; +use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,11 +22,13 @@ pub struct CustomWorldAgentOperationSnapshot { pub phase_label: String, pub phase_detail: String, pub progress: u32, - pub error_message: Option, + pub error_message: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentOperationSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_table.rs index 316a95b1..7e6b6b11 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_table.rs @@ -2,10 +2,15 @@ // 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::custom_world_agent_operation_type::CustomWorldAgentOperation; -use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; use super::rpg_agent_operation_type_type::RpgAgentOperationType; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; /// Table handle for the table `custom_world_agent_operation`. /// @@ -33,9 +38,7 @@ pub trait CustomWorldAgentOperationTableAccess { impl CustomWorldAgentOperationTableAccess for super::RemoteTables { fn custom_world_agent_operation(&self) -> CustomWorldAgentOperationTableHandle<'_> { CustomWorldAgentOperationTableHandle { - imp: self - .imp - .get_table::("custom_world_agent_operation"), + imp: self.imp.get_table::("custom_world_agent_operation"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for CustomWorldAgentOperationTableHandle<'ctx> { type Row = CustomWorldAgentOperation; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldAgentOperationInsertCallbackId; @@ -99,40 +98,40 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldAgentOperationTableHandle<' } } -/// Access to the `operation_id` unique index on the table `custom_world_agent_operation`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldAgentOperationOperationIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_agent_operation().operation_id().find(...)`. -pub struct CustomWorldAgentOperationOperationIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldAgentOperationTableHandle<'ctx> { - /// Get a handle on the `operation_id` unique index on the table `custom_world_agent_operation`. - pub fn operation_id(&self) -> CustomWorldAgentOperationOperationIdUnique<'ctx> { - CustomWorldAgentOperationOperationIdUnique { - imp: self.imp.get_unique_constraint::("operation_id"), - phantom: std::marker::PhantomData, + /// Access to the `operation_id` unique index on the table `custom_world_agent_operation`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldAgentOperationOperationIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_agent_operation().operation_id().find(...)`. + pub struct CustomWorldAgentOperationOperationIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldAgentOperationOperationIdUnique<'ctx> { - /// Find the subscribed row whose `operation_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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldAgentOperationTableHandle<'ctx> { + /// Get a handle on the `operation_id` unique index on the table `custom_world_agent_operation`. + pub fn operation_id(&self) -> CustomWorldAgentOperationOperationIdUnique<'ctx> { + CustomWorldAgentOperationOperationIdUnique { + imp: self.imp.get_unique_constraint::("operation_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldAgentOperationOperationIdUnique<'ctx> { + /// Find the subscribed row whose `operation_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { - let _table = - client_cache.get_or_make_table::("custom_world_agent_operation"); + + let _table = client_cache.get_or_make_table::("custom_world_agent_operation"); _table.add_unique_constraint::("operation_id", |row| &row.operation_id); } @@ -141,28 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldAgentOperation`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_agent_operationQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldAgentOperation`. - fn custom_world_agent_operation( - &self, - ) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldAgentOperation`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_agent_operationQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldAgentOperation`. + fn custom_world_agent_operation(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_agent_operationQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_agent_operation(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_agent_operation") + } + } -impl custom_world_agent_operationQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_agent_operation( - &self, - ) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_agent_operation") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_type.rs index 41957317..b195855d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_operation_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; use super::rpg_agent_operation_type_type::RpgAgentOperationType; +use super::rpg_agent_operation_status_type::RpgAgentOperationStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,28 +22,29 @@ pub struct CustomWorldAgentOperation { pub phase_label: String, pub phase_detail: String, pub progress: u32, - pub error_message: Option, + pub error_message: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldAgentOperation { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldAgentOperation`. /// /// Provides typed access to columns for query building. pub struct CustomWorldAgentOperationCols { pub operation_id: __sdk::__query_builder::Col, pub session_id: __sdk::__query_builder::Col, - pub operation_type: - __sdk::__query_builder::Col, + pub operation_type: __sdk::__query_builder::Col, pub status: __sdk::__query_builder::Col, pub phase_label: __sdk::__query_builder::Col, pub phase_detail: __sdk::__query_builder::Col, pub progress: __sdk::__query_builder::Col, - pub error_message: __sdk::__query_builder::Col>, + pub error_message: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -57,6 +63,7 @@ impl __sdk::__query_builder::HasCols for CustomWorldAgentOperation { error_message: __sdk::__query_builder::Col::new(table_name, "error_message"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -75,8 +82,10 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldAgentOperation { CustomWorldAgentOperationIxCols { operation_id: __sdk::__query_builder::IxCol::new(table_name, "operation_id"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for CustomWorldAgentOperation {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_create_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_create_input_type.rs index d2ea6be9..7a36c77b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_create_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_create_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,11 +19,11 @@ pub struct CustomWorldAgentSessionCreateInput { pub welcome_message_id: String, pub welcome_message_text: String, pub anchor_content_json: String, - pub creator_intent_json: Option, + pub creator_intent_json: Option::, pub creator_intent_readiness_json: String, - pub anchor_pack_json: Option, - pub lock_state_json: Option, - pub draft_profile_json: Option, + pub anchor_pack_json: Option::, + pub lock_state_json: Option::, + pub draft_profile_json: Option::, pub pending_clarifications_json: String, pub suggested_actions_json: String, pub recommended_replies_json: String, @@ -27,6 +33,8 @@ pub struct CustomWorldAgentSessionCreateInput { pub created_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentSessionCreateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_get_input_type.rs index 733eaecb..0e4f3319 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct CustomWorldAgentSessionGetInput { pub owner_user_id: String, } + impl __sdk::InModule for CustomWorldAgentSessionGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_procedure_result_type.rs index 1ca24f19..4da0e11a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_session_snapshot_type::CustomWorldAgentSessionSnapshot; @@ -10,10 +15,12 @@ use super::custom_world_agent_session_snapshot_type::CustomWorldAgentSessionSnap #[sats(crate = __lib)] pub struct CustomWorldAgentSessionProcedureResult { pub ok: bool, - pub session: Option, - pub error_message: Option, + pub session: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldAgentSessionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_snapshot_type.rs index 6a50455e..e263df53 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_snapshot_type.rs @@ -2,12 +2,17 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_agent_message_snapshot_type::CustomWorldAgentMessageSnapshot; -use super::custom_world_agent_operation_snapshot_type::CustomWorldAgentOperationSnapshot; -use super::custom_world_draft_card_snapshot_type::CustomWorldDraftCardSnapshot; use super::rpg_agent_stage_type::RpgAgentStage; +use super::custom_world_agent_message_snapshot_type::CustomWorldAgentMessageSnapshot; +use super::custom_world_draft_card_snapshot_type::CustomWorldDraftCardSnapshot; +use super::custom_world_agent_operation_snapshot_type::CustomWorldAgentOperationSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -18,16 +23,16 @@ pub struct CustomWorldAgentSessionSnapshot { pub current_turn: u32, pub progress_percent: u32, pub stage: RpgAgentStage, - pub focus_card_id: Option, + pub focus_card_id: Option::, pub anchor_content_json: String, - pub creator_intent_json: Option, + pub creator_intent_json: Option::, pub creator_intent_readiness_json: String, - pub anchor_pack_json: Option, - pub lock_state_json: Option, - pub draft_profile_json: Option, - pub last_assistant_reply: Option, - pub publish_gate_json: Option, - pub result_preview_json: Option, + pub anchor_pack_json: Option::, + pub lock_state_json: Option::, + pub draft_profile_json: Option::, + pub last_assistant_reply: Option::, + pub publish_gate_json: Option::, + pub result_preview_json: Option::, pub pending_clarifications_json: String, pub quality_findings_json: String, pub suggested_actions_json: String, @@ -35,13 +40,15 @@ pub struct CustomWorldAgentSessionSnapshot { pub asset_coverage_json: String, pub checkpoints_json: String, pub supported_actions_json: String, - pub messages: Vec, - pub draft_cards: Vec, - pub operations: Vec, + pub messages: Vec::, + pub draft_cards: Vec::, + pub operations: Vec::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldAgentSessionSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_table.rs index d63d156c..8b907a69 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_table.rs @@ -2,9 +2,14 @@ // 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::custom_world_agent_session_type::CustomWorldAgentSession; use super::rpg_agent_stage_type::RpgAgentStage; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `custom_world_agent_session`. /// @@ -32,9 +37,7 @@ pub trait CustomWorldAgentSessionTableAccess { impl CustomWorldAgentSessionTableAccess for super::RemoteTables { fn custom_world_agent_session(&self) -> CustomWorldAgentSessionTableHandle<'_> { CustomWorldAgentSessionTableHandle { - imp: self - .imp - .get_table::("custom_world_agent_session"), + imp: self.imp.get_table::("custom_world_agent_session"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for CustomWorldAgentSessionTableHandle<'ctx> { type Row = CustomWorldAgentSession; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldAgentSessionInsertCallbackId; @@ -98,40 +97,40 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldAgentSessionTableHandle<'ct } } -/// Access to the `session_id` unique index on the table `custom_world_agent_session`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldAgentSessionSessionIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_agent_session().session_id().find(...)`. -pub struct CustomWorldAgentSessionSessionIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldAgentSessionTableHandle<'ctx> { - /// Get a handle on the `session_id` unique index on the table `custom_world_agent_session`. - pub fn session_id(&self) -> CustomWorldAgentSessionSessionIdUnique<'ctx> { - CustomWorldAgentSessionSessionIdUnique { - imp: self.imp.get_unique_constraint::("session_id"), - phantom: std::marker::PhantomData, + /// Access to the `session_id` unique index on the table `custom_world_agent_session`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldAgentSessionSessionIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_agent_session().session_id().find(...)`. + pub struct CustomWorldAgentSessionSessionIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldAgentSessionSessionIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldAgentSessionTableHandle<'ctx> { + /// Get a handle on the `session_id` unique index on the table `custom_world_agent_session`. + pub fn session_id(&self) -> CustomWorldAgentSessionSessionIdUnique<'ctx> { + CustomWorldAgentSessionSessionIdUnique { + imp: self.imp.get_unique_constraint::("session_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldAgentSessionSessionIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { - let _table = - client_cache.get_or_make_table::("custom_world_agent_session"); + + let _table = client_cache.get_or_make_table::("custom_world_agent_session"); _table.add_unique_constraint::("session_id", |row| &row.session_id); } @@ -140,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldAgentSession`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_agent_sessionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldAgentSession`. - fn custom_world_agent_session(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldAgentSession`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_agent_sessionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldAgentSession`. + fn custom_world_agent_session(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_agent_sessionQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_agent_session(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_agent_session") + } + } -impl custom_world_agent_sessionQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_agent_session(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_agent_session") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_type.rs index 105bc924..128d93e3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_agent_session_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::rpg_agent_stage_type::RpgAgentStage; @@ -15,16 +20,16 @@ pub struct CustomWorldAgentSession { pub current_turn: u32, pub progress_percent: u32, pub stage: RpgAgentStage, - pub focus_card_id: Option, + pub focus_card_id: Option::, pub anchor_content_json: String, - pub creator_intent_json: Option, + pub creator_intent_json: Option::, pub creator_intent_readiness_json: String, - pub anchor_pack_json: Option, - pub lock_state_json: Option, - pub draft_profile_json: Option, - pub last_assistant_reply: Option, - pub publish_gate_json: Option, - pub result_preview_json: Option, + pub anchor_pack_json: Option::, + pub lock_state_json: Option::, + pub draft_profile_json: Option::, + pub last_assistant_reply: Option::, + pub publish_gate_json: Option::, + pub result_preview_json: Option::, pub pending_clarifications_json: String, pub quality_findings_json: String, pub suggested_actions_json: String, @@ -35,10 +40,12 @@ pub struct CustomWorldAgentSession { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldAgentSession { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldAgentSession`. /// /// Provides typed access to columns for query building. @@ -49,16 +56,16 @@ pub struct CustomWorldAgentSessionCols { pub current_turn: __sdk::__query_builder::Col, pub progress_percent: __sdk::__query_builder::Col, pub stage: __sdk::__query_builder::Col, - pub focus_card_id: __sdk::__query_builder::Col>, + pub focus_card_id: __sdk::__query_builder::Col>, pub anchor_content_json: __sdk::__query_builder::Col, - pub creator_intent_json: __sdk::__query_builder::Col>, + pub creator_intent_json: __sdk::__query_builder::Col>, pub creator_intent_readiness_json: __sdk::__query_builder::Col, - pub anchor_pack_json: __sdk::__query_builder::Col>, - pub lock_state_json: __sdk::__query_builder::Col>, - pub draft_profile_json: __sdk::__query_builder::Col>, - pub last_assistant_reply: __sdk::__query_builder::Col>, - pub publish_gate_json: __sdk::__query_builder::Col>, - pub result_preview_json: __sdk::__query_builder::Col>, + pub anchor_pack_json: __sdk::__query_builder::Col>, + pub lock_state_json: __sdk::__query_builder::Col>, + pub draft_profile_json: __sdk::__query_builder::Col>, + pub last_assistant_reply: __sdk::__query_builder::Col>, + pub publish_gate_json: __sdk::__query_builder::Col>, + pub result_preview_json: __sdk::__query_builder::Col>, pub pending_clarifications_json: __sdk::__query_builder::Col, pub quality_findings_json: __sdk::__query_builder::Col, pub suggested_actions_json: __sdk::__query_builder::Col, @@ -80,53 +87,24 @@ impl __sdk::__query_builder::HasCols for CustomWorldAgentSession { progress_percent: __sdk::__query_builder::Col::new(table_name, "progress_percent"), stage: __sdk::__query_builder::Col::new(table_name, "stage"), focus_card_id: __sdk::__query_builder::Col::new(table_name, "focus_card_id"), - anchor_content_json: __sdk::__query_builder::Col::new( - table_name, - "anchor_content_json", - ), - creator_intent_json: __sdk::__query_builder::Col::new( - table_name, - "creator_intent_json", - ), - creator_intent_readiness_json: __sdk::__query_builder::Col::new( - table_name, - "creator_intent_readiness_json", - ), + anchor_content_json: __sdk::__query_builder::Col::new(table_name, "anchor_content_json"), + creator_intent_json: __sdk::__query_builder::Col::new(table_name, "creator_intent_json"), + creator_intent_readiness_json: __sdk::__query_builder::Col::new(table_name, "creator_intent_readiness_json"), anchor_pack_json: __sdk::__query_builder::Col::new(table_name, "anchor_pack_json"), lock_state_json: __sdk::__query_builder::Col::new(table_name, "lock_state_json"), draft_profile_json: __sdk::__query_builder::Col::new(table_name, "draft_profile_json"), - last_assistant_reply: __sdk::__query_builder::Col::new( - table_name, - "last_assistant_reply", - ), + last_assistant_reply: __sdk::__query_builder::Col::new(table_name, "last_assistant_reply"), publish_gate_json: __sdk::__query_builder::Col::new(table_name, "publish_gate_json"), - result_preview_json: __sdk::__query_builder::Col::new( - table_name, - "result_preview_json", - ), - pending_clarifications_json: __sdk::__query_builder::Col::new( - table_name, - "pending_clarifications_json", - ), - quality_findings_json: __sdk::__query_builder::Col::new( - table_name, - "quality_findings_json", - ), - suggested_actions_json: __sdk::__query_builder::Col::new( - table_name, - "suggested_actions_json", - ), - recommended_replies_json: __sdk::__query_builder::Col::new( - table_name, - "recommended_replies_json", - ), - asset_coverage_json: __sdk::__query_builder::Col::new( - table_name, - "asset_coverage_json", - ), + result_preview_json: __sdk::__query_builder::Col::new(table_name, "result_preview_json"), + pending_clarifications_json: __sdk::__query_builder::Col::new(table_name, "pending_clarifications_json"), + quality_findings_json: __sdk::__query_builder::Col::new(table_name, "quality_findings_json"), + suggested_actions_json: __sdk::__query_builder::Col::new(table_name, "suggested_actions_json"), + recommended_replies_json: __sdk::__query_builder::Col::new(table_name, "recommended_replies_json"), + asset_coverage_json: __sdk::__query_builder::Col::new(table_name, "asset_coverage_json"), checkpoints_json: __sdk::__query_builder::Col::new(table_name, "checkpoints_json"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -147,8 +125,10 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldAgentSession { owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), stage: __sdk::__query_builder::IxCol::new(table_name, "stage"), + } } } impl __sdk::__query_builder::CanBeLookupTable for CustomWorldAgentSession {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_result_type.rs index ee8f9ba4..384a2c8c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_draft_card_detail_snapshot_type::CustomWorldDraftCardDetailSnapshot; @@ -10,10 +15,12 @@ use super::custom_world_draft_card_detail_snapshot_type::CustomWorldDraftCardDet #[sats(crate = __lib)] pub struct CustomWorldDraftCardDetailResult { pub ok: bool, - pub card: Option, - pub error_message: Option, + pub card: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldDraftCardDetailResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_section_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_section_snapshot_type.rs index b7f30c00..2e256890 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_section_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_section_snapshot_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct CustomWorldDraftCardDetailSectionSnapshot { pub value: String, } + impl __sdk::InModule for CustomWorldDraftCardDetailSectionSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_snapshot_type.rs index fab895fe..6bb20096 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_detail_snapshot_type.rs @@ -2,11 +2,16 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_draft_card_detail_section_snapshot_type::CustomWorldDraftCardDetailSectionSnapshot; -use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; use super::rpg_agent_draft_card_kind_type::RpgAgentDraftCardKind; +use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; +use super::custom_world_draft_card_detail_section_snapshot_type::CustomWorldDraftCardDetailSectionSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -14,16 +19,18 @@ pub struct CustomWorldDraftCardDetailSnapshot { pub card_id: String, pub kind: RpgAgentDraftCardKind, pub title: String, - pub sections: Vec, + pub sections: Vec::, pub linked_ids_json: String, pub locked: bool, pub editable: bool, pub editable_section_ids_json: String, pub warning_messages_json: String, - pub asset_status: Option, - pub asset_status_label: Option, + pub asset_status: Option::, + pub asset_status_label: Option::, } + impl __sdk::InModule for CustomWorldDraftCardDetailSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_snapshot_type.rs index 84108f6e..c9497003 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_snapshot_type.rs @@ -2,11 +2,16 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; use super::rpg_agent_draft_card_kind_type::RpgAgentDraftCardKind; use super::rpg_agent_draft_card_status_type::RpgAgentDraftCardStatus; +use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -20,13 +25,15 @@ pub struct CustomWorldDraftCardSnapshot { pub summary: String, pub linked_ids_json: String, pub warning_count: u32, - pub asset_status: Option, - pub asset_status_label: Option, - pub detail_payload_json: Option, + pub asset_status: Option::, + pub asset_status_label: Option::, + pub detail_payload_json: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldDraftCardSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_table.rs index 6f175998..9d197db6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_table.rs @@ -2,11 +2,16 @@ // 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::custom_world_draft_card_type::CustomWorldDraftCard; -use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; use super::rpg_agent_draft_card_kind_type::RpgAgentDraftCardKind; use super::rpg_agent_draft_card_status_type::RpgAgentDraftCardStatus; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; /// Table handle for the table `custom_world_draft_card`. /// @@ -34,9 +39,7 @@ pub trait CustomWorldDraftCardTableAccess { impl CustomWorldDraftCardTableAccess for super::RemoteTables { fn custom_world_draft_card(&self) -> CustomWorldDraftCardTableHandle<'_> { CustomWorldDraftCardTableHandle { - imp: self - .imp - .get_table::("custom_world_draft_card"), + imp: self.imp.get_table::("custom_world_draft_card"), ctx: std::marker::PhantomData, } } @@ -49,12 +52,8 @@ impl<'ctx> __sdk::Table for CustomWorldDraftCardTableHandle<'ctx> { type Row = CustomWorldDraftCard; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldDraftCardInsertCallbackId; @@ -100,38 +99,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldDraftCardTableHandle<'ctx> } } -/// Access to the `card_id` unique index on the table `custom_world_draft_card`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldDraftCardCardIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_draft_card().card_id().find(...)`. -pub struct CustomWorldDraftCardCardIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldDraftCardTableHandle<'ctx> { - /// Get a handle on the `card_id` unique index on the table `custom_world_draft_card`. - pub fn card_id(&self) -> CustomWorldDraftCardCardIdUnique<'ctx> { - CustomWorldDraftCardCardIdUnique { - imp: self.imp.get_unique_constraint::("card_id"), - phantom: std::marker::PhantomData, + /// Access to the `card_id` unique index on the table `custom_world_draft_card`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldDraftCardCardIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_draft_card().card_id().find(...)`. + pub struct CustomWorldDraftCardCardIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldDraftCardCardIdUnique<'ctx> { - /// Find the subscribed row whose `card_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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldDraftCardTableHandle<'ctx> { + /// Get a handle on the `card_id` unique index on the table `custom_world_draft_card`. + pub fn card_id(&self) -> CustomWorldDraftCardCardIdUnique<'ctx> { + CustomWorldDraftCardCardIdUnique { + imp: self.imp.get_unique_constraint::("card_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldDraftCardCardIdUnique<'ctx> { + /// Find the subscribed row whose `card_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("custom_world_draft_card"); _table.add_unique_constraint::("card_id", |row| &row.card_id); } @@ -141,24 +141,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldDraftCard`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_draft_cardQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldDraftCard`. - fn custom_world_draft_card(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldDraftCard`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_draft_cardQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldDraftCard`. + fn custom_world_draft_card(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_draft_cardQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_draft_card(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_draft_card") + } + } -impl custom_world_draft_cardQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_draft_card(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_draft_card") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_type.rs index 600c1f31..64dd162a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_draft_card_type.rs @@ -2,11 +2,16 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; use super::rpg_agent_draft_card_kind_type::RpgAgentDraftCardKind; use super::rpg_agent_draft_card_status_type::RpgAgentDraftCardStatus; +use super::custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -20,17 +25,19 @@ pub struct CustomWorldDraftCard { pub summary: String, pub linked_ids_json: String, pub warning_count: u32, - pub asset_status: Option, - pub asset_status_label: Option, - pub detail_payload_json: Option, + pub asset_status: Option::, + pub asset_status_label: Option::, + pub detail_payload_json: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldDraftCard { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldDraftCard`. /// /// Provides typed access to columns for query building. @@ -44,10 +51,9 @@ pub struct CustomWorldDraftCardCols { pub summary: __sdk::__query_builder::Col, pub linked_ids_json: __sdk::__query_builder::Col, pub warning_count: __sdk::__query_builder::Col, - pub asset_status: - __sdk::__query_builder::Col>, - pub asset_status_label: __sdk::__query_builder::Col>, - pub detail_payload_json: __sdk::__query_builder::Col>, + pub asset_status: __sdk::__query_builder::Col>, + pub asset_status_label: __sdk::__query_builder::Col>, + pub detail_payload_json: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -67,12 +73,10 @@ impl __sdk::__query_builder::HasCols for CustomWorldDraftCard { warning_count: __sdk::__query_builder::Col::new(table_name, "warning_count"), asset_status: __sdk::__query_builder::Col::new(table_name, "asset_status"), asset_status_label: __sdk::__query_builder::Col::new(table_name, "asset_status_label"), - detail_payload_json: __sdk::__query_builder::Col::new( - table_name, - "detail_payload_json", - ), + detail_payload_json: __sdk::__query_builder::Col::new(table_name, "detail_payload_json"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -93,8 +97,10 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldDraftCard { card_id: __sdk::__query_builder::IxCol::new(table_name, "card_id"), kind: __sdk::__query_builder::IxCol::new(table_name, "kind"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for CustomWorldDraftCard {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_by_code_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_by_code_input_type.rs index 0dd8127b..acdc32d0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_by_code_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_by_code_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct CustomWorldGalleryDetailByCodeInput { pub public_work_code: String, } + impl __sdk::InModule for CustomWorldGalleryDetailByCodeInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_input_type.rs index 64724446..5df002ea 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_detail_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct CustomWorldGalleryDetailInput { pub profile_id: String, } + impl __sdk::InModule for CustomWorldGalleryDetailInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_snapshot_type.rs index ac3cf555..04616d88 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_theme_mode_type::CustomWorldThemeMode; @@ -17,7 +22,7 @@ pub struct CustomWorldGalleryEntrySnapshot { pub world_name: String, pub subtitle: String, pub summary_text: String, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub theme_mode: CustomWorldThemeMode, pub playable_npc_count: u32, pub landmark_count: u32, @@ -25,6 +30,8 @@ pub struct CustomWorldGalleryEntrySnapshot { pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldGalleryEntrySnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_table.rs index 425b6a12..f215d0c9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_table.rs @@ -2,9 +2,14 @@ // 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::custom_world_gallery_entry_type::CustomWorldGalleryEntry; use super::custom_world_theme_mode_type::CustomWorldThemeMode; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `custom_world_gallery_entry`. /// @@ -32,9 +37,7 @@ pub trait CustomWorldGalleryEntryTableAccess { impl CustomWorldGalleryEntryTableAccess for super::RemoteTables { fn custom_world_gallery_entry(&self) -> CustomWorldGalleryEntryTableHandle<'_> { CustomWorldGalleryEntryTableHandle { - imp: self - .imp - .get_table::("custom_world_gallery_entry"), + imp: self.imp.get_table::("custom_world_gallery_entry"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for CustomWorldGalleryEntryTableHandle<'ctx> { type Row = CustomWorldGalleryEntry; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldGalleryEntryInsertCallbackId; @@ -98,40 +97,40 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldGalleryEntryTableHandle<'ct } } -/// Access to the `profile_id` unique index on the table `custom_world_gallery_entry`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldGalleryEntryProfileIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_gallery_entry().profile_id().find(...)`. -pub struct CustomWorldGalleryEntryProfileIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldGalleryEntryTableHandle<'ctx> { - /// Get a handle on the `profile_id` unique index on the table `custom_world_gallery_entry`. - pub fn profile_id(&self) -> CustomWorldGalleryEntryProfileIdUnique<'ctx> { - CustomWorldGalleryEntryProfileIdUnique { - imp: self.imp.get_unique_constraint::("profile_id"), - phantom: std::marker::PhantomData, + /// Access to the `profile_id` unique index on the table `custom_world_gallery_entry`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldGalleryEntryProfileIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_gallery_entry().profile_id().find(...)`. + pub struct CustomWorldGalleryEntryProfileIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldGalleryEntryProfileIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldGalleryEntryTableHandle<'ctx> { + /// Get a handle on the `profile_id` unique index on the table `custom_world_gallery_entry`. + pub fn profile_id(&self) -> CustomWorldGalleryEntryProfileIdUnique<'ctx> { + CustomWorldGalleryEntryProfileIdUnique { + imp: self.imp.get_unique_constraint::("profile_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldGalleryEntryProfileIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { - let _table = - client_cache.get_or_make_table::("custom_world_gallery_entry"); + + let _table = client_cache.get_or_make_table::("custom_world_gallery_entry"); _table.add_unique_constraint::("profile_id", |row| &row.profile_id); } @@ -140,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldGalleryEntry`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_gallery_entryQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldGalleryEntry`. - fn custom_world_gallery_entry(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldGalleryEntry`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_gallery_entryQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldGalleryEntry`. + fn custom_world_gallery_entry(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_gallery_entryQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_gallery_entry(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_gallery_entry") + } + } -impl custom_world_gallery_entryQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_gallery_entry(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_gallery_entry") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_type.rs index a1fc0481..976ccc10 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_entry_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_theme_mode_type::CustomWorldThemeMode; @@ -17,7 +22,7 @@ pub struct CustomWorldGalleryEntry { pub world_name: String, pub subtitle: String, pub summary_text: String, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub theme_mode: CustomWorldThemeMode, pub playable_npc_count: u32, pub landmark_count: u32, @@ -25,10 +30,12 @@ pub struct CustomWorldGalleryEntry { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldGalleryEntry { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldGalleryEntry`. /// /// Provides typed access to columns for query building. @@ -41,7 +48,7 @@ pub struct CustomWorldGalleryEntryCols { pub world_name: __sdk::__query_builder::Col, pub subtitle: __sdk::__query_builder::Col, pub summary_text: __sdk::__query_builder::Col, - pub cover_image_src: __sdk::__query_builder::Col>, + pub cover_image_src: __sdk::__query_builder::Col>, pub theme_mode: __sdk::__query_builder::Col, pub playable_npc_count: __sdk::__query_builder::Col, pub landmark_count: __sdk::__query_builder::Col, @@ -56,14 +63,8 @@ impl __sdk::__query_builder::HasCols for CustomWorldGalleryEntry { profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"), owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"), public_work_code: __sdk::__query_builder::Col::new(table_name, "public_work_code"), - author_public_user_code: __sdk::__query_builder::Col::new( - table_name, - "author_public_user_code", - ), - author_display_name: __sdk::__query_builder::Col::new( - table_name, - "author_display_name", - ), + author_public_user_code: __sdk::__query_builder::Col::new(table_name, "author_public_user_code"), + author_display_name: __sdk::__query_builder::Col::new(table_name, "author_display_name"), world_name: __sdk::__query_builder::Col::new(table_name, "world_name"), subtitle: __sdk::__query_builder::Col::new(table_name, "subtitle"), summary_text: __sdk::__query_builder::Col::new(table_name, "summary_text"), @@ -73,6 +74,7 @@ impl __sdk::__query_builder::HasCols for CustomWorldGalleryEntry { landmark_count: __sdk::__query_builder::Col::new(table_name, "landmark_count"), published_at: __sdk::__query_builder::Col::new(table_name, "published_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -95,8 +97,10 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldGalleryEntry { profile_id: __sdk::__query_builder::IxCol::new(table_name, "profile_id"), public_work_code: __sdk::__query_builder::IxCol::new(table_name, "public_work_code"), theme_mode: __sdk::__query_builder::IxCol::new(table_name, "theme_mode"), + } } } impl __sdk::__query_builder::CanBeLookupTable for CustomWorldGalleryEntry {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_list_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_list_result_type.rs index bf101ef1..357c32c5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_list_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_gallery_list_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; @@ -10,10 +15,12 @@ use super::custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnap #[sats(crate = __lib)] pub struct CustomWorldGalleryListResult { pub ok: bool, - pub entries: Vec, - pub error_message: Option, + pub entries: Vec::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldGalleryListResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_generation_mode_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_generation_mode_type.rs index 8b424a9a..375a464c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_generation_mode_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_generation_mode_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum CustomWorldGenerationMode { Fast, Full, + } + + impl __sdk::InModule for CustomWorldGenerationMode { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_detail_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_detail_input_type.rs index 472c1b80..e29dbaa9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_detail_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_detail_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct CustomWorldLibraryDetailInput { pub profile_id: String, } + impl __sdk::InModule for CustomWorldLibraryDetailInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_mutation_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_mutation_result_type.rs index 3c3bb3b3..6fd0d2ff 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_mutation_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_library_mutation_result_type.rs @@ -2,20 +2,27 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; use super::custom_world_profile_snapshot_type::CustomWorldProfileSnapshot; +use super::custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct CustomWorldLibraryMutationResult { pub ok: bool, - pub entry: Option, - pub gallery_entry: Option, - pub error_message: Option, + pub entry: Option::, + pub gallery_entry: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldLibraryMutationResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_delete_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_delete_input_type.rs index f9d4a10f..65a7d4ab 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_delete_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_delete_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct CustomWorldProfileDeleteInput { pub deleted_at_micros: i64, } + impl __sdk::InModule for CustomWorldProfileDeleteInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_input_type.rs index 53c46830..2d4b431e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct CustomWorldProfileListInput { pub owner_user_id: String, } + impl __sdk::InModule for CustomWorldProfileListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_result_type.rs index 10db7d0e..4e6a5a4a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_list_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_profile_snapshot_type::CustomWorldProfileSnapshot; @@ -10,10 +15,12 @@ use super::custom_world_profile_snapshot_type::CustomWorldProfileSnapshot; #[sats(crate = __lib)] pub struct CustomWorldProfileListResult { pub ok: bool, - pub entries: Vec, - pub error_message: Option, + pub entries: Vec::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldProfileListResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_publish_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_publish_input_type.rs index 0190e015..3a88edf7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_publish_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_publish_input_type.rs @@ -2,19 +2,27 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct CustomWorldProfilePublishInput { pub profile_id: String, pub owner_user_id: String, - pub public_work_code: Option, + pub public_work_code: Option::, pub author_public_user_code: String, pub author_display_name: String, pub published_at_micros: i64, } + impl __sdk::InModule for CustomWorldProfilePublishInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_snapshot_type.rs index 3b9f8b5a..0d404e2b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_snapshot_type.rs @@ -2,35 +2,42 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_publication_status_type::CustomWorldPublicationStatus; use super::custom_world_theme_mode_type::CustomWorldThemeMode; +use super::custom_world_publication_status_type::CustomWorldPublicationStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct CustomWorldProfileSnapshot { pub profile_id: String, pub owner_user_id: String, - pub public_work_code: Option, - pub author_public_user_code: Option, - pub source_agent_session_id: Option, + pub public_work_code: Option::, + pub author_public_user_code: Option::, + pub source_agent_session_id: Option::, pub publication_status: CustomWorldPublicationStatus, pub world_name: String, pub subtitle: String, pub summary_text: String, pub theme_mode: CustomWorldThemeMode, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub profile_payload_json: String, pub playable_npc_count: u32, pub landmark_count: u32, pub author_display_name: String, - pub published_at_micros: Option, - pub deleted_at_micros: Option, + pub published_at_micros: Option::, + pub deleted_at_micros: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldProfileSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_table.rs index 22692434..69639bf3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_table.rs @@ -2,10 +2,15 @@ // 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::custom_world_profile_type::CustomWorldProfile; -use super::custom_world_publication_status_type::CustomWorldPublicationStatus; use super::custom_world_theme_mode_type::CustomWorldThemeMode; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::custom_world_publication_status_type::CustomWorldPublicationStatus; /// Table handle for the table `custom_world_profile`. /// @@ -33,9 +38,7 @@ pub trait CustomWorldProfileTableAccess { impl CustomWorldProfileTableAccess for super::RemoteTables { fn custom_world_profile(&self) -> CustomWorldProfileTableHandle<'_> { CustomWorldProfileTableHandle { - imp: self - .imp - .get_table::("custom_world_profile"), + imp: self.imp.get_table::("custom_world_profile"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for CustomWorldProfileTableHandle<'ctx> { type Row = CustomWorldProfile; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldProfileInsertCallbackId; @@ -99,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldProfileTableHandle<'ctx> { } } -/// Access to the `profile_id` unique index on the table `custom_world_profile`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldProfileProfileIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_profile().profile_id().find(...)`. -pub struct CustomWorldProfileProfileIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldProfileTableHandle<'ctx> { - /// Get a handle on the `profile_id` unique index on the table `custom_world_profile`. - pub fn profile_id(&self) -> CustomWorldProfileProfileIdUnique<'ctx> { - CustomWorldProfileProfileIdUnique { - imp: self.imp.get_unique_constraint::("profile_id"), - phantom: std::marker::PhantomData, + /// Access to the `profile_id` unique index on the table `custom_world_profile`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldProfileProfileIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_profile().profile_id().find(...)`. + pub struct CustomWorldProfileProfileIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldProfileProfileIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldProfileTableHandle<'ctx> { + /// Get a handle on the `profile_id` unique index on the table `custom_world_profile`. + pub fn profile_id(&self) -> CustomWorldProfileProfileIdUnique<'ctx> { + CustomWorldProfileProfileIdUnique { + imp: self.imp.get_unique_constraint::("profile_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldProfileProfileIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("custom_world_profile"); _table.add_unique_constraint::("profile_id", |row| &row.profile_id); } @@ -140,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldProfile`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_profileQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldProfile`. - fn custom_world_profile(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldProfile`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_profileQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldProfile`. + fn custom_world_profile(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_profileQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_profile(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_profile") + } + } -impl custom_world_profileQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_profile(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_profile") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_type.rs index 8923286f..ebcb964a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_type.rs @@ -2,61 +2,67 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_publication_status_type::CustomWorldPublicationStatus; use super::custom_world_theme_mode_type::CustomWorldThemeMode; +use super::custom_world_publication_status_type::CustomWorldPublicationStatus; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct CustomWorldProfile { pub profile_id: String, pub owner_user_id: String, - pub public_work_code: Option, - pub author_public_user_code: Option, - pub source_agent_session_id: Option, + pub public_work_code: Option::, + pub author_public_user_code: Option::, + pub source_agent_session_id: Option::, pub publication_status: CustomWorldPublicationStatus, pub world_name: String, pub subtitle: String, pub summary_text: String, pub theme_mode: CustomWorldThemeMode, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub profile_payload_json: String, pub playable_npc_count: u32, pub landmark_count: u32, pub author_display_name: String, - pub published_at: Option<__sdk::Timestamp>, - pub deleted_at: Option<__sdk::Timestamp>, + pub published_at: Option::<__sdk::Timestamp>, + pub deleted_at: Option::<__sdk::Timestamp>, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldProfile { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldProfile`. /// /// Provides typed access to columns for query building. pub struct CustomWorldProfileCols { pub profile_id: __sdk::__query_builder::Col, pub owner_user_id: __sdk::__query_builder::Col, - pub public_work_code: __sdk::__query_builder::Col>, - pub author_public_user_code: __sdk::__query_builder::Col>, - pub source_agent_session_id: __sdk::__query_builder::Col>, - pub publication_status: - __sdk::__query_builder::Col, + pub public_work_code: __sdk::__query_builder::Col>, + pub author_public_user_code: __sdk::__query_builder::Col>, + pub source_agent_session_id: __sdk::__query_builder::Col>, + pub publication_status: __sdk::__query_builder::Col, pub world_name: __sdk::__query_builder::Col, pub subtitle: __sdk::__query_builder::Col, pub summary_text: __sdk::__query_builder::Col, pub theme_mode: __sdk::__query_builder::Col, - pub cover_image_src: __sdk::__query_builder::Col>, + pub cover_image_src: __sdk::__query_builder::Col>, pub profile_payload_json: __sdk::__query_builder::Col, pub playable_npc_count: __sdk::__query_builder::Col, pub landmark_count: __sdk::__query_builder::Col, pub author_display_name: __sdk::__query_builder::Col, - pub published_at: __sdk::__query_builder::Col>, - pub deleted_at: __sdk::__query_builder::Col>, + pub published_at: __sdk::__query_builder::Col>, + pub deleted_at: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -68,34 +74,23 @@ impl __sdk::__query_builder::HasCols for CustomWorldProfile { profile_id: __sdk::__query_builder::Col::new(table_name, "profile_id"), owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"), public_work_code: __sdk::__query_builder::Col::new(table_name, "public_work_code"), - author_public_user_code: __sdk::__query_builder::Col::new( - table_name, - "author_public_user_code", - ), - source_agent_session_id: __sdk::__query_builder::Col::new( - table_name, - "source_agent_session_id", - ), + author_public_user_code: __sdk::__query_builder::Col::new(table_name, "author_public_user_code"), + source_agent_session_id: __sdk::__query_builder::Col::new(table_name, "source_agent_session_id"), publication_status: __sdk::__query_builder::Col::new(table_name, "publication_status"), world_name: __sdk::__query_builder::Col::new(table_name, "world_name"), subtitle: __sdk::__query_builder::Col::new(table_name, "subtitle"), summary_text: __sdk::__query_builder::Col::new(table_name, "summary_text"), theme_mode: __sdk::__query_builder::Col::new(table_name, "theme_mode"), cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"), - profile_payload_json: __sdk::__query_builder::Col::new( - table_name, - "profile_payload_json", - ), + profile_payload_json: __sdk::__query_builder::Col::new(table_name, "profile_payload_json"), playable_npc_count: __sdk::__query_builder::Col::new(table_name, "playable_npc_count"), landmark_count: __sdk::__query_builder::Col::new(table_name, "landmark_count"), - author_display_name: __sdk::__query_builder::Col::new( - table_name, - "author_display_name", - ), + author_display_name: __sdk::__query_builder::Col::new(table_name, "author_display_name"), published_at: __sdk::__query_builder::Col::new(table_name, "published_at"), deleted_at: __sdk::__query_builder::Col::new(table_name, "deleted_at"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -106,8 +101,7 @@ impl __sdk::__query_builder::HasCols for CustomWorldProfile { pub struct CustomWorldProfileIxCols { pub owner_user_id: __sdk::__query_builder::IxCol, pub profile_id: __sdk::__query_builder::IxCol, - pub publication_status: - __sdk::__query_builder::IxCol, + pub publication_status: __sdk::__query_builder::IxCol, } impl __sdk::__query_builder::HasIxCols for CustomWorldProfile { @@ -116,12 +110,11 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldProfile { CustomWorldProfileIxCols { 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", - ), + publication_status: __sdk::__query_builder::IxCol::new(table_name, "publication_status"), + } } } impl __sdk::__query_builder::CanBeLookupTable for CustomWorldProfile {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_unpublish_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_unpublish_input_type.rs index 7d688d96..79aa9ff6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_unpublish_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_unpublish_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,6 +19,8 @@ pub struct CustomWorldProfileUnpublishInput { pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldProfileUnpublishInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_upsert_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_upsert_input_type.rs index 323a72f3..0ea2ef8c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_upsert_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_profile_upsert_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_theme_mode_type::CustomWorldThemeMode; @@ -11,14 +16,14 @@ use super::custom_world_theme_mode_type::CustomWorldThemeMode; pub struct CustomWorldProfileUpsertInput { pub profile_id: String, pub owner_user_id: String, - pub public_work_code: Option, - pub author_public_user_code: Option, - pub source_agent_session_id: Option, + pub public_work_code: Option::, + pub author_public_user_code: Option::, + pub source_agent_session_id: Option::, pub world_name: String, pub subtitle: String, pub summary_text: String, pub theme_mode: CustomWorldThemeMode, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub profile_payload_json: String, pub playable_npc_count: u32, pub landmark_count: u32, @@ -26,6 +31,8 @@ pub struct CustomWorldProfileUpsertInput { pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldProfileUpsertInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publication_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publication_status_type.rs index f21186ff..d81681f4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publication_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publication_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum CustomWorldPublicationStatus { Draft, Published, + } + + impl __sdk::InModule for CustomWorldPublicationStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_input_type.rs index a95c0561..74160cd9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,15 +16,17 @@ pub struct CustomWorldPublishWorldInput { pub session_id: String, pub profile_id: String, pub owner_user_id: String, - pub public_work_code: Option, + pub public_work_code: Option::, pub author_public_user_code: String, pub draft_profile_json: String, - pub legacy_result_profile_json: Option, + pub legacy_result_profile_json: Option::, pub setting_text: String, pub author_display_name: String, pub published_at_micros: i64, } + impl __sdk::InModule for CustomWorldPublishWorldInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_result_type.rs index a44ca2b1..542810a3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_publish_world_result_type.rs @@ -2,24 +2,31 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; -use super::custom_world_profile_snapshot_type::CustomWorldProfileSnapshot; use super::custom_world_published_profile_compile_snapshot_type::CustomWorldPublishedProfileCompileSnapshot; use super::rpg_agent_stage_type::RpgAgentStage; +use super::custom_world_profile_snapshot_type::CustomWorldProfileSnapshot; +use super::custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct CustomWorldPublishWorldResult { pub ok: bool, - pub compiled_record: Option, - pub entry: Option, - pub gallery_entry: Option, - pub session_stage: Option, - pub error_message: Option, + pub compiled_record: Option::, + pub entry: Option::, + pub gallery_entry: Option::, + pub session_stage: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldPublishWorldResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_input_type.rs index fda3d08b..c78399a4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,12 +17,14 @@ pub struct CustomWorldPublishedProfileCompileInput { pub profile_id: String, pub owner_user_id: String, pub draft_profile_json: String, - pub legacy_result_profile_json: Option, + pub legacy_result_profile_json: Option::, pub setting_text: String, pub author_display_name: String, pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldPublishedProfileCompileInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_result_type.rs index 4783f889..42d770b5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_published_profile_compile_snapshot_type::CustomWorldPublishedProfileCompileSnapshot; @@ -10,10 +15,12 @@ use super::custom_world_published_profile_compile_snapshot_type::CustomWorldPubl #[sats(crate = __lib)] pub struct CustomWorldPublishedProfileCompileResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldPublishedProfileCompileResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_snapshot_type.rs index 0af4d59e..9214b492 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_published_profile_compile_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_theme_mode_type::CustomWorldThemeMode; @@ -15,7 +20,7 @@ pub struct CustomWorldPublishedProfileCompileSnapshot { pub subtitle: String, pub summary_text: String, pub theme_mode: CustomWorldThemeMode, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub playable_npc_count: u32, pub landmark_count: u32, pub author_display_name: String, @@ -23,6 +28,8 @@ pub struct CustomWorldPublishedProfileCompileSnapshot { pub updated_at_micros: i64, } + impl __sdk::InModule for CustomWorldPublishedProfileCompileSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_role_asset_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_role_asset_status_type.rs index 1ab238e9..a969aa55 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_role_asset_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_role_asset_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum CustomWorldRoleAssetStatus { AnimationsReady, Complete, + } + + impl __sdk::InModule for CustomWorldRoleAssetStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_status_type.rs index 9b640e4f..f7fe499d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum CustomWorldSessionStatus { Completed, GenerationError, + } + + impl __sdk::InModule for CustomWorldSessionStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_table.rs index 2813b6e2..4d44d0ff 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_table.rs @@ -2,10 +2,15 @@ // 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::custom_world_session_type::CustomWorldSession; use super::custom_world_generation_mode_type::CustomWorldGenerationMode; use super::custom_world_session_status_type::CustomWorldSessionStatus; -use super::custom_world_session_type::CustomWorldSession; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `custom_world_session`. /// @@ -33,9 +38,7 @@ pub trait CustomWorldSessionTableAccess { impl CustomWorldSessionTableAccess for super::RemoteTables { fn custom_world_session(&self) -> CustomWorldSessionTableHandle<'_> { CustomWorldSessionTableHandle { - imp: self - .imp - .get_table::("custom_world_session"), + imp: self.imp.get_table::("custom_world_session"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for CustomWorldSessionTableHandle<'ctx> { type Row = CustomWorldSession; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = CustomWorldSessionInsertCallbackId; @@ -99,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for CustomWorldSessionTableHandle<'ctx> { } } -/// Access to the `session_id` unique index on the table `custom_world_session`, -/// which allows point queries on the field of the same name -/// via the [`CustomWorldSessionSessionIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.custom_world_session().session_id().find(...)`. -pub struct CustomWorldSessionSessionIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> CustomWorldSessionTableHandle<'ctx> { - /// Get a handle on the `session_id` unique index on the table `custom_world_session`. - pub fn session_id(&self) -> CustomWorldSessionSessionIdUnique<'ctx> { - CustomWorldSessionSessionIdUnique { - imp: self.imp.get_unique_constraint::("session_id"), - phantom: std::marker::PhantomData, + /// Access to the `session_id` unique index on the table `custom_world_session`, + /// which allows point queries on the field of the same name + /// via the [`CustomWorldSessionSessionIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.custom_world_session().session_id().find(...)`. + pub struct CustomWorldSessionSessionIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> CustomWorldSessionSessionIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> CustomWorldSessionTableHandle<'ctx> { + /// Get a handle on the `session_id` unique index on the table `custom_world_session`. + pub fn session_id(&self) -> CustomWorldSessionSessionIdUnique<'ctx> { + CustomWorldSessionSessionIdUnique { + imp: self.imp.get_unique_constraint::("session_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> CustomWorldSessionSessionIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("custom_world_session"); _table.add_unique_constraint::("session_id", |row| &row.session_id); } @@ -140,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `CustomWorldSession`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait custom_world_sessionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `CustomWorldSession`. - fn custom_world_session(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `CustomWorldSession`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait custom_world_sessionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `CustomWorldSession`. + fn custom_world_session(&self) -> __sdk::__query_builder::Table; + } + + impl custom_world_sessionQueryTableAccess for __sdk::QueryTableAccessor { + fn custom_world_session(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("custom_world_session") + } + } -impl custom_world_sessionQueryTableAccess for __sdk::QueryTableAccessor { - fn custom_world_session(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("custom_world_session") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_type.rs index 58e9f40c..2646073e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_session_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_generation_mode_type::CustomWorldGenerationMode; use super::custom_world_session_status_type::CustomWorldSessionStatus; @@ -15,18 +20,20 @@ pub struct CustomWorldSession { pub generation_mode: CustomWorldGenerationMode, pub status: CustomWorldSessionStatus, pub setting_text: String, - pub creator_intent_json: Option, + pub creator_intent_json: Option::, pub question_snapshot_json: String, - pub result_payload_json: Option, - pub last_error_message: Option, + pub result_payload_json: Option::, + pub last_error_message: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for CustomWorldSession { type Module = super::RemoteModule; } + /// Column accessor struct for the table `CustomWorldSession`. /// /// Provides typed access to columns for query building. @@ -36,10 +43,10 @@ pub struct CustomWorldSessionCols { pub generation_mode: __sdk::__query_builder::Col, pub status: __sdk::__query_builder::Col, pub setting_text: __sdk::__query_builder::Col, - pub creator_intent_json: __sdk::__query_builder::Col>, + pub creator_intent_json: __sdk::__query_builder::Col>, pub question_snapshot_json: __sdk::__query_builder::Col, - pub result_payload_json: __sdk::__query_builder::Col>, - pub last_error_message: __sdk::__query_builder::Col>, + pub result_payload_json: __sdk::__query_builder::Col>, + pub last_error_message: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -53,21 +60,13 @@ impl __sdk::__query_builder::HasCols for CustomWorldSession { generation_mode: __sdk::__query_builder::Col::new(table_name, "generation_mode"), status: __sdk::__query_builder::Col::new(table_name, "status"), setting_text: __sdk::__query_builder::Col::new(table_name, "setting_text"), - creator_intent_json: __sdk::__query_builder::Col::new( - table_name, - "creator_intent_json", - ), - question_snapshot_json: __sdk::__query_builder::Col::new( - table_name, - "question_snapshot_json", - ), - result_payload_json: __sdk::__query_builder::Col::new( - table_name, - "result_payload_json", - ), + creator_intent_json: __sdk::__query_builder::Col::new(table_name, "creator_intent_json"), + question_snapshot_json: __sdk::__query_builder::Col::new(table_name, "question_snapshot_json"), + result_payload_json: __sdk::__query_builder::Col::new(table_name, "result_payload_json"), last_error_message: __sdk::__query_builder::Col::new(table_name, "last_error_message"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -86,8 +85,10 @@ impl __sdk::__query_builder::HasIxCols for CustomWorldSession { CustomWorldSessionIxCols { 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 CustomWorldSession {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_theme_mode_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_theme_mode_type.rs index 2084ea04..766d1d08 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_theme_mode_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_theme_mode_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum CustomWorldThemeMode { Rift, Mythic, + } + + impl __sdk::InModule for CustomWorldThemeMode { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_work_summary_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_work_summary_snapshot_type.rs index ed735fc3..e81345b0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_work_summary_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_work_summary_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::rpg_agent_stage_type::RpgAgentStage; @@ -15,26 +20,28 @@ pub struct CustomWorldWorkSummarySnapshot { pub title: String, pub subtitle: String, pub summary: String, - pub cover_image_src: Option, - pub cover_render_mode: Option, + pub cover_image_src: Option::, + pub cover_render_mode: Option::, pub cover_character_image_srcs_json: String, pub updated_at_micros: i64, - pub published_at_micros: Option, - pub stage: Option, - pub stage_label: Option, + pub published_at_micros: Option::, + pub stage: Option::, + pub stage_label: Option::, pub playable_npc_count: u32, pub landmark_count: u32, - pub role_visual_ready_count: Option, - pub role_animation_ready_count: Option, - pub role_asset_summary_label: Option, - pub session_id: Option, - pub profile_id: Option, + pub role_visual_ready_count: Option::, + pub role_animation_ready_count: Option::, + pub role_asset_summary_label: Option::, + pub session_id: Option::, + pub profile_id: Option::, pub can_resume: bool, pub can_enter_world: bool, pub blocker_count: u32, pub publish_ready: bool, } + impl __sdk::InModule for CustomWorldWorkSummarySnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_input_type.rs index a007007b..073faecf 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct CustomWorldWorksListInput { pub owner_user_id: String, } + impl __sdk::InModule for CustomWorldWorksListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_result_type.rs index 9296740e..937b450e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/custom_world_works_list_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_work_summary_snapshot_type::CustomWorldWorkSummarySnapshot; @@ -10,10 +15,12 @@ use super::custom_world_work_summary_snapshot_type::CustomWorldWorkSummarySnapsh #[sats(crate = __lib)] pub struct CustomWorldWorksListResult { pub ok: bool, - pub items: Vec, - pub error_message: Option, + pub items: Vec::, + pub error_message: Option::, } + impl __sdk::InModule for CustomWorldWorksListResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/delete_custom_world_profile_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/delete_custom_world_profile_and_return_procedure.rs index 5dc9da2f..4dfc8daf 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/delete_custom_world_profile_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/delete_custom_world_profile_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_profile_delete_input_type::CustomWorldProfileDeleteInput; use super::custom_world_profile_list_result_type::CustomWorldProfileListResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct DeleteCustomWorldProfileAndReturnArgs { + struct DeleteCustomWorldProfileAndReturnArgs { pub input: CustomWorldProfileDeleteInput, } + impl __sdk::InModule for DeleteCustomWorldProfileAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for DeleteCustomWorldProfileAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait delete_custom_world_profile_and_return { - fn delete_custom_world_profile_and_return(&self, input: CustomWorldProfileDeleteInput) { - self.delete_custom_world_profile_and_return_then(input, |_, _| {}); + fn delete_custom_world_profile_and_return(&self, input: CustomWorldProfileDeleteInput, +) { + self.delete_custom_world_profile_and_return_then(input, |_, _| {}); } fn delete_custom_world_profile_and_return_then( &self, input: CustomWorldProfileDeleteInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl delete_custom_world_profile_and_return for super::RemoteProcedures { &self, input: CustomWorldProfileDeleteInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldProfileListResult>( - "delete_custom_world_profile_and_return", - DeleteCustomWorldProfileAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldProfileListResult>( + "delete_custom_world_profile_and_return", + DeleteCustomWorldProfileAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/delete_runtime_snapshot_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/delete_runtime_snapshot_and_return_procedure.rs index 9173255a..6c38b74b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/delete_runtime_snapshot_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/delete_runtime_snapshot_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_snapshot_delete_input_type::RuntimeSnapshotDeleteInput; use super::runtime_snapshot_procedure_result_type::RuntimeSnapshotProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct DeleteRuntimeSnapshotAndReturnArgs { + struct DeleteRuntimeSnapshotAndReturnArgs { pub input: RuntimeSnapshotDeleteInput, } + impl __sdk::InModule for DeleteRuntimeSnapshotAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for DeleteRuntimeSnapshotAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait delete_runtime_snapshot_and_return { - fn delete_runtime_snapshot_and_return(&self, input: RuntimeSnapshotDeleteInput) { - self.delete_runtime_snapshot_and_return_then(input, |_, _| {}); + fn delete_runtime_snapshot_and_return(&self, input: RuntimeSnapshotDeleteInput, +) { + self.delete_runtime_snapshot_and_return_then(input, |_, _| {}); } fn delete_runtime_snapshot_and_return_then( &self, input: RuntimeSnapshotDeleteInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl delete_runtime_snapshot_and_return for super::RemoteProcedures { &self, input: RuntimeSnapshotDeleteInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeSnapshotProcedureResult>( - "delete_runtime_snapshot_and_return", - DeleteRuntimeSnapshotAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeSnapshotProcedureResult>( + "delete_runtime_snapshot_and_return", + DeleteRuntimeSnapshotAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/drag_puzzle_piece_or_group_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/drag_puzzle_piece_or_group_procedure.rs index 1207f7b5..49c4ee1c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/drag_puzzle_piece_or_group_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/drag_puzzle_piece_or_group_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_run_drag_input_type::PuzzleRunDragInput; use super::puzzle_run_procedure_result_type::PuzzleRunProcedureResult; +use super::puzzle_run_drag_input_type::PuzzleRunDragInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct DragPuzzlePieceOrGroupArgs { + struct DragPuzzlePieceOrGroupArgs { pub input: PuzzleRunDragInput, } + impl __sdk::InModule for DragPuzzlePieceOrGroupArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for DragPuzzlePieceOrGroupArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait drag_puzzle_piece_or_group { - fn drag_puzzle_piece_or_group(&self, input: PuzzleRunDragInput) { - self.drag_puzzle_piece_or_group_then(input, |_, _| {}); + fn drag_puzzle_piece_or_group(&self, input: PuzzleRunDragInput, +) { + self.drag_puzzle_piece_or_group_then(input, |_, _| {}); } fn drag_puzzle_piece_or_group_then( &self, input: PuzzleRunDragInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl drag_puzzle_piece_or_group for super::RemoteProcedures { &self, input: PuzzleRunDragInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( - "drag_puzzle_piece_or_group", - DragPuzzlePieceOrGroupArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( + "drag_puzzle_piece_or_group", + DragPuzzlePieceOrGroupArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/equip_inventory_item_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/equip_inventory_item_input_type.rs index 775ad7fa..19545699 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/equip_inventory_item_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/equip_inventory_item_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct EquipInventoryItemInput { pub slot_id: String, } + impl __sdk::InModule for EquipInventoryItemInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/execute_custom_world_agent_action_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/execute_custom_world_agent_action_procedure.rs index c1008466..390871f5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/execute_custom_world_agent_action_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/execute_custom_world_agent_action_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_action_execute_input_type::CustomWorldAgentActionExecuteInput; use super::custom_world_agent_action_execute_result_type::CustomWorldAgentActionExecuteResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ExecuteCustomWorldAgentActionArgs { + struct ExecuteCustomWorldAgentActionArgs { pub input: CustomWorldAgentActionExecuteInput, } + impl __sdk::InModule for ExecuteCustomWorldAgentActionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ExecuteCustomWorldAgentActionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait execute_custom_world_agent_action { - fn execute_custom_world_agent_action(&self, input: CustomWorldAgentActionExecuteInput) { - self.execute_custom_world_agent_action_then(input, |_, _| {}); + fn execute_custom_world_agent_action(&self, input: CustomWorldAgentActionExecuteInput, +) { + self.execute_custom_world_agent_action_then(input, |_, _| {}); } fn execute_custom_world_agent_action_then( &self, input: CustomWorldAgentActionExecuteInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl execute_custom_world_agent_action for super::RemoteProcedures { &self, input: CustomWorldAgentActionExecuteInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldAgentActionExecuteResult>( - "execute_custom_world_agent_action", - ExecuteCustomWorldAgentActionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldAgentActionExecuteResult>( + "execute_custom_world_agent_action", + ExecuteCustomWorldAgentActionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/fail_ai_task_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/fail_ai_task_and_return_procedure.rs index 3194799b..b92e796d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/fail_ai_task_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/fail_ai_task_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::ai_task_failure_input_type::AiTaskFailureInput; use super::ai_task_procedure_result_type::AiTaskProcedureResult; +use super::ai_task_failure_input_type::AiTaskFailureInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct FailAiTaskAndReturnArgs { + struct FailAiTaskAndReturnArgs { pub input: AiTaskFailureInput, } + impl __sdk::InModule for FailAiTaskAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for FailAiTaskAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait fail_ai_task_and_return { - fn fail_ai_task_and_return(&self, input: AiTaskFailureInput) { - self.fail_ai_task_and_return_then(input, |_, _| {}); + fn fail_ai_task_and_return(&self, input: AiTaskFailureInput, +) { + self.fail_ai_task_and_return_then(input, |_, _| {}); } fn fail_ai_task_and_return_then( &self, input: AiTaskFailureInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl fail_ai_task_and_return for super::RemoteProcedures { &self, input: AiTaskFailureInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, AiTaskProcedureResult>( - "fail_ai_task_and_return", - FailAiTaskAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, AiTaskProcedureResult>( + "fail_ai_task_and_return", + FailAiTaskAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/finalize_big_fish_agent_message_turn_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/finalize_big_fish_agent_message_turn_procedure.rs new file mode 100644 index 00000000..29f7ff55 --- /dev/null +++ b/server-rs/crates/spacetime-client/src/module_bindings/finalize_big_fish_agent_message_turn_procedure.rs @@ -0,0 +1,58 @@ +// 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::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; +use super::big_fish_message_finalize_input_type::BigFishMessageFinalizeInput; + +#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] +#[sats(crate = __lib)] + struct FinalizeBigFishAgentMessageTurnArgs { + pub input: BigFishMessageFinalizeInput, +} + + +impl __sdk::InModule for FinalizeBigFishAgentMessageTurnArgs { + type Module = super::RemoteModule; +} + +#[allow(non_camel_case_types)] +/// Extension trait for access to the procedure `finalize_big_fish_agent_message_turn`. +/// +/// Implemented for [`super::RemoteProcedures`]. +pub trait finalize_big_fish_agent_message_turn { + fn finalize_big_fish_agent_message_turn(&self, input: BigFishMessageFinalizeInput, +) { + self.finalize_big_fish_agent_message_turn_then(input, |_, _| {}); + } + + fn finalize_big_fish_agent_message_turn_then( + &self, + input: BigFishMessageFinalizeInput, + + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, + ); +} + +impl finalize_big_fish_agent_message_turn for super::RemoteProcedures { + fn finalize_big_fish_agent_message_turn_then( + &self, + input: BigFishMessageFinalizeInput, + + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, + ) { + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "finalize_big_fish_agent_message_turn", + FinalizeBigFishAgentMessageTurnArgs { input, }, + __callback, + ); + } +} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/finalize_custom_world_agent_message_turn_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/finalize_custom_world_agent_message_turn_procedure.rs index f670f9b6..e9b3f1d9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/finalize_custom_world_agent_message_turn_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/finalize_custom_world_agent_message_turn_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_message_finalize_input_type::CustomWorldAgentMessageFinalizeInput; use super::custom_world_agent_operation_procedure_result_type::CustomWorldAgentOperationProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct FinalizeCustomWorldAgentMessageTurnArgs { + struct FinalizeCustomWorldAgentMessageTurnArgs { pub input: CustomWorldAgentMessageFinalizeInput, } + impl __sdk::InModule for FinalizeCustomWorldAgentMessageTurnArgs { type Module = super::RemoteModule; } @@ -22,22 +28,16 @@ impl __sdk::InModule for FinalizeCustomWorldAgentMessageTurnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait finalize_custom_world_agent_message_turn { - fn finalize_custom_world_agent_message_turn( - &self, - input: CustomWorldAgentMessageFinalizeInput, - ) { - self.finalize_custom_world_agent_message_turn_then(input, |_, _| {}); + fn finalize_custom_world_agent_message_turn(&self, input: CustomWorldAgentMessageFinalizeInput, +) { + self.finalize_custom_world_agent_message_turn_then(input, |_, _| {}); } fn finalize_custom_world_agent_message_turn_then( &self, input: CustomWorldAgentMessageFinalizeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -46,17 +46,13 @@ impl finalize_custom_world_agent_message_turn for super::RemoteProcedures { &self, input: CustomWorldAgentMessageFinalizeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldAgentOperationProcedureResult>( - "finalize_custom_world_agent_message_turn", - FinalizeCustomWorldAgentMessageTurnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldAgentOperationProcedureResult>( + "finalize_custom_world_agent_message_turn", + FinalizeCustomWorldAgentMessageTurnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/finalize_puzzle_agent_message_turn_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/finalize_puzzle_agent_message_turn_procedure.rs index 7f06aafa..e2d6566c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/finalize_puzzle_agent_message_turn_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/finalize_puzzle_agent_message_turn_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_agent_message_finalize_input_type::PuzzleAgentMessageFinalizeInput; use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; +use super::puzzle_agent_message_finalize_input_type::PuzzleAgentMessageFinalizeInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct FinalizePuzzleAgentMessageTurnArgs { + struct FinalizePuzzleAgentMessageTurnArgs { pub input: PuzzleAgentMessageFinalizeInput, } + impl __sdk::InModule for FinalizePuzzleAgentMessageTurnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for FinalizePuzzleAgentMessageTurnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait finalize_puzzle_agent_message_turn { - fn finalize_puzzle_agent_message_turn(&self, input: PuzzleAgentMessageFinalizeInput) { - self.finalize_puzzle_agent_message_turn_then(input, |_, _| {}); + fn finalize_puzzle_agent_message_turn(&self, input: PuzzleAgentMessageFinalizeInput, +) { + self.finalize_puzzle_agent_message_turn_then(input, |_, _| {}); } fn finalize_puzzle_agent_message_turn_then( &self, input: PuzzleAgentMessageFinalizeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl finalize_puzzle_agent_message_turn for super::RemoteProcedures { &self, input: PuzzleAgentMessageFinalizeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "finalize_puzzle_agent_message_turn", - FinalizePuzzleAgentMessageTurnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "finalize_puzzle_agent_message_turn", + FinalizePuzzleAgentMessageTurnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/generate_big_fish_asset_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/generate_big_fish_asset_procedure.rs index 144c5d40..6ee820f7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/generate_big_fish_asset_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/generate_big_fish_asset_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_asset_generate_input_type::BigFishAssetGenerateInput; use super::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; +use super::big_fish_asset_generate_input_type::BigFishAssetGenerateInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GenerateBigFishAssetArgs { + struct GenerateBigFishAssetArgs { pub input: BigFishAssetGenerateInput, } + impl __sdk::InModule for GenerateBigFishAssetArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GenerateBigFishAssetArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait generate_big_fish_asset { - fn generate_big_fish_asset(&self, input: BigFishAssetGenerateInput) { - self.generate_big_fish_asset_then(input, |_, _| {}); + fn generate_big_fish_asset(&self, input: BigFishAssetGenerateInput, +) { + self.generate_big_fish_asset_then(input, |_, _| {}); } fn generate_big_fish_asset_then( &self, input: BigFishAssetGenerateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl generate_big_fish_asset for super::RemoteProcedures { &self, input: BigFishAssetGenerateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( - "generate_big_fish_asset", - GenerateBigFishAssetArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "generate_big_fish_asset", + GenerateBigFishAssetArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_battle_state_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_battle_state_procedure.rs index 0fcc276c..c6f93416 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_battle_state_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_battle_state_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_state_procedure_result_type::BattleStateProcedureResult; use super::battle_state_query_input_type::BattleStateQueryInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetBattleStateArgs { + struct GetBattleStateArgs { pub input: BattleStateQueryInput, } + impl __sdk::InModule for GetBattleStateArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetBattleStateArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_battle_state { - fn get_battle_state(&self, input: BattleStateQueryInput) { - self.get_battle_state_then(input, |_, _| {}); + fn get_battle_state(&self, input: BattleStateQueryInput, +) { + self.get_battle_state_then(input, |_, _| {}); } fn get_battle_state_then( &self, input: BattleStateQueryInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_battle_state for super::RemoteProcedures { &self, input: BattleStateQueryInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BattleStateProcedureResult>( - "get_battle_state", - GetBattleStateArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BattleStateProcedureResult>( + "get_battle_state", + GetBattleStateArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_run_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_run_procedure.rs index 9a601ff2..a16bbc76 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_run_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_run_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_run_get_input_type::BigFishRunGetInput; use super::big_fish_run_procedure_result_type::BigFishRunProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetBigFishRunArgs { + struct GetBigFishRunArgs { pub input: BigFishRunGetInput, } + impl __sdk::InModule for GetBigFishRunArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetBigFishRunArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_big_fish_run { - fn get_big_fish_run(&self, input: BigFishRunGetInput) { - self.get_big_fish_run_then(input, |_, _| {}); + fn get_big_fish_run(&self, input: BigFishRunGetInput, +) { + self.get_big_fish_run_then(input, |_, _| {}); } fn get_big_fish_run_then( &self, input: BigFishRunGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_big_fish_run for super::RemoteProcedures { &self, input: BigFishRunGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishRunProcedureResult>( - "get_big_fish_run", - GetBigFishRunArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishRunProcedureResult>( + "get_big_fish_run", + GetBigFishRunArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_session_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_session_procedure.rs index 7f52f94b..f54dc9e4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_session_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_session_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_session_get_input_type::BigFishSessionGetInput; use super::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; +use super::big_fish_session_get_input_type::BigFishSessionGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetBigFishSessionArgs { + struct GetBigFishSessionArgs { pub input: BigFishSessionGetInput, } + impl __sdk::InModule for GetBigFishSessionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetBigFishSessionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_big_fish_session { - fn get_big_fish_session(&self, input: BigFishSessionGetInput) { - self.get_big_fish_session_then(input, |_, _| {}); + fn get_big_fish_session(&self, input: BigFishSessionGetInput, +) { + self.get_big_fish_session_then(input, |_, _| {}); } fn get_big_fish_session_then( &self, input: BigFishSessionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_big_fish_session for super::RemoteProcedures { &self, input: BigFishSessionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( - "get_big_fish_session", - GetBigFishSessionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "get_big_fish_session", + GetBigFishSessionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_chapter_progression_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_chapter_progression_procedure.rs index 18f9ae27..dc75dc77 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_chapter_progression_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_chapter_progression_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::chapter_progression_get_input_type::ChapterProgressionGetInput; use super::chapter_progression_procedure_result_type::ChapterProgressionProcedureResult; +use super::chapter_progression_get_input_type::ChapterProgressionGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetChapterProgressionArgs { + struct GetChapterProgressionArgs { pub input: ChapterProgressionGetInput, } + impl __sdk::InModule for GetChapterProgressionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetChapterProgressionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_chapter_progression { - fn get_chapter_progression(&self, input: ChapterProgressionGetInput) { - self.get_chapter_progression_then(input, |_, _| {}); + fn get_chapter_progression(&self, input: ChapterProgressionGetInput, +) { + self.get_chapter_progression_then(input, |_, _| {}); } fn get_chapter_progression_then( &self, input: ChapterProgressionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_chapter_progression for super::RemoteProcedures { &self, input: ChapterProgressionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, ChapterProgressionProcedureResult>( - "get_chapter_progression", - GetChapterProgressionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, ChapterProgressionProcedureResult>( + "get_chapter_progression", + GetChapterProgressionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_card_detail_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_card_detail_procedure.rs index e1034345..f0e38f3b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_card_detail_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_card_detail_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_agent_card_detail_get_input_type::CustomWorldAgentCardDetailGetInput; use super::custom_world_draft_card_detail_result_type::CustomWorldDraftCardDetailResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetCustomWorldAgentCardDetailArgs { + struct GetCustomWorldAgentCardDetailArgs { pub input: CustomWorldAgentCardDetailGetInput, } + impl __sdk::InModule for GetCustomWorldAgentCardDetailArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetCustomWorldAgentCardDetailArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_custom_world_agent_card_detail { - fn get_custom_world_agent_card_detail(&self, input: CustomWorldAgentCardDetailGetInput) { - self.get_custom_world_agent_card_detail_then(input, |_, _| {}); + fn get_custom_world_agent_card_detail(&self, input: CustomWorldAgentCardDetailGetInput, +) { + self.get_custom_world_agent_card_detail_then(input, |_, _| {}); } fn get_custom_world_agent_card_detail_then( &self, input: CustomWorldAgentCardDetailGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_custom_world_agent_card_detail for super::RemoteProcedures { &self, input: CustomWorldAgentCardDetailGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldDraftCardDetailResult>( - "get_custom_world_agent_card_detail", - GetCustomWorldAgentCardDetailArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldDraftCardDetailResult>( + "get_custom_world_agent_card_detail", + GetCustomWorldAgentCardDetailArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_operation_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_operation_procedure.rs index cce1dbb5..45ffda03 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_operation_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_operation_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_agent_operation_get_input_type::CustomWorldAgentOperationGetInput; use super::custom_world_agent_operation_procedure_result_type::CustomWorldAgentOperationProcedureResult; +use super::custom_world_agent_operation_get_input_type::CustomWorldAgentOperationGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetCustomWorldAgentOperationArgs { + struct GetCustomWorldAgentOperationArgs { pub input: CustomWorldAgentOperationGetInput, } + impl __sdk::InModule for GetCustomWorldAgentOperationArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetCustomWorldAgentOperationArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_custom_world_agent_operation { - fn get_custom_world_agent_operation(&self, input: CustomWorldAgentOperationGetInput) { - self.get_custom_world_agent_operation_then(input, |_, _| {}); + fn get_custom_world_agent_operation(&self, input: CustomWorldAgentOperationGetInput, +) { + self.get_custom_world_agent_operation_then(input, |_, _| {}); } fn get_custom_world_agent_operation_then( &self, input: CustomWorldAgentOperationGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_custom_world_agent_operation for super::RemoteProcedures { &self, input: CustomWorldAgentOperationGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldAgentOperationProcedureResult>( - "get_custom_world_agent_operation", - GetCustomWorldAgentOperationArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldAgentOperationProcedureResult>( + "get_custom_world_agent_operation", + GetCustomWorldAgentOperationArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_session_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_session_procedure.rs index f4b678e9..e1660a95 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_session_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_session_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_agent_session_get_input_type::CustomWorldAgentSessionGetInput; use super::custom_world_agent_session_procedure_result_type::CustomWorldAgentSessionProcedureResult; +use super::custom_world_agent_session_get_input_type::CustomWorldAgentSessionGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetCustomWorldAgentSessionArgs { + struct GetCustomWorldAgentSessionArgs { pub input: CustomWorldAgentSessionGetInput, } + impl __sdk::InModule for GetCustomWorldAgentSessionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetCustomWorldAgentSessionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_custom_world_agent_session { - fn get_custom_world_agent_session(&self, input: CustomWorldAgentSessionGetInput) { - self.get_custom_world_agent_session_then(input, |_, _| {}); + fn get_custom_world_agent_session(&self, input: CustomWorldAgentSessionGetInput, +) { + self.get_custom_world_agent_session_then(input, |_, _| {}); } fn get_custom_world_agent_session_then( &self, input: CustomWorldAgentSessionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_custom_world_agent_session for super::RemoteProcedures { &self, input: CustomWorldAgentSessionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldAgentSessionProcedureResult>( - "get_custom_world_agent_session", - GetCustomWorldAgentSessionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldAgentSessionProcedureResult>( + "get_custom_world_agent_session", + GetCustomWorldAgentSessionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_by_code_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_by_code_procedure.rs index a387cbaf..455eb2fc 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_by_code_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_by_code_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_gallery_detail_by_code_input_type::CustomWorldGalleryDetailByCodeInput; use super::custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; +use super::custom_world_gallery_detail_by_code_input_type::CustomWorldGalleryDetailByCodeInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetCustomWorldGalleryDetailByCodeArgs { + struct GetCustomWorldGalleryDetailByCodeArgs { pub input: CustomWorldGalleryDetailByCodeInput, } + impl __sdk::InModule for GetCustomWorldGalleryDetailByCodeArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetCustomWorldGalleryDetailByCodeArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_custom_world_gallery_detail_by_code { - fn get_custom_world_gallery_detail_by_code(&self, input: CustomWorldGalleryDetailByCodeInput) { - self.get_custom_world_gallery_detail_by_code_then(input, |_, _| {}); + fn get_custom_world_gallery_detail_by_code(&self, input: CustomWorldGalleryDetailByCodeInput, +) { + self.get_custom_world_gallery_detail_by_code_then(input, |_, _| {}); } fn get_custom_world_gallery_detail_by_code_then( &self, input: CustomWorldGalleryDetailByCodeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_custom_world_gallery_detail_by_code for super::RemoteProcedures { &self, input: CustomWorldGalleryDetailByCodeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( - "get_custom_world_gallery_detail_by_code", - GetCustomWorldGalleryDetailByCodeArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( + "get_custom_world_gallery_detail_by_code", + GetCustomWorldGalleryDetailByCodeArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_procedure.rs index d0e029ff..79050c11 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_gallery_detail_input_type::CustomWorldGalleryDetailInput; use super::custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetCustomWorldGalleryDetailArgs { + struct GetCustomWorldGalleryDetailArgs { pub input: CustomWorldGalleryDetailInput, } + impl __sdk::InModule for GetCustomWorldGalleryDetailArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetCustomWorldGalleryDetailArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_custom_world_gallery_detail { - fn get_custom_world_gallery_detail(&self, input: CustomWorldGalleryDetailInput) { - self.get_custom_world_gallery_detail_then(input, |_, _| {}); + fn get_custom_world_gallery_detail(&self, input: CustomWorldGalleryDetailInput, +) { + self.get_custom_world_gallery_detail_then(input, |_, _| {}); } fn get_custom_world_gallery_detail_then( &self, input: CustomWorldGalleryDetailInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_custom_world_gallery_detail for super::RemoteProcedures { &self, input: CustomWorldGalleryDetailInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( - "get_custom_world_gallery_detail", - GetCustomWorldGalleryDetailArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( + "get_custom_world_gallery_detail", + GetCustomWorldGalleryDetailArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_library_detail_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_library_detail_procedure.rs index 82bd1c3c..175758c2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_library_detail_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_library_detail_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_library_detail_input_type::CustomWorldLibraryDetailInput; use super::custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; +use super::custom_world_library_detail_input_type::CustomWorldLibraryDetailInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetCustomWorldLibraryDetailArgs { + struct GetCustomWorldLibraryDetailArgs { pub input: CustomWorldLibraryDetailInput, } + impl __sdk::InModule for GetCustomWorldLibraryDetailArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetCustomWorldLibraryDetailArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_custom_world_library_detail { - fn get_custom_world_library_detail(&self, input: CustomWorldLibraryDetailInput) { - self.get_custom_world_library_detail_then(input, |_, _| {}); + fn get_custom_world_library_detail(&self, input: CustomWorldLibraryDetailInput, +) { + self.get_custom_world_library_detail_then(input, |_, _| {}); } fn get_custom_world_library_detail_then( &self, input: CustomWorldLibraryDetailInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_custom_world_library_detail for super::RemoteProcedures { &self, input: CustomWorldLibraryDetailInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( - "get_custom_world_library_detail", - GetCustomWorldLibraryDetailArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( + "get_custom_world_library_detail", + GetCustomWorldLibraryDetailArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_player_progression_or_default_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_player_progression_or_default_procedure.rs index 38a1525a..73490884 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_player_progression_or_default_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_player_progression_or_default_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_get_input_type::PlayerProgressionGetInput; use super::player_progression_procedure_result_type::PlayerProgressionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetPlayerProgressionOrDefaultArgs { + struct GetPlayerProgressionOrDefaultArgs { pub input: PlayerProgressionGetInput, } + impl __sdk::InModule for GetPlayerProgressionOrDefaultArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetPlayerProgressionOrDefaultArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_player_progression_or_default { - fn get_player_progression_or_default(&self, input: PlayerProgressionGetInput) { - self.get_player_progression_or_default_then(input, |_, _| {}); + fn get_player_progression_or_default(&self, input: PlayerProgressionGetInput, +) { + self.get_player_progression_or_default_then(input, |_, _| {}); } fn get_player_progression_or_default_then( &self, input: PlayerProgressionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_player_progression_or_default for super::RemoteProcedures { &self, input: PlayerProgressionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PlayerProgressionProcedureResult>( - "get_player_progression_or_default", - GetPlayerProgressionOrDefaultArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PlayerProgressionProcedureResult>( + "get_player_progression_or_default", + GetPlayerProgressionOrDefaultArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_profile_dashboard_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_profile_dashboard_procedure.rs index 6c48fafb..616a11b8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_profile_dashboard_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_profile_dashboard_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_dashboard_get_input_type::RuntimeProfileDashboardGetInput; use super::runtime_profile_dashboard_procedure_result_type::RuntimeProfileDashboardProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetProfileDashboardArgs { + struct GetProfileDashboardArgs { pub input: RuntimeProfileDashboardGetInput, } + impl __sdk::InModule for GetProfileDashboardArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetProfileDashboardArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_profile_dashboard { - fn get_profile_dashboard(&self, input: RuntimeProfileDashboardGetInput) { - self.get_profile_dashboard_then(input, |_, _| {}); + fn get_profile_dashboard(&self, input: RuntimeProfileDashboardGetInput, +) { + self.get_profile_dashboard_then(input, |_, _| {}); } fn get_profile_dashboard_then( &self, input: RuntimeProfileDashboardGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_profile_dashboard for super::RemoteProcedures { &self, input: RuntimeProfileDashboardGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeProfileDashboardProcedureResult>( - "get_profile_dashboard", - GetProfileDashboardArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeProfileDashboardProcedureResult>( + "get_profile_dashboard", + GetProfileDashboardArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_profile_play_stats_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_profile_play_stats_procedure.rs index 088f4812..466c6902 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_profile_play_stats_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_profile_play_stats_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_play_stats_get_input_type::RuntimeProfilePlayStatsGetInput; use super::runtime_profile_play_stats_procedure_result_type::RuntimeProfilePlayStatsProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetProfilePlayStatsArgs { + struct GetProfilePlayStatsArgs { pub input: RuntimeProfilePlayStatsGetInput, } + impl __sdk::InModule for GetProfilePlayStatsArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetProfilePlayStatsArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_profile_play_stats { - fn get_profile_play_stats(&self, input: RuntimeProfilePlayStatsGetInput) { - self.get_profile_play_stats_then(input, |_, _| {}); + fn get_profile_play_stats(&self, input: RuntimeProfilePlayStatsGetInput, +) { + self.get_profile_play_stats_then(input, |_, _| {}); } fn get_profile_play_stats_then( &self, input: RuntimeProfilePlayStatsGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_profile_play_stats for super::RemoteProcedures { &self, input: RuntimeProfilePlayStatsGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeProfilePlayStatsProcedureResult>( - "get_profile_play_stats", - GetProfilePlayStatsArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeProfilePlayStatsProcedureResult>( + "get_profile_play_stats", + GetProfilePlayStatsArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_agent_session_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_agent_session_procedure.rs index 8aa5a78f..8946764b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_agent_session_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_agent_session_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_agent_session_get_input_type::PuzzleAgentSessionGetInput; use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; +use super::puzzle_agent_session_get_input_type::PuzzleAgentSessionGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetPuzzleAgentSessionArgs { + struct GetPuzzleAgentSessionArgs { pub input: PuzzleAgentSessionGetInput, } + impl __sdk::InModule for GetPuzzleAgentSessionArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetPuzzleAgentSessionArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_puzzle_agent_session { - fn get_puzzle_agent_session(&self, input: PuzzleAgentSessionGetInput) { - self.get_puzzle_agent_session_then(input, |_, _| {}); + fn get_puzzle_agent_session(&self, input: PuzzleAgentSessionGetInput, +) { + self.get_puzzle_agent_session_then(input, |_, _| {}); } fn get_puzzle_agent_session_then( &self, input: PuzzleAgentSessionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_puzzle_agent_session for super::RemoteProcedures { &self, input: PuzzleAgentSessionGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "get_puzzle_agent_session", - GetPuzzleAgentSessionArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "get_puzzle_agent_session", + GetPuzzleAgentSessionArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_gallery_detail_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_gallery_detail_procedure.rs index 85b70081..0c78ac7c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_gallery_detail_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_gallery_detail_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_work_get_input_type::PuzzleWorkGetInput; use super::puzzle_work_procedure_result_type::PuzzleWorkProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetPuzzleGalleryDetailArgs { + struct GetPuzzleGalleryDetailArgs { pub input: PuzzleWorkGetInput, } + impl __sdk::InModule for GetPuzzleGalleryDetailArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetPuzzleGalleryDetailArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_puzzle_gallery_detail { - fn get_puzzle_gallery_detail(&self, input: PuzzleWorkGetInput) { - self.get_puzzle_gallery_detail_then(input, |_, _| {}); + fn get_puzzle_gallery_detail(&self, input: PuzzleWorkGetInput, +) { + self.get_puzzle_gallery_detail_then(input, |_, _| {}); } fn get_puzzle_gallery_detail_then( &self, input: PuzzleWorkGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_puzzle_gallery_detail for super::RemoteProcedures { &self, input: PuzzleWorkGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( - "get_puzzle_gallery_detail", - GetPuzzleGalleryDetailArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( + "get_puzzle_gallery_detail", + GetPuzzleGalleryDetailArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_run_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_run_procedure.rs index d09fc285..c409b79d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_run_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_run_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_run_get_input_type::PuzzleRunGetInput; use super::puzzle_run_procedure_result_type::PuzzleRunProcedureResult; +use super::puzzle_run_get_input_type::PuzzleRunGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetPuzzleRunArgs { + struct GetPuzzleRunArgs { pub input: PuzzleRunGetInput, } + impl __sdk::InModule for GetPuzzleRunArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetPuzzleRunArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_puzzle_run { - fn get_puzzle_run(&self, input: PuzzleRunGetInput) { - self.get_puzzle_run_then(input, |_, _| {}); + fn get_puzzle_run(&self, input: PuzzleRunGetInput, +) { + self.get_puzzle_run_then(input, |_, _| {}); } fn get_puzzle_run_then( &self, input: PuzzleRunGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_puzzle_run for super::RemoteProcedures { &self, input: PuzzleRunGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( - "get_puzzle_run", - GetPuzzleRunArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( + "get_puzzle_run", + GetPuzzleRunArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_work_detail_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_work_detail_procedure.rs index 0d6c4f70..c21d1048 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_work_detail_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_work_detail_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_work_get_input_type::PuzzleWorkGetInput; use super::puzzle_work_procedure_result_type::PuzzleWorkProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetPuzzleWorkDetailArgs { + struct GetPuzzleWorkDetailArgs { pub input: PuzzleWorkGetInput, } + impl __sdk::InModule for GetPuzzleWorkDetailArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetPuzzleWorkDetailArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_puzzle_work_detail { - fn get_puzzle_work_detail(&self, input: PuzzleWorkGetInput) { - self.get_puzzle_work_detail_then(input, |_, _| {}); + fn get_puzzle_work_detail(&self, input: PuzzleWorkGetInput, +) { + self.get_puzzle_work_detail_then(input, |_, _| {}); } fn get_puzzle_work_detail_then( &self, input: PuzzleWorkGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_puzzle_work_detail for super::RemoteProcedures { &self, input: PuzzleWorkGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( - "get_puzzle_work_detail", - GetPuzzleWorkDetailArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( + "get_puzzle_work_detail", + GetPuzzleWorkDetailArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_inventory_state_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_inventory_state_procedure.rs index c8dfefac..d5137496 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_inventory_state_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_inventory_state_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::runtime_inventory_state_procedure_result_type::RuntimeInventoryStateProcedureResult; use super::runtime_inventory_state_query_input_type::RuntimeInventoryStateQueryInput; +use super::runtime_inventory_state_procedure_result_type::RuntimeInventoryStateProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetRuntimeInventoryStateArgs { + struct GetRuntimeInventoryStateArgs { pub input: RuntimeInventoryStateQueryInput, } + impl __sdk::InModule for GetRuntimeInventoryStateArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetRuntimeInventoryStateArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_runtime_inventory_state { - fn get_runtime_inventory_state(&self, input: RuntimeInventoryStateQueryInput) { - self.get_runtime_inventory_state_then(input, |_, _| {}); + fn get_runtime_inventory_state(&self, input: RuntimeInventoryStateQueryInput, +) { + self.get_runtime_inventory_state_then(input, |_, _| {}); } fn get_runtime_inventory_state_then( &self, input: RuntimeInventoryStateQueryInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_runtime_inventory_state for super::RemoteProcedures { &self, input: RuntimeInventoryStateQueryInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeInventoryStateProcedureResult>( - "get_runtime_inventory_state", - GetRuntimeInventoryStateArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeInventoryStateProcedureResult>( + "get_runtime_inventory_state", + GetRuntimeInventoryStateArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_setting_or_default_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_setting_or_default_procedure.rs index 4ca8b03e..a58e515c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_setting_or_default_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_setting_or_default_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_setting_get_input_type::RuntimeSettingGetInput; use super::runtime_setting_procedure_result_type::RuntimeSettingProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetRuntimeSettingOrDefaultArgs { + struct GetRuntimeSettingOrDefaultArgs { pub input: RuntimeSettingGetInput, } + impl __sdk::InModule for GetRuntimeSettingOrDefaultArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetRuntimeSettingOrDefaultArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_runtime_setting_or_default { - fn get_runtime_setting_or_default(&self, input: RuntimeSettingGetInput) { - self.get_runtime_setting_or_default_then(input, |_, _| {}); + fn get_runtime_setting_or_default(&self, input: RuntimeSettingGetInput, +) { + self.get_runtime_setting_or_default_then(input, |_, _| {}); } fn get_runtime_setting_or_default_then( &self, input: RuntimeSettingGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_runtime_setting_or_default for super::RemoteProcedures { &self, input: RuntimeSettingGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeSettingProcedureResult>( - "get_runtime_setting_or_default", - GetRuntimeSettingOrDefaultArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeSettingProcedureResult>( + "get_runtime_setting_or_default", + GetRuntimeSettingOrDefaultArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_snapshot_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_snapshot_procedure.rs index 7f9feb4f..75117d98 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_snapshot_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_runtime_snapshot_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::runtime_snapshot_get_input_type::RuntimeSnapshotGetInput; use super::runtime_snapshot_procedure_result_type::RuntimeSnapshotProcedureResult; +use super::runtime_snapshot_get_input_type::RuntimeSnapshotGetInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetRuntimeSnapshotArgs { + struct GetRuntimeSnapshotArgs { pub input: RuntimeSnapshotGetInput, } + impl __sdk::InModule for GetRuntimeSnapshotArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetRuntimeSnapshotArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_runtime_snapshot { - fn get_runtime_snapshot(&self, input: RuntimeSnapshotGetInput) { - self.get_runtime_snapshot_then(input, |_, _| {}); + fn get_runtime_snapshot(&self, input: RuntimeSnapshotGetInput, +) { + self.get_runtime_snapshot_then(input, |_, _| {}); } fn get_runtime_snapshot_then( &self, input: RuntimeSnapshotGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_runtime_snapshot for super::RemoteProcedures { &self, input: RuntimeSnapshotGetInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeSnapshotProcedureResult>( - "get_runtime_snapshot", - GetRuntimeSnapshotArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeSnapshotProcedureResult>( + "get_runtime_snapshot", + GetRuntimeSnapshotArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/get_story_session_state_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/get_story_session_state_procedure.rs index 44b48ada..b454ab5d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/get_story_session_state_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/get_story_session_state_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_session_state_input_type::StorySessionStateInput; use super::story_session_state_procedure_result_type::StorySessionStateProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GetStorySessionStateArgs { + struct GetStorySessionStateArgs { pub input: StorySessionStateInput, } + impl __sdk::InModule for GetStorySessionStateArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GetStorySessionStateArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait get_story_session_state { - fn get_story_session_state(&self, input: StorySessionStateInput) { - self.get_story_session_state_then(input, |_, _| {}); + fn get_story_session_state(&self, input: StorySessionStateInput, +) { + self.get_story_session_state_then(input, |_, _| {}); } fn get_story_session_state_then( &self, input: StorySessionStateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl get_story_session_state for super::RemoteProcedures { &self, input: StorySessionStateInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, StorySessionStateProcedureResult>( - "get_story_session_state", - GetStorySessionStateArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, StorySessionStateProcedureResult>( + "get_story_session_state", + GetStorySessionStateArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/grant_inventory_item_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/grant_inventory_item_input_type.rs index 553aff65..c9389060 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/grant_inventory_item_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/grant_inventory_item_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::inventory_item_snapshot_type::InventoryItemSnapshot; @@ -13,6 +18,8 @@ pub struct GrantInventoryItemInput { pub item: InventoryItemSnapshot, } + impl __sdk::InModule for GrantInventoryItemInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_and_return_procedure.rs index a3f2aa9e..04e0ae9a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::player_progression_grant_input_type::PlayerProgressionGrantInput; use super::player_progression_procedure_result_type::PlayerProgressionProcedureResult; +use super::player_progression_grant_input_type::PlayerProgressionGrantInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct GrantPlayerProgressionExperienceAndReturnArgs { + struct GrantPlayerProgressionExperienceAndReturnArgs { pub input: PlayerProgressionGrantInput, } + impl __sdk::InModule for GrantPlayerProgressionExperienceAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for GrantPlayerProgressionExperienceAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait grant_player_progression_experience_and_return { - fn grant_player_progression_experience_and_return(&self, input: PlayerProgressionGrantInput) { - self.grant_player_progression_experience_and_return_then(input, |_, _| {}); + fn grant_player_progression_experience_and_return(&self, input: PlayerProgressionGrantInput, +) { + self.grant_player_progression_experience_and_return_then(input, |_, _| {}); } fn grant_player_progression_experience_and_return_then( &self, input: PlayerProgressionGrantInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl grant_player_progression_experience_and_return for super::RemoteProcedures &self, input: PlayerProgressionGrantInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PlayerProgressionProcedureResult>( - "grant_player_progression_experience_and_return", - GrantPlayerProgressionExperienceAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PlayerProgressionProcedureResult>( + "grant_player_progression_experience_and_return", + GrantPlayerProgressionExperienceAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_reducer.rs index bd07115e..324bb57f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_grant_input_type::PlayerProgressionGrantInput; @@ -14,8 +19,10 @@ pub(super) struct GrantPlayerProgressionExperienceArgs { impl From for super::Reducer { fn from(args: GrantPlayerProgressionExperienceArgs) -> Self { - Self::GrantPlayerProgressionExperience { input: args.input } - } + Self::GrantPlayerProgressionExperience { + input: args.input, +} +} } impl __sdk::InModule for GrantPlayerProgressionExperienceArgs { @@ -33,11 +40,9 @@ pub trait grant_player_progression_experience { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`grant_player_progression_experience:grant_player_progression_experience_then`] to run a callback after the reducer completes. - fn grant_player_progression_experience( - &self, - input: PlayerProgressionGrantInput, - ) -> __sdk::Result<()> { - self.grant_player_progression_experience_then(input, |_, _| {}) + fn grant_player_progression_experience(&self, input: PlayerProgressionGrantInput, +) -> __sdk::Result<()> { + self.grant_player_progression_experience_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `grant_player_progression_experience` to run as soon as possible, @@ -50,11 +55,9 @@ pub trait grant_player_progression_experience { &self, input: PlayerProgressionGrantInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -63,13 +66,11 @@ impl grant_player_progression_experience for super::RemoteReducers { &self, input: PlayerProgressionGrantInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(GrantPlayerProgressionExperienceArgs { input }, callback) + self.imp.invoke_reducer_with_callback(GrantPlayerProgressionExperienceArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_container_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_container_kind_type.rs index 45522ce7..23de3559 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_container_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_container_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum InventoryContainerKind { Backpack, Equipment, + } + + impl __sdk::InModule for InventoryContainerKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_equipment_slot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_equipment_slot_type.rs index e2055f6a..81154f9f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_equipment_slot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_equipment_slot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum InventoryEquipmentSlot { Armor, Relic, + } + + impl __sdk::InModule for InventoryEquipmentSlot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_rarity_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_rarity_type.rs index 85b46090..e277c402 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_rarity_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_rarity_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum InventoryItemRarity { Epic, Legendary, + } + + impl __sdk::InModule for InventoryItemRarity { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_snapshot_type.rs index 3769735e..7e962e4d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_snapshot_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::inventory_equipment_slot_type::InventoryEquipmentSlot; use super::inventory_item_rarity_type::InventoryItemRarity; +use super::inventory_equipment_slot_type::InventoryEquipmentSlot; use super::inventory_item_source_kind_type::InventoryItemSourceKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] @@ -14,17 +19,19 @@ pub struct InventoryItemSnapshot { pub item_id: String, pub category: String, pub name: String, - pub description: Option, + pub description: Option::, pub quantity: u32, pub rarity: InventoryItemRarity, - pub tags: Vec, + pub tags: Vec::, pub stackable: bool, pub stack_key: String, - pub equipment_slot_id: Option, + pub equipment_slot_id: Option::, pub source_kind: InventoryItemSourceKind, - pub source_reference_id: Option, + pub source_reference_id: Option::, } + impl __sdk::InModule for InventoryItemSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_source_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_source_kind_type.rs index 1d3961bc..5303c581 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_source_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_item_source_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -25,8 +30,12 @@ pub enum InventoryItemSourceKind { ForgeReforge, ManualPatch, + } + + impl __sdk::InModule for InventoryItemSourceKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_input_type.rs index 3540ad3b..c696e383 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::inventory_mutation_type::InventoryMutation; @@ -11,12 +16,14 @@ use super::inventory_mutation_type::InventoryMutation; pub struct InventoryMutationInput { pub mutation_id: String, pub runtime_session_id: String, - pub story_session_id: Option, + pub story_session_id: Option::, pub actor_user_id: String, pub mutation: InventoryMutation, pub updated_at_micros: i64, } + impl __sdk::InModule for InventoryMutationInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_type.rs index 3d0d0e4f..d7b64029 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_mutation_type.rs @@ -2,11 +2,16 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; +use super::grant_inventory_item_input_type::GrantInventoryItemInput; use super::consume_inventory_item_input_type::ConsumeInventoryItemInput; use super::equip_inventory_item_input_type::EquipInventoryItemInput; -use super::grant_inventory_item_input_type::GrantInventoryItemInput; use super::unequip_inventory_item_input_type::UnequipInventoryItemInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] @@ -19,8 +24,12 @@ pub enum InventoryMutation { EquipItem(EquipInventoryItemInput), UnequipItem(UnequipInventoryItemInput), + } + + impl __sdk::InModule for InventoryMutation { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_snapshot_type.rs index f20e5451..4ce26de5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_snapshot_type.rs @@ -2,38 +2,45 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::inventory_container_kind_type::InventoryContainerKind; -use super::inventory_equipment_slot_type::InventoryEquipmentSlot; use super::inventory_item_rarity_type::InventoryItemRarity; +use super::inventory_equipment_slot_type::InventoryEquipmentSlot; use super::inventory_item_source_kind_type::InventoryItemSourceKind; +use super::inventory_container_kind_type::InventoryContainerKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct InventorySlotSnapshot { pub slot_id: String, pub runtime_session_id: String, - pub story_session_id: Option, + pub story_session_id: Option::, pub actor_user_id: String, pub container_kind: InventoryContainerKind, pub slot_key: String, pub item_id: String, pub category: String, pub name: String, - pub description: Option, + pub description: Option::, pub quantity: u32, pub rarity: InventoryItemRarity, - pub tags: Vec, + pub tags: Vec::, pub stackable: bool, pub stack_key: String, - pub equipment_slot_id: Option, + pub equipment_slot_id: Option::, pub source_kind: InventoryItemSourceKind, - pub source_reference_id: Option, + pub source_reference_id: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for InventorySlotSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_table.rs index 277df68a..da04ff99 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_table.rs @@ -2,12 +2,17 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::inventory_container_kind_type::InventoryContainerKind; -use super::inventory_equipment_slot_type::InventoryEquipmentSlot; -use super::inventory_item_rarity_type::InventoryItemRarity; -use super::inventory_item_source_kind_type::InventoryItemSourceKind; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::inventory_slot_type::InventorySlot; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::inventory_item_rarity_type::InventoryItemRarity; +use super::inventory_equipment_slot_type::InventoryEquipmentSlot; +use super::inventory_item_source_kind_type::InventoryItemSourceKind; +use super::inventory_container_kind_type::InventoryContainerKind; /// Table handle for the table `inventory_slot`. /// @@ -48,12 +53,8 @@ impl<'ctx> __sdk::Table for InventorySlotTableHandle<'ctx> { type Row = InventorySlot; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = InventorySlotInsertCallbackId; @@ -99,38 +100,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for InventorySlotTableHandle<'ctx> { } } -/// Access to the `slot_id` unique index on the table `inventory_slot`, -/// which allows point queries on the field of the same name -/// via the [`InventorySlotSlotIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.inventory_slot().slot_id().find(...)`. -pub struct InventorySlotSlotIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> InventorySlotTableHandle<'ctx> { - /// Get a handle on the `slot_id` unique index on the table `inventory_slot`. - pub fn slot_id(&self) -> InventorySlotSlotIdUnique<'ctx> { - InventorySlotSlotIdUnique { - imp: self.imp.get_unique_constraint::("slot_id"), - phantom: std::marker::PhantomData, + /// Access to the `slot_id` unique index on the table `inventory_slot`, + /// which allows point queries on the field of the same name + /// via the [`InventorySlotSlotIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.inventory_slot().slot_id().find(...)`. + pub struct InventorySlotSlotIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> InventorySlotSlotIdUnique<'ctx> { - /// Find the subscribed row whose `slot_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 { - self.imp.find(col_val) - } -} + impl<'ctx> InventorySlotTableHandle<'ctx> { + /// Get a handle on the `slot_id` unique index on the table `inventory_slot`. + pub fn slot_id(&self) -> InventorySlotSlotIdUnique<'ctx> { + InventorySlotSlotIdUnique { + imp: self.imp.get_unique_constraint::("slot_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> InventorySlotSlotIdUnique<'ctx> { + /// Find the subscribed row whose `slot_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("inventory_slot"); _table.add_unique_constraint::("slot_id", |row| &row.slot_id); } @@ -140,24 +142,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `InventorySlot`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait inventory_slotQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `InventorySlot`. - fn inventory_slot(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `InventorySlot`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait inventory_slotQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `InventorySlot`. + fn inventory_slot(&self) -> __sdk::__query_builder::Table; + } + + impl inventory_slotQueryTableAccess for __sdk::QueryTableAccessor { + fn inventory_slot(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("inventory_slot") + } + } -impl inventory_slotQueryTableAccess for __sdk::QueryTableAccessor { - fn inventory_slot(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("inventory_slot") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_type.rs index fcfbab6a..c824c438 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/inventory_slot_type.rs @@ -2,65 +2,71 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::inventory_container_kind_type::InventoryContainerKind; -use super::inventory_equipment_slot_type::InventoryEquipmentSlot; use super::inventory_item_rarity_type::InventoryItemRarity; +use super::inventory_equipment_slot_type::InventoryEquipmentSlot; use super::inventory_item_source_kind_type::InventoryItemSourceKind; +use super::inventory_container_kind_type::InventoryContainerKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct InventorySlot { pub slot_id: String, pub runtime_session_id: String, - pub story_session_id: Option, + pub story_session_id: Option::, pub actor_user_id: String, pub container_kind: InventoryContainerKind, pub slot_key: String, pub item_id: String, pub category: String, pub name: String, - pub description: Option, + pub description: Option::, pub quantity: u32, pub rarity: InventoryItemRarity, - pub tags: Vec, + pub tags: Vec::, pub stackable: bool, pub stack_key: String, - pub equipment_slot_id: Option, + pub equipment_slot_id: Option::, pub source_kind: InventoryItemSourceKind, - pub source_reference_id: Option, + pub source_reference_id: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for InventorySlot { type Module = super::RemoteModule; } + /// Column accessor struct for the table `InventorySlot`. /// /// Provides typed access to columns for query building. pub struct InventorySlotCols { pub slot_id: __sdk::__query_builder::Col, pub runtime_session_id: __sdk::__query_builder::Col, - pub story_session_id: __sdk::__query_builder::Col>, + pub story_session_id: __sdk::__query_builder::Col>, pub actor_user_id: __sdk::__query_builder::Col, pub container_kind: __sdk::__query_builder::Col, pub slot_key: __sdk::__query_builder::Col, pub item_id: __sdk::__query_builder::Col, pub category: __sdk::__query_builder::Col, pub name: __sdk::__query_builder::Col, - pub description: __sdk::__query_builder::Col>, + pub description: __sdk::__query_builder::Col>, pub quantity: __sdk::__query_builder::Col, pub rarity: __sdk::__query_builder::Col, - pub tags: __sdk::__query_builder::Col>, + pub tags: __sdk::__query_builder::Col>, pub stackable: __sdk::__query_builder::Col, pub stack_key: __sdk::__query_builder::Col, - pub equipment_slot_id: - __sdk::__query_builder::Col>, + pub equipment_slot_id: __sdk::__query_builder::Col>, pub source_kind: __sdk::__query_builder::Col, - pub source_reference_id: __sdk::__query_builder::Col>, + pub source_reference_id: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -86,12 +92,10 @@ impl __sdk::__query_builder::HasCols for InventorySlot { stack_key: __sdk::__query_builder::Col::new(table_name, "stack_key"), equipment_slot_id: __sdk::__query_builder::Col::new(table_name, "equipment_slot_id"), source_kind: __sdk::__query_builder::Col::new(table_name, "source_kind"), - source_reference_id: __sdk::__query_builder::Col::new( - table_name, - "source_reference_id", - ), + source_reference_id: __sdk::__query_builder::Col::new(table_name, "source_reference_id"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -112,13 +116,12 @@ impl __sdk::__query_builder::HasIxCols for InventorySlot { InventorySlotIxCols { actor_user_id: __sdk::__query_builder::IxCol::new(table_name, "actor_user_id"), item_id: __sdk::__query_builder::IxCol::new(table_name, "item_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), slot_id: __sdk::__query_builder::IxCol::new(table_name, "slot_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for InventorySlot {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_big_fish_works_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_big_fish_works_procedure.rs index 45ba04af..26eb3b8a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_big_fish_works_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_big_fish_works_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_works_list_input_type::BigFishWorksListInput; use super::big_fish_works_procedure_result_type::BigFishWorksProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListBigFishWorksArgs { + struct ListBigFishWorksArgs { pub input: BigFishWorksListInput, } + impl __sdk::InModule for ListBigFishWorksArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListBigFishWorksArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_big_fish_works { - fn list_big_fish_works(&self, input: BigFishWorksListInput) { - self.list_big_fish_works_then(input, |_, _| {}); + fn list_big_fish_works(&self, input: BigFishWorksListInput, +) { + self.list_big_fish_works_then(input, |_, _| {}); } fn list_big_fish_works_then( &self, input: BigFishWorksListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_big_fish_works for super::RemoteProcedures { &self, input: BigFishWorksListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishWorksProcedureResult>( - "list_big_fish_works", - ListBigFishWorksArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishWorksProcedureResult>( + "list_big_fish_works", + ListBigFishWorksArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_gallery_entries_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_gallery_entries_procedure.rs index 01f6cb0c..507757cf 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_gallery_entries_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_gallery_entries_procedure.rs @@ -2,13 +2,20 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_gallery_list_result_type::CustomWorldGalleryListResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListCustomWorldGalleryEntriesArgs {} + struct ListCustomWorldGalleryEntriesArgs { + } + impl __sdk::InModule for ListCustomWorldGalleryEntriesArgs { type Module = super::RemoteModule; @@ -19,36 +26,28 @@ impl __sdk::InModule for ListCustomWorldGalleryEntriesArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_custom_world_gallery_entries { - fn list_custom_world_gallery_entries(&self) { - self.list_custom_world_gallery_entries_then(|_, _| {}); + fn list_custom_world_gallery_entries(&self, ) { + self.list_custom_world_gallery_entries_then( |_, _| {}); } fn list_custom_world_gallery_entries_then( &self, - - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } impl list_custom_world_gallery_entries for super::RemoteProcedures { fn list_custom_world_gallery_entries_then( &self, - - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldGalleryListResult>( - "list_custom_world_gallery_entries", - ListCustomWorldGalleryEntriesArgs {}, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldGalleryListResult>( + "list_custom_world_gallery_entries", + ListCustomWorldGalleryEntriesArgs { }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_profiles_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_profiles_procedure.rs index c42ce2c6..2a591015 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_profiles_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_profiles_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_profile_list_input_type::CustomWorldProfileListInput; use super::custom_world_profile_list_result_type::CustomWorldProfileListResult; +use super::custom_world_profile_list_input_type::CustomWorldProfileListInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListCustomWorldProfilesArgs { + struct ListCustomWorldProfilesArgs { pub input: CustomWorldProfileListInput, } + impl __sdk::InModule for ListCustomWorldProfilesArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListCustomWorldProfilesArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_custom_world_profiles { - fn list_custom_world_profiles(&self, input: CustomWorldProfileListInput) { - self.list_custom_world_profiles_then(input, |_, _| {}); + fn list_custom_world_profiles(&self, input: CustomWorldProfileListInput, +) { + self.list_custom_world_profiles_then(input, |_, _| {}); } fn list_custom_world_profiles_then( &self, input: CustomWorldProfileListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_custom_world_profiles for super::RemoteProcedures { &self, input: CustomWorldProfileListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldProfileListResult>( - "list_custom_world_profiles", - ListCustomWorldProfilesArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldProfileListResult>( + "list_custom_world_profiles", + ListCustomWorldProfilesArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_works_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_works_procedure.rs index 77f48ba6..aca87254 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_works_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_works_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_works_list_input_type::CustomWorldWorksListInput; use super::custom_world_works_list_result_type::CustomWorldWorksListResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListCustomWorldWorksArgs { + struct ListCustomWorldWorksArgs { pub input: CustomWorldWorksListInput, } + impl __sdk::InModule for ListCustomWorldWorksArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListCustomWorldWorksArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_custom_world_works { - fn list_custom_world_works(&self, input: CustomWorldWorksListInput) { - self.list_custom_world_works_then(input, |_, _| {}); + fn list_custom_world_works(&self, input: CustomWorldWorksListInput, +) { + self.list_custom_world_works_then(input, |_, _| {}); } fn list_custom_world_works_then( &self, input: CustomWorldWorksListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_custom_world_works for super::RemoteProcedures { &self, input: CustomWorldWorksListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldWorksListResult>( - "list_custom_world_works", - ListCustomWorldWorksArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldWorksListResult>( + "list_custom_world_works", + ListCustomWorldWorksArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_platform_browse_history_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_platform_browse_history_procedure.rs index 00176656..0c10f6c3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_platform_browse_history_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_platform_browse_history_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::runtime_browse_history_list_input_type::RuntimeBrowseHistoryListInput; use super::runtime_browse_history_procedure_result_type::RuntimeBrowseHistoryProcedureResult; +use super::runtime_browse_history_list_input_type::RuntimeBrowseHistoryListInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListPlatformBrowseHistoryArgs { + struct ListPlatformBrowseHistoryArgs { pub input: RuntimeBrowseHistoryListInput, } + impl __sdk::InModule for ListPlatformBrowseHistoryArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListPlatformBrowseHistoryArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_platform_browse_history { - fn list_platform_browse_history(&self, input: RuntimeBrowseHistoryListInput) { - self.list_platform_browse_history_then(input, |_, _| {}); + fn list_platform_browse_history(&self, input: RuntimeBrowseHistoryListInput, +) { + self.list_platform_browse_history_then(input, |_, _| {}); } fn list_platform_browse_history_then( &self, input: RuntimeBrowseHistoryListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_platform_browse_history for super::RemoteProcedures { &self, input: RuntimeBrowseHistoryListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeBrowseHistoryProcedureResult>( - "list_platform_browse_history", - ListPlatformBrowseHistoryArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeBrowseHistoryProcedureResult>( + "list_platform_browse_history", + ListPlatformBrowseHistoryArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_profile_save_archives_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_profile_save_archives_procedure.rs index 1c7176cf..6476c3ac 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_profile_save_archives_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_profile_save_archives_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_save_archive_list_input_type::RuntimeProfileSaveArchiveListInput; use super::runtime_profile_save_archive_procedure_result_type::RuntimeProfileSaveArchiveProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListProfileSaveArchivesArgs { + struct ListProfileSaveArchivesArgs { pub input: RuntimeProfileSaveArchiveListInput, } + impl __sdk::InModule for ListProfileSaveArchivesArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListProfileSaveArchivesArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_profile_save_archives { - fn list_profile_save_archives(&self, input: RuntimeProfileSaveArchiveListInput) { - self.list_profile_save_archives_then(input, |_, _| {}); + fn list_profile_save_archives(&self, input: RuntimeProfileSaveArchiveListInput, +) { + self.list_profile_save_archives_then(input, |_, _| {}); } fn list_profile_save_archives_then( &self, input: RuntimeProfileSaveArchiveListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_profile_save_archives for super::RemoteProcedures { &self, input: RuntimeProfileSaveArchiveListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeProfileSaveArchiveProcedureResult>( - "list_profile_save_archives", - ListProfileSaveArchivesArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeProfileSaveArchiveProcedureResult>( + "list_profile_save_archives", + ListProfileSaveArchivesArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_profile_wallet_ledger_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_profile_wallet_ledger_procedure.rs index d51f0df2..4ae618f0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_profile_wallet_ledger_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_profile_wallet_ledger_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_wallet_ledger_list_input_type::RuntimeProfileWalletLedgerListInput; use super::runtime_profile_wallet_ledger_procedure_result_type::RuntimeProfileWalletLedgerProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListProfileWalletLedgerArgs { + struct ListProfileWalletLedgerArgs { pub input: RuntimeProfileWalletLedgerListInput, } + impl __sdk::InModule for ListProfileWalletLedgerArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListProfileWalletLedgerArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_profile_wallet_ledger { - fn list_profile_wallet_ledger(&self, input: RuntimeProfileWalletLedgerListInput) { - self.list_profile_wallet_ledger_then(input, |_, _| {}); + fn list_profile_wallet_ledger(&self, input: RuntimeProfileWalletLedgerListInput, +) { + self.list_profile_wallet_ledger_then(input, |_, _| {}); } fn list_profile_wallet_ledger_then( &self, input: RuntimeProfileWalletLedgerListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_profile_wallet_ledger for super::RemoteProcedures { &self, input: RuntimeProfileWalletLedgerListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeProfileWalletLedgerProcedureResult>( - "list_profile_wallet_ledger", - ListProfileWalletLedgerArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeProfileWalletLedgerProcedureResult>( + "list_profile_wallet_ledger", + ListProfileWalletLedgerArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_gallery_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_gallery_procedure.rs index e62fd064..329e53a4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_gallery_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_gallery_procedure.rs @@ -2,13 +2,20 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_works_procedure_result_type::PuzzleWorksProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListPuzzleGalleryArgs {} + struct ListPuzzleGalleryArgs { + } + impl __sdk::InModule for ListPuzzleGalleryArgs { type Module = super::RemoteModule; @@ -19,36 +26,28 @@ impl __sdk::InModule for ListPuzzleGalleryArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_puzzle_gallery { - fn list_puzzle_gallery(&self) { - self.list_puzzle_gallery_then(|_, _| {}); + fn list_puzzle_gallery(&self, ) { + self.list_puzzle_gallery_then( |_, _| {}); } fn list_puzzle_gallery_then( &self, - - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } impl list_puzzle_gallery for super::RemoteProcedures { fn list_puzzle_gallery_then( &self, - - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleWorksProcedureResult>( - "list_puzzle_gallery", - ListPuzzleGalleryArgs {}, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleWorksProcedureResult>( + "list_puzzle_gallery", + ListPuzzleGalleryArgs { }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_works_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_works_procedure.rs index 1da004e9..980a3698 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_works_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_works_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_works_list_input_type::PuzzleWorksListInput; use super::puzzle_works_procedure_result_type::PuzzleWorksProcedureResult; +use super::puzzle_works_list_input_type::PuzzleWorksListInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ListPuzzleWorksArgs { + struct ListPuzzleWorksArgs { pub input: PuzzleWorksListInput, } + impl __sdk::InModule for ListPuzzleWorksArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ListPuzzleWorksArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait list_puzzle_works { - fn list_puzzle_works(&self, input: PuzzleWorksListInput) { - self.list_puzzle_works_then(input, |_, _| {}); + fn list_puzzle_works(&self, input: PuzzleWorksListInput, +) { + self.list_puzzle_works_then(input, |_, _| {}); } fn list_puzzle_works_then( &self, input: PuzzleWorksListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl list_puzzle_works for super::RemoteProcedures { &self, input: PuzzleWorksListInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleWorksProcedureResult>( - "list_puzzle_works", - ListPuzzleWorksArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleWorksProcedureResult>( + "list_puzzle_works", + ListPuzzleWorksArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/mod.rs b/server-rs/crates/spacetime-client/src/module_bindings/mod.rs index 5f689c97..604b75ff 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/mod.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/mod.rs @@ -4,17 +4,19 @@ // 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}; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -pub mod accept_quest_reducer; -pub mod acknowledge_quest_completion_reducer; -pub mod advance_puzzle_next_level_procedure; +pub mod ai_result_reference_type; pub mod ai_result_reference_input_type; pub mod ai_result_reference_kind_type; pub mod ai_result_reference_snapshot_type; -pub mod ai_result_reference_table; -pub mod ai_result_reference_type; pub mod ai_stage_completion_input_type; +pub mod ai_task_type; pub mod ai_task_cancel_input_type; pub mod ai_task_create_input_type; pub mod ai_task_failure_input_type; @@ -22,70 +24,53 @@ pub mod ai_task_finish_input_type; pub mod ai_task_kind_type; pub mod ai_task_procedure_result_type; pub mod ai_task_snapshot_type; +pub mod ai_task_stage_type; pub mod ai_task_stage_blueprint_type; pub mod ai_task_stage_kind_type; pub mod ai_task_stage_snapshot_type; pub mod ai_task_stage_start_input_type; pub mod ai_task_stage_status_type; -pub mod ai_task_stage_table; -pub mod ai_task_stage_type; pub mod ai_task_start_input_type; pub mod ai_task_status_type; -pub mod ai_task_table; -pub mod ai_task_type; +pub mod ai_text_chunk_type; pub mod ai_text_chunk_append_input_type; pub mod ai_text_chunk_snapshot_type; -pub mod ai_text_chunk_table; -pub mod ai_text_chunk_type; -pub mod append_ai_text_chunk_and_return_procedure; -pub mod apply_chapter_progression_ledger_entry_and_return_procedure; -pub mod apply_chapter_progression_ledger_entry_reducer; -pub mod apply_inventory_mutation_reducer; -pub mod apply_quest_signal_reducer; +pub mod asset_entity_binding_type; pub mod asset_entity_binding_input_type; pub mod asset_entity_binding_procedure_result_type; pub mod asset_entity_binding_snapshot_type; -pub mod asset_entity_binding_table; -pub mod asset_entity_binding_type; +pub mod asset_object_type; pub mod asset_object_access_policy_type; pub mod asset_object_procedure_result_type; -pub mod asset_object_table; -pub mod asset_object_type; pub mod asset_object_upsert_input_type; pub mod asset_object_upsert_snapshot_type; -pub mod attach_ai_result_reference_and_return_procedure; pub mod battle_mode_type; +pub mod battle_state_type; pub mod battle_state_input_type; pub mod battle_state_procedure_result_type; pub mod battle_state_query_input_type; pub mod battle_state_snapshot_type; -pub mod battle_state_table; -pub mod battle_state_type; pub mod battle_status_type; -pub mod begin_story_session_and_return_procedure; -pub mod begin_story_session_reducer; +pub mod big_fish_agent_message_type; pub mod big_fish_agent_message_kind_type; pub mod big_fish_agent_message_role_type; pub mod big_fish_agent_message_snapshot_type; -pub mod big_fish_agent_message_table; -pub mod big_fish_agent_message_type; pub mod big_fish_anchor_item_type; pub mod big_fish_anchor_pack_type; pub mod big_fish_anchor_status_type; pub mod big_fish_asset_coverage_type; pub mod big_fish_asset_generate_input_type; pub mod big_fish_asset_kind_type; -pub mod big_fish_asset_slot_snapshot_type; -pub mod big_fish_asset_slot_table; pub mod big_fish_asset_slot_type; +pub mod big_fish_asset_slot_snapshot_type; pub mod big_fish_asset_status_type; pub mod big_fish_background_blueprint_type; -pub mod big_fish_creation_session_table; pub mod big_fish_creation_session_type; pub mod big_fish_creation_stage_type; pub mod big_fish_draft_compile_input_type; pub mod big_fish_game_draft_type; pub mod big_fish_level_blueprint_type; +pub mod big_fish_message_finalize_input_type; pub mod big_fish_message_submit_input_type; pub mod big_fish_publish_input_type; pub mod big_fish_run_get_input_type; @@ -95,7 +80,6 @@ pub mod big_fish_run_start_input_type; pub mod big_fish_run_status_type; pub mod big_fish_runtime_entity_type; pub mod big_fish_runtime_params_type; -pub mod big_fish_runtime_run_table; pub mod big_fish_runtime_run_type; pub mod big_fish_runtime_snapshot_type; pub mod big_fish_session_create_input_type; @@ -105,77 +89,50 @@ pub mod big_fish_session_snapshot_type; pub mod big_fish_vector_2_type; pub mod big_fish_works_list_input_type; pub mod big_fish_works_procedure_result_type; -pub mod bind_asset_object_to_entity_and_return_procedure; -pub mod bind_asset_object_to_entity_reducer; -pub mod cancel_ai_task_and_return_procedure; pub mod chapter_pace_band_type; +pub mod chapter_progression_type; pub mod chapter_progression_get_input_type; pub mod chapter_progression_input_type; pub mod chapter_progression_ledger_input_type; pub mod chapter_progression_procedure_result_type; pub mod chapter_progression_snapshot_type; -pub mod chapter_progression_table; -pub mod chapter_progression_type; -pub mod clear_platform_browse_history_and_return_procedure; pub mod combat_outcome_type; -pub mod compile_big_fish_draft_procedure; -pub mod compile_custom_world_published_profile_procedure; -pub mod compile_puzzle_agent_draft_procedure; -pub mod complete_ai_stage_and_return_procedure; -pub mod complete_ai_task_and_return_procedure; -pub mod confirm_asset_object_and_return_procedure; -pub mod confirm_asset_object_reducer; pub mod consume_inventory_item_input_type; -pub mod continue_story_and_return_procedure; -pub mod continue_story_reducer; -pub mod create_ai_task_and_return_procedure; -pub mod create_ai_task_reducer; -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_puzzle_agent_session_procedure; pub mod custom_world_agent_action_execute_input_type; pub mod custom_world_agent_action_execute_result_type; pub mod custom_world_agent_card_detail_get_input_type; +pub mod custom_world_agent_message_type; pub mod custom_world_agent_message_finalize_input_type; pub mod custom_world_agent_message_snapshot_type; pub mod custom_world_agent_message_submit_input_type; -pub mod custom_world_agent_message_table; -pub mod custom_world_agent_message_type; +pub mod custom_world_agent_operation_type; pub mod custom_world_agent_operation_get_input_type; pub mod custom_world_agent_operation_procedure_result_type; pub mod custom_world_agent_operation_snapshot_type; -pub mod custom_world_agent_operation_table; -pub mod custom_world_agent_operation_type; +pub mod custom_world_agent_session_type; pub mod custom_world_agent_session_create_input_type; pub mod custom_world_agent_session_get_input_type; pub mod custom_world_agent_session_procedure_result_type; pub mod custom_world_agent_session_snapshot_type; -pub mod custom_world_agent_session_table; -pub mod custom_world_agent_session_type; +pub mod custom_world_draft_card_type; pub mod custom_world_draft_card_detail_result_type; pub mod custom_world_draft_card_detail_section_snapshot_type; pub mod custom_world_draft_card_detail_snapshot_type; pub mod custom_world_draft_card_snapshot_type; -pub mod custom_world_draft_card_table; -pub mod custom_world_draft_card_type; pub mod custom_world_gallery_detail_by_code_input_type; pub mod custom_world_gallery_detail_input_type; -pub mod custom_world_gallery_entry_snapshot_type; -pub mod custom_world_gallery_entry_table; pub mod custom_world_gallery_entry_type; +pub mod custom_world_gallery_entry_snapshot_type; pub mod custom_world_gallery_list_result_type; pub mod custom_world_generation_mode_type; pub mod custom_world_library_detail_input_type; pub mod custom_world_library_mutation_result_type; +pub mod custom_world_profile_type; pub mod custom_world_profile_delete_input_type; pub mod custom_world_profile_list_input_type; pub mod custom_world_profile_list_result_type; pub mod custom_world_profile_publish_input_type; pub mod custom_world_profile_snapshot_type; -pub mod custom_world_profile_table; -pub mod custom_world_profile_type; pub mod custom_world_profile_unpublish_input_type; pub mod custom_world_profile_upsert_input_type; pub mod custom_world_publication_status_type; @@ -185,65 +142,23 @@ pub mod custom_world_published_profile_compile_input_type; pub mod custom_world_published_profile_compile_result_type; pub mod custom_world_published_profile_compile_snapshot_type; pub mod custom_world_role_asset_status_type; -pub mod custom_world_session_status_type; -pub mod custom_world_session_table; pub mod custom_world_session_type; +pub mod custom_world_session_status_type; pub mod custom_world_theme_mode_type; pub mod custom_world_work_summary_snapshot_type; pub mod custom_world_works_list_input_type; pub mod custom_world_works_list_result_type; -pub mod delete_custom_world_profile_and_return_procedure; -pub mod delete_runtime_snapshot_and_return_procedure; -pub mod drag_puzzle_piece_or_group_procedure; pub mod equip_inventory_item_input_type; -pub mod execute_custom_world_agent_action_procedure; -pub mod fail_ai_task_and_return_procedure; -pub mod finalize_custom_world_agent_message_turn_procedure; -pub mod finalize_puzzle_agent_message_turn_procedure; -pub mod generate_big_fish_asset_procedure; -pub mod get_battle_state_procedure; -pub mod get_big_fish_run_procedure; -pub mod get_big_fish_session_procedure; -pub mod get_chapter_progression_procedure; -pub mod get_custom_world_agent_card_detail_procedure; -pub mod get_custom_world_agent_operation_procedure; -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_player_progression_or_default_procedure; -pub mod get_profile_dashboard_procedure; -pub mod get_profile_play_stats_procedure; -pub mod get_puzzle_agent_session_procedure; -pub mod get_puzzle_gallery_detail_procedure; -pub mod get_puzzle_run_procedure; -pub mod get_puzzle_work_detail_procedure; -pub mod get_runtime_inventory_state_procedure; -pub mod get_runtime_setting_or_default_procedure; -pub mod get_runtime_snapshot_procedure; -pub mod get_story_session_state_procedure; pub mod grant_inventory_item_input_type; -pub mod grant_player_progression_experience_and_return_procedure; -pub mod grant_player_progression_experience_reducer; pub mod inventory_container_kind_type; pub mod inventory_equipment_slot_type; pub mod inventory_item_rarity_type; pub mod inventory_item_snapshot_type; pub mod inventory_item_source_kind_type; -pub mod inventory_mutation_input_type; pub mod inventory_mutation_type; -pub mod inventory_slot_snapshot_type; -pub mod inventory_slot_table; +pub mod inventory_mutation_input_type; pub mod inventory_slot_type; -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_platform_browse_history_procedure; -pub mod list_profile_save_archives_procedure; -pub mod list_profile_wallet_ledger_procedure; -pub mod list_puzzle_gallery_procedure; -pub mod list_puzzle_works_procedure; +pub mod inventory_slot_snapshot_type; pub mod npc_battle_interaction_procedure_result_type; pub mod npc_battle_interaction_result_type; pub mod npc_interaction_battle_mode_type; @@ -254,42 +169,29 @@ pub mod npc_relation_stance_type; pub mod npc_relation_state_type; pub mod npc_social_action_kind_type; pub mod npc_stance_profile_type; +pub mod npc_state_type; pub mod npc_state_procedure_result_type; pub mod npc_state_snapshot_type; -pub mod npc_state_table; -pub mod npc_state_type; pub mod npc_state_upsert_input_type; +pub mod player_progression_type; pub mod player_progression_get_input_type; pub mod player_progression_grant_input_type; pub mod player_progression_grant_source_type; pub mod player_progression_procedure_result_type; pub mod player_progression_snapshot_type; -pub mod player_progression_table; -pub mod player_progression_type; -pub mod profile_dashboard_state_table; pub mod profile_dashboard_state_type; -pub mod profile_played_world_table; pub mod profile_played_world_type; -pub mod profile_save_archive_table; pub mod profile_save_archive_type; -pub mod profile_wallet_ledger_table; pub mod profile_wallet_ledger_type; -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_puzzle_work_procedure; pub mod puzzle_agent_message_finalize_input_type; pub mod puzzle_agent_message_kind_type; pub mod puzzle_agent_message_role_type; pub mod puzzle_agent_message_row_type; pub mod puzzle_agent_message_submit_input_type; -pub mod puzzle_agent_message_table; pub mod puzzle_agent_session_create_input_type; pub mod puzzle_agent_session_get_input_type; pub mod puzzle_agent_session_procedure_result_type; pub mod puzzle_agent_session_row_type; -pub mod puzzle_agent_session_table; pub mod puzzle_agent_stage_type; pub mod puzzle_draft_compile_input_type; pub mod puzzle_generated_images_save_input_type; @@ -302,21 +204,18 @@ pub mod puzzle_run_procedure_result_type; pub mod puzzle_run_start_input_type; pub mod puzzle_run_swap_input_type; pub mod puzzle_runtime_run_row_type; -pub mod puzzle_runtime_run_table; pub mod puzzle_select_cover_image_input_type; pub mod puzzle_work_get_input_type; pub mod puzzle_work_procedure_result_type; pub mod puzzle_work_profile_row_type; -pub mod puzzle_work_profile_table; pub mod puzzle_work_upsert_input_type; pub mod puzzle_works_list_input_type; pub mod puzzle_works_procedure_result_type; pub mod quest_completion_ack_input_type; pub mod quest_hostile_npc_defeated_signal_type; pub mod quest_item_delivered_signal_type; -pub mod quest_log_event_kind_type; -pub mod quest_log_table; pub mod quest_log_type; +pub mod quest_log_event_kind_type; pub mod quest_narrative_binding_snapshot_type; pub mod quest_narrative_origin_type; pub mod quest_narrative_type_type; @@ -325,13 +224,12 @@ pub mod quest_npc_talk_completed_signal_type; pub mod quest_objective_kind_type; pub mod quest_objective_snapshot_type; pub mod quest_progress_signal_type; -pub mod quest_record_input_type; -pub mod quest_record_table; pub mod quest_record_type; +pub mod quest_record_input_type; pub mod quest_reward_equipment_slot_type; pub mod quest_reward_intel_type; -pub mod quest_reward_item_rarity_type; pub mod quest_reward_item_type; +pub mod quest_reward_item_rarity_type; pub mod quest_reward_snapshot_type; pub mod quest_scene_reached_signal_type; pub mod quest_signal_apply_input_type; @@ -340,22 +238,12 @@ pub mod quest_status_type; pub mod quest_step_snapshot_type; pub mod quest_treasure_inspected_signal_type; pub mod quest_turn_in_input_type; -pub mod resolve_combat_action_and_return_procedure; pub mod resolve_combat_action_input_type; pub mod resolve_combat_action_procedure_result_type; -pub mod resolve_combat_action_reducer; pub mod resolve_combat_action_result_type; -pub mod resolve_npc_battle_interaction_and_return_procedure; pub mod resolve_npc_battle_interaction_input_type; -pub mod resolve_npc_interaction_and_return_procedure; pub mod resolve_npc_interaction_input_type; -pub mod resolve_npc_interaction_reducer; -pub mod resolve_npc_social_action_and_return_procedure; 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 resume_profile_save_archive_and_return_procedure; pub mod rpg_agent_draft_card_kind_type; pub mod rpg_agent_draft_card_status_type; pub mod rpg_agent_message_kind_type; @@ -392,75 +280,191 @@ pub mod runtime_profile_wallet_ledger_entry_snapshot_type; pub mod runtime_profile_wallet_ledger_list_input_type; pub mod runtime_profile_wallet_ledger_procedure_result_type; pub mod runtime_profile_wallet_ledger_source_type_type; +pub mod runtime_setting_type; pub mod runtime_setting_get_input_type; pub mod runtime_setting_procedure_result_type; pub mod runtime_setting_snapshot_type; -pub mod runtime_setting_table; -pub mod runtime_setting_type; pub mod runtime_setting_upsert_input_type; +pub mod runtime_snapshot_type; pub mod runtime_snapshot_delete_input_type; pub mod runtime_snapshot_get_input_type; pub mod runtime_snapshot_procedure_result_type; pub mod runtime_snapshot_row_type; -pub mod runtime_snapshot_table; -pub mod runtime_snapshot_type; pub mod runtime_snapshot_upsert_input_type; -pub mod save_puzzle_generated_images_procedure; -pub mod select_puzzle_cover_image_procedure; -pub mod start_ai_task_reducer; -pub mod start_ai_task_stage_reducer; -pub mod start_big_fish_run_procedure; -pub mod start_puzzle_run_procedure; pub mod story_continue_input_type; +pub mod story_event_type; pub mod story_event_kind_type; pub mod story_event_snapshot_type; -pub mod story_event_table; -pub mod story_event_type; +pub mod story_session_type; pub mod story_session_input_type; pub mod story_session_procedure_result_type; pub mod story_session_snapshot_type; pub mod story_session_state_input_type; pub mod story_session_state_procedure_result_type; pub mod story_session_status_type; +pub mod treasure_interaction_action_type; +pub mod treasure_record_type; +pub mod treasure_record_procedure_result_type; +pub mod treasure_record_snapshot_type; +pub mod treasure_resolve_input_type; +pub mod unequip_inventory_item_input_type; +pub mod user_browse_history_type; +pub mod accept_quest_reducer; +pub mod acknowledge_quest_completion_reducer; +pub mod apply_chapter_progression_ledger_entry_reducer; +pub mod apply_inventory_mutation_reducer; +pub mod apply_quest_signal_reducer; +pub mod begin_story_session_reducer; +pub mod bind_asset_object_to_entity_reducer; +pub mod confirm_asset_object_reducer; +pub mod continue_story_reducer; +pub mod create_ai_task_reducer; +pub mod create_battle_state_reducer; +pub mod grant_player_progression_experience_reducer; +pub mod publish_custom_world_profile_reducer; +pub mod resolve_combat_action_reducer; +pub mod resolve_npc_interaction_reducer; +pub mod resolve_npc_social_action_reducer; +pub mod resolve_treasure_interaction_reducer; +pub mod start_ai_task_reducer; +pub mod start_ai_task_stage_reducer; +pub mod turn_in_quest_reducer; +pub mod unpublish_custom_world_profile_reducer; +pub mod upsert_chapter_progression_reducer; +pub mod upsert_custom_world_profile_reducer; +pub mod upsert_npc_state_reducer; +pub mod ai_result_reference_table; +pub mod ai_task_table; +pub mod ai_task_stage_table; +pub mod ai_text_chunk_table; +pub mod asset_entity_binding_table; +pub mod asset_object_table; +pub mod battle_state_table; +pub mod big_fish_agent_message_table; +pub mod big_fish_asset_slot_table; +pub mod big_fish_creation_session_table; +pub mod big_fish_runtime_run_table; +pub mod chapter_progression_table; +pub mod custom_world_agent_message_table; +pub mod custom_world_agent_operation_table; +pub mod custom_world_agent_session_table; +pub mod custom_world_draft_card_table; +pub mod custom_world_gallery_entry_table; +pub mod custom_world_profile_table; +pub mod custom_world_session_table; +pub mod inventory_slot_table; +pub mod npc_state_table; +pub mod player_progression_table; +pub mod profile_dashboard_state_table; +pub mod profile_played_world_table; +pub mod profile_save_archive_table; +pub mod profile_wallet_ledger_table; +pub mod puzzle_agent_message_table; +pub mod puzzle_agent_session_table; +pub mod puzzle_runtime_run_table; +pub mod puzzle_work_profile_table; +pub mod quest_log_table; +pub mod quest_record_table; +pub mod runtime_setting_table; +pub mod runtime_snapshot_table; +pub mod story_event_table; pub mod story_session_table; -pub mod story_session_type; +pub mod treasure_record_table; +pub mod user_browse_history_table; +pub mod advance_puzzle_next_level_procedure; +pub mod append_ai_text_chunk_and_return_procedure; +pub mod apply_chapter_progression_ledger_entry_and_return_procedure; +pub mod attach_ai_result_reference_and_return_procedure; +pub mod begin_story_session_and_return_procedure; +pub mod bind_asset_object_to_entity_and_return_procedure; +pub mod cancel_ai_task_and_return_procedure; +pub mod clear_platform_browse_history_and_return_procedure; +pub mod compile_big_fish_draft_procedure; +pub mod compile_custom_world_published_profile_procedure; +pub mod compile_puzzle_agent_draft_procedure; +pub mod complete_ai_stage_and_return_procedure; +pub mod complete_ai_task_and_return_procedure; +pub mod confirm_asset_object_and_return_procedure; +pub mod continue_story_and_return_procedure; +pub mod create_ai_task_and_return_procedure; +pub mod create_battle_state_and_return_procedure; +pub mod create_big_fish_session_procedure; +pub mod create_custom_world_agent_session_procedure; +pub mod create_puzzle_agent_session_procedure; +pub mod delete_custom_world_profile_and_return_procedure; +pub mod delete_runtime_snapshot_and_return_procedure; +pub mod drag_puzzle_piece_or_group_procedure; +pub mod execute_custom_world_agent_action_procedure; +pub mod fail_ai_task_and_return_procedure; +pub mod finalize_big_fish_agent_message_turn_procedure; +pub mod finalize_custom_world_agent_message_turn_procedure; +pub mod finalize_puzzle_agent_message_turn_procedure; +pub mod generate_big_fish_asset_procedure; +pub mod get_battle_state_procedure; +pub mod get_big_fish_run_procedure; +pub mod get_big_fish_session_procedure; +pub mod get_chapter_progression_procedure; +pub mod get_custom_world_agent_card_detail_procedure; +pub mod get_custom_world_agent_operation_procedure; +pub mod get_custom_world_agent_session_procedure; +pub mod get_custom_world_gallery_detail_procedure; +pub mod get_custom_world_gallery_detail_by_code_procedure; +pub mod get_custom_world_library_detail_procedure; +pub mod get_player_progression_or_default_procedure; +pub mod get_profile_dashboard_procedure; +pub mod get_profile_play_stats_procedure; +pub mod get_puzzle_agent_session_procedure; +pub mod get_puzzle_gallery_detail_procedure; +pub mod get_puzzle_run_procedure; +pub mod get_puzzle_work_detail_procedure; +pub mod get_runtime_inventory_state_procedure; +pub mod get_runtime_setting_or_default_procedure; +pub mod get_runtime_snapshot_procedure; +pub mod get_story_session_state_procedure; +pub mod grant_player_progression_experience_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_platform_browse_history_procedure; +pub mod list_profile_save_archives_procedure; +pub mod list_profile_wallet_ledger_procedure; +pub mod list_puzzle_gallery_procedure; +pub mod list_puzzle_works_procedure; +pub mod publish_big_fish_game_procedure; +pub mod publish_custom_world_profile_and_return_procedure; +pub mod publish_custom_world_world_procedure; +pub mod publish_puzzle_work_procedure; +pub mod resolve_combat_action_and_return_procedure; +pub mod resolve_npc_battle_interaction_and_return_procedure; +pub mod resolve_npc_interaction_and_return_procedure; +pub mod resolve_npc_social_action_and_return_procedure; +pub mod resolve_treasure_interaction_and_return_procedure; +pub mod resume_profile_save_archive_and_return_procedure; +pub mod save_puzzle_generated_images_procedure; +pub mod select_puzzle_cover_image_procedure; +pub mod start_big_fish_run_procedure; +pub mod start_puzzle_run_procedure; pub mod submit_big_fish_input_procedure; pub mod submit_big_fish_message_procedure; pub mod submit_custom_world_agent_message_procedure; pub mod submit_puzzle_agent_message_procedure; pub mod swap_puzzle_pieces_procedure; -pub mod treasure_interaction_action_type; -pub mod treasure_record_procedure_result_type; -pub mod treasure_record_snapshot_type; -pub mod treasure_record_table; -pub mod treasure_record_type; -pub mod treasure_resolve_input_type; -pub mod turn_in_quest_reducer; -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_puzzle_work_procedure; pub mod upsert_chapter_progression_and_return_procedure; -pub mod upsert_chapter_progression_reducer; pub mod upsert_custom_world_profile_and_return_procedure; -pub mod upsert_custom_world_profile_reducer; pub mod upsert_npc_state_and_return_procedure; -pub mod upsert_npc_state_reducer; pub mod upsert_platform_browse_history_and_return_procedure; pub mod upsert_runtime_setting_and_return_procedure; pub mod upsert_runtime_snapshot_and_return_procedure; -pub mod user_browse_history_table; -pub mod user_browse_history_type; -pub use accept_quest_reducer::accept_quest; -pub use acknowledge_quest_completion_reducer::acknowledge_quest_completion; -pub use advance_puzzle_next_level_procedure::advance_puzzle_next_level; +pub use ai_result_reference_type::AiResultReference; pub use ai_result_reference_input_type::AiResultReferenceInput; pub use ai_result_reference_kind_type::AiResultReferenceKind; pub use ai_result_reference_snapshot_type::AiResultReferenceSnapshot; -pub use ai_result_reference_table::*; -pub use ai_result_reference_type::AiResultReference; pub use ai_stage_completion_input_type::AiStageCompletionInput; +pub use ai_task_type::AiTask; pub use ai_task_cancel_input_type::AiTaskCancelInput; pub use ai_task_create_input_type::AiTaskCreateInput; pub use ai_task_failure_input_type::AiTaskFailureInput; @@ -468,70 +472,53 @@ pub use ai_task_finish_input_type::AiTaskFinishInput; pub use ai_task_kind_type::AiTaskKind; pub use ai_task_procedure_result_type::AiTaskProcedureResult; pub use ai_task_snapshot_type::AiTaskSnapshot; +pub use ai_task_stage_type::AiTaskStage; pub use ai_task_stage_blueprint_type::AiTaskStageBlueprint; pub use ai_task_stage_kind_type::AiTaskStageKind; pub use ai_task_stage_snapshot_type::AiTaskStageSnapshot; pub use ai_task_stage_start_input_type::AiTaskStageStartInput; pub use ai_task_stage_status_type::AiTaskStageStatus; -pub use ai_task_stage_table::*; -pub use ai_task_stage_type::AiTaskStage; pub use ai_task_start_input_type::AiTaskStartInput; pub use ai_task_status_type::AiTaskStatus; -pub use ai_task_table::*; -pub use ai_task_type::AiTask; +pub use ai_text_chunk_type::AiTextChunk; pub use ai_text_chunk_append_input_type::AiTextChunkAppendInput; pub use ai_text_chunk_snapshot_type::AiTextChunkSnapshot; -pub use ai_text_chunk_table::*; -pub use ai_text_chunk_type::AiTextChunk; -pub use append_ai_text_chunk_and_return_procedure::append_ai_text_chunk_and_return; -pub use apply_chapter_progression_ledger_entry_and_return_procedure::apply_chapter_progression_ledger_entry_and_return; -pub use apply_chapter_progression_ledger_entry_reducer::apply_chapter_progression_ledger_entry; -pub use apply_inventory_mutation_reducer::apply_inventory_mutation; -pub use apply_quest_signal_reducer::apply_quest_signal; +pub use asset_entity_binding_type::AssetEntityBinding; pub use asset_entity_binding_input_type::AssetEntityBindingInput; pub use asset_entity_binding_procedure_result_type::AssetEntityBindingProcedureResult; pub use asset_entity_binding_snapshot_type::AssetEntityBindingSnapshot; -pub use asset_entity_binding_table::*; -pub use asset_entity_binding_type::AssetEntityBinding; +pub use asset_object_type::AssetObject; pub use asset_object_access_policy_type::AssetObjectAccessPolicy; pub use asset_object_procedure_result_type::AssetObjectProcedureResult; -pub use asset_object_table::*; -pub use asset_object_type::AssetObject; pub use asset_object_upsert_input_type::AssetObjectUpsertInput; pub use asset_object_upsert_snapshot_type::AssetObjectUpsertSnapshot; -pub use attach_ai_result_reference_and_return_procedure::attach_ai_result_reference_and_return; pub use battle_mode_type::BattleMode; +pub use battle_state_type::BattleState; pub use battle_state_input_type::BattleStateInput; pub use battle_state_procedure_result_type::BattleStateProcedureResult; pub use battle_state_query_input_type::BattleStateQueryInput; pub use battle_state_snapshot_type::BattleStateSnapshot; -pub use battle_state_table::*; -pub use battle_state_type::BattleState; pub use battle_status_type::BattleStatus; -pub use begin_story_session_and_return_procedure::begin_story_session_and_return; -pub use begin_story_session_reducer::begin_story_session; +pub use big_fish_agent_message_type::BigFishAgentMessage; pub use big_fish_agent_message_kind_type::BigFishAgentMessageKind; pub use big_fish_agent_message_role_type::BigFishAgentMessageRole; pub use big_fish_agent_message_snapshot_type::BigFishAgentMessageSnapshot; -pub use big_fish_agent_message_table::*; -pub use big_fish_agent_message_type::BigFishAgentMessage; pub use big_fish_anchor_item_type::BigFishAnchorItem; pub use big_fish_anchor_pack_type::BigFishAnchorPack; pub use big_fish_anchor_status_type::BigFishAnchorStatus; pub use big_fish_asset_coverage_type::BigFishAssetCoverage; pub use big_fish_asset_generate_input_type::BigFishAssetGenerateInput; pub use big_fish_asset_kind_type::BigFishAssetKind; -pub use big_fish_asset_slot_snapshot_type::BigFishAssetSlotSnapshot; -pub use big_fish_asset_slot_table::*; pub use big_fish_asset_slot_type::BigFishAssetSlot; +pub use big_fish_asset_slot_snapshot_type::BigFishAssetSlotSnapshot; pub use big_fish_asset_status_type::BigFishAssetStatus; pub use big_fish_background_blueprint_type::BigFishBackgroundBlueprint; -pub use big_fish_creation_session_table::*; pub use big_fish_creation_session_type::BigFishCreationSession; pub use big_fish_creation_stage_type::BigFishCreationStage; pub use big_fish_draft_compile_input_type::BigFishDraftCompileInput; pub use big_fish_game_draft_type::BigFishGameDraft; pub use big_fish_level_blueprint_type::BigFishLevelBlueprint; +pub use big_fish_message_finalize_input_type::BigFishMessageFinalizeInput; pub use big_fish_message_submit_input_type::BigFishMessageSubmitInput; pub use big_fish_publish_input_type::BigFishPublishInput; pub use big_fish_run_get_input_type::BigFishRunGetInput; @@ -541,7 +528,6 @@ pub use big_fish_run_start_input_type::BigFishRunStartInput; pub use big_fish_run_status_type::BigFishRunStatus; pub use big_fish_runtime_entity_type::BigFishRuntimeEntity; pub use big_fish_runtime_params_type::BigFishRuntimeParams; -pub use big_fish_runtime_run_table::*; pub use big_fish_runtime_run_type::BigFishRuntimeRun; pub use big_fish_runtime_snapshot_type::BigFishRuntimeSnapshot; pub use big_fish_session_create_input_type::BigFishSessionCreateInput; @@ -551,77 +537,50 @@ pub use big_fish_session_snapshot_type::BigFishSessionSnapshot; pub use big_fish_vector_2_type::BigFishVector2; pub use big_fish_works_list_input_type::BigFishWorksListInput; pub use big_fish_works_procedure_result_type::BigFishWorksProcedureResult; -pub use bind_asset_object_to_entity_and_return_procedure::bind_asset_object_to_entity_and_return; -pub use bind_asset_object_to_entity_reducer::bind_asset_object_to_entity; -pub use cancel_ai_task_and_return_procedure::cancel_ai_task_and_return; pub use chapter_pace_band_type::ChapterPaceBand; +pub use chapter_progression_type::ChapterProgression; pub use chapter_progression_get_input_type::ChapterProgressionGetInput; pub use chapter_progression_input_type::ChapterProgressionInput; pub use chapter_progression_ledger_input_type::ChapterProgressionLedgerInput; pub use chapter_progression_procedure_result_type::ChapterProgressionProcedureResult; pub use chapter_progression_snapshot_type::ChapterProgressionSnapshot; -pub use chapter_progression_table::*; -pub use chapter_progression_type::ChapterProgression; -pub use clear_platform_browse_history_and_return_procedure::clear_platform_browse_history_and_return; 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_puzzle_agent_draft_procedure::compile_puzzle_agent_draft; -pub use complete_ai_stage_and_return_procedure::complete_ai_stage_and_return; -pub use complete_ai_task_and_return_procedure::complete_ai_task_and_return; -pub use confirm_asset_object_and_return_procedure::confirm_asset_object_and_return; -pub use confirm_asset_object_reducer::confirm_asset_object; pub use consume_inventory_item_input_type::ConsumeInventoryItemInput; -pub use continue_story_and_return_procedure::continue_story_and_return; -pub use continue_story_reducer::continue_story; -pub use create_ai_task_and_return_procedure::create_ai_task_and_return; -pub use create_ai_task_reducer::create_ai_task; -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_puzzle_agent_session_procedure::create_puzzle_agent_session; pub use custom_world_agent_action_execute_input_type::CustomWorldAgentActionExecuteInput; pub use custom_world_agent_action_execute_result_type::CustomWorldAgentActionExecuteResult; pub use custom_world_agent_card_detail_get_input_type::CustomWorldAgentCardDetailGetInput; +pub use custom_world_agent_message_type::CustomWorldAgentMessage; pub use custom_world_agent_message_finalize_input_type::CustomWorldAgentMessageFinalizeInput; pub use custom_world_agent_message_snapshot_type::CustomWorldAgentMessageSnapshot; pub use custom_world_agent_message_submit_input_type::CustomWorldAgentMessageSubmitInput; -pub use custom_world_agent_message_table::*; -pub use custom_world_agent_message_type::CustomWorldAgentMessage; +pub use custom_world_agent_operation_type::CustomWorldAgentOperation; pub use custom_world_agent_operation_get_input_type::CustomWorldAgentOperationGetInput; pub use custom_world_agent_operation_procedure_result_type::CustomWorldAgentOperationProcedureResult; pub use custom_world_agent_operation_snapshot_type::CustomWorldAgentOperationSnapshot; -pub use custom_world_agent_operation_table::*; -pub use custom_world_agent_operation_type::CustomWorldAgentOperation; +pub use custom_world_agent_session_type::CustomWorldAgentSession; pub use custom_world_agent_session_create_input_type::CustomWorldAgentSessionCreateInput; pub use custom_world_agent_session_get_input_type::CustomWorldAgentSessionGetInput; pub use custom_world_agent_session_procedure_result_type::CustomWorldAgentSessionProcedureResult; pub use custom_world_agent_session_snapshot_type::CustomWorldAgentSessionSnapshot; -pub use custom_world_agent_session_table::*; -pub use custom_world_agent_session_type::CustomWorldAgentSession; +pub use custom_world_draft_card_type::CustomWorldDraftCard; pub use custom_world_draft_card_detail_result_type::CustomWorldDraftCardDetailResult; pub use custom_world_draft_card_detail_section_snapshot_type::CustomWorldDraftCardDetailSectionSnapshot; pub use custom_world_draft_card_detail_snapshot_type::CustomWorldDraftCardDetailSnapshot; pub use custom_world_draft_card_snapshot_type::CustomWorldDraftCardSnapshot; -pub use custom_world_draft_card_table::*; -pub use custom_world_draft_card_type::CustomWorldDraftCard; pub use custom_world_gallery_detail_by_code_input_type::CustomWorldGalleryDetailByCodeInput; pub use custom_world_gallery_detail_input_type::CustomWorldGalleryDetailInput; -pub use custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; -pub use custom_world_gallery_entry_table::*; pub use custom_world_gallery_entry_type::CustomWorldGalleryEntry; +pub use custom_world_gallery_entry_snapshot_type::CustomWorldGalleryEntrySnapshot; pub use custom_world_gallery_list_result_type::CustomWorldGalleryListResult; pub use custom_world_generation_mode_type::CustomWorldGenerationMode; pub use custom_world_library_detail_input_type::CustomWorldLibraryDetailInput; pub use custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; +pub use custom_world_profile_type::CustomWorldProfile; pub use custom_world_profile_delete_input_type::CustomWorldProfileDeleteInput; pub use custom_world_profile_list_input_type::CustomWorldProfileListInput; pub use custom_world_profile_list_result_type::CustomWorldProfileListResult; pub use custom_world_profile_publish_input_type::CustomWorldProfilePublishInput; pub use custom_world_profile_snapshot_type::CustomWorldProfileSnapshot; -pub use custom_world_profile_table::*; -pub use custom_world_profile_type::CustomWorldProfile; pub use custom_world_profile_unpublish_input_type::CustomWorldProfileUnpublishInput; pub use custom_world_profile_upsert_input_type::CustomWorldProfileUpsertInput; pub use custom_world_publication_status_type::CustomWorldPublicationStatus; @@ -631,65 +590,23 @@ pub use custom_world_published_profile_compile_input_type::CustomWorldPublishedP pub use custom_world_published_profile_compile_result_type::CustomWorldPublishedProfileCompileResult; pub use custom_world_published_profile_compile_snapshot_type::CustomWorldPublishedProfileCompileSnapshot; pub use custom_world_role_asset_status_type::CustomWorldRoleAssetStatus; -pub use custom_world_session_status_type::CustomWorldSessionStatus; -pub use custom_world_session_table::*; pub use custom_world_session_type::CustomWorldSession; +pub use custom_world_session_status_type::CustomWorldSessionStatus; pub use custom_world_theme_mode_type::CustomWorldThemeMode; pub use custom_world_work_summary_snapshot_type::CustomWorldWorkSummarySnapshot; pub use custom_world_works_list_input_type::CustomWorldWorksListInput; pub use custom_world_works_list_result_type::CustomWorldWorksListResult; -pub use delete_custom_world_profile_and_return_procedure::delete_custom_world_profile_and_return; -pub use delete_runtime_snapshot_and_return_procedure::delete_runtime_snapshot_and_return; -pub use drag_puzzle_piece_or_group_procedure::drag_puzzle_piece_or_group; pub use equip_inventory_item_input_type::EquipInventoryItemInput; -pub use execute_custom_world_agent_action_procedure::execute_custom_world_agent_action; -pub use fail_ai_task_and_return_procedure::fail_ai_task_and_return; -pub use finalize_custom_world_agent_message_turn_procedure::finalize_custom_world_agent_message_turn; -pub use finalize_puzzle_agent_message_turn_procedure::finalize_puzzle_agent_message_turn; -pub use generate_big_fish_asset_procedure::generate_big_fish_asset; -pub use get_battle_state_procedure::get_battle_state; -pub use get_big_fish_run_procedure::get_big_fish_run; -pub use get_big_fish_session_procedure::get_big_fish_session; -pub use get_chapter_progression_procedure::get_chapter_progression; -pub use get_custom_world_agent_card_detail_procedure::get_custom_world_agent_card_detail; -pub use get_custom_world_agent_operation_procedure::get_custom_world_agent_operation; -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_player_progression_or_default_procedure::get_player_progression_or_default; -pub use get_profile_dashboard_procedure::get_profile_dashboard; -pub use get_profile_play_stats_procedure::get_profile_play_stats; -pub use get_puzzle_agent_session_procedure::get_puzzle_agent_session; -pub use get_puzzle_gallery_detail_procedure::get_puzzle_gallery_detail; -pub use get_puzzle_run_procedure::get_puzzle_run; -pub use get_puzzle_work_detail_procedure::get_puzzle_work_detail; -pub use get_runtime_inventory_state_procedure::get_runtime_inventory_state; -pub use get_runtime_setting_or_default_procedure::get_runtime_setting_or_default; -pub use get_runtime_snapshot_procedure::get_runtime_snapshot; -pub use get_story_session_state_procedure::get_story_session_state; pub use grant_inventory_item_input_type::GrantInventoryItemInput; -pub use grant_player_progression_experience_and_return_procedure::grant_player_progression_experience_and_return; -pub use grant_player_progression_experience_reducer::grant_player_progression_experience; pub use inventory_container_kind_type::InventoryContainerKind; pub use inventory_equipment_slot_type::InventoryEquipmentSlot; pub use inventory_item_rarity_type::InventoryItemRarity; pub use inventory_item_snapshot_type::InventoryItemSnapshot; pub use inventory_item_source_kind_type::InventoryItemSourceKind; -pub use inventory_mutation_input_type::InventoryMutationInput; pub use inventory_mutation_type::InventoryMutation; -pub use inventory_slot_snapshot_type::InventorySlotSnapshot; -pub use inventory_slot_table::*; +pub use inventory_mutation_input_type::InventoryMutationInput; pub use inventory_slot_type::InventorySlot; -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_platform_browse_history_procedure::list_platform_browse_history; -pub use list_profile_save_archives_procedure::list_profile_save_archives; -pub use list_profile_wallet_ledger_procedure::list_profile_wallet_ledger; -pub use list_puzzle_gallery_procedure::list_puzzle_gallery; -pub use list_puzzle_works_procedure::list_puzzle_works; +pub use inventory_slot_snapshot_type::InventorySlotSnapshot; pub use npc_battle_interaction_procedure_result_type::NpcBattleInteractionProcedureResult; pub use npc_battle_interaction_result_type::NpcBattleInteractionResult; pub use npc_interaction_battle_mode_type::NpcInteractionBattleMode; @@ -700,42 +617,29 @@ pub use npc_relation_stance_type::NpcRelationStance; pub use npc_relation_state_type::NpcRelationState; pub use npc_social_action_kind_type::NpcSocialActionKind; pub use npc_stance_profile_type::NpcStanceProfile; +pub use npc_state_type::NpcState; pub use npc_state_procedure_result_type::NpcStateProcedureResult; pub use npc_state_snapshot_type::NpcStateSnapshot; -pub use npc_state_table::*; -pub use npc_state_type::NpcState; pub use npc_state_upsert_input_type::NpcStateUpsertInput; +pub use player_progression_type::PlayerProgression; pub use player_progression_get_input_type::PlayerProgressionGetInput; pub use player_progression_grant_input_type::PlayerProgressionGrantInput; pub use player_progression_grant_source_type::PlayerProgressionGrantSource; pub use player_progression_procedure_result_type::PlayerProgressionProcedureResult; pub use player_progression_snapshot_type::PlayerProgressionSnapshot; -pub use player_progression_table::*; -pub use player_progression_type::PlayerProgression; -pub use profile_dashboard_state_table::*; pub use profile_dashboard_state_type::ProfileDashboardState; -pub use profile_played_world_table::*; pub use profile_played_world_type::ProfilePlayedWorld; -pub use profile_save_archive_table::*; pub use profile_save_archive_type::ProfileSaveArchive; -pub use profile_wallet_ledger_table::*; pub use profile_wallet_ledger_type::ProfileWalletLedger; -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_puzzle_work_procedure::publish_puzzle_work; pub use puzzle_agent_message_finalize_input_type::PuzzleAgentMessageFinalizeInput; pub use puzzle_agent_message_kind_type::PuzzleAgentMessageKind; pub use puzzle_agent_message_role_type::PuzzleAgentMessageRole; pub use puzzle_agent_message_row_type::PuzzleAgentMessageRow; pub use puzzle_agent_message_submit_input_type::PuzzleAgentMessageSubmitInput; -pub use puzzle_agent_message_table::*; pub use puzzle_agent_session_create_input_type::PuzzleAgentSessionCreateInput; pub use puzzle_agent_session_get_input_type::PuzzleAgentSessionGetInput; pub use puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; pub use puzzle_agent_session_row_type::PuzzleAgentSessionRow; -pub use puzzle_agent_session_table::*; pub use puzzle_agent_stage_type::PuzzleAgentStage; pub use puzzle_draft_compile_input_type::PuzzleDraftCompileInput; pub use puzzle_generated_images_save_input_type::PuzzleGeneratedImagesSaveInput; @@ -748,21 +652,18 @@ pub use puzzle_run_procedure_result_type::PuzzleRunProcedureResult; pub use puzzle_run_start_input_type::PuzzleRunStartInput; pub use puzzle_run_swap_input_type::PuzzleRunSwapInput; pub use puzzle_runtime_run_row_type::PuzzleRuntimeRunRow; -pub use puzzle_runtime_run_table::*; pub use puzzle_select_cover_image_input_type::PuzzleSelectCoverImageInput; pub use puzzle_work_get_input_type::PuzzleWorkGetInput; pub use puzzle_work_procedure_result_type::PuzzleWorkProcedureResult; pub use puzzle_work_profile_row_type::PuzzleWorkProfileRow; -pub use puzzle_work_profile_table::*; pub use puzzle_work_upsert_input_type::PuzzleWorkUpsertInput; pub use puzzle_works_list_input_type::PuzzleWorksListInput; pub use puzzle_works_procedure_result_type::PuzzleWorksProcedureResult; pub use quest_completion_ack_input_type::QuestCompletionAckInput; pub use quest_hostile_npc_defeated_signal_type::QuestHostileNpcDefeatedSignal; pub use quest_item_delivered_signal_type::QuestItemDeliveredSignal; -pub use quest_log_event_kind_type::QuestLogEventKind; -pub use quest_log_table::*; pub use quest_log_type::QuestLog; +pub use quest_log_event_kind_type::QuestLogEventKind; pub use quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; pub use quest_narrative_origin_type::QuestNarrativeOrigin; pub use quest_narrative_type_type::QuestNarrativeType; @@ -771,13 +672,12 @@ pub use quest_npc_talk_completed_signal_type::QuestNpcTalkCompletedSignal; pub use quest_objective_kind_type::QuestObjectiveKind; pub use quest_objective_snapshot_type::QuestObjectiveSnapshot; pub use quest_progress_signal_type::QuestProgressSignal; -pub use quest_record_input_type::QuestRecordInput; -pub use quest_record_table::*; pub use quest_record_type::QuestRecord; +pub use quest_record_input_type::QuestRecordInput; pub use quest_reward_equipment_slot_type::QuestRewardEquipmentSlot; pub use quest_reward_intel_type::QuestRewardIntel; -pub use quest_reward_item_rarity_type::QuestRewardItemRarity; pub use quest_reward_item_type::QuestRewardItem; +pub use quest_reward_item_rarity_type::QuestRewardItemRarity; pub use quest_reward_snapshot_type::QuestRewardSnapshot; pub use quest_scene_reached_signal_type::QuestSceneReachedSignal; pub use quest_signal_apply_input_type::QuestSignalApplyInput; @@ -786,22 +686,12 @@ pub use quest_status_type::QuestStatus; pub use quest_step_snapshot_type::QuestStepSnapshot; pub use quest_treasure_inspected_signal_type::QuestTreasureInspectedSignal; pub use quest_turn_in_input_type::QuestTurnInInput; -pub use resolve_combat_action_and_return_procedure::resolve_combat_action_and_return; pub use resolve_combat_action_input_type::ResolveCombatActionInput; pub use resolve_combat_action_procedure_result_type::ResolveCombatActionProcedureResult; -pub use resolve_combat_action_reducer::resolve_combat_action; pub use resolve_combat_action_result_type::ResolveCombatActionResult; -pub use resolve_npc_battle_interaction_and_return_procedure::resolve_npc_battle_interaction_and_return; pub use resolve_npc_battle_interaction_input_type::ResolveNpcBattleInteractionInput; -pub use resolve_npc_interaction_and_return_procedure::resolve_npc_interaction_and_return; pub use resolve_npc_interaction_input_type::ResolveNpcInteractionInput; -pub use resolve_npc_interaction_reducer::resolve_npc_interaction; -pub use resolve_npc_social_action_and_return_procedure::resolve_npc_social_action_and_return; 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 resume_profile_save_archive_and_return_procedure::resume_profile_save_archive_and_return; pub use rpg_agent_draft_card_kind_type::RpgAgentDraftCardKind; pub use rpg_agent_draft_card_status_type::RpgAgentDraftCardStatus; pub use rpg_agent_message_kind_type::RpgAgentMessageKind; @@ -838,65 +728,184 @@ pub use runtime_profile_wallet_ledger_entry_snapshot_type::RuntimeProfileWalletL pub use runtime_profile_wallet_ledger_list_input_type::RuntimeProfileWalletLedgerListInput; pub use runtime_profile_wallet_ledger_procedure_result_type::RuntimeProfileWalletLedgerProcedureResult; pub use runtime_profile_wallet_ledger_source_type_type::RuntimeProfileWalletLedgerSourceType; +pub use runtime_setting_type::RuntimeSetting; pub use runtime_setting_get_input_type::RuntimeSettingGetInput; pub use runtime_setting_procedure_result_type::RuntimeSettingProcedureResult; pub use runtime_setting_snapshot_type::RuntimeSettingSnapshot; -pub use runtime_setting_table::*; -pub use runtime_setting_type::RuntimeSetting; pub use runtime_setting_upsert_input_type::RuntimeSettingUpsertInput; +pub use runtime_snapshot_type::RuntimeSnapshot; pub use runtime_snapshot_delete_input_type::RuntimeSnapshotDeleteInput; pub use runtime_snapshot_get_input_type::RuntimeSnapshotGetInput; pub use runtime_snapshot_procedure_result_type::RuntimeSnapshotProcedureResult; pub use runtime_snapshot_row_type::RuntimeSnapshotRow; -pub use runtime_snapshot_table::*; -pub use runtime_snapshot_type::RuntimeSnapshot; pub use runtime_snapshot_upsert_input_type::RuntimeSnapshotUpsertInput; -pub use save_puzzle_generated_images_procedure::save_puzzle_generated_images; -pub use select_puzzle_cover_image_procedure::select_puzzle_cover_image; -pub use start_ai_task_reducer::start_ai_task; -pub use start_ai_task_stage_reducer::start_ai_task_stage; -pub use start_big_fish_run_procedure::start_big_fish_run; -pub use start_puzzle_run_procedure::start_puzzle_run; pub use story_continue_input_type::StoryContinueInput; +pub use story_event_type::StoryEvent; pub use story_event_kind_type::StoryEventKind; pub use story_event_snapshot_type::StoryEventSnapshot; -pub use story_event_table::*; -pub use story_event_type::StoryEvent; +pub use story_session_type::StorySession; pub use story_session_input_type::StorySessionInput; pub use story_session_procedure_result_type::StorySessionProcedureResult; pub use story_session_snapshot_type::StorySessionSnapshot; pub use story_session_state_input_type::StorySessionStateInput; pub use story_session_state_procedure_result_type::StorySessionStateProcedureResult; pub use story_session_status_type::StorySessionStatus; +pub use treasure_interaction_action_type::TreasureInteractionAction; +pub use treasure_record_type::TreasureRecord; +pub use treasure_record_procedure_result_type::TreasureRecordProcedureResult; +pub use treasure_record_snapshot_type::TreasureRecordSnapshot; +pub use treasure_resolve_input_type::TreasureResolveInput; +pub use unequip_inventory_item_input_type::UnequipInventoryItemInput; +pub use user_browse_history_type::UserBrowseHistory; +pub use ai_result_reference_table::*; +pub use ai_task_table::*; +pub use ai_task_stage_table::*; +pub use ai_text_chunk_table::*; +pub use asset_entity_binding_table::*; +pub use asset_object_table::*; +pub use battle_state_table::*; +pub use big_fish_agent_message_table::*; +pub use big_fish_asset_slot_table::*; +pub use big_fish_creation_session_table::*; +pub use big_fish_runtime_run_table::*; +pub use chapter_progression_table::*; +pub use custom_world_agent_message_table::*; +pub use custom_world_agent_operation_table::*; +pub use custom_world_agent_session_table::*; +pub use custom_world_draft_card_table::*; +pub use custom_world_gallery_entry_table::*; +pub use custom_world_profile_table::*; +pub use custom_world_session_table::*; +pub use inventory_slot_table::*; +pub use npc_state_table::*; +pub use player_progression_table::*; +pub use profile_dashboard_state_table::*; +pub use profile_played_world_table::*; +pub use profile_save_archive_table::*; +pub use profile_wallet_ledger_table::*; +pub use puzzle_agent_message_table::*; +pub use puzzle_agent_session_table::*; +pub use puzzle_runtime_run_table::*; +pub use puzzle_work_profile_table::*; +pub use quest_log_table::*; +pub use quest_record_table::*; +pub use runtime_setting_table::*; +pub use runtime_snapshot_table::*; +pub use story_event_table::*; pub use story_session_table::*; -pub use story_session_type::StorySession; +pub use treasure_record_table::*; +pub use user_browse_history_table::*; +pub use accept_quest_reducer::accept_quest; +pub use acknowledge_quest_completion_reducer::acknowledge_quest_completion; +pub use apply_chapter_progression_ledger_entry_reducer::apply_chapter_progression_ledger_entry; +pub use apply_inventory_mutation_reducer::apply_inventory_mutation; +pub use apply_quest_signal_reducer::apply_quest_signal; +pub use begin_story_session_reducer::begin_story_session; +pub use bind_asset_object_to_entity_reducer::bind_asset_object_to_entity; +pub use confirm_asset_object_reducer::confirm_asset_object; +pub use continue_story_reducer::continue_story; +pub use create_ai_task_reducer::create_ai_task; +pub use create_battle_state_reducer::create_battle_state; +pub use grant_player_progression_experience_reducer::grant_player_progression_experience; +pub use publish_custom_world_profile_reducer::publish_custom_world_profile; +pub use resolve_combat_action_reducer::resolve_combat_action; +pub use resolve_npc_interaction_reducer::resolve_npc_interaction; +pub use resolve_npc_social_action_reducer::resolve_npc_social_action; +pub use resolve_treasure_interaction_reducer::resolve_treasure_interaction; +pub use start_ai_task_reducer::start_ai_task; +pub use start_ai_task_stage_reducer::start_ai_task_stage; +pub use turn_in_quest_reducer::turn_in_quest; +pub use unpublish_custom_world_profile_reducer::unpublish_custom_world_profile; +pub use upsert_chapter_progression_reducer::upsert_chapter_progression; +pub use upsert_custom_world_profile_reducer::upsert_custom_world_profile; +pub use upsert_npc_state_reducer::upsert_npc_state; +pub use advance_puzzle_next_level_procedure::advance_puzzle_next_level; +pub use append_ai_text_chunk_and_return_procedure::append_ai_text_chunk_and_return; +pub use apply_chapter_progression_ledger_entry_and_return_procedure::apply_chapter_progression_ledger_entry_and_return; +pub use attach_ai_result_reference_and_return_procedure::attach_ai_result_reference_and_return; +pub use begin_story_session_and_return_procedure::begin_story_session_and_return; +pub use bind_asset_object_to_entity_and_return_procedure::bind_asset_object_to_entity_and_return; +pub use cancel_ai_task_and_return_procedure::cancel_ai_task_and_return; +pub use clear_platform_browse_history_and_return_procedure::clear_platform_browse_history_and_return; +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_puzzle_agent_draft_procedure::compile_puzzle_agent_draft; +pub use complete_ai_stage_and_return_procedure::complete_ai_stage_and_return; +pub use complete_ai_task_and_return_procedure::complete_ai_task_and_return; +pub use confirm_asset_object_and_return_procedure::confirm_asset_object_and_return; +pub use continue_story_and_return_procedure::continue_story_and_return; +pub use create_ai_task_and_return_procedure::create_ai_task_and_return; +pub use create_battle_state_and_return_procedure::create_battle_state_and_return; +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_puzzle_agent_session_procedure::create_puzzle_agent_session; +pub use delete_custom_world_profile_and_return_procedure::delete_custom_world_profile_and_return; +pub use delete_runtime_snapshot_and_return_procedure::delete_runtime_snapshot_and_return; +pub use drag_puzzle_piece_or_group_procedure::drag_puzzle_piece_or_group; +pub use execute_custom_world_agent_action_procedure::execute_custom_world_agent_action; +pub use fail_ai_task_and_return_procedure::fail_ai_task_and_return; +pub use finalize_big_fish_agent_message_turn_procedure::finalize_big_fish_agent_message_turn; +pub use finalize_custom_world_agent_message_turn_procedure::finalize_custom_world_agent_message_turn; +pub use finalize_puzzle_agent_message_turn_procedure::finalize_puzzle_agent_message_turn; +pub use generate_big_fish_asset_procedure::generate_big_fish_asset; +pub use get_battle_state_procedure::get_battle_state; +pub use get_big_fish_run_procedure::get_big_fish_run; +pub use get_big_fish_session_procedure::get_big_fish_session; +pub use get_chapter_progression_procedure::get_chapter_progression; +pub use get_custom_world_agent_card_detail_procedure::get_custom_world_agent_card_detail; +pub use get_custom_world_agent_operation_procedure::get_custom_world_agent_operation; +pub use get_custom_world_agent_session_procedure::get_custom_world_agent_session; +pub use get_custom_world_gallery_detail_procedure::get_custom_world_gallery_detail; +pub use get_custom_world_gallery_detail_by_code_procedure::get_custom_world_gallery_detail_by_code; +pub use get_custom_world_library_detail_procedure::get_custom_world_library_detail; +pub use get_player_progression_or_default_procedure::get_player_progression_or_default; +pub use get_profile_dashboard_procedure::get_profile_dashboard; +pub use get_profile_play_stats_procedure::get_profile_play_stats; +pub use get_puzzle_agent_session_procedure::get_puzzle_agent_session; +pub use get_puzzle_gallery_detail_procedure::get_puzzle_gallery_detail; +pub use get_puzzle_run_procedure::get_puzzle_run; +pub use get_puzzle_work_detail_procedure::get_puzzle_work_detail; +pub use get_runtime_inventory_state_procedure::get_runtime_inventory_state; +pub use get_runtime_setting_or_default_procedure::get_runtime_setting_or_default; +pub use get_runtime_snapshot_procedure::get_runtime_snapshot; +pub use get_story_session_state_procedure::get_story_session_state; +pub use grant_player_progression_experience_and_return_procedure::grant_player_progression_experience_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_platform_browse_history_procedure::list_platform_browse_history; +pub use list_profile_save_archives_procedure::list_profile_save_archives; +pub use list_profile_wallet_ledger_procedure::list_profile_wallet_ledger; +pub use list_puzzle_gallery_procedure::list_puzzle_gallery; +pub use list_puzzle_works_procedure::list_puzzle_works; +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_world_procedure::publish_custom_world_world; +pub use publish_puzzle_work_procedure::publish_puzzle_work; +pub use resolve_combat_action_and_return_procedure::resolve_combat_action_and_return; +pub use resolve_npc_battle_interaction_and_return_procedure::resolve_npc_battle_interaction_and_return; +pub use resolve_npc_interaction_and_return_procedure::resolve_npc_interaction_and_return; +pub use resolve_npc_social_action_and_return_procedure::resolve_npc_social_action_and_return; +pub use resolve_treasure_interaction_and_return_procedure::resolve_treasure_interaction_and_return; +pub use resume_profile_save_archive_and_return_procedure::resume_profile_save_archive_and_return; +pub use save_puzzle_generated_images_procedure::save_puzzle_generated_images; +pub use select_puzzle_cover_image_procedure::select_puzzle_cover_image; +pub use start_big_fish_run_procedure::start_big_fish_run; +pub use start_puzzle_run_procedure::start_puzzle_run; pub use submit_big_fish_input_procedure::submit_big_fish_input; pub use submit_big_fish_message_procedure::submit_big_fish_message; pub use submit_custom_world_agent_message_procedure::submit_custom_world_agent_message; pub use submit_puzzle_agent_message_procedure::submit_puzzle_agent_message; pub use swap_puzzle_pieces_procedure::swap_puzzle_pieces; -pub use treasure_interaction_action_type::TreasureInteractionAction; -pub use treasure_record_procedure_result_type::TreasureRecordProcedureResult; -pub use treasure_record_snapshot_type::TreasureRecordSnapshot; -pub use treasure_record_table::*; -pub use treasure_record_type::TreasureRecord; -pub use treasure_resolve_input_type::TreasureResolveInput; -pub use turn_in_quest_reducer::turn_in_quest; -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_puzzle_work_procedure::update_puzzle_work; pub use upsert_chapter_progression_and_return_procedure::upsert_chapter_progression_and_return; -pub use upsert_chapter_progression_reducer::upsert_chapter_progression; pub use upsert_custom_world_profile_and_return_procedure::upsert_custom_world_profile_and_return; -pub use upsert_custom_world_profile_reducer::upsert_custom_world_profile; pub use upsert_npc_state_and_return_procedure::upsert_npc_state_and_return; -pub use upsert_npc_state_reducer::upsert_npc_state; pub use upsert_platform_browse_history_and_return_procedure::upsert_platform_browse_history_and_return; pub use upsert_runtime_setting_and_return_procedure::upsert_runtime_setting_and_return; pub use upsert_runtime_snapshot_and_return_procedure::upsert_runtime_snapshot_and_return; -pub use user_browse_history_table::*; -pub use user_browse_history_type::UserBrowseHistory; #[derive(Clone, PartialEq, Debug)] @@ -906,80 +915,81 @@ pub use user_browse_history_type::UserBrowseHistory; /// to indicate which reducer caused the event. pub enum Reducer { - AcceptQuest { + AcceptQuest { input: QuestRecordInput, - }, +} , AcknowledgeQuestCompletion { input: QuestCompletionAckInput, - }, +} , ApplyChapterProgressionLedgerEntry { input: ChapterProgressionLedgerInput, - }, +} , ApplyInventoryMutation { input: InventoryMutationInput, - }, +} , ApplyQuestSignal { input: QuestSignalApplyInput, - }, +} , BeginStorySession { input: StorySessionInput, - }, +} , BindAssetObjectToEntity { input: AssetEntityBindingInput, - }, +} , ConfirmAssetObject { input: AssetObjectUpsertInput, - }, +} , ContinueStory { input: StoryContinueInput, - }, +} , CreateAiTask { input: AiTaskCreateInput, - }, +} , CreateBattleState { input: BattleStateInput, - }, +} , GrantPlayerProgressionExperience { input: PlayerProgressionGrantInput, - }, +} , PublishCustomWorldProfile { input: CustomWorldProfilePublishInput, - }, +} , ResolveCombatAction { input: ResolveCombatActionInput, - }, +} , ResolveNpcInteraction { input: ResolveNpcInteractionInput, - }, +} , ResolveNpcSocialAction { input: ResolveNpcSocialActionInput, - }, +} , ResolveTreasureInteraction { input: TreasureResolveInput, - }, +} , StartAiTask { input: AiTaskStartInput, - }, +} , StartAiTaskStage { input: AiTaskStageStartInput, - }, +} , TurnInQuest { input: QuestTurnInInput, - }, +} , UnpublishCustomWorldProfile { input: CustomWorldProfileUnpublishInput, - }, +} , UpsertChapterProgression { input: ChapterProgressionInput, - }, +} , UpsertCustomWorldProfile { input: CustomWorldProfileUpsertInput, - }, +} , UpsertNpcState { input: NpcStateUpsertInput, - }, +} , } + impl __sdk::InModule for Reducer { type Module = RemoteModule; } @@ -987,11 +997,9 @@ impl __sdk::InModule for Reducer { impl __sdk::Reducer for Reducer { fn reducer_name(&self) -> &'static str { match self { - Reducer::AcceptQuest { .. } => "accept_quest", + Reducer::AcceptQuest { .. } => "accept_quest", Reducer::AcknowledgeQuestCompletion { .. } => "acknowledge_quest_completion", - Reducer::ApplyChapterProgressionLedgerEntry { .. } => { - "apply_chapter_progression_ledger_entry" - } + Reducer::ApplyChapterProgressionLedgerEntry { .. } => "apply_chapter_progression_ledger_entry", Reducer::ApplyInventoryMutation { .. } => "apply_inventory_mutation", Reducer::ApplyQuestSignal { .. } => "apply_quest_signal", Reducer::BeginStorySession { .. } => "begin_story_session", @@ -1000,9 +1008,7 @@ impl __sdk::Reducer for Reducer { Reducer::ContinueStory { .. } => "continue_story", Reducer::CreateAiTask { .. } => "create_ai_task", Reducer::CreateBattleState { .. } => "create_battle_state", - Reducer::GrantPlayerProgressionExperience { .. } => { - "grant_player_progression_experience" - } + Reducer::GrantPlayerProgressionExperience { .. } => "grant_player_progression_experience", Reducer::PublishCustomWorldProfile { .. } => "publish_custom_world_profile", Reducer::ResolveCombatAction { .. } => "resolve_combat_action", Reducer::ResolveNpcInteraction { .. } => "resolve_npc_interaction", @@ -1016,10 +1022,10 @@ impl __sdk::Reducer for Reducer { Reducer::UpsertCustomWorldProfile { .. } => "upsert_custom_world_profile", Reducer::UpsertNpcState { .. } => "upsert_npc_state", _ => unreachable!(), - } - } +} +} #[allow(clippy::clone_on_copy)] - fn args_bsatn(&self) -> Result, __sats::bsatn::EncodeError> { +fn args_bsatn(&self) -> Result, __sats::bsatn::EncodeError> { match self { Reducer::AcceptQuest{ input, @@ -1143,14 +1149,14 @@ impl __sdk::Reducer for Reducer { }), _ => unreachable!(), } - } +} } #[derive(Default, Debug)] #[allow(non_snake_case)] #[doc(hidden)] pub struct DbUpdate { - ai_result_reference: __sdk::TableUpdate, + ai_result_reference: __sdk::TableUpdate, ai_task: __sdk::TableUpdate, ai_task_stage: __sdk::TableUpdate, ai_text_chunk: __sdk::TableUpdate, @@ -1190,134 +1196,59 @@ pub struct DbUpdate { user_browse_history: __sdk::TableUpdate, } + impl TryFrom<__ws::v2::TransactionUpdate> for DbUpdate { type Error = __sdk::Error; fn try_from(raw: __ws::v2::TransactionUpdate) -> Result { let mut db_update = DbUpdate::default(); for table_update in __sdk::transaction_update_iter_table_updates(raw) { match &table_update.table_name[..] { - "ai_result_reference" => db_update - .ai_result_reference - .append(ai_result_reference_table::parse_table_update(table_update)?), - "ai_task" => db_update - .ai_task - .append(ai_task_table::parse_table_update(table_update)?), - "ai_task_stage" => db_update - .ai_task_stage - .append(ai_task_stage_table::parse_table_update(table_update)?), - "ai_text_chunk" => db_update - .ai_text_chunk - .append(ai_text_chunk_table::parse_table_update(table_update)?), - "asset_entity_binding" => db_update.asset_entity_binding.append( - asset_entity_binding_table::parse_table_update(table_update)?, - ), - "asset_object" => db_update - .asset_object - .append(asset_object_table::parse_table_update(table_update)?), - "battle_state" => db_update - .battle_state - .append(battle_state_table::parse_table_update(table_update)?), - "big_fish_agent_message" => db_update.big_fish_agent_message.append( - big_fish_agent_message_table::parse_table_update(table_update)?, - ), - "big_fish_asset_slot" => db_update - .big_fish_asset_slot - .append(big_fish_asset_slot_table::parse_table_update(table_update)?), - "big_fish_creation_session" => db_update.big_fish_creation_session.append( - big_fish_creation_session_table::parse_table_update(table_update)?, - ), - "big_fish_runtime_run" => db_update.big_fish_runtime_run.append( - big_fish_runtime_run_table::parse_table_update(table_update)?, - ), - "chapter_progression" => db_update - .chapter_progression - .append(chapter_progression_table::parse_table_update(table_update)?), - "custom_world_agent_message" => db_update.custom_world_agent_message.append( - custom_world_agent_message_table::parse_table_update(table_update)?, - ), - "custom_world_agent_operation" => db_update.custom_world_agent_operation.append( - custom_world_agent_operation_table::parse_table_update(table_update)?, - ), - "custom_world_agent_session" => db_update.custom_world_agent_session.append( - custom_world_agent_session_table::parse_table_update(table_update)?, - ), - "custom_world_draft_card" => db_update.custom_world_draft_card.append( - custom_world_draft_card_table::parse_table_update(table_update)?, - ), - "custom_world_gallery_entry" => db_update.custom_world_gallery_entry.append( - custom_world_gallery_entry_table::parse_table_update(table_update)?, - ), - "custom_world_profile" => db_update.custom_world_profile.append( - custom_world_profile_table::parse_table_update(table_update)?, - ), - "custom_world_session" => db_update.custom_world_session.append( - custom_world_session_table::parse_table_update(table_update)?, - ), - "inventory_slot" => db_update - .inventory_slot - .append(inventory_slot_table::parse_table_update(table_update)?), - "npc_state" => db_update - .npc_state - .append(npc_state_table::parse_table_update(table_update)?), - "player_progression" => db_update - .player_progression - .append(player_progression_table::parse_table_update(table_update)?), - "profile_dashboard_state" => db_update.profile_dashboard_state.append( - profile_dashboard_state_table::parse_table_update(table_update)?, - ), - "profile_played_world" => db_update.profile_played_world.append( - profile_played_world_table::parse_table_update(table_update)?, - ), - "profile_save_archive" => db_update.profile_save_archive.append( - profile_save_archive_table::parse_table_update(table_update)?, - ), - "profile_wallet_ledger" => db_update.profile_wallet_ledger.append( - profile_wallet_ledger_table::parse_table_update(table_update)?, - ), - "puzzle_agent_message" => db_update.puzzle_agent_message.append( - puzzle_agent_message_table::parse_table_update(table_update)?, - ), - "puzzle_agent_session" => db_update.puzzle_agent_session.append( - puzzle_agent_session_table::parse_table_update(table_update)?, - ), - "puzzle_runtime_run" => db_update - .puzzle_runtime_run - .append(puzzle_runtime_run_table::parse_table_update(table_update)?), - "puzzle_work_profile" => db_update - .puzzle_work_profile - .append(puzzle_work_profile_table::parse_table_update(table_update)?), - "quest_log" => db_update - .quest_log - .append(quest_log_table::parse_table_update(table_update)?), - "quest_record" => db_update - .quest_record - .append(quest_record_table::parse_table_update(table_update)?), - "runtime_setting" => db_update - .runtime_setting - .append(runtime_setting_table::parse_table_update(table_update)?), - "runtime_snapshot" => db_update - .runtime_snapshot - .append(runtime_snapshot_table::parse_table_update(table_update)?), - "story_event" => db_update - .story_event - .append(story_event_table::parse_table_update(table_update)?), - "story_session" => db_update - .story_session - .append(story_session_table::parse_table_update(table_update)?), - "treasure_record" => db_update - .treasure_record - .append(treasure_record_table::parse_table_update(table_update)?), - "user_browse_history" => db_update - .user_browse_history - .append(user_browse_history_table::parse_table_update(table_update)?), + + "ai_result_reference" => db_update.ai_result_reference.append(ai_result_reference_table::parse_table_update(table_update)?), + "ai_task" => db_update.ai_task.append(ai_task_table::parse_table_update(table_update)?), + "ai_task_stage" => db_update.ai_task_stage.append(ai_task_stage_table::parse_table_update(table_update)?), + "ai_text_chunk" => db_update.ai_text_chunk.append(ai_text_chunk_table::parse_table_update(table_update)?), + "asset_entity_binding" => db_update.asset_entity_binding.append(asset_entity_binding_table::parse_table_update(table_update)?), + "asset_object" => db_update.asset_object.append(asset_object_table::parse_table_update(table_update)?), + "battle_state" => db_update.battle_state.append(battle_state_table::parse_table_update(table_update)?), + "big_fish_agent_message" => db_update.big_fish_agent_message.append(big_fish_agent_message_table::parse_table_update(table_update)?), + "big_fish_asset_slot" => db_update.big_fish_asset_slot.append(big_fish_asset_slot_table::parse_table_update(table_update)?), + "big_fish_creation_session" => db_update.big_fish_creation_session.append(big_fish_creation_session_table::parse_table_update(table_update)?), + "big_fish_runtime_run" => db_update.big_fish_runtime_run.append(big_fish_runtime_run_table::parse_table_update(table_update)?), + "chapter_progression" => db_update.chapter_progression.append(chapter_progression_table::parse_table_update(table_update)?), + "custom_world_agent_message" => db_update.custom_world_agent_message.append(custom_world_agent_message_table::parse_table_update(table_update)?), + "custom_world_agent_operation" => db_update.custom_world_agent_operation.append(custom_world_agent_operation_table::parse_table_update(table_update)?), + "custom_world_agent_session" => db_update.custom_world_agent_session.append(custom_world_agent_session_table::parse_table_update(table_update)?), + "custom_world_draft_card" => db_update.custom_world_draft_card.append(custom_world_draft_card_table::parse_table_update(table_update)?), + "custom_world_gallery_entry" => db_update.custom_world_gallery_entry.append(custom_world_gallery_entry_table::parse_table_update(table_update)?), + "custom_world_profile" => db_update.custom_world_profile.append(custom_world_profile_table::parse_table_update(table_update)?), + "custom_world_session" => db_update.custom_world_session.append(custom_world_session_table::parse_table_update(table_update)?), + "inventory_slot" => db_update.inventory_slot.append(inventory_slot_table::parse_table_update(table_update)?), + "npc_state" => db_update.npc_state.append(npc_state_table::parse_table_update(table_update)?), + "player_progression" => db_update.player_progression.append(player_progression_table::parse_table_update(table_update)?), + "profile_dashboard_state" => db_update.profile_dashboard_state.append(profile_dashboard_state_table::parse_table_update(table_update)?), + "profile_played_world" => db_update.profile_played_world.append(profile_played_world_table::parse_table_update(table_update)?), + "profile_save_archive" => db_update.profile_save_archive.append(profile_save_archive_table::parse_table_update(table_update)?), + "profile_wallet_ledger" => db_update.profile_wallet_ledger.append(profile_wallet_ledger_table::parse_table_update(table_update)?), + "puzzle_agent_message" => db_update.puzzle_agent_message.append(puzzle_agent_message_table::parse_table_update(table_update)?), + "puzzle_agent_session" => db_update.puzzle_agent_session.append(puzzle_agent_session_table::parse_table_update(table_update)?), + "puzzle_runtime_run" => db_update.puzzle_runtime_run.append(puzzle_runtime_run_table::parse_table_update(table_update)?), + "puzzle_work_profile" => db_update.puzzle_work_profile.append(puzzle_work_profile_table::parse_table_update(table_update)?), + "quest_log" => db_update.quest_log.append(quest_log_table::parse_table_update(table_update)?), + "quest_record" => db_update.quest_record.append(quest_record_table::parse_table_update(table_update)?), + "runtime_setting" => db_update.runtime_setting.append(runtime_setting_table::parse_table_update(table_update)?), + "runtime_snapshot" => db_update.runtime_snapshot.append(runtime_snapshot_table::parse_table_update(table_update)?), + "story_event" => db_update.story_event.append(story_event_table::parse_table_update(table_update)?), + "story_session" => db_update.story_session.append(story_session_table::parse_table_update(table_update)?), + "treasure_record" => db_update.treasure_record.append(treasure_record_table::parse_table_update(table_update)?), + "user_browse_history" => db_update.user_browse_history.append(user_browse_history_table::parse_table_update(table_update)?), unknown => { return Err(__sdk::InternalError::unknown_name( "table", unknown, "DatabaseUpdate", - ) - .into()); + ).into()); } } } @@ -1330,462 +1261,147 @@ impl __sdk::InModule for DbUpdate { } impl __sdk::DbUpdate for DbUpdate { - fn apply_to_client_cache( - &self, - cache: &mut __sdk::ClientCache, - ) -> AppliedDiff<'_> { - let mut diff = AppliedDiff::default(); + fn apply_to_client_cache(&self, cache: &mut __sdk::ClientCache) -> AppliedDiff<'_> { + let mut diff = AppliedDiff::default(); + + diff.ai_result_reference = cache.apply_diff_to_table::("ai_result_reference", &self.ai_result_reference).with_updates_by_pk(|row| &row.result_reference_row_id); + diff.ai_task = cache.apply_diff_to_table::("ai_task", &self.ai_task).with_updates_by_pk(|row| &row.task_id); + diff.ai_task_stage = cache.apply_diff_to_table::("ai_task_stage", &self.ai_task_stage).with_updates_by_pk(|row| &row.task_stage_id); + diff.ai_text_chunk = cache.apply_diff_to_table::("ai_text_chunk", &self.ai_text_chunk).with_updates_by_pk(|row| &row.text_chunk_row_id); + diff.asset_entity_binding = cache.apply_diff_to_table::("asset_entity_binding", &self.asset_entity_binding).with_updates_by_pk(|row| &row.binding_id); + diff.asset_object = cache.apply_diff_to_table::("asset_object", &self.asset_object).with_updates_by_pk(|row| &row.asset_object_id); + diff.battle_state = cache.apply_diff_to_table::("battle_state", &self.battle_state).with_updates_by_pk(|row| &row.battle_state_id); + diff.big_fish_agent_message = cache.apply_diff_to_table::("big_fish_agent_message", &self.big_fish_agent_message).with_updates_by_pk(|row| &row.message_id); + diff.big_fish_asset_slot = cache.apply_diff_to_table::("big_fish_asset_slot", &self.big_fish_asset_slot).with_updates_by_pk(|row| &row.slot_id); + diff.big_fish_creation_session = cache.apply_diff_to_table::("big_fish_creation_session", &self.big_fish_creation_session).with_updates_by_pk(|row| &row.session_id); + diff.big_fish_runtime_run = cache.apply_diff_to_table::("big_fish_runtime_run", &self.big_fish_runtime_run).with_updates_by_pk(|row| &row.run_id); + diff.chapter_progression = cache.apply_diff_to_table::("chapter_progression", &self.chapter_progression).with_updates_by_pk(|row| &row.chapter_progression_id); + diff.custom_world_agent_message = cache.apply_diff_to_table::("custom_world_agent_message", &self.custom_world_agent_message).with_updates_by_pk(|row| &row.message_id); + diff.custom_world_agent_operation = cache.apply_diff_to_table::("custom_world_agent_operation", &self.custom_world_agent_operation).with_updates_by_pk(|row| &row.operation_id); + diff.custom_world_agent_session = cache.apply_diff_to_table::("custom_world_agent_session", &self.custom_world_agent_session).with_updates_by_pk(|row| &row.session_id); + diff.custom_world_draft_card = cache.apply_diff_to_table::("custom_world_draft_card", &self.custom_world_draft_card).with_updates_by_pk(|row| &row.card_id); + diff.custom_world_gallery_entry = cache.apply_diff_to_table::("custom_world_gallery_entry", &self.custom_world_gallery_entry).with_updates_by_pk(|row| &row.profile_id); + diff.custom_world_profile = cache.apply_diff_to_table::("custom_world_profile", &self.custom_world_profile).with_updates_by_pk(|row| &row.profile_id); + diff.custom_world_session = cache.apply_diff_to_table::("custom_world_session", &self.custom_world_session).with_updates_by_pk(|row| &row.session_id); + diff.inventory_slot = cache.apply_diff_to_table::("inventory_slot", &self.inventory_slot).with_updates_by_pk(|row| &row.slot_id); + diff.npc_state = cache.apply_diff_to_table::("npc_state", &self.npc_state).with_updates_by_pk(|row| &row.npc_state_id); + diff.player_progression = cache.apply_diff_to_table::("player_progression", &self.player_progression).with_updates_by_pk(|row| &row.user_id); + diff.profile_dashboard_state = cache.apply_diff_to_table::("profile_dashboard_state", &self.profile_dashboard_state).with_updates_by_pk(|row| &row.user_id); + diff.profile_played_world = cache.apply_diff_to_table::("profile_played_world", &self.profile_played_world).with_updates_by_pk(|row| &row.played_world_id); + diff.profile_save_archive = cache.apply_diff_to_table::("profile_save_archive", &self.profile_save_archive).with_updates_by_pk(|row| &row.archive_id); + diff.profile_wallet_ledger = cache.apply_diff_to_table::("profile_wallet_ledger", &self.profile_wallet_ledger).with_updates_by_pk(|row| &row.wallet_ledger_id); + diff.puzzle_agent_message = cache.apply_diff_to_table::("puzzle_agent_message", &self.puzzle_agent_message).with_updates_by_pk(|row| &row.message_id); + diff.puzzle_agent_session = cache.apply_diff_to_table::("puzzle_agent_session", &self.puzzle_agent_session).with_updates_by_pk(|row| &row.session_id); + diff.puzzle_runtime_run = cache.apply_diff_to_table::("puzzle_runtime_run", &self.puzzle_runtime_run).with_updates_by_pk(|row| &row.run_id); + diff.puzzle_work_profile = cache.apply_diff_to_table::("puzzle_work_profile", &self.puzzle_work_profile).with_updates_by_pk(|row| &row.profile_id); + diff.quest_log = cache.apply_diff_to_table::("quest_log", &self.quest_log).with_updates_by_pk(|row| &row.log_id); + diff.quest_record = cache.apply_diff_to_table::("quest_record", &self.quest_record).with_updates_by_pk(|row| &row.quest_id); + diff.runtime_setting = cache.apply_diff_to_table::("runtime_setting", &self.runtime_setting).with_updates_by_pk(|row| &row.user_id); + diff.runtime_snapshot = cache.apply_diff_to_table::("runtime_snapshot", &self.runtime_snapshot).with_updates_by_pk(|row| &row.user_id); + diff.story_event = cache.apply_diff_to_table::("story_event", &self.story_event).with_updates_by_pk(|row| &row.event_id); + diff.story_session = cache.apply_diff_to_table::("story_session", &self.story_session).with_updates_by_pk(|row| &row.story_session_id); + diff.treasure_record = cache.apply_diff_to_table::("treasure_record", &self.treasure_record).with_updates_by_pk(|row| &row.treasure_record_id); + diff.user_browse_history = cache.apply_diff_to_table::("user_browse_history", &self.user_browse_history).with_updates_by_pk(|row| &row.browse_history_id); - diff.ai_result_reference = cache - .apply_diff_to_table::( - "ai_result_reference", - &self.ai_result_reference, - ) - .with_updates_by_pk(|row| &row.result_reference_row_id); - diff.ai_task = cache - .apply_diff_to_table::("ai_task", &self.ai_task) - .with_updates_by_pk(|row| &row.task_id); - diff.ai_task_stage = cache - .apply_diff_to_table::("ai_task_stage", &self.ai_task_stage) - .with_updates_by_pk(|row| &row.task_stage_id); - diff.ai_text_chunk = cache - .apply_diff_to_table::("ai_text_chunk", &self.ai_text_chunk) - .with_updates_by_pk(|row| &row.text_chunk_row_id); - diff.asset_entity_binding = cache - .apply_diff_to_table::( - "asset_entity_binding", - &self.asset_entity_binding, - ) - .with_updates_by_pk(|row| &row.binding_id); - diff.asset_object = cache - .apply_diff_to_table::("asset_object", &self.asset_object) - .with_updates_by_pk(|row| &row.asset_object_id); - diff.battle_state = cache - .apply_diff_to_table::("battle_state", &self.battle_state) - .with_updates_by_pk(|row| &row.battle_state_id); - diff.big_fish_agent_message = cache - .apply_diff_to_table::( - "big_fish_agent_message", - &self.big_fish_agent_message, - ) - .with_updates_by_pk(|row| &row.message_id); - diff.big_fish_asset_slot = cache - .apply_diff_to_table::( - "big_fish_asset_slot", - &self.big_fish_asset_slot, - ) - .with_updates_by_pk(|row| &row.slot_id); - diff.big_fish_creation_session = cache - .apply_diff_to_table::( - "big_fish_creation_session", - &self.big_fish_creation_session, - ) - .with_updates_by_pk(|row| &row.session_id); - diff.big_fish_runtime_run = cache - .apply_diff_to_table::( - "big_fish_runtime_run", - &self.big_fish_runtime_run, - ) - .with_updates_by_pk(|row| &row.run_id); - diff.chapter_progression = cache - .apply_diff_to_table::( - "chapter_progression", - &self.chapter_progression, - ) - .with_updates_by_pk(|row| &row.chapter_progression_id); - diff.custom_world_agent_message = cache - .apply_diff_to_table::( - "custom_world_agent_message", - &self.custom_world_agent_message, - ) - .with_updates_by_pk(|row| &row.message_id); - diff.custom_world_agent_operation = cache - .apply_diff_to_table::( - "custom_world_agent_operation", - &self.custom_world_agent_operation, - ) - .with_updates_by_pk(|row| &row.operation_id); - diff.custom_world_agent_session = cache - .apply_diff_to_table::( - "custom_world_agent_session", - &self.custom_world_agent_session, - ) - .with_updates_by_pk(|row| &row.session_id); - diff.custom_world_draft_card = cache - .apply_diff_to_table::( - "custom_world_draft_card", - &self.custom_world_draft_card, - ) - .with_updates_by_pk(|row| &row.card_id); - diff.custom_world_gallery_entry = cache - .apply_diff_to_table::( - "custom_world_gallery_entry", - &self.custom_world_gallery_entry, - ) - .with_updates_by_pk(|row| &row.profile_id); - diff.custom_world_profile = cache - .apply_diff_to_table::( - "custom_world_profile", - &self.custom_world_profile, - ) - .with_updates_by_pk(|row| &row.profile_id); - diff.custom_world_session = cache - .apply_diff_to_table::( - "custom_world_session", - &self.custom_world_session, - ) - .with_updates_by_pk(|row| &row.session_id); - diff.inventory_slot = cache - .apply_diff_to_table::("inventory_slot", &self.inventory_slot) - .with_updates_by_pk(|row| &row.slot_id); - diff.npc_state = cache - .apply_diff_to_table::("npc_state", &self.npc_state) - .with_updates_by_pk(|row| &row.npc_state_id); - diff.player_progression = cache - .apply_diff_to_table::( - "player_progression", - &self.player_progression, - ) - .with_updates_by_pk(|row| &row.user_id); - diff.profile_dashboard_state = cache - .apply_diff_to_table::( - "profile_dashboard_state", - &self.profile_dashboard_state, - ) - .with_updates_by_pk(|row| &row.user_id); - diff.profile_played_world = cache - .apply_diff_to_table::( - "profile_played_world", - &self.profile_played_world, - ) - .with_updates_by_pk(|row| &row.played_world_id); - diff.profile_save_archive = cache - .apply_diff_to_table::( - "profile_save_archive", - &self.profile_save_archive, - ) - .with_updates_by_pk(|row| &row.archive_id); - diff.profile_wallet_ledger = cache - .apply_diff_to_table::( - "profile_wallet_ledger", - &self.profile_wallet_ledger, - ) - .with_updates_by_pk(|row| &row.wallet_ledger_id); - diff.puzzle_agent_message = cache - .apply_diff_to_table::( - "puzzle_agent_message", - &self.puzzle_agent_message, - ) - .with_updates_by_pk(|row| &row.message_id); - diff.puzzle_agent_session = cache - .apply_diff_to_table::( - "puzzle_agent_session", - &self.puzzle_agent_session, - ) - .with_updates_by_pk(|row| &row.session_id); - diff.puzzle_runtime_run = cache - .apply_diff_to_table::( - "puzzle_runtime_run", - &self.puzzle_runtime_run, - ) - .with_updates_by_pk(|row| &row.run_id); - diff.puzzle_work_profile = cache - .apply_diff_to_table::( - "puzzle_work_profile", - &self.puzzle_work_profile, - ) - .with_updates_by_pk(|row| &row.profile_id); - diff.quest_log = cache - .apply_diff_to_table::("quest_log", &self.quest_log) - .with_updates_by_pk(|row| &row.log_id); - diff.quest_record = cache - .apply_diff_to_table::("quest_record", &self.quest_record) - .with_updates_by_pk(|row| &row.quest_id); - diff.runtime_setting = cache - .apply_diff_to_table::("runtime_setting", &self.runtime_setting) - .with_updates_by_pk(|row| &row.user_id); - diff.runtime_snapshot = cache - .apply_diff_to_table::("runtime_snapshot", &self.runtime_snapshot) - .with_updates_by_pk(|row| &row.user_id); - diff.story_event = cache - .apply_diff_to_table::("story_event", &self.story_event) - .with_updates_by_pk(|row| &row.event_id); - diff.story_session = cache - .apply_diff_to_table::("story_session", &self.story_session) - .with_updates_by_pk(|row| &row.story_session_id); - diff.treasure_record = cache - .apply_diff_to_table::("treasure_record", &self.treasure_record) - .with_updates_by_pk(|row| &row.treasure_record_id); - diff.user_browse_history = cache - .apply_diff_to_table::( - "user_browse_history", - &self.user_browse_history, - ) - .with_updates_by_pk(|row| &row.browse_history_id); - - diff - } - fn parse_initial_rows(raw: __ws::v2::QueryRows) -> __sdk::Result { - let mut db_update = DbUpdate::default(); - for table_rows in raw.tables { - match &table_rows.table[..] { - "ai_result_reference" => db_update - .ai_result_reference - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "ai_task" => db_update - .ai_task - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "ai_task_stage" => db_update - .ai_task_stage - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "ai_text_chunk" => db_update - .ai_text_chunk - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "asset_entity_binding" => db_update - .asset_entity_binding - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "asset_object" => db_update - .asset_object - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "battle_state" => db_update - .battle_state - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "big_fish_agent_message" => db_update - .big_fish_agent_message - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "big_fish_asset_slot" => db_update - .big_fish_asset_slot - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "big_fish_creation_session" => db_update - .big_fish_creation_session - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "big_fish_runtime_run" => db_update - .big_fish_runtime_run - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "chapter_progression" => db_update - .chapter_progression - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_agent_message" => db_update - .custom_world_agent_message - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_agent_operation" => db_update - .custom_world_agent_operation - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_agent_session" => db_update - .custom_world_agent_session - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_draft_card" => db_update - .custom_world_draft_card - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_gallery_entry" => db_update - .custom_world_gallery_entry - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_profile" => db_update - .custom_world_profile - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "custom_world_session" => db_update - .custom_world_session - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "inventory_slot" => db_update - .inventory_slot - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "npc_state" => db_update - .npc_state - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "player_progression" => db_update - .player_progression - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "profile_dashboard_state" => db_update - .profile_dashboard_state - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "profile_played_world" => db_update - .profile_played_world - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "profile_save_archive" => db_update - .profile_save_archive - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "profile_wallet_ledger" => db_update - .profile_wallet_ledger - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "puzzle_agent_message" => db_update - .puzzle_agent_message - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "puzzle_agent_session" => db_update - .puzzle_agent_session - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "puzzle_runtime_run" => db_update - .puzzle_runtime_run - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "puzzle_work_profile" => db_update - .puzzle_work_profile - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "quest_log" => db_update - .quest_log - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "quest_record" => db_update - .quest_record - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "runtime_setting" => db_update - .runtime_setting - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "runtime_snapshot" => db_update - .runtime_snapshot - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "story_event" => db_update - .story_event - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "story_session" => db_update - .story_session - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "treasure_record" => db_update - .treasure_record - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - "user_browse_history" => db_update - .user_browse_history - .append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), - unknown => { - return Err( - __sdk::InternalError::unknown_name("table", unknown, "QueryRows").into(), - ); + diff } - } - } - Ok(db_update) - } - fn parse_unsubscribe_rows(raw: __ws::v2::QueryRows) -> __sdk::Result { - let mut db_update = DbUpdate::default(); - for table_rows in raw.tables { +fn parse_initial_rows(raw: __ws::v2::QueryRows) -> __sdk::Result { + let mut db_update = DbUpdate::default(); +for table_rows in raw.tables { match &table_rows.table[..] { - "ai_result_reference" => db_update - .ai_result_reference - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "ai_task" => db_update - .ai_task - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "ai_task_stage" => db_update - .ai_task_stage - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "ai_text_chunk" => db_update - .ai_text_chunk - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "asset_entity_binding" => db_update - .asset_entity_binding - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "asset_object" => db_update - .asset_object - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "battle_state" => db_update - .battle_state - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "big_fish_agent_message" => db_update - .big_fish_agent_message - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "big_fish_asset_slot" => db_update - .big_fish_asset_slot - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "big_fish_creation_session" => db_update - .big_fish_creation_session - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "big_fish_runtime_run" => db_update - .big_fish_runtime_run - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "chapter_progression" => db_update - .chapter_progression - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_agent_message" => db_update - .custom_world_agent_message - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_agent_operation" => db_update - .custom_world_agent_operation - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_agent_session" => db_update - .custom_world_agent_session - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_draft_card" => db_update - .custom_world_draft_card - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_gallery_entry" => db_update - .custom_world_gallery_entry - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_profile" => db_update - .custom_world_profile - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "custom_world_session" => db_update - .custom_world_session - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "inventory_slot" => db_update - .inventory_slot - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "npc_state" => db_update - .npc_state - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "player_progression" => db_update - .player_progression - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "profile_dashboard_state" => db_update - .profile_dashboard_state - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "profile_played_world" => db_update - .profile_played_world - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "profile_save_archive" => db_update - .profile_save_archive - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "profile_wallet_ledger" => db_update - .profile_wallet_ledger - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "puzzle_agent_message" => db_update - .puzzle_agent_message - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "puzzle_agent_session" => db_update - .puzzle_agent_session - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "puzzle_runtime_run" => db_update - .puzzle_runtime_run - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "puzzle_work_profile" => db_update - .puzzle_work_profile - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "quest_log" => db_update - .quest_log - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "quest_record" => db_update - .quest_record - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "runtime_setting" => db_update - .runtime_setting - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "runtime_snapshot" => db_update - .runtime_snapshot - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "story_event" => db_update - .story_event - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "story_session" => db_update - .story_session - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "treasure_record" => db_update - .treasure_record - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - "user_browse_history" => db_update - .user_browse_history - .append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), - unknown => { - return Err( - __sdk::InternalError::unknown_name("table", unknown, "QueryRows").into(), - ); - } - } - } - Ok(db_update) - } + "ai_result_reference" => db_update.ai_result_reference.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "ai_task" => db_update.ai_task.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "ai_task_stage" => db_update.ai_task_stage.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "ai_text_chunk" => db_update.ai_text_chunk.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "asset_entity_binding" => db_update.asset_entity_binding.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "asset_object" => db_update.asset_object.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "battle_state" => db_update.battle_state.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "big_fish_agent_message" => db_update.big_fish_agent_message.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "big_fish_asset_slot" => db_update.big_fish_asset_slot.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "big_fish_creation_session" => db_update.big_fish_creation_session.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "big_fish_runtime_run" => db_update.big_fish_runtime_run.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "chapter_progression" => db_update.chapter_progression.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_agent_message" => db_update.custom_world_agent_message.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_agent_operation" => db_update.custom_world_agent_operation.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_agent_session" => db_update.custom_world_agent_session.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_draft_card" => db_update.custom_world_draft_card.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_gallery_entry" => db_update.custom_world_gallery_entry.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_profile" => db_update.custom_world_profile.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "custom_world_session" => db_update.custom_world_session.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "inventory_slot" => db_update.inventory_slot.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "npc_state" => db_update.npc_state.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "player_progression" => db_update.player_progression.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "profile_dashboard_state" => db_update.profile_dashboard_state.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "profile_played_world" => db_update.profile_played_world.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "profile_save_archive" => db_update.profile_save_archive.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "profile_wallet_ledger" => db_update.profile_wallet_ledger.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "puzzle_agent_message" => db_update.puzzle_agent_message.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "puzzle_agent_session" => db_update.puzzle_agent_session.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "puzzle_runtime_run" => db_update.puzzle_runtime_run.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "puzzle_work_profile" => db_update.puzzle_work_profile.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "quest_log" => db_update.quest_log.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "quest_record" => db_update.quest_record.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "runtime_setting" => db_update.runtime_setting.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "runtime_snapshot" => db_update.runtime_snapshot.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "story_event" => db_update.story_event.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "story_session" => db_update.story_session.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "treasure_record" => db_update.treasure_record.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + "user_browse_history" => db_update.user_browse_history.append(__sdk::parse_row_list_as_inserts(table_rows.rows)?), + unknown => { return Err(__sdk::InternalError::unknown_name("table", unknown, "QueryRows").into()); } +}} Ok(db_update) +} +fn parse_unsubscribe_rows(raw: __ws::v2::QueryRows) -> __sdk::Result { + let mut db_update = DbUpdate::default(); +for table_rows in raw.tables { + match &table_rows.table[..] { + "ai_result_reference" => db_update.ai_result_reference.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "ai_task" => db_update.ai_task.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "ai_task_stage" => db_update.ai_task_stage.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "ai_text_chunk" => db_update.ai_text_chunk.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "asset_entity_binding" => db_update.asset_entity_binding.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "asset_object" => db_update.asset_object.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "battle_state" => db_update.battle_state.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "big_fish_agent_message" => db_update.big_fish_agent_message.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "big_fish_asset_slot" => db_update.big_fish_asset_slot.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "big_fish_creation_session" => db_update.big_fish_creation_session.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "big_fish_runtime_run" => db_update.big_fish_runtime_run.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "chapter_progression" => db_update.chapter_progression.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_agent_message" => db_update.custom_world_agent_message.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_agent_operation" => db_update.custom_world_agent_operation.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_agent_session" => db_update.custom_world_agent_session.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_draft_card" => db_update.custom_world_draft_card.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_gallery_entry" => db_update.custom_world_gallery_entry.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_profile" => db_update.custom_world_profile.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "custom_world_session" => db_update.custom_world_session.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "inventory_slot" => db_update.inventory_slot.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "npc_state" => db_update.npc_state.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "player_progression" => db_update.player_progression.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "profile_dashboard_state" => db_update.profile_dashboard_state.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "profile_played_world" => db_update.profile_played_world.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "profile_save_archive" => db_update.profile_save_archive.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "profile_wallet_ledger" => db_update.profile_wallet_ledger.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "puzzle_agent_message" => db_update.puzzle_agent_message.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "puzzle_agent_session" => db_update.puzzle_agent_session.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "puzzle_runtime_run" => db_update.puzzle_runtime_run.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "puzzle_work_profile" => db_update.puzzle_work_profile.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "quest_log" => db_update.quest_log.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "quest_record" => db_update.quest_record.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "runtime_setting" => db_update.runtime_setting.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "runtime_snapshot" => db_update.runtime_snapshot.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "story_event" => db_update.story_event.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "story_session" => db_update.story_session.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "treasure_record" => db_update.treasure_record.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + "user_browse_history" => db_update.user_browse_history.append(__sdk::parse_row_list_as_deletes(table_rows.rows)?), + unknown => { return Err(__sdk::InternalError::unknown_name("table", unknown, "QueryRows").into()); } +}} Ok(db_update) +} } #[derive(Default)] #[allow(non_snake_case)] #[doc(hidden)] pub struct AppliedDiff<'r> { - ai_result_reference: __sdk::TableAppliedDiff<'r, AiResultReference>, + ai_result_reference: __sdk::TableAppliedDiff<'r, AiResultReference>, ai_task: __sdk::TableAppliedDiff<'r, AiTask>, ai_task_stage: __sdk::TableAppliedDiff<'r, AiTaskStage>, ai_text_chunk: __sdk::TableAppliedDiff<'r, AiTextChunk>, @@ -1826,192 +1442,54 @@ pub struct AppliedDiff<'r> { __unused: std::marker::PhantomData<&'r ()>, } + impl __sdk::InModule for AppliedDiff<'_> { type Module = RemoteModule; } impl<'r> __sdk::AppliedDiff<'r> for AppliedDiff<'r> { - fn invoke_row_callbacks( - &self, - event: &EventContext, - callbacks: &mut __sdk::DbCallbacks, - ) { - callbacks.invoke_table_row_callbacks::( - "ai_result_reference", - &self.ai_result_reference, - event, - ); + fn invoke_row_callbacks(&self, event: &EventContext, callbacks: &mut __sdk::DbCallbacks) { + callbacks.invoke_table_row_callbacks::("ai_result_reference", &self.ai_result_reference, event); callbacks.invoke_table_row_callbacks::("ai_task", &self.ai_task, event); - callbacks.invoke_table_row_callbacks::( - "ai_task_stage", - &self.ai_task_stage, - event, - ); - callbacks.invoke_table_row_callbacks::( - "ai_text_chunk", - &self.ai_text_chunk, - event, - ); - callbacks.invoke_table_row_callbacks::( - "asset_entity_binding", - &self.asset_entity_binding, - event, - ); - callbacks.invoke_table_row_callbacks::( - "asset_object", - &self.asset_object, - event, - ); - callbacks.invoke_table_row_callbacks::( - "battle_state", - &self.battle_state, - event, - ); - callbacks.invoke_table_row_callbacks::( - "big_fish_agent_message", - &self.big_fish_agent_message, - event, - ); - callbacks.invoke_table_row_callbacks::( - "big_fish_asset_slot", - &self.big_fish_asset_slot, - event, - ); - callbacks.invoke_table_row_callbacks::( - "big_fish_creation_session", - &self.big_fish_creation_session, - event, - ); - callbacks.invoke_table_row_callbacks::( - "big_fish_runtime_run", - &self.big_fish_runtime_run, - event, - ); - callbacks.invoke_table_row_callbacks::( - "chapter_progression", - &self.chapter_progression, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_agent_message", - &self.custom_world_agent_message, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_agent_operation", - &self.custom_world_agent_operation, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_agent_session", - &self.custom_world_agent_session, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_draft_card", - &self.custom_world_draft_card, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_gallery_entry", - &self.custom_world_gallery_entry, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_profile", - &self.custom_world_profile, - event, - ); - callbacks.invoke_table_row_callbacks::( - "custom_world_session", - &self.custom_world_session, - event, - ); - callbacks.invoke_table_row_callbacks::( - "inventory_slot", - &self.inventory_slot, - event, - ); + callbacks.invoke_table_row_callbacks::("ai_task_stage", &self.ai_task_stage, event); + callbacks.invoke_table_row_callbacks::("ai_text_chunk", &self.ai_text_chunk, event); + callbacks.invoke_table_row_callbacks::("asset_entity_binding", &self.asset_entity_binding, event); + callbacks.invoke_table_row_callbacks::("asset_object", &self.asset_object, event); + callbacks.invoke_table_row_callbacks::("battle_state", &self.battle_state, event); + callbacks.invoke_table_row_callbacks::("big_fish_agent_message", &self.big_fish_agent_message, event); + callbacks.invoke_table_row_callbacks::("big_fish_asset_slot", &self.big_fish_asset_slot, event); + callbacks.invoke_table_row_callbacks::("big_fish_creation_session", &self.big_fish_creation_session, event); + callbacks.invoke_table_row_callbacks::("big_fish_runtime_run", &self.big_fish_runtime_run, event); + callbacks.invoke_table_row_callbacks::("chapter_progression", &self.chapter_progression, event); + callbacks.invoke_table_row_callbacks::("custom_world_agent_message", &self.custom_world_agent_message, event); + callbacks.invoke_table_row_callbacks::("custom_world_agent_operation", &self.custom_world_agent_operation, event); + callbacks.invoke_table_row_callbacks::("custom_world_agent_session", &self.custom_world_agent_session, event); + callbacks.invoke_table_row_callbacks::("custom_world_draft_card", &self.custom_world_draft_card, event); + callbacks.invoke_table_row_callbacks::("custom_world_gallery_entry", &self.custom_world_gallery_entry, event); + callbacks.invoke_table_row_callbacks::("custom_world_profile", &self.custom_world_profile, event); + callbacks.invoke_table_row_callbacks::("custom_world_session", &self.custom_world_session, event); + callbacks.invoke_table_row_callbacks::("inventory_slot", &self.inventory_slot, event); callbacks.invoke_table_row_callbacks::("npc_state", &self.npc_state, event); - callbacks.invoke_table_row_callbacks::( - "player_progression", - &self.player_progression, - event, - ); - callbacks.invoke_table_row_callbacks::( - "profile_dashboard_state", - &self.profile_dashboard_state, - event, - ); - callbacks.invoke_table_row_callbacks::( - "profile_played_world", - &self.profile_played_world, - event, - ); - callbacks.invoke_table_row_callbacks::( - "profile_save_archive", - &self.profile_save_archive, - event, - ); - callbacks.invoke_table_row_callbacks::( - "profile_wallet_ledger", - &self.profile_wallet_ledger, - event, - ); - callbacks.invoke_table_row_callbacks::( - "puzzle_agent_message", - &self.puzzle_agent_message, - event, - ); - callbacks.invoke_table_row_callbacks::( - "puzzle_agent_session", - &self.puzzle_agent_session, - event, - ); - callbacks.invoke_table_row_callbacks::( - "puzzle_runtime_run", - &self.puzzle_runtime_run, - event, - ); - callbacks.invoke_table_row_callbacks::( - "puzzle_work_profile", - &self.puzzle_work_profile, - event, - ); + callbacks.invoke_table_row_callbacks::("player_progression", &self.player_progression, event); + callbacks.invoke_table_row_callbacks::("profile_dashboard_state", &self.profile_dashboard_state, event); + callbacks.invoke_table_row_callbacks::("profile_played_world", &self.profile_played_world, event); + callbacks.invoke_table_row_callbacks::("profile_save_archive", &self.profile_save_archive, event); + callbacks.invoke_table_row_callbacks::("profile_wallet_ledger", &self.profile_wallet_ledger, event); + callbacks.invoke_table_row_callbacks::("puzzle_agent_message", &self.puzzle_agent_message, event); + callbacks.invoke_table_row_callbacks::("puzzle_agent_session", &self.puzzle_agent_session, event); + callbacks.invoke_table_row_callbacks::("puzzle_runtime_run", &self.puzzle_runtime_run, event); + callbacks.invoke_table_row_callbacks::("puzzle_work_profile", &self.puzzle_work_profile, event); callbacks.invoke_table_row_callbacks::("quest_log", &self.quest_log, event); - callbacks.invoke_table_row_callbacks::( - "quest_record", - &self.quest_record, - event, - ); - callbacks.invoke_table_row_callbacks::( - "runtime_setting", - &self.runtime_setting, - event, - ); - callbacks.invoke_table_row_callbacks::( - "runtime_snapshot", - &self.runtime_snapshot, - event, - ); + callbacks.invoke_table_row_callbacks::("quest_record", &self.quest_record, event); + callbacks.invoke_table_row_callbacks::("runtime_setting", &self.runtime_setting, event); + callbacks.invoke_table_row_callbacks::("runtime_snapshot", &self.runtime_snapshot, event); callbacks.invoke_table_row_callbacks::("story_event", &self.story_event, event); - callbacks.invoke_table_row_callbacks::( - "story_session", - &self.story_session, - event, - ); - callbacks.invoke_table_row_callbacks::( - "treasure_record", - &self.treasure_record, - event, - ); - callbacks.invoke_table_row_callbacks::( - "user_browse_history", - &self.user_browse_history, - event, - ); - } + callbacks.invoke_table_row_callbacks::("story_session", &self.story_session, event); + callbacks.invoke_table_row_callbacks::("treasure_record", &self.treasure_record, event); + callbacks.invoke_table_row_callbacks::("user_browse_history", &self.user_browse_history, event); } +} + #[doc(hidden)] #[derive(Debug)] @@ -2060,16 +1538,10 @@ impl __sdk::InModule for RemoteTables { /// /// - [`DbConnection::frame_tick`]. #[cfg_attr(not(target_arch = "wasm32"), doc = "- [`DbConnection::run_threaded`].")] -#[cfg_attr( - target_arch = "wasm32", - doc = "- [`DbConnection::run_background_task`]." -)] +#[cfg_attr(target_arch = "wasm32", doc = "- [`DbConnection::run_background_task`].")] /// - [`DbConnection::run_async`]. /// - [`DbConnection::advance_one_message`]. -#[cfg_attr( - not(target_arch = "wasm32"), - doc = "- [`DbConnection::advance_one_message_blocking`]." -)] +#[cfg_attr(not(target_arch = "wasm32"), doc = "- [`DbConnection::advance_one_message_blocking`].")] /// - [`DbConnection::advance_one_message_async`]. /// /// Which of these methods you should call depends on the specific needs of your application, @@ -2256,6 +1728,7 @@ impl __sdk::SubscriptionHandle for SubscriptionHandle { fn unsubscribe(self) -> __sdk::Result<()> { self.imp.unsubscribe_then(None) } + } /// Alias trait for a [`__sdk::DbContext`] connected to this module, @@ -2263,23 +1736,17 @@ impl __sdk::SubscriptionHandle for SubscriptionHandle { /// /// Users can use this trait as a boundary on definitions which should accept /// either a [`DbConnection`] or an [`EventContext`] and operate on either. -pub trait RemoteDbContext: - __sdk::DbContext< - DbView = RemoteTables, - Reducers = RemoteReducers, - SubscriptionBuilder = __sdk::SubscriptionBuilder, - > -{ -} -impl< - Ctx: __sdk::DbContext< - DbView = RemoteTables, - Reducers = RemoteReducers, - SubscriptionBuilder = __sdk::SubscriptionBuilder, - >, -> RemoteDbContext for Ctx -{ -} +pub trait RemoteDbContext: __sdk::DbContext< + DbView = RemoteTables, + Reducers = RemoteReducers, + SubscriptionBuilder = __sdk::SubscriptionBuilder, +> {} +impl, +>> RemoteDbContext for Ctx {} + /// An [`__sdk::DbContext`] augmented with a [`__sdk::Event`], /// passed to [`__sdk::Table::on_insert`], [`__sdk::Table::on_delete`] and [`__sdk::TableWithPrimaryKey::on_update`] callbacks. @@ -2654,6 +2121,7 @@ impl __sdk::DbContext for ErrorContext { impl __sdk::ErrorContext for ErrorContext {} impl __sdk::SpacetimeModule for RemoteModule { + type DbConnection = DbConnection; type EventContext = EventContext; type ReducerEventContext = ReducerEventContext; @@ -2669,8 +2137,8 @@ impl __sdk::SpacetimeModule for RemoteModule { type SubscriptionHandle = SubscriptionHandle; type QueryBuilder = __sdk::QueryBuilder; - fn register_tables(client_cache: &mut __sdk::ClientCache) { - ai_result_reference_table::register_table(client_cache); +fn register_tables(client_cache: &mut __sdk::ClientCache) { + ai_result_reference_table::register_table(client_cache); ai_task_table::register_table(client_cache); ai_task_stage_table::register_table(client_cache); ai_text_chunk_table::register_table(client_cache); @@ -2708,9 +2176,9 @@ impl __sdk::SpacetimeModule for RemoteModule { story_session_table::register_table(client_cache); treasure_record_table::register_table(client_cache); user_browse_history_table::register_table(client_cache); - } - const ALL_TABLE_NAMES: &'static [&'static str] = &[ - "ai_result_reference", +} +const ALL_TABLE_NAMES: &'static [&'static str] = &[ + "ai_result_reference", "ai_task", "ai_task_stage", "ai_text_chunk", @@ -2748,5 +2216,5 @@ impl __sdk::SpacetimeModule for RemoteModule { "story_session", "treasure_record", "user_browse_history", - ]; +]; } diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_procedure_result_type.rs index d5f16a3f..1682f3ac 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_battle_interaction_result_type::NpcBattleInteractionResult; @@ -10,10 +15,12 @@ use super::npc_battle_interaction_result_type::NpcBattleInteractionResult; #[sats(crate = __lib)] pub struct NpcBattleInteractionProcedureResult { pub ok: bool, - pub result: Option, - pub error_message: Option, + pub result: Option::, + pub error_message: Option::, } + impl __sdk::InModule for NpcBattleInteractionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_result_type.rs index c276f969..fc8ca1c9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_battle_interaction_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::battle_state_snapshot_type::BattleStateSnapshot; use super::npc_interaction_result_type::NpcInteractionResult; @@ -14,6 +19,8 @@ pub struct NpcBattleInteractionResult { pub battle_state: BattleStateSnapshot, } + impl __sdk::InModule for NpcBattleInteractionResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_battle_mode_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_battle_mode_type.rs index dc8e8819..e891d6a9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_battle_mode_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_battle_mode_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum NpcInteractionBattleMode { Fight, Spar, + } + + impl __sdk::InModule for NpcInteractionBattleMode { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_procedure_result_type.rs index 383dce2a..ef11fa63 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_interaction_result_type::NpcInteractionResult; @@ -10,10 +15,12 @@ use super::npc_interaction_result_type::NpcInteractionResult; #[sats(crate = __lib)] pub struct NpcInteractionProcedureResult { pub ok: bool, - pub result: Option, - pub error_message: Option, + pub result: Option::, + pub error_message: Option::, } + impl __sdk::InModule for NpcInteractionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_result_type.rs index 83624807..d457b697 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_result_type.rs @@ -2,11 +2,16 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::npc_interaction_battle_mode_type::NpcInteractionBattleMode; -use super::npc_interaction_status_type::NpcInteractionStatus; use super::npc_state_snapshot_type::NpcStateSnapshot; +use super::npc_interaction_status_type::NpcInteractionStatus; +use super::npc_interaction_battle_mode_type::NpcInteractionBattleMode; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,14 +20,16 @@ pub struct NpcInteractionResult { pub interaction_status: NpcInteractionStatus, pub action_text: String, pub result_text: String, - pub story_text: Option, - pub battle_mode: Option, + pub story_text: Option::, + pub battle_mode: Option::, pub encounter_closed: bool, pub affinity_changed: bool, pub previous_affinity: i32, pub next_affinity: i32, } + impl __sdk::InModule for NpcInteractionResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_status_type.rs index 8032abf9..cba6b5ac 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_interaction_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum NpcInteractionStatus { BattlePending, Left, + } + + impl __sdk::InModule for NpcInteractionStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_stance_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_stance_type.rs index 48e8ac70..2a45f52c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_stance_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_stance_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum NpcRelationStance { Cooperative, Bonded, + } + + impl __sdk::InModule for NpcRelationStance { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_state_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_state_type.rs index b6bbc07d..cccb0cc5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_state_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_relation_state_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_relation_stance_type::NpcRelationStance; @@ -13,6 +18,8 @@ pub struct NpcRelationState { pub stance: NpcRelationStance, } + impl __sdk::InModule for NpcRelationState { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_social_action_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_social_action_kind_type.rs index 9c6d2c1e..cc79b8c5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_social_action_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_social_action_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum NpcSocialActionKind { Recruit, QuestAccept, + } + + impl __sdk::InModule for NpcSocialActionKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_stance_profile_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_stance_profile_type.rs index 73177673..5a0d7497 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_stance_profile_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_stance_profile_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,11 +18,13 @@ pub struct NpcStanceProfile { pub ideological_fit: u8, pub fear_or_guard: u8, pub loyalty: u8, - pub current_conflict_tag: Option, - pub recent_approvals: Vec, - pub recent_disapprovals: Vec, + pub current_conflict_tag: Option::, + pub recent_approvals: Vec::, + pub recent_disapprovals: Vec::, } + impl __sdk::InModule for NpcStanceProfile { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_procedure_result_type.rs index c4e60bef..39a8ed60 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_state_snapshot_type::NpcStateSnapshot; @@ -10,10 +15,12 @@ use super::npc_state_snapshot_type::NpcStateSnapshot; #[sats(crate = __lib)] pub struct NpcStateProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for NpcStateProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_snapshot_type.rs index 351b45ae..c11e0ef8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_relation_state_type::NpcRelationState; use super::npc_stance_profile_type::NpcStanceProfile; @@ -20,16 +25,18 @@ pub struct NpcStateSnapshot { pub chatted_count: u32, pub gifts_given: u32, pub recruited: bool, - pub trade_stock_signature: Option, - pub revealed_facts: Vec, - pub known_attribute_rumors: Vec, + pub trade_stock_signature: Option::, + pub revealed_facts: Vec::, + pub known_attribute_rumors: Vec::, pub first_meaningful_contact_resolved: bool, - pub seen_backstory_chapter_ids: Vec, + pub seen_backstory_chapter_ids: Vec::, pub stance_profile: NpcStanceProfile, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for NpcStateSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_table.rs index 26e7fcf5..917742d6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_table.rs @@ -2,10 +2,15 @@ // 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::npc_state_type::NpcState; use super::npc_relation_state_type::NpcRelationState; use super::npc_stance_profile_type::NpcStanceProfile; -use super::npc_state_type::NpcState; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `npc_state`. /// @@ -46,12 +51,8 @@ impl<'ctx> __sdk::Table for NpcStateTableHandle<'ctx> { type Row = NpcState; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = NpcStateInsertCallbackId; @@ -97,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for NpcStateTableHandle<'ctx> { } } -/// Access to the `npc_state_id` unique index on the table `npc_state`, -/// which allows point queries on the field of the same name -/// via the [`NpcStateNpcStateIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.npc_state().npc_state_id().find(...)`. -pub struct NpcStateNpcStateIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> NpcStateTableHandle<'ctx> { - /// Get a handle on the `npc_state_id` unique index on the table `npc_state`. - pub fn npc_state_id(&self) -> NpcStateNpcStateIdUnique<'ctx> { - NpcStateNpcStateIdUnique { - imp: self.imp.get_unique_constraint::("npc_state_id"), - phantom: std::marker::PhantomData, + /// Access to the `npc_state_id` unique index on the table `npc_state`, + /// which allows point queries on the field of the same name + /// via the [`NpcStateNpcStateIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.npc_state().npc_state_id().find(...)`. + pub struct NpcStateNpcStateIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> NpcStateNpcStateIdUnique<'ctx> { - /// Find the subscribed row whose `npc_state_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 { - self.imp.find(col_val) - } -} + impl<'ctx> NpcStateTableHandle<'ctx> { + /// Get a handle on the `npc_state_id` unique index on the table `npc_state`. + pub fn npc_state_id(&self) -> NpcStateNpcStateIdUnique<'ctx> { + NpcStateNpcStateIdUnique { + imp: self.imp.get_unique_constraint::("npc_state_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> NpcStateNpcStateIdUnique<'ctx> { + /// Find the subscribed row whose `npc_state_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("npc_state"); _table.add_unique_constraint::("npc_state_id", |row| &row.npc_state_id); } @@ -138,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `NpcState`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait npc_stateQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `NpcState`. - fn npc_state(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `NpcState`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait npc_stateQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `NpcState`. + fn npc_state(&self) -> __sdk::__query_builder::Table; + } + + impl npc_stateQueryTableAccess for __sdk::QueryTableAccessor { + fn npc_state(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("npc_state") + } + } -impl npc_stateQueryTableAccess for __sdk::QueryTableAccessor { - fn npc_state(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("npc_state") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_type.rs index 1ddeec42..9e8f87ae 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_relation_state_type::NpcRelationState; use super::npc_stance_profile_type::NpcStanceProfile; @@ -20,20 +25,22 @@ pub struct NpcState { pub chatted_count: u32, pub gifts_given: u32, pub recruited: bool, - pub trade_stock_signature: Option, - pub revealed_facts: Vec, - pub known_attribute_rumors: Vec, + pub trade_stock_signature: Option::, + pub revealed_facts: Vec::, + pub known_attribute_rumors: Vec::, pub first_meaningful_contact_resolved: bool, - pub seen_backstory_chapter_ids: Vec, + pub seen_backstory_chapter_ids: Vec::, pub stance_profile: NpcStanceProfile, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for NpcState { type Module = super::RemoteModule; } + /// Column accessor struct for the table `NpcState`. /// /// Provides typed access to columns for query building. @@ -48,11 +55,11 @@ pub struct NpcStateCols { pub chatted_count: __sdk::__query_builder::Col, pub gifts_given: __sdk::__query_builder::Col, pub recruited: __sdk::__query_builder::Col, - pub trade_stock_signature: __sdk::__query_builder::Col>, - pub revealed_facts: __sdk::__query_builder::Col>, - pub known_attribute_rumors: __sdk::__query_builder::Col>, + pub trade_stock_signature: __sdk::__query_builder::Col>, + pub revealed_facts: __sdk::__query_builder::Col>, + pub known_attribute_rumors: __sdk::__query_builder::Col>, pub first_meaningful_contact_resolved: __sdk::__query_builder::Col, - pub seen_backstory_chapter_ids: __sdk::__query_builder::Col>, + pub seen_backstory_chapter_ids: __sdk::__query_builder::Col>, pub stance_profile: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, @@ -72,26 +79,15 @@ impl __sdk::__query_builder::HasCols for NpcState { chatted_count: __sdk::__query_builder::Col::new(table_name, "chatted_count"), gifts_given: __sdk::__query_builder::Col::new(table_name, "gifts_given"), recruited: __sdk::__query_builder::Col::new(table_name, "recruited"), - trade_stock_signature: __sdk::__query_builder::Col::new( - table_name, - "trade_stock_signature", - ), + trade_stock_signature: __sdk::__query_builder::Col::new(table_name, "trade_stock_signature"), revealed_facts: __sdk::__query_builder::Col::new(table_name, "revealed_facts"), - known_attribute_rumors: __sdk::__query_builder::Col::new( - table_name, - "known_attribute_rumors", - ), - first_meaningful_contact_resolved: __sdk::__query_builder::Col::new( - table_name, - "first_meaningful_contact_resolved", - ), - seen_backstory_chapter_ids: __sdk::__query_builder::Col::new( - table_name, - "seen_backstory_chapter_ids", - ), + known_attribute_rumors: __sdk::__query_builder::Col::new(table_name, "known_attribute_rumors"), + first_meaningful_contact_resolved: __sdk::__query_builder::Col::new(table_name, "first_meaningful_contact_resolved"), + seen_backstory_chapter_ids: __sdk::__query_builder::Col::new(table_name, "seen_backstory_chapter_ids"), stance_profile: __sdk::__query_builder::Col::new(table_name, "stance_profile"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -111,12 +107,11 @@ impl __sdk::__query_builder::HasIxCols for NpcState { NpcStateIxCols { npc_id: __sdk::__query_builder::IxCol::new(table_name, "npc_id"), npc_state_id: __sdk::__query_builder::IxCol::new(table_name, "npc_state_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for NpcState {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_upsert_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_upsert_input_type.rs index c31346e7..ff59315a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/npc_state_upsert_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/npc_state_upsert_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_stance_profile_type::NpcStanceProfile; @@ -17,15 +22,17 @@ pub struct NpcStateUpsertInput { pub chatted_count: u32, pub gifts_given: u32, pub recruited: bool, - pub trade_stock_signature: Option, - pub revealed_facts: Vec, - pub known_attribute_rumors: Vec, + pub trade_stock_signature: Option::, + pub revealed_facts: Vec::, + pub known_attribute_rumors: Vec::, pub first_meaningful_contact_resolved: bool, - pub seen_backstory_chapter_ids: Vec, - pub stance_profile: Option, + pub seen_backstory_chapter_ids: Vec::, + pub stance_profile: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for NpcStateUpsertInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_get_input_type.rs index a4dd27f5..eb031dc3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct PlayerProgressionGetInput { pub user_id: String, } + impl __sdk::InModule for PlayerProgressionGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_input_type.rs index b5761753..66a8696c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_grant_source_type::PlayerProgressionGrantSource; @@ -15,6 +20,8 @@ pub struct PlayerProgressionGrantInput { pub updated_at_micros: i64, } + impl __sdk::InModule for PlayerProgressionGrantInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_source_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_source_type.rs index bf3ae257..c45b9dd6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_source_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_grant_source_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum PlayerProgressionGrantSource { Quest, HostileNpc, + } + + impl __sdk::InModule for PlayerProgressionGrantSource { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_procedure_result_type.rs index 413c1208..0f3686ec 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_snapshot_type::PlayerProgressionSnapshot; @@ -10,10 +15,12 @@ use super::player_progression_snapshot_type::PlayerProgressionSnapshot; #[sats(crate = __lib)] pub struct PlayerProgressionProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for PlayerProgressionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_snapshot_type.rs index 1361178e..116938c5 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_grant_source_type::PlayerProgressionGrantSource; @@ -15,11 +20,13 @@ pub struct PlayerProgressionSnapshot { pub total_xp: u32, pub xp_to_next_level: u32, pub pending_level_ups: u32, - pub last_granted_source: Option, + pub last_granted_source: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for PlayerProgressionSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_table.rs index 66961930..27262e2f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::player_progression_grant_source_type::PlayerProgressionGrantSource; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_type::PlayerProgression; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::player_progression_grant_source_type::PlayerProgressionGrantSource; /// Table handle for the table `player_progression`. /// @@ -32,9 +37,7 @@ pub trait PlayerProgressionTableAccess { impl PlayerProgressionTableAccess for super::RemoteTables { fn player_progression(&self) -> PlayerProgressionTableHandle<'_> { PlayerProgressionTableHandle { - imp: self - .imp - .get_table::("player_progression"), + imp: self.imp.get_table::("player_progression"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for PlayerProgressionTableHandle<'ctx> { type Row = PlayerProgression; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = PlayerProgressionInsertCallbackId; @@ -98,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for PlayerProgressionTableHandle<'ctx> { } } -/// Access to the `user_id` unique index on the table `player_progression`, -/// which allows point queries on the field of the same name -/// via the [`PlayerProgressionUserIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.player_progression().user_id().find(...)`. -pub struct PlayerProgressionUserIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> PlayerProgressionTableHandle<'ctx> { - /// Get a handle on the `user_id` unique index on the table `player_progression`. - pub fn user_id(&self) -> PlayerProgressionUserIdUnique<'ctx> { - PlayerProgressionUserIdUnique { - imp: self.imp.get_unique_constraint::("user_id"), - phantom: std::marker::PhantomData, + /// Access to the `user_id` unique index on the table `player_progression`, + /// which allows point queries on the field of the same name + /// via the [`PlayerProgressionUserIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.player_progression().user_id().find(...)`. + pub struct PlayerProgressionUserIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> PlayerProgressionUserIdUnique<'ctx> { - /// Find the subscribed row whose `user_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 { - self.imp.find(col_val) - } -} + impl<'ctx> PlayerProgressionTableHandle<'ctx> { + /// Get a handle on the `user_id` unique index on the table `player_progression`. + pub fn user_id(&self) -> PlayerProgressionUserIdUnique<'ctx> { + PlayerProgressionUserIdUnique { + imp: self.imp.get_unique_constraint::("user_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> PlayerProgressionUserIdUnique<'ctx> { + /// Find the subscribed row whose `user_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("player_progression"); _table.add_unique_constraint::("user_id", |row| &row.user_id); } @@ -139,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `PlayerProgression`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait player_progressionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `PlayerProgression`. - fn player_progression(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PlayerProgression`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait player_progressionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PlayerProgression`. + fn player_progression(&self) -> __sdk::__query_builder::Table; + } + + impl player_progressionQueryTableAccess for __sdk::QueryTableAccessor { + fn player_progression(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("player_progression") + } + } -impl player_progressionQueryTableAccess for __sdk::QueryTableAccessor { - fn player_progression(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("player_progression") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_type.rs index c734d1c2..04af99cc 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/player_progression_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/player_progression_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::player_progression_grant_source_type::PlayerProgressionGrantSource; @@ -15,15 +20,17 @@ pub struct PlayerProgression { pub total_xp: u32, pub xp_to_next_level: u32, pub pending_level_ups: u32, - pub last_granted_source: Option, + pub last_granted_source: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for PlayerProgression { type Module = super::RemoteModule; } + /// Column accessor struct for the table `PlayerProgression`. /// /// Provides typed access to columns for query building. @@ -34,8 +41,7 @@ pub struct PlayerProgressionCols { pub total_xp: __sdk::__query_builder::Col, pub xp_to_next_level: __sdk::__query_builder::Col, pub pending_level_ups: __sdk::__query_builder::Col, - pub last_granted_source: - __sdk::__query_builder::Col>, + pub last_granted_source: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -50,12 +56,10 @@ impl __sdk::__query_builder::HasCols for PlayerProgression { total_xp: __sdk::__query_builder::Col::new(table_name, "total_xp"), xp_to_next_level: __sdk::__query_builder::Col::new(table_name, "xp_to_next_level"), pending_level_ups: __sdk::__query_builder::Col::new(table_name, "pending_level_ups"), - last_granted_source: __sdk::__query_builder::Col::new( - table_name, - "last_granted_source", - ), + last_granted_source: __sdk::__query_builder::Col::new(table_name, "last_granted_source"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -72,8 +76,10 @@ impl __sdk::__query_builder::HasIxCols for PlayerProgression { fn ix_cols(table_name: &'static str) -> Self::IxCols { PlayerProgressionIxCols { user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for PlayerProgression {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_table.rs index c79f8b0c..4e1d2abd 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_table.rs @@ -2,8 +2,13 @@ // 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::profile_dashboard_state_type::ProfileDashboardState; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `profile_dashboard_state`. /// @@ -31,9 +36,7 @@ pub trait ProfileDashboardStateTableAccess { impl ProfileDashboardStateTableAccess for super::RemoteTables { fn profile_dashboard_state(&self) -> ProfileDashboardStateTableHandle<'_> { ProfileDashboardStateTableHandle { - imp: self - .imp - .get_table::("profile_dashboard_state"), + imp: self.imp.get_table::("profile_dashboard_state"), ctx: std::marker::PhantomData, } } @@ -46,12 +49,8 @@ impl<'ctx> __sdk::Table for ProfileDashboardStateTableHandle<'ctx> { type Row = ProfileDashboardState; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = ProfileDashboardStateInsertCallbackId; @@ -97,38 +96,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for ProfileDashboardStateTableHandle<'ctx> } } -/// Access to the `user_id` unique index on the table `profile_dashboard_state`, -/// which allows point queries on the field of the same name -/// via the [`ProfileDashboardStateUserIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.profile_dashboard_state().user_id().find(...)`. -pub struct ProfileDashboardStateUserIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> ProfileDashboardStateTableHandle<'ctx> { - /// Get a handle on the `user_id` unique index on the table `profile_dashboard_state`. - pub fn user_id(&self) -> ProfileDashboardStateUserIdUnique<'ctx> { - ProfileDashboardStateUserIdUnique { - imp: self.imp.get_unique_constraint::("user_id"), - phantom: std::marker::PhantomData, + /// Access to the `user_id` unique index on the table `profile_dashboard_state`, + /// which allows point queries on the field of the same name + /// via the [`ProfileDashboardStateUserIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.profile_dashboard_state().user_id().find(...)`. + pub struct ProfileDashboardStateUserIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> ProfileDashboardStateUserIdUnique<'ctx> { - /// Find the subscribed row whose `user_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 { - self.imp.find(col_val) - } -} + impl<'ctx> ProfileDashboardStateTableHandle<'ctx> { + /// Get a handle on the `user_id` unique index on the table `profile_dashboard_state`. + pub fn user_id(&self) -> ProfileDashboardStateUserIdUnique<'ctx> { + ProfileDashboardStateUserIdUnique { + imp: self.imp.get_unique_constraint::("user_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> ProfileDashboardStateUserIdUnique<'ctx> { + /// Find the subscribed row whose `user_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("profile_dashboard_state"); _table.add_unique_constraint::("user_id", |row| &row.user_id); } @@ -138,24 +138,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `ProfileDashboardState`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait profile_dashboard_stateQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `ProfileDashboardState`. - fn profile_dashboard_state(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `ProfileDashboardState`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait profile_dashboard_stateQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ProfileDashboardState`. + fn profile_dashboard_state(&self) -> __sdk::__query_builder::Table; + } + + impl profile_dashboard_stateQueryTableAccess for __sdk::QueryTableAccessor { + fn profile_dashboard_state(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("profile_dashboard_state") + } + } -impl profile_dashboard_stateQueryTableAccess for __sdk::QueryTableAccessor { - fn profile_dashboard_state(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("profile_dashboard_state") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_type.rs index e5124048..3abd8b06 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_dashboard_state_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -14,10 +20,12 @@ pub struct ProfileDashboardState { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for ProfileDashboardState { type Module = super::RemoteModule; } + /// Column accessor struct for the table `ProfileDashboardState`. /// /// Provides typed access to columns for query building. @@ -38,6 +46,7 @@ impl __sdk::__query_builder::HasCols for ProfileDashboardState { total_play_time_ms: __sdk::__query_builder::Col::new(table_name, "total_play_time_ms"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -54,8 +63,10 @@ impl __sdk::__query_builder::HasIxCols for ProfileDashboardState { fn ix_cols(table_name: &'static str) -> Self::IxCols { ProfileDashboardStateIxCols { user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for ProfileDashboardState {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_table.rs index 0f147bd5..944de27b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_table.rs @@ -2,8 +2,13 @@ // 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::profile_played_world_type::ProfilePlayedWorld; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `profile_played_world`. /// @@ -31,9 +36,7 @@ pub trait ProfilePlayedWorldTableAccess { impl ProfilePlayedWorldTableAccess for super::RemoteTables { fn profile_played_world(&self) -> ProfilePlayedWorldTableHandle<'_> { ProfilePlayedWorldTableHandle { - imp: self - .imp - .get_table::("profile_played_world"), + imp: self.imp.get_table::("profile_played_world"), ctx: std::marker::PhantomData, } } @@ -46,12 +49,8 @@ impl<'ctx> __sdk::Table for ProfilePlayedWorldTableHandle<'ctx> { type Row = ProfilePlayedWorld; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = ProfilePlayedWorldInsertCallbackId; @@ -97,38 +96,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for ProfilePlayedWorldTableHandle<'ctx> { } } -/// Access to the `played_world_id` unique index on the table `profile_played_world`, -/// which allows point queries on the field of the same name -/// via the [`ProfilePlayedWorldPlayedWorldIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.profile_played_world().played_world_id().find(...)`. -pub struct ProfilePlayedWorldPlayedWorldIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> ProfilePlayedWorldTableHandle<'ctx> { - /// Get a handle on the `played_world_id` unique index on the table `profile_played_world`. - pub fn played_world_id(&self) -> ProfilePlayedWorldPlayedWorldIdUnique<'ctx> { - ProfilePlayedWorldPlayedWorldIdUnique { - imp: self.imp.get_unique_constraint::("played_world_id"), - phantom: std::marker::PhantomData, + /// Access to the `played_world_id` unique index on the table `profile_played_world`, + /// which allows point queries on the field of the same name + /// via the [`ProfilePlayedWorldPlayedWorldIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.profile_played_world().played_world_id().find(...)`. + pub struct ProfilePlayedWorldPlayedWorldIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> ProfilePlayedWorldPlayedWorldIdUnique<'ctx> { - /// Find the subscribed row whose `played_world_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 { - self.imp.find(col_val) - } -} + impl<'ctx> ProfilePlayedWorldTableHandle<'ctx> { + /// Get a handle on the `played_world_id` unique index on the table `profile_played_world`. + pub fn played_world_id(&self) -> ProfilePlayedWorldPlayedWorldIdUnique<'ctx> { + ProfilePlayedWorldPlayedWorldIdUnique { + imp: self.imp.get_unique_constraint::("played_world_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> ProfilePlayedWorldPlayedWorldIdUnique<'ctx> { + /// Find the subscribed row whose `played_world_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("profile_played_world"); _table.add_unique_constraint::("played_world_id", |row| &row.played_world_id); } @@ -138,24 +138,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `ProfilePlayedWorld`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait profile_played_worldQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `ProfilePlayedWorld`. - fn profile_played_world(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `ProfilePlayedWorld`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait profile_played_worldQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ProfilePlayedWorld`. + fn profile_played_world(&self) -> __sdk::__query_builder::Table; + } + + impl profile_played_worldQueryTableAccess for __sdk::QueryTableAccessor { + fn profile_played_world(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("profile_played_world") + } + } -impl profile_played_worldQueryTableAccess for __sdk::QueryTableAccessor { - fn profile_played_world(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("profile_played_world") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_type.rs index 3b94036c..b58b66c1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_played_world_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,9 +16,9 @@ pub struct ProfilePlayedWorld { pub played_world_id: String, pub user_id: String, pub world_key: String, - pub owner_user_id: Option, - pub profile_id: Option, - pub world_type: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub world_type: Option::, pub world_title: String, pub world_subtitle: String, pub first_played_at: __sdk::Timestamp, @@ -20,10 +26,12 @@ pub struct ProfilePlayedWorld { pub last_observed_play_time_ms: u64, } + impl __sdk::InModule for ProfilePlayedWorld { type Module = super::RemoteModule; } + /// Column accessor struct for the table `ProfilePlayedWorld`. /// /// Provides typed access to columns for query building. @@ -31,9 +39,9 @@ pub struct ProfilePlayedWorldCols { pub played_world_id: __sdk::__query_builder::Col, pub user_id: __sdk::__query_builder::Col, pub world_key: __sdk::__query_builder::Col, - pub owner_user_id: __sdk::__query_builder::Col>, - pub profile_id: __sdk::__query_builder::Col>, - pub world_type: __sdk::__query_builder::Col>, + pub owner_user_id: __sdk::__query_builder::Col>, + pub profile_id: __sdk::__query_builder::Col>, + pub world_type: __sdk::__query_builder::Col>, pub world_title: __sdk::__query_builder::Col, pub world_subtitle: __sdk::__query_builder::Col, pub first_played_at: __sdk::__query_builder::Col, @@ -55,10 +63,8 @@ impl __sdk::__query_builder::HasCols for ProfilePlayedWorld { world_subtitle: __sdk::__query_builder::Col::new(table_name, "world_subtitle"), first_played_at: __sdk::__query_builder::Col::new(table_name, "first_played_at"), last_played_at: __sdk::__query_builder::Col::new(table_name, "last_played_at"), - last_observed_play_time_ms: __sdk::__query_builder::Col::new( - table_name, - "last_observed_play_time_ms", - ), + last_observed_play_time_ms: __sdk::__query_builder::Col::new(table_name, "last_observed_play_time_ms"), + } } } @@ -77,8 +83,10 @@ impl __sdk::__query_builder::HasIxCols for ProfilePlayedWorld { ProfilePlayedWorldIxCols { played_world_id: __sdk::__query_builder::IxCol::new(table_name, "played_world_id"), user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for ProfilePlayedWorld {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_table.rs index fc9c83e1..4d503269 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_table.rs @@ -2,8 +2,13 @@ // 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::profile_save_archive_type::ProfileSaveArchive; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `profile_save_archive`. /// @@ -31,9 +36,7 @@ pub trait ProfileSaveArchiveTableAccess { impl ProfileSaveArchiveTableAccess for super::RemoteTables { fn profile_save_archive(&self) -> ProfileSaveArchiveTableHandle<'_> { ProfileSaveArchiveTableHandle { - imp: self - .imp - .get_table::("profile_save_archive"), + imp: self.imp.get_table::("profile_save_archive"), ctx: std::marker::PhantomData, } } @@ -46,12 +49,8 @@ impl<'ctx> __sdk::Table for ProfileSaveArchiveTableHandle<'ctx> { type Row = ProfileSaveArchive; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = ProfileSaveArchiveInsertCallbackId; @@ -97,38 +96,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for ProfileSaveArchiveTableHandle<'ctx> { } } -/// Access to the `archive_id` unique index on the table `profile_save_archive`, -/// which allows point queries on the field of the same name -/// via the [`ProfileSaveArchiveArchiveIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.profile_save_archive().archive_id().find(...)`. -pub struct ProfileSaveArchiveArchiveIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> ProfileSaveArchiveTableHandle<'ctx> { - /// Get a handle on the `archive_id` unique index on the table `profile_save_archive`. - pub fn archive_id(&self) -> ProfileSaveArchiveArchiveIdUnique<'ctx> { - ProfileSaveArchiveArchiveIdUnique { - imp: self.imp.get_unique_constraint::("archive_id"), - phantom: std::marker::PhantomData, + /// Access to the `archive_id` unique index on the table `profile_save_archive`, + /// which allows point queries on the field of the same name + /// via the [`ProfileSaveArchiveArchiveIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.profile_save_archive().archive_id().find(...)`. + pub struct ProfileSaveArchiveArchiveIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> ProfileSaveArchiveArchiveIdUnique<'ctx> { - /// Find the subscribed row whose `archive_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 { - self.imp.find(col_val) - } -} + impl<'ctx> ProfileSaveArchiveTableHandle<'ctx> { + /// Get a handle on the `archive_id` unique index on the table `profile_save_archive`. + pub fn archive_id(&self) -> ProfileSaveArchiveArchiveIdUnique<'ctx> { + ProfileSaveArchiveArchiveIdUnique { + imp: self.imp.get_unique_constraint::("archive_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> ProfileSaveArchiveArchiveIdUnique<'ctx> { + /// Find the subscribed row whose `archive_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("profile_save_archive"); _table.add_unique_constraint::("archive_id", |row| &row.archive_id); } @@ -138,24 +138,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `ProfileSaveArchive`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait profile_save_archiveQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `ProfileSaveArchive`. - fn profile_save_archive(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `ProfileSaveArchive`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait profile_save_archiveQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ProfileSaveArchive`. + fn profile_save_archive(&self) -> __sdk::__query_builder::Table; + } + + impl profile_save_archiveQueryTableAccess for __sdk::QueryTableAccessor { + fn profile_save_archive(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("profile_save_archive") + } + } -impl profile_save_archiveQueryTableAccess for __sdk::QueryTableAccessor { - fn profile_save_archive(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("profile_save_archive") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_type.rs index 5244fe4e..f11c6024 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_save_archive_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,25 +16,27 @@ pub struct ProfileSaveArchive { pub archive_id: String, pub user_id: String, pub world_key: String, - pub owner_user_id: Option, - pub profile_id: Option, - pub world_type: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub world_type: Option::, pub world_name: String, pub subtitle: String, pub summary_text: String, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub saved_at: __sdk::Timestamp, pub bottom_tab: String, pub game_state_json: String, - pub current_story_json: Option, + pub current_story_json: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for ProfileSaveArchive { type Module = super::RemoteModule; } + /// Column accessor struct for the table `ProfileSaveArchive`. /// /// Provides typed access to columns for query building. @@ -36,17 +44,17 @@ pub struct ProfileSaveArchiveCols { pub archive_id: __sdk::__query_builder::Col, pub user_id: __sdk::__query_builder::Col, pub world_key: __sdk::__query_builder::Col, - pub owner_user_id: __sdk::__query_builder::Col>, - pub profile_id: __sdk::__query_builder::Col>, - pub world_type: __sdk::__query_builder::Col>, + pub owner_user_id: __sdk::__query_builder::Col>, + pub profile_id: __sdk::__query_builder::Col>, + pub world_type: __sdk::__query_builder::Col>, pub world_name: __sdk::__query_builder::Col, pub subtitle: __sdk::__query_builder::Col, pub summary_text: __sdk::__query_builder::Col, - pub cover_image_src: __sdk::__query_builder::Col>, + pub cover_image_src: __sdk::__query_builder::Col>, pub saved_at: __sdk::__query_builder::Col, pub bottom_tab: __sdk::__query_builder::Col, pub game_state_json: __sdk::__query_builder::Col, - pub current_story_json: __sdk::__query_builder::Col>, + pub current_story_json: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -71,6 +79,7 @@ impl __sdk::__query_builder::HasCols for ProfileSaveArchive { current_story_json: __sdk::__query_builder::Col::new(table_name, "current_story_json"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -89,8 +98,10 @@ impl __sdk::__query_builder::HasIxCols for ProfileSaveArchive { ProfileSaveArchiveIxCols { archive_id: __sdk::__query_builder::IxCol::new(table_name, "archive_id"), user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for ProfileSaveArchive {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_table.rs index 48705ae9..1dab9684 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_table.rs @@ -2,9 +2,14 @@ // 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::profile_wallet_ledger_type::ProfileWalletLedger; use super::runtime_profile_wallet_ledger_source_type_type::RuntimeProfileWalletLedgerSourceType; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `profile_wallet_ledger`. /// @@ -32,9 +37,7 @@ pub trait ProfileWalletLedgerTableAccess { impl ProfileWalletLedgerTableAccess for super::RemoteTables { fn profile_wallet_ledger(&self) -> ProfileWalletLedgerTableHandle<'_> { ProfileWalletLedgerTableHandle { - imp: self - .imp - .get_table::("profile_wallet_ledger"), + imp: self.imp.get_table::("profile_wallet_ledger"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for ProfileWalletLedgerTableHandle<'ctx> { type Row = ProfileWalletLedger; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = ProfileWalletLedgerInsertCallbackId; @@ -98,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for ProfileWalletLedgerTableHandle<'ctx> { } } -/// Access to the `wallet_ledger_id` unique index on the table `profile_wallet_ledger`, -/// which allows point queries on the field of the same name -/// via the [`ProfileWalletLedgerWalletLedgerIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.profile_wallet_ledger().wallet_ledger_id().find(...)`. -pub struct ProfileWalletLedgerWalletLedgerIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> ProfileWalletLedgerTableHandle<'ctx> { - /// Get a handle on the `wallet_ledger_id` unique index on the table `profile_wallet_ledger`. - pub fn wallet_ledger_id(&self) -> ProfileWalletLedgerWalletLedgerIdUnique<'ctx> { - ProfileWalletLedgerWalletLedgerIdUnique { - imp: self.imp.get_unique_constraint::("wallet_ledger_id"), - phantom: std::marker::PhantomData, + /// Access to the `wallet_ledger_id` unique index on the table `profile_wallet_ledger`, + /// which allows point queries on the field of the same name + /// via the [`ProfileWalletLedgerWalletLedgerIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.profile_wallet_ledger().wallet_ledger_id().find(...)`. + pub struct ProfileWalletLedgerWalletLedgerIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> ProfileWalletLedgerWalletLedgerIdUnique<'ctx> { - /// Find the subscribed row whose `wallet_ledger_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 { - self.imp.find(col_val) - } -} + impl<'ctx> ProfileWalletLedgerTableHandle<'ctx> { + /// Get a handle on the `wallet_ledger_id` unique index on the table `profile_wallet_ledger`. + pub fn wallet_ledger_id(&self) -> ProfileWalletLedgerWalletLedgerIdUnique<'ctx> { + ProfileWalletLedgerWalletLedgerIdUnique { + imp: self.imp.get_unique_constraint::("wallet_ledger_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> ProfileWalletLedgerWalletLedgerIdUnique<'ctx> { + /// Find the subscribed row whose `wallet_ledger_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("profile_wallet_ledger"); _table.add_unique_constraint::("wallet_ledger_id", |row| &row.wallet_ledger_id); } @@ -139,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `ProfileWalletLedger`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait profile_wallet_ledgerQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `ProfileWalletLedger`. - fn profile_wallet_ledger(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `ProfileWalletLedger`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait profile_wallet_ledgerQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `ProfileWalletLedger`. + fn profile_wallet_ledger(&self) -> __sdk::__query_builder::Table; + } + + impl profile_wallet_ledgerQueryTableAccess for __sdk::QueryTableAccessor { + fn profile_wallet_ledger(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("profile_wallet_ledger") + } + } -impl profile_wallet_ledgerQueryTableAccess for __sdk::QueryTableAccessor { - fn profile_wallet_ledger(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("profile_wallet_ledger") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_type.rs index 78364d5a..b5535645 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/profile_wallet_ledger_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_wallet_ledger_source_type_type::RuntimeProfileWalletLedgerSourceType; @@ -17,10 +22,12 @@ pub struct ProfileWalletLedger { pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for ProfileWalletLedger { type Module = super::RemoteModule; } + /// Column accessor struct for the table `ProfileWalletLedger`. /// /// Provides typed access to columns for query building. @@ -29,8 +36,7 @@ pub struct ProfileWalletLedgerCols { pub user_id: __sdk::__query_builder::Col, pub amount_delta: __sdk::__query_builder::Col, pub balance_after: __sdk::__query_builder::Col, - pub source_type: - __sdk::__query_builder::Col, + pub source_type: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, } @@ -44,6 +50,7 @@ impl __sdk::__query_builder::HasCols for ProfileWalletLedger { balance_after: __sdk::__query_builder::Col::new(table_name, "balance_after"), source_type: __sdk::__query_builder::Col::new(table_name, "source_type"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -62,8 +69,10 @@ impl __sdk::__query_builder::HasIxCols for ProfileWalletLedger { ProfileWalletLedgerIxCols { user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), wallet_ledger_id: __sdk::__query_builder::IxCol::new(table_name, "wallet_ledger_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for ProfileWalletLedger {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/publish_big_fish_game_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/publish_big_fish_game_procedure.rs index d4507ad8..6a2bfdd8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/publish_big_fish_game_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/publish_big_fish_game_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_publish_input_type::BigFishPublishInput; use super::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; +use super::big_fish_publish_input_type::BigFishPublishInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct PublishBigFishGameArgs { + struct PublishBigFishGameArgs { pub input: BigFishPublishInput, } + impl __sdk::InModule for PublishBigFishGameArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for PublishBigFishGameArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait publish_big_fish_game { - fn publish_big_fish_game(&self, input: BigFishPublishInput) { - self.publish_big_fish_game_then(input, |_, _| {}); + fn publish_big_fish_game(&self, input: BigFishPublishInput, +) { + self.publish_big_fish_game_then(input, |_, _| {}); } fn publish_big_fish_game_then( &self, input: BigFishPublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl publish_big_fish_game for super::RemoteProcedures { &self, input: BigFishPublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( - "publish_big_fish_game", - PublishBigFishGameArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "publish_big_fish_game", + PublishBigFishGameArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_and_return_procedure.rs index d5741922..2dcaf010 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; use super::custom_world_profile_publish_input_type::CustomWorldProfilePublishInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct PublishCustomWorldProfileAndReturnArgs { + struct PublishCustomWorldProfileAndReturnArgs { pub input: CustomWorldProfilePublishInput, } + impl __sdk::InModule for PublishCustomWorldProfileAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for PublishCustomWorldProfileAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait publish_custom_world_profile_and_return { - fn publish_custom_world_profile_and_return(&self, input: CustomWorldProfilePublishInput) { - self.publish_custom_world_profile_and_return_then(input, |_, _| {}); + fn publish_custom_world_profile_and_return(&self, input: CustomWorldProfilePublishInput, +) { + self.publish_custom_world_profile_and_return_then(input, |_, _| {}); } fn publish_custom_world_profile_and_return_then( &self, input: CustomWorldProfilePublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl publish_custom_world_profile_and_return for super::RemoteProcedures { &self, input: CustomWorldProfilePublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( - "publish_custom_world_profile_and_return", - PublishCustomWorldProfileAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( + "publish_custom_world_profile_and_return", + PublishCustomWorldProfileAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_reducer.rs index 2e2f71f6..f6d34d5c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_profile_publish_input_type::CustomWorldProfilePublishInput; @@ -14,8 +19,10 @@ pub(super) struct PublishCustomWorldProfileArgs { impl From for super::Reducer { fn from(args: PublishCustomWorldProfileArgs) -> Self { - Self::PublishCustomWorldProfile { input: args.input } - } + Self::PublishCustomWorldProfile { + input: args.input, +} +} } impl __sdk::InModule for PublishCustomWorldProfileArgs { @@ -33,11 +40,9 @@ pub trait publish_custom_world_profile { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`publish_custom_world_profile:publish_custom_world_profile_then`] to run a callback after the reducer completes. - fn publish_custom_world_profile( - &self, - input: CustomWorldProfilePublishInput, - ) -> __sdk::Result<()> { - self.publish_custom_world_profile_then(input, |_, _| {}) + fn publish_custom_world_profile(&self, input: CustomWorldProfilePublishInput, +) -> __sdk::Result<()> { + self.publish_custom_world_profile_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `publish_custom_world_profile` to run as soon as possible, @@ -50,11 +55,9 @@ pub trait publish_custom_world_profile { &self, input: CustomWorldProfilePublishInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -63,13 +66,11 @@ impl publish_custom_world_profile for super::RemoteReducers { &self, input: CustomWorldProfilePublishInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(PublishCustomWorldProfileArgs { input }, callback) + self.imp.invoke_reducer_with_callback(PublishCustomWorldProfileArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_world_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_world_procedure.rs index 42c76aad..083034b9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_world_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_world_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_publish_world_input_type::CustomWorldPublishWorldInput; use super::custom_world_publish_world_result_type::CustomWorldPublishWorldResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct PublishCustomWorldWorldArgs { + struct PublishCustomWorldWorldArgs { pub input: CustomWorldPublishWorldInput, } + impl __sdk::InModule for PublishCustomWorldWorldArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for PublishCustomWorldWorldArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait publish_custom_world_world { - fn publish_custom_world_world(&self, input: CustomWorldPublishWorldInput) { - self.publish_custom_world_world_then(input, |_, _| {}); + fn publish_custom_world_world(&self, input: CustomWorldPublishWorldInput, +) { + self.publish_custom_world_world_then(input, |_, _| {}); } fn publish_custom_world_world_then( &self, input: CustomWorldPublishWorldInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl publish_custom_world_world for super::RemoteProcedures { &self, input: CustomWorldPublishWorldInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldPublishWorldResult>( - "publish_custom_world_world", - PublishCustomWorldWorldArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldPublishWorldResult>( + "publish_custom_world_world", + PublishCustomWorldWorldArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/publish_puzzle_work_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/publish_puzzle_work_procedure.rs index 932b66d6..4592d939 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/publish_puzzle_work_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/publish_puzzle_work_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_publish_input_type::PuzzlePublishInput; use super::puzzle_work_procedure_result_type::PuzzleWorkProcedureResult; +use super::puzzle_publish_input_type::PuzzlePublishInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct PublishPuzzleWorkArgs { + struct PublishPuzzleWorkArgs { pub input: PuzzlePublishInput, } + impl __sdk::InModule for PublishPuzzleWorkArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for PublishPuzzleWorkArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait publish_puzzle_work { - fn publish_puzzle_work(&self, input: PuzzlePublishInput) { - self.publish_puzzle_work_then(input, |_, _| {}); + fn publish_puzzle_work(&self, input: PuzzlePublishInput, +) { + self.publish_puzzle_work_then(input, |_, _| {}); } fn publish_puzzle_work_then( &self, input: PuzzlePublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl publish_puzzle_work for super::RemoteProcedures { &self, input: PuzzlePublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( - "publish_puzzle_work", - PublishPuzzleWorkArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( + "publish_puzzle_work", + PublishPuzzleWorkArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_finalize_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_finalize_input_type.rs index 486919f2..22dfb32e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_finalize_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_finalize_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_agent_stage_type::PuzzleAgentStage; @@ -11,15 +16,17 @@ use super::puzzle_agent_stage_type::PuzzleAgentStage; pub struct PuzzleAgentMessageFinalizeInput { pub session_id: String, pub owner_user_id: String, - pub assistant_message_id: Option, - pub assistant_reply_text: Option, + pub assistant_message_id: Option::, + pub assistant_reply_text: Option::, pub stage: PuzzleAgentStage, pub progress_percent: u32, pub anchor_pack_json: String, - pub error_message: Option, + pub error_message: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for PuzzleAgentMessageFinalizeInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_kind_type.rs index ca46edeb..56f8df2d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum PuzzleAgentMessageKind { ActionResult, Warning, + } + + impl __sdk::InModule for PuzzleAgentMessageKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_role_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_role_type.rs index 5dd7eb51..b34f41c4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_role_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_role_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum PuzzleAgentMessageRole { Assistant, System, + } + + impl __sdk::InModule for PuzzleAgentMessageRole { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_row_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_row_type.rs index b0bb85f2..ceb74765 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_row_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_row_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_agent_message_kind_type::PuzzleAgentMessageKind; use super::puzzle_agent_message_role_type::PuzzleAgentMessageRole; +use super::puzzle_agent_message_kind_type::PuzzleAgentMessageKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -18,10 +23,12 @@ pub struct PuzzleAgentMessageRow { pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for PuzzleAgentMessageRow { type Module = super::RemoteModule; } + /// Column accessor struct for the table `PuzzleAgentMessageRow`. /// /// Provides typed access to columns for query building. @@ -44,6 +51,7 @@ impl __sdk::__query_builder::HasCols for PuzzleAgentMessageRow { kind: __sdk::__query_builder::Col::new(table_name, "kind"), text: __sdk::__query_builder::Col::new(table_name, "text"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -62,8 +70,10 @@ impl __sdk::__query_builder::HasIxCols for PuzzleAgentMessageRow { PuzzleAgentMessageRowIxCols { message_id: __sdk::__query_builder::IxCol::new(table_name, "message_id"), session_id: __sdk::__query_builder::IxCol::new(table_name, "session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for PuzzleAgentMessageRow {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_submit_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_submit_input_type.rs index 93086643..3a9fa169 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_submit_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_submit_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -14,6 +20,8 @@ pub struct PuzzleAgentMessageSubmitInput { pub submitted_at_micros: i64, } + impl __sdk::InModule for PuzzleAgentMessageSubmitInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_table.rs index 0f54e13b..e282d9e9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_message_table.rs @@ -2,10 +2,15 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::puzzle_agent_message_kind_type::PuzzleAgentMessageKind; -use super::puzzle_agent_message_role_type::PuzzleAgentMessageRole; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_agent_message_row_type::PuzzleAgentMessageRow; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::puzzle_agent_message_role_type::PuzzleAgentMessageRole; +use super::puzzle_agent_message_kind_type::PuzzleAgentMessageKind; /// Table handle for the table `puzzle_agent_message`. /// @@ -33,9 +38,7 @@ pub trait PuzzleAgentMessageTableAccess { impl PuzzleAgentMessageTableAccess for super::RemoteTables { fn puzzle_agent_message(&self) -> PuzzleAgentMessageTableHandle<'_> { PuzzleAgentMessageTableHandle { - imp: self - .imp - .get_table::("puzzle_agent_message"), + imp: self.imp.get_table::("puzzle_agent_message"), ctx: std::marker::PhantomData, } } @@ -48,12 +51,8 @@ impl<'ctx> __sdk::Table for PuzzleAgentMessageTableHandle<'ctx> { type Row = PuzzleAgentMessageRow; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = PuzzleAgentMessageInsertCallbackId; @@ -99,38 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for PuzzleAgentMessageTableHandle<'ctx> { } } -/// Access to the `message_id` unique index on the table `puzzle_agent_message`, -/// which allows point queries on the field of the same name -/// via the [`PuzzleAgentMessageMessageIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.puzzle_agent_message().message_id().find(...)`. -pub struct PuzzleAgentMessageMessageIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> PuzzleAgentMessageTableHandle<'ctx> { - /// Get a handle on the `message_id` unique index on the table `puzzle_agent_message`. - pub fn message_id(&self) -> PuzzleAgentMessageMessageIdUnique<'ctx> { - PuzzleAgentMessageMessageIdUnique { - imp: self.imp.get_unique_constraint::("message_id"), - phantom: std::marker::PhantomData, + /// Access to the `message_id` unique index on the table `puzzle_agent_message`, + /// which allows point queries on the field of the same name + /// via the [`PuzzleAgentMessageMessageIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.puzzle_agent_message().message_id().find(...)`. + pub struct PuzzleAgentMessageMessageIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> PuzzleAgentMessageMessageIdUnique<'ctx> { - /// Find the subscribed row whose `message_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 { - self.imp.find(col_val) - } -} + impl<'ctx> PuzzleAgentMessageTableHandle<'ctx> { + /// Get a handle on the `message_id` unique index on the table `puzzle_agent_message`. + pub fn message_id(&self) -> PuzzleAgentMessageMessageIdUnique<'ctx> { + PuzzleAgentMessageMessageIdUnique { + imp: self.imp.get_unique_constraint::("message_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> PuzzleAgentMessageMessageIdUnique<'ctx> { + /// Find the subscribed row whose `message_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("puzzle_agent_message"); _table.add_unique_constraint::("message_id", |row| &row.message_id); } @@ -140,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `PuzzleAgentMessageRow`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait puzzle_agent_messageQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `PuzzleAgentMessageRow`. - fn puzzle_agent_message(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PuzzleAgentMessageRow`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait puzzle_agent_messageQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PuzzleAgentMessageRow`. + fn puzzle_agent_message(&self) -> __sdk::__query_builder::Table; + } + + impl puzzle_agent_messageQueryTableAccess for __sdk::QueryTableAccessor { + fn puzzle_agent_message(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("puzzle_agent_message") + } + } -impl puzzle_agent_messageQueryTableAccess for __sdk::QueryTableAccessor { - fn puzzle_agent_message(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("puzzle_agent_message") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_create_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_create_input_type.rs index c3ccc7d2..f07fcd6b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_create_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_create_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,6 +21,8 @@ pub struct PuzzleAgentSessionCreateInput { pub created_at_micros: i64, } + impl __sdk::InModule for PuzzleAgentSessionCreateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_get_input_type.rs index af4159c6..e411bead 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct PuzzleAgentSessionGetInput { pub owner_user_id: String, } + impl __sdk::InModule for PuzzleAgentSessionGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_procedure_result_type.rs index 39506659..f19f290d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_procedure_result_type.rs @@ -2,16 +2,24 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct PuzzleAgentSessionProcedureResult { pub ok: bool, - pub session_json: Option, - pub error_message: Option, + pub session_json: Option::, + pub error_message: Option::, } + impl __sdk::InModule for PuzzleAgentSessionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_row_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_row_type.rs index e056ada1..96e98e56 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_row_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_row_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_agent_stage_type::PuzzleAgentStage; @@ -16,17 +21,19 @@ pub struct PuzzleAgentSessionRow { pub progress_percent: u32, pub stage: PuzzleAgentStage, pub anchor_pack_json: String, - pub draft_json: Option, - pub last_assistant_reply: Option, - pub published_profile_id: Option, + pub draft_json: Option::, + pub last_assistant_reply: Option::, + pub published_profile_id: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for PuzzleAgentSessionRow { type Module = super::RemoteModule; } + /// Column accessor struct for the table `PuzzleAgentSessionRow`. /// /// Provides typed access to columns for query building. @@ -38,9 +45,9 @@ pub struct PuzzleAgentSessionRowCols { pub progress_percent: __sdk::__query_builder::Col, pub stage: __sdk::__query_builder::Col, pub anchor_pack_json: __sdk::__query_builder::Col, - pub draft_json: __sdk::__query_builder::Col>, - pub last_assistant_reply: __sdk::__query_builder::Col>, - pub published_profile_id: __sdk::__query_builder::Col>, + pub draft_json: __sdk::__query_builder::Col>, + pub last_assistant_reply: __sdk::__query_builder::Col>, + pub published_profile_id: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -57,16 +64,11 @@ impl __sdk::__query_builder::HasCols for PuzzleAgentSessionRow { stage: __sdk::__query_builder::Col::new(table_name, "stage"), anchor_pack_json: __sdk::__query_builder::Col::new(table_name, "anchor_pack_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", - ), + 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"), + } } } @@ -85,8 +87,10 @@ impl __sdk::__query_builder::HasIxCols for PuzzleAgentSessionRow { PuzzleAgentSessionRowIxCols { 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 PuzzleAgentSessionRow {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_table.rs index 08c05360..0272d915 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_session_table.rs @@ -2,9 +2,14 @@ // 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::puzzle_agent_session_row_type::PuzzleAgentSessionRow; use super::puzzle_agent_stage_type::PuzzleAgentStage; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `puzzle_agent_session`. /// @@ -32,9 +37,7 @@ pub trait PuzzleAgentSessionTableAccess { impl PuzzleAgentSessionTableAccess for super::RemoteTables { fn puzzle_agent_session(&self) -> PuzzleAgentSessionTableHandle<'_> { PuzzleAgentSessionTableHandle { - imp: self - .imp - .get_table::("puzzle_agent_session"), + imp: self.imp.get_table::("puzzle_agent_session"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for PuzzleAgentSessionTableHandle<'ctx> { type Row = PuzzleAgentSessionRow; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = PuzzleAgentSessionInsertCallbackId; @@ -98,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for PuzzleAgentSessionTableHandle<'ctx> { } } -/// Access to the `session_id` unique index on the table `puzzle_agent_session`, -/// which allows point queries on the field of the same name -/// via the [`PuzzleAgentSessionSessionIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.puzzle_agent_session().session_id().find(...)`. -pub struct PuzzleAgentSessionSessionIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> PuzzleAgentSessionTableHandle<'ctx> { - /// Get a handle on the `session_id` unique index on the table `puzzle_agent_session`. - pub fn session_id(&self) -> PuzzleAgentSessionSessionIdUnique<'ctx> { - PuzzleAgentSessionSessionIdUnique { - imp: self.imp.get_unique_constraint::("session_id"), - phantom: std::marker::PhantomData, + /// Access to the `session_id` unique index on the table `puzzle_agent_session`, + /// which allows point queries on the field of the same name + /// via the [`PuzzleAgentSessionSessionIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.puzzle_agent_session().session_id().find(...)`. + pub struct PuzzleAgentSessionSessionIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> PuzzleAgentSessionSessionIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> PuzzleAgentSessionTableHandle<'ctx> { + /// Get a handle on the `session_id` unique index on the table `puzzle_agent_session`. + pub fn session_id(&self) -> PuzzleAgentSessionSessionIdUnique<'ctx> { + PuzzleAgentSessionSessionIdUnique { + imp: self.imp.get_unique_constraint::("session_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> PuzzleAgentSessionSessionIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("puzzle_agent_session"); _table.add_unique_constraint::("session_id", |row| &row.session_id); } @@ -139,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `PuzzleAgentSessionRow`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait puzzle_agent_sessionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `PuzzleAgentSessionRow`. - fn puzzle_agent_session(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PuzzleAgentSessionRow`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait puzzle_agent_sessionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PuzzleAgentSessionRow`. + fn puzzle_agent_session(&self) -> __sdk::__query_builder::Table; + } + + impl puzzle_agent_sessionQueryTableAccess for __sdk::QueryTableAccessor { + fn puzzle_agent_session(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("puzzle_agent_session") + } + } -impl puzzle_agent_sessionQueryTableAccess for __sdk::QueryTableAccessor { - fn puzzle_agent_session(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("puzzle_agent_session") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_stage_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_stage_type.rs index 9d41ea54..00cbc81b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_stage_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_agent_stage_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum PuzzleAgentStage { ReadyToPublish, Published, + } + + impl __sdk::InModule for PuzzleAgentStage { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_draft_compile_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_draft_compile_input_type.rs index 3b5f565f..703538e4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_draft_compile_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_draft_compile_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct PuzzleDraftCompileInput { pub compiled_at_micros: i64, } + impl __sdk::InModule for PuzzleDraftCompileInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_generated_images_save_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_generated_images_save_input_type.rs index 8c409aed..0c2196b4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_generated_images_save_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_generated_images_save_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,6 +19,8 @@ pub struct PuzzleGeneratedImagesSaveInput { pub saved_at_micros: i64, } + impl __sdk::InModule for PuzzleGeneratedImagesSaveInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publication_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publication_status_type.rs index 38ece3cf..7ff8b5c6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publication_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publication_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum PuzzlePublicationStatus { Draft, Published, + } + + impl __sdk::InModule for PuzzlePublicationStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publish_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publish_input_type.rs index 83cbc37c..d3a5d26d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publish_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_publish_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,12 +18,14 @@ pub struct PuzzlePublishInput { pub work_id: String, pub profile_id: String, pub author_display_name: String, - pub level_name: Option, - pub summary: Option, - pub theme_tags: Option>, + pub level_name: Option::, + pub summary: Option::, + pub theme_tags: Option::>, pub published_at_micros: i64, } + impl __sdk::InModule for PuzzlePublishInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_drag_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_drag_input_type.rs index b5036117..753e2932 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_drag_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_drag_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,6 +21,8 @@ pub struct PuzzleRunDragInput { pub dragged_at_micros: i64, } + impl __sdk::InModule for PuzzleRunDragInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_get_input_type.rs index b3961e57..cf15f8b3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct PuzzleRunGetInput { pub owner_user_id: String, } + impl __sdk::InModule for PuzzleRunGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_next_level_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_next_level_input_type.rs index 18258482..d6a9a285 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_next_level_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_next_level_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct PuzzleRunNextLevelInput { pub advanced_at_micros: i64, } + impl __sdk::InModule for PuzzleRunNextLevelInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_procedure_result_type.rs index 54f6349b..215490dc 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_procedure_result_type.rs @@ -2,16 +2,24 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct PuzzleRunProcedureResult { pub ok: bool, - pub run_json: Option, - pub error_message: Option, + pub run_json: Option::, + pub error_message: Option::, } + impl __sdk::InModule for PuzzleRunProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_start_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_start_input_type.rs index 7b4bed29..55e0a93e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_start_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_start_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,6 +19,8 @@ pub struct PuzzleRunStartInput { pub started_at_micros: i64, } + impl __sdk::InModule for PuzzleRunStartInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_swap_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_swap_input_type.rs index e92ca711..3b5baa18 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_swap_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_run_swap_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -14,6 +20,8 @@ pub struct PuzzleRunSwapInput { pub swapped_at_micros: i64, } + impl __sdk::InModule for PuzzleRunSwapInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_row_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_row_type.rs index e610dfbf..daf67f5b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_row_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_row_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -21,10 +27,12 @@ pub struct PuzzleRuntimeRunRow { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for PuzzleRuntimeRunRow { type Module = super::RemoteModule; } + /// Column accessor struct for the table `PuzzleRuntimeRunRow`. /// /// Provides typed access to columns for query building. @@ -51,26 +59,15 @@ impl __sdk::__query_builder::HasCols for PuzzleRuntimeRunRow { owner_user_id: __sdk::__query_builder::Col::new(table_name, "owner_user_id"), entry_profile_id: __sdk::__query_builder::Col::new(table_name, "entry_profile_id"), current_profile_id: __sdk::__query_builder::Col::new(table_name, "current_profile_id"), - cleared_level_count: __sdk::__query_builder::Col::new( - table_name, - "cleared_level_count", - ), - current_level_index: __sdk::__query_builder::Col::new( - table_name, - "current_level_index", - ), + cleared_level_count: __sdk::__query_builder::Col::new(table_name, "cleared_level_count"), + current_level_index: __sdk::__query_builder::Col::new(table_name, "current_level_index"), current_grid_size: __sdk::__query_builder::Col::new(table_name, "current_grid_size"), - played_profile_ids_json: __sdk::__query_builder::Col::new( - table_name, - "played_profile_ids_json", - ), - previous_level_tags_json: __sdk::__query_builder::Col::new( - table_name, - "previous_level_tags_json", - ), + played_profile_ids_json: __sdk::__query_builder::Col::new(table_name, "played_profile_ids_json"), + previous_level_tags_json: __sdk::__query_builder::Col::new(table_name, "previous_level_tags_json"), 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"), + } } } @@ -89,8 +86,10 @@ impl __sdk::__query_builder::HasIxCols for PuzzleRuntimeRunRow { PuzzleRuntimeRunRowIxCols { owner_user_id: __sdk::__query_builder::IxCol::new(table_name, "owner_user_id"), run_id: __sdk::__query_builder::IxCol::new(table_name, "run_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for PuzzleRuntimeRunRow {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_table.rs index 1cd988cc..5447392d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_runtime_run_table.rs @@ -2,8 +2,13 @@ // 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::puzzle_runtime_run_row_type::PuzzleRuntimeRunRow; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `puzzle_runtime_run`. /// @@ -31,9 +36,7 @@ pub trait PuzzleRuntimeRunTableAccess { impl PuzzleRuntimeRunTableAccess for super::RemoteTables { fn puzzle_runtime_run(&self) -> PuzzleRuntimeRunTableHandle<'_> { PuzzleRuntimeRunTableHandle { - imp: self - .imp - .get_table::("puzzle_runtime_run"), + imp: self.imp.get_table::("puzzle_runtime_run"), ctx: std::marker::PhantomData, } } @@ -46,12 +49,8 @@ impl<'ctx> __sdk::Table for PuzzleRuntimeRunTableHandle<'ctx> { type Row = PuzzleRuntimeRunRow; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = PuzzleRuntimeRunInsertCallbackId; @@ -97,38 +96,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for PuzzleRuntimeRunTableHandle<'ctx> { } } -/// Access to the `run_id` unique index on the table `puzzle_runtime_run`, -/// which allows point queries on the field of the same name -/// via the [`PuzzleRuntimeRunRunIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.puzzle_runtime_run().run_id().find(...)`. -pub struct PuzzleRuntimeRunRunIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> PuzzleRuntimeRunTableHandle<'ctx> { - /// Get a handle on the `run_id` unique index on the table `puzzle_runtime_run`. - pub fn run_id(&self) -> PuzzleRuntimeRunRunIdUnique<'ctx> { - PuzzleRuntimeRunRunIdUnique { - imp: self.imp.get_unique_constraint::("run_id"), - phantom: std::marker::PhantomData, + /// Access to the `run_id` unique index on the table `puzzle_runtime_run`, + /// which allows point queries on the field of the same name + /// via the [`PuzzleRuntimeRunRunIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.puzzle_runtime_run().run_id().find(...)`. + pub struct PuzzleRuntimeRunRunIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> PuzzleRuntimeRunRunIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> PuzzleRuntimeRunTableHandle<'ctx> { + /// Get a handle on the `run_id` unique index on the table `puzzle_runtime_run`. + pub fn run_id(&self) -> PuzzleRuntimeRunRunIdUnique<'ctx> { + PuzzleRuntimeRunRunIdUnique { + imp: self.imp.get_unique_constraint::("run_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> PuzzleRuntimeRunRunIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("puzzle_runtime_run"); _table.add_unique_constraint::("run_id", |row| &row.run_id); } @@ -138,24 +138,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `PuzzleRuntimeRunRow`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait puzzle_runtime_runQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `PuzzleRuntimeRunRow`. - fn puzzle_runtime_run(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PuzzleRuntimeRunRow`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait puzzle_runtime_runQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PuzzleRuntimeRunRow`. + fn puzzle_runtime_run(&self) -> __sdk::__query_builder::Table; + } + + impl puzzle_runtime_runQueryTableAccess for __sdk::QueryTableAccessor { + fn puzzle_runtime_run(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("puzzle_runtime_run") + } + } -impl puzzle_runtime_runQueryTableAccess for __sdk::QueryTableAccessor { - fn puzzle_runtime_run(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("puzzle_runtime_run") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_select_cover_image_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_select_cover_image_input_type.rs index 516d16b9..847ac3a4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_select_cover_image_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_select_cover_image_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,6 +19,8 @@ pub struct PuzzleSelectCoverImageInput { pub selected_at_micros: i64, } + impl __sdk::InModule for PuzzleSelectCoverImageInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_get_input_type.rs index 5f37e13f..74cf57a1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct PuzzleWorkGetInput { pub profile_id: String, } + impl __sdk::InModule for PuzzleWorkGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_procedure_result_type.rs index d59a56cc..0da3b49c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_procedure_result_type.rs @@ -2,16 +2,24 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct PuzzleWorkProcedureResult { pub ok: bool, - pub item_json: Option, - pub error_message: Option, + pub item_json: Option::, + pub error_message: Option::, } + impl __sdk::InModule for PuzzleWorkProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_row_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_row_type.rs index be53fc17..e5482282 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_row_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_row_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_publication_status_type::PuzzlePublicationStatus; @@ -12,26 +17,28 @@ pub struct PuzzleWorkProfileRow { pub profile_id: String, pub work_id: String, pub owner_user_id: String, - pub source_session_id: Option, + pub source_session_id: Option::, pub author_display_name: String, pub level_name: String, pub summary: String, pub theme_tags_json: String, - pub cover_image_src: Option, - pub cover_asset_id: Option, + pub cover_image_src: Option::, + pub cover_asset_id: Option::, pub publication_status: PuzzlePublicationStatus, pub play_count: u32, pub anchor_pack_json: String, pub publish_ready: bool, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, - pub published_at: Option<__sdk::Timestamp>, + pub published_at: Option::<__sdk::Timestamp>, } + impl __sdk::InModule for PuzzleWorkProfileRow { type Module = super::RemoteModule; } + /// Column accessor struct for the table `PuzzleWorkProfileRow`. /// /// Provides typed access to columns for query building. @@ -39,21 +46,20 @@ pub struct PuzzleWorkProfileRowCols { pub profile_id: __sdk::__query_builder::Col, pub work_id: __sdk::__query_builder::Col, pub owner_user_id: __sdk::__query_builder::Col, - pub source_session_id: __sdk::__query_builder::Col>, + pub source_session_id: __sdk::__query_builder::Col>, pub author_display_name: __sdk::__query_builder::Col, pub level_name: __sdk::__query_builder::Col, pub summary: __sdk::__query_builder::Col, pub theme_tags_json: __sdk::__query_builder::Col, - pub cover_image_src: __sdk::__query_builder::Col>, - pub cover_asset_id: __sdk::__query_builder::Col>, - pub publication_status: - __sdk::__query_builder::Col, + pub cover_image_src: __sdk::__query_builder::Col>, + pub cover_asset_id: __sdk::__query_builder::Col>, + pub publication_status: __sdk::__query_builder::Col, pub play_count: __sdk::__query_builder::Col, pub anchor_pack_json: __sdk::__query_builder::Col, pub publish_ready: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, - pub published_at: __sdk::__query_builder::Col>, + pub published_at: __sdk::__query_builder::Col>, } impl __sdk::__query_builder::HasCols for PuzzleWorkProfileRow { @@ -64,10 +70,7 @@ impl __sdk::__query_builder::HasCols for PuzzleWorkProfileRow { 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", - ), + author_display_name: __sdk::__query_builder::Col::new(table_name, "author_display_name"), level_name: __sdk::__query_builder::Col::new(table_name, "level_name"), summary: __sdk::__query_builder::Col::new(table_name, "summary"), theme_tags_json: __sdk::__query_builder::Col::new(table_name, "theme_tags_json"), @@ -80,6 +83,7 @@ impl __sdk::__query_builder::HasCols for PuzzleWorkProfileRow { created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), published_at: __sdk::__query_builder::Col::new(table_name, "published_at"), + } } } @@ -90,8 +94,7 @@ impl __sdk::__query_builder::HasCols for PuzzleWorkProfileRow { pub struct PuzzleWorkProfileRowIxCols { pub owner_user_id: __sdk::__query_builder::IxCol, pub profile_id: __sdk::__query_builder::IxCol, - pub publication_status: - __sdk::__query_builder::IxCol, + pub publication_status: __sdk::__query_builder::IxCol, } impl __sdk::__query_builder::HasIxCols for PuzzleWorkProfileRow { @@ -100,12 +103,11 @@ impl __sdk::__query_builder::HasIxCols for PuzzleWorkProfileRow { PuzzleWorkProfileRowIxCols { 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", - ), + publication_status: __sdk::__query_builder::IxCol::new(table_name, "publication_status"), + } } } impl __sdk::__query_builder::CanBeLookupTable for PuzzleWorkProfileRow {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_table.rs index 673a9841..c5f14f0f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_profile_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::puzzle_publication_status_type::PuzzlePublicationStatus; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_work_profile_row_type::PuzzleWorkProfileRow; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::puzzle_publication_status_type::PuzzlePublicationStatus; /// Table handle for the table `puzzle_work_profile`. /// @@ -32,9 +37,7 @@ pub trait PuzzleWorkProfileTableAccess { impl PuzzleWorkProfileTableAccess for super::RemoteTables { fn puzzle_work_profile(&self) -> PuzzleWorkProfileTableHandle<'_> { PuzzleWorkProfileTableHandle { - imp: self - .imp - .get_table::("puzzle_work_profile"), + imp: self.imp.get_table::("puzzle_work_profile"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for PuzzleWorkProfileTableHandle<'ctx> { type Row = PuzzleWorkProfileRow; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = PuzzleWorkProfileInsertCallbackId; @@ -98,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for PuzzleWorkProfileTableHandle<'ctx> { } } -/// Access to the `profile_id` unique index on the table `puzzle_work_profile`, -/// which allows point queries on the field of the same name -/// via the [`PuzzleWorkProfileProfileIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.puzzle_work_profile().profile_id().find(...)`. -pub struct PuzzleWorkProfileProfileIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> PuzzleWorkProfileTableHandle<'ctx> { - /// Get a handle on the `profile_id` unique index on the table `puzzle_work_profile`. - pub fn profile_id(&self) -> PuzzleWorkProfileProfileIdUnique<'ctx> { - PuzzleWorkProfileProfileIdUnique { - imp: self.imp.get_unique_constraint::("profile_id"), - phantom: std::marker::PhantomData, + /// Access to the `profile_id` unique index on the table `puzzle_work_profile`, + /// which allows point queries on the field of the same name + /// via the [`PuzzleWorkProfileProfileIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.puzzle_work_profile().profile_id().find(...)`. + pub struct PuzzleWorkProfileProfileIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> PuzzleWorkProfileProfileIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> PuzzleWorkProfileTableHandle<'ctx> { + /// Get a handle on the `profile_id` unique index on the table `puzzle_work_profile`. + pub fn profile_id(&self) -> PuzzleWorkProfileProfileIdUnique<'ctx> { + PuzzleWorkProfileProfileIdUnique { + imp: self.imp.get_unique_constraint::("profile_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> PuzzleWorkProfileProfileIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("puzzle_work_profile"); _table.add_unique_constraint::("profile_id", |row| &row.profile_id); } @@ -139,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `PuzzleWorkProfileRow`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait puzzle_work_profileQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `PuzzleWorkProfileRow`. - fn puzzle_work_profile(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `PuzzleWorkProfileRow`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait puzzle_work_profileQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `PuzzleWorkProfileRow`. + fn puzzle_work_profile(&self) -> __sdk::__query_builder::Table; + } + + impl puzzle_work_profileQueryTableAccess for __sdk::QueryTableAccessor { + fn puzzle_work_profile(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("puzzle_work_profile") + } + } -impl puzzle_work_profileQueryTableAccess for __sdk::QueryTableAccessor { - fn puzzle_work_profile(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("puzzle_work_profile") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_upsert_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_upsert_input_type.rs index 809ce64d..ae412d68 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_upsert_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_work_upsert_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,12 +17,14 @@ pub struct PuzzleWorkUpsertInput { pub owner_user_id: String, pub level_name: String, pub summary: String, - pub theme_tags: Vec, - pub cover_image_src: Option, - pub cover_asset_id: Option, + pub theme_tags: Vec::, + pub cover_image_src: Option::, + pub cover_asset_id: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for PuzzleWorkUpsertInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_list_input_type.rs index 4ad5ef5b..e1d55a5f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct PuzzleWorksListInput { pub owner_user_id: String, } + impl __sdk::InModule for PuzzleWorksListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_procedure_result_type.rs index 6a34c60f..80a1c401 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/puzzle_works_procedure_result_type.rs @@ -2,16 +2,24 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct PuzzleWorksProcedureResult { pub ok: bool, - pub items_json: Option, - pub error_message: Option, + pub items_json: Option::, + pub error_message: Option::, } + impl __sdk::InModule for PuzzleWorksProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_completion_ack_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_completion_ack_input_type.rs index 678ec032..dbe06a17 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_completion_ack_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_completion_ack_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct QuestCompletionAckInput { pub updated_at_micros: i64, } + impl __sdk::InModule for QuestCompletionAckInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_hostile_npc_defeated_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_hostile_npc_defeated_signal_type.rs index d12363ff..08debc1e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_hostile_npc_defeated_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_hostile_npc_defeated_signal_type.rs @@ -2,15 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct QuestHostileNpcDefeatedSignal { - pub scene_id: Option, + pub scene_id: Option::, pub hostile_npc_id: String, } + impl __sdk::InModule for QuestHostileNpcDefeatedSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_item_delivered_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_item_delivered_signal_type.rs index 4e1d0a5d..9b69c1f7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_item_delivered_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_item_delivered_signal_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,6 +18,8 @@ pub struct QuestItemDeliveredSignal { pub quantity: u32, } + impl __sdk::InModule for QuestItemDeliveredSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_log_event_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_log_event_kind_type.rs index c3176590..2e742860 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_log_event_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_log_event_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum QuestLogEventKind { CompletionAcknowledged, TurnedIn, + } + + impl __sdk::InModule for QuestLogEventKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_log_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_log_table.rs index b1ac8c78..069f1084 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_log_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_log_table.rs @@ -2,12 +2,17 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::quest_log_event_kind_type::QuestLogEventKind; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_log_type::QuestLog; -use super::quest_progress_signal_type::QuestProgressSignal; -use super::quest_signal_kind_type::QuestSignalKind; use super::quest_status_type::QuestStatus; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::quest_progress_signal_type::QuestProgressSignal; +use super::quest_log_event_kind_type::QuestLogEventKind; +use super::quest_signal_kind_type::QuestSignalKind; /// Table handle for the table `quest_log`. /// @@ -48,12 +53,8 @@ impl<'ctx> __sdk::Table for QuestLogTableHandle<'ctx> { type Row = QuestLog; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = QuestLogInsertCallbackId; @@ -99,38 +100,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for QuestLogTableHandle<'ctx> { } } -/// Access to the `log_id` unique index on the table `quest_log`, -/// which allows point queries on the field of the same name -/// via the [`QuestLogLogIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.quest_log().log_id().find(...)`. -pub struct QuestLogLogIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> QuestLogTableHandle<'ctx> { - /// Get a handle on the `log_id` unique index on the table `quest_log`. - pub fn log_id(&self) -> QuestLogLogIdUnique<'ctx> { - QuestLogLogIdUnique { - imp: self.imp.get_unique_constraint::("log_id"), - phantom: std::marker::PhantomData, + /// Access to the `log_id` unique index on the table `quest_log`, + /// which allows point queries on the field of the same name + /// via the [`QuestLogLogIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.quest_log().log_id().find(...)`. + pub struct QuestLogLogIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> QuestLogLogIdUnique<'ctx> { - /// Find the subscribed row whose `log_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 { - self.imp.find(col_val) - } -} + impl<'ctx> QuestLogTableHandle<'ctx> { + /// Get a handle on the `log_id` unique index on the table `quest_log`. + pub fn log_id(&self) -> QuestLogLogIdUnique<'ctx> { + QuestLogLogIdUnique { + imp: self.imp.get_unique_constraint::("log_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> QuestLogLogIdUnique<'ctx> { + /// Find the subscribed row whose `log_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("quest_log"); _table.add_unique_constraint::("log_id", |row| &row.log_id); } @@ -140,24 +142,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `QuestLog`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait quest_logQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `QuestLog`. - fn quest_log(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `QuestLog`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait quest_logQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `QuestLog`. + fn quest_log(&self) -> __sdk::__query_builder::Table; + } + + impl quest_logQueryTableAccess for __sdk::QueryTableAccessor { + fn quest_log(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("quest_log") + } + } -impl quest_logQueryTableAccess for __sdk::QueryTableAccessor { - fn quest_log(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("quest_log") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_log_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_log_type.rs index d893857a..d4e28a66 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_log_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_log_type.rs @@ -2,12 +2,17 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::quest_log_event_kind_type::QuestLogEventKind; -use super::quest_progress_signal_type::QuestProgressSignal; -use super::quest_signal_kind_type::QuestSignalKind; use super::quest_status_type::QuestStatus; +use super::quest_progress_signal_type::QuestProgressSignal; +use super::quest_log_event_kind_type::QuestLogEventKind; +use super::quest_signal_kind_type::QuestSignalKind; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -18,17 +23,19 @@ pub struct QuestLog { pub actor_user_id: String, pub event_kind: QuestLogEventKind, pub status_after: QuestStatus, - pub signal_kind: Option, - pub signal: Option, - pub step_id: Option, - pub step_progress: Option, + pub signal_kind: Option::, + pub signal: Option::, + pub step_id: Option::, + pub step_progress: Option::, pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for QuestLog { type Module = super::RemoteModule; } + /// Column accessor struct for the table `QuestLog`. /// /// Provides typed access to columns for query building. @@ -39,10 +46,10 @@ pub struct QuestLogCols { pub actor_user_id: __sdk::__query_builder::Col, pub event_kind: __sdk::__query_builder::Col, pub status_after: __sdk::__query_builder::Col, - pub signal_kind: __sdk::__query_builder::Col>, - pub signal: __sdk::__query_builder::Col>, - pub step_id: __sdk::__query_builder::Col>, - pub step_progress: __sdk::__query_builder::Col>, + pub signal_kind: __sdk::__query_builder::Col>, + pub signal: __sdk::__query_builder::Col>, + pub step_id: __sdk::__query_builder::Col>, + pub step_progress: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, } @@ -61,6 +68,7 @@ impl __sdk::__query_builder::HasCols for QuestLog { step_id: __sdk::__query_builder::Col::new(table_name, "step_id"), step_progress: __sdk::__query_builder::Col::new(table_name, "step_progress"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -82,12 +90,11 @@ impl __sdk::__query_builder::HasIxCols for QuestLog { actor_user_id: __sdk::__query_builder::IxCol::new(table_name, "actor_user_id"), log_id: __sdk::__query_builder::IxCol::new(table_name, "log_id"), quest_id: __sdk::__query_builder::IxCol::new(table_name, "quest_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for QuestLog {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_binding_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_binding_snapshot_type.rs index 730e7565..45c26c18 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_binding_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_binding_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_narrative_origin_type::QuestNarrativeOrigin; use super::quest_narrative_type_type::QuestNarrativeType; @@ -16,9 +21,11 @@ pub struct QuestNarrativeBindingSnapshot { pub issuer_goal: String, pub player_hook: String, pub world_reason: String, - pub followup_hooks: Vec, + pub followup_hooks: Vec::, } + impl __sdk::InModule for QuestNarrativeBindingSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_origin_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_origin_type.rs index 34ce63f3..53f324af 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_origin_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_origin_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum QuestNarrativeOrigin { AiCompiled, FallbackBuilder, + } + + impl __sdk::InModule for QuestNarrativeOrigin { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_type_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_type_type.rs index ac5319cd..e390707e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_type_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_narrative_type_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum QuestNarrativeType { Relationship, Trial, + } + + impl __sdk::InModule for QuestNarrativeType { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_spar_completed_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_spar_completed_signal_type.rs index a0f1f8bb..356ae48e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_spar_completed_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_spar_completed_signal_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct QuestNpcSparCompletedSignal { pub npc_id: String, } + impl __sdk::InModule for QuestNpcSparCompletedSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_talk_completed_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_talk_completed_signal_type.rs index 39042f37..a62032a7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_talk_completed_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_npc_talk_completed_signal_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct QuestNpcTalkCompletedSignal { pub npc_id: String, } + impl __sdk::InModule for QuestNpcTalkCompletedSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_kind_type.rs index 665faa30..4139db37 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum QuestObjectiveKind { ReachScene, DeliverItem, + } + + impl __sdk::InModule for QuestObjectiveKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_snapshot_type.rs index 38682e68..e617912b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_objective_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_objective_kind_type::QuestObjectiveKind; @@ -10,13 +15,15 @@ use super::quest_objective_kind_type::QuestObjectiveKind; #[sats(crate = __lib)] pub struct QuestObjectiveSnapshot { pub kind: QuestObjectiveKind, - pub target_hostile_npc_id: Option, - pub target_npc_id: Option, - pub target_scene_id: Option, - pub target_item_id: Option, + pub target_hostile_npc_id: Option::, + pub target_npc_id: Option::, + pub target_scene_id: Option::, + pub target_item_id: Option::, pub required_count: u32, } + impl __sdk::InModule for QuestObjectiveSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_progress_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_progress_signal_type.rs index 5764d273..b957a0a7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_progress_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_progress_signal_type.rs @@ -2,14 +2,19 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_hostile_npc_defeated_signal_type::QuestHostileNpcDefeatedSignal; -use super::quest_item_delivered_signal_type::QuestItemDeliveredSignal; +use super::quest_treasure_inspected_signal_type::QuestTreasureInspectedSignal; use super::quest_npc_spar_completed_signal_type::QuestNpcSparCompletedSignal; use super::quest_npc_talk_completed_signal_type::QuestNpcTalkCompletedSignal; use super::quest_scene_reached_signal_type::QuestSceneReachedSignal; -use super::quest_treasure_inspected_signal_type::QuestTreasureInspectedSignal; +use super::quest_item_delivered_signal_type::QuestItemDeliveredSignal; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -25,8 +30,12 @@ pub enum QuestProgressSignal { SceneReached(QuestSceneReachedSignal), ItemDelivered(QuestItemDeliveredSignal), + } + + impl __sdk::InModule for QuestProgressSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_record_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_record_input_type.rs index d07da423..6a82982d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_record_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_record_input_type.rs @@ -2,11 +2,16 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; -use super::quest_reward_snapshot_type::QuestRewardSnapshot; use super::quest_status_type::QuestStatus; +use super::quest_reward_snapshot_type::QuestRewardSnapshot; +use super::quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; use super::quest_step_snapshot_type::QuestStepSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] @@ -14,15 +19,15 @@ use super::quest_step_snapshot_type::QuestStepSnapshot; pub struct QuestRecordInput { pub quest_id: String, pub runtime_session_id: String, - pub story_session_id: Option, + pub story_session_id: Option::, pub actor_user_id: String, pub issuer_npc_id: String, pub issuer_npc_name: String, - pub scene_id: Option, - pub chapter_id: Option, - pub act_id: Option, - pub thread_id: Option, - pub contract_id: Option, + pub scene_id: Option::, + pub chapter_id: Option::, + pub act_id: Option::, + pub thread_id: Option::, + pub contract_id: Option::, pub title: String, pub description: String, pub summary: String, @@ -31,16 +36,18 @@ pub struct QuestRecordInput { pub reward: QuestRewardSnapshot, pub reward_text: String, pub narrative_binding: QuestNarrativeBindingSnapshot, - pub steps: Vec, - pub active_step_id: Option, + pub steps: Vec::, + pub active_step_id: Option::, pub visible_stage: u32, - pub hidden_flags: Vec, - pub discovered_fact_ids: Vec, - pub related_carrier_ids: Vec, - pub consequence_ids: Vec, + pub hidden_flags: Vec::, + pub discovered_fact_ids: Vec::, + pub related_carrier_ids: Vec::, + pub consequence_ids: Vec::, pub created_at_micros: i64, } + impl __sdk::InModule for QuestRecordInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_record_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_record_table.rs index 07e6e918..3ccd7a81 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_record_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_record_table.rs @@ -2,13 +2,18 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; -use super::quest_objective_snapshot_type::QuestObjectiveSnapshot; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_record_type::QuestRecord; -use super::quest_reward_snapshot_type::QuestRewardSnapshot; use super::quest_status_type::QuestStatus; +use super::quest_reward_snapshot_type::QuestRewardSnapshot; +use super::quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; use super::quest_step_snapshot_type::QuestStepSnapshot; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::quest_objective_snapshot_type::QuestObjectiveSnapshot; /// Table handle for the table `quest_record`. /// @@ -49,12 +54,8 @@ impl<'ctx> __sdk::Table for QuestRecordTableHandle<'ctx> { type Row = QuestRecord; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = QuestRecordInsertCallbackId; @@ -100,38 +101,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for QuestRecordTableHandle<'ctx> { } } -/// Access to the `quest_id` unique index on the table `quest_record`, -/// which allows point queries on the field of the same name -/// via the [`QuestRecordQuestIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.quest_record().quest_id().find(...)`. -pub struct QuestRecordQuestIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> QuestRecordTableHandle<'ctx> { - /// Get a handle on the `quest_id` unique index on the table `quest_record`. - pub fn quest_id(&self) -> QuestRecordQuestIdUnique<'ctx> { - QuestRecordQuestIdUnique { - imp: self.imp.get_unique_constraint::("quest_id"), - phantom: std::marker::PhantomData, + /// Access to the `quest_id` unique index on the table `quest_record`, + /// which allows point queries on the field of the same name + /// via the [`QuestRecordQuestIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.quest_record().quest_id().find(...)`. + pub struct QuestRecordQuestIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> QuestRecordQuestIdUnique<'ctx> { - /// Find the subscribed row whose `quest_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 { - self.imp.find(col_val) - } -} + impl<'ctx> QuestRecordTableHandle<'ctx> { + /// Get a handle on the `quest_id` unique index on the table `quest_record`. + pub fn quest_id(&self) -> QuestRecordQuestIdUnique<'ctx> { + QuestRecordQuestIdUnique { + imp: self.imp.get_unique_constraint::("quest_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> QuestRecordQuestIdUnique<'ctx> { + /// Find the subscribed row whose `quest_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("quest_record"); _table.add_unique_constraint::("quest_id", |row| &row.quest_id); } @@ -141,24 +143,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `QuestRecord`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait quest_recordQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `QuestRecord`. - fn quest_record(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `QuestRecord`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait quest_recordQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `QuestRecord`. + fn quest_record(&self) -> __sdk::__query_builder::Table; + } + + impl quest_recordQueryTableAccess for __sdk::QueryTableAccessor { + fn quest_record(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("quest_record") + } + } -impl quest_recordQueryTableAccess for __sdk::QueryTableAccessor { - fn quest_record(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("quest_record") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_record_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_record_type.rs index 4243e91c..10f98806 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_record_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_record_type.rs @@ -2,28 +2,33 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; -use super::quest_objective_snapshot_type::QuestObjectiveSnapshot; -use super::quest_reward_snapshot_type::QuestRewardSnapshot; use super::quest_status_type::QuestStatus; +use super::quest_reward_snapshot_type::QuestRewardSnapshot; +use super::quest_narrative_binding_snapshot_type::QuestNarrativeBindingSnapshot; use super::quest_step_snapshot_type::QuestStepSnapshot; +use super::quest_objective_snapshot_type::QuestObjectiveSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct QuestRecord { pub quest_id: String, pub runtime_session_id: String, - pub story_session_id: Option, + pub story_session_id: Option::, pub actor_user_id: String, pub issuer_npc_id: String, pub issuer_npc_name: String, - pub scene_id: Option, - pub chapter_id: Option, - pub act_id: Option, - pub thread_id: Option, - pub contract_id: Option, + pub scene_id: Option::, + pub chapter_id: Option::, + pub act_id: Option::, + pub thread_id: Option::, + pub contract_id: Option::, pub title: String, pub description: String, pub summary: String, @@ -34,38 +39,40 @@ pub struct QuestRecord { pub reward: QuestRewardSnapshot, pub reward_text: String, pub narrative_binding: QuestNarrativeBindingSnapshot, - pub steps: Vec, - pub active_step_id: Option, + pub steps: Vec::, + pub active_step_id: Option::, pub visible_stage: u32, - pub hidden_flags: Vec, - pub discovered_fact_ids: Vec, - pub related_carrier_ids: Vec, - pub consequence_ids: Vec, + pub hidden_flags: Vec::, + pub discovered_fact_ids: Vec::, + pub related_carrier_ids: Vec::, + pub consequence_ids: Vec::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, - pub completed_at: Option<__sdk::Timestamp>, - pub turned_in_at: Option<__sdk::Timestamp>, + pub completed_at: Option::<__sdk::Timestamp>, + pub turned_in_at: Option::<__sdk::Timestamp>, } + impl __sdk::InModule for QuestRecord { type Module = super::RemoteModule; } + /// Column accessor struct for the table `QuestRecord`. /// /// Provides typed access to columns for query building. pub struct QuestRecordCols { pub quest_id: __sdk::__query_builder::Col, pub runtime_session_id: __sdk::__query_builder::Col, - pub story_session_id: __sdk::__query_builder::Col>, + pub story_session_id: __sdk::__query_builder::Col>, pub actor_user_id: __sdk::__query_builder::Col, pub issuer_npc_id: __sdk::__query_builder::Col, pub issuer_npc_name: __sdk::__query_builder::Col, - pub scene_id: __sdk::__query_builder::Col>, - pub chapter_id: __sdk::__query_builder::Col>, - pub act_id: __sdk::__query_builder::Col>, - pub thread_id: __sdk::__query_builder::Col>, - pub contract_id: __sdk::__query_builder::Col>, + pub scene_id: __sdk::__query_builder::Col>, + pub chapter_id: __sdk::__query_builder::Col>, + pub act_id: __sdk::__query_builder::Col>, + pub thread_id: __sdk::__query_builder::Col>, + pub contract_id: __sdk::__query_builder::Col>, pub title: __sdk::__query_builder::Col, pub description: __sdk::__query_builder::Col, pub summary: __sdk::__query_builder::Col, @@ -76,17 +83,17 @@ pub struct QuestRecordCols { pub reward: __sdk::__query_builder::Col, pub reward_text: __sdk::__query_builder::Col, pub narrative_binding: __sdk::__query_builder::Col, - pub steps: __sdk::__query_builder::Col>, - pub active_step_id: __sdk::__query_builder::Col>, + pub steps: __sdk::__query_builder::Col>, + pub active_step_id: __sdk::__query_builder::Col>, pub visible_stage: __sdk::__query_builder::Col, - pub hidden_flags: __sdk::__query_builder::Col>, - pub discovered_fact_ids: __sdk::__query_builder::Col>, - pub related_carrier_ids: __sdk::__query_builder::Col>, - pub consequence_ids: __sdk::__query_builder::Col>, + pub hidden_flags: __sdk::__query_builder::Col>, + pub discovered_fact_ids: __sdk::__query_builder::Col>, + pub related_carrier_ids: __sdk::__query_builder::Col>, + pub consequence_ids: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, - pub completed_at: __sdk::__query_builder::Col>, - pub turned_in_at: __sdk::__query_builder::Col>, + pub completed_at: __sdk::__query_builder::Col>, + pub turned_in_at: __sdk::__query_builder::Col>, } impl __sdk::__query_builder::HasCols for QuestRecord { @@ -110,10 +117,7 @@ impl __sdk::__query_builder::HasCols for QuestRecord { objective: __sdk::__query_builder::Col::new(table_name, "objective"), progress: __sdk::__query_builder::Col::new(table_name, "progress"), status: __sdk::__query_builder::Col::new(table_name, "status"), - completion_notified: __sdk::__query_builder::Col::new( - table_name, - "completion_notified", - ), + completion_notified: __sdk::__query_builder::Col::new(table_name, "completion_notified"), reward: __sdk::__query_builder::Col::new(table_name, "reward"), reward_text: __sdk::__query_builder::Col::new(table_name, "reward_text"), narrative_binding: __sdk::__query_builder::Col::new(table_name, "narrative_binding"), @@ -121,19 +125,14 @@ impl __sdk::__query_builder::HasCols for QuestRecord { active_step_id: __sdk::__query_builder::Col::new(table_name, "active_step_id"), visible_stage: __sdk::__query_builder::Col::new(table_name, "visible_stage"), hidden_flags: __sdk::__query_builder::Col::new(table_name, "hidden_flags"), - discovered_fact_ids: __sdk::__query_builder::Col::new( - table_name, - "discovered_fact_ids", - ), - related_carrier_ids: __sdk::__query_builder::Col::new( - table_name, - "related_carrier_ids", - ), + discovered_fact_ids: __sdk::__query_builder::Col::new(table_name, "discovered_fact_ids"), + related_carrier_ids: __sdk::__query_builder::Col::new(table_name, "related_carrier_ids"), consequence_ids: __sdk::__query_builder::Col::new(table_name, "consequence_ids"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), completed_at: __sdk::__query_builder::Col::new(table_name, "completed_at"), turned_in_at: __sdk::__query_builder::Col::new(table_name, "turned_in_at"), + } } } @@ -155,12 +154,11 @@ impl __sdk::__query_builder::HasIxCols for QuestRecord { actor_user_id: __sdk::__query_builder::IxCol::new(table_name, "actor_user_id"), issuer_npc_id: __sdk::__query_builder::IxCol::new(table_name, "issuer_npc_id"), quest_id: __sdk::__query_builder::IxCol::new(table_name, "quest_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for QuestRecord {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_equipment_slot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_equipment_slot_type.rs index 43a942c4..333521e0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_equipment_slot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_equipment_slot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum QuestRewardEquipmentSlot { Armor, Relic, + } + + impl __sdk::InModule for QuestRewardEquipmentSlot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_intel_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_intel_type.rs index 9938686a..560847bd 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_intel_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_intel_type.rs @@ -2,15 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct QuestRewardIntel { pub rumor_text: String, - pub unlocked_scene_id: Option, + pub unlocked_scene_id: Option::, } + impl __sdk::InModule for QuestRewardIntel { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_rarity_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_rarity_type.rs index 7fc4f7ec..632c46aa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_rarity_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_rarity_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum QuestRewardItemRarity { Epic, Legendary, + } + + impl __sdk::InModule for QuestRewardItemRarity { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_type.rs index a62f9d93..dc0af611 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_item_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::quest_reward_equipment_slot_type::QuestRewardEquipmentSlot; use super::quest_reward_item_rarity_type::QuestRewardItemRarity; +use super::quest_reward_equipment_slot_type::QuestRewardEquipmentSlot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,15 +18,17 @@ pub struct QuestRewardItem { pub item_id: String, pub category: String, pub name: String, - pub description: Option, + pub description: Option::, pub quantity: u32, pub rarity: QuestRewardItemRarity, - pub tags: Vec, + pub tags: Vec::, pub stackable: bool, pub stack_key: String, - pub equipment_slot_id: Option, + pub equipment_slot_id: Option::, } + impl __sdk::InModule for QuestRewardItem { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_snapshot_type.rs index 995e84ad..55790858 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_reward_snapshot_type.rs @@ -2,22 +2,29 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::quest_reward_intel_type::QuestRewardIntel; use super::quest_reward_item_type::QuestRewardItem; +use super::quest_reward_intel_type::QuestRewardIntel; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct QuestRewardSnapshot { pub affinity_bonus: i32, pub currency: i64, - pub experience: Option, - pub items: Vec, - pub intel: Option, - pub story_hint: Option, + pub experience: Option::, + pub items: Vec::, + pub intel: Option::, + pub story_hint: Option::, } + impl __sdk::InModule for QuestRewardSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_scene_reached_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_scene_reached_signal_type.rs index 723d9325..d188fab1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_scene_reached_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_scene_reached_signal_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct QuestSceneReachedSignal { pub scene_id: String, } + impl __sdk::InModule for QuestSceneReachedSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_apply_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_apply_input_type.rs index d93ff928..89cc2c6f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_apply_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_apply_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_progress_signal_type::QuestProgressSignal; @@ -14,6 +19,8 @@ pub struct QuestSignalApplyInput { pub updated_at_micros: i64, } + impl __sdk::InModule for QuestSignalApplyInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_kind_type.rs index 04ea6661..0d36f2fa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_signal_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum QuestSignalKind { SceneReached, ItemDelivered, + } + + impl __sdk::InModule for QuestSignalKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_status_type.rs index f5defbb7..3ea098d8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum QuestStatus { Failed, Expired, + } + + impl __sdk::InModule for QuestStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_step_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_step_snapshot_type.rs index 0f27cb9e..c1e3bc1a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_step_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_step_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_objective_kind_type::QuestObjectiveKind; @@ -11,10 +16,10 @@ use super::quest_objective_kind_type::QuestObjectiveKind; pub struct QuestStepSnapshot { pub step_id: String, pub kind: QuestObjectiveKind, - pub target_hostile_npc_id: Option, - pub target_npc_id: Option, - pub target_scene_id: Option, - pub target_item_id: Option, + pub target_hostile_npc_id: Option::, + pub target_npc_id: Option::, + pub target_scene_id: Option::, + pub target_item_id: Option::, pub required_count: u32, pub progress: u32, pub title: String, @@ -22,6 +27,8 @@ pub struct QuestStepSnapshot { pub complete_text: String, } + impl __sdk::InModule for QuestStepSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_treasure_inspected_signal_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_treasure_inspected_signal_type.rs index 51caed77..8003e616 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_treasure_inspected_signal_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_treasure_inspected_signal_type.rs @@ -2,14 +2,22 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct QuestTreasureInspectedSignal { - pub scene_id: Option, + pub scene_id: Option::, } + impl __sdk::InModule for QuestTreasureInspectedSignal { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/quest_turn_in_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/quest_turn_in_input_type.rs index 4f48a44a..9d87ae49 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/quest_turn_in_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/quest_turn_in_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct QuestTurnInInput { pub turned_in_at_micros: i64, } + impl __sdk::InModule for QuestTurnInInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_and_return_procedure.rs index 7d6fbfd1..9b886a0d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::resolve_combat_action_input_type::ResolveCombatActionInput; use super::resolve_combat_action_procedure_result_type::ResolveCombatActionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ResolveCombatActionAndReturnArgs { + struct ResolveCombatActionAndReturnArgs { pub input: ResolveCombatActionInput, } + impl __sdk::InModule for ResolveCombatActionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ResolveCombatActionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait resolve_combat_action_and_return { - fn resolve_combat_action_and_return(&self, input: ResolveCombatActionInput) { - self.resolve_combat_action_and_return_then(input, |_, _| {}); + fn resolve_combat_action_and_return(&self, input: ResolveCombatActionInput, +) { + self.resolve_combat_action_and_return_then(input, |_, _| {}); } fn resolve_combat_action_and_return_then( &self, input: ResolveCombatActionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl resolve_combat_action_and_return for super::RemoteProcedures { &self, input: ResolveCombatActionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, ResolveCombatActionProcedureResult>( - "resolve_combat_action_and_return", - ResolveCombatActionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, ResolveCombatActionProcedureResult>( + "resolve_combat_action_and_return", + ResolveCombatActionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_input_type.rs index 7dea1c21..72c6524f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -18,6 +24,8 @@ pub struct ResolveCombatActionInput { pub updated_at_micros: i64, } + impl __sdk::InModule for ResolveCombatActionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_procedure_result_type.rs index c7a13f85..f21fc0ee 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::resolve_combat_action_result_type::ResolveCombatActionResult; @@ -10,10 +15,12 @@ use super::resolve_combat_action_result_type::ResolveCombatActionResult; #[sats(crate = __lib)] pub struct ResolveCombatActionProcedureResult { pub ok: bool, - pub result: Option, - pub error_message: Option, + pub result: Option::, + pub error_message: Option::, } + impl __sdk::InModule for ResolveCombatActionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_reducer.rs index 8398db8c..1c3f29c9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::resolve_combat_action_input_type::ResolveCombatActionInput; @@ -14,8 +19,10 @@ pub(super) struct ResolveCombatActionArgs { impl From for super::Reducer { fn from(args: ResolveCombatActionArgs) -> Self { - Self::ResolveCombatAction { input: args.input } - } + Self::ResolveCombatAction { + input: args.input, +} +} } impl __sdk::InModule for ResolveCombatActionArgs { @@ -33,8 +40,9 @@ pub trait resolve_combat_action { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`resolve_combat_action:resolve_combat_action_then`] to run a callback after the reducer completes. - fn resolve_combat_action(&self, input: ResolveCombatActionInput) -> __sdk::Result<()> { - self.resolve_combat_action_then(input, |_, _| {}) + fn resolve_combat_action(&self, input: ResolveCombatActionInput, +) -> __sdk::Result<()> { + self.resolve_combat_action_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `resolve_combat_action` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait resolve_combat_action { &self, input: ResolveCombatActionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl resolve_combat_action for super::RemoteReducers { &self, input: ResolveCombatActionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ResolveCombatActionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ResolveCombatActionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_result_type.rs index b47e088c..8057358f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_result_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::battle_state_snapshot_type::BattleStateSnapshot; use super::combat_outcome_type::CombatOutcome; +use super::battle_state_snapshot_type::BattleStateSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -16,6 +21,8 @@ pub struct ResolveCombatActionResult { pub outcome: CombatOutcome, } + impl __sdk::InModule for ResolveCombatActionResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_and_return_procedure.rs index 268483bf..150fa443 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::npc_battle_interaction_procedure_result_type::NpcBattleInteractionProcedureResult; use super::resolve_npc_battle_interaction_input_type::ResolveNpcBattleInteractionInput; +use super::npc_battle_interaction_procedure_result_type::NpcBattleInteractionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ResolveNpcBattleInteractionAndReturnArgs { + struct ResolveNpcBattleInteractionAndReturnArgs { pub input: ResolveNpcBattleInteractionInput, } + impl __sdk::InModule for ResolveNpcBattleInteractionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ResolveNpcBattleInteractionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait resolve_npc_battle_interaction_and_return { - fn resolve_npc_battle_interaction_and_return(&self, input: ResolveNpcBattleInteractionInput) { - self.resolve_npc_battle_interaction_and_return_then(input, |_, _| {}); + fn resolve_npc_battle_interaction_and_return(&self, input: ResolveNpcBattleInteractionInput, +) { + self.resolve_npc_battle_interaction_and_return_then(input, |_, _| {}); } fn resolve_npc_battle_interaction_and_return_then( &self, input: ResolveNpcBattleInteractionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl resolve_npc_battle_interaction_and_return for super::RemoteProcedures { &self, input: ResolveNpcBattleInteractionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, NpcBattleInteractionProcedureResult>( - "resolve_npc_battle_interaction_and_return", - ResolveNpcBattleInteractionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, NpcBattleInteractionProcedureResult>( + "resolve_npc_battle_interaction_and_return", + ResolveNpcBattleInteractionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_input_type.rs index e8eba7a6..907cc7e2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_input_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::resolve_npc_interaction_input_type::ResolveNpcInteractionInput; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; +use super::resolve_npc_interaction_input_type::ResolveNpcInteractionInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,7 +18,7 @@ pub struct ResolveNpcBattleInteractionInput { pub npc_interaction: ResolveNpcInteractionInput, pub story_session_id: String, pub actor_user_id: String, - pub battle_state_id: Option, + pub battle_state_id: Option::, pub player_hp: i32, pub player_max_hp: i32, pub player_mana: i32, @@ -21,9 +26,11 @@ pub struct ResolveNpcBattleInteractionInput { pub target_hp: i32, pub target_max_hp: i32, pub experience_reward: u32, - pub reward_items: Vec, + pub reward_items: Vec::, } + impl __sdk::InModule for ResolveNpcBattleInteractionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_and_return_procedure.rs index 4604fc30..4952a32a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::npc_interaction_procedure_result_type::NpcInteractionProcedureResult; use super::resolve_npc_interaction_input_type::ResolveNpcInteractionInput; +use super::npc_interaction_procedure_result_type::NpcInteractionProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ResolveNpcInteractionAndReturnArgs { + struct ResolveNpcInteractionAndReturnArgs { pub input: ResolveNpcInteractionInput, } + impl __sdk::InModule for ResolveNpcInteractionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ResolveNpcInteractionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait resolve_npc_interaction_and_return { - fn resolve_npc_interaction_and_return(&self, input: ResolveNpcInteractionInput) { - self.resolve_npc_interaction_and_return_then(input, |_, _| {}); + fn resolve_npc_interaction_and_return(&self, input: ResolveNpcInteractionInput, +) { + self.resolve_npc_interaction_and_return_then(input, |_, _| {}); } fn resolve_npc_interaction_and_return_then( &self, input: ResolveNpcInteractionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl resolve_npc_interaction_and_return for super::RemoteProcedures { &self, input: ResolveNpcInteractionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, NpcInteractionProcedureResult>( - "resolve_npc_interaction_and_return", - ResolveNpcInteractionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, NpcInteractionProcedureResult>( + "resolve_npc_interaction_and_return", + ResolveNpcInteractionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_input_type.rs index 9a4439ce..d553ea4e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,10 +17,12 @@ pub struct ResolveNpcInteractionInput { pub npc_id: String, pub npc_name: String, pub interaction_function_id: String, - pub release_npc_id: Option, + pub release_npc_id: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for ResolveNpcInteractionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_reducer.rs index 352f5a93..37563788 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::resolve_npc_interaction_input_type::ResolveNpcInteractionInput; @@ -14,8 +19,10 @@ pub(super) struct ResolveNpcInteractionArgs { impl From for super::Reducer { fn from(args: ResolveNpcInteractionArgs) -> Self { - Self::ResolveNpcInteraction { input: args.input } - } + Self::ResolveNpcInteraction { + input: args.input, +} +} } impl __sdk::InModule for ResolveNpcInteractionArgs { @@ -33,8 +40,9 @@ pub trait resolve_npc_interaction { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`resolve_npc_interaction:resolve_npc_interaction_then`] to run a callback after the reducer completes. - fn resolve_npc_interaction(&self, input: ResolveNpcInteractionInput) -> __sdk::Result<()> { - self.resolve_npc_interaction_then(input, |_, _| {}) + fn resolve_npc_interaction(&self, input: ResolveNpcInteractionInput, +) -> __sdk::Result<()> { + self.resolve_npc_interaction_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `resolve_npc_interaction` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait resolve_npc_interaction { &self, input: ResolveNpcInteractionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl resolve_npc_interaction for super::RemoteReducers { &self, input: ResolveNpcInteractionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ResolveNpcInteractionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ResolveNpcInteractionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_and_return_procedure.rs index 65b1690e..2411e620 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::npc_state_procedure_result_type::NpcStateProcedureResult; use super::resolve_npc_social_action_input_type::ResolveNpcSocialActionInput; +use super::npc_state_procedure_result_type::NpcStateProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ResolveNpcSocialActionAndReturnArgs { + struct ResolveNpcSocialActionAndReturnArgs { pub input: ResolveNpcSocialActionInput, } + impl __sdk::InModule for ResolveNpcSocialActionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ResolveNpcSocialActionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait resolve_npc_social_action_and_return { - fn resolve_npc_social_action_and_return(&self, input: ResolveNpcSocialActionInput) { - self.resolve_npc_social_action_and_return_then(input, |_, _| {}); + fn resolve_npc_social_action_and_return(&self, input: ResolveNpcSocialActionInput, +) { + self.resolve_npc_social_action_and_return_then(input, |_, _| {}); } fn resolve_npc_social_action_and_return_then( &self, input: ResolveNpcSocialActionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl resolve_npc_social_action_and_return for super::RemoteProcedures { &self, input: ResolveNpcSocialActionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, NpcStateProcedureResult>( - "resolve_npc_social_action_and_return", - ResolveNpcSocialActionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, NpcStateProcedureResult>( + "resolve_npc_social_action_and_return", + ResolveNpcSocialActionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_input_type.rs index 29487297..10df08b1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_social_action_kind_type::NpcSocialActionKind; @@ -13,11 +18,13 @@ pub struct ResolveNpcSocialActionInput { pub npc_id: String, pub npc_name: String, pub action_kind: NpcSocialActionKind, - pub affinity_gain_override: Option, - pub note: Option, + pub affinity_gain_override: Option::, + pub note: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for ResolveNpcSocialActionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_reducer.rs index 9b326931..e8717b6f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::resolve_npc_social_action_input_type::ResolveNpcSocialActionInput; @@ -14,8 +19,10 @@ pub(super) struct ResolveNpcSocialActionArgs { impl From for super::Reducer { fn from(args: ResolveNpcSocialActionArgs) -> Self { - Self::ResolveNpcSocialAction { input: args.input } - } + Self::ResolveNpcSocialAction { + input: args.input, +} +} } impl __sdk::InModule for ResolveNpcSocialActionArgs { @@ -33,8 +40,9 @@ pub trait resolve_npc_social_action { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`resolve_npc_social_action:resolve_npc_social_action_then`] to run a callback after the reducer completes. - fn resolve_npc_social_action(&self, input: ResolveNpcSocialActionInput) -> __sdk::Result<()> { - self.resolve_npc_social_action_then(input, |_, _| {}) + fn resolve_npc_social_action(&self, input: ResolveNpcSocialActionInput, +) -> __sdk::Result<()> { + self.resolve_npc_social_action_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `resolve_npc_social_action` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait resolve_npc_social_action { &self, input: ResolveNpcSocialActionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl resolve_npc_social_action for super::RemoteReducers { &self, input: ResolveNpcSocialActionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ResolveNpcSocialActionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ResolveNpcSocialActionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_and_return_procedure.rs index 0b8f6bad..cc50e10f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::treasure_record_procedure_result_type::TreasureRecordProcedureResult; use super::treasure_resolve_input_type::TreasureResolveInput; +use super::treasure_record_procedure_result_type::TreasureRecordProcedureResult; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ResolveTreasureInteractionAndReturnArgs { + struct ResolveTreasureInteractionAndReturnArgs { pub input: TreasureResolveInput, } + impl __sdk::InModule for ResolveTreasureInteractionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ResolveTreasureInteractionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait resolve_treasure_interaction_and_return { - fn resolve_treasure_interaction_and_return(&self, input: TreasureResolveInput) { - self.resolve_treasure_interaction_and_return_then(input, |_, _| {}); + fn resolve_treasure_interaction_and_return(&self, input: TreasureResolveInput, +) { + self.resolve_treasure_interaction_and_return_then(input, |_, _| {}); } fn resolve_treasure_interaction_and_return_then( &self, input: TreasureResolveInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl resolve_treasure_interaction_and_return for super::RemoteProcedures { &self, input: TreasureResolveInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, TreasureRecordProcedureResult>( - "resolve_treasure_interaction_and_return", - ResolveTreasureInteractionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, TreasureRecordProcedureResult>( + "resolve_treasure_interaction_and_return", + ResolveTreasureInteractionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_reducer.rs index 221ac39d..6a830425 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::treasure_resolve_input_type::TreasureResolveInput; @@ -14,8 +19,10 @@ pub(super) struct ResolveTreasureInteractionArgs { impl From for super::Reducer { fn from(args: ResolveTreasureInteractionArgs) -> Self { - Self::ResolveTreasureInteraction { input: args.input } - } + Self::ResolveTreasureInteraction { + input: args.input, +} +} } impl __sdk::InModule for ResolveTreasureInteractionArgs { @@ -33,8 +40,9 @@ pub trait resolve_treasure_interaction { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`resolve_treasure_interaction:resolve_treasure_interaction_then`] to run a callback after the reducer completes. - fn resolve_treasure_interaction(&self, input: TreasureResolveInput) -> __sdk::Result<()> { - self.resolve_treasure_interaction_then(input, |_, _| {}) + fn resolve_treasure_interaction(&self, input: TreasureResolveInput, +) -> __sdk::Result<()> { + self.resolve_treasure_interaction_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `resolve_treasure_interaction` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait resolve_treasure_interaction { &self, input: TreasureResolveInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl resolve_treasure_interaction for super::RemoteReducers { &self, input: TreasureResolveInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(ResolveTreasureInteractionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(ResolveTreasureInteractionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/resume_profile_save_archive_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/resume_profile_save_archive_and_return_procedure.rs index 73e6d668..8505e52a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/resume_profile_save_archive_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/resume_profile_save_archive_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_save_archive_procedure_result_type::RuntimeProfileSaveArchiveProcedureResult; use super::runtime_profile_save_archive_resume_input_type::RuntimeProfileSaveArchiveResumeInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct ResumeProfileSaveArchiveAndReturnArgs { + struct ResumeProfileSaveArchiveAndReturnArgs { pub input: RuntimeProfileSaveArchiveResumeInput, } + impl __sdk::InModule for ResumeProfileSaveArchiveAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for ResumeProfileSaveArchiveAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait resume_profile_save_archive_and_return { - fn resume_profile_save_archive_and_return(&self, input: RuntimeProfileSaveArchiveResumeInput) { - self.resume_profile_save_archive_and_return_then(input, |_, _| {}); + fn resume_profile_save_archive_and_return(&self, input: RuntimeProfileSaveArchiveResumeInput, +) { + self.resume_profile_save_archive_and_return_then(input, |_, _| {}); } fn resume_profile_save_archive_and_return_then( &self, input: RuntimeProfileSaveArchiveResumeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl resume_profile_save_archive_and_return for super::RemoteProcedures { &self, input: RuntimeProfileSaveArchiveResumeInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeProfileSaveArchiveProcedureResult>( - "resume_profile_save_archive_and_return", - ResumeProfileSaveArchiveAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeProfileSaveArchiveProcedureResult>( + "resume_profile_save_archive_and_return", + ResumeProfileSaveArchiveAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_kind_type.rs index e082dc36..3888a866 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -27,8 +32,12 @@ pub enum RpgAgentDraftCardKind { Carrier, SidequestSeed, + } + + impl __sdk::InModule for RpgAgentDraftCardKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_status_type.rs index 391625f5..f890218d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_draft_card_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum RpgAgentDraftCardStatus { Locked, Warning, + } + + impl __sdk::InModule for RpgAgentDraftCardStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_kind_type.rs index fc54a7b1..180466b0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum RpgAgentMessageKind { Warning, ActionResult, + } + + impl __sdk::InModule for RpgAgentMessageKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_role_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_role_type.rs index 67e383f2..ad7e445b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_role_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_message_role_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum RpgAgentMessageRole { Assistant, System, + } + + impl __sdk::InModule for RpgAgentMessageRole { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_status_type.rs index 555c0439..42cd9fc2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -15,8 +20,12 @@ pub enum RpgAgentOperationStatus { Completed, Failed, + } + + impl __sdk::InModule for RpgAgentOperationStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_type_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_type_type.rs index c3e7b8ac..60ee2ecf 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_type_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_operation_type_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -33,8 +38,12 @@ pub enum RpgAgentOperationType { PublishWorld, RevertCheckpoint, + } + + impl __sdk::InModule for RpgAgentOperationType { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_stage_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_stage_type.rs index 1a94e20f..b9d0cf0e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_stage_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/rpg_agent_stage_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -25,8 +30,12 @@ pub enum RpgAgentStage { Published, Error, + } + + impl __sdk::InModule for RpgAgentStage { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_clear_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_clear_input_type.rs index e5bc78f0..41fc6954 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_clear_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_clear_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeBrowseHistoryClearInput { pub user_id: String, } + impl __sdk::InModule for RuntimeBrowseHistoryClearInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_list_input_type.rs index cdc31641..5795bb3a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeBrowseHistoryListInput { pub user_id: String, } + impl __sdk::InModule for RuntimeBrowseHistoryListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_procedure_result_type.rs index 3721358f..9c02dd59 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_browse_history_snapshot_type::RuntimeBrowseHistorySnapshot; @@ -10,10 +15,12 @@ use super::runtime_browse_history_snapshot_type::RuntimeBrowseHistorySnapshot; #[sats(crate = __lib)] pub struct RuntimeBrowseHistoryProcedureResult { pub ok: bool, - pub entries: Vec, - pub error_message: Option, + pub entries: Vec::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeBrowseHistoryProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_snapshot_type.rs index 9222eaed..05c404c1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_browse_history_theme_mode_type::RuntimeBrowseHistoryThemeMode; @@ -16,7 +21,7 @@ pub struct RuntimeBrowseHistorySnapshot { pub world_name: String, pub subtitle: String, pub summary_text: String, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub theme_mode: RuntimeBrowseHistoryThemeMode, pub author_display_name: String, pub visited_at_micros: i64, @@ -24,6 +29,8 @@ pub struct RuntimeBrowseHistorySnapshot { pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeBrowseHistorySnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_sync_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_sync_input_type.rs index 0996e66e..09c9fb18 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_sync_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_sync_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_browse_history_write_input_type::RuntimeBrowseHistoryWriteInput; @@ -10,10 +15,12 @@ use super::runtime_browse_history_write_input_type::RuntimeBrowseHistoryWriteInp #[sats(crate = __lib)] pub struct RuntimeBrowseHistorySyncInput { pub user_id: String, - pub entries: Vec, + pub entries: Vec::, pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeBrowseHistorySyncInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_theme_mode_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_theme_mode_type.rs index fc8a1b11..de120fac 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_theme_mode_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_theme_mode_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -19,8 +24,12 @@ pub enum RuntimeBrowseHistoryThemeMode { Rift, Mythic, + } + + impl __sdk::InModule for RuntimeBrowseHistoryThemeMode { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_write_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_write_input_type.rs index 9a54bd81..fb087aac 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_write_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_browse_history_write_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,14 +16,16 @@ pub struct RuntimeBrowseHistoryWriteInput { pub owner_user_id: String, pub profile_id: String, pub world_name: String, - pub subtitle: Option, - pub summary_text: Option, - pub cover_image_src: Option, - pub theme_mode: Option, - pub author_display_name: Option, - pub visited_at: Option, + pub subtitle: Option::, + pub summary_text: Option::, + pub cover_image_src: Option::, + pub theme_mode: Option::, + pub author_display_name: Option::, + pub visited_at: Option::, } + impl __sdk::InModule for RuntimeBrowseHistoryWriteInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_procedure_result_type.rs index bf0e3103..09374d4c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_inventory_state_snapshot_type::RuntimeInventoryStateSnapshot; @@ -10,10 +15,12 @@ use super::runtime_inventory_state_snapshot_type::RuntimeInventoryStateSnapshot; #[sats(crate = __lib)] pub struct RuntimeInventoryStateProcedureResult { pub ok: bool, - pub snapshot: Option, - pub error_message: Option, + pub snapshot: Option::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeInventoryStateProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_query_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_query_input_type.rs index e6b02ed3..75c93962 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_query_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_query_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct RuntimeInventoryStateQueryInput { pub actor_user_id: String, } + impl __sdk::InModule for RuntimeInventoryStateQueryInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_snapshot_type.rs index 624e66c6..7ab3ebea 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_inventory_state_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::inventory_slot_snapshot_type::InventorySlotSnapshot; @@ -11,10 +16,12 @@ use super::inventory_slot_snapshot_type::InventorySlotSnapshot; pub struct RuntimeInventoryStateSnapshot { pub runtime_session_id: String, pub actor_user_id: String, - pub backpack_items: Vec, - pub equipment_items: Vec, + pub backpack_items: Vec::, + pub equipment_items: Vec::, } + impl __sdk::InModule for RuntimeInventoryStateSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_equipment_slot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_equipment_slot_type.rs index b539d4f3..01cd4888 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_equipment_slot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_equipment_slot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum RuntimeItemEquipmentSlot { Armor, Relic, + } + + impl __sdk::InModule for RuntimeItemEquipmentSlot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_rarity_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_rarity_type.rs index dc4250ab..a3316ea0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_rarity_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_rarity_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -17,8 +22,12 @@ pub enum RuntimeItemRewardItemRarity { Epic, Legendary, + } + + impl __sdk::InModule for RuntimeItemRewardItemRarity { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_snapshot_type.rs index 4df1f248..65bcb55c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_item_reward_item_snapshot_type.rs @@ -2,10 +2,15 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::runtime_item_equipment_slot_type::RuntimeItemEquipmentSlot; use super::runtime_item_reward_item_rarity_type::RuntimeItemRewardItemRarity; +use super::runtime_item_equipment_slot_type::RuntimeItemEquipmentSlot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,15 +18,17 @@ pub struct RuntimeItemRewardItemSnapshot { pub item_id: String, pub category: String, pub item_name: String, - pub description: Option, + pub description: Option::, pub quantity: u32, pub rarity: RuntimeItemRewardItemRarity, - pub tags: Vec, + pub tags: Vec::, pub stackable: bool, pub stack_key: String, - pub equipment_slot_id: Option, + pub equipment_slot_id: Option::, } + impl __sdk::InModule for RuntimeItemRewardItemSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_platform_theme_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_platform_theme_type.rs index cbb36c5d..7eef5e97 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_platform_theme_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_platform_theme_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum RuntimePlatformTheme { Light, Dark, + } + + impl __sdk::InModule for RuntimePlatformTheme { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_get_input_type.rs index 47af88ec..9be0a158 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeProfileDashboardGetInput { pub user_id: String, } + impl __sdk::InModule for RuntimeProfileDashboardGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_procedure_result_type.rs index fa80a719..a04facbb 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_dashboard_snapshot_type::RuntimeProfileDashboardSnapshot; @@ -10,10 +15,12 @@ use super::runtime_profile_dashboard_snapshot_type::RuntimeProfileDashboardSnaps #[sats(crate = __lib)] pub struct RuntimeProfileDashboardProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeProfileDashboardProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_snapshot_type.rs index a3e97b05..6a54e5ff 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_dashboard_snapshot_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,9 +17,11 @@ pub struct RuntimeProfileDashboardSnapshot { pub wallet_balance: u64, pub total_play_time_ms: u64, pub played_world_count: u32, - pub updated_at_micros: Option, + pub updated_at_micros: Option::, } + impl __sdk::InModule for RuntimeProfileDashboardSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_get_input_type.rs index 825a6707..99665ea0 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeProfilePlayStatsGetInput { pub user_id: String, } + impl __sdk::InModule for RuntimeProfilePlayStatsGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_procedure_result_type.rs index 5572f438..24044b8b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_play_stats_snapshot_type::RuntimeProfilePlayStatsSnapshot; @@ -10,10 +15,12 @@ use super::runtime_profile_play_stats_snapshot_type::RuntimeProfilePlayStatsSnap #[sats(crate = __lib)] pub struct RuntimeProfilePlayStatsProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeProfilePlayStatsProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_snapshot_type.rs index 472a99c0..e99d2e72 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_play_stats_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_played_world_snapshot_type::RuntimeProfilePlayedWorldSnapshot; @@ -11,10 +16,12 @@ use super::runtime_profile_played_world_snapshot_type::RuntimeProfilePlayedWorld pub struct RuntimeProfilePlayStatsSnapshot { pub user_id: String, pub total_play_time_ms: u64, - pub played_works: Vec, - pub updated_at_micros: Option, + pub played_works: Vec::, + pub updated_at_micros: Option::, } + impl __sdk::InModule for RuntimeProfilePlayStatsSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_played_world_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_played_world_snapshot_type.rs index fa6c1d2c..f642a84d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_played_world_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_played_world_snapshot_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,9 +16,9 @@ pub struct RuntimeProfilePlayedWorldSnapshot { pub played_world_id: String, pub user_id: String, pub world_key: String, - pub owner_user_id: Option, - pub profile_id: Option, - pub world_type: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub world_type: Option::, pub world_title: String, pub world_subtitle: String, pub first_played_at_micros: i64, @@ -20,6 +26,8 @@ pub struct RuntimeProfilePlayedWorldSnapshot { pub last_observed_play_time_ms: u64, } + impl __sdk::InModule for RuntimeProfilePlayedWorldSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_list_input_type.rs index 29eea52e..89524eb1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeProfileSaveArchiveListInput { pub user_id: String, } + impl __sdk::InModule for RuntimeProfileSaveArchiveListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_procedure_result_type.rs index 4f4d5c0c..7c8e7b07 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_procedure_result_type.rs @@ -2,21 +2,28 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::runtime_profile_save_archive_snapshot_type::RuntimeProfileSaveArchiveSnapshot; use super::runtime_snapshot_type::RuntimeSnapshot; +use super::runtime_profile_save_archive_snapshot_type::RuntimeProfileSaveArchiveSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct RuntimeProfileSaveArchiveProcedureResult { pub ok: bool, - pub entries: Vec, - pub record: Option, - pub current_snapshot: Option, - pub error_message: Option, + pub entries: Vec::, + pub record: Option::, + pub current_snapshot: Option::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeProfileSaveArchiveProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_resume_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_resume_input_type.rs index 186de3e0..a290bf1f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_resume_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_resume_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,6 +17,8 @@ pub struct RuntimeProfileSaveArchiveResumeInput { pub world_key: String, } + impl __sdk::InModule for RuntimeProfileSaveArchiveResumeInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_snapshot_type.rs index 9843ec8c..d88a1fab 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_save_archive_snapshot_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,21 +16,23 @@ pub struct RuntimeProfileSaveArchiveSnapshot { pub archive_id: String, pub user_id: String, pub world_key: String, - pub owner_user_id: Option, - pub profile_id: Option, - pub world_type: Option, + pub owner_user_id: Option::, + pub profile_id: Option::, + pub world_type: Option::, pub world_name: String, pub subtitle: String, pub summary_text: String, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub saved_at_micros: i64, pub bottom_tab: String, pub game_state_json: String, - pub current_story_json: Option, + pub current_story_json: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeProfileSaveArchiveSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_entry_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_entry_snapshot_type.rs index 8513884e..e4aa66b2 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_entry_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_entry_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_wallet_ledger_source_type_type::RuntimeProfileWalletLedgerSourceType; @@ -17,6 +22,8 @@ pub struct RuntimeProfileWalletLedgerEntrySnapshot { pub created_at_micros: i64, } + impl __sdk::InModule for RuntimeProfileWalletLedgerEntrySnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_list_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_list_input_type.rs index e8a1c111..10d9d0ff 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_list_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_list_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeProfileWalletLedgerListInput { pub user_id: String, } + impl __sdk::InModule for RuntimeProfileWalletLedgerListInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_procedure_result_type.rs index 1c0a2b05..809092ae 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_profile_wallet_ledger_entry_snapshot_type::RuntimeProfileWalletLedgerEntrySnapshot; @@ -10,10 +15,12 @@ use super::runtime_profile_wallet_ledger_entry_snapshot_type::RuntimeProfileWall #[sats(crate = __lib)] pub struct RuntimeProfileWalletLedgerProcedureResult { pub ok: bool, - pub entries: Vec, - pub error_message: Option, + pub entries: Vec::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeProfileWalletLedgerProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_source_type_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_source_type_type.rs index 2b98f5ef..23e8f759 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_source_type_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_source_type_type.rs @@ -2,15 +2,24 @@ // 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 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 RuntimeProfileWalletLedgerSourceType { SnapshotSync, + } + + impl __sdk::InModule for RuntimeProfileWalletLedgerSourceType { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_get_input_type.rs index 1b83318a..555c7863 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeSettingGetInput { pub user_id: String, } + impl __sdk::InModule for RuntimeSettingGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_procedure_result_type.rs index 792e33d4..e823af97 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_setting_snapshot_type::RuntimeSettingSnapshot; @@ -10,10 +15,12 @@ use super::runtime_setting_snapshot_type::RuntimeSettingSnapshot; #[sats(crate = __lib)] pub struct RuntimeSettingProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeSettingProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_snapshot_type.rs index 5d92990f..6d6ebae1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_platform_theme_type::RuntimePlatformTheme; @@ -16,6 +21,8 @@ pub struct RuntimeSettingSnapshot { pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeSettingSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_table.rs index dc1ed5bb..cc7fac56 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::runtime_platform_theme_type::RuntimePlatformTheme; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_setting_type::RuntimeSetting; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::runtime_platform_theme_type::RuntimePlatformTheme; /// Table handle for the table `runtime_setting`. /// @@ -45,12 +50,8 @@ impl<'ctx> __sdk::Table for RuntimeSettingTableHandle<'ctx> { type Row = RuntimeSetting; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = RuntimeSettingInsertCallbackId; @@ -96,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for RuntimeSettingTableHandle<'ctx> { } } -/// Access to the `user_id` unique index on the table `runtime_setting`, -/// which allows point queries on the field of the same name -/// via the [`RuntimeSettingUserIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.runtime_setting().user_id().find(...)`. -pub struct RuntimeSettingUserIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> RuntimeSettingTableHandle<'ctx> { - /// Get a handle on the `user_id` unique index on the table `runtime_setting`. - pub fn user_id(&self) -> RuntimeSettingUserIdUnique<'ctx> { - RuntimeSettingUserIdUnique { - imp: self.imp.get_unique_constraint::("user_id"), - phantom: std::marker::PhantomData, + /// Access to the `user_id` unique index on the table `runtime_setting`, + /// which allows point queries on the field of the same name + /// via the [`RuntimeSettingUserIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.runtime_setting().user_id().find(...)`. + pub struct RuntimeSettingUserIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> RuntimeSettingUserIdUnique<'ctx> { - /// Find the subscribed row whose `user_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 { - self.imp.find(col_val) - } -} + impl<'ctx> RuntimeSettingTableHandle<'ctx> { + /// Get a handle on the `user_id` unique index on the table `runtime_setting`. + pub fn user_id(&self) -> RuntimeSettingUserIdUnique<'ctx> { + RuntimeSettingUserIdUnique { + imp: self.imp.get_unique_constraint::("user_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> RuntimeSettingUserIdUnique<'ctx> { + /// Find the subscribed row whose `user_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("runtime_setting"); _table.add_unique_constraint::("user_id", |row| &row.user_id); } @@ -137,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `RuntimeSetting`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait runtime_settingQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `RuntimeSetting`. - fn runtime_setting(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `RuntimeSetting`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait runtime_settingQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `RuntimeSetting`. + fn runtime_setting(&self) -> __sdk::__query_builder::Table; + } + + impl runtime_settingQueryTableAccess for __sdk::QueryTableAccessor { + fn runtime_setting(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("runtime_setting") + } + } -impl runtime_settingQueryTableAccess for __sdk::QueryTableAccessor { - fn runtime_setting(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("runtime_setting") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_type.rs index 5a7b61b0..f3c72f73 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_platform_theme_type::RuntimePlatformTheme; @@ -16,10 +21,12 @@ pub struct RuntimeSetting { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for RuntimeSetting { type Module = super::RemoteModule; } + /// Column accessor struct for the table `RuntimeSetting`. /// /// Provides typed access to columns for query building. @@ -40,6 +47,7 @@ impl __sdk::__query_builder::HasCols for RuntimeSetting { platform_theme: __sdk::__query_builder::Col::new(table_name, "platform_theme"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -56,8 +64,10 @@ impl __sdk::__query_builder::HasIxCols for RuntimeSetting { fn ix_cols(table_name: &'static str) -> Self::IxCols { RuntimeSettingIxCols { user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for RuntimeSetting {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_upsert_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_upsert_input_type.rs index 7091bc8d..347e1675 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_upsert_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_setting_upsert_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_platform_theme_type::RuntimePlatformTheme; @@ -15,6 +20,8 @@ pub struct RuntimeSettingUpsertInput { pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeSettingUpsertInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_delete_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_delete_input_type.rs index 53bb194c..251417e4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_delete_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_delete_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeSnapshotDeleteInput { pub user_id: String, } + impl __sdk::InModule for RuntimeSnapshotDeleteInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_get_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_get_input_type.rs index c19034c6..7340dbf6 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_get_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_get_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct RuntimeSnapshotGetInput { pub user_id: String, } + impl __sdk::InModule for RuntimeSnapshotGetInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_procedure_result_type.rs index 4066d915..466a3e41 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_snapshot_type::RuntimeSnapshot; @@ -10,10 +15,12 @@ use super::runtime_snapshot_type::RuntimeSnapshot; #[sats(crate = __lib)] pub struct RuntimeSnapshotProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for RuntimeSnapshotProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_row_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_row_type.rs index da66941e..8eec233a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_row_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_row_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,15 +18,17 @@ pub struct RuntimeSnapshotRow { pub saved_at: __sdk::Timestamp, pub bottom_tab: String, pub game_state_json: String, - pub current_story_json: Option, + pub current_story_json: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for RuntimeSnapshotRow { type Module = super::RemoteModule; } + /// Column accessor struct for the table `RuntimeSnapshotRow`. /// /// Provides typed access to columns for query building. @@ -30,7 +38,7 @@ pub struct RuntimeSnapshotRowCols { pub saved_at: __sdk::__query_builder::Col, pub bottom_tab: __sdk::__query_builder::Col, pub game_state_json: __sdk::__query_builder::Col, - pub current_story_json: __sdk::__query_builder::Col>, + pub current_story_json: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -47,6 +55,7 @@ impl __sdk::__query_builder::HasCols for RuntimeSnapshotRow { current_story_json: __sdk::__query_builder::Col::new(table_name, "current_story_json"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -63,8 +72,10 @@ impl __sdk::__query_builder::HasIxCols for RuntimeSnapshotRow { fn ix_cols(table_name: &'static str) -> Self::IxCols { RuntimeSnapshotRowIxCols { user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for RuntimeSnapshotRow {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_table.rs index 9d105016..ea6106d1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_table.rs @@ -2,8 +2,13 @@ // 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::runtime_snapshot_row_type::RuntimeSnapshotRow; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `runtime_snapshot`. /// @@ -44,12 +49,8 @@ impl<'ctx> __sdk::Table for RuntimeSnapshotTableHandle<'ctx> { type Row = RuntimeSnapshotRow; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = RuntimeSnapshotInsertCallbackId; @@ -95,38 +96,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for RuntimeSnapshotTableHandle<'ctx> { } } -/// Access to the `user_id` unique index on the table `runtime_snapshot`, -/// which allows point queries on the field of the same name -/// via the [`RuntimeSnapshotUserIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.runtime_snapshot().user_id().find(...)`. -pub struct RuntimeSnapshotUserIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> RuntimeSnapshotTableHandle<'ctx> { - /// Get a handle on the `user_id` unique index on the table `runtime_snapshot`. - pub fn user_id(&self) -> RuntimeSnapshotUserIdUnique<'ctx> { - RuntimeSnapshotUserIdUnique { - imp: self.imp.get_unique_constraint::("user_id"), - phantom: std::marker::PhantomData, + /// Access to the `user_id` unique index on the table `runtime_snapshot`, + /// which allows point queries on the field of the same name + /// via the [`RuntimeSnapshotUserIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.runtime_snapshot().user_id().find(...)`. + pub struct RuntimeSnapshotUserIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> RuntimeSnapshotUserIdUnique<'ctx> { - /// Find the subscribed row whose `user_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 { - self.imp.find(col_val) - } -} + impl<'ctx> RuntimeSnapshotTableHandle<'ctx> { + /// Get a handle on the `user_id` unique index on the table `runtime_snapshot`. + pub fn user_id(&self) -> RuntimeSnapshotUserIdUnique<'ctx> { + RuntimeSnapshotUserIdUnique { + imp: self.imp.get_unique_constraint::("user_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> RuntimeSnapshotUserIdUnique<'ctx> { + /// Find the subscribed row whose `user_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("runtime_snapshot"); _table.add_unique_constraint::("user_id", |row| &row.user_id); } @@ -136,24 +138,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `RuntimeSnapshotRow`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait runtime_snapshotQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `RuntimeSnapshotRow`. - fn runtime_snapshot(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `RuntimeSnapshotRow`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait runtime_snapshotQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `RuntimeSnapshotRow`. + fn runtime_snapshot(&self) -> __sdk::__query_builder::Table; + } + + impl runtime_snapshotQueryTableAccess for __sdk::QueryTableAccessor { + fn runtime_snapshot(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("runtime_snapshot") + } + } -impl runtime_snapshotQueryTableAccess for __sdk::QueryTableAccessor { - fn runtime_snapshot(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("runtime_snapshot") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_type.rs index 1e9e14ad..e8ede33b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,11 +18,13 @@ pub struct RuntimeSnapshot { pub saved_at_micros: i64, pub bottom_tab: String, pub game_state_json: String, - pub current_story_json: Option, + pub current_story_json: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_upsert_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_upsert_input_type.rs index 9b3c75df..2379473f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_upsert_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/runtime_snapshot_upsert_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,10 +17,12 @@ pub struct RuntimeSnapshotUpsertInput { pub saved_at_micros: i64, pub bottom_tab: String, pub game_state_json: String, - pub current_story_json: Option, + pub current_story_json: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for RuntimeSnapshotUpsertInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/save_puzzle_generated_images_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/save_puzzle_generated_images_procedure.rs index 870d6d51..15ccc81f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/save_puzzle_generated_images_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/save_puzzle_generated_images_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; use super::puzzle_generated_images_save_input_type::PuzzleGeneratedImagesSaveInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SavePuzzleGeneratedImagesArgs { + struct SavePuzzleGeneratedImagesArgs { pub input: PuzzleGeneratedImagesSaveInput, } + impl __sdk::InModule for SavePuzzleGeneratedImagesArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SavePuzzleGeneratedImagesArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait save_puzzle_generated_images { - fn save_puzzle_generated_images(&self, input: PuzzleGeneratedImagesSaveInput) { - self.save_puzzle_generated_images_then(input, |_, _| {}); + fn save_puzzle_generated_images(&self, input: PuzzleGeneratedImagesSaveInput, +) { + self.save_puzzle_generated_images_then(input, |_, _| {}); } fn save_puzzle_generated_images_then( &self, input: PuzzleGeneratedImagesSaveInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl save_puzzle_generated_images for super::RemoteProcedures { &self, input: PuzzleGeneratedImagesSaveInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "save_puzzle_generated_images", - SavePuzzleGeneratedImagesArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "save_puzzle_generated_images", + SavePuzzleGeneratedImagesArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/select_puzzle_cover_image_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/select_puzzle_cover_image_procedure.rs index fd4dd93c..b12bb89a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/select_puzzle_cover_image_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/select_puzzle_cover_image_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; use super::puzzle_select_cover_image_input_type::PuzzleSelectCoverImageInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SelectPuzzleCoverImageArgs { + struct SelectPuzzleCoverImageArgs { pub input: PuzzleSelectCoverImageInput, } + impl __sdk::InModule for SelectPuzzleCoverImageArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SelectPuzzleCoverImageArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait select_puzzle_cover_image { - fn select_puzzle_cover_image(&self, input: PuzzleSelectCoverImageInput) { - self.select_puzzle_cover_image_then(input, |_, _| {}); + fn select_puzzle_cover_image(&self, input: PuzzleSelectCoverImageInput, +) { + self.select_puzzle_cover_image_then(input, |_, _| {}); } fn select_puzzle_cover_image_then( &self, input: PuzzleSelectCoverImageInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl select_puzzle_cover_image for super::RemoteProcedures { &self, input: PuzzleSelectCoverImageInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "select_puzzle_cover_image", - SelectPuzzleCoverImageArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "select_puzzle_cover_image", + SelectPuzzleCoverImageArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_reducer.rs index c5cc5256..44e89238 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_start_input_type::AiTaskStartInput; @@ -14,8 +19,10 @@ pub(super) struct StartAiTaskArgs { impl From for super::Reducer { fn from(args: StartAiTaskArgs) -> Self { - Self::StartAiTask { input: args.input } - } + Self::StartAiTask { + input: args.input, +} +} } impl __sdk::InModule for StartAiTaskArgs { @@ -33,8 +40,9 @@ pub trait start_ai_task { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`start_ai_task:start_ai_task_then`] to run a callback after the reducer completes. - fn start_ai_task(&self, input: AiTaskStartInput) -> __sdk::Result<()> { - self.start_ai_task_then(input, |_, _| {}) + fn start_ai_task(&self, input: AiTaskStartInput, +) -> __sdk::Result<()> { + self.start_ai_task_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `start_ai_task` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait start_ai_task { &self, input: AiTaskStartInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl start_ai_task for super::RemoteReducers { &self, input: AiTaskStartInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(StartAiTaskArgs { input }, callback) + self.imp.invoke_reducer_with_callback(StartAiTaskArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_stage_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_stage_reducer.rs index 24ed5b3f..74b85d62 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_stage_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/start_ai_task_stage_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::ai_task_stage_start_input_type::AiTaskStageStartInput; @@ -14,8 +19,10 @@ pub(super) struct StartAiTaskStageArgs { impl From for super::Reducer { fn from(args: StartAiTaskStageArgs) -> Self { - Self::StartAiTaskStage { input: args.input } - } + Self::StartAiTaskStage { + input: args.input, +} +} } impl __sdk::InModule for StartAiTaskStageArgs { @@ -33,8 +40,9 @@ pub trait start_ai_task_stage { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`start_ai_task_stage:start_ai_task_stage_then`] to run a callback after the reducer completes. - fn start_ai_task_stage(&self, input: AiTaskStageStartInput) -> __sdk::Result<()> { - self.start_ai_task_stage_then(input, |_, _| {}) + fn start_ai_task_stage(&self, input: AiTaskStageStartInput, +) -> __sdk::Result<()> { + self.start_ai_task_stage_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `start_ai_task_stage` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait start_ai_task_stage { &self, input: AiTaskStageStartInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl start_ai_task_stage for super::RemoteReducers { &self, input: AiTaskStageStartInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(StartAiTaskStageArgs { input }, callback) + self.imp.invoke_reducer_with_callback(StartAiTaskStageArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/start_big_fish_run_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/start_big_fish_run_procedure.rs index 6a149f03..b9b3b28c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/start_big_fish_run_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/start_big_fish_run_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::big_fish_run_procedure_result_type::BigFishRunProcedureResult; use super::big_fish_run_start_input_type::BigFishRunStartInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct StartBigFishRunArgs { + struct StartBigFishRunArgs { pub input: BigFishRunStartInput, } + impl __sdk::InModule for StartBigFishRunArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for StartBigFishRunArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait start_big_fish_run { - fn start_big_fish_run(&self, input: BigFishRunStartInput) { - self.start_big_fish_run_then(input, |_, _| {}); + fn start_big_fish_run(&self, input: BigFishRunStartInput, +) { + self.start_big_fish_run_then(input, |_, _| {}); } fn start_big_fish_run_then( &self, input: BigFishRunStartInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl start_big_fish_run for super::RemoteProcedures { &self, input: BigFishRunStartInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishRunProcedureResult>( - "start_big_fish_run", - StartBigFishRunArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishRunProcedureResult>( + "start_big_fish_run", + StartBigFishRunArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/start_puzzle_run_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/start_puzzle_run_procedure.rs index c3d6d457..849856c8 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/start_puzzle_run_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/start_puzzle_run_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_run_procedure_result_type::PuzzleRunProcedureResult; use super::puzzle_run_start_input_type::PuzzleRunStartInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct StartPuzzleRunArgs { + struct StartPuzzleRunArgs { pub input: PuzzleRunStartInput, } + impl __sdk::InModule for StartPuzzleRunArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for StartPuzzleRunArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait start_puzzle_run { - fn start_puzzle_run(&self, input: PuzzleRunStartInput) { - self.start_puzzle_run_then(input, |_, _| {}); + fn start_puzzle_run(&self, input: PuzzleRunStartInput, +) { + self.start_puzzle_run_then(input, |_, _| {}); } fn start_puzzle_run_then( &self, input: PuzzleRunStartInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl start_puzzle_run for super::RemoteProcedures { &self, input: PuzzleRunStartInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( - "start_puzzle_run", - StartPuzzleRunArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( + "start_puzzle_run", + StartPuzzleRunArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_continue_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_continue_input_type.rs index e0b3f730..d84dde42 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_continue_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_continue_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,10 +16,12 @@ pub struct StoryContinueInput { pub story_session_id: String, pub event_id: String, pub narrative_text: String, - pub choice_function_id: Option, + pub choice_function_id: Option::, pub updated_at_micros: i64, } + impl __sdk::InModule for StoryContinueInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_event_kind_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_event_kind_type.rs index 29836b4a..1072867e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_event_kind_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_event_kind_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -11,8 +16,12 @@ pub enum StoryEventKind { SessionStarted, StoryContinued, + } + + impl __sdk::InModule for StoryEventKind { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_event_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_event_snapshot_type.rs index 881799d5..4afacc4a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_event_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_event_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_event_kind_type::StoryEventKind; @@ -13,10 +18,12 @@ pub struct StoryEventSnapshot { pub story_session_id: String, pub event_kind: StoryEventKind, pub narrative_text: String, - pub choice_function_id: Option, + pub choice_function_id: Option::, pub created_at_micros: i64, } + impl __sdk::InModule for StoryEventSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_event_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_event_table.rs index 232a554e..b702797b 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_event_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_event_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::story_event_kind_type::StoryEventKind; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_event_type::StoryEvent; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::story_event_kind_type::StoryEventKind; /// Table handle for the table `story_event`. /// @@ -45,12 +50,8 @@ impl<'ctx> __sdk::Table for StoryEventTableHandle<'ctx> { type Row = StoryEvent; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = StoryEventInsertCallbackId; @@ -96,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for StoryEventTableHandle<'ctx> { } } -/// Access to the `event_id` unique index on the table `story_event`, -/// which allows point queries on the field of the same name -/// via the [`StoryEventEventIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.story_event().event_id().find(...)`. -pub struct StoryEventEventIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> StoryEventTableHandle<'ctx> { - /// Get a handle on the `event_id` unique index on the table `story_event`. - pub fn event_id(&self) -> StoryEventEventIdUnique<'ctx> { - StoryEventEventIdUnique { - imp: self.imp.get_unique_constraint::("event_id"), - phantom: std::marker::PhantomData, + /// Access to the `event_id` unique index on the table `story_event`, + /// which allows point queries on the field of the same name + /// via the [`StoryEventEventIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.story_event().event_id().find(...)`. + pub struct StoryEventEventIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> StoryEventEventIdUnique<'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 { - self.imp.find(col_val) - } -} + impl<'ctx> StoryEventTableHandle<'ctx> { + /// Get a handle on the `event_id` unique index on the table `story_event`. + pub fn event_id(&self) -> StoryEventEventIdUnique<'ctx> { + StoryEventEventIdUnique { + imp: self.imp.get_unique_constraint::("event_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> StoryEventEventIdUnique<'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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("story_event"); _table.add_unique_constraint::("event_id", |row| &row.event_id); } @@ -137,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `StoryEvent`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait story_eventQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `StoryEvent`. - fn story_event(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `StoryEvent`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait story_eventQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `StoryEvent`. + fn story_event(&self) -> __sdk::__query_builder::Table; + } + + impl story_eventQueryTableAccess for __sdk::QueryTableAccessor { + fn story_event(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("story_event") + } + } -impl story_eventQueryTableAccess for __sdk::QueryTableAccessor { - fn story_event(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("story_event") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_event_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_event_type.rs index 4d3bdd9f..3c9c102d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_event_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_event_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_event_kind_type::StoryEventKind; @@ -13,14 +18,16 @@ pub struct StoryEvent { pub story_session_id: String, pub event_kind: StoryEventKind, pub narrative_text: String, - pub choice_function_id: Option, + pub choice_function_id: Option::, pub created_at: __sdk::Timestamp, } + impl __sdk::InModule for StoryEvent { type Module = super::RemoteModule; } + /// Column accessor struct for the table `StoryEvent`. /// /// Provides typed access to columns for query building. @@ -29,7 +36,7 @@ pub struct StoryEventCols { pub story_session_id: __sdk::__query_builder::Col, pub event_kind: __sdk::__query_builder::Col, pub narrative_text: __sdk::__query_builder::Col, - pub choice_function_id: __sdk::__query_builder::Col>, + pub choice_function_id: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, } @@ -43,6 +50,7 @@ impl __sdk::__query_builder::HasCols for StoryEvent { narrative_text: __sdk::__query_builder::Col::new(table_name, "narrative_text"), choice_function_id: __sdk::__query_builder::Col::new(table_name, "choice_function_id"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), + } } } @@ -61,8 +69,10 @@ impl __sdk::__query_builder::HasIxCols for StoryEvent { StoryEventIxCols { event_id: __sdk::__query_builder::IxCol::new(table_name, "event_id"), story_session_id: __sdk::__query_builder::IxCol::new(table_name, "story_session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for StoryEvent {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_input_type.rs index bebf3267..260fc1e4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -12,10 +18,12 @@ pub struct StorySessionInput { pub actor_user_id: String, pub world_profile_id: String, pub initial_prompt: String, - pub opening_summary: Option, + pub opening_summary: Option::, pub created_at_micros: i64, } + impl __sdk::InModule for StorySessionInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_procedure_result_type.rs index 4548d9cc..3e1cfa4f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_procedure_result_type.rs @@ -2,20 +2,27 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::story_event_snapshot_type::StoryEventSnapshot; use super::story_session_snapshot_type::StorySessionSnapshot; +use super::story_event_snapshot_type::StoryEventSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct StorySessionProcedureResult { pub ok: bool, - pub session: Option, - pub event: Option, - pub error_message: Option, + pub session: Option::, + pub event: Option::, + pub error_message: Option::, } + impl __sdk::InModule for StorySessionProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_snapshot_type.rs index b8d2daf6..46f1072f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_session_status_type::StorySessionStatus; @@ -14,15 +19,17 @@ pub struct StorySessionSnapshot { pub actor_user_id: String, pub world_profile_id: String, pub initial_prompt: String, - pub opening_summary: Option, + pub opening_summary: Option::, pub latest_narrative_text: String, - pub latest_choice_function_id: Option, + pub latest_choice_function_id: Option::, pub status: StorySessionStatus, pub version: u32, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for StorySessionSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_input_type.rs index d860b7db..5e4e1476 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct StorySessionStateInput { pub story_session_id: String, } + impl __sdk::InModule for StorySessionStateInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_procedure_result_type.rs index cf2148d6..c33c4c77 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_state_procedure_result_type.rs @@ -2,20 +2,27 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::story_event_snapshot_type::StoryEventSnapshot; use super::story_session_snapshot_type::StorySessionSnapshot; +use super::story_event_snapshot_type::StoryEventSnapshot; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] pub struct StorySessionStateProcedureResult { pub ok: bool, - pub session: Option, - pub events: Vec, - pub error_message: Option, + pub session: Option::, + pub events: Vec::, + pub error_message: Option::, } + impl __sdk::InModule for StorySessionStateProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_status_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_status_type.rs index f04aae19..334433fa 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_status_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_status_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum StorySessionStatus { Completed, Archived, + } + + impl __sdk::InModule for StorySessionStatus { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_table.rs index 142f7fa1..d3b4dd67 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::story_session_status_type::StorySessionStatus; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_session_type::StorySession; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::story_session_status_type::StorySessionStatus; /// Table handle for the table `story_session`. /// @@ -45,12 +50,8 @@ impl<'ctx> __sdk::Table for StorySessionTableHandle<'ctx> { type Row = StorySession; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = StorySessionInsertCallbackId; @@ -96,38 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for StorySessionTableHandle<'ctx> { } } -/// Access to the `story_session_id` unique index on the table `story_session`, -/// which allows point queries on the field of the same name -/// via the [`StorySessionStorySessionIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.story_session().story_session_id().find(...)`. -pub struct StorySessionStorySessionIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> StorySessionTableHandle<'ctx> { - /// Get a handle on the `story_session_id` unique index on the table `story_session`. - pub fn story_session_id(&self) -> StorySessionStorySessionIdUnique<'ctx> { - StorySessionStorySessionIdUnique { - imp: self.imp.get_unique_constraint::("story_session_id"), - phantom: std::marker::PhantomData, + /// Access to the `story_session_id` unique index on the table `story_session`, + /// which allows point queries on the field of the same name + /// via the [`StorySessionStorySessionIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.story_session().story_session_id().find(...)`. + pub struct StorySessionStorySessionIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> StorySessionStorySessionIdUnique<'ctx> { - /// Find the subscribed row whose `story_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 { - self.imp.find(col_val) - } -} + impl<'ctx> StorySessionTableHandle<'ctx> { + /// Get a handle on the `story_session_id` unique index on the table `story_session`. + pub fn story_session_id(&self) -> StorySessionStorySessionIdUnique<'ctx> { + StorySessionStorySessionIdUnique { + imp: self.imp.get_unique_constraint::("story_session_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> StorySessionStorySessionIdUnique<'ctx> { + /// Find the subscribed row whose `story_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("story_session"); _table.add_unique_constraint::("story_session_id", |row| &row.story_session_id); } @@ -137,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `StorySession`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait story_sessionQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `StorySession`. - fn story_session(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `StorySession`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait story_sessionQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `StorySession`. + fn story_session(&self) -> __sdk::__query_builder::Table; + } + + impl story_sessionQueryTableAccess for __sdk::QueryTableAccessor { + fn story_session(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("story_session") + } + } -impl story_sessionQueryTableAccess for __sdk::QueryTableAccessor { - fn story_session(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("story_session") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/story_session_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/story_session_type.rs index f9534179..7fd0c7e9 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/story_session_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/story_session_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::story_session_status_type::StorySessionStatus; @@ -14,19 +19,21 @@ pub struct StorySession { pub actor_user_id: String, pub world_profile_id: String, pub initial_prompt: String, - pub opening_summary: Option, + pub opening_summary: Option::, pub latest_narrative_text: String, - pub latest_choice_function_id: Option, + pub latest_choice_function_id: Option::, pub status: StorySessionStatus, pub version: u32, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for StorySession { type Module = super::RemoteModule; } + /// Column accessor struct for the table `StorySession`. /// /// Provides typed access to columns for query building. @@ -36,9 +43,9 @@ pub struct StorySessionCols { pub actor_user_id: __sdk::__query_builder::Col, pub world_profile_id: __sdk::__query_builder::Col, pub initial_prompt: __sdk::__query_builder::Col, - pub opening_summary: __sdk::__query_builder::Col>, + pub opening_summary: __sdk::__query_builder::Col>, pub latest_narrative_text: __sdk::__query_builder::Col, - pub latest_choice_function_id: __sdk::__query_builder::Col>, + pub latest_choice_function_id: __sdk::__query_builder::Col>, pub status: __sdk::__query_builder::Col, pub version: __sdk::__query_builder::Col, pub created_at: __sdk::__query_builder::Col, @@ -55,18 +62,13 @@ impl __sdk::__query_builder::HasCols for StorySession { world_profile_id: __sdk::__query_builder::Col::new(table_name, "world_profile_id"), initial_prompt: __sdk::__query_builder::Col::new(table_name, "initial_prompt"), opening_summary: __sdk::__query_builder::Col::new(table_name, "opening_summary"), - latest_narrative_text: __sdk::__query_builder::Col::new( - table_name, - "latest_narrative_text", - ), - latest_choice_function_id: __sdk::__query_builder::Col::new( - table_name, - "latest_choice_function_id", - ), + latest_narrative_text: __sdk::__query_builder::Col::new(table_name, "latest_narrative_text"), + latest_choice_function_id: __sdk::__query_builder::Col::new(table_name, "latest_choice_function_id"), status: __sdk::__query_builder::Col::new(table_name, "status"), version: __sdk::__query_builder::Col::new(table_name, "version"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -85,13 +87,12 @@ impl __sdk::__query_builder::HasIxCols for StorySession { fn ix_cols(table_name: &'static str) -> Self::IxCols { StorySessionIxCols { actor_user_id: __sdk::__query_builder::IxCol::new(table_name, "actor_user_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), story_session_id: __sdk::__query_builder::IxCol::new(table_name, "story_session_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for StorySession {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_input_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_input_procedure.rs index e09583f4..b6e481b4 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_input_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_input_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_run_input_submit_input_type::BigFishRunInputSubmitInput; use super::big_fish_run_procedure_result_type::BigFishRunProcedureResult; +use super::big_fish_run_input_submit_input_type::BigFishRunInputSubmitInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SubmitBigFishInputArgs { + struct SubmitBigFishInputArgs { pub input: BigFishRunInputSubmitInput, } + impl __sdk::InModule for SubmitBigFishInputArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SubmitBigFishInputArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait submit_big_fish_input { - fn submit_big_fish_input(&self, input: BigFishRunInputSubmitInput) { - self.submit_big_fish_input_then(input, |_, _| {}); + fn submit_big_fish_input(&self, input: BigFishRunInputSubmitInput, +) { + self.submit_big_fish_input_then(input, |_, _| {}); } fn submit_big_fish_input_then( &self, input: BigFishRunInputSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl submit_big_fish_input for super::RemoteProcedures { &self, input: BigFishRunInputSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishRunProcedureResult>( - "submit_big_fish_input", - SubmitBigFishInputArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishRunProcedureResult>( + "submit_big_fish_input", + SubmitBigFishInputArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_message_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_message_procedure.rs index 307d7755..0fd8dc0d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_message_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_message_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::big_fish_message_submit_input_type::BigFishMessageSubmitInput; use super::big_fish_session_procedure_result_type::BigFishSessionProcedureResult; +use super::big_fish_message_submit_input_type::BigFishMessageSubmitInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SubmitBigFishMessageArgs { + struct SubmitBigFishMessageArgs { pub input: BigFishMessageSubmitInput, } + impl __sdk::InModule for SubmitBigFishMessageArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SubmitBigFishMessageArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait submit_big_fish_message { - fn submit_big_fish_message(&self, input: BigFishMessageSubmitInput) { - self.submit_big_fish_message_then(input, |_, _| {}); + fn submit_big_fish_message(&self, input: BigFishMessageSubmitInput, +) { + self.submit_big_fish_message_then(input, |_, _| {}); } fn submit_big_fish_message_then( &self, input: BigFishMessageSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl submit_big_fish_message for super::RemoteProcedures { &self, input: BigFishMessageSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( - "submit_big_fish_message", - SubmitBigFishMessageArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, BigFishSessionProcedureResult>( + "submit_big_fish_message", + SubmitBigFishMessageArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/submit_custom_world_agent_message_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/submit_custom_world_agent_message_procedure.rs index 5debac19..efb1c0b3 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/submit_custom_world_agent_message_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/submit_custom_world_agent_message_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::custom_world_agent_message_submit_input_type::CustomWorldAgentMessageSubmitInput; use super::custom_world_agent_operation_procedure_result_type::CustomWorldAgentOperationProcedureResult; +use super::custom_world_agent_message_submit_input_type::CustomWorldAgentMessageSubmitInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SubmitCustomWorldAgentMessageArgs { + struct SubmitCustomWorldAgentMessageArgs { pub input: CustomWorldAgentMessageSubmitInput, } + impl __sdk::InModule for SubmitCustomWorldAgentMessageArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SubmitCustomWorldAgentMessageArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait submit_custom_world_agent_message { - fn submit_custom_world_agent_message(&self, input: CustomWorldAgentMessageSubmitInput) { - self.submit_custom_world_agent_message_then(input, |_, _| {}); + fn submit_custom_world_agent_message(&self, input: CustomWorldAgentMessageSubmitInput, +) { + self.submit_custom_world_agent_message_then(input, |_, _| {}); } fn submit_custom_world_agent_message_then( &self, input: CustomWorldAgentMessageSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl submit_custom_world_agent_message for super::RemoteProcedures { &self, input: CustomWorldAgentMessageSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldAgentOperationProcedureResult>( - "submit_custom_world_agent_message", - SubmitCustomWorldAgentMessageArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldAgentOperationProcedureResult>( + "submit_custom_world_agent_message", + SubmitCustomWorldAgentMessageArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/submit_puzzle_agent_message_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/submit_puzzle_agent_message_procedure.rs index 0d9e94e5..4bca696e 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/submit_puzzle_agent_message_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/submit_puzzle_agent_message_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::puzzle_agent_message_submit_input_type::PuzzleAgentMessageSubmitInput; use super::puzzle_agent_session_procedure_result_type::PuzzleAgentSessionProcedureResult; +use super::puzzle_agent_message_submit_input_type::PuzzleAgentMessageSubmitInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SubmitPuzzleAgentMessageArgs { + struct SubmitPuzzleAgentMessageArgs { pub input: PuzzleAgentMessageSubmitInput, } + impl __sdk::InModule for SubmitPuzzleAgentMessageArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SubmitPuzzleAgentMessageArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait submit_puzzle_agent_message { - fn submit_puzzle_agent_message(&self, input: PuzzleAgentMessageSubmitInput) { - self.submit_puzzle_agent_message_then(input, |_, _| {}); + fn submit_puzzle_agent_message(&self, input: PuzzleAgentMessageSubmitInput, +) { + self.submit_puzzle_agent_message_then(input, |_, _| {}); } fn submit_puzzle_agent_message_then( &self, input: PuzzleAgentMessageSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl submit_puzzle_agent_message for super::RemoteProcedures { &self, input: PuzzleAgentMessageSubmitInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( - "submit_puzzle_agent_message", - SubmitPuzzleAgentMessageArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleAgentSessionProcedureResult>( + "submit_puzzle_agent_message", + SubmitPuzzleAgentMessageArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/swap_puzzle_pieces_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/swap_puzzle_pieces_procedure.rs index f5835607..dfcb2750 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/swap_puzzle_pieces_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/swap_puzzle_pieces_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_run_procedure_result_type::PuzzleRunProcedureResult; use super::puzzle_run_swap_input_type::PuzzleRunSwapInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct SwapPuzzlePiecesArgs { + struct SwapPuzzlePiecesArgs { pub input: PuzzleRunSwapInput, } + impl __sdk::InModule for SwapPuzzlePiecesArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for SwapPuzzlePiecesArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait swap_puzzle_pieces { - fn swap_puzzle_pieces(&self, input: PuzzleRunSwapInput) { - self.swap_puzzle_pieces_then(input, |_, _| {}); + fn swap_puzzle_pieces(&self, input: PuzzleRunSwapInput, +) { + self.swap_puzzle_pieces_then(input, |_, _| {}); } fn swap_puzzle_pieces_then( &self, input: PuzzleRunSwapInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl swap_puzzle_pieces for super::RemoteProcedures { &self, input: PuzzleRunSwapInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( - "swap_puzzle_pieces", - SwapPuzzlePiecesArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleRunProcedureResult>( + "swap_puzzle_pieces", + SwapPuzzlePiecesArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/treasure_interaction_action_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/treasure_interaction_action_type.rs index a9b61b0e..77e48673 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/treasure_interaction_action_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/treasure_interaction_action_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -13,8 +18,12 @@ pub enum TreasureInteractionAction { Leave, Secure, + } + + impl __sdk::InModule for TreasureInteractionAction { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_procedure_result_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_procedure_result_type.rs index d0ac0175..212c4042 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_procedure_result_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_procedure_result_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::treasure_record_snapshot_type::TreasureRecordSnapshot; @@ -10,10 +15,12 @@ use super::treasure_record_snapshot_type::TreasureRecordSnapshot; #[sats(crate = __lib)] pub struct TreasureRecordProcedureResult { pub ok: bool, - pub record: Option, - pub error_message: Option, + pub record: Option::, + pub error_message: Option::, } + impl __sdk::InModule for TreasureRecordProcedureResult { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_snapshot_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_snapshot_type.rs index 8d69d10e..29677339 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_snapshot_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_snapshot_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; use super::treasure_interaction_action_type::TreasureInteractionAction; @@ -16,18 +21,20 @@ pub struct TreasureRecordSnapshot { pub actor_user_id: String, pub encounter_id: String, pub encounter_name: String, - pub scene_id: Option, - pub scene_name: Option, + pub scene_id: Option::, + pub scene_name: Option::, pub action: TreasureInteractionAction, - pub reward_items: Vec, + pub reward_items: Vec::, pub reward_hp: u32, pub reward_mana: u32, pub reward_currency: u32, - pub story_hint: Option, + pub story_hint: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for TreasureRecordSnapshot { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_table.rs index 927e3256..c4e7b6cd 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_table.rs @@ -2,10 +2,15 @@ // 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::treasure_record_type::TreasureRecord; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; use super::treasure_interaction_action_type::TreasureInteractionAction; -use super::treasure_record_type::TreasureRecord; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; /// Table handle for the table `treasure_record`. /// @@ -46,12 +51,8 @@ impl<'ctx> __sdk::Table for TreasureRecordTableHandle<'ctx> { type Row = TreasureRecord; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = TreasureRecordInsertCallbackId; @@ -97,40 +98,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for TreasureRecordTableHandle<'ctx> { } } -/// Access to the `treasure_record_id` unique index on the table `treasure_record`, -/// which allows point queries on the field of the same name -/// via the [`TreasureRecordTreasureRecordIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.treasure_record().treasure_record_id().find(...)`. -pub struct TreasureRecordTreasureRecordIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> TreasureRecordTableHandle<'ctx> { - /// Get a handle on the `treasure_record_id` unique index on the table `treasure_record`. - pub fn treasure_record_id(&self) -> TreasureRecordTreasureRecordIdUnique<'ctx> { - TreasureRecordTreasureRecordIdUnique { - imp: self - .imp - .get_unique_constraint::("treasure_record_id"), - phantom: std::marker::PhantomData, + /// Access to the `treasure_record_id` unique index on the table `treasure_record`, + /// which allows point queries on the field of the same name + /// via the [`TreasureRecordTreasureRecordIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.treasure_record().treasure_record_id().find(...)`. + pub struct TreasureRecordTreasureRecordIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> TreasureRecordTreasureRecordIdUnique<'ctx> { - /// Find the subscribed row whose `treasure_record_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 { - self.imp.find(col_val) - } -} + impl<'ctx> TreasureRecordTableHandle<'ctx> { + /// Get a handle on the `treasure_record_id` unique index on the table `treasure_record`. + pub fn treasure_record_id(&self) -> TreasureRecordTreasureRecordIdUnique<'ctx> { + TreasureRecordTreasureRecordIdUnique { + imp: self.imp.get_unique_constraint::("treasure_record_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> TreasureRecordTreasureRecordIdUnique<'ctx> { + /// Find the subscribed row whose `treasure_record_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("treasure_record"); _table.add_unique_constraint::("treasure_record_id", |row| &row.treasure_record_id); } @@ -140,24 +140,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `TreasureRecord`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait treasure_recordQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `TreasureRecord`. - fn treasure_record(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `TreasureRecord`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait treasure_recordQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `TreasureRecord`. + fn treasure_record(&self) -> __sdk::__query_builder::Table; + } + + impl treasure_recordQueryTableAccess for __sdk::QueryTableAccessor { + fn treasure_record(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("treasure_record") + } + } -impl treasure_recordQueryTableAccess for __sdk::QueryTableAccessor { - fn treasure_record(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("treasure_record") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_type.rs index 9bcd8f6d..e757734f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/treasure_record_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; use super::treasure_interaction_action_type::TreasureInteractionAction; @@ -16,22 +21,24 @@ pub struct TreasureRecord { pub actor_user_id: String, pub encounter_id: String, pub encounter_name: String, - pub scene_id: Option, - pub scene_name: Option, + pub scene_id: Option::, + pub scene_name: Option::, pub action: TreasureInteractionAction, - pub reward_items: Vec, + pub reward_items: Vec::, pub reward_hp: u32, pub reward_mana: u32, pub reward_currency: u32, - pub story_hint: Option, + pub story_hint: Option::, pub created_at: __sdk::Timestamp, pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for TreasureRecord { type Module = super::RemoteModule; } + /// Column accessor struct for the table `TreasureRecord`. /// /// Provides typed access to columns for query building. @@ -42,15 +49,14 @@ pub struct TreasureRecordCols { pub actor_user_id: __sdk::__query_builder::Col, pub encounter_id: __sdk::__query_builder::Col, pub encounter_name: __sdk::__query_builder::Col, - pub scene_id: __sdk::__query_builder::Col>, - pub scene_name: __sdk::__query_builder::Col>, + pub scene_id: __sdk::__query_builder::Col>, + pub scene_name: __sdk::__query_builder::Col>, pub action: __sdk::__query_builder::Col, - pub reward_items: - __sdk::__query_builder::Col>, + pub reward_items: __sdk::__query_builder::Col>, pub reward_hp: __sdk::__query_builder::Col, pub reward_mana: __sdk::__query_builder::Col, pub reward_currency: __sdk::__query_builder::Col, - pub story_hint: __sdk::__query_builder::Col>, + pub story_hint: __sdk::__query_builder::Col>, pub created_at: __sdk::__query_builder::Col, pub updated_at: __sdk::__query_builder::Col, } @@ -75,6 +81,7 @@ impl __sdk::__query_builder::HasCols for TreasureRecord { story_hint: __sdk::__query_builder::Col::new(table_name, "story_hint"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -96,17 +103,13 @@ impl __sdk::__query_builder::HasIxCols for TreasureRecord { TreasureRecordIxCols { actor_user_id: __sdk::__query_builder::IxCol::new(table_name, "actor_user_id"), encounter_id: __sdk::__query_builder::IxCol::new(table_name, "encounter_id"), - runtime_session_id: __sdk::__query_builder::IxCol::new( - table_name, - "runtime_session_id", - ), + runtime_session_id: __sdk::__query_builder::IxCol::new(table_name, "runtime_session_id"), story_session_id: __sdk::__query_builder::IxCol::new(table_name, "story_session_id"), - treasure_record_id: __sdk::__query_builder::IxCol::new( - table_name, - "treasure_record_id", - ), + treasure_record_id: __sdk::__query_builder::IxCol::new(table_name, "treasure_record_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for TreasureRecord {} + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/treasure_resolve_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/treasure_resolve_input_type.rs index ef1083df..9893c678 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/treasure_resolve_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/treasure_resolve_input_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_item_reward_item_snapshot_type::RuntimeItemRewardItemSnapshot; use super::treasure_interaction_action_type::TreasureInteractionAction; @@ -16,18 +21,20 @@ pub struct TreasureResolveInput { pub actor_user_id: String, pub encounter_id: String, pub encounter_name: String, - pub scene_id: Option, - pub scene_name: Option, + pub scene_id: Option::, + pub scene_name: Option::, pub action: TreasureInteractionAction, - pub reward_items: Vec, + pub reward_items: Vec::, pub reward_hp: u32, pub reward_mana: u32, pub reward_currency: u32, - pub story_hint: Option, + pub story_hint: Option::, pub created_at_micros: i64, pub updated_at_micros: i64, } + impl __sdk::InModule for TreasureResolveInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/turn_in_quest_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/turn_in_quest_reducer.rs index 08727f04..2e9e88fd 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/turn_in_quest_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/turn_in_quest_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::quest_turn_in_input_type::QuestTurnInInput; @@ -14,8 +19,10 @@ pub(super) struct TurnInQuestArgs { impl From for super::Reducer { fn from(args: TurnInQuestArgs) -> Self { - Self::TurnInQuest { input: args.input } - } + Self::TurnInQuest { + input: args.input, +} +} } impl __sdk::InModule for TurnInQuestArgs { @@ -33,8 +40,9 @@ pub trait turn_in_quest { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`turn_in_quest:turn_in_quest_then`] to run a callback after the reducer completes. - fn turn_in_quest(&self, input: QuestTurnInInput) -> __sdk::Result<()> { - self.turn_in_quest_then(input, |_, _| {}) + fn turn_in_quest(&self, input: QuestTurnInInput, +) -> __sdk::Result<()> { + self.turn_in_quest_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `turn_in_quest` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait turn_in_quest { &self, input: QuestTurnInInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl turn_in_quest for super::RemoteReducers { &self, input: QuestTurnInInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(TurnInQuestArgs { input }, callback) + self.imp.invoke_reducer_with_callback(TurnInQuestArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/unequip_inventory_item_input_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/unequip_inventory_item_input_type.rs index 227f40ec..20ca72d7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/unequip_inventory_item_input_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/unequip_inventory_item_input_type.rs @@ -2,7 +2,13 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; + #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] @@ -10,6 +16,8 @@ pub struct UnequipInventoryItemInput { pub slot_id: String, } + impl __sdk::InModule for UnequipInventoryItemInput { type Module = super::RemoteModule; } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_and_return_procedure.rs index 31acccce..45e7a4a1 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; use super::custom_world_profile_unpublish_input_type::CustomWorldProfileUnpublishInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UnpublishCustomWorldProfileAndReturnArgs { + struct UnpublishCustomWorldProfileAndReturnArgs { pub input: CustomWorldProfileUnpublishInput, } + impl __sdk::InModule for UnpublishCustomWorldProfileAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UnpublishCustomWorldProfileAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait unpublish_custom_world_profile_and_return { - fn unpublish_custom_world_profile_and_return(&self, input: CustomWorldProfileUnpublishInput) { - self.unpublish_custom_world_profile_and_return_then(input, |_, _| {}); + fn unpublish_custom_world_profile_and_return(&self, input: CustomWorldProfileUnpublishInput, +) { + self.unpublish_custom_world_profile_and_return_then(input, |_, _| {}); } fn unpublish_custom_world_profile_and_return_then( &self, input: CustomWorldProfileUnpublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl unpublish_custom_world_profile_and_return for super::RemoteProcedures { &self, input: CustomWorldProfileUnpublishInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( - "unpublish_custom_world_profile_and_return", - UnpublishCustomWorldProfileAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( + "unpublish_custom_world_profile_and_return", + UnpublishCustomWorldProfileAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_reducer.rs index 51af927f..adedc423 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_profile_unpublish_input_type::CustomWorldProfileUnpublishInput; @@ -14,8 +19,10 @@ pub(super) struct UnpublishCustomWorldProfileArgs { impl From for super::Reducer { fn from(args: UnpublishCustomWorldProfileArgs) -> Self { - Self::UnpublishCustomWorldProfile { input: args.input } - } + Self::UnpublishCustomWorldProfile { + input: args.input, +} +} } impl __sdk::InModule for UnpublishCustomWorldProfileArgs { @@ -33,11 +40,9 @@ pub trait unpublish_custom_world_profile { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`unpublish_custom_world_profile:unpublish_custom_world_profile_then`] to run a callback after the reducer completes. - fn unpublish_custom_world_profile( - &self, - input: CustomWorldProfileUnpublishInput, - ) -> __sdk::Result<()> { - self.unpublish_custom_world_profile_then(input, |_, _| {}) + fn unpublish_custom_world_profile(&self, input: CustomWorldProfileUnpublishInput, +) -> __sdk::Result<()> { + self.unpublish_custom_world_profile_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `unpublish_custom_world_profile` to run as soon as possible, @@ -50,11 +55,9 @@ pub trait unpublish_custom_world_profile { &self, input: CustomWorldProfileUnpublishInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -63,13 +66,11 @@ impl unpublish_custom_world_profile for super::RemoteReducers { &self, input: CustomWorldProfileUnpublishInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(UnpublishCustomWorldProfileArgs { input }, callback) + self.imp.invoke_reducer_with_callback(UnpublishCustomWorldProfileArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/update_puzzle_work_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/update_puzzle_work_procedure.rs index 80571241..14a134df 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/update_puzzle_work_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/update_puzzle_work_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::puzzle_work_procedure_result_type::PuzzleWorkProcedureResult; use super::puzzle_work_upsert_input_type::PuzzleWorkUpsertInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpdatePuzzleWorkArgs { + struct UpdatePuzzleWorkArgs { pub input: PuzzleWorkUpsertInput, } + impl __sdk::InModule for UpdatePuzzleWorkArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpdatePuzzleWorkArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait update_puzzle_work { - fn update_puzzle_work(&self, input: PuzzleWorkUpsertInput) { - self.update_puzzle_work_then(input, |_, _| {}); + fn update_puzzle_work(&self, input: PuzzleWorkUpsertInput, +) { + self.update_puzzle_work_then(input, |_, _| {}); } fn update_puzzle_work_then( &self, input: PuzzleWorkUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl update_puzzle_work for super::RemoteProcedures { &self, input: PuzzleWorkUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( - "update_puzzle_work", - UpdatePuzzleWorkArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, PuzzleWorkProcedureResult>( + "update_puzzle_work", + UpdatePuzzleWorkArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_and_return_procedure.rs index be3ff473..2182ec5a 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; -use super::chapter_progression_input_type::ChapterProgressionInput; use super::chapter_progression_procedure_result_type::ChapterProgressionProcedureResult; +use super::chapter_progression_input_type::ChapterProgressionInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpsertChapterProgressionAndReturnArgs { + struct UpsertChapterProgressionAndReturnArgs { pub input: ChapterProgressionInput, } + impl __sdk::InModule for UpsertChapterProgressionAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpsertChapterProgressionAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait upsert_chapter_progression_and_return { - fn upsert_chapter_progression_and_return(&self, input: ChapterProgressionInput) { - self.upsert_chapter_progression_and_return_then(input, |_, _| {}); + fn upsert_chapter_progression_and_return(&self, input: ChapterProgressionInput, +) { + self.upsert_chapter_progression_and_return_then(input, |_, _| {}); } fn upsert_chapter_progression_and_return_then( &self, input: ChapterProgressionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl upsert_chapter_progression_and_return for super::RemoteProcedures { &self, input: ChapterProgressionInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, ChapterProgressionProcedureResult>( - "upsert_chapter_progression_and_return", - UpsertChapterProgressionAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, ChapterProgressionProcedureResult>( + "upsert_chapter_progression_and_return", + UpsertChapterProgressionAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_reducer.rs index de37e994..a01fe892 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::chapter_progression_input_type::ChapterProgressionInput; @@ -14,8 +19,10 @@ pub(super) struct UpsertChapterProgressionArgs { impl From for super::Reducer { fn from(args: UpsertChapterProgressionArgs) -> Self { - Self::UpsertChapterProgression { input: args.input } - } + Self::UpsertChapterProgression { + input: args.input, +} +} } impl __sdk::InModule for UpsertChapterProgressionArgs { @@ -33,8 +40,9 @@ pub trait upsert_chapter_progression { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`upsert_chapter_progression:upsert_chapter_progression_then`] to run a callback after the reducer completes. - fn upsert_chapter_progression(&self, input: ChapterProgressionInput) -> __sdk::Result<()> { - self.upsert_chapter_progression_then(input, |_, _| {}) + fn upsert_chapter_progression(&self, input: ChapterProgressionInput, +) -> __sdk::Result<()> { + self.upsert_chapter_progression_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `upsert_chapter_progression` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait upsert_chapter_progression { &self, input: ChapterProgressionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl upsert_chapter_progression for super::RemoteReducers { &self, input: ChapterProgressionInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(UpsertChapterProgressionArgs { input }, callback) + self.imp.invoke_reducer_with_callback(UpsertChapterProgressionArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_and_return_procedure.rs index a761ab95..e7720c06 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_library_mutation_result_type::CustomWorldLibraryMutationResult; use super::custom_world_profile_upsert_input_type::CustomWorldProfileUpsertInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpsertCustomWorldProfileAndReturnArgs { + struct UpsertCustomWorldProfileAndReturnArgs { pub input: CustomWorldProfileUpsertInput, } + impl __sdk::InModule for UpsertCustomWorldProfileAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpsertCustomWorldProfileAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait upsert_custom_world_profile_and_return { - fn upsert_custom_world_profile_and_return(&self, input: CustomWorldProfileUpsertInput) { - self.upsert_custom_world_profile_and_return_then(input, |_, _| {}); + fn upsert_custom_world_profile_and_return(&self, input: CustomWorldProfileUpsertInput, +) { + self.upsert_custom_world_profile_and_return_then(input, |_, _| {}); } fn upsert_custom_world_profile_and_return_then( &self, input: CustomWorldProfileUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl upsert_custom_world_profile_and_return for super::RemoteProcedures { &self, input: CustomWorldProfileUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( - "upsert_custom_world_profile_and_return", - UpsertCustomWorldProfileAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, CustomWorldLibraryMutationResult>( + "upsert_custom_world_profile_and_return", + UpsertCustomWorldProfileAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_reducer.rs index 91ca2652..353bc46f 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::custom_world_profile_upsert_input_type::CustomWorldProfileUpsertInput; @@ -14,8 +19,10 @@ pub(super) struct UpsertCustomWorldProfileArgs { impl From for super::Reducer { fn from(args: UpsertCustomWorldProfileArgs) -> Self { - Self::UpsertCustomWorldProfile { input: args.input } - } + Self::UpsertCustomWorldProfile { + input: args.input, +} +} } impl __sdk::InModule for UpsertCustomWorldProfileArgs { @@ -33,11 +40,9 @@ pub trait upsert_custom_world_profile { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`upsert_custom_world_profile:upsert_custom_world_profile_then`] to run a callback after the reducer completes. - fn upsert_custom_world_profile( - &self, - input: CustomWorldProfileUpsertInput, - ) -> __sdk::Result<()> { - self.upsert_custom_world_profile_then(input, |_, _| {}) + fn upsert_custom_world_profile(&self, input: CustomWorldProfileUpsertInput, +) -> __sdk::Result<()> { + self.upsert_custom_world_profile_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `upsert_custom_world_profile` to run as soon as possible, @@ -50,11 +55,9 @@ pub trait upsert_custom_world_profile { &self, input: CustomWorldProfileUpsertInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -63,13 +66,11 @@ impl upsert_custom_world_profile for super::RemoteReducers { &self, input: CustomWorldProfileUpsertInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(UpsertCustomWorldProfileArgs { input }, callback) + self.imp.invoke_reducer_with_callback(UpsertCustomWorldProfileArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_and_return_procedure.rs index 91ba0d0e..46ad5903 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_state_procedure_result_type::NpcStateProcedureResult; use super::npc_state_upsert_input_type::NpcStateUpsertInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpsertNpcStateAndReturnArgs { + struct UpsertNpcStateAndReturnArgs { pub input: NpcStateUpsertInput, } + impl __sdk::InModule for UpsertNpcStateAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpsertNpcStateAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait upsert_npc_state_and_return { - fn upsert_npc_state_and_return(&self, input: NpcStateUpsertInput) { - self.upsert_npc_state_and_return_then(input, |_, _| {}); + fn upsert_npc_state_and_return(&self, input: NpcStateUpsertInput, +) { + self.upsert_npc_state_and_return_then(input, |_, _| {}); } fn upsert_npc_state_and_return_then( &self, input: NpcStateUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl upsert_npc_state_and_return for super::RemoteProcedures { &self, input: NpcStateUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, NpcStateProcedureResult>( - "upsert_npc_state_and_return", - UpsertNpcStateAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, NpcStateProcedureResult>( + "upsert_npc_state_and_return", + UpsertNpcStateAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_reducer.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_reducer.rs index afbe61f8..1a6f10c7 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_reducer.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_reducer.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::npc_state_upsert_input_type::NpcStateUpsertInput; @@ -14,8 +19,10 @@ pub(super) struct UpsertNpcStateArgs { impl From for super::Reducer { fn from(args: UpsertNpcStateArgs) -> Self { - Self::UpsertNpcState { input: args.input } - } + Self::UpsertNpcState { + input: args.input, +} +} } impl __sdk::InModule for UpsertNpcStateArgs { @@ -33,8 +40,9 @@ pub trait upsert_npc_state { /// The reducer will run asynchronously in the future, /// and this method provides no way to listen for its completion status. /// /// Use [`upsert_npc_state:upsert_npc_state_then`] to run a callback after the reducer completes. - fn upsert_npc_state(&self, input: NpcStateUpsertInput) -> __sdk::Result<()> { - self.upsert_npc_state_then(input, |_, _| {}) + fn upsert_npc_state(&self, input: NpcStateUpsertInput, +) -> __sdk::Result<()> { + self.upsert_npc_state_then(input, |_, _| {}) } /// Request that the remote module invoke the reducer `upsert_npc_state` to run as soon as possible, @@ -47,11 +55,9 @@ pub trait upsert_npc_state { &self, input: NpcStateUpsertInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()>; } @@ -60,13 +66,11 @@ impl upsert_npc_state for super::RemoteReducers { &self, input: NpcStateUpsertInput, - callback: impl FnOnce( - &super::ReducerEventContext, - Result, __sdk::InternalError>, - ) + Send - + 'static, + callback: impl FnOnce(&super::ReducerEventContext, Result, __sdk::InternalError>) + + Send + + 'static, ) -> __sdk::Result<()> { - self.imp - .invoke_reducer_with_callback(UpsertNpcStateArgs { input }, callback) + self.imp.invoke_reducer_with_callback(UpsertNpcStateArgs { input, }, callback) } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_platform_browse_history_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_platform_browse_history_and_return_procedure.rs index 36e5f464..eb863a2d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_platform_browse_history_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_platform_browse_history_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_browse_history_procedure_result_type::RuntimeBrowseHistoryProcedureResult; use super::runtime_browse_history_sync_input_type::RuntimeBrowseHistorySyncInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpsertPlatformBrowseHistoryAndReturnArgs { + struct UpsertPlatformBrowseHistoryAndReturnArgs { pub input: RuntimeBrowseHistorySyncInput, } + impl __sdk::InModule for UpsertPlatformBrowseHistoryAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpsertPlatformBrowseHistoryAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait upsert_platform_browse_history_and_return { - fn upsert_platform_browse_history_and_return(&self, input: RuntimeBrowseHistorySyncInput) { - self.upsert_platform_browse_history_and_return_then(input, |_, _| {}); + fn upsert_platform_browse_history_and_return(&self, input: RuntimeBrowseHistorySyncInput, +) { + self.upsert_platform_browse_history_and_return_then(input, |_, _| {}); } fn upsert_platform_browse_history_and_return_then( &self, input: RuntimeBrowseHistorySyncInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl upsert_platform_browse_history_and_return for super::RemoteProcedures { &self, input: RuntimeBrowseHistorySyncInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeBrowseHistoryProcedureResult>( - "upsert_platform_browse_history_and_return", - UpsertPlatformBrowseHistoryAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeBrowseHistoryProcedureResult>( + "upsert_platform_browse_history_and_return", + UpsertPlatformBrowseHistoryAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_setting_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_setting_and_return_procedure.rs index f8fa0351..f820971c 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_setting_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_setting_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_setting_procedure_result_type::RuntimeSettingProcedureResult; use super::runtime_setting_upsert_input_type::RuntimeSettingUpsertInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpsertRuntimeSettingAndReturnArgs { + struct UpsertRuntimeSettingAndReturnArgs { pub input: RuntimeSettingUpsertInput, } + impl __sdk::InModule for UpsertRuntimeSettingAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpsertRuntimeSettingAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait upsert_runtime_setting_and_return { - fn upsert_runtime_setting_and_return(&self, input: RuntimeSettingUpsertInput) { - self.upsert_runtime_setting_and_return_then(input, |_, _| {}); + fn upsert_runtime_setting_and_return(&self, input: RuntimeSettingUpsertInput, +) { + self.upsert_runtime_setting_and_return_then(input, |_, _| {}); } fn upsert_runtime_setting_and_return_then( &self, input: RuntimeSettingUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl upsert_runtime_setting_and_return for super::RemoteProcedures { &self, input: RuntimeSettingUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeSettingProcedureResult>( - "upsert_runtime_setting_and_return", - UpsertRuntimeSettingAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeSettingProcedureResult>( + "upsert_runtime_setting_and_return", + UpsertRuntimeSettingAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_snapshot_and_return_procedure.rs b/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_snapshot_and_return_procedure.rs index fe0746ba..f86a0f7d 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_snapshot_and_return_procedure.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_snapshot_and_return_procedure.rs @@ -2,17 +2,23 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_snapshot_procedure_result_type::RuntimeSnapshotProcedureResult; use super::runtime_snapshot_upsert_input_type::RuntimeSnapshotUpsertInput; #[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)] #[sats(crate = __lib)] -struct UpsertRuntimeSnapshotAndReturnArgs { + struct UpsertRuntimeSnapshotAndReturnArgs { pub input: RuntimeSnapshotUpsertInput, } + impl __sdk::InModule for UpsertRuntimeSnapshotAndReturnArgs { type Module = super::RemoteModule; } @@ -22,19 +28,16 @@ impl __sdk::InModule for UpsertRuntimeSnapshotAndReturnArgs { /// /// Implemented for [`super::RemoteProcedures`]. pub trait upsert_runtime_snapshot_and_return { - fn upsert_runtime_snapshot_and_return(&self, input: RuntimeSnapshotUpsertInput) { - self.upsert_runtime_snapshot_and_return_then(input, |_, _| {}); + fn upsert_runtime_snapshot_and_return(&self, input: RuntimeSnapshotUpsertInput, +) { + self.upsert_runtime_snapshot_and_return_then(input, |_, _| {}); } fn upsert_runtime_snapshot_and_return_then( &self, input: RuntimeSnapshotUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ); } @@ -43,17 +46,13 @@ impl upsert_runtime_snapshot_and_return for super::RemoteProcedures { &self, input: RuntimeSnapshotUpsertInput, - __callback: impl FnOnce( - &super::ProcedureEventContext, - Result, - ) + Send - + 'static, + __callback: impl FnOnce(&super::ProcedureEventContext, Result) + Send + 'static, ) { - self.imp - .invoke_procedure_with_callback::<_, RuntimeSnapshotProcedureResult>( - "upsert_runtime_snapshot_and_return", - UpsertRuntimeSnapshotAndReturnArgs { input }, - __callback, - ); + self.imp.invoke_procedure_with_callback::<_, RuntimeSnapshotProcedureResult>( + "upsert_runtime_snapshot_and_return", + UpsertRuntimeSnapshotAndReturnArgs { input, }, + __callback, + ); } } + diff --git a/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_table.rs b/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_table.rs index 2341921d..933556ca 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_table.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_table.rs @@ -2,9 +2,14 @@ // WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD. #![allow(unused, clippy::all)] -use super::runtime_browse_history_theme_mode_type::RuntimeBrowseHistoryThemeMode; +use spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::user_browse_history_type::UserBrowseHistory; -use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws}; +use super::runtime_browse_history_theme_mode_type::RuntimeBrowseHistoryThemeMode; /// Table handle for the table `user_browse_history`. /// @@ -32,9 +37,7 @@ pub trait UserBrowseHistoryTableAccess { impl UserBrowseHistoryTableAccess for super::RemoteTables { fn user_browse_history(&self) -> UserBrowseHistoryTableHandle<'_> { UserBrowseHistoryTableHandle { - imp: self - .imp - .get_table::("user_browse_history"), + imp: self.imp.get_table::("user_browse_history"), ctx: std::marker::PhantomData, } } @@ -47,12 +50,8 @@ impl<'ctx> __sdk::Table for UserBrowseHistoryTableHandle<'ctx> { type Row = UserBrowseHistory; type EventContext = super::EventContext; - fn count(&self) -> u64 { - self.imp.count() - } - fn iter(&self) -> impl Iterator + '_ { - self.imp.iter() - } + fn count(&self) -> u64 { self.imp.count() } + fn iter(&self) -> impl Iterator + '_ { self.imp.iter() } type InsertCallbackId = UserBrowseHistoryInsertCallbackId; @@ -98,40 +97,39 @@ impl<'ctx> __sdk::TableWithPrimaryKey for UserBrowseHistoryTableHandle<'ctx> { } } -/// Access to the `browse_history_id` unique index on the table `user_browse_history`, -/// which allows point queries on the field of the same name -/// via the [`UserBrowseHistoryBrowseHistoryIdUnique::find`] method. -/// -/// Users are encouraged not to explicitly reference this type, -/// but to directly chain method calls, -/// like `ctx.db.user_browse_history().browse_history_id().find(...)`. -pub struct UserBrowseHistoryBrowseHistoryIdUnique<'ctx> { - imp: __sdk::UniqueConstraintHandle, - phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, -} - -impl<'ctx> UserBrowseHistoryTableHandle<'ctx> { - /// Get a handle on the `browse_history_id` unique index on the table `user_browse_history`. - pub fn browse_history_id(&self) -> UserBrowseHistoryBrowseHistoryIdUnique<'ctx> { - UserBrowseHistoryBrowseHistoryIdUnique { - imp: self - .imp - .get_unique_constraint::("browse_history_id"), - phantom: std::marker::PhantomData, + /// Access to the `browse_history_id` unique index on the table `user_browse_history`, + /// which allows point queries on the field of the same name + /// via the [`UserBrowseHistoryBrowseHistoryIdUnique::find`] method. + /// + /// Users are encouraged not to explicitly reference this type, + /// but to directly chain method calls, + /// like `ctx.db.user_browse_history().browse_history_id().find(...)`. + pub struct UserBrowseHistoryBrowseHistoryIdUnique<'ctx> { + imp: __sdk::UniqueConstraintHandle, + phantom: std::marker::PhantomData<&'ctx super::RemoteTables>, } - } -} -impl<'ctx> UserBrowseHistoryBrowseHistoryIdUnique<'ctx> { - /// Find the subscribed row whose `browse_history_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 { - self.imp.find(col_val) - } -} + impl<'ctx> UserBrowseHistoryTableHandle<'ctx> { + /// Get a handle on the `browse_history_id` unique index on the table `user_browse_history`. + pub fn browse_history_id(&self) -> UserBrowseHistoryBrowseHistoryIdUnique<'ctx> { + UserBrowseHistoryBrowseHistoryIdUnique { + imp: self.imp.get_unique_constraint::("browse_history_id"), + phantom: std::marker::PhantomData, + } + } + } + impl<'ctx> UserBrowseHistoryBrowseHistoryIdUnique<'ctx> { + /// Find the subscribed row whose `browse_history_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 { + self.imp.find(col_val) + } + } + #[doc(hidden)] pub(super) fn register_table(client_cache: &mut __sdk::ClientCache) { + let _table = client_cache.get_or_make_table::("user_browse_history"); _table.add_unique_constraint::("browse_history_id", |row| &row.browse_history_id); } @@ -141,24 +139,26 @@ pub(super) fn parse_table_update( raw_updates: __ws::v2::TableUpdate, ) -> __sdk::Result<__sdk::TableUpdate> { __sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| { - __sdk::InternalError::failed_parse("TableUpdate", "TableUpdate") - .with_cause(e) - .into() + __sdk::InternalError::failed_parse( + "TableUpdate", + "TableUpdate", + ).with_cause(e).into() }) } -#[allow(non_camel_case_types)] -/// Extension trait for query builder access to the table `UserBrowseHistory`. -/// -/// Implemented for [`__sdk::QueryTableAccessor`]. -pub trait user_browse_historyQueryTableAccess { - #[allow(non_snake_case)] - /// Get a query builder for the table `UserBrowseHistory`. - fn user_browse_history(&self) -> __sdk::__query_builder::Table; -} + #[allow(non_camel_case_types)] + /// Extension trait for query builder access to the table `UserBrowseHistory`. + /// + /// Implemented for [`__sdk::QueryTableAccessor`]. + pub trait user_browse_historyQueryTableAccess { + #[allow(non_snake_case)] + /// Get a query builder for the table `UserBrowseHistory`. + fn user_browse_history(&self) -> __sdk::__query_builder::Table; + } + + impl user_browse_historyQueryTableAccess for __sdk::QueryTableAccessor { + fn user_browse_history(&self) -> __sdk::__query_builder::Table { + __sdk::__query_builder::Table::new("user_browse_history") + } + } -impl user_browse_historyQueryTableAccess for __sdk::QueryTableAccessor { - fn user_browse_history(&self) -> __sdk::__query_builder::Table { - __sdk::__query_builder::Table::new("user_browse_history") - } -} diff --git a/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_type.rs b/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_type.rs index 3a6cf1ae..85e114be 100644 --- a/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_type.rs +++ b/server-rs/crates/spacetime-client/src/module_bindings/user_browse_history_type.rs @@ -2,7 +2,12 @@ // 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 spacetimedb_sdk::__codegen::{ + self as __sdk, + __lib, + __sats, + __ws, +}; use super::runtime_browse_history_theme_mode_type::RuntimeBrowseHistoryThemeMode; @@ -16,7 +21,7 @@ pub struct UserBrowseHistory { pub world_name: String, pub subtitle: String, pub summary_text: String, - pub cover_image_src: Option, + pub cover_image_src: Option::, pub theme_mode: RuntimeBrowseHistoryThemeMode, pub author_display_name: String, pub visited_at: __sdk::Timestamp, @@ -24,10 +29,12 @@ pub struct UserBrowseHistory { pub updated_at: __sdk::Timestamp, } + impl __sdk::InModule for UserBrowseHistory { type Module = super::RemoteModule; } + /// Column accessor struct for the table `UserBrowseHistory`. /// /// Provides typed access to columns for query building. @@ -39,7 +46,7 @@ pub struct UserBrowseHistoryCols { pub world_name: __sdk::__query_builder::Col, pub subtitle: __sdk::__query_builder::Col, pub summary_text: __sdk::__query_builder::Col, - pub cover_image_src: __sdk::__query_builder::Col>, + pub cover_image_src: __sdk::__query_builder::Col>, pub theme_mode: __sdk::__query_builder::Col, pub author_display_name: __sdk::__query_builder::Col, pub visited_at: __sdk::__query_builder::Col, @@ -60,13 +67,11 @@ impl __sdk::__query_builder::HasCols for UserBrowseHistory { summary_text: __sdk::__query_builder::Col::new(table_name, "summary_text"), cover_image_src: __sdk::__query_builder::Col::new(table_name, "cover_image_src"), theme_mode: __sdk::__query_builder::Col::new(table_name, "theme_mode"), - author_display_name: __sdk::__query_builder::Col::new( - table_name, - "author_display_name", - ), + author_display_name: __sdk::__query_builder::Col::new(table_name, "author_display_name"), visited_at: __sdk::__query_builder::Col::new(table_name, "visited_at"), created_at: __sdk::__query_builder::Col::new(table_name, "created_at"), updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"), + } } } @@ -85,8 +90,10 @@ impl __sdk::__query_builder::HasIxCols for UserBrowseHistory { UserBrowseHistoryIxCols { browse_history_id: __sdk::__query_builder::IxCol::new(table_name, "browse_history_id"), user_id: __sdk::__query_builder::IxCol::new(table_name, "user_id"), + } } } impl __sdk::__query_builder::CanBeLookupTable for UserBrowseHistory {} + diff --git a/server-rs/crates/spacetime-module/src/ai/snapshots.rs b/server-rs/crates/spacetime-module/src/ai/snapshots.rs index f30fdc30..e5381405 100644 --- a/server-rs/crates/spacetime-module/src/ai/snapshots.rs +++ b/server-rs/crates/spacetime-module/src/ai/snapshots.rs @@ -74,7 +74,10 @@ pub(crate) fn build_ai_task_snapshot_from_row( } } -pub(crate) fn build_ai_task_stage_row(task_id: &str, snapshot: &AiTaskStageSnapshot) -> AiTaskStage { +pub(crate) fn build_ai_task_stage_row( + task_id: &str, + snapshot: &AiTaskStageSnapshot, +) -> AiTaskStage { AiTaskStage { task_stage_id: generate_ai_task_stage_id(task_id, snapshot.stage_kind), task_id: task_id.to_string(), diff --git a/server-rs/crates/spacetime-module/src/ai/stages.rs b/server-rs/crates/spacetime-module/src/ai/stages.rs index 625cc505..cb56ef77 100644 --- a/server-rs/crates/spacetime-module/src/ai/stages.rs +++ b/server-rs/crates/spacetime-module/src/ai/stages.rs @@ -1,5 +1,8 @@ use crate::*; -use module_ai::{generate_ai_result_ref_id, generate_ai_text_chunk_id, normalize_optional_text, normalize_string_list}; +use module_ai::{ + generate_ai_result_ref_id, generate_ai_text_chunk_id, normalize_optional_text, + normalize_string_list, +}; #[spacetimedb::table( accessor = ai_task_stage, @@ -184,7 +187,9 @@ pub(crate) fn append_ai_text_chunk_tx( delta_text: input.delta_text.trim().to_string(), created_at_micros: input.created_at_micros, }; - ctx.db.ai_text_chunk().insert(build_ai_text_chunk_row(&chunk)); + ctx.db + .ai_text_chunk() + .insert(build_ai_text_chunk_row(&chunk)); let aggregated_text = collect_ai_stage_text_output(ctx, &chunk.task_id, chunk.stage_kind); diff --git a/server-rs/crates/spacetime-module/src/ai/tasks.rs b/server-rs/crates/spacetime-module/src/ai/tasks.rs index 95bb4055..6d279e14 100644 --- a/server-rs/crates/spacetime-module/src/ai/tasks.rs +++ b/server-rs/crates/spacetime-module/src/ai/tasks.rs @@ -1,5 +1,5 @@ use crate::*; -use module_ai::{normalize_optional_text, validate_task_create_input, INITIAL_AI_TASK_VERSION}; +use module_ai::{INITIAL_AI_TASK_VERSION, normalize_optional_text, validate_task_create_input}; #[spacetimedb::table( accessor = ai_task, diff --git a/server-rs/crates/spacetime-module/src/big_fish/session.rs b/server-rs/crates/spacetime-module/src/big_fish/session.rs index fcf4536e..019f99b9 100644 --- a/server-rs/crates/spacetime-module/src/big_fish/session.rs +++ b/server-rs/crates/spacetime-module/src/big_fish/session.rs @@ -84,6 +84,25 @@ pub fn submit_big_fish_message( } } +#[spacetimedb::procedure] +pub fn finalize_big_fish_agent_message_turn( + ctx: &mut ProcedureContext, + input: BigFishMessageFinalizeInput, +) -> BigFishSessionProcedureResult { + match ctx.try_with_tx(|tx| finalize_big_fish_agent_message_turn_tx(tx, input.clone())) { + Ok(session) => BigFishSessionProcedureResult { + ok: true, + session: Some(session), + error_message: None, + }, + Err(message) => BigFishSessionProcedureResult { + ok: false, + session: None, + error_message: Some(message), + }, + } +} + #[spacetimedb::procedure] pub fn compile_big_fish_draft( ctx: &mut ProcedureContext, @@ -247,17 +266,103 @@ pub(crate) fn submit_big_fish_message_tx( created_at: submitted_at, }); - let anchor_pack = infer_anchor_pack(&session.seed_text, Some(&input.user_message_text)); - let assistant_text = - "我已经把这版方向收束成 4 个高杠杆锚点,可以继续细化,也可以直接编译第一版玩法草稿。" - .to_string(); + let next_session = BigFishCreationSession { + session_id: session.session_id.clone(), + owner_user_id: session.owner_user_id.clone(), + seed_text: session.seed_text.clone(), + current_turn: session.current_turn, + progress_percent: session.progress_percent, + stage: BigFishCreationStage::CollectingAnchors, + anchor_pack_json: session.anchor_pack_json.clone(), + draft_json: session.draft_json.clone(), + asset_coverage_json: session.asset_coverage_json.clone(), + last_assistant_reply: session.last_assistant_reply.clone(), + publish_ready: session.publish_ready, + created_at: session.created_at, + updated_at: submitted_at, + }; + replace_big_fish_session(ctx, &session, next_session); + + get_big_fish_session_tx( + ctx, + BigFishSessionGetInput { + session_id: input.session_id, + owner_user_id: input.owner_user_id, + }, + ) +} + +pub(crate) fn finalize_big_fish_agent_message_turn_tx( + ctx: &ReducerContext, + input: BigFishMessageFinalizeInput, +) -> Result { + validate_message_finalize_input(&input).map_err(|error| error.to_string())?; + let session = ctx + .db + .big_fish_creation_session() + .session_id() + .find(&input.session_id) + .filter(|row| row.owner_user_id == input.owner_user_id) + .ok_or_else(|| "big_fish_creation_session 不存在".to_string())?; + let updated_at = Timestamp::from_micros_since_unix_epoch(input.updated_at_micros); + + if let Some(error_message) = input + .error_message + .as_deref() + .map(str::trim) + .filter(|value| !value.is_empty()) + { + let next_session = BigFishCreationSession { + session_id: session.session_id.clone(), + owner_user_id: session.owner_user_id.clone(), + seed_text: session.seed_text.clone(), + current_turn: session.current_turn, + progress_percent: session.progress_percent, + stage: session.stage, + anchor_pack_json: session.anchor_pack_json.clone(), + draft_json: session.draft_json.clone(), + asset_coverage_json: session.asset_coverage_json.clone(), + last_assistant_reply: session.last_assistant_reply.clone(), + publish_ready: session.publish_ready, + created_at: session.created_at, + updated_at, + }; + replace_big_fish_session(ctx, &session, next_session); + return Err(error_message.to_string()); + } + + let assistant_message_id = input + .assistant_message_id + .as_deref() + .map(str::trim) + .filter(|value| !value.is_empty()) + .ok_or_else(|| "big_fish assistant_message_id 不能为空".to_string())? + .to_string(); + let assistant_reply_text = input + .assistant_reply_text + .as_deref() + .map(str::trim) + .filter(|value| !value.is_empty()) + .ok_or_else(|| "big_fish assistant_reply_text 不能为空".to_string())? + .to_string(); + if ctx + .db + .big_fish_agent_message() + .message_id() + .find(&assistant_message_id) + .is_some() + { + return Err("big_fish_agent_message.assistant_message_id 已存在".to_string()); + } + let next_anchor_pack = + deserialize_anchor_pack(&input.anchor_pack_json).map_err(|error| error.to_string())?; ctx.db.big_fish_agent_message().insert(BigFishAgentMessage { - message_id: input.assistant_message_id, + message_id: assistant_message_id, session_id: input.session_id.clone(), role: BigFishAgentMessageRole::Assistant, - kind: BigFishAgentMessageKind::Summary, - text: assistant_text.clone(), - created_at: submitted_at, + kind: BigFishAgentMessageKind::Chat, + text: assistant_reply_text.clone(), + created_at: updated_at, }); let next_session = BigFishCreationSession { @@ -265,15 +370,16 @@ pub(crate) fn submit_big_fish_message_tx( owner_user_id: session.owner_user_id.clone(), seed_text: session.seed_text.clone(), current_turn: session.current_turn.saturating_add(1), - progress_percent: 60, - stage: BigFishCreationStage::CollectingAnchors, - anchor_pack_json: serialize_anchor_pack(&anchor_pack).map_err(|error| error.to_string())?, + progress_percent: input.progress_percent.min(100), + stage: input.stage, + anchor_pack_json: serialize_anchor_pack(&next_anchor_pack) + .map_err(|error| error.to_string())?, draft_json: session.draft_json.clone(), asset_coverage_json: session.asset_coverage_json.clone(), - last_assistant_reply: Some(assistant_text), + last_assistant_reply: Some(assistant_reply_text), publish_ready: session.publish_ready, created_at: session.created_at, - updated_at: submitted_at, + updated_at, }; replace_big_fish_session(ctx, &session, next_session); diff --git a/server-rs/crates/spacetime-module/src/custom_world/mod.rs b/server-rs/crates/spacetime-module/src/custom_world/mod.rs index 9fe9ef5b..5b616b8e 100644 --- a/server-rs/crates/spacetime-module/src/custom_world/mod.rs +++ b/server-rs/crates/spacetime-module/src/custom_world/mod.rs @@ -1588,13 +1588,18 @@ fn execute_custom_world_agent_action_tx( } "publish_world" => execute_publish_world_action(ctx, &session, &input, &payload), "revert_checkpoint" => execute_revert_checkpoint_action(ctx, &session, &input, &payload), - "generate_characters" - | "generate_landmarks" - | "generate_role_assets" - | "sync_role_assets" - | "generate_scene_assets" - | "sync_scene_assets" - | "expand_long_tail" => execute_placeholder_custom_world_action(ctx, &session, &input), + "generate_characters" | "generate_landmarks" => { + execute_generate_entities_action(ctx, &session, &input, &payload) + } + "delete_characters" | "delete_landmarks" => { + execute_delete_entities_action(ctx, &session, &input, &payload) + } + "generate_role_assets" | "generate_scene_assets" => { + execute_prepare_asset_studio_action(ctx, &session, &input, &payload) + } + "sync_role_assets" => execute_sync_role_assets_action(ctx, &session, &input, &payload), + "sync_scene_assets" => execute_sync_scene_assets_action(ctx, &session, &input, &payload), + "expand_long_tail" => execute_placeholder_custom_world_action(ctx, &session, &input), other => Err(format!("custom world action `{other}` 当前尚未支持")), } } @@ -2134,6 +2139,537 @@ fn execute_revert_checkpoint_action( Ok(build_custom_world_agent_operation_snapshot(&operation)) } +fn execute_generate_entities_action( + ctx: &ReducerContext, + session: &CustomWorldAgentSession, + input: &CustomWorldAgentActionExecuteInput, + payload: &JsonMap, +) -> Result { + ensure_draft_refining_stage(session.stage, input.action.as_str())?; + let mut draft_profile = parse_optional_session_object(session.draft_profile_json.as_deref()) + .ok_or_else(|| format!("{} requires an existing draft foundation", input.action))?; + let (payload_key, profile_key, card_kind, operation_type, checkpoint_label, message_prefix) = + match input.action.as_str() { + "generate_characters" => ( + "generatedCharacters", + if payload.get("roleType").and_then(JsonValue::as_str) == Some("playable") { + "playableNpcs" + } else { + "storyNpcs" + }, + RpgAgentDraftCardKind::Character, + RpgAgentOperationType::GenerateCharacters, + if payload.get("roleType").and_then(JsonValue::as_str) == Some("playable") { + "新增可扮演角色" + } else { + "新增场景角色" + }, + if payload.get("roleType").and_then(JsonValue::as_str) == Some("playable") { + "已补出新可扮演角色" + } else { + "已补出新场景角色" + }, + ), + "generate_landmarks" => ( + "generatedLandmarks", + "landmarks", + RpgAgentDraftCardKind::Landmark, + RpgAgentOperationType::GenerateLandmarks, + "新增地点", + "已补出新地点", + ), + other => return Err(format!("unsupported generated entity action: {other}")), + }; + let generated_entities = payload + .get(payload_key) + .and_then(JsonValue::as_array) + .cloned() + .ok_or_else(|| format!("{} requires payload.{payload_key}", input.action))?; + if generated_entities.is_empty() { + return Err(format!("{} generated entity list is empty", input.action)); + } + + let profile_entities = draft_profile + .entry(profile_key.to_string()) + .or_insert_with(|| JsonValue::Array(Vec::new())) + .as_array_mut() + .ok_or_else(|| format!("draftProfile.{profile_key} must be array"))?; + let mut inserted_names = Vec::new(); + for entity in generated_entities { + let normalized_entity = + ensure_generated_entity_id(entity, card_kind, profile_entities.len()); + if let Some(name) = normalized_entity + .get("name") + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + { + inserted_names.push(name.to_string()); + } + upsert_generated_entity_card( + ctx, + &session.session_id, + card_kind, + &normalized_entity, + input.submitted_at_micros, + )?; + profile_entities.push(normalized_entity); + } + + let gate = summarize_publish_gate_from_json( + &input.session_id, + session.stage, + Some(&draft_profile), + &parse_json_array_or_empty(&session.quality_findings_json), + ); + let draft_profile_json = serialize_json_value(&JsonValue::Object(draft_profile.clone()))?; + let next_session = rebuild_custom_world_agent_session_row( + session, + CustomWorldAgentSessionPatch { + draft_profile_json: Some(Some(draft_profile_json)), + focus_card_id: Some( + inserted_names + .first() + .map(|name| build_generated_entity_card_id(card_kind, name, 0)), + ), + last_assistant_reply: Some(Some(format!( + "{} {} 个,已同步到草稿卡片列表。", + message_prefix, + inserted_names.len() + ))), + publish_gate_json: Some(Some(serialize_json_value(&publish_gate_to_json_value( + &gate, + ))?)), + result_preview_json: Some(build_result_preview_json( + Some(&draft_profile), + &gate, + &parse_json_array_or_empty(&session.quality_findings_json), + input.submitted_at_micros, + )?), + checkpoints_json: Some(append_checkpoint_json( + &session.checkpoints_json, + &build_session_checkpoint_value( + &format!("{}-{}", input.action, input.operation_id), + &format!("{} {} 个", checkpoint_label, inserted_names.len()), + session, + ), + )?), + updated_at_micros: Some(input.submitted_at_micros), + ..CustomWorldAgentSessionPatch::default() + }, + )?; + replace_custom_world_agent_session(ctx, session, next_session); + + append_custom_world_action_result_message( + ctx, + &session.session_id, + &input.operation_id, + &format!( + "{}:{}。", + message_prefix, + if inserted_names.is_empty() { + "无新增对象".to_string() + } else { + inserted_names.join("、") + } + ), + input.submitted_at_micros, + ); + let operation = build_and_insert_custom_world_operation( + ctx, + &input.operation_id, + &session.session_id, + operation_type, + checkpoint_label, + &format!("{} {} 个。", message_prefix, inserted_names.len()), + input.submitted_at_micros, + ); + + Ok(build_custom_world_agent_operation_snapshot(&operation)) +} + +fn execute_delete_entities_action( + ctx: &ReducerContext, + session: &CustomWorldAgentSession, + input: &CustomWorldAgentActionExecuteInput, + payload: &JsonMap, +) -> Result { + ensure_draft_refining_stage(session.stage, input.action.as_str())?; + let mut draft_profile = parse_optional_session_object(session.draft_profile_json.as_deref()) + .ok_or_else(|| format!("{} requires an existing draft foundation", input.action))?; + let (ids, operation_type, label, message_prefix) = match input.action.as_str() { + "delete_characters" => ( + read_payload_string_array(payload, "roleIds"), + RpgAgentOperationType::DeleteCharacters, + "删除角色", + "已删除角色", + ), + "delete_landmarks" => ( + read_payload_string_array(payload, "sceneIds"), + RpgAgentOperationType::DeleteLandmarks, + "删除场景", + "已删除场景", + ), + other => return Err(format!("unsupported delete entity action: {other}")), + }; + if ids.is_empty() { + return Err(format!("{} requires non-empty ids", input.action)); + } + + let removed_names = if input.action == "delete_characters" { + let mut names = remove_profile_entities_by_ids(&mut draft_profile, "playableNpcs", &ids)?; + names.extend(remove_profile_entities_by_ids(&mut draft_profile, "storyNpcs", &ids)?); + names + } else { + let names = remove_profile_entities_by_ids(&mut draft_profile, "landmarks", &ids)?; + remove_deleted_landmark_connections(&mut draft_profile, &ids); + names + }; + for id in &ids { + delete_draft_card_by_entity_id(ctx, &session.session_id, id); + } + + let gate = summarize_publish_gate_from_json( + &input.session_id, + session.stage, + Some(&draft_profile), + &parse_json_array_or_empty(&session.quality_findings_json), + ); + let next_session = rebuild_custom_world_agent_session_row( + session, + CustomWorldAgentSessionPatch { + draft_profile_json: Some(Some(serialize_json_value(&JsonValue::Object( + draft_profile.clone(), + ))?)), + focus_card_id: Some(None), + last_assistant_reply: Some(Some(format!( + "{} {} 个,已同步更新草稿。", + message_prefix, + removed_names.len() + ))), + publish_gate_json: Some(Some(serialize_json_value(&publish_gate_to_json_value( + &gate, + ))?)), + result_preview_json: Some(build_result_preview_json( + Some(&draft_profile), + &gate, + &parse_json_array_or_empty(&session.quality_findings_json), + input.submitted_at_micros, + )?), + checkpoints_json: Some(append_checkpoint_json( + &session.checkpoints_json, + &build_session_checkpoint_value( + &format!("{}-{}", input.action, input.operation_id), + &format!("{} {} 个", label, removed_names.len()), + session, + ), + )?), + updated_at_micros: Some(input.submitted_at_micros), + ..CustomWorldAgentSessionPatch::default() + }, + )?; + replace_custom_world_agent_session(ctx, session, next_session); + append_custom_world_action_result_message( + ctx, + &session.session_id, + &input.operation_id, + &format!( + "{}:{}。", + message_prefix, + if removed_names.is_empty() { + ids.join("、") + } else { + removed_names.join("、") + } + ), + input.submitted_at_micros, + ); + let operation = build_and_insert_custom_world_operation( + ctx, + &input.operation_id, + &session.session_id, + operation_type, + label, + &format!("{} {} 个。", message_prefix, ids.len()), + input.submitted_at_micros, + ); + + Ok(build_custom_world_agent_operation_snapshot(&operation)) +} + + +fn execute_prepare_asset_studio_action( + ctx: &ReducerContext, + session: &CustomWorldAgentSession, + input: &CustomWorldAgentActionExecuteInput, + payload: &JsonMap, +) -> Result { + ensure_draft_refining_stage(session.stage, input.action.as_str())?; + let draft_profile = parse_optional_session_object(session.draft_profile_json.as_deref()) + .ok_or_else(|| format!("{} requires an existing draft foundation", input.action))?; + let (focus_id, operation_type, message_text, phase_label, phase_detail) = + if input.action == "generate_role_assets" { + let role_id = read_first_payload_text(payload, "roleIds", "roleId") + .ok_or_else(|| "generate_role_assets requires roleIds".to_string())?; + let role = find_profile_entity_by_id(&draft_profile, &["playableNpcs", "storyNpcs"], &role_id) + .ok_or_else(|| "未找到目标角色,无法进入角色资产工坊。".to_string())?; + let role_name = read_optional_text_field(role, &["name"]).unwrap_or_else(|| "角色".to_string()); + ( + role_id, + RpgAgentOperationType::GenerateRoleAssets, + format!("已为「{}」准备好角色资产工坊,先生成主图候选,再补核心动作。", role_name), + "角色资产工坊已就绪", + format!("「{}」现在可以开始生成主图和动作。", role_name), + ) + } else { + let scene_id = read_first_payload_text(payload, "sceneIds", "sceneId") + .ok_or_else(|| "generate_scene_assets requires sceneIds".to_string())?; + let scene_kind = payload + .get("sceneKind") + .and_then(JsonValue::as_str) + .map(str::trim) + .unwrap_or("landmark"); + let scene = if scene_kind == "camp" { + draft_profile.get("camp").and_then(JsonValue::as_object) + } else { + find_profile_entity_by_id(&draft_profile, &["landmarks"], &scene_id) + } + .ok_or_else(|| "未找到目标场景,无法进入场景资产工坊。".to_string())?; + let scene_name = read_optional_text_field(scene, &["name"]) + .unwrap_or_else(|| if scene_kind == "camp" { "开局营地" } else { "未命名场景" }.to_string()); + ( + scene_id, + RpgAgentOperationType::GenerateSceneAssets, + format!("已为「{}」准备好场景图工坊,保存生成结果后会自动同步回当前草稿。", scene_name), + "场景资产工坊已就绪", + format!("「{}」现在可以继续生成和确认正式场景图。", scene_name), + ) + }; + + let next_session = rebuild_custom_world_agent_session_row( + session, + CustomWorldAgentSessionPatch { + stage: Some(RpgAgentStage::VisualRefining), + focus_card_id: Some(Some(focus_id)), + last_assistant_reply: Some(Some(message_text.clone())), + updated_at_micros: Some(input.submitted_at_micros), + ..CustomWorldAgentSessionPatch::default() + }, + )?; + replace_custom_world_agent_session(ctx, session, next_session); + append_custom_world_action_result_message( + ctx, + &session.session_id, + &input.operation_id, + &message_text, + input.submitted_at_micros, + ); + let operation = build_and_insert_custom_world_operation( + ctx, + &input.operation_id, + &session.session_id, + operation_type, + phase_label, + &phase_detail, + input.submitted_at_micros, + ); + Ok(build_custom_world_agent_operation_snapshot(&operation)) +} + +fn execute_sync_role_assets_action( + ctx: &ReducerContext, + session: &CustomWorldAgentSession, + input: &CustomWorldAgentActionExecuteInput, + payload: &JsonMap, +) -> Result { + ensure_draft_refining_stage(session.stage, "sync_role_assets")?; + let mut draft_profile = parse_optional_session_object(session.draft_profile_json.as_deref()) + .ok_or_else(|| "sync_role_assets requires an existing draft foundation".to_string())?; + let role_id = read_required_payload_text(payload, "roleId", "sync_role_assets requires roleId")?; + let portrait_path = read_required_payload_text(payload, "portraitPath", "sync_role_assets requires portraitPath")?; + let generated_visual_asset_id = read_required_payload_text( + payload, + "generatedVisualAssetId", + "sync_role_assets requires generatedVisualAssetId", + )?; + let generated_animation_set_id = payload + .get("generatedAnimationSetId") + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(ToOwned::to_owned); + let animation_map = payload.get("animationMap").cloned(); + let updated_role = apply_role_asset_publish_result( + &mut draft_profile, + &role_id, + &portrait_path, + &generated_visual_asset_id, + generated_animation_set_id.as_deref(), + animation_map, + )?; + let role_name = read_optional_text_field(&updated_role, &["name"]).unwrap_or_else(|| "当前角色".to_string()); + let asset_status = resolve_role_asset_status(&updated_role); + let asset_status_label = resolve_role_asset_status_label(asset_status).to_string(); + upsert_asset_role_card( + ctx, + &session.session_id, + &role_id, + &updated_role, + asset_status, + &asset_status_label, + input.submitted_at_micros, + )?; + let gate = summarize_publish_gate_from_json( + &input.session_id, + RpgAgentStage::VisualRefining, + Some(&draft_profile), + &parse_json_array_or_empty(&session.quality_findings_json), + ); + let next_session = rebuild_custom_world_agent_session_row( + session, + CustomWorldAgentSessionPatch { + stage: Some(RpgAgentStage::VisualRefining), + focus_card_id: Some(Some(role_id.clone())), + draft_profile_json: Some(Some(serialize_json_value(&JsonValue::Object(draft_profile.clone()))?)), + last_assistant_reply: Some(Some(format!( + "已把「{}」的角色资产写回草稿,当前状态:{}。", + role_name, asset_status_label + ))), + publish_gate_json: Some(Some(serialize_json_value(&publish_gate_to_json_value(&gate))?)), + result_preview_json: Some(build_result_preview_json( + Some(&draft_profile), + &gate, + &parse_json_array_or_empty(&session.quality_findings_json), + input.submitted_at_micros, + )?), + checkpoints_json: Some(append_checkpoint_json( + &session.checkpoints_json, + &build_session_checkpoint_value( + "sync-role-assets", + &format!("同步角色资产 {}", role_name), + session, + ), + )?), + asset_coverage_json: Some(build_asset_coverage_json(&draft_profile)?), + updated_at_micros: Some(input.submitted_at_micros), + ..CustomWorldAgentSessionPatch::default() + }, + )?; + replace_custom_world_agent_session(ctx, session, next_session); + append_custom_world_action_result_message( + ctx, + &session.session_id, + &input.operation_id, + &format!("已把「{}」的角色资产写回草稿,当前状态:{}。", role_name, asset_status_label), + input.submitted_at_micros, + ); + let operation = build_and_insert_custom_world_operation( + ctx, + &input.operation_id, + &session.session_id, + RpgAgentOperationType::SyncRoleAssets, + "角色资产已同步", + &format!("「{}」的资产状态已更新为{}。", role_name, asset_status_label), + input.submitted_at_micros, + ); + Ok(build_custom_world_agent_operation_snapshot(&operation)) +} + +fn execute_sync_scene_assets_action( + ctx: &ReducerContext, + session: &CustomWorldAgentSession, + input: &CustomWorldAgentActionExecuteInput, + payload: &JsonMap, +) -> Result { + ensure_draft_refining_stage(session.stage, "sync_scene_assets")?; + let mut draft_profile = parse_optional_session_object(session.draft_profile_json.as_deref()) + .ok_or_else(|| "sync_scene_assets requires an existing draft foundation".to_string())?; + let scene_id = read_required_payload_text(payload, "sceneId", "sync_scene_assets requires sceneId")?; + let scene_kind = read_required_payload_text(payload, "sceneKind", "sync_scene_assets requires sceneKind")?; + let image_src = read_required_payload_text(payload, "imageSrc", "sync_scene_assets requires imageSrc")?; + let generated_scene_asset_id = read_required_payload_text( + payload, + "generatedSceneAssetId", + "sync_scene_assets requires generatedSceneAssetId", + )?; + let generated_scene_prompt = payload.get("generatedScenePrompt").cloned().unwrap_or(JsonValue::Null); + let generated_scene_model = payload.get("generatedSceneModel").cloned().unwrap_or(JsonValue::Null); + let updated_scene = apply_scene_asset_publish_result( + &mut draft_profile, + &scene_id, + &scene_kind, + &image_src, + &generated_scene_asset_id, + generated_scene_prompt, + generated_scene_model, + )?; + let scene_name = read_optional_text_field(&updated_scene, &["name"]) + .unwrap_or_else(|| if scene_kind == "camp" { "开局营地" } else { "当前场景" }.to_string()); + upsert_asset_scene_card( + ctx, + &session.session_id, + &scene_id, + &scene_kind, + &updated_scene, + input.submitted_at_micros, + )?; + let gate = summarize_publish_gate_from_json( + &input.session_id, + RpgAgentStage::VisualRefining, + Some(&draft_profile), + &parse_json_array_or_empty(&session.quality_findings_json), + ); + let next_session = rebuild_custom_world_agent_session_row( + session, + CustomWorldAgentSessionPatch { + stage: Some(RpgAgentStage::VisualRefining), + focus_card_id: Some(Some(scene_id.clone())), + draft_profile_json: Some(Some(serialize_json_value(&JsonValue::Object(draft_profile.clone()))?)), + last_assistant_reply: Some(Some(format!( + "已把「{}」的场景图写回草稿,并同步刷新地点卡与幕背景状态。", + scene_name + ))), + publish_gate_json: Some(Some(serialize_json_value(&publish_gate_to_json_value(&gate))?)), + result_preview_json: Some(build_result_preview_json( + Some(&draft_profile), + &gate, + &parse_json_array_or_empty(&session.quality_findings_json), + input.submitted_at_micros, + )?), + checkpoints_json: Some(append_checkpoint_json( + &session.checkpoints_json, + &build_session_checkpoint_value( + "sync-scene-assets", + &format!("同步场景资产 {}", scene_name), + session, + ), + )?), + asset_coverage_json: Some(build_asset_coverage_json(&draft_profile)?), + updated_at_micros: Some(input.submitted_at_micros), + ..CustomWorldAgentSessionPatch::default() + }, + )?; + replace_custom_world_agent_session(ctx, session, next_session); + append_custom_world_action_result_message( + ctx, + &session.session_id, + &input.operation_id, + &format!("已把「{}」的场景图写回草稿,并同步刷新地点卡与幕背景状态。", scene_name), + input.submitted_at_micros, + ); + let operation = build_and_insert_custom_world_operation( + ctx, + &input.operation_id, + &session.session_id, + RpgAgentOperationType::SyncSceneAssets, + "场景资产已同步", + &format!("「{}」的场景图已经进入当前草稿。", scene_name), + input.submitted_at_micros, + ); + Ok(build_custom_world_agent_operation_snapshot(&operation)) +} + + fn execute_placeholder_custom_world_action( ctx: &ReducerContext, session: &CustomWorldAgentSession, @@ -2442,6 +2978,22 @@ fn build_supported_actions_json( .to_string() }), ), + build_supported_action_json( + "delete_characters", + draft_refining_enabled, + (!draft_refining_enabled).then(|| { + "delete_characters is only available during object_refining or visual_refining" + .to_string() + }), + ), + build_supported_action_json( + "delete_landmarks", + draft_refining_enabled, + (!draft_refining_enabled).then(|| { + "delete_landmarks is only available during object_refining or visual_refining" + .to_string() + }), + ), build_supported_action_json( "generate_role_assets", draft_refining_enabled, @@ -2849,6 +3401,282 @@ fn upsert_world_foundation_card( Ok(()) } +fn upsert_generated_entity_card( + ctx: &ReducerContext, + session_id: &str, + kind: RpgAgentDraftCardKind, + entity: &JsonValue, + updated_at_micros: i64, +) -> Result<(), String> { + let entity_object = entity + .as_object() + .ok_or_else(|| "generated entity must be object".to_string())?; + let name = read_optional_text_field(entity_object, &["name"]) + .unwrap_or_else(|| "未命名对象".to_string()); + let card_id = build_generated_entity_card_id(kind, name.as_str(), 0); + let subtitle = match kind { + RpgAgentDraftCardKind::Character => { + read_optional_text_field(entity_object, &["role", "relationToPlayer", "publicMask"]) + .unwrap_or_else(|| "新角色".to_string()) + } + RpgAgentDraftCardKind::Landmark => { + read_optional_text_field(entity_object, &["purpose", "mood", "dangerLevel"]) + .unwrap_or_else(|| "新地点".to_string()) + } + _ => "新增对象".to_string(), + }; + let summary = read_optional_text_field( + entity_object, + &[ + "summary", + "description", + "publicMask", + "secret", + "hiddenHook", + ], + ) + .unwrap_or_else(|| "新增内容已写入世界草稿。".to_string()); + let linked_ids = entity_object + .get("threadIds") + .or_else(|| entity_object.get("characterIds")) + .cloned() + .unwrap_or_else(|| JsonValue::Array(Vec::new())); + let detail_payload_json = serialize_json_value(&json!({ + "id": card_id, + "kind": kind.as_str(), + "title": name, + "sections": build_generated_entity_detail_sections(entity_object, kind), + "linkedIds": linked_ids, + "locked": false, + "editable": true, + "editableSectionIds": ["summary"], + "warningMessages": [], + }))?; + + if let Some(existing) = ctx + .db + .custom_world_draft_card() + .card_id() + .find(&card_id) + .filter(|row| row.session_id == session_id) + { + replace_custom_world_draft_card( + ctx, + &existing, + CustomWorldDraftCard { + card_id: existing.card_id.clone(), + session_id: existing.session_id.clone(), + kind, + status: RpgAgentDraftCardStatus::Draft, + title: name, + subtitle, + summary, + linked_ids_json: serialize_json_value(&linked_ids)?, + warning_count: 0, + asset_status: None, + asset_status_label: None, + detail_payload_json: Some(detail_payload_json), + created_at: existing.created_at, + updated_at: Timestamp::from_micros_since_unix_epoch(updated_at_micros), + }, + ); + } else { + ctx.db + .custom_world_draft_card() + .insert(CustomWorldDraftCard { + card_id, + session_id: session_id.to_string(), + kind, + status: RpgAgentDraftCardStatus::Draft, + title: name, + subtitle, + summary, + linked_ids_json: serialize_json_value(&linked_ids)?, + warning_count: 0, + asset_status: None, + asset_status_label: None, + detail_payload_json: Some(detail_payload_json), + created_at: Timestamp::from_micros_since_unix_epoch(updated_at_micros), + updated_at: Timestamp::from_micros_since_unix_epoch(updated_at_micros), + }); + } + + Ok(()) +} + +fn build_generated_entity_detail_sections( + entity: &JsonMap, + kind: RpgAgentDraftCardKind, +) -> Vec { + let mut sections = vec![json!({ + "id": "summary", + "label": "摘要", + "value": read_optional_text_field(entity, &["summary", "description", "publicMask"]) + .unwrap_or_default(), + })]; + if kind == RpgAgentDraftCardKind::Character { + sections.push(json!({ + "id": "relationToPlayer", + "label": "玩家关系", + "value": read_optional_text_field(entity, &["relationToPlayer", "role"]).unwrap_or_default(), + })); + sections.push(json!({ + "id": "hiddenHook", + "label": "隐藏钩子", + "value": read_optional_text_field(entity, &["hiddenHook"]).unwrap_or_default(), + })); + } else if kind == RpgAgentDraftCardKind::Landmark { + sections.push(json!({ + "id": "purpose", + "label": "用途", + "value": read_optional_text_field(entity, &["purpose"]).unwrap_or_default(), + })); + sections.push(json!({ + "id": "secret", + "label": "秘密", + "value": read_optional_text_field(entity, &["secret"]).unwrap_or_default(), + })); + } + sections +} + +fn ensure_generated_entity_id( + mut entity: JsonValue, + kind: RpgAgentDraftCardKind, + index: usize, +) -> JsonValue { + if let Some(object) = entity.as_object_mut() { + let name = object + .get("name") + .and_then(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .unwrap_or("entry") + .to_string(); + object.entry("id".to_string()).or_insert_with(|| { + JsonValue::String(build_generated_entity_card_id(kind, &name, index)) + }); + } + entity +} + +fn build_generated_entity_card_id(kind: RpgAgentDraftCardKind, name: &str, index: usize) -> String { + let prefix = match kind { + RpgAgentDraftCardKind::Character => "character", + RpgAgentDraftCardKind::Landmark => "landmark", + _ => "card", + }; + let slug = name + .trim() + .to_lowercase() + .chars() + .map(|ch| { + if ch.is_ascii_alphanumeric() || ('\u{4e00}'..='\u{9fa5}').contains(&ch) { + ch + } else { + '-' + } + }) + .collect::() + .trim_matches('-') + .to_string(); + format!( + "{}-{}-{}", + prefix, + if slug.is_empty() { + "entry" + } else { + slug.as_str() + }, + index + 1 + ) +} + +fn read_payload_string_array(payload: &JsonMap, key: &str) -> Vec { + payload + .get(key) + .and_then(JsonValue::as_array) + .into_iter() + .flatten() + .filter_map(JsonValue::as_str) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(ToOwned::to_owned) + .collect() +} + +fn remove_profile_entities_by_ids( + draft_profile: &mut JsonMap, + key: &str, + ids: &[String], +) -> Result, String> { + let Some(value) = draft_profile.get_mut(key) else { + return Ok(Vec::new()); + }; + let entries = value + .as_array_mut() + .ok_or_else(|| format!("draftProfile.{key} must be array"))?; + let mut removed_names = Vec::new(); + entries.retain(|entry| { + let entry_id = entry.get("id").and_then(JsonValue::as_str).unwrap_or_default(); + let should_remove = ids.iter().any(|id| id == entry_id); + if should_remove { + if let Some(name) = entry.get("name").and_then(JsonValue::as_str) { + removed_names.push(name.to_string()); + } + } + !should_remove + }); + Ok(removed_names) +} + +fn remove_deleted_landmark_connections(draft_profile: &mut JsonMap, ids: &[String]) { + let Some(landmarks) = draft_profile + .get_mut("landmarks") + .and_then(JsonValue::as_array_mut) + else { + return; + }; + for landmark in landmarks { + if let Some(connections) = landmark + .get_mut("connections") + .and_then(JsonValue::as_array_mut) + { + connections.retain(|connection| { + let target_id = connection + .get("targetLandmarkId") + .and_then(JsonValue::as_str) + .unwrap_or_default(); + !ids.iter().any(|id| id == target_id) + }); + } + } +} + +fn delete_draft_card_by_entity_id(ctx: &ReducerContext, session_id: &str, entity_id: &str) { + let target = ctx + .db + .custom_world_draft_card() + .iter() + .find(|card| { + card.session_id == session_id + && (card.card_id == entity_id + || card + .detail_payload_json + .as_deref() + .and_then(|json_text| serde_json::from_str::(json_text).ok()) + .and_then(|value| value.get("id").and_then(JsonValue::as_str).map(str::to_string)) + .as_deref() + == Some(entity_id)) + }); + if let Some(card) = target { + ctx.db + .custom_world_draft_card() + .card_id() + .delete(&card.card_id); + } +} + fn sync_session_draft_profile_from_card_update( session: &CustomWorldAgentSession, card: &CustomWorldDraftCard, @@ -2942,6 +3770,8 @@ fn map_action_name_to_operation_type(action: &str) -> Option Some(RpgAgentOperationType::SyncResultProfile), "generate_characters" => Some(RpgAgentOperationType::GenerateCharacters), "generate_landmarks" => Some(RpgAgentOperationType::GenerateLandmarks), + "delete_characters" => Some(RpgAgentOperationType::DeleteCharacters), + "delete_landmarks" => Some(RpgAgentOperationType::DeleteLandmarks), "generate_role_assets" => Some(RpgAgentOperationType::GenerateRoleAssets), "sync_role_assets" => Some(RpgAgentOperationType::SyncRoleAssets), "generate_scene_assets" => Some(RpgAgentOperationType::GenerateSceneAssets), @@ -2997,6 +3827,460 @@ fn parse_json_array_or_empty(raw: &str) -> Vec { .unwrap_or_default() } + +fn read_first_payload_text( + payload: &JsonMap, + array_key: &str, + scalar_key: &str, +) -> Option { + payload + .get(array_key) + .and_then(JsonValue::as_array) + .and_then(|values| values.first()) + .and_then(JsonValue::as_str) + .or_else(|| payload.get(scalar_key).and_then(JsonValue::as_str)) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(ToOwned::to_owned) +} + +fn find_profile_entity_by_id<'a>( + profile: &'a JsonMap, + fields: &[&str], + entity_id: &str, +) -> Option<&'a JsonMap> { + for field in fields { + if let Some(entries) = profile.get(*field).and_then(JsonValue::as_array) { + for entry in entries { + let Some(object) = entry.as_object() else { + continue; + }; + if read_optional_text_field(object, &["id"]).as_deref() == Some(entity_id) { + return Some(object); + } + } + } + } + None +} + +fn apply_role_asset_publish_result( + profile: &mut JsonMap, + role_id: &str, + portrait_path: &str, + generated_visual_asset_id: &str, + generated_animation_set_id: Option<&str>, + animation_map: Option, +) -> Result, String> { + for field in ["playableNpcs", "storyNpcs"] { + let Some(entries) = profile.get_mut(field).and_then(JsonValue::as_array_mut) else { + continue; + }; + for entry in entries { + let Some(object) = entry.as_object_mut() else { + continue; + }; + if read_optional_text_field(object, &["id"]).as_deref() != Some(role_id) { + continue; + } + object.insert("imageSrc".to_string(), JsonValue::String(portrait_path.to_string())); + object.insert( + "generatedVisualAssetId".to_string(), + JsonValue::String(generated_visual_asset_id.to_string()), + ); + if let Some(asset_id) = generated_animation_set_id { + object.insert( + "generatedAnimationSetId".to_string(), + JsonValue::String(asset_id.to_string()), + ); + } + if let Some(map) = animation_map { + object.insert("animationMap".to_string(), map); + } + return Ok(object.clone()); + } + } + Err("目标角色不存在,无法同步角色资产。".to_string()) +} + +fn apply_scene_asset_publish_result( + profile: &mut JsonMap, + scene_id: &str, + scene_kind: &str, + image_src: &str, + generated_scene_asset_id: &str, + generated_scene_prompt: JsonValue, + generated_scene_model: JsonValue, +) -> Result, String> { + let updated_scene = if scene_kind == "camp" { + let camp = profile + .get_mut("camp") + .and_then(JsonValue::as_object_mut) + .ok_or_else(|| "目标营地不存在,无法同步场景资产。".to_string())?; + if read_optional_text_field(camp, &["id"]).as_deref() != Some(scene_id) { + return Err("目标营地不存在,无法同步场景资产。".to_string()); + } + camp.insert("imageSrc".to_string(), JsonValue::String(image_src.to_string())); + camp.insert( + "generatedSceneAssetId".to_string(), + JsonValue::String(generated_scene_asset_id.to_string()), + ); + camp.insert("generatedScenePrompt".to_string(), generated_scene_prompt); + camp.insert("generatedSceneModel".to_string(), generated_scene_model); + camp.clone() + } else { + let landmarks = profile + .get_mut("landmarks") + .and_then(JsonValue::as_array_mut) + .ok_or_else(|| "目标地点不存在,无法同步场景资产。".to_string())?; + let mut updated = None; + for entry in landmarks { + let Some(object) = entry.as_object_mut() else { + continue; + }; + if read_optional_text_field(object, &["id"]).as_deref() != Some(scene_id) { + continue; + } + object.insert("imageSrc".to_string(), JsonValue::String(image_src.to_string())); + object.insert( + "generatedSceneAssetId".to_string(), + JsonValue::String(generated_scene_asset_id.to_string()), + ); + object.insert("generatedScenePrompt".to_string(), generated_scene_prompt.clone()); + object.insert("generatedSceneModel".to_string(), generated_scene_model.clone()); + updated = Some(object.clone()); + break; + } + updated.ok_or_else(|| "目标地点不存在,无法同步场景资产。".to_string())? + }; + update_scene_chapter_acts_for_scene(profile, scene_id, image_src, generated_scene_asset_id); + Ok(updated_scene) +} + +fn update_scene_chapter_acts_for_scene( + profile: &mut JsonMap, + scene_id: &str, + image_src: &str, + generated_scene_asset_id: &str, +) { + let Some(chapters) = profile.get_mut("sceneChapters").and_then(JsonValue::as_array_mut) else { + return; + }; + for chapter in chapters { + let Some(chapter_object) = chapter.as_object_mut() else { + continue; + }; + if read_optional_text_field(chapter_object, &["sceneId"]).as_deref() != Some(scene_id) { + continue; + } + let Some(acts) = chapter_object.get_mut("acts").and_then(JsonValue::as_array_mut) else { + continue; + }; + for act in acts { + if let Some(act_object) = act.as_object_mut() { + act_object.insert("backgroundImageSrc".to_string(), JsonValue::String(image_src.to_string())); + act_object.insert( + "backgroundAssetId".to_string(), + JsonValue::String(generated_scene_asset_id.to_string()), + ); + } + } + } +} + +fn resolve_role_asset_status(role: &JsonMap) -> CustomWorldRoleAssetStatus { + let has_portrait = read_optional_text_field(role, &["imageSrc"]).is_some() + && read_optional_text_field(role, &["generatedVisualAssetId"]).is_some(); + if !has_portrait { + return CustomWorldRoleAssetStatus::Missing; + } + let has_animation_set = read_optional_text_field(role, &["generatedAnimationSetId"]).is_some(); + let has_animation_map = role + .get("animationMap") + .and_then(JsonValue::as_object) + .map(|map| !map.is_empty()) + .unwrap_or(false); + if has_animation_set && has_animation_map { + CustomWorldRoleAssetStatus::Complete + } else if has_animation_set { + CustomWorldRoleAssetStatus::AnimationsReady + } else { + CustomWorldRoleAssetStatus::VisualReady + } +} + +fn resolve_role_asset_status_label(status: CustomWorldRoleAssetStatus) -> &'static str { + match status { + CustomWorldRoleAssetStatus::Complete => "动作已就绪", + CustomWorldRoleAssetStatus::AnimationsReady => "动作补齐中", + CustomWorldRoleAssetStatus::VisualReady => "主图已就绪", + CustomWorldRoleAssetStatus::Missing => "待生成主图", + } +} + +fn build_asset_coverage_json(profile: &JsonMap) -> Result { + let mut role_assets = Vec::new(); + for (field, role_kind) in [("playableNpcs", "playable"), ("storyNpcs", "story")] { + if let Some(entries) = profile.get(field).and_then(JsonValue::as_array) { + for entry in entries { + let Some(role) = entry.as_object() else { + continue; + }; + let Some(role_id) = read_optional_text_field(role, &["id"]) else { + continue; + }; + let status = resolve_role_asset_status(role); + role_assets.push(json!({ + "roleId": role_id, + "roleName": read_optional_text_field(role, &["name"]).unwrap_or_else(|| "角色".to_string()), + "roleKind": role_kind, + "priorityTier": if role_kind == "playable" { "hero" } else { "support" }, + "portraitPath": read_optional_text_field(role, &["imageSrc"]), + "generatedVisualAssetId": read_optional_text_field(role, &["generatedVisualAssetId"]), + "generatedAnimationSetId": read_optional_text_field(role, &["generatedAnimationSetId"]), + "status": role_asset_status_key(status), + "missingAnimations": [], + "nextPointCost": 0, + })); + } + } + } + let mut scene_assets = Vec::new(); + if let Some(camp) = profile.get("camp").and_then(JsonValue::as_object) { + if let Some(scene_id) = read_optional_text_field(camp, &["id"]) { + scene_assets.push(build_scene_asset_summary_json(&scene_id, "camp", camp)); + } + } + if let Some(landmarks) = profile.get("landmarks").and_then(JsonValue::as_array) { + for entry in landmarks { + let Some(scene) = entry.as_object() else { + continue; + }; + if let Some(scene_id) = read_optional_text_field(scene, &["id"]) { + scene_assets.push(build_scene_asset_summary_json(&scene_id, "landmark", scene)); + } + } + } + let all_role_assets_ready = !role_assets.is_empty() + && role_assets.iter().all(|entry| entry.get("status").and_then(JsonValue::as_str) != Some("missing")); + let all_scene_assets_ready = !scene_assets.is_empty() + && scene_assets.iter().all(|entry| entry.get("status").and_then(JsonValue::as_str) == Some("ready")); + serialize_json_value(&json!({ + "roleAssets": role_assets, + "sceneAssets": scene_assets, + "allRoleAssetsReady": all_role_assets_ready, + "allSceneAssetsReady": all_scene_assets_ready, + })) +} + +fn role_asset_status_key(status: CustomWorldRoleAssetStatus) -> &'static str { + match status { + CustomWorldRoleAssetStatus::Missing => "missing", + CustomWorldRoleAssetStatus::VisualReady => "visual_ready", + CustomWorldRoleAssetStatus::AnimationsReady => "animations_ready", + CustomWorldRoleAssetStatus::Complete => "complete", + } +} + +fn build_scene_asset_summary_json( + scene_id: &str, + scene_kind: &str, + scene: &JsonMap, +) -> JsonValue { + let image_src = read_optional_text_field(scene, &["imageSrc"]); + let asset_id = read_optional_text_field(scene, &["generatedSceneAssetId"]); + json!({ + "sceneId": scene_id, + "sceneName": read_optional_text_field(scene, &["name"]).unwrap_or_else(|| if scene_kind == "camp" { "开局营地" } else { "未命名场景" }.to_string()), + "actId": JsonValue::Null, + "actTitle": if scene_kind == "camp" { "营地正式背景图" } else { "场景正式背景图" }, + "imageSrc": image_src, + "assetId": asset_id, + "status": if read_optional_text_field(scene, &["imageSrc"]).is_some() || read_optional_text_field(scene, &["generatedSceneAssetId"]).is_some() { "ready" } else { "missing" }, + "nextPointCost": 0, + }) +} + +fn upsert_asset_role_card( + ctx: &ReducerContext, + session_id: &str, + role_id: &str, + role: &JsonMap, + asset_status: CustomWorldRoleAssetStatus, + asset_status_label: &str, + updated_at_micros: i64, +) -> Result<(), String> { + let card_id = resolve_existing_entity_card_id(ctx, session_id, role_id, RpgAgentDraftCardKind::Character) + .unwrap_or_else(|| role_id.to_string()); + let title = read_optional_text_field(role, &["name"]).unwrap_or_else(|| "角色".to_string()); + let subtitle = read_optional_text_field(role, &["role", "relationToPlayer", "publicMask"]) + .unwrap_or_else(|| asset_status_label.to_string()); + let summary = read_optional_text_field(role, &["summary", "description", "publicMask"]) + .unwrap_or_else(|| "角色资产已写回草稿。".to_string()); + upsert_asset_card( + ctx, + session_id, + &card_id, + RpgAgentDraftCardKind::Character, + &title, + &subtitle, + &summary, + asset_status, + asset_status_label, + json!({ + "id": role_id, + "kind": "character", + "title": title, + "sections": build_generated_entity_detail_sections(role, RpgAgentDraftCardKind::Character), + "linkedIds": [], + "locked": false, + "editable": true, + "editableSectionIds": ["summary"], + "warningMessages": [], + "asset": { + "imageSrc": read_optional_text_field(role, &["imageSrc"]), + "generatedVisualAssetId": read_optional_text_field(role, &["generatedVisualAssetId"]), + "generatedAnimationSetId": read_optional_text_field(role, &["generatedAnimationSetId"]), + "status": role_asset_status_key(asset_status), + "statusLabel": asset_status_label, + }, + }), + updated_at_micros, + ) +} + +fn upsert_asset_scene_card( + ctx: &ReducerContext, + session_id: &str, + scene_id: &str, + scene_kind: &str, + scene: &JsonMap, + updated_at_micros: i64, +) -> Result<(), String> { + let kind = if scene_kind == "camp" { + RpgAgentDraftCardKind::Camp + } else { + RpgAgentDraftCardKind::Landmark + }; + let card_id = resolve_existing_entity_card_id(ctx, session_id, scene_id, kind) + .unwrap_or_else(|| scene_id.to_string()); + let title = read_optional_text_field(scene, &["name"]).unwrap_or_else(|| if scene_kind == "camp" { "开局营地" } else { "场景" }.to_string()); + let subtitle = read_optional_text_field(scene, &["purpose", "mood", "dangerLevel"]) + .unwrap_or_else(|| "场景资产已就绪".to_string()); + let summary = read_optional_text_field(scene, &["summary", "description", "publicMask"]) + .unwrap_or_else(|| "场景图已写回草稿。".to_string()); + upsert_asset_card( + ctx, + session_id, + &card_id, + kind, + &title, + &subtitle, + &summary, + CustomWorldRoleAssetStatus::Complete, + "场景图已就绪", + json!({ + "id": scene_id, + "kind": kind.as_str(), + "title": title, + "sections": build_generated_entity_detail_sections(scene, kind), + "linkedIds": [], + "locked": false, + "editable": true, + "editableSectionIds": ["summary"], + "warningMessages": [], + "asset": { + "imageSrc": read_optional_text_field(scene, &["imageSrc"]), + "generatedSceneAssetId": read_optional_text_field(scene, &["generatedSceneAssetId"]), + "generatedScenePrompt": scene.get("generatedScenePrompt").cloned().unwrap_or(JsonValue::Null), + "generatedSceneModel": scene.get("generatedSceneModel").cloned().unwrap_or(JsonValue::Null), + "status": "ready", + "statusLabel": "场景图已就绪", + }, + }), + updated_at_micros, + ) +} + +fn upsert_asset_card( + ctx: &ReducerContext, + session_id: &str, + card_id: &str, + kind: RpgAgentDraftCardKind, + title: &str, + subtitle: &str, + summary: &str, + asset_status: CustomWorldRoleAssetStatus, + asset_status_label: &str, + detail_payload: JsonValue, + updated_at_micros: i64, +) -> Result<(), String> { + let row = CustomWorldDraftCard { + card_id: card_id.to_string(), + session_id: session_id.to_string(), + kind, + status: RpgAgentDraftCardStatus::Draft, + title: title.to_string(), + subtitle: subtitle.to_string(), + summary: summary.to_string(), + linked_ids_json: "[]".to_string(), + warning_count: 0, + asset_status: Some(asset_status), + asset_status_label: Some(asset_status_label.to_string()), + detail_payload_json: Some(serialize_json_value(&detail_payload)?), + created_at: Timestamp::from_micros_since_unix_epoch(updated_at_micros), + updated_at: Timestamp::from_micros_since_unix_epoch(updated_at_micros), + }; + if let Some(existing) = ctx + .db + .custom_world_draft_card() + .card_id() + .find(&card_id.to_string()) + .filter(|entry| entry.session_id == session_id) + { + replace_custom_world_draft_card( + ctx, + &existing, + CustomWorldDraftCard { + created_at: existing.created_at, + ..row + }, + ); + } else { + ctx.db.custom_world_draft_card().insert(row); + } + Ok(()) +} + +fn resolve_existing_entity_card_id( + ctx: &ReducerContext, + session_id: &str, + entity_id: &str, + kind: RpgAgentDraftCardKind, +) -> Option { + for card in ctx + .db + .custom_world_draft_card() + .iter() + .filter(|row| row.session_id == session_id && row.kind == kind) + { + if card.card_id == entity_id { + return Some(card.card_id); + } + if let Some(detail) = card + .detail_payload_json + .as_deref() + .and_then(parse_optional_session_object) + { + if read_optional_text_field(&detail, &["id"]).as_deref() == Some(entity_id) { + return Some(card.card_id); + } + } + } + None +} + + fn serialize_json_value(value: &JsonValue) -> Result { serde_json::to_string(value).map_err(|error| format!("JSON 序列化失败: {error}")) } diff --git a/server-rs/crates/spacetime-module/src/lib.rs b/server-rs/crates/spacetime-module/src/lib.rs index 33ef5f07..a0af7df8 100644 --- a/server-rs/crates/spacetime-module/src/lib.rs +++ b/server-rs/crates/spacetime-module/src/lib.rs @@ -1746,7 +1746,6 @@ pub fn turn_in_quest(ctx: &ReducerContext, input: QuestTurnInInput) -> Result<() Ok(()) } - // M5 Stage 2 先把 library profile upsert 固定成最小正式写入口;已发布作品在这里同步刷新 gallery 投影。 #[spacetimedb::reducer] pub fn upsert_custom_world_profile( @@ -2023,7 +2022,6 @@ pub fn execute_custom_world_agent_action( } } - // Stage 3 先把 published profile compile 作为独立 procedure 暴露,避免把编译逻辑和表写入、发布动作强耦合。 #[spacetimedb::procedure] pub fn compile_custom_world_published_profile( diff --git a/server-rs/crates/spacetime-module/src/runtime/profile.rs b/server-rs/crates/spacetime-module/src/runtime/profile.rs index 93ffa3f2..6332a97c 100644 --- a/server-rs/crates/spacetime-module/src/runtime/profile.rs +++ b/server-rs/crates/spacetime-module/src/runtime/profile.rs @@ -224,8 +224,9 @@ pub(crate) fn resume_profile_save_archive_record( ctx: &ReducerContext, input: RuntimeProfileSaveArchiveResumeInput, ) -> Result<(RuntimeProfileSaveArchiveSnapshot, RuntimeSnapshot), String> { - let validated_input = build_runtime_profile_save_archive_resume_input(input.user_id, input.world_key) - .map_err(|error| error.to_string())?; + let validated_input = + build_runtime_profile_save_archive_resume_input(input.user_id, input.world_key) + .map_err(|error| error.to_string())?; let archive = ctx .db .profile_save_archive() diff --git a/server-rs/crates/spacetime-module/src/runtime/snapshots.rs b/server-rs/crates/spacetime-module/src/runtime/snapshots.rs index 562b8f59..89854195 100644 --- a/server-rs/crates/spacetime-module/src/runtime/snapshots.rs +++ b/server-rs/crates/spacetime-module/src/runtime/snapshots.rs @@ -202,7 +202,8 @@ pub(crate) fn build_runtime_snapshot_from_row(row: &RuntimeSnapshotRow) -> Runti } pub(crate) fn parse_json_str(raw: &str) -> Result { - serde_json::from_str::(raw).map_err(|error| format!("game_state_json 解析失败: {error}")) + serde_json::from_str::(raw) + .map_err(|error| format!("game_state_json 解析失败: {error}")) } pub(crate) fn parse_optional_json_str(raw: Option<&str>) -> Result, String> { diff --git a/src/components/CustomWorldEntityCatalog.tsx b/src/components/CustomWorldEntityCatalog.tsx index 0fa677dc..ea10192c 100644 --- a/src/components/CustomWorldEntityCatalog.tsx +++ b/src/components/CustomWorldEntityCatalog.tsx @@ -1,4 +1,4 @@ -import { +import { type ReactNode, useDeferredValue, useEffect, @@ -54,6 +54,8 @@ interface CustomWorldEntityCatalogProps { onProfileChange: (profile: CustomWorldProfile) => void; onDeleteStoryNpcs?: (ids: string[]) => void; onDeleteLandmarks?: (ids: string[]) => void; + onGenerateRoleAssets?: (roleId: string) => void; + onGenerateSceneAssets?: (sceneId: string, sceneKind: 'camp' | 'landmark') => void; createActionLabel?: string; onCreateAction?: () => void; createActionDisabled?: boolean; @@ -111,10 +113,11 @@ function SmallButton({ tone = 'default', disabled = false, }: { - onClick: () => void; + onClick: React.MouseEventHandler; children: ReactNode; tone?: 'default' | 'sky' | 'rose'; disabled?: boolean; + actions?: ReactNode; }) { const toneClassName = tone === 'sky' @@ -353,6 +356,7 @@ function CatalogCard({ layout = 'stacked', mediaClassName, disabled = false, + actions, }: { title: string; description: string; @@ -364,6 +368,7 @@ function CatalogCard({ layout?: 'stacked' | 'compact'; mediaClassName?: string; disabled?: boolean; + actions?: ReactNode; }) { const selectionBadge = isSelectionMode ? (
{description || '暂无描述'}
+ {actions ?
{actions}
: null} @@ -443,6 +449,7 @@ function CatalogCard({
{description || '暂无描述'}
+ {actions ?
{actions}
: null} ); @@ -882,6 +889,8 @@ export function CustomWorldEntityCatalog({ onProfileChange, onDeleteStoryNpcs, onDeleteLandmarks, + onGenerateRoleAssets, + onGenerateSceneAssets, createActionLabel, onCreateAction, createActionDisabled = false, @@ -1430,6 +1439,19 @@ export function CustomWorldEntityCatalog({ id: role.id, }) } + actions={ + !readOnly && onGenerateRoleAssets ? ( + { + event?.stopPropagation(); + onGenerateRoleAssets(role.id); + }} + tone="sky" + > + 生成资产 + + ) : null + } media={ role.imageSrc?.trim() ? ( { + event?.stopPropagation(); + onGenerateRoleAssets(npc.id); + }} + tone="sky" + > + 生成资产 + + ) : null + } media={ { + event?.stopPropagation(); + onGenerateSceneAssets(scene.id, scene.kind); + }} + tone="sky" + disabled={scene.kind === 'camp' && isBulkDeleteMode} + > + 生成场景图 + + ) : null + } media={ ); } + diff --git a/src/components/CustomWorldResultView.test.tsx b/src/components/CustomWorldResultView.test.tsx index 7db2c2c4..de46159d 100644 --- a/src/components/CustomWorldResultView.test.tsx +++ b/src/components/CustomWorldResultView.test.tsx @@ -443,7 +443,33 @@ test('readOnly result view hides edit and create actions for agent preview mode' expect(screen.queryByRole('button', { name: /批量删除/u })).toBeNull(); }); -test('agent result view shows publish blockers and disables publish-enter action', () => { +test('agent result view shows error when entity generation returns no new profile', async () => { + const user = userEvent.setup(); + + render( + {}} + onProfileChange={() => {}} + compactAgentResultMode + onGenerateEntity={async () => {}} + />, + ); + + await user.click(screen.getByRole('button', { name: /场景角色/u })); + await user.click(screen.getByRole('button', { name: '新增场景角色' })); + + expect( + await screen.findByText(/结果页未收到新增内容/u), + ).toBeTruthy(); +}); + +test('agent result view keeps publish-enter action clickable and hides sticky publish hints', () => { render( , ); - expect(screen.getByText(/当前结果页数据源:服务端预览/u)).toBeTruthy(); - expect(screen.getByText(/当前还有 2 个发布阻断项/u)).toBeTruthy(); - expect( - screen.getByText(/仍有角色缺少正式主图或动作资产/u), - ).toBeTruthy(); const actionButton = screen.getByRole('button', { name: '发布并进入世界', }); - expect((actionButton as HTMLButtonElement).disabled).toBe(true); + expect((actionButton as HTMLButtonElement).disabled).toBe(false); + expect(screen.queryByText(/当前结果页数据源:服务端预览/u)).toBeNull(); + expect(screen.queryByText(/当前还有 2 个发布阻断项/u)).toBeNull(); +}); + +test('agent result view opens publish blocker dialog only when user clicks publish action', async () => { + const user = userEvent.setup(); + + render( + {}} + onProfileChange={() => {}} + compactAgentResultMode + publishReady={false} + publishBlockers={[ + '仍有角色缺少正式主图或动作资产,发布前需要先补齐。', + '营地还缺少正式场景图资产,发布前需要先确认营地图。', + ]} + previewSourceLabel="服务端预览" + enterWorldActionLabel="发布并进入世界" + onEnterWorld={() => {}} + />, + ); + + await user.click(screen.getByRole('button', { name: '发布并进入世界' })); + + expect( + screen.getByRole('dialog', { name: '发布前检查' }), + ).toBeTruthy(); + expect(screen.getByText(/当前还有 2 个阻断项/u)).toBeTruthy(); + expect( + screen.getByText(/仍有角色缺少正式主图或动作资产/u), + ).toBeTruthy(); }); test('agent result view keeps publish-enter action enabled when publish gate is clear', () => { diff --git a/src/components/MapModal.tsx b/src/components/MapModal.tsx index 4ec30827..601439a4 100644 --- a/src/components/MapModal.tsx +++ b/src/components/MapModal.tsx @@ -228,7 +228,7 @@ export function MapModal({ initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} - className="fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-3 sm:p-4 backdrop-blur-sm" + className="map-modal-overlay fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-3 sm:p-4 backdrop-blur-sm" onClick={onClose} > event.stopPropagation()} >
-
+
@@ -263,7 +263,7 @@ export function MapModal({
当前位置
@@ -365,7 +365,7 @@ export function MapModal({ initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} - className="fixed inset-0 z-[60] flex items-center justify-center bg-black/45 p-4 backdrop-blur-[2px]" + className="map-modal-overlay fixed inset-0 z-[60] flex items-center justify-center bg-black/45 p-4 backdrop-blur-[2px]" onClick={event => { event.stopPropagation(); setPendingScene(null); @@ -376,7 +376,7 @@ export function MapModal({ animate={{ opacity: 1, scale: 1, y: 0 }} exit={{ opacity: 0, scale: 0.96, y: 10 }} transition={{ duration: 0.18, ease: 'easeOut' }} - className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,36rem)] w-full max-w-md flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.6)]" + className="platform-remap-surface map-modal-shell pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,36rem)] w-full max-w-md flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.6)]" style={getNineSliceStyle(UI_CHROME.modalPanel)} onClick={event => event.stopPropagation()} > diff --git a/src/components/big-fish-creation/BigFishAgentWorkspace.tsx b/src/components/big-fish-creation/BigFishAgentWorkspace.tsx index 26feddd4..d15bf12c 100644 --- a/src/components/big-fish-creation/BigFishAgentWorkspace.tsx +++ b/src/components/big-fish-creation/BigFishAgentWorkspace.tsx @@ -48,10 +48,9 @@ function mapBigFishSession( ): CreationAgentSessionView { return { sessionId: session.sessionId, - title: '大鱼吃小鱼共创', - assistantSummary: - session.lastAssistantReply || - '先用一句灵感开始,Agent 会收束成可编译的玩法锚点。', + // 所有玩法的 Agent 聊天页顶部模块只保留操作与进度,不展示标题和引导副文案。 + title: null, + assistantSummary: null, currentTurn: session.currentTurn, progressPercent: session.progressPercent, anchors: [ diff --git a/src/components/big-fish-result/BigFishResultView.tsx b/src/components/big-fish-result/BigFishResultView.tsx index 693b5db7..a9c4ec5e 100644 --- a/src/components/big-fish-result/BigFishResultView.tsx +++ b/src/components/big-fish-result/BigFishResultView.tsx @@ -360,8 +360,8 @@ export function BigFishResultView({ } return ( -
-
+
+
-
-
- {session.title} + {hasHeroCopy ? ( +
+ {session.title ? ( +
+ {session.title} +
+ ) : null} + {session.assistantSummary ? ( +
+ {session.assistantSummary} +
+ ) : null}
- {session.assistantSummary ? ( -
- {session.assistantSummary} -
- ) : null} -
+ ) : null} -
+
创作进度 diff --git a/src/components/custom-world-agent/CustomWorldAgentWorkspace.test.tsx b/src/components/custom-world-agent/CustomWorldAgentWorkspace.test.tsx index 9c18c2d9..060a24d6 100644 --- a/src/components/custom-world-agent/CustomWorldAgentWorkspace.test.tsx +++ b/src/components/custom-world-agent/CustomWorldAgentWorkspace.test.tsx @@ -77,6 +77,10 @@ test('custom world agent workspace renders minimum loop chat layout', () => { expect(html).toContain('输入消息'); expect(html).toContain('总结当前设定'); expect(html).toContain('补全剩余设定'); + expect(html).not.toContain('世界共创'); + expect(html).not.toContain( + '先说一个你最想让玩家记住的世界方向,我会帮你收束成可生成草稿的锚点。', + ); expect(html).not.toContain('Agent'); expect(html).not.toContain('刷新'); expect(html).not.toContain('当前轮次'); diff --git a/src/components/custom-world-agent/CustomWorldAgentWorkspace.tsx b/src/components/custom-world-agent/CustomWorldAgentWorkspace.tsx index 0d13e685..1673ca71 100644 --- a/src/components/custom-world-agent/CustomWorldAgentWorkspace.tsx +++ b/src/components/custom-world-agent/CustomWorldAgentWorkspace.tsx @@ -83,10 +83,9 @@ function mapCustomWorldSession( ): CreationAgentSessionView { return { sessionId: session.sessionId, - title: '世界共创', - assistantSummary: - session.lastAssistantReply || - '先说一个你最想让玩家记住的世界方向,我会帮你收束成可生成草稿的锚点。', + // 自定义世界 Agent 聊天页顶部只保留操作与进度,不展示标题和引导副文案。 + title: null, + assistantSummary: null, currentTurn: session.currentTurn, progressPercent: session.progressPercent, anchors: [ diff --git a/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx b/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx index 99af984e..b11aef21 100644 --- a/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx +++ b/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx @@ -1357,7 +1357,7 @@ export function PlatformEntryFlowShellImpl({ initial={{ opacity: 0, y: 12 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -12 }} - className="flex h-full min-h-0 flex-col" + className="flex h-full min-h-0 min-w-0 flex-col overflow-hidden" > { + const action = + kind === 'landmark' + ? 'generate_landmarks' + : 'generate_characters'; + const latestSession = + await autosaveCoordinator.executeAgentActionAndWait({ + action, + count: 1, + ...(kind === 'playable' + ? { roleType: 'playable' as const } + : kind === 'story' + ? { roleType: 'story' as const } + : {}), + }); + const latestProfile = latestSession + ? rpgCreationPreviewAdapter.buildPreviewFromSession( + latestSession, + ) + : null; + if (latestProfile) { + sessionController.setGeneratedCustomWorldProfile( + latestProfile, + ); + } + return { profile: latestProfile }; + } + : undefined + } + onDeleteEntities={ + sessionController.isAgentDraftResultView + ? async (kind, ids) => { + if (ids.length === 0) return; + const latestSession = + await autosaveCoordinator.executeAgentActionAndWait( + kind === 'story' + ? { action: 'delete_characters', roleIds: ids } + : { action: 'delete_landmarks', sceneIds: ids }, + ); + const latestProfile = latestSession + ? rpgCreationPreviewAdapter.buildPreviewFromSession( + latestSession, + ) + : null; + if (latestProfile) { + sessionController.setGeneratedCustomWorldProfile( + latestProfile, + ); + } + } + : undefined + } + onGenerateRoleAssets={ + sessionController.isAgentDraftResultView + ? async (roleId) => { + const latestSession = + await autosaveCoordinator.executeAgentActionAndWait({ + action: 'generate_role_assets', + roleIds: [roleId], + }); + const latestProfile = latestSession + ? rpgCreationPreviewAdapter.buildPreviewFromSession( + latestSession, + ) + : null; + if (latestProfile) { + sessionController.setGeneratedCustomWorldProfile( + latestProfile, + ); + } + } + : undefined + } + onGenerateSceneAssets={ + sessionController.isAgentDraftResultView + ? async (sceneId, sceneKind) => { + const latestSession = + await autosaveCoordinator.executeAgentActionAndWait({ + action: 'generate_scene_assets', + sceneIds: [sceneId], + sceneKind, + }); + const latestProfile = latestSession + ? rpgCreationPreviewAdapter.buildPreviewFromSession( + latestSession, + ) + : null; + if (latestProfile) { + sessionController.setGeneratedCustomWorldProfile( + latestProfile, + ); + } + } + : undefined + } readOnly={false} compactAgentResultMode={ sessionController.isAgentDraftResultView diff --git a/src/components/puzzle-agent/PuzzleAgentWorkspace.tsx b/src/components/puzzle-agent/PuzzleAgentWorkspace.tsx index a722497a..b31803f9 100644 --- a/src/components/puzzle-agent/PuzzleAgentWorkspace.tsx +++ b/src/components/puzzle-agent/PuzzleAgentWorkspace.tsx @@ -40,10 +40,9 @@ function mapPuzzleSession( ): CreationAgentSessionView { return { sessionId: session.sessionId, - title: '拼图玩法共创', - assistantSummary: - session.lastAssistantReply || - '先说一个你最想让玩家一眼记住的画面,我会帮你收束成拼图关卡。', + // 所有玩法的 Agent 聊天页顶部模块只保留操作与进度,不展示标题和引导副文案。 + title: null, + assistantSummary: null, currentTurn: session.currentTurn, progressPercent: session.progressPercent, anchors: [ diff --git a/src/components/puzzle-result/PuzzleResultView.tsx b/src/components/puzzle-result/PuzzleResultView.tsx index 85bbf4b3..3979167b 100644 --- a/src/components/puzzle-result/PuzzleResultView.tsx +++ b/src/components/puzzle-result/PuzzleResultView.tsx @@ -229,8 +229,8 @@ export function PuzzleResultView({ } return ( -
-
+
+
+
+
+
+ {blockers.map((blocker, index) => ( +
+
+ 阻断项 {index + 1} +
+
+ {blocker} +
+
+ ))} +
+
+
+ +
+
+
, + document.body, + ); +} + interface RpgCreationResultActionBarProps { editActionLabel: string; enterWorldActionLabel: string; @@ -40,6 +122,7 @@ interface RpgCreationResultActionBarProps { profile: CustomWorldProfile; regenerateActionLabel: string; publishReady: boolean; + publishBlockers: string[]; } export function RpgCreationResultActionBar({ @@ -53,7 +136,21 @@ export function RpgCreationResultActionBar({ profile, regenerateActionLabel, publishReady, + publishBlockers, }: RpgCreationResultActionBarProps) { + const [showPublishBlockersDialog, setShowPublishBlockersDialog] = + useState(false); + + // 结果页只在用户点击发布动作时展示阻断项,不做吸底常驻提示。 + const handleEnterWorld = () => { + if (!publishReady) { + setShowPublishBlockersDialog(true); + return; + } + + onEnterWorld?.(); + }; + return (
{profile.generationStatus === 'key_only' ? ( @@ -82,14 +179,24 @@ export function RpgCreationResultActionBar({ {onEnterWorld ? ( ) : null}
+ {showPublishBlockersDialog ? ( + 0 + ? publishBlockers + : ['当前草稿还没有通过发布门槛,请先补齐必要内容。'] + } + onClose={() => setShowPublishBlockersDialog(false)} + /> + ) : null}
); } diff --git a/src/components/rpg-creation-result/RpgCreationResultViewImpl.tsx b/src/components/rpg-creation-result/RpgCreationResultViewImpl.tsx index 16269603..34c928fb 100644 --- a/src/components/rpg-creation-result/RpgCreationResultViewImpl.tsx +++ b/src/components/rpg-creation-result/RpgCreationResultViewImpl.tsx @@ -12,6 +12,7 @@ import RpgCreationAssetDebugPanel, { import RpgCreationResultActionBar from './RpgCreationResultActionBar'; import RpgCreationResultHeader from './RpgCreationResultHeader'; import { useRpgCreationResultActions } from './useRpgCreationResultActions'; +import type { EntityGenerationKind } from './useRpgCreationResultActions'; export interface RpgCreationResultViewProps { profile: CustomWorldProfile; @@ -25,6 +26,12 @@ export interface RpgCreationResultViewProps { onRegenerate?: () => void; onContinueExpand?: () => void; onEnterWorld?: () => void; + onDeleteEntities?: (kind: 'story' | 'landmark', ids: string[]) => Promise | void; + onGenerateEntity?: + | ((kind: EntityGenerationKind) => Promise<{ profile?: CustomWorldProfile | null } | void> | { profile?: CustomWorldProfile | null } | void) + | undefined; + onGenerateRoleAssets?: (roleId: string) => Promise | void; + onGenerateSceneAssets?: (sceneId: string, sceneKind: 'camp' | 'landmark') => Promise | void; onProfileChange: (profile: CustomWorldProfile) => void; readOnly?: boolean; backLabel?: string; @@ -56,7 +63,11 @@ export function RpgCreationResultView({ onEditSetting, onRegenerate: triggerRegenerate, onContinueExpand, + onDeleteEntities, onEnterWorld, + onGenerateEntity, + onGenerateRoleAssets, + onGenerateSceneAssets, onProfileChange, readOnly = false, backLabel = '返回', @@ -68,7 +79,6 @@ export function RpgCreationResultView({ publishReady = true, publishBlockers = [], qualityFindings = [], - previewSourceLabel = null, }: RpgCreationResultViewProps) { const [activeTab, setActiveTab] = useState('world'); const assetDebugEnabled = useMemo( @@ -90,6 +100,11 @@ export function RpgCreationResultView({ setEditorTarget, } = useRpgCreationResultActions({ activeTab, + agentEntityGenerator: onGenerateEntity + ? async (kind) => { + return onGenerateEntity(kind); + } + : undefined, isGenerating, onProfileChange, profile, @@ -97,8 +112,19 @@ export function RpgCreationResultView({ triggerRegenerate, }); + const deleteStoryNpcs = onDeleteEntities + ? (ids: string[]) => { + void onDeleteEntities('story', ids); + } + : handleDeleteStoryNpcs; + const deleteLandmarks = onDeleteEntities + ? (ids: string[]) => { + void onDeleteEntities('landmark', ids); + } + : handleDeleteLandmarks; + return ( -
+
{ void onGenerateRoleAssets(roleId); } : undefined} + onGenerateSceneAssets={onGenerateSceneAssets ? (sceneId, sceneKind) => { void onGenerateSceneAssets(sceneId, sceneKind); } : undefined} createActionLabel={ - readOnly || compactAgentResultMode ? undefined : createLabel + readOnly || (compactAgentResultMode && !onGenerateEntity) + ? undefined + : createLabel } onCreateAction={ - readOnly || compactAgentResultMode || !createTarget + readOnly || (compactAgentResultMode && !onGenerateEntity) || !createTarget ? undefined : () => { if (activeTab === 'playable') { @@ -171,25 +201,6 @@ export function RpgCreationResultView({ {error}
) : null} - {!error && compactAgentResultMode && previewSourceLabel ? ( -
- 当前结果页数据源:{previewSourceLabel} -
- ) : null} - {!error && compactAgentResultMode && publishBlockers.length > 0 ? ( -
- {publishReady - ? '当前世界已满足发布门槛。' - : `当前还有 ${publishBlockers.length} 个发布阻断项,请先补齐后再进入世界。`} -
- {publishBlockers.slice(0, 4).map((entry, index) => ( -
- {index + 1}. {entry} -
- ))} -
-
- ) : null} {!error && compactAgentResultMode && publishBlockers.length <= 0 && @@ -216,6 +227,7 @@ export function RpgCreationResultView({ profile={profile} regenerateActionLabel={regenerateActionLabel} publishReady={publishReady} + publishBlockers={publishBlockers} /> ; +export type AgentEntityGenerationResult = { + profile?: CustomWorldProfile | null; +}; + function getCreateTargetByTab( activeTab: ResultTab, ): RpgCreationEditorTarget | null { @@ -99,6 +103,15 @@ function prependLandmark( } satisfies CustomWorldProfile; } +function getEntityCountByKind( + profile: CustomWorldProfile, + kind: EntityGenerationKind, +) { + if (kind === 'playable') return profile.playableNpcs.length; + if (kind === 'story') return profile.storyNpcs.length; + return profile.landmarks.length; +} + function removeStoryNpcsFromProfile( profile: CustomWorldProfile, ids: string[], @@ -144,6 +157,9 @@ function removeLandmarksFromProfile( export function useRpgCreationResultActions(params: { activeTab: ResultTab; + agentEntityGenerator?: + | ((kind: EntityGenerationKind) => Promise) + | undefined; isGenerating: boolean; onProfileChange: (profile: CustomWorldProfile) => void; profile: CustomWorldProfile; @@ -152,6 +168,7 @@ export function useRpgCreationResultActions(params: { }) { const { activeTab, + agentEntityGenerator, isGenerating, onProfileChange, profile, @@ -242,7 +259,16 @@ export function useRpgCreationResultActions(params: { startPendingProgress(kind); try { - if (kind === 'playable') { + if (agentEntityGenerator) { + const previousCount = getEntityCountByKind(profile, kind); + const generationResult = await agentEntityGenerator(kind); + const currentCount = generationResult?.profile + ? getEntityCountByKind(generationResult.profile, kind) + : previousCount; + if (currentCount <= previousCount) { + throw new Error('生成请求已完成,但结果页未收到新增内容,请返回创作页重新打开草稿后重试。'); + } + } else if (kind === 'playable') { const nextNpc = await rpgCreationAssetClient.generatePlayableNpc({ profile, }); diff --git a/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx b/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx index acc0ce3e..bf2cfeb3 100644 --- a/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx +++ b/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx @@ -143,7 +143,7 @@ vi.mock('../big-fish-creation/BigFishAgentWorkspace', () => ({ session: { sessionId: string; messages: Array<{ text: string }> } | null; }) => (
- 大鱼吃小鱼共创:{session?.sessionId ?? 'missing-session'} +
大鱼吃小鱼工作区:{session?.sessionId ?? 'missing-session'}
{session?.messages.map((message) => (
{message.text}
))} @@ -1288,6 +1288,27 @@ test('restoring an agent workspace while logged out opens login modal before loa expect(getRpgCreationSession).not.toHaveBeenCalled(); }); +test('restoring an agent workspace ignores a stored session owned by another user', async () => { + window.sessionStorage.setItem( + 'genarrative.custom-world-agent-ui.v1', + JSON.stringify({ + activeSessionId: 'custom-world-agent-session-other-user', + activeOperationId: null, + ownerUserId: 'user-other', + }), + ); + + render(); + + await waitFor(() => { + expect(window.sessionStorage.getItem('genarrative.custom-world-agent-ui.v1')) + .toBeNull(); + }); + + expect(getRpgCreationSession).not.toHaveBeenCalled(); + expect(window.location.search).toBe(''); +}); + test('new creation entry maps raw bearer token errors to user-facing auth copy', async () => { const user = userEvent.setup(); @@ -1410,10 +1431,10 @@ test('puzzle draft card restores the bound agent session and opens the result vi await user.click(screen.getByRole('button', { name: '返回' })); - expect(await screen.findByText('拼图玩法共创')).toBeTruthy(); expect( - screen.getByText('雨夜里有一只会发光的猫站在遗迹台阶上。'), + await screen.findByText('雨夜里有一只会发光的猫站在遗迹台阶上。'), ).toBeTruthy(); + expect(screen.queryByText('拼图玩法共创')).toBeNull(); }); test('big fish draft card restores the bound agent session and opens the result view', async () => { @@ -1462,9 +1483,8 @@ test('big fish draft card restores the bound agent session and opens the result await user.click(screen.getByRole('button', { name: '返回' })); - expect( - await screen.findByText('大鱼吃小鱼共创:big-fish-session-1'), - ).toBeTruthy(); + expect(await screen.findByText('大鱼吃小鱼工作区:big-fish-session-1')).toBeTruthy(); + expect(screen.queryByText(/大鱼吃小鱼共创/u)).toBeNull(); expect( screen.getByText('我想做机械深海里微生物互相吞并进化。'), ).toBeTruthy(); @@ -1543,7 +1563,7 @@ test('existing draft sessions open result page refinement instead of agent dialo expect(screen.getByRole('button', { name: /AI生成/u })).toBeTruthy(); }); -test('agent result view shows publish blockers and disables publish-enter action when preview gate is not ready', async () => { +test('agent result view shows publish blocker dialog before publish action when preview gate is not ready', async () => { const user = userEvent.setup(); vi.mocked(getRpgCreationOperation).mockResolvedValue({ @@ -1574,11 +1594,33 @@ test('agent result view shows publish blockers and disables publish-enter action await openNewRpgCreation(user); - expect(await screen.findByText(/当前还有 1 个发布阻断项/u)).toBeTruthy(); - const actionButton = screen.getByRole('button', { + const actionButton = await screen.findByRole('button', { name: /发布并进入世界/u, }); - expect((actionButton as HTMLButtonElement).disabled).toBe(true); + expect((actionButton as HTMLButtonElement).disabled).toBe(false); + + const publishWorldCallCountBeforeClick = vi + .mocked(executeRpgCreationAction) + .mock.calls.filter( + ([sessionId, payload]) => + sessionId === 'custom-world-agent-session-1' && + payload?.action === 'publish_world', + ).length; + + await user.click(actionButton); + + expect(await screen.findByRole('dialog', { name: '发布前检查' })).toBeTruthy(); + expect(screen.getByText(/当前还有 1 个阻断项/u)).toBeTruthy(); + expect(screen.getByText(/仍有角色缺少正式主图或动作资产/u)).toBeTruthy(); + + const publishWorldCallCountAfterClick = vi + .mocked(executeRpgCreationAction) + .mock.calls.filter( + ([sessionId, payload]) => + sessionId === 'custom-world-agent-session-1' && + payload?.action === 'publish_world', + ).length; + expect(publishWorldCallCountAfterClick).toBe(publishWorldCallCountBeforeClick); }); test('agent draft result publishes before entering world and uses published preview profile', async () => { diff --git a/src/components/rpg-entry/RpgEntryHomeView.tsx b/src/components/rpg-entry/RpgEntryHomeView.tsx index 97f2a72f..b6b8db67 100644 --- a/src/components/rpg-entry/RpgEntryHomeView.tsx +++ b/src/components/rpg-entry/RpgEntryHomeView.tsx @@ -84,11 +84,11 @@ export interface RpgEntryHomeViewProps { const PANEL_SURFACE_CLASS = 'platform-surface platform-surface--soft'; const HERO_SURFACE_CLASS = - 'platform-surface platform-surface--hero platform-interactive-card'; + 'platform-surface platform-surface--hero platform-interactive-card min-w-0'; const MOBILE_PAGE_STAGE_CLASS = - 'platform-page-stage platform-remap-surface space-y-4 pb-2'; + 'platform-page-stage platform-remap-surface min-w-0 space-y-4 overflow-hidden pb-2'; const DESKTOP_PAGE_STAGE_CLASS = - 'platform-page-stage platform-remap-surface space-y-5 pb-4'; + 'platform-page-stage platform-remap-surface min-w-0 space-y-5 pb-4'; const DESKTOP_LAYOUT_QUERY = '(min-width: 1024px)'; const PLATFORM_HOME_TABS: PlatformHomeTab[] = [ 'home', @@ -174,7 +174,7 @@ function SectionHeader({ title, detail }: { title: string; detail: string }) { function EmptyShelf({ text }: { text: string }) { return (
{text}
@@ -241,7 +241,7 @@ function WorldCard({