/** * Arazzo Specification 1.0.1 Type Definitions * * Typed interfaces for the complete Arazzo spec, used by the parser * and code generator. * * @see https://spec.openapis.org/arazzo/v1.0.1 */ export interface ArazzoDocument { arazzo: string; info: InfoObject; sourceDescriptions: SourceDescription[]; workflows: WorkflowObject[]; components?: ComponentsObject; } export interface InfoObject { title: string; summary?: string; description?: string; version: string; } export interface SourceDescription { name: string; url: string; type: 'openapi' | 'arazzo'; } export interface WorkflowObject { workflowId: string; summary?: string; description?: string; inputs?: JsonSchemaObject; parameters?: ParameterObject[]; steps: StepObject[]; outputs?: Record; successActions?: ActionObject[]; failureActions?: ActionObject[]; } export interface StepObject { stepId: string; description?: string; operationId?: string; operationPath?: string; workflowId?: string; parameters?: ParameterObject[]; requestBody?: RequestBodyObject; successCriteria?: SuccessCriterionObject[]; successActions?: ActionObject[]; failureActions?: ActionObject[]; outputs?: Record; } export interface ParameterObject { name: string; in: 'path' | 'query' | 'header' | 'cookie' | 'body'; value: unknown; } export interface RequestBodyObject { contentType?: string; payload: Record; replacements?: PayloadReplacement[]; } export interface PayloadReplacement { target: string; value: unknown; } export interface SuccessCriterionObject { condition: string; context?: string; type?: 'simple' | 'regex' | 'jsonpath' | 'xpath'; } export interface ActionObject { name: string; type: 'goto' | 'end'; workflowId?: string; stepId?: string; criteria?: CriterionObject[]; } export interface CriterionObject { condition: string; context?: string; type?: 'simple' | 'regex' | 'jsonpath' | 'xpath'; } export interface ComponentsObject { inputs?: Record; parameters?: Record; successActions?: Record; failureActions?: Record; } export interface JsonSchemaObject { type: 'object' | 'string' | 'integer' | 'number' | 'boolean' | 'array'; required?: string[]; properties?: Record; description?: string; } export interface JsonSchemaProperty { type: 'string' | 'integer' | 'number' | 'boolean' | 'array' | 'object'; description?: string; format?: string; items?: JsonSchemaProperty; properties?: Record; required?: string[]; enum?: unknown[]; default?: unknown; } export interface ParsedWorkflow { document: ArazzoDocument; filePath: string; /** Resolved source descriptions with absolute paths */ resolvedSources: ResolvedSource[]; } export interface ResolvedSource { name: string; absolutePath: string; type: 'openapi' | 'arazzo'; } //# sourceMappingURL=types.d.ts.map