# File: db/helpers/auto_config.py
ai_provider_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'AiProvider', 'model_name': 'ai_provider', 'model_name_plural': 'ai_providers', 'model_name_snake': 'ai_provider', 'relations': ['ai_settings', 'ai_model'], 'filter_fields': [], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_agent_memory_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxAgentMemory', 'model_name': 'cx_agent_memory', 'model_name_plural': 'cx_agent_memories', 'model_name_snake': 'cx_agent_memory', 'relations': [], 'filter_fields': ['user_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


organizations_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'Organizations', 'model_name': 'organizations', 'model_name_plural': 'organizations', 'model_name_snake': 'organizations', 'relations': ['workspaces', 'context_variables', 'permissions', 'organization_members', 'user_active_context', 'broker_values', 'user_files', 'projects', 'organization_invitations', 'cx_conversation', 'sandbox_instances', 'context_items', 'app_instances', 'notes', 'user_tables', 'transcripts', 'workflow', 'canvas_items', 'prompts'], 'filter_fields': ['created_by'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


shortcut_categories_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'ShortcutCategories', 'model_name': 'shortcut_categories', 'model_name_plural': 'shortcut_categories', 'model_name_snake': 'shortcut_categories', 'relations': ['self_reference', 'content_blocks', 'prompt_shortcuts', 'system_prompts_new'], 'filter_fields': ['parent_category_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


tools_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'Tools', 'model_name': 'tools', 'model_name_plural': 'tools', 'model_name_snake': 'tools', 'relations': ['tool_versions', 'tool_test_samples', 'tool_ui_components'], 'filter_fields': ['tags'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


ai_model_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'AiModel', 'model_name': 'ai_model', 'model_name_plural': 'ai_models', 'model_name_snake': 'ai_model', 'relations': ['ai_provider', 'ai_model_endpoint', 'ai_settings', 'recipe_model'], 'filter_fields': ['name', 'common_name', 'provider', 'model_class', 'model_provider'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


content_blocks_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'ContentBlocks', 'model_name': 'content_blocks', 'model_name_plural': 'content_blocks', 'model_name_snake': 'content_blocks', 'relations': ['shortcut_categories'], 'filter_fields': ['category_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


workspaces_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'Workspaces', 'model_name': 'workspaces', 'model_name_plural': 'workspaces', 'model_name_snake': 'workspaces', 'relations': ['organizations', 'self_reference', 'context_variables', 'user_active_context', 'broker_values', 'user_files', 'projects', 'cx_conversation', 'sandbox_instances', 'context_items', 'app_instances', 'notes', 'workspace_members', 'workspace_invitations', 'user_tables', 'transcripts', 'workflow', 'canvas_items', 'prompts'], 'filter_fields': ['organization_id', 'parent_workspace_id', 'created_by'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


projects_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'Projects', 'model_name': 'projects', 'model_name_plural': 'projects', 'model_name_snake': 'projects', 'relations': ['organizations', 'workspaces', 'context_variables', 'tasks', 'user_active_context', 'broker_values', 'user_files', 'cx_conversation', 'project_members', 'project_invitations', 'sandbox_instances', 'context_items', 'app_instances', 'notes', 'rs_topic', 'user_tables', 'transcripts', 'workflow', 'canvas_items', 'prompts'], 'filter_fields': ['created_by', 'organization_id', 'workspace_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


tasks_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'Tasks', 'model_name': 'tasks', 'model_name_plural': 'tasks', 'model_name_snake': 'tasks', 'relations': ['self_reference', 'projects', 'task_assignments', 'task_attachments', 'context_variables', 'task_comments', 'user_active_context', 'broker_values', 'user_files', 'cx_conversation', 'sandbox_instances', 'context_items', 'app_instances', 'notes', 'user_tables', 'transcripts', 'workflow', 'prompts'], 'filter_fields': ['project_id', 'user_id', 'parent_task_id', 'priority', 'assignee_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_conversation_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxConversation', 'model_name': 'cx_conversation', 'model_name_plural': 'cx_conversations', 'model_name_snake': 'cx_conversation', 'relations': ['self_reference', 'ai_model', 'organizations', 'projects', 'tasks', 'workspaces', 'cx_tool_call', 'cx_message', 'cx_media', 'cx_user_request', 'cx_request', 'canvas_items'], 'filter_fields': ['user_id', 'forked_from_id', 'last_model_id', 'parent_conversation_id', 'keywords', 'organization_id', 'workspace_id', 'project_id', 'task_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


prompts_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'Prompts', 'model_name': 'prompts', 'model_name_plural': 'prompts', 'model_name_snake': 'prompts', 'relations': ['ai_model', 'organizations', 'projects', 'tasks', 'workspaces', 'system_prompts_new', 'prompt_actions', 'system_prompts', 'prompt_versions', 'prompt_builtins', 'prompt_apps'], 'filter_fields': ['user_id', 'tags', 'model_id', 'organization_id', 'workspace_id', 'project_id', 'task_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


user_tables_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'UserTables', 'model_name': 'user_tables', 'model_name_plural': 'user_tables', 'model_name_snake': 'user_tables', 'relations': ['organizations', 'projects', 'tasks', 'workspaces', 'table_data', 'table_fields'], 'filter_fields': ['user_id', 'organization_id', 'workspace_id', 'project_id', 'task_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_media_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxMedia', 'model_name': 'cx_media', 'model_name_plural': 'cx_media', 'model_name_snake': 'cx_media', 'relations': ['cx_conversation'], 'filter_fields': ['conversation_id', 'user_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_message_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxMessage', 'model_name': 'cx_message', 'model_name_plural': 'cx_messages', 'model_name_snake': 'cx_message', 'relations': ['cx_conversation', 'cx_tool_call'], 'filter_fields': ['conversation_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_user_request_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxUserRequest', 'model_name': 'cx_user_request', 'model_name_plural': 'cx_user_requests', 'model_name_snake': 'cx_user_request', 'relations': ['cx_conversation', 'cx_tool_call', 'cx_request'], 'filter_fields': ['conversation_id', 'user_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


prompt_builtins_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'PromptBuiltins', 'model_name': 'prompt_builtins', 'model_name_plural': 'prompt_builtins', 'model_name_snake': 'prompt_builtins', 'relations': ['ai_model', 'prompts', 'prompt_shortcuts', 'prompt_actions', 'prompt_builtin_versions'], 'filter_fields': ['created_by_user_id', 'source_prompt_id', 'tags', 'model_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


table_data_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'TableData', 'model_name': 'table_data', 'model_name_plural': 'table_data', 'model_name_snake': 'table_data', 'relations': ['user_tables'], 'filter_fields': ['table_id', 'user_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_request_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxRequest', 'model_name': 'cx_request', 'model_name_plural': 'cx_requests', 'model_name_snake': 'cx_request', 'relations': ['ai_model', 'cx_conversation', 'cx_user_request'], 'filter_fields': ['user_request_id', 'conversation_id', 'ai_model_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}


cx_tool_call_auto_config = {'models_module_path': 'db.models', 'model_pascal': 'CxToolCall', 'model_name': 'cx_tool_call', 'model_name_plural': 'cx_tool_calls', 'model_name_snake': 'cx_tool_call', 'relations': ['cx_conversation', 'cx_message', 'cx_user_request', 'self_reference'], 'filter_fields': ['conversation_id', 'message_id', 'user_id', 'user_request_id', 'parent_call_id'], 'include_core_relations': True, 'include_active_relations': False, 'include_filter_fields': True, 'include_active_methods': False, 'include_or_not_methods': False, 'include_to_dict_methods': False, 'include_to_dict_relations': False, 'm2m_relations': None, 'view_prefetch': []}