mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
530cbac73f
Signed-off-by: phernandez <paul@basicmachines.co>
298 lines
8.5 KiB
Python
298 lines
8.5 KiB
Python
"""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",
|
|
]
|