@kumori/kdsl 0.0.14 → 0.0.15

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 (163) hide show
  1. package/dist/build/deployment_spec.d.ts +21095 -0
  2. package/dist/build/deployment_spec.js +292 -0
  3. package/dist/build/deployment_spec.js.map +1 -0
  4. package/dist/build/helpers/builtin.d.ts +17 -0
  5. package/dist/build/helpers/builtin.js +82 -0
  6. package/dist/build/helpers/builtin.js.map +1 -0
  7. package/dist/build/helpers/component.d.ts +17 -0
  8. package/dist/build/helpers/component.js +212 -0
  9. package/dist/build/helpers/component.js.map +1 -0
  10. package/dist/build/helpers/connector.d.ts +13 -0
  11. package/dist/build/helpers/connector.js +190 -0
  12. package/dist/build/helpers/connector.js.map +1 -0
  13. package/dist/build/helpers/deployment.d.ts +326 -0
  14. package/dist/build/helpers/deployment.js +86 -0
  15. package/dist/build/helpers/deployment.js.map +1 -0
  16. package/dist/build/helpers/resource.d.ts +97 -0
  17. package/dist/build/helpers/resource.js +54 -0
  18. package/dist/build/helpers/resource.js.map +1 -0
  19. package/dist/build/helpers/service.d.ts +27 -0
  20. package/dist/build/helpers/service.js +199 -0
  21. package/dist/build/helpers/service.js.map +1 -0
  22. package/dist/build/helpers/utils.d.ts +22 -0
  23. package/dist/build/helpers/utils.js +55 -0
  24. package/dist/build/helpers/utils.js.map +1 -0
  25. package/dist/build/main.d.ts +17 -0
  26. package/dist/build/main.js +139 -0
  27. package/dist/build/main.js.map +1 -0
  28. package/dist/build/solution.d.ts +20 -0
  29. package/dist/build/solution.js +72 -0
  30. package/dist/build/solution.js.map +1 -0
  31. package/dist/check/main.d.ts +21 -0
  32. package/dist/check/main.js +99 -0
  33. package/dist/check/main.js.map +1 -0
  34. package/dist/clean/main.d.ts +11 -0
  35. package/dist/clean/main.js +26 -0
  36. package/dist/clean/main.js.map +1 -0
  37. package/dist/help/main.d.ts +13 -0
  38. package/dist/help/main.js +49 -0
  39. package/dist/help/main.js.map +1 -0
  40. package/dist/help/topic/build.d.ts +2 -0
  41. package/dist/help/topic/build.js +7 -0
  42. package/dist/help/topic/build.js.map +1 -0
  43. package/dist/help/topic/mod_dep.d.ts +2 -0
  44. package/dist/help/topic/mod_dep.js +8 -0
  45. package/dist/help/topic/mod_dep.js.map +1 -0
  46. package/dist/help/topic/mod_dl.d.ts +2 -0
  47. package/dist/help/topic/mod_dl.js +25 -0
  48. package/dist/help/topic/mod_dl.js.map +1 -0
  49. package/dist/index/create/main.d.ts +14 -0
  50. package/dist/index/create/main.js +264 -0
  51. package/dist/index/create/main.js.map +1 -0
  52. package/dist/index/main.d.ts +8 -0
  53. package/dist/index/main.js +17 -0
  54. package/dist/index/main.js.map +1 -0
  55. package/dist/lib/build.d.ts +42 -0
  56. package/dist/lib/build.js +28 -0
  57. package/dist/lib/build.js.map +1 -0
  58. package/dist/lib/check.d.ts +41 -0
  59. package/dist/lib/check.js +15 -0
  60. package/dist/lib/check.js.map +1 -0
  61. package/dist/lib/clean.d.ts +31 -0
  62. package/dist/lib/clean.js +1 -0
  63. package/dist/lib/clean.js.map +1 -0
  64. package/dist/lib/index-cmd.d.ts +54 -0
  65. package/dist/lib/index-cmd.js +57 -0
  66. package/dist/lib/index-cmd.js.map +1 -0
  67. package/dist/lib/index.d.ts +56 -0
  68. package/dist/lib/index.js +117 -0
  69. package/dist/lib/index.js.map +1 -0
  70. package/dist/lib/io/lib.kumori +5 -0
  71. package/dist/lib/kumori/builtin/httpinbound.h.kumori +27 -0
  72. package/dist/lib/kumori/builtin/tcpinbound.h.kumori +25 -0
  73. package/dist/lib/kumori/builtin.kumori +18 -0
  74. package/dist/lib/kumori/component.kumori +120 -0
  75. package/dist/lib/kumori/deployment.kumori +16 -0
  76. package/dist/lib/kumori/resource.kumori +25 -0
  77. package/dist/lib/kumori/service.kumori +49 -0
  78. package/dist/lib/kumori/shared.kumori +11 -0
  79. package/dist/lib/kumori/sized.kumori +25 -0
  80. package/dist/lib/logger.d.ts +10 -0
  81. package/dist/lib/logger.js +23 -0
  82. package/dist/lib/logger.js.map +1 -0
  83. package/dist/lib/mod.d.ts +156 -0
  84. package/dist/lib/mod.js +70 -0
  85. package/dist/lib/mod.js.map +1 -0
  86. package/dist/lib/registry.d.ts +61 -0
  87. package/dist/lib/registry.js +1 -0
  88. package/dist/lib/registry.js.map +1 -0
  89. package/dist/lib/sized.kumori +8 -0
  90. package/dist/lib/std.kumori +8 -0
  91. package/dist/lib/strconv/lib.kumori +11 -0
  92. package/dist/lib/types.d.ts +26 -0
  93. package/dist/lib/types.js +2 -0
  94. package/dist/lib/types.js.map +1 -0
  95. package/dist/main.d.ts +1 -0
  96. package/dist/main.js +35 -0
  97. package/dist/main.js.map +1 -0
  98. package/dist/mod/checksum/main.d.ts +11 -0
  99. package/dist/mod/checksum/main.js +33 -0
  100. package/dist/mod/checksum/main.js.map +1 -0
  101. package/dist/mod/dependency/main.d.ts +19 -0
  102. package/dist/mod/dependency/main.js +156 -0
  103. package/dist/mod/dependency/main.js.map +1 -0
  104. package/dist/mod/download/functions.d.ts +53 -0
  105. package/dist/mod/download/functions.js +235 -0
  106. package/dist/mod/download/functions.js.map +1 -0
  107. package/dist/mod/download/main.d.ts +26 -0
  108. package/dist/mod/download/main.js +89 -0
  109. package/dist/mod/download/main.js.map +1 -0
  110. package/dist/mod/init/main.d.ts +13 -0
  111. package/dist/mod/init/main.js +66 -0
  112. package/dist/mod/init/main.js.map +1 -0
  113. package/dist/mod/jsonschema/gen/main.d.ts +11 -0
  114. package/dist/mod/jsonschema/gen/main.js +281 -0
  115. package/dist/mod/jsonschema/gen/main.js.map +1 -0
  116. package/dist/mod/jsonschema/get/kdslschema.d.ts +28 -0
  117. package/dist/mod/jsonschema/get/kdslschema.js +3 -0
  118. package/dist/mod/jsonschema/get/kdslschema.js.map +1 -0
  119. package/dist/mod/jsonschema/get/main.d.ts +76 -0
  120. package/dist/mod/jsonschema/get/main.js +338 -0
  121. package/dist/mod/jsonschema/get/main.js.map +1 -0
  122. package/dist/mod/jsonschema/main.d.ts +8 -0
  123. package/dist/mod/jsonschema/main.js +20 -0
  124. package/dist/mod/jsonschema/main.js.map +1 -0
  125. package/dist/mod/main.d.ts +8 -0
  126. package/dist/mod/main.js +27 -0
  127. package/dist/mod/main.js.map +1 -0
  128. package/dist/mod/update/main.d.ts +17 -0
  129. package/dist/mod/update/main.js +69 -0
  130. package/dist/mod/update/main.js.map +1 -0
  131. package/dist/registry/add.d.ts +15 -0
  132. package/dist/registry/add.js +53 -0
  133. package/dist/registry/add.js.map +1 -0
  134. package/dist/registry/list.d.ts +15 -0
  135. package/dist/registry/list.js +29 -0
  136. package/dist/registry/list.js.map +1 -0
  137. package/dist/registry/main.d.ts +8 -0
  138. package/dist/registry/main.js +21 -0
  139. package/dist/registry/main.js.map +1 -0
  140. package/dist/registry/remove.d.ts +15 -0
  141. package/dist/registry/remove.js +34 -0
  142. package/dist/registry/remove.js.map +1 -0
  143. package/dist/util/err-format.d.ts +2 -0
  144. package/dist/util/err-format.js +11 -0
  145. package/dist/util/err-format.js.map +1 -0
  146. package/dist/util/err-handler.d.ts +3 -0
  147. package/dist/util/err-handler.js +11 -0
  148. package/dist/util/err-handler.js.map +1 -0
  149. package/dist/util.d.ts +2 -0
  150. package/dist/util.js +2 -0
  151. package/dist/util.js.map +1 -0
  152. package/dist/version.d.ts +2 -0
  153. package/dist/version.js +6 -0
  154. package/dist/version.js.map +1 -0
  155. package/out/lib/build.cjs +29 -0
  156. package/out/lib/check.cjs +16 -0
  157. package/out/lib/clean.cjs +2 -0
  158. package/out/lib/index-cmd.cjs +58 -0
  159. package/out/lib/index.cjs +118 -0
  160. package/out/lib/mod.cjs +71 -0
  161. package/out/lib/registry.cjs +2 -0
  162. package/out/main.cjs +172 -172
  163. package/package.json +50 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/registry/list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,eAAe,EAAE,QAAQ,EAAE,CAAA;AAC3B,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,GAAc;IACnD,MAAM,CAAC,GAAG,GAAG;SACV,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,WAAW,CAAC;SACxB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACtB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,OAAO,GAAG;;CAEf,CAAC,IAAI,EAAE,CAAA;AAER,MAAM,CAAC,MAAM,WAAW,GAAG;;CAE1B,CAAC,IAAI,EAAE,CAAA;AAGR;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAc;IACnC,OAAO,KAAK,IAAmB,EAAE;QAC/B,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;QAErC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QACjC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC,CAAA;AACH,CAAC"}
@@ -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,21 @@
1
+ import add from "./add.js";
2
+ import list from "./list.js";
3
+ import remove from "./remove.js";
4
+ export default { Register };
5
+ export function Register(cmd, log) {
6
+ const program = cmd
7
+ .command("registry")
8
+ .summary(Summary)
9
+ .description(Description);
10
+ add.Register(program, log);
11
+ list.Register(program, log);
12
+ remove.Register(program, log);
13
+ return program;
14
+ }
15
+ const Summary = `
16
+ Manages module resolution registries
17
+ `.trim();
18
+ export const Description = `
19
+ Handles operations related to registries used to resolve modules. You can add, remove and list registries.
20
+ `.trim();
21
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/registry/main.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,eAAe,EAAE,QAAQ,EAAE,CAAA;AAC3B,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,GAAc;IACnD,MAAM,OAAO,GAAG,GAAG;SAChB,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,WAAW,CAAC,CAAA;IAE3B,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,GAAG;;CAEf,CAAC,IAAI,EAAE,CAAA;AACR,MAAM,CAAC,MAAM,WAAW,GAAG;;CAE1B,CAAC,IAAI,EAAE,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { Command } from "@commander-js/extra-typings";
2
+ import { ILogLayer } from "loglayer";
3
+ import { CommanderActionParams } from "../util.js";
4
+ declare const _default: {
5
+ Register: typeof Register;
6
+ };
7
+ export default _default;
8
+ export declare function Register(cmd: Command, log: ILogLayer): Command<[string], {}, {}>;
9
+ export declare const Description: string;
10
+ type Exec = CommanderActionParams<ReturnType<typeof Register>>;
11
+ /**
12
+ * Action for the 'remove' command
13
+ * @param log Logging layer
14
+ */
15
+ export declare function Action(log: ILogLayer): Exec;
@@ -0,0 +1,34 @@
1
+ import { RegistryManager } from "@kumori/kdsl-lsp/module/registry/manager.js";
2
+ export default { Register };
3
+ export function Register(cmd, log) {
4
+ const c = cmd
5
+ .command("remove")
6
+ .argument("<name>", "Name of the registry to remove")
7
+ .summary(Summary)
8
+ .description(Description)
9
+ .action(Action(log));
10
+ return c;
11
+ }
12
+ const Summary = `
13
+ removes a configured registry
14
+ `.trim();
15
+ export const Description = `
16
+ Removes a configured registry by name
17
+ `.trim();
18
+ /**
19
+ * Action for the 'remove' command
20
+ * @param log Logging layer
21
+ */
22
+ export function Action(log) {
23
+ return async (name) => {
24
+ const manager = new RegistryManager();
25
+ try {
26
+ manager.remove(name);
27
+ log.info(`Registry '${name}' removed`);
28
+ }
29
+ catch (e) {
30
+ log.error(`Failed to remove registry: ${e}`);
31
+ }
32
+ };
33
+ }
34
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/registry/remove.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,eAAe,EAAE,QAAQ,EAAE,CAAA;AAE3B,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,GAAc;IACnD,MAAM,CAAC,GAAG,GAAG;SACV,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;SACpD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,WAAW,CAAC;SACxB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACtB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,OAAO,GAAG;;CAEf,CAAC,IAAI,EAAE,CAAA;AAER,MAAM,CAAC,MAAM,WAAW,GAAG;;CAE1B,CAAC,IAAI,EAAE,CAAA;AAGR;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAc;IACnC,OAAO,KAAK,EAAE,IAAY,EAAiB,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;QAErC,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACpB,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TypeSystemError } from "@kumori/kdsl-lsp/language/type-system/type.js";
2
+ export declare function FormatTypeSystemError(err: TypeSystemError): string;
@@ -0,0 +1,11 @@
1
+ import { AstUtils, UriUtils } from "langium";
2
+ export function FormatTypeSystemError(err) {
3
+ var _a, _b;
4
+ const range = (_b = (_a = err.node.$cstNode) === null || _a === void 0 ? void 0 : _a.range) !== null && _b !== void 0 ? _b : {
5
+ start: { line: -1, character: -1 },
6
+ end: { line: -1, character: -1 },
7
+ };
8
+ const doc = AstUtils.getDocument(err.node);
9
+ return `${UriUtils.relative(process.cwd(), doc.uri.fsPath)}:${range.start.line + 1}:${range.start.character + 1}: ${err.message}`;
10
+ }
11
+ //# sourceMappingURL=err-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"err-format.js","sourceRoot":"","sources":["../../src/util/err-format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAmB,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,UAAU,qBAAqB,CAAC,GAAoB;;IACxD,MAAM,KAAK,GAA6B,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,QAAQ,0CAAE,KAAK,mCAAI;QAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;QAClC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;KACjC,CAAA;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAA;AACnI,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Result } from "@kumori/kdsl-lsp/util/result.js";
2
+ import { ILogLayer } from "loglayer";
3
+ export declare function DefaultErrHandler<Ok>(log: ILogLayer, result: Result<Ok, string[]>): Ok;
@@ -0,0 +1,11 @@
1
+ import { Result } from "@kumori/kdsl-lsp/util/result.js";
2
+ export function DefaultErrHandler(log, result) {
3
+ if (Result.isErr(result)) {
4
+ for (const err of result.err) {
5
+ log.error(err);
6
+ }
7
+ process.exit(1);
8
+ }
9
+ return result.value;
10
+ }
11
+ //# sourceMappingURL=err-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"err-handler.js","sourceRoot":"","sources":["../../src/util/err-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAGxD,MAAM,UAAU,iBAAiB,CAC/B,GAAc,EACd,MAA4B;IAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC"}
package/dist/util.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { Command } from "@commander-js/extra-typings";
2
+ export type CommanderActionParams<T> = T extends Command<infer Args, infer Opts> ? (...args: [...Args, Opts, T]) => void | Promise<void> : never;
package/dist/util.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const version: string;
2
+ export default version;
@@ -0,0 +1,6 @@
1
+ var _a;
2
+ import pkg from "../package.json" with { type: "json" };
3
+ const UNKNOWN = "<unknown>";
4
+ export const version = (_a = pkg.version) !== null && _a !== void 0 ? _a : UNKNOWN;
5
+ export default version;
6
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAEvD,MAAM,OAAO,GAAG,WAAW,CAAA;AAE3B,MAAM,CAAC,MAAM,OAAO,GAAW,MAAA,GAAG,CAAC,OAAO,mCAAI,OAAO,CAAA;AAErD,eAAe,OAAO,CAAA"}
@@ -0,0 +1,29 @@
1
+ const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
+ "use strict";var Ot=Object.create;var H=Object.defineProperty,kt=Object.defineProperties,Dt=Object.getOwnPropertyDescriptor,Et=Object.getOwnPropertyDescriptors,Pt=Object.getOwnPropertyNames,Me=Object.getOwnPropertySymbols,Tt=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var xe=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t);var ae=(t,e,r)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,m=(t,e)=>{for(var r in e||(e={}))Oe.call(e,r)&&ae(t,r,e[r]);if(Me)for(var r of Me(e))Rt.call(e,r)&&ae(t,r,e[r]);return t},b=(t,e)=>kt(t,Et(e));var _t=(t,e)=>{for(var r in e)H(t,r,{get:e[r],enumerable:!0})},ke=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Pt(e))!Oe.call(t,n)&&n!==r&&H(t,n,{get:()=>e[n],enumerable:!(o=Dt(e,n))||o.enumerable});return t};var le=(t,e,r)=>(r=t!=null?Ot(Tt(t)):{},ke(e||!t||!t.__esModule?H(r,"default",{value:t,enumerable:!0}):r,t)),Nt=t=>ke(H({},"__esModule",{value:!0}),t);var O=(t,e,r)=>(ae(t,typeof e!="symbol"?e+"":e,r),r);var De=(t,e,r)=>{if(e!=null){if(typeof e!="object"&&typeof e!="function")throw TypeError("Object expected");var o;if(r&&(o=e[xe("asyncDispose")]),o===void 0&&(o=e[xe("dispose")]),typeof o!="function")throw TypeError("Object not disposable");t.push([r,o,e])}else r&&t.push([r]);return e},Ee=(t,e,r)=>{var o=typeof SuppressedError=="function"?SuppressedError:function(s,a,u,c){return c=Error(u),c.name="SuppressedError",c.error=s,c.suppressed=a,c},n=s=>e=r?new o(s,e,"An error was suppressed during disposal"):(r=!0,s),i=s=>{for(;s=t.pop();)try{var a=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(a).then(i,u=>(n(u),i()))}catch(u){n(u)}if(r)throw e};return i()};var sr={};_t(sr,{build:()=>ir});module.exports=Nt(sr);var N=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),lr={[N.trace]:10,[N.debug]:20,[N.info]:30,[N.warn]:40,[N.error]:50,[N.fatal]:60},ur={10:N.trace,20:N.debug,30:N.info,40:N.warn,50:N.error,60:N.fatal};var P=function(t){return t.onBeforeDataOut="onBeforeDataOut",t.shouldSendToLogger="shouldSendToLogger",t.onMetadataCalled="onMetadataCalled",t.onBeforeMessageOut="onBeforeMessageOut",t.onContextCalled="onContextCalled",t}({});var S=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),Q={[S.trace]:10,[S.debug]:20,[S.info]:30,[S.warn]:40,[S.error]:50,[S.fatal]:60},mr={10:S.trace,20:S.debug,30:S.info,40:S.warn,50:S.error,60:S.fatal};var Pe=class Te{constructor(){O(this,"context",{});O(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=m(m({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:r}){if(e.hasContextData()){let o=e.getContext();r.setContext(m({},o))}}clone(){let e=new Te;return e.setContext(m({},this.context)),e.hasContext=this.hasContext,e}};var Re=class{constructor(t){O(this,"err");O(this,"metadata");O(this,"structuredLogger");O(this,"hasMetadata");O(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=t,this.hasMetadata=!1,this.pluginManager=t.pluginManager}withMetadata(t){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!t)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let o=t;return e.hasPlugins(P.onMetadataCalled)&&(o=e.runOnMetadataCalled(t,this.structuredLogger),!o)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=m(m({},this.metadata),o),this.hasMetadata=!0,this)}withError(t){return this.err=t,this}info(...t){this.structuredLogger.isLevelEnabled(S.info)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.info,t))}warn(...t){this.structuredLogger.isLevelEnabled(S.warn)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.warn,t))}error(...t){this.structuredLogger.isLevelEnabled(S.error)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.error,t))}debug(...t){this.structuredLogger.isLevelEnabled(S.debug)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.debug,t))}trace(...t){this.structuredLogger.isLevelEnabled(S.trace)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.trace,t))}fatal(...t){this.structuredLogger.isLevelEnabled(S.fatal)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.fatal,t))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(t,e){let{muteMetadata:r}=this.structuredLogger._config,o=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:t,params:e,metadata:o?this.metadata:null,err:this.err})}},$t=[P.onBeforeDataOut,P.onMetadataCalled,P.shouldSendToLogger,P.onBeforeMessageOut,P.onContextCalled],_e=class{constructor(t){O(this,"idToPlugin");O(this,"onBeforeDataOut",[]);O(this,"shouldSendToLogger",[]);O(this,"onMetadataCalled",[]);O(this,"onBeforeMessageOut",[]);O(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(t),this.indexPlugins()}mapPlugins(t){for(let e of t){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let t=Object.values(this.idToPlugin).sort((e,r)=>e.registeredAt-r.registeredAt);for(let e of t){if(e.disabled)return;for(let r of $t)e[r]&&e.id&&this[r].push(e.id)}}hasPlugins(t){return this[t].length>0}countPlugins(t){return t?this[t].length:Object.keys(this.idToPlugin).length}addPlugins(t){this.mapPlugins(t),this.indexPlugins()}enablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(t){delete this.idToPlugin[t],this.indexPlugins()}runOnBeforeDataOut(t,e){let r=m({},t);for(let o of this.onBeforeDataOut){let n=this.idToPlugin[o];if(n.onBeforeDataOut){let i=n.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},e);i&&(r.data||(r.data={}),Object.assign(r.data,i))}}return r.data}runShouldSendToLogger(t,e){return!this.shouldSendToLogger.some(r=>{var o,n;return!((n=(o=this.idToPlugin[r]).shouldSendToLogger)!=null&&n.call(o,t,e))})}runOnMetadataCalled(t,e){var o,n;let r=m({},t);for(let i of this.onMetadataCalled){let s=(n=(o=this.idToPlugin[i]).onMetadataCalled)==null?void 0:n.call(o,r,e);if(s)r=s;else return null}return r}runOnBeforeMessageOut(t,e){var o,n;let r=[...t.messages];for(let i of this.onBeforeMessageOut){let s=(n=(o=this.idToPlugin[i]).onBeforeMessageOut)==null?void 0:n.call(o,{messages:r,logLevel:t.logLevel},e);s&&(r=s)}return r}runOnContextCalled(t,e){var o,n;let r=m({},t);for(let i of this.onContextCalled){let s=(n=(o=this.idToPlugin[i]).onContextCalled)==null?void 0:n.call(o,r,e);if(s)r=s;else return null}return r}},Ne=class $e{constructor(e){O(this,"pluginManager");O(this,"idToTransport");O(this,"hasMultipleTransports");O(this,"singleTransport");O(this,"contextManager");O(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});O(this,"_config");var r;this._config=b(m({},e),{enabled:(r=e.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new Pe,this.pluginManager=new _e(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((r,o)=>(r[o.id]=o,r),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let r=this.child();return r._config.prefix=e,r}withContext(e){let r=e;return e?this.pluginManager.hasPlugins(P.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(e,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new Re(this).withMetadata(e)}withError(e){return new Re(this).withError(e)}child(){let e=new $e(b(m({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new _e(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,r){let o=(r==null?void 0:r.logLevel)||S.error;if(!this.isLevelEnabled(o))return;let{copyMsgOnOnlyError:n}=this._config,i={logLevel:o,err:e};(n&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(e!=null&&e.message)&&(i.params=[e.message]),this._formatLog(i)}metadataOnly(e,r=S.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:o,consoleDebug:n}=this._config;if(o)return;if(!e){n&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let i=e;if(this.pluginManager.hasPlugins(P.onMetadataCalled)&&(i=this.pluginManager.runOnMetadataCalled(e,this),!i)){n&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let s={logLevel:r,metadata:i};this._formatLog(s)}info(...e){this.isLevelEnabled(S.info)&&(this._formatMessage(e),this._formatLog({logLevel:S.info,params:e}))}warn(...e){this.isLevelEnabled(S.warn)&&(this._formatMessage(e),this._formatLog({logLevel:S.warn,params:e}))}error(...e){this.isLevelEnabled(S.error)&&(this._formatMessage(e),this._formatLog({logLevel:S.error,params:e}))}debug(...e){this.isLevelEnabled(S.debug)&&(this._formatMessage(e),this._formatLog({logLevel:S.debug,params:e}))}trace(...e){this.isLevelEnabled(S.trace)&&(this._formatMessage(e),this._formatLog({logLevel:S.trace,params:e}))}fatal(...e){this.isLevelEnabled(S.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:S.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let r={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(r)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(e){let r=Q[e];for(let o of Object.values(S)){let n=o,i=Q[o];this.logLevelEnabledStatus[n]=i>=r}return this}isLevelEnabled(e){let r=e;return this.logLevelEnabledStatus[r]}formatContext(e){let{contextFieldName:r,muteContext:o}=this._config;return e&&Object.keys(e).length>0&&!o?r?{[r]:m({},e)}:m({},e):{}}formatMetadata(e=null){let{metadataFieldName:r,muteMetadata:o}=this._config;return e&&!o?r?{[r]:m({},e)}:m({},e):{}}getLoggerInstance(e){let r=this.idToTransport[e];if(r)return r.getLoggerInstance()}_formatMessage(e=[]){let{prefix:r}=this._config;r&&typeof e[0]=="string"&&(e[0]=`${r} ${e[0]}`)}_formatLog({logLevel:e,params:r=[],metadata:o=null,err:n,context:i=null}){var w;let{errorSerializer:s,errorFieldInMetadata:a,muteContext:u,contextFieldName:c,metadataFieldName:d,errorFieldName:l}=this._config,g=i!==null?i:this.contextManager.getContext(),h=!!o||(u?!1:i!==null?Object.keys(i).length>0:this.contextManager.hasContextData()),p={};if(h)if(c&&c===d){let L=this.formatContext(g)[c],f=this.formatMetadata(o)[d];p={[c]:m(m({},L),f)}}else p=m(m({},this.formatContext(g)),this.formatMetadata(o));if(n){let L=s?s(n):n;a&&o&&d?p!=null&&p[d]?p[d][l]=L:p=b(m({},p),{[d]:{[l]:L}}):a&&!o&&d?p=b(m({},p),{[d]:{[l]:L}}):p=b(m({},p),{[l]:L}),h=!0}if(this.pluginManager.hasPlugins(P.onBeforeDataOut)&&(p=this.pluginManager.runOnBeforeDataOut({data:h?p:void 0,logLevel:e,error:n,metadata:o,context:g},this),p&&!h&&(h=!0)),this.pluginManager.hasPlugins(P.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:e},this)),this.hasMultipleTransports){let L=this._config.transport.filter(f=>f.enabled).map(async f=>{if(!(this.pluginManager.hasPlugins(P.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:h?p:void 0,logLevel:e,transportId:f.id,error:n,metadata:o,context:g},this)))return f._sendToLogger({logLevel:e,messages:[...r],data:h?p:void 0,hasData:h,error:n,metadata:o,context:g})});Promise.all(L).catch(f=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",f)})}else{if(!((w=this.singleTransport)!=null&&w.enabled)||this.pluginManager.hasPlugins(P.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:h?p:void 0,logLevel:e,transportId:this.singleTransport.id,error:n,metadata:o,context:g},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...r],data:h?p:void 0,hasData:h,error:n,metadata:o,context:g})}}};function jt(){let t={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new Ne({transport:t})}function je(t){return t!=null?t:jt()}var Mt=require("@kumori/kdsl-lsp/module/registry/manager.js");var ne=require("@kumori/kdsl-lsp/language/generated/ast.js"),rr=require("@kumori/kdsl-lsp/language/kumori.js"),ie=require("langium"),or=require("langium/node"),E=require("@kumori/kdsl-lsp/util/result.js");var Ye=require("@kumori/kdsl-lsp/language/builtin/lib/kumori/deployment.js"),Ze=require("@kumori/kdsl-lsp/language/type-system/toJSON.js"),J=require("@kumori/kdsl-lsp/util/result.js"),me=require("langium");var Je=require("@kumori/kdsl-lsp/util/sized.js");var v=require("@kumori/kdsl-lsp/language/builtin/lib/kumori/resource.js");function A(t){if(t.$type===v.EphemeralName){let e=v.Ephemeral.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage"}}}if(t.$type===v.PersistentName)return{volume:v.Persistent.parse(t).value};if(t.$type===v.RegisteredName)return{volume:v.Registered.parse(t).value};if(t.$type===v.VolatileName){let e=v.Volatile.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"volatile"}}}if(t.$type===v.PersistedName){let e=v.Persisted.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"persistent"}}}if(t.$type===v.NonReplicatedName){let e=v.NonReplicated.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"nonreplicated"}}}if(t.$type===v.CAName)return{ca:v.CA.parse(t).value};if(t.$type===v.CertificateName)return{certificate:v.Certificate.parse(t).value};if(t.$type===v.SecretName)return{secret:v.Secret.parse(t).value};if(t.$type===v.DomainName)return{domain:v.Domain.parse(t).value};if(t.$type===v.PortName)return{port:v.Port.parse(t).value};throw new Error(`unknown resource type '${t.$type}'`)}var Fe=require("@kumori/kdsl-lsp/util/oci.js"),V=require("@kumori/kdsl-lsp/util/result.js"),Ae=require("langium"),Be=require("path");function Ie(t){return typeof t=="string"?V.Result.orElse(V.Result.map((0,Fe.ParseOCIString)(t),e=>{var r,o;return{tag:e.tag,hub:{name:e.hub,secret:typeof t=="string"?"":(o=(r=t.hub)==null?void 0:r.secret)!=null?o:""}}}),e=>{throw new Error(e)}):t}function K(t,e){if(!e)return[];let r=Ae.AstUtils.getDocument(e).uri,o=t.getModule(r);if(V.Result.isErr(o))return[];let n=V.Result.tryCatch(()=>new URL(`file://${o.value.Manifest.module}`));if(V.Result.isErr(n))return[];let i=[];return n.value.hostname.length&&i.push(s=>s.domain=n.value.hostname),n.value.pathname.length&&i.push(s=>{s.module=n.value.pathname.replace(/^\//,""),s.name=(0,Be.basename)(s.module)}),i}var Ke=require("@kumori/kdsl-lsp/language/generated/ast.js");function ze(t,e){let r={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},o=t.svcs.shared.references.KumoriModules,n=K(o,t.nodes.get(e));for(let a of n)a(r);let i=t.nodes.get(e),s="";if(i&&(0,Ke.isComponentArtifact)(i)&&(s=i.name.value.$refText),s==="")throw new Error("Unable to determine component name for service artifact conversion.");return{spec:[1,0],ref:r,description:{builtin:!1,connector:{},config:{resilience:0,scale:{},parameter:{},resource:{}},role:{[s]:{name:s,meta:{},artifact:ue(t,e)}}}}}function ue(t,e){var c,d,l,g,h,p,w,L,f,C;let r={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"},o=t.svcs.shared.references.KumoriModules,n=K(o,t.nodes.get(e));for(let y of n)y(r);function i(y,x=!1){return Object.fromEntries(Object.entries(y!=null?y:{}).map(([T,R])=>{var W,_;return[T,{name:T,init:x,entrypoint:R.entrypoint,image:Ie(R.image),cmd:R.cmd,size:{memory:b(m({},R.size.memory),{kind:"ram"}),cpu:b(m({},R.size.cpu),{kind:"cpu"}),mincpu:R.size.mincpu?R.size.mincpu.size:R.size.cpu.size},mapping:{filesystem:Object.fromEntries(Object.entries((W=R.fs)!=null?W:{}).map(([k,D])=>[k,Ft(k,D)])),env:Object.fromEntries(Object.entries((_=R.env)!=null?_:{}).map(([k,D])=>{let j=k,xt=typeof D=="string"||typeof D=="number"||typeof D=="boolean"?{value:String(D)}:D;return[j,xt]}))}}]}))}let s=Object.fromEntries(((c=e.init)!=null?c:[]).map((y,x)=>[`INIT_${x}`,y])),a=i(e.code),u=i(s,!0);return{spec:[1,0],ref:r,description:{builtin:!1,config:{resilience:0,scale:{hsize:1},parameter:e.config,resource:Object.fromEntries(Object.entries((d=e.resource)!=null?d:{}).map(([y,x])=>[y,A(x)]))},size:{bandwidth:b(m({},e.size.bandwidth),{kind:"bandwidth"}),minbandwidth:Math.ceil((0,Je.ToUnits)((l=e.size.minbandwidth)!=null?l:e.size.bandwidth,e.size.bandwidth.unit).size),mincpu:b(m({},e.size.mincpu),{kind:"cpu"})},profile:{threadability:"*",iopsintensive:!1},srv:{client:Object.fromEntries(Object.entries((h=(g=e.srv)==null?void 0:g.client)!=null?h:{}).map(([y,x])=>[y,{protocol:x,inherited:!1}])),server:Object.fromEntries(Object.entries((w=(p=e.srv)==null?void 0:p.server)!=null?w:{}).map(([y,x])=>{let T;return typeof x=="string"?T={port:80,portnum:1,inherited:!1,protocol:x}:T=b(m({},x),{portnum:1,inherited:!1}),[y,T]})),duplex:Object.fromEntries(Object.entries((f=(L=e.srv)==null?void 0:L.duplex)!=null?f:{}).map(([y,x])=>{let T;return typeof x=="string"?T={port:80,portnum:1,inherited:!1,protocol:x}:T=b(m({},x),{portnum:1,inherited:!1}),[y,T]}))},code:m(m({},u),a),probe:Object.fromEntries(Object.entries((C=e.probe)!=null?C:{}).map(([y,x])=>[y,x]))}}}function Ft(t,e){var r,o,n,i;if(typeof e=="string")return{path:t,data:{value:e},format:"text"};if(typeof e=="object"){if("volume"in e)return{path:t,volume:e.volume};if("data"in e)return{path:t,data:{value:e.data},format:(r=e.format)!=null?r:"text",mode:(o=e.mode)!=null?o:420};let a=["secret","port","domain","certificate","ca"].find(u=>u in e);if(a){let u=a;return{path:t,data:{[u]:e[u]},format:(n=e.format)!=null?n:"text",mode:(i=e.mode)!=null?i:420}}}throw new Error(`Unknown key '${t}': ${JSON.stringify(e)}`)}var q=require("@kumori/kdsl-lsp/util/maybe.js");var Ve=require("@kumori/kdsl-lsp/util/semver.js");function At(t){var r,o,n;let e=(0,Ve.SemVer)(t.id.version);return{spec:[1,0],ref:{version:[e.major,e.minor,e.patch],kind:t.id.kind,domain:t.id.domain,module:t.id.module,name:t.id.name},description:{builtin:!0,srv:{client:Object.fromEntries(Object.entries((r=t.srv.client)!=null?r:{}).map(([i])=>[i,{protocol:"http",inherited:!1}])),server:Object.fromEntries(Object.entries((o=t.srv.server)!=null?o:{}).map(([i,s])=>{let a;return typeof s=="string"?a={port:80,portnum:1,inherited:!1,protocol:s}:a=b(m({},s),{inherited:!1}),[i,a]})),duplex:Object.fromEntries(Object.entries((n=t.srv.duplex)!=null?n:{}).map(([i,s])=>{let a;return typeof s=="string"?a={port:80,portnum:1,inherited:!1,protocol:s}:a=b(m({},s),{inherited:!1}),[i,a]}))},config:{resilience:0,scale:{},parameter:t.config,resource:Object.fromEntries(Object.entries(t.resource).map(([i,s])=>[i,A(s)]))},connector:{},role:{}}}}function Ue(t,e){var r,o;return{name:z(t),up:U(t),meta:{},config:{resilience:0,scale:{},parameter:(r=e.config)!=null?r:{},resource:Object.fromEntries(Object.entries((o=e.resource)!=null?o:{}).map(([n,i])=>[n,A(i)]))},artifact:At(e)}}var te=require("@kumori/kdsl-lsp/language/builtin/lib/kumori/service.js");function Z(t,e,r,o){let n=t.svcs.shared.references.KumoriModules,i=K(n,t.nodes.get(e));for(let s of i)s(r);return o&&(r.kind="service"),r}function ce(t,e){return t.some(r=>JSON.stringify(r)===JSON.stringify(e))}function de(t,e){return{role:t,channel:e}}function ee(t,e,r){return{meta:t,links:[{role:e,channel:r}]}}function qe(t,e,r){var n,i,s,a;let o={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"};if(r.$type===te.LoadBalancerName){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let d of r.value.from){c.push(de(d.target,d.channel));for(let l of r.value.to){let g=e.role[l.target=="self"?d.target:l.target],h=B(g.artifact)||l.target=="self";Z(t,g,o,h);let p=(n=r.value.meta)!=null?n:[{auto:{channel:l.target!=="self"?l.target+"."+l.channel:l.channel,compRef:o,roleName:l.target=="self"?d.target:l.target},user:{}}],w=ee(p,l.target,l.channel);ce(u,w)||u.push(w)}}else if("from"in r.value&&!Array.isArray(r.value.from)&&!Array.isArray(r.value.to)){let d=r.value.from,l=r.value.to;c.push(de(d.target,d.channel));let g=e.role[l.target=="self"?d.target:l.target],h=B(g.artifact)||l.target=="self";Z(t,g,o,h);let p=(i=r.value.meta)!=null?i:[{auto:{channel:l.target!=="self"?l.target+"."+l.channel:l.channel,compRef:o,roleName:l.target=="self"?d.target:l.target},user:{}}],w=ee(p,l.target,l.channel);ce(u,w)||u.push(w)}return{kind:"lb",clients:c,servers:u}}if(r.$type===te.FullConnectorName){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let d of r.value.from){c.push(de(d.target,d.channel));for(let l of r.value.to){let g=e.role[l.target=="self"?d.target:l.target],h=B(g.artifact);Z(t,g,o,h);let p=(s=r.value.meta)!=null?s:[{auto:{channel:l.target!=="self"?l.target+"."+l.channel:l.channel,compRef:o,roleName:l.target=="self"?d.target:l.target},user:{}}],w=ee(p,l.target,l.channel);ce(u,w)||u.push(w)}}else if("target"in r.value&&"channel"in r.value){let d=e.role[r.value.target],l=B(d.artifact);Z(t,d,o,l);let g=(a=r.value.meta)!=null?a:[{auto:{channel:r.value.channel,compRef:o,roleName:r.value.target},user:{}}];u.push(ee(g,r.value.target,r.value.channel))}return{kind:"full",clients:c,servers:u}}throw new Error(`unknown connection type '${r.$type}'`)}function fe(t,e){var s,a,u,c,d,l,g,h,p,w,L;let r={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},o=t.svcs.shared.references.KumoriModules,n=K(o,t.nodes.get(e));for(let f of n)f(r);let i={spec:[1,0],ref:r,description:{builtin:!1,config:{resilience:0,scale:{detail:Object.fromEntries(Object.entries((s=e.role)!=null?s:{}).map(([f])=>[f,{hsize:1}]))},parameter:(a=e==null?void 0:e.config)!=null?a:{},resource:Object.fromEntries(Object.entries((u=e.resource)!=null?u:{}).map(([f,C])=>[f,A(C)]))},role:{},connector:Object.fromEntries(Object.entries((c=e.connect)!=null?c:{}).map(([f,C])=>[f,qe(t,e,C)])),srv:{client:Object.fromEntries(Object.entries((l=(d=e.srv)==null?void 0:d.client)!=null?l:{}).map(([f,C])=>[f,{protocol:C,inherited:!1}])),server:Object.fromEntries(Object.entries((h=(g=e.srv)==null?void 0:g.server)!=null?h:{}).map(([f,C])=>{let y;return typeof C=="string"?y={port:80,inherited:!1,protocol:C}:y=b(m({},C),{inherited:!1}),[f,y]})),duplex:Object.fromEntries(Object.entries((w=(p=e.srv)==null?void 0:p.duplex)!=null?w:{}).map(([f,C])=>{let y;return typeof C=="string"?y={port:80,inherited:!1,protocol:C}:y=b(m({},C),{inherited:!1}),[f,y]}))}}};return i.description.role=Object.fromEntries(Object.entries((L=e.role)!=null?L:{}).map(([f,C])=>[f,It(t,f,C,i)]).filter(([,f])=>q.Maybe.isSome(f)).map(([f,C])=>[f,C.value])),i}function Bt(t,e){var r,o,n,i,s,a,u;return{name:z(t),up:U(t),meta:{},config:{resilience:0,scale:(n=(r=e.config)==null?void 0:r.scale)!=null?n:{hsize:(o=e.config)==null?void 0:o.scale},parameter:(s=(i=e.config)==null?void 0:i.parameter)!=null?s:{},resource:Object.fromEntries(Object.entries((u=(a=e.config)==null?void 0:a.resource)!=null?u:{}).map(([c,d])=>[c,A(d)]))},artifact:fe(t,e)}}function It(t,e,r,o){var s,a,u,c,d,l,g,h,p,w,L,f,C,y,x,T,R,se;if(X(r.artifact))return(0,q.Some)({name:e,meta:r.meta,config:{resilience:0,scale:{hsize:1},parameter:(s=r.artifact.config)!=null?s:{},resource:{}},artifact:ue(t,r.artifact)});let n=r.artifact;t=Ge(t,e),We(t,B(n)?Bt(t,n):Ue(t,n)),(u=(a=o.description).srv)!=null||(a.srv={}),(d=(c=o.description.srv).server)!=null||(c.server={}),(g=(l=o.description.srv).client)!=null||(l.client={});for(let[,W]of Object.entries((h=o.description.connector)!=null?h:{})){for(let _ of W.clients){if(_.role!==e)continue;let k=m({},_),D=`${_.role}.${_.channel}`,j=((w=(p=n==null?void 0:n.srv)==null?void 0:p.client)!=null?w:{})[_.channel];o.description.srv.server[D]={inherited:!0,protocol:_.channel=="inbound"?"http":j},_.role="self",_.channel=D,(f=(L=t.root).links)!=null||(L.links=[]),t.root.links.push({meta:{},s_d:z(t),s_c:k.channel,t_d:U(t),t_c:D})}for(let _ of W.servers)for(let k of _.links)if(k.role===e){let D=`${k.role}.${k.channel}`,j=((y=(C=n==null?void 0:n.srv)==null?void 0:C.server)!=null?y:{})[k.channel];j===void 0&&(j=((T=(x=n==null?void 0:n.srv)==null?void 0:x.duplex)!=null?T:{})[k.channel]),o.description.srv.client[D]={inherited:!0,protocol:typeof j=="string"?j:j.protocol,port:typeof j=="object"?j.port:void 0},(se=(R=t.root).links)!=null||(R.links=[]),t.root.links.push({meta:{},s_d:U(t),s_c:D,t_d:z(t),t_c:k.channel}),k.role="self",k.channel=D}}return q.None}var He=require("@kumori/kdsl-lsp/language/generated/ast.js");var z=t=>t.path.join("."),U=t=>t.path.slice(0,-1).join("."),Ge=(t,e)=>b(m({},t),{path:[...t.path,e]}),We=(t,e)=>t.root.deployments[z(t)]=e;function Qe(t,e,r){var i,s,a;let o={top:r.name,deployments:{},links:[]},n={svcs:t,path:[r.name],root:o,nodes:e};return o.deployments[r.name]={name:r.name,meta:r.meta,config:{parameter:(i=r.config)!=null?i:{},resource:Object.fromEntries(Object.entries((s=r.resource)!=null?s:{}).map(([u,c])=>[u,A(c)])),resilience:(a=r.resilience)!=null?a:0,scale:{detail:(()=>{var u;if(X(r.artifact)){let c=n.nodes.get(r.artifact),d="";if(c&&(0,He.isComponentArtifact)(c)&&(d=c.name.value.$refText),d==="")throw new Error("Unable to determine component name for scale detail.");return{[d]:{hsize:typeof r.scale=="number"?r.scale:1}}}if(B(r.artifact)){let c=Object.entries((u=r.artifact.role)!=null?u:{});return Object.fromEntries(c.map(([d])=>[d,{hsize:r.scale&&typeof r.scale=="object"&&!Array.isArray(r.scale)&&d in r.scale?r.scale[d]:1}]))}return{}})()}},artifact:(()=>{if(X(r.artifact))return ze(n,r.artifact);if(B(r.artifact))return fe(n,r.artifact);throw Xe(r.artifact)?new Error("not implemented: handle builtin"):new Error("unknown artifact")})()},o}function X(t){return"size"in t}function B(t){return!(X(t)||Xe(t))}function Xe(t){return"id"in t}function et(t,e,r){var d,l;let o=e.validation.KumoriTypeSystem,[{Value:n},i]=o.Eval(e.validation.KumoriValidations.ctx(),r);if(i.length!==0){let g=[];for(let h of i){let p=h.node,w=me.AstUtils.getDocument(p),L=((d=p.$cstNode)==null?void 0:d.range.start)||{line:0,character:0},f=`${w.uri.fsPath}:${L.line}:${L.character}: type error: ${h.message}`;t.error(f),g.push(f)}return(0,J.Err)(g)}let s=new Map,a=(0,Ze.toJSON)({svcs:e,nodes:s},n);if(J.Result.isErr(a)){let g=[];for(let h of a.err){let p=h.node,w=me.AstUtils.getDocument(p),L=((l=p.$cstNode)==null?void 0:l.range.start)||{line:0,character:0},f=`${w.uri.fsPath}:${L.line}:${L.character}: json conversion error: ${h.message}`;t.error(f),g.push(f)}return(0,J.Err)(g)}let u=Ye.Deployment.safeParse(a.value);if(!u.success){let g=[];for(let h of u.error.issues){let p=`${h.code}: ${h.path}: invalid deployment: ${h.message}`;t.error(p),g.push(p)}return(0,J.Err)(g)}let c=JSON.stringify(Qe(e,s,a.value),null,2);return(0,J.Ok)(c)}var Ce=require("@kumori/kdsl-lsp/module/context.js"),vt=require("@kumori/kdsl-lsp/module/dependency/list.js"),we=le(require("assert"),1),St=require("@kumori/kdsl-lsp/module/dependency/locate.js"),yt=require("@kumori/kdsl-lsp/util/maybe.js"),bt=require("@kumori/kdsl-lsp/module/dependency/id.js"),Le=le(require("path"),1);var Wt=require("@kumori/kdsl-lsp/language/kumori.js"),Y=require("langium"),Ht=require("langium/node"),be=require("vscode-languageserver"),$=require("@kumori/kdsl-lsp/util/result.js"),Qt=require("@kumori/kdsl-lsp/module/context.js");var dt=require("@kumori/kdsl-lsp/module/context.js"),ft=require("@kumori/kdsl-lsp/module/integrity/sumdb.js"),ye=require("@kumori/kdsl-lsp/module/remote/factory.js"),mt=require("@kumori/kdsl-lsp/util/maybe.js"),F=require("@kumori/kdsl-lsp/util/result.js"),gt=require("langium"),Ut=require("langium/node"),qt=require("@kumori/kdsl-lsp/language/kumori.js");var Jt=require("@kumori/kdsl-lsp/util/result.js");var he=require("@kumori/kdsl-lsp/module/query.js"),I=require("@kumori/kdsl-lsp/util/maybe.js"),M=require("@kumori/kdsl-lsp/util/result.js"),ge=require("@kumori/kdsl-lsp/module/version.js"),tt=require("@kumori/kdsl-lsp/module/dependency/list.js"),re=le(require("assert"),1),ve=require("@kumori/kdsl-lsp/module/dependency/locate.js"),rt=require("@kumori/kdsl-lsp/module/context.js"),ot=require("@kumori/kdsl-lsp/util/tmp.js"),nt=require("@kumori/kdsl-lsp/module/integrity/validate.js"),oe=require("langium"),G=require("fs/promises"),it=require("@kumori/kdsl-lsp/module/remote/factory.js"),pe=require("@kumori/kdsl-lsp/util/semver.js"),st=require("@kumori/kdsl-lsp/util/url.js"),Se=require("@kumori/kdsl-lsp/module/dependency/id.js");async function at(t){let e=new Map;return await ut(t,e),e}async function lt(t,e){let r=new Map;console.log(e);for(let o of e){let n=(0,he.ParseQuery)(o);if(I.Maybe.isNone(n)){let u=`invalid download query '${o}': failed to parse`;r.set(o,b(m({},(0,M.Err)(u)),{required:!0}));continue}let i=(0,ge.Version)(n.value.Version);if(I.Maybe.isNone(i)){let u=`invalid download query '${o}': invalid version specifier '${n.value.Version}': failed to parse`;r.set(o,b(m({},(0,M.Err)(u)),{required:!0}));continue}if(!ge.Version.isSemVer(i.value)){let u=`invalid download query '${o}': invalid version specifier '${n.value.Version}': invalid semver`;r.set(o,b(m({},(0,M.Err)(u)),{required:!0}));continue}let s=`${n.value.Scheme}://${n.value.Location}`,a=n.value.Version;await ct(t,s,a,r)}return r}async function ut(t,e){var o;let r=(0,tt.ListDependencies)(t.Current);for(let n of r.keys()){let i=r.get(n);if(i.length<1)continue;let{target:s,version:a}=i[0];await ct(t,s,a,e);let u=i.reduce((d,l)=>d||l.interface===void 0,!1),c=(0,Se.DependencyId)(s,a);(0,re.default)(e.has(c)),(o=e.get(c)).required||(o.required=u)}}async function ct(t,e,r,o){let n=(0,Se.DependencyId)(e,r);if(o.has(n))return;let i=await Kt(t,e,r);if(o.set(n,b(m({},i),{required:!1})),M.Result.isErr(i))return;let s=await(0,ve.LocateDependency)(t,e,r);(0,re.default)(I.Maybe.isSome(s));let a=await rt.ModuleContext.Move(t,t.FS,s.value.Root);(0,re.default)(M.Result.isOk(a)),t=m(m({},t),a.value),await ut(t,o)}async function Kt(t,e,r){var c=[];try{let o=await(0,ve.LocateDependency)(t,e,r);if(M.Result.isOk(o))return(0,M.Ok)(I.None);let n=De(c,await(0,ot.MkdirTemp)(),!0);let i=await zt(t,e,r,n.Path);if(M.Result.isErr(i))return(0,M.Err)(`failed to fetch ${e}@${r}: ${i.err}`);let s=await(0,nt.ValidateChecksum)(t.SumDB,oe.URI.file(n.Path),t,e,i.value);if(M.Result.isErr(s))return s;let a=`${e}@${r}`;let u=oe.UriUtils.joinPath(t.Locations.Cache(),a);await(0,G.mkdir)(u.fsPath,{recursive:!0});await(0,G.rm)(u.fsPath,{recursive:!0,force:!0});await(0,G.rename)(n.Path,u.fsPath);return(0,M.Ok)((0,I.Some)(a))}catch(d){var l=d,g=!0}finally{var h=Ee(c,l,g);h&&await h}}async function zt(t,e,r,o){let n=`${e}@${r}`,i=(0,he.ParseQuery)(n);if(I.Maybe.isNone(i))return(0,M.Err)(`failed to resolve ${n}: invalid download query`);let s=(0,pe.SemVer)(i.value.Version),a=new st.URL(`${i.value.Scheme}://${i.value.Location}`),u=(0,it.ForURL)(t.Remotes,a);if(M.Result.isErr(u))return(0,M.Err)(`failed to resolve ${n}': invalid remote ${a}: ${u.err}`);let c=await u.value.Versions(a);if(M.Result.isErr(c))return(0,M.Err)(`failed to read ${a}: ${c.err}`);let d=s,l=c.value.filter(p=>pe.SemVer.Compare(p,d)===0);if(l.length===0)return(0,M.Err)(`no remote matches for ${a}@v${s}`);if(l.length>1){let p=`[${l.map(String).join(", ")}]`;return(0,M.Err)(`ambiguous match for ${a}@v${s}: found ${p}`)}let g=l[0],h=await u.value.Get(a,g.toString(),o);return M.Result.isErr(h)?(0,M.Err)(`failed to fetch ${a}@${s.toString()}: ${h.err}`):(0,M.Ok)(g)}var Gt=require("@kumori/kdsl-lsp/module/registry/manager.js");var ko=`
3
+ Downloads the specified modules, which can be module patterns selecting depen-
4
+ dencies of the current module or module queries of the form path@version.
5
+
6
+ With no arguments, download applies to the modules needed to build the packages
7
+ in the current module.
8
+
9
+ The kdsl command will automatically download modules as needed during ordinary
10
+ execution. The "kdsl mod download" command is useful mainly for pre-filling the
11
+ local cache.
12
+
13
+ By default, download writes nothing to standard output. It may print progress
14
+ messages and errors to standard error.
15
+ `.trim();var pt=async(t,e,r,o,n)=>{let i=e.shared.workspace.FileSystemProvider,s=await(0,dt.ModuleContext)(i,gt.URI.file(r));if(F.Result.isErr(s))return(0,F.Err)([s.err]);let a=await ft.SumDB.Open(s.value.Locations.Checksum());if(F.Result.isErr(a))return F.Result.mapErr(a,l=>[l]);let u;o.length?u=await lt(b(m({},s.value),{FS:i,Remotes:(0,ye.RemoteFetcherFactory)(),SumDB:a.value}),o):u=await at(b(m({},s.value),{FS:i,Remotes:(0,ye.RemoteFetcherFactory)(),SumDB:a.value}));let c=[];for(let[l,g]of u){if(F.Result.isOk(g)){mt.Maybe.isSome(g.value)&&t.info(`Downloaded dependency ${l}`);continue}g.required?c.push(`${l}: ${g.err}`):n.quiet||(t.warn(`${l}: ${g.err}`),t.warn(`${l}: not required - continuing`))}return Array.from(u.entries()).filter(([,l])=>F.Result.isErr(l)&&l.required).length>0?(0,F.Err)(c):(0,F.Ok)(void 0)};var Xt=require("@kumori/kdsl-lsp/module/registry/manager.js");var jo=`
16
+ `.trim();var ht=async(t,e,r)=>{let o=r.Current.Root,n=await pt(t,e,o.fsPath,[],{quiet:!0});if($.Result.isErr(n))return n;let i=await Yt(e,r);if($.Result.isErr(i)){let s=i.err.warnings.concat(i.err.errors);return(0,$.Err)(s)}return(0,$.Ok)(void 0)},Yt=async(t,e)=>{let r={errors:[],warnings:[]},o=t.shared.workspace.FileSystemProvider,n=e.Current.Root,i=await $.Result.tryCatchAsync(()=>o.readDirectory(n));if($.Result.isErr(i)){let c=""+i.err;return i.err instanceof Error&&(c=i.err.message),r.errors.push(`failed to read directory '${n.fsPath}': ${c}`),(0,$.Err)(r)}await t.shared.workspace.WorkspaceManager.initializeWorkspace([{name:"root",uri:n.toString()}]);let a=t.shared.workspace.LangiumDocuments;await t.shared.workspace.DocumentBuilder.build(a.all.toArray(),{validation:!0});for(let c of t.shared.workspace.LangiumDocuments.all){for(let d of c.parseResult.lexerErrors)r.errors.push(Zt(c,d));for(let d of c.parseResult.parserErrors)r.errors.push(er(c,d));for(let d of c.diagnostics||[]){let l=tr(c,d);d.severity===be.DiagnosticSeverity.Error&&r.errors.push(l),d.severity===be.DiagnosticSeverity.Warning&&r.warnings.push(l)}}return r.errors.length>0?(0,$.Err)(r):(0,$.Ok)(void 0)};function Zt(t,e){return`lexer error: ${Y.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.line||1}:${e.column||1}: ${e.message}`}function er(t,e){return`parser error: ${Y.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.token.startLine||1}:${e.token.startColumn||1}: ${e.message}`}function tr(t,e){return`diagnostic error: ${Y.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.range.start.line+1}:${e.range.start.character+1}: ${e.message}`}var wt=require("fs"),nr=require("@kumori/kdsl-lsp/module/registry/manager.js");var Ko=`
17
+ Generates a solution.json file for a specified Kumori package containing deployment definitions.
18
+ The command requires the path to the package as an argument, and optionally accepts a directory
19
+ path where the Kumori module is located. If the directory is not provided, the current working
20
+ directory is used by default.
21
+
22
+ Some usage examples:
23
+ kdsl build
24
+ kdsl build my-package
25
+ kdsl build my-package path/to/module
26
+
27
+ The generated solution.json file will be created in the package directory, containing all necessary
28
+ information for deploying the resources defined in the package's deployment artifacts.
29
+ `.trim();async function Lt(t,e,r,o){let n=e.shared.workspace.FileSystemProvider,i=await(0,Ce.ModuleContext)(n,ie.URI.file(Le.default.resolve(o)));if(E.Result.isErr(i)){let f=`error: ${i.err}`;return t.error(f),(0,E.Err)([f])}let s=m({FS:n},i.value),a=await Ct(s);if(a.size>0){let f=["error: missing modules"];t.error(f[0]);for(let y of a){let x=`+ ${y}`;t.error(x),f.push(x)}let C="unable to build solution.json";return t.error(C),f.push(C),(0,E.Err)(f)}let u=await ht(t,e,i.value);if(E.Result.isErr(u))return u;let c=ie.UriUtils.joinPath(i.value.Current.Root,r),d=e.references.KumoriPackages.GetPackage(c);if(E.Result.isErr(d)){let f=`error: failed to retrieve package: ${c.toString()}`;return t.error(f),(0,E.Err)([f])}let l=new Set(d.value.docs.map(f=>f.uri.toString())),g=e.shared.workspace.IndexManager.allElements(ne.DeploymentArtifact.$type,l).toArray();if(g.length<1){let f=`error: no deployment defined in ${c.toString()}`;return t.error(f),(0,E.Err)([f])}if(g.length>1){let f=`error: too many deployments in ${c.toString()}`;return t.error(f),(0,E.Err)([f])}let h=g[0],p=h.node;if(!(0,ne.isDeploymentArtifact)(p)){let f=`error: invalid target doc=${h.documentUri} location=${h.path}`;return t.error(f),(0,E.Err)([f])}let w=et(t,e,p);if(E.Result.isErr(w))return w;let L=Le.default.join(c.fsPath,"solution.json");return await wt.promises.writeFile(L,w.value,"utf-8"),t.info(`solution.json written to ${L}`),(0,E.Ok)(void 0)}async function Ct(t,e=new Set){let r=(0,vt.ListDependencies)(t.Current);for(let[,o]of r.entriesGroupedByKey()){(0,we.default)(o.length>0);let{target:n,version:i}=o[0],s=await(0,St.LocateDependency)(t,n,i);if(yt.Maybe.isNone(s)){e.add((0,bt.DependencyId)(n,i));continue}let a=await Ce.ModuleContext.Move(t,t.FS,s.value.Root);(0,we.default)(E.Result.isOk(a));let u=m(m({},t),a.value);await Ct(u,e)}return e}async function ir(t){var s,a,u;let e=je(t.logger),r=(s=t.package)!=null?s:".",o=(u=(a=t.directory)!=null?a:t.cwd)!=null?u:".",n=t.services;return await new Mt.RegistryManager().ensureIndexes(),await Lt(e,n,r,o)}0&&(module.exports={build});
@@ -0,0 +1,16 @@
1
+ const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
+ "use strict";var xe=Object.create;var S=Object.defineProperty,ye=Object.defineProperties,Ce=Object.getOwnPropertyDescriptor,Pe=Object.getOwnPropertyDescriptors,De=Object.getOwnPropertyNames,K=Object.getOwnPropertySymbols,_e=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable;var U=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t);var R=(t,e,r)=>e in t?S(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))z.call(e,r)&&R(t,r,e[r]);if(K)for(var r of K(e))Se.call(e,r)&&R(t,r,e[r]);return t},v=(t,e)=>ye(t,Pe(e));var Te=(t,e)=>{for(var r in e)S(t,r,{get:e[r],enumerable:!0})},H=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of De(e))!z.call(t,n)&&n!==r&&S(t,n,{get:()=>e[n],enumerable:!(o=Ce(e,n))||o.enumerable});return t};var W=(t,e,r)=>(r=t!=null?xe(_e(t)):{},H(e||!t||!t.__esModule?S(r,"default",{value:t,enumerable:!0}):r,t)),Ee=t=>H(S({},"__esModule",{value:!0}),t);var p=(t,e,r)=>(R(t,typeof e!="symbol"?e+"":e,r),r);var Q=(t,e,r)=>{if(e!=null){if(typeof e!="object"&&typeof e!="function")throw TypeError("Object expected");var o;if(r&&(o=e[U("asyncDispose")]),o===void 0&&(o=e[U("dispose")]),typeof o!="function")throw TypeError("Object not disposable");t.push([r,o,e])}else r&&t.push([r]);return e},J=(t,e,r)=>{var o=typeof SuppressedError=="function"?SuppressedError:function(a,l,d,g){return g=Error(d),g.name="SuppressedError",g.error=a,g.suppressed=l,g},n=a=>e=r?new o(a,e,"An error was suppressed during disposal"):(r=!0,a),i=a=>{for(;a=t.pop();)try{var l=a[1]&&a[1].call(a[2]);if(a[0])return Promise.resolve(l).then(i,d=>(n(d),i()))}catch(d){n(d)}if(r)throw e};return i()};var Je={};Te(Je,{check:()=>Qe});module.exports=Ee(Je);var M=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),Xe={[M.trace]:10,[M.debug]:20,[M.info]:30,[M.warn]:40,[M.error]:50,[M.fatal]:60},Ye={10:M.trace,20:M.debug,30:M.info,40:M.warn,50:M.error,60:M.fatal};var b=function(t){return t.onBeforeDataOut="onBeforeDataOut",t.shouldSendToLogger="shouldSendToLogger",t.onMetadataCalled="onMetadataCalled",t.onBeforeMessageOut="onBeforeMessageOut",t.onContextCalled="onContextCalled",t}({});var s=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),T={[s.trace]:10,[s.debug]:20,[s.info]:30,[s.warn]:40,[s.error]:50,[s.fatal]:60},rt={10:s.trace,20:s.debug,30:s.info,40:s.warn,50:s.error,60:s.fatal};var G=class X{constructor(){p(this,"context",{});p(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=u(u({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:r}){if(e.hasContextData()){let o=e.getContext();r.setContext(u({},o))}}clone(){let e=new X;return e.setContext(u({},this.context)),e.hasContext=this.hasContext,e}};var Y=class{constructor(t){p(this,"err");p(this,"metadata");p(this,"structuredLogger");p(this,"hasMetadata");p(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=t,this.hasMetadata=!1,this.pluginManager=t.pluginManager}withMetadata(t){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!t)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let o=t;return e.hasPlugins(b.onMetadataCalled)&&(o=e.runOnMetadataCalled(t,this.structuredLogger),!o)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=u(u({},this.metadata),o),this.hasMetadata=!0,this)}withError(t){return this.err=t,this}info(...t){this.structuredLogger.isLevelEnabled(s.info)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.info,t))}warn(...t){this.structuredLogger.isLevelEnabled(s.warn)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.warn,t))}error(...t){this.structuredLogger.isLevelEnabled(s.error)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.error,t))}debug(...t){this.structuredLogger.isLevelEnabled(s.debug)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.debug,t))}trace(...t){this.structuredLogger.isLevelEnabled(s.trace)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.trace,t))}fatal(...t){this.structuredLogger.isLevelEnabled(s.fatal)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.fatal,t))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(t,e){let{muteMetadata:r}=this.structuredLogger._config,o=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:t,params:e,metadata:o?this.metadata:null,err:this.err})}},ke=[b.onBeforeDataOut,b.onMetadataCalled,b.shouldSendToLogger,b.onBeforeMessageOut,b.onContextCalled],Z=class{constructor(t){p(this,"idToPlugin");p(this,"onBeforeDataOut",[]);p(this,"shouldSendToLogger",[]);p(this,"onMetadataCalled",[]);p(this,"onBeforeMessageOut",[]);p(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(t),this.indexPlugins()}mapPlugins(t){for(let e of t){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let t=Object.values(this.idToPlugin).sort((e,r)=>e.registeredAt-r.registeredAt);for(let e of t){if(e.disabled)return;for(let r of ke)e[r]&&e.id&&this[r].push(e.id)}}hasPlugins(t){return this[t].length>0}countPlugins(t){return t?this[t].length:Object.keys(this.idToPlugin).length}addPlugins(t){this.mapPlugins(t),this.indexPlugins()}enablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(t){delete this.idToPlugin[t],this.indexPlugins()}runOnBeforeDataOut(t,e){let r=u({},t);for(let o of this.onBeforeDataOut){let n=this.idToPlugin[o];if(n.onBeforeDataOut){let i=n.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},e);i&&(r.data||(r.data={}),Object.assign(r.data,i))}}return r.data}runShouldSendToLogger(t,e){return!this.shouldSendToLogger.some(r=>{var o,n;return!((n=(o=this.idToPlugin[r]).shouldSendToLogger)!=null&&n.call(o,t,e))})}runOnMetadataCalled(t,e){var o,n;let r=u({},t);for(let i of this.onMetadataCalled){let a=(n=(o=this.idToPlugin[i]).onMetadataCalled)==null?void 0:n.call(o,r,e);if(a)r=a;else return null}return r}runOnBeforeMessageOut(t,e){var o,n;let r=[...t.messages];for(let i of this.onBeforeMessageOut){let a=(n=(o=this.idToPlugin[i]).onBeforeMessageOut)==null?void 0:n.call(o,{messages:r,logLevel:t.logLevel},e);a&&(r=a)}return r}runOnContextCalled(t,e){var o,n;let r=u({},t);for(let i of this.onContextCalled){let a=(n=(o=this.idToPlugin[i]).onContextCalled)==null?void 0:n.call(o,r,e);if(a)r=a;else return null}return r}},ee=class te{constructor(e){p(this,"pluginManager");p(this,"idToTransport");p(this,"hasMultipleTransports");p(this,"singleTransport");p(this,"contextManager");p(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});p(this,"_config");var r;this._config=v(u({},e),{enabled:(r=e.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new G,this.pluginManager=new Z(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((r,o)=>(r[o.id]=o,r),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let r=this.child();return r._config.prefix=e,r}withContext(e){let r=e;return e?this.pluginManager.hasPlugins(b.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(e,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new Y(this).withMetadata(e)}withError(e){return new Y(this).withError(e)}child(){let e=new te(v(u({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new Z(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,r){let o=(r==null?void 0:r.logLevel)||s.error;if(!this.isLevelEnabled(o))return;let{copyMsgOnOnlyError:n}=this._config,i={logLevel:o,err:e};(n&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(e!=null&&e.message)&&(i.params=[e.message]),this._formatLog(i)}metadataOnly(e,r=s.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:o,consoleDebug:n}=this._config;if(o)return;if(!e){n&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let i=e;if(this.pluginManager.hasPlugins(b.onMetadataCalled)&&(i=this.pluginManager.runOnMetadataCalled(e,this),!i)){n&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let a={logLevel:r,metadata:i};this._formatLog(a)}info(...e){this.isLevelEnabled(s.info)&&(this._formatMessage(e),this._formatLog({logLevel:s.info,params:e}))}warn(...e){this.isLevelEnabled(s.warn)&&(this._formatMessage(e),this._formatLog({logLevel:s.warn,params:e}))}error(...e){this.isLevelEnabled(s.error)&&(this._formatMessage(e),this._formatLog({logLevel:s.error,params:e}))}debug(...e){this.isLevelEnabled(s.debug)&&(this._formatMessage(e),this._formatLog({logLevel:s.debug,params:e}))}trace(...e){this.isLevelEnabled(s.trace)&&(this._formatMessage(e),this._formatLog({logLevel:s.trace,params:e}))}fatal(...e){this.isLevelEnabled(s.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:s.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let r={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(r)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(e){let r=T[e];for(let o of Object.values(s)){let n=o,i=T[o];this.logLevelEnabledStatus[n]=i>=r}return this}isLevelEnabled(e){let r=e;return this.logLevelEnabledStatus[r]}formatContext(e){let{contextFieldName:r,muteContext:o}=this._config;return e&&Object.keys(e).length>0&&!o?r?{[r]:u({},e)}:u({},e):{}}formatMetadata(e=null){let{metadataFieldName:r,muteMetadata:o}=this._config;return e&&!o?r?{[r]:u({},e)}:u({},e):{}}getLoggerInstance(e){let r=this.idToTransport[e];if(r)return r.getLoggerInstance()}_formatMessage(e=[]){let{prefix:r}=this._config;r&&typeof e[0]=="string"&&(e[0]=`${r} ${e[0]}`)}_formatLog({logLevel:e,params:r=[],metadata:o=null,err:n,context:i=null}){var V;let{errorSerializer:a,errorFieldInMetadata:l,muteContext:d,contextFieldName:g,metadataFieldName:f,errorFieldName:c}=this._config,L=i!==null?i:this.contextManager.getContext(),w=!!o||(d?!1:i!==null?Object.keys(i).length>0:this.contextManager.hasContextData()),m={};if(w)if(g&&g===f){let P=this.formatContext(L)[g],D=this.formatMetadata(o)[f];m={[g]:u(u({},P),D)}}else m=u(u({},this.formatContext(L)),this.formatMetadata(o));if(n){let P=a?a(n):n;l&&o&&f?m!=null&&m[f]?m[f][c]=P:m=v(u({},m),{[f]:{[c]:P}}):l&&!o&&f?m=v(u({},m),{[f]:{[c]:P}}):m=v(u({},m),{[c]:P}),w=!0}if(this.pluginManager.hasPlugins(b.onBeforeDataOut)&&(m=this.pluginManager.runOnBeforeDataOut({data:w?m:void 0,logLevel:e,error:n,metadata:o,context:L},this),m&&!w&&(w=!0)),this.pluginManager.hasPlugins(b.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:e},this)),this.hasMultipleTransports){let P=this._config.transport.filter(D=>D.enabled).map(async D=>{if(!(this.pluginManager.hasPlugins(b.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:w?m:void 0,logLevel:e,transportId:D.id,error:n,metadata:o,context:L},this)))return D._sendToLogger({logLevel:e,messages:[...r],data:w?m:void 0,hasData:w,error:n,metadata:o,context:L})});Promise.all(P).catch(D=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",D)})}else{if(!((V=this.singleTransport)!=null&&V.enabled)||this.pluginManager.hasPlugins(b.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:w?m:void 0,logLevel:e,transportId:this.singleTransport.id,error:n,metadata:o,context:L},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...r],data:w?m:void 0,hasData:w,error:n,metadata:o,context:L})}}};function Oe(){let t={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new ee({transport:t})}function re(t){return t!=null?t:Oe()}var qe=require("@kumori/kdsl-lsp/language/kumori.js"),E=require("langium"),je=require("langium/node"),j=require("vscode-languageserver"),x=require("@kumori/kdsl-lsp/util/result.js"),Ve=require("@kumori/kdsl-lsp/module/context.js");var he=require("@kumori/kdsl-lsp/module/context.js"),fe=require("@kumori/kdsl-lsp/module/integrity/sumdb.js"),q=require("@kumori/kdsl-lsp/module/remote/factory.js"),me=require("@kumori/kdsl-lsp/util/maybe.js"),y=require("@kumori/kdsl-lsp/util/result.js"),pe=require("langium"),Ie=require("langium/node"),Ae=require("@kumori/kdsl-lsp/language/kumori.js");var Fe=require("@kumori/kdsl-lsp/util/result.js");var I=require("@kumori/kdsl-lsp/module/query.js"),C=require("@kumori/kdsl-lsp/util/maybe.js"),h=require("@kumori/kdsl-lsp/util/result.js"),B=require("@kumori/kdsl-lsp/module/version.js"),oe=require("@kumori/kdsl-lsp/module/dependency/list.js"),k=W(require("assert"),1),A=require("@kumori/kdsl-lsp/module/dependency/locate.js"),ne=require("@kumori/kdsl-lsp/module/context.js"),ie=require("@kumori/kdsl-lsp/util/tmp.js"),ae=require("@kumori/kdsl-lsp/module/integrity/validate.js"),O=require("langium"),_=require("fs/promises"),se=require("@kumori/kdsl-lsp/module/remote/factory.js"),$=require("@kumori/kdsl-lsp/util/semver.js"),le=require("@kumori/kdsl-lsp/util/url.js"),N=require("@kumori/kdsl-lsp/module/dependency/id.js");async function ue(t){let e=new Map;return await de(t,e),e}async function ge(t,e){let r=new Map;console.log(e);for(let o of e){let n=(0,I.ParseQuery)(o);if(C.Maybe.isNone(n)){let d=`invalid download query '${o}': failed to parse`;r.set(o,v(u({},(0,h.Err)(d)),{required:!0}));continue}let i=(0,B.Version)(n.value.Version);if(C.Maybe.isNone(i)){let d=`invalid download query '${o}': invalid version specifier '${n.value.Version}': failed to parse`;r.set(o,v(u({},(0,h.Err)(d)),{required:!0}));continue}if(!B.Version.isSemVer(i.value)){let d=`invalid download query '${o}': invalid version specifier '${n.value.Version}': invalid semver`;r.set(o,v(u({},(0,h.Err)(d)),{required:!0}));continue}let a=`${n.value.Scheme}://${n.value.Location}`,l=n.value.Version;await ce(t,a,l,r)}return r}async function de(t,e){var o;let r=(0,oe.ListDependencies)(t.Current);for(let n of r.keys()){let i=r.get(n);if(i.length<1)continue;let{target:a,version:l}=i[0];await ce(t,a,l,e);let d=i.reduce((f,c)=>f||c.interface===void 0,!1),g=(0,N.DependencyId)(a,l);(0,k.default)(e.has(g)),(o=e.get(g)).required||(o.required=d)}}async function ce(t,e,r,o){let n=(0,N.DependencyId)(e,r);if(o.has(n))return;let i=await Re(t,e,r);if(o.set(n,v(u({},i),{required:!1})),h.Result.isErr(i))return;let a=await(0,A.LocateDependency)(t,e,r);(0,k.default)(C.Maybe.isSome(a));let l=await ne.ModuleContext.Move(t,t.FS,a.value.Root);(0,k.default)(h.Result.isOk(l)),t=u(u({},t),l.value),await de(t,o)}async function Re(t,e,r){var g=[];try{let o=await(0,A.LocateDependency)(t,e,r);if(h.Result.isOk(o))return(0,h.Ok)(C.None);let n=Q(g,await(0,ie.MkdirTemp)(),!0);let i=await Be(t,e,r,n.Path);if(h.Result.isErr(i))return(0,h.Err)(`failed to fetch ${e}@${r}: ${i.err}`);let a=await(0,ae.ValidateChecksum)(t.SumDB,O.URI.file(n.Path),t,e,i.value);if(h.Result.isErr(a))return a;let l=`${e}@${r}`;let d=O.UriUtils.joinPath(t.Locations.Cache(),l);await(0,_.mkdir)(d.fsPath,{recursive:!0});await(0,_.rm)(d.fsPath,{recursive:!0,force:!0});await(0,_.rename)(n.Path,d.fsPath);return(0,h.Ok)((0,C.Some)(l))}catch(f){var c=f,L=!0}finally{var w=J(g,c,L);w&&await w}}async function Be(t,e,r,o){let n=`${e}@${r}`,i=(0,I.ParseQuery)(n);if(C.Maybe.isNone(i))return(0,h.Err)(`failed to resolve ${n}: invalid download query`);let a=(0,$.SemVer)(i.value.Version),l=new le.URL(`${i.value.Scheme}://${i.value.Location}`),d=(0,se.ForURL)(t.Remotes,l);if(h.Result.isErr(d))return(0,h.Err)(`failed to resolve ${n}': invalid remote ${l}: ${d.err}`);let g=await d.value.Versions(l);if(h.Result.isErr(g))return(0,h.Err)(`failed to read ${l}: ${g.err}`);let f=a,c=g.value.filter(m=>$.SemVer.Compare(m,f)===0);if(c.length===0)return(0,h.Err)(`no remote matches for ${l}@v${a}`);if(c.length>1){let m=`[${c.map(String).join(", ")}]`;return(0,h.Err)(`ambiguous match for ${l}@v${a}: found ${m}`)}let L=c[0],w=await d.value.Get(l,L.toString(),o);return h.Result.isErr(w)?(0,h.Err)(`failed to fetch ${l}@${a.toString()}: ${w.err}`):(0,h.Ok)(L)}var Ne=require("@kumori/kdsl-lsp/module/registry/manager.js");var kt=`
3
+ Downloads the specified modules, which can be module patterns selecting depen-
4
+ dencies of the current module or module queries of the form path@version.
5
+
6
+ With no arguments, download applies to the modules needed to build the packages
7
+ in the current module.
8
+
9
+ The kdsl command will automatically download modules as needed during ordinary
10
+ execution. The "kdsl mod download" command is useful mainly for pre-filling the
11
+ local cache.
12
+
13
+ By default, download writes nothing to standard output. It may print progress
14
+ messages and errors to standard error.
15
+ `.trim();var Le=async(t,e,r,o,n)=>{let i=e.shared.workspace.FileSystemProvider,a=await(0,he.ModuleContext)(i,pe.URI.file(r));if(y.Result.isErr(a))return(0,y.Err)([a.err]);let l=await fe.SumDB.Open(a.value.Locations.Checksum());if(y.Result.isErr(l))return y.Result.mapErr(l,c=>[c]);let d;o.length?d=await ge(v(u({},a.value),{FS:i,Remotes:(0,q.RemoteFetcherFactory)(),SumDB:l.value}),o):d=await ue(v(u({},a.value),{FS:i,Remotes:(0,q.RemoteFetcherFactory)(),SumDB:l.value}));let g=[];for(let[c,L]of d){if(y.Result.isOk(L)){me.Maybe.isSome(L.value)&&t.info(`Downloaded dependency ${c}`);continue}L.required?g.push(`${c}: ${L.err}`):n.quiet||(t.warn(`${c}: ${L.err}`),t.warn(`${c}: not required - continuing`))}return Array.from(d.entries()).filter(([,c])=>y.Result.isErr(c)&&c.required).length>0?(0,y.Err)(g):(0,y.Ok)(void 0)};var Ke=require("@kumori/kdsl-lsp/module/registry/manager.js");var qt=`
16
+ `.trim();var we=async(t,e,r)=>{let o=r.Current.Root,n=await Le(t,e,o.fsPath,[],{quiet:!0});if(x.Result.isErr(n))return n;let i=await Ue(e,r);if(x.Result.isErr(i)){let a=i.err.warnings.concat(i.err.errors);return(0,x.Err)(a)}return(0,x.Ok)(void 0)},Ue=async(t,e)=>{let r={errors:[],warnings:[]},o=t.shared.workspace.FileSystemProvider,n=e.Current.Root,i=await x.Result.tryCatchAsync(()=>o.readDirectory(n));if(x.Result.isErr(i)){let g=""+i.err;return i.err instanceof Error&&(g=i.err.message),r.errors.push(`failed to read directory '${n.fsPath}': ${g}`),(0,x.Err)(r)}await t.shared.workspace.WorkspaceManager.initializeWorkspace([{name:"root",uri:n.toString()}]);let l=t.shared.workspace.LangiumDocuments;await t.shared.workspace.DocumentBuilder.build(l.all.toArray(),{validation:!0});for(let g of t.shared.workspace.LangiumDocuments.all){for(let f of g.parseResult.lexerErrors)r.errors.push(ze(g,f));for(let f of g.parseResult.parserErrors)r.errors.push(He(g,f));for(let f of g.diagnostics||[]){let c=We(g,f);f.severity===j.DiagnosticSeverity.Error&&r.errors.push(c),f.severity===j.DiagnosticSeverity.Warning&&r.warnings.push(c)}}return r.errors.length>0?(0,x.Err)(r):(0,x.Ok)(void 0)};function ze(t,e){return`lexer error: ${E.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.line||1}:${e.column||1}: ${e.message}`}function He(t,e){return`parser error: ${E.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.token.startLine||1}:${e.token.startColumn||1}: ${e.message}`}function We(t,e){return`diagnostic error: ${E.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.range.start.line+1}:${e.range.start.character+1}: ${e.message}`}var ve=require("@kumori/kdsl-lsp/module/context.js"),be=require("langium"),F=require("@kumori/kdsl-lsp/util/result.js"),Me=W(require("path"),1);async function Qe(t){var a,l;let e=re(t.logger),r=(l=(a=t.directory)!=null?a:t.cwd)!=null?l:".",o=t.services,n=o.shared.workspace.FileSystemProvider,i=await(0,ve.ModuleContext)(n,be.URI.file(Me.default.resolve(r)));return F.Result.isErr(i)?(0,F.Err)([i.err]):await we(e,o,i.value)}0&&(module.exports={check});
@@ -0,0 +1,2 @@
1
+ const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
+ "use strict";var w=Object.defineProperty,z=Object.defineProperties,J=Object.getOwnPropertyDescriptor,K=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertyNames,P=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable;var _=(r,e,t)=>e in r?w(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,o=(r,e)=>{for(var t in e||(e={}))y.call(e,t)&&_(r,t,e[t]);if(P)for(var t of P(e))V.call(e,t)&&_(r,t,e[t]);return r},M=(r,e)=>z(r,K(e));var q=(r,e)=>{for(var t in e)w(r,t,{get:e[t],enumerable:!0})},G=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of R(e))!y.call(r,a)&&a!==t&&w(r,a,{get:()=>e[a],enumerable:!(n=J(e,a))||n.enumerable});return r};var H=r=>G(w({},"__esModule",{value:!0}),r);var s=(r,e,t)=>(_(r,typeof e!="symbol"?e+"":e,t),t);var X={};q(X,{clean:()=>W});module.exports=H(X);var d=function(r){return r.info="info",r.warn="warn",r.error="error",r.debug="debug",r.trace="trace",r.fatal="fatal",r}({}),Z={[d.trace]:10,[d.debug]:20,[d.info]:30,[d.warn]:40,[d.error]:50,[d.fatal]:60},$={10:d.trace,20:d.debug,30:d.info,40:d.warn,50:d.error,60:d.fatal};var u=function(r){return r.onBeforeDataOut="onBeforeDataOut",r.shouldSendToLogger="shouldSendToLogger",r.onMetadataCalled="onMetadataCalled",r.onBeforeMessageOut="onBeforeMessageOut",r.onContextCalled="onContextCalled",r}({});var i=function(r){return r.info="info",r.warn="warn",r.error="error",r.debug="debug",r.trace="trace",r.fatal="fatal",r}({}),m={[i.trace]:10,[i.debug]:20,[i.info]:30,[i.warn]:40,[i.error]:50,[i.fatal]:60},ne={10:i.trace,20:i.debug,30:i.info,40:i.warn,50:i.error,60:i.fatal};var F=class D{constructor(){s(this,"context",{});s(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=o(o({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:t}){if(e.hasContextData()){let n=e.getContext();t.setContext(o({},n))}}clone(){let e=new D;return e.setContext(o({},this.context)),e.hasContext=this.hasContext,e}};var S=class{constructor(r){s(this,"err");s(this,"metadata");s(this,"structuredLogger");s(this,"hasMetadata");s(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=r,this.hasMetadata=!1,this.pluginManager=r.pluginManager}withMetadata(r){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:t}}}=this;if(!r)return t&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let n=r;return e.hasPlugins(u.onMetadataCalled)&&(n=e.runOnMetadataCalled(r,this.structuredLogger),!n)?(t&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=o(o({},this.metadata),n),this.hasMetadata=!0,this)}withError(r){return this.err=r,this}info(...r){this.structuredLogger.isLevelEnabled(i.info)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.info,r))}warn(...r){this.structuredLogger.isLevelEnabled(i.warn)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.warn,r))}error(...r){this.structuredLogger.isLevelEnabled(i.error)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.error,r))}debug(...r){this.structuredLogger.isLevelEnabled(i.debug)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.debug,r))}trace(...r){this.structuredLogger.isLevelEnabled(i.trace)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.trace,r))}fatal(...r){this.structuredLogger.isLevelEnabled(i.fatal)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.fatal,r))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(r,e){let{muteMetadata:t}=this.structuredLogger._config,n=t?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:r,params:e,metadata:n?this.metadata:null,err:this.err})}},Q=[u.onBeforeDataOut,u.onMetadataCalled,u.shouldSendToLogger,u.onBeforeMessageOut,u.onContextCalled],E=class{constructor(r){s(this,"idToPlugin");s(this,"onBeforeDataOut",[]);s(this,"shouldSendToLogger",[]);s(this,"onMetadataCalled",[]);s(this,"onBeforeMessageOut",[]);s(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(r),this.indexPlugins()}mapPlugins(r){for(let e of r){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let r=Object.values(this.idToPlugin).sort((e,t)=>e.registeredAt-t.registeredAt);for(let e of r){if(e.disabled)return;for(let t of Q)e[t]&&e.id&&this[t].push(e.id)}}hasPlugins(r){return this[r].length>0}countPlugins(r){return r?this[r].length:Object.keys(this.idToPlugin).length}addPlugins(r){this.mapPlugins(r),this.indexPlugins()}enablePlugin(r){let e=this.idToPlugin[r];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(r){let e=this.idToPlugin[r];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(r){delete this.idToPlugin[r],this.indexPlugins()}runOnBeforeDataOut(r,e){let t=o({},r);for(let n of this.onBeforeDataOut){let a=this.idToPlugin[n];if(a.onBeforeDataOut){let l=a.onBeforeDataOut({data:t.data,logLevel:t.logLevel,error:t.error,metadata:t.metadata,context:t.context},e);l&&(t.data||(t.data={}),Object.assign(t.data,l))}}return t.data}runShouldSendToLogger(r,e){return!this.shouldSendToLogger.some(t=>{var n,a;return!((a=(n=this.idToPlugin[t]).shouldSendToLogger)!=null&&a.call(n,r,e))})}runOnMetadataCalled(r,e){var n,a;let t=o({},r);for(let l of this.onMetadataCalled){let h=(a=(n=this.idToPlugin[l]).onMetadataCalled)==null?void 0:a.call(n,t,e);if(h)t=h;else return null}return t}runOnBeforeMessageOut(r,e){var n,a;let t=[...r.messages];for(let l of this.onBeforeMessageOut){let h=(a=(n=this.idToPlugin[l]).onBeforeMessageOut)==null?void 0:a.call(n,{messages:t,logLevel:r.logLevel},e);h&&(t=h)}return t}runOnContextCalled(r,e){var n,a;let t=o({},r);for(let l of this.onContextCalled){let h=(a=(n=this.idToPlugin[l]).onContextCalled)==null?void 0:a.call(n,t,e);if(h)t=h;else return null}return t}},k=class B{constructor(e){s(this,"pluginManager");s(this,"idToTransport");s(this,"hasMultipleTransports");s(this,"singleTransport");s(this,"contextManager");s(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});s(this,"_config");var t;this._config=M(o({},e),{enabled:(t=e.enabled)!=null?t:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new F,this.pluginManager=new E(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let t in this.idToTransport)this.idToTransport[t]&&typeof this.idToTransport[t][Symbol.dispose]=="function"&&this.idToTransport[t][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((t,n)=>(t[n.id]=n,t),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let t=this.child();return t._config.prefix=e,t}withContext(e){let t=e;return e?this.pluginManager.hasPlugins(u.onContextCalled)&&(t=this.pluginManager.runOnContextCalled(e,this),!t)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(t),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new S(this).withMetadata(e)}withError(e){return new S(this).withError(e)}child(){let e=new B(M(o({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new E(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,t){let n=(t==null?void 0:t.logLevel)||i.error;if(!this.isLevelEnabled(n))return;let{copyMsgOnOnlyError:a}=this._config,l={logLevel:n,err:e};(a&&(t==null?void 0:t.copyMsg)!==!1||(t==null?void 0:t.copyMsg)===!0)&&(e!=null&&e.message)&&(l.params=[e.message]),this._formatLog(l)}metadataOnly(e,t=i.info){if(!this.isLevelEnabled(t))return;let{muteMetadata:n,consoleDebug:a}=this._config;if(n)return;if(!e){a&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let l=e;if(this.pluginManager.hasPlugins(u.onMetadataCalled)&&(l=this.pluginManager.runOnMetadataCalled(e,this),!l)){a&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let h={logLevel:t,metadata:l};this._formatLog(h)}info(...e){this.isLevelEnabled(i.info)&&(this._formatMessage(e),this._formatLog({logLevel:i.info,params:e}))}warn(...e){this.isLevelEnabled(i.warn)&&(this._formatMessage(e),this._formatLog({logLevel:i.warn,params:e}))}error(...e){this.isLevelEnabled(i.error)&&(this._formatMessage(e),this._formatLog({logLevel:i.error,params:e}))}debug(...e){this.isLevelEnabled(i.debug)&&(this._formatMessage(e),this._formatLog({logLevel:i.debug,params:e}))}trace(...e){this.isLevelEnabled(i.trace)&&(this._formatMessage(e),this._formatLog({logLevel:i.trace,params:e}))}fatal(...e){this.isLevelEnabled(i.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:i.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let t={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(t)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let t=e;return t in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[t]=!0),this}disableIndividualLevel(e){let t=e;return t in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[t]=!1),this}setLevel(e){let t=m[e];for(let n of Object.values(i)){let a=n,l=m[n];this.logLevelEnabledStatus[a]=l>=t}return this}isLevelEnabled(e){let t=e;return this.logLevelEnabledStatus[t]}formatContext(e){let{contextFieldName:t,muteContext:n}=this._config;return e&&Object.keys(e).length>0&&!n?t?{[t]:o({},e)}:o({},e):{}}formatMetadata(e=null){let{metadataFieldName:t,muteMetadata:n}=this._config;return e&&!n?t?{[t]:o({},e)}:o({},e):{}}getLoggerInstance(e){let t=this.idToTransport[e];if(t)return t.getLoggerInstance()}_formatMessage(e=[]){let{prefix:t}=this._config;t&&typeof e[0]=="string"&&(e[0]=`${t} ${e[0]}`)}_formatLog({logLevel:e,params:t=[],metadata:n=null,err:a,context:l=null}){var O;let{errorSerializer:h,errorFieldInMetadata:T,muteContext:I,contextFieldName:x,metadataFieldName:f,errorFieldName:v}=this._config,p=l!==null?l:this.contextManager.getContext(),c=!!n||(I?!1:l!==null?Object.keys(l).length>0:this.contextManager.hasContextData()),g={};if(c)if(x&&x===f){let L=this.formatContext(p)[x],b=this.formatMetadata(n)[f];g={[x]:o(o({},L),b)}}else g=o(o({},this.formatContext(p)),this.formatMetadata(n));if(a){let L=h?h(a):a;T&&n&&f?g!=null&&g[f]?g[f][v]=L:g=M(o({},g),{[f]:{[v]:L}}):T&&!n&&f?g=M(o({},g),{[f]:{[v]:L}}):g=M(o({},g),{[v]:L}),c=!0}if(this.pluginManager.hasPlugins(u.onBeforeDataOut)&&(g=this.pluginManager.runOnBeforeDataOut({data:c?g:void 0,logLevel:e,error:a,metadata:n,context:p},this),g&&!c&&(c=!0)),this.pluginManager.hasPlugins(u.onBeforeMessageOut)&&(t=this.pluginManager.runOnBeforeMessageOut({messages:[...t],logLevel:e},this)),this.hasMultipleTransports){let L=this._config.transport.filter(b=>b.enabled).map(async b=>{if(!(this.pluginManager.hasPlugins(u.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...t],data:c?g:void 0,logLevel:e,transportId:b.id,error:a,metadata:n,context:p},this)))return b._sendToLogger({logLevel:e,messages:[...t],data:c?g:void 0,hasData:c,error:a,metadata:n,context:p})});Promise.all(L).catch(b=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",b)})}else{if(!((O=this.singleTransport)!=null&&O.enabled)||this.pluginManager.hasPlugins(u.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...t],data:c?g:void 0,logLevel:e,transportId:this.singleTransport.id,error:a,metadata:n,context:p},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...t],data:c?g:void 0,hasData:c,error:a,metadata:n,context:p})}}};function U(){let r={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new k({transport:r})}function j(r){return r!=null?r:U()}var A=require("@kumori/kdsl-lsp/util/tmp.js"),N=require("fs/promises"),C=require("@kumori/kdsl-lsp/util/result.js");async function W(r={}){let e=j(r.logger);try{let t=await(0,A.TempCache)();return e.info(t.fsPath),await(0,N.rm)(t.fsPath,{force:!0,recursive:!0}),(0,C.Ok)(void 0)}catch(t){return(0,C.Err)([String(t)])}}0&&(module.exports={clean});