@outputai/cli 0.1.13-next.68a23a3.0 → 0.1.13-next.6dd611e.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.
|
@@ -127,6 +127,8 @@ export declare const TraceLogRemoteResponseSource: {
|
|
|
127
127
|
export interface TraceLogRemoteResponse {
|
|
128
128
|
/** Indicates trace was fetched from remote storage */
|
|
129
129
|
source: TraceLogRemoteResponseSource;
|
|
130
|
+
/** The specific run id this trace belongs to */
|
|
131
|
+
runId: string;
|
|
130
132
|
data: TraceData;
|
|
131
133
|
}
|
|
132
134
|
/**
|
|
@@ -139,6 +141,8 @@ export declare const TraceLogLocalResponseSource: {
|
|
|
139
141
|
export interface TraceLogLocalResponse {
|
|
140
142
|
/** Indicates trace is available locally */
|
|
141
143
|
source: TraceLogLocalResponseSource;
|
|
144
|
+
/** The specific run id this trace belongs to */
|
|
145
|
+
runId: string;
|
|
142
146
|
/** Absolute path to local trace file */
|
|
143
147
|
localPath: string;
|
|
144
148
|
}
|
|
@@ -175,6 +179,83 @@ export interface WorkflowRunsResponse {
|
|
|
175
179
|
/** Total number of runs returned */
|
|
176
180
|
count?: number;
|
|
177
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* The workflow execution status
|
|
184
|
+
*/
|
|
185
|
+
export type WorkflowStatusResponseStatus = typeof WorkflowStatusResponseStatus[keyof typeof WorkflowStatusResponseStatus];
|
|
186
|
+
export declare const WorkflowStatusResponseStatus: {
|
|
187
|
+
readonly canceled: "canceled";
|
|
188
|
+
readonly completed: "completed";
|
|
189
|
+
readonly continued_as_new: "continued_as_new";
|
|
190
|
+
readonly failed: "failed";
|
|
191
|
+
readonly running: "running";
|
|
192
|
+
readonly terminated: "terminated";
|
|
193
|
+
readonly timed_out: "timed_out";
|
|
194
|
+
readonly unspecified: "unspecified";
|
|
195
|
+
};
|
|
196
|
+
export interface WorkflowStatusResponse {
|
|
197
|
+
/** The id of workflow */
|
|
198
|
+
workflowId?: string;
|
|
199
|
+
/** The specific run id for this execution */
|
|
200
|
+
runId?: string;
|
|
201
|
+
/** The workflow execution status */
|
|
202
|
+
status?: WorkflowStatusResponseStatus;
|
|
203
|
+
/** An epoch timestamp representing when the workflow started */
|
|
204
|
+
startedAt?: number;
|
|
205
|
+
/** An epoch timestamp representing when the workflow ended */
|
|
206
|
+
completedAt?: number;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* The workflow execution status
|
|
210
|
+
*/
|
|
211
|
+
export type WorkflowResultResponseStatus = typeof WorkflowResultResponseStatus[keyof typeof WorkflowResultResponseStatus];
|
|
212
|
+
export declare const WorkflowResultResponseStatus: {
|
|
213
|
+
readonly completed: "completed";
|
|
214
|
+
readonly failed: "failed";
|
|
215
|
+
readonly canceled: "canceled";
|
|
216
|
+
readonly terminated: "terminated";
|
|
217
|
+
readonly timed_out: "timed_out";
|
|
218
|
+
readonly continued: "continued";
|
|
219
|
+
};
|
|
220
|
+
export interface WorkflowResultResponse {
|
|
221
|
+
/** The workflow execution id */
|
|
222
|
+
workflowId?: string;
|
|
223
|
+
/** The specific run id for this execution */
|
|
224
|
+
runId?: string;
|
|
225
|
+
/** The original input passed to the workflow, null if unavailable */
|
|
226
|
+
input?: unknown;
|
|
227
|
+
/** The result of workflow, null if workflow failed */
|
|
228
|
+
output?: unknown;
|
|
229
|
+
trace?: TraceInfo;
|
|
230
|
+
/** The workflow execution status */
|
|
231
|
+
status?: WorkflowResultResponseStatus;
|
|
232
|
+
/**
|
|
233
|
+
* Error message if workflow failed, null otherwise
|
|
234
|
+
* @nullable
|
|
235
|
+
*/
|
|
236
|
+
error?: string | null;
|
|
237
|
+
}
|
|
238
|
+
export interface StopWorkflowResponse {
|
|
239
|
+
workflowId?: string;
|
|
240
|
+
runId?: string;
|
|
241
|
+
}
|
|
242
|
+
export interface TerminateWorkflowResponse {
|
|
243
|
+
terminated?: boolean;
|
|
244
|
+
workflowId?: string;
|
|
245
|
+
runId?: string;
|
|
246
|
+
}
|
|
247
|
+
export interface ResetWorkflowRequest {
|
|
248
|
+
/** The name of the step to reset after */
|
|
249
|
+
stepName: string;
|
|
250
|
+
/** Optional reason for the reset */
|
|
251
|
+
reason?: string;
|
|
252
|
+
}
|
|
253
|
+
export interface ResetWorkflowResponse {
|
|
254
|
+
/** The original workflow ID */
|
|
255
|
+
workflowId?: string;
|
|
256
|
+
/** The run ID of the new execution created by the reset */
|
|
257
|
+
runId?: string;
|
|
258
|
+
}
|
|
178
259
|
/**
|
|
179
260
|
* Invalid request body or query (validation failed)
|
|
180
261
|
*/
|
|
@@ -191,6 +272,10 @@ export type RequestTimeoutResponse = ErrorResponse;
|
|
|
191
272
|
* Workflow not in a terminal state (still running)
|
|
192
273
|
*/
|
|
193
274
|
export type FailedDependencyResponse = ErrorResponse;
|
|
275
|
+
/**
|
|
276
|
+
* Workflow run is in a state that conflicts with the requested operation (e.g. operating on an already-terminal run, or resetting to an incomplete step).
|
|
277
|
+
*/
|
|
278
|
+
export type ConflictResponse = ErrorResponse;
|
|
194
279
|
/**
|
|
195
280
|
* Catalog workflow unavailable (worker not running or still starting). Retry-After header may be set.
|
|
196
281
|
*/
|
|
@@ -246,77 +331,19 @@ export type PostWorkflowStartBody = {
|
|
|
246
331
|
export type PostWorkflowStart200 = {
|
|
247
332
|
/** The id of the started workflow */
|
|
248
333
|
workflowId?: string;
|
|
334
|
+
/**
|
|
335
|
+
* The first execution's run id for this workflow
|
|
336
|
+
* @nullable
|
|
337
|
+
*/
|
|
338
|
+
runId?: string | null;
|
|
249
339
|
};
|
|
250
|
-
|
|
251
|
-
* The workflow execution status
|
|
252
|
-
*/
|
|
253
|
-
export type GetWorkflowIdStatus200Status = typeof GetWorkflowIdStatus200Status[keyof typeof GetWorkflowIdStatus200Status];
|
|
254
|
-
export declare const GetWorkflowIdStatus200Status: {
|
|
255
|
-
readonly canceled: "canceled";
|
|
256
|
-
readonly completed: "completed";
|
|
257
|
-
readonly continued_as_new: "continued_as_new";
|
|
258
|
-
readonly failed: "failed";
|
|
259
|
-
readonly running: "running";
|
|
260
|
-
readonly terminated: "terminated";
|
|
261
|
-
readonly timed_out: "timed_out";
|
|
262
|
-
readonly unspecified: "unspecified";
|
|
263
|
-
};
|
|
264
|
-
export type GetWorkflowIdStatus200 = {
|
|
265
|
-
/** The id of workflow */
|
|
266
|
-
workflowId?: string;
|
|
267
|
-
/** The workflow execution status */
|
|
268
|
-
status?: GetWorkflowIdStatus200Status;
|
|
269
|
-
/** An epoch timestamp representing when the workflow started */
|
|
270
|
-
startedAt?: number;
|
|
271
|
-
/** An epoch timestamp representing when the workflow ended */
|
|
272
|
-
completedAt?: number;
|
|
273
|
-
};
|
|
274
|
-
export type PostWorkflowIdTerminateBody = {
|
|
340
|
+
export type PostWorkflowIdRunsRidTerminateBody = {
|
|
275
341
|
/** Optional reason for termination */
|
|
276
342
|
reason?: string;
|
|
277
343
|
};
|
|
278
|
-
export type
|
|
279
|
-
terminated?: boolean;
|
|
280
|
-
workflowId?: string;
|
|
281
|
-
};
|
|
282
|
-
export type PostWorkflowIdResetBody = {
|
|
283
|
-
/** The name of the step to reset after */
|
|
284
|
-
stepName: string;
|
|
285
|
-
/** Optional reason for the reset */
|
|
344
|
+
export type PostWorkflowIdTerminateBody = {
|
|
286
345
|
reason?: string;
|
|
287
346
|
};
|
|
288
|
-
export type PostWorkflowIdReset200 = {
|
|
289
|
-
/** The original workflow ID */
|
|
290
|
-
workflowId?: string;
|
|
291
|
-
/** The run ID of the new execution created by the reset */
|
|
292
|
-
runId?: string;
|
|
293
|
-
};
|
|
294
|
-
/**
|
|
295
|
-
* The workflow execution status
|
|
296
|
-
*/
|
|
297
|
-
export type GetWorkflowIdResult200Status = typeof GetWorkflowIdResult200Status[keyof typeof GetWorkflowIdResult200Status];
|
|
298
|
-
export declare const GetWorkflowIdResult200Status: {
|
|
299
|
-
readonly completed: "completed";
|
|
300
|
-
readonly failed: "failed";
|
|
301
|
-
readonly canceled: "canceled";
|
|
302
|
-
readonly terminated: "terminated";
|
|
303
|
-
readonly timed_out: "timed_out";
|
|
304
|
-
readonly continued: "continued";
|
|
305
|
-
};
|
|
306
|
-
export type GetWorkflowIdResult200 = {
|
|
307
|
-
/** The workflow execution id */
|
|
308
|
-
workflowId?: string;
|
|
309
|
-
/** The result of workflow, null if workflow failed */
|
|
310
|
-
output?: unknown;
|
|
311
|
-
trace?: TraceInfo;
|
|
312
|
-
/** The workflow execution status */
|
|
313
|
-
status?: GetWorkflowIdResult200Status;
|
|
314
|
-
/**
|
|
315
|
-
* Error message if workflow failed, null otherwise
|
|
316
|
-
* @nullable
|
|
317
|
-
*/
|
|
318
|
-
error?: string | null;
|
|
319
|
-
};
|
|
320
347
|
export type GetWorkflowCatalogId200 = {
|
|
321
348
|
/** Each workflow available in this catalog */
|
|
322
349
|
workflows?: Workflow[];
|
|
@@ -456,10 +483,11 @@ export type postWorkflowStartResponse = (postWorkflowStartResponseSuccess | post
|
|
|
456
483
|
export declare const getPostWorkflowStartUrl: () => string;
|
|
457
484
|
export declare const postWorkflowStart: (postWorkflowStartBody: PostWorkflowStartBody, options?: ApiRequestOptions) => Promise<postWorkflowStartResponse>;
|
|
458
485
|
/**
|
|
459
|
-
*
|
|
486
|
+
* Returns the status of the latest run for the given workflow. To pin a specific run, use `/workflow/{id}/runs/{rid}/status`.
|
|
487
|
+
* @summary Get workflow execution status (latest run)
|
|
460
488
|
*/
|
|
461
489
|
export type getWorkflowIdStatusResponse200 = {
|
|
462
|
-
data:
|
|
490
|
+
data: WorkflowStatusResponse;
|
|
463
491
|
status: 200;
|
|
464
492
|
};
|
|
465
493
|
export type getWorkflowIdStatusResponse404 = {
|
|
@@ -480,16 +508,82 @@ export type getWorkflowIdStatusResponse = (getWorkflowIdStatusResponseSuccess |
|
|
|
480
508
|
export declare const getGetWorkflowIdStatusUrl: (id: string) => string;
|
|
481
509
|
export declare const getWorkflowIdStatus: (id: string, options?: ApiRequestOptions) => Promise<getWorkflowIdStatusResponse>;
|
|
482
510
|
/**
|
|
483
|
-
* @summary
|
|
511
|
+
* @summary Get workflow execution status for a specific run
|
|
512
|
+
*/
|
|
513
|
+
export type getWorkflowIdRunsRidStatusResponse200 = {
|
|
514
|
+
data: WorkflowStatusResponse;
|
|
515
|
+
status: 200;
|
|
516
|
+
};
|
|
517
|
+
export type getWorkflowIdRunsRidStatusResponse400 = {
|
|
518
|
+
data: BadRequestResponse;
|
|
519
|
+
status: 400;
|
|
520
|
+
};
|
|
521
|
+
export type getWorkflowIdRunsRidStatusResponse404 = {
|
|
522
|
+
data: NotFoundResponse;
|
|
523
|
+
status: 404;
|
|
524
|
+
};
|
|
525
|
+
export type getWorkflowIdRunsRidStatusResponse500 = {
|
|
526
|
+
data: InternalServerErrorResponse;
|
|
527
|
+
status: 500;
|
|
528
|
+
};
|
|
529
|
+
export type getWorkflowIdRunsRidStatusResponseSuccess = (getWorkflowIdRunsRidStatusResponse200) & {
|
|
530
|
+
headers: Headers;
|
|
531
|
+
};
|
|
532
|
+
export type getWorkflowIdRunsRidStatusResponseError = (getWorkflowIdRunsRidStatusResponse400 | getWorkflowIdRunsRidStatusResponse404 | getWorkflowIdRunsRidStatusResponse500) & {
|
|
533
|
+
headers: Headers;
|
|
534
|
+
};
|
|
535
|
+
export type getWorkflowIdRunsRidStatusResponse = (getWorkflowIdRunsRidStatusResponseSuccess | getWorkflowIdRunsRidStatusResponseError);
|
|
536
|
+
export declare const getGetWorkflowIdRunsRidStatusUrl: (id: string, rid: string) => string;
|
|
537
|
+
export declare const getWorkflowIdRunsRidStatus: (id: string, rid: string, options?: ApiRequestOptions) => Promise<getWorkflowIdRunsRidStatusResponse>;
|
|
538
|
+
/**
|
|
539
|
+
* @summary Stop a specific workflow run
|
|
540
|
+
*/
|
|
541
|
+
export type patchWorkflowIdRunsRidStopResponse200 = {
|
|
542
|
+
data: StopWorkflowResponse;
|
|
543
|
+
status: 200;
|
|
544
|
+
};
|
|
545
|
+
export type patchWorkflowIdRunsRidStopResponse400 = {
|
|
546
|
+
data: BadRequestResponse;
|
|
547
|
+
status: 400;
|
|
548
|
+
};
|
|
549
|
+
export type patchWorkflowIdRunsRidStopResponse404 = {
|
|
550
|
+
data: NotFoundResponse;
|
|
551
|
+
status: 404;
|
|
552
|
+
};
|
|
553
|
+
export type patchWorkflowIdRunsRidStopResponse409 = {
|
|
554
|
+
data: ConflictResponse;
|
|
555
|
+
status: 409;
|
|
556
|
+
};
|
|
557
|
+
export type patchWorkflowIdRunsRidStopResponse500 = {
|
|
558
|
+
data: InternalServerErrorResponse;
|
|
559
|
+
status: 500;
|
|
560
|
+
};
|
|
561
|
+
export type patchWorkflowIdRunsRidStopResponseSuccess = (patchWorkflowIdRunsRidStopResponse200) & {
|
|
562
|
+
headers: Headers;
|
|
563
|
+
};
|
|
564
|
+
export type patchWorkflowIdRunsRidStopResponseError = (patchWorkflowIdRunsRidStopResponse400 | patchWorkflowIdRunsRidStopResponse404 | patchWorkflowIdRunsRidStopResponse409 | patchWorkflowIdRunsRidStopResponse500) & {
|
|
565
|
+
headers: Headers;
|
|
566
|
+
};
|
|
567
|
+
export type patchWorkflowIdRunsRidStopResponse = (patchWorkflowIdRunsRidStopResponseSuccess | patchWorkflowIdRunsRidStopResponseError);
|
|
568
|
+
export declare const getPatchWorkflowIdRunsRidStopUrl: (id: string, rid: string) => string;
|
|
569
|
+
export declare const patchWorkflowIdRunsRidStop: (id: string, rid: string, options?: ApiRequestOptions) => Promise<patchWorkflowIdRunsRidStopResponse>;
|
|
570
|
+
/**
|
|
571
|
+
* Stops the latest run of the given workflow. The returned `runId` reflects the run at describe-time and may differ from the cancelled run if a new execution started concurrently. Deprecated; use `PATCH /workflow/{id}/runs/{rid}/stop` to pin a specific run. Scheduled for removal after 2026-07-16.
|
|
572
|
+
* @deprecated
|
|
573
|
+
* @summary [Deprecated] Stop the latest workflow run
|
|
484
574
|
*/
|
|
485
575
|
export type patchWorkflowIdStopResponse200 = {
|
|
486
|
-
data:
|
|
576
|
+
data: StopWorkflowResponse;
|
|
487
577
|
status: 200;
|
|
488
578
|
};
|
|
489
579
|
export type patchWorkflowIdStopResponse404 = {
|
|
490
580
|
data: NotFoundResponse;
|
|
491
581
|
status: 404;
|
|
492
582
|
};
|
|
583
|
+
export type patchWorkflowIdStopResponse409 = {
|
|
584
|
+
data: ConflictResponse;
|
|
585
|
+
status: 409;
|
|
586
|
+
};
|
|
493
587
|
export type patchWorkflowIdStopResponse500 = {
|
|
494
588
|
data: InternalServerErrorResponse;
|
|
495
589
|
status: 500;
|
|
@@ -497,18 +591,52 @@ export type patchWorkflowIdStopResponse500 = {
|
|
|
497
591
|
export type patchWorkflowIdStopResponseSuccess = (patchWorkflowIdStopResponse200) & {
|
|
498
592
|
headers: Headers;
|
|
499
593
|
};
|
|
500
|
-
export type patchWorkflowIdStopResponseError = (patchWorkflowIdStopResponse404 | patchWorkflowIdStopResponse500) & {
|
|
594
|
+
export type patchWorkflowIdStopResponseError = (patchWorkflowIdStopResponse404 | patchWorkflowIdStopResponse409 | patchWorkflowIdStopResponse500) & {
|
|
501
595
|
headers: Headers;
|
|
502
596
|
};
|
|
503
597
|
export type patchWorkflowIdStopResponse = (patchWorkflowIdStopResponseSuccess | patchWorkflowIdStopResponseError);
|
|
504
598
|
export declare const getPatchWorkflowIdStopUrl: (id: string) => string;
|
|
505
599
|
export declare const patchWorkflowIdStop: (id: string, options?: ApiRequestOptions) => Promise<patchWorkflowIdStopResponse>;
|
|
506
600
|
/**
|
|
507
|
-
* Force terminates a workflow. Unlike stop/cancel, terminate immediately stops the
|
|
508
|
-
* @summary Terminate a workflow
|
|
601
|
+
* Force terminates a workflow run. Unlike stop/cancel, terminate immediately stops the run without allowing cleanup.
|
|
602
|
+
* @summary Terminate a specific workflow run (force stop)
|
|
603
|
+
*/
|
|
604
|
+
export type postWorkflowIdRunsRidTerminateResponse200 = {
|
|
605
|
+
data: TerminateWorkflowResponse;
|
|
606
|
+
status: 200;
|
|
607
|
+
};
|
|
608
|
+
export type postWorkflowIdRunsRidTerminateResponse400 = {
|
|
609
|
+
data: BadRequestResponse;
|
|
610
|
+
status: 400;
|
|
611
|
+
};
|
|
612
|
+
export type postWorkflowIdRunsRidTerminateResponse404 = {
|
|
613
|
+
data: NotFoundResponse;
|
|
614
|
+
status: 404;
|
|
615
|
+
};
|
|
616
|
+
export type postWorkflowIdRunsRidTerminateResponse409 = {
|
|
617
|
+
data: ConflictResponse;
|
|
618
|
+
status: 409;
|
|
619
|
+
};
|
|
620
|
+
export type postWorkflowIdRunsRidTerminateResponse500 = {
|
|
621
|
+
data: InternalServerErrorResponse;
|
|
622
|
+
status: 500;
|
|
623
|
+
};
|
|
624
|
+
export type postWorkflowIdRunsRidTerminateResponseSuccess = (postWorkflowIdRunsRidTerminateResponse200) & {
|
|
625
|
+
headers: Headers;
|
|
626
|
+
};
|
|
627
|
+
export type postWorkflowIdRunsRidTerminateResponseError = (postWorkflowIdRunsRidTerminateResponse400 | postWorkflowIdRunsRidTerminateResponse404 | postWorkflowIdRunsRidTerminateResponse409 | postWorkflowIdRunsRidTerminateResponse500) & {
|
|
628
|
+
headers: Headers;
|
|
629
|
+
};
|
|
630
|
+
export type postWorkflowIdRunsRidTerminateResponse = (postWorkflowIdRunsRidTerminateResponseSuccess | postWorkflowIdRunsRidTerminateResponseError);
|
|
631
|
+
export declare const getPostWorkflowIdRunsRidTerminateUrl: (id: string, rid: string) => string;
|
|
632
|
+
export declare const postWorkflowIdRunsRidTerminate: (id: string, rid: string, postWorkflowIdRunsRidTerminateBody: PostWorkflowIdRunsRidTerminateBody, options?: ApiRequestOptions) => Promise<postWorkflowIdRunsRidTerminateResponse>;
|
|
633
|
+
/**
|
|
634
|
+
* Force terminates the latest run. Deprecated; use `POST /workflow/{id}/runs/{rid}/terminate` to target a specific run. Scheduled for removal after 2026-07-16.
|
|
635
|
+
* @deprecated
|
|
636
|
+
* @summary [Deprecated] Terminate the latest workflow run
|
|
509
637
|
*/
|
|
510
638
|
export type postWorkflowIdTerminateResponse200 = {
|
|
511
|
-
data:
|
|
639
|
+
data: TerminateWorkflowResponse;
|
|
512
640
|
status: 200;
|
|
513
641
|
};
|
|
514
642
|
export type postWorkflowIdTerminateResponse400 = {
|
|
@@ -519,6 +647,10 @@ export type postWorkflowIdTerminateResponse404 = {
|
|
|
519
647
|
data: NotFoundResponse;
|
|
520
648
|
status: 404;
|
|
521
649
|
};
|
|
650
|
+
export type postWorkflowIdTerminateResponse409 = {
|
|
651
|
+
data: ConflictResponse;
|
|
652
|
+
status: 409;
|
|
653
|
+
};
|
|
522
654
|
export type postWorkflowIdTerminateResponse500 = {
|
|
523
655
|
data: InternalServerErrorResponse;
|
|
524
656
|
status: 500;
|
|
@@ -526,18 +658,52 @@ export type postWorkflowIdTerminateResponse500 = {
|
|
|
526
658
|
export type postWorkflowIdTerminateResponseSuccess = (postWorkflowIdTerminateResponse200) & {
|
|
527
659
|
headers: Headers;
|
|
528
660
|
};
|
|
529
|
-
export type postWorkflowIdTerminateResponseError = (postWorkflowIdTerminateResponse400 | postWorkflowIdTerminateResponse404 | postWorkflowIdTerminateResponse500) & {
|
|
661
|
+
export type postWorkflowIdTerminateResponseError = (postWorkflowIdTerminateResponse400 | postWorkflowIdTerminateResponse404 | postWorkflowIdTerminateResponse409 | postWorkflowIdTerminateResponse500) & {
|
|
530
662
|
headers: Headers;
|
|
531
663
|
};
|
|
532
664
|
export type postWorkflowIdTerminateResponse = (postWorkflowIdTerminateResponseSuccess | postWorkflowIdTerminateResponseError);
|
|
533
665
|
export declare const getPostWorkflowIdTerminateUrl: (id: string) => string;
|
|
534
666
|
export declare const postWorkflowIdTerminate: (id: string, postWorkflowIdTerminateBody: PostWorkflowIdTerminateBody, options?: ApiRequestOptions) => Promise<postWorkflowIdTerminateResponse>;
|
|
535
667
|
/**
|
|
536
|
-
* Resets a workflow
|
|
537
|
-
* @summary Reset a workflow to re-run from after a
|
|
668
|
+
* Resets a pinned workflow run to the point after a completed step, creating a new run that replays from that point. The current execution is terminated.
|
|
669
|
+
* @summary Reset a specific workflow run to re-run from after a completed step
|
|
670
|
+
*/
|
|
671
|
+
export type postWorkflowIdRunsRidResetResponse200 = {
|
|
672
|
+
data: ResetWorkflowResponse;
|
|
673
|
+
status: 200;
|
|
674
|
+
};
|
|
675
|
+
export type postWorkflowIdRunsRidResetResponse400 = {
|
|
676
|
+
data: BadRequestResponse;
|
|
677
|
+
status: 400;
|
|
678
|
+
};
|
|
679
|
+
export type postWorkflowIdRunsRidResetResponse404 = {
|
|
680
|
+
data: NotFoundResponse;
|
|
681
|
+
status: 404;
|
|
682
|
+
};
|
|
683
|
+
export type postWorkflowIdRunsRidResetResponse409 = {
|
|
684
|
+
data: ConflictResponse;
|
|
685
|
+
status: 409;
|
|
686
|
+
};
|
|
687
|
+
export type postWorkflowIdRunsRidResetResponse500 = {
|
|
688
|
+
data: InternalServerErrorResponse;
|
|
689
|
+
status: 500;
|
|
690
|
+
};
|
|
691
|
+
export type postWorkflowIdRunsRidResetResponseSuccess = (postWorkflowIdRunsRidResetResponse200) & {
|
|
692
|
+
headers: Headers;
|
|
693
|
+
};
|
|
694
|
+
export type postWorkflowIdRunsRidResetResponseError = (postWorkflowIdRunsRidResetResponse400 | postWorkflowIdRunsRidResetResponse404 | postWorkflowIdRunsRidResetResponse409 | postWorkflowIdRunsRidResetResponse500) & {
|
|
695
|
+
headers: Headers;
|
|
696
|
+
};
|
|
697
|
+
export type postWorkflowIdRunsRidResetResponse = (postWorkflowIdRunsRidResetResponseSuccess | postWorkflowIdRunsRidResetResponseError);
|
|
698
|
+
export declare const getPostWorkflowIdRunsRidResetUrl: (id: string, rid: string) => string;
|
|
699
|
+
export declare const postWorkflowIdRunsRidReset: (id: string, rid: string, resetWorkflowRequest: ResetWorkflowRequest, options?: ApiRequestOptions) => Promise<postWorkflowIdRunsRidResetResponse>;
|
|
700
|
+
/**
|
|
701
|
+
* Resets the latest run. Deprecated; use `POST /workflow/{id}/runs/{rid}/reset` to target a specific run. Scheduled for removal after 2026-07-16.
|
|
702
|
+
* @deprecated
|
|
703
|
+
* @summary [Deprecated] Reset the latest workflow run
|
|
538
704
|
*/
|
|
539
705
|
export type postWorkflowIdResetResponse200 = {
|
|
540
|
-
data:
|
|
706
|
+
data: ResetWorkflowResponse;
|
|
541
707
|
status: 200;
|
|
542
708
|
};
|
|
543
709
|
export type postWorkflowIdResetResponse400 = {
|
|
@@ -549,7 +715,7 @@ export type postWorkflowIdResetResponse404 = {
|
|
|
549
715
|
status: 404;
|
|
550
716
|
};
|
|
551
717
|
export type postWorkflowIdResetResponse409 = {
|
|
552
|
-
data:
|
|
718
|
+
data: ConflictResponse;
|
|
553
719
|
status: 409;
|
|
554
720
|
};
|
|
555
721
|
export type postWorkflowIdResetResponse500 = {
|
|
@@ -564,12 +730,13 @@ export type postWorkflowIdResetResponseError = (postWorkflowIdResetResponse400 |
|
|
|
564
730
|
};
|
|
565
731
|
export type postWorkflowIdResetResponse = (postWorkflowIdResetResponseSuccess | postWorkflowIdResetResponseError);
|
|
566
732
|
export declare const getPostWorkflowIdResetUrl: (id: string) => string;
|
|
567
|
-
export declare const postWorkflowIdReset: (id: string,
|
|
733
|
+
export declare const postWorkflowIdReset: (id: string, resetWorkflowRequest: ResetWorkflowRequest, options?: ApiRequestOptions) => Promise<postWorkflowIdResetResponse>;
|
|
568
734
|
/**
|
|
569
|
-
*
|
|
735
|
+
* Returns the result of the latest run for the given workflow. To pin a specific run, use `/workflow/{id}/runs/{rid}/result`.
|
|
736
|
+
* @summary Return the result of a workflow (latest run)
|
|
570
737
|
*/
|
|
571
738
|
export type getWorkflowIdResultResponse200 = {
|
|
572
|
-
data:
|
|
739
|
+
data: WorkflowResultResponse;
|
|
573
740
|
status: 200;
|
|
574
741
|
};
|
|
575
742
|
export type getWorkflowIdResultResponse404 = {
|
|
@@ -594,8 +761,40 @@ export type getWorkflowIdResultResponse = (getWorkflowIdResultResponseSuccess |
|
|
|
594
761
|
export declare const getGetWorkflowIdResultUrl: (id: string) => string;
|
|
595
762
|
export declare const getWorkflowIdResult: (id: string, options?: ApiRequestOptions) => Promise<getWorkflowIdResultResponse>;
|
|
596
763
|
/**
|
|
597
|
-
*
|
|
598
|
-
|
|
764
|
+
* @summary Return the result of a specific workflow run
|
|
765
|
+
*/
|
|
766
|
+
export type getWorkflowIdRunsRidResultResponse200 = {
|
|
767
|
+
data: WorkflowResultResponse;
|
|
768
|
+
status: 200;
|
|
769
|
+
};
|
|
770
|
+
export type getWorkflowIdRunsRidResultResponse400 = {
|
|
771
|
+
data: BadRequestResponse;
|
|
772
|
+
status: 400;
|
|
773
|
+
};
|
|
774
|
+
export type getWorkflowIdRunsRidResultResponse404 = {
|
|
775
|
+
data: NotFoundResponse;
|
|
776
|
+
status: 404;
|
|
777
|
+
};
|
|
778
|
+
export type getWorkflowIdRunsRidResultResponse424 = {
|
|
779
|
+
data: FailedDependencyResponse;
|
|
780
|
+
status: 424;
|
|
781
|
+
};
|
|
782
|
+
export type getWorkflowIdRunsRidResultResponse500 = {
|
|
783
|
+
data: InternalServerErrorResponse;
|
|
784
|
+
status: 500;
|
|
785
|
+
};
|
|
786
|
+
export type getWorkflowIdRunsRidResultResponseSuccess = (getWorkflowIdRunsRidResultResponse200) & {
|
|
787
|
+
headers: Headers;
|
|
788
|
+
};
|
|
789
|
+
export type getWorkflowIdRunsRidResultResponseError = (getWorkflowIdRunsRidResultResponse400 | getWorkflowIdRunsRidResultResponse404 | getWorkflowIdRunsRidResultResponse424 | getWorkflowIdRunsRidResultResponse500) & {
|
|
790
|
+
headers: Headers;
|
|
791
|
+
};
|
|
792
|
+
export type getWorkflowIdRunsRidResultResponse = (getWorkflowIdRunsRidResultResponseSuccess | getWorkflowIdRunsRidResultResponseError);
|
|
793
|
+
export declare const getGetWorkflowIdRunsRidResultUrl: (id: string, rid: string) => string;
|
|
794
|
+
export declare const getWorkflowIdRunsRidResult: (id: string, rid: string, options?: ApiRequestOptions) => Promise<getWorkflowIdRunsRidResultResponse>;
|
|
795
|
+
/**
|
|
796
|
+
* Returns trace data for the latest run of the given workflow. If trace is stored remotely (S3), fetches and returns the data inline. If trace is local only, returns the local path. To pin a specific run, use `/workflow/{id}/runs/{rid}/trace-log`.
|
|
797
|
+
* @summary Get workflow trace log data (latest run)
|
|
599
798
|
*/
|
|
600
799
|
export type getWorkflowIdTraceLogResponse200 = {
|
|
601
800
|
data: TraceLogRemoteResponse | TraceLogLocalResponse;
|
|
@@ -622,6 +821,39 @@ export type getWorkflowIdTraceLogResponseError = (getWorkflowIdTraceLogResponse4
|
|
|
622
821
|
export type getWorkflowIdTraceLogResponse = (getWorkflowIdTraceLogResponseSuccess | getWorkflowIdTraceLogResponseError);
|
|
623
822
|
export declare const getGetWorkflowIdTraceLogUrl: (id: string) => string;
|
|
624
823
|
export declare const getWorkflowIdTraceLog: (id: string, options?: ApiRequestOptions) => Promise<getWorkflowIdTraceLogResponse>;
|
|
824
|
+
/**
|
|
825
|
+
* Returns trace data for a pinned workflow run. If trace is stored remotely (S3), fetches and returns the data inline. If trace is local only, returns the local path.
|
|
826
|
+
* @summary Get workflow trace log data for a specific run
|
|
827
|
+
*/
|
|
828
|
+
export type getWorkflowIdRunsRidTraceLogResponse200 = {
|
|
829
|
+
data: TraceLogRemoteResponse | TraceLogLocalResponse;
|
|
830
|
+
status: 200;
|
|
831
|
+
};
|
|
832
|
+
export type getWorkflowIdRunsRidTraceLogResponse400 = {
|
|
833
|
+
data: BadRequestResponse;
|
|
834
|
+
status: 400;
|
|
835
|
+
};
|
|
836
|
+
export type getWorkflowIdRunsRidTraceLogResponse404 = {
|
|
837
|
+
data: NotFoundResponse;
|
|
838
|
+
status: 404;
|
|
839
|
+
};
|
|
840
|
+
export type getWorkflowIdRunsRidTraceLogResponse424 = {
|
|
841
|
+
data: FailedDependencyResponse;
|
|
842
|
+
status: 424;
|
|
843
|
+
};
|
|
844
|
+
export type getWorkflowIdRunsRidTraceLogResponse500 = {
|
|
845
|
+
data: InternalServerErrorResponse;
|
|
846
|
+
status: 500;
|
|
847
|
+
};
|
|
848
|
+
export type getWorkflowIdRunsRidTraceLogResponseSuccess = (getWorkflowIdRunsRidTraceLogResponse200) & {
|
|
849
|
+
headers: Headers;
|
|
850
|
+
};
|
|
851
|
+
export type getWorkflowIdRunsRidTraceLogResponseError = (getWorkflowIdRunsRidTraceLogResponse400 | getWorkflowIdRunsRidTraceLogResponse404 | getWorkflowIdRunsRidTraceLogResponse424 | getWorkflowIdRunsRidTraceLogResponse500) & {
|
|
852
|
+
headers: Headers;
|
|
853
|
+
};
|
|
854
|
+
export type getWorkflowIdRunsRidTraceLogResponse = (getWorkflowIdRunsRidTraceLogResponseSuccess | getWorkflowIdRunsRidTraceLogResponseError);
|
|
855
|
+
export declare const getGetWorkflowIdRunsRidTraceLogUrl: (id: string, rid: string) => string;
|
|
856
|
+
export declare const getWorkflowIdRunsRidTraceLog: (id: string, rid: string, options?: ApiRequestOptions) => Promise<getWorkflowIdRunsRidTraceLogResponse>;
|
|
625
857
|
/**
|
|
626
858
|
* @summary Get a specific workflow catalog by ID
|
|
627
859
|
*/
|
|
@@ -696,6 +928,7 @@ export type getWorkflowRunsResponse = (getWorkflowRunsResponseSuccess | getWorkf
|
|
|
696
928
|
export declare const getGetWorkflowRunsUrl: (params?: GetWorkflowRunsParams) => string;
|
|
697
929
|
export declare const getWorkflowRuns: (params?: GetWorkflowRunsParams, options?: ApiRequestOptions) => Promise<getWorkflowRunsResponse>;
|
|
698
930
|
/**
|
|
931
|
+
* Always targets the latest run; `runId` cannot be pinned for Temporal signal operations.
|
|
699
932
|
* @summary Send feedback to a workflow
|
|
700
933
|
*/
|
|
701
934
|
export type postWorkflowIdFeedbackResponse200 = {
|
|
@@ -724,6 +957,7 @@ export type postWorkflowIdFeedbackResponse = (postWorkflowIdFeedbackResponseSucc
|
|
|
724
957
|
export declare const getPostWorkflowIdFeedbackUrl: (id: string) => string;
|
|
725
958
|
export declare const postWorkflowIdFeedback: (id: string, postWorkflowIdFeedbackBody: PostWorkflowIdFeedbackBody, options?: ApiRequestOptions) => Promise<postWorkflowIdFeedbackResponse>;
|
|
726
959
|
/**
|
|
960
|
+
* Always targets the latest run; `runId` cannot be pinned for Temporal signal operations.
|
|
727
961
|
* @summary Send a signal to an workflow
|
|
728
962
|
*/
|
|
729
963
|
export type postWorkflowIdSignalSignalResponse200 = {
|
|
@@ -752,6 +986,7 @@ export type postWorkflowIdSignalSignalResponse = (postWorkflowIdSignalSignalResp
|
|
|
752
986
|
export declare const getPostWorkflowIdSignalSignalUrl: (id: string, signal: string) => string;
|
|
753
987
|
export declare const postWorkflowIdSignalSignal: (id: string, signal: string, postWorkflowIdSignalSignalBody: PostWorkflowIdSignalSignalBody, options?: ApiRequestOptions) => Promise<postWorkflowIdSignalSignalResponse>;
|
|
754
988
|
/**
|
|
989
|
+
* Always targets the latest run; `runId` cannot be pinned for Temporal query operations.
|
|
755
990
|
* @summary Send a query to an workflow
|
|
756
991
|
*/
|
|
757
992
|
export type postWorkflowIdQueryQueryResponse200 = {
|
|
@@ -780,6 +1015,7 @@ export type postWorkflowIdQueryQueryResponse = (postWorkflowIdQueryQueryResponse
|
|
|
780
1015
|
export declare const getPostWorkflowIdQueryQueryUrl: (id: string, query: string) => string;
|
|
781
1016
|
export declare const postWorkflowIdQueryQuery: (id: string, query: string, postWorkflowIdQueryQueryBody: PostWorkflowIdQueryQueryBody, options?: ApiRequestOptions) => Promise<postWorkflowIdQueryQueryResponse>;
|
|
782
1017
|
/**
|
|
1018
|
+
* Always targets the latest run; `runId` cannot be pinned for Temporal update operations.
|
|
783
1019
|
* @summary Execute an update on an workflow
|
|
784
1020
|
*/
|
|
785
1021
|
export type postWorkflowIdUpdateUpdateResponse200 = {
|
|
@@ -24,11 +24,7 @@ export const WorkflowRunInfoStatus = {
|
|
|
24
24
|
timed_out: 'timed_out',
|
|
25
25
|
continued: 'continued',
|
|
26
26
|
};
|
|
27
|
-
export const
|
|
28
|
-
completed: 'completed',
|
|
29
|
-
failed: 'failed',
|
|
30
|
-
};
|
|
31
|
-
export const GetWorkflowIdStatus200Status = {
|
|
27
|
+
export const WorkflowStatusResponseStatus = {
|
|
32
28
|
canceled: 'canceled',
|
|
33
29
|
completed: 'completed',
|
|
34
30
|
continued_as_new: 'continued_as_new',
|
|
@@ -38,7 +34,7 @@ export const GetWorkflowIdStatus200Status = {
|
|
|
38
34
|
timed_out: 'timed_out',
|
|
39
35
|
unspecified: 'unspecified',
|
|
40
36
|
};
|
|
41
|
-
export const
|
|
37
|
+
export const WorkflowResultResponseStatus = {
|
|
42
38
|
completed: 'completed',
|
|
43
39
|
failed: 'failed',
|
|
44
40
|
canceled: 'canceled',
|
|
@@ -46,6 +42,10 @@ export const GetWorkflowIdResult200Status = {
|
|
|
46
42
|
timed_out: 'timed_out',
|
|
47
43
|
continued: 'continued',
|
|
48
44
|
};
|
|
45
|
+
export const PostWorkflowRun200Status = {
|
|
46
|
+
completed: 'completed',
|
|
47
|
+
failed: 'failed',
|
|
48
|
+
};
|
|
49
49
|
;
|
|
50
50
|
export const getGetHealthUrl = () => {
|
|
51
51
|
return `/health`;
|
|
@@ -87,6 +87,24 @@ export const getWorkflowIdStatus = async (id, options) => {
|
|
|
87
87
|
method: 'GET'
|
|
88
88
|
});
|
|
89
89
|
};
|
|
90
|
+
export const getGetWorkflowIdRunsRidStatusUrl = (id, rid) => {
|
|
91
|
+
return `/workflow/${id}/runs/${rid}/status`;
|
|
92
|
+
};
|
|
93
|
+
export const getWorkflowIdRunsRidStatus = async (id, rid, options) => {
|
|
94
|
+
return customFetchInstance(getGetWorkflowIdRunsRidStatusUrl(id, rid), {
|
|
95
|
+
...options,
|
|
96
|
+
method: 'GET'
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
export const getPatchWorkflowIdRunsRidStopUrl = (id, rid) => {
|
|
100
|
+
return `/workflow/${id}/runs/${rid}/stop`;
|
|
101
|
+
};
|
|
102
|
+
export const patchWorkflowIdRunsRidStop = async (id, rid, options) => {
|
|
103
|
+
return customFetchInstance(getPatchWorkflowIdRunsRidStopUrl(id, rid), {
|
|
104
|
+
...options,
|
|
105
|
+
method: 'PATCH'
|
|
106
|
+
});
|
|
107
|
+
};
|
|
90
108
|
export const getPatchWorkflowIdStopUrl = (id) => {
|
|
91
109
|
return `/workflow/${id}/stop`;
|
|
92
110
|
};
|
|
@@ -96,6 +114,17 @@ export const patchWorkflowIdStop = async (id, options) => {
|
|
|
96
114
|
method: 'PATCH'
|
|
97
115
|
});
|
|
98
116
|
};
|
|
117
|
+
export const getPostWorkflowIdRunsRidTerminateUrl = (id, rid) => {
|
|
118
|
+
return `/workflow/${id}/runs/${rid}/terminate`;
|
|
119
|
+
};
|
|
120
|
+
export const postWorkflowIdRunsRidTerminate = async (id, rid, postWorkflowIdRunsRidTerminateBody, options) => {
|
|
121
|
+
return customFetchInstance(getPostWorkflowIdRunsRidTerminateUrl(id, rid), {
|
|
122
|
+
...options,
|
|
123
|
+
method: 'POST',
|
|
124
|
+
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
125
|
+
body: JSON.stringify(postWorkflowIdRunsRidTerminateBody)
|
|
126
|
+
});
|
|
127
|
+
};
|
|
99
128
|
export const getPostWorkflowIdTerminateUrl = (id) => {
|
|
100
129
|
return `/workflow/${id}/terminate`;
|
|
101
130
|
};
|
|
@@ -107,15 +136,26 @@ export const postWorkflowIdTerminate = async (id, postWorkflowIdTerminateBody, o
|
|
|
107
136
|
body: JSON.stringify(postWorkflowIdTerminateBody)
|
|
108
137
|
});
|
|
109
138
|
};
|
|
139
|
+
export const getPostWorkflowIdRunsRidResetUrl = (id, rid) => {
|
|
140
|
+
return `/workflow/${id}/runs/${rid}/reset`;
|
|
141
|
+
};
|
|
142
|
+
export const postWorkflowIdRunsRidReset = async (id, rid, resetWorkflowRequest, options) => {
|
|
143
|
+
return customFetchInstance(getPostWorkflowIdRunsRidResetUrl(id, rid), {
|
|
144
|
+
...options,
|
|
145
|
+
method: 'POST',
|
|
146
|
+
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
147
|
+
body: JSON.stringify(resetWorkflowRequest)
|
|
148
|
+
});
|
|
149
|
+
};
|
|
110
150
|
export const getPostWorkflowIdResetUrl = (id) => {
|
|
111
151
|
return `/workflow/${id}/reset`;
|
|
112
152
|
};
|
|
113
|
-
export const postWorkflowIdReset = async (id,
|
|
153
|
+
export const postWorkflowIdReset = async (id, resetWorkflowRequest, options) => {
|
|
114
154
|
return customFetchInstance(getPostWorkflowIdResetUrl(id), {
|
|
115
155
|
...options,
|
|
116
156
|
method: 'POST',
|
|
117
157
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
118
|
-
body: JSON.stringify(
|
|
158
|
+
body: JSON.stringify(resetWorkflowRequest)
|
|
119
159
|
});
|
|
120
160
|
};
|
|
121
161
|
export const getGetWorkflowIdResultUrl = (id) => {
|
|
@@ -127,6 +167,15 @@ export const getWorkflowIdResult = async (id, options) => {
|
|
|
127
167
|
method: 'GET'
|
|
128
168
|
});
|
|
129
169
|
};
|
|
170
|
+
export const getGetWorkflowIdRunsRidResultUrl = (id, rid) => {
|
|
171
|
+
return `/workflow/${id}/runs/${rid}/result`;
|
|
172
|
+
};
|
|
173
|
+
export const getWorkflowIdRunsRidResult = async (id, rid, options) => {
|
|
174
|
+
return customFetchInstance(getGetWorkflowIdRunsRidResultUrl(id, rid), {
|
|
175
|
+
...options,
|
|
176
|
+
method: 'GET'
|
|
177
|
+
});
|
|
178
|
+
};
|
|
130
179
|
export const getGetWorkflowIdTraceLogUrl = (id) => {
|
|
131
180
|
return `/workflow/${id}/trace-log`;
|
|
132
181
|
};
|
|
@@ -136,6 +185,15 @@ export const getWorkflowIdTraceLog = async (id, options) => {
|
|
|
136
185
|
method: 'GET'
|
|
137
186
|
});
|
|
138
187
|
};
|
|
188
|
+
export const getGetWorkflowIdRunsRidTraceLogUrl = (id, rid) => {
|
|
189
|
+
return `/workflow/${id}/runs/${rid}/trace-log`;
|
|
190
|
+
};
|
|
191
|
+
export const getWorkflowIdRunsRidTraceLog = async (id, rid, options) => {
|
|
192
|
+
return customFetchInstance(getGetWorkflowIdRunsRidTraceLogUrl(id, rid), {
|
|
193
|
+
...options,
|
|
194
|
+
method: 'GET'
|
|
195
|
+
});
|
|
196
|
+
};
|
|
139
197
|
export const getGetWorkflowCatalogIdUrl = (id) => {
|
|
140
198
|
return `/workflow/catalog/${id}`;
|
|
141
199
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
type WorkflowResult = Pick<
|
|
3
|
-
export declare const ERROR_STATUSES: ReadonlySet<
|
|
1
|
+
import type { WorkflowResultResponse, WorkflowResultResponseStatus } from '../api/generated/api.js';
|
|
2
|
+
type WorkflowResult = Pick<WorkflowResultResponse, 'workflowId' | 'output' | 'status' | 'error'>;
|
|
3
|
+
export declare const ERROR_STATUSES: ReadonlySet<WorkflowResultResponseStatus | undefined>;
|
|
4
4
|
export declare function formatWorkflowResult(result: WorkflowResult): string;
|
|
5
5
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outputai/cli",
|
|
3
|
-
"version": "0.1.13-next.
|
|
3
|
+
"version": "0.1.13-next.6dd611e.0",
|
|
4
4
|
"description": "CLI for Output.ai workflow generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"react": "19.2.4",
|
|
36
36
|
"semver": "7.7.4",
|
|
37
37
|
"yaml": "^2.8.3",
|
|
38
|
-
"@outputai/credentials": "0.1.13-next.
|
|
39
|
-
"@outputai/llm": "0.1.13-next.
|
|
40
|
-
"@outputai/evals": "0.1.13-next.
|
|
38
|
+
"@outputai/credentials": "0.1.13-next.6dd611e.0",
|
|
39
|
+
"@outputai/llm": "0.1.13-next.6dd611e.0",
|
|
40
|
+
"@outputai/evals": "0.1.13-next.6dd611e.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/cli-progress": "3.11.6",
|