export type TenantId = string; export type ExecutionId = string; export type FlowId = string; export type StepId = string; export type JSONSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' | 'unknown'; export interface JSONSchema { type: JSONSchemaType | JSONSchemaType[]; properties?: Record; required?: string[]; items?: JSONSchema; minItems?: number; maxItems?: number; enum?: unknown[]; examples?: unknown[]; oneOf?: JSONSchema[]; truncated?: boolean; } export type LineageSource = { kind: 'step'; stepId: StepId; path: string; } | { kind: 'literal'; value: unknown; } | { kind: 'expression'; raw: string; resolved: unknown; } | { kind: 'fxFunction'; name: string; args: FieldLineage[]; }; export interface FieldLineage { field: string; source: LineageSource; depth: number; } export type EnvelopeStatus = 'success' | 'partial' | 'error' | 'skipped'; export interface EnvelopeMetadata { rowCount: number; bytes: number; elapsedMs: number; producedAt: string; sourceCredentialRef?: string; } export interface StepEnvelope { executionId: ExecutionId; stepId: StepId; attempt: number; data: T; dataRef?: string; schema: JSONSchema; schemaHash: string; schemaVersion: number; lineage: FieldLineage[]; metadata: EnvelopeMetadata; status: EnvelopeStatus; errorRef?: string; } export interface PersistedSessionVariables { lastSuccessRun: string | null; lastCompletedRun: string | null; lastRunStartTime: string; runCount: number; successCount: number; lastError: string | null; custom: Record; lastExecutionId: ExecutionId | null; } export interface PersistedFlowVariable { name: string; value: unknown; setByExecutionId: ExecutionId; setAt: string; } //# sourceMappingURL=types.d.ts.map