新功能 (2026-06-19) — 檢查點與續跑
長動作清單的耐久執行(durable execution),並新增 py.typed 標記讓
型別檢查器採用套件的內嵌型別註記。純標準庫;走完整五層(facade、
AC_* 執行器指令、MCP 工具、Script Builder)。
流程檢查點與續跑
跑了數小時、卻在第 400 步當掉的無人值守流程,不該從頭重來。
run_resumable() 在每執行完一步後,把 {run_id, step_index,
variables} 存入可抽換的儲存後端;之後以相同 run_id 再執行時,會
快轉略過已完成的步驟並還原腳本變數:
from je_auto_control import run_resumable, CheckpointStore
store = CheckpointStore("runs.db")
result = run_resumable(actions, run_id="nightly-invoices", store=store)
result["resumed_from"] # 全新執行為 0;當機後續跑則為 N
正常完成後檢查點會被清除。儲存後端可注入,因此續跑邏輯可在不真的當機的
情況下做決定性單元測試:CheckpointStore.save / load / clear。
執行器 / MCP 指令:
AC_run_resumable— 以run_id為鍵,帶檢查點/續跑執行actions(存到db)。AC_checkpoint_status— 某次執行已存的檢查點(或 null)。AC_checkpoint_clear— 刪除某次執行的檢查點。
(以及對應的 ac_run_resumable / ac_checkpoint_status /
ac_checkpoint_clear MCP 工具)。
py.typed 標記
套件現在附帶 PEP 561 的 py.typed 標記,讓 Mypy / Pyright / Pylance
在下游程式碼中採用 AutoControl 的內嵌型別註記——讓型別化的公開 API 真正
發揮價值。呼叫端無需改動;開箱即享更好的編輯器自動完成與型別檢查。