mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-09-30 01:52:29 +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
26 lines
1,001 B
Python
26 lines
1,001 B
Python
"""File chunk — an embedding node tied to a line range in a file."""
|
|
|
|
from pydantic import Field
|
|
|
|
from .emb_node import EmbNode
|
|
|
|
|
|
class FileChunk(EmbNode):
|
|
"""A chunk of a file with positional info and per-stage retrieval scores."""
|
|
|
|
path: str = Field(default="", description="Path relative to the vault")
|
|
start_line: int = Field(default=0, description="Inclusive start line (0-based)")
|
|
end_line: int = Field(default=0, description="Exclusive end line")
|
|
scores: dict[str, float] = Field(default_factory=dict, description="Retrieval scores keyed by stage")
|
|
|
|
@property
|
|
def score(self) -> float:
|
|
"""Final aggregated score; 0.0 if not yet computed."""
|
|
return self.scores.get("score", 0.0)
|
|
|
|
def set_hash_id(self):
|
|
"""Replace ``id`` with a deterministic hash of (path, range, text)."""
|
|
from ..utils import hash_text
|
|
|
|
self.id = hash_text(" ".join([self.path, str(self.start_line), str(self.end_line), self.text]))
|
|
return self
|