| 1 | // Heartbeat task types — mirrors desktop/heartbeat.go. |
| 2 | |
| 3 | export interface HeartbeatTask { |
| 4 | id: string; |
| 5 | title: string; |
| 6 | prompt: string; |
| 7 | interval: string; // e.g. "5m", "1h", "30s" |
| 8 | enabled: boolean; |
| 9 | scope?: string; // "global" or "project" |
| 10 | workspaceRoot?: string; |
| 11 | topicId?: string; |
| 12 | lastRunAt?: number; // unix millis |
| 13 | newConversationEachRun?: boolean; // true = create new topic each run |
| 14 | createdAt?: number; |
| 15 | approvalMode?: "ask" | "auto" | "yolo"; // empty defaults to "yolo" |
| 16 | timeWindowStart?: string; // "HH:MM" — interval tasks only run after this time |
| 17 | timeWindowEnd?: string; // "HH:MM" — interval tasks only run before this time |
| 18 | notifyChannels?: boolean; // true = push to bot channels; false/nil = skip |
| 19 | } |
| 20 |