import type { FeedbackDataSharingPreference } from "./feedback.js"; export declare const DAILY_RETENTION_PRESETS: readonly [3, 7, 14]; export declare const WEEKLY_RETENTION_PRESETS: readonly [1, 2, 4]; export declare const MONTHLY_RETENTION_PRESETS: readonly [1, 3, 6]; export declare const DEFAULT_ISSUE_GRAPH_LIVENESS_AUTO_RECOVERY_LOOKBACK_HOURS = 24; export declare const MIN_ISSUE_GRAPH_LIVENESS_AUTO_RECOVERY_LOOKBACK_HOURS = 1; export declare const MAX_ISSUE_GRAPH_LIVENESS_AUTO_RECOVERY_LOOKBACK_HOURS: number; export interface BackupRetentionPolicy { dailyDays: (typeof DAILY_RETENTION_PRESETS)[number]; weeklyWeeks: (typeof WEEKLY_RETENTION_PRESETS)[number]; monthlyMonths: (typeof MONTHLY_RETENTION_PRESETS)[number]; } export declare const DEFAULT_BACKUP_RETENTION: BackupRetentionPolicy; /** * Instance-wide execution policy. * * - `"any"` (default / absent): unrestricted — any environment driver (local, * ssh, sandbox) may run agents. Preserves single-tenant / local-trusted * behavior. * - `"kubernetes"`: force ALL agent execution onto the Kubernetes * sandbox-provider environment and REFUSE local/in-process execution. Used by * shared cloud (cloud_tenant) instances so untrusted tenant agents can never * run in the server process or on an unsandboxed local/ssh adapter. */ export type InstanceExecutionMode = "kubernetes" | "any"; export interface InstanceGeneralSettings { censorUsernameInLogs: boolean; keyboardShortcuts: boolean; feedbackDataSharingPreference: FeedbackDataSharingPreference; backupRetention: BackupRetentionPolicy; /** * Execution policy. Absent/`"any"` = unrestricted; `"kubernetes"` forces the * Kubernetes sandbox provider and denies local/ssh execution. */ executionMode?: InstanceExecutionMode; } export interface InstanceExperimentalSettings { enableEnvironments: boolean; enableIsolatedWorkspaces: boolean; enableStreamlinedLeftNavigation: boolean; enableConferenceRoomChat: boolean; enableIssuePlanDecompositions: boolean; enableExperimentalFileViewer: boolean; enableCloudSync: boolean; autoRestartDevServerWhenIdle: boolean; enableIssueGraphLivenessAutoRecovery: boolean; issueGraphLivenessAutoRecoveryLookbackHours: number; } export interface InstanceSettings { id: string; general: InstanceGeneralSettings; experimental: InstanceExperimentalSettings; createdAt: Date; updatedAt: Date; } export interface IssueGraphLivenessAutoRecoveryPreviewItem { issueId: string; identifier: string | null; title: string; state: string; severity: string; reason: string; recoveryIssueId: string; recoveryIdentifier: string | null; recoveryTitle: string | null; recommendedOwnerAgentId: string | null; incidentKey: string; latestDependencyUpdatedAt: string; dependencyPath: Array<{ issueId: string; identifier: string | null; title: string; status: string; }>; } export interface IssueGraphLivenessAutoRecoveryPreview { lookbackHours: number; cutoff: string; generatedAt: string; findings: number; recoverableFindings: number; skippedOutsideLookback: number; items: IssueGraphLivenessAutoRecoveryPreviewItem[]; } //# sourceMappingURL=instance.d.ts.map