/** * Utility functions for working with Grepr job graphs. * * This module provides helper functions for: * - Identifying different types of operations (sources, sinks, etc.) * - Parsing and manipulating job graph edges * - Traversing the job graph to find related vertices * - Generating test identifiers * * All functions work with the OpenAPI-generated types to ensure type safety. */ import { SchemaOperation } from '../openapi/openApiTypes.js'; /** * Checks if a source vertex supports record limiting. * * Some source operations (like Iceberg table sources and Grepr internal sources) * support a 'limit' parameter to restrict the number of records read, which is * useful for batch testing. * * @param vertex - The operation to check * @returns true if the vertex supports limiting */ export declare function canLimit(vertex: SchemaOperation): boolean; /** * Parses a job graph edge string into source and target vertex names. * * Edges are represented as strings in the format "source -> target". * Or "source:out -> target:in". * This function splits the edge and validates the format. * * @param edge - The edge string to parse (e.g., "source -> target") * @returns A tuple of [source, target] vertex/port names * @throws Error if the edge format is invalid */ export declare function parseEdge(edge: string): { sourceVertex: string; sourcePort: string; targetVertex: string; targetPort: string; }; /** * Generates a unique test identifier. * * Creates a unique ID for test runs using a combination of timestamp and random string. * Format: test_{timestamp}_{random} * * @returns A unique test identifier string */ export declare function generateUUID(): string; //# sourceMappingURL=job-graph-utils.d.ts.map