@kumori/kdsl 0.0.15 → 0.0.16

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 (92) hide show
  1. package/dist/build/deployment_spec.d.ts +1133 -19642
  2. package/dist/build/deployment_spec.js +14 -13
  3. package/dist/build/deployment_spec.js.map +1 -1
  4. package/dist/build/helpers/builtin.js +7 -9
  5. package/dist/build/helpers/builtin.js.map +1 -1
  6. package/dist/build/helpers/component.d.ts +2 -2
  7. package/dist/build/helpers/component.js +28 -28
  8. package/dist/build/helpers/component.js.map +1 -1
  9. package/dist/build/helpers/connector.js +4 -5
  10. package/dist/build/helpers/connector.js.map +1 -1
  11. package/dist/build/helpers/deployment.d.ts +96 -96
  12. package/dist/build/helpers/deployment.js +8 -9
  13. package/dist/build/helpers/deployment.js.map +1 -1
  14. package/dist/build/helpers/resource.d.ts +4 -4
  15. package/dist/build/helpers/service.d.ts +1 -1
  16. package/dist/build/helpers/service.js +29 -32
  17. package/dist/build/helpers/service.js.map +1 -1
  18. package/dist/build/helpers/utils.d.ts +8 -0
  19. package/dist/build/helpers/utils.js +23 -1
  20. package/dist/build/helpers/utils.js.map +1 -1
  21. package/dist/build/main.js +51 -2
  22. package/dist/build/main.js.map +1 -1
  23. package/dist/build/solution.js +2 -3
  24. package/dist/build/solution.js.map +1 -1
  25. package/dist/check/main.js +1 -1
  26. package/dist/check/main.js.map +1 -1
  27. package/dist/deployment/gen/deployment-template.kumori +33 -0
  28. package/dist/deployment/gen/main.d.ts +15 -0
  29. package/dist/deployment/gen/main.js +158 -0
  30. package/dist/deployment/gen/main.js.map +1 -0
  31. package/dist/deployment/gen/types.d.ts +27 -0
  32. package/dist/deployment/gen/types.js +2 -0
  33. package/dist/deployment/gen/types.js.map +1 -0
  34. package/dist/deployment/main.d.ts +8 -0
  35. package/dist/deployment/main.js +17 -0
  36. package/dist/deployment/main.js.map +1 -0
  37. package/dist/index/create/main.js +38 -16
  38. package/dist/index/create/main.js.map +1 -1
  39. package/dist/lib/build.js +42 -28
  40. package/dist/lib/build.js.map +1 -1
  41. package/dist/lib/check.js +45 -15
  42. package/dist/lib/check.js.map +1 -1
  43. package/dist/lib/clean.js +39 -1
  44. package/dist/lib/deployment.d.ts +35 -0
  45. package/dist/lib/deployment.js +31 -0
  46. package/dist/lib/deployment.js.map +1 -0
  47. package/dist/lib/index-cmd.js +60 -57
  48. package/dist/lib/index-cmd.js.map +1 -1
  49. package/dist/lib/index.d.ts +2 -0
  50. package/dist/lib/index.js +54 -117
  51. package/dist/lib/index.js.map +1 -1
  52. package/dist/lib/logger.js +1 -1
  53. package/dist/lib/logger.js.map +1 -1
  54. package/dist/lib/mod.js +144 -70
  55. package/dist/lib/mod.js.map +1 -1
  56. package/dist/lib/registry.d.ts +4 -4
  57. package/dist/lib/registry.js +67 -1
  58. package/dist/lib/registry.js.map +1 -1
  59. package/dist/main.js +2 -0
  60. package/dist/main.js.map +1 -1
  61. package/dist/mod/dependency/main.js +17 -10
  62. package/dist/mod/dependency/main.js.map +1 -1
  63. package/dist/mod/download/functions.js +5 -5
  64. package/dist/mod/download/functions.js.map +1 -1
  65. package/dist/mod/download/main.js +12 -2
  66. package/dist/mod/download/main.js.map +1 -1
  67. package/dist/mod/init/main.js +1 -1
  68. package/dist/mod/init/main.js.map +1 -1
  69. package/dist/mod/jsonschema/gen/main.js +14 -7
  70. package/dist/mod/jsonschema/gen/main.js.map +1 -1
  71. package/dist/mod/jsonschema/get/main.js +10 -2
  72. package/dist/mod/jsonschema/get/main.js.map +1 -1
  73. package/dist/mod/update/main.js +3 -4
  74. package/dist/mod/update/main.js.map +1 -1
  75. package/dist/registry/add.d.ts +1 -1
  76. package/dist/registry/add.js +12 -7
  77. package/dist/registry/add.js.map +1 -1
  78. package/dist/util/err-format.js +1 -2
  79. package/dist/util/err-format.js.map +1 -1
  80. package/dist/version.js +1 -2
  81. package/dist/version.js.map +1 -1
  82. package/out/deployment/gen/deployment-template.kumori +33 -0
  83. package/out/deployment-template.kumori +33 -0
  84. package/out/main.cjs +378 -209
  85. package/package.json +20 -14
  86. package/out/lib/build.cjs +0 -29
  87. package/out/lib/check.cjs +0 -16
  88. package/out/lib/clean.cjs +0 -2
  89. package/out/lib/index-cmd.cjs +0 -58
  90. package/out/lib/index.cjs +0 -118
  91. package/out/lib/mod.cjs +0 -71
  92. package/out/lib/registry.cjs +0 -2
@@ -15,7 +15,7 @@ import { basename } from "path";
15
15
  */
16
16
  export function ComponentImageToSolutionJSON(image) {
17
17
  if (typeof image === "string") {
18
- return Result.orElse(Result.map(ParseOCIString(image), (v) => { var _a, _b; return ({ tag: v.tag, hub: { name: v.hub, secret: typeof image === "string" ? "" : (_b = (_a = image.hub) === null || _a === void 0 ? void 0 : _a.secret) !== null && _b !== void 0 ? _b : "" } }); }), err => { throw new Error(err); });
18
+ return Result.orElse(Result.map(ParseOCIString(image), (v) => ({ tag: v.tag, hub: { name: v.hub, secret: typeof image === "string" ? "" : image.hub?.secret ?? "" } })), err => { throw new Error(err); });
19
19
  }
20
20
  else {
21
21
  return image;
@@ -52,4 +52,26 @@ export function ReferenceUpdater(KumoriModules, node) {
52
52
  }
53
53
  return updates;
54
54
  }
55
+ /**
56
+ * Constructs a reference path string from a given Reference object.
57
+ * The path is formed by concatenating the domain and module properties.
58
+ *
59
+ * @param ref - The Reference object containing domain and module information.
60
+ * @returns A string representing the reference path in the format "domain/module".
61
+ */
62
+ export function GetReferencePath(ref) {
63
+ let path = "";
64
+ if (ref.domain !== "") {
65
+ path += `${ref.domain}`;
66
+ if (ref.module !== "") {
67
+ path += `/${ref.module}`;
68
+ }
69
+ }
70
+ else {
71
+ if (ref.module !== "") {
72
+ path += ref.module;
73
+ }
74
+ }
75
+ return path;
76
+ }
55
77
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/build/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AACxD,OAAO,EAAW,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAI/B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAqB;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,GAAG,CACN,cAAc,CAAC,KAAK,CAAC,EACrB,CAAC,CAA+B,EAAE,EAAE,eAAC,OAAA,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAA,MAAC,KAAe,CAAC,GAAG,0CAAE,MAAM,mCAAI,EAAE,EAAC,EAAE,CAAC,CAAA,EAAA,CAC1J,EACD,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAClC,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAA4B,EAAE,IAAyB;IACpF,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA;IAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACjF,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAEpC,MAAM,OAAO,GAAiC,EAAE,CAAA;IAChD,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACf,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAClD,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/build/helpers/utils.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import path from "node:path";
14
14
  import { Check } from "../check/main.js";
15
15
  import { promises as nodefs } from "node:fs";
16
16
  import { RegistryManager } from "@kumori/kdsl-lsp/module/registry/manager.js";
17
+ import { GetReferencePath } from "./helpers/utils.js";
17
18
  export function Register(cmd, log) {
18
19
  const c = cmd.command('build')
19
20
  .argument('[package]', `package containing the target deployment, defaults to current directory`, '.')
@@ -62,7 +63,7 @@ export async function BuildImpl(log, svcs, pkgStr, target) {
62
63
  log.error(err);
63
64
  return Err([err]);
64
65
  }
65
- const locctx = Object.assign({ FS: fs }, ctx.value);
66
+ const locctx = { FS: fs, ...ctx.value };
66
67
  const missing = await MissingDependencies(locctx);
67
68
  if (missing.size > 0) {
68
69
  const errs = [`error: missing modules`];
@@ -79,6 +80,7 @@ export async function BuildImpl(log, svcs, pkgStr, target) {
79
80
  }
80
81
  const checkResult = await Check(log, svcs, ctx.value);
81
82
  if (Result.isErr(checkResult)) {
83
+ log.error(`failed to check modules ${checkResult.err.join("\n")}`);
82
84
  return checkResult;
83
85
  }
84
86
  const pkgUri = UriUtils.joinPath(ctx.value.Current.Root, pkgStr);
@@ -116,6 +118,53 @@ export async function BuildImpl(log, svcs, pkgStr, target) {
116
118
  const solutionPath = path.join(pkgUri.fsPath, 'solution.json');
117
119
  await nodefs.writeFile(solutionPath, solutionResult.value, 'utf-8');
118
120
  log.info(`solution.json written to ${solutionPath}`);
121
+ // Generate the config JSON
122
+ // The config JSON is essentially the representation in JSON of the deployment artifact
123
+ const configContent = JSON.parse(solutionResult.value);
124
+ // Find the name of the deployment from the AST. In the manifest, we specified a name, we have to use that.
125
+ // To do that, we look for the StructEntry with key "name" in the deployment.
126
+ const configDeploymentName = deployment.body.stmt.find(s => s.$type === 'StructEntry' && s.key === 'name');
127
+ // This is just for type safety
128
+ assert(configDeploymentName && configDeploymentName.$type === 'StructEntry' && configDeploymentName.value.$type === 'StringLiteralExpression');
129
+ const configDeployment = configContent.deployments[configDeploymentName.value.value];
130
+ // Remove the description and spec fields from the artifact, as it's not needed in deployment-config.json
131
+ if (configDeployment && configDeployment.artifact) {
132
+ delete configDeployment.artifact.description;
133
+ delete configDeployment.artifact.spec;
134
+ }
135
+ // To enable better support for converting back from a JSON config to a deployment artifact,
136
+ // we write additional fields to the artifact.ref section. In particular, we add the package
137
+ // and rewrite the artifact name
138
+ // First, find the artifact declared in the deployment
139
+ const configDeploymentArtifact = deployment.body.stmt.find(s => s.$type === 'StructEntry' && s.key === 'artifact');
140
+ assert(configDeploymentArtifact && configDeploymentArtifact.$type === 'StructEntry');
141
+ assert(configDeploymentArtifact.value.$type === 'IdentifierExpression');
142
+ // Now, the package field needs to contain the route to the artifact within the module
143
+ // and the name of the package, if exists.
144
+ // We would get something like: "kumori.examples/module/path/to/artifact"
145
+ assert(configDeploymentArtifact.value.value.ref);
146
+ const artifactRef = configDeployment.artifact.ref;
147
+ const artifactRefPath = GetReferencePath(artifactRef);
148
+ // We not have the artifact module path. Now, let's find in the deployment's imports
149
+ // the import that matches this module path.
150
+ // We would get something like: "kumori.examples/module/path/to/artifact/service"
151
+ const artifactImport = deployment.$container.imports.find(imp => imp.target.$refText.includes(artifactRefPath))?.target.$refText;
152
+ // Finally, remove the artifact reference path from the artifact import, and we will be left with
153
+ // the actual path within the module.
154
+ // We would be left with just "service" (that's why we add 1 to the substring, to remove the trailing slash)
155
+ const artifactPath = artifactImport?.substring(artifactRefPath.length + 1);
156
+ // Now, set the package and name fields in the configDeployment.artifact.ref
157
+ configDeployment.artifact.ref.package = artifactPath ? artifactPath + "/" + configDeploymentArtifact.value.value.$refText : "";
158
+ if (configDeploymentArtifact.value.next) {
159
+ assert(configDeploymentArtifact.value.next.$type === 'IdentifierExpression');
160
+ configDeployment.artifact.ref.name = configDeploymentArtifact.value.next.value.$refText;
161
+ }
162
+ else {
163
+ configDeployment.artifact.ref.name = configDeploymentArtifact.value.value.$refText;
164
+ }
165
+ const configPath = path.join(pkgUri.fsPath, 'deployment-config.json');
166
+ await nodefs.writeFile(configPath, JSON.stringify(configDeployment, null, 2), 'utf-8');
167
+ log.info(`deployment-config.json written to ${configPath}`);
119
168
  return Ok(undefined);
120
169
  }
121
170
  async function MissingDependencies(ctx, missing = new Set()) {
@@ -130,7 +179,7 @@ async function MissingDependencies(ctx, missing = new Set()) {
130
179
  }
131
180
  const mod = await ModuleContext.Move(ctx, ctx.FS, descriptor.value.Root);
132
181
  assert(Result.isOk(mod));
133
- const subctx = Object.assign(Object.assign({}, ctx), mod.value);
182
+ const subctx = { ...ctx, ...mod.value };
134
183
  await MissingDependencies(subctx, missing);
135
184
  }
136
185
  return missing;
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/build/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/build/main.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,6 @@ export function GenerateSolution(log, svcs, deployment) {
25
25
  * @returns Result with the generated solution as a JSON string, or string[] of errors
26
26
  */
27
27
  export function GenerateSolutionResult(log, svcs, deployment) {
28
- var _a, _b;
29
28
  const types = svcs.validation.KumoriTypeSystem;
30
29
  const [{ Value: dep }, errs] = types.Eval(svcs.validation.KumoriValidations.ctx(), deployment);
31
30
  if (errs.length !== 0) {
@@ -33,7 +32,7 @@ export function GenerateSolutionResult(log, svcs, deployment) {
33
32
  for (const err of errs) {
34
33
  const node = err.node;
35
34
  const doc = AstUtils.getDocument(node);
36
- const pos = ((_a = node.$cstNode) === null || _a === void 0 ? void 0 : _a.range.start) || { line: 0, character: 0 };
35
+ const pos = node.$cstNode?.range.start || { line: 0, character: 0 };
37
36
  const msg = `${doc.uri.fsPath}:${pos.line}:${pos.character}: type error: ${err.message}`;
38
37
  log.error(msg);
39
38
  errorMessages.push(msg);
@@ -47,7 +46,7 @@ export function GenerateSolutionResult(log, svcs, deployment) {
47
46
  for (const err of result.err) {
48
47
  const node = err.node;
49
48
  const doc = AstUtils.getDocument(node);
50
- const pos = ((_b = node.$cstNode) === null || _b === void 0 ? void 0 : _b.range.start) || { line: 0, character: 0 };
49
+ const pos = node.$cstNode?.range.start || { line: 0, character: 0 };
51
50
  const msg = `${doc.uri.fsPath}:${pos.line}:${pos.character}: json conversion error: ${err.message}`;
52
51
  log.error(msg);
53
52
  errorMessages.push(msg);
@@ -1 +1 @@
1
- {"version":3,"file":"solution.js","sourceRoot":"","sources":["../../src/build/solution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solution.js","sourceRoot":"","sources":["../../src/build/solution.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export function Action(log) {
27
27
  const svcs = createKumoriServices(NodeFileSystem).Kumori;
28
28
  const fs = svcs.shared.workspace.FileSystemProvider;
29
29
  const ErrHandler = (v) => DefaultErrHandler(log, v);
30
- const ctx = ErrHandler(Result.mapErr(await ModuleContext(fs, URI.file(path.resolve(target !== null && target !== void 0 ? target : "."))), (err) => [err]));
30
+ const ctx = ErrHandler(Result.mapErr(await ModuleContext(fs, URI.file(path.resolve(target ?? "."))), (err) => [err]));
31
31
  ErrHandler(await Check(log, svcs, ctx));
32
32
  };
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/check/main.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAyC,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,GAAc;IACnD,MAAM,CAAC,GAAG,GAAG;SACV,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,aAAa,EAAE,sCAAsC,CAAC;SAC/D,WAAW,CAAC,WAAW,CAAC;SACxB,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACtB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,OAAO,GAAG,iCAAiC,CAAA;AACjD,MAAM,WAAW,GAAG;CACnB,CAAC,IAAI,EAAE,CAAA;AAGR,MAAM,UAAU,MAAM,CAAC,GAAc;IACnC,OAAO,KAAK,EAAE,MAAM,EAAiB,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;QACrC,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAE7B,MAAM,IAAI,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAA;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAA;QACnD,MAAM,UAAU,GAAG,CAAI,CAAsB,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAE3E,MAAM,GAAG,GAAG,UAAU,CACpB,MAAM,CAAC,MAAM,CACX,MAAM,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC,CAAC,CAAC,EAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CACf,CACF,CAAA;QACD,UAAU,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EACxB,GAAc,EACd,IAAoB,EACpB,GAAkB,EACe,EAAE;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;IAE5B,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACxD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,EAAE,CAAO,SAAS,CAAC,CAAA;AAC5B,CAAC,CAAA;AAOD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAAoB,EACpB,GAAkB,EACqB,EAAE;IACzC,MAAM,GAAG,GAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAA;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;IAE7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QACvB,IAAI,IAAI,CAAC,GAAG,YAAY,KAAK,EAAE,CAAC;YAC9B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;QACxB,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAA;QACpE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAA;IACjD,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IAEtE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAA;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAA;IAErD,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACrC,IAAI,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,EAAE,CAAO,SAAS,CAAC,CAAA;AAC5B,CAAC,CAAA;AAGD,SAAS,UAAU,CAAC,GAA6B,EAAE,GAAgB;IACjE,OAAO,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAA;AAC/H,CAAC;AAGD,SAAS,WAAW,CAAC,GAA6B,EAAE,GAAiB;IACnE,OAAO,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAA;AACtJ,CAAC;AAMD,SAAS,eAAe,CACtB,GAA6B,EAC7B,GAAgB;IAEhB,OAAO,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAA;AAC7J,CAAC;AAED,eAAe,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/check/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import (
2
+ {{#each imports}}
3
+ "{{this}}"
4
+ {{/each}}
5
+ )
6
+
7
+ deployment {
8
+ name "{{name}}"
9
+ artifact {{artifact}}
10
+ resilience {{resilience}}
11
+
12
+ config {
13
+ {{#each config}}
14
+ {{this}}
15
+ {{/each}}
16
+ }
17
+
18
+ resource {
19
+ {{#each resources}}
20
+ {{this}}
21
+ {{/each}}
22
+ }
23
+
24
+ {{#if scale}}
25
+ scale {
26
+ {{#each scale}}
27
+ {{this}}
28
+ {{/each}}
29
+ }
30
+ {{else}}
31
+ scale {{scaleValue}}
32
+ {{/if}}
33
+ }
@@ -0,0 +1,15 @@
1
+ import { Result } from "@kumori/kdsl-lsp/util/result.js";
2
+ import { Command } from "@commander-js/extra-typings";
3
+ import { CommanderActionParams } from "../../util.js";
4
+ import { KumoriServices } from "@kumori/kdsl-lsp/language/kumori.js";
5
+ import { ILogLayer } from "loglayer";
6
+ export declare const Description: string;
7
+ declare const _default: {
8
+ Register: typeof Register;
9
+ };
10
+ export default _default;
11
+ export declare function Register(cmd: Command, log: ILogLayer): Command<[string, string], {}, {}>;
12
+ export type Exec = CommanderActionParams<ReturnType<typeof Register>>;
13
+ export type Params = Parameters<Exec>;
14
+ export declare function Action(log: ILogLayer): Exec;
15
+ export declare function GenDeployment(log: ILogLayer, svcs: KumoriServices, input: string, output: string): Promise<Result<void, string[]>>;
@@ -0,0 +1,158 @@
1
+ import { Err, Ok } from "@kumori/kdsl-lsp/util/result.js";
2
+ import { NodeFileSystem } from "langium/node";
3
+ import { URI } from "langium";
4
+ import { createKumoriServices, } from "@kumori/kdsl-lsp/language/kumori.js";
5
+ import Handlebars from "handlebars";
6
+ import * as files from "node:fs";
7
+ import * as path from "node:path";
8
+ const Summary = `generates a deployment based on a deployment config JSON`;
9
+ export const Description = `
10
+ After running the command kdsl build, which generates a deployment-config.json file containing
11
+ the JSON representation of a particular deployment, this command can be used to generate the corresponding
12
+ deployment artifact in Kumori DSL syntax.
13
+
14
+ Sometimes it is really useful to apply patches directly to the JSON representation of a deployment,
15
+ and then regenerate the Kumori DSL source code for that deployment. This command facilitates that process.
16
+
17
+ This command attempts to search for a deployment-config.json file in the current working directory,
18
+ and generates a deployment artifact file named generated-deployment.kumori in the same directory.
19
+
20
+ Additionally, you can specify a different path to where the deployment-config.json file is located as well
21
+ as a different output path for the generated Kumori DSL file.
22
+
23
+ Examples:
24
+ kdsl deployment gen
25
+ kdsl deployment gen path/to/deployment-config.json
26
+ kdsl deployment gen path/to/deployment-config.json path/to/output/generated-deployment.kumori
27
+ `.trim();
28
+ export default { Register };
29
+ export function Register(cmd, log) {
30
+ const c = cmd
31
+ .command("generate")
32
+ .alias("gen")
33
+ .argument("[input]", `path to deployment-config.json file`, "deployment-config.json")
34
+ .argument("[output]", `path to output generated Kumori DSL file`, "generated-deployment.kumori")
35
+ .summary(Summary)
36
+ .description(Description)
37
+ .helpOption(true)
38
+ .action(Action(log));
39
+ return c;
40
+ }
41
+ export function Action(log) {
42
+ return async (input = "deployment-config.json", output = "generated-deployment.kumori") => {
43
+ const svcs = createKumoriServices(NodeFileSystem).Kumori;
44
+ await GenDeployment(log, svcs, input, output);
45
+ };
46
+ }
47
+ export async function GenDeployment(log, svcs, input, output) {
48
+ // Read the input file
49
+ const fs = svcs.shared.workspace.FileSystemProvider;
50
+ let inputFile = "";
51
+ try {
52
+ const inputFilePath = path.resolve(input);
53
+ inputFile = fs.readFileSync(URI.file(inputFilePath));
54
+ }
55
+ catch (e) {
56
+ log.error(`Input file not found: ${input} error: ${e}`);
57
+ return Err([`Input file not found: ${input} error: ${e}`]);
58
+ }
59
+ // Parse the JSON
60
+ let deploymentJson;
61
+ try {
62
+ deploymentJson = JSON.parse(inputFile);
63
+ }
64
+ catch (e) {
65
+ log.error(`Failed to parse JSON from input file: ${input} error: ${e}`);
66
+ return Err([`Failed to parse JSON from input file: ${input} error: ${e}`]);
67
+ }
68
+ const name = deploymentJson.name;
69
+ const resilience = deploymentJson.config.resilience;
70
+ // Build the import path for our artifact. If package is empty, we skip it.
71
+ // Otherwise, we import everything up until the last slash of the package, which is the actual route
72
+ // to the artifact within the module
73
+ let artifactImport = undefined;
74
+ const lastSlash = deploymentJson.artifact.ref.package.lastIndexOf("/");
75
+ if (deploymentJson.artifact.ref.package !== "") {
76
+ artifactImport =
77
+ deploymentJson.artifact.ref.domain +
78
+ "/" +
79
+ deploymentJson.artifact.ref.module +
80
+ "/" +
81
+ deploymentJson.artifact.ref.package.substring(0, lastSlash);
82
+ }
83
+ const imports = artifactImport ? [artifactImport] : [];
84
+ // Build the artifact name <package>.<name>
85
+ // Again, if the package is empty, we just need to use the name
86
+ const artifact = deploymentJson.artifact.ref.package !== ""
87
+ ? deploymentJson.artifact.ref.package.substring(lastSlash + 1) +
88
+ "." +
89
+ deploymentJson.artifact.ref.name
90
+ : deploymentJson.artifact.ref.name;
91
+ const resources = [];
92
+ Object.entries(deploymentJson.config.resource).forEach(([key, value]) => {
93
+ const resourceName = Object.entries(Object(value))[0][1];
94
+ // First letter always uppercase for the resource type
95
+ const resourceType = Object.entries(Object(value))[0][0].charAt(0).toUpperCase() +
96
+ Object.entries(Object(value))[0][0].slice(1);
97
+ const resource = `${key} kumori.${resourceType}("${resourceName}")`;
98
+ resources.push(resource);
99
+ });
100
+ // Make sure to import "kumori" as well if we have resources
101
+ if (Object.keys(deploymentJson.config.resource).length > 0) {
102
+ if (!imports.includes("kumori")) {
103
+ imports.push("kumori");
104
+ }
105
+ }
106
+ const config = [];
107
+ Object.entries(deploymentJson.config.parameter).forEach(([key, value]) => {
108
+ const formattedValue = typeof value === "string" ? `"${value}"` : value;
109
+ config.push(`${key} ${formattedValue}`);
110
+ // If the value starts with "<something>.", we must import that as well
111
+ const splitValue = String(value).split(".");
112
+ if (splitValue.length == 2 && splitValue[1] != "") {
113
+ const importName = splitValue[0];
114
+ if (!imports.includes(importName)) {
115
+ imports.push(importName);
116
+ }
117
+ }
118
+ });
119
+ const scale = [];
120
+ let scaleValue = -1;
121
+ // We do not include inbound roles, they are always 1
122
+ // If the artifact is a component, we can define the scale as just a number
123
+ if (deploymentJson.artifact.ref.kind === "component") {
124
+ scaleValue = Object(deploymentJson.config.scale).hsize;
125
+ }
126
+ else {
127
+ Object.entries(deploymentJson.config.scale.detail)
128
+ .filter(([key]) => key !== "Inbound")
129
+ .forEach(([key, value]) => {
130
+ scale.push(`${key} ${Object(value).hsize}`);
131
+ });
132
+ }
133
+ // Call handlebars to generate the output file
134
+ const templateFile = fs.readFileSync(URI.file(new URL("./deployment-template.kumori", import.meta.url).pathname));
135
+ const template = Handlebars.compile(templateFile, { noEscape: true });
136
+ const outputFile = template({
137
+ name,
138
+ artifact,
139
+ resilience,
140
+ imports,
141
+ config,
142
+ scale,
143
+ scaleValue,
144
+ resources,
145
+ });
146
+ // Write the output file
147
+ try {
148
+ const outputFilePath = path.resolve(output);
149
+ files.writeFileSync(outputFilePath, outputFile);
150
+ log.info(`Generated deployment artifact at: ${output}`);
151
+ }
152
+ catch (e) {
153
+ log.error(`Failed to write output file: ${output} error: ${e}`);
154
+ return Err([`Failed to write output file: ${output} error: ${e}`]);
155
+ }
156
+ return Ok(undefined);
157
+ }
158
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/deployment/gen/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type DeploymentJson = {
2
+ name: string;
3
+ config: {
4
+ parameter: Record<string, {
5
+ [k: string]: unknown;
6
+ }>;
7
+ resource: Record<string, {
8
+ [k: string]: unknown;
9
+ }>;
10
+ resilience: number;
11
+ scale: {
12
+ detail: Record<string, {
13
+ hsize: number;
14
+ }>;
15
+ };
16
+ };
17
+ artifact: {
18
+ ref: {
19
+ version: [number, number, number];
20
+ kind: "service" | "component" | string;
21
+ domain: string;
22
+ module: string;
23
+ name: string;
24
+ package: string;
25
+ };
26
+ };
27
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/deployment/gen/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { Command } from "@commander-js/extra-typings";
2
+ import { ILogLayer } from "loglayer";
3
+ declare const _default: {
4
+ Register: typeof Register;
5
+ };
6
+ export default _default;
7
+ export declare function Register(cmd: Command, log: ILogLayer): Command<[], {}, {}>;
8
+ export declare const Description: string;
@@ -0,0 +1,17 @@
1
+ import gen from "./gen/main.js";
2
+ export default { Register };
3
+ export function Register(cmd, log) {
4
+ const program = cmd
5
+ .command("deployment")
6
+ .summary(Summary)
7
+ .description(Description)
8
+ .helpCommand(false)
9
+ .helpOption(false);
10
+ gen.Register(program, log);
11
+ return program;
12
+ }
13
+ const Summary = `deployment operations`;
14
+ export const Description = `
15
+ Provides access to operations on deployments.
16
+ `.trim();
17
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/deployment/main.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,eAAe,CAAA;AAE/B,eAAe,EAAE,QAAQ,EAAE,CAAA;AAC3B,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,GAAc;IACnD,MAAM,OAAO,GAAG,GAAG;SAChB,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,WAAW,CAAC;SACxB,WAAW,CAAC,KAAK,CAAC;SAClB,UAAU,CAAC,KAAK,CAAC,CAAA;IAEpB,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAE1B,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,GAAG,uBAAuB,CAAA;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG;;CAE1B,CAAC,IAAI,EAAE,CAAA"}