rowboat/apps/x/packages/shared/src/agent-schedule-state.ts
Arjun c447a42d07 feat: add background agents with scheduling support
- Add background task scheduling system with cron-based triggers
- Add background-task-detail component for viewing agent status
- Add agent schedule repo and state management
- Update sidebar to show background agents section
- Remove old workflow-authoring and workflow-run-ops skills
- Add IPC handlers for agent schedule operations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:43:09 +05:30

17 lines
691 B
TypeScript

import z from "zod";
// "triggered" is terminal state for once-schedules (will not run again)
export const AgentScheduleStatus = z.enum(["scheduled", "running", "finished", "failed", "triggered"]);
export const AgentScheduleStateEntry = z.object({
status: AgentScheduleStatus,
startedAt: z.string().nullable(), // When current run started (for timeout detection)
lastRunAt: z.string().nullable(), // ISO 8601 local datetime
nextRunAt: z.string().nullable(), // ISO 8601 local datetime
lastError: z.string().nullable(),
runCount: z.number().default(0),
});
export const AgentScheduleState = z.object({
agents: z.record(z.string(), AgentScheduleStateEntry),
});