@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.
Files changed (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/bin/app.js +3 -0
  4. package/bin/docker-credential-vertesia.js +3 -0
  5. package/lib/apps/commands.d.ts +11 -0
  6. package/lib/apps/commands.d.ts.map +1 -0
  7. package/lib/apps/commands.js +246 -0
  8. package/lib/apps/commands.js.map +1 -0
  9. package/lib/apps/index.d.ts +3 -0
  10. package/lib/apps/index.d.ts.map +1 -0
  11. package/lib/apps/index.js +104 -0
  12. package/lib/apps/index.js.map +1 -0
  13. package/lib/artifacts/commands.d.ts +6 -0
  14. package/lib/artifacts/commands.d.ts.map +1 -0
  15. package/lib/artifacts/commands.js +75 -0
  16. package/lib/artifacts/commands.js.map +1 -0
  17. package/lib/artifacts/index.d.ts +3 -0
  18. package/lib/artifacts/index.d.ts.map +1 -0
  19. package/lib/artifacts/index.js +33 -0
  20. package/lib/artifacts/index.js.map +1 -0
  21. package/lib/client.d.ts +12 -0
  22. package/lib/client.d.ts.map +1 -0
  23. package/lib/client.js +44 -0
  24. package/lib/client.js.map +1 -0
  25. package/lib/codegen/CodeBuilder.d.ts +16 -0
  26. package/lib/codegen/CodeBuilder.d.ts.map +1 -0
  27. package/lib/codegen/CodeBuilder.js +115 -0
  28. package/lib/codegen/CodeBuilder.js.map +1 -0
  29. package/lib/codegen/InteractionVersion.d.ts +29 -0
  30. package/lib/codegen/InteractionVersion.d.ts.map +1 -0
  31. package/lib/codegen/InteractionVersion.js +94 -0
  32. package/lib/codegen/InteractionVersion.js.map +1 -0
  33. package/lib/codegen/index.d.ts +3 -0
  34. package/lib/codegen/index.d.ts.map +1 -0
  35. package/lib/codegen/index.js +30 -0
  36. package/lib/codegen/index.js.map +1 -0
  37. package/lib/codegen/template.d.ts +3 -0
  38. package/lib/codegen/template.d.ts.map +1 -0
  39. package/lib/codegen/template.js +28 -0
  40. package/lib/codegen/template.js.map +1 -0
  41. package/lib/codegen/utils.d.ts +2 -0
  42. package/lib/codegen/utils.d.ts.map +1 -0
  43. package/lib/codegen/utils.js +4 -0
  44. package/lib/codegen/utils.js.map +1 -0
  45. package/lib/datagen/index.d.ts +3 -0
  46. package/lib/datagen/index.d.ts.map +1 -0
  47. package/lib/datagen/index.js +81 -0
  48. package/lib/datagen/index.js.map +1 -0
  49. package/lib/envs/index.d.ts +3 -0
  50. package/lib/envs/index.d.ts.map +1 -0
  51. package/lib/envs/index.js +23 -0
  52. package/lib/envs/index.js.map +1 -0
  53. package/lib/index.d.ts +2 -0
  54. package/lib/index.d.ts.map +1 -0
  55. package/lib/index.js +181 -0
  56. package/lib/index.js.map +1 -0
  57. package/lib/interactions/index.d.ts +3 -0
  58. package/lib/interactions/index.d.ts.map +1 -0
  59. package/lib/interactions/index.js +35 -0
  60. package/lib/interactions/index.js.map +1 -0
  61. package/lib/memory/index.d.ts +3 -0
  62. package/lib/memory/index.d.ts.map +1 -0
  63. package/lib/memory/index.js +15 -0
  64. package/lib/memory/index.js.map +1 -0
  65. package/lib/objects/commands.d.ts +15 -0
  66. package/lib/objects/commands.d.ts.map +1 -0
  67. package/lib/objects/commands.js +273 -0
  68. package/lib/objects/commands.js.map +1 -0
  69. package/lib/objects/index.d.ts +3 -0
  70. package/lib/objects/index.d.ts.map +1 -0
  71. package/lib/objects/index.js +43 -0
  72. package/lib/objects/index.js.map +1 -0
  73. package/lib/package.d.ts +8 -0
  74. package/lib/package.d.ts.map +1 -0
  75. package/lib/package.js +63 -0
  76. package/lib/package.js.map +1 -0
  77. package/lib/profiles/commands.d.ts +20 -0
  78. package/lib/profiles/commands.d.ts.map +1 -0
  79. package/lib/profiles/commands.js +207 -0
  80. package/lib/profiles/commands.js.map +1 -0
  81. package/lib/profiles/index.d.ts +65 -0
  82. package/lib/profiles/index.d.ts.map +1 -0
  83. package/lib/profiles/index.js +324 -0
  84. package/lib/profiles/index.js.map +1 -0
  85. package/lib/profiles/server/cors.d.ts +3 -0
  86. package/lib/profiles/server/cors.d.ts.map +1 -0
  87. package/lib/profiles/server/cors.js +22 -0
  88. package/lib/profiles/server/cors.js.map +1 -0
  89. package/lib/profiles/server/index.d.ts +12 -0
  90. package/lib/profiles/server/index.d.ts.map +1 -0
  91. package/lib/profiles/server/index.js +134 -0
  92. package/lib/profiles/server/index.js.map +1 -0
  93. package/lib/profiles/server/server.d.ts +4 -0
  94. package/lib/profiles/server/server.d.ts.map +1 -0
  95. package/lib/profiles/server/server.js +32 -0
  96. package/lib/profiles/server/server.js.map +1 -0
  97. package/lib/projects/index.d.ts +3 -0
  98. package/lib/projects/index.d.ts.map +1 -0
  99. package/lib/projects/index.js +17 -0
  100. package/lib/projects/index.js.map +1 -0
  101. package/lib/run/executor.d.ts +22 -0
  102. package/lib/run/executor.d.ts.map +1 -0
  103. package/lib/run/executor.js +182 -0
  104. package/lib/run/executor.js.map +1 -0
  105. package/lib/run/index.d.ts +3 -0
  106. package/lib/run/index.d.ts.map +1 -0
  107. package/lib/run/index.js +192 -0
  108. package/lib/run/index.js.map +1 -0
  109. package/lib/runs/index.d.ts +3 -0
  110. package/lib/runs/index.d.ts.map +1 -0
  111. package/lib/runs/index.js +48 -0
  112. package/lib/runs/index.js.map +1 -0
  113. package/lib/utils/console.d.ts +42 -0
  114. package/lib/utils/console.d.ts.map +1 -0
  115. package/lib/utils/console.js +256 -0
  116. package/lib/utils/console.js.map +1 -0
  117. package/lib/utils/stdio.d.ts +7 -0
  118. package/lib/utils/stdio.d.ts.map +1 -0
  119. package/lib/utils/stdio.js +35 -0
  120. package/lib/utils/stdio.js.map +1 -0
  121. package/lib/worker/commands.d.ts +11 -0
  122. package/lib/worker/commands.d.ts.map +1 -0
  123. package/lib/worker/commands.js +173 -0
  124. package/lib/worker/commands.js.map +1 -0
  125. package/lib/worker/connect.d.ts +7 -0
  126. package/lib/worker/connect.d.ts.map +1 -0
  127. package/lib/worker/connect.js +68 -0
  128. package/lib/worker/connect.js.map +1 -0
  129. package/lib/worker/docker-credential.d.ts +2 -0
  130. package/lib/worker/docker-credential.d.ts.map +1 -0
  131. package/lib/worker/docker-credential.js +50 -0
  132. package/lib/worker/docker-credential.js.map +1 -0
  133. package/lib/worker/docker.d.ts +10 -0
  134. package/lib/worker/docker.d.ts.map +1 -0
  135. package/lib/worker/docker.js +93 -0
  136. package/lib/worker/docker.js.map +1 -0
  137. package/lib/worker/index.d.ts +3 -0
  138. package/lib/worker/index.d.ts.map +1 -0
  139. package/lib/worker/index.js +90 -0
  140. package/lib/worker/index.js.map +1 -0
  141. package/lib/worker/project.d.ts +58 -0
  142. package/lib/worker/project.d.ts.map +1 -0
  143. package/lib/worker/project.js +148 -0
  144. package/lib/worker/project.js.map +1 -0
  145. package/lib/worker/refresh.d.ts +6 -0
  146. package/lib/worker/refresh.d.ts.map +1 -0
  147. package/lib/worker/refresh.js +47 -0
  148. package/lib/worker/refresh.js.map +1 -0
  149. package/lib/worker/registry.d.ts +7 -0
  150. package/lib/worker/registry.d.ts.map +1 -0
  151. package/lib/worker/registry.js +47 -0
  152. package/lib/worker/registry.js.map +1 -0
  153. package/lib/worker/version.d.ts +2 -0
  154. package/lib/worker/version.d.ts.map +1 -0
  155. package/lib/worker/version.js +4 -0
  156. package/lib/worker/version.js.map +1 -0
  157. package/lib/workflows/commands.d.ts +14 -0
  158. package/lib/workflows/commands.d.ts.map +1 -0
  159. package/lib/workflows/commands.js +243 -0
  160. package/lib/workflows/commands.js.map +1 -0
  161. package/lib/workflows/index.d.ts +3 -0
  162. package/lib/workflows/index.d.ts.map +1 -0
  163. package/lib/workflows/index.js +117 -0
  164. package/lib/workflows/index.js.map +1 -0
  165. package/lib/workflows/json-loader.d.ts +3 -0
  166. package/lib/workflows/json-loader.d.ts.map +1 -0
  167. package/lib/workflows/json-loader.js +16 -0
  168. package/lib/workflows/json-loader.js.map +1 -0
  169. package/lib/workflows/streams.d.ts +2 -0
  170. package/lib/workflows/streams.d.ts.map +1 -0
  171. package/lib/workflows/streams.js +423 -0
  172. package/lib/workflows/streams.js.map +1 -0
  173. package/lib/workflows/ts-loader.d.ts +3 -0
  174. package/lib/workflows/ts-loader.d.ts.map +1 -0
  175. package/lib/workflows/ts-loader.js +94 -0
  176. package/lib/workflows/ts-loader.js.map +1 -0
  177. package/lib/workflows/validation.d.ts +6 -0
  178. package/lib/workflows/validation.d.ts.map +1 -0
  179. package/lib/workflows/validation.js +22 -0
  180. package/lib/workflows/validation.js.map +1 -0
  181. package/package.json +73 -0
  182. package/templates/index.tpl +4 -0
  183. 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":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerWorkflowsCommand(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import { DSLWorkflowSpec } from "@vertesia/common";
2
+ export declare function loadJSONWorkflowDefinition(file: string, skipValidation?: boolean): Promise<DSLWorkflowSpec>;
3
+ //# sourceMappingURL=json-loader.d.ts.map
@@ -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,2 @@
1
+ export declare function streamRun(workflowId: string, runId: string, program: any, options?: Record<string, any>): Promise<void>;
2
+ //# sourceMappingURL=streams.d.ts.map
@@ -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"}