#!/usr/bin/env python3
"""生成 manifest.json：包内全部文件的 sha256 与字节数。"""
import hashlib
import json
from pathlib import Path

PKG = Path(__file__).resolve().parents[2]
SKIP = {"manifest.json", "DELIVERY_GATE.json", "page.json", "insight_page.json"}
files = {}
for p in sorted(PKG.rglob("*")):
    if not p.is_file() or "__pycache__" in p.parts or p.name in SKIP:
        continue
    rel = str(p.relative_to(PKG))
    files[rel] = {"sha256": hashlib.sha256(p.read_bytes()).hexdigest(), "bytes": p.stat().st_size}
out = {"package": PKG.name, "generated_at": "2026-09-12", "n_files": len(files), "files": files}
(PKG / "manifest.json").write_text(json.dumps(out, ensure_ascii=False, indent=1), encoding="utf-8")
print(f"{len(files)} files")
