"""Dependency injection for basic-memory. This package provides FastAPI dependencies organized by feature: - config: Application configuration - db: Database/session management - projects: Project resolution and config - repositories: Data access layer - services: Business logic layer - importers: Import functionality For backwards compatibility, all dependencies are re-exported from this module. New code should import from specific submodules to reduce coupling. """ # Re-export everything for backwards compatibility # Eventually, callers should import from specific submodules from basic_memory.deps.config import ( get_app_config, AppConfigDep, ) from basic_memory.deps.db import ( get_engine_factory, EngineFactoryDep, get_session_maker, SessionMakerDep, ) from basic_memory.deps.projects import ( get_project_repository, ProjectRepositoryDep, ProjectPathDep, get_project_id, ProjectIdDep, get_project_config, ProjectConfigDep, validate_project_id, ProjectIdPathDep, get_project_config_v2, ProjectConfigV2Dep, validate_project_external_id, ProjectExternalIdPathDep, get_project_config_v2_external, ProjectConfigV2ExternalDep, ) from basic_memory.deps.repositories import ( get_entity_repository, EntityRepositoryDep, get_entity_repository_v2, EntityRepositoryV2Dep, get_entity_repository_v2_external, EntityRepositoryV2ExternalDep, get_observation_repository, ObservationRepositoryDep, get_observation_repository_v2, ObservationRepositoryV2Dep, get_observation_repository_v2_external, ObservationRepositoryV2ExternalDep, get_relation_repository, RelationRepositoryDep, get_relation_repository_v2, RelationRepositoryV2Dep, get_relation_repository_v2_external, RelationRepositoryV2ExternalDep, get_search_repository, SearchRepositoryDep, get_search_repository_v2, SearchRepositoryV2Dep, get_search_repository_v2_external, SearchRepositoryV2ExternalDep, ) from basic_memory.deps.services import ( get_entity_parser, EntityParserDep, get_entity_parser_v2, EntityParserV2Dep, get_entity_parser_v2_external, EntityParserV2ExternalDep, get_markdown_processor, MarkdownProcessorDep, get_markdown_processor_v2, MarkdownProcessorV2Dep, get_markdown_processor_v2_external, MarkdownProcessorV2ExternalDep, get_file_service, FileServiceDep, get_file_service_v2, FileServiceV2Dep, get_file_service_v2_external, FileServiceV2ExternalDep, get_task_scheduler, TaskSchedulerDep, get_search_service, SearchServiceDep, get_search_service_v2, SearchServiceV2Dep, get_search_service_v2_external, SearchServiceV2ExternalDep, get_link_resolver, LinkResolverDep, get_link_resolver_v2, LinkResolverV2Dep, get_link_resolver_v2_external, LinkResolverV2ExternalDep, get_entity_service, EntityServiceDep, get_entity_service_v2, EntityServiceV2Dep, get_entity_service_v2_external, EntityServiceV2ExternalDep, get_context_service, ContextServiceDep, get_context_service_v2, ContextServiceV2Dep, get_context_service_v2_external, ContextServiceV2ExternalDep, get_sync_service, SyncServiceDep, get_sync_service_v2, SyncServiceV2Dep, get_sync_service_v2_external, SyncServiceV2ExternalDep, get_project_service, ProjectServiceDep, get_directory_service, DirectoryServiceDep, get_directory_service_v2, DirectoryServiceV2Dep, get_directory_service_v2_external, DirectoryServiceV2ExternalDep, ) from basic_memory.deps.importers import ( get_chatgpt_importer, ChatGPTImporterDep, get_chatgpt_importer_v2, ChatGPTImporterV2Dep, get_chatgpt_importer_v2_external, ChatGPTImporterV2ExternalDep, get_claude_conversations_importer, ClaudeConversationsImporterDep, get_claude_conversations_importer_v2, ClaudeConversationsImporterV2Dep, get_claude_conversations_importer_v2_external, ClaudeConversationsImporterV2ExternalDep, get_claude_projects_importer, ClaudeProjectsImporterDep, get_claude_projects_importer_v2, ClaudeProjectsImporterV2Dep, get_claude_projects_importer_v2_external, ClaudeProjectsImporterV2ExternalDep, get_memory_json_importer, MemoryJsonImporterDep, get_memory_json_importer_v2, MemoryJsonImporterV2Dep, get_memory_json_importer_v2_external, MemoryJsonImporterV2ExternalDep, ) __all__ = [ # Config "get_app_config", "AppConfigDep", # Database "get_engine_factory", "EngineFactoryDep", "get_session_maker", "SessionMakerDep", # Projects "get_project_repository", "ProjectRepositoryDep", "ProjectPathDep", "get_project_id", "ProjectIdDep", "get_project_config", "ProjectConfigDep", "validate_project_id", "ProjectIdPathDep", "get_project_config_v2", "ProjectConfigV2Dep", "validate_project_external_id", "ProjectExternalIdPathDep", "get_project_config_v2_external", "ProjectConfigV2ExternalDep", # Repositories "get_entity_repository", "EntityRepositoryDep", "get_entity_repository_v2", "EntityRepositoryV2Dep", "get_entity_repository_v2_external", "EntityRepositoryV2ExternalDep", "get_observation_repository", "ObservationRepositoryDep", "get_observation_repository_v2", "ObservationRepositoryV2Dep", "get_observation_repository_v2_external", "ObservationRepositoryV2ExternalDep", "get_relation_repository", "RelationRepositoryDep", "get_relation_repository_v2", "RelationRepositoryV2Dep", "get_relation_repository_v2_external", "RelationRepositoryV2ExternalDep", "get_search_repository", "SearchRepositoryDep", "get_search_repository_v2", "SearchRepositoryV2Dep", "get_search_repository_v2_external", "SearchRepositoryV2ExternalDep", # Services "get_entity_parser", "EntityParserDep", "get_entity_parser_v2", "EntityParserV2Dep", "get_entity_parser_v2_external", "EntityParserV2ExternalDep", "get_markdown_processor", "MarkdownProcessorDep", "get_markdown_processor_v2", "MarkdownProcessorV2Dep", "get_markdown_processor_v2_external", "MarkdownProcessorV2ExternalDep", "get_file_service", "FileServiceDep", "get_file_service_v2", "FileServiceV2Dep", "get_file_service_v2_external", "FileServiceV2ExternalDep", "get_task_scheduler", "TaskSchedulerDep", "get_search_service", "SearchServiceDep", "get_search_service_v2", "SearchServiceV2Dep", "get_search_service_v2_external", "SearchServiceV2ExternalDep", "get_link_resolver", "LinkResolverDep", "get_link_resolver_v2", "LinkResolverV2Dep", "get_link_resolver_v2_external", "LinkResolverV2ExternalDep", "get_entity_service", "EntityServiceDep", "get_entity_service_v2", "EntityServiceV2Dep", "get_entity_service_v2_external", "EntityServiceV2ExternalDep", "get_context_service", "ContextServiceDep", "get_context_service_v2", "ContextServiceV2Dep", "get_context_service_v2_external", "ContextServiceV2ExternalDep", "get_sync_service", "SyncServiceDep", "get_sync_service_v2", "SyncServiceV2Dep", "get_sync_service_v2_external", "SyncServiceV2ExternalDep", "get_project_service", "ProjectServiceDep", "get_directory_service", "DirectoryServiceDep", "get_directory_service_v2", "DirectoryServiceV2Dep", "get_directory_service_v2_external", "DirectoryServiceV2ExternalDep", # Importers "get_chatgpt_importer", "ChatGPTImporterDep", "get_chatgpt_importer_v2", "ChatGPTImporterV2Dep", "get_chatgpt_importer_v2_external", "ChatGPTImporterV2ExternalDep", "get_claude_conversations_importer", "ClaudeConversationsImporterDep", "get_claude_conversations_importer_v2", "ClaudeConversationsImporterV2Dep", "get_claude_conversations_importer_v2_external", "ClaudeConversationsImporterV2ExternalDep", "get_claude_projects_importer", "ClaudeProjectsImporterDep", "get_claude_projects_importer_v2", "ClaudeProjectsImporterV2Dep", "get_claude_projects_importer_v2_external", "ClaudeProjectsImporterV2ExternalDep", "get_memory_json_importer", "MemoryJsonImporterDep", "get_memory_json_importer_v2", "MemoryJsonImporterV2Dep", "get_memory_json_importer_v2_external", "MemoryJsonImporterV2ExternalDep", ]