← back to Allnewsdaily

scripts/build-wire.js

19 lines

#!/usr/bin/env node
'use strict';
// Build the wire (fetch free feeds + rewrite headlines via local Ollama) and write data/wire.json.
// Runs on a machine that HAS Ollama (this Mac). The prod server (WIRE_STATIC=1) just serves the file.
const { rebuild, writeWireFile, WIRE_JSON } = require('../lib/aggregate');

(async () => {
  const t0 = Date.now();
  const w = await rebuild();
  const stories = (w.columns || []).reduce((n, c) => n + c.items.length, 0);
  if (stories === 0) {
    console.error(`[build-wire] refusing to write empty wire (sources ${w.sourcesOk}/${w.sources}) — keeping previous snapshot`);
    process.exit(1);
  }
  const out = writeWireFile();
  console.log(`[build-wire] wrote ${WIRE_JSON} — ${stories} stories, ${w.sourcesOk}/${w.sources} sources, ${Date.now() - t0}ms`);
  process.exit(0);
})().catch((e) => { console.error('[build-wire] failed', e.message); process.exit(1); });