@vertesia/cli 0.77.0 → 0.78.0-dev-9372725

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 (161) hide show
  1. package/package.json +71 -66
  2. package/lib/agent/commands.d.ts +0 -11
  3. package/lib/agent/commands.d.ts.map +0 -1
  4. package/lib/agent/commands.js +0 -173
  5. package/lib/agent/commands.js.map +0 -1
  6. package/lib/agent/connect.d.ts +0 -7
  7. package/lib/agent/connect.d.ts.map +0 -1
  8. package/lib/agent/connect.js +0 -68
  9. package/lib/agent/connect.js.map +0 -1
  10. package/lib/agent/docker-credential.d.ts +0 -2
  11. package/lib/agent/docker-credential.d.ts.map +0 -1
  12. package/lib/agent/docker-credential.js +0 -50
  13. package/lib/agent/docker-credential.js.map +0 -1
  14. package/lib/agent/docker.d.ts +0 -10
  15. package/lib/agent/docker.d.ts.map +0 -1
  16. package/lib/agent/docker.js +0 -93
  17. package/lib/agent/docker.js.map +0 -1
  18. package/lib/agent/index.d.ts +0 -3
  19. package/lib/agent/index.d.ts.map +0 -1
  20. package/lib/agent/index.js +0 -89
  21. package/lib/agent/index.js.map +0 -1
  22. package/lib/agent/project.d.ts +0 -58
  23. package/lib/agent/project.d.ts.map +0 -1
  24. package/lib/agent/project.js +0 -148
  25. package/lib/agent/project.js.map +0 -1
  26. package/lib/agent/refresh.d.ts +0 -6
  27. package/lib/agent/refresh.d.ts.map +0 -1
  28. package/lib/agent/refresh.js +0 -47
  29. package/lib/agent/refresh.js.map +0 -1
  30. package/lib/agent/registry.d.ts +0 -7
  31. package/lib/agent/registry.d.ts.map +0 -1
  32. package/lib/agent/registry.js +0 -47
  33. package/lib/agent/registry.js.map +0 -1
  34. package/lib/agent/version.d.ts +0 -2
  35. package/lib/agent/version.d.ts.map +0 -1
  36. package/lib/agent/version.js +0 -4
  37. package/lib/agent/version.js.map +0 -1
  38. package/lib/client.d.ts +0 -4
  39. package/lib/client.d.ts.map +0 -1
  40. package/lib/client.js +0 -22
  41. package/lib/client.js.map +0 -1
  42. package/lib/codegen/CodeBuilder.d.ts +0 -16
  43. package/lib/codegen/CodeBuilder.d.ts.map +0 -1
  44. package/lib/codegen/CodeBuilder.js +0 -115
  45. package/lib/codegen/CodeBuilder.js.map +0 -1
  46. package/lib/codegen/InteractionVersion.d.ts +0 -29
  47. package/lib/codegen/InteractionVersion.d.ts.map +0 -1
  48. package/lib/codegen/InteractionVersion.js +0 -94
  49. package/lib/codegen/InteractionVersion.js.map +0 -1
  50. package/lib/codegen/index.d.ts +0 -3
  51. package/lib/codegen/index.d.ts.map +0 -1
  52. package/lib/codegen/index.js +0 -30
  53. package/lib/codegen/index.js.map +0 -1
  54. package/lib/codegen/template.d.ts +0 -3
  55. package/lib/codegen/template.d.ts.map +0 -1
  56. package/lib/codegen/template.js +0 -28
  57. package/lib/codegen/template.js.map +0 -1
  58. package/lib/codegen/utils.d.ts +0 -2
  59. package/lib/codegen/utils.d.ts.map +0 -1
  60. package/lib/codegen/utils.js +0 -4
  61. package/lib/codegen/utils.js.map +0 -1
  62. package/lib/datagen/index.d.ts +0 -3
  63. package/lib/datagen/index.d.ts.map +0 -1
  64. package/lib/datagen/index.js +0 -80
  65. package/lib/datagen/index.js.map +0 -1
  66. package/lib/envs/index.d.ts +0 -3
  67. package/lib/envs/index.d.ts.map +0 -1
  68. package/lib/envs/index.js +0 -24
  69. package/lib/envs/index.js.map +0 -1
  70. package/lib/index.d.ts +0 -2
  71. package/lib/index.d.ts.map +0 -1
  72. package/lib/index.js +0 -177
  73. package/lib/index.js.map +0 -1
  74. package/lib/interactions/index.d.ts +0 -3
  75. package/lib/interactions/index.d.ts.map +0 -1
  76. package/lib/interactions/index.js +0 -37
  77. package/lib/interactions/index.js.map +0 -1
  78. package/lib/memory/index.d.ts +0 -3
  79. package/lib/memory/index.d.ts.map +0 -1
  80. package/lib/memory/index.js +0 -15
  81. package/lib/memory/index.js.map +0 -1
  82. package/lib/objects/commands.d.ts +0 -14
  83. package/lib/objects/commands.d.ts.map +0 -1
  84. package/lib/objects/commands.js +0 -240
  85. package/lib/objects/commands.js.map +0 -1
  86. package/lib/objects/index.d.ts +0 -3
  87. package/lib/objects/index.d.ts.map +0 -1
  88. package/lib/objects/index.js +0 -37
  89. package/lib/objects/index.js.map +0 -1
  90. package/lib/package.d.ts +0 -8
  91. package/lib/package.d.ts.map +0 -1
  92. package/lib/package.js +0 -63
  93. package/lib/package.js.map +0 -1
  94. package/lib/profiles/commands.d.ts +0 -20
  95. package/lib/profiles/commands.d.ts.map +0 -1
  96. package/lib/profiles/commands.js +0 -191
  97. package/lib/profiles/commands.js.map +0 -1
  98. package/lib/profiles/index.d.ts +0 -65
  99. package/lib/profiles/index.d.ts.map +0 -1
  100. package/lib/profiles/index.js +0 -324
  101. package/lib/profiles/index.js.map +0 -1
  102. package/lib/profiles/server/cors.d.ts +0 -3
  103. package/lib/profiles/server/cors.d.ts.map +0 -1
  104. package/lib/profiles/server/cors.js +0 -18
  105. package/lib/profiles/server/cors.js.map +0 -1
  106. package/lib/profiles/server/index.d.ts +0 -12
  107. package/lib/profiles/server/index.d.ts.map +0 -1
  108. package/lib/profiles/server/index.js +0 -134
  109. package/lib/profiles/server/index.js.map +0 -1
  110. package/lib/profiles/server/server.d.ts +0 -4
  111. package/lib/profiles/server/server.d.ts.map +0 -1
  112. package/lib/profiles/server/server.js +0 -32
  113. package/lib/profiles/server/server.js.map +0 -1
  114. package/lib/projects/index.d.ts +0 -3
  115. package/lib/projects/index.d.ts.map +0 -1
  116. package/lib/projects/index.js +0 -17
  117. package/lib/projects/index.js.map +0 -1
  118. package/lib/run/executor.d.ts +0 -22
  119. package/lib/run/executor.d.ts.map +0 -1
  120. package/lib/run/executor.js +0 -182
  121. package/lib/run/executor.js.map +0 -1
  122. package/lib/run/index.d.ts +0 -3
  123. package/lib/run/index.d.ts.map +0 -1
  124. package/lib/run/index.js +0 -192
  125. package/lib/run/index.js.map +0 -1
  126. package/lib/runs/index.d.ts +0 -3
  127. package/lib/runs/index.d.ts.map +0 -1
  128. package/lib/runs/index.js +0 -48
  129. package/lib/runs/index.js.map +0 -1
  130. package/lib/utils/console.d.ts +0 -42
  131. package/lib/utils/console.d.ts.map +0 -1
  132. package/lib/utils/console.js +0 -256
  133. package/lib/utils/console.js.map +0 -1
  134. package/lib/utils/stdio.d.ts +0 -7
  135. package/lib/utils/stdio.d.ts.map +0 -1
  136. package/lib/utils/stdio.js +0 -35
  137. package/lib/utils/stdio.js.map +0 -1
  138. package/lib/workflows/commands.d.ts +0 -14
  139. package/lib/workflows/commands.d.ts.map +0 -1
  140. package/lib/workflows/commands.js +0 -232
  141. package/lib/workflows/commands.js.map +0 -1
  142. package/lib/workflows/index.d.ts +0 -3
  143. package/lib/workflows/index.d.ts.map +0 -1
  144. package/lib/workflows/index.js +0 -117
  145. package/lib/workflows/index.js.map +0 -1
  146. package/lib/workflows/json-loader.d.ts +0 -3
  147. package/lib/workflows/json-loader.d.ts.map +0 -1
  148. package/lib/workflows/json-loader.js +0 -16
  149. package/lib/workflows/json-loader.js.map +0 -1
  150. package/lib/workflows/streams.d.ts +0 -2
  151. package/lib/workflows/streams.d.ts.map +0 -1
  152. package/lib/workflows/streams.js +0 -419
  153. package/lib/workflows/streams.js.map +0 -1
  154. package/lib/workflows/ts-loader.d.ts +0 -3
  155. package/lib/workflows/ts-loader.d.ts.map +0 -1
  156. package/lib/workflows/ts-loader.js +0 -94
  157. package/lib/workflows/ts-loader.js.map +0 -1
  158. package/lib/workflows/validation.d.ts +0 -6
  159. package/lib/workflows/validation.d.ts.map +0 -1
  160. package/lib/workflows/validation.js +0 -22
  161. package/lib/workflows/validation.js.map +0 -1
@@ -1,94 +0,0 @@
1
- import { readFileSync, rmSync, writeFileSync } from "fs";
2
- import { basename, resolve } from "path";
3
- import * as ts from "typescript";
4
- import { ValidationError, validateWorkflow } from "./validation.js";
5
- function compile(fileNames, options) {
6
- let program = ts.createProgram(fileNames, {
7
- ...options,
8
- listEmittedFiles: true,
9
- });
10
- let emitResult = program.emit();
11
- let allDiagnostics = ts
12
- .getPreEmitDiagnostics(program)
13
- .concat(emitResult.diagnostics);
14
- let errors = 0;
15
- allDiagnostics.forEach(diagnostic => {
16
- let prefix = '';
17
- const categories = new Set();
18
- if (diagnostic.relatedInformation && diagnostic.relatedInformation.length > 0) {
19
- for (const ri of diagnostic.relatedInformation) {
20
- categories.add(ri.category);
21
- }
22
- if (categories.has(ts.DiagnosticCategory.Error)) {
23
- prefix: 'Error: ';
24
- errors++;
25
- }
26
- else if (categories.has(ts.DiagnosticCategory.Warning)) {
27
- prefix: 'Warning: ';
28
- }
29
- else if (categories.has(ts.DiagnosticCategory.Suggestion)) {
30
- prefix: 'Suggestion: ';
31
- }
32
- }
33
- if (diagnostic.file) {
34
- let { line, character } = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
35
- let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
36
- console.log(`${prefix}${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
37
- }
38
- else {
39
- console.log(prefix + ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
40
- }
41
- });
42
- return {
43
- errors,
44
- emittedFiles: emitResult.emittedFiles
45
- };
46
- }
47
- function transpileFile(source, target, options) {
48
- const input = readFileSync(source, "utf-8");
49
- // now simply transpile the module to javascript
50
- const output = ts.transpileModule(input, {
51
- compilerOptions: options
52
- });
53
- writeFileSync(target, output.outputText, "utf-8");
54
- }
55
- function tryDeleteFile(file) {
56
- try {
57
- rmSync(file);
58
- }
59
- catch (_er) {
60
- // ignore
61
- }
62
- }
63
- export function loadTsWorkflowDefinition(file, skipValidation = false) {
64
- if (!file.endsWith('.ts')) {
65
- throw new Error("Not a type script file: " + file);
66
- }
67
- file = resolve(file);
68
- const baseOptions = {
69
- skipLibCheck: true,
70
- moduleResolution: ts.ModuleResolutionKind.Bundler,
71
- module: ts.ModuleKind.ESNext,
72
- target: ts.ScriptTarget.ESNext,
73
- };
74
- // we nly use compile to find errors. To generate the code we use transpileModule
75
- // since the compile will generate js files for all the dependencies.
76
- const result = compile([file], {
77
- ...baseOptions,
78
- noEmit: true
79
- });
80
- if (result.errors > 0) {
81
- console.log(`Found ${result.errors} in typescript compilation. Aborting.`);
82
- process.exit(1);
83
- }
84
- const fname = basename(file).slice(0, -3);
85
- const emittedFile = resolve(`__${fname}.mjs`);
86
- transpileFile(file, emittedFile, baseOptions);
87
- return import(emittedFile).then(module => {
88
- if (!module.default || typeof module.default !== "object") {
89
- throw new ValidationError("Workflow module does not export a default object");
90
- }
91
- return skipValidation ? module.default : validateWorkflow(module.default);
92
- }).finally(() => tryDeleteFile(emittedFile));
93
- }
94
- //# sourceMappingURL=ts-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts-loader.js","sourceRoot":"","sources":["../../src/workflows/ts-loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { DSLWorkflowSpec } from "@vertesia/common";
2
- export declare class ValidationError extends Error {
3
- constructor(message: string);
4
- }
5
- export declare function validateWorkflow(spec: DSLWorkflowSpec): DSLWorkflowSpec;
6
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/workflows/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,qBAAa,eAAgB,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI9B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAavE"}
@@ -1,22 +0,0 @@
1
- import { validateWorkflow as validate } from "@vertesia/workflow/vars";
2
- export class ValidationError extends Error {
3
- constructor(message) {
4
- super("Invalid workflow definition: " + message);
5
- this.name = "ValidationError";
6
- }
7
- }
8
- export function validateWorkflow(spec) {
9
- const errors = validate(spec);
10
- if (errors && errors.length > 0) {
11
- console.log("");
12
- console.log("# ");
13
- console.log("# The workflow has validation errors:");
14
- console.log("# ");
15
- console.log("");
16
- console.log(errors.map((v, i) => `${i + 1}. ${v}`).join("\n"));
17
- console.log("");
18
- throw new ValidationError("Exiting because of validation errors.");
19
- }
20
- return spec;
21
- }
22
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/workflows/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACtC,YAAY,OAAe;QACvB,KAAK,CAAC,+BAA+B,GAAG,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqB;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}