/** Ad-hoc vault inspector used during development: `bun tools/inspect-cli.mjs <vault>` */
const requests = process.argv.slice(3);
const input = `${requests.join("\n")}\n`;
const child = Bun.spawnSync(["./target/debug/tasklens-cli.exe", "--vault", process.argv[2]], {
  stdin: new TextEncoder().encode(input),
  stdout: "pipe",
  stderr: "inherit",
});
const lines = new TextDecoder().decode(child.stdout).trim().split("\n").map((line) => JSON.parse(line));
for (const response of lines) {
  if (!response.ok) {
    console.log("ERROR:", response.error);
    continue;
  }
  const data = response.data;
  if (data.entries) {
    const byType = {};
    for (const entry of data.entries) {
      const key = entry.noteType ?? "(无 type)";
      byType[key] = (byType[key] ?? 0) + 1;
    }
    console.log("root:", data.root);
    console.log("entries:", data.entries.length, JSON.stringify(byType));
    for (const entry of data.entries.filter((item) => item.noteType === "任务").slice(0, 5)) {
      console.log(
        `  ${entry.path} | ${entry.title} | status=${entry.frontmatter.status} | priority=${entry.frontmatter.priority} | open=${entry.openTasks} | links=${entry.links.join(",")}`,
      );
    }
    const logs = data.entries.filter((entry) => entry.noteType === "日志");
    console.log("  logs:", logs.length, "| latest:", logs[0]?.path);
    const templates = data.entries.filter((entry) => entry.isTemplate);
    console.log("  templates flagged:", templates.length, templates.map((entry) => entry.path).join(", "));
  } else {
    console.log(JSON.stringify(data).slice(0, 600));
  }
}