@better-openclaw/core 1.0.6 → 1.0.8

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 (574) 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 +714 -2
  73. package/dist/schema.d.mts.map +1 -0
  74. package/dist/schema.mjs +6 -2
  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/comfyui.d.mts +7 -0
  114. package/dist/services/definitions/comfyui.d.mts.map +1 -0
  115. package/dist/services/definitions/comfyui.mjs +83 -0
  116. package/dist/services/definitions/comfyui.mjs.map +1 -0
  117. package/dist/services/definitions/convex-dashboard.d.mts +7 -0
  118. package/dist/services/definitions/convex-dashboard.d.mts.map +1 -0
  119. package/dist/services/definitions/convex-dashboard.mjs +46 -0
  120. package/dist/services/definitions/convex-dashboard.mjs.map +1 -0
  121. package/dist/services/definitions/convex.d.mts +7 -0
  122. package/dist/services/definitions/convex.d.mts.map +1 -0
  123. package/dist/services/definitions/convex.mjs +118 -0
  124. package/dist/services/definitions/convex.mjs.map +1 -0
  125. package/dist/services/definitions/coolify.d.mts +0 -1
  126. package/dist/services/definitions/coolify.d.mts.map +1 -1
  127. package/dist/services/definitions/coolify.mjs +48 -2
  128. package/dist/services/definitions/coolify.mjs.map +1 -0
  129. package/dist/services/definitions/desktop-environment.d.mts +7 -0
  130. package/dist/services/definitions/desktop-environment.d.mts.map +1 -0
  131. package/dist/services/definitions/desktop-environment.mjs +153 -0
  132. package/dist/services/definitions/desktop-environment.mjs.map +1 -0
  133. package/dist/services/definitions/dify.d.mts +0 -1
  134. package/dist/services/definitions/dify.d.mts.map +1 -1
  135. package/dist/services/definitions/dify.mjs +80 -2
  136. package/dist/services/definitions/dify.mjs.map +1 -0
  137. package/dist/services/definitions/docsgpt.d.mts +0 -1
  138. package/dist/services/definitions/docsgpt.d.mts.map +1 -1
  139. package/dist/services/definitions/docsgpt.mjs +44 -2
  140. package/dist/services/definitions/docsgpt.mjs.map +1 -0
  141. package/dist/services/definitions/dokploy.d.mts +0 -1
  142. package/dist/services/definitions/dokploy.d.mts.map +1 -1
  143. package/dist/services/definitions/dokploy.mjs +48 -2
  144. package/dist/services/definitions/dokploy.mjs.map +1 -0
  145. package/dist/services/definitions/dozzle.d.mts +0 -1
  146. package/dist/services/definitions/dozzle.d.mts.map +1 -1
  147. package/dist/services/definitions/dozzle.mjs +40 -2
  148. package/dist/services/definitions/dozzle.mjs.map +1 -0
  149. package/dist/services/definitions/ffmpeg.d.mts +0 -1
  150. package/dist/services/definitions/ffmpeg.d.mts.map +1 -1
  151. package/dist/services/definitions/ffmpeg.mjs +65 -2
  152. package/dist/services/definitions/ffmpeg.mjs.map +1 -0
  153. package/dist/services/definitions/flowise.d.mts +0 -1
  154. package/dist/services/definitions/flowise.d.mts.map +1 -1
  155. package/dist/services/definitions/flowise.mjs +44 -2
  156. package/dist/services/definitions/flowise.mjs.map +1 -0
  157. package/dist/services/definitions/gemini-cli.d.mts +0 -1
  158. package/dist/services/definitions/gemini-cli.d.mts.map +1 -1
  159. package/dist/services/definitions/gemini-cli.mjs +45 -2
  160. package/dist/services/definitions/gemini-cli.mjs.map +1 -0
  161. package/dist/services/definitions/gitea.d.mts +0 -1
  162. package/dist/services/definitions/gitea.d.mts.map +1 -1
  163. package/dist/services/definitions/gitea.mjs +48 -2
  164. package/dist/services/definitions/gitea.mjs.map +1 -0
  165. package/dist/services/definitions/gotify.d.mts +0 -1
  166. package/dist/services/definitions/gotify.d.mts.map +1 -1
  167. package/dist/services/definitions/gotify.mjs +61 -2
  168. package/dist/services/definitions/gotify.mjs.map +1 -0
  169. package/dist/services/definitions/grafana.d.mts +0 -1
  170. package/dist/services/definitions/grafana.d.mts.map +1 -1
  171. package/dist/services/definitions/grafana.mjs +62 -2
  172. package/dist/services/definitions/grafana.mjs.map +1 -0
  173. package/dist/services/definitions/index.d.mts +8 -2
  174. package/dist/services/definitions/index.d.mts.map +1 -1
  175. package/dist/services/definitions/index.mjs +151 -67
  176. package/dist/services/definitions/index.mjs.map +1 -0
  177. package/dist/services/definitions/kimi.d.mts +0 -1
  178. package/dist/services/definitions/kimi.d.mts.map +1 -1
  179. package/dist/services/definitions/kimi.mjs +45 -2
  180. package/dist/services/definitions/kimi.mjs.map +1 -0
  181. package/dist/services/definitions/lasuite-meet-agents.d.mts +0 -1
  182. package/dist/services/definitions/lasuite-meet-agents.d.mts.map +1 -1
  183. package/dist/services/definitions/lasuite-meet-agents.mjs +35 -2
  184. package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -0
  185. package/dist/services/definitions/lasuite-meet-backend.d.mts +0 -1
  186. package/dist/services/definitions/lasuite-meet-backend.d.mts.map +1 -1
  187. package/dist/services/definitions/lasuite-meet-backend.mjs +133 -2
  188. package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -0
  189. package/dist/services/definitions/lasuite-meet-frontend.d.mts +0 -1
  190. package/dist/services/definitions/lasuite-meet-frontend.d.mts.map +1 -1
  191. package/dist/services/definitions/lasuite-meet-frontend.mjs +47 -2
  192. package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -0
  193. package/dist/services/definitions/librechat.d.mts +0 -1
  194. package/dist/services/definitions/librechat.d.mts.map +1 -1
  195. package/dist/services/definitions/librechat.mjs +49 -2
  196. package/dist/services/definitions/librechat.mjs.map +1 -0
  197. package/dist/services/definitions/lightpanda.d.mts +0 -1
  198. package/dist/services/definitions/lightpanda.d.mts.map +1 -1
  199. package/dist/services/definitions/lightpanda.mjs +58 -2
  200. package/dist/services/definitions/lightpanda.mjs.map +1 -0
  201. package/dist/services/definitions/litellm.d.mts +0 -1
  202. package/dist/services/definitions/litellm.d.mts.map +1 -1
  203. package/dist/services/definitions/litellm.mjs +46 -2
  204. package/dist/services/definitions/litellm.mjs.map +1 -0
  205. package/dist/services/definitions/livekit.d.mts +0 -1
  206. package/dist/services/definitions/livekit.d.mts.map +1 -1
  207. package/dist/services/definitions/livekit.mjs +55 -2
  208. package/dist/services/definitions/livekit.mjs.map +1 -0
  209. package/dist/services/definitions/matomo.d.mts +0 -1
  210. package/dist/services/definitions/matomo.d.mts.map +1 -1
  211. package/dist/services/definitions/matomo.mjs +79 -2
  212. package/dist/services/definitions/matomo.mjs.map +1 -0
  213. package/dist/services/definitions/matrix-synapse.d.mts +0 -1
  214. package/dist/services/definitions/matrix-synapse.d.mts.map +1 -1
  215. package/dist/services/definitions/matrix-synapse.mjs +87 -2
  216. package/dist/services/definitions/matrix-synapse.mjs.map +1 -0
  217. package/dist/services/definitions/mattermost.d.mts +0 -1
  218. package/dist/services/definitions/mattermost.d.mts.map +1 -1
  219. package/dist/services/definitions/mattermost.mjs +60 -2
  220. package/dist/services/definitions/mattermost.mjs.map +1 -0
  221. package/dist/services/definitions/meilisearch.d.mts +0 -1
  222. package/dist/services/definitions/meilisearch.d.mts.map +1 -1
  223. package/dist/services/definitions/meilisearch.mjs +77 -2
  224. package/dist/services/definitions/meilisearch.mjs.map +1 -0
  225. package/dist/services/definitions/minio.d.mts +0 -1
  226. package/dist/services/definitions/minio.d.mts.map +1 -1
  227. package/dist/services/definitions/minio.mjs +101 -2
  228. package/dist/services/definitions/minio.mjs.map +1 -0
  229. package/dist/services/definitions/mission-control.d.mts +7 -0
  230. package/dist/services/definitions/mission-control.d.mts.map +1 -0
  231. package/dist/services/definitions/mission-control.mjs +67 -0
  232. package/dist/services/definitions/mission-control.mjs.map +1 -0
  233. package/dist/services/definitions/mixpost.d.mts +0 -1
  234. package/dist/services/definitions/mixpost.d.mts.map +1 -1
  235. package/dist/services/definitions/mixpost.mjs +86 -2
  236. package/dist/services/definitions/mixpost.mjs.map +1 -0
  237. package/dist/services/definitions/motion-canvas.d.mts +0 -1
  238. package/dist/services/definitions/motion-canvas.d.mts.map +1 -1
  239. package/dist/services/definitions/motion-canvas.mjs +51 -2
  240. package/dist/services/definitions/motion-canvas.mjs.map +1 -0
  241. package/dist/services/definitions/n8n.d.mts +0 -1
  242. package/dist/services/definitions/n8n.d.mts.map +1 -1
  243. package/dist/services/definitions/n8n.mjs +153 -2
  244. package/dist/services/definitions/n8n.mjs.map +1 -0
  245. package/dist/services/definitions/nocodb.d.mts +0 -1
  246. package/dist/services/definitions/nocodb.d.mts.map +1 -1
  247. package/dist/services/definitions/nocodb.mjs +44 -2
  248. package/dist/services/definitions/nocodb.mjs.map +1 -0
  249. package/dist/services/definitions/ntfy.d.mts +0 -1
  250. package/dist/services/definitions/ntfy.d.mts.map +1 -1
  251. package/dist/services/definitions/ntfy.mjs +62 -2
  252. package/dist/services/definitions/ntfy.mjs.map +1 -0
  253. package/dist/services/definitions/ollama.d.mts +0 -1
  254. package/dist/services/definitions/ollama.d.mts.map +1 -1
  255. package/dist/services/definitions/ollama.mjs +65 -2
  256. package/dist/services/definitions/ollama.mjs.map +1 -0
  257. package/dist/services/definitions/open-webui.d.mts +0 -1
  258. package/dist/services/definitions/open-webui.d.mts.map +1 -1
  259. package/dist/services/definitions/open-webui.mjs +49 -2
  260. package/dist/services/definitions/open-webui.mjs.map +1 -0
  261. package/dist/services/definitions/opencode.d.mts +0 -1
  262. package/dist/services/definitions/opencode.d.mts.map +1 -1
  263. package/dist/services/definitions/opencode.mjs +49 -2
  264. package/dist/services/definitions/opencode.mjs.map +1 -0
  265. package/dist/services/definitions/openpanel.d.mts +0 -1
  266. package/dist/services/definitions/openpanel.d.mts.map +1 -1
  267. package/dist/services/definitions/openpanel.mjs +45 -2
  268. package/dist/services/definitions/openpanel.mjs.map +1 -0
  269. package/dist/services/definitions/outline.d.mts +0 -1
  270. package/dist/services/definitions/outline.d.mts.map +1 -1
  271. package/dist/services/definitions/outline.mjs +73 -2
  272. package/dist/services/definitions/outline.mjs.map +1 -0
  273. package/dist/services/definitions/paperless-ngx.d.mts +0 -1
  274. package/dist/services/definitions/paperless-ngx.d.mts.map +1 -1
  275. package/dist/services/definitions/paperless-ngx.mjs +92 -2
  276. package/dist/services/definitions/paperless-ngx.mjs.map +1 -0
  277. package/dist/services/definitions/playwright-server.d.mts +0 -1
  278. package/dist/services/definitions/playwright-server.d.mts.map +1 -1
  279. package/dist/services/definitions/playwright-server.mjs +41 -2
  280. package/dist/services/definitions/playwright-server.mjs.map +1 -0
  281. package/dist/services/definitions/portainer.d.mts +0 -1
  282. package/dist/services/definitions/portainer.d.mts.map +1 -1
  283. package/dist/services/definitions/portainer.mjs +48 -2
  284. package/dist/services/definitions/portainer.mjs.map +1 -0
  285. package/dist/services/definitions/postgresql.d.mts +0 -1
  286. package/dist/services/definitions/postgresql.d.mts.map +1 -1
  287. package/dist/services/definitions/postgresql.mjs +83 -2
  288. package/dist/services/definitions/postgresql.mjs.map +1 -0
  289. package/dist/services/definitions/postiz.d.mts +0 -1
  290. package/dist/services/definitions/postiz.d.mts.map +1 -1
  291. package/dist/services/definitions/postiz.mjs +82 -2
  292. package/dist/services/definitions/postiz.mjs.map +1 -0
  293. package/dist/services/definitions/prometheus.d.mts +0 -1
  294. package/dist/services/definitions/prometheus.d.mts.map +1 -1
  295. package/dist/services/definitions/prometheus.mjs +51 -2
  296. package/dist/services/definitions/prometheus.mjs.map +1 -0
  297. package/dist/services/definitions/qdrant.d.mts +0 -1
  298. package/dist/services/definitions/qdrant.d.mts.map +1 -1
  299. package/dist/services/definitions/qdrant.mjs +76 -2
  300. package/dist/services/definitions/qdrant.mjs.map +1 -0
  301. package/dist/services/definitions/redis.d.mts +0 -1
  302. package/dist/services/definitions/redis.d.mts.map +1 -1
  303. package/dist/services/definitions/redis.mjs +90 -2
  304. package/dist/services/definitions/redis.mjs.map +1 -0
  305. package/dist/services/definitions/remotion.d.mts +0 -1
  306. package/dist/services/definitions/remotion.d.mts.map +1 -1
  307. package/dist/services/definitions/remotion.mjs +54 -2
  308. package/dist/services/definitions/remotion.mjs.map +1 -0
  309. package/dist/services/definitions/rocketchat.d.mts +0 -1
  310. package/dist/services/definitions/rocketchat.d.mts.map +1 -1
  311. package/dist/services/definitions/rocketchat.mjs +56 -2
  312. package/dist/services/definitions/rocketchat.mjs.map +1 -0
  313. package/dist/services/definitions/searxng.d.mts +0 -1
  314. package/dist/services/definitions/searxng.d.mts.map +1 -1
  315. package/dist/services/definitions/searxng.mjs +64 -2
  316. package/dist/services/definitions/searxng.mjs.map +1 -0
  317. package/dist/services/definitions/stable-diffusion.d.mts +0 -1
  318. package/dist/services/definitions/stable-diffusion.d.mts.map +1 -1
  319. package/dist/services/definitions/stable-diffusion.mjs +47 -2
  320. package/dist/services/definitions/stable-diffusion.mjs.map +1 -0
  321. package/dist/services/definitions/steel-browser.d.mts +0 -1
  322. package/dist/services/definitions/steel-browser.d.mts.map +1 -1
  323. package/dist/services/definitions/steel-browser.mjs +76 -2
  324. package/dist/services/definitions/steel-browser.mjs.map +1 -0
  325. package/dist/services/definitions/stream-gateway.d.mts +7 -0
  326. package/dist/services/definitions/stream-gateway.d.mts.map +1 -0
  327. package/dist/services/definitions/stream-gateway.mjs +133 -0
  328. package/dist/services/definitions/stream-gateway.mjs.map +1 -0
  329. package/dist/services/definitions/tailscale.d.mts +0 -1
  330. package/dist/services/definitions/tailscale.d.mts.map +1 -1
  331. package/dist/services/definitions/tailscale.mjs +69 -2
  332. package/dist/services/definitions/tailscale.mjs.map +1 -0
  333. package/dist/services/definitions/temporal.d.mts +0 -1
  334. package/dist/services/definitions/temporal.d.mts.map +1 -1
  335. package/dist/services/definitions/temporal.mjs +99 -2
  336. package/dist/services/definitions/temporal.mjs.map +1 -0
  337. package/dist/services/definitions/traefik.d.mts +0 -1
  338. package/dist/services/definitions/traefik.d.mts.map +1 -1
  339. package/dist/services/definitions/traefik.mjs +57 -2
  340. package/dist/services/definitions/traefik.mjs.map +1 -0
  341. package/dist/services/definitions/umami.d.mts +0 -1
  342. package/dist/services/definitions/umami.d.mts.map +1 -1
  343. package/dist/services/definitions/umami.mjs +45 -2
  344. package/dist/services/definitions/umami.mjs.map +1 -0
  345. package/dist/services/definitions/uptime-kuma.d.mts +0 -1
  346. package/dist/services/definitions/uptime-kuma.d.mts.map +1 -1
  347. package/dist/services/definitions/uptime-kuma.mjs +50 -2
  348. package/dist/services/definitions/uptime-kuma.mjs.map +1 -0
  349. package/dist/services/definitions/usesend.d.mts +7 -0
  350. package/dist/services/definitions/usesend.d.mts.map +1 -0
  351. package/dist/services/definitions/usesend.mjs +99 -0
  352. package/dist/services/definitions/usesend.mjs.map +1 -0
  353. package/dist/services/definitions/valkey.d.mts +0 -1
  354. package/dist/services/definitions/valkey.d.mts.map +1 -1
  355. package/dist/services/definitions/valkey.mjs +60 -2
  356. package/dist/services/definitions/valkey.mjs.map +1 -0
  357. package/dist/services/definitions/watchtower.d.mts +0 -1
  358. package/dist/services/definitions/watchtower.d.mts.map +1 -1
  359. package/dist/services/definitions/watchtower.mjs +46 -2
  360. package/dist/services/definitions/watchtower.mjs.map +1 -0
  361. package/dist/services/definitions/weaviate.d.mts +0 -1
  362. package/dist/services/definitions/weaviate.d.mts.map +1 -1
  363. package/dist/services/definitions/weaviate.mjs +89 -2
  364. package/dist/services/definitions/weaviate.mjs.map +1 -0
  365. package/dist/services/definitions/whisper.d.mts +0 -1
  366. package/dist/services/definitions/whisper.d.mts.map +1 -1
  367. package/dist/services/definitions/whisper.mjs +61 -2
  368. package/dist/services/definitions/whisper.mjs.map +1 -0
  369. package/dist/services/registry.d.mts +0 -1
  370. package/dist/services/registry.d.mts.map +1 -1
  371. package/dist/services/registry.mjs +29 -2
  372. package/dist/services/registry.mjs.map +1 -0
  373. package/dist/services/registry.test.mjs +2 -2
  374. package/dist/skills/registry.d.mts +0 -1
  375. package/dist/skills/registry.d.mts.map +1 -1
  376. package/dist/skills/registry.mjs +214 -2
  377. package/dist/skills/registry.mjs.map +1 -0
  378. package/dist/types.d.mts +1 -1
  379. package/dist/types.d.mts.map +1 -1
  380. package/dist/types.mjs +10 -0
  381. package/dist/types.mjs.map +1 -1
  382. package/dist/validator.d.mts +0 -1
  383. package/dist/validator.d.mts.map +1 -1
  384. package/dist/validator.mjs +110 -2
  385. package/dist/validator.mjs.map +1 -0
  386. package/dist/validator.test.mjs +4 -4
  387. package/dist/version-manager.d.mts +0 -1
  388. package/dist/version-manager.d.mts.map +1 -1
  389. package/dist/version-manager.mjs +1 -1
  390. package/dist/{vi.2VT5v0um-Cs3Z_fCB.mjs → vi.2VT5v0um-Qk6MgAnK.mjs} +1183 -1183
  391. package/dist/vi.2VT5v0um-Qk6MgAnK.mjs.map +1 -0
  392. package/package.json +14 -13
  393. package/src/schema.ts +4 -1
  394. package/src/services/definitions/comfyui.ts +90 -0
  395. package/src/services/definitions/convex-dashboard.ts +48 -0
  396. package/src/services/definitions/convex.ts +123 -0
  397. package/src/services/definitions/desktop-environment.ts +163 -0
  398. package/src/services/definitions/index.ts +21 -0
  399. package/src/services/definitions/mission-control.ts +71 -0
  400. package/src/services/definitions/stream-gateway.ts +148 -0
  401. package/src/services/definitions/tailscale.ts +2 -0
  402. package/src/services/definitions/usesend.ts +98 -0
  403. package/src/types.ts +2 -0
  404. package/tsdown.config.ts +1 -0
  405. package/dist/anything-llm-DIIPhz6K.mjs +0 -44
  406. package/dist/anything-llm-DIIPhz6K.mjs.map +0 -1
  407. package/dist/appflowy-DdoE-dKg.mjs +0 -45
  408. package/dist/appflowy-DdoE-dKg.mjs.map +0 -1
  409. package/dist/bare-metal-install-DpYZDoGq.mjs +0 -224
  410. package/dist/bare-metal-install-DpYZDoGq.mjs.map +0 -1
  411. package/dist/bare-metal-partition-CYlOxf9B.mjs +0 -48
  412. package/dist/bare-metal-partition-CYlOxf9B.mjs.map +0 -1
  413. package/dist/beszel-DHAG1zl0.mjs +0 -45
  414. package/dist/beszel-DHAG1zl0.mjs.map +0 -1
  415. package/dist/browserless-gUuvGmMD.mjs +0 -85
  416. package/dist/browserless-gUuvGmMD.mjs.map +0 -1
  417. package/dist/caddy-BJDrqnmw.mjs +0 -77
  418. package/dist/caddy-BJDrqnmw.mjs.map +0 -1
  419. package/dist/caddy-_NIdWKrf.mjs +0 -52
  420. package/dist/caddy-_NIdWKrf.mjs.map +0 -1
  421. package/dist/chromadb-g4rIsfAl.mjs +0 -63
  422. package/dist/chromadb-g4rIsfAl.mjs.map +0 -1
  423. package/dist/claude-code-DPRA1fy_.mjs +0 -52
  424. package/dist/claude-code-DPRA1fy_.mjs.map +0 -1
  425. package/dist/code-server-BdZZxxm5.mjs +0 -66
  426. package/dist/code-server-BdZZxxm5.mjs.map +0 -1
  427. package/dist/codex-DFVzfrfX.mjs +0 -45
  428. package/dist/codex-DFVzfrfX.mjs.map +0 -1
  429. package/dist/composer-CSM5YycB.mjs +0 -287
  430. package/dist/composer-CSM5YycB.mjs.map +0 -1
  431. package/dist/coolify-Z5_zDgM3.mjs +0 -49
  432. package/dist/coolify-Z5_zDgM3.mjs.map +0 -1
  433. package/dist/definitions-BXpb1kzs.mjs +0 -138
  434. package/dist/definitions-BXpb1kzs.mjs.map +0 -1
  435. package/dist/dify-jDc9U6Ku.mjs +0 -81
  436. package/dist/dify-jDc9U6Ku.mjs.map +0 -1
  437. package/dist/docsgpt-BXM1c2JC.mjs +0 -45
  438. package/dist/docsgpt-BXM1c2JC.mjs.map +0 -1
  439. package/dist/dokploy-Ci8_fb0_.mjs +0 -49
  440. package/dist/dokploy-Ci8_fb0_.mjs.map +0 -1
  441. package/dist/dozzle-fAt2sLRL.mjs +0 -41
  442. package/dist/dozzle-fAt2sLRL.mjs.map +0 -1
  443. package/dist/env-D2h46lHT.mjs +0 -250
  444. package/dist/env-D2h46lHT.mjs.map +0 -1
  445. package/dist/ffmpeg-BCtnA8m_.mjs +0 -66
  446. package/dist/ffmpeg-BCtnA8m_.mjs.map +0 -1
  447. package/dist/flowise-CJTTBa7J.mjs +0 -45
  448. package/dist/flowise-CJTTBa7J.mjs.map +0 -1
  449. package/dist/gemini-cli-Bfwv6hYe.mjs +0 -46
  450. package/dist/gemini-cli-Bfwv6hYe.mjs.map +0 -1
  451. package/dist/gitea-BGkqa-sD.mjs +0 -49
  452. package/dist/gitea-BGkqa-sD.mjs.map +0 -1
  453. package/dist/gotify-D7p8oNM3.mjs +0 -62
  454. package/dist/gotify-D7p8oNM3.mjs.map +0 -1
  455. package/dist/grafana-BlnWc6js.mjs +0 -63
  456. package/dist/grafana-BlnWc6js.mjs.map +0 -1
  457. package/dist/grafana-D3kIm8RX.mjs +0 -293
  458. package/dist/grafana-D3kIm8RX.mjs.map +0 -1
  459. package/dist/kimi-BFu1v1sU.mjs +0 -46
  460. package/dist/kimi-BFu1v1sU.mjs.map +0 -1
  461. package/dist/lasuite-meet-agents-nlPhMEaN.mjs +0 -36
  462. package/dist/lasuite-meet-agents-nlPhMEaN.mjs.map +0 -1
  463. package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs +0 -134
  464. package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs.map +0 -1
  465. package/dist/lasuite-meet-frontend-B4xNbnBa.mjs +0 -48
  466. package/dist/lasuite-meet-frontend-B4xNbnBa.mjs.map +0 -1
  467. package/dist/librechat-CoPIHXKK.mjs +0 -50
  468. package/dist/librechat-CoPIHXKK.mjs.map +0 -1
  469. package/dist/lightpanda-QchAPgNX.mjs +0 -59
  470. package/dist/lightpanda-QchAPgNX.mjs.map +0 -1
  471. package/dist/litellm-Dgl6iTry.mjs +0 -47
  472. package/dist/litellm-Dgl6iTry.mjs.map +0 -1
  473. package/dist/livekit-C13SxlVB.mjs +0 -56
  474. package/dist/livekit-C13SxlVB.mjs.map +0 -1
  475. package/dist/magic-string.es-Dew0Rnsa.mjs.map +0 -1
  476. package/dist/matomo-CiOoggYl.mjs +0 -80
  477. package/dist/matomo-CiOoggYl.mjs.map +0 -1
  478. package/dist/matrix-synapse-CP20A7NN.mjs +0 -88
  479. package/dist/matrix-synapse-CP20A7NN.mjs.map +0 -1
  480. package/dist/mattermost-CeFVuhIr.mjs +0 -61
  481. package/dist/mattermost-CeFVuhIr.mjs.map +0 -1
  482. package/dist/meilisearch-CLiQiTdN.mjs +0 -78
  483. package/dist/meilisearch-CLiQiTdN.mjs.map +0 -1
  484. package/dist/minio-_QuguAeo.mjs +0 -102
  485. package/dist/minio-_QuguAeo.mjs.map +0 -1
  486. package/dist/mixpost-eSFPM9XK.mjs +0 -87
  487. package/dist/mixpost-eSFPM9XK.mjs.map +0 -1
  488. package/dist/motion-canvas-Bk1ruvuX.mjs +0 -52
  489. package/dist/motion-canvas-Bk1ruvuX.mjs.map +0 -1
  490. package/dist/n8n-W5qeU34C.mjs +0 -154
  491. package/dist/n8n-W5qeU34C.mjs.map +0 -1
  492. package/dist/n8n-workflows-BPmKVx8z.mjs +0 -75
  493. package/dist/n8n-workflows-BPmKVx8z.mjs.map +0 -1
  494. package/dist/native-services-CwOCM-Xz.mjs +0 -78
  495. package/dist/native-services-CwOCM-Xz.mjs.map +0 -1
  496. package/dist/nocodb-DQNbSYh_.mjs +0 -45
  497. package/dist/nocodb-DQNbSYh_.mjs.map +0 -1
  498. package/dist/ntfy-B8_cZAx2.mjs +0 -63
  499. package/dist/ntfy-B8_cZAx2.mjs.map +0 -1
  500. package/dist/ollama-BiKAypcO.mjs +0 -66
  501. package/dist/ollama-BiKAypcO.mjs.map +0 -1
  502. package/dist/open-webui-DZOG4_xL.mjs +0 -50
  503. package/dist/open-webui-DZOG4_xL.mjs.map +0 -1
  504. package/dist/opencode-Dvfh5KvA.mjs +0 -50
  505. package/dist/opencode-Dvfh5KvA.mjs.map +0 -1
  506. package/dist/openpanel-BuWHhDze.mjs +0 -46
  507. package/dist/openpanel-BuWHhDze.mjs.map +0 -1
  508. package/dist/outline-Dy-YzdYS.mjs +0 -74
  509. package/dist/outline-Dy-YzdYS.mjs.map +0 -1
  510. package/dist/paperless-ngx-DVtWWpKg.mjs +0 -93
  511. package/dist/paperless-ngx-DVtWWpKg.mjs.map +0 -1
  512. package/dist/playwright-server-Boiz8--G.mjs +0 -42
  513. package/dist/playwright-server-Boiz8--G.mjs.map +0 -1
  514. package/dist/portainer-D9MU96UI.mjs +0 -49
  515. package/dist/portainer-D9MU96UI.mjs.map +0 -1
  516. package/dist/postgres-init-BiM-xZtq.mjs +0 -151
  517. package/dist/postgres-init-BiM-xZtq.mjs.map +0 -1
  518. package/dist/postgresql-s65Z9RqR.mjs +0 -84
  519. package/dist/postgresql-s65Z9RqR.mjs.map +0 -1
  520. package/dist/postiz-U6EK23EY.mjs +0 -83
  521. package/dist/postiz-U6EK23EY.mjs.map +0 -1
  522. package/dist/prometheus-WOlk-a1G.mjs +0 -107
  523. package/dist/prometheus-WOlk-a1G.mjs.map +0 -1
  524. package/dist/prometheus-x901F67p.mjs +0 -52
  525. package/dist/prometheus-x901F67p.mjs.map +0 -1
  526. package/dist/qdrant-DZW9uW4e.mjs +0 -77
  527. package/dist/qdrant-DZW9uW4e.mjs.map +0 -1
  528. package/dist/readme-C7M3QE9a.mjs +0 -199
  529. package/dist/readme-C7M3QE9a.mjs.map +0 -1
  530. package/dist/redis-DPMOf237.mjs +0 -91
  531. package/dist/redis-DPMOf237.mjs.map +0 -1
  532. package/dist/registry-CqLarEm5.mjs +0 -30
  533. package/dist/registry-CqLarEm5.mjs.map +0 -1
  534. package/dist/registry-DLX9Q4VQ.mjs +0 -215
  535. package/dist/registry-DLX9Q4VQ.mjs.map +0 -1
  536. package/dist/remotion-COkr0wpr.mjs +0 -55
  537. package/dist/remotion-COkr0wpr.mjs.map +0 -1
  538. package/dist/resolver-Dl5clk-d.mjs +0 -194
  539. package/dist/resolver-Dl5clk-d.mjs.map +0 -1
  540. package/dist/rocketchat-BebQT1MZ.mjs +0 -57
  541. package/dist/rocketchat-BebQT1MZ.mjs.map +0 -1
  542. package/dist/schema-PSUY6yJU.d.mts +0 -700
  543. package/dist/schema-PSUY6yJU.d.mts.map +0 -1
  544. package/dist/scripts-DsljWbP4.mjs +0 -351
  545. package/dist/scripts-DsljWbP4.mjs.map +0 -1
  546. package/dist/searxng-tJpBkchC.mjs +0 -65
  547. package/dist/searxng-tJpBkchC.mjs.map +0 -1
  548. package/dist/skills-DWG72Y3X.mjs +0 -587
  549. package/dist/skills-DWG72Y3X.mjs.map +0 -1
  550. package/dist/stable-diffusion-BulAzkyT.mjs +0 -48
  551. package/dist/stable-diffusion-BulAzkyT.mjs.map +0 -1
  552. package/dist/steel-browser-Cc0bYBjM.mjs +0 -77
  553. package/dist/steel-browser-Cc0bYBjM.mjs.map +0 -1
  554. package/dist/tailscale-CrM4EZlF.mjs +0 -69
  555. package/dist/tailscale-CrM4EZlF.mjs.map +0 -1
  556. package/dist/temporal-49gA0msh.mjs +0 -100
  557. package/dist/temporal-49gA0msh.mjs.map +0 -1
  558. package/dist/traefik-Da-c1f55.mjs +0 -58
  559. package/dist/traefik-Da-c1f55.mjs.map +0 -1
  560. package/dist/umami-csBSsHqO.mjs +0 -46
  561. package/dist/umami-csBSsHqO.mjs.map +0 -1
  562. package/dist/uptime-kuma-D0NvVuXD.mjs +0 -51
  563. package/dist/uptime-kuma-D0NvVuXD.mjs.map +0 -1
  564. package/dist/validator-2FspYNva.mjs +0 -111
  565. package/dist/validator-2FspYNva.mjs.map +0 -1
  566. package/dist/valkey-BCZqGJ0L.mjs +0 -61
  567. package/dist/valkey-BCZqGJ0L.mjs.map +0 -1
  568. package/dist/vi.2VT5v0um-Cs3Z_fCB.mjs.map +0 -1
  569. package/dist/watchtower-BWuvFGpA.mjs +0 -47
  570. package/dist/watchtower-BWuvFGpA.mjs.map +0 -1
  571. package/dist/weaviate-DttY1Hn7.mjs +0 -90
  572. package/dist/weaviate-DttY1Hn7.mjs.map +0 -1
  573. package/dist/whisper-CLu7-Vd8.mjs +0 -62
  574. package/dist/whisper-CLu7-Vd8.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-openclaw/core",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "private": false,
5
5
  "description": "Core logic for better-openclaw: schemas, service registry, resolver, composer, validators and more",
6
6
  "packageManager": "pnpm@9.15.4",
@@ -9,17 +9,17 @@
9
9
  "types": "dist/index.d.ts",
10
10
  "type": "module",
11
11
  "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/index.mjs",
15
- "default": "./dist/index.mjs"
16
- },
17
- "./*": {
18
- "types": "./dist/*.d.ts",
19
- "import": "./dist/*.mjs",
20
- "default": "./dist/*.mjs"
21
- }
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.mjs",
15
+ "default": "./dist/index.mjs"
22
16
  },
17
+ "./*": {
18
+ "types": "./dist/*.d.ts",
19
+ "import": "./dist/*.mjs",
20
+ "default": "./dist/*.mjs"
21
+ }
22
+ },
23
23
  "scripts": {
24
24
  "build": "tsdown",
25
25
  "build:tsc": "tsc",
@@ -38,9 +38,10 @@
38
38
  "zod": "^4.3.6"
39
39
  },
40
40
  "devDependencies": {
41
+ "@biomejs/biome": "^2.0.0",
41
42
  "@types/node": "^25.2.2",
42
- "tsdown": "^0.19.0",
43
+ "tsdown": "^0.20.3",
43
44
  "typescript": "^5.9.3",
44
45
  "vitest": "^4.0.18"
45
46
  }
46
- }
47
+ }
package/src/schema.ts CHANGED
@@ -20,6 +20,8 @@ export const ServiceCategorySchema = z.enum([
20
20
  "ai-platform",
21
21
  "dev-tools",
22
22
  "knowledge",
23
+ "desktop",
24
+ "streaming",
23
25
  ]);
24
26
 
25
27
  export const MaturitySchema = z.enum(["stable", "beta", "experimental"]);
@@ -41,7 +43,7 @@ export const RestartPolicySchema = z.enum(["unless-stopped", "always", "on-failu
41
43
 
42
44
  export const ProxyTypeSchema = z.enum(["none", "caddy", "traefik"]);
43
45
 
44
- export const DeploymentTargetSchema = z.enum(["local", "vps", "homelab"]);
46
+ export const DeploymentTargetSchema = z.enum(["local", "vps", "homelab", "clawexa"]);
45
47
 
46
48
  export const OutputFormatSchema = z.enum(["directory", "tar", "zip"]);
47
49
 
@@ -155,6 +157,7 @@ export const ServiceDefinitionSchema = z.object({
155
157
  recommends: z.array(z.string()).default([]),
156
158
  conflictsWith: z.array(z.string()).default([]),
157
159
  mandatory: z.boolean().default(false).optional(),
160
+ removalWarning: z.string().optional(),
158
161
 
159
162
  // Platform Constraints
160
163
  platforms: z.array(PlatformSchema).optional(),
@@ -0,0 +1,90 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const comfyuiDefinition: ServiceDefinition = {
4
+ id: "comfyui",
5
+ name: "ComfyUI",
6
+ description:
7
+ "Node-based visual workflow editor for Stable Diffusion and other generative AI models. Design complex image/video generation pipelines with a drag-and-drop graph UI and a powerful REST API.",
8
+ category: "ai",
9
+ icon: "🎨",
10
+
11
+ image: "ghcr.io/ai-dock/comfyui",
12
+ imageTag: "latest",
13
+ ports: [
14
+ {
15
+ host: 8188,
16
+ container: 8188,
17
+ description: "ComfyUI Web UI & API",
18
+ exposed: true,
19
+ },
20
+ ],
21
+ volumes: [
22
+ {
23
+ name: "comfyui-models",
24
+ containerPath: "/opt/ComfyUI/models",
25
+ description: "Model checkpoint, LoRA, VAE, and ControlNet files",
26
+ },
27
+ {
28
+ name: "comfyui-output",
29
+ containerPath: "/opt/ComfyUI/output",
30
+ description: "Generated images and output files",
31
+ },
32
+ {
33
+ name: "comfyui-custom-nodes",
34
+ containerPath: "/opt/ComfyUI/custom_nodes",
35
+ description: "Community custom node extensions",
36
+ },
37
+ ],
38
+ environment: [],
39
+ healthcheck: {
40
+ test: "curl -f http://localhost:8188/system_stats || exit 1",
41
+ interval: "30s",
42
+ timeout: "10s",
43
+ retries: 3,
44
+ startPeriod: "60s",
45
+ },
46
+ dependsOn: [],
47
+ restartPolicy: "unless-stopped",
48
+ networks: ["openclaw-network"],
49
+
50
+ skills: [{ skillId: "comfyui-generate", autoInstall: true }],
51
+ openclawEnvVars: [
52
+ {
53
+ key: "COMFYUI_HOST",
54
+ defaultValue: "comfyui",
55
+ secret: false,
56
+ description: "ComfyUI hostname for OpenClaw",
57
+ required: true,
58
+ },
59
+ {
60
+ key: "COMFYUI_PORT",
61
+ defaultValue: "8188",
62
+ secret: false,
63
+ description: "ComfyUI API port for OpenClaw",
64
+ required: true,
65
+ },
66
+ ],
67
+
68
+ docsUrl: "https://github.com/comfyanonymous/ComfyUI",
69
+ selfHostedDocsUrl: "https://github.com/comfyanonymous/ComfyUI",
70
+ tags: [
71
+ "image-generation",
72
+ "ai-art",
73
+ "stable-diffusion",
74
+ "workflow",
75
+ "node-editor",
76
+ "text-to-image",
77
+ "comfyui",
78
+ ],
79
+ maturity: "experimental",
80
+
81
+ requires: [],
82
+ recommends: ["ollama"],
83
+ conflictsWith: [],
84
+
85
+ removalWarning:
86
+ "⚠️ GPU INFRASTRUCTURE REQUIRED: ComfyUI requires an NVIDIA GPU with CUDA support and the NVIDIA Container Toolkit (nvidia-docker2) installed on the host. Without GPU acceleration, image generation will be extremely slow (minutes per image). Ensure your deployment target has adequate GPU resources (minimum 4 GB VRAM, 8 GB+ recommended) before adding this service.",
87
+
88
+ minMemoryMB: 4096,
89
+ gpuRequired: true,
90
+ };
@@ -0,0 +1,48 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const convexDashboardDefinition: ServiceDefinition = {
4
+ id: "convex-dashboard",
5
+ name: "Convex Dashboard",
6
+ description:
7
+ "Web dashboard for the self-hosted Convex backend. Browse data, run functions, view logs, and manage your deployment.",
8
+ category: "dev-tools",
9
+ icon: "📊",
10
+
11
+ image: "ghcr.io/get-convex/convex-dashboard",
12
+ imageTag: "latest",
13
+ ports: [
14
+ {
15
+ host: 6791,
16
+ container: 6791,
17
+ description: "Convex Dashboard Web UI",
18
+ exposed: true,
19
+ },
20
+ ],
21
+ volumes: [],
22
+ environment: [
23
+ {
24
+ key: "NEXT_PUBLIC_DEPLOYMENT_URL",
25
+ defaultValue: "http://convex:3210",
26
+ secret: false,
27
+ description: "URL of the Convex backend (use Docker service name)",
28
+ required: true,
29
+ },
30
+ ],
31
+ dependsOn: ["convex"],
32
+ restartPolicy: "unless-stopped",
33
+ networks: ["openclaw-network"],
34
+
35
+ skills: [],
36
+ openclawEnvVars: [],
37
+
38
+ docsUrl: "https://github.com/get-convex/convex-backend",
39
+ tags: ["convex", "dashboard", "admin", "database-ui"],
40
+ maturity: "stable",
41
+
42
+ requires: ["convex"],
43
+ recommends: [],
44
+ conflictsWith: [],
45
+
46
+ minMemoryMB: 128,
47
+ gpuRequired: false,
48
+ };
@@ -0,0 +1,123 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const convexDefinition: ServiceDefinition = {
4
+ id: "convex",
5
+ name: "Convex",
6
+ description:
7
+ "Self-hosted Convex reactive backend. Real-time database, server functions, and file storage in a single service. Required by Mission Control.",
8
+ category: "database",
9
+ icon: "⚡",
10
+
11
+ image: "ghcr.io/get-convex/convex-backend",
12
+ imageTag: "latest",
13
+ ports: [
14
+ {
15
+ host: 3210,
16
+ container: 3210,
17
+ description: "Convex API (client connections & CLI)",
18
+ exposed: true,
19
+ },
20
+ {
21
+ host: 3211,
22
+ container: 3211,
23
+ description: "Convex HTTP actions / site proxy",
24
+ exposed: true,
25
+ },
26
+ ],
27
+ volumes: [
28
+ {
29
+ name: "convex-data",
30
+ containerPath: "/convex/data",
31
+ description: "Convex data directory (SQLite by default)",
32
+ },
33
+ ],
34
+ environment: [
35
+ {
36
+ key: "CONVEX_CLOUD_ORIGIN",
37
+ defaultValue: "http://127.0.0.1:3210",
38
+ secret: false,
39
+ description: "Public URL for the Convex API endpoint",
40
+ required: true,
41
+ },
42
+ {
43
+ key: "CONVEX_SITE_ORIGIN",
44
+ defaultValue: "http://127.0.0.1:3211",
45
+ secret: false,
46
+ description: "Public URL for Convex HTTP actions",
47
+ required: true,
48
+ },
49
+ {
50
+ key: "INSTANCE_NAME",
51
+ defaultValue: "openclaw-convex",
52
+ secret: false,
53
+ description: "Instance name for this Convex deployment",
54
+ required: false,
55
+ },
56
+ {
57
+ key: "INSTANCE_SECRET",
58
+ defaultValue: "",
59
+ secret: true,
60
+ description: "Instance secret (generate a random value for production)",
61
+ required: false,
62
+ },
63
+ {
64
+ key: "DATABASE_URL",
65
+ defaultValue: "",
66
+ secret: true,
67
+ description:
68
+ "Optional Postgres connection string for production (leave empty to use SQLite)",
69
+ required: false,
70
+ },
71
+ {
72
+ key: "RUST_LOG",
73
+ defaultValue: "info",
74
+ secret: false,
75
+ description: "Log level for the Convex backend (debug, info, warn, error)",
76
+ required: false,
77
+ },
78
+ {
79
+ key: "DISABLE_BEACON",
80
+ defaultValue: "",
81
+ secret: false,
82
+ description: "Set to any value to disable anonymous usage telemetry",
83
+ required: false,
84
+ },
85
+ {
86
+ key: "CONVEX_SELF_HOSTED_ADMIN_KEY",
87
+ defaultValue: "",
88
+ secret: true,
89
+ description:
90
+ "Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh",
91
+ required: false,
92
+ },
93
+ ],
94
+ healthcheck: {
95
+ test: "curl -f http://localhost:3210/version",
96
+ interval: "5s",
97
+ timeout: "5s",
98
+ retries: 5,
99
+ startPeriod: "10s",
100
+ },
101
+ dependsOn: [],
102
+ restartPolicy: "unless-stopped",
103
+ networks: ["openclaw-network"],
104
+
105
+ skills: [],
106
+ openclawEnvVars: [],
107
+
108
+ docsUrl: "https://github.com/get-convex/convex-backend",
109
+ selfHostedDocsUrl:
110
+ "https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md",
111
+ tags: ["convex", "database", "reactive", "real-time", "backend", "self-hosted"],
112
+ maturity: "stable",
113
+
114
+ requires: [],
115
+ recommends: ["convex-dashboard"],
116
+ conflictsWith: [],
117
+ mandatory: true,
118
+ removalWarning:
119
+ "Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.",
120
+
121
+ minMemoryMB: 256,
122
+ gpuRequired: false,
123
+ };
@@ -0,0 +1,163 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const desktopEnvironmentDefinition: ServiceDefinition = {
4
+ id: "desktop-environment",
5
+ name: "Desktop Environment",
6
+ description:
7
+ "Isolated KasmVNC-based Linux desktop that gives AI agents full computer-use capabilities — screen vision, mouse/keyboard control, file management, and application launching (VS Code, Chrome, Firefox). OBS Studio is pre-installed for optional recording or live-streaming.",
8
+ category: "desktop",
9
+ icon: "🖥️",
10
+
11
+ image: "kasmweb/core-ubuntu-jammy",
12
+ imageTag: "1.16.0",
13
+ ports: [
14
+ {
15
+ host: 6901,
16
+ container: 6901,
17
+ description: "KasmVNC web interface (browser-based desktop access)",
18
+ exposed: true,
19
+ },
20
+ {
21
+ host: 5900,
22
+ container: 5900,
23
+ description: "VNC protocol port (native VNC clients)",
24
+ exposed: false,
25
+ },
26
+ {
27
+ host: 4455,
28
+ container: 4455,
29
+ description: "OBS WebSocket control port (when OBS is running)",
30
+ exposed: false,
31
+ },
32
+ ],
33
+ volumes: [
34
+ {
35
+ name: "desktop-config",
36
+ containerPath: "/home/kasm-user",
37
+ description: "Desktop user home with config persistence",
38
+ },
39
+ {
40
+ name: "desktop-workspace",
41
+ containerPath: "/home/kasm-user/workspace",
42
+ description: "Shared workspace directory for files and projects",
43
+ },
44
+ ],
45
+ environment: [
46
+ {
47
+ key: "VNC_PW",
48
+ defaultValue: "changeme",
49
+ secret: true,
50
+ description: "Password for VNC / KasmVNC web access",
51
+ required: true,
52
+ },
53
+ {
54
+ key: "VNC_RESOLUTION",
55
+ defaultValue: "1920x1080",
56
+ secret: false,
57
+ description: "Desktop screen resolution (WidthxHeight)",
58
+ required: false,
59
+ },
60
+ {
61
+ key: "SSL_VNC_ONLY",
62
+ defaultValue: "false",
63
+ secret: false,
64
+ description:
65
+ "When false, allows HTTP/WS connections without SSL (useful for local/Docker networking)",
66
+ required: false,
67
+ },
68
+ {
69
+ key: "OBS_WS_PORT",
70
+ defaultValue: "4455",
71
+ secret: false,
72
+ description: "OBS WebSocket port (used when OBS is launched manually)",
73
+ required: false,
74
+ },
75
+ {
76
+ key: "OBS_PASSWORD",
77
+ defaultValue: "changeme",
78
+ secret: true,
79
+ description: "OBS WebSocket password (used when OBS is launched manually)",
80
+ required: false,
81
+ },
82
+ ],
83
+ healthcheck: {
84
+ test: "curl -sfk https://localhost:6901/ > /dev/null || curl -sf http://localhost:6901/ > /dev/null || exit 1",
85
+ interval: "10s",
86
+ timeout: "10s",
87
+ retries: 6,
88
+ startPeriod: "60s",
89
+ },
90
+ dependsOn: [],
91
+ restartPolicy: "unless-stopped",
92
+ networks: ["openclaw-network"],
93
+
94
+ deploy: {
95
+ resources: {
96
+ limits: { cpus: "4.0", memory: "8G" },
97
+ reservations: { cpus: "2.0", memory: "4G" },
98
+ },
99
+ },
100
+
101
+ skills: [{ skillId: "desktop-use", autoInstall: true }],
102
+ openclawEnvVars: [
103
+ {
104
+ key: "DESKTOP_HOST",
105
+ defaultValue: "desktop-environment",
106
+ secret: false,
107
+ description: "Hostname of the desktop-environment container",
108
+ required: true,
109
+ },
110
+ {
111
+ key: "DESKTOP_VNC_PORT",
112
+ defaultValue: "6901",
113
+ secret: false,
114
+ description: "KasmVNC web port",
115
+ required: true,
116
+ },
117
+ {
118
+ key: "DESKTOP_VNC_PASSWORD",
119
+ defaultValue: "${VNC_PW}",
120
+ secret: true,
121
+ description: "VNC password (references service password)",
122
+ required: true,
123
+ },
124
+ ],
125
+
126
+ docsUrl: "https://www.kasmweb.com/docs/latest/index.html",
127
+ tags: [
128
+ "computer-use",
129
+ "vnc",
130
+ "desktop",
131
+ "screen-capture",
132
+ "automation",
133
+ "obs",
134
+ "kasm",
135
+ ],
136
+ maturity: "experimental",
137
+
138
+ requires: [],
139
+ recommends: ["stream-gateway"],
140
+ conflictsWith: [],
141
+
142
+ removalWarning:
143
+ "⚠️ HEAVY RESOURCE USAGE: The desktop environment requires at least 4 GB RAM (8 GB recommended) and 2+ CPU cores. It runs a full Linux desktop with XFCE inside KasmVNC. OBS Studio is pre-installed but NOT auto-started — launch it manually or via agent tools when needed. Ensure your deployment target can handle these resources alongside other services.",
144
+ minMemoryMB: 4096,
145
+ gpuRequired: false,
146
+
147
+ nativeSupported: true,
148
+ nativeRecipes: [
149
+ {
150
+ platform: "linux",
151
+ installSteps: [
152
+ "command -v Xvfb >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq xvfb xfce4 xfce4-terminal tigervnc-standalone-server scrot xdotool xclip)",
153
+ "command -v obs >/dev/null 2>&1 || (sudo add-apt-repository -y ppa:obsproject/obs-studio && sudo apt-get update -qq && sudo apt-get install -y -qq obs-studio)",
154
+ ],
155
+ startCommand:
156
+ "vncserver :1 -geometry 1920x1080 -depth 24 -localhost no 2>/dev/null || Xvfb :1 -screen 0 1920x1080x24 &",
157
+ stopCommand: "vncserver -kill :1 2>/dev/null; killall Xvfb 2>/dev/null",
158
+ configPath: "/etc/vnc/xstartup",
159
+ configTemplate:
160
+ "#!/bin/sh\n# Generated for OpenClaw bare-metal desktop\nexport DISPLAY=:1\nstartxfce4 &\n",
161
+ },
162
+ ],
163
+ };
@@ -6,8 +6,12 @@ export { caddyDefinition } from "./caddy.js";
6
6
  export { chromadbDefinition } from "./chromadb.js";
7
7
  export { claudeCodeDefinition } from "./claude-code.js";
8
8
  export { codeServerDefinition } from "./code-server.js";
9
+ export { comfyuiDefinition } from "./comfyui.js";
10
+ export { convexDefinition } from "./convex.js";
11
+ export { convexDashboardDefinition } from "./convex-dashboard.js";
9
12
  export { codexDefinition } from "./codex.js";
10
13
  export { coolifyDefinition } from "./coolify.js";
14
+ export { desktopEnvironmentDefinition } from "./desktop-environment.js";
11
15
  export { difyDefinition } from "./dify.js";
12
16
  export { docsgptDefinition } from "./docsgpt.js";
13
17
  export { dokployDefinition } from "./dokploy.js";
@@ -30,6 +34,7 @@ export { matomoDefinition } from "./matomo.js";
30
34
  export { matrixSynapseDefinition } from "./matrix-synapse.js";
31
35
  export { mattermostDefinition } from "./mattermost.js";
32
36
  export { meilisearchDefinition } from "./meilisearch.js";
37
+ export { missionControlDefinition } from "./mission-control.js";
33
38
  export { minioDefinition } from "./minio.js";
34
39
  export { mixpostDefinition } from "./mixpost.js";
35
40
  export { motionCanvasDefinition } from "./motion-canvas.js";
@@ -54,10 +59,12 @@ export { rocketchatDefinition } from "./rocketchat.js";
54
59
  export { searxngDefinition } from "./searxng.js";
55
60
  export { stableDiffusionDefinition } from "./stable-diffusion.js";
56
61
  export { steelBrowserDefinition } from "./steel-browser.js";
62
+ export { streamGatewayDefinition } from "./stream-gateway.js";
57
63
  export { tailscaleDefinition } from "./tailscale.js";
58
64
  export { temporalDefinition } from "./temporal.js";
59
65
  export { traefikDefinition } from "./traefik.js";
60
66
  export { umamiDefinition } from "./umami.js";
67
+ export { usesendDefinition } from "./usesend.js";
61
68
  export { uptimeKumaDefinition } from "./uptime-kuma.js";
62
69
  export { valkeyDefinition } from "./valkey.js";
63
70
  export { watchtowerDefinition } from "./watchtower.js";
@@ -73,8 +80,12 @@ import { caddyDefinition } from "./caddy.js";
73
80
  import { chromadbDefinition } from "./chromadb.js";
74
81
  import { claudeCodeDefinition } from "./claude-code.js";
75
82
  import { codeServerDefinition } from "./code-server.js";
83
+ import { comfyuiDefinition } from "./comfyui.js";
84
+ import { convexDefinition } from "./convex.js";
85
+ import { convexDashboardDefinition } from "./convex-dashboard.js";
76
86
  import { codexDefinition } from "./codex.js";
77
87
  import { coolifyDefinition } from "./coolify.js";
88
+ import { desktopEnvironmentDefinition } from "./desktop-environment.js";
78
89
  import { difyDefinition } from "./dify.js";
79
90
  import { docsgptDefinition } from "./docsgpt.js";
80
91
  import { dokployDefinition } from "./dokploy.js";
@@ -97,6 +108,7 @@ import { matomoDefinition } from "./matomo.js";
97
108
  import { matrixSynapseDefinition } from "./matrix-synapse.js";
98
109
  import { mattermostDefinition } from "./mattermost.js";
99
110
  import { meilisearchDefinition } from "./meilisearch.js";
111
+ import { missionControlDefinition } from "./mission-control.js";
100
112
  import { minioDefinition } from "./minio.js";
101
113
  import { mixpostDefinition } from "./mixpost.js";
102
114
  import { motionCanvasDefinition } from "./motion-canvas.js";
@@ -121,10 +133,12 @@ import { rocketchatDefinition } from "./rocketchat.js";
121
133
  import { searxngDefinition } from "./searxng.js";
122
134
  import { stableDiffusionDefinition } from "./stable-diffusion.js";
123
135
  import { steelBrowserDefinition } from "./steel-browser.js";
136
+ import { streamGatewayDefinition } from "./stream-gateway.js";
124
137
  import { tailscaleDefinition } from "./tailscale.js";
125
138
  import { temporalDefinition } from "./temporal.js";
126
139
  import { traefikDefinition } from "./traefik.js";
127
140
  import { umamiDefinition } from "./umami.js";
141
+ import { usesendDefinition } from "./usesend.js";
128
142
  import { uptimeKumaDefinition } from "./uptime-kuma.js";
129
143
  import { valkeyDefinition } from "./valkey.js";
130
144
  import { watchtowerDefinition } from "./watchtower.js";
@@ -165,6 +179,7 @@ export const allServiceDefinitions: ServiceDefinition[] = [
165
179
  rocketchatDefinition,
166
180
  mattermostDefinition,
167
181
  stableDiffusionDefinition,
182
+ comfyuiDefinition,
168
183
  playwrightServerDefinition,
169
184
  openWebuiDefinition,
170
185
  librechatDefinition,
@@ -178,6 +193,8 @@ export const allServiceDefinitions: ServiceDefinition[] = [
178
193
  watchtowerDefinition,
179
194
  dozzleDefinition,
180
195
  beszelDefinition,
196
+ convexDefinition,
197
+ convexDashboardDefinition,
181
198
  claudeCodeDefinition,
182
199
  opencodeDefinition,
183
200
  codexDefinition,
@@ -187,6 +204,8 @@ export const allServiceDefinitions: ServiceDefinition[] = [
187
204
  mixpostDefinition,
188
205
  matomoDefinition,
189
206
  umamiDefinition,
207
+ usesendDefinition,
208
+ missionControlDefinition,
190
209
  openpanelDefinition,
191
210
  lightpandaDefinition,
192
211
  steelBrowserDefinition,
@@ -197,4 +216,6 @@ export const allServiceDefinitions: ServiceDefinition[] = [
197
216
  lasuiteMeetBackendDefinition,
198
217
  lasuiteMeetFrontendDefinition,
199
218
  lasuiteMeetAgentsDefinition,
219
+ desktopEnvironmentDefinition,
220
+ streamGatewayDefinition,
200
221
  ];
@@ -0,0 +1,71 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const missionControlDefinition: ServiceDefinition = {
4
+ id: "mission-control",
5
+ name: "Mission Control",
6
+ description:
7
+ "Real-time agent oversight dashboard for OpenClaw. Kanban task board, live activity feed, document browser, and message threads — powered by Convex.",
8
+ category: "dev-tools",
9
+ icon: "🛸",
10
+
11
+ image: "ghcr.io/bidewio/mission-control",
12
+ imageTag: "latest",
13
+ ports: [
14
+ {
15
+ host: 3660,
16
+ container: 3660,
17
+ description: "Mission Control Web UI",
18
+ exposed: true,
19
+ },
20
+ ],
21
+ volumes: [],
22
+ environment: [
23
+ {
24
+ key: "VITE_CONVEX_URL",
25
+ defaultValue: "http://127.0.0.1:3210",
26
+ secret: false,
27
+ description:
28
+ "Convex backend URL as seen from the browser (build-time, embedded in JS bundle)",
29
+ required: true,
30
+ },
31
+ {
32
+ key: "CONVEX_SELF_HOSTED_URL",
33
+ defaultValue: "http://convex:3210",
34
+ secret: false,
35
+ description:
36
+ "Internal Docker URL for pushing Convex functions during build",
37
+ required: true,
38
+ },
39
+ {
40
+ key: "CONVEX_SELF_HOSTED_ADMIN_KEY",
41
+ defaultValue: "",
42
+ secret: true,
43
+ description:
44
+ "Admin key for the self-hosted Convex backend. Generate with: docker compose exec convex ./generate_admin_key.sh",
45
+ required: true,
46
+ },
47
+ ],
48
+ dependsOn: ["convex"],
49
+ restartPolicy: "unless-stopped",
50
+ networks: ["openclaw-network"],
51
+
52
+ skills: [],
53
+ openclawEnvVars: [],
54
+
55
+ docsUrl:
56
+ "https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control",
57
+ selfHostedDocsUrl:
58
+ "https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control",
59
+ tags: ["openclaw", "dashboard", "monitoring", "agents", "analytics", "convex"],
60
+ maturity: "stable",
61
+
62
+ requires: ["convex"],
63
+ recommends: ["convex-dashboard"],
64
+ conflictsWith: [],
65
+ mandatory: true,
66
+ removalWarning:
67
+ "Mission Control is the primary dashboard for monitoring your OpenClaw agents. Removing it will eliminate real-time agent oversight, task management, and activity tracking.",
68
+
69
+ minMemoryMB: 128,
70
+ gpuRequired: false,
71
+ };