mirror of
https://github.com/cline/cline.git
synced 2026-10-31 02:42:02 +08:00
* feat(sdk): add session initiation mode and lazy session persistence - Introduce top-level `StartSessionInput.mode` (`user`, `automation`, `subagent`, `team`) alongside `source`, so persisted history records both the client surface and how the session began; missing mode defaults to `user`. - Make root-session persistence lazy: starting a runtime allocates the session ID in memory without creating a database row, manifest, or messages artifact. The first accepted user turn persists that same ID, so closing a runtime before any user turn leaves no empty history entry, and persistence never allocates a replacement ID for unknown sessions. - Require automation runtime adapters to explicitly persist `mode: "automation"` for every run. - Document the provenance model in `sdk/ARCHITECTURE.md`, update the VS Code session factory comment, and add tests for the automation runtime handlers. * fix(sdk): persist automation trigger source as session provenance The runtime adapters stopped writing the cron request source into the session row when source became the client surface, which silently dropped the spec-defined trigger label. Record it as sessionHistoryOrigin.trigger instead, surface it in the messages-file origin, and sort the new history-origin import in HubRuntimeHost. --------- Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>