@vertesia/cli 0.42.2

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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/bin/app.js +3 -0
  4. package/lib/client.d.ts +4 -0
  5. package/lib/client.d.ts.map +1 -0
  6. package/lib/client.js +21 -0
  7. package/lib/client.js.map +1 -0
  8. package/lib/codegen/CodeBuilder.d.ts +16 -0
  9. package/lib/codegen/CodeBuilder.d.ts.map +1 -0
  10. package/lib/codegen/CodeBuilder.js +115 -0
  11. package/lib/codegen/CodeBuilder.js.map +1 -0
  12. package/lib/codegen/InteractionVersion.d.ts +29 -0
  13. package/lib/codegen/InteractionVersion.d.ts.map +1 -0
  14. package/lib/codegen/InteractionVersion.js +94 -0
  15. package/lib/codegen/InteractionVersion.js.map +1 -0
  16. package/lib/codegen/index.d.ts +3 -0
  17. package/lib/codegen/index.d.ts.map +1 -0
  18. package/lib/codegen/index.js +24 -0
  19. package/lib/codegen/index.js.map +1 -0
  20. package/lib/codegen/template.d.ts +3 -0
  21. package/lib/codegen/template.d.ts.map +1 -0
  22. package/lib/codegen/template.js +28 -0
  23. package/lib/codegen/template.js.map +1 -0
  24. package/lib/codegen/utils.d.ts +2 -0
  25. package/lib/codegen/utils.d.ts.map +1 -0
  26. package/lib/codegen/utils.js +4 -0
  27. package/lib/codegen/utils.js.map +1 -0
  28. package/lib/datagen/index.d.ts +3 -0
  29. package/lib/datagen/index.d.ts.map +1 -0
  30. package/lib/datagen/index.js +47 -0
  31. package/lib/datagen/index.js.map +1 -0
  32. package/lib/envs/index.d.ts +3 -0
  33. package/lib/envs/index.d.ts.map +1 -0
  34. package/lib/envs/index.js +24 -0
  35. package/lib/envs/index.js.map +1 -0
  36. package/lib/index.d.ts +2 -0
  37. package/lib/index.d.ts.map +1 -0
  38. package/lib/index.js +169 -0
  39. package/lib/index.js.map +1 -0
  40. package/lib/interactions/index.d.ts +3 -0
  41. package/lib/interactions/index.d.ts.map +1 -0
  42. package/lib/interactions/index.js +37 -0
  43. package/lib/interactions/index.js.map +1 -0
  44. package/lib/memory/index.d.ts +3 -0
  45. package/lib/memory/index.d.ts.map +1 -0
  46. package/lib/memory/index.js +16 -0
  47. package/lib/memory/index.js.map +1 -0
  48. package/lib/objects/commands.d.ts +14 -0
  49. package/lib/objects/commands.d.ts.map +1 -0
  50. package/lib/objects/commands.js +240 -0
  51. package/lib/objects/commands.js.map +1 -0
  52. package/lib/objects/index.d.ts +3 -0
  53. package/lib/objects/index.d.ts.map +1 -0
  54. package/lib/objects/index.js +37 -0
  55. package/lib/objects/index.js.map +1 -0
  56. package/lib/package.d.ts +8 -0
  57. package/lib/package.d.ts.map +1 -0
  58. package/lib/package.js +54 -0
  59. package/lib/package.js.map +1 -0
  60. package/lib/profiles/commands.d.ts +10 -0
  61. package/lib/profiles/commands.d.ts.map +1 -0
  62. package/lib/profiles/commands.js +167 -0
  63. package/lib/profiles/commands.js.map +1 -0
  64. package/lib/profiles/index.d.ts +57 -0
  65. package/lib/profiles/index.d.ts.map +1 -0
  66. package/lib/profiles/index.js +255 -0
  67. package/lib/profiles/index.js.map +1 -0
  68. package/lib/profiles/server/cors.d.ts +3 -0
  69. package/lib/profiles/server/cors.d.ts.map +1 -0
  70. package/lib/profiles/server/cors.js +18 -0
  71. package/lib/profiles/server/cors.js.map +1 -0
  72. package/lib/profiles/server/index.d.ts +12 -0
  73. package/lib/profiles/server/index.d.ts.map +1 -0
  74. package/lib/profiles/server/index.js +73 -0
  75. package/lib/profiles/server/index.js.map +1 -0
  76. package/lib/profiles/server/server.d.ts +4 -0
  77. package/lib/profiles/server/server.d.ts.map +1 -0
  78. package/lib/profiles/server/server.js +32 -0
  79. package/lib/profiles/server/server.js.map +1 -0
  80. package/lib/projects/index.d.ts +3 -0
  81. package/lib/projects/index.d.ts.map +1 -0
  82. package/lib/projects/index.js +13 -0
  83. package/lib/projects/index.js.map +1 -0
  84. package/lib/run/executor.d.ts +20 -0
  85. package/lib/run/executor.d.ts.map +1 -0
  86. package/lib/run/executor.js +101 -0
  87. package/lib/run/executor.js.map +1 -0
  88. package/lib/run/index.d.ts +3 -0
  89. package/lib/run/index.d.ts.map +1 -0
  90. package/lib/run/index.js +139 -0
  91. package/lib/run/index.js.map +1 -0
  92. package/lib/runs/index.d.ts +3 -0
  93. package/lib/runs/index.d.ts.map +1 -0
  94. package/lib/runs/index.js +48 -0
  95. package/lib/runs/index.js.map +1 -0
  96. package/lib/utils/console.d.ts +38 -0
  97. package/lib/utils/console.d.ts.map +1 -0
  98. package/lib/utils/console.js +191 -0
  99. package/lib/utils/console.js.map +1 -0
  100. package/lib/utils/stdio.d.ts +7 -0
  101. package/lib/utils/stdio.d.ts.map +1 -0
  102. package/lib/utils/stdio.js +35 -0
  103. package/lib/utils/stdio.js.map +1 -0
  104. package/lib/workflows/commands.d.ts +14 -0
  105. package/lib/workflows/commands.d.ts.map +1 -0
  106. package/lib/workflows/commands.js +193 -0
  107. package/lib/workflows/commands.js.map +1 -0
  108. package/lib/workflows/index.d.ts +3 -0
  109. package/lib/workflows/index.d.ts.map +1 -0
  110. package/lib/workflows/index.js +88 -0
  111. package/lib/workflows/index.js.map +1 -0
  112. package/lib/workflows/json-loader.d.ts +3 -0
  113. package/lib/workflows/json-loader.d.ts.map +1 -0
  114. package/lib/workflows/json-loader.js +16 -0
  115. package/lib/workflows/json-loader.js.map +1 -0
  116. package/lib/workflows/ts-loader.d.ts +3 -0
  117. package/lib/workflows/ts-loader.d.ts.map +1 -0
  118. package/lib/workflows/ts-loader.js +94 -0
  119. package/lib/workflows/ts-loader.js.map +1 -0
  120. package/lib/workflows/validation.d.ts +6 -0
  121. package/lib/workflows/validation.d.ts.map +1 -0
  122. package/lib/workflows/validation.js +22 -0
  123. package/lib/workflows/validation.js.map +1 -0
  124. package/package.json +57 -0
  125. package/templates/index.tpl +4 -0
  126. package/templates/interaction.tpl +16 -0
@@ -0,0 +1,191 @@
1
+ import ansiColors from "ansi-colors";
2
+ import ansiEscapes from "ansi-escapes";
3
+ import { onExit } from "signal-exit";
4
+ const spinners = {
5
+ "dots": {
6
+ "interval": 200,
7
+ "frames": [
8
+ ". ",
9
+ ".. ",
10
+ "...",
11
+ " ..",
12
+ " .",
13
+ " "
14
+ ]
15
+ },
16
+ "bar": {
17
+ "interval": 80,
18
+ "frames": [
19
+ "[ ]",
20
+ "[= ]",
21
+ "[== ]",
22
+ "[=== ]",
23
+ "[====]",
24
+ "[ ===]",
25
+ "[ ==]",
26
+ "[ =]",
27
+ ]
28
+ },
29
+ };
30
+ export class Spinner {
31
+ constructor(name = 'dots', stream) {
32
+ Object.defineProperty(this, "data", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
38
+ Object.defineProperty(this, "log", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: void 0
43
+ });
44
+ Object.defineProperty(this, "timer", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: void 0
49
+ });
50
+ Object.defineProperty(this, "style", {
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true,
54
+ value: void 0
55
+ });
56
+ Object.defineProperty(this, "_prefix", {
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true,
60
+ value: ''
61
+ });
62
+ Object.defineProperty(this, "_suffix", {
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true,
66
+ value: ''
67
+ });
68
+ Object.defineProperty(this, "_restoreCursor", {
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true,
72
+ value: false
73
+ });
74
+ this.data = spinners[name];
75
+ this.log = new LogUpdate(stream);
76
+ }
77
+ withStyle(style) {
78
+ this.style = style;
79
+ return this;
80
+ }
81
+ set prefix(value) {
82
+ this._prefix = value;
83
+ }
84
+ get prefix() {
85
+ return this._prefix;
86
+ }
87
+ set suffix(value) {
88
+ this._suffix = value;
89
+ }
90
+ get suffix() {
91
+ return this._suffix;
92
+ }
93
+ start(shodHideCursor = true) {
94
+ if (shodHideCursor) {
95
+ hideCursor(this.log.stream);
96
+ this._restoreCursor = true;
97
+ }
98
+ let i = 0;
99
+ this.timer = setInterval(() => {
100
+ const frames = this.data.frames;
101
+ this.log.print(this.prefix + frames[++i % frames.length] + this.suffix);
102
+ }, this.data.interval);
103
+ return this;
104
+ }
105
+ done(replacement = '') {
106
+ if (this.timer) {
107
+ clearInterval(this.timer);
108
+ this.timer = undefined;
109
+ }
110
+ this.log.clear();
111
+ if (this._prefix) {
112
+ this.log.stream.write(this._prefix);
113
+ }
114
+ if (replacement === true) {
115
+ this.log.stream.write(ansiColors.green(ansiColors.symbols.check));
116
+ }
117
+ else if (replacement === false) {
118
+ this.log.stream.write(ansiColors.red(ansiColors.symbols.cross));
119
+ }
120
+ else {
121
+ this.log.stream.write(replacement);
122
+ }
123
+ if (this._suffix) {
124
+ this.log.stream.write(this._suffix);
125
+ }
126
+ console.log(); // print a new line
127
+ if (this._restoreCursor) {
128
+ showCursor(this.log.stream);
129
+ this._restoreCursor = false;
130
+ }
131
+ return this;
132
+ }
133
+ }
134
+ export class LogUpdate {
135
+ constructor(stream) {
136
+ Object.defineProperty(this, "stream", {
137
+ enumerable: true,
138
+ configurable: true,
139
+ writable: true,
140
+ value: void 0
141
+ });
142
+ Object.defineProperty(this, "last", {
143
+ enumerable: true,
144
+ configurable: true,
145
+ writable: true,
146
+ value: void 0
147
+ });
148
+ this.stream = stream || process.stdout;
149
+ }
150
+ clear() {
151
+ if (this.last && this.stream.isTTY) {
152
+ this.stream.clearLine(0);
153
+ this.stream.cursorTo(0);
154
+ }
155
+ return this;
156
+ }
157
+ print(text) {
158
+ this.clear();
159
+ this.last = text;
160
+ this.stream.write(text);
161
+ return this;
162
+ }
163
+ }
164
+ const streamsToRestore = [];
165
+ let restoreCursorIsRegistered = false;
166
+ export function toggleCursor(show, stream = process.stdout) {
167
+ show ? showCursor(stream) : hideCursor(stream);
168
+ }
169
+ export function showCursor(stream = process.stdout) {
170
+ const i = streamsToRestore.findIndex((s) => s === stream);
171
+ if (i > -1) {
172
+ streamsToRestore.splice(i, 1);
173
+ }
174
+ stream.write(ansiEscapes.cursorShow);
175
+ }
176
+ export function hideCursor(stream = process.stdout) {
177
+ if (!streamsToRestore.includes(stream)) {
178
+ restoreCursotOnExit();
179
+ streamsToRestore.push(stream);
180
+ }
181
+ stream.write(ansiEscapes.cursorHide);
182
+ }
183
+ export function restoreCursotOnExit() {
184
+ if (!restoreCursorIsRegistered) {
185
+ restoreCursorIsRegistered = true;
186
+ onExit(() => {
187
+ streamsToRestore.forEach(stream => showCursor(stream));
188
+ });
189
+ }
190
+ }
191
+ //# sourceMappingURL=console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function readStdin(): Promise<string>;
2
+ export declare function readFile(file: string): string;
3
+ export declare function writeFile(file: string, data: string): void;
4
+ export declare function readJsonFile(file: string): any;
5
+ export declare function writeJsonFile(file: string, data: object): void;
6
+ export declare function makeDir(dir: string): string | undefined;
7
+ //# sourceMappingURL=stdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/utils/stdio.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,oBAU9B;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAEnD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,OAExC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAEvD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,sBAQlC"}
@@ -0,0 +1,35 @@
1
+ import { readFileSync, writeFileSync, mkdirSync } from "fs";
2
+ export async function readStdin() {
3
+ const chunks = [];
4
+ const stdin = process.stdin;
5
+ stdin.resume();
6
+ for await (const buf of stdin) {
7
+ if (buf) {
8
+ chunks.push(buf.toString());
9
+ }
10
+ }
11
+ return chunks.join('');
12
+ }
13
+ export function readFile(file) {
14
+ return readFileSync(file, 'utf8');
15
+ }
16
+ export function writeFile(file, data) {
17
+ return writeFileSync(file, data, 'utf8');
18
+ }
19
+ export function readJsonFile(file) {
20
+ return JSON.parse(readFile(file));
21
+ }
22
+ export function writeJsonFile(file, data) {
23
+ return writeFile(file, JSON.stringify(data, null, 4));
24
+ }
25
+ export function makeDir(dir) {
26
+ try {
27
+ return mkdirSync(dir, { recursive: true });
28
+ }
29
+ catch (err) {
30
+ if (err.code !== 'EEXIST') {
31
+ throw err;
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/utils/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,SAAS;IAC3B,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IACpD,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IAC/B,IAAI,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Command } from "commander";
2
+ export declare function createWorkflowRule(program: Command, options: Record<string, any>): Promise<void>;
3
+ export declare function createOrUpdateWorkflowRule(program: Command, options: Record<string, any>): Promise<void>;
4
+ export declare function deleteWorkflowRule(program: Command, objectId: string, _options: Record<string, any>): Promise<void>;
5
+ export declare function getWorkflowRule(program: Command, objectId: string, options: Record<string, any>): Promise<void>;
6
+ export declare function executeWorkflowByName(program: Command, workflowName: string, options: Record<string, any>): Promise<void>;
7
+ export declare function executeWorkflowRule(program: Command, workflowId: string, options: Record<string, any>): Promise<void>;
8
+ export declare function listWorkflowsRule(program: Command, _options: Record<string, any>): Promise<void>;
9
+ export declare function transpileWorkflow(_program: Command, files: string[], options: Record<string, any>): Promise<void>;
10
+ export declare function createOrUpdateWorkflowDefinition(program: Command, workflowId: string | undefined, options: Record<string, any>): Promise<void>;
11
+ export declare function listWorkflowsDefinition(program: Command, _options: Record<string, any>): Promise<void>;
12
+ export declare function getWorkflowDefinition(program: Command, objectId: string, options: Record<string, any>): Promise<void>;
13
+ export declare function deleteWorkflowDefinition(program: Command, objectId: string, _options: Record<string, any>): Promise<void>;
14
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/workflows/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAyBtF;AAGD,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAkB9F;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAIzG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAWrG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAgB/G;AAGD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAkB3G;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAItF;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAmCvG;AAED,wBAAsB,gCAAgC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAsCpI;AAGD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAI5F;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAU3G;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAG/G"}
@@ -0,0 +1,193 @@
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
+ export async function createWorkflowRule(program, options) {
9
+ const { name, on, run, inputType } = options;
10
+ if (!name) {
11
+ console.log('A name for the worklow is required. Use --name argument');
12
+ process.exit(1);
13
+ }
14
+ if (!on) {
15
+ console.log('An event to trigger the workflow is required. Use --on argument');
16
+ process.exit(1);
17
+ }
18
+ if (!run) {
19
+ console.log('A workflow to run is required. Use --run argument');
20
+ process.exit(1);
21
+ }
22
+ const [event_name, object_type] = on.split(':');
23
+ const workflow = await getClient(program).workflows.rules.create({
24
+ name,
25
+ endpoint: run,
26
+ input_type: inputType ?? WorkflowRuleInputType.single,
27
+ match: {
28
+ event_name,
29
+ object_type
30
+ }
31
+ });
32
+ console.log("Created workflow", workflow.id);
33
+ }
34
+ export async function createOrUpdateWorkflowRule(program, options) {
35
+ const { file, tags } = options;
36
+ if (!file) {
37
+ console.log('A file with the workflow definition is required. Use --file argument');
38
+ process.exit(1);
39
+ }
40
+ const payload = fs.readFileSync(file, 'utf-8');
41
+ const json = JSON.parse(payload);
42
+ if (tags) {
43
+ json.tags = tags;
44
+ }
45
+ const rule = await getClient(program).workflows.rules.create(json);
46
+ console.log("Applied workflow rule", rule.id);
47
+ }
48
+ export async function deleteWorkflowRule(program, objectId, _options) {
49
+ const res = await getClient(program).workflows.rules.delete(objectId);
50
+ console.log(res);
51
+ }
52
+ export async function getWorkflowRule(program, objectId, options) {
53
+ const res = await getClient(program).workflows.rules.retrieve(objectId);
54
+ const pretty = JSON.stringify(res, null, 2);
55
+ if (options.file) {
56
+ fs.writeFileSync(options.file, pretty);
57
+ console.log("Workflow definition saved to", options.file);
58
+ }
59
+ else {
60
+ console.log(pretty);
61
+ }
62
+ }
63
+ export async function executeWorkflowByName(program, workflowName, options) {
64
+ console.log("Executing workflow", workflowName, options);
65
+ const { objectId, vars, file } = options;
66
+ let mergedConfig = {
67
+ objectIds: objectId ? objectId : [],
68
+ vars: vars || {},
69
+ };
70
+ if (file) {
71
+ const payload = JSON.parse(fs.readFileSync(file, 'utf-8'));
72
+ Object.assign(mergedConfig, payload);
73
+ }
74
+ const res = await getClient(program).workflows.execute(workflowName, mergedConfig);
75
+ console.log(res);
76
+ }
77
+ export async function executeWorkflowRule(program, workflowId, options) {
78
+ console.log("Executing workflow", workflowId, options);
79
+ const { objectId, config, file } = options;
80
+ let mergedConfig = config ? {
81
+ ...config,
82
+ } : {};
83
+ if (file) {
84
+ const payload = JSON.parse(fs.readFileSync(file, 'utf-8'));
85
+ mergedConfig = {
86
+ ...payload,
87
+ ...config
88
+ };
89
+ }
90
+ const res = await getClient(program).workflows.rules.execute(workflowId, objectId, mergedConfig);
91
+ console.log(res);
92
+ }
93
+ export async function listWorkflowsRule(program, _options) {
94
+ const res = await getClient(program).workflows.rules.list();
95
+ console.log(res);
96
+ }
97
+ export async function transpileWorkflow(_program, files, options) {
98
+ if (!files || !files.length) {
99
+ console.log('A .ts file argument is required.');
100
+ process.exit(1);
101
+ }
102
+ const out = options.out ? resolve(options.out) : undefined;
103
+ let saveToDir = false;
104
+ try {
105
+ if (out && fs.lstatSync(out).isDirectory()) {
106
+ saveToDir = true;
107
+ }
108
+ }
109
+ catch (err) {
110
+ //ignore
111
+ }
112
+ if (files.length > 1 && !saveToDir) {
113
+ console.log('When multiple files are specified the output must be a directory.');
114
+ process.exit(1);
115
+ }
116
+ for (const file of files) {
117
+ const json = await loadTsWorkflowDefinition(file);
118
+ if (!out) {
119
+ console.log(JSON.stringify(json, null, 2));
120
+ }
121
+ else {
122
+ let outFile;
123
+ if (saveToDir) {
124
+ let fileName = basename(file);
125
+ fileName = fileName.replace('.ts', '.json');
126
+ outFile = join(out, fileName);
127
+ }
128
+ else { // save to file
129
+ outFile = out;
130
+ }
131
+ console.log("Generating file", outFile);
132
+ fs.writeFileSync(outFile, JSON.stringify(json, null, 2));
133
+ }
134
+ }
135
+ }
136
+ export async function createOrUpdateWorkflowDefinition(program, workflowId, options) {
137
+ const { file, tags, skipValidation } = options;
138
+ if (!file) {
139
+ console.log('A file with the workflow definition is required. Use --file argument');
140
+ process.exit(1);
141
+ }
142
+ const isTs = file.endsWith('.ts');
143
+ const loadWorkflow = isTs ? loadTsWorkflowDefinition : loadJSONWorkflowDefinition;
144
+ let json;
145
+ try {
146
+ if (isTs) {
147
+ console.log(`Transpiling file ${file} ...`);
148
+ }
149
+ json = await loadWorkflow(file, skipValidation);
150
+ }
151
+ catch (err) {
152
+ if (err instanceof ValidationError) {
153
+ console.log(err.message);
154
+ process.exit(1);
155
+ }
156
+ else {
157
+ throw err;
158
+ }
159
+ }
160
+ if (tags) {
161
+ json.tags = tags;
162
+ }
163
+ if (workflowId) {
164
+ const res = await getClient(program).workflows.definitions.update(workflowId, json);
165
+ console.log("Updated workflow", res.id);
166
+ return;
167
+ }
168
+ else {
169
+ const res = await getClient(program).workflows.definitions.create(json);
170
+ console.log("Created workflow", res.id);
171
+ }
172
+ }
173
+ export async function listWorkflowsDefinition(program, _options) {
174
+ const res = await getClient(program).workflows.definitions.list();
175
+ console.log(res);
176
+ }
177
+ export async function getWorkflowDefinition(program, objectId, options) {
178
+ const res = await getClient(program).workflows.definitions.retrieve(objectId);
179
+ const pretty = JSON.stringify(res, null, 2);
180
+ if (options.file) {
181
+ fs.writeFileSync(options.file, pretty);
182
+ console.log("Workflow definition saved to", options.file);
183
+ }
184
+ else {
185
+ console.log(pretty);
186
+ }
187
+ }
188
+ export async function deleteWorkflowDefinition(program, objectId, _options) {
189
+ const res = await getClient(program).workflows.definitions.delete(objectId);
190
+ console.log(res);
191
+ }
192
+ ;
193
+ //# 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;AAGpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QAkGxD"}
@@ -0,0 +1,88 @@
1
+ import { createOrUpdateWorkflowDefinition, createOrUpdateWorkflowRule, createWorkflowRule, deleteWorkflowDefinition, deleteWorkflowRule, executeWorkflowByName, executeWorkflowRule, getWorkflowDefinition, getWorkflowRule, listWorkflowsDefinition, listWorkflowsRule, transpileWorkflow } from "./commands.js";
2
+ export function registerWorkflowsCommand(program) {
3
+ const workflows = program.command("workflows");
4
+ const rules = workflows.command("rules");
5
+ rules.command("create")
6
+ .description("Create a new workflow definition.")
7
+ .option('--name [name]', 'The name of the workflow definition to create.')
8
+ .option('--on [event]', 'The event which trigger this workflow. Format: "eventName[:objectType]" where objectType is optional.')
9
+ .option('--run [endpoint]', 'The workflow to run.')
10
+ .action(async (options) => {
11
+ await createWorkflowRule(program, options);
12
+ });
13
+ rules.command("get <workflowId>")
14
+ .description("Get a workflow given its ID")
15
+ .option('-f, --file [file]', 'The file to save the workflow definition to.')
16
+ .action(async (workflowId, options) => {
17
+ await getWorkflowRule(program, workflowId, options);
18
+ });
19
+ rules.command("apply")
20
+ .description("Update a workflow a workflow given its ID")
21
+ .option('-f, --file <file>', 'The file to save the workflow definition to.')
22
+ .action(async (options) => {
23
+ await createOrUpdateWorkflowRule(program, options);
24
+ });
25
+ rules.command("list")
26
+ .description("List all workflows")
27
+ .action(async (options) => {
28
+ await listWorkflowsRule(program, options);
29
+ });
30
+ rules.command("execute <workflowId>")
31
+ .description("Execute a workflow")
32
+ .option('-o, --objectId [objectIds...]', 'The object to execute the workflow on.')
33
+ .option('--vars [vars]', 'workflow vars as an inlined JSON string.')
34
+ .option('-f, --file [file]', 'The file containing workflow execution payload.')
35
+ .action(async (workflowId, options) => {
36
+ await executeWorkflowRule(program, workflowId, options);
37
+ });
38
+ rules.command("delete <objectId>")
39
+ .description("Delete a workflow given its ID")
40
+ .action(async (objectId, options) => {
41
+ await deleteWorkflowRule(program, objectId, options);
42
+ });
43
+ workflows.command("execute <workflowName>")
44
+ .description("Execute a workflow by name")
45
+ .option('-o, --objectId [objectIds...]', 'Optional object to execute the workflow on.')
46
+ .option('--vars', 'The workflow vars as an inline JSON.')
47
+ .option('-f, --file [file]', 'A file containing workflow execution payload.')
48
+ .action(async (workflowName, options) => {
49
+ await executeWorkflowByName(program, workflowName, options);
50
+ });
51
+ const definitions = workflows.command("definitions");
52
+ definitions.command("transpile <files...>")
53
+ .description("Transpile a typescript workflow definition to JSON.")
54
+ .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 stdoud.')
55
+ .action(async (files, options) => {
56
+ await transpileWorkflow(program, files, options);
57
+ });
58
+ definitions.command("create")
59
+ .description("Create a new workflow definition.")
60
+ .option('-f, --file <file>', 'The file containing the workflow definition.')
61
+ .action(async (options) => {
62
+ await createOrUpdateWorkflowDefinition(program, undefined, options);
63
+ });
64
+ definitions.command("apply [workflowId]")
65
+ .description("Create or update a workflow definition using a file.")
66
+ .option('-f, --file <file>', 'The file containing the workflow definition.')
67
+ .option('--skip-validation', 'Skip the validation of the workflow definition.')
68
+ .action(async (workflowId, options) => {
69
+ await createOrUpdateWorkflowDefinition(program, workflowId, options);
70
+ });
71
+ definitions.command("list")
72
+ .description("List all workflow definitions.")
73
+ .action(async (options) => {
74
+ await listWorkflowsDefinition(program, options);
75
+ });
76
+ definitions.command("get <objectId>")
77
+ .description("Get a workflow definition given its ID.")
78
+ .option('-f, --file [file]', 'The file to save the workflow definition to.')
79
+ .action(async (objectId, options) => {
80
+ await getWorkflowDefinition(program, objectId, options);
81
+ });
82
+ definitions.command("delete <objectId>")
83
+ .description("Delete a workflow definition given its ID.")
84
+ .action(async (objectId, options) => {
85
+ await deleteWorkflowDefinition(program, objectId, options);
86
+ });
87
+ }
88
+ //# 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,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAIlH"}
@@ -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 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,UAAU,0BAA0B,CAAC,IAAY,EAAE,iBAA0B,KAAK;IACpF,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAC1C,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,3 @@
1
+ import { DSLWorkflowSpec } from "@vertesia/common";
2
+ export declare function loadTsWorkflowDefinition(file: string, skipValidation?: boolean): Promise<DSLWorkflowSpec>;
3
+ //# sourceMappingURL=ts-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-loader.d.ts","sourceRoot":"","sources":["../../src/workflows/ts-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAmEnD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA+BhH"}