A run's own notification (run.notification, server dev) gives the body (the
result's first lines) and the actions with labels in the person's language;
they become the notification's action type. Every notification is
remembered by id (watch::Notes) so a click opens the chat or the task, and
Run again / Pause post /schedules/{id}/run|pause without the window. An
older server's run is said as before. Fixtures re-pinned at server dev
e0c2332, schedule.json added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
111 lines
2.6 KiB
JSON
111 lines
2.6 KiB
JSON
{
|
|
"version": "8bee85746004dc19",
|
|
"schedules": [
|
|
{
|
|
"id": "sched1",
|
|
"title": "Waybread check",
|
|
"instruction": "Check the waybread is wrapped.",
|
|
"request": "every second Monday at 7:30",
|
|
"rule": {
|
|
"at": {
|
|
"nth": [
|
|
{
|
|
"n": 2,
|
|
"weekday": 0
|
|
}
|
|
],
|
|
"times": [
|
|
"07:30"
|
|
]
|
|
}
|
|
},
|
|
"description": "On the second Monday of each month at 07:30",
|
|
"timezone": "UTC",
|
|
"enabled": true,
|
|
"next_run": "2026-01-12T07:30:00+00:00",
|
|
"next_runs": [
|
|
"2026-01-12T07:30:00+00:00",
|
|
"2026-02-09T07:30:00+00:00",
|
|
"2026-03-09T07:30:00+00:00",
|
|
"2026-04-13T07:30:00+00:00",
|
|
"2026-05-11T07:30:00+00:00"
|
|
],
|
|
"target": "chat",
|
|
"mode": "fresh",
|
|
"notify": "matters",
|
|
"catch_up": "one",
|
|
"grace_minutes": null,
|
|
"model": "qwen",
|
|
"effort": "high",
|
|
"agents": null,
|
|
"tools": [
|
|
"files",
|
|
"recall",
|
|
"search",
|
|
"fetch",
|
|
"memory",
|
|
"skills",
|
|
"plan"
|
|
],
|
|
"origin": "user",
|
|
"chat_id": "chat1",
|
|
"fired_count": 3,
|
|
"failure_streak": 0,
|
|
"watch": null,
|
|
"runs_on": null,
|
|
"last_error": null,
|
|
"last_run": {
|
|
"id": "run1",
|
|
"schedule_id": "sched1",
|
|
"status": "ok",
|
|
"timing": "late",
|
|
"missed": 0,
|
|
"due_at": "2026-01-02T03:04:05+00:00",
|
|
"started_at": "2026-01-02T03:04:05+00:00",
|
|
"finished_at": "2026-01-02T03:04:05+00:00",
|
|
"waiting_for": null,
|
|
"retry_at": null,
|
|
"progress": null,
|
|
"attempts": 1,
|
|
"model": {
|
|
"id": "gpt-oss",
|
|
"name": "GPT-OSS",
|
|
"reason": "switched",
|
|
"switched_from": "Qwen"
|
|
},
|
|
"tokens": {
|
|
"prompt": 1200,
|
|
"completion": 340
|
|
},
|
|
"cost": null,
|
|
"chat_id": "chat1",
|
|
"message_id": "msg2",
|
|
"report_path": null,
|
|
"preview": "All the waybread is wrapped.",
|
|
"error": null,
|
|
"notified": true,
|
|
"notification": {
|
|
"title": "Waybread check",
|
|
"body": "All the waybread is wrapped.",
|
|
"public": {
|
|
"title": "Waybread check",
|
|
"body": "Finished"
|
|
},
|
|
"actions": [
|
|
"open",
|
|
"run_again"
|
|
],
|
|
"labels": {
|
|
"open": "Open",
|
|
"run_again": "Run again"
|
|
},
|
|
"ask": ""
|
|
},
|
|
"watch": null
|
|
},
|
|
"running": false,
|
|
"created_at": "2026-01-02T03:04:05+00:00"
|
|
}
|
|
]
|
|
}
|