The checkpoint TUI was hardcoded to use Crew.from_checkpoint() and
Crew.fork() for all checkpoints. Flow checkpoints now dispatch through
Flow.from_checkpoint() / Flow.fork() instead.
Changes:
- Add _is_flow_checkpoint() to detect flow entities in checkpoint data
- Modify _run_checkpoint_tui_async to dispatch to Flow or Crew based
on entity type
- Skip task_overrides for Flow checkpoints (not applicable)
- Update _TuiResult type to include is_flow flag
- Add 12 tests covering flow detection and dispatch paths
Co-Authored-By: João <joao@crewai.com>
- Rewrite TUI with Tree widget showing branch/fork lineage
- Add Resume and Fork buttons in detail panel with Collapsible entities
- Show branch and parent_id in detail panel and CLI info output
- Auto-detect .checkpoints.db when default dir missing
- Append .db to location for SqliteProvider when no extension set
- Fix RuntimeState.from_checkpoint not setting provider/location
- Fork now writes initial checkpoint on new branch
- Add from_checkpoint, fork, and CLI docs to checkpointing.mdx
Accept CheckpointConfig on Crew and Flow kickoff/kickoff_async/akickoff.
When restore_from is set, the entity resumes from that checkpoint.
When only config fields are set, checkpointing is enabled for the run.
Adds restore_from field (Path | str | None) to CheckpointConfig.
Launch a Textual TUI via `crewai checkpoint` to browse and resume
from checkpoints. Uses run_async/akickoff for fully async execution.
Adds provider auto-detection from file magic bytes.