import type { EventAdapterIdV3 } from "./adapter-id.js"; import { type CapabilitySupportV3, type CursorExecutionModeV3 } from "./capabilities.js"; export type RuntimeTelemetryChannelV3 = "context_usage" | "wait_spans" | "wait_completeness" | "response_latency" | "inference_timing"; export type RuntimeTelemetryCompletenessV3 = "exact" | "inferred" | "percentage_only" | "lower_bound" | "unknown"; export interface RuntimeTelemetryCapabilityValueV3 { support: Exclude; source: string; completeness: RuntimeTelemetryCompletenessV3; } export type RuntimeTelemetryCapabilityObservationV3 = { state: "observed"; value: RuntimeTelemetryCapabilityValueV3; attestation: "native" | "derived" | "inferred"; confidence: "exact" | "high" | "medium" | "low"; } | { state: "expected_but_missing"; capability: string; reason: string; } | { state: "unsupported"; capability: string; }; export type RuntimeContextCapabilityEvidenceV3 = { state: "observed"; source: string; attestation: "native" | "derived" | "inferred"; confidence: "exact" | "high" | "medium" | "low"; completeness?: "exact" | "inferred" | "percentage_only"; } | { state: "partial"; reason: string; } | { state: "unsupported"; }; export interface RuntimeTelemetryCapabilityEvidenceV3 { adapter: EventAdapterIdV3; cursor_mode?: CursorExecutionModeV3; context: RuntimeContextCapabilityEvidenceV3; canonical_turn_boundaries: boolean; independent_wait_completeness?: boolean; } export type RuntimeTelemetryCapabilitiesV3 = Record; /** * Resolve the telemetry support that one runtime session can actually prove. * * This is deliberately separate from AdapterCapabilityProfileV3. The static * profile gates the event contract; this projection describes effective * session evidence without moving a genesis-approved digest when a local * source is missing, late, or unreadable. */ export declare function effectiveRuntimeTelemetryCapabilitiesV3(evidence: RuntimeTelemetryCapabilityEvidenceV3): RuntimeTelemetryCapabilitiesV3; //# sourceMappingURL=runtime-telemetry-capabilities.d.ts.map