@aicopycoders/exodus 2026.7.200-beta.9 → 2026.8.1100
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/README.md +51 -0
- package/assets/docs/CLAUDE.md +2 -0
- package/assets/docs/PIPELINES.md +26 -0
- package/assets/skills/exodus/SKILL.md +5 -2
- package/assets/skills/exodus-meme/SKILL.md +44 -28
- package/assets/skills/exodus-winners/SKILL.md +29 -20
- package/assets/skills/exodus-workflow/SKILL.md +464 -63
- package/dist/bin/exodus.js +3 -0
- package/dist/commands/bank.d.ts +88 -0
- package/dist/commands/bank.js +346 -0
- package/dist/commands/browse.js +2 -1
- package/dist/commands/creative.js +2 -2
- package/dist/commands/genesis.js +16 -4
- package/dist/commands/keys.js +1 -0
- package/dist/commands/meme.js +9 -6
- package/dist/commands/primer.js +2 -1
- package/dist/commands/session.d.ts +55 -0
- package/dist/commands/session.js +202 -0
- package/dist/commands/status.js +4 -4
- package/dist/commands/swipe.js +4 -4
- package/dist/commands/template.js +2 -2
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.js +20 -0
- package/dist/commands/winners.js +13 -3
- package/dist/commands/workflow.d.ts +293 -8
- package/dist/commands/workflow.js +2396 -90
- package/dist/lib/client.d.ts +8 -1
- package/dist/lib/client.js +30 -6
- package/dist/lib/format.d.ts +7 -0
- package/dist/lib/format.js +52 -5
- package/dist/lib/intel-format.js +2 -1
- package/dist/lib/keys-sync.js +1 -0
- package/dist/lib/poll.js +7 -4
- package/dist/lib/route-support.d.ts +4 -0
- package/dist/lib/route-support.js +22 -0
- package/dist/lib/runStatus.d.ts +22 -0
- package/dist/lib/runStatus.js +139 -0
- package/dist/lib/workflowText.d.ts +3 -0
- package/dist/lib/workflowText.js +113 -0
- package/package.json +5 -2
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import { type ApiResponse } from "../lib/client.js";
|
|
2
2
|
import { type PollOptions, type PollResult } from "../lib/poll.js";
|
|
3
|
+
import { LEGACY_WORKFLOW_RUN_STATUS_VALUES, type RunStatus } from "../lib/runStatus.js";
|
|
4
|
+
import { type Channel } from "../lib/channel.js";
|
|
3
5
|
export declare const helpText: string;
|
|
4
|
-
export type WorkflowNodeKind = "brief" | "bot" | "primer" | "image" | "rig" | "storyboard" | "reference" | "scene-frames" | "video" | "voiceover" | "output";
|
|
6
|
+
export type WorkflowNodeKind = "brief" | "brief-form" | "asset" | "bot" | "primer" | "image" | "image-rig" | "rig" | "storyboard" | "reference" | "scene-frames" | "video" | "voiceover" | "output" | "call" | "show-set" | "show-cast" | "show-voices" | "product-truth" | "transform" | "formatter" | "splitter" | "collector" | "checkpoint" | "prompt";
|
|
7
|
+
export type WorkflowSlotState = "locked" | "auto" | "ask" | "inferred";
|
|
8
|
+
export interface WorkflowSlot {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
state: WorkflowSlotState;
|
|
12
|
+
nodeId: string;
|
|
13
|
+
configKey: string;
|
|
14
|
+
value?: string;
|
|
15
|
+
hint?: string;
|
|
16
|
+
}
|
|
5
17
|
export interface WorkflowNode {
|
|
6
18
|
id: string;
|
|
7
19
|
kind: WorkflowNodeKind;
|
|
@@ -18,6 +30,16 @@ export interface WorkflowEdge {
|
|
|
18
30
|
target: string;
|
|
19
31
|
targetHandle: string;
|
|
20
32
|
}
|
|
33
|
+
export type WorkflowTriggerEvent = "winner-promoted";
|
|
34
|
+
export type WorkflowTrigger = {
|
|
35
|
+
type: "event";
|
|
36
|
+
event: WorkflowTriggerEvent;
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
} | {
|
|
39
|
+
type: "cron";
|
|
40
|
+
cron: string;
|
|
41
|
+
enabled: boolean;
|
|
42
|
+
};
|
|
21
43
|
export interface WorkflowContractJson {
|
|
22
44
|
contract: "exodus-workflow";
|
|
23
45
|
version: number;
|
|
@@ -25,6 +47,8 @@ export interface WorkflowContractJson {
|
|
|
25
47
|
updatedAt?: string;
|
|
26
48
|
name: string;
|
|
27
49
|
description?: string;
|
|
50
|
+
slots?: WorkflowSlot[];
|
|
51
|
+
triggers?: WorkflowTrigger[];
|
|
28
52
|
nodes: WorkflowNode[];
|
|
29
53
|
edges: WorkflowEdge[];
|
|
30
54
|
}
|
|
@@ -40,10 +64,11 @@ export interface WorkflowImportResult {
|
|
|
40
64
|
workflowId?: string;
|
|
41
65
|
nodeCount: number;
|
|
42
66
|
edgeCount: number;
|
|
67
|
+
triggers?: WorkflowTrigger[];
|
|
43
68
|
unresolved: UnresolvedWorkflowRef[];
|
|
44
69
|
warnings: string[];
|
|
45
70
|
}
|
|
46
|
-
export type GraphIssueCode = "bad-shape" | "unknown-kind" | "duplicate-node-id" | "dangling-edge" | "unknown-port" | "type-mismatch" | "duplicate-input" | "cycle" | "missing-required-input" | "bad-config";
|
|
71
|
+
export type GraphIssueCode = "bad-shape" | "unknown-kind" | "duplicate-node-id" | "dangling-edge" | "unknown-port" | "type-mismatch" | "duplicate-input" | "duplicate-input-key" | "cycle" | "missing-required-input" | "bad-config" | "bad-slot" | "bad-trigger" | "nested-split" | "fan-overlap" | "lane-ineligible" | "fan-image-budget" | "collector-unpaired" | "splitter-field-conflict";
|
|
47
72
|
export interface GraphIssue {
|
|
48
73
|
code: GraphIssueCode;
|
|
49
74
|
message: string;
|
|
@@ -59,7 +84,7 @@ export interface WorkflowImportError {
|
|
|
59
84
|
issues?: GraphIssue[];
|
|
60
85
|
currentUpdatedAt?: string;
|
|
61
86
|
}
|
|
62
|
-
export type WorkflowPortType = "text" | "primer" | "image" | "rig" | "storyboard" | "frames" | "video" | "audio";
|
|
87
|
+
export type WorkflowPortType = "text" | "primer" | "image" | "rig" | "storyboard" | "frames" | "video" | "audio" | "document" | "show" | "session";
|
|
63
88
|
export type WorkflowPrimerKind = "body" | "hook" | "headline" | "summary";
|
|
64
89
|
export type WorkflowDurationSpec = {
|
|
65
90
|
kind: "fixed";
|
|
@@ -74,6 +99,8 @@ export interface CatalogVideoModel {
|
|
|
74
99
|
label: string;
|
|
75
100
|
durations: WorkflowDurationSpec;
|
|
76
101
|
audioTogglable: boolean;
|
|
102
|
+
aspectRatios: string[];
|
|
103
|
+
resolutions: string[];
|
|
77
104
|
}
|
|
78
105
|
export type WorkflowParamKind = "select" | "text" | "textarea" | "toggle" | "number" | "multiselect";
|
|
79
106
|
export interface CatalogInput {
|
|
@@ -104,7 +131,6 @@ export interface CatalogBot {
|
|
|
104
131
|
inputs: CatalogInput[];
|
|
105
132
|
params: CatalogParam[];
|
|
106
133
|
outputType: string;
|
|
107
|
-
splitsOutput: boolean;
|
|
108
134
|
}
|
|
109
135
|
export interface WorkflowCatalog {
|
|
110
136
|
catalog: "exodus-workflow-catalog";
|
|
@@ -130,25 +156,47 @@ export interface WorkflowCatalog {
|
|
|
130
156
|
summaryOnlySlugs: string[];
|
|
131
157
|
notes: string;
|
|
132
158
|
};
|
|
159
|
+
promptBot: {
|
|
160
|
+
slug: "prompt";
|
|
161
|
+
configKey: "promptText";
|
|
162
|
+
inputs: CatalogInput[];
|
|
163
|
+
notes: string;
|
|
164
|
+
};
|
|
133
165
|
}
|
|
134
166
|
export type WorkflowBriefSource = "text" | "swipe-ad" | "swipe-bundle" | "organic-url" | "ad-url";
|
|
167
|
+
export type WorkflowMediaType = "image" | "video" | "audio" | "document";
|
|
168
|
+
export type WorkflowEntryFieldType = "text" | "select" | "number" | "toggle" | "multi-select";
|
|
135
169
|
export interface WorkflowInputDescriptor {
|
|
136
170
|
fieldName: string;
|
|
137
171
|
nodeId: string;
|
|
138
|
-
|
|
172
|
+
label?: string;
|
|
173
|
+
source: WorkflowBriefSource | "asset";
|
|
139
174
|
required: boolean;
|
|
140
175
|
description?: string;
|
|
176
|
+
type?: WorkflowEntryFieldType;
|
|
177
|
+
options?: string[];
|
|
178
|
+
allowOther?: boolean;
|
|
179
|
+
optionsSource?: string;
|
|
141
180
|
bundleSize?: number;
|
|
181
|
+
assetType?: WorkflowMediaType;
|
|
142
182
|
}
|
|
143
183
|
export interface WorkflowPrerequisiteDescriptor {
|
|
144
184
|
primerKind: WorkflowPrimerKind;
|
|
145
185
|
nodeIds: string[];
|
|
146
186
|
}
|
|
147
187
|
export interface WorkflowOutputDescriptor {
|
|
148
|
-
type: "text" | "image" | "video" | "audio" | "frames" | "storyboard";
|
|
188
|
+
type: "text" | "image" | "video" | "audio" | "document" | "frames" | "storyboard";
|
|
149
189
|
label: string;
|
|
150
190
|
nodeId: string;
|
|
151
191
|
botSlug?: string;
|
|
192
|
+
port?: string;
|
|
193
|
+
}
|
|
194
|
+
export interface WorkflowDeliveryDescriptor {
|
|
195
|
+
key: string;
|
|
196
|
+
label: string;
|
|
197
|
+
type: WorkflowOutputSlotType;
|
|
198
|
+
description?: string;
|
|
199
|
+
order: number;
|
|
152
200
|
}
|
|
153
201
|
export interface WorkflowDescribeResponse {
|
|
154
202
|
workflowId: string;
|
|
@@ -160,6 +208,16 @@ export interface WorkflowDescribeResponse {
|
|
|
160
208
|
stored: boolean;
|
|
161
209
|
}>;
|
|
162
210
|
outputs: WorkflowOutputDescriptor[];
|
|
211
|
+
deliveries?: WorkflowDeliveryDescriptor[];
|
|
212
|
+
}
|
|
213
|
+
export interface WorkflowTemplateListItem {
|
|
214
|
+
key: string;
|
|
215
|
+
label: string;
|
|
216
|
+
description: string;
|
|
217
|
+
module?: string;
|
|
218
|
+
}
|
|
219
|
+
export interface WorkflowTemplatesResponse {
|
|
220
|
+
templates: WorkflowTemplateListItem[];
|
|
163
221
|
}
|
|
164
222
|
export interface WorkflowListItem {
|
|
165
223
|
_id: string;
|
|
@@ -175,25 +233,49 @@ export interface WorkflowListItem {
|
|
|
175
233
|
export interface WorkflowListResponse {
|
|
176
234
|
workflows: WorkflowListItem[];
|
|
177
235
|
}
|
|
178
|
-
export
|
|
236
|
+
export interface WorkflowVersion {
|
|
237
|
+
version: number;
|
|
238
|
+
name: string;
|
|
239
|
+
savedAt: string;
|
|
240
|
+
savedByName?: string;
|
|
241
|
+
}
|
|
242
|
+
export interface WorkflowVersionsResponse {
|
|
243
|
+
versions: WorkflowVersion[];
|
|
244
|
+
}
|
|
245
|
+
export type WorkflowRunStatus = RunStatus | (typeof LEGACY_WORKFLOW_RUN_STATUS_VALUES)[number];
|
|
179
246
|
export type WorkflowNodeRunStatus = "idle" | "running" | "done" | "failed" | "skipped";
|
|
247
|
+
export interface ArtifactItemIdentity {
|
|
248
|
+
index: number;
|
|
249
|
+
total: number;
|
|
250
|
+
}
|
|
180
251
|
export type WorkflowArtifact = {
|
|
181
252
|
type: "text";
|
|
182
253
|
text: string;
|
|
183
254
|
label?: string;
|
|
255
|
+
port?: string;
|
|
256
|
+
humanEdited?: boolean;
|
|
257
|
+
item?: ArtifactItemIdentity;
|
|
184
258
|
} | {
|
|
185
259
|
type: "primer";
|
|
186
260
|
text: string;
|
|
187
261
|
primerKind: string;
|
|
262
|
+
item?: ArtifactItemIdentity;
|
|
188
263
|
} | {
|
|
189
264
|
type: "image";
|
|
190
265
|
storageId: string;
|
|
191
266
|
imageUrl?: string;
|
|
267
|
+
item?: ArtifactItemIdentity;
|
|
268
|
+
} | {
|
|
269
|
+
type: "session";
|
|
270
|
+
sessionId: string;
|
|
271
|
+
label?: string;
|
|
272
|
+
port?: string;
|
|
273
|
+
item?: ArtifactItemIdentity;
|
|
192
274
|
};
|
|
193
275
|
export interface WorkflowRunOutput {
|
|
194
276
|
nodeId: string;
|
|
195
277
|
botSlug?: string;
|
|
196
|
-
type: "text" | "image" | "video" | "audio" | "frames" | "storyboard";
|
|
278
|
+
type: "text" | "image" | "video" | "audio" | "document" | "frames" | "storyboard";
|
|
197
279
|
label: string;
|
|
198
280
|
text?: string;
|
|
199
281
|
imageUrl?: string;
|
|
@@ -208,10 +290,30 @@ export interface WorkflowRunOutput {
|
|
|
208
290
|
imageUrl?: string;
|
|
209
291
|
}>;
|
|
210
292
|
storyboardJson?: string;
|
|
293
|
+
documentUrl?: string;
|
|
294
|
+
filename?: string;
|
|
295
|
+
mimeType?: string;
|
|
296
|
+
humanEdited?: boolean;
|
|
297
|
+
originalText?: string;
|
|
298
|
+
originalImageUrl?: string;
|
|
299
|
+
originalVideoUrl?: string;
|
|
300
|
+
}
|
|
301
|
+
export type WorkflowOutputSlotType = "text" | "structured" | "asset" | "collection";
|
|
302
|
+
export interface WorkflowRunDelivery {
|
|
303
|
+
key: string;
|
|
304
|
+
label: string;
|
|
305
|
+
type: WorkflowOutputSlotType;
|
|
306
|
+
description?: string;
|
|
307
|
+
order: number;
|
|
308
|
+
nodeId: string;
|
|
309
|
+
status: "delivered" | "unfulfilled";
|
|
310
|
+
error?: string;
|
|
311
|
+
artifacts: WorkflowRunOutput[];
|
|
211
312
|
}
|
|
212
313
|
export interface WorkflowRunNode {
|
|
213
314
|
nodeId: string;
|
|
214
315
|
kind: string;
|
|
316
|
+
botSlug?: string;
|
|
215
317
|
status: WorkflowNodeRunStatus;
|
|
216
318
|
error?: string;
|
|
217
319
|
startedAt?: number;
|
|
@@ -224,6 +326,22 @@ export interface WorkflowCounts {
|
|
|
224
326
|
skipped: number;
|
|
225
327
|
total: number;
|
|
226
328
|
}
|
|
329
|
+
export interface WorkflowRunSession {
|
|
330
|
+
sessionId: string;
|
|
331
|
+
nodeId: string;
|
|
332
|
+
title: string;
|
|
333
|
+
botSlug: string;
|
|
334
|
+
}
|
|
335
|
+
export type WorkflowPauseReason = "taste" | "repair" | "slots" | "call" | "checkpoint";
|
|
336
|
+
export interface WorkflowPendingSlot {
|
|
337
|
+
id: string;
|
|
338
|
+
label?: string;
|
|
339
|
+
state?: string;
|
|
340
|
+
nodeId?: string;
|
|
341
|
+
configKey?: string;
|
|
342
|
+
value?: string;
|
|
343
|
+
hint?: string;
|
|
344
|
+
}
|
|
227
345
|
export interface WorkflowRun {
|
|
228
346
|
_id: string;
|
|
229
347
|
workflowId: string;
|
|
@@ -239,16 +357,42 @@ export interface WorkflowRun {
|
|
|
239
357
|
isTerminal: boolean;
|
|
240
358
|
nodes: WorkflowRunNode[];
|
|
241
359
|
outputs?: WorkflowRunOutput[];
|
|
360
|
+
deliveries?: WorkflowRunDelivery[];
|
|
361
|
+
sessions?: WorkflowRunSession[];
|
|
362
|
+
pauseReason?: WorkflowPauseReason;
|
|
363
|
+
pausedNodeId?: string;
|
|
364
|
+
pendingSlots?: WorkflowPendingSlot[];
|
|
365
|
+
autoApprovals?: {
|
|
366
|
+
nodeId: string;
|
|
367
|
+
approvedAt: number;
|
|
368
|
+
}[];
|
|
242
369
|
}
|
|
243
370
|
export type WorkflowRunProjection = Omit<WorkflowRun, "nodes"> & {
|
|
244
371
|
nodes?: never;
|
|
245
372
|
};
|
|
246
373
|
export interface WorkflowRunDeps {
|
|
247
374
|
get: (path: string) => Promise<ApiResponse<unknown>>;
|
|
375
|
+
getText: (path: string) => Promise<ApiResponse<string>>;
|
|
248
376
|
post: (path: string, body: unknown) => Promise<ApiResponse<unknown>>;
|
|
249
377
|
readFile: (path: string) => string;
|
|
250
378
|
writeFile: (path: string, text: string) => void;
|
|
251
379
|
poll: (opts: PollOptions) => Promise<PollResult>;
|
|
380
|
+
mkdirp?: (dir: string) => void;
|
|
381
|
+
downloadToFile?: (url: string, path: string) => Promise<void>;
|
|
382
|
+
postDashboard?: (path: string, body: unknown, opts?: {
|
|
383
|
+
timeoutMs?: number;
|
|
384
|
+
}) => Promise<ApiResponse<unknown>>;
|
|
385
|
+
dashboardUrl?: string;
|
|
386
|
+
statFile?: (filePath: string) => {
|
|
387
|
+
size: number;
|
|
388
|
+
} | null;
|
|
389
|
+
readFileBytes?: (filePath: string) => Uint8Array;
|
|
390
|
+
uploadBytes?: (uploadUrl: string, contentType: string, bytes: Uint8Array) => Promise<{
|
|
391
|
+
ok: boolean;
|
|
392
|
+
status: number;
|
|
393
|
+
storageId?: string;
|
|
394
|
+
body?: string;
|
|
395
|
+
}>;
|
|
252
396
|
}
|
|
253
397
|
export interface FlowResult {
|
|
254
398
|
code: number;
|
|
@@ -256,21 +400,53 @@ export interface FlowResult {
|
|
|
256
400
|
}
|
|
257
401
|
interface RunFlowOptions {
|
|
258
402
|
inputs: Record<string, string>;
|
|
403
|
+
terminalNodeIds?: string[];
|
|
404
|
+
fill?: string;
|
|
405
|
+
autoApprove?: boolean;
|
|
406
|
+
imageRigOverrides?: Record<string, unknown>;
|
|
259
407
|
wait: boolean;
|
|
260
408
|
json: boolean;
|
|
409
|
+
out?: string;
|
|
261
410
|
onProgressLine?: (line: string) => void;
|
|
411
|
+
onWarningLine?: (line: string) => void;
|
|
262
412
|
}
|
|
413
|
+
export declare function formatPauseNotice(pauseReason: WorkflowPauseReason | undefined, runId: string, dashboardUrl: string): string[];
|
|
414
|
+
export declare function parseRawInputFlags(args: string[]): Record<string, string>;
|
|
263
415
|
export declare function parseInputFlags(args: string[], readFile?: (path: string) => string): Record<string, string>;
|
|
416
|
+
export declare const ASSET_UPLOAD_POLICY: Record<WorkflowMediaType, {
|
|
417
|
+
mimeByExtension: Record<string, string>;
|
|
418
|
+
maxBytes: number;
|
|
419
|
+
accepts: string;
|
|
420
|
+
}>;
|
|
421
|
+
export declare const NO_DELIVERIES_WARNING: string;
|
|
422
|
+
export declare function noDeliveriesWarning(described: unknown): string | undefined;
|
|
423
|
+
export declare function serverWarningsToPrint(serverWarnings: unknown, alreadyPrinted: string[]): string[];
|
|
424
|
+
export declare function parseTerminalFlags(args: string[]): string[];
|
|
425
|
+
export declare function parseAutoApproveFlag(args: string[]): boolean;
|
|
426
|
+
export declare function parseRigOverridesFlag(args: string[], readFile?: (path: string) => string): Record<string, unknown> | undefined;
|
|
427
|
+
export declare function parseFillFlag(args: string[]): string | undefined;
|
|
264
428
|
export declare function formatWorkflowList(workflows: WorkflowListItem[]): string;
|
|
265
429
|
export declare function formatRecentRuns(runs: WorkflowRunProjection[]): string;
|
|
430
|
+
export declare function formatWorkflowVersions(versions: WorkflowVersion[]): string;
|
|
266
431
|
export declare function formatImportSummary(result: WorkflowImportResult, mode?: {
|
|
267
432
|
dryRun?: boolean;
|
|
268
433
|
update?: boolean;
|
|
434
|
+
validate?: boolean;
|
|
269
435
|
}): string;
|
|
270
436
|
export declare function formatWorkflowRun(run: WorkflowRun): string;
|
|
437
|
+
export interface DeliverySaveResult {
|
|
438
|
+
lines: string[];
|
|
439
|
+
paths: string[];
|
|
440
|
+
}
|
|
441
|
+
export declare function workflowFilenameSlug(name: string): string;
|
|
442
|
+
export declare function saveDeliveries(run: WorkflowRun, dir: string, deps: WorkflowRunDeps): Promise<DeliverySaveResult>;
|
|
443
|
+
export declare function deliveryTypeWord(type: string): string;
|
|
444
|
+
export declare function deliveryContractLines(deliveries: WorkflowDeliveryDescriptor[] | undefined): string[];
|
|
271
445
|
export declare function formatDescribe(res: WorkflowDescribeResponse): string;
|
|
272
446
|
export declare function formatBotsList(catalog: WorkflowCatalog, category?: string): string;
|
|
273
447
|
export declare function formatBotDetail(bot: CatalogBot): string;
|
|
448
|
+
export declare function formatTemplatesList(templates: WorkflowTemplateListItem[]): string;
|
|
449
|
+
export declare function formatSchema(payload: Record<string, unknown>): string;
|
|
274
450
|
export declare function resolveWorkflowId(ref: string, deps: WorkflowRunDeps): Promise<string>;
|
|
275
451
|
export declare function listFlow(json: boolean, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
276
452
|
export declare function describeFlow(workflowRef: string, opts: {
|
|
@@ -285,14 +461,123 @@ export declare function runFlow(workflowRef: string, opts: RunFlowOptions, deps:
|
|
|
285
461
|
export declare function statusFlow(opts: {
|
|
286
462
|
id?: string;
|
|
287
463
|
json: boolean;
|
|
464
|
+
out?: string;
|
|
288
465
|
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
289
466
|
export declare function exportFlow(workflowRef: string, opts: {
|
|
290
467
|
out?: string;
|
|
468
|
+
json?: boolean;
|
|
469
|
+
version?: number;
|
|
470
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
471
|
+
export declare function parseVersionFlag(flags: Record<string, string | boolean>): number | undefined;
|
|
472
|
+
export declare function versionsFlow(workflowRef: string, opts: {
|
|
473
|
+
json: boolean;
|
|
474
|
+
}, deps: WorkflowRunDeps, channel?: Channel): Promise<FlowResult>;
|
|
475
|
+
export declare function triggerExpect(t: WorkflowTrigger): {
|
|
476
|
+
type: string;
|
|
477
|
+
event?: string;
|
|
478
|
+
cron?: string;
|
|
479
|
+
};
|
|
480
|
+
export declare function formatTriggers(triggers: WorkflowTrigger[]): string;
|
|
481
|
+
export declare function triggersListFlow(workflowRef: string, opts: {
|
|
482
|
+
json: boolean;
|
|
483
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
484
|
+
export declare function triggersSetEnabledFlow(workflowRef: string, n: number, enabled: boolean, opts: {
|
|
485
|
+
json: boolean;
|
|
486
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
487
|
+
export declare function triggersFireFlow(workflowRef: string, opts: {
|
|
488
|
+
n?: number;
|
|
489
|
+
text?: string;
|
|
490
|
+
imageRigOverrides?: Record<string, unknown>;
|
|
491
|
+
wait: boolean;
|
|
492
|
+
json: boolean;
|
|
493
|
+
onProgressLine?: (line: string) => void;
|
|
291
494
|
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
292
495
|
export declare function importFlow(file: string, opts: {
|
|
293
496
|
dryRun: boolean;
|
|
294
497
|
json: boolean;
|
|
295
498
|
update?: string;
|
|
296
499
|
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
500
|
+
export declare function validateFlow(file: string, opts: {
|
|
501
|
+
json: boolean;
|
|
502
|
+
update?: string;
|
|
503
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
504
|
+
export declare function templatesListFlow(json: boolean, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
505
|
+
export declare function templatesExportFlow(key: string, opts: {
|
|
506
|
+
out?: string;
|
|
507
|
+
json?: boolean;
|
|
508
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
509
|
+
export declare function schemaFlow(opts: {
|
|
510
|
+
json: boolean;
|
|
511
|
+
kind?: string;
|
|
512
|
+
face?: string;
|
|
513
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
514
|
+
export interface WorkflowInboxRow {
|
|
515
|
+
_id: string;
|
|
516
|
+
workflowId: string;
|
|
517
|
+
workflowName: string;
|
|
518
|
+
pausedNodeId?: string;
|
|
519
|
+
pausedNodeKind?: string;
|
|
520
|
+
pauseReason?: "taste" | "repair" | "slots" | "checkpoint";
|
|
521
|
+
counts?: WorkflowCounts;
|
|
522
|
+
createdAt: number | string;
|
|
523
|
+
queuedAt?: number | string;
|
|
524
|
+
hasShow?: boolean;
|
|
525
|
+
invocationMode?: "live" | "background";
|
|
526
|
+
triggeredBy?: {
|
|
527
|
+
type: "event" | "cron";
|
|
528
|
+
event?: string;
|
|
529
|
+
};
|
|
530
|
+
pendingSlotsCount?: number;
|
|
531
|
+
}
|
|
532
|
+
export interface WorkflowInboxResponse {
|
|
533
|
+
runs: WorkflowInboxRow[];
|
|
534
|
+
}
|
|
535
|
+
export declare function formatAge(value: number | string | undefined, now?: number): string;
|
|
536
|
+
export declare function parkBadge(pauseReason: string | undefined): string;
|
|
537
|
+
export declare function invocationBadge(row: WorkflowInboxRow): string;
|
|
538
|
+
export declare function formatInbox(rows: WorkflowInboxRow[], now?: number): string;
|
|
539
|
+
export declare function inboxFlow(json: boolean, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
540
|
+
export declare function checkpointShowFlow(runId: string, opts: {
|
|
541
|
+
json: boolean;
|
|
542
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
543
|
+
export declare function parseRejectItems(raw: string | undefined): {
|
|
544
|
+
ok: true;
|
|
545
|
+
items: number[];
|
|
546
|
+
} | {
|
|
547
|
+
ok: false;
|
|
548
|
+
message: string;
|
|
549
|
+
};
|
|
550
|
+
export declare function checkpointApproveFlow(runId: string, opts: {
|
|
551
|
+
wait: boolean;
|
|
552
|
+
json: boolean;
|
|
553
|
+
onProgressLine?: (line: string) => void;
|
|
554
|
+
reject?: string;
|
|
555
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
556
|
+
export declare function checkpointEditFlow(runId: string, n: number, sources: {
|
|
557
|
+
text?: string;
|
|
558
|
+
file?: string;
|
|
559
|
+
stdin?: string;
|
|
560
|
+
}, opts: {
|
|
561
|
+
json: boolean;
|
|
562
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
563
|
+
export declare function checkpointRetryFlow(runId: string, opts: {
|
|
564
|
+
wait: boolean;
|
|
565
|
+
json: boolean;
|
|
566
|
+
note?: string;
|
|
567
|
+
onProgressLine?: (line: string) => void;
|
|
568
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
569
|
+
export declare function checkpointCancelFlow(runId: string, opts: {
|
|
570
|
+
reason?: string;
|
|
571
|
+
json: boolean;
|
|
572
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
573
|
+
export declare function repairFlow(runId: string, action: "retry" | "skip" | "kill", opts: {
|
|
574
|
+
wait: boolean;
|
|
575
|
+
json: boolean;
|
|
576
|
+
onProgressLine?: (line: string) => void;
|
|
577
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
578
|
+
export declare function parseSlotFlags(args: string[]): Record<string, string>;
|
|
579
|
+
export declare function answerFlow(runId: string, values: Record<string, string>, opts: {
|
|
580
|
+
json: boolean;
|
|
581
|
+
}, deps: WorkflowRunDeps): Promise<FlowResult>;
|
|
297
582
|
export declare function run(flags: Record<string, string | boolean>): Promise<void>;
|
|
298
583
|
export {};
|