[teamai] Push 87 resource(s) from XingfenD
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { appendFileSync, existsSync, mkdirSync, readFileSync } from "node:fs";
|
||||
import { homedir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
|
||||
const MISSES_FILE = "misses.jsonl";
|
||||
|
||||
function missesPath() {
|
||||
return join(homedir(), ".media", MISSES_FILE);
|
||||
}
|
||||
|
||||
export function recordMiss({ type, intent, provider_override, local_only }) {
|
||||
try {
|
||||
const dir = join(homedir(), ".media");
|
||||
mkdirSync(dir, { recursive: true });
|
||||
appendFileSync(
|
||||
join(dir, MISSES_FILE),
|
||||
JSON.stringify({
|
||||
ts: new Date().toISOString(),
|
||||
type,
|
||||
intent,
|
||||
provider_override: !!provider_override,
|
||||
local_only: !!local_only,
|
||||
}) + "\n",
|
||||
);
|
||||
} catch {
|
||||
// local miss logging is best-effort; never surface into resolve
|
||||
}
|
||||
}
|
||||
|
||||
export function readMisses() {
|
||||
const p = missesPath();
|
||||
try {
|
||||
if (!existsSync(p)) return [];
|
||||
const raw = readFileSync(p, "utf8");
|
||||
const records = [];
|
||||
for (const line of raw.split(/\r?\n/)) {
|
||||
const trimmed = line.trim();
|
||||
if (!trimmed) continue;
|
||||
try {
|
||||
records.push(JSON.parse(trimmed));
|
||||
} catch {
|
||||
// skip malformed local lines, don't crash stats
|
||||
}
|
||||
}
|
||||
return records;
|
||||
} catch {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user