feat(scheduler): add Scheduled Jobs UI

- scheduler-ui.js: job list + create/edit form + Run Now/Enable/Disable/Delete,
  reacting to scheduler:* SSE events; same-agent Run Now warning
- index.html: "⏰ Schedules" toolbar button + #schedulerModal + script include
- constants.js / app.js: frontend SSE event constants + handler map entries
- styles.css: scheduler row/badge/form styles

Follows Codeman's vanilla-JS mixin + .modal/.form-row conventions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rp7JhmQXcYJhmxFMdZuuah
This commit is contained in:
Kris
2026-06-27 08:15:36 +05:30
co-authored by Claude Opus 4.8
parent 6ae86b53f6
commit 2d2f4e592b
5 changed files with 431 additions and 0 deletions
+6
View File
@@ -276,6 +276,12 @@ const SSE_EVENTS = {
SCHEDULED_LOG: 'scheduled:log',
SCHEDULED_DELETED: 'scheduled:deleted',
// Scheduled jobs (cron-style scheduler)
SCHEDULER_JOBS_CHANGED: 'scheduler:jobsChanged',
SCHEDULER_JOB_DELETED: 'scheduler:jobDeleted',
SCHEDULER_RUN_CREATED: 'scheduler:runCreated',
SCHEDULER_RUN_UPDATED: 'scheduler:runUpdated',
// Respawn
RESPAWN_STARTED: 'respawn:started',
RESPAWN_STOPPED: 'respawn:stopped',