@eigenpal/sdk 0.10.54 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @eigenpal/sdk
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ac3c115: The TypeScript and Python SDKs now transparently upload large run inputs without crossing cloud request limits, follow secure storage-direct downloads, and default cloud calls to `api.eigenpal.com`. Set `multipartMaxBytes` / `multipart_max_bytes`, or `EIGENPAL_MULTIPART_MAX_BYTES`, to match a self-hosted proxy; use `null` / `None` to keep every run file on multipart. Explicit `files.upload` files remain reusable until deleted.
8
+
9
+ ### Patch Changes
10
+
11
+ - 6b3e08f: TypeScript file uploads now follow the server-negotiated multipart endpoint, improving compatibility across hosted and self-managed route layouts.
12
+
3
13
  ## 0.10.15
4
14
 
5
15
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eigenpal/sdk",
3
- "version": "0.10.54",
3
+ "version": "0.11.0",
4
4
  "description": "Official TypeScript SDK for the EigenPal API",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
package/src/client.ts CHANGED
@@ -5,7 +5,14 @@ import type {
5
5
  RunStartResponse as GeneratedRunStartResponse,
6
6
  Run,
7
7
  } from './generated/types.gen';
8
- import { buildRunJsonBody, buildRunMultipart, hasFileInput } from './lib/files';
8
+ import {
9
+ buildRunJsonBody,
10
+ buildRunMultipart,
11
+ hasFileInput,
12
+ isFileInput,
13
+ resolveFileBlob,
14
+ } from './lib/files';
15
+ import { DEFAULT_MULTIPART_MAX_BYTES, keysRequiringPreUpload } from './lib/upload-limits';
9
16
  import { AuthResource } from './resources/auth';
10
17
  import { AutomationsResource } from './resources/automations';
11
18
  import { FilesResource } from './resources/files';
@@ -23,11 +30,19 @@ export interface EigenpalOptions {
23
30
  /**
24
31
  * Override the API base URL.
25
32
  *
26
- * Defaults to `EIGENPAL_BASE_URL` if set, otherwise `https://studio.eigenpal.com`.
33
+ * Defaults to `EIGENPAL_BASE_URL` if set, otherwise `https://api.eigenpal.com`.
27
34
  */
28
35
  baseUrl?: string;
29
36
  /** Per-request timeout in milliseconds. Defaults to 60_000. */
30
37
  timeoutMs?: number;
38
+ /**
39
+ * Maximum total HTTP multipart body size before run files are pre-uploaded.
40
+ *
41
+ * Defaults to `EIGENPAL_MULTIPART_MAX_BYTES` or 4.5 MiB. Set `null` (or the
42
+ * environment value `none`) to disable pre-uploads and keep every file on
43
+ * the run's multipart request, typically for self-hosted deployments.
44
+ */
45
+ multipartMaxBytes?: number | null;
31
46
  /** How many times to retry on 5xx / 429 / network errors. Defaults to 3. */
32
47
  maxRetries?: number;
33
48
  /** Inject a custom fetch implementation (testing). Defaults to global fetch. */
@@ -36,7 +51,7 @@ export interface EigenpalOptions {
36
51
  defaultHeaders?: Record<string, string>;
37
52
  }
38
53
 
39
- const DEFAULT_BASE_URL = 'https://studio.eigenpal.com';
54
+ const DEFAULT_BASE_URL = 'https://api.eigenpal.com';
40
55
  const DEFAULT_TIMEOUT_MS = 60_000;
41
56
  const DEFAULT_MAX_RETRIES = 3;
42
57
 
@@ -55,6 +70,10 @@ export interface OperationResult<T> {
55
70
  request?: Request;
56
71
  }
57
72
 
73
+ export interface RequestDispatchOptions {
74
+ responseKind?: 'json' | 'binary';
75
+ }
76
+
58
77
  export type RunTarget =
59
78
  | string
60
79
  | {
@@ -131,6 +150,7 @@ export class EigenpalClient {
131
150
  private readonly client: Client;
132
151
  private readonly maxRetries: number;
133
152
  private readonly timeoutMs: number;
153
+ private readonly multipartMaxBytes: number | null;
134
154
 
135
155
  constructor(options: EigenpalOptions = {}) {
136
156
  const apiKey = options.apiKey ?? readEnv('EIGENPAL_API_KEY');
@@ -143,6 +163,7 @@ export class EigenpalClient {
143
163
 
144
164
  this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;
145
165
  this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
166
+ this.multipartMaxBytes = resolveMultipartMaxBytes(options.multipartMaxBytes);
146
167
 
147
168
  const baseUrl = options.baseUrl ?? readEnv('EIGENPAL_BASE_URL') ?? DEFAULT_BASE_URL;
148
169
  const config: Config = createConfig({
@@ -191,17 +212,21 @@ export class EigenpalClient {
191
212
  version,
192
213
  });
193
214
 
194
- if (hasFileInput(input)) {
215
+ const preparedInput = input ? await this.prepareRunFileInputs(input, options.signal) : input;
216
+
217
+ if (hasFileInput(preparedInput)) {
218
+ // Small files stay on the explicit multipart contract (and on-prem has no
219
+ // Vercel body ceiling). Large values were already replaced with $fileId.
195
220
  const { formData } = await buildRunMultipart({
196
221
  target: pathTarget,
197
- input,
222
+ input: preparedInput,
198
223
  overrides: options.overrides,
199
224
  metadata: options.metadata,
200
225
  });
201
226
  return this._request<RunStartResponse>(
202
227
  () =>
203
228
  this.client.post({
204
- url: '/api/v1/runs',
229
+ url: '/v1/runs',
205
230
  query,
206
231
  body: formData,
207
232
  bodySerializer: null,
@@ -211,11 +236,11 @@ export class EigenpalClient {
211
236
  );
212
237
  }
213
238
 
214
- const body = buildRunJsonBody(pathTarget, input, options.overrides, options.metadata);
239
+ const body = buildRunJsonBody(pathTarget, preparedInput, options.overrides, options.metadata);
215
240
  return this._request<RunStartResponse>(
216
241
  () =>
217
242
  this.client.post({
218
- url: '/api/v1/runs',
243
+ url: '/v1/runs',
219
244
  query,
220
245
  body,
221
246
  signal: options.signal,
@@ -223,6 +248,47 @@ export class EigenpalClient {
223
248
  );
224
249
  }
225
250
 
251
+ /**
252
+ * Pre-upload file values when the aggregate multipart payload (all file
253
+ * bytes + envelope headroom) would exceed the configured body limit.
254
+ * Remaining small files keep the multipart path for a single round-trip;
255
+ * a null limit keeps every file there.
256
+ */
257
+ private async prepareRunFileInputs(input: RunInput, signal?: AbortSignal): Promise<RunInput> {
258
+ if (!hasFileInput(input)) return input;
259
+
260
+ const resolved: Array<{ key: string; blob: Blob; filename: string }> = [];
261
+ for (const [key, value] of Object.entries(input)) {
262
+ if (!isFileInput(value)) continue;
263
+ const { blob, filename } = await resolveFileBlob(value);
264
+ resolved.push({ key, blob, filename });
265
+ }
266
+
267
+ const preUploadKeys = keysRequiringPreUpload(
268
+ resolved.map(({ key, blob }) => ({ key, size: blob.size })),
269
+ this.multipartMaxBytes
270
+ );
271
+
272
+ const next: RunInput = { ...input };
273
+ for (const { key, blob, filename } of resolved) {
274
+ if (preUploadKeys.has(key)) {
275
+ const uploaded = await this.files.upload(blob, {
276
+ filename,
277
+ signal,
278
+ purpose: 'run-input',
279
+ });
280
+ next[key] = { $fileId: uploaded.id };
281
+ continue;
282
+ }
283
+ // Prefer a concrete Blob/File so drained streams can still be multiparted.
284
+ next[key] =
285
+ typeof File !== 'undefined'
286
+ ? new File([blob], filename, { type: blob.type || 'application/octet-stream' })
287
+ : blob;
288
+ }
289
+ return next;
290
+ }
291
+
226
292
  async rerun(runId: string, options: RerunOptions = {}): Promise<RunStartResponse> {
227
293
  const query: { version?: string; wait_for_completion?: number } = {};
228
294
  if (options.version && options.version !== 'latest') {
@@ -235,7 +301,7 @@ export class EigenpalClient {
235
301
  return this._request<RunStartResponse>(
236
302
  () =>
237
303
  this.client.post({
238
- url: '/api/v1/runs/{id}/rerun',
304
+ url: '/v1/runs/{id}/rerun',
239
305
  path: { id: runId },
240
306
  query: Object.keys(query).length > 0 ? query : undefined,
241
307
  signal: options.signal,
@@ -251,14 +317,17 @@ export class EigenpalClient {
251
317
  * The retry budget is `maxRetries`; backoff is exponential (250ms × 2^attempt)
252
318
  * unless the response carries a `Retry-After` header.
253
319
  */
254
- private async _request<T>(call: () => Promise<OperationResult<T>>): Promise<T> {
320
+ private async _request<T>(
321
+ call: () => Promise<OperationResult<T>>,
322
+ options: RequestDispatchOptions = {}
323
+ ): Promise<T> {
255
324
  for (let attempt = 0; ; attempt++) {
256
325
  try {
257
326
  const result = await call();
258
327
  const response = result.response;
259
328
  const status = response?.status ?? 0;
260
329
  // Guard against misconfigured `baseUrl` pointed at an HTML host
261
- // (e.g. `https://eigenpal.com` instead of `https://studio.eigenpal.com`).
330
+ // (e.g. `https://eigenpal.com` instead of `https://api.eigenpal.com`).
262
331
  // Fires for both 2xx and non-2xx so a 4xx with HTML surfaces a typed
263
332
  // baseUrl-pointing error instead of a misleading NotFoundError or a
264
333
  // downstream JSON-parse crash. 0.4.10 shipped with this footgun.
@@ -268,7 +337,10 @@ export class EigenpalClient {
268
337
  // attempt zero. Only fire when we're about to surface the response
269
338
  // as a final result or final error.
270
339
  const willRetry = isRetriableStatus(status) && attempt < this.maxRetries;
271
- if (response && !willRetry) assertJsonResponse(response);
340
+ if (response && !willRetry) {
341
+ if (options.responseKind === 'binary') assertBinaryResponse(response);
342
+ else assertJsonResponse(response);
343
+ }
272
344
  if (response && response.ok && result.data !== undefined) {
273
345
  return result.data;
274
346
  }
@@ -378,7 +450,20 @@ function assertJsonResponse(response: Response): void {
378
450
  `Expected a JSON response from the API but got Content-Type "${contentType}". ` +
379
451
  `This usually means \`baseUrl\` points at a non-API host (e.g. the marketing site or ` +
380
452
  `a misconfigured proxy). Set \`baseUrl\` to your EigenPal instance root, ` +
381
- `e.g. "https://studio.eigenpal.com".`,
453
+ `e.g. "https://api.eigenpal.com".`,
454
+ { status: response.status }
455
+ );
456
+ }
457
+
458
+ function assertBinaryResponse(response: Response): void {
459
+ if (response.status === 204) return;
460
+ const contentType = response.headers.get('content-type')?.toLowerCase() ?? '';
461
+ if (contentType === '' || (!contentType.includes('html') && !contentType.includes('json'))) {
462
+ return;
463
+ }
464
+ throw new EigenpalError(
465
+ `Expected a binary response from the API but got Content-Type "${contentType}". ` +
466
+ `This usually means \`baseUrl\` points at a non-API host or a misconfigured proxy.`,
382
467
  { status: response.status }
383
468
  );
384
469
  }
@@ -462,3 +547,23 @@ function readEnv(name: string): string | undefined {
462
547
  }
463
548
  return undefined;
464
549
  }
550
+
551
+ function resolveMultipartMaxBytes(explicit: number | null | undefined): number | null {
552
+ if (explicit !== undefined) {
553
+ if (explicit === null) return null;
554
+ if (Number.isSafeInteger(explicit) && explicit >= 0) return explicit;
555
+ throw new EigenpalError('multipartMaxBytes must be a non-negative integer or null.', {
556
+ status: 0,
557
+ });
558
+ }
559
+
560
+ const raw = readEnv('EIGENPAL_MULTIPART_MAX_BYTES')?.trim().toLowerCase();
561
+ if (!raw) return DEFAULT_MULTIPART_MAX_BYTES;
562
+ if (raw === 'none' || raw === 'null' || raw === 'unlimited') return null;
563
+ const parsed = Number(raw);
564
+ if (Number.isSafeInteger(parsed) && parsed >= 0) return parsed;
565
+ throw new EigenpalError(
566
+ 'EIGENPAL_MULTIPART_MAX_BYTES must be a non-negative integer or one of: none, null, unlimited.',
567
+ { status: 0 }
568
+ );
569
+ }
@@ -15,4 +15,4 @@ import type { ClientOptions as ClientOptions2 } from './types.gen';
15
15
  */
16
16
  export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
17
17
 
18
- export const client = createClient(createClientConfig(createConfig<ClientOptions2>({ baseUrl: 'https://studio.eigenpal.com' })));
18
+ export const client = createClient(createClientConfig(createConfig<ClientOptions2>({ baseUrl: 'https://api.eigenpal.com' })));
@@ -1,4 +1,4 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
 
3
- export { authCheck, automationsDatasetExport, automationsDatasetImport, automationsEvaluatorsGet, automationsEvaluatorsUpdate, automationsExamplesCreate, automationsExamplesDelete, automationsExamplesExpectedFileDelete, automationsExamplesExpectedFileGet, automationsExamplesExpectedFilesCreate, automationsExamplesExpectedFilesList, automationsExamplesExpectedFileUpdate, automationsExamplesGet, automationsExamplesInputFileDelete, automationsExamplesInputFileGet, automationsExamplesInputFilesCreate, automationsExamplesInputFilesList, automationsExamplesInputFileUpdate, automationsExamplesList, automationsExamplesRun, automationsExamplesUpdate, automationsExperimentsCancel, automationsExperimentsCreate, automationsExperimentsCreateStream, automationsExperimentsExport, automationsExperimentsExportAll, automationsExperimentsGet, automationsExperimentsList, automationsGet, automationsList, automationsReviewsHealth, automationsSync, automationsTriggersGet, automationsVersionsList, experimentsResolve, filesContentGet, filesCreate, filesDelete, filesGet, type Options, runsArtifactsGet, runsArtifactsList, runsCancel, runsEventsList, runsGet, runsList, runsPromote, runsRerun, runsReviewsClear, runsReviewsExpectedCreate, runsReviewsExpectedFileDelete, runsReviewsExpectedFileGet, runsReviewsExpectedFileUpdate, runsReviewsExpectedGet, runsReviewsGet, runsReviewsUpdate, runsScoresList, runsStart, runsStepsList, runsTraceGet, runsUsageGet } from './sdk.gen';
4
- export type { AgentRunExecution, ApiErrorEnvelope, ApiErrorIssue, AuthCheckData, AuthCheckError, AuthCheckErrors, AuthCheckResponse, AuthCheckResponse2, AuthCheckResponses, AutomationDatasetImportMultipartRequest, AutomationDetail, AutomationsDatasetExportData, AutomationsDatasetExportError, AutomationsDatasetExportErrors, AutomationsDatasetExportResponse, AutomationsDatasetExportResponses, AutomationsDatasetImportData, AutomationsDatasetImportError, AutomationsDatasetImportErrors, AutomationsDatasetImportResponse, AutomationsDatasetImportResponses, AutomationsEvaluatorsGetData, AutomationsEvaluatorsGetError, AutomationsEvaluatorsGetErrors, AutomationsEvaluatorsGetResponse, AutomationsEvaluatorsGetResponses, AutomationsEvaluatorsUpdateData, AutomationsEvaluatorsUpdateError, AutomationsEvaluatorsUpdateErrors, AutomationsEvaluatorsUpdateResponse, AutomationsEvaluatorsUpdateResponses, AutomationsExamplesCreateData, AutomationsExamplesCreateError, AutomationsExamplesCreateErrors, AutomationsExamplesCreateResponse, AutomationsExamplesCreateResponses, AutomationsExamplesDeleteData, AutomationsExamplesDeleteError, AutomationsExamplesDeleteErrors, AutomationsExamplesDeleteResponse, AutomationsExamplesDeleteResponses, AutomationsExamplesExpectedFileDeleteData, AutomationsExamplesExpectedFileDeleteError, AutomationsExamplesExpectedFileDeleteErrors, AutomationsExamplesExpectedFileDeleteResponses, AutomationsExamplesExpectedFileGetData, AutomationsExamplesExpectedFileGetError, AutomationsExamplesExpectedFileGetErrors, AutomationsExamplesExpectedFileGetResponse, AutomationsExamplesExpectedFileGetResponses, AutomationsExamplesExpectedFilesCreateData, AutomationsExamplesExpectedFilesCreateError, AutomationsExamplesExpectedFilesCreateErrors, AutomationsExamplesExpectedFilesCreateResponse, AutomationsExamplesExpectedFilesCreateResponses, AutomationsExamplesExpectedFilesListData, AutomationsExamplesExpectedFilesListError, AutomationsExamplesExpectedFilesListErrors, AutomationsExamplesExpectedFilesListResponse, AutomationsExamplesExpectedFilesListResponses, AutomationsExamplesExpectedFileUpdateData, AutomationsExamplesExpectedFileUpdateError, AutomationsExamplesExpectedFileUpdateErrors, AutomationsExamplesExpectedFileUpdateResponse, AutomationsExamplesExpectedFileUpdateResponses, AutomationsExamplesGetData, AutomationsExamplesGetError, AutomationsExamplesGetErrors, AutomationsExamplesGetResponse, AutomationsExamplesGetResponses, AutomationsExamplesInputFileDeleteData, AutomationsExamplesInputFileDeleteError, AutomationsExamplesInputFileDeleteErrors, AutomationsExamplesInputFileDeleteResponses, AutomationsExamplesInputFileGetData, AutomationsExamplesInputFileGetError, AutomationsExamplesInputFileGetErrors, AutomationsExamplesInputFileGetResponse, AutomationsExamplesInputFileGetResponses, AutomationsExamplesInputFilesCreateData, AutomationsExamplesInputFilesCreateError, AutomationsExamplesInputFilesCreateErrors, AutomationsExamplesInputFilesCreateResponse, AutomationsExamplesInputFilesCreateResponses, AutomationsExamplesInputFilesListData, AutomationsExamplesInputFilesListError, AutomationsExamplesInputFilesListErrors, AutomationsExamplesInputFilesListResponse, AutomationsExamplesInputFilesListResponses, AutomationsExamplesInputFileUpdateData, AutomationsExamplesInputFileUpdateError, AutomationsExamplesInputFileUpdateErrors, AutomationsExamplesInputFileUpdateResponse, AutomationsExamplesInputFileUpdateResponses, AutomationsExamplesListData, AutomationsExamplesListError, AutomationsExamplesListErrors, AutomationsExamplesListResponse, AutomationsExamplesListResponses, AutomationsExamplesRunData, AutomationsExamplesRunError, AutomationsExamplesRunErrors, AutomationsExamplesRunResponse, AutomationsExamplesRunResponses, AutomationsExamplesUpdateData, AutomationsExamplesUpdateError, AutomationsExamplesUpdateErrors, AutomationsExamplesUpdateResponse, AutomationsExamplesUpdateResponses, AutomationsExperimentsCancelData, AutomationsExperimentsCancelError, AutomationsExperimentsCancelErrors, AutomationsExperimentsCancelResponse, AutomationsExperimentsCancelResponses, AutomationsExperimentsCreateData, AutomationsExperimentsCreateError, AutomationsExperimentsCreateErrors, AutomationsExperimentsCreateResponse, AutomationsExperimentsCreateResponses, AutomationsExperimentsCreateStreamData, AutomationsExperimentsCreateStreamError, AutomationsExperimentsCreateStreamErrors, AutomationsExperimentsCreateStreamResponse, AutomationsExperimentsCreateStreamResponses, AutomationsExperimentsExportAllData, AutomationsExperimentsExportAllError, AutomationsExperimentsExportAllErrors, AutomationsExperimentsExportAllResponse, AutomationsExperimentsExportAllResponses, AutomationsExperimentsExportData, AutomationsExperimentsExportError, AutomationsExperimentsExportErrors, AutomationsExperimentsExportResponse, AutomationsExperimentsExportResponses, AutomationsExperimentsGetData, AutomationsExperimentsGetError, AutomationsExperimentsGetErrors, AutomationsExperimentsGetResponse, AutomationsExperimentsGetResponses, AutomationsExperimentsListData, AutomationsExperimentsListError, AutomationsExperimentsListErrors, AutomationsExperimentsListResponse, AutomationsExperimentsListResponses, AutomationsGetData, AutomationsGetError, AutomationsGetErrors, AutomationsGetResponse, AutomationsGetResponses, AutomationsListData, AutomationsListError, AutomationsListErrors, AutomationsListResponse, AutomationsListResponses, AutomationsReviewsHealthData, AutomationsReviewsHealthError, AutomationsReviewsHealthErrors, AutomationsReviewsHealthResponse, AutomationsReviewsHealthResponses, AutomationsSyncData, AutomationsSyncError, AutomationsSyncErrors, AutomationsSyncResponse, AutomationsSyncResponses, AutomationsTriggersGetData, AutomationsTriggersGetError, AutomationsTriggersGetErrors, AutomationsTriggersGetResponse, AutomationsTriggersGetResponses, AutomationSummary, AutomationsVersionsListData, AutomationsVersionsListError, AutomationsVersionsListErrors, AutomationsVersionsListResponse, AutomationsVersionsListResponses, AutomationTriggersResponse, AutomationTriggerState, AutomationType, AutomationVersion, ClientOptions, CreateFileMultipartRequest, DatasetExample, DatasetExampleExpectedFileList, DatasetExampleExpectedFileRenameRequest, DatasetExampleExpectedFileRenameResponse, DatasetExampleExpectedFileUploadRequest, DatasetExampleExpectedFileUploadResponse, DatasetExampleInputFileList, DatasetExampleInputFileRenameRequest, DatasetExampleInputFileRenameResponse, DatasetExampleInputFileUploadRequest, DatasetExampleInputFileUploadResponse, DatasetExampleList, DatasetExampleMutation, DatasetExampleUpdate, DatasetImportResponse, DeleteFileResponse, EvalResult, EvaluatorConfigResponse, EvaluatorConfigUpdate, ExampleRunResponse, ExecutionStatus, Experiment, ExperimentCreate, ExperimentCreateResponse, ExperimentDetail, ExperimentRef, ExperimentsResolveData, ExperimentsResolveError, ExperimentsResolveErrors, ExperimentsResolveResponse, ExperimentsResolveResponses, File, FilesContentGetData, FilesContentGetError, FilesContentGetErrors, FilesContentGetResponses, FilesCreateData, FilesCreateError, FilesCreateErrors, FilesCreateResponse, FilesCreateResponses, FilesDeleteData, FilesDeleteError, FilesDeleteErrors, FilesDeleteResponse, FilesDeleteResponses, FilesGetData, FilesGetError, FilesGetErrors, FilesGetResponse, FilesGetResponses, ListAutomationsResponse, ListAutomationVersionsResponse, PromoteRunRequest, PromoteRunResponse, Run, RunAccepted, RunArtifact, RunArtifactsResponse, RunCancelResponse, RunDebug, RunError, RunEval, RunEvent, RunEventsResponse, RunExecution, RunExecutionMeta, RunExecutionRetry, RunFile, RunInput, RunListItem, RunRerunResponse, RunReview, RunReviewCorrection, RunReviewDetail, RunReviewExpectedArtifacts, RunReviewExpectedFileCopyRequest, RunReviewExpectedFileMutationResponse, RunReviewExpectedFileUpdateRequest, RunReviewExpectedFileUpdateResponse, RunReviewExpectedFileUploadRequest, RunReviewHealthBucket, RunReviewHealthConfidence, RunReviewHealthResponse, RunReviewHealthRollingPoint, RunReviewHealthSummary, RunReviewRequest, RunReviewSummary, RunsArtifactsGetData, RunsArtifactsGetError, RunsArtifactsGetErrors, RunsArtifactsGetResponses, RunsArtifactsListData, RunsArtifactsListError, RunsArtifactsListErrors, RunsArtifactsListResponse, RunsArtifactsListResponses, RunsCancelData, RunsCancelError, RunsCancelErrors, RunsCancelResponse, RunsCancelResponses, RunScoresResponse, RunsEventsListData, RunsEventsListError, RunsEventsListErrors, RunsEventsListResponse, RunsEventsListResponses, RunsGetData, RunsGetError, RunsGetErrors, RunsGetResponse, RunsGetResponses, RunsListData, RunsListError, RunsListErrors, RunsListResponse, RunsListResponse2, RunsListResponses, RunSource, RunSourceGit, RunsPromoteData, RunsPromoteError, RunsPromoteErrors, RunsPromoteResponse, RunsPromoteResponses, RunsRerunData, RunsRerunError, RunsRerunErrors, RunsRerunResponse, RunsRerunResponses, RunsReviewsClearData, RunsReviewsClearError, RunsReviewsClearErrors, RunsReviewsClearResponse, RunsReviewsClearResponses, RunsReviewsExpectedCreateData, RunsReviewsExpectedCreateError, RunsReviewsExpectedCreateErrors, RunsReviewsExpectedCreateResponse, RunsReviewsExpectedCreateResponses, RunsReviewsExpectedFileDeleteData, RunsReviewsExpectedFileDeleteError, RunsReviewsExpectedFileDeleteErrors, RunsReviewsExpectedFileDeleteResponse, RunsReviewsExpectedFileDeleteResponses, RunsReviewsExpectedFileGetData, RunsReviewsExpectedFileGetError, RunsReviewsExpectedFileGetErrors, RunsReviewsExpectedFileGetResponse, RunsReviewsExpectedFileGetResponses, RunsReviewsExpectedFileUpdateData, RunsReviewsExpectedFileUpdateError, RunsReviewsExpectedFileUpdateErrors, RunsReviewsExpectedFileUpdateResponse, RunsReviewsExpectedFileUpdateResponses, RunsReviewsExpectedGetData, RunsReviewsExpectedGetError, RunsReviewsExpectedGetErrors, RunsReviewsExpectedGetResponse, RunsReviewsExpectedGetResponses, RunsReviewsGetData, RunsReviewsGetError, RunsReviewsGetErrors, RunsReviewsGetResponse, RunsReviewsGetResponses, RunsReviewsUpdateData, RunsReviewsUpdateError, RunsReviewsUpdateErrors, RunsReviewsUpdateResponse, RunsReviewsUpdateResponses, RunsScoresListData, RunsScoresListError, RunsScoresListErrors, RunsScoresListResponse, RunsScoresListResponses, RunsStartData, RunsStartError, RunsStartErrors, RunsStartResponse, RunsStartResponses, RunsStepsListData, RunsStepsListError, RunsStepsListErrors, RunsStepsListResponse, RunsStepsListResponses, RunStartBody, RunStartMultipartRequest, RunStartResponse, RunStepsResponse, RunsTraceGetData, RunsTraceGetError, RunsTraceGetErrors, RunsTraceGetResponse, RunsTraceGetResponses, RunsUsageGetData, RunsUsageGetError, RunsUsageGetErrors, RunsUsageGetResponse, RunsUsageGetResponses, RunTiming, RunTraceEvent, RunTraceResponse, RunTrigger, RunUsage, RunUsageResponse, WorkflowRunExecution } from './types.gen';
3
+ export { authCheck, automationsDatasetExport, automationsDatasetImport, automationsEvaluatorsGet, automationsEvaluatorsUpdate, automationsExamplesCreate, automationsExamplesDelete, automationsExamplesExpectedFileDelete, automationsExamplesExpectedFileGet, automationsExamplesExpectedFilesCreate, automationsExamplesExpectedFilesList, automationsExamplesExpectedFileUpdate, automationsExamplesGet, automationsExamplesInputFileDelete, automationsExamplesInputFileGet, automationsExamplesInputFilesCreate, automationsExamplesInputFilesList, automationsExamplesInputFileUpdate, automationsExamplesList, automationsExamplesRun, automationsExamplesUpdate, automationsExperimentsCancel, automationsExperimentsCreate, automationsExperimentsCreateStream, automationsExperimentsExport, automationsExperimentsExportAll, automationsExperimentsGet, automationsExperimentsList, automationsGet, automationsList, automationsReviewsHealth, automationsSync, automationsTriggersGet, automationsVersionsList, experimentsResolve, filesContentGet, filesCreate, filesDelete, filesGet, filesUploadsAbort, filesUploadsComplete, filesUploadsCreate, type Options, runsArtifactsGet, runsArtifactsList, runsCancel, runsEventsList, runsGet, runsList, runsPromote, runsRerun, runsReviewsClear, runsReviewsExpectedCreate, runsReviewsExpectedFileDelete, runsReviewsExpectedFileGet, runsReviewsExpectedFileUpdate, runsReviewsExpectedGet, runsReviewsGet, runsReviewsUpdate, runsScoresList, runsStart, runsStepsList, runsTraceGet, runsUsageGet } from './sdk.gen';
4
+ export type { AbortFileUploadResponse, AgentRunExecution, ApiErrorEnvelope, ApiErrorIssue, AuthCheckData, AuthCheckError, AuthCheckErrors, AuthCheckResponse, AuthCheckResponse2, AuthCheckResponses, AutomationDatasetImportMultipartRequest, AutomationDetail, AutomationsDatasetExportData, AutomationsDatasetExportError, AutomationsDatasetExportErrors, AutomationsDatasetExportResponse, AutomationsDatasetExportResponses, AutomationsDatasetImportData, AutomationsDatasetImportError, AutomationsDatasetImportErrors, AutomationsDatasetImportResponse, AutomationsDatasetImportResponses, AutomationsEvaluatorsGetData, AutomationsEvaluatorsGetError, AutomationsEvaluatorsGetErrors, AutomationsEvaluatorsGetResponse, AutomationsEvaluatorsGetResponses, AutomationsEvaluatorsUpdateData, AutomationsEvaluatorsUpdateError, AutomationsEvaluatorsUpdateErrors, AutomationsEvaluatorsUpdateResponse, AutomationsEvaluatorsUpdateResponses, AutomationsExamplesCreateData, AutomationsExamplesCreateError, AutomationsExamplesCreateErrors, AutomationsExamplesCreateResponse, AutomationsExamplesCreateResponses, AutomationsExamplesDeleteData, AutomationsExamplesDeleteError, AutomationsExamplesDeleteErrors, AutomationsExamplesDeleteResponse, AutomationsExamplesDeleteResponses, AutomationsExamplesExpectedFileDeleteData, AutomationsExamplesExpectedFileDeleteError, AutomationsExamplesExpectedFileDeleteErrors, AutomationsExamplesExpectedFileDeleteResponses, AutomationsExamplesExpectedFileGetData, AutomationsExamplesExpectedFileGetError, AutomationsExamplesExpectedFileGetErrors, AutomationsExamplesExpectedFileGetResponse, AutomationsExamplesExpectedFileGetResponses, AutomationsExamplesExpectedFilesCreateData, AutomationsExamplesExpectedFilesCreateError, AutomationsExamplesExpectedFilesCreateErrors, AutomationsExamplesExpectedFilesCreateResponse, AutomationsExamplesExpectedFilesCreateResponses, AutomationsExamplesExpectedFilesListData, AutomationsExamplesExpectedFilesListError, AutomationsExamplesExpectedFilesListErrors, AutomationsExamplesExpectedFilesListResponse, AutomationsExamplesExpectedFilesListResponses, AutomationsExamplesExpectedFileUpdateData, AutomationsExamplesExpectedFileUpdateError, AutomationsExamplesExpectedFileUpdateErrors, AutomationsExamplesExpectedFileUpdateResponse, AutomationsExamplesExpectedFileUpdateResponses, AutomationsExamplesGetData, AutomationsExamplesGetError, AutomationsExamplesGetErrors, AutomationsExamplesGetResponse, AutomationsExamplesGetResponses, AutomationsExamplesInputFileDeleteData, AutomationsExamplesInputFileDeleteError, AutomationsExamplesInputFileDeleteErrors, AutomationsExamplesInputFileDeleteResponses, AutomationsExamplesInputFileGetData, AutomationsExamplesInputFileGetError, AutomationsExamplesInputFileGetErrors, AutomationsExamplesInputFileGetResponse, AutomationsExamplesInputFileGetResponses, AutomationsExamplesInputFilesCreateData, AutomationsExamplesInputFilesCreateError, AutomationsExamplesInputFilesCreateErrors, AutomationsExamplesInputFilesCreateResponse, AutomationsExamplesInputFilesCreateResponses, AutomationsExamplesInputFilesListData, AutomationsExamplesInputFilesListError, AutomationsExamplesInputFilesListErrors, AutomationsExamplesInputFilesListResponse, AutomationsExamplesInputFilesListResponses, AutomationsExamplesInputFileUpdateData, AutomationsExamplesInputFileUpdateError, AutomationsExamplesInputFileUpdateErrors, AutomationsExamplesInputFileUpdateResponse, AutomationsExamplesInputFileUpdateResponses, AutomationsExamplesListData, AutomationsExamplesListError, AutomationsExamplesListErrors, AutomationsExamplesListResponse, AutomationsExamplesListResponses, AutomationsExamplesRunData, AutomationsExamplesRunError, AutomationsExamplesRunErrors, AutomationsExamplesRunResponse, AutomationsExamplesRunResponses, AutomationsExamplesUpdateData, AutomationsExamplesUpdateError, AutomationsExamplesUpdateErrors, AutomationsExamplesUpdateResponse, AutomationsExamplesUpdateResponses, AutomationsExperimentsCancelData, AutomationsExperimentsCancelError, AutomationsExperimentsCancelErrors, AutomationsExperimentsCancelResponse, AutomationsExperimentsCancelResponses, AutomationsExperimentsCreateData, AutomationsExperimentsCreateError, AutomationsExperimentsCreateErrors, AutomationsExperimentsCreateResponse, AutomationsExperimentsCreateResponses, AutomationsExperimentsCreateStreamData, AutomationsExperimentsCreateStreamError, AutomationsExperimentsCreateStreamErrors, AutomationsExperimentsCreateStreamResponse, AutomationsExperimentsCreateStreamResponses, AutomationsExperimentsExportAllData, AutomationsExperimentsExportAllError, AutomationsExperimentsExportAllErrors, AutomationsExperimentsExportAllResponse, AutomationsExperimentsExportAllResponses, AutomationsExperimentsExportData, AutomationsExperimentsExportError, AutomationsExperimentsExportErrors, AutomationsExperimentsExportResponse, AutomationsExperimentsExportResponses, AutomationsExperimentsGetData, AutomationsExperimentsGetError, AutomationsExperimentsGetErrors, AutomationsExperimentsGetResponse, AutomationsExperimentsGetResponses, AutomationsExperimentsListData, AutomationsExperimentsListError, AutomationsExperimentsListErrors, AutomationsExperimentsListResponse, AutomationsExperimentsListResponses, AutomationsGetData, AutomationsGetError, AutomationsGetErrors, AutomationsGetResponse, AutomationsGetResponses, AutomationsListData, AutomationsListError, AutomationsListErrors, AutomationsListResponse, AutomationsListResponses, AutomationsReviewsHealthData, AutomationsReviewsHealthError, AutomationsReviewsHealthErrors, AutomationsReviewsHealthResponse, AutomationsReviewsHealthResponses, AutomationsSyncData, AutomationsSyncError, AutomationsSyncErrors, AutomationsSyncResponse, AutomationsSyncResponses, AutomationsTriggersGetData, AutomationsTriggersGetError, AutomationsTriggersGetErrors, AutomationsTriggersGetResponse, AutomationsTriggersGetResponses, AutomationSummary, AutomationsVersionsListData, AutomationsVersionsListError, AutomationsVersionsListErrors, AutomationsVersionsListResponse, AutomationsVersionsListResponses, AutomationTriggersResponse, AutomationTriggerState, AutomationType, AutomationVersion, ClientOptions, CreateFileMultipartRequest, CreateFileUploadSessionRequest, DatasetExample, DatasetExampleExpectedFileList, DatasetExampleExpectedFileRenameRequest, DatasetExampleExpectedFileRenameResponse, DatasetExampleExpectedFileUploadRequest, DatasetExampleExpectedFileUploadResponse, DatasetExampleInputFileList, DatasetExampleInputFileRenameRequest, DatasetExampleInputFileRenameResponse, DatasetExampleInputFileUploadRequest, DatasetExampleInputFileUploadResponse, DatasetExampleList, DatasetExampleMutation, DatasetExampleUpdate, DatasetImportResponse, DeleteFileResponse, EvalResult, EvaluatorConfigResponse, EvaluatorConfigUpdate, ExampleRunResponse, ExecutionStatus, Experiment, ExperimentCreate, ExperimentCreateResponse, ExperimentDetail, ExperimentRef, ExperimentsResolveData, ExperimentsResolveError, ExperimentsResolveErrors, ExperimentsResolveResponse, ExperimentsResolveResponses, File, FilesContentGetData, FilesContentGetError, FilesContentGetErrors, FilesContentGetResponses, FilesCreateData, FilesCreateError, FilesCreateErrors, FilesCreateResponse, FilesCreateResponses, FilesDeleteData, FilesDeleteError, FilesDeleteErrors, FilesDeleteResponse, FilesDeleteResponses, FilesGetData, FilesGetError, FilesGetErrors, FilesGetResponse, FilesGetResponses, FilesUploadsAbortData, FilesUploadsAbortError, FilesUploadsAbortErrors, FilesUploadsAbortResponse, FilesUploadsAbortResponses, FilesUploadsCompleteData, FilesUploadsCompleteError, FilesUploadsCompleteErrors, FilesUploadsCompleteResponse, FilesUploadsCompleteResponses, FilesUploadsCreateData, FilesUploadsCreateError, FilesUploadsCreateErrors, FilesUploadsCreateResponse, FilesUploadsCreateResponses, ListAutomationsResponse, ListAutomationVersionsResponse, MultipartFileUploadFallback, PresignedFileUploadSession, PromoteRunRequest, PromoteRunResponse, Run, RunAccepted, RunArtifact, RunArtifactsResponse, RunCancelResponse, RunDebug, RunError, RunEval, RunEvent, RunEventsResponse, RunExecution, RunExecutionMeta, RunExecutionRetry, RunFile, RunInput, RunListItem, RunRerunResponse, RunReview, RunReviewCorrection, RunReviewDetail, RunReviewExpectedArtifacts, RunReviewExpectedFileCopyRequest, RunReviewExpectedFileMutationResponse, RunReviewExpectedFileUpdateRequest, RunReviewExpectedFileUpdateResponse, RunReviewExpectedFileUploadRequest, RunReviewHealthBucket, RunReviewHealthConfidence, RunReviewHealthResponse, RunReviewHealthRollingPoint, RunReviewHealthSummary, RunReviewRequest, RunReviewSummary, RunsArtifactsGetData, RunsArtifactsGetError, RunsArtifactsGetErrors, RunsArtifactsGetResponses, RunsArtifactsListData, RunsArtifactsListError, RunsArtifactsListErrors, RunsArtifactsListResponse, RunsArtifactsListResponses, RunsCancelData, RunsCancelError, RunsCancelErrors, RunsCancelResponse, RunsCancelResponses, RunScoresResponse, RunsEventsListData, RunsEventsListError, RunsEventsListErrors, RunsEventsListResponse, RunsEventsListResponses, RunsGetData, RunsGetError, RunsGetErrors, RunsGetResponse, RunsGetResponses, RunsListData, RunsListError, RunsListErrors, RunsListResponse, RunsListResponse2, RunsListResponses, RunSource, RunSourceGit, RunsPromoteData, RunsPromoteError, RunsPromoteErrors, RunsPromoteResponse, RunsPromoteResponses, RunsRerunData, RunsRerunError, RunsRerunErrors, RunsRerunResponse, RunsRerunResponses, RunsReviewsClearData, RunsReviewsClearError, RunsReviewsClearErrors, RunsReviewsClearResponse, RunsReviewsClearResponses, RunsReviewsExpectedCreateData, RunsReviewsExpectedCreateError, RunsReviewsExpectedCreateErrors, RunsReviewsExpectedCreateResponse, RunsReviewsExpectedCreateResponses, RunsReviewsExpectedFileDeleteData, RunsReviewsExpectedFileDeleteError, RunsReviewsExpectedFileDeleteErrors, RunsReviewsExpectedFileDeleteResponse, RunsReviewsExpectedFileDeleteResponses, RunsReviewsExpectedFileGetData, RunsReviewsExpectedFileGetError, RunsReviewsExpectedFileGetErrors, RunsReviewsExpectedFileGetResponse, RunsReviewsExpectedFileGetResponses, RunsReviewsExpectedFileUpdateData, RunsReviewsExpectedFileUpdateError, RunsReviewsExpectedFileUpdateErrors, RunsReviewsExpectedFileUpdateResponse, RunsReviewsExpectedFileUpdateResponses, RunsReviewsExpectedGetData, RunsReviewsExpectedGetError, RunsReviewsExpectedGetErrors, RunsReviewsExpectedGetResponse, RunsReviewsExpectedGetResponses, RunsReviewsGetData, RunsReviewsGetError, RunsReviewsGetErrors, RunsReviewsGetResponse, RunsReviewsGetResponses, RunsReviewsUpdateData, RunsReviewsUpdateError, RunsReviewsUpdateErrors, RunsReviewsUpdateResponse, RunsReviewsUpdateResponses, RunsScoresListData, RunsScoresListError, RunsScoresListErrors, RunsScoresListResponse, RunsScoresListResponses, RunsStartData, RunsStartError, RunsStartErrors, RunsStartResponse, RunsStartResponses, RunsStepsListData, RunsStepsListError, RunsStepsListErrors, RunsStepsListResponse, RunsStepsListResponses, RunStartBody, RunStartMultipartRequest, RunStartResponse, RunStepsResponse, RunsTraceGetData, RunsTraceGetError, RunsTraceGetErrors, RunsTraceGetResponse, RunsTraceGetResponses, RunsUsageGetData, RunsUsageGetError, RunsUsageGetErrors, RunsUsageGetResponse, RunsUsageGetResponses, RunTiming, RunTraceEvent, RunTraceResponse, RunTrigger, RunUsage, RunUsageResponse, WorkflowRunExecution } from './types.gen';