coleam00/Archon · error

Invalid olderThanDays: ${String(olderThanDays)} (must be a n

Error message

Invalid olderThanDays: ${String(olderThanDays)} (must be a non-negative integer)

What it means

Error "Invalid olderThanDays: ${String(olderThanDays)} (must be a non-negative integer)" thrown in coleam00/Archon.

Source

Thrown at packages/core/src/db/workflows.ts:2080

 * Throws on failure so callers can track consecutive failures.
 */
export async function updateWorkflowActivity(id: string): Promise<void> {
  const dialect = getDialect();
  await pool.query(
    `UPDATE remote_agent_workflow_runs SET last_activity_at = ${dialect.now()} WHERE id = $1`,
    [id]
  );
}

/**
 * Delete terminal workflow runs older than the given number of days.
 * Returns the count of deleted runs.
 */
export async function deleteOldWorkflowRuns(olderThanDays: number): Promise<{ count: number }> {
  // Validate olderThanDays is a safe non-negative integer before SQL interpolation.
  // The dialect has no "date subtract" helper, so we must interpolate — but only after validation.
  if (!Number.isInteger(olderThanDays) || olderThanDays < 0) {
    throw new Error(
      `Invalid olderThanDays: ${String(olderThanDays)} (must be a non-negative integer)`
    );
  }
  const cutoff =
    getDatabaseType() === 'postgresql'
      ? `NOW() - INTERVAL '${String(olderThanDays)} days'`
      : `datetime('now', '-${String(olderThanDays)} days')`;
  try {
    await pool.query('BEGIN', []);
    // Delete events first (FK reference)
    await pool.query(
      `DELETE FROM remote_agent_workflow_events WHERE workflow_run_id IN (
        SELECT id FROM remote_agent_workflow_runs
        WHERE status IN ('completed', 'failed', 'cancelled')
          AND started_at < ${cutoff}
      )`,
      []
    );

View on GitHub (pinned to 0773b97458)

When it happens

Trigger: Thrown at packages/core/src/db/workflows.ts:2080 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01). Data as JSON: /api/errors/3af1d4375f346297. Report an issue: GitHub.