@better-openclaw/core 1.0.16 → 1.0.18

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 (970) hide show
  1. package/README.md +27 -0
  2. package/dist/bare-metal-partition.cjs +53 -0
  3. package/dist/bare-metal-partition.cjs.map +1 -0
  4. package/dist/bare-metal-partition.d.cts +26 -0
  5. package/dist/bare-metal-partition.d.cts.map +1 -0
  6. package/dist/bare-metal-partition.test.cjs +57 -0
  7. package/dist/bare-metal-partition.test.cjs.map +1 -0
  8. package/dist/bare-metal-partition.test.d.cts +1 -0
  9. package/dist/bare-metal-partition.test.mjs +1 -1
  10. package/dist/chunk-C0xms8kb.cjs +34 -0
  11. package/dist/compose-validation.test.cjs +67 -0
  12. package/dist/compose-validation.test.cjs.map +1 -0
  13. package/dist/compose-validation.test.d.cts +1 -0
  14. package/dist/compose-validation.test.d.mts +1 -0
  15. package/dist/compose-validation.test.mjs +66 -0
  16. package/dist/compose-validation.test.mjs.map +1 -0
  17. package/dist/composer.cjs +462 -0
  18. package/dist/composer.cjs.map +1 -0
  19. package/dist/composer.d.cts +21 -0
  20. package/dist/composer.d.cts.map +1 -0
  21. package/dist/composer.d.mts.map +1 -1
  22. package/dist/composer.mjs +187 -27
  23. package/dist/composer.mjs.map +1 -1
  24. package/dist/composer.snapshot.test.cjs +91 -0
  25. package/dist/composer.snapshot.test.cjs.map +1 -0
  26. package/dist/composer.snapshot.test.d.cts +1 -0
  27. package/dist/composer.snapshot.test.mjs +1 -1
  28. package/dist/composer.test.cjs +166 -0
  29. package/dist/composer.test.cjs.map +1 -0
  30. package/dist/composer.test.d.cts +1 -0
  31. package/dist/composer.test.mjs +2 -2
  32. package/dist/composer.test.mjs.map +1 -1
  33. package/dist/deployers/coolify.cjs +174 -0
  34. package/dist/deployers/coolify.cjs.map +1 -0
  35. package/dist/deployers/coolify.d.cts +25 -0
  36. package/dist/deployers/coolify.d.cts.map +1 -0
  37. package/dist/deployers/coolify.d.mts +25 -0
  38. package/dist/deployers/coolify.d.mts.map +1 -0
  39. package/dist/deployers/coolify.mjs +172 -0
  40. package/dist/deployers/coolify.mjs.map +1 -0
  41. package/dist/deployers/dokploy.cjs +141 -0
  42. package/dist/deployers/dokploy.cjs.map +1 -0
  43. package/dist/deployers/dokploy.d.cts +24 -0
  44. package/dist/deployers/dokploy.d.cts.map +1 -0
  45. package/dist/deployers/dokploy.d.mts +24 -0
  46. package/dist/deployers/dokploy.d.mts.map +1 -0
  47. package/dist/deployers/dokploy.mjs +139 -0
  48. package/dist/deployers/dokploy.mjs.map +1 -0
  49. package/dist/deployers/index.cjs +26 -0
  50. package/dist/deployers/index.cjs.map +1 -0
  51. package/dist/deployers/index.d.cts +14 -0
  52. package/dist/deployers/index.d.cts.map +1 -0
  53. package/dist/deployers/index.d.mts +14 -0
  54. package/dist/deployers/index.d.mts.map +1 -0
  55. package/dist/deployers/index.mjs +21 -0
  56. package/dist/deployers/index.mjs.map +1 -0
  57. package/dist/deployers/types.cjs +0 -0
  58. package/dist/deployers/types.d.cts +72 -0
  59. package/dist/deployers/types.d.cts.map +1 -0
  60. package/dist/deployers/types.d.mts +72 -0
  61. package/dist/deployers/types.d.mts.map +1 -0
  62. package/dist/deployers/types.mjs +1 -0
  63. package/dist/errors.cjs +27 -0
  64. package/dist/errors.cjs.map +1 -0
  65. package/dist/errors.d.cts +17 -0
  66. package/dist/errors.d.cts.map +1 -0
  67. package/dist/generate.cjs +225 -0
  68. package/dist/generate.cjs.map +1 -0
  69. package/dist/generate.d.cts +12 -0
  70. package/dist/generate.d.cts.map +1 -0
  71. package/dist/generate.d.mts.map +1 -1
  72. package/dist/generate.mjs +34 -5
  73. package/dist/generate.mjs.map +1 -1
  74. package/dist/generate.test.cjs +283 -0
  75. package/dist/generate.test.cjs.map +1 -0
  76. package/dist/generate.test.d.cts +1 -0
  77. package/dist/generate.test.mjs +1 -1
  78. package/dist/generators/bare-metal-install.cjs +226 -0
  79. package/dist/generators/bare-metal-install.cjs.map +1 -0
  80. package/dist/generators/bare-metal-install.d.cts +17 -0
  81. package/dist/generators/bare-metal-install.d.cts.map +1 -0
  82. package/dist/generators/bare-metal-install.test.cjs +47 -0
  83. package/dist/generators/bare-metal-install.test.cjs.map +1 -0
  84. package/dist/generators/bare-metal-install.test.d.cts +1 -0
  85. package/dist/generators/bare-metal-install.test.mjs +1 -1
  86. package/dist/generators/caddy.cjs +79 -0
  87. package/dist/generators/caddy.cjs.map +1 -0
  88. package/dist/generators/caddy.d.cts +17 -0
  89. package/dist/generators/caddy.d.cts.map +1 -0
  90. package/dist/generators/caddy.test.cjs +44 -0
  91. package/dist/generators/caddy.test.cjs.map +1 -0
  92. package/dist/generators/caddy.test.d.cts +1 -0
  93. package/dist/generators/caddy.test.mjs +1 -1
  94. package/dist/generators/cloud-init.cjs +132 -0
  95. package/dist/generators/cloud-init.cjs.map +1 -0
  96. package/dist/generators/cloud-init.d.cts +25 -0
  97. package/dist/generators/cloud-init.d.cts.map +1 -0
  98. package/dist/generators/cloud-init.d.mts +25 -0
  99. package/dist/generators/cloud-init.d.mts.map +1 -0
  100. package/dist/generators/cloud-init.mjs +130 -0
  101. package/dist/generators/cloud-init.mjs.map +1 -0
  102. package/dist/generators/env.cjs +325 -0
  103. package/dist/generators/env.cjs.map +1 -0
  104. package/dist/generators/env.d.cts +52 -0
  105. package/dist/generators/env.d.cts.map +1 -0
  106. package/dist/generators/env.d.mts +6 -0
  107. package/dist/generators/env.d.mts.map +1 -1
  108. package/dist/generators/env.mjs +58 -6
  109. package/dist/generators/env.mjs.map +1 -1
  110. package/dist/generators/env.test.cjs +59 -0
  111. package/dist/generators/env.test.cjs.map +1 -0
  112. package/dist/generators/env.test.d.cts +1 -0
  113. package/dist/generators/env.test.mjs +1 -1
  114. package/dist/generators/get-shit-done.cjs +40 -0
  115. package/dist/generators/get-shit-done.cjs.map +1 -0
  116. package/dist/generators/get-shit-done.d.cts +10 -0
  117. package/dist/generators/get-shit-done.d.cts.map +1 -0
  118. package/dist/generators/grafana.cjs +296 -0
  119. package/dist/generators/grafana.cjs.map +1 -0
  120. package/dist/generators/grafana.d.cts +22 -0
  121. package/dist/generators/grafana.d.cts.map +1 -0
  122. package/dist/generators/health-check.cjs +707 -0
  123. package/dist/generators/health-check.cjs.map +1 -0
  124. package/dist/generators/health-check.d.cts +18 -0
  125. package/dist/generators/health-check.d.cts.map +1 -0
  126. package/dist/generators/health-check.d.mts +2 -2
  127. package/dist/generators/health-check.d.mts.map +1 -1
  128. package/dist/generators/health-check.mjs.map +1 -1
  129. package/dist/generators/health-check.test.cjs +84 -0
  130. package/dist/generators/health-check.test.cjs.map +1 -0
  131. package/dist/generators/health-check.test.d.cts +1 -0
  132. package/dist/generators/health-check.test.mjs +1 -1
  133. package/dist/generators/n8n-workflows.cjs +77 -0
  134. package/dist/generators/n8n-workflows.cjs.map +1 -0
  135. package/dist/generators/n8n-workflows.d.cts +11 -0
  136. package/dist/generators/n8n-workflows.d.cts.map +1 -0
  137. package/dist/generators/native-services.cjs +80 -0
  138. package/dist/generators/native-services.cjs.map +1 -0
  139. package/dist/generators/native-services.d.cts +17 -0
  140. package/dist/generators/native-services.d.cts.map +1 -0
  141. package/dist/generators/openclaw-install-script.cjs +68 -0
  142. package/dist/generators/openclaw-install-script.cjs.map +1 -0
  143. package/dist/generators/openclaw-install-script.d.cts +12 -0
  144. package/dist/generators/openclaw-install-script.d.cts.map +1 -0
  145. package/dist/generators/openclaw-install-script.d.mts +12 -0
  146. package/dist/generators/openclaw-install-script.d.mts.map +1 -0
  147. package/dist/generators/openclaw-install-script.mjs +66 -0
  148. package/dist/generators/openclaw-install-script.mjs.map +1 -0
  149. package/dist/generators/openclaw-json.cjs +540 -0
  150. package/dist/generators/openclaw-json.cjs.map +1 -0
  151. package/dist/generators/openclaw-json.d.cts +16 -0
  152. package/dist/generators/openclaw-json.d.cts.map +1 -0
  153. package/dist/generators/openclaw-json.d.mts +8 -3
  154. package/dist/generators/openclaw-json.d.mts.map +1 -1
  155. package/dist/generators/openclaw-json.mjs +214 -86
  156. package/dist/generators/openclaw-json.mjs.map +1 -1
  157. package/dist/generators/postgres-init.cjs +189 -0
  158. package/dist/generators/postgres-init.cjs.map +1 -0
  159. package/dist/generators/postgres-init.d.cts +30 -0
  160. package/dist/generators/postgres-init.d.cts.map +1 -0
  161. package/dist/generators/postgres-init.d.mts.map +1 -1
  162. package/dist/generators/postgres-init.mjs +35 -0
  163. package/dist/generators/postgres-init.mjs.map +1 -1
  164. package/dist/generators/prometheus.cjs +109 -0
  165. package/dist/generators/prometheus.cjs.map +1 -0
  166. package/dist/generators/prometheus.d.cts +14 -0
  167. package/dist/generators/prometheus.d.cts.map +1 -0
  168. package/dist/generators/readme.cjs +286 -0
  169. package/dist/generators/readme.cjs.map +1 -0
  170. package/dist/generators/readme.d.cts +27 -0
  171. package/dist/generators/readme.d.cts.map +1 -0
  172. package/dist/generators/readme.d.mts +3 -1
  173. package/dist/generators/readme.d.mts.map +1 -1
  174. package/dist/generators/readme.mjs +88 -3
  175. package/dist/generators/readme.mjs.map +1 -1
  176. package/dist/generators/scripts.cjs +353 -0
  177. package/dist/generators/scripts.cjs.map +1 -0
  178. package/dist/generators/scripts.d.cts +10 -0
  179. package/dist/generators/scripts.d.cts.map +1 -0
  180. package/dist/generators/scripts.test.cjs +51 -0
  181. package/dist/generators/scripts.test.cjs.map +1 -0
  182. package/dist/generators/scripts.test.d.cts +1 -0
  183. package/dist/generators/scripts.test.mjs +1 -1
  184. package/dist/generators/skills.cjs +590 -0
  185. package/dist/generators/skills.cjs.map +1 -0
  186. package/dist/generators/skills.d.cts +14 -0
  187. package/dist/generators/skills.d.cts.map +1 -0
  188. package/dist/generators/stack-manifest.cjs +70 -0
  189. package/dist/generators/stack-manifest.cjs.map +1 -0
  190. package/dist/generators/stack-manifest.d.cts +51 -0
  191. package/dist/generators/stack-manifest.d.cts.map +1 -0
  192. package/dist/generators/stack-manifest.d.mts +51 -0
  193. package/dist/generators/stack-manifest.d.mts.map +1 -0
  194. package/dist/generators/stack-manifest.mjs +68 -0
  195. package/dist/generators/stack-manifest.mjs.map +1 -0
  196. package/dist/generators/traefik.cjs +88 -0
  197. package/dist/generators/traefik.cjs.map +1 -0
  198. package/dist/generators/traefik.d.cts +19 -0
  199. package/dist/generators/traefik.d.cts.map +1 -0
  200. package/dist/generators/traefik.test.cjs +68 -0
  201. package/dist/generators/traefik.test.cjs.map +1 -0
  202. package/dist/generators/traefik.test.d.cts +1 -0
  203. package/dist/generators/traefik.test.mjs +1 -1
  204. package/dist/index.cjs +118 -0
  205. package/dist/index.d.cts +31 -0
  206. package/dist/index.d.mts +9 -3
  207. package/dist/index.mjs +8 -3
  208. package/dist/magic-string.es-D2agHT3I.cjs +1015 -0
  209. package/dist/magic-string.es-D2agHT3I.cjs.map +1 -0
  210. package/dist/manifest-4uLbISXV.cjs +1190 -0
  211. package/dist/manifest-4uLbISXV.cjs.map +1 -0
  212. package/dist/migrations.cjs +37 -0
  213. package/dist/migrations.cjs.map +1 -0
  214. package/dist/migrations.d.cts +14 -0
  215. package/dist/migrations.d.cts.map +1 -0
  216. package/dist/migrations.test.cjs +41 -0
  217. package/dist/migrations.test.cjs.map +1 -0
  218. package/dist/migrations.test.d.cts +1 -0
  219. package/dist/migrations.test.mjs +1 -1
  220. package/dist/port-scanner.cjs +125 -0
  221. package/dist/port-scanner.cjs.map +1 -0
  222. package/dist/port-scanner.d.cts +27 -0
  223. package/dist/port-scanner.d.cts.map +1 -0
  224. package/dist/port-scanner.d.mts +27 -0
  225. package/dist/port-scanner.d.mts.map +1 -0
  226. package/dist/port-scanner.mjs +122 -0
  227. package/dist/port-scanner.mjs.map +1 -0
  228. package/dist/presets/presets.test.cjs +65 -0
  229. package/dist/presets/presets.test.cjs.map +1 -0
  230. package/dist/presets/presets.test.d.cts +1 -0
  231. package/dist/presets/presets.test.d.mts +1 -0
  232. package/dist/presets/presets.test.mjs +64 -0
  233. package/dist/presets/presets.test.mjs.map +1 -0
  234. package/dist/presets/registry.cjs +193 -0
  235. package/dist/presets/registry.cjs.map +1 -0
  236. package/dist/presets/registry.d.cts +9 -0
  237. package/dist/presets/registry.d.cts.map +1 -0
  238. package/dist/presets/registry.d.mts.map +1 -1
  239. package/dist/presets/registry.mjs +38 -8
  240. package/dist/presets/registry.mjs.map +1 -1
  241. package/dist/presets/registry.test.cjs +36 -0
  242. package/dist/presets/registry.test.cjs.map +1 -0
  243. package/dist/presets/registry.test.d.cts +1 -0
  244. package/dist/presets/registry.test.mjs +5 -2
  245. package/dist/presets/registry.test.mjs.map +1 -1
  246. package/dist/resolver.cjs +217 -0
  247. package/dist/resolver.cjs.map +1 -0
  248. package/dist/resolver.d.cts +26 -0
  249. package/dist/resolver.d.cts.map +1 -0
  250. package/dist/resolver.mjs +2 -0
  251. package/dist/resolver.mjs.map +1 -1
  252. package/dist/resolver.test.cjs +236 -0
  253. package/dist/resolver.test.cjs.map +1 -0
  254. package/dist/resolver.test.d.cts +1 -0
  255. package/dist/resolver.test.mjs +1 -1
  256. package/dist/schema.cjs +354 -0
  257. package/dist/schema.cjs.map +1 -0
  258. package/dist/schema.d.cts +854 -0
  259. package/dist/schema.d.cts.map +1 -0
  260. package/dist/schema.d.mts +56 -1
  261. package/dist/schema.d.mts.map +1 -1
  262. package/dist/schema.mjs +31 -4
  263. package/dist/schema.mjs.map +1 -1
  264. package/dist/schema.test.cjs +263 -0
  265. package/dist/schema.test.cjs.map +1 -0
  266. package/dist/schema.test.d.cts +1 -0
  267. package/dist/schema.test.mjs +1 -1
  268. package/dist/services/definitions/anything-llm.cjs +46 -0
  269. package/dist/services/definitions/anything-llm.cjs.map +1 -0
  270. package/dist/services/definitions/anything-llm.d.cts +7 -0
  271. package/dist/services/definitions/anything-llm.d.cts.map +1 -0
  272. package/dist/services/definitions/anything-llm.mjs +2 -2
  273. package/dist/services/definitions/anything-llm.mjs.map +1 -1
  274. package/dist/services/definitions/appflowy.cjs +47 -0
  275. package/dist/services/definitions/appflowy.cjs.map +1 -0
  276. package/dist/services/definitions/appflowy.d.cts +7 -0
  277. package/dist/services/definitions/appflowy.d.cts.map +1 -0
  278. package/dist/services/definitions/appflowy.mjs +1 -1
  279. package/dist/services/definitions/appflowy.mjs.map +1 -1
  280. package/dist/services/definitions/authentik.cjs +107 -0
  281. package/dist/services/definitions/authentik.cjs.map +1 -0
  282. package/dist/services/definitions/authentik.d.cts +7 -0
  283. package/dist/services/definitions/authentik.d.cts.map +1 -0
  284. package/dist/services/definitions/authentik.mjs +5 -5
  285. package/dist/services/definitions/authentik.mjs.map +1 -1
  286. package/dist/services/definitions/beszel.cjs +47 -0
  287. package/dist/services/definitions/beszel.cjs.map +1 -0
  288. package/dist/services/definitions/beszel.d.cts +7 -0
  289. package/dist/services/definitions/beszel.d.cts.map +1 -0
  290. package/dist/services/definitions/beszel.mjs +1 -1
  291. package/dist/services/definitions/beszel.mjs.map +1 -1
  292. package/dist/services/definitions/browserless.cjs +87 -0
  293. package/dist/services/definitions/browserless.cjs.map +1 -0
  294. package/dist/services/definitions/browserless.d.cts +7 -0
  295. package/dist/services/definitions/browserless.d.cts.map +1 -0
  296. package/dist/services/definitions/browserless.mjs +1 -1
  297. package/dist/services/definitions/browserless.mjs.map +1 -1
  298. package/dist/services/definitions/caddy.cjs +73 -0
  299. package/dist/services/definitions/caddy.cjs.map +1 -0
  300. package/dist/services/definitions/caddy.d.cts +7 -0
  301. package/dist/services/definitions/caddy.d.cts.map +1 -0
  302. package/dist/services/definitions/caddy.mjs +2 -2
  303. package/dist/services/definitions/caddy.mjs.map +1 -1
  304. package/dist/services/definitions/cal-com.cjs +90 -0
  305. package/dist/services/definitions/cal-com.cjs.map +1 -0
  306. package/dist/services/definitions/cal-com.d.cts +7 -0
  307. package/dist/services/definitions/cal-com.d.cts.map +1 -0
  308. package/dist/services/definitions/cal-com.mjs +2 -2
  309. package/dist/services/definitions/cal-com.mjs.map +1 -1
  310. package/dist/services/definitions/chromadb.cjs +65 -0
  311. package/dist/services/definitions/chromadb.cjs.map +1 -0
  312. package/dist/services/definitions/chromadb.d.cts +7 -0
  313. package/dist/services/definitions/chromadb.d.cts.map +1 -0
  314. package/dist/services/definitions/chromadb.mjs +3 -3
  315. package/dist/services/definitions/chromadb.mjs.map +1 -1
  316. package/dist/services/definitions/claude-code.cjs +54 -0
  317. package/dist/services/definitions/claude-code.cjs.map +1 -0
  318. package/dist/services/definitions/claude-code.d.cts +7 -0
  319. package/dist/services/definitions/claude-code.d.cts.map +1 -0
  320. package/dist/services/definitions/claude-code.mjs +1 -1
  321. package/dist/services/definitions/claude-code.mjs.map +1 -1
  322. package/dist/services/definitions/code-server.cjs +68 -0
  323. package/dist/services/definitions/code-server.cjs.map +1 -0
  324. package/dist/services/definitions/code-server.d.cts +7 -0
  325. package/dist/services/definitions/code-server.d.cts.map +1 -0
  326. package/dist/services/definitions/code-server.mjs +1 -1
  327. package/dist/services/definitions/code-server.mjs.map +1 -1
  328. package/dist/services/definitions/codex.cjs +47 -0
  329. package/dist/services/definitions/codex.cjs.map +1 -0
  330. package/dist/services/definitions/codex.d.cts +7 -0
  331. package/dist/services/definitions/codex.d.cts.map +1 -0
  332. package/dist/services/definitions/codex.mjs +1 -1
  333. package/dist/services/definitions/codex.mjs.map +1 -1
  334. package/dist/services/definitions/comfyui.cjs +85 -0
  335. package/dist/services/definitions/comfyui.cjs.map +1 -0
  336. package/dist/services/definitions/comfyui.d.cts +7 -0
  337. package/dist/services/definitions/comfyui.d.cts.map +1 -0
  338. package/dist/services/definitions/comfyui.mjs +1 -1
  339. package/dist/services/definitions/comfyui.mjs.map +1 -1
  340. package/dist/services/definitions/convex-dashboard.cjs +48 -0
  341. package/dist/services/definitions/convex-dashboard.cjs.map +1 -0
  342. package/dist/services/definitions/convex-dashboard.d.cts +7 -0
  343. package/dist/services/definitions/convex-dashboard.d.cts.map +1 -0
  344. package/dist/services/definitions/convex.cjs +120 -0
  345. package/dist/services/definitions/convex.cjs.map +1 -0
  346. package/dist/services/definitions/convex.d.cts +7 -0
  347. package/dist/services/definitions/convex.d.cts.map +1 -0
  348. package/dist/services/definitions/coolify.cjs +51 -0
  349. package/dist/services/definitions/coolify.cjs.map +1 -0
  350. package/dist/services/definitions/coolify.d.cts +7 -0
  351. package/dist/services/definitions/coolify.d.cts.map +1 -0
  352. package/dist/services/definitions/coolify.mjs +1 -1
  353. package/dist/services/definitions/coolify.mjs.map +1 -1
  354. package/dist/services/definitions/crowdsec.cjs +64 -0
  355. package/dist/services/definitions/crowdsec.cjs.map +1 -0
  356. package/dist/services/definitions/crowdsec.d.cts +7 -0
  357. package/dist/services/definitions/crowdsec.d.cts.map +1 -0
  358. package/dist/services/definitions/crowdsec.mjs +2 -2
  359. package/dist/services/definitions/crowdsec.mjs.map +1 -1
  360. package/dist/services/definitions/desktop-environment.cjs +155 -0
  361. package/dist/services/definitions/desktop-environment.cjs.map +1 -0
  362. package/dist/services/definitions/desktop-environment.d.cts +7 -0
  363. package/dist/services/definitions/desktop-environment.d.cts.map +1 -0
  364. package/dist/services/definitions/desktop-environment.mjs +1 -1
  365. package/dist/services/definitions/desktop-environment.mjs.map +1 -1
  366. package/dist/services/definitions/dify.cjs +83 -0
  367. package/dist/services/definitions/dify.cjs.map +1 -0
  368. package/dist/services/definitions/dify.d.cts +7 -0
  369. package/dist/services/definitions/dify.d.cts.map +1 -0
  370. package/dist/services/definitions/dify.mjs +1 -1
  371. package/dist/services/definitions/dify.mjs.map +1 -1
  372. package/dist/services/definitions/docsgpt.cjs +47 -0
  373. package/dist/services/definitions/docsgpt.cjs.map +1 -0
  374. package/dist/services/definitions/docsgpt.d.cts +7 -0
  375. package/dist/services/definitions/docsgpt.d.cts.map +1 -0
  376. package/dist/services/definitions/docsgpt.mjs +1 -1
  377. package/dist/services/definitions/docsgpt.mjs.map +1 -1
  378. package/dist/services/definitions/dokploy.cjs +51 -0
  379. package/dist/services/definitions/dokploy.cjs.map +1 -0
  380. package/dist/services/definitions/dokploy.d.cts +7 -0
  381. package/dist/services/definitions/dokploy.d.cts.map +1 -0
  382. package/dist/services/definitions/dokploy.mjs +2 -2
  383. package/dist/services/definitions/dokploy.mjs.map +1 -1
  384. package/dist/services/definitions/dozzle.cjs +43 -0
  385. package/dist/services/definitions/dozzle.cjs.map +1 -0
  386. package/dist/services/definitions/dozzle.d.cts +7 -0
  387. package/dist/services/definitions/dozzle.d.cts.map +1 -0
  388. package/dist/services/definitions/dozzle.mjs +1 -1
  389. package/dist/services/definitions/dozzle.mjs.map +1 -1
  390. package/dist/services/definitions/ffmpeg.cjs +68 -0
  391. package/dist/services/definitions/ffmpeg.cjs.map +1 -0
  392. package/dist/services/definitions/ffmpeg.d.cts +7 -0
  393. package/dist/services/definitions/ffmpeg.d.cts.map +1 -0
  394. package/dist/services/definitions/ffmpeg.mjs +2 -2
  395. package/dist/services/definitions/ffmpeg.mjs.map +1 -1
  396. package/dist/services/definitions/flowise.cjs +47 -0
  397. package/dist/services/definitions/flowise.cjs.map +1 -0
  398. package/dist/services/definitions/flowise.d.cts +7 -0
  399. package/dist/services/definitions/flowise.d.cts.map +1 -0
  400. package/dist/services/definitions/flowise.mjs +1 -1
  401. package/dist/services/definitions/flowise.mjs.map +1 -1
  402. package/dist/services/definitions/gemini-cli.cjs +54 -0
  403. package/dist/services/definitions/gemini-cli.cjs.map +1 -0
  404. package/dist/services/definitions/gemini-cli.d.cts +7 -0
  405. package/dist/services/definitions/gemini-cli.d.cts.map +1 -0
  406. package/dist/services/definitions/gemini-cli.mjs +7 -1
  407. package/dist/services/definitions/gemini-cli.mjs.map +1 -1
  408. package/dist/services/definitions/ghost.cjs +60 -0
  409. package/dist/services/definitions/ghost.cjs.map +1 -0
  410. package/dist/services/definitions/ghost.d.cts +7 -0
  411. package/dist/services/definitions/ghost.d.cts.map +1 -0
  412. package/dist/services/definitions/ghost.mjs +1 -1
  413. package/dist/services/definitions/ghost.mjs.map +1 -1
  414. package/dist/services/definitions/gitea.cjs +51 -0
  415. package/dist/services/definitions/gitea.cjs.map +1 -0
  416. package/dist/services/definitions/gitea.d.cts +7 -0
  417. package/dist/services/definitions/gitea.d.cts.map +1 -0
  418. package/dist/services/definitions/gitea.mjs +1 -1
  419. package/dist/services/definitions/gitea.mjs.map +1 -1
  420. package/dist/services/definitions/gotify.cjs +64 -0
  421. package/dist/services/definitions/gotify.cjs.map +1 -0
  422. package/dist/services/definitions/gotify.d.cts +7 -0
  423. package/dist/services/definitions/gotify.d.cts.map +1 -0
  424. package/dist/services/definitions/gotify.mjs +3 -3
  425. package/dist/services/definitions/gotify.mjs.map +1 -1
  426. package/dist/services/definitions/grafana.cjs +77 -0
  427. package/dist/services/definitions/grafana.cjs.map +1 -0
  428. package/dist/services/definitions/grafana.d.cts +7 -0
  429. package/dist/services/definitions/grafana.d.cts.map +1 -0
  430. package/dist/services/definitions/grafana.mjs +2 -2
  431. package/dist/services/definitions/grafana.mjs.map +1 -1
  432. package/dist/services/definitions/headscale.cjs +73 -0
  433. package/dist/services/definitions/headscale.cjs.map +1 -0
  434. package/dist/services/definitions/headscale.d.cts +7 -0
  435. package/dist/services/definitions/headscale.d.cts.map +1 -0
  436. package/dist/services/definitions/headscale.mjs +2 -2
  437. package/dist/services/definitions/headscale.mjs.map +1 -1
  438. package/dist/services/definitions/hexstrike.cjs +46 -0
  439. package/dist/services/definitions/hexstrike.cjs.map +1 -0
  440. package/dist/services/definitions/hexstrike.d.cts +7 -0
  441. package/dist/services/definitions/hexstrike.d.cts.map +1 -0
  442. package/dist/services/definitions/hexstrike.mjs +1 -1
  443. package/dist/services/definitions/hexstrike.mjs.map +1 -1
  444. package/dist/services/definitions/homeassistant.cjs +63 -0
  445. package/dist/services/definitions/homeassistant.cjs.map +1 -0
  446. package/dist/services/definitions/homeassistant.d.cts +7 -0
  447. package/dist/services/definitions/homeassistant.d.cts.map +1 -0
  448. package/dist/services/definitions/homeassistant.mjs +1 -1
  449. package/dist/services/definitions/homeassistant.mjs.map +1 -1
  450. package/dist/services/definitions/immich.cjs +94 -0
  451. package/dist/services/definitions/immich.cjs.map +1 -0
  452. package/dist/services/definitions/immich.d.cts +7 -0
  453. package/dist/services/definitions/immich.d.cts.map +1 -0
  454. package/dist/services/definitions/immich.mjs +6 -6
  455. package/dist/services/definitions/immich.mjs.map +1 -1
  456. package/dist/services/definitions/index.cjs +291 -0
  457. package/dist/services/definitions/index.cjs.map +1 -0
  458. package/dist/services/definitions/index.d.cts +101 -0
  459. package/dist/services/definitions/index.d.cts.map +1 -0
  460. package/dist/services/definitions/jellyfin.cjs +64 -0
  461. package/dist/services/definitions/jellyfin.cjs.map +1 -0
  462. package/dist/services/definitions/jellyfin.d.cts +7 -0
  463. package/dist/services/definitions/jellyfin.d.cts.map +1 -0
  464. package/dist/services/definitions/jellyfin.mjs +1 -1
  465. package/dist/services/definitions/jellyfin.mjs.map +1 -1
  466. package/dist/services/definitions/jenkins.cjs +64 -0
  467. package/dist/services/definitions/jenkins.cjs.map +1 -0
  468. package/dist/services/definitions/jenkins.d.cts +7 -0
  469. package/dist/services/definitions/jenkins.d.cts.map +1 -0
  470. package/dist/services/definitions/jenkins.mjs +1 -1
  471. package/dist/services/definitions/jenkins.mjs.map +1 -1
  472. package/dist/services/definitions/kimi.cjs +48 -0
  473. package/dist/services/definitions/kimi.cjs.map +1 -0
  474. package/dist/services/definitions/kimi.d.cts +7 -0
  475. package/dist/services/definitions/kimi.d.cts.map +1 -0
  476. package/dist/services/definitions/kimi.mjs +1 -1
  477. package/dist/services/definitions/kimi.mjs.map +1 -1
  478. package/dist/services/definitions/lasuite-meet-agents.cjs +38 -0
  479. package/dist/services/definitions/lasuite-meet-agents.cjs.map +1 -0
  480. package/dist/services/definitions/lasuite-meet-agents.d.cts +7 -0
  481. package/dist/services/definitions/lasuite-meet-agents.d.cts.map +1 -0
  482. package/dist/services/definitions/lasuite-meet-agents.mjs +1 -1
  483. package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -1
  484. package/dist/services/definitions/lasuite-meet-backend.cjs +136 -0
  485. package/dist/services/definitions/lasuite-meet-backend.cjs.map +1 -0
  486. package/dist/services/definitions/lasuite-meet-backend.d.cts +7 -0
  487. package/dist/services/definitions/lasuite-meet-backend.d.cts.map +1 -0
  488. package/dist/services/definitions/lasuite-meet-backend.mjs +3 -3
  489. package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -1
  490. package/dist/services/definitions/lasuite-meet-frontend.cjs +50 -0
  491. package/dist/services/definitions/lasuite-meet-frontend.cjs.map +1 -0
  492. package/dist/services/definitions/lasuite-meet-frontend.d.cts +7 -0
  493. package/dist/services/definitions/lasuite-meet-frontend.d.cts.map +1 -0
  494. package/dist/services/definitions/lasuite-meet-frontend.mjs +3 -3
  495. package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -1
  496. package/dist/services/definitions/librechat.cjs +52 -0
  497. package/dist/services/definitions/librechat.cjs.map +1 -0
  498. package/dist/services/definitions/librechat.d.cts +7 -0
  499. package/dist/services/definitions/librechat.d.cts.map +1 -0
  500. package/dist/services/definitions/librechat.mjs +1 -1
  501. package/dist/services/definitions/librechat.mjs.map +1 -1
  502. package/dist/services/definitions/lightpanda.cjs +61 -0
  503. package/dist/services/definitions/lightpanda.cjs.map +1 -0
  504. package/dist/services/definitions/lightpanda.d.cts +7 -0
  505. package/dist/services/definitions/lightpanda.d.cts.map +1 -0
  506. package/dist/services/definitions/litellm.cjs +49 -0
  507. package/dist/services/definitions/litellm.cjs.map +1 -0
  508. package/dist/services/definitions/litellm.d.cts +7 -0
  509. package/dist/services/definitions/litellm.d.cts.map +1 -0
  510. package/dist/services/definitions/litellm.mjs +1 -1
  511. package/dist/services/definitions/litellm.mjs.map +1 -1
  512. package/dist/services/definitions/livekit.cjs +58 -0
  513. package/dist/services/definitions/livekit.cjs.map +1 -0
  514. package/dist/services/definitions/livekit.d.cts +7 -0
  515. package/dist/services/definitions/livekit.d.cts.map +1 -0
  516. package/dist/services/definitions/loki.cjs +53 -0
  517. package/dist/services/definitions/loki.cjs.map +1 -0
  518. package/dist/services/definitions/loki.d.cts +7 -0
  519. package/dist/services/definitions/loki.d.cts.map +1 -0
  520. package/dist/services/definitions/loki.mjs +1 -1
  521. package/dist/services/definitions/loki.mjs.map +1 -1
  522. package/dist/services/definitions/matomo.cjs +82 -0
  523. package/dist/services/definitions/matomo.cjs.map +1 -0
  524. package/dist/services/definitions/matomo.d.cts +7 -0
  525. package/dist/services/definitions/matomo.d.cts.map +1 -0
  526. package/dist/services/definitions/matomo.mjs +1 -1
  527. package/dist/services/definitions/matomo.mjs.map +1 -1
  528. package/dist/services/definitions/matrix-synapse.cjs +90 -0
  529. package/dist/services/definitions/matrix-synapse.cjs.map +1 -0
  530. package/dist/services/definitions/matrix-synapse.d.cts +7 -0
  531. package/dist/services/definitions/matrix-synapse.d.cts.map +1 -0
  532. package/dist/services/definitions/matrix-synapse.mjs +1 -1
  533. package/dist/services/definitions/matrix-synapse.mjs.map +1 -1
  534. package/dist/services/definitions/mattermost.cjs +63 -0
  535. package/dist/services/definitions/mattermost.cjs.map +1 -0
  536. package/dist/services/definitions/mattermost.d.cts +7 -0
  537. package/dist/services/definitions/mattermost.d.cts.map +1 -0
  538. package/dist/services/definitions/mattermost.mjs +1 -1
  539. package/dist/services/definitions/mattermost.mjs.map +1 -1
  540. package/dist/services/definitions/meilisearch.cjs +80 -0
  541. package/dist/services/definitions/meilisearch.cjs.map +1 -0
  542. package/dist/services/definitions/meilisearch.d.cts +7 -0
  543. package/dist/services/definitions/meilisearch.d.cts.map +1 -0
  544. package/dist/services/definitions/meilisearch.mjs +4 -4
  545. package/dist/services/definitions/meilisearch.mjs.map +1 -1
  546. package/dist/services/definitions/milvus.cjs +77 -0
  547. package/dist/services/definitions/milvus.cjs.map +1 -0
  548. package/dist/services/definitions/milvus.d.cts +7 -0
  549. package/dist/services/definitions/milvus.d.cts.map +1 -0
  550. package/dist/services/definitions/milvus.mjs +1 -1
  551. package/dist/services/definitions/milvus.mjs.map +1 -1
  552. package/dist/services/definitions/minio.cjs +104 -0
  553. package/dist/services/definitions/minio.cjs.map +1 -0
  554. package/dist/services/definitions/minio.d.cts +7 -0
  555. package/dist/services/definitions/minio.d.cts.map +1 -0
  556. package/dist/services/definitions/minio.mjs +1 -1
  557. package/dist/services/definitions/minio.mjs.map +1 -1
  558. package/dist/services/definitions/mission-control.cjs +69 -0
  559. package/dist/services/definitions/mission-control.cjs.map +1 -0
  560. package/dist/services/definitions/mission-control.d.cts +7 -0
  561. package/dist/services/definitions/mission-control.d.cts.map +1 -0
  562. package/dist/services/definitions/mixpost.cjs +89 -0
  563. package/dist/services/definitions/mixpost.cjs.map +1 -0
  564. package/dist/services/definitions/mixpost.d.cts +7 -0
  565. package/dist/services/definitions/mixpost.d.cts.map +1 -0
  566. package/dist/services/definitions/mixpost.mjs +1 -1
  567. package/dist/services/definitions/mixpost.mjs.map +1 -1
  568. package/dist/services/definitions/motion-canvas.cjs +54 -0
  569. package/dist/services/definitions/motion-canvas.cjs.map +1 -0
  570. package/dist/services/definitions/motion-canvas.d.cts +7 -0
  571. package/dist/services/definitions/motion-canvas.d.cts.map +1 -0
  572. package/dist/services/definitions/motion-canvas.mjs +1 -1
  573. package/dist/services/definitions/motion-canvas.mjs.map +1 -1
  574. package/dist/services/definitions/n8n.cjs +156 -0
  575. package/dist/services/definitions/n8n.cjs.map +1 -0
  576. package/dist/services/definitions/n8n.d.cts +7 -0
  577. package/dist/services/definitions/n8n.d.cts.map +1 -0
  578. package/dist/services/definitions/n8n.mjs +1 -1
  579. package/dist/services/definitions/n8n.mjs.map +1 -1
  580. package/dist/services/definitions/neo4j.cjs +93 -0
  581. package/dist/services/definitions/neo4j.cjs.map +1 -0
  582. package/dist/services/definitions/neo4j.d.cts +7 -0
  583. package/dist/services/definitions/neo4j.d.cts.map +1 -0
  584. package/dist/services/definitions/neo4j.mjs +1 -1
  585. package/dist/services/definitions/neo4j.mjs.map +1 -1
  586. package/dist/services/definitions/nextcloud.cjs +82 -0
  587. package/dist/services/definitions/nextcloud.cjs.map +1 -0
  588. package/dist/services/definitions/nextcloud.d.cts +7 -0
  589. package/dist/services/definitions/nextcloud.d.cts.map +1 -0
  590. package/dist/services/definitions/nextcloud.mjs +19 -19
  591. package/dist/services/definitions/nextcloud.mjs.map +1 -1
  592. package/dist/services/definitions/nocodb.cjs +47 -0
  593. package/dist/services/definitions/nocodb.cjs.map +1 -0
  594. package/dist/services/definitions/nocodb.d.cts +7 -0
  595. package/dist/services/definitions/nocodb.d.cts.map +1 -0
  596. package/dist/services/definitions/nocodb.mjs +1 -1
  597. package/dist/services/definitions/nocodb.mjs.map +1 -1
  598. package/dist/services/definitions/ntfy.cjs +65 -0
  599. package/dist/services/definitions/ntfy.cjs.map +1 -0
  600. package/dist/services/definitions/ntfy.d.cts +7 -0
  601. package/dist/services/definitions/ntfy.d.cts.map +1 -0
  602. package/dist/services/definitions/ntfy.mjs +2 -2
  603. package/dist/services/definitions/ntfy.mjs.map +1 -1
  604. package/dist/services/definitions/ollama.cjs +68 -0
  605. package/dist/services/definitions/ollama.cjs.map +1 -0
  606. package/dist/services/definitions/ollama.d.cts +7 -0
  607. package/dist/services/definitions/ollama.d.cts.map +1 -0
  608. package/dist/services/definitions/ollama.mjs +1 -1
  609. package/dist/services/definitions/ollama.mjs.map +1 -1
  610. package/dist/services/definitions/open-webui.cjs +52 -0
  611. package/dist/services/definitions/open-webui.cjs.map +1 -0
  612. package/dist/services/definitions/open-webui.d.cts +7 -0
  613. package/dist/services/definitions/open-webui.d.cts.map +1 -0
  614. package/dist/services/definitions/open-webui.mjs +1 -1
  615. package/dist/services/definitions/open-webui.mjs.map +1 -1
  616. package/dist/services/definitions/opencode.cjs +52 -0
  617. package/dist/services/definitions/opencode.cjs.map +1 -0
  618. package/dist/services/definitions/opencode.d.cts +7 -0
  619. package/dist/services/definitions/opencode.d.cts.map +1 -0
  620. package/dist/services/definitions/opencode.mjs +1 -1
  621. package/dist/services/definitions/opencode.mjs.map +1 -1
  622. package/dist/services/definitions/openpanel.cjs +48 -0
  623. package/dist/services/definitions/openpanel.cjs.map +1 -0
  624. package/dist/services/definitions/openpanel.d.cts +7 -0
  625. package/dist/services/definitions/openpanel.d.cts.map +1 -0
  626. package/dist/services/definitions/openpanel.mjs +3 -3
  627. package/dist/services/definitions/openpanel.mjs.map +1 -1
  628. package/dist/services/definitions/outline.cjs +76 -0
  629. package/dist/services/definitions/outline.cjs.map +1 -0
  630. package/dist/services/definitions/outline.d.cts +7 -0
  631. package/dist/services/definitions/outline.d.cts.map +1 -0
  632. package/dist/services/definitions/paperless-ngx.cjs +95 -0
  633. package/dist/services/definitions/paperless-ngx.cjs.map +1 -0
  634. package/dist/services/definitions/paperless-ngx.d.cts +7 -0
  635. package/dist/services/definitions/paperless-ngx.d.cts.map +1 -0
  636. package/dist/services/definitions/paperless-ngx.mjs +1 -1
  637. package/dist/services/definitions/paperless-ngx.mjs.map +1 -1
  638. package/dist/services/definitions/pentagi.cjs +46 -0
  639. package/dist/services/definitions/pentagi.cjs.map +1 -0
  640. package/dist/services/definitions/pentagi.d.cts +7 -0
  641. package/dist/services/definitions/pentagi.d.cts.map +1 -0
  642. package/dist/services/definitions/pentagi.mjs +2 -2
  643. package/dist/services/definitions/pentagi.mjs.map +1 -1
  644. package/dist/services/definitions/pentestagent.cjs +41 -0
  645. package/dist/services/definitions/pentestagent.cjs.map +1 -0
  646. package/dist/services/definitions/pentestagent.d.cts +7 -0
  647. package/dist/services/definitions/pentestagent.d.cts.map +1 -0
  648. package/dist/services/definitions/playwright-server.cjs +44 -0
  649. package/dist/services/definitions/playwright-server.cjs.map +1 -0
  650. package/dist/services/definitions/playwright-server.d.cts +7 -0
  651. package/dist/services/definitions/playwright-server.d.cts.map +1 -0
  652. package/dist/services/definitions/playwright-server.mjs +1 -1
  653. package/dist/services/definitions/playwright-server.mjs.map +1 -1
  654. package/dist/services/definitions/portainer.cjs +51 -0
  655. package/dist/services/definitions/portainer.cjs.map +1 -0
  656. package/dist/services/definitions/portainer.d.cts +7 -0
  657. package/dist/services/definitions/portainer.d.cts.map +1 -0
  658. package/dist/services/definitions/portainer.mjs +1 -1
  659. package/dist/services/definitions/portainer.mjs.map +1 -1
  660. package/dist/services/definitions/postgresql.cjs +86 -0
  661. package/dist/services/definitions/postgresql.cjs.map +1 -0
  662. package/dist/services/definitions/postgresql.d.cts +7 -0
  663. package/dist/services/definitions/postgresql.d.cts.map +1 -0
  664. package/dist/services/definitions/postgresql.mjs +1 -1
  665. package/dist/services/definitions/postgresql.mjs.map +1 -1
  666. package/dist/services/definitions/postiz.cjs +85 -0
  667. package/dist/services/definitions/postiz.cjs.map +1 -0
  668. package/dist/services/definitions/postiz.d.cts +7 -0
  669. package/dist/services/definitions/postiz.d.cts.map +1 -0
  670. package/dist/services/definitions/postiz.mjs +1 -1
  671. package/dist/services/definitions/postiz.mjs.map +1 -1
  672. package/dist/services/definitions/prometheus.cjs +54 -0
  673. package/dist/services/definitions/prometheus.cjs.map +1 -0
  674. package/dist/services/definitions/prometheus.d.cts +7 -0
  675. package/dist/services/definitions/prometheus.d.cts.map +1 -0
  676. package/dist/services/definitions/prometheus.mjs +1 -1
  677. package/dist/services/definitions/prometheus.mjs.map +1 -1
  678. package/dist/services/definitions/qdrant.cjs +79 -0
  679. package/dist/services/definitions/qdrant.cjs.map +1 -0
  680. package/dist/services/definitions/qdrant.d.cts +7 -0
  681. package/dist/services/definitions/qdrant.d.cts.map +1 -0
  682. package/dist/services/definitions/qdrant.mjs +1 -1
  683. package/dist/services/definitions/qdrant.mjs.map +1 -1
  684. package/dist/services/definitions/redis.cjs +93 -0
  685. package/dist/services/definitions/redis.cjs.map +1 -0
  686. package/dist/services/definitions/redis.d.cts +7 -0
  687. package/dist/services/definitions/redis.d.cts.map +1 -0
  688. package/dist/services/definitions/redis.mjs +1 -1
  689. package/dist/services/definitions/redis.mjs.map +1 -1
  690. package/dist/services/definitions/remotion.cjs +57 -0
  691. package/dist/services/definitions/remotion.cjs.map +1 -0
  692. package/dist/services/definitions/remotion.d.cts +7 -0
  693. package/dist/services/definitions/remotion.d.cts.map +1 -0
  694. package/dist/services/definitions/remotion.mjs +1 -1
  695. package/dist/services/definitions/remotion.mjs.map +1 -1
  696. package/dist/services/definitions/rocketchat.cjs +59 -0
  697. package/dist/services/definitions/rocketchat.cjs.map +1 -0
  698. package/dist/services/definitions/rocketchat.d.cts +7 -0
  699. package/dist/services/definitions/rocketchat.d.cts.map +1 -0
  700. package/dist/services/definitions/rocketchat.mjs +1 -1
  701. package/dist/services/definitions/rocketchat.mjs.map +1 -1
  702. package/dist/services/definitions/scrapling.cjs +46 -0
  703. package/dist/services/definitions/scrapling.cjs.map +1 -0
  704. package/dist/services/definitions/scrapling.d.cts +7 -0
  705. package/dist/services/definitions/scrapling.d.cts.map +1 -0
  706. package/dist/services/definitions/scrapling.mjs +2 -2
  707. package/dist/services/definitions/scrapling.mjs.map +1 -1
  708. package/dist/services/definitions/searxng.cjs +67 -0
  709. package/dist/services/definitions/searxng.cjs.map +1 -0
  710. package/dist/services/definitions/searxng.d.cts +7 -0
  711. package/dist/services/definitions/searxng.d.cts.map +1 -0
  712. package/dist/services/definitions/searxng.mjs +1 -1
  713. package/dist/services/definitions/searxng.mjs.map +1 -1
  714. package/dist/services/definitions/signoz.cjs +56 -0
  715. package/dist/services/definitions/signoz.cjs.map +1 -0
  716. package/dist/services/definitions/signoz.d.cts +7 -0
  717. package/dist/services/definitions/signoz.d.cts.map +1 -0
  718. package/dist/services/definitions/signoz.mjs +2 -2
  719. package/dist/services/definitions/signoz.mjs.map +1 -1
  720. package/dist/services/definitions/solidityguard.cjs +51 -0
  721. package/dist/services/definitions/solidityguard.cjs.map +1 -0
  722. package/dist/services/definitions/solidityguard.d.cts +7 -0
  723. package/dist/services/definitions/solidityguard.d.cts.map +1 -0
  724. package/dist/services/definitions/solidityguard.mjs +1 -1
  725. package/dist/services/definitions/solidityguard.mjs.map +1 -1
  726. package/dist/services/definitions/stable-diffusion.cjs +50 -0
  727. package/dist/services/definitions/stable-diffusion.cjs.map +1 -0
  728. package/dist/services/definitions/stable-diffusion.d.cts +7 -0
  729. package/dist/services/definitions/stable-diffusion.d.cts.map +1 -0
  730. package/dist/services/definitions/stable-diffusion.mjs +1 -1
  731. package/dist/services/definitions/stable-diffusion.mjs.map +1 -1
  732. package/dist/services/definitions/steel-browser.cjs +79 -0
  733. package/dist/services/definitions/steel-browser.cjs.map +1 -0
  734. package/dist/services/definitions/steel-browser.d.cts +7 -0
  735. package/dist/services/definitions/steel-browser.d.cts.map +1 -0
  736. package/dist/services/definitions/steel-browser.mjs +1 -1
  737. package/dist/services/definitions/steel-browser.mjs.map +1 -1
  738. package/dist/services/definitions/stream-gateway.cjs +135 -0
  739. package/dist/services/definitions/stream-gateway.cjs.map +1 -0
  740. package/dist/services/definitions/stream-gateway.d.cts +7 -0
  741. package/dist/services/definitions/stream-gateway.d.cts.map +1 -0
  742. package/dist/services/definitions/stream-gateway.mjs +2 -2
  743. package/dist/services/definitions/stream-gateway.mjs.map +1 -1
  744. package/dist/services/definitions/supabase.cjs +71 -0
  745. package/dist/services/definitions/supabase.cjs.map +1 -0
  746. package/dist/services/definitions/supabase.d.cts +7 -0
  747. package/dist/services/definitions/supabase.d.cts.map +1 -0
  748. package/dist/services/definitions/supabase.mjs +2 -2
  749. package/dist/services/definitions/supabase.mjs.map +1 -1
  750. package/dist/services/definitions/tailscale.cjs +72 -0
  751. package/dist/services/definitions/tailscale.cjs.map +1 -0
  752. package/dist/services/definitions/tailscale.d.cts +7 -0
  753. package/dist/services/definitions/tailscale.d.cts.map +1 -0
  754. package/dist/services/definitions/tailscale.mjs +1 -1
  755. package/dist/services/definitions/tailscale.mjs.map +1 -1
  756. package/dist/services/definitions/temporal.cjs +102 -0
  757. package/dist/services/definitions/temporal.cjs.map +1 -0
  758. package/dist/services/definitions/temporal.d.cts +7 -0
  759. package/dist/services/definitions/temporal.d.cts.map +1 -0
  760. package/dist/services/definitions/traefik.cjs +59 -0
  761. package/dist/services/definitions/traefik.cjs.map +1 -0
  762. package/dist/services/definitions/traefik.d.cts +7 -0
  763. package/dist/services/definitions/traefik.d.cts.map +1 -0
  764. package/dist/services/definitions/traefik.mjs +1 -1
  765. package/dist/services/definitions/traefik.mjs.map +1 -1
  766. package/dist/services/definitions/umami.cjs +48 -0
  767. package/dist/services/definitions/umami.cjs.map +1 -0
  768. package/dist/services/definitions/umami.d.cts +7 -0
  769. package/dist/services/definitions/umami.d.cts.map +1 -0
  770. package/dist/services/definitions/uptime-kuma.cjs +53 -0
  771. package/dist/services/definitions/uptime-kuma.cjs.map +1 -0
  772. package/dist/services/definitions/uptime-kuma.d.cts +7 -0
  773. package/dist/services/definitions/uptime-kuma.d.cts.map +1 -0
  774. package/dist/services/definitions/uptime-kuma.mjs +2 -2
  775. package/dist/services/definitions/uptime-kuma.mjs.map +1 -1
  776. package/dist/services/definitions/usesend.cjs +101 -0
  777. package/dist/services/definitions/usesend.cjs.map +1 -0
  778. package/dist/services/definitions/usesend.d.cts +7 -0
  779. package/dist/services/definitions/usesend.d.cts.map +1 -0
  780. package/dist/services/definitions/usesend.mjs +4 -4
  781. package/dist/services/definitions/usesend.mjs.map +1 -1
  782. package/dist/services/definitions/valkey.cjs +63 -0
  783. package/dist/services/definitions/valkey.cjs.map +1 -0
  784. package/dist/services/definitions/valkey.d.cts +7 -0
  785. package/dist/services/definitions/valkey.d.cts.map +1 -0
  786. package/dist/services/definitions/valkey.mjs +1 -1
  787. package/dist/services/definitions/valkey.mjs.map +1 -1
  788. package/dist/services/definitions/vaultwarden.cjs +65 -0
  789. package/dist/services/definitions/vaultwarden.cjs.map +1 -0
  790. package/dist/services/definitions/vaultwarden.d.cts +7 -0
  791. package/dist/services/definitions/vaultwarden.d.cts.map +1 -0
  792. package/dist/services/definitions/vaultwarden.mjs +2 -2
  793. package/dist/services/definitions/vaultwarden.mjs.map +1 -1
  794. package/dist/services/definitions/watchtower.cjs +49 -0
  795. package/dist/services/definitions/watchtower.cjs.map +1 -0
  796. package/dist/services/definitions/watchtower.d.cts +7 -0
  797. package/dist/services/definitions/watchtower.d.cts.map +1 -0
  798. package/dist/services/definitions/weaviate.cjs +92 -0
  799. package/dist/services/definitions/weaviate.cjs.map +1 -0
  800. package/dist/services/definitions/weaviate.d.cts +7 -0
  801. package/dist/services/definitions/weaviate.d.cts.map +1 -0
  802. package/dist/services/definitions/weaviate.mjs +2 -2
  803. package/dist/services/definitions/weaviate.mjs.map +1 -1
  804. package/dist/services/definitions/whisper.cjs +64 -0
  805. package/dist/services/definitions/whisper.cjs.map +1 -0
  806. package/dist/services/definitions/whisper.d.cts +7 -0
  807. package/dist/services/definitions/whisper.d.cts.map +1 -0
  808. package/dist/services/definitions/whisper.mjs +2 -2
  809. package/dist/services/definitions/whisper.mjs.map +1 -1
  810. package/dist/services/definitions/xyops.cjs +88 -0
  811. package/dist/services/definitions/xyops.cjs.map +1 -0
  812. package/dist/services/definitions/xyops.d.cts +7 -0
  813. package/dist/services/definitions/xyops.d.cts.map +1 -0
  814. package/dist/services/definitions/xyops.mjs +1 -1
  815. package/dist/services/definitions/xyops.mjs.map +1 -1
  816. package/dist/services/registry.cjs +35 -0
  817. package/dist/services/registry.cjs.map +1 -0
  818. package/dist/services/registry.d.cts +16 -0
  819. package/dist/services/registry.d.cts.map +1 -0
  820. package/dist/services/registry.test.cjs +63 -0
  821. package/dist/services/registry.test.cjs.map +1 -0
  822. package/dist/services/registry.test.d.cts +1 -0
  823. package/dist/services/registry.test.mjs +1 -1
  824. package/dist/skills/registry.cjs +712 -0
  825. package/dist/skills/registry.cjs.map +1 -0
  826. package/dist/skills/registry.d.cts +11 -0
  827. package/dist/skills/registry.d.cts.map +1 -0
  828. package/dist/skills/skill-manifest.cjs +23 -0
  829. package/dist/skills/skill-manifest.cjs.map +1 -0
  830. package/dist/skills/skill-manifest.d.cts +20 -0
  831. package/dist/skills/skill-manifest.d.cts.map +1 -0
  832. package/dist/types.cjs +149 -0
  833. package/dist/types.cjs.map +1 -0
  834. package/dist/types.d.cts +82 -0
  835. package/dist/types.d.cts.map +1 -0
  836. package/dist/types.d.mts +9 -2
  837. package/dist/types.d.mts.map +1 -1
  838. package/dist/types.mjs +40 -0
  839. package/dist/types.mjs.map +1 -1
  840. package/dist/validator.cjs +124 -0
  841. package/dist/validator.cjs.map +1 -0
  842. package/dist/validator.d.cts +20 -0
  843. package/dist/validator.d.cts.map +1 -0
  844. package/dist/validator.test.cjs +64 -0
  845. package/dist/validator.test.cjs.map +1 -0
  846. package/dist/validator.test.d.cts +1 -0
  847. package/dist/validator.test.mjs +1 -1
  848. package/dist/version-manager.cjs +65 -0
  849. package/dist/version-manager.cjs.map +1 -0
  850. package/dist/version-manager.d.cts +14 -0
  851. package/dist/version-manager.d.cts.map +1 -0
  852. package/dist/version-manager.test.cjs +101 -0
  853. package/dist/version-manager.test.cjs.map +1 -0
  854. package/dist/version-manager.test.d.cts +1 -0
  855. package/dist/version-manager.test.mjs +1 -1
  856. package/dist/vi.2VT5v0um-BmRMvymT.cjs +12934 -0
  857. package/dist/vi.2VT5v0um-BmRMvymT.cjs.map +1 -0
  858. package/dist/{vi.2VT5v0um-BgmKutxR.mjs → vi.2VT5v0um-CFyDIn0m.mjs} +5 -5
  859. package/dist/{vi.2VT5v0um-BgmKutxR.mjs.map → vi.2VT5v0um-CFyDIn0m.mjs.map} +1 -1
  860. package/package.json +24 -3
  861. package/src/__snapshots__/composer.snapshot.test.ts.snap +20 -20
  862. package/src/compose-validation.test.ts +102 -0
  863. package/src/composer.test.ts +1 -1
  864. package/src/composer.ts +331 -53
  865. package/src/deployers/coolify.ts +241 -0
  866. package/src/deployers/dokploy.ts +174 -0
  867. package/src/deployers/index.ts +36 -0
  868. package/src/deployers/types.ts +70 -0
  869. package/src/generate.ts +45 -1
  870. package/src/generators/cloud-init.ts +137 -0
  871. package/src/generators/env.ts +112 -6
  872. package/src/generators/health-check.ts +2 -2
  873. package/src/generators/openclaw-install-script.ts +77 -0
  874. package/src/generators/openclaw-json.ts +195 -58
  875. package/src/generators/postgres-init.ts +11 -0
  876. package/src/generators/readme.ts +103 -4
  877. package/src/generators/stack-manifest.ts +127 -0
  878. package/src/index.ts +30 -0
  879. package/src/port-scanner.ts +189 -0
  880. package/src/presets/presets.test.ts +73 -0
  881. package/src/presets/registry.test.ts +3 -0
  882. package/src/presets/registry.ts +30 -7
  883. package/src/resolver.ts +2 -0
  884. package/src/schema.ts +30 -1
  885. package/src/services/definitions/anything-llm.ts +2 -2
  886. package/src/services/definitions/appflowy.ts +1 -1
  887. package/src/services/definitions/authentik.ts +5 -5
  888. package/src/services/definitions/beszel.ts +1 -1
  889. package/src/services/definitions/browserless.ts +1 -1
  890. package/src/services/definitions/caddy.ts +2 -2
  891. package/src/services/definitions/cal-com.ts +2 -2
  892. package/src/services/definitions/chromadb.ts +3 -3
  893. package/src/services/definitions/claude-code.ts +1 -1
  894. package/src/services/definitions/code-server.ts +1 -1
  895. package/src/services/definitions/codex.ts +1 -1
  896. package/src/services/definitions/comfyui.ts +1 -1
  897. package/src/services/definitions/coolify.ts +1 -1
  898. package/src/services/definitions/crowdsec.ts +2 -2
  899. package/src/services/definitions/desktop-environment.ts +1 -1
  900. package/src/services/definitions/dify.ts +1 -1
  901. package/src/services/definitions/docsgpt.ts +1 -1
  902. package/src/services/definitions/dokploy.ts +2 -2
  903. package/src/services/definitions/dozzle.ts +1 -1
  904. package/src/services/definitions/ffmpeg.ts +2 -2
  905. package/src/services/definitions/flowise.ts +1 -1
  906. package/src/services/definitions/gemini-cli.ts +8 -1
  907. package/src/services/definitions/ghost.ts +1 -1
  908. package/src/services/definitions/gitea.ts +1 -1
  909. package/src/services/definitions/gotify.ts +3 -3
  910. package/src/services/definitions/grafana.ts +2 -2
  911. package/src/services/definitions/headscale.ts +68 -68
  912. package/src/services/definitions/hexstrike.ts +1 -1
  913. package/src/services/definitions/homeassistant.ts +1 -1
  914. package/src/services/definitions/immich.ts +6 -6
  915. package/src/services/definitions/jellyfin.ts +1 -1
  916. package/src/services/definitions/jenkins.ts +1 -1
  917. package/src/services/definitions/kimi.ts +1 -1
  918. package/src/services/definitions/lasuite-meet-agents.ts +1 -1
  919. package/src/services/definitions/lasuite-meet-backend.ts +3 -3
  920. package/src/services/definitions/lasuite-meet-frontend.ts +3 -3
  921. package/src/services/definitions/librechat.ts +1 -1
  922. package/src/services/definitions/litellm.ts +1 -1
  923. package/src/services/definitions/loki.ts +1 -1
  924. package/src/services/definitions/matomo.ts +1 -1
  925. package/src/services/definitions/matrix-synapse.ts +1 -1
  926. package/src/services/definitions/mattermost.ts +1 -1
  927. package/src/services/definitions/meilisearch.ts +4 -4
  928. package/src/services/definitions/milvus.ts +1 -1
  929. package/src/services/definitions/minio.ts +1 -1
  930. package/src/services/definitions/mixpost.ts +1 -1
  931. package/src/services/definitions/motion-canvas.ts +1 -1
  932. package/src/services/definitions/n8n.ts +1 -1
  933. package/src/services/definitions/neo4j.ts +1 -1
  934. package/src/services/definitions/nextcloud.ts +19 -19
  935. package/src/services/definitions/nocodb.ts +1 -1
  936. package/src/services/definitions/ntfy.ts +2 -2
  937. package/src/services/definitions/ollama.ts +1 -1
  938. package/src/services/definitions/open-webui.ts +1 -1
  939. package/src/services/definitions/opencode.ts +1 -1
  940. package/src/services/definitions/openpanel.ts +3 -3
  941. package/src/services/definitions/paperless-ngx.ts +1 -1
  942. package/src/services/definitions/pentagi.ts +2 -2
  943. package/src/services/definitions/playwright-server.ts +1 -1
  944. package/src/services/definitions/portainer.ts +1 -1
  945. package/src/services/definitions/postgresql.ts +1 -1
  946. package/src/services/definitions/postiz.ts +1 -1
  947. package/src/services/definitions/prometheus.ts +1 -1
  948. package/src/services/definitions/qdrant.ts +1 -1
  949. package/src/services/definitions/redis.ts +1 -1
  950. package/src/services/definitions/remotion.ts +1 -1
  951. package/src/services/definitions/rocketchat.ts +1 -1
  952. package/src/services/definitions/scrapling.ts +2 -2
  953. package/src/services/definitions/searxng.ts +1 -1
  954. package/src/services/definitions/signoz.ts +2 -2
  955. package/src/services/definitions/solidityguard.ts +1 -1
  956. package/src/services/definitions/stable-diffusion.ts +1 -1
  957. package/src/services/definitions/steel-browser.ts +1 -1
  958. package/src/services/definitions/stream-gateway.ts +2 -2
  959. package/src/services/definitions/supabase.ts +2 -2
  960. package/src/services/definitions/tailscale.ts +1 -1
  961. package/src/services/definitions/traefik.ts +1 -1
  962. package/src/services/definitions/uptime-kuma.ts +2 -2
  963. package/src/services/definitions/usesend.ts +4 -4
  964. package/src/services/definitions/valkey.ts +1 -1
  965. package/src/services/definitions/vaultwarden.ts +2 -2
  966. package/src/services/definitions/weaviate.ts +2 -2
  967. package/src/services/definitions/whisper.ts +2 -2
  968. package/src/services/definitions/xyops.ts +1 -1
  969. package/src/types.ts +138 -20
  970. package/tsdown.config.ts +2 -2
@@ -0,0 +1,70 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/generators/stack-manifest.ts
4
+ /**
5
+ * Generate stack-manifest.json from resolved output and generation input.
6
+ * Returns a single-file record: { "stack-manifest.json": string }.
7
+ */
8
+ function generateStackManifest(resolved, input) {
9
+ const depMap = /* @__PURE__ */ new Map();
10
+ for (const dep of resolved.addedDependencies) {
11
+ const depId = dep.serviceId ?? dep.service;
12
+ if (dep.requiredBy) depMap.set(depId, dep.requiredBy);
13
+ }
14
+ const services = resolved.services.map((svc) => {
15
+ const def = svc.definition;
16
+ return {
17
+ id: def.id,
18
+ name: def.name,
19
+ category: def.category,
20
+ icon: def.icon,
21
+ image: def.image,
22
+ imageTag: def.imageTag,
23
+ ports: def.ports.map((p) => ({
24
+ container: p.container,
25
+ host: p.host,
26
+ exposed: p.exposed,
27
+ description: p.description
28
+ })),
29
+ docsUrl: def.docsUrl,
30
+ addedBy: svc.addedBy,
31
+ ...svc.addedBy !== "user" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}
32
+ };
33
+ });
34
+ const skills = [];
35
+ const seenSkillIds = /* @__PURE__ */ new Set();
36
+ for (const svc of resolved.services) for (const skill of svc.definition.skills) {
37
+ const skillKey = `${svc.definition.id}-${skill.skillId}`;
38
+ if (seenSkillIds.has(skillKey)) continue;
39
+ seenSkillIds.add(skillKey);
40
+ skills.push({
41
+ id: skillKey,
42
+ name: skill.skillId,
43
+ path: `openclaw/skills/${skill.skillId}.md`,
44
+ serviceIds: [svc.definition.id]
45
+ });
46
+ }
47
+ const skillCount = skills.length;
48
+ const manifest = {
49
+ formatVersion: "1",
50
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
51
+ projectName: input.projectName,
52
+ deployment: input.deployment,
53
+ deploymentType: input.deploymentType,
54
+ platform: input.platform,
55
+ proxy: input.proxy,
56
+ domain: input.domain,
57
+ services,
58
+ skills,
59
+ metadata: {
60
+ serviceCount: resolved.services.length,
61
+ skillCount,
62
+ estimatedMemoryMB: resolved.estimatedMemoryMB
63
+ }
64
+ };
65
+ return { "stack-manifest.json": JSON.stringify(manifest, null, 2) };
66
+ }
67
+
68
+ //#endregion
69
+ exports.generateStackManifest = generateStackManifest;
70
+ //# sourceMappingURL=stack-manifest.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-manifest.cjs","names":[],"sources":["../../src/generators/stack-manifest.ts"],"sourcesContent":["/**\n * Stack manifest generator — produces a JSON manifest describing the\n * chosen services, skills, and configuration for a generated stack.\n *\n * This manifest is consumed by Mission Control to render dynamic\n * services/skills pages for managing the deployed stack.\n */\n\nimport type { GenerationInput, ResolverOutput } from \"../types.js\";\n\nexport interface StackManifestService {\n\tid: string;\n\tname: string;\n\tcategory: string;\n\ticon: string;\n\timage: string;\n\timageTag: string;\n\tports: { container: number; host?: number; exposed: boolean; description: string }[];\n\tdocsUrl: string;\n\taddedBy: string;\n\tdependencyOf?: string;\n}\n\nexport interface StackManifestSkill {\n\tid: string;\n\tname: string;\n\tpath: string;\n\tserviceIds: string[];\n}\n\nexport interface StackManifest {\n\tformatVersion: string;\n\tgeneratedAt: string;\n\tprojectName: string;\n\tdeployment?: string;\n\tdeploymentType?: string;\n\tplatform?: string;\n\tproxy?: string;\n\tdomain?: string;\n\tservices: StackManifestService[];\n\tskills: StackManifestSkill[];\n\tmetadata: {\n\t\tserviceCount: number;\n\t\tskillCount: number;\n\t\testimatedMemoryMB: number;\n\t};\n}\n\n/**\n * Generate stack-manifest.json from resolved output and generation input.\n * Returns a single-file record: { \"stack-manifest.json\": string }.\n */\nexport function generateStackManifest(\n\tresolved: ResolverOutput,\n\tinput: GenerationInput,\n): Record<string, string> {\n\t// Build a lookup of dependency chains: serviceId → requiredBy\n\tconst depMap = new Map<string, string>();\n\tfor (const dep of resolved.addedDependencies) {\n\t\tconst depId = dep.serviceId ?? dep.service;\n\t\tif (dep.requiredBy) {\n\t\t\tdepMap.set(depId, dep.requiredBy);\n\t\t}\n\t}\n\n\tconst services: StackManifestService[] = resolved.services.map((svc) => {\n\t\tconst def = svc.definition;\n\t\treturn {\n\t\t\tid: def.id,\n\t\t\tname: def.name,\n\t\t\tcategory: def.category,\n\t\t\ticon: def.icon,\n\t\t\timage: def.image,\n\t\t\timageTag: def.imageTag,\n\t\t\tports: def.ports.map((p) => ({\n\t\t\t\tcontainer: p.container,\n\t\t\t\thost: p.host,\n\t\t\t\texposed: p.exposed,\n\t\t\t\tdescription: p.description,\n\t\t\t})),\n\t\t\tdocsUrl: def.docsUrl,\n\t\t\taddedBy: svc.addedBy,\n\t\t\t...(svc.addedBy !== \"user\" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}),\n\t\t};\n\t});\n\n\t// Collect skills from service definitions (SkillBinding has skillId, not name)\n\tconst skills: StackManifestSkill[] = [];\n\tconst seenSkillIds = new Set<string>();\n\tfor (const svc of resolved.services) {\n\t\tfor (const skill of svc.definition.skills) {\n\t\t\tconst skillKey = `${svc.definition.id}-${skill.skillId}`;\n\t\t\tif (seenSkillIds.has(skillKey)) continue;\n\t\t\tseenSkillIds.add(skillKey);\n\t\t\tskills.push({\n\t\t\t\tid: skillKey,\n\t\t\t\tname: skill.skillId,\n\t\t\t\tpath: `openclaw/skills/${skill.skillId}.md`,\n\t\t\t\tserviceIds: [svc.definition.id],\n\t\t\t});\n\t\t}\n\t}\n\n\tconst skillCount = skills.length;\n\n\tconst manifest: StackManifest = {\n\t\tformatVersion: \"1\",\n\t\tgeneratedAt: new Date().toISOString(),\n\t\tprojectName: input.projectName,\n\t\tdeployment: input.deployment,\n\t\tdeploymentType: input.deploymentType,\n\t\tplatform: input.platform,\n\t\tproxy: input.proxy,\n\t\tdomain: input.domain,\n\t\tservices,\n\t\tskills,\n\t\tmetadata: {\n\t\t\tserviceCount: resolved.services.length,\n\t\t\tskillCount,\n\t\t\testimatedMemoryMB: resolved.estimatedMemoryMB,\n\t\t},\n\t};\n\n\treturn {\n\t\t\"stack-manifest.json\": JSON.stringify(manifest, null, 2),\n\t};\n}\n"],"mappings":";;;;;;;AAoDA,SAAgB,sBACf,UACA,OACyB;CAEzB,MAAM,yBAAS,IAAI,KAAqB;AACxC,MAAK,MAAM,OAAO,SAAS,mBAAmB;EAC7C,MAAM,QAAQ,IAAI,aAAa,IAAI;AACnC,MAAI,IAAI,WACP,QAAO,IAAI,OAAO,IAAI,WAAW;;CAInC,MAAM,WAAmC,SAAS,SAAS,KAAK,QAAQ;EACvE,MAAM,MAAM,IAAI;AAChB,SAAO;GACN,IAAI,IAAI;GACR,MAAM,IAAI;GACV,UAAU,IAAI;GACd,MAAM,IAAI;GACV,OAAO,IAAI;GACX,UAAU,IAAI;GACd,OAAO,IAAI,MAAM,KAAK,OAAO;IAC5B,WAAW,EAAE;IACb,MAAM,EAAE;IACR,SAAS,EAAE;IACX,aAAa,EAAE;IACf,EAAE;GACH,SAAS,IAAI;GACb,SAAS,IAAI;GACb,GAAI,IAAI,YAAY,UAAU,OAAO,IAAI,IAAI,GAAG,GAAG,EAAE,cAAc,OAAO,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE;GAC5F;GACA;CAGF,MAAM,SAA+B,EAAE;CACvC,MAAM,+BAAe,IAAI,KAAa;AACtC,MAAK,MAAM,OAAO,SAAS,SAC1B,MAAK,MAAM,SAAS,IAAI,WAAW,QAAQ;EAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,GAAG,GAAG,MAAM;AAC/C,MAAI,aAAa,IAAI,SAAS,CAAE;AAChC,eAAa,IAAI,SAAS;AAC1B,SAAO,KAAK;GACX,IAAI;GACJ,MAAM,MAAM;GACZ,MAAM,mBAAmB,MAAM,QAAQ;GACvC,YAAY,CAAC,IAAI,WAAW,GAAG;GAC/B,CAAC;;CAIJ,MAAM,aAAa,OAAO;CAE1B,MAAM,WAA0B;EAC/B,eAAe;EACf,8BAAa,IAAI,MAAM,EAAC,aAAa;EACrC,aAAa,MAAM;EACnB,YAAY,MAAM;EAClB,gBAAgB,MAAM;EACtB,UAAU,MAAM;EAChB,OAAO,MAAM;EACb,QAAQ,MAAM;EACd;EACA;EACA,UAAU;GACT,cAAc,SAAS,SAAS;GAChC;GACA,mBAAmB,SAAS;GAC5B;EACD;AAED,QAAO,EACN,uBAAuB,KAAK,UAAU,UAAU,MAAM,EAAE,EACxD"}
@@ -0,0 +1,51 @@
1
+ import { GenerationInput, ResolverOutput } from "../types.cjs";
2
+
3
+ //#region src/generators/stack-manifest.d.ts
4
+ interface StackManifestService {
5
+ id: string;
6
+ name: string;
7
+ category: string;
8
+ icon: string;
9
+ image: string;
10
+ imageTag: string;
11
+ ports: {
12
+ container: number;
13
+ host?: number;
14
+ exposed: boolean;
15
+ description: string;
16
+ }[];
17
+ docsUrl: string;
18
+ addedBy: string;
19
+ dependencyOf?: string;
20
+ }
21
+ interface StackManifestSkill {
22
+ id: string;
23
+ name: string;
24
+ path: string;
25
+ serviceIds: string[];
26
+ }
27
+ interface StackManifest {
28
+ formatVersion: string;
29
+ generatedAt: string;
30
+ projectName: string;
31
+ deployment?: string;
32
+ deploymentType?: string;
33
+ platform?: string;
34
+ proxy?: string;
35
+ domain?: string;
36
+ services: StackManifestService[];
37
+ skills: StackManifestSkill[];
38
+ metadata: {
39
+ serviceCount: number;
40
+ skillCount: number;
41
+ estimatedMemoryMB: number;
42
+ };
43
+ }
44
+ /**
45
+ * Generate stack-manifest.json from resolved output and generation input.
46
+ * Returns a single-file record: { "stack-manifest.json": string }.
47
+ */
48
+ declare function generateStackManifest(resolved: ResolverOutput, input: GenerationInput): Record<string, string>;
49
+ //#endregion
50
+ export { StackManifest, StackManifestService, StackManifestSkill, generateStackManifest };
51
+ //# sourceMappingURL=stack-manifest.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-manifest.d.cts","names":[],"sources":["../../src/generators/stack-manifest.ts"],"mappings":";;;UAUiB,oBAAA;EAChB,EAAA;EACA,IAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;IAAS,SAAA;IAAmB,IAAA;IAAe,OAAA;IAAkB,WAAA;EAAA;EAC7D,OAAA;EACA,OAAA;EACA,YAAA;AAAA;AAAA,UAGgB,kBAAA;EAChB,EAAA;EACA,IAAA;EACA,IAAA;EACA,UAAA;AAAA;AAAA,UAGgB,aAAA;EAChB,aAAA;EACA,WAAA;EACA,WAAA;EACA,UAAA;EACA,cAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,QAAA,EAAU,oBAAA;EACV,MAAA,EAAQ,kBAAA;EACR,QAAA;IACC,YAAA;IACA,UAAA;IACA,iBAAA;EAAA;AAAA;;;;;iBAQc,qBAAA,CACf,QAAA,EAAU,cAAA,EACV,KAAA,EAAO,eAAA,GACL,MAAA"}
@@ -0,0 +1,51 @@
1
+ import { GenerationInput, ResolverOutput } from "../types.mjs";
2
+
3
+ //#region src/generators/stack-manifest.d.ts
4
+ interface StackManifestService {
5
+ id: string;
6
+ name: string;
7
+ category: string;
8
+ icon: string;
9
+ image: string;
10
+ imageTag: string;
11
+ ports: {
12
+ container: number;
13
+ host?: number;
14
+ exposed: boolean;
15
+ description: string;
16
+ }[];
17
+ docsUrl: string;
18
+ addedBy: string;
19
+ dependencyOf?: string;
20
+ }
21
+ interface StackManifestSkill {
22
+ id: string;
23
+ name: string;
24
+ path: string;
25
+ serviceIds: string[];
26
+ }
27
+ interface StackManifest {
28
+ formatVersion: string;
29
+ generatedAt: string;
30
+ projectName: string;
31
+ deployment?: string;
32
+ deploymentType?: string;
33
+ platform?: string;
34
+ proxy?: string;
35
+ domain?: string;
36
+ services: StackManifestService[];
37
+ skills: StackManifestSkill[];
38
+ metadata: {
39
+ serviceCount: number;
40
+ skillCount: number;
41
+ estimatedMemoryMB: number;
42
+ };
43
+ }
44
+ /**
45
+ * Generate stack-manifest.json from resolved output and generation input.
46
+ * Returns a single-file record: { "stack-manifest.json": string }.
47
+ */
48
+ declare function generateStackManifest(resolved: ResolverOutput, input: GenerationInput): Record<string, string>;
49
+ //#endregion
50
+ export { StackManifest, StackManifestService, StackManifestSkill, generateStackManifest };
51
+ //# sourceMappingURL=stack-manifest.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-manifest.d.mts","names":[],"sources":["../../src/generators/stack-manifest.ts"],"mappings":";;;UAUiB,oBAAA;EAChB,EAAA;EACA,IAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;IAAS,SAAA;IAAmB,IAAA;IAAe,OAAA;IAAkB,WAAA;EAAA;EAC7D,OAAA;EACA,OAAA;EACA,YAAA;AAAA;AAAA,UAGgB,kBAAA;EAChB,EAAA;EACA,IAAA;EACA,IAAA;EACA,UAAA;AAAA;AAAA,UAGgB,aAAA;EAChB,aAAA;EACA,WAAA;EACA,WAAA;EACA,UAAA;EACA,cAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,QAAA,EAAU,oBAAA;EACV,MAAA,EAAQ,kBAAA;EACR,QAAA;IACC,YAAA;IACA,UAAA;IACA,iBAAA;EAAA;AAAA;;;;;iBAQc,qBAAA,CACf,QAAA,EAAU,cAAA,EACV,KAAA,EAAO,eAAA,GACL,MAAA"}
@@ -0,0 +1,68 @@
1
+ //#region src/generators/stack-manifest.ts
2
+ /**
3
+ * Generate stack-manifest.json from resolved output and generation input.
4
+ * Returns a single-file record: { "stack-manifest.json": string }.
5
+ */
6
+ function generateStackManifest(resolved, input) {
7
+ const depMap = /* @__PURE__ */ new Map();
8
+ for (const dep of resolved.addedDependencies) {
9
+ const depId = dep.serviceId ?? dep.service;
10
+ if (dep.requiredBy) depMap.set(depId, dep.requiredBy);
11
+ }
12
+ const services = resolved.services.map((svc) => {
13
+ const def = svc.definition;
14
+ return {
15
+ id: def.id,
16
+ name: def.name,
17
+ category: def.category,
18
+ icon: def.icon,
19
+ image: def.image,
20
+ imageTag: def.imageTag,
21
+ ports: def.ports.map((p) => ({
22
+ container: p.container,
23
+ host: p.host,
24
+ exposed: p.exposed,
25
+ description: p.description
26
+ })),
27
+ docsUrl: def.docsUrl,
28
+ addedBy: svc.addedBy,
29
+ ...svc.addedBy !== "user" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}
30
+ };
31
+ });
32
+ const skills = [];
33
+ const seenSkillIds = /* @__PURE__ */ new Set();
34
+ for (const svc of resolved.services) for (const skill of svc.definition.skills) {
35
+ const skillKey = `${svc.definition.id}-${skill.skillId}`;
36
+ if (seenSkillIds.has(skillKey)) continue;
37
+ seenSkillIds.add(skillKey);
38
+ skills.push({
39
+ id: skillKey,
40
+ name: skill.skillId,
41
+ path: `openclaw/skills/${skill.skillId}.md`,
42
+ serviceIds: [svc.definition.id]
43
+ });
44
+ }
45
+ const skillCount = skills.length;
46
+ const manifest = {
47
+ formatVersion: "1",
48
+ generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
49
+ projectName: input.projectName,
50
+ deployment: input.deployment,
51
+ deploymentType: input.deploymentType,
52
+ platform: input.platform,
53
+ proxy: input.proxy,
54
+ domain: input.domain,
55
+ services,
56
+ skills,
57
+ metadata: {
58
+ serviceCount: resolved.services.length,
59
+ skillCount,
60
+ estimatedMemoryMB: resolved.estimatedMemoryMB
61
+ }
62
+ };
63
+ return { "stack-manifest.json": JSON.stringify(manifest, null, 2) };
64
+ }
65
+
66
+ //#endregion
67
+ export { generateStackManifest };
68
+ //# sourceMappingURL=stack-manifest.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-manifest.mjs","names":[],"sources":["../../src/generators/stack-manifest.ts"],"sourcesContent":["/**\n * Stack manifest generator — produces a JSON manifest describing the\n * chosen services, skills, and configuration for a generated stack.\n *\n * This manifest is consumed by Mission Control to render dynamic\n * services/skills pages for managing the deployed stack.\n */\n\nimport type { GenerationInput, ResolverOutput } from \"../types.js\";\n\nexport interface StackManifestService {\n\tid: string;\n\tname: string;\n\tcategory: string;\n\ticon: string;\n\timage: string;\n\timageTag: string;\n\tports: { container: number; host?: number; exposed: boolean; description: string }[];\n\tdocsUrl: string;\n\taddedBy: string;\n\tdependencyOf?: string;\n}\n\nexport interface StackManifestSkill {\n\tid: string;\n\tname: string;\n\tpath: string;\n\tserviceIds: string[];\n}\n\nexport interface StackManifest {\n\tformatVersion: string;\n\tgeneratedAt: string;\n\tprojectName: string;\n\tdeployment?: string;\n\tdeploymentType?: string;\n\tplatform?: string;\n\tproxy?: string;\n\tdomain?: string;\n\tservices: StackManifestService[];\n\tskills: StackManifestSkill[];\n\tmetadata: {\n\t\tserviceCount: number;\n\t\tskillCount: number;\n\t\testimatedMemoryMB: number;\n\t};\n}\n\n/**\n * Generate stack-manifest.json from resolved output and generation input.\n * Returns a single-file record: { \"stack-manifest.json\": string }.\n */\nexport function generateStackManifest(\n\tresolved: ResolverOutput,\n\tinput: GenerationInput,\n): Record<string, string> {\n\t// Build a lookup of dependency chains: serviceId → requiredBy\n\tconst depMap = new Map<string, string>();\n\tfor (const dep of resolved.addedDependencies) {\n\t\tconst depId = dep.serviceId ?? dep.service;\n\t\tif (dep.requiredBy) {\n\t\t\tdepMap.set(depId, dep.requiredBy);\n\t\t}\n\t}\n\n\tconst services: StackManifestService[] = resolved.services.map((svc) => {\n\t\tconst def = svc.definition;\n\t\treturn {\n\t\t\tid: def.id,\n\t\t\tname: def.name,\n\t\t\tcategory: def.category,\n\t\t\ticon: def.icon,\n\t\t\timage: def.image,\n\t\t\timageTag: def.imageTag,\n\t\t\tports: def.ports.map((p) => ({\n\t\t\t\tcontainer: p.container,\n\t\t\t\thost: p.host,\n\t\t\t\texposed: p.exposed,\n\t\t\t\tdescription: p.description,\n\t\t\t})),\n\t\t\tdocsUrl: def.docsUrl,\n\t\t\taddedBy: svc.addedBy,\n\t\t\t...(svc.addedBy !== \"user\" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}),\n\t\t};\n\t});\n\n\t// Collect skills from service definitions (SkillBinding has skillId, not name)\n\tconst skills: StackManifestSkill[] = [];\n\tconst seenSkillIds = new Set<string>();\n\tfor (const svc of resolved.services) {\n\t\tfor (const skill of svc.definition.skills) {\n\t\t\tconst skillKey = `${svc.definition.id}-${skill.skillId}`;\n\t\t\tif (seenSkillIds.has(skillKey)) continue;\n\t\t\tseenSkillIds.add(skillKey);\n\t\t\tskills.push({\n\t\t\t\tid: skillKey,\n\t\t\t\tname: skill.skillId,\n\t\t\t\tpath: `openclaw/skills/${skill.skillId}.md`,\n\t\t\t\tserviceIds: [svc.definition.id],\n\t\t\t});\n\t\t}\n\t}\n\n\tconst skillCount = skills.length;\n\n\tconst manifest: StackManifest = {\n\t\tformatVersion: \"1\",\n\t\tgeneratedAt: new Date().toISOString(),\n\t\tprojectName: input.projectName,\n\t\tdeployment: input.deployment,\n\t\tdeploymentType: input.deploymentType,\n\t\tplatform: input.platform,\n\t\tproxy: input.proxy,\n\t\tdomain: input.domain,\n\t\tservices,\n\t\tskills,\n\t\tmetadata: {\n\t\t\tserviceCount: resolved.services.length,\n\t\t\tskillCount,\n\t\t\testimatedMemoryMB: resolved.estimatedMemoryMB,\n\t\t},\n\t};\n\n\treturn {\n\t\t\"stack-manifest.json\": JSON.stringify(manifest, null, 2),\n\t};\n}\n"],"mappings":";;;;;AAoDA,SAAgB,sBACf,UACA,OACyB;CAEzB,MAAM,yBAAS,IAAI,KAAqB;AACxC,MAAK,MAAM,OAAO,SAAS,mBAAmB;EAC7C,MAAM,QAAQ,IAAI,aAAa,IAAI;AACnC,MAAI,IAAI,WACP,QAAO,IAAI,OAAO,IAAI,WAAW;;CAInC,MAAM,WAAmC,SAAS,SAAS,KAAK,QAAQ;EACvE,MAAM,MAAM,IAAI;AAChB,SAAO;GACN,IAAI,IAAI;GACR,MAAM,IAAI;GACV,UAAU,IAAI;GACd,MAAM,IAAI;GACV,OAAO,IAAI;GACX,UAAU,IAAI;GACd,OAAO,IAAI,MAAM,KAAK,OAAO;IAC5B,WAAW,EAAE;IACb,MAAM,EAAE;IACR,SAAS,EAAE;IACX,aAAa,EAAE;IACf,EAAE;GACH,SAAS,IAAI;GACb,SAAS,IAAI;GACb,GAAI,IAAI,YAAY,UAAU,OAAO,IAAI,IAAI,GAAG,GAAG,EAAE,cAAc,OAAO,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE;GAC5F;GACA;CAGF,MAAM,SAA+B,EAAE;CACvC,MAAM,+BAAe,IAAI,KAAa;AACtC,MAAK,MAAM,OAAO,SAAS,SAC1B,MAAK,MAAM,SAAS,IAAI,WAAW,QAAQ;EAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,GAAG,GAAG,MAAM;AAC/C,MAAI,aAAa,IAAI,SAAS,CAAE;AAChC,eAAa,IAAI,SAAS;AAC1B,SAAO,KAAK;GACX,IAAI;GACJ,MAAM,MAAM;GACZ,MAAM,mBAAmB,MAAM,QAAQ;GACvC,YAAY,CAAC,IAAI,WAAW,GAAG;GAC/B,CAAC;;CAIJ,MAAM,aAAa,OAAO;CAE1B,MAAM,WAA0B;EAC/B,eAAe;EACf,8BAAa,IAAI,MAAM,EAAC,aAAa;EACrC,aAAa,MAAM;EACnB,YAAY,MAAM;EAClB,gBAAgB,MAAM;EACtB,UAAU,MAAM;EAChB,OAAO,MAAM;EACb,QAAQ,MAAM;EACd;EACA;EACA,UAAU;GACT,cAAc,SAAS,SAAS;GAChC;GACA,mBAAmB,SAAS;GAC5B;EACD;AAED,QAAO,EACN,uBAAuB,KAAK,UAAU,UAAU,MAAM,EAAE,EACxD"}
@@ -0,0 +1,88 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/generators/traefik.ts
4
+ /**
5
+ * Generates Traefik configuration: a static config YAML file and per-service
6
+ * Docker labels for automatic service discovery and reverse proxy routing.
7
+ *
8
+ * @param resolved - The resolved service configuration
9
+ * @param domain - The main domain for routing (e.g. "example.com")
10
+ * @returns Static config content and a map of serviceId → Docker labels
11
+ */
12
+ function generateTraefikConfig(resolved, domain) {
13
+ const staticConfig = generateStaticConfig(domain);
14
+ const serviceLabels = /* @__PURE__ */ new Map();
15
+ for (const { definition } of resolved.services) {
16
+ if (definition.id === "traefik" || definition.id === "caddy") continue;
17
+ const exposedPorts = definition.ports.filter((p) => p.exposed);
18
+ if (exposedPorts.length === 0) continue;
19
+ const primaryPort = exposedPorts[0];
20
+ const routerName = definition.id.replace(/-/g, "");
21
+ const labels = {
22
+ "traefik.enable": "true",
23
+ [`traefik.http.routers.${routerName}.rule`]: `Host(\`${definition.id}.${domain}\`)`,
24
+ [`traefik.http.routers.${routerName}.entrypoints`]: "websecure",
25
+ [`traefik.http.routers.${routerName}.tls.certresolver`]: "letsencrypt",
26
+ [`traefik.http.services.${routerName}.loadbalancer.server.port`]: String(primaryPort.container),
27
+ [`traefik.http.routers.${routerName}-http.rule`]: `Host(\`${definition.id}.${domain}\`)`,
28
+ [`traefik.http.routers.${routerName}-http.entrypoints`]: "web",
29
+ [`traefik.http.routers.${routerName}-http.middlewares`]: "redirect-to-https"
30
+ };
31
+ serviceLabels.set(definition.id, labels);
32
+ }
33
+ serviceLabels.set("openclaw-gateway", {
34
+ "traefik.enable": "true",
35
+ "traefik.http.routers.gateway.rule": `Host(\`${domain}\`)`,
36
+ "traefik.http.routers.gateway.entrypoints": "websecure",
37
+ "traefik.http.routers.gateway.tls.certresolver": "letsencrypt",
38
+ "traefik.http.services.gateway.loadbalancer.server.port": "18789",
39
+ "traefik.http.routers.gateway-http.rule": `Host(\`${domain}\`)`,
40
+ "traefik.http.routers.gateway-http.entrypoints": "web",
41
+ "traefik.http.routers.gateway-http.middlewares": "redirect-to-https"
42
+ });
43
+ serviceLabels.set("traefik", {
44
+ "traefik.enable": "true",
45
+ "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme": "https",
46
+ "traefik.http.middlewares.redirect-to-https.redirectscheme.permanent": "true"
47
+ });
48
+ return {
49
+ staticConfig,
50
+ serviceLabels
51
+ };
52
+ }
53
+ function generateStaticConfig(domain) {
54
+ return `# Traefik Static Configuration — Auto-generated by OpenClaw
55
+ # Domain: ${domain}
56
+
57
+ api:
58
+ dashboard: true
59
+ insecure: true
60
+
61
+ entryPoints:
62
+ web:
63
+ address: ":80"
64
+ websecure:
65
+ address: ":443"
66
+
67
+ providers:
68
+ docker:
69
+ endpoint: "unix:///var/run/docker.sock"
70
+ exposedByDefault: false
71
+ network: openclaw-network
72
+
73
+ certificatesResolvers:
74
+ letsencrypt:
75
+ acme:
76
+ email: admin@${domain}
77
+ storage: /letsencrypt/acme.json
78
+ httpChallenge:
79
+ entryPoint: web
80
+
81
+ log:
82
+ level: INFO
83
+ `;
84
+ }
85
+
86
+ //#endregion
87
+ exports.generateTraefikConfig = generateTraefikConfig;
88
+ //# sourceMappingURL=traefik.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traefik.cjs","names":[],"sources":["../../src/generators/traefik.ts"],"sourcesContent":["import type { ResolverOutput } from \"../types.js\";\n\nexport interface TraefikGeneratorOutput {\n\tstaticConfig: string;\n\tserviceLabels: Map<string, Record<string, string>>;\n}\n\n/**\n * Generates Traefik configuration: a static config YAML file and per-service\n * Docker labels for automatic service discovery and reverse proxy routing.\n *\n * @param resolved - The resolved service configuration\n * @param domain - The main domain for routing (e.g. \"example.com\")\n * @returns Static config content and a map of serviceId → Docker labels\n */\nexport function generateTraefikConfig(\n\tresolved: ResolverOutput,\n\tdomain: string,\n): TraefikGeneratorOutput {\n\tconst staticConfig = generateStaticConfig(domain);\n\tconst serviceLabels = new Map<string, Record<string, string>>();\n\n\t// Per-service labels for exposed ports\n\tfor (const { definition } of resolved.services) {\n\t\tif (definition.id === \"traefik\" || definition.id === \"caddy\") continue;\n\n\t\tconst exposedPorts = definition.ports.filter((p) => p.exposed);\n\t\tif (exposedPorts.length === 0) continue;\n\n\t\tconst primaryPort = exposedPorts[0]!;\n\t\tconst routerName = definition.id.replace(/-/g, \"\");\n\n\t\tconst labels: Record<string, string> = {\n\t\t\t\"traefik.enable\": \"true\",\n\t\t\t// HTTPS router\n\t\t\t[`traefik.http.routers.${routerName}.rule`]: `Host(\\`${definition.id}.${domain}\\`)`,\n\t\t\t[`traefik.http.routers.${routerName}.entrypoints`]: \"websecure\",\n\t\t\t[`traefik.http.routers.${routerName}.tls.certresolver`]: \"letsencrypt\",\n\t\t\t[`traefik.http.services.${routerName}.loadbalancer.server.port`]: String(\n\t\t\t\tprimaryPort.container,\n\t\t\t),\n\t\t\t// HTTP → HTTPS redirect\n\t\t\t[`traefik.http.routers.${routerName}-http.rule`]: `Host(\\`${definition.id}.${domain}\\`)`,\n\t\t\t[`traefik.http.routers.${routerName}-http.entrypoints`]: \"web\",\n\t\t\t[`traefik.http.routers.${routerName}-http.middlewares`]: \"redirect-to-https\",\n\t\t};\n\n\t\tserviceLabels.set(definition.id, labels);\n\t}\n\n\t// Gateway gets the root domain\n\tserviceLabels.set(\"openclaw-gateway\", {\n\t\t\"traefik.enable\": \"true\",\n\t\t\"traefik.http.routers.gateway.rule\": `Host(\\`${domain}\\`)`,\n\t\t\"traefik.http.routers.gateway.entrypoints\": \"websecure\",\n\t\t\"traefik.http.routers.gateway.tls.certresolver\": \"letsencrypt\",\n\t\t\"traefik.http.services.gateway.loadbalancer.server.port\": \"18789\",\n\t\t\"traefik.http.routers.gateway-http.rule\": `Host(\\`${domain}\\`)`,\n\t\t\"traefik.http.routers.gateway-http.entrypoints\": \"web\",\n\t\t\"traefik.http.routers.gateway-http.middlewares\": \"redirect-to-https\",\n\t});\n\n\t// Global redirect middleware on the Traefik service itself\n\tserviceLabels.set(\"traefik\", {\n\t\t\"traefik.enable\": \"true\",\n\t\t\"traefik.http.middlewares.redirect-to-https.redirectscheme.scheme\": \"https\",\n\t\t\"traefik.http.middlewares.redirect-to-https.redirectscheme.permanent\": \"true\",\n\t});\n\n\treturn { staticConfig, serviceLabels };\n}\n\nfunction generateStaticConfig(domain: string): string {\n\treturn `# Traefik Static Configuration — Auto-generated by OpenClaw\n# Domain: ${domain}\n\napi:\n dashboard: true\n insecure: true\n\nentryPoints:\n web:\n address: \":80\"\n websecure:\n address: \":443\"\n\nproviders:\n docker:\n endpoint: \"unix:///var/run/docker.sock\"\n exposedByDefault: false\n network: openclaw-network\n\ncertificatesResolvers:\n letsencrypt:\n acme:\n email: admin@${domain}\n storage: /letsencrypt/acme.json\n httpChallenge:\n entryPoint: web\n\nlog:\n level: INFO\n`;\n}\n"],"mappings":";;;;;;;;;;;AAeA,SAAgB,sBACf,UACA,QACyB;CACzB,MAAM,eAAe,qBAAqB,OAAO;CACjD,MAAM,gCAAgB,IAAI,KAAqC;AAG/D,MAAK,MAAM,EAAE,gBAAgB,SAAS,UAAU;AAC/C,MAAI,WAAW,OAAO,aAAa,WAAW,OAAO,QAAS;EAE9D,MAAM,eAAe,WAAW,MAAM,QAAQ,MAAM,EAAE,QAAQ;AAC9D,MAAI,aAAa,WAAW,EAAG;EAE/B,MAAM,cAAc,aAAa;EACjC,MAAM,aAAa,WAAW,GAAG,QAAQ,MAAM,GAAG;EAElD,MAAM,SAAiC;GACtC,kBAAkB;IAEjB,wBAAwB,WAAW,SAAS,UAAU,WAAW,GAAG,GAAG,OAAO;IAC9E,wBAAwB,WAAW,gBAAgB;IACnD,wBAAwB,WAAW,qBAAqB;IACxD,yBAAyB,WAAW,6BAA6B,OACjE,YAAY,UACZ;IAEA,wBAAwB,WAAW,cAAc,UAAU,WAAW,GAAG,GAAG,OAAO;IACnF,wBAAwB,WAAW,qBAAqB;IACxD,wBAAwB,WAAW,qBAAqB;GACzD;AAED,gBAAc,IAAI,WAAW,IAAI,OAAO;;AAIzC,eAAc,IAAI,oBAAoB;EACrC,kBAAkB;EAClB,qCAAqC,UAAU,OAAO;EACtD,4CAA4C;EAC5C,iDAAiD;EACjD,0DAA0D;EAC1D,0CAA0C,UAAU,OAAO;EAC3D,iDAAiD;EACjD,iDAAiD;EACjD,CAAC;AAGF,eAAc,IAAI,WAAW;EAC5B,kBAAkB;EAClB,oEAAoE;EACpE,uEAAuE;EACvE,CAAC;AAEF,QAAO;EAAE;EAAc;EAAe;;AAGvC,SAAS,qBAAqB,QAAwB;AACrD,QAAO;YACI,OAAO;;;;;;;;;;;;;;;;;;;;;qBAqBE,OAAO"}
@@ -0,0 +1,19 @@
1
+ import { ResolverOutput } from "../types.cjs";
2
+
3
+ //#region src/generators/traefik.d.ts
4
+ interface TraefikGeneratorOutput {
5
+ staticConfig: string;
6
+ serviceLabels: Map<string, Record<string, string>>;
7
+ }
8
+ /**
9
+ * Generates Traefik configuration: a static config YAML file and per-service
10
+ * Docker labels for automatic service discovery and reverse proxy routing.
11
+ *
12
+ * @param resolved - The resolved service configuration
13
+ * @param domain - The main domain for routing (e.g. "example.com")
14
+ * @returns Static config content and a map of serviceId → Docker labels
15
+ */
16
+ declare function generateTraefikConfig(resolved: ResolverOutput, domain: string): TraefikGeneratorOutput;
17
+ //#endregion
18
+ export { TraefikGeneratorOutput, generateTraefikConfig };
19
+ //# sourceMappingURL=traefik.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traefik.d.cts","names":[],"sources":["../../src/generators/traefik.ts"],"mappings":";;;UAEiB,sBAAA;EAChB,YAAA;EACA,aAAA,EAAe,GAAA,SAAY,MAAA;AAAA;;;;;;;;;iBAWZ,qBAAA,CACf,QAAA,EAAU,cAAA,EACV,MAAA,WACE,sBAAA"}
@@ -0,0 +1,68 @@
1
+ const require_vi_2VT5v0um = require('../vi.2VT5v0um-BmRMvymT.cjs');
2
+ const require_resolver = require('../resolver.cjs');
3
+ const require_generators_traefik = require('./traefik.cjs');
4
+
5
+ //#region src/generators/traefik.test.ts
6
+ function resolveWith(services) {
7
+ return require_resolver.resolve({
8
+ services,
9
+ skillPacks: [],
10
+ proxy: "traefik",
11
+ gpu: false
12
+ });
13
+ }
14
+ require_vi_2VT5v0um.describe("generateTraefikConfig", () => {
15
+ const domain = "example.com";
16
+ require_vi_2VT5v0um.it("generates static config with domain email and entrypoints", () => {
17
+ const { staticConfig } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
18
+ require_vi_2VT5v0um.globalExpect(staticConfig).toContain("admin@example.com");
19
+ require_vi_2VT5v0um.globalExpect(staticConfig).toContain("address: \":80\"");
20
+ require_vi_2VT5v0um.globalExpect(staticConfig).toContain("address: \":443\"");
21
+ require_vi_2VT5v0um.globalExpect(staticConfig).toContain("exposedByDefault: false");
22
+ require_vi_2VT5v0um.globalExpect(staticConfig).toContain("openclaw-network");
23
+ });
24
+ require_vi_2VT5v0um.it("generates labels for services with exposed ports", () => {
25
+ const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
26
+ const redisLabels = serviceLabels.get("redis");
27
+ require_vi_2VT5v0um.globalExpect(redisLabels).toBeDefined();
28
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.enable"]).toBe("true");
29
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis.rule"]).toBe("Host(`redis.example.com`)");
30
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis.entrypoints"]).toBe("websecure");
31
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis.tls.certresolver"]).toBe("letsencrypt");
32
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.services.redis.loadbalancer.server.port"]).toBe("6379");
33
+ });
34
+ require_vi_2VT5v0um.it("generates HTTP to HTTPS redirect labels", () => {
35
+ const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
36
+ const redisLabels = serviceLabels.get("redis");
37
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis-http.entrypoints"]).toBe("web");
38
+ require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis-http.middlewares"]).toBe("redirect-to-https");
39
+ });
40
+ require_vi_2VT5v0um.it("assigns root domain to gateway", () => {
41
+ const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
42
+ const gwLabels = serviceLabels.get("openclaw-gateway");
43
+ require_vi_2VT5v0um.globalExpect(gwLabels).toBeDefined();
44
+ require_vi_2VT5v0um.globalExpect(gwLabels["traefik.http.routers.gateway.rule"]).toBe("Host(`example.com`)");
45
+ require_vi_2VT5v0um.globalExpect(gwLabels["traefik.http.services.gateway.loadbalancer.server.port"]).toBe("18789");
46
+ });
47
+ require_vi_2VT5v0um.it("adds global redirect middleware on traefik service", () => {
48
+ const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
49
+ const traefikLabels = serviceLabels.get("traefik");
50
+ require_vi_2VT5v0um.globalExpect(traefikLabels).toBeDefined();
51
+ require_vi_2VT5v0um.globalExpect(traefikLabels["traefik.http.middlewares.redirect-to-https.redirectscheme.scheme"]).toBe("https");
52
+ require_vi_2VT5v0um.globalExpect(traefikLabels["traefik.http.middlewares.redirect-to-https.redirectscheme.permanent"]).toBe("true");
53
+ });
54
+ require_vi_2VT5v0um.it("skips proxy services and services without exposed ports", () => {
55
+ const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis", "ffmpeg"]), domain);
56
+ require_vi_2VT5v0um.globalExpect(serviceLabels.has("ffmpeg")).toBe(false);
57
+ require_vi_2VT5v0um.globalExpect(serviceLabels.get("traefik")["traefik.http.routers.traefik.rule"]).toBeUndefined();
58
+ });
59
+ require_vi_2VT5v0um.it("sanitizes service names with hyphens in router names", () => {
60
+ const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["open-webui"]), domain);
61
+ const labels = serviceLabels.get("open-webui");
62
+ require_vi_2VT5v0um.globalExpect(labels).toBeDefined();
63
+ require_vi_2VT5v0um.globalExpect(labels["traefik.http.routers.openwebui.rule"]).toBe("Host(`open-webui.example.com`)");
64
+ });
65
+ });
66
+
67
+ //#endregion
68
+ //# sourceMappingURL=traefik.test.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traefik.test.cjs","names":["resolve","describe","generateTraefikConfig"],"sources":["../../src/generators/traefik.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"../resolver.js\";\nimport type { ResolverOutput } from \"../types.js\";\nimport { generateTraefikConfig } from \"./traefik.js\";\n\nfunction resolveWith(services: string[]): ResolverOutput {\n\treturn resolve({ services, skillPacks: [], proxy: \"traefik\", gpu: false });\n}\n\ndescribe(\"generateTraefikConfig\", () => {\n\tconst domain = \"example.com\";\n\n\tit(\"generates static config with domain email and entrypoints\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { staticConfig } = generateTraefikConfig(resolved, domain);\n\n\t\texpect(staticConfig).toContain(\"admin@example.com\");\n\t\texpect(staticConfig).toContain('address: \":80\"');\n\t\texpect(staticConfig).toContain('address: \":443\"');\n\t\texpect(staticConfig).toContain(\"exposedByDefault: false\");\n\t\texpect(staticConfig).toContain(\"openclaw-network\");\n\t});\n\n\tit(\"generates labels for services with exposed ports\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst redisLabels = serviceLabels.get(\"redis\");\n\t\texpect(redisLabels).toBeDefined();\n\t\texpect(redisLabels![\"traefik.enable\"]).toBe(\"true\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.rule\"]).toBe(\"Host(`redis.example.com`)\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.entrypoints\"]).toBe(\"websecure\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.tls.certresolver\"]).toBe(\"letsencrypt\");\n\t\texpect(redisLabels![\"traefik.http.services.redis.loadbalancer.server.port\"]).toBe(\"6379\");\n\t});\n\n\tit(\"generates HTTP to HTTPS redirect labels\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst redisLabels = serviceLabels.get(\"redis\")!;\n\t\texpect(redisLabels[\"traefik.http.routers.redis-http.entrypoints\"]).toBe(\"web\");\n\t\texpect(redisLabels[\"traefik.http.routers.redis-http.middlewares\"]).toBe(\"redirect-to-https\");\n\t});\n\n\tit(\"assigns root domain to gateway\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst gwLabels = serviceLabels.get(\"openclaw-gateway\");\n\t\texpect(gwLabels).toBeDefined();\n\t\texpect(gwLabels![\"traefik.http.routers.gateway.rule\"]).toBe(\"Host(`example.com`)\");\n\t\texpect(gwLabels![\"traefik.http.services.gateway.loadbalancer.server.port\"]).toBe(\"18789\");\n\t});\n\n\tit(\"adds global redirect middleware on traefik service\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst traefikLabels = serviceLabels.get(\"traefik\");\n\t\texpect(traefikLabels).toBeDefined();\n\t\texpect(traefikLabels![\"traefik.http.middlewares.redirect-to-https.redirectscheme.scheme\"]).toBe(\n\t\t\t\"https\",\n\t\t);\n\t\texpect(\n\t\t\ttraefikLabels![\"traefik.http.middlewares.redirect-to-https.redirectscheme.permanent\"],\n\t\t).toBe(\"true\");\n\t});\n\n\tit(\"skips proxy services and services without exposed ports\", () => {\n\t\tconst resolved = resolveWith([\"redis\", \"ffmpeg\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\t// ffmpeg has no exposed ports\n\t\texpect(serviceLabels.has(\"ffmpeg\")).toBe(false);\n\t\t// traefik itself is handled separately (not as a regular service)\n\t\texpect(serviceLabels.get(\"traefik\")![\"traefik.http.routers.traefik.rule\"]).toBeUndefined();\n\t});\n\n\tit(\"sanitizes service names with hyphens in router names\", () => {\n\t\tconst resolved = resolveWith([\"open-webui\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst labels = serviceLabels.get(\"open-webui\");\n\t\texpect(labels).toBeDefined();\n\t\t// Router name has hyphens removed\n\t\texpect(labels![\"traefik.http.routers.openwebui.rule\"]).toBe(\"Host(`open-webui.example.com`)\");\n\t});\n});\n"],"mappings":";;;;;AAKA,SAAS,YAAY,UAAoC;AACxD,QAAOA,yBAAQ;EAAE;EAAU,YAAY,EAAE;EAAE,OAAO;EAAW,KAAK;EAAO,CAAC;;AAG3EC,6BAAS,+BAA+B;CACvC,MAAM,SAAS;AAEf,wBAAG,mEAAmE;EAErE,MAAM,EAAE,iBAAiBC,iDADR,YAAY,CAAC,QAAQ,CAAC,EACkB,OAAO;AAEhE,mCAAO,aAAa,CAAC,UAAU,oBAAoB;AACnD,mCAAO,aAAa,CAAC,UAAU,mBAAiB;AAChD,mCAAO,aAAa,CAAC,UAAU,oBAAkB;AACjD,mCAAO,aAAa,CAAC,UAAU,0BAA0B;AACzD,mCAAO,aAAa,CAAC,UAAU,mBAAmB;GACjD;AAEF,wBAAG,0DAA0D;EAE5D,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,mCAAO,YAAY,CAAC,aAAa;AACjC,mCAAO,YAAa,kBAAkB,CAAC,KAAK,OAAO;AACnD,mCAAO,YAAa,mCAAmC,CAAC,KAAK,4BAA4B;AACzF,mCAAO,YAAa,0CAA0C,CAAC,KAAK,YAAY;AAChF,mCAAO,YAAa,+CAA+C,CAAC,KAAK,cAAc;AACvF,mCAAO,YAAa,wDAAwD,CAAC,KAAK,OAAO;GACxF;AAEF,wBAAG,iDAAiD;EAEnD,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,mCAAO,YAAY,+CAA+C,CAAC,KAAK,MAAM;AAC9E,mCAAO,YAAY,+CAA+C,CAAC,KAAK,oBAAoB;GAC3F;AAEF,wBAAG,wCAAwC;EAE1C,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,WAAW,cAAc,IAAI,mBAAmB;AACtD,mCAAO,SAAS,CAAC,aAAa;AAC9B,mCAAO,SAAU,qCAAqC,CAAC,KAAK,sBAAsB;AAClF,mCAAO,SAAU,0DAA0D,CAAC,KAAK,QAAQ;GACxF;AAEF,wBAAG,4DAA4D;EAE9D,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,gBAAgB,cAAc,IAAI,UAAU;AAClD,mCAAO,cAAc,CAAC,aAAa;AACnC,mCAAO,cAAe,oEAAoE,CAAC,KAC1F,QACA;AACD,mCACC,cAAe,uEACf,CAAC,KAAK,OAAO;GACb;AAEF,wBAAG,iEAAiE;EAEnE,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,SAAS,SAAS,CAAC,EACS,OAAO;AAGjE,mCAAO,cAAc,IAAI,SAAS,CAAC,CAAC,KAAK,MAAM;AAE/C,mCAAO,cAAc,IAAI,UAAU,CAAE,qCAAqC,CAAC,eAAe;GACzF;AAEF,wBAAG,8DAA8D;EAEhE,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,aAAa,CAAC,EACc,OAAO;EAEjE,MAAM,SAAS,cAAc,IAAI,aAAa;AAC9C,mCAAO,OAAO,CAAC,aAAa;AAE5B,mCAAO,OAAQ,uCAAuC,CAAC,KAAK,iCAAiC;GAC5F;EACD"}
@@ -0,0 +1 @@
1
+ export { };
@@ -1,4 +1,4 @@
1
- import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-BgmKutxR.mjs";
1
+ import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-CFyDIn0m.mjs";
2
2
  import { resolve } from "../resolver.mjs";
3
3
  import { generateTraefikConfig } from "./traefik.mjs";
4
4
 
package/dist/index.cjs ADDED
@@ -0,0 +1,118 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_bare_metal_partition = require('./bare-metal-partition.cjs');
3
+ const require_services_registry = require('./services/registry.cjs');
4
+ const require_skills_registry = require('./skills/registry.cjs');
5
+ const require_resolver = require('./resolver.cjs');
6
+ const require_generators_postgres_init = require('./generators/postgres-init.cjs');
7
+ const require_composer = require('./composer.cjs');
8
+ const require_errors = require('./errors.cjs');
9
+ const require_generators_caddy = require('./generators/caddy.cjs');
10
+ const require_generators_env = require('./generators/env.cjs');
11
+ const require_generators_grafana = require('./generators/grafana.cjs');
12
+ const require_generators_health_check = require('./generators/health-check.cjs');
13
+ const require_generators_n8n_workflows = require('./generators/n8n-workflows.cjs');
14
+ const require_generators_prometheus = require('./generators/prometheus.cjs');
15
+ const require_generators_readme = require('./generators/readme.cjs');
16
+ const require_generators_scripts = require('./generators/scripts.cjs');
17
+ const require_generators_skills = require('./generators/skills.cjs');
18
+ const require_generators_stack_manifest = require('./generators/stack-manifest.cjs');
19
+ const require_migrations = require('./migrations.cjs');
20
+ const require_validator = require('./validator.cjs');
21
+ const require_generate = require('./generate.cjs');
22
+ const require_presets_registry = require('./presets/registry.cjs');
23
+ const require_deployers_coolify = require('./deployers/coolify.cjs');
24
+ const require_deployers_dokploy = require('./deployers/dokploy.cjs');
25
+ const require_deployers_index = require('./deployers/index.cjs');
26
+ const require_port_scanner = require('./port-scanner.cjs');
27
+ const require_schema = require('./schema.cjs');
28
+ const require_skills_skill_manifest = require('./skills/skill-manifest.cjs');
29
+ const require_types = require('./types.cjs');
30
+ const require_version_manager = require('./version-manager.cjs');
31
+
32
+ exports.AddedDependencySchema = require_schema.AddedDependencySchema;
33
+ exports.ApiErrorSchema = require_schema.ApiErrorSchema;
34
+ exports.CURRENT_CONFIG_VERSION = require_migrations.CURRENT_CONFIG_VERSION;
35
+ exports.ComposeOptionsSchema = require_schema.ComposeOptionsSchema;
36
+ exports.CoolifyDeployer = require_deployers_coolify.CoolifyDeployer;
37
+ exports.DeploySchema = require_schema.DeploySchema;
38
+ exports.DeployTargetSchema = require_schema.DeployTargetSchema;
39
+ exports.DeploymentTargetSchema = require_schema.DeploymentTargetSchema;
40
+ exports.DeploymentTypeSchema = require_schema.DeploymentTypeSchema;
41
+ exports.DokployDeployer = require_deployers_dokploy.DokployDeployer;
42
+ exports.EnvVariableSchema = require_schema.EnvVariableSchema;
43
+ exports.ErrorSchema = require_schema.ErrorSchema;
44
+ exports.GenerationInputSchema = require_schema.GenerationInputSchema;
45
+ exports.HealthCheckSchema = require_schema.HealthCheckSchema;
46
+ exports.MaturitySchema = require_schema.MaturitySchema;
47
+ exports.NativePlatformSchema = require_schema.NativePlatformSchema;
48
+ exports.NativeRecipeSchema = require_schema.NativeRecipeSchema;
49
+ exports.OpenclawImageVariantSchema = require_schema.OpenclawImageVariantSchema;
50
+ exports.OpenclawInstallMethodSchema = require_schema.OpenclawInstallMethodSchema;
51
+ exports.OutputFormatSchema = require_schema.OutputFormatSchema;
52
+ exports.PlatformSchema = require_schema.PlatformSchema;
53
+ exports.PortMappingSchema = require_schema.PortMappingSchema;
54
+ exports.PresetSchema = require_schema.PresetSchema;
55
+ exports.ProxyTypeSchema = require_schema.ProxyTypeSchema;
56
+ exports.ResolvedServiceSchema = require_schema.ResolvedServiceSchema;
57
+ exports.ResolverOutputSchema = require_schema.ResolverOutputSchema;
58
+ exports.ResourceLimitsSchema = require_schema.ResourceLimitsSchema;
59
+ exports.RestartPolicySchema = require_schema.RestartPolicySchema;
60
+ exports.SERVICE_CATEGORIES = require_types.SERVICE_CATEGORIES;
61
+ exports.ServiceCategorySchema = require_schema.ServiceCategorySchema;
62
+ exports.ServiceDefinitionSchema = require_schema.ServiceDefinitionSchema;
63
+ exports.SkillBindingSchema = require_schema.SkillBindingSchema;
64
+ exports.SkillPackSchema = require_schema.SkillPackSchema;
65
+ exports.StackConfigError = require_errors.StackConfigError;
66
+ exports.ValidateRequestSchema = require_schema.ValidateRequestSchema;
67
+ exports.ValidateResponseSchema = require_schema.ValidateResponseSchema;
68
+ exports.ValidationError = require_errors.ValidationError;
69
+ exports.VolumeMappingSchema = require_schema.VolumeMappingSchema;
70
+ exports.WarningSchema = require_schema.WarningSchema;
71
+ exports.checkCompatibility = require_version_manager.checkCompatibility;
72
+ exports.compose = require_composer.compose;
73
+ exports.composeMultiFile = require_composer.composeMultiFile;
74
+ exports.deployerRegistry = require_deployers_index.deployerRegistry;
75
+ exports.formatPortConflicts = require_port_scanner.formatPortConflicts;
76
+ exports.generate = require_generate.generate;
77
+ exports.generateCaddyfile = require_generators_caddy.generateCaddyfile;
78
+ exports.generateEnvFiles = require_generators_env.generateEnvFiles;
79
+ exports.generateGrafanaConfig = require_generators_grafana.generateGrafanaConfig;
80
+ exports.generateGrafanaDashboard = require_generators_grafana.generateGrafanaDashboard;
81
+ exports.generateHealthCheck = require_generators_health_check.generateHealthCheck;
82
+ exports.generateN8nWorkflows = require_generators_n8n_workflows.generateN8nWorkflows;
83
+ exports.generatePostgresInit = require_generators_postgres_init.generatePostgresInit;
84
+ exports.generatePrometheusConfig = require_generators_prometheus.generatePrometheusConfig;
85
+ exports.generateReadme = require_generators_readme.generateReadme;
86
+ exports.generateScripts = require_generators_scripts.generateScripts;
87
+ exports.generateServicesDoc = require_generate.generateServicesDoc;
88
+ exports.generateSkillFiles = require_generators_skills.generateSkillFiles;
89
+ exports.generateStackManifest = require_generators_stack_manifest.generateStackManifest;
90
+ exports.getAllManifestSkills = require_skills_skill_manifest.getAllManifestSkills;
91
+ exports.getAllPresets = require_presets_registry.getAllPresets;
92
+ exports.getAllServices = require_services_registry.getAllServices;
93
+ exports.getAllSkillPacks = require_skills_registry.getAllSkillPacks;
94
+ exports.getAvailableDeployers = require_deployers_index.getAvailableDeployers;
95
+ exports.getCompatibleSkillPacks = require_skills_registry.getCompatibleSkillPacks;
96
+ exports.getDbRequirements = require_generators_postgres_init.getDbRequirements;
97
+ exports.getDeployer = require_deployers_index.getDeployer;
98
+ exports.getImageReference = require_version_manager.getImageReference;
99
+ exports.getImageTag = require_version_manager.getImageTag;
100
+ exports.getManifestSkillById = require_skills_skill_manifest.getManifestSkillById;
101
+ exports.getManifestSkillCount = require_skills_skill_manifest.getManifestSkillCount;
102
+ exports.getPresetById = require_presets_registry.getPresetById;
103
+ exports.getServiceById = require_services_registry.getServiceById;
104
+ exports.getServicesByCategory = require_services_registry.getServicesByCategory;
105
+ exports.getSkillPackById = require_skills_registry.getSkillPackById;
106
+ exports.getStructuredEnvVars = require_generators_env.getStructuredEnvVars;
107
+ exports.migrateConfig = require_migrations.migrateConfig;
108
+ exports.needsMigration = require_migrations.needsMigration;
109
+ exports.partitionBareMetal = require_bare_metal_partition.partitionBareMetal;
110
+ exports.pinImageTags = require_version_manager.pinImageTags;
111
+ exports.platformToNativePlatform = require_bare_metal_partition.platformToNativePlatform;
112
+ exports.presetRegistry = require_presets_registry.presetRegistry;
113
+ exports.resolve = require_resolver.resolve;
114
+ exports.resolvedWithOnlyServices = require_bare_metal_partition.resolvedWithOnlyServices;
115
+ exports.scanPortConflicts = require_port_scanner.scanPortConflicts;
116
+ exports.serviceRegistry = require_services_registry.serviceRegistry;
117
+ exports.skillPackRegistry = require_skills_registry.skillPackRegistry;
118
+ exports.validate = require_validator.validate;