import { type Profile } from "../../domain/sentinel/policy/profile.js"; import type { Observation } from "../../domain/sentinel/observation/observation.js"; import type { Signal } from "../../domain/sentinel/signal/signal.js"; import type { ActionPlan } from "../../domain/sentinel/action/action-plan.js"; import type { SideEffect } from "../../domain/sentinel/ledger/side-effect.js"; import type { ApprovalEntry } from "../../domain/sentinel/policy/approval.js"; export interface SentinelStatusSnapshot { readonly daemon: { readonly running: boolean; readonly pid: number | null; readonly hostname: string | null; readonly startedAt: string | null; readonly workspaceRoot: string | null; }; readonly profile: { readonly name: string; readonly defaultLevel: string; }; readonly cadence: { readonly panicStop: boolean; readonly maxMonitorRunsPerHour: number; readonly maxActionsPerHour: number; }; readonly budget: { readonly llmTokensDaily: number; readonly npmRequestsPerHour: number; readonly githubRequestsPerHour: number; }; readonly usage: { readonly monitorRunsLastHour: number; readonly actionsProposedLastHour: number; readonly panicTogglesLastHour: number; }; readonly counts: { readonly observations: number; readonly signals: number; readonly actions: number; readonly ledgerEntries: number; }; } export interface SentinelSignalSnapshot { readonly signals: readonly Signal[]; readonly suppressedIds: readonly string[]; } export interface SentinelActionSnapshot { readonly actions: readonly ActionPlan[]; } export interface SentinelApprovalsSnapshot { readonly approvals: readonly ApprovalEntry[]; } export interface SentinelVerificationCheckRow { readonly type: string; readonly status: "passed" | "failed" | "skipped"; readonly command?: string; readonly summary?: string; readonly evidenceRef?: string; readonly durationMs?: number; } export interface SentinelVerificationRow { readonly actionId: string; readonly actionTitle: string | null; readonly status: "passed" | "failed" | "partial"; readonly checks: readonly SentinelVerificationCheckRow[]; readonly completedAt: string; } export interface SentinelVerificationSnapshot { readonly rows: readonly SentinelVerificationRow[]; } export interface SentinelPolicySnapshot { readonly activeProfile: Profile; readonly cadence: { readonly globalMinIntervalSeconds: number; readonly perMonitorJitterPercent: number; readonly maxMonitorRunsPerHour: number; readonly maxActionsPerHour: number; readonly panicStop: boolean; }; readonly budget: { readonly llmTokensDaily: number; readonly perActionBudget: number; readonly npmRequestsPerHour: number; readonly githubRequestsPerHour: number; }; readonly deniedPaths: readonly string[]; readonly deniedCommands: readonly string[]; } export declare class SentinelSnapshotProvider { private readonly workspaceRoot; constructor(workspaceRoot: string); status(): Promise; observations(limit?: number): Promise; signals(): Promise; actions(): Promise; approvals(actionId?: string): Promise; ledger(actionId?: string, limit?: number): Promise; verifications(limit?: number): Promise; watchdog(limit?: number): Promise<{ readonly runs: readonly import("../../domain/sentinel/watchdog/intervention.js").AgentRunState[]; readonly interventions: readonly import("../../domain/sentinel/watchdog/intervention.js").WatchdogInterventionRecord[]; }>; policy(): Promise; } //# sourceMappingURL=sentinel-snapshot.d.ts.map