vibe.infrastructure.data_directory¶
Data Directory Management for VIBE.
Provides centralized management of data directories with configurable priority resolution:
1. Environment variable VIBE_DATA_DIR
2. Config file data_dir setting
3. Default to current working directory
DataDirectoryManager ¶
Manages VIBE's data directory structure with priority-based resolution.
Provides typed path getters for different data types (sessions, drafts, logs, cache) while maintaining a single configurable root directory.
__init__ ¶
__init__(config_data_dir: str | None = None, model_cache_dir: Path | None = None) -> None
Initialize data directory manager.
| Parameters: |
|
|---|
get_data_root ¶
get_data_root() -> Path
Get the root data directory using priority resolution.
Priority: 1. VIBE_DATA_DIR environment variable 2. data_dir from config file 3. Default: .vibe_data in current working directory
| Returns: |
|
|---|
get_drafts_dir ¶
get_drafts_dir(extension: str | None = None) -> Path
Get the directory for workbench template drafts.
| Parameters: |
|
|---|
| Returns: |
|
|---|
get_logs_dir ¶
get_logs_dir(extension: str | None = None) -> Path
Get the directory for application logs.
| Parameters: |
|
|---|
| Returns: |
|
|---|
get_cache_dir ¶
get_cache_dir(extension: str | None = None) -> Path
Get the directory for cache data.
| Parameters: |
|
|---|
| Returns: |
|
|---|
get_work_dir ¶
get_work_dir(extension: str | None = None) -> Path
Get the directory for temporary work files.
Used for intermediate files during processing (e.g., OCR image files passed between host and Docker container).
| Parameters: |
|
|---|
| Returns: |
|
|---|
get_vector_store_cache_dir ¶
get_vector_store_cache_dir() -> Path
Get the directory for OpenAI vector store ID cache.
get_filestore_dir ¶
get_filestore_dir(extension: str | None = None) -> Path
Get the directory for file storage (e.g., uploaded documents).
| Parameters: |
|
|---|
| Returns: |
|
|---|
get_model_cache_dir ¶
get_model_cache_dir(extension: str | None = None) -> Path
Get the directory for downloaded ML models.
This directory is separate from the regular cache to ensure models persist across test sessions and aren't re-downloaded unnecessarily.
Priority: 1. Explicit model_cache_dir from config 2. .model_cache in the project root (detected via pyproject.toml) 3. Fallback to regular cache_dir/models
| Parameters: |
|
|---|
| Returns: |
|
|---|
get_data_directory_manager ¶
get_data_directory_manager() -> DataDirectoryManager
Get the global DataDirectoryManager instance.
| Returns: |
|
|---|
| Raises: |
|
|---|
initialize_data_directory_manager ¶
initialize_data_directory_manager(config_data_dir: str | None = None, model_cache_dir: Path | None = None) -> DataDirectoryManager
Initialize the global DataDirectoryManager instance.
| Parameters: |
|
|---|
| Returns: |
|
|---|