cron: keep usage telemetry in run log types + error paths

This commit is contained in:
Rob Dunn
2026-02-16 08:58:19 -07:00
committed by Peter Steinberger
parent ddea5458d0
commit dbe2ab6f62
2 changed files with 37 additions and 2 deletions

View File

@@ -13,6 +13,17 @@ export type CronRunLogEntry = {
runAtMs?: number;
durationMs?: number;
nextRunAtMs?: number;
// Telemetry (best-effort)
model?: string;
provider?: string;
usage?: {
input_tokens?: number;
output_tokens?: number;
total_tokens?: number;
cache_read_tokens?: number;
cache_write_tokens?: number;
};
};
export function resolveCronRunLogPath(params: { storePath: string; jobId: string }) {
@@ -105,6 +116,27 @@ export async function readCronRunLogEntries(
runAtMs: obj.runAtMs,
durationMs: obj.durationMs,
nextRunAtMs: obj.nextRunAtMs,
model: typeof obj.model === "string" && obj.model.trim() ? obj.model : undefined,
provider: typeof obj.provider === "string" && obj.provider.trim() ? obj.provider : undefined,
usage:
obj.usage && typeof obj.usage === "object"
? {
input_tokens:
typeof (obj.usage as any).input_tokens === "number" ? (obj.usage as any).input_tokens : undefined,
output_tokens:
typeof (obj.usage as any).output_tokens === "number" ? (obj.usage as any).output_tokens : undefined,
total_tokens:
typeof (obj.usage as any).total_tokens === "number" ? (obj.usage as any).total_tokens : undefined,
cache_read_tokens:
typeof (obj.usage as any).cache_read_tokens === "number"
? (obj.usage as any).cache_read_tokens
: undefined,
cache_write_tokens:
typeof (obj.usage as any).cache_write_tokens === "number"
? (obj.usage as any).cache_write_tokens
: undefined,
}
: undefined,
};
if (typeof obj.sessionId === "string" && obj.sessionId.trim().length > 0) {
entry.sessionId = obj.sessionId;