feat: add Space/CelesTrak as 27th intelligence source

- New source: apis/sources/space.mjs (no API key required)
- Tracks: recent launches, ISS, military sats, Starlink/OneWeb constellations
- Wired into briefing.mjs (27 sources), inject.mjs synthesis, and dashboard
- New Space Watch panel in left rail with military breakdown and signals
- New Satellites layer in Sensor Grid
This commit is contained in:
calesthio
2026-03-15 08:19:23 -07:00
parent d09ecc72a1
commit debc44fee0
4 changed files with 231 additions and 5 deletions

View File

@@ -319,6 +319,22 @@ export async function synthesize(data) {
}));
const noaa = { totalAlerts: data.sources.NOAA?.totalSevereAlerts || 0 };
// Space/CelesTrak satellite data
const spaceData = data.sources.Space || {};
const space = {
totalNewObjects: spaceData.totalNewObjects || 0,
militarySats: spaceData.militarySatellites || 0,
militaryByCountry: spaceData.militaryByCountry || {},
constellations: spaceData.constellations || {},
iss: spaceData.iss || null,
recentLaunches: (spaceData.recentLaunches || []).slice(0, 10).map(l => ({
name: l.name, country: l.country, epoch: l.epoch,
apogee: l.apogee, perigee: l.perigee, type: l.objectType
})),
launchByCountry: spaceData.launchByCountry || {},
signals: spaceData.signals || [],
};
// ACLED conflict events
const acledData = data.sources.ACLED || {};
const acled = acledData.error ? { totalEvents: 0, totalFatalities: 0, byRegion: {}, byType: {}, deadliestEvents: [] } : {
@@ -391,7 +407,7 @@ export async function synthesize(data) {
meta: data.crucix, air, thermal, tSignals, chokepoints, nuke, nukeSignals,
sdr: { total: sdrNet.totalReceivers || 0, online: sdrNet.online || 0, zones: sdrZones },
tg: { posts: tgData.totalPosts || 0, urgent: tgUrgent, topPosts: tgTop },
who, fred, energy, bls, treasury, gscpi, defense, noaa, acled, gdelt, health, news,
who, fred, energy, bls, treasury, gscpi, defense, noaa, acled, gdelt, space, health, news,
markets, // Live Yahoo Finance market data
ideas: [], ideasSource: 'disabled',
// newsFeed for ticker (merged RSS + GDELT + Telegram)