import type { AuthorityMutationV3 } from "../authority-outbox.js"; import { type FingerprintContextV3 } from "../canonical.js"; import type { EventV3, SpanSummaryV3 } from "../contract.js"; export type CoordinationAuthoritySignalV3 = "task-changed" | "lifecycle-changed" | "claim-changed" | "identity-attested" | "decision-state-changed" | "wait-started" | "wait-ended"; export interface CoordinationProducerContextV3 { coordRoot: string; root_id: `root_${string}`; instance_id: `inst_${string}`; session_id: `sid_${string}`; generation_id: `gen_${string}`; attestation_id: `att_${string}`; producer_id: `prd_${string}`; boot_id: `boot_${string}`; sequence: number; build_id: `build_${string}`; platform: "linux" | "windows" | "macos" | "unknown"; bridge?: "codex-wsl"; actor_instance_id: `inst_${string}`; subject_instance_id: `inst_${string}`; transaction_id: `txn_${string}`; caused_by?: `evt_${string}`[]; event_id?: `evt_${string}`; observed_at?: string; recorded_at?: string; monotonic_ns?: string; clock_id?: `clk_${string}`; fingerprintContext: FingerprintContextV3; attribution_method: "session_env" | "heartbeat_match" | "explicit_argument"; span_id?: `span_${string}`; parent_span_id?: `span_${string}`; terminal_span?: SpanSummaryV3; } interface CoordinationObservationBaseV3 { native_observation_id: string; } export interface TaskChangedObservationV3 extends CoordinationObservationBaseV3 { state: "set" | "cleared"; prior_state?: string; task?: string; } export interface LifecycleChangedObservationV3 extends CoordinationObservationBaseV3 { state: "active" | "blocked" | "done"; prior_state?: string; reason_code?: string; } export interface ClaimChangedObservationV3 extends CoordinationObservationBaseV3 { operation: "acquired" | "released"; target: unknown; access: "read" | "write"; } export interface IdentityAttestedObservationV3 extends CoordinationObservationBaseV3 { identity_id: string; method: string; } export interface DecisionStateChangedObservationV3 extends CoordinationObservationBaseV3 { decision_id: string; prior_state?: string; outcome: "approved" | "denied" | "deferred"; record_digest: `sha256:${string}`; } export interface WaitStartedObservationV3 extends CoordinationObservationBaseV3 { wait_id: string; kind: "permission" | "approval" | "decision" | "operator_input" | "dependency" | "scheduled"; wake_at?: string; } export interface WaitEndedObservationV3 extends CoordinationObservationBaseV3 { wait_id: string; outcome: "succeeded" | "failed" | "cancelled" | "timed_out" | "denied" | "interrupted" | "unknown"; } export interface CoordinationObservationBySignalV3 { "task-changed": TaskChangedObservationV3; "lifecycle-changed": LifecycleChangedObservationV3; "claim-changed": ClaimChangedObservationV3; "identity-attested": IdentityAttestedObservationV3; "decision-state-changed": DecisionStateChangedObservationV3; "wait-started": WaitStartedObservationV3; "wait-ended": WaitEndedObservationV3; } export interface NormalizedCoordinationAuthorityV3 { event: EventV3; mutation: AuthorityMutationV3; } /** * Translate one authority-bearing coordination observation without retaining * raw task text or claim targets. The event and mutation are returned as one * unit so callers cannot independently construct contradictory records. */ export declare function normalizeCoordinationAuthorityV3(signal: S, observation: CoordinationObservationBySignalV3[S], context: CoordinationProducerContextV3): NormalizedCoordinationAuthorityV3; export {}; //# sourceMappingURL=coordination.d.ts.map