@vertesia/cli 0.24.0-dev.202601221707
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/LICENSE +21 -0
- package/README.md +34 -0
- package/bin/app.js +3 -0
- package/bin/docker-credential-vertesia.js +3 -0
- package/lib/apps/commands.d.ts +11 -0
- package/lib/apps/commands.d.ts.map +1 -0
- package/lib/apps/commands.js +246 -0
- package/lib/apps/commands.js.map +1 -0
- package/lib/apps/index.d.ts +3 -0
- package/lib/apps/index.d.ts.map +1 -0
- package/lib/apps/index.js +104 -0
- package/lib/apps/index.js.map +1 -0
- package/lib/artifacts/commands.d.ts +6 -0
- package/lib/artifacts/commands.d.ts.map +1 -0
- package/lib/artifacts/commands.js +75 -0
- package/lib/artifacts/commands.js.map +1 -0
- package/lib/artifacts/index.d.ts +3 -0
- package/lib/artifacts/index.d.ts.map +1 -0
- package/lib/artifacts/index.js +33 -0
- package/lib/artifacts/index.js.map +1 -0
- package/lib/client.d.ts +12 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +44 -0
- package/lib/client.js.map +1 -0
- package/lib/codegen/CodeBuilder.d.ts +16 -0
- package/lib/codegen/CodeBuilder.d.ts.map +1 -0
- package/lib/codegen/CodeBuilder.js +115 -0
- package/lib/codegen/CodeBuilder.js.map +1 -0
- package/lib/codegen/InteractionVersion.d.ts +29 -0
- package/lib/codegen/InteractionVersion.d.ts.map +1 -0
- package/lib/codegen/InteractionVersion.js +94 -0
- package/lib/codegen/InteractionVersion.js.map +1 -0
- package/lib/codegen/index.d.ts +3 -0
- package/lib/codegen/index.d.ts.map +1 -0
- package/lib/codegen/index.js +30 -0
- package/lib/codegen/index.js.map +1 -0
- package/lib/codegen/template.d.ts +3 -0
- package/lib/codegen/template.d.ts.map +1 -0
- package/lib/codegen/template.js +28 -0
- package/lib/codegen/template.js.map +1 -0
- package/lib/codegen/utils.d.ts +2 -0
- package/lib/codegen/utils.d.ts.map +1 -0
- package/lib/codegen/utils.js +4 -0
- package/lib/codegen/utils.js.map +1 -0
- package/lib/datagen/index.d.ts +3 -0
- package/lib/datagen/index.d.ts.map +1 -0
- package/lib/datagen/index.js +81 -0
- package/lib/datagen/index.js.map +1 -0
- package/lib/envs/index.d.ts +3 -0
- package/lib/envs/index.d.ts.map +1 -0
- package/lib/envs/index.js +23 -0
- package/lib/envs/index.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +181 -0
- package/lib/index.js.map +1 -0
- package/lib/interactions/index.d.ts +3 -0
- package/lib/interactions/index.d.ts.map +1 -0
- package/lib/interactions/index.js +35 -0
- package/lib/interactions/index.js.map +1 -0
- package/lib/memory/index.d.ts +3 -0
- package/lib/memory/index.d.ts.map +1 -0
- package/lib/memory/index.js +15 -0
- package/lib/memory/index.js.map +1 -0
- package/lib/objects/commands.d.ts +15 -0
- package/lib/objects/commands.d.ts.map +1 -0
- package/lib/objects/commands.js +273 -0
- package/lib/objects/commands.js.map +1 -0
- package/lib/objects/index.d.ts +3 -0
- package/lib/objects/index.d.ts.map +1 -0
- package/lib/objects/index.js +43 -0
- package/lib/objects/index.js.map +1 -0
- package/lib/package.d.ts +8 -0
- package/lib/package.d.ts.map +1 -0
- package/lib/package.js +63 -0
- package/lib/package.js.map +1 -0
- package/lib/profiles/commands.d.ts +20 -0
- package/lib/profiles/commands.d.ts.map +1 -0
- package/lib/profiles/commands.js +207 -0
- package/lib/profiles/commands.js.map +1 -0
- package/lib/profiles/index.d.ts +65 -0
- package/lib/profiles/index.d.ts.map +1 -0
- package/lib/profiles/index.js +324 -0
- package/lib/profiles/index.js.map +1 -0
- package/lib/profiles/server/cors.d.ts +3 -0
- package/lib/profiles/server/cors.d.ts.map +1 -0
- package/lib/profiles/server/cors.js +22 -0
- package/lib/profiles/server/cors.js.map +1 -0
- package/lib/profiles/server/index.d.ts +12 -0
- package/lib/profiles/server/index.d.ts.map +1 -0
- package/lib/profiles/server/index.js +134 -0
- package/lib/profiles/server/index.js.map +1 -0
- package/lib/profiles/server/server.d.ts +4 -0
- package/lib/profiles/server/server.d.ts.map +1 -0
- package/lib/profiles/server/server.js +32 -0
- package/lib/profiles/server/server.js.map +1 -0
- package/lib/projects/index.d.ts +3 -0
- package/lib/projects/index.d.ts.map +1 -0
- package/lib/projects/index.js +17 -0
- package/lib/projects/index.js.map +1 -0
- package/lib/run/executor.d.ts +22 -0
- package/lib/run/executor.d.ts.map +1 -0
- package/lib/run/executor.js +182 -0
- package/lib/run/executor.js.map +1 -0
- package/lib/run/index.d.ts +3 -0
- package/lib/run/index.d.ts.map +1 -0
- package/lib/run/index.js +192 -0
- package/lib/run/index.js.map +1 -0
- package/lib/runs/index.d.ts +3 -0
- package/lib/runs/index.d.ts.map +1 -0
- package/lib/runs/index.js +48 -0
- package/lib/runs/index.js.map +1 -0
- package/lib/utils/console.d.ts +42 -0
- package/lib/utils/console.d.ts.map +1 -0
- package/lib/utils/console.js +256 -0
- package/lib/utils/console.js.map +1 -0
- package/lib/utils/stdio.d.ts +7 -0
- package/lib/utils/stdio.d.ts.map +1 -0
- package/lib/utils/stdio.js +35 -0
- package/lib/utils/stdio.js.map +1 -0
- package/lib/worker/commands.d.ts +11 -0
- package/lib/worker/commands.d.ts.map +1 -0
- package/lib/worker/commands.js +173 -0
- package/lib/worker/commands.js.map +1 -0
- package/lib/worker/connect.d.ts +7 -0
- package/lib/worker/connect.d.ts.map +1 -0
- package/lib/worker/connect.js +68 -0
- package/lib/worker/connect.js.map +1 -0
- package/lib/worker/docker-credential.d.ts +2 -0
- package/lib/worker/docker-credential.d.ts.map +1 -0
- package/lib/worker/docker-credential.js +50 -0
- package/lib/worker/docker-credential.js.map +1 -0
- package/lib/worker/docker.d.ts +10 -0
- package/lib/worker/docker.d.ts.map +1 -0
- package/lib/worker/docker.js +93 -0
- package/lib/worker/docker.js.map +1 -0
- package/lib/worker/index.d.ts +3 -0
- package/lib/worker/index.d.ts.map +1 -0
- package/lib/worker/index.js +90 -0
- package/lib/worker/index.js.map +1 -0
- package/lib/worker/project.d.ts +58 -0
- package/lib/worker/project.d.ts.map +1 -0
- package/lib/worker/project.js +148 -0
- package/lib/worker/project.js.map +1 -0
- package/lib/worker/refresh.d.ts +6 -0
- package/lib/worker/refresh.d.ts.map +1 -0
- package/lib/worker/refresh.js +47 -0
- package/lib/worker/refresh.js.map +1 -0
- package/lib/worker/registry.d.ts +7 -0
- package/lib/worker/registry.d.ts.map +1 -0
- package/lib/worker/registry.js +47 -0
- package/lib/worker/registry.js.map +1 -0
- package/lib/worker/version.d.ts +2 -0
- package/lib/worker/version.d.ts.map +1 -0
- package/lib/worker/version.js +4 -0
- package/lib/worker/version.js.map +1 -0
- package/lib/workflows/commands.d.ts +14 -0
- package/lib/workflows/commands.d.ts.map +1 -0
- package/lib/workflows/commands.js +243 -0
- package/lib/workflows/commands.js.map +1 -0
- package/lib/workflows/index.d.ts +3 -0
- package/lib/workflows/index.d.ts.map +1 -0
- package/lib/workflows/index.js +117 -0
- package/lib/workflows/index.js.map +1 -0
- package/lib/workflows/json-loader.d.ts +3 -0
- package/lib/workflows/json-loader.d.ts.map +1 -0
- package/lib/workflows/json-loader.js +16 -0
- package/lib/workflows/json-loader.js.map +1 -0
- package/lib/workflows/streams.d.ts +2 -0
- package/lib/workflows/streams.d.ts.map +1 -0
- package/lib/workflows/streams.js +423 -0
- package/lib/workflows/streams.js.map +1 -0
- package/lib/workflows/ts-loader.d.ts +3 -0
- package/lib/workflows/ts-loader.d.ts.map +1 -0
- package/lib/workflows/ts-loader.js +94 -0
- package/lib/workflows/ts-loader.js.map +1 -0
- package/lib/workflows/validation.d.ts +6 -0
- package/lib/workflows/validation.d.ts.map +1 -0
- package/lib/workflows/validation.js +22 -0
- package/lib/workflows/validation.js.map +1 -0
- package/package.json +73 -0
- package/templates/index.tpl +4 -0
- package/templates/interaction.tpl +16 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { WorkflowRuleInputType } from "@vertesia/common";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import { resolve, join, basename } from "path";
|
|
4
|
+
import { getClient } from "../client.js";
|
|
5
|
+
import { loadJSONWorkflowDefinition } from "./json-loader.js";
|
|
6
|
+
import { loadTsWorkflowDefinition } from "./ts-loader.js";
|
|
7
|
+
import { ValidationError } from "./validation.js";
|
|
8
|
+
import { streamRun } from "./streams.js";
|
|
9
|
+
export async function createWorkflowRule(program, options) {
|
|
10
|
+
const { name, on, run, inputType } = options;
|
|
11
|
+
if (!name) {
|
|
12
|
+
console.log("A name for the workflow rule is required. Use --name argument");
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
if (!on) {
|
|
16
|
+
console.log("An event to trigger the workflow rule is required. Use --on argument");
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
if (!run) {
|
|
20
|
+
console.log("A workflow to run is required. Use --run argument");
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
const [event_name, object_type] = on.split(":");
|
|
24
|
+
const client = await getClient(program);
|
|
25
|
+
const workflow = await client.workflows.rules.create({
|
|
26
|
+
name,
|
|
27
|
+
endpoint: run,
|
|
28
|
+
input_type: inputType ?? WorkflowRuleInputType.single,
|
|
29
|
+
match: {
|
|
30
|
+
event_name,
|
|
31
|
+
object_type,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
console.log("Created workflow rule", workflow.id);
|
|
35
|
+
}
|
|
36
|
+
export async function createOrUpdateWorkflowRule(program, options) {
|
|
37
|
+
const { file, tags } = options;
|
|
38
|
+
if (!file) {
|
|
39
|
+
console.log("A file with the workflow rule is required. Use --file argument");
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
const payload = fs.readFileSync(file, "utf-8");
|
|
43
|
+
const json = JSON.parse(payload);
|
|
44
|
+
if (tags) {
|
|
45
|
+
json.tags = tags;
|
|
46
|
+
}
|
|
47
|
+
const client = await getClient(program);
|
|
48
|
+
const rule = await client.workflows.rules.create(json);
|
|
49
|
+
console.log("Applied workflow rule", rule.id);
|
|
50
|
+
}
|
|
51
|
+
export async function deleteWorkflowRule(program, ruleId, _options) {
|
|
52
|
+
const client = await getClient(program);
|
|
53
|
+
const res = await client.workflows.rules.delete(ruleId);
|
|
54
|
+
console.log("Workflow rule deleted", res);
|
|
55
|
+
}
|
|
56
|
+
export async function getWorkflowRule(program, ruleId, options) {
|
|
57
|
+
const client = await getClient(program);
|
|
58
|
+
const res = await client.workflows.rules.retrieve(ruleId);
|
|
59
|
+
const pretty = JSON.stringify(res, null, 2);
|
|
60
|
+
if (options.file) {
|
|
61
|
+
fs.writeFileSync(options.file, pretty);
|
|
62
|
+
console.log("Workflow rule saved to", options.file);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log(pretty);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export async function executeWorkflowByName(program, workflowName, options) {
|
|
69
|
+
const { objectId, vars, file, stream, interactive, output: outputFile } = options;
|
|
70
|
+
console.debug("Executing interaction in workflow", workflowName, "with options", options);
|
|
71
|
+
let mergedConfig = {
|
|
72
|
+
objectIds: objectId ? objectId : [],
|
|
73
|
+
vars: JSON.parse(vars || "{}") || {},
|
|
74
|
+
};
|
|
75
|
+
if (file) {
|
|
76
|
+
const payload = JSON.parse(fs.readFileSync(file, "utf-8"));
|
|
77
|
+
Object.assign(mergedConfig, payload);
|
|
78
|
+
}
|
|
79
|
+
if (options.queue) {
|
|
80
|
+
mergedConfig.task_queue = options.queue;
|
|
81
|
+
}
|
|
82
|
+
const client = await getClient(program);
|
|
83
|
+
const res = await client.workflows.execute(workflowName, {
|
|
84
|
+
...mergedConfig,
|
|
85
|
+
unique: true,
|
|
86
|
+
});
|
|
87
|
+
if (!res[0]) {
|
|
88
|
+
console.error("Workflow execution failed");
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
const { workflow_id: workflowId, run_id: runId } = res[0];
|
|
92
|
+
console.log("Workflow ID:", workflowId);
|
|
93
|
+
console.log("Run ID:", runId);
|
|
94
|
+
if (stream || interactive) {
|
|
95
|
+
console.debug("Streaming messages for workflow run");
|
|
96
|
+
await streamRun(workflowId, runId, program, { ...options, outputFile });
|
|
97
|
+
}
|
|
98
|
+
// Save the result to a file if outputFile is specified
|
|
99
|
+
if (outputFile && runId) {
|
|
100
|
+
const runDetails = await client.workflows.getRunDetails(runId, workflowId);
|
|
101
|
+
const output = runDetails.result?.output;
|
|
102
|
+
let outputContent = "";
|
|
103
|
+
if (!output) {
|
|
104
|
+
console.error("No output found for workflow run", runId);
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
if (typeof output === "object") {
|
|
108
|
+
outputContent = JSON.stringify(output, null, 2);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
outputContent = output.toString();
|
|
112
|
+
}
|
|
113
|
+
fs.writeFileSync(outputFile, outputContent);
|
|
114
|
+
console.log(`Workflow execution result saved to ${outputFile}`);
|
|
115
|
+
process.exit(0);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export async function executeWorkflowRule(program, workflowId, options) {
|
|
119
|
+
console.log("Executing workflow rule", workflowId, options);
|
|
120
|
+
const { objectId, config, file } = options;
|
|
121
|
+
let mergedConfig = config
|
|
122
|
+
? {
|
|
123
|
+
...config,
|
|
124
|
+
}
|
|
125
|
+
: {};
|
|
126
|
+
if (file) {
|
|
127
|
+
const payload = JSON.parse(fs.readFileSync(file, "utf-8"));
|
|
128
|
+
mergedConfig = {
|
|
129
|
+
...payload,
|
|
130
|
+
...config,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const client = await getClient(program);
|
|
134
|
+
const res = await client.workflows.rules.execute(workflowId, objectId, mergedConfig);
|
|
135
|
+
console.log(res);
|
|
136
|
+
}
|
|
137
|
+
export async function listWorkflowsRule(program, _options) {
|
|
138
|
+
const client = await getClient(program);
|
|
139
|
+
const res = await client.workflows.rules.list();
|
|
140
|
+
const pretty = JSON.stringify(res, null, 2);
|
|
141
|
+
console.log(pretty);
|
|
142
|
+
}
|
|
143
|
+
export async function transpileWorkflow(_program, files, options) {
|
|
144
|
+
if (!files || !files.length) {
|
|
145
|
+
console.log("A .ts file argument is required.");
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
const out = options.out ? resolve(options.out) : undefined;
|
|
149
|
+
let saveToDir = false;
|
|
150
|
+
try {
|
|
151
|
+
if (out && fs.lstatSync(out).isDirectory()) {
|
|
152
|
+
saveToDir = true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
//ignore
|
|
157
|
+
}
|
|
158
|
+
if (files.length > 1 && !saveToDir) {
|
|
159
|
+
console.log("When multiple files are specified the output must be a directory.");
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
for (const file of files) {
|
|
163
|
+
const json = await loadTsWorkflowDefinition(file);
|
|
164
|
+
if (!out) {
|
|
165
|
+
console.log(JSON.stringify(json, null, 2));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
let outFile;
|
|
169
|
+
if (saveToDir) {
|
|
170
|
+
let fileName = basename(file);
|
|
171
|
+
fileName = fileName.replace(".ts", ".json");
|
|
172
|
+
outFile = join(out, fileName);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
// save to file
|
|
176
|
+
outFile = out;
|
|
177
|
+
}
|
|
178
|
+
console.log("Generating file", outFile);
|
|
179
|
+
fs.writeFileSync(outFile, JSON.stringify(json, null, 2));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
export async function createOrUpdateWorkflowDefinition(program, workflowId, options) {
|
|
184
|
+
const { file, tags, skipValidation } = options;
|
|
185
|
+
if (!file) {
|
|
186
|
+
console.log("A file with the workflow definition is required. Use --file argument");
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
189
|
+
const isTs = file.endsWith(".ts");
|
|
190
|
+
const loadWorkflow = isTs ? loadTsWorkflowDefinition : loadJSONWorkflowDefinition;
|
|
191
|
+
let json;
|
|
192
|
+
try {
|
|
193
|
+
if (isTs) {
|
|
194
|
+
console.log(`Transpiling file ${file} ...`);
|
|
195
|
+
}
|
|
196
|
+
json = await loadWorkflow(file, skipValidation);
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
if (err instanceof ValidationError) {
|
|
200
|
+
console.log(err.message);
|
|
201
|
+
process.exit(1);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
throw err;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (tags) {
|
|
208
|
+
json.tags = tags;
|
|
209
|
+
}
|
|
210
|
+
const client = await getClient(program);
|
|
211
|
+
if (workflowId) {
|
|
212
|
+
const res = await client.workflows.definitions.update(workflowId, json);
|
|
213
|
+
console.log("Updated workflow", res.id);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
const res = await client.workflows.definitions.create(json);
|
|
218
|
+
console.log("Created workflow", res.id);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
export async function listWorkflowsDefinition(program, _options) {
|
|
222
|
+
const client = await getClient(program);
|
|
223
|
+
const res = await client.workflows.definitions.list();
|
|
224
|
+
console.log(res);
|
|
225
|
+
}
|
|
226
|
+
export async function getWorkflowDefinition(program, objectId, options) {
|
|
227
|
+
const client = await getClient(program);
|
|
228
|
+
const res = await client.workflows.definitions.retrieve(objectId);
|
|
229
|
+
const pretty = JSON.stringify(res, null, 2);
|
|
230
|
+
if (options.file) {
|
|
231
|
+
fs.writeFileSync(options.file, pretty);
|
|
232
|
+
console.log("Workflow definition saved to", options.file);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
console.log(pretty);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
export async function deleteWorkflowDefinition(program, objectId, _options) {
|
|
239
|
+
const client = await getClient(program);
|
|
240
|
+
const res = await client.workflows.definitions.delete(objectId);
|
|
241
|
+
console.log(res);
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/workflows/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjF,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAgB,EAAE,OAA4B;IACnF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QACjD,IAAI;QACJ,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,SAAS,IAAI,qBAAqB,CAAC,MAAM;QACrD,KAAK,EAAE;YACH,UAAU;YACV,WAAW;SACd;KACJ,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAAgB,EAAE,OAA4B;IAC3F,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAgB,EAAE,MAAc,EAAE,QAA6B;IACpG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAc,EAAE,OAA4B;IAChG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB,EAAE,YAAoB,EAAE,OAA4B;IAC5G,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAClF,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAE1F,IAAI,YAAY,GAAG;QACf,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACnC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;KACb,CAAC;IAE5B,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,YAAY,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE;QACrD,GAAG,YAAY;QACf,MAAM,EAAE,IAAI;KACf,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE9B,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,MAAM,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;QACzC,IAAI,aAAa,GAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAgB,EAAE,UAAkB,EAAE,OAA4B;IACxG,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3C,IAAI,YAAY,GAAG,MAAM;QACrB,CAAC,CAAC;YACI,GAAG,MAAM;SACZ;QACH,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,YAAY,GAAG;YACX,GAAG,OAAO;YACV,GAAG,MAAM;SACZ,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgB,EAAE,QAA6B;IACnF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAiB,EAAE,KAAe,EAAE,OAA4B;IACpG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACD,IAAI,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,QAAQ;IACZ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,IAAI,OAAO,CAAC;YACZ,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC5C,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,eAAe;gBACf,OAAO,GAAG,GAAG,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACxC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAClD,OAAgB,EAChB,UAA8B,EAC9B,OAA4B;IAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAClF,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO;IACX,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAgB,EAAE,QAA6B;IACzF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB,EAAE,QAAgB,EAAE,OAA4B;IACxG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAgB,EAAE,QAAgB,EAAE,QAA6B;IAC5G,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QAqIxD"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { createOrUpdateWorkflowDefinition, createOrUpdateWorkflowRule, createWorkflowRule, deleteWorkflowDefinition, deleteWorkflowRule, executeWorkflowByName, executeWorkflowRule, getWorkflowDefinition, getWorkflowRule, listWorkflowsDefinition, listWorkflowsRule, transpileWorkflow, } from "./commands.js";
|
|
2
|
+
import { streamRun } from "./streams.js";
|
|
3
|
+
export function registerWorkflowsCommand(program) {
|
|
4
|
+
const workflows = program.command("workflows");
|
|
5
|
+
const rules = workflows.command("rules");
|
|
6
|
+
rules
|
|
7
|
+
.command("create")
|
|
8
|
+
.description("Create a new workflow rule.")
|
|
9
|
+
.option("--name [name]", "The name of the workflow rule to create.")
|
|
10
|
+
.option("--on [event]", 'The event which trigger this rule. Format: "eventName[:objectType]" where objectType is optional.')
|
|
11
|
+
.option("--run [endpoint]", "The workflow to run.")
|
|
12
|
+
.action(async (options) => {
|
|
13
|
+
await createWorkflowRule(program, options);
|
|
14
|
+
});
|
|
15
|
+
rules
|
|
16
|
+
.command("get <ruleId>")
|
|
17
|
+
.description("Get a workflow rule by ID")
|
|
18
|
+
.option("-f, --file [file]", "The file to save the workflow rule to.")
|
|
19
|
+
.action(async (ruleId, options) => {
|
|
20
|
+
await getWorkflowRule(program, ruleId, options);
|
|
21
|
+
});
|
|
22
|
+
rules
|
|
23
|
+
.command("apply")
|
|
24
|
+
.description("Create or update a workflow rule using a file")
|
|
25
|
+
.option("-f, --file <file>", "The file containing the workflow rule to apply.")
|
|
26
|
+
.action(async (options) => {
|
|
27
|
+
await createOrUpdateWorkflowRule(program, options);
|
|
28
|
+
});
|
|
29
|
+
rules
|
|
30
|
+
.command("list")
|
|
31
|
+
.description("List all workflow rules")
|
|
32
|
+
.action(async (options) => {
|
|
33
|
+
await listWorkflowsRule(program, options);
|
|
34
|
+
});
|
|
35
|
+
rules
|
|
36
|
+
.command("execute <ruleId>")
|
|
37
|
+
.description("Execute a workflow rule")
|
|
38
|
+
.option("-o, --objectId [objectIds...]", "The object to execute the rule on.")
|
|
39
|
+
.option("--vars [vars]", "workflow vars as an inlined JSON string.")
|
|
40
|
+
.option("-f, --file [file]", "The file containing workflow execution payload.")
|
|
41
|
+
.action(async (workflowId, options) => {
|
|
42
|
+
await executeWorkflowRule(program, workflowId, options);
|
|
43
|
+
});
|
|
44
|
+
rules
|
|
45
|
+
.command("delete <ruleId>")
|
|
46
|
+
.description("Delete a workflow rule given its ID")
|
|
47
|
+
.action(async (ruleId, options) => {
|
|
48
|
+
await deleteWorkflowRule(program, ruleId, options);
|
|
49
|
+
});
|
|
50
|
+
workflows
|
|
51
|
+
.command("execute <workflowName>")
|
|
52
|
+
.description("Execute a workflow by name")
|
|
53
|
+
.option("-o, --objectId [objectIds...]", "Optional object to execute the workflow on.")
|
|
54
|
+
.option("-v, --vars [vars]", "The workflow vars as an inline JSON.")
|
|
55
|
+
.option("--queue [queue]", "The task queue name. Defaults to zeno-content", "zeno-content")
|
|
56
|
+
.option("-f, --file [file]", "A file containing workflow execution payload.")
|
|
57
|
+
.option("-s, --stream", "Stream the execution")
|
|
58
|
+
.option("-i, --interactive", "Enable interactive mode to send messages during workflow execution", false)
|
|
59
|
+
.option("--output [output]", "Output file for the workflow execution")
|
|
60
|
+
.action(async (workflowName, options) => {
|
|
61
|
+
// If interactive is true, make sure stream is also enabled
|
|
62
|
+
if (options.interactive) {
|
|
63
|
+
options.stream = true;
|
|
64
|
+
}
|
|
65
|
+
console.debug("Executing workflow", workflowName, "with options", options);
|
|
66
|
+
await executeWorkflowByName(program, workflowName, options);
|
|
67
|
+
});
|
|
68
|
+
const definitions = workflows.command("definitions");
|
|
69
|
+
workflows
|
|
70
|
+
.command("stream <workflowId> <runId>")
|
|
71
|
+
.description("Stream messages for an existing workflow run")
|
|
72
|
+
.option("--since <timestamp>", "Stream only messages after this timestamp")
|
|
73
|
+
.option("-i, --interactive", "Enable interactive mode to send messages to the workflow", false)
|
|
74
|
+
.action((workflowId, runId, options) => streamRun(workflowId, runId, program, options));
|
|
75
|
+
definitions
|
|
76
|
+
.command("transpile <files...>")
|
|
77
|
+
.description("Transpile a typescript workflow definition to JSON.")
|
|
78
|
+
.option("-o, --out [file]", "An output file or directory. When multiple files are specified it must be a directory. If not specified the transpiled files are printed to stdout.")
|
|
79
|
+
.action(async (files, options) => {
|
|
80
|
+
await transpileWorkflow(program, files, options);
|
|
81
|
+
});
|
|
82
|
+
definitions
|
|
83
|
+
.command("create")
|
|
84
|
+
.description("Create a new workflow definition.")
|
|
85
|
+
.option("-f, --file <file>", "The file containing the workflow definition.")
|
|
86
|
+
.action(async (options) => {
|
|
87
|
+
await createOrUpdateWorkflowDefinition(program, undefined, options);
|
|
88
|
+
});
|
|
89
|
+
definitions
|
|
90
|
+
.command("apply [workflowId]")
|
|
91
|
+
.description("Create or update a workflow definition using a file.")
|
|
92
|
+
.option("-f, --file <file>", "The file containing the workflow definition.")
|
|
93
|
+
.option("--skip-validation", "Skip the validation of the workflow definition.")
|
|
94
|
+
.action(async (workflowId, options) => {
|
|
95
|
+
await createOrUpdateWorkflowDefinition(program, workflowId, options);
|
|
96
|
+
});
|
|
97
|
+
definitions
|
|
98
|
+
.command("list")
|
|
99
|
+
.description("List all workflow definitions.")
|
|
100
|
+
.action(async (options) => {
|
|
101
|
+
await listWorkflowsDefinition(program, options);
|
|
102
|
+
});
|
|
103
|
+
definitions
|
|
104
|
+
.command("get <objectId>")
|
|
105
|
+
.description("Get a workflow definition given its ID.")
|
|
106
|
+
.option("-f, --file [file]", "The file to save the workflow definition to.")
|
|
107
|
+
.action(async (objectId, options) => {
|
|
108
|
+
await getWorkflowDefinition(program, objectId, options);
|
|
109
|
+
});
|
|
110
|
+
definitions
|
|
111
|
+
.command("delete <objectId>")
|
|
112
|
+
.description("Delete a workflow definition given its ID.")
|
|
113
|
+
.action(async (objectId, options) => {
|
|
114
|
+
await deleteWorkflowDefinition(program, objectId, options);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-loader.d.ts","sourceRoot":"","sources":["../../src/workflows/json-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAYnD,wBAAsB,0BAA0B,CAC5C,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,OAAe,GAChC,OAAO,CAAC,eAAe,CAAC,CAI1B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
import { ValidationError, validateWorkflow } from "./validation.js";
|
|
3
|
+
function parseJSON(content) {
|
|
4
|
+
try {
|
|
5
|
+
return JSON.parse(content);
|
|
6
|
+
}
|
|
7
|
+
catch (err) {
|
|
8
|
+
throw new ValidationError("Invalid JSON: " + err.message);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export async function loadJSONWorkflowDefinition(file, skipValidation = false) {
|
|
12
|
+
return readFile(file, "utf-8").then((content) => {
|
|
13
|
+
return skipValidation ? validateWorkflow(parseJSON(content)) : parseJSON(content);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=json-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-loader.js","sourceRoot":"","sources":["../../src/workflows/json-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,SAAS,SAAS,CAAC,OAAe;IAC9B,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,IAAY,EACZ,iBAA0B,KAAK;IAE/B,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5C,OAAO,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/workflows/streams.ts"],"names":[],"mappings":"AAgEA,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,iBAqSjH"}
|