import { TraceData } from '../../core/entities/trace_data'; import { TraceInfo } from '../../core/entities/trace_info'; import { ArtifactsClient } from './base'; import { AuthProvider } from '../../auth'; /** * MLflow OSS Artifacts Client * * Implements artifact upload/download for OSS MLflow Tracking Server using the standard * HTTP artifact repository endpoints. Based on Python HttpArtifactRepository. */ export declare class MlflowArtifactsClient implements ArtifactsClient { private readonly host; private headersProvider; constructor(options: { host: string; authProvider: AuthProvider; }); /** * Upload trace data to MLflow artifact storage. * * Equivalent to Python's upload_trace_data() method which uses log_artifact() * under the hood to upload the trace data as a JSON file. * * @param traceInfo The trace information containing artifact URI * @param traceData The trace data to upload */ uploadTraceData(traceInfo: TraceInfo, traceData: TraceData): Promise; /** * Download trace data from MLflow artifact storage. * * Equivalent to Python's download_trace_data() method which downloads * the traces.json file and parses it back to TraceData. * * @param traceInfo The trace information containing artifact URI * @returns The downloaded and parsed trace data */ downloadTraceData(traceInfo: TraceInfo): Promise; /** * Construct the artifact URL from the trace info. The artifact location is set as a tag * on the trace info by the backend. * * This implements the same URI resolution logic as Python's MlflowArtifactsRepository.resolve_uri() * converting mlflow-artifacts:// URIs to HTTP endpoints. */ private getArtifactUrlForTrace; /** * Resolve mlflow-artifacts:// URI to HTTP endpoint. * * Equivalent to Python's MlflowArtifactsRepository.resolve_uri() method. * Transforms URIs like "mlflow-artifacts:/0/traces/tr-abc123/artifacts" * to "http://localhost:5000/api/2.0/mlflow-artifacts/artifacts/0/traces/tr-abc123/artifacts/traces.json" * * @param artifactUri The mlflow-artifacts:// URI from trace tags * @param fileName The file name to append (e.g., "traces.json") * @returns The resolved HTTP endpoint URL */ private resolveArtifactUri; }