{"record":{"id":"3af1d4375f346297","repo":"coleam00/Archon","slug":"invalid-olderthandays-string-olderthandays-m","errorCode":null,"errorMessage":"Invalid olderThanDays: ${String(olderThanDays)} (must be a non-negative integer)","messagePattern":"Invalid olderThanDays: (.+?) \\(must be a non-negative integer\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/core/src/db/workflows.ts","lineNumber":2080,"sourceCode":" * Throws on failure so callers can track consecutive failures.\n */\nexport async function updateWorkflowActivity(id: string): Promise<void> {\n  const dialect = getDialect();\n  await pool.query(\n    `UPDATE remote_agent_workflow_runs SET last_activity_at = ${dialect.now()} WHERE id = $1`,\n    [id]\n  );\n}\n\n/**\n * Delete terminal workflow runs older than the given number of days.\n * Returns the count of deleted runs.\n */\nexport async function deleteOldWorkflowRuns(olderThanDays: number): Promise<{ count: number }> {\n  // Validate olderThanDays is a safe non-negative integer before SQL interpolation.\n  // The dialect has no \"date subtract\" helper, so we must interpolate — but only after validation.\n  if (!Number.isInteger(olderThanDays) || olderThanDays < 0) {\n    throw new Error(\n      `Invalid olderThanDays: ${String(olderThanDays)} (must be a non-negative integer)`\n    );\n  }\n  const cutoff =\n    getDatabaseType() === 'postgresql'\n      ? `NOW() - INTERVAL '${String(olderThanDays)} days'`\n      : `datetime('now', '-${String(olderThanDays)} days')`;\n  try {\n    await pool.query('BEGIN', []);\n    // Delete events first (FK reference)\n    await pool.query(\n      `DELETE FROM remote_agent_workflow_events WHERE workflow_run_id IN (\n        SELECT id FROM remote_agent_workflow_runs\n        WHERE status IN ('completed', 'failed', 'cancelled')\n          AND started_at < ${cutoff}\n      )`,\n      []\n    );","sourceCodeStart":2062,"sourceCodeEnd":2098,"githubUrl":"https://github.com/coleam00/Archon/blob/0773b9745896ef0612e709c80845a0f7db315b19/packages/core/src/db/workflows.ts#L2062-L2098","documentation":"Error \"Invalid olderThanDays: ${String(olderThanDays)} (must be a non-negative integer)\" thrown in coleam00/Archon.","triggerScenarios":"Thrown at packages/core/src/db/workflows.ts:2080 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0773b9745896ef0612e709c80845a0f7db315b19","analyzedAt":"2026-09-01T02:28:07.064Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}