/** * Execution-target types for automation jobs and runs. */ import type { AutomationExecutionTargetKind, AutomationSurfaceKind, ProviderModelRoutingPolicy } from './types.js'; import type { ExecutionIntent } from '../runtime/execution-intents.js'; export type AutomationSessionTargetKind = AutomationExecutionTargetKind; export interface AutomationSessionTarget { readonly kind: AutomationSessionTargetKind; readonly sessionId?: string | undefined; readonly routeId?: string | undefined; readonly threadId?: string | undefined; readonly channelId?: string | undefined; readonly surfaceKind?: AutomationSurfaceKind | undefined; readonly pinnedSessionId?: string | undefined; readonly preserveThread?: boolean | undefined; readonly createIfMissing?: boolean | undefined; } export type AutomationSandboxMode = 'inherit' | 'isolate' | 'off'; export type AutomationWakeMode = 'next-heartbeat' | 'now'; export type AutomationExternalContentSourceKind = 'gmail' | 'email' | 'webhook' | 'api' | 'browser' | 'channel_metadata' | 'web_search' | 'web_fetch' | 'slack' | 'discord' | 'ntfy' | 'unknown'; export type AutomationExternalContentSource = AutomationExternalContentSourceKind | { readonly kind: AutomationExternalContentSourceKind | string; readonly id?: string | undefined; readonly url?: string | undefined; readonly routeId?: string | undefined; readonly surfaceKind?: AutomationSurfaceKind | undefined; readonly metadata?: Record | undefined; }; export interface AutomationExecutionPolicy { readonly prompt?: string | undefined; readonly template?: string | undefined; readonly target: AutomationSessionTarget; readonly modelProvider?: string | undefined; readonly modelId?: string | undefined; readonly fallbackModels?: readonly string[] | undefined; readonly routing?: ProviderModelRoutingPolicy | undefined; readonly executionIntent?: ExecutionIntent | undefined; readonly reasoningEffort?: string | undefined; readonly thinking?: string | undefined; readonly wakeMode?: AutomationWakeMode | undefined; readonly timeoutMs?: number | undefined; readonly maxAttempts?: number | undefined; readonly toolAllowlist?: readonly string[] | undefined; readonly autoApprove?: boolean | undefined; readonly sandboxMode?: AutomationSandboxMode | undefined; readonly allowUnsafeExternalContent?: boolean | undefined; readonly externalContentSource?: AutomationExternalContentSource | undefined; readonly lightContext?: boolean | undefined; } //# sourceMappingURL=session-targets.d.ts.map