import type { EventAdapterIdV3 } from "./adapter-id.js"; export type CapabilitySupportV3 = "native" | "derived" | "conditional" | "unsupported"; export type AdapterDurationCapabilityV3 = "turn_duration" | "tool_duration"; export type CursorExecutionModeV3 = "local" | "cloud" | "unknown"; export type AdapterWaitKindV3 = "permission" | "needs_input" | "decision" | "approval" | "scheduled" | "rate_limit" | "unknown"; export declare const ADAPTER_WAIT_KINDS_V3: readonly AdapterWaitKindV3[]; export interface WaitKindCapabilityV3 { span_delivery: CapabilitySupportV3; turn_completeness: CapabilitySupportV3; } export type BaseAdapterSignalV3 = "session_start" | "session_end" | "prompt" | "turn_id" | "turn_completion" | "assistant_reply_text" | "tool_request" | "tool_result" | "tool_failure" | "tool_call_id" | "tool_duration" | "permission" | "subagent" | "shell" | "pre_compaction" | "post_compaction" | "context_usage" | "model_identity"; export type AdapterSignalV3 = BaseAdapterSignalV3 | "model_usage" | "inference_timing" | "harness_timing" | "capability_drift"; export interface AdapterCapabilityProfileV3 { format: "harnery-v3-adapter-capabilities"; format_version: 1; adapter: EventAdapterIdV3; signals: Record; } export declare const ADAPTER_CAPABILITY_PROFILES_V3: Record; export declare function adapterCapabilityProfileV3(adapter: EventAdapterIdV3): AdapterCapabilityProfileV3; export declare function adapterCapabilityProfileDigestV3(adapter: EventAdapterIdV3): `cap_${string}`; export declare function adapterSignalSupportV3(adapter: EventAdapterIdV3, signal: AdapterSignalV3): CapabilitySupportV3; /** * Duration support for terminal spans. Tool duration is part of the digested * adapter profile. Turn duration predates that profile dimension, so keep its * compatibility-preserving classification here until the next contract major. */ export declare function adapterDurationSupportV3(adapter: EventAdapterIdV3, capability: AdapterDurationCapabilityV3): CapabilitySupportV3; /** * Adapter hooks only expose permission waits today. Other wait kinds can be * authored by coordination producers, but they are not observable from an * adapter's native turn channel. */ export declare function adapterWaitKindSupportV3(adapter: EventAdapterIdV3, kind: AdapterWaitKindV3): CapabilitySupportV3; /** No current adapter supplies an independent completed-turn wait aggregate. */ export declare function adapterTurnWaitCountSupportV3(_adapter: EventAdapterIdV3): CapabilitySupportV3; /** * Per-kind wait matrix for native adapter turns. Span delivery and independent * completed-turn completeness are deliberately separate: observing a span * never proves that an absent span means zero. */ export declare function adapterWaitCoverageMatrixV3(adapter: EventAdapterIdV3): Record; /** * Local Cursor sessions expose the generic tool channel. Cloud/private-worker * sessions cannot guarantee whole-turn delivery because hooks may start only * after the execution environment becomes writable. */ export declare function cursorToolChannelSupportV3(mode: CursorExecutionModeV3): CapabilitySupportV3; //# sourceMappingURL=capabilities.d.ts.map