import type { ObservabilityRecipeCapability } from "./contracts.js"; import type { PlatformAdapter } from "./platform.js"; import { AgentacctAdapter, type AgentacctStatus } from "./agentacct-adapter.js"; export type TelemetryLifecycleMode = "plan" | "apply" | "verify" | "status" | "stop" | "uninstall-autostart"; export interface TelemetryComponentStatus { readonly state: "disabled" | "healthy" | "starting" | "stale" | "external" | "unavailable" | "incompatible" | "degraded"; readonly pid?: number; readonly listening?: boolean; readonly detail: string; } export interface TelemetryDiagnostics { readonly schemaVersion: 1; readonly lastVerifiedAt: string; readonly redaction: { readonly state: "verified"; readonly rejectedCategories: readonly string[]; }; readonly performance: { readonly traceFreshnessMs: number; readonly phoenixQueryMs: number; }; } export interface TelemetryStatus { readonly schemaVersion: 2; readonly state: "disabled" | "healthy" | "degraded" | "unavailable" | "incompatible"; readonly collector: TelemetryComponentStatus; readonly phoenix: TelemetryComponentStatus; readonly agentacct: AgentacctStatus; readonly retention?: { readonly correlationDays: number; readonly phoenixDays: number; readonly agentacct: "upstream_unbounded"; }; readonly diagnostics?: TelemetryDiagnostics; readonly capabilities: Readonly>>>; } export interface TelemetryPlan { readonly schemaVersion: 2; readonly stateRoot: string; readonly required: boolean; readonly actions: readonly string[]; readonly effects: readonly string[]; readonly dataBoundary: readonly string[]; readonly capability: ObservabilityRecipeCapability; } export interface TelemetryPreflight { readonly ok: boolean; readonly issues: readonly string[]; } export interface TelemetryDependencies { readonly agentacct?: AgentacctAdapter; readonly fetchJson?: (url: string) => Promise; readonly emitTrace?: (trace: Record) => Promise; readonly windowsPathToWsl?: (value: string) => string; readonly reconcileAutostart?: boolean; } export declare function telemetryPlan(capability: ObservabilityRecipeCapability, adapter?: PlatformAdapter): TelemetryPlan; export declare function telemetryPreflight(capability: ObservabilityRecipeCapability, adapter?: PlatformAdapter): Promise; export declare function telemetryStatus(adapter?: PlatformAdapter, dependencies?: TelemetryDependencies): Promise; export declare function applyTelemetry(capability: ObservabilityRecipeCapability, adapter?: PlatformAdapter, dependencies?: TelemetryDependencies): Promise; export declare function verifyTelemetry(adapter?: PlatformAdapter, dependencies?: TelemetryDependencies): Promise; export declare function stopTelemetry(adapter?: PlatformAdapter, dependencies?: TelemetryDependencies): Promise; export declare function resumeTelemetry(adapter?: PlatformAdapter, dependencies?: TelemetryDependencies): Promise; export declare function uninstallTelemetryAutostart(adapter?: PlatformAdapter): Promise; export declare function removeTelemetryManaged(adapter?: PlatformAdapter, dependencies?: TelemetryDependencies): Promise; //# sourceMappingURL=telemetry-runtime.d.ts.map