/** * Harness API response envelope types. */ /** Standard Harness NG API response wrapper */ export interface HarnessResponse { status: "SUCCESS" | "ERROR" | "FAILURE"; data?: T; message?: string; code?: string; correlationId?: string; metadata?: unknown; } /** Paginated content wrapper (used by some endpoints) */ export interface HarnessPageResponse { status: "SUCCESS" | "ERROR" | "FAILURE"; data?: { content?: T[]; totalElements?: number; totalPages?: number; pageIndex?: number; pageSize?: number; empty?: boolean; }; message?: string; code?: string; correlationId?: string; } /** V1 beta list response format */ export interface HarnessV1ListResponse { items?: T[]; page?: number; limit?: number; totalItems?: number; totalPages?: number; } export interface RequestOptions { method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; path: string; /** Scalar or string[] (repeated query keys, e.g. `inputSetIdentifiers=a&inputSetIdentifiers=b`). */ params?: Record; body?: unknown; headers?: Record; /** Override base URL for this request (e.g. FME/Split.io uses https://api.split.io) */ baseUrl?: string; /** Override base path prefix (e.g. "/pipeline/api" vs "/ng/api") */ rawPath?: boolean; /** External abort signal (e.g. from MCP client disconnect). Merged with timeout. */ signal?: AbortSignal; /** Override default timeout for this request (milliseconds). */ timeoutMs?: number; /** Return raw ArrayBuffer instead of parsing JSON. Used for binary endpoints (ZIP downloads). */ responseType?: "json" | "buffer"; /** Product backend — when "fme", skips Harness-specific auth/headers/params. */ product?: "harness" | "fme"; /** When true, omit the automatic `accountIdentifier` query param. * Some APIs (e.g. SEI) use only the `Harness-Account` header for account scoping. */ headerBasedScoping?: boolean; /** Retry policy from OperationPolicy. When "do_not_retry", transient errors * (5xx, timeouts) throw immediately instead of retrying. */ retryPolicy?: "safe" | "idempotency_key_required" | "do_not_retry"; /** Internal tracing metadata. Never serialized into HTTP headers/query/body. */ tracing?: { /** API name that produced this concrete request path. */ route?: string; }; } //# sourceMappingURL=types.d.ts.map