/** * ActionSchedule 持久化存储。 * * 关键点(中文) * - ActionSchedule 是 plugin action 的延迟执行能力,不是一个独立 plugin。 * - 任务使用项目内 `jsonl` 事件流持久化,不再依赖 SQLite。 * - 这里采用“全量重放 + 内存归并”的最简实现,保持职责清晰且易于迁移。 * - 文件只记录状态事件;对外仍暴露稳定的调度任务查询与状态更新接口。 */ import type { ActionScheduleJobRecord, ActionScheduleJobStatus, CreateActionScheduleJobInput } from "../../plugin/types/ActionSchedule.js"; import type { FileSystem } from "../../types/workspace/FileSystem.js"; /** * ActionSchedule Store。 */ export declare class ActionScheduleStore { private readonly file_path; private readonly lock_path; private readonly files; constructor(files: FileSystem); /** * 关闭存储。 * * 说明(中文) * - jsonl 版本无需保持长连接,因此 close 为 no-op。 */ close(): void; /** * 创建调度任务。 */ create_job(input: CreateActionScheduleJobInput): Promise; /** * 获取单个任务。 */ get_job_by_id(job_id: string): Promise; /** * 列出指定状态的任务。 */ list_jobs_by_status(statuses: ActionScheduleJobStatus[]): Promise; /** * 列出任务。 */ list_jobs(params?: { status?: ActionScheduleJobStatus; limit?: number; }): Promise; /** * 列出已到点且待执行的任务。 */ list_due_pending_jobs(nowMs: number): Promise; /** * 启动恢复时,把历史 `running` 回退到 `pending`。 */ reset_running_jobs_to_pending(): Promise; /** * 将任务标记为执行中。 */ mark_job_running(job_id: string): Promise; /** * 将任务标记为成功。 */ mark_job_succeeded(job_id: string): Promise; /** * 将任务标记为失败。 */ mark_job_failed(job_id: string, error: string): Promise; /** * 取消待执行任务。 */ cancel_pending_job(job_id: string): Promise; /** * 仅读取当前任务快照。 */ private read_jobs_unlocked; /** * 重放事件流,构造当前任务快照。 */ private read_job_map_unlocked; /** * 追加单条事件。 */ private append_event_unlocked; /** 使用 Workspace 跨进程锁串行执行一次调度存储事务。 */ private with_store_lock; /** * 执行 pending -> target 的状态迁移。 */ private transition_pending_job; /** * 统一写入终态。 */ private update_terminal_status; } //# sourceMappingURL=ActionScheduleStore.d.ts.map