import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IAutomationRun, IAutomationSchedule } from "./automation.js"; /** * Input for `createAutomation`. The service fills in `id`, timestamps, and * `nextRunAt`. `folderUri` is required. */ export interface ICreateAutomationOptions { readonly name: string; readonly prompt: string; readonly schedule: IAutomationSchedule; readonly folderUri: URI; readonly providerId?: string; readonly sessionTypeId?: string; readonly modelId?: string; readonly mode?: string; readonly permissionLevel?: string; readonly isolationMode?: string; readonly branch?: string; readonly enabled?: boolean; } /** * Patch for `updateAutomation`. Absent fields are unchanged. Pass `null` for * `providerId`/`sessionTypeId`/`modelId`/`mode`/`permissionLevel` to clear them; * `folderUri` cannot be cleared. */ export interface IUpdateAutomationOptions { readonly name?: string; readonly prompt?: string; readonly schedule?: IAutomationSchedule; readonly folderUri?: URI; readonly providerId?: string | null; readonly sessionTypeId?: string | null; readonly modelId?: string | null; readonly mode?: string | null; readonly permissionLevel?: string | null; readonly isolationMode?: string | null; readonly branch?: string | null; readonly enabled?: boolean; } /** Patch for `updateRun`. Absent fields are unchanged. */ export interface IUpdateAutomationRunOptions { readonly status?: IAutomationRun["status"]; readonly sessionResource?: string; readonly completedAt?: string; readonly errorMessage?: string; }