import type { GateVerdict, StageId, ArtifactRef, ProjectConfig } from '../types/index.js'; import type { RequirementAnalysisRequest, RequirementAnalysisResponse } from '../stages/spec-types.js'; import type { TaskPayload } from '../orchestrator/pipeline-run.js'; import type { ReadmeUpdateRequest } from './publish-adapter.js'; /** Options for spawning a single task programmatically. */ export interface SpawnTaskOptions { label?: string; timeoutSeconds?: number; /** Role knowledge to inject for single-agent users (AC-19.13). */ roleKnowledge?: string; } /** A task descriptor for parallel spawning (AC-19.11). */ export interface ParallelTaskDescriptor { agentId: string; task: string; options?: SpawnTaskOptions; } /** * Minimal host adapter contract for integrating SEVO with runtime environments. * Core keeps stage semantics; adapters provide dispatch, artifact recovery, * notification, and project-level configuration. */ export interface SevoHostAdapter { dispatchTask(stage: StageId, payload: TaskPayload): Promise; collectArtifacts(taskId: string): Promise; notifyGateResult(stage: StageId, verdict: GateVerdict): void; getProjectConfig(): ProjectConfig; analyzeRequirements?(input: RequirementAnalysisRequest): Promise; publish?(projectPath: string, version: string): Promise; requestReadmeUpdate?(request: ReadmeUpdateRequest): Promise; /** * Spawn a single task via host API (e.g. sessions_spawn). * Returns the spawned session/task ID. * If not supported, returns null (caller falls back to prompt injection). */ spawnTask?(agentId: string, task: string, options?: SpawnTaskOptions): Promise; /** * Spawn multiple tasks in parallel (AC-19.11). * Returns an array of session/task IDs. * If not supported, returns null (caller falls back to sequential dispatch). */ spawnParallelTasks?(tasks: ParallelTaskDescriptor[]): Promise; /** * Whether this adapter supports programmatic task spawning. * Used to decide between programmatic dispatch vs prompt injection fallback. */ supportsSpawn?(): boolean; } //# sourceMappingURL=host-adapter.d.ts.map