mirror of
https://github.com/VectifyAI/PageIndex.git
synced 2026-06-12 19:55:17 +02:00
fix(filesystem): show generated metadata in stat
This commit is contained in:
parent
5c948d0840
commit
7e70b580f0
2 changed files with 48 additions and 0 deletions
|
|
@ -858,6 +858,19 @@ class PIFSCommandExecutor:
|
|||
lines.append(f" {key}: {self._compact_value(value)}")
|
||||
if len(metadata) > self.MAX_STAT_METADATA_FIELDS:
|
||||
lines.append(f" ... {len(metadata) - self.MAX_STAT_METADATA_FIELDS} more fields")
|
||||
derived_metadata = data.get("derived_metadata") or {}
|
||||
if derived_metadata:
|
||||
lines.append("generated_metadata:")
|
||||
derived_items = sorted(derived_metadata.items())[: self.MAX_STAT_METADATA_FIELDS]
|
||||
for key, value in derived_items:
|
||||
lines.append(f" {key}: {self._compact_value(value)}")
|
||||
if len(derived_metadata) > self.MAX_STAT_METADATA_FIELDS:
|
||||
lines.append(
|
||||
f" ... {len(derived_metadata) - self.MAX_STAT_METADATA_FIELDS} more fields"
|
||||
)
|
||||
generation = data.get("metadata_generation") or {}
|
||||
if generation:
|
||||
lines.append(f"metadata_generation_status: {generation.get('status', '-')}")
|
||||
return "\n".join(lines)
|
||||
|
||||
def _file_row_text(self, item: dict[str, Any]) -> str:
|
||||
|
|
|
|||
|
|
@ -98,6 +98,41 @@ def test_stable_path_targets_work_without_session_refs(tmp_path):
|
|||
assert "Root document fixture text" in text
|
||||
|
||||
|
||||
def test_stat_shell_output_includes_generated_metadata(tmp_path):
|
||||
from pageindex.filesystem import PIFSCommandExecutor, PageIndexFileSystem
|
||||
|
||||
source = tmp_path / "source.txt"
|
||||
source.write_text("fixture text", encoding="utf-8")
|
||||
filesystem = PageIndexFileSystem(workspace=tmp_path / "workspace")
|
||||
filesystem.register_file(
|
||||
storage_uri=source.as_uri(),
|
||||
source_path="docs/source.txt",
|
||||
folder_path="/documents",
|
||||
external_id="doc_generated",
|
||||
title="Generated metadata document",
|
||||
content=source.read_text(encoding="utf-8"),
|
||||
metadata={"department": "ops"},
|
||||
derived_metadata={"summary": "Generated summary for retrieval."},
|
||||
metadata_generation_policy={
|
||||
"fields": {
|
||||
"summary": True,
|
||||
"doc_type": False,
|
||||
"domain": False,
|
||||
"topic": False,
|
||||
}
|
||||
},
|
||||
)
|
||||
executor = PIFSCommandExecutor(filesystem, json_output=False)
|
||||
|
||||
stat = executor.execute("stat /documents/'Generated metadata document'")
|
||||
|
||||
assert "metadata:" in stat
|
||||
assert " department: ops" in stat
|
||||
assert "generated_metadata:" in stat
|
||||
assert " summary: Generated summary for retrieval." in stat
|
||||
assert "metadata_generation_status: generated" in stat
|
||||
|
||||
|
||||
def test_find_maxdepth_zero_type_directory_returns_start_folder(tmp_path):
|
||||
executor = _register_find_fixture(tmp_path)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue