Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 16 Feb 17:14
· 33 commits to main since this release

Added

  • Added first-class scheduled task orchestration across API/CLI/runtime, including one-off, cron, and RRULE schedules with durable SQLite task-run history and recovery.
  • Added task lifecycle controls across surfaces (jagc task create|list|get|update|delete|run|enable|disable, /v1/threads/:thread_key/tasks, /v1/tasks*) and canonical operator guidance in defaults/skills/task-ops/SKILL.md.
  • Added Telegram /delete topic cleanup flow to remove the current topic mapping and task execution-thread bindings so future task runs can recreate a fresh topic.

Changed

  • Telegram routing and run delivery are now topic-aware for both normal and scheduled runs, with general-topic normalization to avoid Bot API message thread not found errors.
  • Scheduled tasks now allocate dedicated per-task Telegram topics lazily on first due/run-now execution, and task-owned topic titles track task title updates.
  • Scheduled-task CLI UX was simplified: task list --state <all|enabled|disabled>, task run --wait (without --now), task create|update --rrule, and default creator-thread selection from $JAGC_THREAD_KEY.
  • pnpm dev now prepends a repo-local jagc shim, and runtime bash tool executions now receive thread-scoped env vars (JAGC_THREAD_KEY, JAGC_TRANSPORT, and Telegram route vars).

Fixed

  • Scheduled-task run bookkeeping now survives restarts by reconciling pending/dispatched task runs against terminal run state.
  • Schedule parsing and next-run computation now correctly handle midnight cron expressions and UTC ISO-8601 once timestamps.
  • jagc task ... --json failures now emit structured JSON error envelopes, and Telegram topic-mode failures now return explicit telegram_topics_unavailable guidance.
  • Task title updates no longer rename creator-origin topics for legacy tasks; title sync now applies only to task-owned execution topics.