import type { ContextPackEvidenceClass, ContextPackSemanticCategory, ContextPackTaskKind } from './context-pack.js'; import type { TaskIntentKind } from './task-intent.js'; export declare const TASK_CONTEXT_PLAN_VERSION = 1; export type TaskContextPlanScopeMode = 'global' | 'focused' | 'changed'; export type TaskContextPlanStepId = 'seed' | 'expand' | 'assemble'; export type TaskContextPlanStepKind = 'retrieve' | 'synthesize'; export interface TaskContextPlanInput { task_kind: ContextPackTaskKind; prompt: string; budget: number; task_intent?: TaskIntentKind; focus_paths?: readonly string[]; changed_paths?: readonly string[]; } export interface TaskContextPlanScope { seed_mode: TaskContextPlanScopeMode; focus_paths: string[]; changed_paths: string[]; } export interface TaskContextPlanEvidence { recipe_id: TaskIntentKind; required: ContextPackEvidenceClass[]; preferred: ContextPackEvidenceClass[]; semantic_required: ContextPackSemanticCategory[]; semantic_optional: ContextPackSemanticCategory[]; } export interface TaskContextPlanStep { id: TaskContextPlanStepId; kind: TaskContextPlanStepKind; title: string; budget: number; evidence: ContextPackEvidenceClass[]; scope_mode: TaskContextPlanScopeMode; scope_paths: string[]; } export interface TaskContextPlan { version: typeof TASK_CONTEXT_PLAN_VERSION; task_kind: ContextPackTaskKind; prompt: string; total_budget: number; scope: TaskContextPlanScope; evidence: TaskContextPlanEvidence; steps: TaskContextPlanStep[]; }