@better-openclaw/core 1.0.6 → 1.0.7

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 (556) hide show
  1. package/.github/workflows/publish-core.yml +1 -1
  2. package/dist/bare-metal-partition.d.mts +0 -1
  3. package/dist/bare-metal-partition.d.mts.map +1 -1
  4. package/dist/bare-metal-partition.mjs +47 -2
  5. package/dist/bare-metal-partition.mjs.map +1 -0
  6. package/dist/bare-metal-partition.test.mjs +3 -3
  7. package/dist/composer.d.mts +0 -1
  8. package/dist/composer.d.mts.map +1 -1
  9. package/dist/composer.mjs +286 -2
  10. package/dist/composer.mjs.map +1 -0
  11. package/dist/composer.snapshot.test.mjs +3 -3
  12. package/dist/composer.test.mjs +3 -3
  13. package/dist/generate.d.mts +0 -2
  14. package/dist/generate.d.mts.map +1 -1
  15. package/dist/generate.mjs +15 -15
  16. package/dist/generate.test.mjs +1 -1
  17. package/dist/generators/bare-metal-install.d.mts +0 -2
  18. package/dist/generators/bare-metal-install.d.mts.map +1 -1
  19. package/dist/generators/bare-metal-install.mjs +223 -2
  20. package/dist/generators/bare-metal-install.mjs.map +1 -0
  21. package/dist/generators/bare-metal-install.test.mjs +2 -2
  22. package/dist/generators/caddy.d.mts +0 -2
  23. package/dist/generators/caddy.d.mts.map +1 -1
  24. package/dist/generators/caddy.mjs +76 -2
  25. package/dist/generators/caddy.mjs.map +1 -0
  26. package/dist/generators/env.d.mts +0 -1
  27. package/dist/generators/env.d.mts.map +1 -1
  28. package/dist/generators/env.mjs +249 -2
  29. package/dist/generators/env.mjs.map +1 -0
  30. package/dist/generators/grafana.d.mts.map +1 -1
  31. package/dist/generators/grafana.mjs +292 -2
  32. package/dist/generators/grafana.mjs.map +1 -0
  33. package/dist/generators/n8n-workflows.d.mts +0 -2
  34. package/dist/generators/n8n-workflows.d.mts.map +1 -1
  35. package/dist/generators/n8n-workflows.mjs +74 -2
  36. package/dist/generators/n8n-workflows.mjs.map +1 -0
  37. package/dist/generators/native-services.d.mts +0 -1
  38. package/dist/generators/native-services.d.mts.map +1 -1
  39. package/dist/generators/native-services.mjs +77 -2
  40. package/dist/generators/native-services.mjs.map +1 -0
  41. package/dist/generators/postgres-init.d.mts +0 -1
  42. package/dist/generators/postgres-init.d.mts.map +1 -1
  43. package/dist/generators/postgres-init.mjs +150 -2
  44. package/dist/generators/postgres-init.mjs.map +1 -0
  45. package/dist/generators/prometheus.d.mts +0 -2
  46. package/dist/generators/prometheus.d.mts.map +1 -1
  47. package/dist/generators/prometheus.mjs +106 -2
  48. package/dist/generators/prometheus.mjs.map +1 -0
  49. package/dist/generators/readme.d.mts +0 -1
  50. package/dist/generators/readme.d.mts.map +1 -1
  51. package/dist/generators/readme.mjs +198 -2
  52. package/dist/generators/readme.mjs.map +1 -0
  53. package/dist/generators/scripts.d.mts.map +1 -1
  54. package/dist/generators/scripts.mjs +350 -2
  55. package/dist/generators/scripts.mjs.map +1 -0
  56. package/dist/generators/skills.d.mts +0 -2
  57. package/dist/generators/skills.d.mts.map +1 -1
  58. package/dist/generators/skills.mjs +586 -2
  59. package/dist/generators/skills.mjs.map +1 -0
  60. package/dist/index.d.mts +1 -1
  61. package/dist/index.mjs +15 -15
  62. package/dist/{magic-string.es-Dew0Rnsa.mjs → magic-string.es-1uTtupLe.mjs} +14 -14
  63. package/dist/magic-string.es-1uTtupLe.mjs.map +1 -0
  64. package/dist/presets/registry.d.mts +0 -1
  65. package/dist/presets/registry.d.mts.map +1 -1
  66. package/dist/presets/registry.test.mjs +1 -1
  67. package/dist/resolver.d.mts +0 -2
  68. package/dist/resolver.d.mts.map +1 -1
  69. package/dist/resolver.mjs +193 -2
  70. package/dist/resolver.mjs.map +1 -0
  71. package/dist/resolver.test.mjs +2 -2
  72. package/dist/schema.d.mts +706 -2
  73. package/dist/schema.d.mts.map +1 -0
  74. package/dist/schema.mjs +3 -1
  75. package/dist/schema.mjs.map +1 -1
  76. package/dist/schema.test.mjs +1 -1
  77. package/dist/services/definitions/anything-llm.d.mts +0 -1
  78. package/dist/services/definitions/anything-llm.d.mts.map +1 -1
  79. package/dist/services/definitions/anything-llm.mjs +43 -2
  80. package/dist/services/definitions/anything-llm.mjs.map +1 -0
  81. package/dist/services/definitions/appflowy.d.mts +0 -1
  82. package/dist/services/definitions/appflowy.d.mts.map +1 -1
  83. package/dist/services/definitions/appflowy.mjs +44 -2
  84. package/dist/services/definitions/appflowy.mjs.map +1 -0
  85. package/dist/services/definitions/beszel.d.mts +0 -1
  86. package/dist/services/definitions/beszel.d.mts.map +1 -1
  87. package/dist/services/definitions/beszel.mjs +44 -2
  88. package/dist/services/definitions/beszel.mjs.map +1 -0
  89. package/dist/services/definitions/browserless.d.mts +0 -1
  90. package/dist/services/definitions/browserless.d.mts.map +1 -1
  91. package/dist/services/definitions/browserless.mjs +84 -2
  92. package/dist/services/definitions/browserless.mjs.map +1 -0
  93. package/dist/services/definitions/caddy.d.mts +0 -1
  94. package/dist/services/definitions/caddy.d.mts.map +1 -1
  95. package/dist/services/definitions/caddy.mjs +51 -2
  96. package/dist/services/definitions/caddy.mjs.map +1 -0
  97. package/dist/services/definitions/chromadb.d.mts +0 -1
  98. package/dist/services/definitions/chromadb.d.mts.map +1 -1
  99. package/dist/services/definitions/chromadb.mjs +62 -2
  100. package/dist/services/definitions/chromadb.mjs.map +1 -0
  101. package/dist/services/definitions/claude-code.d.mts +0 -1
  102. package/dist/services/definitions/claude-code.d.mts.map +1 -1
  103. package/dist/services/definitions/claude-code.mjs +51 -2
  104. package/dist/services/definitions/claude-code.mjs.map +1 -0
  105. package/dist/services/definitions/code-server.d.mts +0 -1
  106. package/dist/services/definitions/code-server.d.mts.map +1 -1
  107. package/dist/services/definitions/code-server.mjs +65 -2
  108. package/dist/services/definitions/code-server.mjs.map +1 -0
  109. package/dist/services/definitions/codex.d.mts +0 -1
  110. package/dist/services/definitions/codex.d.mts.map +1 -1
  111. package/dist/services/definitions/codex.mjs +44 -2
  112. package/dist/services/definitions/codex.mjs.map +1 -0
  113. package/dist/services/definitions/convex-dashboard.d.mts +7 -0
  114. package/dist/services/definitions/convex-dashboard.d.mts.map +1 -0
  115. package/dist/services/definitions/convex-dashboard.mjs +46 -0
  116. package/dist/services/definitions/convex-dashboard.mjs.map +1 -0
  117. package/dist/services/definitions/convex.d.mts +7 -0
  118. package/dist/services/definitions/convex.d.mts.map +1 -0
  119. package/dist/services/definitions/convex.mjs +118 -0
  120. package/dist/services/definitions/convex.mjs.map +1 -0
  121. package/dist/services/definitions/coolify.d.mts +0 -1
  122. package/dist/services/definitions/coolify.d.mts.map +1 -1
  123. package/dist/services/definitions/coolify.mjs +48 -2
  124. package/dist/services/definitions/coolify.mjs.map +1 -0
  125. package/dist/services/definitions/dify.d.mts +0 -1
  126. package/dist/services/definitions/dify.d.mts.map +1 -1
  127. package/dist/services/definitions/dify.mjs +80 -2
  128. package/dist/services/definitions/dify.mjs.map +1 -0
  129. package/dist/services/definitions/docsgpt.d.mts +0 -1
  130. package/dist/services/definitions/docsgpt.d.mts.map +1 -1
  131. package/dist/services/definitions/docsgpt.mjs +44 -2
  132. package/dist/services/definitions/docsgpt.mjs.map +1 -0
  133. package/dist/services/definitions/dokploy.d.mts +0 -1
  134. package/dist/services/definitions/dokploy.d.mts.map +1 -1
  135. package/dist/services/definitions/dokploy.mjs +48 -2
  136. package/dist/services/definitions/dokploy.mjs.map +1 -0
  137. package/dist/services/definitions/dozzle.d.mts +0 -1
  138. package/dist/services/definitions/dozzle.d.mts.map +1 -1
  139. package/dist/services/definitions/dozzle.mjs +40 -2
  140. package/dist/services/definitions/dozzle.mjs.map +1 -0
  141. package/dist/services/definitions/ffmpeg.d.mts +0 -1
  142. package/dist/services/definitions/ffmpeg.d.mts.map +1 -1
  143. package/dist/services/definitions/ffmpeg.mjs +65 -2
  144. package/dist/services/definitions/ffmpeg.mjs.map +1 -0
  145. package/dist/services/definitions/flowise.d.mts +0 -1
  146. package/dist/services/definitions/flowise.d.mts.map +1 -1
  147. package/dist/services/definitions/flowise.mjs +44 -2
  148. package/dist/services/definitions/flowise.mjs.map +1 -0
  149. package/dist/services/definitions/gemini-cli.d.mts +0 -1
  150. package/dist/services/definitions/gemini-cli.d.mts.map +1 -1
  151. package/dist/services/definitions/gemini-cli.mjs +45 -2
  152. package/dist/services/definitions/gemini-cli.mjs.map +1 -0
  153. package/dist/services/definitions/gitea.d.mts +0 -1
  154. package/dist/services/definitions/gitea.d.mts.map +1 -1
  155. package/dist/services/definitions/gitea.mjs +48 -2
  156. package/dist/services/definitions/gitea.mjs.map +1 -0
  157. package/dist/services/definitions/gotify.d.mts +0 -1
  158. package/dist/services/definitions/gotify.d.mts.map +1 -1
  159. package/dist/services/definitions/gotify.mjs +61 -2
  160. package/dist/services/definitions/gotify.mjs.map +1 -0
  161. package/dist/services/definitions/grafana.d.mts +0 -1
  162. package/dist/services/definitions/grafana.d.mts.map +1 -1
  163. package/dist/services/definitions/grafana.mjs +62 -2
  164. package/dist/services/definitions/grafana.mjs.map +1 -0
  165. package/dist/services/definitions/index.d.mts +5 -2
  166. package/dist/services/definitions/index.d.mts.map +1 -1
  167. package/dist/services/definitions/index.mjs +145 -67
  168. package/dist/services/definitions/index.mjs.map +1 -0
  169. package/dist/services/definitions/kimi.d.mts +0 -1
  170. package/dist/services/definitions/kimi.d.mts.map +1 -1
  171. package/dist/services/definitions/kimi.mjs +45 -2
  172. package/dist/services/definitions/kimi.mjs.map +1 -0
  173. package/dist/services/definitions/lasuite-meet-agents.d.mts +0 -1
  174. package/dist/services/definitions/lasuite-meet-agents.d.mts.map +1 -1
  175. package/dist/services/definitions/lasuite-meet-agents.mjs +35 -2
  176. package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -0
  177. package/dist/services/definitions/lasuite-meet-backend.d.mts +0 -1
  178. package/dist/services/definitions/lasuite-meet-backend.d.mts.map +1 -1
  179. package/dist/services/definitions/lasuite-meet-backend.mjs +133 -2
  180. package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -0
  181. package/dist/services/definitions/lasuite-meet-frontend.d.mts +0 -1
  182. package/dist/services/definitions/lasuite-meet-frontend.d.mts.map +1 -1
  183. package/dist/services/definitions/lasuite-meet-frontend.mjs +47 -2
  184. package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -0
  185. package/dist/services/definitions/librechat.d.mts +0 -1
  186. package/dist/services/definitions/librechat.d.mts.map +1 -1
  187. package/dist/services/definitions/librechat.mjs +49 -2
  188. package/dist/services/definitions/librechat.mjs.map +1 -0
  189. package/dist/services/definitions/lightpanda.d.mts +0 -1
  190. package/dist/services/definitions/lightpanda.d.mts.map +1 -1
  191. package/dist/services/definitions/lightpanda.mjs +58 -2
  192. package/dist/services/definitions/lightpanda.mjs.map +1 -0
  193. package/dist/services/definitions/litellm.d.mts +0 -1
  194. package/dist/services/definitions/litellm.d.mts.map +1 -1
  195. package/dist/services/definitions/litellm.mjs +46 -2
  196. package/dist/services/definitions/litellm.mjs.map +1 -0
  197. package/dist/services/definitions/livekit.d.mts +0 -1
  198. package/dist/services/definitions/livekit.d.mts.map +1 -1
  199. package/dist/services/definitions/livekit.mjs +55 -2
  200. package/dist/services/definitions/livekit.mjs.map +1 -0
  201. package/dist/services/definitions/matomo.d.mts +0 -1
  202. package/dist/services/definitions/matomo.d.mts.map +1 -1
  203. package/dist/services/definitions/matomo.mjs +79 -2
  204. package/dist/services/definitions/matomo.mjs.map +1 -0
  205. package/dist/services/definitions/matrix-synapse.d.mts +0 -1
  206. package/dist/services/definitions/matrix-synapse.d.mts.map +1 -1
  207. package/dist/services/definitions/matrix-synapse.mjs +87 -2
  208. package/dist/services/definitions/matrix-synapse.mjs.map +1 -0
  209. package/dist/services/definitions/mattermost.d.mts +0 -1
  210. package/dist/services/definitions/mattermost.d.mts.map +1 -1
  211. package/dist/services/definitions/mattermost.mjs +60 -2
  212. package/dist/services/definitions/mattermost.mjs.map +1 -0
  213. package/dist/services/definitions/meilisearch.d.mts +0 -1
  214. package/dist/services/definitions/meilisearch.d.mts.map +1 -1
  215. package/dist/services/definitions/meilisearch.mjs +77 -2
  216. package/dist/services/definitions/meilisearch.mjs.map +1 -0
  217. package/dist/services/definitions/minio.d.mts +0 -1
  218. package/dist/services/definitions/minio.d.mts.map +1 -1
  219. package/dist/services/definitions/minio.mjs +101 -2
  220. package/dist/services/definitions/minio.mjs.map +1 -0
  221. package/dist/services/definitions/mission-control.d.mts +7 -0
  222. package/dist/services/definitions/mission-control.d.mts.map +1 -0
  223. package/dist/services/definitions/mission-control.mjs +67 -0
  224. package/dist/services/definitions/mission-control.mjs.map +1 -0
  225. package/dist/services/definitions/mixpost.d.mts +0 -1
  226. package/dist/services/definitions/mixpost.d.mts.map +1 -1
  227. package/dist/services/definitions/mixpost.mjs +86 -2
  228. package/dist/services/definitions/mixpost.mjs.map +1 -0
  229. package/dist/services/definitions/motion-canvas.d.mts +0 -1
  230. package/dist/services/definitions/motion-canvas.d.mts.map +1 -1
  231. package/dist/services/definitions/motion-canvas.mjs +51 -2
  232. package/dist/services/definitions/motion-canvas.mjs.map +1 -0
  233. package/dist/services/definitions/n8n.d.mts +0 -1
  234. package/dist/services/definitions/n8n.d.mts.map +1 -1
  235. package/dist/services/definitions/n8n.mjs +153 -2
  236. package/dist/services/definitions/n8n.mjs.map +1 -0
  237. package/dist/services/definitions/nocodb.d.mts +0 -1
  238. package/dist/services/definitions/nocodb.d.mts.map +1 -1
  239. package/dist/services/definitions/nocodb.mjs +44 -2
  240. package/dist/services/definitions/nocodb.mjs.map +1 -0
  241. package/dist/services/definitions/ntfy.d.mts +0 -1
  242. package/dist/services/definitions/ntfy.d.mts.map +1 -1
  243. package/dist/services/definitions/ntfy.mjs +62 -2
  244. package/dist/services/definitions/ntfy.mjs.map +1 -0
  245. package/dist/services/definitions/ollama.d.mts +0 -1
  246. package/dist/services/definitions/ollama.d.mts.map +1 -1
  247. package/dist/services/definitions/ollama.mjs +65 -2
  248. package/dist/services/definitions/ollama.mjs.map +1 -0
  249. package/dist/services/definitions/open-webui.d.mts +0 -1
  250. package/dist/services/definitions/open-webui.d.mts.map +1 -1
  251. package/dist/services/definitions/open-webui.mjs +49 -2
  252. package/dist/services/definitions/open-webui.mjs.map +1 -0
  253. package/dist/services/definitions/opencode.d.mts +0 -1
  254. package/dist/services/definitions/opencode.d.mts.map +1 -1
  255. package/dist/services/definitions/opencode.mjs +49 -2
  256. package/dist/services/definitions/opencode.mjs.map +1 -0
  257. package/dist/services/definitions/openpanel.d.mts +0 -1
  258. package/dist/services/definitions/openpanel.d.mts.map +1 -1
  259. package/dist/services/definitions/openpanel.mjs +45 -2
  260. package/dist/services/definitions/openpanel.mjs.map +1 -0
  261. package/dist/services/definitions/outline.d.mts +0 -1
  262. package/dist/services/definitions/outline.d.mts.map +1 -1
  263. package/dist/services/definitions/outline.mjs +73 -2
  264. package/dist/services/definitions/outline.mjs.map +1 -0
  265. package/dist/services/definitions/paperless-ngx.d.mts +0 -1
  266. package/dist/services/definitions/paperless-ngx.d.mts.map +1 -1
  267. package/dist/services/definitions/paperless-ngx.mjs +92 -2
  268. package/dist/services/definitions/paperless-ngx.mjs.map +1 -0
  269. package/dist/services/definitions/playwright-server.d.mts +0 -1
  270. package/dist/services/definitions/playwright-server.d.mts.map +1 -1
  271. package/dist/services/definitions/playwright-server.mjs +41 -2
  272. package/dist/services/definitions/playwright-server.mjs.map +1 -0
  273. package/dist/services/definitions/portainer.d.mts +0 -1
  274. package/dist/services/definitions/portainer.d.mts.map +1 -1
  275. package/dist/services/definitions/portainer.mjs +48 -2
  276. package/dist/services/definitions/portainer.mjs.map +1 -0
  277. package/dist/services/definitions/postgresql.d.mts +0 -1
  278. package/dist/services/definitions/postgresql.d.mts.map +1 -1
  279. package/dist/services/definitions/postgresql.mjs +83 -2
  280. package/dist/services/definitions/postgresql.mjs.map +1 -0
  281. package/dist/services/definitions/postiz.d.mts +0 -1
  282. package/dist/services/definitions/postiz.d.mts.map +1 -1
  283. package/dist/services/definitions/postiz.mjs +82 -2
  284. package/dist/services/definitions/postiz.mjs.map +1 -0
  285. package/dist/services/definitions/prometheus.d.mts +0 -1
  286. package/dist/services/definitions/prometheus.d.mts.map +1 -1
  287. package/dist/services/definitions/prometheus.mjs +51 -2
  288. package/dist/services/definitions/prometheus.mjs.map +1 -0
  289. package/dist/services/definitions/qdrant.d.mts +0 -1
  290. package/dist/services/definitions/qdrant.d.mts.map +1 -1
  291. package/dist/services/definitions/qdrant.mjs +76 -2
  292. package/dist/services/definitions/qdrant.mjs.map +1 -0
  293. package/dist/services/definitions/redis.d.mts +0 -1
  294. package/dist/services/definitions/redis.d.mts.map +1 -1
  295. package/dist/services/definitions/redis.mjs +90 -2
  296. package/dist/services/definitions/redis.mjs.map +1 -0
  297. package/dist/services/definitions/remotion.d.mts +0 -1
  298. package/dist/services/definitions/remotion.d.mts.map +1 -1
  299. package/dist/services/definitions/remotion.mjs +54 -2
  300. package/dist/services/definitions/remotion.mjs.map +1 -0
  301. package/dist/services/definitions/rocketchat.d.mts +0 -1
  302. package/dist/services/definitions/rocketchat.d.mts.map +1 -1
  303. package/dist/services/definitions/rocketchat.mjs +56 -2
  304. package/dist/services/definitions/rocketchat.mjs.map +1 -0
  305. package/dist/services/definitions/searxng.d.mts +0 -1
  306. package/dist/services/definitions/searxng.d.mts.map +1 -1
  307. package/dist/services/definitions/searxng.mjs +64 -2
  308. package/dist/services/definitions/searxng.mjs.map +1 -0
  309. package/dist/services/definitions/stable-diffusion.d.mts +0 -1
  310. package/dist/services/definitions/stable-diffusion.d.mts.map +1 -1
  311. package/dist/services/definitions/stable-diffusion.mjs +47 -2
  312. package/dist/services/definitions/stable-diffusion.mjs.map +1 -0
  313. package/dist/services/definitions/steel-browser.d.mts +0 -1
  314. package/dist/services/definitions/steel-browser.d.mts.map +1 -1
  315. package/dist/services/definitions/steel-browser.mjs +76 -2
  316. package/dist/services/definitions/steel-browser.mjs.map +1 -0
  317. package/dist/services/definitions/tailscale.d.mts +0 -1
  318. package/dist/services/definitions/tailscale.d.mts.map +1 -1
  319. package/dist/services/definitions/tailscale.mjs +69 -2
  320. package/dist/services/definitions/tailscale.mjs.map +1 -0
  321. package/dist/services/definitions/temporal.d.mts +0 -1
  322. package/dist/services/definitions/temporal.d.mts.map +1 -1
  323. package/dist/services/definitions/temporal.mjs +99 -2
  324. package/dist/services/definitions/temporal.mjs.map +1 -0
  325. package/dist/services/definitions/traefik.d.mts +0 -1
  326. package/dist/services/definitions/traefik.d.mts.map +1 -1
  327. package/dist/services/definitions/traefik.mjs +57 -2
  328. package/dist/services/definitions/traefik.mjs.map +1 -0
  329. package/dist/services/definitions/umami.d.mts +0 -1
  330. package/dist/services/definitions/umami.d.mts.map +1 -1
  331. package/dist/services/definitions/umami.mjs +45 -2
  332. package/dist/services/definitions/umami.mjs.map +1 -0
  333. package/dist/services/definitions/uptime-kuma.d.mts +0 -1
  334. package/dist/services/definitions/uptime-kuma.d.mts.map +1 -1
  335. package/dist/services/definitions/uptime-kuma.mjs +50 -2
  336. package/dist/services/definitions/uptime-kuma.mjs.map +1 -0
  337. package/dist/services/definitions/usesend.d.mts +7 -0
  338. package/dist/services/definitions/usesend.d.mts.map +1 -0
  339. package/dist/services/definitions/usesend.mjs +99 -0
  340. package/dist/services/definitions/usesend.mjs.map +1 -0
  341. package/dist/services/definitions/valkey.d.mts +0 -1
  342. package/dist/services/definitions/valkey.d.mts.map +1 -1
  343. package/dist/services/definitions/valkey.mjs +60 -2
  344. package/dist/services/definitions/valkey.mjs.map +1 -0
  345. package/dist/services/definitions/watchtower.d.mts +0 -1
  346. package/dist/services/definitions/watchtower.d.mts.map +1 -1
  347. package/dist/services/definitions/watchtower.mjs +46 -2
  348. package/dist/services/definitions/watchtower.mjs.map +1 -0
  349. package/dist/services/definitions/weaviate.d.mts +0 -1
  350. package/dist/services/definitions/weaviate.d.mts.map +1 -1
  351. package/dist/services/definitions/weaviate.mjs +89 -2
  352. package/dist/services/definitions/weaviate.mjs.map +1 -0
  353. package/dist/services/definitions/whisper.d.mts +0 -1
  354. package/dist/services/definitions/whisper.d.mts.map +1 -1
  355. package/dist/services/definitions/whisper.mjs +61 -2
  356. package/dist/services/definitions/whisper.mjs.map +1 -0
  357. package/dist/services/registry.d.mts +0 -1
  358. package/dist/services/registry.d.mts.map +1 -1
  359. package/dist/services/registry.mjs +29 -2
  360. package/dist/services/registry.mjs.map +1 -0
  361. package/dist/services/registry.test.mjs +2 -2
  362. package/dist/skills/registry.d.mts +0 -1
  363. package/dist/skills/registry.d.mts.map +1 -1
  364. package/dist/skills/registry.mjs +214 -2
  365. package/dist/skills/registry.mjs.map +1 -0
  366. package/dist/types.d.mts +1 -1
  367. package/dist/types.d.mts.map +1 -1
  368. package/dist/validator.d.mts +0 -1
  369. package/dist/validator.d.mts.map +1 -1
  370. package/dist/validator.mjs +110 -2
  371. package/dist/validator.mjs.map +1 -0
  372. package/dist/validator.test.mjs +4 -4
  373. package/dist/version-manager.d.mts +0 -1
  374. package/dist/version-manager.d.mts.map +1 -1
  375. package/dist/version-manager.mjs +1 -1
  376. package/dist/{vi.2VT5v0um-Cs3Z_fCB.mjs → vi.2VT5v0um-Qk6MgAnK.mjs} +1183 -1183
  377. package/dist/vi.2VT5v0um-Qk6MgAnK.mjs.map +1 -0
  378. package/package.json +14 -13
  379. package/src/schema.ts +2 -1
  380. package/src/services/definitions/convex-dashboard.ts +48 -0
  381. package/src/services/definitions/convex.ts +123 -0
  382. package/src/services/definitions/index.ts +12 -0
  383. package/src/services/definitions/mission-control.ts +71 -0
  384. package/src/services/definitions/tailscale.ts +2 -0
  385. package/src/services/definitions/usesend.ts +98 -0
  386. package/tsdown.config.ts +1 -0
  387. package/dist/anything-llm-DIIPhz6K.mjs +0 -44
  388. package/dist/anything-llm-DIIPhz6K.mjs.map +0 -1
  389. package/dist/appflowy-DdoE-dKg.mjs +0 -45
  390. package/dist/appflowy-DdoE-dKg.mjs.map +0 -1
  391. package/dist/bare-metal-install-DpYZDoGq.mjs +0 -224
  392. package/dist/bare-metal-install-DpYZDoGq.mjs.map +0 -1
  393. package/dist/bare-metal-partition-CYlOxf9B.mjs +0 -48
  394. package/dist/bare-metal-partition-CYlOxf9B.mjs.map +0 -1
  395. package/dist/beszel-DHAG1zl0.mjs +0 -45
  396. package/dist/beszel-DHAG1zl0.mjs.map +0 -1
  397. package/dist/browserless-gUuvGmMD.mjs +0 -85
  398. package/dist/browserless-gUuvGmMD.mjs.map +0 -1
  399. package/dist/caddy-BJDrqnmw.mjs +0 -77
  400. package/dist/caddy-BJDrqnmw.mjs.map +0 -1
  401. package/dist/caddy-_NIdWKrf.mjs +0 -52
  402. package/dist/caddy-_NIdWKrf.mjs.map +0 -1
  403. package/dist/chromadb-g4rIsfAl.mjs +0 -63
  404. package/dist/chromadb-g4rIsfAl.mjs.map +0 -1
  405. package/dist/claude-code-DPRA1fy_.mjs +0 -52
  406. package/dist/claude-code-DPRA1fy_.mjs.map +0 -1
  407. package/dist/code-server-BdZZxxm5.mjs +0 -66
  408. package/dist/code-server-BdZZxxm5.mjs.map +0 -1
  409. package/dist/codex-DFVzfrfX.mjs +0 -45
  410. package/dist/codex-DFVzfrfX.mjs.map +0 -1
  411. package/dist/composer-CSM5YycB.mjs +0 -287
  412. package/dist/composer-CSM5YycB.mjs.map +0 -1
  413. package/dist/coolify-Z5_zDgM3.mjs +0 -49
  414. package/dist/coolify-Z5_zDgM3.mjs.map +0 -1
  415. package/dist/definitions-BXpb1kzs.mjs +0 -138
  416. package/dist/definitions-BXpb1kzs.mjs.map +0 -1
  417. package/dist/dify-jDc9U6Ku.mjs +0 -81
  418. package/dist/dify-jDc9U6Ku.mjs.map +0 -1
  419. package/dist/docsgpt-BXM1c2JC.mjs +0 -45
  420. package/dist/docsgpt-BXM1c2JC.mjs.map +0 -1
  421. package/dist/dokploy-Ci8_fb0_.mjs +0 -49
  422. package/dist/dokploy-Ci8_fb0_.mjs.map +0 -1
  423. package/dist/dozzle-fAt2sLRL.mjs +0 -41
  424. package/dist/dozzle-fAt2sLRL.mjs.map +0 -1
  425. package/dist/env-D2h46lHT.mjs +0 -250
  426. package/dist/env-D2h46lHT.mjs.map +0 -1
  427. package/dist/ffmpeg-BCtnA8m_.mjs +0 -66
  428. package/dist/ffmpeg-BCtnA8m_.mjs.map +0 -1
  429. package/dist/flowise-CJTTBa7J.mjs +0 -45
  430. package/dist/flowise-CJTTBa7J.mjs.map +0 -1
  431. package/dist/gemini-cli-Bfwv6hYe.mjs +0 -46
  432. package/dist/gemini-cli-Bfwv6hYe.mjs.map +0 -1
  433. package/dist/gitea-BGkqa-sD.mjs +0 -49
  434. package/dist/gitea-BGkqa-sD.mjs.map +0 -1
  435. package/dist/gotify-D7p8oNM3.mjs +0 -62
  436. package/dist/gotify-D7p8oNM3.mjs.map +0 -1
  437. package/dist/grafana-BlnWc6js.mjs +0 -63
  438. package/dist/grafana-BlnWc6js.mjs.map +0 -1
  439. package/dist/grafana-D3kIm8RX.mjs +0 -293
  440. package/dist/grafana-D3kIm8RX.mjs.map +0 -1
  441. package/dist/kimi-BFu1v1sU.mjs +0 -46
  442. package/dist/kimi-BFu1v1sU.mjs.map +0 -1
  443. package/dist/lasuite-meet-agents-nlPhMEaN.mjs +0 -36
  444. package/dist/lasuite-meet-agents-nlPhMEaN.mjs.map +0 -1
  445. package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs +0 -134
  446. package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs.map +0 -1
  447. package/dist/lasuite-meet-frontend-B4xNbnBa.mjs +0 -48
  448. package/dist/lasuite-meet-frontend-B4xNbnBa.mjs.map +0 -1
  449. package/dist/librechat-CoPIHXKK.mjs +0 -50
  450. package/dist/librechat-CoPIHXKK.mjs.map +0 -1
  451. package/dist/lightpanda-QchAPgNX.mjs +0 -59
  452. package/dist/lightpanda-QchAPgNX.mjs.map +0 -1
  453. package/dist/litellm-Dgl6iTry.mjs +0 -47
  454. package/dist/litellm-Dgl6iTry.mjs.map +0 -1
  455. package/dist/livekit-C13SxlVB.mjs +0 -56
  456. package/dist/livekit-C13SxlVB.mjs.map +0 -1
  457. package/dist/magic-string.es-Dew0Rnsa.mjs.map +0 -1
  458. package/dist/matomo-CiOoggYl.mjs +0 -80
  459. package/dist/matomo-CiOoggYl.mjs.map +0 -1
  460. package/dist/matrix-synapse-CP20A7NN.mjs +0 -88
  461. package/dist/matrix-synapse-CP20A7NN.mjs.map +0 -1
  462. package/dist/mattermost-CeFVuhIr.mjs +0 -61
  463. package/dist/mattermost-CeFVuhIr.mjs.map +0 -1
  464. package/dist/meilisearch-CLiQiTdN.mjs +0 -78
  465. package/dist/meilisearch-CLiQiTdN.mjs.map +0 -1
  466. package/dist/minio-_QuguAeo.mjs +0 -102
  467. package/dist/minio-_QuguAeo.mjs.map +0 -1
  468. package/dist/mixpost-eSFPM9XK.mjs +0 -87
  469. package/dist/mixpost-eSFPM9XK.mjs.map +0 -1
  470. package/dist/motion-canvas-Bk1ruvuX.mjs +0 -52
  471. package/dist/motion-canvas-Bk1ruvuX.mjs.map +0 -1
  472. package/dist/n8n-W5qeU34C.mjs +0 -154
  473. package/dist/n8n-W5qeU34C.mjs.map +0 -1
  474. package/dist/n8n-workflows-BPmKVx8z.mjs +0 -75
  475. package/dist/n8n-workflows-BPmKVx8z.mjs.map +0 -1
  476. package/dist/native-services-CwOCM-Xz.mjs +0 -78
  477. package/dist/native-services-CwOCM-Xz.mjs.map +0 -1
  478. package/dist/nocodb-DQNbSYh_.mjs +0 -45
  479. package/dist/nocodb-DQNbSYh_.mjs.map +0 -1
  480. package/dist/ntfy-B8_cZAx2.mjs +0 -63
  481. package/dist/ntfy-B8_cZAx2.mjs.map +0 -1
  482. package/dist/ollama-BiKAypcO.mjs +0 -66
  483. package/dist/ollama-BiKAypcO.mjs.map +0 -1
  484. package/dist/open-webui-DZOG4_xL.mjs +0 -50
  485. package/dist/open-webui-DZOG4_xL.mjs.map +0 -1
  486. package/dist/opencode-Dvfh5KvA.mjs +0 -50
  487. package/dist/opencode-Dvfh5KvA.mjs.map +0 -1
  488. package/dist/openpanel-BuWHhDze.mjs +0 -46
  489. package/dist/openpanel-BuWHhDze.mjs.map +0 -1
  490. package/dist/outline-Dy-YzdYS.mjs +0 -74
  491. package/dist/outline-Dy-YzdYS.mjs.map +0 -1
  492. package/dist/paperless-ngx-DVtWWpKg.mjs +0 -93
  493. package/dist/paperless-ngx-DVtWWpKg.mjs.map +0 -1
  494. package/dist/playwright-server-Boiz8--G.mjs +0 -42
  495. package/dist/playwright-server-Boiz8--G.mjs.map +0 -1
  496. package/dist/portainer-D9MU96UI.mjs +0 -49
  497. package/dist/portainer-D9MU96UI.mjs.map +0 -1
  498. package/dist/postgres-init-BiM-xZtq.mjs +0 -151
  499. package/dist/postgres-init-BiM-xZtq.mjs.map +0 -1
  500. package/dist/postgresql-s65Z9RqR.mjs +0 -84
  501. package/dist/postgresql-s65Z9RqR.mjs.map +0 -1
  502. package/dist/postiz-U6EK23EY.mjs +0 -83
  503. package/dist/postiz-U6EK23EY.mjs.map +0 -1
  504. package/dist/prometheus-WOlk-a1G.mjs +0 -107
  505. package/dist/prometheus-WOlk-a1G.mjs.map +0 -1
  506. package/dist/prometheus-x901F67p.mjs +0 -52
  507. package/dist/prometheus-x901F67p.mjs.map +0 -1
  508. package/dist/qdrant-DZW9uW4e.mjs +0 -77
  509. package/dist/qdrant-DZW9uW4e.mjs.map +0 -1
  510. package/dist/readme-C7M3QE9a.mjs +0 -199
  511. package/dist/readme-C7M3QE9a.mjs.map +0 -1
  512. package/dist/redis-DPMOf237.mjs +0 -91
  513. package/dist/redis-DPMOf237.mjs.map +0 -1
  514. package/dist/registry-CqLarEm5.mjs +0 -30
  515. package/dist/registry-CqLarEm5.mjs.map +0 -1
  516. package/dist/registry-DLX9Q4VQ.mjs +0 -215
  517. package/dist/registry-DLX9Q4VQ.mjs.map +0 -1
  518. package/dist/remotion-COkr0wpr.mjs +0 -55
  519. package/dist/remotion-COkr0wpr.mjs.map +0 -1
  520. package/dist/resolver-Dl5clk-d.mjs +0 -194
  521. package/dist/resolver-Dl5clk-d.mjs.map +0 -1
  522. package/dist/rocketchat-BebQT1MZ.mjs +0 -57
  523. package/dist/rocketchat-BebQT1MZ.mjs.map +0 -1
  524. package/dist/schema-PSUY6yJU.d.mts +0 -700
  525. package/dist/schema-PSUY6yJU.d.mts.map +0 -1
  526. package/dist/scripts-DsljWbP4.mjs +0 -351
  527. package/dist/scripts-DsljWbP4.mjs.map +0 -1
  528. package/dist/searxng-tJpBkchC.mjs +0 -65
  529. package/dist/searxng-tJpBkchC.mjs.map +0 -1
  530. package/dist/skills-DWG72Y3X.mjs +0 -587
  531. package/dist/skills-DWG72Y3X.mjs.map +0 -1
  532. package/dist/stable-diffusion-BulAzkyT.mjs +0 -48
  533. package/dist/stable-diffusion-BulAzkyT.mjs.map +0 -1
  534. package/dist/steel-browser-Cc0bYBjM.mjs +0 -77
  535. package/dist/steel-browser-Cc0bYBjM.mjs.map +0 -1
  536. package/dist/tailscale-CrM4EZlF.mjs +0 -69
  537. package/dist/tailscale-CrM4EZlF.mjs.map +0 -1
  538. package/dist/temporal-49gA0msh.mjs +0 -100
  539. package/dist/temporal-49gA0msh.mjs.map +0 -1
  540. package/dist/traefik-Da-c1f55.mjs +0 -58
  541. package/dist/traefik-Da-c1f55.mjs.map +0 -1
  542. package/dist/umami-csBSsHqO.mjs +0 -46
  543. package/dist/umami-csBSsHqO.mjs.map +0 -1
  544. package/dist/uptime-kuma-D0NvVuXD.mjs +0 -51
  545. package/dist/uptime-kuma-D0NvVuXD.mjs.map +0 -1
  546. package/dist/validator-2FspYNva.mjs +0 -111
  547. package/dist/validator-2FspYNva.mjs.map +0 -1
  548. package/dist/valkey-BCZqGJ0L.mjs +0 -61
  549. package/dist/valkey-BCZqGJ0L.mjs.map +0 -1
  550. package/dist/vi.2VT5v0um-Cs3Z_fCB.mjs.map +0 -1
  551. package/dist/watchtower-BWuvFGpA.mjs +0 -47
  552. package/dist/watchtower-BWuvFGpA.mjs.map +0 -1
  553. package/dist/weaviate-DttY1Hn7.mjs +0 -90
  554. package/dist/weaviate-DttY1Hn7.mjs.map +0 -1
  555. package/dist/whisper-CLu7-Vd8.mjs +0 -62
  556. package/dist/whisper-CLu7-Vd8.mjs.map +0 -1
@@ -1,42 +0,0 @@
1
- //#region src/services/definitions/playwright-server.ts
2
- const playwrightServerDefinition = {
3
- id: "playwright-server",
4
- name: "Playwright Server",
5
- description: "Microsoft Playwright browser automation server for headless testing and web scraping.",
6
- category: "browser",
7
- icon: "🎭",
8
- image: "mcr.microsoft.com/playwright",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 3040,
12
- container: 3e3,
13
- description: "Playwright Server",
14
- exposed: true
15
- }],
16
- volumes: [],
17
- environment: [],
18
- command: "npx playwright run-server --port 3000",
19
- dependsOn: [],
20
- restartPolicy: "unless-stopped",
21
- networks: ["openclaw-network"],
22
- skills: [],
23
- openclawEnvVars: [],
24
- docsUrl: "https://playwright.dev/docs/intro",
25
- tags: [
26
- "browser",
27
- "testing",
28
- "automation",
29
- "scraping",
30
- "headless"
31
- ],
32
- maturity: "beta",
33
- requires: [],
34
- recommends: [],
35
- conflictsWith: [],
36
- minMemoryMB: 512,
37
- gpuRequired: false
38
- };
39
-
40
- //#endregion
41
- export { playwrightServerDefinition as t };
42
- //# sourceMappingURL=playwright-server-Boiz8--G.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright-server-Boiz8--G.mjs","names":[],"sources":["../src/services/definitions/playwright-server.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const playwrightServerDefinition: ServiceDefinition = {\n\tid: \"playwright-server\",\n\tname: \"Playwright Server\",\n\tdescription:\n\t\t\"Microsoft Playwright browser automation server for headless testing and web scraping.\",\n\tcategory: \"browser\",\n\ticon: \"🎭\",\n\n\timage: \"mcr.microsoft.com/playwright\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3040,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Playwright Server\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [],\n\tcommand: \"npx playwright run-server --port 3000\",\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://playwright.dev/docs/intro\",\n\ttags: [\"browser\", \"testing\", \"automation\", \"scraping\", \"headless\"],\n\tmaturity: \"beta\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,6BAAgD;CAC5D,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,aAAa,EAAE;CACf,SAAS;CACT,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAW;EAAW;EAAc;EAAY;EAAW;CAClE,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,49 +0,0 @@
1
- //#region src/services/definitions/portainer.ts
2
- const portainerDefinition = {
3
- id: "portainer",
4
- name: "Portainer",
5
- description: "Docker management UI for monitoring and managing your entire stack visually.",
6
- category: "dev-tools",
7
- icon: "🐳",
8
- image: "portainer/portainer-ce",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 9443,
12
- container: 9443,
13
- description: "Portainer HTTPS UI",
14
- exposed: true
15
- }],
16
- volumes: [{
17
- name: "portainer-data",
18
- containerPath: "/data",
19
- description: "Portainer data"
20
- }, {
21
- name: "portainer-docker-sock",
22
- containerPath: "/var/run/docker.sock",
23
- description: "Docker socket (must be bind-mounted to /var/run/docker.sock on host)"
24
- }],
25
- environment: [],
26
- dependsOn: [],
27
- restartPolicy: "unless-stopped",
28
- networks: ["openclaw-network"],
29
- skills: [],
30
- openclawEnvVars: [],
31
- docsUrl: "https://docs.portainer.io/",
32
- tags: [
33
- "docker",
34
- "management",
35
- "monitoring",
36
- "ui",
37
- "containers"
38
- ],
39
- maturity: "stable",
40
- requires: [],
41
- recommends: [],
42
- conflictsWith: [],
43
- minMemoryMB: 64,
44
- gpuRequired: false
45
- };
46
-
47
- //#endregion
48
- export { portainerDefinition as t };
49
- //# sourceMappingURL=portainer-D9MU96UI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portainer-D9MU96UI.mjs","names":[],"sources":["../src/services/definitions/portainer.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const portainerDefinition: ServiceDefinition = {\n\tid: \"portainer\",\n\tname: \"Portainer\",\n\tdescription: \"Docker management UI for monitoring and managing your entire stack visually.\",\n\tcategory: \"dev-tools\",\n\ticon: \"🐳\",\n\n\timage: \"portainer/portainer-ce\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 9443,\n\t\t\tcontainer: 9443,\n\t\t\tdescription: \"Portainer HTTPS UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"portainer-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Portainer data\",\n\t\t},\n\t\t{\n\t\t\tname: \"portainer-docker-sock\",\n\t\t\tcontainerPath: \"/var/run/docker.sock\",\n\t\t\tdescription: \"Docker socket (must be bind-mounted to /var/run/docker.sock on host)\",\n\t\t},\n\t],\n\tenvironment: [],\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://docs.portainer.io/\",\n\ttags: [\"docker\", \"management\", \"monitoring\", \"ui\", \"containers\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 64,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,sBAAyC;CACrD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAU;EAAc;EAAc;EAAM;EAAa;CAChE,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,151 +0,0 @@
1
- //#region src/generators/postgres-init.ts
2
- /**
3
- * Known database requirements for services that need their own PostgreSQL database.
4
- * Maps service ID to the DB name, user, and password env var they expect.
5
- */
6
- const DB_REQUIREMENTS = {
7
- n8n: {
8
- dbName: "n8n",
9
- dbUser: "n8n",
10
- passwordEnvVar: "N8N_DB_PASSWORD"
11
- },
12
- postiz: {
13
- dbName: "postiz",
14
- dbUser: "postiz",
15
- passwordEnvVar: "POSTIZ_DB_PASSWORD"
16
- },
17
- outline: {
18
- dbName: "outline",
19
- dbUser: "outline",
20
- passwordEnvVar: "OUTLINE_DB_PASSWORD"
21
- },
22
- dify: {
23
- dbName: "dify",
24
- dbUser: "dify",
25
- passwordEnvVar: "DIFY_DB_PASSWORD"
26
- },
27
- temporal: {
28
- dbName: "temporal",
29
- dbUser: "temporal",
30
- passwordEnvVar: "TEMPORAL_DB_PASSWORD"
31
- },
32
- mattermost: {
33
- dbName: "mattermost",
34
- dbUser: "mattermost",
35
- passwordEnvVar: "MATTERMOST_DB_PASSWORD"
36
- },
37
- "matrix-synapse": {
38
- dbName: "synapse",
39
- dbUser: "synapse",
40
- passwordEnvVar: "SYNAPSE_DB_PASSWORD"
41
- },
42
- "paperless-ngx": {
43
- dbName: "paperless",
44
- dbUser: "paperless",
45
- passwordEnvVar: "PAPERLESS_DB_PASSWORD"
46
- },
47
- umami: {
48
- dbName: "umami",
49
- dbUser: "umami",
50
- passwordEnvVar: "UMAMI_DB_PASSWORD"
51
- },
52
- matomo: {
53
- dbName: "matomo",
54
- dbUser: "matomo",
55
- passwordEnvVar: "MATOMO_DB_PASSWORD"
56
- },
57
- mixpost: {
58
- dbName: "mixpost",
59
- dbUser: "mixpost",
60
- passwordEnvVar: "MIXPOST_DB_PASSWORD"
61
- }
62
- };
63
- /**
64
- * Get the list of database requirements for all resolved services.
65
- * Exported so other generators (env, composer) can access the same data.
66
- */
67
- function getDbRequirements(resolved) {
68
- const reqs = [];
69
- for (const { definition } of resolved.services) {
70
- const req = DB_REQUIREMENTS[definition.id];
71
- if (req) reqs.push({
72
- serviceId: definition.id,
73
- serviceName: definition.name,
74
- ...req
75
- });
76
- }
77
- return reqs;
78
- }
79
- /**
80
- * Generates a PostgreSQL initialization script that creates databases and users
81
- * for all companion services that need their own DB.
82
- *
83
- * Returns null if PostgreSQL is not in the resolved stack or no services need extra DBs.
84
- * The script is designed to be mounted at /docker-entrypoint-initdb.d/init-databases.sh
85
- * and runs automatically during PostgreSQL's first initialization.
86
- */
87
- function generatePostgresInit(resolved) {
88
- if (!resolved.services.some((s) => s.definition.id === "postgresql")) return null;
89
- const reqs = getDbRequirements(resolved);
90
- if (reqs.length === 0) return null;
91
- return `#!/bin/bash
92
- set -e
93
-
94
- # ═══════════════════════════════════════════════════════════════════════════════
95
- # PostgreSQL Initialization Script
96
- # Generated by better-openclaw
97
- #
98
- # This script runs automatically during PostgreSQL's first initialization.
99
- # It creates databases and users for all companion services in your stack.
100
- # ═══════════════════════════════════════════════════════════════════════════════
101
-
102
- create_db_and_user() {
103
- local db="$1"
104
- local user="$2"
105
- local password="$3"
106
-
107
- echo ">>> Creating database '$db' with user '$user'..."
108
-
109
- psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
110
- -- Create user if not exists
111
- DO \\$\\$
112
- BEGIN
113
- IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '$user') THEN
114
- CREATE ROLE "$user" WITH LOGIN PASSWORD '$password';
115
- RAISE NOTICE 'Created user: $user';
116
- ELSE
117
- -- Update password in case it changed
118
- ALTER ROLE "$user" WITH PASSWORD '$password';
119
- RAISE NOTICE 'User already exists, updated password: $user';
120
- END IF;
121
- END
122
- \\$\\$;
123
-
124
- -- Create database if not exists
125
- SELECT 'CREATE DATABASE "$db" OWNER "$user"'
126
- WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$db')\\gexec
127
-
128
- -- Grant privileges
129
- GRANT ALL PRIVILEGES ON DATABASE "$db" TO "$user";
130
- EOSQL
131
-
132
- echo ">>> Done: database '$db' with user '$user'"
133
- }
134
-
135
- echo "═══════════════════════════════════════════════════════════"
136
- echo " Initializing databases for companion services..."
137
- echo "═══════════════════════════════════════════════════════════"
138
-
139
- ${reqs.map((r) => `create_db_and_user "${r.dbName}" "${r.dbUser}" "\${${r.passwordEnvVar}:-$POSTGRES_PASSWORD}"`).join("\n")}
140
-
141
- echo ""
142
- echo "═══════════════════════════════════════════════════════════"
143
- echo " All databases initialized successfully!"
144
- echo " Services: ${reqs.map((r) => r.serviceName).join(", ")}"
145
- echo "═══════════════════════════════════════════════════════════"
146
- `;
147
- }
148
-
149
- //#endregion
150
- export { getDbRequirements as n, generatePostgresInit as t };
151
- //# sourceMappingURL=postgres-init-BiM-xZtq.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres-init-BiM-xZtq.mjs","names":[],"sources":["../src/generators/postgres-init.ts"],"sourcesContent":["import type { ResolverOutput } from \"../types.js\";\n\n/**\n * Database requirement descriptor for a service.\n */\ninterface DbRequirement {\n\tserviceId: string;\n\tserviceName: string;\n\tdbName: string;\n\tdbUser: string;\n\tpasswordEnvVar: string;\n}\n\n/**\n * Known database requirements for services that need their own PostgreSQL database.\n * Maps service ID to the DB name, user, and password env var they expect.\n */\nconst DB_REQUIREMENTS: Record<string, Omit<DbRequirement, \"serviceId\" | \"serviceName\">> = {\n\tn8n: { dbName: \"n8n\", dbUser: \"n8n\", passwordEnvVar: \"N8N_DB_PASSWORD\" },\n\tpostiz: { dbName: \"postiz\", dbUser: \"postiz\", passwordEnvVar: \"POSTIZ_DB_PASSWORD\" },\n\toutline: { dbName: \"outline\", dbUser: \"outline\", passwordEnvVar: \"OUTLINE_DB_PASSWORD\" },\n\tdify: { dbName: \"dify\", dbUser: \"dify\", passwordEnvVar: \"DIFY_DB_PASSWORD\" },\n\ttemporal: { dbName: \"temporal\", dbUser: \"temporal\", passwordEnvVar: \"TEMPORAL_DB_PASSWORD\" },\n\tmattermost: {\n\t\tdbName: \"mattermost\",\n\t\tdbUser: \"mattermost\",\n\t\tpasswordEnvVar: \"MATTERMOST_DB_PASSWORD\",\n\t},\n\t\"matrix-synapse\": { dbName: \"synapse\", dbUser: \"synapse\", passwordEnvVar: \"SYNAPSE_DB_PASSWORD\" },\n\t\"paperless-ngx\": {\n\t\tdbName: \"paperless\",\n\t\tdbUser: \"paperless\",\n\t\tpasswordEnvVar: \"PAPERLESS_DB_PASSWORD\",\n\t},\n\tumami: { dbName: \"umami\", dbUser: \"umami\", passwordEnvVar: \"UMAMI_DB_PASSWORD\" },\n\tmatomo: { dbName: \"matomo\", dbUser: \"matomo\", passwordEnvVar: \"MATOMO_DB_PASSWORD\" },\n\tmixpost: { dbName: \"mixpost\", dbUser: \"mixpost\", passwordEnvVar: \"MIXPOST_DB_PASSWORD\" },\n};\n\n/**\n * Get the list of database requirements for all resolved services.\n * Exported so other generators (env, composer) can access the same data.\n */\nexport function getDbRequirements(resolved: ResolverOutput): DbRequirement[] {\n\tconst reqs: DbRequirement[] = [];\n\tfor (const { definition } of resolved.services) {\n\t\tconst req = DB_REQUIREMENTS[definition.id];\n\t\tif (req) {\n\t\t\treqs.push({\n\t\t\t\tserviceId: definition.id,\n\t\t\t\tserviceName: definition.name,\n\t\t\t\t...req,\n\t\t\t});\n\t\t}\n\t}\n\treturn reqs;\n}\n\n/**\n * Generates a PostgreSQL initialization script that creates databases and users\n * for all companion services that need their own DB.\n *\n * Returns null if PostgreSQL is not in the resolved stack or no services need extra DBs.\n * The script is designed to be mounted at /docker-entrypoint-initdb.d/init-databases.sh\n * and runs automatically during PostgreSQL's first initialization.\n */\nexport function generatePostgresInit(resolved: ResolverOutput): string | null {\n\tconst hasPostgres = resolved.services.some((s) => s.definition.id === \"postgresql\");\n\tif (!hasPostgres) return null;\n\n\tconst reqs = getDbRequirements(resolved);\n\tif (reqs.length === 0) return null;\n\n\tconst createCalls = reqs\n\t\t.map(\n\t\t\t(r) =>\n\t\t\t\t`create_db_and_user \"${r.dbName}\" \"${r.dbUser}\" \"\\${${r.passwordEnvVar}:-$POSTGRES_PASSWORD}\"`,\n\t\t)\n\t\t.join(\"\\n\");\n\n\treturn `#!/bin/bash\nset -e\n\n# ═══════════════════════════════════════════════════════════════════════════════\n# PostgreSQL Initialization Script\n# Generated by better-openclaw\n#\n# This script runs automatically during PostgreSQL's first initialization.\n# It creates databases and users for all companion services in your stack.\n# ═══════════════════════════════════════════════════════════════════════════════\n\ncreate_db_and_user() {\n local db=\"$1\"\n local user=\"$2\"\n local password=\"$3\"\n\n echo \">>> Creating database '$db' with user '$user'...\"\n\n psql -v ON_ERROR_STOP=1 --username \"$POSTGRES_USER\" --dbname \"$POSTGRES_DB\" <<-EOSQL\n -- Create user if not exists\n DO \\\\$\\\\$\n BEGIN\n IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '$user') THEN\n CREATE ROLE \"$user\" WITH LOGIN PASSWORD '$password';\n RAISE NOTICE 'Created user: $user';\n ELSE\n -- Update password in case it changed\n ALTER ROLE \"$user\" WITH PASSWORD '$password';\n RAISE NOTICE 'User already exists, updated password: $user';\n END IF;\n END\n \\\\$\\\\$;\n\n -- Create database if not exists\n SELECT 'CREATE DATABASE \"$db\" OWNER \"$user\"'\n WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$db')\\\\gexec\n\n -- Grant privileges\n GRANT ALL PRIVILEGES ON DATABASE \"$db\" TO \"$user\";\nEOSQL\n\n echo \">>> Done: database '$db' with user '$user'\"\n}\n\necho \"═══════════════════════════════════════════════════════════\"\necho \" Initializing databases for companion services...\"\necho \"═══════════════════════════════════════════════════════════\"\n\n${createCalls}\n\necho \"\"\necho \"═══════════════════════════════════════════════════════════\"\necho \" All databases initialized successfully!\"\necho \" Services: ${reqs.map((r) => r.serviceName).join(\", \")}\"\necho \"═══════════════════════════════════════════════════════════\"\n`;\n}\n"],"mappings":";;;;;AAiBA,MAAM,kBAAoF;CACzF,KAAK;EAAE,QAAQ;EAAO,QAAQ;EAAO,gBAAgB;EAAmB;CACxE,QAAQ;EAAE,QAAQ;EAAU,QAAQ;EAAU,gBAAgB;EAAsB;CACpF,SAAS;EAAE,QAAQ;EAAW,QAAQ;EAAW,gBAAgB;EAAuB;CACxF,MAAM;EAAE,QAAQ;EAAQ,QAAQ;EAAQ,gBAAgB;EAAoB;CAC5E,UAAU;EAAE,QAAQ;EAAY,QAAQ;EAAY,gBAAgB;EAAwB;CAC5F,YAAY;EACX,QAAQ;EACR,QAAQ;EACR,gBAAgB;EAChB;CACD,kBAAkB;EAAE,QAAQ;EAAW,QAAQ;EAAW,gBAAgB;EAAuB;CACjG,iBAAiB;EAChB,QAAQ;EACR,QAAQ;EACR,gBAAgB;EAChB;CACD,OAAO;EAAE,QAAQ;EAAS,QAAQ;EAAS,gBAAgB;EAAqB;CAChF,QAAQ;EAAE,QAAQ;EAAU,QAAQ;EAAU,gBAAgB;EAAsB;CACpF,SAAS;EAAE,QAAQ;EAAW,QAAQ;EAAW,gBAAgB;EAAuB;CACxF;;;;;AAMD,SAAgB,kBAAkB,UAA2C;CAC5E,MAAM,OAAwB,EAAE;AAChC,MAAK,MAAM,EAAE,gBAAgB,SAAS,UAAU;EAC/C,MAAM,MAAM,gBAAgB,WAAW;AACvC,MAAI,IACH,MAAK,KAAK;GACT,WAAW,WAAW;GACtB,aAAa,WAAW;GACxB,GAAG;GACH,CAAC;;AAGJ,QAAO;;;;;;;;;;AAWR,SAAgB,qBAAqB,UAAyC;AAE7E,KAAI,CADgB,SAAS,SAAS,MAAM,MAAM,EAAE,WAAW,OAAO,aAAa,CACjE,QAAO;CAEzB,MAAM,OAAO,kBAAkB,SAAS;AACxC,KAAI,KAAK,WAAW,EAAG,QAAO;AAS9B,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAPa,KAClB,KACC,MACA,uBAAuB,EAAE,OAAO,KAAK,EAAE,OAAO,QAAQ,EAAE,eAAe,wBACxE,CACA,KAAK,KAAK,CAkDC;;;;;mBAKK,KAAK,KAAK,MAAM,EAAE,YAAY,CAAC,KAAK,KAAK,CAAC"}
@@ -1,84 +0,0 @@
1
- //#region src/services/definitions/postgresql.ts
2
- const postgresqlDefinition = {
3
- id: "postgresql",
4
- name: "PostgreSQL",
5
- description: "Powerful open-source relational database for structured data, supporting advanced SQL features, JSONB, and full-text search.",
6
- category: "database",
7
- icon: "🐘",
8
- image: "postgres",
9
- imageTag: "16-alpine",
10
- ports: [{
11
- host: 5432,
12
- container: 5432,
13
- description: "PostgreSQL server port",
14
- exposed: true
15
- }],
16
- volumes: [{
17
- name: "postgres-data",
18
- containerPath: "/var/lib/postgresql/data",
19
- description: "Persistent PostgreSQL data"
20
- }],
21
- environment: [
22
- {
23
- key: "POSTGRES_USER",
24
- defaultValue: "openclaw",
25
- secret: false,
26
- description: "PostgreSQL superuser name",
27
- required: true
28
- },
29
- {
30
- key: "POSTGRES_PASSWORD",
31
- defaultValue: "",
32
- secret: true,
33
- description: "PostgreSQL superuser password",
34
- required: true
35
- },
36
- {
37
- key: "POSTGRES_DB",
38
- defaultValue: "openclaw",
39
- secret: false,
40
- description: "Default database to create on first run",
41
- required: true
42
- }
43
- ],
44
- healthcheck: {
45
- test: "pg_isready -U openclaw",
46
- interval: "10s",
47
- timeout: "5s",
48
- retries: 3,
49
- startPeriod: "30s"
50
- },
51
- dependsOn: [],
52
- restartPolicy: "unless-stopped",
53
- networks: ["openclaw-network"],
54
- skills: [],
55
- openclawEnvVars: [{
56
- key: "POSTGRES_HOST",
57
- defaultValue: "postgresql",
58
- secret: false,
59
- description: "PostgreSQL hostname for OpenClaw",
60
- required: true
61
- }, {
62
- key: "POSTGRES_PORT",
63
- defaultValue: "5432",
64
- secret: false,
65
- description: "PostgreSQL port for OpenClaw",
66
- required: true
67
- }],
68
- docsUrl: "https://www.postgresql.org/docs/",
69
- tags: [
70
- "relational",
71
- "sql",
72
- "structured-data"
73
- ],
74
- maturity: "stable",
75
- requires: [],
76
- recommends: [],
77
- conflictsWith: [],
78
- minMemoryMB: 256,
79
- gpuRequired: false
80
- };
81
-
82
- //#endregion
83
- export { postgresqlDefinition as t };
84
- //# sourceMappingURL=postgresql-s65Z9RqR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgresql-s65Z9RqR.mjs","names":[],"sources":["../src/services/definitions/postgresql.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const postgresqlDefinition: ServiceDefinition = {\n\tid: \"postgresql\",\n\tname: \"PostgreSQL\",\n\tdescription:\n\t\t\"Powerful open-source relational database for structured data, supporting advanced SQL features, JSONB, and full-text search.\",\n\tcategory: \"database\",\n\ticon: \"🐘\",\n\n\timage: \"postgres\",\n\timageTag: \"16-alpine\",\n\tports: [\n\t\t{\n\t\t\thost: 5432,\n\t\t\tcontainer: 5432,\n\t\t\tdescription: \"PostgreSQL server port\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"postgres-data\",\n\t\t\tcontainerPath: \"/var/lib/postgresql/data\",\n\t\t\tdescription: \"Persistent PostgreSQL data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"POSTGRES_USER\",\n\t\t\tdefaultValue: \"openclaw\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL superuser name\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"POSTGRES_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL superuser password\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"POSTGRES_DB\",\n\t\t\tdefaultValue: \"openclaw\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Default database to create on first run\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"pg_isready -U openclaw\",\n\t\tinterval: \"10s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"POSTGRES_HOST\",\n\t\t\tdefaultValue: \"postgresql\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"POSTGRES_PORT\",\n\t\t\tdefaultValue: \"5432\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.postgresql.org/docs/\",\n\ttags: [\"relational\", \"sql\", \"structured-data\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,uBAA0C;CACtD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAc;EAAO;EAAkB;CAC9C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,83 +0,0 @@
1
- //#region src/services/definitions/postiz.ts
2
- const postizDefinition = {
3
- id: "postiz",
4
- name: "Postiz",
5
- description: "Open-source social media scheduling and management tool with AI features. Schedule posts for X, Bluesky, Instagram, TikTok, and more.",
6
- category: "social-media",
7
- icon: "📨",
8
- image: "ghcr.io/gitroomhq/postiz-app",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 5200,
12
- container: 5e3,
13
- description: "Postiz Web UI",
14
- exposed: true
15
- }, {
16
- host: 3333,
17
- container: 3e3,
18
- description: "Postiz Frontend",
19
- exposed: true
20
- }],
21
- volumes: [{
22
- name: "postiz-config",
23
- containerPath: "/config",
24
- description: "Postiz configuration"
25
- }, {
26
- name: "postiz-uploads",
27
- containerPath: "/uploads",
28
- description: "Postiz uploaded media"
29
- }],
30
- environment: [
31
- {
32
- key: "MAIN_URL",
33
- defaultValue: "http://localhost:5200",
34
- secret: false,
35
- description: "Main Postiz URL",
36
- required: true
37
- },
38
- {
39
- key: "FRONTEND_URL",
40
- defaultValue: "http://localhost:3333",
41
- secret: false,
42
- description: "Frontend URL",
43
- required: true
44
- },
45
- {
46
- key: "JWT_SECRET",
47
- defaultValue: "",
48
- secret: true,
49
- description: "JWT secret for Postiz auth",
50
- required: true
51
- },
52
- {
53
- key: "DATABASE_URL",
54
- defaultValue: "postgresql://postiz:${POSTIZ_DB_PASSWORD}@postgresql:5432/postiz",
55
- secret: false,
56
- description: "PostgreSQL connection string",
57
- required: true
58
- }
59
- ],
60
- dependsOn: ["postgresql", "redis"],
61
- restartPolicy: "unless-stopped",
62
- networks: ["openclaw-network"],
63
- skills: [],
64
- openclawEnvVars: [],
65
- docsUrl: "https://docs.postiz.com/",
66
- tags: [
67
- "social-media",
68
- "scheduling",
69
- "ai",
70
- "content",
71
- "automation"
72
- ],
73
- maturity: "stable",
74
- requires: ["postgresql", "redis"],
75
- recommends: [],
76
- conflictsWith: [],
77
- minMemoryMB: 512,
78
- gpuRequired: false
79
- };
80
-
81
- //#endregion
82
- export { postizDefinition as t };
83
- //# sourceMappingURL=postiz-U6EK23EY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postiz-U6EK23EY.mjs","names":[],"sources":["../src/services/definitions/postiz.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const postizDefinition: ServiceDefinition = {\n\tid: \"postiz\",\n\tname: \"Postiz\",\n\tdescription:\n\t\t\"Open-source social media scheduling and management tool with AI features. Schedule posts for X, Bluesky, Instagram, TikTok, and more.\",\n\tcategory: \"social-media\",\n\ticon: \"📨\",\n\n\timage: \"ghcr.io/gitroomhq/postiz-app\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 5200,\n\t\t\tcontainer: 5000,\n\t\t\tdescription: \"Postiz Web UI\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 3333,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Postiz Frontend\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"postiz-config\",\n\t\t\tcontainerPath: \"/config\",\n\t\t\tdescription: \"Postiz configuration\",\n\t\t},\n\t\t{\n\t\t\tname: \"postiz-uploads\",\n\t\t\tcontainerPath: \"/uploads\",\n\t\t\tdescription: \"Postiz uploaded media\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"MAIN_URL\",\n\t\t\tdefaultValue: \"http://localhost:5200\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Main Postiz URL\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"FRONTEND_URL\",\n\t\t\tdefaultValue: \"http://localhost:3333\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Frontend URL\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"JWT_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"JWT secret for Postiz auth\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"postgresql://postiz:${POSTIZ_DB_PASSWORD}@postgresql:5432/postiz\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"PostgreSQL connection string\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\tdependsOn: [\"postgresql\", \"redis\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://docs.postiz.com/\",\n\ttags: [\"social-media\", \"scheduling\", \"ai\", \"content\", \"automation\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"postgresql\", \"redis\"],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,WAAW,CAAC,cAAc,QAAQ;CAClC,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAgB;EAAc;EAAM;EAAW;EAAa;CACnE,UAAU;CAEV,UAAU,CAAC,cAAc,QAAQ;CACjC,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,107 +0,0 @@
1
- //#region src/generators/prometheus.ts
2
- /**
3
- * Well-known metrics endpoints for services.
4
- *
5
- * Services that expose Prometheus-compatible metrics are listed here
6
- * with their metrics path and port.
7
- */
8
- const metricsEndpoints = {
9
- redis: {
10
- path: "/metrics",
11
- port: 9121
12
- },
13
- postgresql: {
14
- path: "/metrics",
15
- port: 9187
16
- },
17
- minio: {
18
- path: "/minio/v2/metrics/cluster",
19
- port: 9e3
20
- },
21
- n8n: {
22
- path: "/metrics",
23
- port: 5678
24
- },
25
- grafana: {
26
- path: "/metrics",
27
- port: 3e3
28
- },
29
- caddy: {
30
- path: "/metrics",
31
- port: 2019
32
- },
33
- traefik: {
34
- path: "/metrics",
35
- port: 8082
36
- },
37
- qdrant: {
38
- path: "/metrics",
39
- port: 6333
40
- },
41
- "uptime-kuma": {
42
- path: "/metrics",
43
- port: 3001
44
- },
45
- ollama: {
46
- path: "/metrics",
47
- port: 11434
48
- }
49
- };
50
- /**
51
- * Generates a Prometheus configuration YAML file with scrape configs
52
- * for all services that expose metrics endpoints.
53
- *
54
- * @param resolved - The resolved service configuration
55
- * @returns The prometheus.yml content as a string
56
- */
57
- function generatePrometheusConfig(resolved) {
58
- const sections = [];
59
- sections.push(`# ═══════════════════════════════════════════════════════════════════════════════
60
- # Prometheus Configuration — Auto-generated by OpenClaw
61
- # ═══════════════════════════════════════════════════════════════════════════════
62
-
63
- global:
64
- scrape_interval: 15s
65
- evaluation_interval: 15s
66
- scrape_timeout: 10s
67
-
68
- # ─── Scrape Configs ──────────────────────────────────────────────────────────
69
-
70
- scrape_configs:
71
- # Prometheus self-monitoring
72
- - job_name: "prometheus"
73
- static_configs:
74
- - targets: ["localhost:9090"]
75
- labels:
76
- service: "prometheus"
77
- component: "monitoring"`);
78
- for (const { definition } of resolved.services) {
79
- if (definition.id === "prometheus") continue;
80
- const endpoint = metricsEndpoints[definition.id];
81
- if (!endpoint) continue;
82
- sections.push(`
83
- # ${definition.icon} ${definition.name}
84
- - job_name: "${definition.id}"
85
- metrics_path: "${endpoint.path}"
86
- static_configs:
87
- - targets: ["${definition.id}:${endpoint.port}"]
88
- labels:
89
- service: "${definition.id}"
90
- component: "${definition.category}"`);
91
- }
92
- sections.push(`
93
- # 🐾 OpenClaw Gateway
94
- - job_name: "openclaw-gateway"
95
- metrics_path: "/metrics"
96
- static_configs:
97
- - targets: ["openclaw:18789"]
98
- labels:
99
- service: "openclaw"
100
- component: "core"`);
101
- sections.push("");
102
- return sections.join("\n");
103
- }
104
-
105
- //#endregion
106
- export { generatePrometheusConfig as t };
107
- //# sourceMappingURL=prometheus-WOlk-a1G.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prometheus-WOlk-a1G.mjs","names":[],"sources":["../src/generators/prometheus.ts"],"sourcesContent":["import type { ResolverOutput } from \"../types.js\";\n\n/**\n * Well-known metrics endpoints for services.\n *\n * Services that expose Prometheus-compatible metrics are listed here\n * with their metrics path and port.\n */\nconst metricsEndpoints: Record<string, { path: string; port: number }> = {\n\tredis: { path: \"/metrics\", port: 9121 },\n\tpostgresql: { path: \"/metrics\", port: 9187 },\n\tminio: { path: \"/minio/v2/metrics/cluster\", port: 9000 },\n\tn8n: { path: \"/metrics\", port: 5678 },\n\tgrafana: { path: \"/metrics\", port: 3000 },\n\tcaddy: { path: \"/metrics\", port: 2019 },\n\ttraefik: { path: \"/metrics\", port: 8082 },\n\tqdrant: { path: \"/metrics\", port: 6333 },\n\t\"uptime-kuma\": { path: \"/metrics\", port: 3001 },\n\tollama: { path: \"/metrics\", port: 11434 },\n};\n\n/**\n * Generates a Prometheus configuration YAML file with scrape configs\n * for all services that expose metrics endpoints.\n *\n * @param resolved - The resolved service configuration\n * @returns The prometheus.yml content as a string\n */\nexport function generatePrometheusConfig(resolved: ResolverOutput): string {\n\tconst sections: string[] = [];\n\n\t// ── Header ──────────────────────────────────────────────────────────────\n\n\tsections.push(`# ═══════════════════════════════════════════════════════════════════════════════\n# Prometheus Configuration — Auto-generated by OpenClaw\n# ═══════════════════════════════════════════════════════════════════════════════\n\nglobal:\n scrape_interval: 15s\n evaluation_interval: 15s\n scrape_timeout: 10s\n\n# ─── Scrape Configs ──────────────────────────────────────────────────────────\n\nscrape_configs:\n # Prometheus self-monitoring\n - job_name: \"prometheus\"\n static_configs:\n - targets: [\"localhost:9090\"]\n labels:\n service: \"prometheus\"\n component: \"monitoring\"`);\n\n\t// ── Service Scrape Configs ───────────────────────────────────────────────\n\n\tfor (const { definition } of resolved.services) {\n\t\t// Skip prometheus itself (already included above)\n\t\tif (definition.id === \"prometheus\") continue;\n\n\t\tconst endpoint = metricsEndpoints[definition.id];\n\t\tif (!endpoint) continue;\n\n\t\tsections.push(`\n # ${definition.icon} ${definition.name}\n - job_name: \"${definition.id}\"\n metrics_path: \"${endpoint.path}\"\n static_configs:\n - targets: [\"${definition.id}:${endpoint.port}\"]\n labels:\n service: \"${definition.id}\"\n component: \"${definition.category}\"`);\n\t}\n\n\t// ── OpenClaw Gateway Metrics ────────────────────────────────────────────\n\n\tsections.push(`\n # 🐾 OpenClaw Gateway\n - job_name: \"openclaw-gateway\"\n metrics_path: \"/metrics\"\n static_configs:\n - targets: [\"openclaw:18789\"]\n labels:\n service: \"openclaw\"\n component: \"core\"`);\n\n\tsections.push(\"\");\n\n\treturn sections.join(\"\\n\");\n}\n"],"mappings":";;;;;;;AAQA,MAAM,mBAAmE;CACxE,OAAO;EAAE,MAAM;EAAY,MAAM;EAAM;CACvC,YAAY;EAAE,MAAM;EAAY,MAAM;EAAM;CAC5C,OAAO;EAAE,MAAM;EAA6B,MAAM;EAAM;CACxD,KAAK;EAAE,MAAM;EAAY,MAAM;EAAM;CACrC,SAAS;EAAE,MAAM;EAAY,MAAM;EAAM;CACzC,OAAO;EAAE,MAAM;EAAY,MAAM;EAAM;CACvC,SAAS;EAAE,MAAM;EAAY,MAAM;EAAM;CACzC,QAAQ;EAAE,MAAM;EAAY,MAAM;EAAM;CACxC,eAAe;EAAE,MAAM;EAAY,MAAM;EAAM;CAC/C,QAAQ;EAAE,MAAM;EAAY,MAAM;EAAO;CACzC;;;;;;;;AASD,SAAgB,yBAAyB,UAAkC;CAC1E,MAAM,WAAqB,EAAE;AAI7B,UAAS,KAAK;;;;;;;;;;;;;;;;;;mCAkBoB;AAIlC,MAAK,MAAM,EAAE,gBAAgB,SAAS,UAAU;AAE/C,MAAI,WAAW,OAAO,aAAc;EAEpC,MAAM,WAAW,iBAAiB,WAAW;AAC7C,MAAI,CAAC,SAAU;AAEf,WAAS,KAAK;MACV,WAAW,KAAK,GAAG,WAAW,KAAK;iBACxB,WAAW,GAAG;qBACV,SAAS,KAAK;;qBAEd,WAAW,GAAG,GAAG,SAAS,KAAK;;sBAE9B,WAAW,GAAG;wBACZ,WAAW,SAAS,GAAG;;AAK9C,UAAS,KAAK;;;;;;;;6BAQc;AAE5B,UAAS,KAAK,GAAG;AAEjB,QAAO,SAAS,KAAK,KAAK"}
@@ -1,52 +0,0 @@
1
- //#region src/services/definitions/prometheus.ts
2
- const prometheusDefinition = {
3
- id: "prometheus",
4
- name: "Prometheus",
5
- description: "Open-source systems monitoring and alerting toolkit for collecting and querying time-series metrics with a powerful query language (PromQL).",
6
- category: "monitoring",
7
- icon: "🔥",
8
- image: "prom/prometheus",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 9090,
12
- container: 9090,
13
- description: "Prometheus web UI and API",
14
- exposed: true
15
- }],
16
- volumes: [{
17
- name: "prometheus-data",
18
- containerPath: "/prometheus",
19
- description: "Persistent Prometheus time-series data"
20
- }],
21
- environment: [],
22
- command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus",
23
- healthcheck: {
24
- test: "wget -q --spider http://localhost:9090/-/healthy || exit 1",
25
- interval: "30s",
26
- timeout: "10s",
27
- retries: 3,
28
- startPeriod: "10s"
29
- },
30
- dependsOn: [],
31
- restartPolicy: "unless-stopped",
32
- networks: ["openclaw-network"],
33
- skills: [],
34
- openclawEnvVars: [],
35
- docsUrl: "https://prometheus.io/docs/",
36
- tags: [
37
- "metrics",
38
- "time-series",
39
- "alerting",
40
- "monitoring"
41
- ],
42
- maturity: "stable",
43
- requires: [],
44
- recommends: ["grafana"],
45
- conflictsWith: [],
46
- minMemoryMB: 256,
47
- gpuRequired: false
48
- };
49
-
50
- //#endregion
51
- export { prometheusDefinition as t };
52
- //# sourceMappingURL=prometheus-x901F67p.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prometheus-x901F67p.mjs","names":[],"sources":["../src/services/definitions/prometheus.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const prometheusDefinition: ServiceDefinition = {\n\tid: \"prometheus\",\n\tname: \"Prometheus\",\n\tdescription:\n\t\t\"Open-source systems monitoring and alerting toolkit for collecting and querying time-series metrics with a powerful query language (PromQL).\",\n\tcategory: \"monitoring\",\n\ticon: \"🔥\",\n\n\timage: \"prom/prometheus\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 9090,\n\t\t\tcontainer: 9090,\n\t\t\tdescription: \"Prometheus web UI and API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"prometheus-data\",\n\t\t\tcontainerPath: \"/prometheus\",\n\t\t\tdescription: \"Persistent Prometheus time-series data\",\n\t\t},\n\t],\n\tenvironment: [],\n\tcommand: \"--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus\",\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:9090/-/healthy || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://prometheus.io/docs/\",\n\ttags: [\"metrics\", \"time-series\", \"alerting\", \"monitoring\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"grafana\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,uBAA0C;CACtD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,EAAE;CACf,SAAS;CACT,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAW;EAAe;EAAY;EAAa;CAC1D,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,UAAU;CACvB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}