@wildo-ai/platform-config-lib 1.0.1

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 (230) hide show
  1. package/dist/esm/bootstrap/application-backend-env.contracts.d.ts +2 -0
  2. package/dist/esm/bootstrap/application-backend-env.contracts.d.ts.map +1 -0
  3. package/dist/esm/bootstrap/application-backend-env.contracts.js +2 -0
  4. package/dist/esm/bootstrap/application-backend-env.contracts.js.map +1 -0
  5. package/dist/esm/bootstrap/bootstrap-planner.d.ts +20 -0
  6. package/dist/esm/bootstrap/bootstrap-planner.d.ts.map +1 -0
  7. package/dist/esm/bootstrap/bootstrap-planner.js +26 -0
  8. package/dist/esm/bootstrap/bootstrap-planner.js.map +1 -0
  9. package/dist/esm/bootstrap/bootstrap.contracts.d.ts +120 -0
  10. package/dist/esm/bootstrap/bootstrap.contracts.d.ts.map +1 -0
  11. package/dist/esm/bootstrap/bootstrap.contracts.js +117 -0
  12. package/dist/esm/bootstrap/bootstrap.contracts.js.map +1 -0
  13. package/dist/esm/bootstrap/bootstrap.schemas.d.ts +485 -0
  14. package/dist/esm/bootstrap/bootstrap.schemas.d.ts.map +1 -0
  15. package/dist/esm/bootstrap/bootstrap.schemas.js +130 -0
  16. package/dist/esm/bootstrap/bootstrap.schemas.js.map +1 -0
  17. package/dist/esm/bootstrap/platform-runtime-env.contracts.d.ts +78 -0
  18. package/dist/esm/bootstrap/platform-runtime-env.contracts.d.ts.map +1 -0
  19. package/dist/esm/bootstrap/platform-runtime-env.contracts.js +98 -0
  20. package/dist/esm/bootstrap/platform-runtime-env.contracts.js.map +1 -0
  21. package/dist/esm/bootstrap/runtime-topology.contracts.d.ts +17 -0
  22. package/dist/esm/bootstrap/runtime-topology.contracts.d.ts.map +1 -0
  23. package/dist/esm/bootstrap/runtime-topology.contracts.js +60 -0
  24. package/dist/esm/bootstrap/runtime-topology.contracts.js.map +1 -0
  25. package/dist/esm/credentials/credential-generator.service.d.ts +11 -0
  26. package/dist/esm/credentials/credential-generator.service.d.ts.map +1 -0
  27. package/dist/esm/credentials/credential-generator.service.js +31 -0
  28. package/dist/esm/credentials/credential-generator.service.js.map +1 -0
  29. package/dist/esm/credentials/credentials-provisioner.service.d.ts +190 -0
  30. package/dist/esm/credentials/credentials-provisioner.service.d.ts.map +1 -0
  31. package/dist/esm/credentials/credentials-provisioner.service.js +278 -0
  32. package/dist/esm/credentials/credentials-provisioner.service.js.map +1 -0
  33. package/dist/esm/index.d.ts +16 -0
  34. package/dist/esm/index.d.ts.map +1 -0
  35. package/dist/esm/index.js +16 -0
  36. package/dist/esm/index.js.map +1 -0
  37. package/dist/esm/infra-managers/infra-manager.models.d.ts +146 -0
  38. package/dist/esm/infra-managers/infra-manager.models.d.ts.map +1 -0
  39. package/dist/esm/infra-managers/infra-manager.models.js +2 -0
  40. package/dist/esm/infra-managers/infra-manager.models.js.map +1 -0
  41. package/dist/esm/infra-managers/mongo-atlas-manager.service.d.ts +64 -0
  42. package/dist/esm/infra-managers/mongo-atlas-manager.service.d.ts.map +1 -0
  43. package/dist/esm/infra-managers/mongo-atlas-manager.service.js +307 -0
  44. package/dist/esm/infra-managers/mongo-atlas-manager.service.js.map +1 -0
  45. package/dist/esm/infra-managers/postgresql-manager.service.d.ts +115 -0
  46. package/dist/esm/infra-managers/postgresql-manager.service.d.ts.map +1 -0
  47. package/dist/esm/infra-managers/postgresql-manager.service.js +403 -0
  48. package/dist/esm/infra-managers/postgresql-manager.service.js.map +1 -0
  49. package/dist/esm/infra-managers/rabbitmq-manager.service.d.ts +64 -0
  50. package/dist/esm/infra-managers/rabbitmq-manager.service.d.ts.map +1 -0
  51. package/dist/esm/infra-managers/rabbitmq-manager.service.js +288 -0
  52. package/dist/esm/infra-managers/rabbitmq-manager.service.js.map +1 -0
  53. package/dist/esm/infra-managers/redis-manager.service.d.ts +78 -0
  54. package/dist/esm/infra-managers/redis-manager.service.d.ts.map +1 -0
  55. package/dist/esm/infra-managers/redis-manager.service.js +326 -0
  56. package/dist/esm/infra-managers/redis-manager.service.js.map +1 -0
  57. package/dist/esm/project-config/define-framework-config.d.ts +36 -0
  58. package/dist/esm/project-config/define-framework-config.d.ts.map +1 -0
  59. package/dist/esm/project-config/define-framework-config.js +30 -0
  60. package/dist/esm/project-config/define-framework-config.js.map +1 -0
  61. package/dist/esm/project-config/define-infra-config.d.ts +128 -0
  62. package/dist/esm/project-config/define-infra-config.d.ts.map +1 -0
  63. package/dist/esm/project-config/define-infra-config.js +87 -0
  64. package/dist/esm/project-config/define-infra-config.js.map +1 -0
  65. package/dist/esm/project-config/define-minion-config.d.ts +41 -0
  66. package/dist/esm/project-config/define-minion-config.d.ts.map +1 -0
  67. package/dist/esm/project-config/define-minion-config.js +24 -0
  68. package/dist/esm/project-config/define-minion-config.js.map +1 -0
  69. package/dist/esm/project-config/define-platform-config.d.ts +65 -0
  70. package/dist/esm/project-config/define-platform-config.d.ts.map +1 -0
  71. package/dist/esm/project-config/define-platform-config.js +22 -0
  72. package/dist/esm/project-config/define-platform-config.js.map +1 -0
  73. package/dist/esm/project-config/define-platform-env-config.d.ts +41 -0
  74. package/dist/esm/project-config/define-platform-env-config.d.ts.map +1 -0
  75. package/dist/esm/project-config/define-platform-env-config.js +45 -0
  76. package/dist/esm/project-config/define-platform-env-config.js.map +1 -0
  77. package/dist/esm/project-config/define-project-config.d.ts +38 -0
  78. package/dist/esm/project-config/define-project-config.d.ts.map +1 -0
  79. package/dist/esm/project-config/define-project-config.js +57 -0
  80. package/dist/esm/project-config/define-project-config.js.map +1 -0
  81. package/dist/esm/project-config/define-saas-config.d.ts +252 -0
  82. package/dist/esm/project-config/define-saas-config.d.ts.map +1 -0
  83. package/dist/esm/project-config/define-saas-config.js +137 -0
  84. package/dist/esm/project-config/define-saas-config.js.map +1 -0
  85. package/dist/esm/project-config/define-sharing-policy.d.ts +35 -0
  86. package/dist/esm/project-config/define-sharing-policy.d.ts.map +1 -0
  87. package/dist/esm/project-config/define-sharing-policy.js +30 -0
  88. package/dist/esm/project-config/define-sharing-policy.js.map +1 -0
  89. package/dist/esm/project-config/define-worker-config.d.ts +42 -0
  90. package/dist/esm/project-config/define-worker-config.d.ts.map +1 -0
  91. package/dist/esm/project-config/define-worker-config.js +24 -0
  92. package/dist/esm/project-config/define-worker-config.js.map +1 -0
  93. package/dist/esm/project-config/index.d.ts +22 -0
  94. package/dist/esm/project-config/index.d.ts.map +1 -0
  95. package/dist/esm/project-config/index.js +22 -0
  96. package/dist/esm/project-config/index.js.map +1 -0
  97. package/dist/esm/project-config/loader.d.ts +42 -0
  98. package/dist/esm/project-config/loader.d.ts.map +1 -0
  99. package/dist/esm/project-config/loader.js +164 -0
  100. package/dist/esm/project-config/loader.js.map +1 -0
  101. package/dist/esm/project-config/shared/application-modules.schemas.d.ts +10 -0
  102. package/dist/esm/project-config/shared/application-modules.schemas.d.ts.map +1 -0
  103. package/dist/esm/project-config/shared/application-modules.schemas.js +6 -0
  104. package/dist/esm/project-config/shared/application-modules.schemas.js.map +1 -0
  105. package/dist/esm/project-config/shared/application-modules.utils.d.ts +6 -0
  106. package/dist/esm/project-config/shared/application-modules.utils.d.ts.map +1 -0
  107. package/dist/esm/project-config/shared/application-modules.utils.js +26 -0
  108. package/dist/esm/project-config/shared/application-modules.utils.js.map +1 -0
  109. package/dist/esm/project-config/shared/backing-services.schemas.d.ts +68 -0
  110. package/dist/esm/project-config/shared/backing-services.schemas.d.ts.map +1 -0
  111. package/dist/esm/project-config/shared/backing-services.schemas.js +49 -0
  112. package/dist/esm/project-config/shared/backing-services.schemas.js.map +1 -0
  113. package/dist/esm/project-config/shared/data-services.schemas.d.ts +33 -0
  114. package/dist/esm/project-config/shared/data-services.schemas.d.ts.map +1 -0
  115. package/dist/esm/project-config/shared/data-services.schemas.js +47 -0
  116. package/dist/esm/project-config/shared/data-services.schemas.js.map +1 -0
  117. package/dist/esm/project-config/shared/env-example-defaults.d.ts +27 -0
  118. package/dist/esm/project-config/shared/env-example-defaults.d.ts.map +1 -0
  119. package/dist/esm/project-config/shared/env-example-defaults.js +30 -0
  120. package/dist/esm/project-config/shared/env-example-defaults.js.map +1 -0
  121. package/dist/esm/project-config/shared/environment.schemas.d.ts +106 -0
  122. package/dist/esm/project-config/shared/environment.schemas.d.ts.map +1 -0
  123. package/dist/esm/project-config/shared/environment.schemas.js +111 -0
  124. package/dist/esm/project-config/shared/environment.schemas.js.map +1 -0
  125. package/dist/esm/project-config/shared/infrastructure-defaults.schemas.d.ts +42 -0
  126. package/dist/esm/project-config/shared/infrastructure-defaults.schemas.d.ts.map +1 -0
  127. package/dist/esm/project-config/shared/infrastructure-defaults.schemas.js +42 -0
  128. package/dist/esm/project-config/shared/infrastructure-defaults.schemas.js.map +1 -0
  129. package/dist/esm/project-config/shared/k8s-utils.d.ts +36 -0
  130. package/dist/esm/project-config/shared/k8s-utils.d.ts.map +1 -0
  131. package/dist/esm/project-config/shared/k8s-utils.js +50 -0
  132. package/dist/esm/project-config/shared/k8s-utils.js.map +1 -0
  133. package/dist/esm/project-config/shared/platform-services.schemas.d.ts +30 -0
  134. package/dist/esm/project-config/shared/platform-services.schemas.d.ts.map +1 -0
  135. package/dist/esm/project-config/shared/platform-services.schemas.js +27 -0
  136. package/dist/esm/project-config/shared/platform-services.schemas.js.map +1 -0
  137. package/dist/esm/project-config/shared/service-definitions.schemas.d.ts +42 -0
  138. package/dist/esm/project-config/shared/service-definitions.schemas.d.ts.map +1 -0
  139. package/dist/esm/project-config/shared/service-definitions.schemas.js +29 -0
  140. package/dist/esm/project-config/shared/service-definitions.schemas.js.map +1 -0
  141. package/dist/esm/project-config/sharing-policy-validation.d.ts +40 -0
  142. package/dist/esm/project-config/sharing-policy-validation.d.ts.map +1 -0
  143. package/dist/esm/project-config/sharing-policy-validation.js +143 -0
  144. package/dist/esm/project-config/sharing-policy-validation.js.map +1 -0
  145. package/dist/esm/release/framework-release.constants.d.ts +3 -0
  146. package/dist/esm/release/framework-release.constants.d.ts.map +1 -0
  147. package/dist/esm/release/framework-release.constants.js +3 -0
  148. package/dist/esm/release/framework-release.constants.js.map +1 -0
  149. package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.d.ts +23 -0
  150. package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.d.ts.map +1 -0
  151. package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.js +13 -0
  152. package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.js.map +1 -0
  153. package/dist/esm/schemas/framework-info.schemas.d.ts +8 -0
  154. package/dist/esm/schemas/framework-info.schemas.d.ts.map +1 -0
  155. package/dist/esm/schemas/framework-info.schemas.js +8 -0
  156. package/dist/esm/schemas/framework-info.schemas.js.map +1 -0
  157. package/dist/esm/schemas/framework-secrets.schemas.d.ts +22 -0
  158. package/dist/esm/schemas/framework-secrets.schemas.d.ts.map +1 -0
  159. package/dist/esm/schemas/framework-secrets.schemas.js +14 -0
  160. package/dist/esm/schemas/framework-secrets.schemas.js.map +1 -0
  161. package/dist/esm/schemas/platform-application-config.schemas.d.ts +20 -0
  162. package/dist/esm/schemas/platform-application-config.schemas.d.ts.map +1 -0
  163. package/dist/esm/schemas/platform-application-config.schemas.js +19 -0
  164. package/dist/esm/schemas/platform-application-config.schemas.js.map +1 -0
  165. package/dist/esm/schemas/platform-application-secrets.schemas.d.ts +54 -0
  166. package/dist/esm/schemas/platform-application-secrets.schemas.d.ts.map +1 -0
  167. package/dist/esm/schemas/platform-application-secrets.schemas.js +67 -0
  168. package/dist/esm/schemas/platform-application-secrets.schemas.js.map +1 -0
  169. package/dist/esm/schemas/platform-config.schemas.d.ts +66 -0
  170. package/dist/esm/schemas/platform-config.schemas.d.ts.map +1 -0
  171. package/dist/esm/schemas/platform-config.schemas.js +28 -0
  172. package/dist/esm/schemas/platform-config.schemas.js.map +1 -0
  173. package/dist/esm/workspace-scope/index.d.ts +3 -0
  174. package/dist/esm/workspace-scope/index.d.ts.map +1 -0
  175. package/dist/esm/workspace-scope/index.js +3 -0
  176. package/dist/esm/workspace-scope/index.js.map +1 -0
  177. package/dist/esm/workspace-scope/workspace-scope-detector.d.ts +15 -0
  178. package/dist/esm/workspace-scope/workspace-scope-detector.d.ts.map +1 -0
  179. package/dist/esm/workspace-scope/workspace-scope-detector.js +87 -0
  180. package/dist/esm/workspace-scope/workspace-scope-detector.js.map +1 -0
  181. package/dist/esm/workspace-scope/workspace-scope.schemas.d.ts +118 -0
  182. package/dist/esm/workspace-scope/workspace-scope.schemas.d.ts.map +1 -0
  183. package/dist/esm/workspace-scope/workspace-scope.schemas.js +157 -0
  184. package/dist/esm/workspace-scope/workspace-scope.schemas.js.map +1 -0
  185. package/dist/tsconfig.build.tsbuildinfo +1 -0
  186. package/package.json +52 -0
  187. package/src/bootstrap/application-backend-env.contracts.ts +17 -0
  188. package/src/bootstrap/bootstrap-planner.ts +46 -0
  189. package/src/bootstrap/bootstrap.contracts.ts +251 -0
  190. package/src/bootstrap/bootstrap.schemas.ts +164 -0
  191. package/src/bootstrap/platform-runtime-env.contracts.ts +99 -0
  192. package/src/bootstrap/runtime-topology.contracts.ts +102 -0
  193. package/src/credentials/credential-generator.service.ts +39 -0
  194. package/src/index.ts +16 -0
  195. package/src/project-config/__tests__/application-modules.utils.test.ts +53 -0
  196. package/src/project-config/__tests__/define-framework-config.test.ts +43 -0
  197. package/src/project-config/__tests__/define-saas-config.test.ts +210 -0
  198. package/src/project-config/__tests__/loader.test.ts +100 -0
  199. package/src/project-config/define-framework-config.ts +44 -0
  200. package/src/project-config/define-infra-config.ts +168 -0
  201. package/src/project-config/define-minion-config.ts +27 -0
  202. package/src/project-config/define-platform-config.ts +28 -0
  203. package/src/project-config/define-platform-env-config.ts +59 -0
  204. package/src/project-config/define-project-config.ts +63 -0
  205. package/src/project-config/define-saas-config.ts +171 -0
  206. package/src/project-config/define-sharing-policy.ts +36 -0
  207. package/src/project-config/define-worker-config.ts +27 -0
  208. package/src/project-config/index.ts +23 -0
  209. package/src/project-config/loader.ts +220 -0
  210. package/src/project-config/shared/application-modules.schemas.ts +12 -0
  211. package/src/project-config/shared/application-modules.utils.ts +65 -0
  212. package/src/project-config/shared/backing-services.schemas.ts +59 -0
  213. package/src/project-config/shared/data-services.schemas.ts +58 -0
  214. package/src/project-config/shared/env-example-defaults.ts +50 -0
  215. package/src/project-config/shared/environment.schemas.ts +136 -0
  216. package/src/project-config/shared/infrastructure-defaults.schemas.ts +47 -0
  217. package/src/project-config/shared/k8s-utils.ts +56 -0
  218. package/src/project-config/shared/platform-services.schemas.ts +33 -0
  219. package/src/project-config/shared/service-definitions.schemas.ts +38 -0
  220. package/src/project-config/sharing-policy-validation.ts +159 -0
  221. package/src/release/framework-release.constants.ts +2 -0
  222. package/src/schemas/__tests__/platform-config.schemas.test.ts +90 -0
  223. package/src/schemas/framework-info.schemas.ts +13 -0
  224. package/src/schemas/framework-secrets.schemas.ts +19 -0
  225. package/src/schemas/platform-application-config.schemas.ts +25 -0
  226. package/src/schemas/platform-application-secrets.schemas.ts +78 -0
  227. package/src/schemas/platform-config.schemas.ts +45 -0
  228. package/src/workspace-scope/index.ts +2 -0
  229. package/src/workspace-scope/workspace-scope-detector.ts +98 -0
  230. package/src/workspace-scope/workspace-scope.schemas.ts +224 -0
@@ -0,0 +1,2 @@
1
+ export { APPLICATION_BACKEND_BOOTSTRAP_ENV_KEY_LIST, APPLICATION_BACKEND_DATA_ENV_KEY_LIST, APPLICATION_BACKEND_ENV_KEY_LIST, APPLICATION_BACKEND_PLATFORM_URL_ENV_KEY_LIST, APPLICATION_BACKEND_RUNTIME_ENV_KEY_LIST, APPLICATION_BACKEND_SENSITIVE_ENV_KEYS, ApplicationBackendBootstrapEnvKey, ApplicationBackendBootstrapEnvKeys, ApplicationBackendDataEnvKey, ApplicationBackendDataEnvKeys, type ApplicationBackendEnvKey, ApplicationBackendPlatformUrlEnvKey, ApplicationBackendPlatformUrlEnvKeys, ApplicationBackendRuntimeEnvKey, ApplicationBackendRuntimeEnvKeys, } from '@wildo-ai/platform-core-shared';
2
+ //# sourceMappingURL=application-backend-env.contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-backend-env.contracts.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/application-backend-env.contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,EACrC,gCAAgC,EAChC,6CAA6C,EAC7C,wCAAwC,EACxC,sCAAsC,EACtC,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,mCAAmC,EACnC,oCAAoC,EACpC,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { APPLICATION_BACKEND_BOOTSTRAP_ENV_KEY_LIST, APPLICATION_BACKEND_DATA_ENV_KEY_LIST, APPLICATION_BACKEND_ENV_KEY_LIST, APPLICATION_BACKEND_PLATFORM_URL_ENV_KEY_LIST, APPLICATION_BACKEND_RUNTIME_ENV_KEY_LIST, APPLICATION_BACKEND_SENSITIVE_ENV_KEYS, ApplicationBackendBootstrapEnvKey, ApplicationBackendBootstrapEnvKeys, ApplicationBackendDataEnvKey, ApplicationBackendDataEnvKeys, ApplicationBackendPlatformUrlEnvKey, ApplicationBackendPlatformUrlEnvKeys, ApplicationBackendRuntimeEnvKey, ApplicationBackendRuntimeEnvKeys, } from '@wildo-ai/platform-core-shared';
2
+ //# sourceMappingURL=application-backend-env.contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-backend-env.contracts.js","sourceRoot":"","sources":["../../../src/bootstrap/application-backend-env.contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,EACrC,gCAAgC,EAChC,6CAA6C,EAC7C,wCAAwC,EACxC,sCAAsC,EACtC,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAE7B,mCAAmC,EACnC,oCAAoC,EACpC,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BootstrapExecutorKind, BootstrapStepId } from './bootstrap.schemas.js';
2
+ export interface BootstrapPlanInput {
3
+ executor: BootstrapExecutorKind;
4
+ initializePlatform?: boolean;
5
+ ensureApplication?: boolean;
6
+ fetchBootstrapCredentials?: boolean;
7
+ generateRuntimeArtifacts?: boolean;
8
+ startLocalRuntime?: boolean;
9
+ }
10
+ export interface BootstrapPlanStep {
11
+ id: BootstrapStepId;
12
+ required: boolean;
13
+ }
14
+ /**
15
+ * Build a semantic bootstrap plan independent of the concrete executor.
16
+ * Executors (CLI local processes, CI/CD remote jobs, HTTP workflows) can interpret
17
+ * the same ordered steps differently while keeping one shared core behavior.
18
+ */
19
+ export declare function buildBootstrapPlan(input: BootstrapPlanInput): BootstrapPlanStep[];
20
+ //# sourceMappingURL=bootstrap-planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-planner.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,eAAe,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,CAwBjF"}
@@ -0,0 +1,26 @@
1
+ import { BootstrapExecutorKind, BootstrapStepId } from './bootstrap.schemas.js';
2
+ /**
3
+ * Build a semantic bootstrap plan independent of the concrete executor.
4
+ * Executors (CLI local processes, CI/CD remote jobs, HTTP workflows) can interpret
5
+ * the same ordered steps differently while keeping one shared core behavior.
6
+ */
7
+ export function buildBootstrapPlan(input) {
8
+ const steps = [];
9
+ if (input.initializePlatform) {
10
+ steps.push({ id: BootstrapStepId.INITIALIZE_PLATFORM, required: true });
11
+ }
12
+ if (input.ensureApplication) {
13
+ steps.push({ id: BootstrapStepId.ENSURE_APPLICATION, required: true });
14
+ }
15
+ if (input.fetchBootstrapCredentials) {
16
+ steps.push({ id: BootstrapStepId.FETCH_BOOTSTRAP_CREDENTIALS, required: true });
17
+ }
18
+ if (input.generateRuntimeArtifacts) {
19
+ steps.push({ id: BootstrapStepId.GENERATE_RUNTIME_ARTIFACTS, required: true });
20
+ }
21
+ if (input.executor === BootstrapExecutorKind.LOCAL && input.startLocalRuntime) {
22
+ steps.push({ id: BootstrapStepId.START_LOCAL_RUNTIME, required: true });
23
+ }
24
+ return steps;
25
+ }
26
+ //# sourceMappingURL=bootstrap-planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-planner.js","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgB7E;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,qBAAqB,CAAC,KAAK,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { RuntimeEnvironment } from '@wildo-ai/saas-models';
2
+ import type { ApplicationModules } from '../project-config/shared/application-modules.schemas.js';
3
+ import type { AppDataServices } from '../project-config/shared/data-services.schemas.js';
4
+ import type { CapabilityBindingInput, ExternalProvidersConfigurationsInput } from '../project-config/define-saas-config.js';
5
+ import { type AppBootstrapCredentialsResponse, type AppBootstrapFirstAdminSeed, type AdminAppManagedDeclaration, type AdminAppInitializeRequest } from './bootstrap.schemas.js';
6
+ export interface BuildAppBootstrapCredentialsResponseInput {
7
+ appSlug: string;
8
+ environment: RuntimeEnvironment;
9
+ applicationId: string;
10
+ primarySecret: string;
11
+ appsManagerUrl: string;
12
+ }
13
+ /**
14
+ * apps-manager control-plane bootstrap protocol details shared by CLI callers
15
+ * and apps-manager producers.
16
+ */
17
+ export declare const APPS_MANAGER_ADMIN_SECRET_HEADER = "X-Admin-Secret";
18
+ export declare const APPS_MANAGER_API_PREFIX = "/api/v1";
19
+ export declare function buildAdminInitializeApplicationPath(appSlug: string): string;
20
+ export declare function buildAppBootstrapCredentialsPath(appSlug: string, environment: RuntimeEnvironment): string;
21
+ /**
22
+ * Build and validate the shared bootstrap credentials response envelope.
23
+ * This keeps the response contract identical across apps-manager producers and CLI consumers.
24
+ */
25
+ export declare function buildAppBootstrapCredentialsResponse(input: BuildAppBootstrapCredentialsResponseInput): AppBootstrapCredentialsResponse;
26
+ /**
27
+ * Small shared semantic descriptor for already-loaded app config.
28
+ * Filesystem/path-bearing adapter data should stay in the CLI layer.
29
+ */
30
+ export interface NormalizedProjectAppDescriptor {
31
+ appKey: string;
32
+ appPath: string;
33
+ appType: 'saas';
34
+ }
35
+ export declare function normalizeProjectApps(input: {
36
+ apps: Record<string, {
37
+ path: string;
38
+ type: 'saas';
39
+ }>;
40
+ }): NormalizedProjectAppDescriptor[];
41
+ export interface NormalizedSaasBackendServiceDescriptor {
42
+ key: string;
43
+ path: string;
44
+ serviceName: string;
45
+ defaultPort?: number | undefined;
46
+ }
47
+ export interface NormalizedSaasFrontendServiceDescriptor {
48
+ key: string;
49
+ path: string;
50
+ serviceName: string;
51
+ defaultPort?: number | undefined;
52
+ frontendType: string;
53
+ }
54
+ export interface NormalizedSaasRuntimeDescriptor {
55
+ appSlug: string;
56
+ appDisplayName: string;
57
+ appDatabaseName?: string | undefined;
58
+ backendServices: NormalizedSaasBackendServiceDescriptor[];
59
+ frontendServices: NormalizedSaasFrontendServiceDescriptor[];
60
+ managedDeclaration: AdminAppManagedDeclaration;
61
+ firstAdminSeed?: AppBootstrapFirstAdminSeed | undefined;
62
+ declaredModules: NonNullable<ApplicationModules>;
63
+ moduleIds: string[];
64
+ moduleIdsByService: Record<string, string[]>;
65
+ }
66
+ export interface NormalizedLocalServiceAddressingDescriptor {
67
+ host?: string | undefined;
68
+ port?: number | undefined;
69
+ url?: string | undefined;
70
+ }
71
+ export declare function normalizeSaasModuleBindings(input: {
72
+ services: Record<string, {
73
+ serviceName: string;
74
+ }>;
75
+ modules?: ApplicationModules | undefined;
76
+ }): {
77
+ declaredModules: Record<string, {
78
+ services: string[];
79
+ }>;
80
+ moduleIds: string[];
81
+ moduleIdsByService: {
82
+ [k: string]: string[];
83
+ };
84
+ };
85
+ export declare function buildAdminAppManagedDeclaration(input: {
86
+ name: string;
87
+ slug: string;
88
+ displayName: string;
89
+ description?: string | undefined;
90
+ type: 'saas';
91
+ services: Record<string, {
92
+ serviceName: string;
93
+ frontendType?: string | undefined;
94
+ }>;
95
+ capabilities?: Record<string, CapabilityBindingInput> | undefined;
96
+ externalProvidersConfigurations?: ExternalProvidersConfigurationsInput | undefined;
97
+ }): AdminAppManagedDeclaration;
98
+ export declare function normalizeSaasRuntimeDescriptor(input: {
99
+ projectAppKey?: string | undefined;
100
+ name: string;
101
+ slug: string;
102
+ displayName: string;
103
+ description?: string | undefined;
104
+ type: 'saas';
105
+ services: Record<string, {
106
+ path: string;
107
+ serviceName: string;
108
+ defaultPort?: number | undefined;
109
+ frontendType?: string | undefined;
110
+ }>;
111
+ capabilities?: Record<string, CapabilityBindingInput> | undefined;
112
+ externalProvidersConfigurations?: ExternalProvidersConfigurationsInput | undefined;
113
+ dataServices?: AppDataServices | undefined;
114
+ modules?: ApplicationModules | undefined;
115
+ bootstrap?: {
116
+ firstAdmin?: AppBootstrapFirstAdminSeed | undefined;
117
+ } | undefined;
118
+ }): NormalizedSaasRuntimeDescriptor;
119
+ export type { AdminAppInitializeRequest };
120
+ //# sourceMappingURL=bootstrap.contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.contracts.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap.contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { getDeclaredApplicationModuleIds, getServiceBoundApplicationModuleIds, } from '../project-config/shared/application-modules.utils.js';
2
+ import { deriveAppDatabaseName } from '../project-config/shared/data-services.schemas.js';
3
+ import { AdminAppManagedDeclarationSchema, AppBootstrapCredentialsResponseSchema, } from './bootstrap.schemas.js';
4
+ /**
5
+ * apps-manager control-plane bootstrap protocol details shared by CLI callers
6
+ * and apps-manager producers.
7
+ */
8
+ export const APPS_MANAGER_ADMIN_SECRET_HEADER = 'X-Admin-Secret';
9
+ export const APPS_MANAGER_API_PREFIX = '/api/v1';
10
+ export function buildAdminInitializeApplicationPath(appSlug) {
11
+ return `/admin/apps/${encodeURIComponent(appSlug)}/initialize`;
12
+ }
13
+ export function buildAppBootstrapCredentialsPath(appSlug, environment) {
14
+ return `/admin/apps/${encodeURIComponent(appSlug)}/credentials/${environment}`;
15
+ }
16
+ /**
17
+ * Build and validate the shared bootstrap credentials response envelope.
18
+ * This keeps the response contract identical across apps-manager producers and CLI consumers.
19
+ */
20
+ export function buildAppBootstrapCredentialsResponse(input) {
21
+ return AppBootstrapCredentialsResponseSchema.parse({
22
+ success: true,
23
+ appSlug: input.appSlug,
24
+ environment: input.environment,
25
+ credentials: {
26
+ APPLICATION_ID: input.applicationId,
27
+ PLATFORM_APPLICATION_PRIMARY_SECRET: input.primarySecret,
28
+ PLATFORM_APPS_MANAGER_URL: input.appsManagerUrl,
29
+ APPLICATION_ENV: input.environment,
30
+ },
31
+ });
32
+ }
33
+ export function normalizeProjectApps(input) {
34
+ return Object.entries(input.apps).map(([appKey, app]) => ({
35
+ appKey,
36
+ appPath: app.path,
37
+ appType: app.type,
38
+ }));
39
+ }
40
+ export function normalizeSaasModuleBindings(input) {
41
+ const declaredModules = input.modules ?? {};
42
+ return {
43
+ declaredModules,
44
+ moduleIds: getDeclaredApplicationModuleIds(declaredModules),
45
+ moduleIdsByService: Object.fromEntries(Object.keys(input.services).map((serviceKey) => [
46
+ serviceKey,
47
+ getServiceBoundApplicationModuleIds(declaredModules, serviceKey),
48
+ ])),
49
+ };
50
+ }
51
+ export function buildAdminAppManagedDeclaration(input) {
52
+ return AdminAppManagedDeclarationSchema.parse({
53
+ app: {
54
+ name: input.name,
55
+ slug: input.slug,
56
+ displayName: input.displayName,
57
+ description: input.description,
58
+ type: input.type,
59
+ },
60
+ frontendServices: Object.values(input.services)
61
+ .filter((service) => service.frontendType !== undefined)
62
+ .map((service) => ({
63
+ serviceName: service.serviceName,
64
+ frontendType: service.frontendType,
65
+ })),
66
+ capabilities: input.capabilities,
67
+ externalProvidersConfigurations: input.externalProvidersConfigurations,
68
+ });
69
+ }
70
+ export function normalizeSaasRuntimeDescriptor(input) {
71
+ if (input.projectAppKey && input.projectAppKey !== input.slug) {
72
+ throw new Error(`Project app key "${input.projectAppKey}" must match SaaS slug "${input.slug}" for coherent app identity`);
73
+ }
74
+ const backendServices = Object.entries(input.services)
75
+ .filter(([, service]) => service.frontendType === undefined)
76
+ .map(([key, service]) => ({
77
+ key,
78
+ path: service.path,
79
+ serviceName: service.serviceName,
80
+ defaultPort: service.defaultPort,
81
+ }));
82
+ const frontendServices = Object.entries(input.services)
83
+ .filter(([, service]) => service.frontendType !== undefined)
84
+ .map(([key, service]) => ({
85
+ key,
86
+ path: service.path,
87
+ serviceName: service.serviceName,
88
+ defaultPort: service.defaultPort,
89
+ frontendType: service.frontendType,
90
+ }));
91
+ const normalizedModuleBindings = normalizeSaasModuleBindings({
92
+ services: input.services,
93
+ modules: input.modules,
94
+ });
95
+ return {
96
+ appSlug: input.slug,
97
+ appDisplayName: input.displayName,
98
+ appDatabaseName: deriveAppDatabaseName(input.dataServices),
99
+ backendServices,
100
+ frontendServices,
101
+ managedDeclaration: buildAdminAppManagedDeclaration({
102
+ name: input.name,
103
+ slug: input.slug,
104
+ displayName: input.displayName,
105
+ description: input.description,
106
+ type: input.type,
107
+ services: input.services,
108
+ capabilities: input.capabilities,
109
+ externalProvidersConfigurations: input.externalProvidersConfigurations,
110
+ }),
111
+ firstAdminSeed: input.bootstrap?.firstAdmin,
112
+ declaredModules: normalizedModuleBindings.declaredModules,
113
+ moduleIds: normalizedModuleBindings.moduleIds,
114
+ moduleIdsByService: normalizedModuleBindings.moduleIdsByService,
115
+ };
116
+ }
117
+ //# sourceMappingURL=bootstrap.contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.contracts.js","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap.contracts.ts"],"names":[],"mappings":"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"}