#!/usr/bin/env python3 from __future__ import annotations import argparse from vault_common import all_records, compact_record, json_print, search_records, write_index def main() -> int: parser = argparse.ArgumentParser(description="Agent-facing vault index helper") sub = parser.add_subparsers(dest="command", required=True) query = sub.add_parser("query", help="Search notes by term") query.add_argument("--term", required=True) query.add_argument("--limit", type=int, default=10) sub.add_parser("dump", help="Dump note records as JSON") sub.add_parser("rebuild", help="Rebuild 99 System/INDEX.md") args = parser.parse_args() records = all_records() if args.command == "query": json_print({"ok": True, "results": search_records(records, args.term, args.limit)}) elif args.command == "dump": json_print({"ok": True, "total": len(records), "notes": [compact_record(r) for r in records]}) elif args.command == "rebuild": write_index(records) json_print({"ok": True, "written": "99 System/INDEX.md", "total": len(records)}) return 0 if __name__ == "__main__": raise SystemExit(main())