mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-29 18:36:23 +02:00
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>
This commit is contained in:
parent
82db06d724
commit
c447a42d07
20 changed files with 1544 additions and 500 deletions
17
apps/x/packages/shared/src/agent-schedule-state.ts
Normal file
17
apps/x/packages/shared/src/agent-schedule-state.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
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),
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue