Watch
0
0
Fork
You've already forked hyperhive
0

swarm-ui: a schedules page, one card per scheduled prompt

/schedules lists the controller's scheduled prompts as cards: name as the
title, the agents it fires for, the message, its cadence and next fire.
Edit turns a card into its own form; pause, resume and remove act in place,
and + schedule opens an empty form. The form sends only what changed, so a
rename never moves the fire times, and warns when the start or the repeat
does. Filters reuse the shared card filter bar.

Adds a TextAreaField to the ui kit, and an upcoming mode on RelativeTime so
a next-fire time reads "in 5m". Needs the controller's /api/schedules
routes.
This commit is contained in:
iris 2026-10-04 17:03:33 +02:00 • committed by mara
commit 63ee6d12be
14 changed files with 931 additions and 3 deletions

View file

@ -14,6 +14,7 @@ domain, covers host-level detail for one hive.
| `/agents/<name>/terminal` | one agent's live terminal |
| `/agents/<name>/subagents/<subagent>/terminal` | one of that agent's subagents' live terminal |
| `/jobs` | the controller's job graph — where agent creation and credential mints show progress |
| `/schedules` | the scheduled prompts: add, edit, pause, resume and remove |
| `/issues` | a cross-repo issue report |
Everything it shows comes from [`swarm-controller`](../../swarm-controller/README.md).
@ -32,6 +33,26 @@ agent spawns shows up once it writes output.
A preview shows rows published while it's open. A subagent terminal has no
turn-state badges.
### Scheduled prompts
`/schedules` has one card per scheduled prompt. The **name** is the card's
title, with the **agents** it fires for, the message, how often it repeats and
when it fires next. **edit** turns the card into its own form; **pause** and
**resume** stop and restart it; **remove** deletes it after a confirmation.
**+ schedule** opens an empty form above the list, and the filters narrow the
list by name, agent or state (`active`, `paused`, or `done` for a one-shot that
has fired).
A schedule repeats **every** some number of seconds, minutes, hours or days, or
fires **once**. Its start time is the moment a one-shot fires, and the origin of
the fire times of a repeating one. The form previews the next three fire times.
Changing the start or the repeat moves them; editing only the name, message or
agents does not, and the form warns when an edit would.
Only an operator can change a schedule here or with `swarmctl schedule`; an
agent has no way to add one. The page needs the controller's `/api/schedules`
routes.
### Sending a message to an agent
Under an agent's terminal, in the preview and in its own tab, is a **message**