fix(tools): keep results when a timestamp is outside Date's range (#1045)

isoTime returned toISOString() for any finite number, which throws past ±8.64e15 ms, so one bad record (e.g. a bike-share last_reported) failed the whole tool answer. Such timestamps are now null. The voice analyst's result rows had the same conversion and get the same guard.

Co-authored-by: Sameh Khamis <[email protected]>
This commit is contained in:
Rudy Mizrahi CelekliandSameh Khamis authored and GitHub committed 2026-10-14 19:54:17 -07:00
1 parent 84bfba8d39
commit fd5a1ef856
6 files changed
+89 -3

No files matched your search

+3 -2
View File
@@ -4808,8 +4808,9 @@ function compactAnalystItem(r) {
for (const [key, spec] of Object.entries(fields)) {
if (!present(r[key]) || key in compact) continue;
if (spec.type === 'time') {
const ms = Number(r[key]);
if (Number.isFinite(ms)) compact.time = new Date(ms).toISOString();
// A finite value can still be past Date's range, where toISOString throws.
const time = new Date(Number(r[key]));
if (Number.isFinite(time.getTime())) compact.time = time.toISOString();
} else compact[key] = r[key];
}
if (present(r.ageHours)) compact.ageHours = r.ageHours;