mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-10-01 02:04:21 +00:00
* feat: rename working_dir to vault_dir and update documentation - Rename working_dir to vault_dir across the application - Update documentation to reflect vault_dir instead of working_dir - Change FileFrontMatter title field to name field - Update .gitignore to include vault directory - Modify file path descriptions to reference vault instead of working_dir - Update related configuration and property names accordingly * refactor(steps): rename working_path to vault_path in CRUD operations - Rename parameter from `working_path` to `vault_path` in `resolve_path` function - Update all usages in append, edit, read, and write steps to use `self.vault_path` - Update documentation comments to reflect the new parameter name - Update docstring in read.py to mention `vault_dir` instead of `vault` test(chunked_file_parser): update frontmatter field from title to name - Change frontmatter field from `title` to `name` in test cases - Update comment in background steps test to reference `vault_path` instead of `working_path` * refactor(schema): remove unused ResourceEntry import * feat(file_graph): add link scope filtering to get_inlinks/get_outlinks * feat(file-store): add scope parameter to link methods
49 lines
2.3 KiB
Python
49 lines
2.3 KiB
Python
"""Application configuration models."""
|
|
|
|
import os
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
from ..enumeration import ComponentEnum
|
|
|
|
|
|
class ComponentConfig(BaseModel):
|
|
"""Base config for a component; extra fields allowed for backend-specific options."""
|
|
|
|
model_config = ConfigDict(extra="allow")
|
|
|
|
backend: str = Field(default="", description="Backend implementation class name")
|
|
|
|
|
|
class JobConfig(ComponentConfig):
|
|
"""Config for a job — an ordered sequence of step components."""
|
|
|
|
name: str = Field(default="", description="Unique job identifier")
|
|
description: str = Field(default="", description="Human-readable description")
|
|
parameters: dict = Field(default_factory=dict, description="Job-level parameters")
|
|
steps: list[ComponentConfig] = Field(default_factory=list, description="Ordered step configs")
|
|
|
|
|
|
class ApplicationConfig(BaseModel):
|
|
"""Root config for the ReMe application."""
|
|
|
|
app_name: str = Field(default=os.getenv("APP_NAME", "ReMe"), description="Application display name")
|
|
vault_dir: str = Field(default=".reme", description="Vault root directory (knowledge base) for runtime files")
|
|
metadata_dir: str = Field(default="reme_metadata", description="Subdirectory for ReMe persistent state")
|
|
daily_dir: str = Field(default="daily", description="Subdirectory for daily memory")
|
|
digest_dir: str = Field(default="digest", description="Subdirectory for digest")
|
|
resource_dir: str = Field(
|
|
default="resource",
|
|
description="Subdirectory for passively-received external assets (upload bucket)",
|
|
)
|
|
enable_logo: bool = Field(default=True, description="Show ASCII logo on startup")
|
|
language: str = Field(default="", description="Default language for LLM interactions")
|
|
log_to_console: bool = Field(default=True, description="Log to console")
|
|
log_to_file: bool = Field(default=True, description="Log to file")
|
|
mcp_servers: dict[str, dict] = Field(default_factory=dict, description="MCP server configs by name")
|
|
service: ComponentConfig = Field(default_factory=ComponentConfig, description="Service endpoint config")
|
|
jobs: list[JobConfig] = Field(default_factory=list, description="Job definitions")
|
|
components: dict[ComponentEnum, dict[str, ComponentConfig]] = Field(
|
|
default_factory=dict,
|
|
description="Component registry keyed by type then name",
|
|
)
|