Expand description
Generic active-task model for plugin-driven long-running work.
Phase B Phase 3 — see
docs/plans/2026-05-03-extension-contracts-for-rich-plugins.md.
Stored on App (or any container) as a HashMap<String, TaskState> so the
sticky progress UI can render N concurrent tasks generically without any
plugin-specific knowledge. This module is intentionally decoupled
from App so it can be unit-tested standalone.
Structs§
- Active
Tasks - Generic task store keyed by task id. Drop-in for
App::active_tasks. - Task
State - In-progress task aggregate updated from
task.start/update/log/doneevents.