ReMe/reme2/enumeration/component_enum.py
jinliyl 52f1a33b3a
Some checks are pending
Pre-commit / run (ubuntu-latest) (push) Waiting to run
feat: add file parser support and search filtering (#214)
- Add file_parser component with default implementation
- Introduce SearchFilter schema for path and tag filtering
- Implement filter functionality in BaseFileStore and LocalFileStore
- Update file watcher to use parser-based filtering instead of suffix filters
- Register new FILE_PARSER component enum
- Add test_data directory to gitignore

refactor: improve component imports and initialization

- Fix relative imports in application.py
- Add file_parser import to component init
- Initialize registry dict when component type doesn't exist
- Remove circular import in HttpService by using string annotation
- Update config yaml to use proper component names

refactor: enhance file watcher architecture

- Replace MdFileWatcher with more flexible FullFileWatcher and LightFileWatcher
- Remove suffix-based filtering in favor of parser-based approach
- Update BaseFileWatcher to resolve parsers from app context
- Remove unused watch_filter method

refactor: update ReMe core functionality

- Remove memory_path creation
- Simplify dream and proactive methods to return empty strings
- Update config defaults for HTTP service and component backends

docs: update component configuration in paw.yaml

- Change service backend from cmd to http
- Rename components to use correct singular forms
- Add default file parser and file watcher configurations
- Set up local file store with default settings
```

Co-authored-by: huangsen <huangsen.huang@alibaba-inc.com>
2026-04-21 16:44:46 +08:00

39 lines
832 B
Python

"""Component enumeration module.
Defines the types of components that can be registered and used in the application.
"""
from enum import Enum
class ComponentEnum(str, Enum):
"""Enumeration of component types for dependency injection and registration.
This enum defines the various component categories that can be registered
in the application's component container. Each component type represents
a specific role or functionality within the system.
"""
BASE = "base"
AS_LLM = "as_llm"
AS_LLM_FORMATTER = "as_llm_formatter"
AS_TOKEN_COUNTER = "as_token_counter"
EMBEDDING_MODEL = "embedding_model"
FILE_PARSER = "file_parser"
FILE_STORE = "file_store"
FILE_WATCHER = "file_watcher"
SERVICE = "service"
CLIENT = "client"
STEP = "step"
JOB = "job"