@kapeta/local-cluster-service 0.24.2 → 0.25.0

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 (242) hide show
  1. package/.eslintrc.cjs +8 -0
  2. package/.github/workflows/check-license.yml +18 -0
  3. package/CHANGELOG.md +24 -0
  4. package/LICENSE +38 -21
  5. package/README.md +4 -0
  6. package/definitions.d.ts +5 -0
  7. package/dist/cjs/index.d.ts +4 -0
  8. package/dist/cjs/index.js +16 -2
  9. package/dist/cjs/src/RepositoryWatcher.d.ts +5 -0
  10. package/dist/cjs/src/RepositoryWatcher.js +27 -5
  11. package/dist/cjs/src/api.d.ts +4 -0
  12. package/dist/cjs/src/api.js +4 -0
  13. package/dist/cjs/src/assetManager.d.ts +5 -1
  14. package/dist/cjs/src/assetManager.js +4 -0
  15. package/dist/cjs/src/assets/routes.d.ts +4 -0
  16. package/dist/cjs/src/assets/routes.js +4 -0
  17. package/dist/cjs/src/attachments/routes.d.ts +4 -0
  18. package/dist/cjs/src/attachments/routes.js +4 -0
  19. package/dist/cjs/src/authManager.d.ts +4 -0
  20. package/dist/cjs/src/authManager.js +4 -0
  21. package/dist/cjs/src/cacheManager.d.ts +4 -0
  22. package/dist/cjs/src/cacheManager.js +4 -0
  23. package/dist/cjs/src/clusterService.d.ts +4 -0
  24. package/dist/cjs/src/clusterService.js +4 -0
  25. package/dist/cjs/src/codeGeneratorManager.d.ts +7 -3
  26. package/dist/cjs/src/codeGeneratorManager.js +4 -0
  27. package/dist/cjs/src/config/routes.d.ts +4 -0
  28. package/dist/cjs/src/config/routes.js +4 -0
  29. package/dist/cjs/src/configManager.d.ts +4 -0
  30. package/dist/cjs/src/configManager.js +4 -0
  31. package/dist/cjs/src/containerManager.d.ts +4 -0
  32. package/dist/cjs/src/containerManager.js +4 -0
  33. package/dist/cjs/src/definitionsManager.d.ts +4 -0
  34. package/dist/cjs/src/definitionsManager.js +4 -0
  35. package/dist/cjs/src/filesystem/routes.d.ts +4 -0
  36. package/dist/cjs/src/filesystem/routes.js +4 -0
  37. package/dist/cjs/src/filesystemManager.d.ts +4 -0
  38. package/dist/cjs/src/filesystemManager.js +4 -0
  39. package/dist/cjs/src/identities/routes.d.ts +4 -0
  40. package/dist/cjs/src/identities/routes.js +4 -0
  41. package/dist/cjs/src/instanceManager.d.ts +4 -0
  42. package/dist/cjs/src/instanceManager.js +4 -0
  43. package/dist/cjs/src/instances/routes.d.ts +4 -0
  44. package/dist/cjs/src/instances/routes.js +4 -0
  45. package/dist/cjs/src/middleware/cors.d.ts +4 -0
  46. package/dist/cjs/src/middleware/cors.js +4 -0
  47. package/dist/cjs/src/middleware/kapeta.d.ts +4 -0
  48. package/dist/cjs/src/middleware/kapeta.js +4 -0
  49. package/dist/cjs/src/middleware/stringBody.d.ts +4 -0
  50. package/dist/cjs/src/middleware/stringBody.js +4 -0
  51. package/dist/cjs/src/networkManager.d.ts +4 -0
  52. package/dist/cjs/src/networkManager.js +4 -0
  53. package/dist/cjs/src/operatorManager.d.ts +4 -0
  54. package/dist/cjs/src/operatorManager.js +4 -0
  55. package/dist/cjs/src/progressListener.d.ts +4 -0
  56. package/dist/cjs/src/progressListener.js +4 -0
  57. package/dist/cjs/src/providerManager.d.ts +4 -0
  58. package/dist/cjs/src/providerManager.js +4 -0
  59. package/dist/cjs/src/providers/routes.d.ts +4 -0
  60. package/dist/cjs/src/providers/routes.js +4 -0
  61. package/dist/cjs/src/proxy/routes.d.ts +4 -0
  62. package/dist/cjs/src/proxy/routes.js +4 -0
  63. package/dist/cjs/src/proxy/types/rest.d.ts +4 -0
  64. package/dist/cjs/src/proxy/types/rest.js +4 -0
  65. package/dist/cjs/src/proxy/types/web.d.ts +4 -0
  66. package/dist/cjs/src/proxy/types/web.js +4 -0
  67. package/dist/cjs/src/repositoryManager.d.ts +4 -0
  68. package/dist/cjs/src/repositoryManager.js +4 -0
  69. package/dist/cjs/src/serviceManager.d.ts +4 -0
  70. package/dist/cjs/src/serviceManager.js +4 -0
  71. package/dist/cjs/src/socketManager.d.ts +4 -0
  72. package/dist/cjs/src/socketManager.js +4 -0
  73. package/dist/cjs/src/storageService.d.ts +4 -0
  74. package/dist/cjs/src/storageService.js +4 -0
  75. package/dist/cjs/src/taskManager.d.ts +4 -0
  76. package/dist/cjs/src/taskManager.js +4 -0
  77. package/dist/cjs/src/tasks/routes.d.ts +4 -0
  78. package/dist/cjs/src/tasks/routes.js +4 -0
  79. package/dist/cjs/src/traffic/routes.d.ts +4 -0
  80. package/dist/cjs/src/traffic/routes.js +4 -0
  81. package/dist/cjs/src/types.d.ts +4 -0
  82. package/dist/cjs/src/types.js +4 -0
  83. package/dist/cjs/src/utils/BlockInstanceRunner.d.ts +4 -0
  84. package/dist/cjs/src/utils/BlockInstanceRunner.js +5 -1
  85. package/dist/cjs/src/utils/DefaultProviderInstaller.d.ts +4 -0
  86. package/dist/cjs/src/utils/DefaultProviderInstaller.js +4 -0
  87. package/dist/cjs/src/utils/LogData.d.ts +4 -0
  88. package/dist/cjs/src/utils/LogData.js +4 -0
  89. package/dist/cjs/src/utils/commandLineUtils.d.ts +5 -0
  90. package/dist/cjs/src/utils/commandLineUtils.js +11 -1
  91. package/dist/cjs/src/utils/pathTemplateParser.d.ts +4 -0
  92. package/dist/cjs/src/utils/pathTemplateParser.js +4 -0
  93. package/dist/cjs/src/utils/utils.d.ts +4 -0
  94. package/dist/cjs/src/utils/utils.js +4 -0
  95. package/dist/cjs/start.d.ts +4 -0
  96. package/dist/cjs/start.js +4 -0
  97. package/dist/cjs/test/proxy/types/rest.test.d.ts +4 -0
  98. package/dist/cjs/test/proxy/types/rest.test.js +4 -0
  99. package/dist/cjs/test/utils/pathTemplateParser.test.d.ts +4 -0
  100. package/dist/cjs/test/utils/pathTemplateParser.test.js +4 -0
  101. package/dist/esm/index.d.ts +4 -0
  102. package/dist/esm/index.js +16 -2
  103. package/dist/esm/src/RepositoryWatcher.d.ts +5 -0
  104. package/dist/esm/src/RepositoryWatcher.js +27 -5
  105. package/dist/esm/src/api.d.ts +4 -0
  106. package/dist/esm/src/api.js +4 -0
  107. package/dist/esm/src/assetManager.d.ts +5 -1
  108. package/dist/esm/src/assetManager.js +4 -0
  109. package/dist/esm/src/assets/routes.d.ts +4 -0
  110. package/dist/esm/src/assets/routes.js +4 -0
  111. package/dist/esm/src/attachments/routes.d.ts +4 -0
  112. package/dist/esm/src/attachments/routes.js +4 -0
  113. package/dist/esm/src/authManager.d.ts +4 -0
  114. package/dist/esm/src/authManager.js +4 -0
  115. package/dist/esm/src/cacheManager.d.ts +4 -0
  116. package/dist/esm/src/cacheManager.js +4 -0
  117. package/dist/esm/src/clusterService.d.ts +4 -0
  118. package/dist/esm/src/clusterService.js +4 -0
  119. package/dist/esm/src/codeGeneratorManager.d.ts +7 -3
  120. package/dist/esm/src/codeGeneratorManager.js +4 -0
  121. package/dist/esm/src/config/routes.d.ts +4 -0
  122. package/dist/esm/src/config/routes.js +4 -0
  123. package/dist/esm/src/configManager.d.ts +4 -0
  124. package/dist/esm/src/configManager.js +4 -0
  125. package/dist/esm/src/containerManager.d.ts +4 -0
  126. package/dist/esm/src/containerManager.js +4 -0
  127. package/dist/esm/src/definitionsManager.d.ts +4 -0
  128. package/dist/esm/src/definitionsManager.js +4 -0
  129. package/dist/esm/src/filesystem/routes.d.ts +4 -0
  130. package/dist/esm/src/filesystem/routes.js +4 -0
  131. package/dist/esm/src/filesystemManager.d.ts +4 -0
  132. package/dist/esm/src/filesystemManager.js +4 -0
  133. package/dist/esm/src/identities/routes.d.ts +4 -0
  134. package/dist/esm/src/identities/routes.js +4 -0
  135. package/dist/esm/src/instanceManager.d.ts +4 -0
  136. package/dist/esm/src/instanceManager.js +4 -0
  137. package/dist/esm/src/instances/routes.d.ts +4 -0
  138. package/dist/esm/src/instances/routes.js +4 -0
  139. package/dist/esm/src/middleware/cors.d.ts +4 -0
  140. package/dist/esm/src/middleware/cors.js +4 -0
  141. package/dist/esm/src/middleware/kapeta.d.ts +4 -0
  142. package/dist/esm/src/middleware/kapeta.js +4 -0
  143. package/dist/esm/src/middleware/stringBody.d.ts +4 -0
  144. package/dist/esm/src/middleware/stringBody.js +4 -0
  145. package/dist/esm/src/networkManager.d.ts +4 -0
  146. package/dist/esm/src/networkManager.js +4 -0
  147. package/dist/esm/src/operatorManager.d.ts +4 -0
  148. package/dist/esm/src/operatorManager.js +4 -0
  149. package/dist/esm/src/progressListener.d.ts +4 -0
  150. package/dist/esm/src/progressListener.js +4 -0
  151. package/dist/esm/src/providerManager.d.ts +4 -0
  152. package/dist/esm/src/providerManager.js +4 -0
  153. package/dist/esm/src/providers/routes.d.ts +4 -0
  154. package/dist/esm/src/providers/routes.js +4 -0
  155. package/dist/esm/src/proxy/routes.d.ts +4 -0
  156. package/dist/esm/src/proxy/routes.js +4 -0
  157. package/dist/esm/src/proxy/types/rest.d.ts +4 -0
  158. package/dist/esm/src/proxy/types/rest.js +4 -0
  159. package/dist/esm/src/proxy/types/web.d.ts +4 -0
  160. package/dist/esm/src/proxy/types/web.js +4 -0
  161. package/dist/esm/src/repositoryManager.d.ts +4 -0
  162. package/dist/esm/src/repositoryManager.js +4 -0
  163. package/dist/esm/src/serviceManager.d.ts +4 -0
  164. package/dist/esm/src/serviceManager.js +4 -0
  165. package/dist/esm/src/socketManager.d.ts +4 -0
  166. package/dist/esm/src/socketManager.js +4 -0
  167. package/dist/esm/src/storageService.d.ts +4 -0
  168. package/dist/esm/src/storageService.js +4 -0
  169. package/dist/esm/src/taskManager.d.ts +4 -0
  170. package/dist/esm/src/taskManager.js +4 -0
  171. package/dist/esm/src/tasks/routes.d.ts +4 -0
  172. package/dist/esm/src/tasks/routes.js +4 -0
  173. package/dist/esm/src/traffic/routes.d.ts +4 -0
  174. package/dist/esm/src/traffic/routes.js +4 -0
  175. package/dist/esm/src/types.d.ts +4 -0
  176. package/dist/esm/src/types.js +4 -0
  177. package/dist/esm/src/utils/BlockInstanceRunner.d.ts +4 -0
  178. package/dist/esm/src/utils/BlockInstanceRunner.js +5 -1
  179. package/dist/esm/src/utils/DefaultProviderInstaller.d.ts +4 -0
  180. package/dist/esm/src/utils/DefaultProviderInstaller.js +4 -0
  181. package/dist/esm/src/utils/LogData.d.ts +4 -0
  182. package/dist/esm/src/utils/LogData.js +4 -0
  183. package/dist/esm/src/utils/commandLineUtils.d.ts +5 -0
  184. package/dist/esm/src/utils/commandLineUtils.js +11 -1
  185. package/dist/esm/src/utils/pathTemplateParser.d.ts +4 -0
  186. package/dist/esm/src/utils/pathTemplateParser.js +4 -0
  187. package/dist/esm/src/utils/utils.d.ts +4 -0
  188. package/dist/esm/src/utils/utils.js +4 -0
  189. package/dist/esm/start.d.ts +4 -0
  190. package/dist/esm/start.js +4 -0
  191. package/dist/esm/test/proxy/types/rest.test.d.ts +4 -0
  192. package/dist/esm/test/proxy/types/rest.test.js +4 -0
  193. package/dist/esm/test/utils/pathTemplateParser.test.d.ts +4 -0
  194. package/dist/esm/test/utils/pathTemplateParser.test.js +4 -0
  195. package/index.ts +18 -3
  196. package/package.json +7 -3
  197. package/src/RepositoryWatcher.ts +34 -13
  198. package/src/api.ts +5 -0
  199. package/src/assetManager.ts +7 -2
  200. package/src/assets/routes.ts +5 -0
  201. package/src/attachments/routes.ts +5 -0
  202. package/src/authManager.ts +5 -0
  203. package/src/cacheManager.ts +5 -0
  204. package/src/clusterService.ts +5 -0
  205. package/src/codeGeneratorManager.ts +8 -3
  206. package/src/config/routes.ts +5 -0
  207. package/src/configManager.ts +5 -0
  208. package/src/containerManager.ts +5 -0
  209. package/src/definitionsManager.ts +5 -0
  210. package/src/filesystem/routes.ts +5 -0
  211. package/src/filesystemManager.ts +5 -0
  212. package/src/identities/routes.ts +5 -0
  213. package/src/instanceManager.ts +5 -0
  214. package/src/instances/routes.ts +5 -0
  215. package/src/middleware/cors.ts +5 -0
  216. package/src/middleware/kapeta.ts +5 -0
  217. package/src/middleware/stringBody.ts +5 -0
  218. package/src/networkManager.ts +5 -0
  219. package/src/operatorManager.ts +5 -0
  220. package/src/progressListener.ts +5 -0
  221. package/src/providerManager.ts +5 -0
  222. package/src/providers/routes.ts +5 -0
  223. package/src/proxy/routes.ts +5 -0
  224. package/src/proxy/types/rest.ts +5 -0
  225. package/src/proxy/types/web.ts +5 -0
  226. package/src/repositoryManager.ts +5 -0
  227. package/src/serviceManager.ts +5 -0
  228. package/src/socketManager.ts +5 -0
  229. package/src/storageService.ts +5 -0
  230. package/src/taskManager.ts +5 -0
  231. package/src/tasks/routes.ts +5 -0
  232. package/src/traffic/routes.ts +5 -0
  233. package/src/types.ts +5 -0
  234. package/src/utils/BlockInstanceRunner.ts +6 -1
  235. package/src/utils/DefaultProviderInstaller.ts +5 -0
  236. package/src/utils/LogData.ts +5 -0
  237. package/src/utils/commandLineUtils.ts +11 -0
  238. package/src/utils/pathTemplateParser.ts +5 -0
  239. package/src/utils/utils.ts +5 -0
  240. package/start.ts +5 -0
  241. package/test/proxy/types/rest.test.ts +5 -0
  242. package/test/utils/pathTemplateParser.test.ts +5 -0
package/.eslintrc.cjs CHANGED
@@ -9,6 +9,14 @@ module.exports = {
9
9
  '@typescript-eslint/no-unsafe-assignment': 'off',
10
10
  '@typescript-eslint/no-unsafe-member-access': 'off',
11
11
  '@typescript-eslint/no-unsafe-return': 'off',
12
+ '@typescript-eslint/no-misused-promises': [
13
+ 'error',
14
+ {
15
+ checksVoidReturn: {
16
+ arguments: false,
17
+ },
18
+ },
19
+ ],
12
20
  },
13
21
  parserOptions: {
14
22
  project: `${__dirname}/tsconfig.json`,
@@ -0,0 +1,18 @@
1
+ name: Check License Headers
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ check-license:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - name: Check out Git repository
10
+ uses: actions/checkout@v3
11
+
12
+ - name: Check License Headers
13
+ uses: kapetacom/check-license-action@master
14
+ with:
15
+ holder: 'Kapeta Inc.'
16
+ license: 'BUSL-1.1'
17
+ sources: 'src/**/* test/*'
18
+
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # [0.25.0](https://github.com/kapetacom/local-cluster-service/compare/v0.24.3...v0.25.0) (2023-11-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Disable eslint rule ([bcfe9bc](https://github.com/kapetacom/local-cluster-service/commit/bcfe9bc5835aff3de73b6ecfc7beab2df290b65a))
7
+ * Refactor .catch to try catch ([21101b2](https://github.com/kapetacom/local-cluster-service/commit/21101b274b7bb573afd14d11833bbfa63708edc0))
8
+ * Rename blockctl to kap in error message ([52b843d](https://github.com/kapetacom/local-cluster-service/commit/52b843db7f593381042b6adbd876451e5b819232))
9
+ * Run kap init without using a task ([d6975e1](https://github.com/kapetacom/local-cluster-service/commit/d6975e1dfb5518b7b8194351ddd7759d9a8e397a))
10
+ * Run kap:init without checking if commands exist ([159db0a](https://github.com/kapetacom/local-cluster-service/commit/159db0afdb2bc1d01e853900ff9b16de20ecfb86))
11
+ * Wait for ensureCLI to finish before calling ensureCLICommands ([178e387](https://github.com/kapetacom/local-cluster-service/commit/178e387df9c7b5e5aa975d4ee6c30112f624efcb))
12
+
13
+
14
+ ### Features
15
+
16
+ * Run kap init if any of the default commands are missing ([671f19c](https://github.com/kapetacom/local-cluster-service/commit/671f19cfa76408beed7818bdbc56915714d55f0c))
17
+
18
+ ## [0.24.3](https://github.com/kapetacom/local-cluster-service/compare/v0.24.2...v0.24.3) (2023-10-28)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * Handle renaming of local assets ([#92](https://github.com/kapetacom/local-cluster-service/issues/92)) ([2a8d278](https://github.com/kapetacom/local-cluster-service/commit/2a8d2785ae45f548333d6a177ed6b6096fa39c3c))
24
+
1
25
  ## [0.24.2](https://github.com/kapetacom/local-cluster-service/compare/v0.24.1...v0.24.2) (2023-10-27)
2
26
 
3
27
 
package/LICENSE CHANGED
@@ -1,21 +1,38 @@
1
- MIT License
2
-
3
- Copyright (c) 2019 kapetacom
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ License text copyright © 2023 MariaDB plc, All Rights Reserved. “Business Source License” is a trademark of MariaDB plc.
2
+
3
+ Licensor: Kapeta Inc.
4
+
5
+ Licensed Work: The Licensed Work is (c) 2023 Kapeta Inc.
6
+
7
+ Change Date: Four years from the date the Licensed Work is published
8
+
9
+ Change License: AGPLv1
10
+
11
+ Updated: Oct. 30, 2023
12
+
13
+ For information about alternative licensing arrangements for the Licensed Work, please contact licensing@kapeta.com.
14
+
15
+ Terms
16
+
17
+ The Licensor hereby grants you the right to copy, modify, create derivative works, redistribute, and make
18
+ non-production use of the Licensed Work. The Licensor may make an Additional Use Grant, above, permitting limited
19
+ production use.
20
+ Effective on the Change Date, or the fourth anniversary of the first publicly available distribution of a specific
21
+ version of the Licensed Work under this License, whichever comes first, the Licensor hereby grants you rights under the
22
+ terms of the Change License, and the rights granted in the paragraph above terminate.
23
+ If your use of the Licensed Work does not comply with the requirements currently in effect as described in this License,
24
+ you must purchase a commercial license from the Licensor, its affiliated entities, or authorized resellers, or you must
25
+ refrain from using the Licensed Work.
26
+ All copies of the original and modified Licensed Work, and derivative works of the Licensed Work, are subject to this
27
+ License. This License applies separately for each version of the Licensed Work and the Change Date may vary for each
28
+ version of the Licensed Work released by Licensor.
29
+ You must conspicuously display this License on each original or modified copy of the Licensed Work. If you receive the
30
+ Licensed Work in original or modified form from a third party, the terms and conditions set forth in this License apply
31
+ to your use of that work.
32
+ Any use of the Licensed Work in violation of this License will automatically terminate your rights under this License
33
+ for the current and all other versions of the Licensed Work.
34
+ This License does not grant you any right in any trademark or logo of Licensor or its affiliates (provided that you may
35
+ use a trademark or logo of Licensor as expressly required by this License).
36
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS
37
+ ALL WARRANTIES AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS
38
+ FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
package/README.md CHANGED
@@ -30,3 +30,7 @@ make them point to itself.
30
30
  This is to allow these scenarios:
31
31
  - Testing in production for a subset of users (Or just your own)
32
32
  - Development against a team or private sandbox to avoid running every service locally
33
+
34
+ ## License
35
+
36
+ This project is licensed under the BUSL-1.1 License - see the [LICENSE](LICENSE) file for details
package/definitions.d.ts CHANGED
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
5
+
1
6
  declare module 'recursive-watch' {
2
7
  export default function watch(path: string, callback: (filename: string) => void): () => void;
3
8
  }
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="node" />
2
6
  import HTTP from 'http';
3
7
  export type LocalClusterService = HTTP.Server & {
package/dist/cjs/index.js CHANGED
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -25,6 +29,7 @@ const api_1 = __importDefault(require("./src/api"));
25
29
  const utils_1 = require("./src/utils/utils");
26
30
  const request_1 = __importDefault(require("request"));
27
31
  const repositoryManager_1 = require("./src/repositoryManager");
32
+ const taskManager_1 = require("./src/taskManager");
28
33
  const commandLineUtils_1 = require("./src/utils/commandLineUtils");
29
34
  const DefaultProviderInstaller_1 = require("./src/utils/DefaultProviderInstaller");
30
35
  const authManager_1 = require("./src/authManager");
@@ -151,7 +156,7 @@ exports.default = {
151
156
  if (clusterHost !== host) {
152
157
  storageService_1.storageService.put('cluster', 'host', host);
153
158
  }
154
- return new Promise(async (resolve, reject) => {
159
+ return new Promise((resolve, reject) => {
155
160
  if (!currentServer) {
156
161
  reject(new Error(`Current server wasn't set`));
157
162
  return;
@@ -166,11 +171,20 @@ exports.default = {
166
171
  const bindHost = (0, utils_1.getBindHost)(host);
167
172
  currentServer.listen(port, bindHost, async () => {
168
173
  try {
169
- (0, commandLineUtils_1.ensureCLI)().catch((e) => console.error('Failed to install CLI.', e));
174
+ const ensureCLITask = await (0, commandLineUtils_1.ensureCLI)();
175
+ if (ensureCLITask) {
176
+ await taskManager_1.taskManager.waitFor((t) => t === ensureCLITask);
177
+ }
170
178
  }
171
179
  catch (e) {
172
180
  console.error('Failed to install CLI.', e);
173
181
  }
182
+ try {
183
+ await (0, commandLineUtils_1.ensureCLICommands)();
184
+ }
185
+ catch (error) {
186
+ console.error('Failed to ensure default CLI commands', error);
187
+ }
174
188
  try {
175
189
  // Start installation process for all default providers
176
190
  await repositoryManager_1.repositoryManager.ensureDefaultProviders();
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="node" />
2
6
  import { SourceOfChange } from './types';
3
7
  import { EventEmitter } from 'node:events';
@@ -16,6 +20,7 @@ export declare class RepositoryWatcher extends EventEmitter {
16
20
  unwatch(): Promise<void>;
17
21
  private getAssetIdentity;
18
22
  private handleFileChange;
23
+ private getRepositoryPath;
19
24
  private checkForChange;
20
25
  private exists;
21
26
  private removeSymlinkTarget;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -14,6 +18,7 @@ const lodash_1 = __importDefault(require("lodash"));
14
18
  const socketManager_1 = require("./socketManager");
15
19
  const cacheManager_1 = require("./cacheManager");
16
20
  const node_events_1 = require("node:events");
21
+ const assetManager_1 = require("./assetManager");
17
22
  const KAPETA_YML_RX = /^kapeta.ya?ml$/;
18
23
  class RepositoryWatcher extends node_events_1.EventEmitter {
19
24
  watcher;
@@ -134,11 +139,11 @@ class RepositoryWatcher extends node_events_1.EventEmitter {
134
139
  if (!path) {
135
140
  return;
136
141
  }
137
- const assetIdentity = await this.getAssetIdentity(path);
138
- if (!assetIdentity) {
142
+ if (this.disabled) {
139
143
  return;
140
144
  }
141
- if (this.disabled) {
145
+ const assetIdentity = await this.getAssetIdentity(path);
146
+ if (!assetIdentity) {
142
147
  return;
143
148
  }
144
149
  // If this is false it's because we're watching a symlink target
@@ -156,13 +161,31 @@ class RepositoryWatcher extends node_events_1.EventEmitter {
156
161
  await this.updateSymlinkTarget(path);
157
162
  }
158
163
  }
164
+ const repoPath = this.getRepositoryPath(assetIdentity);
165
+ if (eventName === 'change' &&
166
+ !withinRepo &&
167
+ assetIdentity.version === 'local' &&
168
+ node_path_1.default.basename(path) === 'kapeta.yml' &&
169
+ (await this.exists(path)) &&
170
+ !(await this.exists(repoPath))) {
171
+ // This happens when a local asset is renamed
172
+ const oldPath = lodash_1.default.findKey(this.symbolicLinks, (link) => link === path);
173
+ if (oldPath) {
174
+ await fs_extra_1.default.unlink(oldPath);
175
+ await assetManager_1.assetManager.importFile(path);
176
+ return;
177
+ }
178
+ }
159
179
  const sourceOfChange = this.sourceOfChange.get(path) ?? 'filesystem';
160
180
  await this.checkForChange(assetIdentity, sourceOfChange);
161
181
  // We consume the sourceOfChange when the file is changed
162
182
  this.sourceOfChange.delete(path);
163
183
  }
184
+ getRepositoryPath(assetIdentity) {
185
+ return node_path_1.default.join(this.baseDir, assetIdentity.handle, assetIdentity.name, assetIdentity.version);
186
+ }
164
187
  async checkForChange(assetIdentity, sourceOfChange) {
165
- const ymlPath = node_path_1.default.join(this.baseDir, assetIdentity.handle, assetIdentity.name, assetIdentity.version, 'kapeta.yml');
188
+ const ymlPath = node_path_1.default.join(this.getRepositoryPath(assetIdentity), 'kapeta.yml');
166
189
  const newDefinitions = local_cluster_config_1.default.getDefinitions();
167
190
  const newDefinition = newDefinitions.find((d) => d.ymlPath === ymlPath);
168
191
  let currentDefinition = this.allDefinitions.find((d) => d.ymlPath === ymlPath);
@@ -187,7 +210,6 @@ class RepositoryWatcher extends node_events_1.EventEmitter {
187
210
  }
188
211
  else {
189
212
  if (currentDefinition) {
190
- const ref = (0, nodejs_utils_1.parseKapetaUri)(`${currentDefinition.definition.metadata.name}:${currentDefinition.version}`).id;
191
213
  //Something was removed
192
214
  type = 'removed';
193
215
  }
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare const router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  import { Definition } from '@kapeta/local-cluster-config';
2
6
  import { BlockDefinition, BlockInstance, Plan } from '@kapeta/schemas';
3
7
  import { SourceOfChange } from './types';
@@ -23,7 +27,7 @@ declare class AssetManager {
23
27
  getBlockInstance(systemId: string, instanceId: string): Promise<BlockInstance>;
24
28
  getAsset(ref: string, noCache?: boolean, autoFetch?: boolean): Promise<EnrichedAsset | undefined>;
25
29
  createAsset(path: string, yaml: BlockDefinition, sourceOfChange?: SourceOfChange): Promise<EnrichedAsset[]>;
26
- updateAsset(ref: string, yaml: BlockDefinition, sourceOfChange?: SourceOfChange): Promise<void>;
30
+ updateAsset(ref: string, yaml: Definition, sourceOfChange?: SourceOfChange): Promise<void>;
27
31
  importFile(filePath: string): Promise<EnrichedAsset[]>;
28
32
  unregisterAsset(ref: string): Promise<void>;
29
33
  installAsset(ref: string, wait?: boolean): Promise<import("./taskManager").Task<void>[] | undefined>;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare const router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare const router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="node" />
2
6
  import { EventEmitter } from 'node:events';
3
7
  declare class AuthManager extends EventEmitter {
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  export interface CacheEntry<T = any> {
2
6
  expires: number;
3
7
  data: T;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  declare class ClusterService {
2
6
  private _port;
3
7
  private _currentPort;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.clusterService = void 0;
4
8
  const nodejs_utils_1 = require("@kapeta/nodejs-utils");
@@ -1,10 +1,14 @@
1
- import { BlockDefinition } from '@kapeta/schemas';
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
5
+ import { Definition } from '@kapeta/local-cluster-config';
2
6
  declare class CodeGeneratorManager {
3
7
  private ensureLanguageTargetInRegistry;
4
8
  reload(): Promise<void>;
5
9
  initialize(): Promise<void>;
6
- canGenerateCode(yamlContent: BlockDefinition): Promise<boolean>;
7
- generate(yamlFile: string, yamlContent: BlockDefinition): Promise<void>;
10
+ canGenerateCode(yamlContent: Definition): Promise<boolean>;
11
+ generate(yamlFile: string, yamlContent: Definition): Promise<void>;
8
12
  }
9
13
  export declare const codeGeneratorManager: CodeGeneratorManager;
10
14
  export {};
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare const router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  export declare const SYSTEM_ID = "$plan";
2
6
  type AnyMap = {
3
7
  [key: string]: any;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.configManager = exports.SYSTEM_ID = void 0;
4
8
  const storageService_1 = require("./storageService");
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="node" />
2
6
  import FSExtra from 'fs-extra';
3
7
  import Docker from 'dockerode';
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  import { DefinitionInfo } from '@kapeta/local-cluster-config';
2
6
  export declare const SAMPLE_PLAN_NAME = "kapeta/sample-java-chat-plan";
3
7
  declare class DefinitionsManager {
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare let router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="node" />
2
6
  declare class FilesystemManager {
3
7
  writeFile(path: string, data: string | Buffer): Promise<void>;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare const router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  import { InstanceInfo, LogEntry } from './types';
2
6
  import { Task } from './taskManager';
3
7
  export declare class InstanceManager {
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  /// <reference types="express" />
2
6
  declare const router: import("express").Router;
3
7
  export default router;
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2023 Kapeta Inc.
4
+ * SPDX-License-Identifier: BUSL-1.1
5
+ */
2
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
8
  };
@@ -1,2 +1,6 @@
1
+ /**
2
+ * Copyright 2023 Kapeta Inc.
3
+ * SPDX-License-Identifier: BUSL-1.1
4
+ */
1
5
  import { NextFunction, Request, Response } from 'express';
2
6
  export declare function corsHandler(req: Request, res: Response, next: NextFunction): void;