@decohere/scaffold 0.0.1-dev.126 → 0.0.1-dev.80

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 (154) hide show
  1. package/commonjs/src/add-api.action.js +3 -1
  2. package/commonjs/src/add-api.command.js +3 -1
  3. package/commonjs/src/add.command.js +3 -1
  4. package/commonjs/src/add.module.js +3 -1
  5. package/commonjs/src/cli.js +3 -2
  6. package/commonjs/src/create.command.js +3 -1
  7. package/commonjs/src/create.module.js +3 -1
  8. package/commonjs/src/domain/prompt.js +2 -0
  9. package/commonjs/src/index.js +2 -12
  10. package/commonjs/src/models/compose.model.js +3 -111
  11. package/commonjs/src/models/config-yaml.model.js +2 -0
  12. package/commonjs/src/models/const.js +2 -0
  13. package/commonjs/src/models/dev-container.model.js +10 -66
  14. package/commonjs/src/models/docker-image.model.js +6 -24
  15. package/commonjs/src/models/env-file.model.js +2 -0
  16. package/commonjs/src/models/gitignore.model.js +2 -7
  17. package/commonjs/src/models/launch-json.model.js +4 -0
  18. package/commonjs/src/models/package-json.model.js +7 -14
  19. package/commonjs/src/models/project.model.js +2 -0
  20. package/commonjs/src/models/source-file.js +2 -0
  21. package/commonjs/src/models/tsconfig.model.js +2 -0
  22. package/commonjs/src/models/vitest-config.model.js +2 -0
  23. package/commonjs/src/models/vscode-settings.model.js +2 -0
  24. package/commonjs/src/program.js +6 -13
  25. package/commonjs/src/resolve-target-dir.js +2 -0
  26. package/commonjs/src/services/scaffold.service.js +2 -0
  27. package/commonjs/src/version.js +2 -0
  28. package/commonjs/src/webapi/api-name.js +2 -0
  29. package/commonjs/src/webapi/cli-options.js +2 -0
  30. package/commonjs/src/webapi/const.js +3 -7
  31. package/commonjs/src/webapi/create-api.js +18 -46
  32. package/commonjs/src/webapi/devcontainer/codebase-rag-mcp.js +2 -0
  33. package/commonjs/src/webapi/devcontainer/host-scripts.js +2 -0
  34. package/commonjs/src/webapi/features/auth.feature.js +44 -11
  35. package/commonjs/src/webapi/features/auth0-cli.js +3 -40
  36. package/commonjs/src/webapi/features/biome-format.js +2 -0
  37. package/commonjs/src/webapi/features/database.feature.js +10 -10
  38. package/commonjs/src/webapi/features/finalize.feature.js +4 -2
  39. package/commonjs/src/webapi/features/postman.feature.js +2 -0
  40. package/commonjs/src/webapi/models/api-package-json.model.js +3 -1
  41. package/commonjs/src/webapi/models/auth-config.model.js +2 -0
  42. package/commonjs/src/webapi/models/controller-source-file.model.js +8 -5
  43. package/commonjs/src/webapi/models/github-ci.model.js +6 -6
  44. package/commonjs/src/webapi/models/main-source-file.model.js +5 -3
  45. package/commonjs/src/webapi/models/production-dockerfile.model.js +109 -27
  46. package/commonjs/src/webapi/models/sample-files.model.js +4 -2
  47. package/commonjs/src/webapi/models/webapi-image.model.js +2 -0
  48. package/commonjs/src/webapi/postman/hello-openapi.js +2 -0
  49. package/commonjs/src/webapi/postman/local-view.js +2 -0
  50. package/commonjs/src/webapi/postman/openapi-to-postman.js +8 -44
  51. package/commonjs/src/webapi/workspace-readme.js +5 -4
  52. package/commonjs/src/webapi.action.js +3 -1
  53. package/commonjs/src/webapi.command.js +4 -2
  54. package/es6/src/add-api.action.js +3 -1
  55. package/es6/src/add-api.command.js +3 -1
  56. package/es6/src/add.command.js +3 -1
  57. package/es6/src/add.module.js +3 -1
  58. package/es6/src/cli.js +3 -2
  59. package/es6/src/create.command.js +3 -1
  60. package/es6/src/create.module.js +3 -1
  61. package/es6/src/domain/prompt.js +2 -0
  62. package/es6/src/index.js +2 -3
  63. package/es6/src/models/compose.model.js +3 -113
  64. package/es6/src/models/config-yaml.model.js +2 -0
  65. package/es6/src/models/const.js +2 -0
  66. package/es6/src/models/dev-container.model.js +10 -66
  67. package/es6/src/models/docker-image.model.js +6 -24
  68. package/es6/src/models/env-file.model.js +2 -0
  69. package/es6/src/models/gitignore.model.js +2 -7
  70. package/es6/src/models/launch-json.model.js +4 -0
  71. package/es6/src/models/package-json.model.js +7 -11
  72. package/es6/src/models/project.model.js +2 -0
  73. package/es6/src/models/source-file.js +2 -0
  74. package/es6/src/models/tsconfig.model.js +2 -0
  75. package/es6/src/models/vitest-config.model.js +2 -0
  76. package/es6/src/models/vscode-settings.model.js +2 -0
  77. package/es6/src/program.js +7 -18
  78. package/es6/src/resolve-target-dir.js +2 -0
  79. package/es6/src/services/scaffold.service.js +2 -0
  80. package/es6/src/version.js +2 -0
  81. package/es6/src/webapi/api-name.js +2 -0
  82. package/es6/src/webapi/cli-options.js +2 -0
  83. package/es6/src/webapi/const.js +3 -4
  84. package/es6/src/webapi/create-api.js +20 -48
  85. package/es6/src/webapi/devcontainer/codebase-rag-mcp.js +2 -0
  86. package/es6/src/webapi/devcontainer/host-scripts.js +2 -0
  87. package/es6/src/webapi/features/auth.feature.js +44 -11
  88. package/es6/src/webapi/features/auth0-cli.js +4 -35
  89. package/es6/src/webapi/features/biome-format.js +2 -0
  90. package/es6/src/webapi/features/database.feature.js +10 -10
  91. package/es6/src/webapi/features/finalize.feature.js +4 -2
  92. package/es6/src/webapi/features/postman.feature.js +2 -0
  93. package/es6/src/webapi/models/api-package-json.model.js +4 -2
  94. package/es6/src/webapi/models/auth-config.model.js +2 -0
  95. package/es6/src/webapi/models/controller-source-file.model.js +8 -5
  96. package/es6/src/webapi/models/github-ci.model.js +6 -6
  97. package/es6/src/webapi/models/main-source-file.model.js +5 -3
  98. package/es6/src/webapi/models/production-dockerfile.model.js +117 -35
  99. package/es6/src/webapi/models/sample-files.model.js +4 -2
  100. package/es6/src/webapi/models/webapi-image.model.js +2 -0
  101. package/es6/src/webapi/postman/hello-openapi.js +2 -0
  102. package/es6/src/webapi/postman/local-view.js +2 -0
  103. package/es6/src/webapi/postman/openapi-to-postman.js +4 -4
  104. package/es6/src/webapi/workspace-readme.js +5 -4
  105. package/es6/src/webapi.action.js +3 -1
  106. package/es6/src/webapi.command.js +4 -2
  107. package/package.json +4 -14
  108. package/types/src/add-api.action.d.ts +1 -1
  109. package/types/src/add-api.command.d.ts +1 -1
  110. package/types/src/add.command.d.ts +2 -2
  111. package/types/src/add.module.d.ts +1 -1
  112. package/types/src/create.command.d.ts +2 -2
  113. package/types/src/create.module.d.ts +1 -1
  114. package/types/src/index.d.ts +0 -4
  115. package/types/src/models/compose.model.d.ts +0 -9
  116. package/types/src/models/dev-container.model.d.ts +1 -13
  117. package/types/src/models/docker-image.model.d.ts +0 -6
  118. package/types/src/models/gitignore.model.d.ts +0 -2
  119. package/types/src/models/package-json.model.d.ts +0 -1
  120. package/types/src/program.d.ts +1 -6
  121. package/types/src/webapi/const.d.ts +0 -2
  122. package/types/src/webapi/create-api.d.ts +1 -1
  123. package/types/src/webapi/features/auth0-cli.d.ts +0 -4
  124. package/types/src/webapi/models/api-package-json.model.d.ts +1 -1
  125. package/types/src/webapi/models/controller-source-file.model.d.ts +2 -2
  126. package/types/src/webapi/models/main-source-file.model.d.ts +1 -1
  127. package/types/src/webapi/models/production-dockerfile.model.d.ts +14 -9
  128. package/types/src/webapi.action.d.ts +1 -1
  129. package/types/src/webapi.command.d.ts +1 -1
  130. package/LICENSE +0 -15
  131. package/commonjs/src/auth0-configure.action.js +0 -28
  132. package/commonjs/src/auth0-configure.command.js +0 -24
  133. package/commonjs/src/auth0-login.action.js +0 -28
  134. package/commonjs/src/auth0-login.command.js +0 -23
  135. package/commonjs/src/auth0.command.js +0 -22
  136. package/commonjs/src/auth0.module.js +0 -28
  137. package/commonjs/src/webapi/auth0-commands.js +0 -250
  138. package/commonjs/src/webapi/authorize-scopes.js +0 -79
  139. package/es6/src/auth0-configure.action.js +0 -18
  140. package/es6/src/auth0-configure.command.js +0 -14
  141. package/es6/src/auth0-login.action.js +0 -18
  142. package/es6/src/auth0-login.command.js +0 -13
  143. package/es6/src/auth0.command.js +0 -12
  144. package/es6/src/auth0.module.js +0 -18
  145. package/es6/src/webapi/auth0-commands.js +0 -185
  146. package/es6/src/webapi/authorize-scopes.js +0 -55
  147. package/types/src/auth0-configure.action.d.ts +0 -7
  148. package/types/src/auth0-configure.command.d.ts +0 -6
  149. package/types/src/auth0-login.action.d.ts +0 -4
  150. package/types/src/auth0-login.command.d.ts +0 -6
  151. package/types/src/auth0.command.d.ts +0 -6
  152. package/types/src/auth0.module.d.ts +0 -18
  153. package/types/src/webapi/auth0-commands.d.ts +0 -11
  154. package/types/src/webapi/authorize-scopes.d.ts +0 -7
@@ -46,3 +46,5 @@ class EnvFile {
46
46
  ];
47
47
  }
48
48
  }
49
+
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvZW52LWZpbGUubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IFdFTExfS05PV05fRklMRVMgfSBmcm9tIFwiLi9jb25zdC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXllZE1vZGVsLCBTb3VyY2VGaWxlIH0gZnJvbSBcIi4vc291cmNlLWZpbGUuanNcIjtcblxuLyoqXG4gKiBBY2N1bXVsYXRlcyBrZXk9dmFsdWUgcGFpcnMgYW5kIHJlbmRlcnMgdGhlbSBhcyBhIGAuZW52YCBmaWxlLlxuICpcbiAqIFJlZ2lzdGVyIG9uY2UgaW4gdGhlIHdvcmtzcGFjZTsgZmVhdHVyZXMgY2FsbCBgYWRkRW50cnlgIGR1cmluZyB0aGVpclxuICogc2NhZmZvbGQgcGhhc2UgdG8gY29udHJpYnV0ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIFRoZSBmaW5hbCBmaWxlIGlzXG4gKiB3cml0dGVuIGF0IHJlbmRlciB0aW1lIHdoZW4gYHdvcmtzcGFjZS5zY2FmZm9sZCgpYCBpcyBjYWxsZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnZGaWxlIGltcGxlbWVudHMgS2V5ZWRNb2RlbCB7XG5cdHB1YmxpYyByZWFkb25seSBrZXkgPSBXRUxMX0tOT1dOX0ZJTEVTLkVOVl9GSUxFO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2VudHJpZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG5cdHB1YmxpYyBhZGRFbnRyeShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX2VudHJpZXMuc2V0KGtleSwgdmFsdWUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGhhc0VudHJ5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2VudHJpZXMuaGFzKGtleSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZyb21GaWxlKGFic29sdXRlUGF0aDogc3RyaW5nKTogRW52RmlsZSB7XG5cdFx0Y29uc3QgZW52ID0gbmV3IEVudkZpbGUoKTtcblx0XHRjb25zdCByYXcgPSByZWFkRmlsZVN5bmMoYWJzb2x1dGVQYXRoLCBcInV0ZjhcIik7XG5cdFx0Zm9yIChjb25zdCBsaW5lIG9mIHJhdy5zcGxpdChcIlxcblwiKSkge1xuXHRcdFx0Y29uc3QgdHJpbW1lZCA9IGxpbmUudHJpbSgpO1xuXHRcdFx0aWYgKHRyaW1tZWQgPT09IFwiXCIgfHwgdHJpbW1lZC5zdGFydHNXaXRoKFwiI1wiKSkgY29udGludWU7XG5cdFx0XHRjb25zdCBlcSA9IGxpbmUuaW5kZXhPZihcIj1cIik7XG5cdFx0XHRpZiAoZXEgPD0gMCkgY29udGludWU7XG5cdFx0XHRlbnYuYWRkRW50cnkobGluZS5zbGljZSgwLCBlcSkudHJpbSgpLCBsaW5lLnNsaWNlKGVxICsgMSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gZW52O1xuXHR9XG5cblx0cHVibGljIGZpbGVzKCk6IFNvdXJjZUZpbGVbXSB7XG5cdFx0aWYgKHRoaXMuX2VudHJpZXMuc2l6ZSA9PT0gMCkgcmV0dXJuIFtdO1xuXHRcdGNvbnN0IGJvZHkgPSBbLi4udGhpcy5fZW50cmllcy5lbnRyaWVzKCldLm1hcCgoW2ssIHZdKSA9PiBgJHtrfT0ke3Z9YCkuam9pbihcIlxcblwiKTtcblx0XHRjb25zdCBjb250ZW50ID0gYCR7Ym9keX1cXG5gO1xuXHRcdHJldHVybiBbeyBmaWxlUGF0aDogXCIuZW52XCIsIGNvbnRlbnQgfV07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJFbnZGaWxlIiwia2V5IiwiV0VMTF9LTk9XTl9GSUxFUyIsIkVOVl9GSUxFIiwiX2VudHJpZXMiLCJNYXAiLCJhZGRFbnRyeSIsInZhbHVlIiwic2V0IiwiaGFzRW50cnkiLCJoYXMiLCJmcm9tRmlsZSIsImFic29sdXRlUGF0aCIsImVudiIsInJhdyIsInJlYWRGaWxlU3luYyIsImxpbmUiLCJzcGxpdCIsInRyaW1tZWQiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVxIiwiaW5kZXhPZiIsInNsaWNlIiwiZmlsZXMiLCJzaXplIiwiYm9keSIsImVudHJpZXMiLCJtYXAiLCJrIiwidiIsImpvaW4iLCJjb250ZW50IiwiZmlsZVBhdGgiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7Ozt3QkFYZ0I7dUJBQ0k7QUFVMUIsTUFBTUE7SUFDSUMsTUFBTUMsdUJBQWdCLENBQUNDLFFBQVEsQ0FBQztJQUUvQkMsV0FBVyxJQUFJQyxNQUFzQjtJQUUvQ0MsU0FBU0wsR0FBVyxFQUFFTSxLQUFhLEVBQVE7UUFDakQsSUFBSSxDQUFDSCxRQUFRLENBQUNJLEdBQUcsQ0FBQ1AsS0FBS007UUFDdkIsT0FBTyxJQUFJO0lBQ1o7SUFFT0UsU0FBU1IsR0FBVyxFQUFXO1FBQ3JDLE9BQU8sSUFBSSxDQUFDRyxRQUFRLENBQUNNLEdBQUcsQ0FBQ1Q7SUFDMUI7SUFFQSxPQUFjVSxTQUFTQyxZQUFvQixFQUFXO1FBQ3JELE1BQU1DLE1BQU0sSUFBSWI7UUFDaEIsTUFBTWMsTUFBTUMsSUFBQUEsb0JBQVksRUFBQ0gsY0FBYztRQUN2QyxLQUFLLE1BQU1JLFFBQVFGLElBQUlHLEtBQUssQ0FBQyxNQUFPO1lBQ25DLE1BQU1DLFVBQVVGLEtBQUtHLElBQUk7WUFDekIsSUFBSUQsWUFBWSxNQUFNQSxRQUFRRSxVQUFVLENBQUMsTUFBTTtZQUMvQyxNQUFNQyxLQUFLTCxLQUFLTSxPQUFPLENBQUM7WUFDeEIsSUFBSUQsTUFBTSxHQUFHO1lBQ2JSLElBQUlQLFFBQVEsQ0FBQ1UsS0FBS08sS0FBSyxDQUFDLEdBQUdGLElBQUlGLElBQUksSUFBSUgsS0FBS08sS0FBSyxDQUFDRixLQUFLO1FBQ3hEO1FBQ0EsT0FBT1I7SUFDUjtJQUVPVyxRQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQ3BCLFFBQVEsQ0FBQ3FCLElBQUksS0FBSyxHQUFHLE9BQU8sRUFBRTtRQUN2QyxNQUFNQyxPQUFPO2VBQUksSUFBSSxDQUFDdEIsUUFBUSxDQUFDdUIsT0FBTztTQUFHLENBQUNDLEdBQUcsQ0FBQyxDQUFDLENBQUNDLEdBQUdDLEVBQUUsR0FBSyxHQUFHRCxFQUFFLENBQUMsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLENBQUM7UUFDNUUsTUFBTUMsVUFBVSxHQUFHTixLQUFLLEVBQUUsQ0FBQztRQUMzQixPQUFPO1lBQUM7Z0JBQUVPLFVBQVU7Z0JBQVFEO1lBQVE7U0FBRTtJQUN2QztBQUNEIn0=
@@ -8,14 +8,12 @@ Object.defineProperty(exports, "Gitignore", {
8
8
  return Gitignore;
9
9
  }
10
10
  });
11
- const _nodefs = require("node:fs");
12
11
  const _const = require("./const.js");
13
12
  class Gitignore {
14
13
  key = _const.WELL_KNOWN_FILES.GITIGNORE;
15
14
  ignoreList = [
16
15
  "node_modules",
17
16
  "dist",
18
- ".package",
19
17
  ".pnpm-store",
20
18
  ".env",
21
19
  ".devcontainer/gh.env",
@@ -24,11 +22,6 @@ class Gitignore {
24
22
  ".DS_Store",
25
23
  "logs"
26
24
  ];
27
- /** Load an existing .gitignore so `decohere add api` appends instead of replacing. */ static fromFile(absolutePath) {
28
- const gitignore = new Gitignore();
29
- gitignore.ignoreList = (0, _nodefs.readFileSync)(absolutePath, "utf8").replace(/\n+$/, "").split("\n");
30
- return gitignore;
31
- }
32
25
  add(...patterns) {
33
26
  for (const pattern of patterns){
34
27
  if (!this.ignoreList.includes(pattern)) {
@@ -46,3 +39,5 @@ class Gitignore {
46
39
  ];
47
40
  }
48
41
  }
42
+
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvZ2l0aWdub3JlLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdFTExfS05PV05fRklMRVMgfSBmcm9tIFwiLi9jb25zdC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXllZE1vZGVsLCBTb3VyY2VGaWxlIH0gZnJvbSBcIi4vc291cmNlLWZpbGUuanNcIjtcblxuZXhwb3J0IGNsYXNzIEdpdGlnbm9yZSBpbXBsZW1lbnRzIEtleWVkTW9kZWwge1xuXHRwdWJsaWMgcmVhZG9ubHkga2V5ID0gV0VMTF9LTk9XTl9GSUxFUy5HSVRJR05PUkU7XG5cdHByaXZhdGUgaWdub3JlTGlzdCA9IFtcblx0XHRcIm5vZGVfbW9kdWxlc1wiLFxuXHRcdFwiZGlzdFwiLFxuXHRcdFwiLnBucG0tc3RvcmVcIixcblx0XHRcIi5lbnZcIixcblx0XHRcIi5kZXZjb250YWluZXIvZ2guZW52XCIsXG5cdFx0XCIuY3Vyc29yL2NvZGViYXNlLXJhZy5lbnZcIixcblx0XHRcIi5jdXJzb3IvbWNwLmpzb25cIixcblx0XHRcIi5EU19TdG9yZVwiLFxuXHRcdFwibG9nc1wiLFxuXHRdO1xuXG5cdHB1YmxpYyBhZGQoLi4ucGF0dGVybnM6IHN0cmluZ1tdKTogdGhpcyB7XG5cdFx0Zm9yIChjb25zdCBwYXR0ZXJuIG9mIHBhdHRlcm5zKSB7XG5cdFx0XHRpZiAoIXRoaXMuaWdub3JlTGlzdC5pbmNsdWRlcyhwYXR0ZXJuKSkge1xuXHRcdFx0XHR0aGlzLmlnbm9yZUxpc3QucHVzaChwYXR0ZXJuKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIuZ2l0aWdub3JlXCIsXG5cdFx0XHRcdGNvbnRlbnQ6IGAke3RoaXMuaWdub3JlTGlzdC5qb2luKFwiXFxuXCIpfVxcbmAsXG5cdFx0XHR9LFxuXHRcdF07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJHaXRpZ25vcmUiLCJrZXkiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiR0lUSUdOT1JFIiwiaWdub3JlTGlzdCIsImFkZCIsInBhdHRlcm5zIiwicGF0dGVybiIsImluY2x1ZGVzIiwicHVzaCIsImZpbGVzIiwiZmlsZVBhdGgiLCJjb250ZW50Iiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHYUE7OztlQUFBQTs7O3VCQUhvQjtBQUcxQixNQUFNQTtJQUNJQyxNQUFNQyx1QkFBZ0IsQ0FBQ0MsU0FBUyxDQUFDO0lBQ3pDQyxhQUFhO1FBQ3BCO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNBLENBQUM7SUFFS0MsSUFBSSxHQUFHQyxRQUFrQixFQUFRO1FBQ3ZDLEtBQUssTUFBTUMsV0FBV0QsU0FBVTtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDRixVQUFVLENBQUNJLFFBQVEsQ0FBQ0QsVUFBVTtnQkFDdkMsSUFBSSxDQUFDSCxVQUFVLENBQUNLLElBQUksQ0FBQ0Y7WUFDdEI7UUFDRDtRQUNBLE9BQU8sSUFBSTtJQUNaO0lBRU9HLFFBQXNCO1FBQzVCLE9BQU87WUFDTjtnQkFDQ0MsVUFBVTtnQkFDVkMsU0FBUyxHQUFHLElBQUksQ0FBQ1IsVUFBVSxDQUFDUyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0M7U0FDQTtJQUNGO0FBQ0QifQ==
@@ -28,6 +28,7 @@ class LaunchJson {
28
28
  "build"
29
29
  ],
30
30
  console: "integratedTerminal",
31
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: VS Code variable
31
32
  cwd: "${workspaceFolder}"
32
33
  }
33
34
  ];
@@ -65,6 +66,9 @@ function serveConfig(name, runtimeArgs) {
65
66
  runtimeExecutable: "pnpm",
66
67
  runtimeArgs,
67
68
  console: "integratedTerminal",
69
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: VS Code variable
68
70
  cwd: "${workspaceFolder}"
69
71
  };
70
72
  }
73
+
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvbGF1bmNoLWpzb24ubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV0VMTF9LTk9XTl9GSUxFUyB9IGZyb20gXCIuL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEtleWVkTW9kZWwsIFNvdXJjZUZpbGUgfSBmcm9tIFwiLi9zb3VyY2UtZmlsZS5qc1wiO1xuXG5leHBvcnQgY2xhc3MgTGF1bmNoSnNvbiBpbXBsZW1lbnRzIEtleWVkTW9kZWwge1xuXHRwdWJsaWMgcmVhZG9ubHkga2V5ID0gV0VMTF9LTk9XTl9GSUxFUy5MQVVOQ0hfSlNPTjtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcGlOYW1lczogcmVhZG9ubHkgc3RyaW5nW10gPSBbXCJhcGlcIl0pIHt9XG5cblx0cHVibGljIGZpbGVzKCk6IFNvdXJjZUZpbGVbXSB7XG5cdFx0Y29uc3QgY29uZmlndXJhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiQnVpbGRcIixcblx0XHRcdFx0dHlwZTogXCJub2RlXCIsXG5cdFx0XHRcdHJlcXVlc3Q6IFwibGF1bmNoXCIsXG5cdFx0XHRcdHJ1bnRpbWVFeGVjdXRhYmxlOiBcInBucG1cIixcblx0XHRcdFx0cnVudGltZUFyZ3M6IFtcImJ1aWxkXCJdLFxuXHRcdFx0XHRjb25zb2xlOiBcImludGVncmF0ZWRUZXJtaW5hbFwiLFxuXHRcdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vVGVtcGxhdGVDdXJseUluU3RyaW5nOiBWUyBDb2RlIHZhcmlhYmxlXG5cdFx0XHRcdGN3ZDogXCIke3dvcmtzcGFjZUZvbGRlcn1cIixcblx0XHRcdH0sXG5cdFx0XTtcblxuXHRcdGNvbnN0IGZpcnN0ID0gdGhpcy5hcGlOYW1lc1swXSA/PyBcImFwaVwiO1xuXHRcdGNvbnN0IGRlZmF1bHREZXZBcmdzID1cblx0XHRcdGZpcnN0ID09PSBcImFwaVwiICYmIHRoaXMuYXBpTmFtZXMubGVuZ3RoID09PSAxID8gW1wiZGV2XCJdIDogW1wicnVuXCIsIGBkZXY6JHtmaXJzdH1gXTtcblx0XHRjb25maWd1cmF0aW9ucy5wdXNoKHNlcnZlQ29uZmlnKFwiU2VydmUgLyBEZXZcIiwgZGVmYXVsdERldkFyZ3MpKTtcblxuXHRcdGZvciAoY29uc3QgYXBpTmFtZSBvZiB0aGlzLmFwaU5hbWVzKSB7XG5cdFx0XHRpZiAoYXBpTmFtZSA9PT0gZmlyc3QgJiYgdGhpcy5hcGlOYW1lcy5sZW5ndGggPT09IDEgJiYgYXBpTmFtZSA9PT0gXCJhcGlcIikgY29udGludWU7XG5cdFx0XHRjb25maWd1cmF0aW9ucy5wdXNoKHNlcnZlQ29uZmlnKGBTZXJ2ZSAvIERldiAoJHthcGlOYW1lfSlgLCBbXCJydW5cIiwgYGRldjoke2FwaU5hbWV9YF0pKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIudnNjb2RlL2xhdW5jaC5qc29uXCIsXG5cdFx0XHRcdGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHZlcnNpb246IFwiMC4yLjBcIixcblx0XHRcdFx0XHRcdGNvbmZpZ3VyYXRpb25zLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHQyLFxuXHRcdFx0XHQpLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHNlcnZlQ29uZmlnKG5hbWU6IHN0cmluZywgcnVudGltZUFyZ3M6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRyZXR1cm4ge1xuXHRcdG5hbWUsXG5cdFx0dHlwZTogXCJub2RlXCIsXG5cdFx0cmVxdWVzdDogXCJsYXVuY2hcIixcblx0XHRydW50aW1lRXhlY3V0YWJsZTogXCJwbnBtXCIsXG5cdFx0cnVudGltZUFyZ3MsXG5cdFx0Y29uc29sZTogXCJpbnRlZ3JhdGVkVGVybWluYWxcIixcblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vVGVtcGxhdGVDdXJseUluU3RyaW5nOiBWUyBDb2RlIHZhcmlhYmxlXG5cdFx0Y3dkOiBcIiR7d29ya3NwYWNlRm9sZGVyfVwiLFxuXHR9O1xufVxuIl0sIm5hbWVzIjpbIkxhdW5jaEpzb24iLCJrZXkiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiTEFVTkNIX0pTT04iLCJhcGlOYW1lcyIsImZpbGVzIiwiY29uZmlndXJhdGlvbnMiLCJuYW1lIiwidHlwZSIsInJlcXVlc3QiLCJydW50aW1lRXhlY3V0YWJsZSIsInJ1bnRpbWVBcmdzIiwiY29uc29sZSIsImN3ZCIsImZpcnN0IiwiZGVmYXVsdERldkFyZ3MiLCJsZW5ndGgiLCJwdXNoIiwic2VydmVDb25maWciLCJhcGlOYW1lIiwiZmlsZVBhdGgiLCJjb250ZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsInZlcnNpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7Ozt1QkFIb0I7QUFHMUIsTUFBTUE7O0lBQ0lDLE1BQU1DLHVCQUFnQixDQUFDQyxXQUFXLENBQUM7SUFFbkQsWUFBbUIsQUFBaUJDLFdBQThCO1FBQUM7S0FBTSxDQUFFO2FBQXZDQSxXQUFBQTtJQUF3QztJQUVyRUMsUUFBc0I7UUFDNUIsTUFBTUMsaUJBQTRDO1lBQ2pEO2dCQUNDQyxNQUFNO2dCQUNOQyxNQUFNO2dCQUNOQyxTQUFTO2dCQUNUQyxtQkFBbUI7Z0JBQ25CQyxhQUFhO29CQUFDO2lCQUFRO2dCQUN0QkMsU0FBUztnQkFDVCx5RUFBeUU7Z0JBQ3pFQyxLQUFLO1lBQ047U0FDQTtRQUVELE1BQU1DLFFBQVEsSUFBSSxDQUFDVixRQUFRLENBQUMsRUFBRSxJQUFJO1FBQ2xDLE1BQU1XLGlCQUNMRCxVQUFVLFNBQVMsSUFBSSxDQUFDVixRQUFRLENBQUNZLE1BQU0sS0FBSyxJQUFJO1lBQUM7U0FBTSxHQUFHO1lBQUM7WUFBTyxDQUFDLElBQUksRUFBRUYsT0FBTztTQUFDO1FBQ2xGUixlQUFlVyxJQUFJLENBQUNDLFlBQVksZUFBZUg7UUFFL0MsS0FBSyxNQUFNSSxXQUFXLElBQUksQ0FBQ2YsUUFBUSxDQUFFO1lBQ3BDLElBQUllLFlBQVlMLFNBQVMsSUFBSSxDQUFDVixRQUFRLENBQUNZLE1BQU0sS0FBSyxLQUFLRyxZQUFZLE9BQU87WUFDMUViLGVBQWVXLElBQUksQ0FBQ0MsWUFBWSxDQUFDLGFBQWEsRUFBRUMsUUFBUSxDQUFDLENBQUMsRUFBRTtnQkFBQztnQkFBTyxDQUFDLElBQUksRUFBRUEsU0FBUzthQUFDO1FBQ3RGO1FBRUEsT0FBTztZQUNOO2dCQUNDQyxVQUFVO2dCQUNWQyxTQUFTQyxLQUFLQyxTQUFTLENBQ3RCO29CQUNDQyxTQUFTO29CQUNUbEI7Z0JBQ0QsR0FDQSxNQUNBO1lBRUY7U0FDQTtJQUNGO0FBQ0Q7QUFFQSxTQUFTWSxZQUFZWCxJQUFZLEVBQUVJLFdBQXFCO0lBQ3ZELE9BQU87UUFDTko7UUFDQUMsTUFBTTtRQUNOQyxTQUFTO1FBQ1RDLG1CQUFtQjtRQUNuQkM7UUFDQUMsU0FBUztRQUNULHlFQUF5RTtRQUN6RUMsS0FBSztJQUNOO0FBQ0QifQ==
@@ -12,9 +12,6 @@ _export(exports, {
12
12
  get PackageJson () {
13
13
  return PackageJson;
14
14
  },
15
- get packageScript () {
16
- return packageScript;
17
- },
18
15
  get sortStringMap () {
19
16
  return sortStringMap;
20
17
  }
@@ -44,24 +41,21 @@ class PackageJson {
44
41
  this._scripts = {
45
42
  build: "forge build --configuration release",
46
43
  "build:watch": "forge build --watch",
47
- // Release build, then `.package/` in every API (what its Dockerfile copies).
48
- package: "pnpm run build && forge package",
49
44
  start: `node ${startEntry}`,
50
- dev: namedOrMany ? fluxDevScript(workspaceName, first, (0, _const.webapiPort)(0)) : "flux serve --env-file-if-exists .env",
45
+ dev: namedOrMany ? fluxDevScript(workspaceName, first, (0, _const.webapiPort)(0)) : "flux serve",
51
46
  "lint:check": "biome check .",
52
47
  typecheck: "forge typecheck",
53
48
  test: "vitest run --passWithNoTests"
54
49
  };
55
50
  for (const [index, apiName] of apiNames.entries()){
56
51
  this._scripts[`start:${apiName}`] = `node ${(0, _const.webapiReleaseEntry)(apiName)}`;
57
- this._scripts[`package:${apiName}`] = packageScript(workspaceName, apiName);
58
52
  this._scripts[`dev:${apiName}`] = fluxDevScript(workspaceName, apiName, (0, _const.webapiPort)(index));
59
53
  }
60
54
  this._dependencies = {
61
- "@decohere/http": _version.CREATE_VERSION,
55
+ "@decohere/cortex": _version.CREATE_VERSION,
62
56
  "@decohere/crucible": _version.CREATE_VERSION,
63
- "@decohere/core": _version.CREATE_VERSION,
64
- "@decohere/config": _version.CREATE_VERSION,
57
+ "@decohere/nexus": _version.CREATE_VERSION,
58
+ "@decohere/protocol": _version.CREATE_VERSION,
65
59
  "@decohere/scribe": _version.CREATE_VERSION,
66
60
  "@decohere/scribe-pino": _version.CREATE_VERSION,
67
61
  "pino-pretty": "^13.0.0",
@@ -148,9 +142,8 @@ function asStringMap(value) {
148
142
  function sortStringMap(map) {
149
143
  return Object.fromEntries(Object.entries(map).sort(([left], [right])=>left.localeCompare(right, "en")));
150
144
  }
151
- function packageScript(workspaceName, apiName) {
152
- return `pnpm run build && forge package ${(0, _const.webapiPackageName)(workspaceName, apiName)}`;
153
- }
154
145
  function fluxDevScript(workspaceName, apiName, port) {
155
- return `PORT=${port} flux serve --env-file-if-exists .env --project ${(0, _const.webapiPackageName)(workspaceName, apiName)}`;
146
+ return `PORT=${port} flux serve --project ${(0, _const.webapiPackageName)(workspaceName, apiName)}`;
156
147
  }
148
+
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvcGFja2FnZS1qc29uLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBDUkVBVEVfVkVSU0lPTiB9IGZyb20gXCIuLi92ZXJzaW9uLmpzXCI7XG5pbXBvcnQge1xuXHRERUZBVUxUX1dFQkFQSV9OQU1FLFxuXHR3ZWJhcGlQYWNrYWdlTmFtZSxcblx0d2ViYXBpUG9ydCxcblx0d2ViYXBpUmVsZWFzZUVudHJ5LFxufSBmcm9tIFwiLi4vd2ViYXBpL2NvbnN0LmpzXCI7XG5pbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4vY29uc3QuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5ZWRNb2RlbCwgU291cmNlRmlsZSB9IGZyb20gXCIuL3NvdXJjZS1maWxlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFBhY2thZ2VKc29uT3B0aW9ucyA9IHtcblx0c3RhcnRFbnRyeT86IHN0cmluZztcblx0LyoqIEFQSSBzbHVncyBpbiB0aGlzIHdvcmtzcGFjZS4gRHJpdmVzIGBzdGFydDo8bmFtZT5gIC8gYGRldjo8bmFtZT5gLiAqL1xuXHRhcGlOYW1lcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXHQvKiogSG9zdCB3b3Jrc3BhY2UgbmFtZSB1c2VkIGluIGBAPHdvcmtzcGFjZT4vPGFwaT5gIGZvciBmbHV4IGAtLXByb2plY3RgLiAqL1xuXHR3b3Jrc3BhY2VOYW1lPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBCdWlsZGVyIGZvciB0aGUgcm9vdCBgcGFja2FnZS5qc29uYC5cbiAqXG4gKiBTdGFydHMgd2l0aCB0aGUgY29yZSBBUEkgZGVwZW5kZW5jaWVzLiBGZWF0dXJlcyBjYWxsIGBhZGREZXBlbmRlbmN5YCAvXG4gKiBgYWRkRGV2RGVwZW5kZW5jeWAgZHVyaW5nIHRoZWlyIHNjYWZmb2xkIHBoYXNlIHRvIGluamVjdCB0aGVpciBvd24gZGVwc1xuICogYmVmb3JlIGBmaWxlcygpYCBpcyBjYWxsZWQgYXQgcmVuZGVyIHRpbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYWNrYWdlSnNvbiBpbXBsZW1lbnRzIEtleWVkTW9kZWwge1xuXHRwdWJsaWMgcmVhZG9ubHkga2V5ID0gV0VMTF9LTk9XTl9GSUxFUy5QQUNLQUdFX0pTT047XG5cblx0cHJpdmF0ZSBfZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXHRwcml2YXRlIF9kZXZEZXBlbmRlbmNpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cdHByaXZhdGUgX3NjcmlwdHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cdHByaXZhdGUgX3ZlcnNpb24gPSBcIjAuMC4xXCI7XG5cdHByaXZhdGUgX3R5cGUgPSBcIm1vZHVsZVwiO1xuXHRwcml2YXRlIF9yZXN0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcblx0XHRvcHRpb25zPzogUGFja2FnZUpzb25PcHRpb25zLFxuXHQpIHtcblx0XHRjb25zdCBhcGlOYW1lcyA9IG9wdGlvbnM/LmFwaU5hbWVzID8/IFtERUZBVUxUX1dFQkFQSV9OQU1FXTtcblx0XHRjb25zdCBmaXJzdCA9IGFwaU5hbWVzWzBdID8/IERFRkFVTFRfV0VCQVBJX05BTUU7XG5cdFx0Y29uc3Qgc3RhcnRFbnRyeSA9IG9wdGlvbnM/LnN0YXJ0RW50cnkgPz8gd2ViYXBpUmVsZWFzZUVudHJ5KGZpcnN0KTtcblx0XHRjb25zdCB3b3Jrc3BhY2VOYW1lID0gb3B0aW9ucz8ud29ya3NwYWNlTmFtZSA/PyBzdHJpcEFwaVN1ZmZpeChuYW1lKTtcblx0XHRjb25zdCBuYW1lZE9yTWFueSA9IGFwaU5hbWVzLmxlbmd0aCA+IDEgfHwgZmlyc3QgIT09IERFRkFVTFRfV0VCQVBJX05BTUU7XG5cblx0XHR0aGlzLl9zY3JpcHRzID0ge1xuXHRcdFx0YnVpbGQ6IFwiZm9yZ2UgYnVpbGQgLS1jb25maWd1cmF0aW9uIHJlbGVhc2VcIixcblx0XHRcdFwiYnVpbGQ6d2F0Y2hcIjogXCJmb3JnZSBidWlsZCAtLXdhdGNoXCIsXG5cdFx0XHRzdGFydDogYG5vZGUgJHtzdGFydEVudHJ5fWAsXG5cdFx0XHRkZXY6IG5hbWVkT3JNYW55ID8gZmx1eERldlNjcmlwdCh3b3Jrc3BhY2VOYW1lLCBmaXJzdCwgd2ViYXBpUG9ydCgwKSkgOiBcImZsdXggc2VydmVcIixcblx0XHRcdFwibGludDpjaGVja1wiOiBcImJpb21lIGNoZWNrIC5cIixcblx0XHRcdHR5cGVjaGVjazogXCJmb3JnZSB0eXBlY2hlY2tcIixcblx0XHRcdHRlc3Q6IFwidml0ZXN0IHJ1biAtLXBhc3NXaXRoTm9UZXN0c1wiLFxuXHRcdH07XG5cdFx0Zm9yIChjb25zdCBbaW5kZXgsIGFwaU5hbWVdIG9mIGFwaU5hbWVzLmVudHJpZXMoKSkge1xuXHRcdFx0dGhpcy5fc2NyaXB0c1tgc3RhcnQ6JHthcGlOYW1lfWBdID0gYG5vZGUgJHt3ZWJhcGlSZWxlYXNlRW50cnkoYXBpTmFtZSl9YDtcblx0XHRcdHRoaXMuX3NjcmlwdHNbYGRldjoke2FwaU5hbWV9YF0gPSBmbHV4RGV2U2NyaXB0KFxuXHRcdFx0XHR3b3Jrc3BhY2VOYW1lLFxuXHRcdFx0XHRhcGlOYW1lLFxuXHRcdFx0XHR3ZWJhcGlQb3J0KGluZGV4KSxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHRoaXMuX2RlcGVuZGVuY2llcyA9IHtcblx0XHRcdFwiQGRlY29oZXJlL2NvcnRleFwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdFwiQGRlY29oZXJlL2NydWNpYmxlXCI6IENSRUFURV9WRVJTSU9OLFxuXHRcdFx0XCJAZGVjb2hlcmUvbmV4dXNcIjogQ1JFQVRFX1ZFUlNJT04sXG5cdFx0XHRcIkBkZWNvaGVyZS9wcm90b2NvbFwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdFwiQGRlY29oZXJlL3NjcmliZVwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdFwiQGRlY29oZXJlL3NjcmliZS1waW5vXCI6IENSRUFURV9WRVJTSU9OLFxuXHRcdFx0XCJwaW5vLXByZXR0eVwiOiBcIl4xMy4wLjBcIixcblx0XHRcdFwicGluby1yb2xsXCI6IFwiXjQuMC4wXCIsXG5cdFx0fTtcblx0XHR0aGlzLl9kZXZEZXBlbmRlbmNpZXMgPSB7XG5cdFx0XHRcIkBkZWNvaGVyZS9mb3JnZVwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdFwiQGRlY29oZXJlL2NsaVwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdHR5cGVzY3JpcHQ6IFwiXjYuMC4zXCIsXG5cdFx0XHRcIkBiaW9tZWpzL2Jpb21lXCI6IFwiXjIuMC4wXCIsXG5cdFx0XHR2aXRlc3Q6IFwiXjMuMi40XCIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKiBMb2FkIGFuIGV4aXN0aW5nIHJvb3QgcGFja2FnZS5qc29uIHNvIGB3ZWJhcGkgYWRkYCBjYW4gbWVyZ2Ugc2NyaXB0cy9kZXBzLiAqL1xuXHRwdWJsaWMgc3RhdGljIGZyb21GaWxlKGZpbGVQYXRoOiBzdHJpbmcpOiBQYWNrYWdlSnNvbiB7XG5cdFx0Y29uc3QgcmF3ID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMoZmlsZVBhdGgsIFwidXRmOFwiKSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdFx0Y29uc3QgcGtnID0gbmV3IFBhY2thZ2VKc29uKHR5cGVvZiByYXcubmFtZSA9PT0gXCJzdHJpbmdcIiA/IHJhdy5uYW1lIDogXCJhcHBcIiwge1xuXHRcdFx0YXBpTmFtZXM6IFtdLFxuXHRcdH0pO1xuXHRcdHBrZy5fdmVyc2lvbiA9IHR5cGVvZiByYXcudmVyc2lvbiA9PT0gXCJzdHJpbmdcIiA/IHJhdy52ZXJzaW9uIDogXCIwLjAuMVwiO1xuXHRcdHBrZy5fdHlwZSA9IHR5cGVvZiByYXcudHlwZSA9PT0gXCJzdHJpbmdcIiA/IHJhdy50eXBlIDogXCJtb2R1bGVcIjtcblx0XHRwa2cuX3NjcmlwdHMgPSB7IC4uLmFzU3RyaW5nTWFwKHJhdy5zY3JpcHRzKSB9O1xuXHRcdHBrZy5fZGVwZW5kZW5jaWVzID0geyAuLi5hc1N0cmluZ01hcChyYXcuZGVwZW5kZW5jaWVzKSB9O1xuXHRcdHBrZy5fZGV2RGVwZW5kZW5jaWVzID0geyAuLi5hc1N0cmluZ01hcChyYXcuZGV2RGVwZW5kZW5jaWVzKSB9O1xuXHRcdGNvbnN0IHJlc2VydmVkID0gbmV3IFNldChbXG5cdFx0XHRcIm5hbWVcIixcblx0XHRcdFwidmVyc2lvblwiLFxuXHRcdFx0XCJ0eXBlXCIsXG5cdFx0XHRcInNjcmlwdHNcIixcblx0XHRcdFwiZGVwZW5kZW5jaWVzXCIsXG5cdFx0XHRcImRldkRlcGVuZGVuY2llc1wiLFxuXHRcdF0pO1xuXHRcdHBrZy5fcmVzdCA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhyYXcpLmZpbHRlcigoW2tleV0pID0+ICFyZXNlcnZlZC5oYXMoa2V5KSkpO1xuXHRcdHJldHVybiBwa2c7XG5cdH1cblxuXHRwdWJsaWMgYWRkRGVwZW5kZW5jeShuYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX2RlcGVuZGVuY2llc1tuYW1lXSA9IHZlcnNpb247XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgYWRkRGV2RGVwZW5kZW5jeShuYW1lOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX2RldkRlcGVuZGVuY2llc1tuYW1lXSA9IHZlcnNpb247XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgYWRkU2NyaXB0KG5hbWU6IHN0cmluZywgY29tbWFuZDogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fc2NyaXB0c1tuYW1lXSA9IGNvbW1hbmQ7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgaGFzU2NyaXB0KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0eXBlb2YgdGhpcy5fc2NyaXB0c1tuYW1lXSA9PT0gXCJzdHJpbmdcIjtcblx0fVxuXG5cdHB1YmxpYyBmaWxlcygpOiBTb3VyY2VGaWxlW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHR7XG5cdFx0XHRcdGZpbGVQYXRoOiBcInBhY2thZ2UuanNvblwiLFxuXHRcdFx0XHRjb250ZW50OiBKU09OLnN0cmluZ2lmeShcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRuYW1lOiB0aGlzLm5hbWUsXG5cdFx0XHRcdFx0XHR2ZXJzaW9uOiB0aGlzLl92ZXJzaW9uLFxuXHRcdFx0XHRcdFx0dHlwZTogdGhpcy5fdHlwZSxcblx0XHRcdFx0XHRcdC4uLnRoaXMuX3Jlc3QsXG5cdFx0XHRcdFx0XHRzY3JpcHRzOiB0aGlzLl9zY3JpcHRzLFxuXHRcdFx0XHRcdFx0ZGVwZW5kZW5jaWVzOiBzb3J0U3RyaW5nTWFwKHRoaXMuX2RlcGVuZGVuY2llcyksXG5cdFx0XHRcdFx0XHRkZXZEZXBlbmRlbmNpZXM6IHNvcnRTdHJpbmdNYXAodGhpcy5fZGV2RGVwZW5kZW5jaWVzKSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0Mixcblx0XHRcdFx0KSxcblx0XHRcdH0sXG5cdFx0XTtcblx0fVxufVxuXG5mdW5jdGlvbiBzdHJpcEFwaVN1ZmZpeChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gbmFtZS5lbmRzV2l0aChcIi5hcGlcIikgPyBuYW1lLnNsaWNlKDAsIC1cIi5hcGlcIi5sZW5ndGgpIDogbmFtZTtcbn1cblxuZnVuY3Rpb24gYXNTdHJpbmdNYXAodmFsdWU6IHVua25vd24pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcblx0aWYgKHZhbHVlID09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSByZXR1cm4ge307XG5cdGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXHRmb3IgKGNvbnN0IFtrZXksIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcblx0XHRpZiAodHlwZW9mIGVudHJ5ID09PSBcInN0cmluZ1wiKSByZXN1bHRba2V5XSA9IGVudHJ5O1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBTdGFibGUgQeKGkloga2V5IG9yZGVyIGZvciBwYWNrYWdlLmpzb24gZGVwZW5kZW5jeSBtYXBzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnRTdHJpbmdNYXAobWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG5cdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0T2JqZWN0LmVudHJpZXMobWFwKS5zb3J0KChbbGVmdF0sIFtyaWdodF0pID0+IGxlZnQubG9jYWxlQ29tcGFyZShyaWdodCwgXCJlblwiKSksXG5cdCk7XG59XG5cbmZ1bmN0aW9uIGZsdXhEZXZTY3JpcHQod29ya3NwYWNlTmFtZTogc3RyaW5nLCBhcGlOYW1lOiBzdHJpbmcsIHBvcnQ6IG51bWJlcik6IHN0cmluZyB7XG5cdHJldHVybiBgUE9SVD0ke3BvcnR9IGZsdXggc2VydmUgLS1wcm9qZWN0ICR7d2ViYXBpUGFja2FnZU5hbWUod29ya3NwYWNlTmFtZSwgYXBpTmFtZSl9YDtcbn1cbiJdLCJuYW1lcyI6WyJQYWNrYWdlSnNvbiIsInNvcnRTdHJpbmdNYXAiLCJrZXkiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiUEFDS0FHRV9KU09OIiwiX2RlcGVuZGVuY2llcyIsIl9kZXZEZXBlbmRlbmNpZXMiLCJfc2NyaXB0cyIsIl92ZXJzaW9uIiwiX3R5cGUiLCJfcmVzdCIsIm5hbWUiLCJvcHRpb25zIiwiYXBpTmFtZXMiLCJERUZBVUxUX1dFQkFQSV9OQU1FIiwiZmlyc3QiLCJzdGFydEVudHJ5Iiwid2ViYXBpUmVsZWFzZUVudHJ5Iiwid29ya3NwYWNlTmFtZSIsInN0cmlwQXBpU3VmZml4IiwibmFtZWRPck1hbnkiLCJsZW5ndGgiLCJidWlsZCIsInN0YXJ0IiwiZGV2IiwiZmx1eERldlNjcmlwdCIsIndlYmFwaVBvcnQiLCJ0eXBlY2hlY2siLCJ0ZXN0IiwiaW5kZXgiLCJhcGlOYW1lIiwiZW50cmllcyIsIkNSRUFURV9WRVJTSU9OIiwidHlwZXNjcmlwdCIsInZpdGVzdCIsImZyb21GaWxlIiwiZmlsZVBhdGgiLCJyYXciLCJKU09OIiwicGFyc2UiLCJyZWFkRmlsZVN5bmMiLCJwa2ciLCJ2ZXJzaW9uIiwidHlwZSIsImFzU3RyaW5nTWFwIiwic2NyaXB0cyIsImRlcGVuZGVuY2llcyIsImRldkRlcGVuZGVuY2llcyIsInJlc2VydmVkIiwiU2V0IiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJmaWx0ZXIiLCJoYXMiLCJhZGREZXBlbmRlbmN5IiwiYWRkRGV2RGVwZW5kZW5jeSIsImFkZFNjcmlwdCIsImNvbW1hbmQiLCJoYXNTY3JpcHQiLCJmaWxlcyIsImNvbnRlbnQiLCJzdHJpbmdpZnkiLCJlbmRzV2l0aCIsInNsaWNlIiwidmFsdWUiLCJyZXN1bHQiLCJlbnRyeSIsIm1hcCIsInNvcnQiLCJsZWZ0IiwicmlnaHQiLCJsb2NhbGVDb21wYXJlIiwicG9ydCIsIndlYmFwaVBhY2thZ2VOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQTBCYUE7ZUFBQUE7O1FBc0lHQztlQUFBQTs7O3dCQWhLYTt5QkFDRTt1QkFNeEI7d0JBQzBCO0FBa0IxQixNQUFNRDs7SUFDSUUsTUFBTUMsd0JBQWdCLENBQUNDLFlBQVksQ0FBQztJQUU1Q0MsY0FBc0M7SUFDdENDLGlCQUF5QztJQUN6Q0MsU0FBaUM7SUFDakNDLFdBQVcsUUFBUTtJQUNuQkMsUUFBUSxTQUFTO0lBQ2pCQyxRQUFpQyxDQUFDLEVBQUU7SUFFNUMsWUFDQyxBQUFpQkMsSUFBWSxFQUM3QkMsT0FBNEIsQ0FDM0I7YUFGZ0JELE9BQUFBO1FBR2pCLE1BQU1FLFdBQVdELFNBQVNDLFlBQVk7WUFBQ0MsMEJBQW1CO1NBQUM7UUFDM0Qs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
@@ -130,3 +130,5 @@ class MonoRepoScaffold extends WorkspaceScaffold {
130
130
  }));
131
131
  }
132
132
  }
133
+
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvcHJvamVjdC5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2Rpciwgd3JpdGVGaWxlIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IGJhc2VuYW1lLCBkaXJuYW1lLCBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBLZXllZE1vZGVsLCBTb3VyY2VGaWxlLCBTb3VyY2VGaWxlUHJvdmlkZXIgfSBmcm9tIFwiLi9zb3VyY2UtZmlsZS5qc1wiO1xuXG4vKipcbiAqIEEgc3ViLXVuaXQgb2YgdGhlIG1vbm9yZXBvIChlLmcuIGBwcm9qZWN0cy9hcGlgKS5cbiAqXG4gKiBNb2RlbHMgYW5kIGZpbGVzIHJlZ2lzdGVyZWQgaGVyZSBwcm9kdWNlIHBhdGhzIHJlbGF0aXZlIHRvIGBkaXJgLiBUaGUgcGFyZW50XG4gKiBgTW9ub1JlcG9TY2FmZm9sZGAgY2FsbHMgYGZpbGVzKClgIGFuZCBwcmVwZW5kcyBgZGlyL2AgdG8gZXZlcnkgcGF0aCwgc29cbiAqIG1vZGVscyByZW1haW4gdW5hd2FyZSBvZiB3aGVyZSB0aGV5IGxpdmUgaW4gdGhlIHJlcG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZWN0U2NhZmZvbGQge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9tb2RlbHMgPSBuZXcgTWFwPHN0cmluZywgU291cmNlRmlsZVByb3ZpZGVyPigpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9maWxlczogU291cmNlRmlsZVtdID0gW107XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBkaXI6IHN0cmluZykge31cblxuXHRwdWJsaWMgYWRkTW9kZWw8VCBleHRlbmRzIEtleWVkTW9kZWw+KG1vZGVsOiBUKTogVCB7XG5cdFx0dGhpcy5fbW9kZWxzLnNldChtb2RlbC5rZXksIG1vZGVsKTtcblx0XHRyZXR1cm4gbW9kZWw7XG5cdH1cblxuXHRwdWJsaWMgYWRkRmlsZShwcm92aWRlcjogU291cmNlRmlsZVByb3ZpZGVyKTogdGhpcyB7XG5cdFx0dGhpcy5fZmlsZXMucHVzaCguLi5wcm92aWRlci5maWxlcygpKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBnZXRNb2RlbDxUIGV4dGVuZHMgU291cmNlRmlsZVByb3ZpZGVyPihrZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLl9tb2RlbHMuZ2V0KGtleSkgYXMgVCB8IHVuZGVmaW5lZDtcblx0fVxuXG5cdHB1YmxpYyBnZXRNb2RlbHM8VCBleHRlbmRzIFNvdXJjZUZpbGVQcm92aWRlcj4oY3RvcjogbmV3ICguLi5hcmdzOiBuZXZlcltdKSA9PiBUKTogVFtdIHtcblx0XHRyZXR1cm4gWy4uLnRoaXMuX21vZGVscy52YWx1ZXMoKV0uZmlsdGVyKChtKTogbSBpcyBUID0+IG0gaW5zdGFuY2VvZiBjdG9yKTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIGFsbCBmaWxlcyB3aXRoIGBkaXIvYCBwcmVwZW5kZWQgdG8gZWFjaCBwYXRoLiAqL1xuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRjb25zdCBhbGwgPSBbLi4udGhpcy5fZmlsZXMsIC4uLlsuLi50aGlzLl9tb2RlbHMudmFsdWVzKCldLmZsYXRNYXAoKG0pID0+IG0uZmlsZXMoKSldO1xuXHRcdHJldHVybiBhbGwubWFwKChmKSA9PiAoeyBmaWxlUGF0aDogYCR7dGhpcy5kaXJ9LyR7Zi5maWxlUGF0aH1gLCBjb250ZW50OiBmLmNvbnRlbnQgfSkpO1xuXHR9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXb3Jrc3BhY2VTY2FmZm9sZCB7XG5cdHB1YmxpYyByZWFkb25seSBmaWxlczogU291cmNlRmlsZVtdID0gW107XG5cdHB1YmxpYyB0YXJnZXREaXI6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG5cdHByaXZhdGUgX25hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHQvKiogUHJvamVjdCBuYW1lIOKAlCBob3N0IGRpcmVjdG9yeSBiYXNlbmFtZSwgbm90IHRoZSBpbi1jb250YWluZXIgbW91bnQgcGF0aC4gKi9cblx0cHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuX25hbWUgPz8gYmFzZW5hbWUodGhpcy50YXJnZXREaXIpO1xuXHR9XG5cblx0cHVibGljIHNldE5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fbmFtZSA9IG5hbWU7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogQWRkIGFuIGFkLWhvYyBmaWxlIHByb3ZpZGVyIHdob3NlIG91dHB1dCBpcyBpbmNsdWRlZCBhdCByZW5kZXIgdGltZS4gKi9cblx0cHVibGljIGFkZEZpbGUocHJvdmlkZXI6IFNvdXJjZUZpbGVQcm92aWRlcik6IHRoaXMge1xuXHRcdHRoaXMuZmlsZXMucHVzaCguLi5wcm92aWRlci5maWxlcygpKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBhYnN0cmFjdCBhZGRNb2RlbDxUIGV4dGVuZHMgS2V5ZWRNb2RlbD4obW9kZWw6IFQpOiBUO1xuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TW9kZWw8VCBleHRlbmRzIFNvdXJjZUZpbGVQcm92aWRlcj4oa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkO1xuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TW9kZWxzPFQgZXh0ZW5kcyBTb3VyY2VGaWxlUHJvdmlkZXI+KFxuXHRcdGN0b3I6IG5ldyAoLi4uYXJnczogbmV2ZXJbXSkgPT4gVCxcblx0KTogVFtdO1xuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0UHJvamVjdChkaXI6IHN0cmluZyk6IFByb2plY3RTY2FmZm9sZCB8IHVuZGVmaW5lZDtcblx0cHVibGljIGFic3RyYWN0IGdldFByb2plY3RzKCk6IHJlYWRvbmx5IFByb2plY3RTY2FmZm9sZFtdO1xuXHRwdWJsaWMgYWJzdHJhY3Qgc2NhZmZvbGQoKTogUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBNb25vUmVwb1NjYWZmb2xkIGV4dGVuZHMgV29ya3NwYWNlU2NhZmZvbGQge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9tb2RlbHMgPSBuZXcgTWFwPHN0cmluZywgU291cmNlRmlsZVByb3ZpZGVyPigpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9wcm9qZWN0czogUHJvamVjdFNjYWZmb2xkW10gPSBbXTtcblxuXHQvKiogUmVnaXN0ZXIgYSBuYW1lZCBwcm9qZWN0LiAqL1xuXHRwdWJsaWMgYWRkUHJvamVjdChwcm9qZWN0OiBQcm9qZWN0U2NhZmZvbGQpOiBQcm9qZWN0U2NhZmZvbGQge1xuXHRcdHRoaXMuX3Byb2plY3RzLnB1c2gocHJvamVjdCk7XG5cdFx0cmV0dXJuIHByb2plY3Q7XG5cdH1cblxuXHQvKiogUmV0cmlldmUgYSBwcmV2aW91c2x5LXJlZ2lzdGVyZWQgcHJvamVjdCBieSBpdHMgZGlyZWN0b3J5IHBhdGguICovXG5cdHB1YmxpYyBnZXRQcm9qZWN0KGRpcjogc3RyaW5nKTogUHJvamVjdFNjYWZmb2xkIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5fcHJvamVjdHMuZmluZCgocCkgPT4gcC5kaXIgPT09IGRpcik7XG5cdH1cblxuXHQvKiogQWxsIHJlZ2lzdGVyZWQgcHJvamVjdHMsIGluIHJlZ2lzdHJhdGlvbiBvcmRlci4gKi9cblx0cHVibGljIGdldFByb2plY3RzKCk6IHJlYWRvbmx5IFByb2plY3RTY2FmZm9sZFtdIHtcblx0XHRyZXR1cm4gdGhpcy5fcHJvamVjdHM7XG5cdH1cblxuXHQvKiogUmVnaXN0ZXIgYSBuYW1lZCBtb2RlbCBhdCB3b3Jrc3BhY2UgbGV2ZWwuICovXG5cdHB1YmxpYyBhZGRNb2RlbDxUIGV4dGVuZHMgS2V5ZWRNb2RlbD4obW9kZWw6IFQpOiBUIHtcblx0XHR0aGlzLl9tb2RlbHMuc2V0KG1vZGVsLmtleSwgbW9kZWwpO1xuXHRcdHJldHVybiBtb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZSBhIG1vZGVsIGJ5IGtleS4gU2VhcmNoZXMgd29ya3NwYWNlIG1vZGVscyBmaXJzdCwgdGhlbiBhbGxcblx0ICogcmVnaXN0ZXJlZCBwcm9qZWN0cyBpbiBvcmRlci5cblx0ICovXG5cdHB1YmxpYyBnZXRNb2RlbDxUIGV4dGVuZHMgU291cmNlRmlsZVByb3ZpZGVyPihrZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG0gPSB0aGlzLl9tb2RlbHMuZ2V0KGtleSkgYXMgVCB8IHVuZGVmaW5lZDtcblx0XHRpZiAobSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gbTtcblx0XHRmb3IgKGNvbnN0IHByb2plY3Qgb2YgdGhpcy5fcHJvamVjdHMpIHtcblx0XHRcdGNvbnN0IHBtID0gcHJvamVjdC5nZXRNb2RlbDxUPihrZXkpO1xuXHRcdFx0aWYgKHBtICE9PSB1bmRlZmluZWQpIHJldHVybiBwbTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZSBhbGwgbW9kZWxzIG9mIGEgZ2l2ZW4gdHlwZS4gU2VhcmNoZXMgd29ya3NwYWNlIG1vZGVscyBhbmQgYWxsXG5cdCAqIHByb2plY3RzLCBzbyBmZWF0dXJlcyBjYW4gZGlzY292ZXIgY29udHJvbGxlcnMgYWNyb3NzIG11bHRpcGxlIHByb2plY3RzLlxuXHQgKi9cblx0cHVibGljIGdldE1vZGVsczxUIGV4dGVuZHMgU291cmNlRmlsZVByb3ZpZGVyPihjdG9yOiBuZXcgKC4uLmFyZ3M6IG5ldmVyW10pID0+IFQpOiBUW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHQuLi5bLi4udGhpcy5fbW9kZWxzLnZhbHVlcygpXS5maWx0ZXIoKG0pOiBtIGlzIFQgPT4gbSBpbnN0YW5jZW9mIGN0b3IpLFxuXHRcdFx0Li4udGhpcy5fcHJvamVjdHMuZmxhdE1hcCgocCkgPT4gcC5nZXRNb2RlbHMoY3RvcikpLFxuXHRcdF07XG5cdH1cblxuXHQvKiogUmVuZGVyIGFsbCBtb2RlbHMgYW5kIHByb2plY3RzIGludG8gZmlsZXMsIHRoZW4gd3JpdGUgZXZlcnl0aGluZyB0byBkaXNrLiAqL1xuXHRwdWJsaWMgYXN5bmMgc2NhZmZvbGQoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgYWxsRmlsZXMgPSBbXG5cdFx0XHQuLi50aGlzLmZpbGVzLFxuXHRcdFx0Li4uWy4uLnRoaXMuX21vZGVscy52YWx1ZXMoKV0uZmxhdE1hcCgobSkgPT4gbS5maWxlcygpKSxcblx0XHRcdC4uLnRoaXMuX3Byb2plY3RzLmZsYXRNYXAoKHApID0+IHAuZmlsZXMoKSksXG5cdFx0XTtcblxuXHRcdGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0YWxsRmlsZXMubWFwKGFzeW5jIChmaWxlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGZ1bGxQYXRoID0gam9pbih0aGlzLnRhcmdldERpciwgZmlsZS5maWxlUGF0aCk7XG5cdFx0XHRcdGF3YWl0IG1rZGlyKGRpcm5hbWUoZnVsbFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblx0XHRcdFx0YXdhaXQgd3JpdGVGaWxlKGZ1bGxQYXRoLCBmaWxlLmNvbnRlbnQpO1xuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIk1vbm9SZXBvU2NhZmZvbGQiLCJQcm9qZWN0U2NhZmZvbGQiLCJXb3Jrc3BhY2VTY2FmZm9sZCIsIl9tb2RlbHMiLCJNYXAiLCJfZmlsZXMiLCJkaXIiLCJhZGRNb2RlbCIsIm1vZGVsIiwic2V0Iiwia2V5IiwiYWRkRmlsZSIsInByb3ZpZGVyIiwicHVzaCIsImZpbGVzIiwiZ2V0TW9kZWwiLCJnZXQiLCJnZXRNb2RlbHMiLCJjdG9yIiwidmFsdWVzIiwiZmlsdGVyIiwibSIsImFsbCIsImZsYXRNYXAiLCJtYXAiLCJmIiwiZmlsZVBhdGgiLCJjb250ZW50IiwidGFyZ2V0RGlyIiwicHJvY2VzcyIsImN3ZCIsIl9uYW1lIiwibmFtZSIsImJhc2VuYW1lIiwic2V0TmFtZSIsIl9wcm9qZWN0cyIsImFkZFByb2plY3QiLCJwcm9qZWN0IiwiZ2V0UHJvamVjdCIsImZpbmQiLCJwIiwiZ2V0UHJvamVjdHMiLCJ1bmRlZmluZWQiLCJwbSIsInNjYWZmb2xkIiwiYWxsRmlsZXMiLCJQcm9taXNlIiwiZmlsZSIsImZ1bGxQYXRoIiwiam9pbiIsIm1rZGlyIiwiZGlybmFtZSIsInJlY3Vyc2l2ZSIsIndyaXRlRmlsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUF5RWFBO2VBQUFBOztRQTlEQUM7ZUFBQUE7O1FBK0JTQztlQUFBQTs7OzBCQTFDVzswQkFDTztBQVVqQyxNQUFNRDs7SUFDS0UsVUFBVSxJQUFJQyxNQUFrQztJQUNoREMsU0FBdUIsRUFBRSxDQUFDO0lBRTNDLFlBQW1CLEFBQWdCQyxHQUFXLENBQUU7YUFBYkEsTUFBQUE7SUFBYztJQUUxQ0MsU0FBK0JDLEtBQVEsRUFBSztRQUNsRCxJQUFJLENBQUNMLE9BQU8sQ0FBQ00sR0FBRyxDQUFDRCxNQUFNRSxHQUFHLEVBQUVGO1FBQzVCLE9BQU9BO0lBQ1I7SUFFT0csUUFBUUMsUUFBNEIsRUFBUTtRQUNsRCxJQUFJLENBQUNQLE1BQU0sQ0FBQ1EsSUFBSSxJQUFJRCxTQUFTRSxLQUFLO1FBQ2xDLE9BQU8sSUFBSTtJQUNaO0lBRU9DLFNBQXVDTCxHQUFXLEVBQWlCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDUCxPQUFPLENBQUNhLEdBQUcsQ0FBQ047SUFDekI7SUFFT08sVUFBd0NDLElBQWlDLEVBQU87UUFDdEYsT0FBTztlQUFJLElBQUksQ0FBQ2YsT0FBTyxDQUFDZ0IsTUFBTTtTQUFHLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxJQUFjQSxhQUFhSDtJQUN0RTtJQUVBLDBEQUEwRCxHQUMxRCxBQUFPSixRQUFzQjtRQUM1QixNQUFNUSxNQUFNO2VBQUksSUFBSSxDQUFDakIsTUFBTTtlQUFLO21CQUFJLElBQUksQ0FBQ0YsT0FBTyxDQUFDZ0IsTUFBTTthQUFH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
@@ -2,3 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -30,3 +30,5 @@ class TsConfig {
30
30
  ];
31
31
  }
32
32
  }
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvdHNjb25maWcubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV0VMTF9LTk9XTl9GSUxFUyB9IGZyb20gXCIuL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEtleWVkTW9kZWwsIFNvdXJjZUZpbGUgfSBmcm9tIFwiLi9zb3VyY2UtZmlsZS5qc1wiO1xuXG5leHBvcnQgY2xhc3MgVHNDb25maWcgaW1wbGVtZW50cyBLZXllZE1vZGVsIHtcblx0cHVibGljIHJlYWRvbmx5IGtleSA9IFdFTExfS05PV05fRklMRVMuVFNDT05GSUc7XG5cblx0cHVibGljIGZpbGVzKCk6IFNvdXJjZUZpbGVbXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdHtcblx0XHRcdFx0ZmlsZVBhdGg6IFwidHNjb25maWcuanNvblwiLFxuXHRcdFx0XHRjb250ZW50OiBKU09OLnN0cmluZ2lmeShcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRjb21waWxlck9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdFx0dGFyZ2V0OiBcIkVTMjAyMlwiLFxuXHRcdFx0XHRcdFx0XHRtb2R1bGU6IFwiTm9kZU5leHRcIixcblx0XHRcdFx0XHRcdFx0bW9kdWxlUmVzb2x1dGlvbjogXCJOb2RlTmV4dFwiLFxuXHRcdFx0XHRcdFx0XHRzdHJpY3Q6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHNraXBMaWJDaGVjazogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0ZXhwZXJpbWVudGFsRGVjb3JhdG9yczogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0ZW1pdERlY29yYXRvck1ldGFkYXRhOiB0cnVlLFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0Mixcblx0XHRcdFx0KSxcblx0XHRcdH0sXG5cdFx0XTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlRzQ29uZmlnIiwia2V5IiwiV0VMTF9LTk9XTl9GSUxFUyIsIlRTQ09ORklHIiwiZmlsZXMiLCJmaWxlUGF0aCIsImNvbnRlbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tcGlsZXJPcHRpb25zIiwidGFyZ2V0IiwibW9kdWxlIiwibW9kdWxlUmVzb2x1dGlvbiIsInN0cmljdCIsInNraXBMaWJDaGVjayIsImV4cGVyaW1lbnRhbERlY29yYXRvcnMiLCJlbWl0RGVjb3JhdG9yTWV0YWRhdGEiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7Ozt1QkFIb0I7QUFHMUIsTUFBTUE7SUFDSUMsTUFBTUMsdUJBQWdCLENBQUNDLFFBQVEsQ0FBQztJQUV6Q0MsUUFBc0I7UUFDNUIsT0FBTztZQUNOO2dCQUNDQyxVQUFVO2dCQUNWQyxTQUFTQyxLQUFLQyxTQUFTLENBQ3RCO29CQUNDQyxpQkFBaUI7d0JBQ2hCQyxRQUFRO3dCQUNSQyxRQUFRO3dCQUNSQyxrQkFBa0I7d0JBQ2xCQyxRQUFRO3dCQUNSQyxjQUFjO3dCQUNkQyx3QkFBd0I7d0JBQ3hCQyx1QkFBdUI7b0JBQ3hCO2dCQUNELEdBQ0EsTUFDQTtZQUVGO1NBQ0E7SUFDRjtBQUNEIn0=
@@ -31,3 +31,5 @@ class VitestConfig {
31
31
  ];
32
32
  }
33
33
  }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvdml0ZXN0LWNvbmZpZy5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4vY29uc3QuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5ZWRNb2RlbCwgU291cmNlRmlsZSB9IGZyb20gXCIuL3NvdXJjZS1maWxlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBWaXRlc3RDb25maWcgaW1wbGVtZW50cyBLZXllZE1vZGVsIHtcblx0cHVibGljIHJlYWRvbmx5IGtleSA9IFdFTExfS05PV05fRklMRVMuVklURVNUX0NPTkZJRztcblxuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCJ2aXRlc3QuY29uZmlnLnRzXCIsXG5cdFx0XHRcdGNvbnRlbnQ6IFtcblx0XHRcdFx0XHQnaW1wb3J0IHsgZm9yZ2VCdWlsZCB9IGZyb20gXCJAZGVjb2hlcmUvZm9yZ2Uvdml0ZXN0XCI7Jyxcblx0XHRcdFx0XHQnaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVzdC9jb25maWdcIjsnLFxuXHRcdFx0XHRcdFwiXCIsXG5cdFx0XHRcdFx0XCJleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1wiLFxuXHRcdFx0XHRcdCdcXHRwbHVnaW5zOiBbZm9yZ2VCdWlsZCh7IGxvZ0xldmVsOiBcInNpbGVudFwiIH0pXSwnLFxuXHRcdFx0XHRcdFwiXFx0dGVzdDoge1wiLFxuXHRcdFx0XHRcdCdcXHRcXHRpbmNsdWRlOiBbXCJwcm9qZWN0cy8qKi8qLnt0ZXN0LHNwZWN9Lj8oY3xtKVtqdF1zPyh4KVwiXSwnLFxuXHRcdFx0XHRcdFwiXFx0fSxcIixcblx0XHRcdFx0XHRcIn0pO1wiLFxuXHRcdFx0XHRcdFwiXCIsXG5cdFx0XHRcdF0uam9pbihcIlxcblwiKSxcblx0XHRcdH0sXG5cdFx0XTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlZpdGVzdENvbmZpZyIsImtleSIsIldFTExfS05PV05fRklMRVMiLCJWSVRFU1RfQ09ORklHIiwiZmlsZXMiLCJmaWxlUGF0aCIsImNvbnRlbnQiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdhQTs7O2VBQUFBOzs7dUJBSG9CO0FBRzFCLE1BQU1BO0lBQ0lDLE1BQU1DLHVCQUFnQixDQUFDQyxhQUFhLENBQUM7SUFFOUNDLFFBQXNCO1FBQzVCLE9BQU87WUFDTjtnQkFDQ0MsVUFBVTtnQkFDVkMsU0FBUztvQkFDUjtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtpQkFDQSxDQUFDQyxJQUFJLENBQUM7WUFDUjtTQUNBO0lBQ0Y7QUFDRCJ9
@@ -27,3 +27,5 @@ class VSCodeSettings {
27
27
  ];
28
28
  }
29
29
  }
30
+
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvdnNjb2RlLXNldHRpbmdzLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdFTExfS05PV05fRklMRVMgfSBmcm9tIFwiLi9jb25zdC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXllZE1vZGVsLCBTb3VyY2VGaWxlIH0gZnJvbSBcIi4vc291cmNlLWZpbGUuanNcIjtcblxuZXhwb3J0IGNsYXNzIFZTQ29kZVNldHRpbmdzIGltcGxlbWVudHMgS2V5ZWRNb2RlbCB7XG5cdHB1YmxpYyByZWFkb25seSBrZXkgPSBXRUxMX0tOT1dOX0ZJTEVTLlZTQ09ERV9TRVRUSU5HUztcblxuXHRwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0aXRsZTogc3RyaW5nKSB7fVxuXG5cdHB1YmxpYyBmaWxlcygpOiBTb3VyY2VGaWxlW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHR7XG5cdFx0XHRcdGZpbGVQYXRoOiBcIi52c2NvZGUvc2V0dGluZ3MuanNvblwiLFxuXHRcdFx0XHRjb250ZW50OiBKU09OLnN0cmluZ2lmeShcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcIndpbmRvdy50aXRsZVwiOiBgJHt0aGlzLnRpdGxlfVxcJHtzZXBhcmF0b3J9XFwke2FjdGl2ZUVkaXRvclNob3J0fWAsXG5cdFx0XHRcdFx0XHRcIndpbmRvdy50aXRsZVNlcGFyYXRvclwiOiBcIiB8IFwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHQyLFxuXHRcdFx0XHQpLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiVlNDb2RlU2V0dGluZ3MiLCJrZXkiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiVlNDT0RFX1NFVFRJTkdTIiwidGl0bGUiLCJmaWxlcyIsImZpbGVQYXRoIiwiY29udGVudCIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7Ozt1QkFIb0I7QUFHMUIsTUFBTUE7O0lBQ0lDLE1BQU1DLHVCQUFnQixDQUFDQyxlQUFlLENBQUM7SUFFdkQsWUFBbUIsQUFBaUJDLEtBQWEsQ0FBRTthQUFmQSxRQUFBQTtJQUFnQjtJQUU3Q0MsUUFBc0I7UUFDNUIsT0FBTztZQUNOO2dCQUNDQyxVQUFVO2dCQUNWQyxTQUFTQyxLQUFLQyxTQUFTLENBQ3RCO29CQUNDLGdCQUFnQixHQUFHLElBQUksQ0FBQ0wsS0FBSyxDQUFDLGtDQUFrQyxDQUFDO29CQUNqRSx5QkFBeUI7Z0JBQzFCLEdBQ0EsTUFDQTtZQUVGO1NBQ0E7SUFDRjtBQUNEIn0=
@@ -18,7 +18,6 @@ _export(exports, {
18
18
  });
19
19
  const _commander = require("commander");
20
20
  const _apiname = require("./webapi/api-name.js");
21
- const _auth0commands = require("./webapi/auth0-commands.js");
22
21
  const _clioptions = require("./webapi/cli-options.js");
23
22
  function createProgram() {
24
23
  const program = new _commander.Command();
@@ -36,14 +35,6 @@ function createProgram() {
36
35
  add: true
37
36
  }));
38
37
  });
39
- const auth0 = program.command("auth0").description("Log in to Auth0 and update a scaffolded client");
40
- auth0.command("login").description("Authenticate the Auth0 CLI (device URL; tokens persist on the host)").action(()=>{
41
- (0, _auth0commands.runAuth0Login)();
42
- });
43
- auth0.command("configure").description("Update Auth0 API permissions and Postman SPA from @Authorize in this workspace").action((_opts, cmd)=>{
44
- const d = cmd.optsWithGlobals().d;
45
- (0, _auth0commands.runAuth0Configure)(typeof d === "string" ? d : ".");
46
- });
47
38
  return program;
48
39
  }
49
40
  async function runCli(argv = process.argv) {
@@ -51,14 +42,16 @@ async function runCli(argv = process.argv) {
51
42
  await createProgram().parseAsync(argv);
52
43
  } catch (err) {
53
44
  if (err instanceof _commander.CommanderError) {
54
- return err.exitCode;
45
+ process.exit(err.exitCode);
55
46
  }
56
47
  if (err instanceof _apiname.CreateCliError) {
57
48
  console.error(`\n ${err.message}\n`);
58
- return 1;
49
+ process.exit(1);
59
50
  }
60
51
  console.error(err);
61
- return 1;
52
+ process.exit(1);
62
53
  }
63
- return typeof process.exitCode === "number" ? process.exitCode : 0;
54
+ process.exit(process.exitCode ?? 0);
64
55
  }
56
+
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9wcm9ncmFtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQsIENvbW1hbmRlckVycm9yIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgQ3JlYXRlQ2xpRXJyb3IgfSBmcm9tIFwiLi93ZWJhcGkvYXBpLW5hbWUuanNcIjtcbmltcG9ydCB7XG5cdGFkZFdlYmFwaUZlYXR1cmVPcHRpb25zLFxuXHRjb2xsZWN0TmFtZSxcblx0cnVuU2NhZmZvbGRBcGksXG5cdHRvQXBpT3B0aW9ucyxcbn0gZnJvbSBcIi4vd2ViYXBpL2NsaS1vcHRpb25zLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9ncmFtKCk6IENvbW1hbmQge1xuXHRjb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoKTtcblx0cHJvZ3JhbS5leGl0T3ZlcnJpZGUoKTtcblx0cHJvZ3JhbVxuXHRcdC5uYW1lKFwiZGVjb2hlcmVcIilcblx0XHQuZGVzY3JpcHRpb24oXCJEZWNvaGVyZSBDTElcIilcblx0XHQub3B0aW9uKFwiLWQgPGRpcmVjdG9yeT5cIiwgXCJUYXJnZXQgZGlyZWN0b3J5IChkZWZhdWx0OiBjdXJyZW50IGRpcmVjdG9yeSlcIiwgXCIuXCIpO1xuXG5cdGNvbnN0IGNyZWF0ZSA9IHByb2dyYW0uY29tbWFuZChcImNyZWF0ZVwiKS5kZXNjcmlwdGlvbihcIkNyZWF0ZSBhIG5ldyBEZWNvaGVyZSB3b3Jrc3BhY2VcIik7XG5cdGFkZFdlYmFwaUZlYXR1cmVPcHRpb25zKFxuXHRcdGNyZWF0ZVxuXHRcdFx0LmNvbW1hbmQoXCJ3ZWJhcGlcIilcblx0XHRcdC5hcmd1bWVudChcIltkaXJlY3RvcnldXCIsIFwiVGFyZ2V0IGRpcmVjdG9yeSAoZGVmYXVsdDogLWQgb3IgY3VycmVudCBkaXJlY3RvcnkpXCIpXG5cdFx0XHQub3B0aW9uKFxuXHRcdFx0XHRcIi0tbmFtZSA8c2x1Zz5cIixcblx0XHRcdFx0XCJBUEkgbmFtZSB1bmRlciBwcm9qZWN0cy8gKHJlcGVhdGFibGU7IGRlZmF1bHQ6IGFwaSlcIixcblx0XHRcdFx0Y29sbGVjdE5hbWUsXG5cdFx0XHRcdFtdIGFzIHN0cmluZ1tdLFxuXHRcdFx0KSxcblx0KS5hY3Rpb24oYXN5bmMgKGRpcmVjdG9yeTogc3RyaW5nIHwgdW5kZWZpbmVkLCBfb3B0czogdW5rbm93biwgY21kOiBDb21tYW5kKSA9PiB7XG5cdFx0YXdhaXQgcnVuU2NhZmZvbGRBcGkodG9BcGlPcHRpb25zKGRpcmVjdG9yeSwgY21kLm9wdHNXaXRoR2xvYmFscygpKSk7XG5cdH0pO1xuXG5cdGFkZFdlYmFwaUZlYXR1cmVPcHRpb25zKFxuXHRcdHByb2dyYW1cblx0XHRcdC5jb21tYW5kKFwiYWRkXCIpXG5cdFx0XHQuZGVzY3JpcHRpb24oXCJBZGQgdG8gYW4gZXhpc3RpbmcgRGVjb2hlcmUgd29ya3NwYWNlXCIpXG5cdFx0XHQuY29tbWFuZChcImFwaVwiKVxuXHRcdFx0LmFyZ3VtZW50KFwiPG5hbWU+XCIsIFwiQVBJIG5hbWUgdW5kZXIgcHJvamVjdHMvXCIpLFxuXHQpLmFjdGlvbihhc3luYyAobmFtZTogc3RyaW5nLCBfb3B0czogdW5rbm93biwgY21kOiBDb21tYW5kKSA9PiB7XG5cdFx0YXdhaXQgcnVuU2NhZmZvbGRBcGkoXG5cdFx0XHR0b0FwaU9wdGlvbnModW5kZWZpbmVkLCBjbWQub3B0c1dpdGhHbG9iYWxzKCksIHsgbmFtZXM6IFtuYW1lXSwgYWRkOiB0cnVlIH0pLFxuXHRcdCk7XG5cdH0pO1xuXG5cdHJldHVybiBwcm9ncmFtO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuQ2xpKGFyZ3Y6IHN0cmluZ1tdID0gcHJvY2Vzcy5hcmd2KTogUHJvbWlzZTx2b2lkPiB7XG5cdHRyeSB7XG5cdFx0YXdhaXQgY3JlYXRlUHJvZ3JhbSgpLnBhcnNlQXN5bmMoYXJndik7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdGlmIChlcnIgaW5zdGFuY2VvZiBDb21tYW5kZXJFcnJvcikge1xuXHRcdFx0cHJvY2Vzcy5leGl0KGVyci5leGl0Q29kZSk7XG5cdFx0fVxuXHRcdGlmIChlcnIgaW5zdGFuY2VvZiBDcmVhdGVDbGlFcnJvcikge1xuXHRcdFx0Y29uc29sZS5lcnJvcihgXFxuICAke2Vyci5tZXNzYWdlfVxcbmApO1xuXHRcdFx0cHJvY2Vzcy5leGl0KDEpO1xuXHRcdH1cblx0XHRjb25zb2xlLmVycm9yKGVycik7XG5cdFx0cHJvY2Vzcy5leGl0KDEpO1xuXHR9XG5cdHByb2Nlc3MuZXhpdChwcm9jZXNzLmV4aXRDb2RlID8/IDApO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVByb2dyYW0iLCJydW5DbGkiLCJwcm9ncmFtIiwiQ29tbWFuZCIsImV4aXRPdmVycmlkZSIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbiIsImNyZWF0ZSIsImNvbW1hbmQiLCJhZGRXZWJhcGlGZWF0dXJlT3B0aW9ucyIsImFyZ3VtZW50IiwiY29sbGVjdE5hbWUiLCJhY3Rpb24iLCJkaXJlY3RvcnkiLCJfb3B0cyIsImNtZCIsInJ1blNjYWZmb2xkQXBpIiwidG9BcGlPcHRpb25zIiwib3B0c1dpdGhHbG9iYWxzIiwidW5kZWZpbmVkIiwibmFtZXMiLCJhZGQiLCJhcmd2IiwicHJvY2VzcyIsInBhcnNlQXN5bmMiLCJlcnIiLCJDb21tYW5kZXJFcnJvciIsImV4aXQiLCJleGl0Q29kZSIsIkNyZWF0ZUNsaUVycm9yIiwiY29uc29sZSIsImVycm9yIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFTZ0JBO2VBQUFBOztRQXNDTUM7ZUFBQUE7OzsyQkEvQ2tCO3lCQUNUOzRCQU14QjtBQUVBLFNBQVNEO0lBQ2YsTUFBTUUsVUFBVSxJQUFJQyxrQkFBTztJQUMzQkQsUUFBUUUsWUFBWTtJQUNwQkYsUUFDRUcsSUFBSSxDQUFDLFlBQ0xDLFdBQVcsQ0FBQyxnQkFDWkMsTUFBTSxDQUFDLGtCQUFrQixpREFBaUQ7SUFFNUUsTUFBTUMsU0FBU04sUUFBUU8sT0FBTyxDQUFDLFVBQVVILFdBQVcsQ0FBQztJQUNyREksSUFBQUEsbUNBQXVCLEVBQ3RCRixPQUNFQyxPQUFPLENBQUMsVUFDUkUsUUFBUSxDQUFDLGVBQWUsdURBQ3hCSixNQUFNLENBQ04saUJBQ0EsdURBQ0FLLHVCQUFXLEVBQ1gsRUFBRSxHQUVIQyxNQUFNLENBQUMsT0FBT0MsV0FBK0JDLE9BQWdCQztRQUM5RCxNQUFNQyxJQUFBQSwwQkFBYyxFQUFDQyxJQUFBQSx3QkFBWSxFQUFDSixXQUFXRSxJQUFJRyxlQUFlO0lBQ2pFO0lBRUFULElBQUFBLG1DQUF1QixFQUN0QlIsUUFDRU8sT0FBTyxDQUFDLE9BQ1JILFdBQVcsQ0FBQyx5Q0FDWkcsT0FBTyxDQUFDLE9BQ1JFLFFBQVEsQ0FBQyxVQUFVLDZCQUNwQkUsTUFBTSxDQUFDLE9BQU9SLE1BQWNVLE9BQWdCQztRQUM3QyxNQUFNQyxJQUFBQSwwQkFBYyxFQUNuQkMsSUFBQUEsd0JBQVksRUFBQ0UsV0FBV0osSUFBSUcsZUFBZSxJQUFJO1lBQUVFLE9BQU87Z0JBQUNoQjthQUFLO1lBQUVpQixLQUFLO1FBQUs7SUFFNUU7SUFFQSxPQUFPcEI7QUFDUjtBQUVPLGVBQWVELE9BQU9zQixPQUFpQkMsUUFBUUQsSUFBSTtJQUN6RCxJQUFJO1FBQ0gsTUFBTXZCLGdCQUFnQnlCLFVBQVUsQ0FBQ0Y7SUFDbEMsRUFBRSxPQUFPRyxLQUFLO1FBQ2IsSUFBSUEsZUFBZUMseUJBQWMsRUFBRTtZQUNsQ0gsUUFBUUksSUFBSSxDQUFDRixJQUFJRyxRQUFRO1FBQzFCO1FBQ0EsSUFBSUgsZUFBZUksdUJBQWMsRUFBRTtZQUNsQ0MsUUFBUUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFTixJQUFJTyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BDVCxRQUFRSSxJQUFJLENBQUM7UUFDZDtRQUNBRyxRQUFRQyxLQUFLLENBQUNOO1FBQ2RGLFFBQVFJLElBQUksQ0FBQztJQUNkO0lBQ0FKLFFBQVFJLElBQUksQ0FBQ0osUUFBUUssUUFBUSxJQUFJO0FBQ2xDIn0=
@@ -15,3 +15,5 @@ function resolveTargetDir(positional, flag) {
15
15
  const dir = positional?.trim() || flag?.trim() || ".";
16
16
  return dir;
17
17
  }
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9yZXNvbHZlLXRhcmdldC1kaXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvbHZlIHNjYWZmb2xkIGRlc3RpbmF0aW9uOiBwb3NpdGlvbmFsIGB3ZWJhcGkgbXktYXBwYCB3aW5zIG92ZXIgYC1kYC5cbiAqIGBucG0gY3JlYXRlIOKApiB3ZWJhcGkgLWQgbXktYXBwYCBkcm9wcyBgLWRgIChucG0gbG9nbGV2ZWwpIGFuZCBmb3J3YXJkcyBgbXktYXBwYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUYXJnZXREaXIocG9zaXRpb25hbD86IHN0cmluZywgZmxhZz86IHN0cmluZyk6IHN0cmluZyB7XG5cdGNvbnN0IGRpciA9IHBvc2l0aW9uYWw/LnRyaW0oKSB8fCBmbGFnPy50cmltKCkgfHwgXCIuXCI7XG5cdHJldHVybiBkaXI7XG59XG4iXSwibmFtZXMiOlsicmVzb2x2ZVRhcmdldERpciIsInBvc2l0aW9uYWwiLCJmbGFnIiwiZGlyIiwidHJpbSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDOzs7OytCQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxpQkFBaUJDLFVBQW1CLEVBQUVDLElBQWE7SUFDbEUsTUFBTUMsTUFBTUYsWUFBWUcsVUFBVUYsTUFBTUUsVUFBVTtJQUNsRCxPQUFPRDtBQUNSIn0=
@@ -58,3 +58,5 @@ async function scaffoldWorkspace(workspace, _options) {
58
58
  const ScaffoldService = {
59
59
  scaffold
60
60
  };
61
+
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9zZXJ2aWNlcy9zY2FmZm9sZC5zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgV29ya3NwYWNlU2NhZmZvbGQgfSBmcm9tIFwiLi4vbW9kZWxzL3Byb2plY3QubW9kZWwuanNcIjtcblxuLyoqXG4gKiBBIGZlYXR1cmUgaGFzIHRocmVlIHJlc3BvbnNpYmlsaXRpZXM6XG4gKiAgMS4gYGdldE9wdGlvbnNgIOKAlCByZXNvbHZlIHByb3ZpZGVyIHNlbGVjdGlvbiBhbmQgYW55IGZvbGxvdy11cCBxdWVzdGlvbnMuXG4gKiAgICAgUmVjZWl2ZXMgdGhlIG9wdGlvbnMgY29sbGVjdGVkIHNvIGZhcjsgcmV0dXJucyBvbmx5IHRoZSBrZXlzIGl0IG93bnMuXG4gKiAgICAgU2hvcnQtY2lyY3VpdHMgaWYgdGhlIGNhbGxlciBhbHJlYWR5IHN1cHBsaWVkIHRob3NlIGtleXMgdmlhIENMSSBmbGFncy5cbiAqICAyLiBgc2NhZmZvbGRgIOKAlCBtdXRhdGUgdGhlIHdvcmtzcGFjZSBtb2RlbHMgYW5kL29yIHdyaXRlIGZpbGVzIHVzaW5nIHRoZVxuICogICAgIGZ1bGx5LXJlc29sdmVkIG9wdGlvbnMuIENhbGxlZCBhZnRlciBBTEwgZmVhdHVyZXMgaGF2ZSBnYXRoZXJlZCBvcHRpb25zXG4gKiAgICAgYnV0IEJFRk9SRSBmaWxlcyBhcmUgd3JpdHRlbiB0byBkaXNrLlxuICogIDMuIGBmaW5hbGl6ZWAgKG9wdGlvbmFsKSDigJQgcnVuIHBvc3Qtd3JpdGUgYWN0aW9ucyAoZS5nLiBpbnN0YWxsIGRlcGVuZGVuY2llcykuXG4gKiAgICAgQ2FsbGVkIGFmdGVyIHdvcmtzcGFjZS5zY2FmZm9sZCgpIGhhcyBmbHVzaGVkIGFsbCBmaWxlcyB0byBkaXNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmU8VE9wdGlvbnMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IHtcblx0Z2V0T3B0aW9ucyhcblx0XHR3b3Jrc3BhY2U6IFdvcmtzcGFjZVNjYWZmb2xkLFxuXHRcdGNsaU9wdGlvbnM6IFBhcnRpYWw8VE9wdGlvbnM+LFxuXHQpOiBQcm9taXNlPFBhcnRpYWw8VE9wdGlvbnM+Pjtcblx0c2NhZmZvbGQod29ya3NwYWNlOiBXb3Jrc3BhY2VTY2FmZm9sZCwgb3B0aW9uczogVE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblx0ZmluYWxpemU/KHdvcmtzcGFjZTogV29ya3NwYWNlU2NhZmZvbGQsIG9wdGlvbnM6IFRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNjYWZmb2xkKFxuXHR3b3Jrc3BhY2U6IFdvcmtzcGFjZVNjYWZmb2xkLFxuXHRjbGlPcHRpb25zOiBvYmplY3QsXG5cdGZlYXR1cmVzOiBGZWF0dXJlW10sXG4pIHtcblx0Y29uc3Qgb3B0aW9ucyA9IGF3YWl0IGdldEFsbE9wdGlvbnMod29ya3NwYWNlLCBjbGlPcHRpb25zLCBmZWF0dXJlcyk7XG5cdC8vIEZlYXR1cmVzIG11dGF0ZSB3b3Jrc3BhY2UgbW9kZWxzIGZpcnN0LCB0aGVuIHdvcmtzcGFjZSByZW5kZXJzIHRvIGRpc2suXG5cdGF3YWl0IHNjYWZmb2xkRmVhdHVyZXMod29ya3NwYWNlLCBvcHRpb25zLCBmZWF0dXJlcyk7XG5cdGF3YWl0IHNjYWZmb2xkV29ya3NwYWNlKHdvcmtzcGFjZSwgb3B0aW9ucyk7XG5cdC8vIFBvc3Qtd3JpdGUgcGhhc2U6IGluc3RhbGwgZGVwcywgcHJpbnQgZmluYWwgbWVzc2FnZXMsIGV0Yy5cblx0YXdhaXQgZmluYWxpemVGZWF0dXJlcyh3b3Jrc3BhY2UsIG9wdGlvbnMsIGZlYXR1cmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2NhZmZvbGRXb3Jrc3BhY2Uod29ya3NwYWNlOiBXb3Jrc3BhY2VTY2FmZm9sZCwgX29wdGlvbnM6IG9iamVjdCkge1xuXHRhd2FpdCB3b3Jrc3BhY2Uuc2NhZmZvbGQoKTtcbn1cblxuLyoqXG4gKiBJdGVyYXRlIGZlYXR1cmVzIGluIG9yZGVyLCBjYWxsaW5nIGBnZXRPcHRpb25zYCBvbiBlYWNoLlxuICogRWFjaCBmZWF0dXJlIHJlY2VpdmVzIHRoZSBydW5uaW5nIG1lcmdlZCBvcHRpb25zIHNvIGxhdGVyIGZlYXR1cmVzIGNhblxuICogYnJhbmNoIG9uIGRlY2lzaW9ucyBtYWRlIGJ5IGVhcmxpZXIgb25lcyAoZS5nLiBkYXRhYmFzZSBjaG9pY2UgYWZmZWN0cyBhdXRoKS5cbiAqIFJlc3VsdHMgYXJlIHNoYWxsb3ctbWVyZ2VkLCBzbyBmZWF0dXJlcyBvbmx5IG5lZWQgdG8gcmV0dXJuIHdoYXQgdGhleSBvd24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldEFsbE9wdGlvbnMoXG5cdHdvcmtzcGFjZTogV29ya3NwYWNlU2NhZmZvbGQsXG5cdGNsaU9wdGlvbnM6IG9iamVjdCxcblx0ZmVhdHVyZXM6IEZlYXR1cmVbXSxcbik6IFByb21pc2U8b2JqZWN0PiB7XG5cdGxldCBvcHRpb25zID0geyAuLi5jbGlPcHRpb25zIH07XG5cdGZvciAoY29uc3QgZmVhdHVyZSBvZiBmZWF0dXJlcykge1xuXHRcdGNvbnN0IGZlYXR1cmVPcHRpb25zID0gYXdhaXQgZmVhdHVyZS5nZXRPcHRpb25zKHdvcmtzcGFjZSwgb3B0aW9ucyk7XG5cdFx0b3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgLi4uZmVhdHVyZU9wdGlvbnMgfTtcblx0fVxuXHRyZXR1cm4gb3B0aW9ucztcbn1cblxuLyoqXG4gKiBJdGVyYXRlIGZlYXR1cmVzIGluIG9yZGVyLCBjYWxsaW5nIGBzY2FmZm9sZGAgd2l0aCB0aGUgZnVsbHktcmVzb2x2ZWQgb3B0aW9ucy5cbiAqIEFsbCBvcHRpb24tZ2F0aGVyaW5nIGlzIGNvbXBsZXRlIGJlZm9yZSBhbnkgc2NhZmZvbGRpbmcgYmVnaW5zLlxuICovXG5hc3luYyBmdW5jdGlvbiBzY2FmZm9sZEZlYXR1cmVzKFxuXHR3b3Jrc3BhY2U6IFdvcmtzcGFjZVNjYWZmb2xkLFxuXHRvcHRpb25zOiBvYmplY3QsXG5cdGZlYXR1cmVzOiBGZWF0dXJlW10sXG4pOiBQcm9taXNlPHZvaWQ+IHtcblx0Zm9yIChjb25zdCBmZWF0dXJlIG9mIGZlYXR1cmVzKSB7XG5cdFx0YXdhaXQgZmVhdHVyZS5zY2FmZm9sZCh3b3Jrc3BhY2UsIG9wdGlvbnMgYXMgbmV2ZXIpO1xuXHR9XG59XG5cbi8qKlxuICogSXRlcmF0ZSBmZWF0dXJlcyBpbiBvcmRlciwgY2FsbGluZyBgZmluYWxpemVgIG9uIGVhY2ggKGlmIGRlZmluZWQpLlxuICogQWxsIGZpbGVzIGFyZSBvbiBkaXNrIGJ5IHRoaXMgcG9pbnQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZpbmFsaXplRmVhdHVyZXMoXG5cdHdvcmtzcGFjZTogV29ya3NwYWNlU2NhZmZvbGQsXG5cdG9wdGlvbnM6IG9iamVjdCxcblx0ZmVhdHVyZXM6IEZlYXR1cmVbXSxcbik6IFByb21pc2U8dm9pZD4ge1xuXHRmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXMpIHtcblx0XHRpZiAoZmVhdHVyZS5maW5hbGl6ZSkge1xuXHRcdFx0YXdhaXQgZmVhdHVyZS5maW5hbGl6ZSh3b3Jrc3BhY2UsIG9wdGlvbnMgYXMgbmV2ZXIpO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY29uc3QgU2NhZmZvbGRTZXJ2aWNlID0geyBzY2FmZm9sZCB9O1xuIl0sIm5hbWVzIjpbIlNjYWZmb2xkU2VydmljZSIsInNjYWZmb2xkIiwid29ya3NwYWNlIiwiY2xpT3B0aW9ucyIsImZlYXR1cmVzIiwib3B0aW9ucyIsImdldEFsbE9wdGlvbnMiLCJzY2FmZm9sZEZlYXR1cmVzIiwic2NhZmZvbGRXb3Jrc3BhY2UiLCJmaW5hbGl6ZUZlYXR1cmVzIiwiX29wdGlvbnMiLCJmZWF0dXJlIiwiZmVhdHVyZU9wdGlvbnMiLCJnZXRPcHRpb25zIiwiZmluYWxpemUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0ZhQTs7O2VBQUFBOzs7QUFsRWIsZUFBZUMsU0FDZEMsU0FBNEIsRUFDNUJDLFVBQWtCLEVBQ2xCQyxRQUFtQjtJQUVuQixNQUFNQyxVQUFVLE1BQU1DLGNBQWNKLFdBQVdDLFlBQVlDO0lBQzNELDBFQUEwRTtJQUMxRSxNQUFNRyxpQkFBaUJMLFdBQVdHLFNBQVNEO0lBQzNDLE1BQU1JLGtCQUFrQk4sV0FBV0c7SUFDbkMsNkRBQTZEO0lBQzdELE1BQU1JLGlCQUFpQlAsV0FBV0csU0FBU0Q7QUFDNUM7QUFFQSxlQUFlSSxrQkFBa0JOLFNBQTRCLEVBQUVRLFFBQWdCO0lBQzlFLE1BQU1SLFVBQVVELFFBQVE7QUFDekI7QUFFQTs7Ozs7Q0FLQyxHQUNELGVBQWVLLGNBQ2RKLFNBQTRCLEVBQzVCQyxVQUFrQixFQUNsQkMsUUFBbUI7SUFFbkIsSUFBSUMsVUFBVTtRQUFFLEdBQUdGLFVBQVU7SUFBQztJQUM5QixLQUFLLE1BQU1RLFdBQVdQLFNBQVU7UUFDL0IsTUFBTVEsaUJBQWlCLE1BQU1ELFFBQVFFLFVBQVUsQ0FBQ1gsV0FBV0c7UUFDM0RBLFVBQVU7WUFBRSxHQUFHQSxPQUFPO1lBQUUsR0FBR08sY0FBYztRQUFDO0lBQzNDO0lBQ0EsT0FBT1A7QUFDUjtBQUVBOzs7Q0FHQyxHQUNELGVBQWVFLGlCQUNkTCxTQUE0QixFQUM1QkcsT0FBZSxFQUNmRCxRQUFtQjtJQUVuQixLQUFLLE1BQU1PLFdBQVdQLFNBQVU7UUFDL0IsTUFBTU8sUUFBUVYsUUFBUSxDQUFDQyxXQUFXRztJQUNuQztBQUNEO0FBRUE7OztDQUdDLEdBQ0QsZUFBZUksaUJBQ2RQLFNBQTRCLEVBQzVCRyxPQUFlLEVBQ2ZELFFBQW1CO0lBRW5CLEtBQUssTUFBTU8sV0FBV1AsU0FBVTtRQUMvQixJQUFJTyxRQUFRRyxRQUFRLEVBQUU7WUFDckIsTUFBTUgsUUFBUUcsUUFBUSxDQUFDWixXQUFXRztRQUNuQztJQUNEO0FBQ0Q7QUFFTyxNQUFNTCxrQkFBa0I7SUFBRUM7QUFBUyJ9
@@ -53,3 +53,5 @@ const createMetadata = resolveCreateMetadata();
53
53
  const CREATE_VERSION = createMetadata.version;
54
54
  const CREATE_IMAGE_REPOSITORY = createMetadata.imageRepository;
55
55
  const DEVCONTAINER_IMAGE_REPOSITORY = createMetadata.devcontainerImageRepository;
56
+
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy92ZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5cbmNvbnN0IF9yZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuXG50eXBlIENyZWF0ZVBhY2thZ2VNZXRhZGF0YSA9IHtcblx0bmFtZT86IHN0cmluZztcblx0dmVyc2lvbj86IHN0cmluZztcblx0ZGVjb2hlcmU/OiB7XG5cdFx0ZG9ja2VySW1hZ2VSZXBvc2l0b3J5Pzogc3RyaW5nO1xuXHRcdGRldmNvbnRhaW5lckltYWdlUmVwb3NpdG9yeT86IHN0cmluZztcblx0fTtcbn07XG5cbmNvbnN0IERFRkFVTFRfQ1JFQVRFX1ZFUlNJT04gPSBcIjAuMC4xLWRldlwiO1xuY29uc3QgREVGQVVMVF9DUkVBVEVfSU1BR0VfUkVQT1NJVE9SWSA9IFwiZ2hjci5pby90eXBlc21pdGhzL2RlY29oZXJlL2NyZWF0ZVwiO1xuY29uc3QgREVGQVVMVF9ERVZDT05UQUlORVJfSU1BR0VfUkVQT1NJVE9SWSA9IFwiZ2hjci5pby90eXBlc21pdGhzL2RlY29oZXJlL2RldmNvbnRhaW5lclwiO1xuXG5mdW5jdGlvbiByZXNvbHZlQ3JlYXRlTWV0YWRhdGEoKSB7XG5cdGxldCBkaXIgPSBkaXJuYW1lKGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKSk7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHBrZyA9IF9yZXF1aXJlKGpvaW4oZGlyLCBcInBhY2thZ2UuanNvblwiKSkgYXMgQ3JlYXRlUGFja2FnZU1ldGFkYXRhO1xuXHRcdFx0aWYgKHBrZy5uYW1lID09PSBcIkBkZWNvaGVyZS9zY2FmZm9sZFwiKSB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0dmVyc2lvbjogcGtnLnZlcnNpb24gPz8gREVGQVVMVF9DUkVBVEVfVkVSU0lPTixcblx0XHRcdFx0XHRpbWFnZVJlcG9zaXRvcnk6XG5cdFx0XHRcdFx0XHRwa2cuZGVjb2hlcmU/LmRvY2tlckltYWdlUmVwb3NpdG9yeSA/PyBERUZBVUxUX0NSRUFURV9JTUFHRV9SRVBPU0lUT1JZLFxuXHRcdFx0XHRcdGRldmNvbnRhaW5lckltYWdlUmVwb3NpdG9yeTpcblx0XHRcdFx0XHRcdHBrZy5kZWNvaGVyZT8uZGV2Y29udGFpbmVySW1hZ2VSZXBvc2l0b3J5ID8/IERFRkFVTFRfREVWQ09OVEFJTkVSX0lNQUdFX1JFUE9TSVRPUlksXG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCB7fVxuXHRcdGNvbnN0IHBhcmVudCA9IGRpcm5hbWUoZGlyKTtcblx0XHRpZiAocGFyZW50ID09PSBkaXIpIGJyZWFrO1xuXHRcdGRpciA9IHBhcmVudDtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0dmVyc2lvbjogREVGQVVMVF9DUkVBVEVfVkVSU0lPTixcblx0XHRpbWFnZVJlcG9zaXRvcnk6IERFRkFVTFRfQ1JFQVRFX0lNQUdFX1JFUE9TSVRPUlksXG5cdFx0ZGV2Y29udGFpbmVySW1hZ2VSZXBvc2l0b3J5OiBERUZBVUxUX0RFVkNPTlRBSU5FUl9JTUFHRV9SRVBPU0lUT1JZLFxuXHR9O1xufVxuXG5jb25zdCBjcmVhdGVNZXRhZGF0YSA9IHJlc29sdmVDcmVhdGVNZXRhZGF0YSgpO1xuXG4vKiogVmVyc2lvbiBvZiBAZGVjb2hlcmUvY3JlYXRlLCB1c2VkIHRvIHBpbiBzY2FmZm9sZGVkIEBkZWNvaGVyZS8qIGRlcGVuZGVuY2llcy4gKi9cbmV4cG9ydCBjb25zdCBDUkVBVEVfVkVSU0lPTiA9IGNyZWF0ZU1ldGFkYXRhLnZlcnNpb247XG5cbi8qKiBDYW5vbmljYWwgcHVibGlzaGVkIERvY2tlciByZXBvc2l0b3J5IGZvciB0aGUgQGRlY29oZXJlL2NyZWF0ZSBidWlsZGVyIGltYWdlLiAqL1xuZXhwb3J0IGNvbnN0IENSRUFURV9JTUFHRV9SRVBPU0lUT1JZID0gY3JlYXRlTWV0YWRhdGEuaW1hZ2VSZXBvc2l0b3J5O1xuXG4vKiogUHVibGlzaGVkIGFwcCBEZXYgQ29udGFpbmVyIGJhc2UgKGBkb2NrZXIgcHVsbGAgdXBkYXRlcyBzaGFyZWQgbGF5ZXJzKS4gKi9cbmV4cG9ydCBjb25zdCBERVZDT05UQUlORVJfSU1BR0VfUkVQT1NJVE9SWSA9IGNyZWF0ZU1ldGFkYXRhLmRldmNvbnRhaW5lckltYWdlUmVwb3NpdG9yeTtcbiJdLCJuYW1lcyI6WyJDUkVBVEVfSU1BR0VfUkVQT1NJVE9SWSIsIkNSRUFURV9WRVJTSU9OIiwiREVWQ09OVEFJTkVSX0lNQUdFX1JFUE9TSVRPUlkiLCJfcmVxdWlyZSIsImNyZWF0ZVJlcXVpcmUiLCJERUZBVUxUX0NSRUFURV9WRVJTSU9OIiwiREVGQVVMVF9DUkVBVEVfSU1BR0VfUkVQT1NJVE9SWSIsIkRFRkFVTFRfREVWQ09OVEFJTkVSX0lNQUdFX1JFUE9TSVRPUlkiLCJyZXNvbHZlQ3JlYXRlTWV0YWRhdGEiLCJkaXIiLCJkaXJuYW1lIiwiZmlsZVVSTFRvUGF0aCIsImkiLCJwa2ciLCJqb2luIiwibmFtZSIsInZlcnNpb24iLCJpbWFnZVJlcG9zaXRvcnkiLCJkZWNvaGVyZSIsImRvY2tlckltYWdlUmVwb3NpdG9yeSIsImRldmNvbnRhaW5lckltYWdlUmVwb3NpdG9yeSIsInBhcmVudCIsImNyZWF0ZU1ldGFkYXRhIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQW9EYUE7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQU1BQztlQUFBQTs7OzRCQXZEaUI7MEJBQ0E7eUJBQ0E7QUFFOUIsTUFBTUMsV0FBV0MsSUFBQUEseUJBQWEsRUFBQztBQVcvQixNQUFNQyx5QkFBeUI7QUFDL0IsTUFBTUMsa0NBQWtDO0FBQ3hDLE1BQU1DLHdDQUF3QztBQUU5QyxTQUFTQztJQUNSLElBQUlDLE1BQU1DLElBQUFBLGlCQUFPLEVBQUNDLElBQUFBLHNCQUFhLEVBQUM7SUFDaEMsSUFBSyxJQUFJQyxJQUFJLEdBQUdBLElBQUksR0FBR0EsSUFBSztRQUMzQixJQUFJO1lBQ0gsTUFBTUMsTUFBTVYsU0FBU1csSUFBQUEsY0FBSSxFQUFDTCxLQUFLO1lBQy9CLElBQUlJLElBQUlFLElBQUksS0FBSyxzQkFBc0I7Z0JBQ3RDLE9BQU87b0JBQ05DLFNBQVNILElBQUlHLE9BQU8sSUFBSVg7b0JBQ3hCWSxpQkFDQ0osSUFBSUssUUFBUSxFQUFFQyx5QkFBeUJiO29CQUN4Q2MsNkJBQ0NQLElBQUlLLFFBQVEsRUFBRUUsK0JBQStCYjtnQkFDL0M7WUFDRDtRQUNELEVBQUUsT0FBTSxDQUFDO1FBQ1QsTUFBTWMsU0FBU1gsSUFBQUEsaUJBQU8sRUFBQ0Q7UUFDdkIsSUFBSVksV0FBV1osS0FBSztRQUNwQkEsTUFBTVk7SUFDUDtJQUVBLE9BQU87UUFDTkwsU0FBU1g7UUFDVFksaUJBQWlCWDtRQUNqQmMsNkJBQTZCYjtJQUM5QjtBQUNEO0FBRUEsTUFBTWUsaUJBQWlCZDtBQUdoQixNQUFNUCxpQkFBaUJxQixlQUFlTixPQUFPO0FBRzdDLE1BQU1oQiwwQkFBMEJzQixlQUFlTCxlQUFlO0FBRzlELE1BQU1mLGdDQUFnQ29CLGVBQWVGLDJCQUEyQiJ9
@@ -91,3 +91,5 @@ function apiNameFromProjectDir(dir) {
91
91
  const slash = dir.lastIndexOf("/");
92
92
  return slash >= 0 ? dir.slice(slash + 1) : dir;
93
93
  }
94
+
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy93ZWJhcGkvYXBpLW5hbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgcmVhZGRpclN5bmMsIHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgREVGQVVMVF9XRUJBUElfTkFNRSB9IGZyb20gXCIuL2NvbnN0LmpzXCI7XG5cbi8qKiBMb3dlcmNhc2UgbnBtLXNhZmUgZGlyZWN0b3J5IHNsdWc6IGBiaWxsaW5nYCwgYGFkbWluLWFwaWAuICovXG5leHBvcnQgY29uc3QgQVBJX05BTUVfUEFUVEVSTiA9IC9eW2Etel1bYS16MC05LV0qJC87XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDbGlFcnJvciBleHRlbmRzIEVycm9yIHtcblx0cHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuXHRcdHN1cGVyKG1lc3NhZ2UpO1xuXHRcdHRoaXMubmFtZSA9IFwiQ3JlYXRlQ2xpRXJyb3JcIjtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRBcGlOYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRpZiAoIUFQSV9OQU1FX1BBVFRFUk4udGVzdChuYW1lKSkge1xuXHRcdHRocm93IG5ldyBDcmVhdGVDbGlFcnJvcihcblx0XHRcdGBJbnZhbGlkIEFQSSBuYW1lIFwiJHtuYW1lfVwiLiBVc2UgYSBsb3dlcmNhc2Ugc2x1ZyBzdGFydGluZyB3aXRoIGEgbGV0dGVyLCB0aGVuIGxldHRlcnMsIGRpZ2l0cywgb3IgaHlwaGVucyAoZS5nLiBiaWxsaW5nKS5gLFxuXHRcdCk7XG5cdH1cbn1cblxuLyoqIERlZmF1bHQgYFtcImFwaVwiXWAgd2hlbiB0aGUgY2FsbGVyIG9taXR0ZWQgYC0tbmFtZWAuIFJlamVjdHMgZHVwbGljYXRlcyBhbmQgaW52YWxpZCBzbHVncy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFwaU5hbWVzKHJhdzogcmVhZG9ubHkgc3RyaW5nW10gfCB1bmRlZmluZWQpOiBzdHJpbmdbXSB7XG5cdGNvbnN0IG5hbWVzID0gcmF3ICE9IG51bGwgJiYgcmF3Lmxlbmd0aCA+IDAgPyBbLi4ucmF3XSA6IFtERUZBVUxUX1dFQkFQSV9OQU1FXTtcblx0Y29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXHRmb3IgKGNvbnN0IG5hbWUgb2YgbmFtZXMpIHtcblx0XHRhc3NlcnRWYWxpZEFwaU5hbWUobmFtZSk7XG5cdFx0aWYgKHNlZW4uaGFzKG5hbWUpKSB7XG5cdFx0XHR0aHJvdyBuZXcgQ3JlYXRlQ2xpRXJyb3IoYER1cGxpY2F0ZSBBUEkgbmFtZSBcIiR7bmFtZX1cIi5gKTtcblx0XHR9XG5cdFx0c2Vlbi5hZGQobmFtZSk7XG5cdH1cblx0cmV0dXJuIG5hbWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZWNvaGVyZVdvcmtzcGFjZShkaXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHR0cnkge1xuXHRcdGNvbnN0IHBrZyA9IEpTT04ucGFyc2UocmVhZEZpbGVTeW5jKGpvaW4oZGlyLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGY4XCIpKSBhcyB7XG5cdFx0XHRzY3JpcHRzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblx0XHR9O1xuXHRcdGNvbnN0IGJ1aWxkID0gcGtnLnNjcmlwdHM/LmJ1aWxkO1xuXHRcdHJldHVybiB0eXBlb2YgYnVpbGQgPT09IFwic3RyaW5nXCIgJiYgYnVpbGQuaW5jbHVkZXMoXCJmb3JnZVwiKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbi8qKiBEaXJlY3RvcnkgbmFtZXMgdW5kZXIgYHByb2plY3RzL2AgdGhhdCBhbHJlYWR5IGhhdmUgYSBgcGFja2FnZS5qc29uYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaXN0RXhpc3RpbmdBcGlOYW1lcyhkaXI6IHN0cmluZyk6IHN0cmluZ1tdIHtcblx0Y29uc3QgcHJvamVjdHNEaXIgPSBqb2luKGRpciwgXCJwcm9qZWN0c1wiKTtcblx0dHJ5IHtcblx0XHRyZXR1cm4gcmVhZGRpclN5bmMocHJvamVjdHNEaXIsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KVxuXHRcdFx0LmZpbHRlcihcblx0XHRcdFx0KGVudHJ5KSA9PlxuXHRcdFx0XHRcdGVudHJ5LmlzRGlyZWN0b3J5KCkgJiYgZXhpc3RzU3luYyhqb2luKHByb2plY3RzRGlyLCBlbnRyeS5uYW1lLCBcInBhY2thZ2UuanNvblwiKSksXG5cdFx0XHQpXG5cdFx0XHQubWFwKChlbnRyeSkgPT4gZW50cnkubmFtZSlcblx0XHRcdC5zb3J0KCk7XG5cdH0gY2F0Y2gge1xuXHRcdHJldHVybiBbXTtcblx0fVxufVxuXG4vKiogYGJpbGxpbmdgIOKGkiBgQklMTElOR2AsIGBhZG1pbi1hcGlgIOKGkiBgQURNSU5fQVBJYCDigJQgcHJlZml4IGZvciBge1BSRUZJWH1fREJfSE9TVGAuICovXG5leHBvcnQgZnVuY3Rpb24gYXBpRW52UHJlZml4KGFwaU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBhcGlOYW1lLnJlcGxhY2UoLy0vZywgXCJfXCIpLnRvVXBwZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcGlOYW1lRnJvbVByb2plY3REaXIoZGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRjb25zdCBzbGFzaCA9IGRpci5sYXN0SW5kZXhPZihcIi9cIik7XG5cdHJldHVybiBzbGFzaCA+PSAwID8gZGlyLnNsaWNlKHNsYXNoICsgMSkgOiBkaXI7XG59XG4iXSwibmFtZXMiOlsiQVBJX05BTUVfUEFUVEVSTiIsIkNyZWF0ZUNsaUVycm9yIiwiYXBpRW52UHJlZml4IiwiYXBpTmFtZUZyb21Qcm9qZWN0RGlyIiwiYXNzZXJ0VmFsaWRBcGlOYW1lIiwiaXNEZWNvaGVyZVdvcmtzcGFjZSIsImxpc3RFeGlzdGluZ0FwaU5hbWVzIiwicGFyc2VBcGlOYW1lcyIsIkVycm9yIiwibWVzc2FnZSIsIm5hbWUiLCJ0ZXN0IiwicmF3IiwibmFtZXMiLCJsZW5ndGgiLCJERUZBVUxUX1dFQkFQSV9OQU1FIiwic2VlbiIsIlNldCIsImhhcyIsImFkZCIsImRpciIsInBrZyIsIkpTT04iLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsImpvaW4iLCJidWlsZCIsInNjcmlwdHMiLCJpbmNsdWRlcyIsInByb2plY3RzRGlyIiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZmlsdGVyIiwiZW50cnkiLCJpc0RpcmVjdG9yeSIsImV4aXN0c1N5bmMiLCJtYXAiLCJzb3J0IiwiYXBpTmFtZSIsInJlcGxhY2UiLCJ0b1VwcGVyQ2FzZSIsInNsYXNoIiwibGFzdEluZGV4T2YiLCJzbGljZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQTBER0M7ZUFBQUE7O1FBSUFDO2VBQUFBOztRQXZEQUM7ZUFBQUE7O1FBc0JBQztlQUFBQTs7UUFhQUM7ZUFBQUE7O1FBMUJBQztlQUFBQTs7O3dCQXZCc0M7MEJBQ2pDO3VCQUNlO0FBRzdCLE1BQU1QLG1CQUFtQjtBQUV6QixNQUFNQyx1QkFBdUJPO0lBQ25DLFlBQW1CQyxPQUFlLENBQUU7UUFDbkMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsSUFBSSxHQUFHO0lBQ2I7QUFDRDtBQUVPLFNBQVNOLG1CQUFtQk0sSUFBWTtJQUM5QyxJQUFJLENBQUNWLGlCQUFpQlcsSUFBSSxDQUFDRCxPQUFPO1FBQ2pDLE1BQU0sSUFBSVQsZUFDVCxDQUFDLGtCQUFrQixFQUFFUyxLQUFLLGdHQUFnRyxDQUFDO0lBRTdIO0FBQ0Q7QUFHTyxTQUFTSCxjQUFjSyxHQUFrQztJQUMvRCxNQUFNQyxRQUFRRCxPQUFPLFFBQVFBLElBQUlFLE1BQU0sR0FBRyxJQUFJO1dBQUlGO0tBQUksR0FBRztRQUFDRywwQkFBbUI7S0FBQztJQUM5RSxNQUFNQyxPQUFPLElBQUlDO0lBQ2pCLEtBQUssTUFBTVAsUUFBUUcsTUFBTztRQUN6QlQsbUJBQW1CTTtRQUNuQixJQUFJTSxLQUFLRSxHQUFHLENBQUNSLE9BQU87WUFDbkIsTUFBTSxJQUFJVCxlQUFlLENBQUMsb0JBQW9CLEVBQUVTLEtBQUssRUFBRSxDQUFDO1FBQ3pEO1FBQ0FNLEtBQUtHLEdBQUcsQ0FBQ1Q7SUFDVjtJQUNBLE9BQU9HO0FBQ1I7QUFFTyxTQUFTUixvQkFBb0JlLEdBQVc7SUFDOUMsSUFBSTtRQUNILE1BQU1DLE1BQU1DLEtBQUtDLEtBQUssQ0FBQ0MsSUFBQUEsb0JBQVksRUFBQ0MsSUFBQUEsY0FBSSxFQUFDTCxLQUFLLGlCQUFpQjtRQUcvRCxNQUFNTSxRQUFRTCxJQUFJTSxPQUFPLEVBQUVEO1FBQzNCLE9BQU8sT0FBT0EsVUFBVSxZQUFZQSxNQUFNRSxRQUFRLENBQUM7SUFDcEQsRUFBRSxPQUFNO1FBQ1AsT0FBTztJQUNSO0FBQ0Q7QUFHTyxTQUFTdEIscUJBQXFCYyxHQUFXO0lBQy9DLE1BQU1TLGNBQWNKLElBQUFBLGNBQUksRUFBQ0wsS0FBSztJQUM5QixJQUFJO1FBQ0gsT0FBT1UsSUFBQUEsbUJBQVcsRUFBQ0QsYUFBYTtZQUFFRSxlQUFlO1FBQUssR0FDcERDLE1BQU0sQ0FDTixDQUFDQyxRQUNBQSxNQUFNQyxXQUFXLE1BQU1DLElBQUFBLGtCQUFVLEVBQUNWLElBQUFBLGNBQUksRUFBQ0ksYUFBYUksTUFBTXZCLElBQUksRUFBRSxrQkFFakUwQixHQUFHLENBQUMsQ0FBQ0gsUUFBVUEsTUFBTXZCLElBQUksRUFDekIyQixJQUFJO0lBQ1AsRUFBRSxPQUFNO1FBQ1AsT0FBTyxFQUFFO0lBQ1Y7QUFDRDtBQUdPLFNBQVNuQyxhQUFhb0MsT0FBZTtJQUMzQyxPQUFPQSxRQUFRQyxPQUFPLENBQUMsTUFBTSxLQUFLQyxXQUFXO0FBQzlDO0FBRU8sU0FBU3JDLHNCQUFzQmlCLEdBQVc7SUFDaEQsTUFBTXFCLFFBQVFyQixJQUFJc0IsV0FBVyxDQUFDO0lBQzlCLE9BQU9ELFNBQVMsSUFBSXJCLElBQUl1QixLQUFLLENBQUNGLFFBQVEsS0FBS3JCO0FBQzVDIn0=
@@ -97,3 +97,5 @@ async function runScaffoldApi(normalized) {
97
97
  closePrompt();
98
98
  }
99
99
  }
100
+
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy93ZWJhcGkvY2xpLW9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgcmVzb2x2ZVRhcmdldERpciB9IGZyb20gXCIuLi9yZXNvbHZlLXRhcmdldC1kaXIuanNcIjtcbmltcG9ydCB7IHBhcnNlQXBpTmFtZXMgfSBmcm9tIFwiLi9hcGktbmFtZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBBcGlPcHRpb25zIH0gZnJvbSBcIi4vY3JlYXRlLWFwaS5qc1wiO1xuaW1wb3J0IHsgc2NhZmZvbGRBcGkgfSBmcm9tIFwiLi9jcmVhdGUtYXBpLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0TmFtZSh2YWx1ZTogc3RyaW5nLCBwcmV2aW91czogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG5cdHByZXZpb3VzLnB1c2godmFsdWUpO1xuXHRyZXR1cm4gcHJldmlvdXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRXZWJhcGlGZWF0dXJlT3B0aW9ucyhjbWQ6IENvbW1hbmQpOiBDb21tYW5kIHtcblx0cmV0dXJuIGNtZFxuXHRcdC5vcHRpb24oXCItLWRhdGFiYXNlIDxwcm92aWRlcj5cIiwgXCJEYXRhYmFzZSBwcm92aWRlcjogbm9uZSB8IHBvc3RncmVzL3R5cGVvcm1cIilcblx0XHQub3B0aW9uKFwiLS1hdXRoIDxwcm92aWRlcj5cIiwgXCJBdXRoIHByb3ZpZGVyOiBub25lIHwgYXV0aDBcIilcblx0XHQub3B0aW9uKFwiLS1wb3N0bWFuIDxwcm92aWRlcj5cIiwgXCJQb3N0bWFuIHByb3ZpZGVyOiBub25lIHwgbG9jYWwgfCBhcGlcIilcblx0XHQub3B0aW9uKFwiLXksIC0teWVzXCIsIFwiSW5zdGFsbCBkZXBlbmRlbmNpZXMgd2l0aG91dCBwcm9tcHRpbmdcIilcblx0XHQub3B0aW9uKFwiLS1pbnN0YWxsIDxtb2RlPlwiLCBcIkRlcGVuZGVuY3kgaW5zdGFsbCBtb2RlOiBhc2sgfCB5ZXMgfCBub1wiLCBcImFza1wiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQXBpT3B0aW9ucyhcblx0ZGlyZWN0b3J5OiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdG9wdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuXHRleHRyYTogUGFydGlhbDxBcGlPcHRpb25zPiA9IHt9LFxuKTogQXBpT3B0aW9ucyB7XG5cdGNvbnN0IGluc3RhbGxNb2RlID0gU3RyaW5nKG9wdHMuaW5zdGFsbCA/PyBcImFza1wiKS50b0xvd2VyQ2FzZSgpO1xuXHRjb25zdCBuYW1lcyA9IEFycmF5LmlzQXJyYXkob3B0cy5uYW1lKVxuXHRcdD8gKG9wdHMubmFtZSBhcyBzdHJpbmdbXSlcblx0XHQ6IHR5cGVvZiBvcHRzLm5hbWUgPT09IFwic3RyaW5nXCJcblx0XHRcdD8gW29wdHMubmFtZV1cblx0XHRcdDogZXh0cmEubmFtZXM7XG5cdHJldHVybiB7XG5cdFx0ZDogcmVzb2x2ZVRhcmdldERpcihkaXJlY3RvcnksIHR5cGVvZiBvcHRzLmQgPT09IFwic3RyaW5nXCIgPyBvcHRzLmQgOiB1bmRlZmluZWQpLFxuXHRcdGRhdGFiYXNlUHJvdmlkZXI6IG9wdHMuZGF0YWJhc2UgYXMgQXBpT3B0aW9uc1tcImRhdGFiYXNlUHJvdmlkZXJcIl0sXG5cdFx0YXV0aFByb3ZpZGVyOiBvcHRzLmF1dGggYXMgQXBpT3B0aW9uc1tcImF1dGhQcm92aWRlclwiXSxcblx0XHRwb3N0bWFuUHJvdmlkZXI6IG9wdHMucG9zdG1hbiBhcyBBcGlPcHRpb25zW1wicG9zdG1hblByb3ZpZGVyXCJdLFxuXHRcdGluc3RhbGxEZXBlbmRlbmNpZXM6XG5cdFx0XHRvcHRzLnllcyA9PT0gdHJ1ZVxuXHRcdFx0XHQ/IFwieWVzXCJcblx0XHRcdFx0OiBpbnN0YWxsTW9kZSA9PT0gXCJ5ZXNcIiB8fCBpbnN0YWxsTW9kZSA9PT0gXCJub1wiXG5cdFx0XHRcdFx0PyBpbnN0YWxsTW9kZVxuXHRcdFx0XHRcdDogdW5kZWZpbmVkLFxuXHRcdG5hbWVzLFxuXHRcdC4uLmV4dHJhLFxuXHR9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuU2NhZmZvbGRBcGkobm9ybWFsaXplZDogQXBpT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuXHRwYXJzZUFwaU5hbWVzKG5vcm1hbGl6ZWQubmFtZXMpO1xuXHRjb25zdCB7IGNsb3NlUHJvbXB0IH0gPSBhd2FpdCBpbXBvcnQoXCIuLi9kb21haW4vcHJvbXB0LmpzXCIpO1xuXHR0cnkge1xuXHRcdGF3YWl0IHNjYWZmb2xkQXBpKG5vcm1hbGl6ZWQpO1xuXHR9IGZpbmFsbHkge1xuXHRcdGNsb3NlUHJvbXB0KCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJhZGRXZWJhcGlGZWF0dXJlT3B0aW9ucyIsImNvbGxlY3ROYW1lIiwicnVuU2NhZmZvbGRBcGkiLCJ0b0FwaU9wdGlvbnMiLCJ2YWx1ZSIsInByZXZpb3VzIiwicHVzaCIsImNtZCIsIm9wdGlvbiIsImRpcmVjdG9yeSIsIm9wdHMiLCJleHRyYSIsImluc3RhbGxNb2RlIiwiU3RyaW5nIiwiaW5zdGFsbCIsInRvTG93ZXJDYXNlIiwibmFtZXMiLCJBcnJheSIsImlzQXJyYXkiLCJuYW1lIiwiZCIsInJlc29sdmVUYXJnZXREaXIiLCJ1bmRlZmluZWQiLCJkYXRhYmFzZVByb3ZpZGVyIiwiZGF0YWJhc2UiLCJhdXRoUHJvdmlkZXIiLCJhdXRoIiwicG9zdG1hblByb3ZpZGVyIiwicG9zdG1hbiIsImluc3RhbGxEZXBlbmRlbmNpZXMiLCJ5ZXMiLCJub3JtYWxpemVkIiwicGFyc2VBcGlOYW1lcyIsImNsb3NlUHJvbXB0Iiwic2NhZmZvbGRBcGkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBV2dCQTtlQUFBQTs7UUFMQUM7ZUFBQUE7O1FBeUNNQztlQUFBQTs7UUEzQk5DO2VBQUFBOzs7a0NBbkJpQjt5QkFDSDsyQkFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLFNBQVNGLFlBQVlHLEtBQWEsRUFBRUMsUUFBa0I7SUFDNURBLFNBQVNDLElBQUksQ0FBQ0Y7SUFDZCxPQUFPQztBQUNSO0FBRU8sU0FBU0wsd0JBQXdCTyxHQUFZO0lBQ25ELE9BQU9BLElBQ0xDLE1BQU0sQ0FBQyx5QkFBeUIsOENBQ2hDQSxNQUFNLENBQUMscUJBQXFCLCtCQUM1QkEsTUFBTSxDQUFDLHdCQUF3Qix3Q0FDL0JBLE1BQU0sQ0FBQyxhQUFhLDBDQUNwQkEsTUFBTSxDQUFDLG9CQUFvQiwyQ0FBMkM7QUFDekU7QUFFTyxTQUFTTCxhQUNmTSxTQUE2QixFQUM3QkMsSUFBNkIsRUFDN0JDLFFBQTZCLENBQUMsQ0FBQztJQUUvQixNQUFNQyxjQUFjQyxPQUFPSCxLQUFLSSxPQUFPLElBQUksT0FBT0MsV0FBVztJQUM3RCxNQUFNQyxRQUFRQyxNQUFNQyxPQUFPLENBQUNSLEtBQUtTLElBQUksSUFDakNULEtBQUtTLElBQUksR0FDVixPQUFPVCxLQUFLUyxJQUFJLEtBQUssV0FDcEI7UUFBQ1QsS0FBS1MsSUFBSTtLQUFDLEdBQ1hSLE1BQU1LLEtBQUs7SUFDZixPQUFPO1FBQ05JLEdBQUdDLElBQUFBLGtDQUFnQixFQUFDWixXQUFXLE9BQU9DLEtBQUtVLENBQUMsS0FBSyxXQUFXVixLQUFLVSxDQUFDLEdBQUdFO1FBQ3JFQyxrQkFBa0JiLEtBQUtjLFFBQVE7UUFDL0JDLGNBQWNmLEtBQUtnQixJQUFJO1FBQ3ZCQyxpQkFBaUJqQixLQUFLa0IsT0FBTztRQUM3QkMscUJBQ0NuQixLQUFLb0IsR0FBRyxLQUFLLE9BQ1YsUUFDQWxCLGdCQUFnQixTQUFTQSxnQkFBZ0IsT0FDeENBLGNBQ0FVO1FBQ0xOO1FBQ0EsR0FBR0wsS0FBSztJQUNUO0FBQ0Q7QUFFTyxlQUFlVCxlQUFlNkIsVUFBc0I7SUFDMURDLElBQUFBLHNCQUFhLEVBQUNELFdBQVdmLEtBQUs7SUFDOUIsTUFBTSxFQUFFaUIsV0FBVyxFQUFFLEdBQUcsTUFBTSxtRUFBQSxRQUFPO0lBQ3JDLElBQUk7UUFDSCxNQUFNQyxJQUFBQSxzQkFBVyxFQUFDSDtJQUNuQixTQUFVO1FBQ1RFO0lBQ0Q7QUFDRCJ9
@@ -21,9 +21,6 @@ _export(exports, {
21
21
  get webapiPackageName () {
22
22
  return webapiPackageName;
23
23
  },
24
- get webapiPackagedEntry () {
25
- return webapiPackagedEntry;
26
- },
27
24
  get webapiPort () {
28
25
  return webapiPort;
29
26
  },
@@ -39,10 +36,7 @@ function webapiProjectDir(name) {
39
36
  return `projects/${name}`;
40
37
  }
41
38
  function webapiReleaseEntry(name) {
42
- return `dist/release/${webapiProjectDir(name)}/${webapiPackagedEntry()}`;
43
- }
44
- function webapiPackagedEntry() {
45
- return "es6/src/main.js";
39
+ return `dist/release/${webapiProjectDir(name)}/es6/src/main.js`;
46
40
  }
47
41
  function webapiPackageName(workspaceName, apiName) {
48
42
  return `@${workspaceName}/${apiName}`;
@@ -52,3 +46,5 @@ function webapiPort(index) {
52
46
  }
53
47
  const WEBAPI_PROJECT_DIR = webapiProjectDir(DEFAULT_WEBAPI_NAME);
54
48
  const WEBAPI_RELEASE_ENTRY = webapiReleaseEntry(DEFAULT_WEBAPI_NAME);
49
+
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy93ZWJhcGkvY29uc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIERlZmF1bHQgQVBJIHByb2plY3Qgc2x1ZyB3aGVuIGAtLW5hbWVgIGlzIG9taXR0ZWQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9XRUJBUElfTkFNRSA9IFwiYXBpXCI7XG5cbi8qKiBSZWxhdGl2ZSBwYXRoIG9mIGFuIEFQSSBwcm9qZWN0IGluc2lkZSB0aGUgbW9ub3JlcG8uICovXG5leHBvcnQgZnVuY3Rpb24gd2ViYXBpUHJvamVjdERpcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gYHByb2plY3RzLyR7bmFtZX1gO1xufVxuXG4vKipcbiAqIEZvcmdlIHJlbGVhc2UgZW50cnkgZm9yIGEgc2NhZmZvbGRlZCBBUEkgKGBwYWNrOiB0cnVlYCDihpIgcGVyLXRhcmdldCBvdXREaXIpLlxuICogS2VlcCBpbiBzeW5jIHdpdGggcm9vdCBgcGFja2FnZS5qc29uYCBgXCJzdGFydFwiYCAvIGBcInN0YXJ0OjxuYW1lPlwiYCBhbmQgRG9ja2VyZmlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3ZWJhcGlSZWxlYXNlRW50cnkobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcblx0cmV0dXJuIGBkaXN0L3JlbGVhc2UvJHt3ZWJhcGlQcm9qZWN0RGlyKG5hbWUpfS9lczYvc3JjL21haW4uanNgO1xufVxuXG4vKiogbnBtIHBhY2thZ2UgbmFtZSBmb3IgYSBzY2FmZm9sZGVkIEFQSSAoYGZsdXggc2VydmUgLS1wcm9qZWN0YCkuICovXG5leHBvcnQgZnVuY3Rpb24gd2ViYXBpUGFja2FnZU5hbWUod29ya3NwYWNlTmFtZTogc3RyaW5nLCBhcGlOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gYEAke3dvcmtzcGFjZU5hbWV9LyR7YXBpTmFtZX1gO1xufVxuXG4vKiogTG9jYWwgbGlzdGVuIHBvcnQgZm9yIHRoZSBudGggQVBJICgwLWJhc2VkKS4gUHJvZHVjdGlvbiB1c2VzIGBQT1JUYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3ZWJhcGlQb3J0KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuXHRyZXR1cm4gMzAwMCArIGluZGV4O1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGB3ZWJhcGlQcm9qZWN0RGlyKG5hbWUpYC4gRGVmYXVsdCBwYXRoIGZvciB0aGUgZmlyc3QgQVBJLiAqL1xuZXhwb3J0IGNvbnN0IFdFQkFQSV9QUk9KRUNUX0RJUiA9IHdlYmFwaVByb2plY3REaXIoREVGQVVMVF9XRUJBUElfTkFNRSk7XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHdlYmFwaVJlbGVhc2VFbnRyeShuYW1lKWAuIERlZmF1bHQgc3RhcnQgZW50cnkgZm9yIHRoZSBmaXJzdCBBUEkuICovXG5leHBvcnQgY29uc3QgV0VCQVBJX1JFTEVBU0VfRU5UUlkgPSB3ZWJhcGlSZWxlYXNlRW50cnkoREVGQVVMVF9XRUJBUElfTkFNRSk7XG4iXSwibmFtZXMiOlsiREVGQVVMVF9XRUJBUElfTkFNRSIsIldFQkFQSV9QUk9KRUNUX0RJUiIsIldFQkFQSV9SRUxFQVNFX0VOVFJZIiwid2ViYXBpUGFja2FnZU5hbWUiLCJ3ZWJhcGlQb3J0Iiwid2ViYXBpUHJvamVjdERpciIsIndlYmFwaVJlbGVhc2VFbnRyeSIsIm5hbWUiLCJ3b3Jrc3BhY2VOYW1lIiwiYXBpTmFtZSIsImluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7Ozs7Ozs7Ozs7O1FBQzFDQTtlQUFBQTs7UUEwQkFDO2VBQUFBOztRQUdBQztlQUFBQTs7UUFiR0M7ZUFBQUE7O1FBS0FDO2VBQUFBOztRQWxCQUM7ZUFBQUE7O1FBUUFDO2VBQUFBOzs7QUFYVCxNQUFNTixzQkFBc0I7QUFHNUIsU0FBU0ssaUJBQWlCRSxJQUFZO0lBQzVDLE9BQU8sQ0FBQyxTQUFTLEVBQUVBLE1BQU07QUFDMUI7QUFNTyxTQUFTRCxtQkFBbUJDLElBQVk7SUFDOUMsT0FBTyxDQUFDLGFBQWEsRUFBRUYsaUJBQWlCRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFO0FBR08sU0FBU0osa0JBQWtCSyxhQUFxQixFQUFFQyxPQUFlO0lBQ3ZFLE9BQU8sQ0FBQyxDQUFDLEVBQUVELGNBQWMsQ0FBQyxFQUFFQyxTQUFTO0FBQ3RDO0FBR08sU0FBU0wsV0FBV00sS0FBYTtJQUN2QyxPQUFPLE9BQU9BO0FBQ2Y7QUFHTyxNQUFNVCxxQkFBcUJJLGlCQUFpQkw7QUFHNUMsTUFBTUUsdUJBQXVCSSxtQkFBbUJOIn0=
@@ -70,20 +70,16 @@ function createWorkspace(targetDir, projectName, apiNames) {
70
70
  monoRepo.targetDir = targetDir;
71
71
  monoRepo.setName(projectName);
72
72
  const name = monoRepo.name;
73
- // Project-named root so Cursor Agents (and other tools) label the workspace by name.
74
- const workspaceRoot = `/${name}`;
75
73
  const compose = new _composemodel.DockerCompose().setProjectName(name).addHeaderComment("Merge .cursor/mcp.json in the service command. postStartCommand runs after Cursor's first MCP snapshot.").addNetwork(name, {
76
74
  name: `samples-${name}`
77
75
  }).addService("devcontainer", {
78
76
  build: ".",
79
77
  volumes: [
80
- // Repo bind in Compose (survives CLI recreates; Cursor-only mounts do not).
81
- `..:${workspaceRoot}`,
82
78
  // Workspace-local (created by initialize.sh as the host user).
83
79
  // Do NOT bind ${HOME}/.npm/... — Docker creates missing host paths as root.
84
80
  "./npm-auth:/home/node/.npm-config",
85
81
  "./gh-auth:/home/node/.config/gh",
86
- `webapi-node-modules:${workspaceRoot}/node_modules`,
82
+ "webapi-node-modules:/workspace/node_modules",
87
83
  // Named volume (not a Cursor-only mount) so CLI recreates keep Up-arrow history.
88
84
  `${_dockerimagemodel.commandHistory.volumeName}:${_dockerimagemodel.commandHistory.dir}`
89
85
  ],
@@ -93,22 +89,25 @@ function createWorkspace(targetDir, projectName, apiNames) {
93
89
  environment: {
94
90
  NPM_CONFIG_USERCONFIG: "/home/node/.npm-config/.npmrc"
95
91
  },
96
- command: `'bash -c "CODEBASE_RAG_WORKSPACE=${workspaceRoot} node --experimental-strip-types ${workspaceRoot}/.devcontainer/codebase-rag-mcp.ts merge || true && exec sleep infinity"'`,
92
+ command: "'bash -c \"CODEBASE_RAG_WORKSPACE=/workspace node --experimental-strip-types /workspace/.devcontainer/codebase-rag-mcp.ts merge || true && exec sleep infinity\"'",
97
93
  networks: [
98
94
  name
99
95
  ]
100
96
  }).addVolume("webapi-node-modules").addVolume(_dockerimagemodel.commandHistory.volumeName);
101
97
  const installCmd = "bash .devcontainer/post-create.sh";
102
- const devContainer = new _devcontainermodel.DevContainer().setWorkspaceFolder(workspaceRoot).addExtension("biomejs.biome", "vitest.explorer").setInitializeCommand("bash .devcontainer/initialize.sh").setPostCreateCommand(installCmd).setUpdateContentCommand(installCmd).setPostStartCommand("bash .devcontainer/post-start.sh").useCompose();
103
- forwardApiPorts(devContainer, apiNames, 0);
98
+ const devContainer = new _devcontainermodel.DevContainer().addExtension("biomejs.biome", "vitest.explorer").setInitializeCommand("bash .devcontainer/initialize.sh").setPostCreateCommand(installCmd).setUpdateContentCommand(installCmd).setPostStartCommand("bash .devcontainer/post-start.sh").useCompose();
99
+ for (const [index, apiName] of apiNames.entries()){
100
+ const port = (0, _const1.webapiPort)(index);
101
+ devContainer.forwardPort(port);
102
+ devContainer.setPortAttributes(port, {
103
+ label: apiName === _const1.DEFAULT_WEBAPI_NAME ? "API" : apiName,
104
+ requireLocalPort: true
105
+ });
106
+ }
104
107
  // Workspace-level models (repo root)
105
108
  monoRepo.addModel(compose);
106
109
  monoRepo.addModel(devContainer);
107
- const appDevImage = new _webapiimagemodel.WebapiDevContainer();
108
- appDevImage.addLayer((0, _dockerimagemodel.withWorkspaceNodeModulesOwnership)({
109
- workspaceDir: workspaceRoot
110
- }));
111
- monoRepo.addModel(appDevImage);
110
+ monoRepo.addModel(new _webapiimagemodel.WebapiDevContainer());
112
111
  monoRepo.addModel(new _productiondockerfilemodel.WebapiProductionDockerfile(apiNames));
113
112
  monoRepo.addModel(new _githubcimodel.GithubCiWorkflows());
114
113
  monoRepo.addModel(new _vscodesettingsmodel.VSCodeSettings(name));
@@ -214,30 +213,15 @@ function createAddWorkspace(targetDir, projectName, apiNames) {
214
213
  monoRepo.addModel((0, _nodefs.existsSync)((0, _nodepath.join)(targetDir, ".env")) ? _envfilemodel.EnvFile.fromFile((0, _nodepath.join)(targetDir, ".env")) : new _envfilemodel.EnvFile());
215
214
  monoRepo.addModel((0, _nodefs.existsSync)((0, _nodepath.join)(targetDir, "config/config.yaml")) ? _configyamlmodel.ConfigYaml.fromFile(_const.WELL_KNOWN_FILES.CONFIG_YAML, "config/config.yaml", (0, _nodepath.join)(targetDir, "config/config.yaml")) : new _configyamlmodel.ConfigYaml(_const.WELL_KNOWN_FILES.CONFIG_YAML, "config/config.yaml", ""));
216
215
  monoRepo.addModel((0, _nodefs.existsSync)((0, _nodepath.join)(targetDir, "config/config.dev.yaml")) ? _configyamlmodel.ConfigYaml.fromFile(_const.WELL_KNOWN_FILES.CONFIG_DEV_YAML, "config/config.dev.yaml", (0, _nodepath.join)(targetDir, "config/config.dev.yaml")) : new _configyamlmodel.ConfigYaml(_const.WELL_KNOWN_FILES.CONFIG_DEV_YAML, "config/config.dev.yaml", ""));
217
- // Load the workspace files features merge into, so e.g. --database on a workspace
218
- // created without one adds the Postgres service instead of only the db:* scripts.
219
- const compose = loadIfExists(targetDir, ".devcontainer/docker-compose.yml", (path)=>_composemodel.DockerCompose.fromFile(path));
220
- if (compose) monoRepo.addModel(compose);
221
- const devContainer = loadIfExists(targetDir, ".devcontainer/devcontainer.json", (path)=>_devcontainermodel.DevContainer.fromFile(path));
222
- if (devContainer) {
223
- forwardApiPorts(devContainer, apiNames, existing.length);
224
- monoRepo.addModel(devContainer);
225
- }
226
- const devImage = loadIfExists(targetDir, ".devcontainer/Dockerfile", (path)=>_dockerimagemodel.DockerfileModel.fromFile(path, ".devcontainer/Dockerfile"));
227
- if (devImage) monoRepo.addModel(devImage);
228
- const gitignore = loadIfExists(targetDir, ".gitignore", (path)=>_gitignoremodel.Gitignore.fromFile(path));
229
- if (gitignore) monoRepo.addModel(gitignore);
230
- if (!pkg.hasScript("package")) {
231
- pkg.addScript("package", "pnpm run build && forge package");
232
- }
233
216
  for (const [offset, apiName] of apiNames.entries()){
234
217
  const port = (0, _const1.webapiPort)(existing.length + offset);
235
218
  pkg.addScript(`start:${apiName}`, `node ${(0, _const1.webapiReleaseEntry)(apiName)}`);
236
- pkg.addScript(`package:${apiName}`, (0, _packagejsonmodel.packageScript)(name, apiName));
237
- pkg.addScript(`dev:${apiName}`, `PORT=${port} flux serve --env-file-if-exists .env --project ${(0, _const1.webapiPackageName)(name, apiName)}`);
219
+ pkg.addScript(`dev:${apiName}`, `PORT=${port} flux serve --project ${(0, _const1.webapiPackageName)(name, apiName)}`);
238
220
  addApiProject(monoRepo, name, apiName);
239
221
  }
240
- monoRepo.addModel(new _productiondockerfilemodel.WebapiProductionDockerfile(apiNames));
222
+ monoRepo.addModel(new _productiondockerfilemodel.WebapiProductionDockerfile(apiNames, {
223
+ namedOnly: true
224
+ }));
241
225
  return monoRepo;
242
226
  }
243
227
  function addApiProject(monoRepo, workspaceName, apiName) {
@@ -249,17 +233,5 @@ function addApiProject(monoRepo, workspaceName, apiName) {
249
233
  apiProject.addFile(new _samplefilesmodel.SampleServiceModel());
250
234
  monoRepo.addProject(apiProject);
251
235
  }
252
- function forwardApiPorts(devContainer, apiNames, firstIndex) {
253
- for (const [offset, apiName] of apiNames.entries()){
254
- const port = (0, _const1.webapiPort)(firstIndex + offset);
255
- devContainer.forwardPort(port);
256
- devContainer.setPortAttributes(port, {
257
- label: apiName === _const1.DEFAULT_WEBAPI_NAME ? "API" : apiName,
258
- requireLocalPort: true
259
- });
260
- }
261
- }
262
- function loadIfExists(targetDir, relativePath, load) {
263
- const absolutePath = (0, _nodepath.join)(targetDir, relativePath);
264
- return (0, _nodefs.existsSync)(absolutePath) ? load(absolutePath) : undefined;
265
- }
236
+
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy93ZWJhcGkvY3JlYXRlLWFwaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IGJhc2VuYW1lLCBqb2luLCByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgRG9ja2VyQ29tcG9zZSB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgQ29uZmlnWWFtbCB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnLXlhbWwubW9kZWwuanNcIjtcbmltcG9ydCB7IFdFTExfS05PV05fRklMRVMgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbnN0LmpzXCI7XG5pbXBvcnQgeyBEZXZDb250YWluZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2Rldi1jb250YWluZXIubW9kZWwuanNcIjtcbmltcG9ydCB7IGNvbW1hbmRIaXN0b3J5IH0gZnJvbSBcIi4uL21vZGVscy9kb2NrZXItaW1hZ2UubW9kZWwuanNcIjtcbmltcG9ydCB7IEVudkZpbGUgfSBmcm9tIFwiLi4vbW9kZWxzL2Vudi1maWxlLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBHaXRpZ25vcmUgfSBmcm9tIFwiLi4vbW9kZWxzL2dpdGlnbm9yZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgTGF1bmNoSnNvbiB9IGZyb20gXCIuLi9tb2RlbHMvbGF1bmNoLWpzb24ubW9kZWwuanNcIjtcbmltcG9ydCB7IFBhY2thZ2VKc29uIH0gZnJvbSBcIi4uL21vZGVscy9wYWNrYWdlLWpzb24ubW9kZWwuanNcIjtcbmltcG9ydCB7IE1vbm9SZXBvU2NhZmZvbGQsIFByb2plY3RTY2FmZm9sZCB9IGZyb20gXCIuLi9tb2RlbHMvcHJvamVjdC5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgVHNDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL3RzY29uZmlnLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBWaXRlc3RDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL3ZpdGVzdC1jb25maWcubW9kZWwuanNcIjtcbmltcG9ydCB7IFZTQ29kZVNldHRpbmdzIH0gZnJvbSBcIi4uL21vZGVscy92c2NvZGUtc2V0dGluZ3MubW9kZWwuanNcIjtcbmltcG9ydCB7IFNjYWZmb2xkU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zY2FmZm9sZC5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQge1xuXHRDcmVhdGVDbGlFcnJvcixcblx0aXNEZWNvaGVyZVdvcmtzcGFjZSxcblx0bGlzdEV4aXN0aW5nQXBpTmFtZXMsXG5cdHBhcnNlQXBpTmFtZXMsXG59IGZyb20gXCIuL2FwaS1uYW1lLmpzXCI7XG5pbXBvcnQge1xuXHRERUZBVUxUX1dFQkFQSV9OQU1FLFxuXHR3ZWJhcGlQYWNrYWdlTmFtZSxcblx0d2ViYXBpUG9ydCxcblx0d2ViYXBpUHJvamVjdERpcixcblx0d2ViYXBpUmVsZWFzZUVudHJ5LFxufSBmcm9tIFwiLi9jb25zdC5qc1wiO1xuaW1wb3J0IHsgRGV2Q29udGFpbmVySG9zdFNjcmlwdHMgfSBmcm9tIFwiLi9kZXZjb250YWluZXIvaG9zdC1zY3JpcHRzLmpzXCI7XG5pbXBvcnQgeyBBdXRoRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL2F1dGguZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgRGF0YWJhc2VGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvZGF0YWJhc2UuZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgRmluYWxpemVGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvZmluYWxpemUuZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgUG9zdG1hbkZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9wb3N0bWFuLmZlYXR1cmUuanNcIjtcbmltcG9ydCB7IEFwaVBhY2thZ2VKc29uIH0gZnJvbSBcIi4vbW9kZWxzL2FwaS1wYWNrYWdlLWpzb24ubW9kZWwuanNcIjtcbmltcG9ydCB7IENvbnRyb2xsZXJTb3VyY2VGaWxlIH0gZnJvbSBcIi4vbW9kZWxzL2NvbnRyb2xsZXItc291cmNlLWZpbGUubW9kZWwuanNcIjtcbmltcG9ydCB7IEdpdGh1YkNpV29ya2Zsb3dzIH0gZnJvbSBcIi4vbW9kZWxzL2dpdGh1Yi1jaS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgTWFpblNvdXJjZUZpbGUgfSBmcm9tIFwiLi9tb2RlbHMvbWFpbi1zb3VyY2UtZmlsZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgV2ViYXBpUHJvZHVjdGlvbkRvY2tlcmZpbGUgfSBmcm9tIFwiLi9tb2RlbHMvcHJvZHVjdGlvbi1kb2NrZXJmaWxlLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBTYW1wbGVDb25maWdNb2RlbCwgU2FtcGxlU2VydmljZU1vZGVsIH0gZnJvbSBcIi4vbW9kZWxzL3NhbXBsZS1maWxlcy5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgV2ViYXBpRGV2Q29udGFpbmVyIH0gZnJvbSBcIi4vbW9kZWxzL3dlYmFwaS1pbWFnZS5tb2RlbC5qc1wiO1xuXG5leHBvcnQgeyBXRUJBUElfUFJPSkVDVF9ESVIsIFdFQkFQSV9SRUxFQVNFX0VOVFJZIH0gZnJvbSBcIi4vY29uc3QuanNcIjtcblxuZXhwb3J0IHR5cGUgQXBpT3B0aW9ucyA9IHtcblx0ZD86IHN0cmluZztcblx0LyoqIEhvc3QgcHJvamVjdCBuYW1lIChkaXJlY3RvcnkgYmFzZW5hbWUpLiBSZXF1aXJlZCB3aGVuIHNjYWZmb2xkaW5nIGludG8gYC93b3Jrc3BhY2VgLiAqL1xuXHRwcm9qZWN0TmFtZT86IHN0cmluZztcblx0LyoqIEFQSSBzbHVncyB1bmRlciBgcHJvamVjdHMvYC4gRGVmYXVsdCBgW1wiYXBpXCJdYC4gUmVwZWF0YWJsZSBgLS1uYW1lYC4gKi9cblx0bmFtZXM/OiBzdHJpbmdbXTtcblx0LyoqIEFkZCBBUElzIHRvIGFuIGV4aXN0aW5nIERlY29oZXJlIHdvcmtzcGFjZSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZS4gKi9cblx0YWRkPzogYm9vbGVhbjtcblx0YXV0aFByb3ZpZGVyPzogXCJhdXRoMFwiIHwgXCJub25lXCI7XG5cdGRhdGFiYXNlUHJvdmlkZXI/OiBcIm5vbmVcIiB8IFwicG9zdGdyZXMvdHlwZW9ybVwiO1xuXHRwb3N0bWFuUHJvdmlkZXI/OiBcImFwaVwiIHwgXCJsb2NhbFwiIHwgXCJub25lXCI7XG5cdGluc3RhbGxEZXBlbmRlbmNpZXM/OiBcInllc1wiIHwgXCJub1wiO1xufTtcblxuY29uc3QgZmVhdHVyZXMgPSBbRGF0YWJhc2VGZWF0dXJlLCBBdXRoRmVhdHVyZSwgUG9zdG1hbkZlYXR1cmUsIEZpbmFsaXplRmVhdHVyZV07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzY2FmZm9sZEFwaShjbGlPcHRpb25zOiBBcGlPcHRpb25zKSB7XG5cdGNvbnN0IHRhcmdldERpciA9IHJlc29sdmUoY2xpT3B0aW9ucy5kID8/IFwiLlwiKTtcblx0Y29uc3QgcHJvamVjdE5hbWUgPVxuXHRcdGNsaU9wdGlvbnMucHJvamVjdE5hbWU/LnRyaW0oKSB8fFxuXHRcdHByb2Nlc3MuZW52LkRFQ09IRVJFX1BST0pFQ1RfTkFNRT8udHJpbSgpIHx8XG5cdFx0YmFzZW5hbWUodGFyZ2V0RGlyKTtcblx0Y29uc3QgbmFtZXMgPSBwYXJzZUFwaU5hbWVzKGNsaU9wdGlvbnMubmFtZXMpO1xuXHRjb25zdCB3b3Jrc3BhY2UgPSBjbGlPcHRpb25zLmFkZFxuXHRcdD8gY3JlYXRlQWRkV29ya3NwYWNlKHRhcmdldERpciwgcHJvamVjdE5hbWUsIG5hbWVzKVxuXHRcdDogY3JlYXRlV29ya3NwYWNlKHRhcmdldERpciwgcHJvamVjdE5hbWUsIG5hbWVzKTtcblx0YXdhaXQgU2NhZmZvbGRTZXJ2aWNlLnNjYWZmb2xkKHdvcmtzcGFjZSwgeyAuLi5jbGlPcHRpb25zLCBuYW1lcyB9LCBmZWF0dXJlcyk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVdvcmtzcGFjZShcblx0dGFyZ2V0RGlyOiBzdHJpbmcsXG5cdHByb2plY3ROYW1lOiBzdHJpbmcsXG5cdGFwaU5hbWVzOiByZWFkb25seSBzdHJpbmdbXSxcbik6IE1vbm9SZXBvU2NhZmZvbGQge1xuXHRjb25zdCBtb25vUmVwbyA9IG5ldyBNb25vUmVwb1NjYWZmb2xkKCk7XG5cdG1vbm9SZXBvLnRhcmdldERpciA9IHRhcmdldERpcjtcblx0bW9ub1JlcG8uc2V0TmFtZShwcm9qZWN0TmFtZSk7XG5cdGNvbnN0IG5hbWUgPSBtb25vUmVwby5uYW1lO1xuXG5cdGNvbnN0IGNvbXBvc2UgPSBuZXcgRG9ja2VyQ29tcG9zZSgpXG5cdFx0LnNldFByb2plY3ROYW1lKG5hbWUpXG5cdFx0LmFkZEhlYWRlckNvbW1lbnQoXG5cdFx0XHRcIk1lcmdlIC5jdXJzb3IvbWNwLmpzb24gaW4gdGhlIHNlcnZpY2UgY29tbWFuZC4gcG9zdFN0YXJ0Q29tbWFuZCBydW5zIGFmdGVyIEN1cnNvcidzIGZpcnN0IE1DUCBzbmFwc2hvdC5cIixcblx0XHQpXG5cdFx0LmFkZE5ldHdvcmsobmFtZSwgeyBuYW1lOiBgc2FtcGxlcy0ke25hbWV9YCB9KVxuXHRcdC5hZGRTZXJ2aWNlKFwiZGV2Y29udGFpbmVyXCIsIHtcblx0XHRcdGJ1aWxkOiBcIi5cIixcblx0XHRcdHZvbHVtZXM6IFtcblx0XHRcdFx0Ly8gV29ya3NwYWNlLWxvY2FsIChjcmVhdGVkIGJ5IGluaXRpYWxpemUuc2ggYXMgdGhlIGhvc3QgdXNlcikuXG5cdFx0XHRcdC8vIERvIE5PVCBiaW5kICR7SE9NRX0vLm5wbS8uLi4g4oCUIERvY2tlciBjcmVhdGVzIG1pc3NpbmcgaG9zdCBwYXRocyBhcyByb290LlxuXHRcdFx0XHRcIi4vbnBtLWF1dGg6L2hvbWUvbm9kZS8ubnBtLWNvbmZpZ1wiLFxuXHRcdFx0XHRcIi4vZ2gtYXV0aDovaG9tZS9ub2RlLy5jb25maWcvZ2hcIixcblx0XHRcdFx0XCJ3ZWJhcGktbm9kZS1tb2R1bGVzOi93b3Jrc3BhY2Uvbm9kZV9tb2R1bGVzXCIsXG5cdFx0XHRcdC8vIE5hbWVkIHZvbHVtZSAobm90IGEgQ3Vyc29yLW9ubHkgbW91bnQpIHNvIENMSSByZWNyZWF0ZXMga2VlcCBVcC1hcnJvdyBoaXN0b3J5LlxuXHRcdFx0XHRgJHtjb21tYW5kSGlzdG9yeS52b2x1bWVOYW1lfToke2NvbW1hbmRIaXN0b3J5LmRpcn1gLFxuXHRcdFx0XSxcblx0XHRcdGVudl9maWxlOiBbXCIuL2doLmVudlwiXSxcblx0XHRcdGVudmlyb25tZW50OiB7IE5QTV9DT05GSUdfVVNFUkNPTkZJRzogXCIvaG9tZS9ub2RlLy5ucG0tY29uZmlnLy5ucG1yY1wiIH0sXG5cdFx0XHRjb21tYW5kOlxuXHRcdFx0XHRcIidiYXNoIC1jIFxcXCJDT0RFQkFTRV9SQUdfV09SS1NQQUNFPS93b3Jrc3BhY2Ugbm9kZSAtLWV4cGVyaW1lbnRhbC1zdHJpcC10eXBlcyAvd29ya3NwYWNlLy5kZXZjb250YWluZXIvY29kZWJhc2UtcmFnLW1jcC50cyBtZXJnZSB8fCB0cnVlICYmIGV4ZWMgc2xlZXAgaW5maW5pdHlcXFwiJ1wiLFxuXHRcdFx0bmV0d29ya3M6IFtuYW1lXSxcblx0XHR9KVxuXHRcdC5hZGRWb2x1bWUoXCJ3ZWJhcGktbm9kZS1tb2R1bGVzXCIpXG5cdFx0LmFkZFZvbHVtZShjb21tYW5kSGlzdG9yeS52b2x1bWVOYW1lKTtcblxuXHRjb25zdCBpbnN0YWxsQ21kID0gXCJiYXNoIC5kZXZjb250YWluZXIvcG9zdC1jcmVhdGUuc2hcIjtcblx0Y29uc3QgZGV2Q29udGFpbmVyID0gbmV3IERldkNvbnRhaW5lcigpXG5cdFx0LmFkZEV4dGVuc2lvbihcImJpb21lanMuYmlvbWVcIiwgXCJ2aXRlc3QuZXhwbG9yZXJcIilcblx0XHQuc2V0SW5pdGlhbGl6ZUNvbW1hbmQoXCJiYXNoIC5kZXZjb250YWluZXIvaW5pdGlhbGl6ZS5zaFwiKVxuXHRcdC5zZXRQb3N0Q3JlYXRlQ29tbWFuZChpbnN0YWxsQ21kKVxuXHRcdC5zZXRVcGRhdGVDb250ZW50Q29tbWFuZChpbnN0YWxsQ21kKVxuXHRcdC5zZXRQb3N0U3RhcnRDb21tYW5kKFwiYmFzaCAuZGV2Y29udGFpbmVyL3Bvc3Qtc3RhcnQuc2hcIilcblx0XHQudXNlQ29tcG9zZSgpO1xuXG5cdGZvciAoY29uc3QgW2luZGV4LCBhcGlOYW1lXSBvZiBhcGlOYW1lcy5lbnRyaWVzKCkpIHtcblx0XHRjb25zdCBwb3J0ID0gd2ViYXBpUG9ydChpbmRleCk7XG5cdFx0ZGV2Q29udGFpbmVyLmZvcndhcmRQb3J0KHBvcnQpO1xuXHRcdGRldkNvbnRhaW5lci5zZXRQb3J0QXR0cmlidXRlcyhwb3J0LCB7XG5cdFx0XHRsYWJlbDogYXBpTmFtZSA9PT0gREVGQVVMVF9XRUJBUElfTkFNRSA/IFwiQVBJXCIgOiBhcGlOYW1lLFxuXHRcdFx0cmVxdWlyZUxvY2FsUG9ydDogdHJ1ZSxcblx0XHR9KTtcblx0fVxuXG5cdC8vIFdvcmtzcGFjZS1sZXZlbCBtb2RlbHMgKHJlcG8gcm9vdClcblx0bW9ub1JlcG8uYWRkTW9kZWwoY29tcG9zZSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKGRldkNvbnRhaW5lcik7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBXZWJhcGlEZXZDb250YWluZXIoKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBXZWJhcGlQcm9kdWN0aW9uRG9ja2VyZmlsZShhcGlOYW1lcykpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgR2l0aHViQ2lXb3JrZmxvd3MoKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBWU0NvZGVTZXR0aW5ncyhuYW1lKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBMYXVuY2hKc29uKGFwaU5hbWVzKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBUc0NvbmZpZygpKTtcblx0bW9ub1JlcG8uYWRkTW9kZWwobmV3IFZpdGVzdENvbmZpZygpKTtcblx0bW9ub1JlcG8uYWRkTW9kZWwobmV3IFBhY2thZ2VKc29uKGAke25hbWV9LmFwaWAsIHsgYXBpTmFtZXMsIHdvcmtzcGFjZU5hbWU6IG5hbWUgfSkpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgQ29uZmlnWWFtbChXRUxMX0tOT1dOX0ZJTEVTLkNPTkZJR19ZQU1MLCBcImNvbmZpZy9jb25maWcueWFtbFwiLCBcIlwiKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKFxuXHRcdG5ldyBDb25maWdZYW1sKFdFTExfS05PV05fRklMRVMuQ09ORklHX0RFVl9ZQU1MLCBcImNvbmZpZy9jb25maWcuZGV2LnlhbWxcIiwgXCJcIiksXG5cdCk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBHaXRpZ25vcmUoKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBFbnZGaWxlKCkpO1xuXHRtb25vUmVwby5hZGRGaWxlKG5ldyBEZXZDb250YWluZXJIb3N0U2NyaXB0cygpKTtcblxuXHQvLyBCaW9tZSBmb3JtYXR0ZXIvbGludGVyIGNvbmZpZ1xuXHRtb25vUmVwby5hZGRGaWxlKHtcblx0XHRmaWxlczogKCkgPT4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCJiaW9tZS5qc29uXCIsXG5cdFx0XHRcdGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdCRzY2hlbWE6IFwiaHR0cHM6Ly9iaW9tZWpzLmRldi9zY2hlbWFzLzIuMC4wL3NjaGVtYS5qc29uXCIsXG5cdFx0XHRcdFx0XHRmaWxlczoge1xuXHRcdFx0XHRcdFx0XHRpbmNsdWRlczogW1wiKiovKi50c1wiLCBcIioqLyouanNcIiwgXCIqKi8qLmpzb25cIiwgXCIqKi8qLnltbFwiLCBcIioqLyoueWFtbFwiXSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRhc3Npc3Q6IHsgYWN0aW9uczogeyBzb3VyY2U6IHsgb3JnYW5pemVJbXBvcnRzOiBcIm9uXCIgfSB9IH0sXG5cdFx0XHRcdFx0XHR2Y3M6IHsgZW5hYmxlZDogdHJ1ZSwgY2xpZW50S2luZDogXCJnaXRcIiwgdXNlSWdub3JlRmlsZTogdHJ1ZSB9LFxuXHRcdFx0XHRcdFx0Zm9ybWF0dGVyOiB7XG5cdFx0XHRcdFx0XHRcdGVuYWJsZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdGZvcm1hdFdpdGhFcnJvcnM6IHRydWUsXG5cdFx0XHRcdFx0XHRcdGluZGVudFN0eWxlOiBcInRhYlwiLFxuXHRcdFx0XHRcdFx0XHRsaW5lV2lkdGg6IDk1LFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGphdmFzY3JpcHQ6IHsgcGFyc2VyOiB7IHVuc2FmZVBhcmFtZXRlckRlY29yYXRvcnNFbmFibGVkOiB0cnVlIH0gfSxcblx0XHRcdFx0XHRcdGxpbnRlcjoge1xuXHRcdFx0XHRcdFx0XHRydWxlczoge1xuXHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHR1c2VDb25zaXN0ZW50TWVtYmVyQWNjZXNzaWJpbGl0eToge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsZXZlbDogXCJlcnJvclwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiB7IGFjY2Vzc2liaWxpdHk6IFwiZXhwbGljaXRcIiB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG92ZXJyaWRlczogW1xuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0aW5jbHVkZXM6IFtcIioqLyouanNvblwiXSxcblx0XHRcdFx0XHRcdFx0XHRmb3JtYXR0ZXI6IHsgaW5kZW50U3R5bGU6IFwic3BhY2VcIiwgaW5kZW50V2lkdGg6IDIgfSxcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdF0sXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdDIsXG5cdFx0XHRcdCksXG5cdFx0XHR9LFxuXHRcdF0sXG5cdH0pO1xuXG5cdGZvciAoY29uc3QgYXBpTmFtZSBvZiBhcGlOYW1lcykge1xuXHRcdGFkZEFwaVByb2plY3QobW9ub1JlcG8sIG5hbWUsIGFwaU5hbWUpO1xuXHR9XG5cblx0cmV0dXJuIG1vbm9SZXBvO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVBZGRXb3Jrc3BhY2UoXG5cdHRhcmdldERpcjogc3RyaW5nLFxuXHRwcm9qZWN0TmFtZTogc3RyaW5nLFxuXHRhcGlOYW1lczogcmVhZG9ubHkgc3RyaW5nW10sXG4pOiBNb25vUmVwb1NjYWZmb2xkIHtcblx0aWYgKCFpc0RlY29oZXJlV29ya3NwYWNlKHRhcmdldERpcikpIHtcblx0XHR0aHJvdyBuZXcgQ3JlYXRlQ2xpRXJyb3IoXG5cdFx0XHRgTm90IGEgRGVjb2hlcmUgd29ya3NwYWNlOiAke3RhcmdldERpcn0uIFNjYWZmb2xkIG9uZSBmaXJzdCB3aXRoIFxcYG5weCBAZGVjb2hlcmUvY3JlYXRlIHdlYmFwaVxcYC5gLFxuXHRcdCk7XG5cdH1cblxuXHRjb25zdCBleGlzdGluZyA9IGxpc3RFeGlzdGluZ0FwaU5hbWVzKHRhcmdldERpcik7XG5cdGZvciAoY29uc3QgYXBpTmFtZSBvZiBhcGlOYW1lcykge1xuXHRcdGlmIChleGlzdGluZy5pbmNsdWRlcyhhcGlOYW1lKSkge1xuXHRcdFx0dGhyb3cgbmV3IENyZWF0ZUNsaUVycm9yKFxuXHRcdFx0XHRgQVBJIFwiJHthcGlOYW1lfVwiIGFscmVhZHkgZXhpc3RzIGF0ICR7d2ViYXBpUHJvamVjdERpcihhcGlOYW1lKX0uYCxcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0Y29uc3QgbW9ub1JlcG8gPSBuZXcgTW9ub1JlcG9TY2FmZm9sZCgpO1xuXHRtb25vUmVwby50YXJnZXREaXIgPSB0YXJnZXREaXI7XG5cdG1vbm9SZXBvLnNldE5hbWUocHJvamVjdE5hbWUpO1xuXHRjb25zdCBuYW1lID0gbW9ub1JlcG8ubmFtZTtcblxuXHRjb25zdCBwa2cgPSBQYWNrYWdlSnNvbi5mcm9tRmlsZShqb2luKHRhcmdldERpciwgXCJwYWNrYWdlLmpzb25cIikpO1xuXHRtb25vUmVwby5hZGRNb2RlbChwa2cpO1xuXHRtb25vUmVwby5hZGRNb2RlbChcblx0XHRleGlzdHNTeW5jKGpvaW4odGFyZ2V0RGlyLCBcIi5lbnZcIikpXG5cdFx0XHQ/IEVudkZpbGUuZnJvbUZpbGUoam9pbih0YXJnZXREaXIsIFwiLmVudlwiKSlcblx0XHRcdDogbmV3IEVudkZpbGUoKSxcblx0KTtcblx0bW9ub1JlcG8uYWRkTW9kZWwoXG5cdFx0ZXhpc3RzU3luYyhqb2luKHRhcmdldERpciwgXCJjb25maWcvY29uZmlnLnlhbWxcIikpXG5cdFx0XHQ/IENvbmZpZ1lhbWwuZnJvbUZpbGUoXG5cdFx0XHRcdFx0V0VMTF9LTk9XTl9GSUxFUy5DT05GSUdfWUFNTCxcblx0XHRcdFx0XHRcImNvbmZpZy9jb25maWcueWFtbFwiLFxuXHRcdFx0XHRcdGpvaW4odGFyZ2V0RGlyLCBcImNvbmZpZy9jb25maWcueWFtbFwiKSxcblx0XHRcdFx0KVxuXHRcdFx0OiBuZXcgQ29uZmlnWWFtbChXRUxMX0tOT1dOX0ZJTEVTLkNPTkZJR19ZQU1MLCBcImNvbmZpZy9jb25maWcueWFtbFwiLCBcIlwiKSxcblx0KTtcblx0bW9ub1JlcG8uYWRkTW9kZWwoXG5cdFx0ZXhpc3RzU3luYyhqb2luKHRhcmdldERpciwgXCJjb25maWcvY29uZmlnLmRldi55YW1sXCIpKVxuXHRcdFx0PyBDb25maWdZYW1sLmZyb21GaWxlKFxuXHRcdFx0XHRcdFdFTExfS05PV05fRklMRVMuQ09ORklHX0RFVl9ZQU1MLFxuXHRcdFx0XHRcdFwiY29uZmlnL2NvbmZpZy5kZXYueWFtbFwiLFxuXHRcdFx0XHRcdGpvaW4odGFyZ2V0RGlyLCBcImNvbmZpZy9jb25maWcuZGV2LnlhbWxcIiksXG5cdFx0XHRcdClcblx0XHRcdDogbmV3IENvbmZpZ1lhbWwoV0VMTF9LTk9XTl9GSUxFUy5DT05GSUdfREVWX1lBTUwsIFwiY29uZmlnL2NvbmZpZy5kZXYueWFtbFwiLCBcIlwiKSxcblx0KTtcblxuXHRmb3IgKGNvbnN0IFtvZmZzZXQsIGFwaU5hbWVdIG9mIGFwaU5hbWVzLmVudHJpZXMoKSkge1xuXHRcdGNvbnN0IHBvcnQgPSB3ZWJhcGlQb3J0KGV4aXN0aW5nLmxlbmd0aCArIG9mZnNldCk7XG5cdFx0cGtnLmFkZFNjcmlwdChgc3RhcnQ6JHthcGlOYW1lfWAsIGBub2RlICR7d2ViYXBpUmVsZWFzZUVudHJ5KGFwaU5hbWUpfWApO1xuXHRcdHBrZy5hZGRTY3JpcHQoXG5cdFx0XHRgZGV2OiR7YXBpTmFtZX1gLFxuXHRcdFx0YFBPUlQ9JHtwb3J0fSBmbHV4IHNlcnZlIC0tcHJvamVjdCAke3dlYmFwaVBhY2thZ2VOYW1lKG5hbWUsIGFwaU5hbWUpfWAsXG5cdFx0KTtcblx0XHRhZGRBcGlQcm9qZWN0KG1vbm9SZXBvLCBuYW1lLCBhcGlOYW1lKTtcblx0fVxuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgV2ViYXBpUHJvZHVjdGlvbkRvY2tlcmZpbGUoYXBpTmFtZXMsIHsgbmFtZWRPbmx5OiB0cnVlIH0pKTtcblxuXHRyZXR1cm4gbW9ub1JlcG87XG59XG5cbmZ1bmN0aW9uIGFkZEFwaVByb2plY3QoXG5cdG1vbm9SZXBvOiBNb25vUmVwb1NjYWZmb2xkLFxuXHR3b3Jrc3BhY2VOYW1lOiBzdHJpbmcsXG5cdGFwaU5hbWU6IHN0cmluZyxcbik6IHZvaWQge1xuXHRjb25zdCBhcGlQcm9qZWN0ID0gbmV3IFByb2plY3RTY2FmZm9sZCh3ZWJhcGlQcm9qZWN0RGlyKGFwaU5hbWUpKTtcblx0YXBpUHJvamVjdC5hZGRNb2RlbChuZXcgQXBpUGFja2FnZUpzb24od29ya3NwYWNlTmFtZSwgYXBpTmFtZSkpO1xuXHRhcGlQcm9qZWN0LmFkZE1vZGVsKG5ldyBNYWluU291cmNlRmlsZShgJHt3b3Jrc3BhY2VOYW1lfS4ke2FwaU5hbWV9YCkpO1xuXHRhcGlQcm9qZWN0LmFkZE1vZGVsKG5ldyBDb250cm9sbGVyU291cmNlRmlsZSgpKTtcblx0YXBpUHJvamVjdC5hZGRGaWxlKG5ldyBTYW1wbGVDb25maWdNb2RlbCgpKTtcblx0YXBpUHJvamVjdC5hZGRGaWxlKG5ldyBTYW1wbGVTZXJ2aWNlTW9kZWwoKSk7XG5cdG1vbm9SZXBvLmFkZFByb2plY3QoYXBpUHJvamVjdCk7XG59XG4iXSwibmFtZXMiOlsiV0VCQVBJX1BST0pFQ1RfRElSIiwiV0VCQVBJX1JFTEVBU0VfRU5UUlkiLCJzY2FmZm9sZEFwaSIsImZlYXR1cmVzIiwiRGF0YWJhc2VGZWF0dXJlIiwiQXV0aEZlYXR1cmUiLCJQb3N0bWFuRmVhdHVyZSIsIkZpbmFsaXplRmVhdHVyZSIsImNsaU9wdGlvbnMiLCJ0YXJnZXREaXIiLCJyZXNvbHZlIiwiZCIsInByb2plY3ROYW1lIiwidHJpbSIsInByb2Nlc3MiLCJlbnYiLCJERUNPSEVSRV9QUk9KRUNUX05BTUUiLCJiYXNlbmFtZSIsIm5hbWVzIiwicGFyc2VBcGlOYW1lcyIsIndvcmtzcGFjZSIsImFkZCIsImNyZWF0ZUFkZFdvcmtzcGFjZSIsImNyZWF0ZVdvcmtzcGFjZSIsIlNjYWZmb2xkU2VydmljZSIsInNjYWZmb2xkIiwiYXBpTmFtZXMiLCJtb25vUmVwbyIsIk1vbm9SZXBvU2NhZmZvbGQiLCJzZXROYW1lIiwibmFtZSIsImNvbXBvc2UiLCJEb2NrZXJDb21wb3NlIiwic2V0UHJvamVjdE5hbWUiLCJhZGRIZWFkZXJDb21tZW50IiwiYWRkTmV0d29yayIsImFkZFNlcnZpY2UiLCJidWlsZCIsInZvbHVtZXMiLCJjb21tYW5kSGlzdG9yeSIsInZvbHVtZU5hbWUiLCJkaXIiLCJlbnZfZmlsZSIsImVudmlyb25tZW50IiwiTlBNX0NPTkZJR19VU0VSQ09ORklHIiwiY29tbWFuZCIsIm5ldHdvcmtzIiwiYWRkVm9sdW1lIiwiaW5zdGFsbENtZCIsImRldkNvbnRhaW5lciIsIkRldkNvbnRhaW5lciIsImFkZEV4dGVuc2lvbiIsInNldEluaXRpYWxpemVDb21tYW5kIiwic2V0UG9zdENyZWF0ZUNvbW1hbmQiLCJzZXRVcGRhdGVDb250ZW50Q29tbWFuZCIsInNldFBvc3RTdGFydENvbW1hbmQiLCJ1c2VDb21wb3NlIiwiaW5kZXgiLCJhcGlOYW1lIiwiZW50cmllcyIsInBvcnQiLCJ3ZWJhcGlQb3J0IiwiZm9yd2FyZFBvcnQiLCJzZXRQb3J0QXR0cmlidXRlcyIsImxhYmVsIiwiREVGQVVMVF9XRUJBUElfTkFNRSIsInJlcXVpcmVMb2NhbFBvcnQiLCJhZGRNb2RlbCIsIldlYmFwaURldkNvbnRhaW5lciIsIldlYmFwaVByb2R1Y3Rpb25Eb2NrZXJmaWxlIiwiR2l0aHViQ2lXb3JrZmxvd3MiLCJWU0NvZGVTZXR0aW5ncyIsIkxhdW5jaEpzb24iLCJUc0NvbmZpZyIsIlZpdGVzdENvbmZpZyIsIlBhY2thZ2VKc29uIiwid29ya3NwYWNlTmFtZSIsIkNvbmZpZ1lhbWwiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiQ09ORklHX1lBTUwiLCJDT05GSUdfREVWX1lBTUwiLCJHaXRpZ25vcmUiLCJFbnZGaWxlIiwiYWRkRmlsZSIsIkRldkNvbnRhaW5lckhvc3RTY3JpcHRzIiwiZmlsZXMiLCJmaWxlUGF0aCIsImNvbnRlbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiJHNjaGVtYSIsImluY2x1ZGVzIiwiYXNzaXN0IiwiYWN0aW9ucyIsInNvdXJjZSIsIm9yZ2FuaXplSW1wb3J0cyIsInZjcyIsImVuYWJsZWQiLCJjbGllbnRLaW5kIiwidXNlSWdub3JlRmlsZSIsImZvcm1hdHRlciIsImZvcm1hdFdpdGhFcnJvcnMiLCJpbmRlbnRTdHlsZSIsImxpbmVXaWR0aCIsImphdmFzY3JpcHQiLCJwYXJzZXIiLCJ1bnNhZmVQYXJhbWV0ZXJEZWNvcmF0b3JzRW5hYmxlZCIsImxpbnRlciIsInJ1bGVzIiwic3R5bGUiLCJ1c2VDb25zaXN0ZW50TWVtYmVyQWNjZXNzaWJpbGl0eSIsImxldmVsIiwib3B0aW9ucyIsImFjY2Vzc2liaWxpdHkiLCJvdmVycmlkZXMiLCJpbmRlbnRXaWR0aCIsImFkZEFwaVByb2plY3QiLCJpc0RlY29oZXJlV29ya3NwYWNlIiwiQ3JlYXRlQ2xpRXJyb3IiLCJleGlzdGluZyIsImxpc3RFeGlzdGluZ0FwaU5hbWVzIiwid2ViYXBpUHJvamVjdERpciIsInBrZyIsImZyb21GaWxlIiwiam9pbiIsImV4aXN0c1N5bmMiLCJvZmZzZXQiLCJsZW5ndGgiLCJhZGRTY3JpcHQiLCJ3ZWJhcGlSZWxlYXNlRW50cnkiLCJ3ZWJhcGlQYWNrYWdlTmFtZSIsIm5hbWVkT25seSIsImFwaVByb2plY3QiLCJQcm9qZWN0U2NhZmZvbGQiLCJBcGlQYWNrYWdlSnNvbiIsIk1haW5Tb3VyY2VGaWxlIiwiQ29udHJvbGxlclNvdXJjZUZpbGUiLCJTYW1wbGVDb25maWdNb2RlbCIsIlNhbXBsZVNlcnZpY2VNb2RlbCIsImFkZFByb2plY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBMENTQTtlQUFBQSwwQkFBa0I7O1FBQUVDO2VBQUFBLDRCQUFvQjs7UUFrQjNCQztlQUFBQTs7O3dCQTVESzswQkFDYTs4QkFDVjtpQ0FDSDt1QkFDTTttQ0FDSjtrQ0FDRTs4QkFDUDtnQ0FDRTtpQ0FDQztrQ0FDQzs4QkFDc0I7K0JBQ3pCO21DQUNJO3FDQUNFO2lDQUNDO3lCQU16Qjt3QkFPQTs2QkFDaUM7NkJBQ1o7aUNBQ0k7aUNBQ0E7Z0NBQ0Q7cUNBQ0E7MkNBQ007K0JBQ0g7cUNBQ0g7MkNBQ1k7a0NBQ1c7a0NBQ25CO0FBa0JuQyxNQUFNQyxXQUFXO0lBQUNDLGdDQUFlO0lBQUVDLHdCQUFXO0lBQUVDLDhCQUFjO0lBQUVDLGdDQUFlO0NBQUM7QUFFekUsZUFBZUwsWUFBWU0sVUFBc0I7SUFDdkQsTUFBTUMsWUFBWUMsSUFBQUEsaUJBQU8sRUFBQ0YsV0FBV0csQ0FBQyxJQUFJO0lBQzFDLE1BQU1DLGNBQ0xKLFdBQVdJLFdBQVcsRUFBRUMsVUFDeEJDLFFBQVFDLEdBQUcsQ0FBQ0MscUJBQXFCLEVBQUVILFVBQ25DSSxJQUFBQSxrQkFBUSxFQUFDUjtJQUNWLE1BQU1TLFFBQVFDLElBQUFBLHNCQUFhLEVBQUNYLFdBQVdVLEtBQUs7SUFDNUMsTUFBTUUsWUFBWVosV0FBV2EsR0FBRyxHQUM3QkMsbUJBQW1CYixXQUFXRyxhQUFhTSxTQUMzQ0ssZ0JBQWdCZCxXQUFXRyxhQUFhTTtJQUMzQyxNQUFNTSxnQ0FBZSxDQUFDQyxRQUFRLENBQUNMLFdB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
@@ -162,3 +162,5 @@ const codebaseRagMcp = {
162
162
  seedPrint,
163
163
  main
164
164
  };
165
+
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy93ZWJhcGkvZGV2Y29udGFpbmVyL2NvZGViYXNlLXJhZy1tY3AudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Y2htb2RTeW5jLFxuXHRta2RpclN5bmMsXG5cdHJlYWRGaWxlU3luYyxcblx0cmVuYW1lU3luYyxcblx0c3RhdFN5bmMsXG5cdHdyaXRlRmlsZVN5bmMsXG59IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJub2RlOnVybFwiO1xuXG5leHBvcnQgdHlwZSBDb2RlYmFzZVJhZ0NyZWRlbnRpYWxzID0ge1xuXHR1cmw6IHN0cmluZztcblx0dG9rZW46IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE1jcEpzb24gPSB7XG5cdG1jcFNlcnZlcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcbn07XG5cbmZ1bmN0aW9uIGlzUmVjb3JkKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRyZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBsb2FkRG90ZW52KHBhdGg6IHN0cmluZywgZW52OiBOb2RlSlMuUHJvY2Vzc0Vudik6IHZvaWQge1xuXHRsZXQgcmF3OiBzdHJpbmc7XG5cdHRyeSB7XG5cdFx0cmF3ID0gcmVhZEZpbGVTeW5jKHBhdGgsIFwidXRmOFwiKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cdGZvciAoY29uc3QgbGluZSBvZiByYXcuc3BsaXQoL1xccj9cXG4vKSkge1xuXHRcdGNvbnN0IHRyaW1tZWQgPSBsaW5lLnRyaW0oKTtcblx0XHRpZiAoIXRyaW1tZWQgfHwgdHJpbW1lZC5zdGFydHNXaXRoKFwiI1wiKSB8fCAhdHJpbW1lZC5pbmNsdWRlcyhcIj1cIikpIGNvbnRpbnVlO1xuXHRcdGNvbnN0IGVxID0gdHJpbW1lZC5pbmRleE9mKFwiPVwiKTtcblx0XHRjb25zdCBrZXkgPSB0cmltbWVkLnNsaWNlKDAsIGVxKS50cmltKCk7XG5cdFx0Y29uc3QgdmFsdWUgPSB0cmltbWVkXG5cdFx0XHQuc2xpY2UoZXEgKyAxKVxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15bXCInXXxbXCInXSQvZywgXCJcIik7XG5cdFx0aWYgKGtleSAmJiBlbnZba2V5XSA9PT0gdW5kZWZpbmVkKSBlbnZba2V5XSA9IHZhbHVlO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHNlZWRGcm9tTWNwSnNvbihyYXc6IHN0cmluZyk6IENvZGViYXNlUmFnQ3JlZGVudGlhbHMgfCBudWxsIHtcblx0bGV0IGRhdGE6IHVua25vd247XG5cdHRyeSB7XG5cdFx0ZGF0YSA9IEpTT04ucGFyc2UocmF3KTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblx0aWYgKCFpc1JlY29yZChkYXRhKSkgcmV0dXJuIG51bGw7XG5cdGNvbnN0IHNlcnZlcnMgPSBkYXRhLm1jcFNlcnZlcnM7XG5cdGlmICghaXNSZWNvcmQoc2VydmVycykpIHJldHVybiBudWxsO1xuXHRjb25zdCBzZXJ2ZXIgPSBzZXJ2ZXJzW1wiY29kZWJhc2UtcmFnXCJdO1xuXHRpZiAoIWlzUmVjb3JkKHNlcnZlcikpIHJldHVybiBudWxsO1xuXHRjb25zdCB1cmwgPSB0eXBlb2Ygc2VydmVyLnVybCA9PT0gXCJzdHJpbmdcIiA/IHNlcnZlci51cmwudHJpbSgpIDogXCJcIjtcblx0Y29uc3QgaGVhZGVycyA9IGlzUmVjb3JkKHNlcnZlci5oZWFkZXJzKSA/IHNlcnZlci5oZWFkZXJzIDoge307XG5cdGNvbnN0IGF1dGggPSB0eXBlb2YgaGVhZGVycy5BdXRob3JpemF0aW9uID09PSBcInN0cmluZ1wiID8gaGVhZGVycy5BdXRob3JpemF0aW9uLnRyaW0oKSA6IFwiXCI7XG5cdGNvbnN0IHRva2VuID0gYXV0aC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJiZWFyZXIgXCIpID8gYXV0aC5zbGljZSg3KS50cmltKCkgOiBcIlwiO1xuXHRpZiAoIXVybC5zdGFydHNXaXRoKFwiaHR0cFwiKSB8fCB0b2tlbi5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuXHRyZXR1cm4geyB1cmwsIHRva2VuIH07XG59XG5cbmZ1bmN0aW9uIG1lcmdlSW50b01jcEpzb24oaW5wdXQ6IHtcblx0bWNwUGF0aDogc3RyaW5nO1xuXHR1cmw6IHN0cmluZztcblx0dG9rZW46IHN0cmluZztcblx0aG9zdFJvb3Q6IHN0cmluZztcbn0pOiB7IHNraXBwZWQ/OiBzdHJpbmc7IHBhdGg/OiBzdHJpbmc7IHJvb3Q/OiBzdHJpbmcgfSB7XG5cdGNvbnN0IHsgbWNwUGF0aCwgdXJsLCB0b2tlbiwgaG9zdFJvb3QgfSA9IGlucHV0O1xuXHRpZiAoIXVybCB8fCAhdG9rZW4pIHtcblx0XHRyZXR1cm4geyBza2lwcGVkOiBcIm5vIFVSTC90b2tlblwiIH07XG5cdH1cblxuXHRjb25zdCB4Um9vdCA9IGhvc3RSb290IHx8IFwiJHt3b3Jrc3BhY2VGb2xkZXJ9XCI7XG5cdG1rZGlyU3luYyhkaXJuYW1lKG1jcFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuXHRsZXQgZGF0YTogTWNwSnNvbiA9IHsgbWNwU2VydmVyczoge30gfTtcblx0dHJ5IHtcblx0XHRpZiAoc3RhdFN5bmMobWNwUGF0aCkuc2l6ZSA+IDApIHtcblx0XHRcdGNvbnN0IGxvYWRlZDogdW5rbm93biA9IEpTT04ucGFyc2UocmVhZEZpbGVTeW5jKG1jcFBhdGgsIFwidXRmOFwiKSk7XG5cdFx0XHRpZiAoaXNSZWNvcmQobG9hZGVkKSkgZGF0YSA9IGxvYWRlZCBhcyBNY3BKc29uO1xuXHRcdH1cblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0Y29uc3QgY29kZSA9IGlzUmVjb3JkKGVycikgJiYgdHlwZW9mIGVyci5jb2RlID09PSBcInN0cmluZ1wiID8gZXJyLmNvZGUgOiBcIlwiO1xuXHRcdGlmIChjb2RlICE9PSBcIkVOT0VOVFwiKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFx0XCJjb2RlYmFzZS1yYWcgTUNQOiBleGlzdGluZyBtY3AuanNvbiBpcyBpbnZhbGlkIEpTT047IHJlcGxhY2luZyByYWcgZW50cnkgb25seSBhZnRlciBiYWNrdXBcIixcblx0XHRcdCk7XG5cdFx0XHRyZW5hbWVTeW5jKG1jcFBhdGgsIGAke21jcFBhdGh9LmJha2ApO1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IHNlcnZlcnMgPSBpc1JlY29yZChkYXRhLm1jcFNlcnZlcnMpID8gZGF0YS5tY3BTZXJ2ZXJzIDoge307XG5cdGRhdGEubWNwU2VydmVycyA9IHNlcnZlcnM7XG5cdHNlcnZlcnNbXCJjb2RlYmFzZS1yYWdcIl0gPSB7XG5cdFx0dXJsLFxuXHRcdGhlYWRlcnM6IHtcblx0XHRcdEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuXHRcdFx0XCJYLUNvZGViYXNlLVJvb3RcIjogeFJvb3QsXG5cdFx0fSxcblx0fTtcblx0d3JpdGVGaWxlU3luYyhtY3BQYXRoLCBgJHtKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKX1cXG5gLCBcInV0ZjhcIik7XG5cdHRyeSB7XG5cdFx0Y2htb2RTeW5jKG1jcFBhdGgsIDBvNjAwKTtcblx0fSBjYXRjaCB7XG5cdFx0Ly8gbWVtZnMgYW5kIHNvbWUgaG9zdHMgb21pdCBjaG1vZFxuXHR9XG5cdHJldHVybiB7IHBhdGg6IG1jcFBhdGgsIHJvb3Q6IHhSb290IH07XG59XG5cbmZ1bmN0aW9uIHdvcmtzcGFjZVJvb3QoZW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHByb2Nlc3MuZW52KTogc3RyaW5nIHtcblx0Y29uc3QgZnJvbUVudiA9IGVudi5DT0RFQkFTRV9SQUdfV09SS1NQQUNFPy50cmltKCk7XG5cdGlmIChmcm9tRW52KSByZXR1cm4gZnJvbUVudjtcblx0Ly8gU2NhZmZvbGRlZCBjb3B5IGxpdmVzIGF0IDxyZXBvPi8uZGV2Y29udGFpbmVyL2NvZGViYXNlLXJhZy1tY3AudHNcblx0cmV0dXJuIGRpcm5hbWUoZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpKTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VGcm9tRW52KGVudjogTm9kZUpTLlByb2Nlc3NFbnYgPSBwcm9jZXNzLmVudik6IG51bWJlciB7XG5cdGNvbnN0IHJvb3QgPSB3b3Jrc3BhY2VSb290KGVudik7XG5cdGNvbnN0IGN1cnNvckRpciA9IGpvaW4ocm9vdCwgXCIuY3Vyc29yXCIpO1xuXHRsb2FkRG90ZW52KGpvaW4oY3Vyc29yRGlyLCBcImNvZGViYXNlLXJhZy5lbnZcIiksIGVudik7XG5cdGNvbnN0IHVybCA9IChlbnYuQ09ERUJBU0VfUkFHX01DUF9VUkwgPz8gXCJcIikudHJpbSgpO1xuXHRjb25zdCB0b2tlbiA9IChlbnYuQ09ERUJBU0VfUkFHX01DUF9UT0tFTiA/PyBcIlwiKS50cmltKCk7XG5cdGNvbnN0IGhvc3RSb290ID0gKGVudi5DT0RFQkFTRV9SQUdfTUNQX1JPT1QgPz8gXCJcIikudHJpbSgpIHx8IHJvb3Q7XG5cdGNvbnN0IHJlc3VsdCA9IG1lcmdlSW50b01jcEpzb24oe1xuXHRcdG1jcFBhdGg6IGpvaW4oY3Vyc29yRGlyLCBcIm1jcC5qc29uXCIpLFxuXHRcdHVybCxcblx0XHR0b2tlbixcblx0XHRob3N0Um9vdCxcblx0fSk7XG5cdGlmIChyZXN1bHQuc2tpcHBlZCAhPSBudWxsKSB7XG5cdFx0Y29uc29sZS5sb2coYGNvZGViYXNlLXJhZyBNQ1A6IHNraXBwZWQgKCR7cmVzdWx0LnNraXBwZWR9KWApO1xuXHRcdHJldHVybiAwO1xuXHR9XG5cdGNvbnNvbGUubG9nKGBjb2RlYmFzZS1yYWcgTUNQOiB3cm90ZSAke3Jlc3VsdC5wYXRofSB1cmw9JHt1cmx9IHJvb3Q9JHtyZXN1bHQucm9vdH1gKTtcblx0cmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIHNlZWRQcmludChtY3BQYXRoOiBzdHJpbmcpOiBudW1iZXIge1xuXHRsZXQgcmF3OiBzdHJpbmc7XG5cdHRyeSB7XG5cdFx0cmF3ID0gcmVhZEZpbGVTeW5jKG1jcFBhdGgsIFwidXRmOFwiKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIDE7XG5cdH1cblx0Y29uc3QgY3JlZHMgPSBzZWVkRnJvbU1jcEpzb24ocmF3KTtcblx0aWYgKGNyZWRzID09IG51bGwpIHJldHVybiAxO1xuXHRjb25zb2xlLmxvZyhjcmVkcy51cmwpO1xuXHRjb25zb2xlLmxvZyhjcmVkcy50b2tlbik7XG5cdHJldHVybiAwO1xufVxuXG5mdW5jdGlvbiBtYWluKGFyZ3YgPSBwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpOiBudW1iZXIge1xuXHRjb25zdCBjb21tYW5kID0gYXJndlswXSA/PyBcIm1lcmdlXCI7XG5cdGlmIChjb21tYW5kID09PSBcInNlZWQtcHJpbnRcIikge1xuXHRcdGNvbnN0IG1jcFBhdGggPSBhcmd2WzFdO1xuXHRcdGlmIChtY3BQYXRoID09IG51bGwgfHwgbWNwUGF0aC5sZW5ndGggPT09IDApIHJldHVybiAxO1xuXHRcdHJldHVybiBzZWVkUHJpbnQobWNwUGF0aCk7XG5cdH1cblx0aWYgKGNvbW1hbmQgPT09IFwibWVyZ2VcIikge1xuXHRcdHJldHVybiBtZXJnZUZyb21FbnYoKTtcblx0fVxuXHRjb25zb2xlLmVycm9yKGBjb2RlYmFzZS1yYWcgTUNQOiB1bmtub3duIGNvbW1hbmQgJHtjb21tYW5kfWApO1xuXHRyZXR1cm4gMTtcbn1cblxuY29uc3QgaW52b2tlZCA9IChwcm9jZXNzLmFyZ3ZbMV0gPz8gXCJcIikucmVwbGFjZUFsbChcIlxcXFxcIiwgXCIvXCIpO1xuaWYgKGludm9rZWQuZW5kc1dpdGgoXCIvY29kZWJhc2UtcmFnLW1jcC50c1wiKSB8fCBpbnZva2VkLmVuZHNXaXRoKFwiL2NvZGViYXNlLXJhZy1tY3AuanNcIikpIHtcblx0cHJvY2Vzcy5leGl0KG1haW4oKSk7XG59XG5cbmV4cG9ydCBjb25zdCBjb2RlYmFzZVJhZ01jcCA9IHtcblx0bG9hZERvdGVudixcblx0c2VlZEZyb21NY3BKc29uLFxuXHRtZXJnZUludG9NY3BKc29uLFxuXHRtZXJnZUZyb21FbnYsXG5cdHNlZWRQcmludCxcblx0bWFpbixcbn07XG4iXSwibmFtZXMiOlsiY29kZWJhc2VSYWdNY3AiLCJpc1JlY29yZCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwibG9hZERvdGVudiIsInBhdGgiLCJlbnYiLCJyYXciLCJyZWFkRmlsZVN5bmMiLCJsaW5lIiwic3BsaXQiLCJ0cmltbWVkIiwidHJpbSIsInN0YXJ0c1dpdGgiLCJpbmNsdWRlcyIsImVxIiwiaW5kZXhPZiIsImtleSIsInNsaWNlIiwicmVwbGFjZSIsInVuZGVmaW5lZCIsInNlZWRGcm9tTWNwSnNvbiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJzZXJ2ZXJzIiwibWNwU2VydmVycyIsInNlcnZlciIsInVybCIsImhlYWRlcnMiLCJhdXRoIiwiQXV0aG9yaXphdGlvbiIsInRva2VuIiwidG9Mb3dlckNhc2UiLCJsZW5ndGgiLCJtZXJnZUludG9NY3BKc29uIiwiaW5wdXQiLCJtY3BQYXRoIiwiaG9zdFJvb3QiLCJza2lwcGVkIiwieFJvb3QiLCJta2RpclN5bmMiLCJkaXJuYW1lIiwicmVjdXJzaXZlIiwic3RhdFN5bmMiLCJzaXplIiwibG9hZGVkIiwiZXJyIiwiY29kZSIsImNvbnNvbGUiLCJsb2ciLCJyZW5hbWVTeW5jIiwid3JpdGVGaWxlU3luYyIsInN0cmluZ2lmeSIsImNobW9kU3luYyIsInJvb3QiLCJ3b3Jrc3BhY2VSb290IiwicHJvY2VzcyIsImZyb21FbnYiLCJDT0RFQkFTRV9SQUdfV09SS1NQQUNFIiwiZmlsZVVSTFRvUGF0aCIsIm1lcmdlRnJvbUVudiIsImN1cnNvckRpciIsImpvaW4iLCJDT0RFQkFTRV9SQUdfTUNQX1VSTCIsIkNPREVCQVNFX1JBR19NQ1BfVE9LRU4iLCJDT0RFQkFTRV9SQUdfTUNQX1JPT1QiLCJyZXN1bHQiLCJzZWVkUHJpbnQiLCJjcmVkcyIsIm1haW4iLCJhcmd2IiwiY29tbWFuZCIsImVycm9yIiwiaW52b2tlZCIsInJlcGxhY2VBbGwiLCJlbmRzV2l0aCIsImV4aXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBOEthQTs7O2VBQUFBOzs7d0JBdktOOzBCQUN1Qjt5QkFDQTtBQVk5QixTQUFTQyxTQUFTQyxLQUFjO0lBQy9CLE9BQU9BLFNBQVMsUUFBUSxPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDRjtBQUNyRTtBQUVBLFNBQVNHLFdBQVdDLElBQVksRUFBRUMsR0FBc0I7SUFDdkQsSUFBSUM7SUFDSixJQUFJO1FBQ0hBLE1BQU1DLElBQUFBLG9CQUFZLEVBQUNILE1BQU07SUFDMUIsRUFBRSxPQUFNO1FBQ1A7SUFDRDtJQUNBLEtBQUssTUFBTUksUUFBUUYsSUFBSUcsS0FBSyxDQUFDLFNBQVU7UUFDdEMsTUFBTUMsVUFBVUYsS0FBS0csSUFBSTtRQUN6QixJQUFJLENBQUNELFdBQVdBLFFBQVFFLFVBQVUsQ0FBQyxRQUFRLENBQUNGLFFBQVFHLFFBQVEsQ0FBQyxNQUFNO1FBQ25FLE1BQU1DLEtBQUtKLFFBQVFLLE9BQU8sQ0FBQztRQUMzQixNQUFNQyxNQUFNTixRQUFRTyxLQUFLLENBQUMsR0FBR0gsSUFBSUgsSUFBSTtRQUNyQyxNQUFNWCxRQUFRVSxRQUNaTyxLQUFLLENBQUNILEtBQUssR0FDWEgsSUFBSSxHQUNKTyxPQUFPLENBQUMsZ0JBQWdCO1FBQzFCLElBQUlGLE9BQU9YLEdBQUcsQ0FBQ1csSUFBSSxLQUFLRyxXQUFXZCxHQUFHLENBQUNXLElBQUksR0FBR2hCO0lBQy9DO0FBQ0Q7QUFFQSxTQUFTb0IsZ0JBQWdCZCxHQUFXO0lBQ25DLElBQUllO0lBQ0osSUFBSTtRQUNIQSxPQUFPQyxLQUFLQyxLQUFLLENBQUNqQjtJQUNu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