import type { InstanceExperimentalSettings, InstanceGeneralSettings, IssueGraphLivenessAutoRecoveryPreview, PatchInstanceGeneralSettings, PatchInstanceExperimentalSettings, } from "@paperclipai/shared"; import { api } from "./client"; export const instanceSettingsApi = { getGeneral: () => api.get("/instance/settings/general"), updateGeneral: (patch: PatchInstanceGeneralSettings) => api.patch("/instance/settings/general", patch), getExperimental: () => api.get("/instance/settings/experimental"), updateExperimental: (patch: PatchInstanceExperimentalSettings) => api.patch("/instance/settings/experimental", patch), previewIssueGraphLivenessAutoRecovery: (input: { lookbackHours?: number }) => api.post( "/instance/settings/experimental/issue-graph-liveness-auto-recovery/preview", input, ), runIssueGraphLivenessAutoRecovery: (input: { lookbackHours?: number }) => api.post<{ findings: number; autoRecoveryEnabled: boolean; lookbackHours: number; cutoff: string; escalationsCreated: number; existingEscalations: number; skipped: number; skippedAutoRecoveryDisabled: number; skippedOutsideLookback: number; escalationIssueIds: string[]; }>( "/instance/settings/experimental/issue-graph-liveness-auto-recovery/run", input, ), };