import type { Engine, RoleId } from "../domain/role-policy.js"; import type { EvidenceReference } from "../evidence/store.js"; export interface DispatchBudgetSnapshot { readonly profile: "subscription-only"; readonly remaining_attempts: number; readonly policy_digest: string; } export interface DispatchIntent { readonly goal_id: string; readonly goal_version: number; readonly ticket_id: string; readonly ticket_version: number; readonly lease_token: string; readonly attempt: number; readonly worker_id: string; readonly role_id: string; readonly model_id: string; readonly provider_mode: "claude_interactive" | "codex_goal"; readonly worktree_id: string; readonly worktree_path: string; readonly capabilities: readonly string[]; readonly budget_snapshot: DispatchBudgetSnapshot; readonly acceptance_criteria: readonly string[]; readonly evidence_requirements: readonly string[]; readonly task_body: string; readonly operation_nonce: string; } export interface CanonicalDispatchIntent { readonly schema_version: 1; readonly dispatch_id: string; readonly goal_id: string; readonly goal_version: number; readonly ticket_id: string; readonly ticket_version: number; readonly lease_token: string; readonly attempt: number; readonly worker_record_id: string; readonly worker_id: string; readonly session_id: string; readonly role_id: Extract; readonly model_id: string; readonly engine: Engine; readonly provider_mode: "claude_interactive" | "codex_goal"; readonly worktree_id: string; readonly worktree_path: string; readonly worktree_branch: string; readonly worktree_base_commit: string; readonly worktree_start_commit: string; readonly prior_failure_evidence: EvidenceReference | null; readonly prior_reflection_evidence: EvidenceReference | null; readonly capabilities: readonly string[]; readonly budget_snapshot: DispatchBudgetSnapshot; readonly acceptance_criteria: readonly string[]; readonly evidence_requirements: readonly string[]; readonly task_body: string; readonly operation_nonce: string; readonly policy_version: 2; readonly policy_digest: string; } export interface CapturedDispatchIntent { readonly schema_version: 1; readonly dispatch_intent_sha256: string; readonly canonical: CanonicalDispatchIntent; } export declare function captureCanonicalDispatchIntent(canonical: CanonicalDispatchIntent): CapturedDispatchIntent; export declare function assertCapturedDispatchIntent(value: unknown): asserts value is CapturedDispatchIntent;