/** * Skill dispatch and protocol selection. * Augments CLEO's multi-strategy dispatch with @cleocode/caamp catalog dispatch matrix. * * Implements multi-strategy dispatch: * 1. Label-based: task labels match skill tags * 2. Catalog-based: @cleocode/skills dispatch matrix (via CAAMP catalog bridge) * 3. Type-based: task type maps to protocol * 4. Keyword-based: title/description matches triggers * 5. Fallback: ct-task-executor * * @epic T4454 * @task T4517 */ import type { Task } from '@cleocode/contracts'; import type { DispatchResult, SkillProtocolType } from './types.js'; /** * Auto-dispatch a task to the most appropriate skill. * Tries strategies in priority order: label -> catalog -> type -> keyword -> fallback. * @task T4517 */ export declare function autoDispatch(task: Task, cwd?: string): DispatchResult; /** * Dispatch with explicit skill override. * Verifies the skill exists before returning. * @task T4517 */ export declare function dispatchExplicit(skillName: string, cwd?: string): DispatchResult | null; /** * Get the protocol type for a dispatch result. * @task T4517 */ export declare function getProtocolForDispatch(result: DispatchResult): SkillProtocolType | null; /** * Prepare spawn context for a dispatched skill. * Returns the skill name and protocol needed for token injection. * @task T4517 */ export declare function prepareSpawnContext(task: Task, overrideSkill?: string, cwd?: string): { skill: string; protocol: SkillProtocolType | null; dispatch: DispatchResult; }; /** Result of multi-skill composition. */ export interface MultiSkillComposition { skillCount: number; primarySkill: string; skills: Array<{ skill: string; mode: 'full' | 'progressive'; estimatedTokens: number; }>; totalEstimatedTokens: number; prompt: string; } /** * Compose multiple skills into a single prompt with progressive disclosure. * Ports skill_prepare_spawn_multi from lib/skills/skill-dispatch.sh. * * The first skill is loaded fully (primary). Secondary skills use progressive * disclosure (frontmatter + first section only) to save context budget. * * @task T4712 * @epic T4663 */ export declare function prepareSpawnMulti(skillNames: string[], tokenValues: Record, cwd?: string): MultiSkillComposition; //# sourceMappingURL=dispatch.d.ts.map