/** * Task Output Type Definitions * * Types for structured task output with JSON Schema validation. * Enables agents to produce validated, structured deliverables * when completing tasks. * * @module types/task-output.types */ /** * JSON Schema definition for validating task output. * Uses a subset of JSON Schema Draft 7 compatible with ajv. */ export interface TaskOutputSchema { /** JSON Schema type (typically 'object') */ type: string; /** Property definitions for the output */ properties?: Record>; /** List of required property names */ required?: string[]; /** Whether additional properties are allowed */ additionalProperties?: boolean; /** Human-readable description of the expected output */ description?: string; } /** * Result of validating task output against its schema */ export interface TaskOutputValidationResult { /** Whether the output passed validation */ valid: boolean; /** Validation error messages (empty if valid) */ errors: string[]; /** The validated output data (only set if valid) */ data?: TaskOutputData; } /** * Structured output data from a completed task */ export interface TaskOutputData { /** The validated output object */ output: Record; /** ISO timestamp of when the output was produced */ producedAt: string; /** Session name of the agent that produced the output */ sessionName: string; } /** * Retry tracking information embedded in task markdown */ export interface TaskOutputRetryInfo { /** Number of validation attempts so far */ retryCount: number; /** Maximum allowed retries */ maxRetries: number; /** Error messages from the last failed validation */ lastErrors: string[]; /** ISO timestamp of the last retry attempt */ lastAttemptAt: string; } /** * Constants for task output validation */ export declare const TASK_OUTPUT_CONSTANTS: { /** Maximum number of validation retries before blocking the task */ readonly MAX_RETRIES: 2; /** Maximum output size in bytes (1MB) */ readonly MAX_OUTPUT_SIZE_BYTES: 1048576; /** Markdown section headers used in task files */ readonly SECTION_HEADERS: { readonly OUTPUT_SCHEMA: "## Output Schema"; readonly RETRY_INFO: "## Output Validation Retry Info"; readonly VALIDATION_FAILURE: "## Validation Failure"; }; /** File extension for stored output files */ readonly OUTPUT_FILE_EXTENSION: ".output.json"; }; //# sourceMappingURL=task-output.types.d.ts.map