@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,224 +0,0 @@
1
- //#region src/generators/bare-metal-install.ts
2
- const LINUX_SCRIPT_PREFIX_NATIVE = `
3
- # Native services (install/start on host first)
4
- if [ -f "native/install-linux.sh" ]; then
5
- info "Installing and starting native services..."
6
- bash native/install-linux.sh
7
- ok "Native services ready."
8
- fi
9
- `;
10
- const LINUX_SCRIPT = `#!/usr/bin/env bash
11
- set -euo pipefail
12
-
13
- # OpenClaw bare-metal installer (Linux)
14
- # Optionally runs native services script, then Docker + Compose.
15
- # Idempotent: safe to re-run.
16
-
17
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
18
- cd "$SCRIPT_DIR"
19
-
20
- if [ -t 1 ]; then
21
- RED='\\033[0;31m'; GREEN='\\033[0;32m'; YELLOW='\\033[1;33m'; CYAN='\\033[0;36m'; NC='\\033[0m'
22
- else
23
- RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''
24
- fi
25
- info() { echo -e "\${CYAN}ℹ $*\${NC}"; }
26
- ok() { echo -e "\${GREEN}✅ $*\${NC}"; }
27
- warn() { echo -e "\${YELLOW}⚠️ $*\${NC}"; }
28
- err() { echo -e "\${RED}❌ $*\${NC}" >&2; }
29
- __NATIVE_BLOCK__
30
- # Install Docker if missing
31
- if ! command -v docker &> /dev/null; then
32
- info "Installing Docker..."
33
- if command -v apt-get &> /dev/null; then
34
- sudo apt-get update -qq
35
- sudo apt-get install -y -qq ca-certificates curl
36
- curl -fsSL https://get.docker.com | sudo sh
37
- sudo usermod -aG docker "$USER" 2>/dev/null || true
38
- ok "Docker installed. You may need to log out and back in for group changes."
39
- elif command -v dnf &> /dev/null || command -v yum &> /dev/null; then
40
- sudo dnf install -y dnf-plugins-core 2>/dev/null || sudo yum install -y yum-utils
41
- sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 2>/dev/null || sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
42
- sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin 2>/dev/null || sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
43
- sudo systemctl enable --now docker
44
- sudo usermod -aG docker "$USER" 2>/dev/null || true
45
- ok "Docker installed."
46
- else
47
- err "Unsupported package manager. Install Docker manually: https://docs.docker.com/engine/install/"
48
- exit 1
49
- fi
50
- else
51
- ok "Docker already installed."
52
- fi
53
-
54
- if ! docker compose version &> /dev/null; then
55
- err "Docker Compose (v2) plugin not found. Install it: https://docs.docker.com/compose/install/"
56
- exit 1
57
- fi
58
-
59
- if ! docker info &> /dev/null 2>&1; then
60
- err "Docker daemon not running. Start it (e.g. sudo systemctl start docker) and re-run this script."
61
- exit 1
62
- fi
63
-
64
- # Use project start script if present, else docker compose up
65
- if [ -f "scripts/start.sh" ]; then
66
- info "Starting stack via scripts/start.sh..."
67
- bash scripts/start.sh
68
- else
69
- if [ -f ".env.example" ] && [ ! -f ".env" ]; then cp .env.example .env; fi
70
- info "Starting stack..."
71
- docker compose up -d --remove-orphans
72
- echo ""
73
- ok "Stack started. Gateway: http://localhost:\${OPENCLAW_GATEWAY_PORT:-18789}"
74
- fi
75
- `;
76
- const MACOS_SCRIPT_PREFIX_NATIVE = `
77
- if [ -f "native/install-macos.sh" ]; then
78
- info "Installing and starting native services..."
79
- bash native/install-macos.sh
80
- ok "Native services ready."
81
- fi
82
- `;
83
- const MACOS_SCRIPT = `#!/usr/bin/env bash
84
- set -euo pipefail
85
-
86
- # OpenClaw bare-metal installer (macOS)
87
- # Optionally runs native services, then Docker Desktop + compose.
88
- # Idempotent: safe to re-run.
89
-
90
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
91
- cd "$SCRIPT_DIR"
92
-
93
- if [ -t 1 ]; then
94
- RED='\\033[0;31m'; GREEN='\\033[0;32m'; YELLOW='\\033[1;33m'; CYAN='\\033[0;36m'; NC='\\033[0m'
95
- else
96
- RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''
97
- fi
98
- info() { echo -e "\${CYAN}ℹ $*\${NC}"; }
99
- ok() { echo -e "\${GREEN}✅ $*\${NC}"; }
100
- warn() { echo -e "\${YELLOW}⚠️ $*\${NC}"; }
101
- err() { echo -e "\${RED}❌ $*\${NC}" >&2; }
102
- __NATIVE_BLOCK__
103
- if ! command -v docker &> /dev/null; then
104
- if command -v brew &> /dev/null; then
105
- info "Installing Docker via Homebrew..."
106
- brew install --cask docker
107
- warn "Docker Desktop was installed. Please open Docker from Applications, then re-run this script."
108
- exit 0
109
- else
110
- err "Docker not found. Install Docker Desktop from https://docs.docker.com/desktop/install/mac-install/ or run: brew install --cask docker"
111
- exit 1
112
- fi
113
- fi
114
-
115
- if ! docker info &> /dev/null 2>&1; then
116
- err "Docker daemon not running. Open Docker Desktop from Applications, then re-run this script."
117
- exit 1
118
- fi
119
-
120
- if ! docker compose version &> /dev/null; then
121
- err "Docker Compose (v2) not available. Ensure Docker Desktop is up to date."
122
- exit 1
123
- fi
124
-
125
- if [ -f "scripts/start.sh" ]; then
126
- info "Starting stack via scripts/start.sh..."
127
- bash scripts/start.sh
128
- else
129
- if [ -f ".env.example" ] && [ ! -f ".env" ]; then cp .env.example .env; fi
130
- info "Starting stack..."
131
- docker compose up -d --remove-orphans
132
- echo ""
133
- ok "Stack started. Gateway: http://localhost:\${OPENCLAW_GATEWAY_PORT:-18789}"
134
- fi
135
- `;
136
- const WINDOWS_SCRIPT_PREFIX_NATIVE = `
137
- if (Test-Path "native/install-windows.ps1") {
138
- Info "Installing and starting native services..."
139
- & .\\native\\install-windows.ps1
140
- Ok "Native services ready."
141
- }
142
- `;
143
- const WINDOWS_SCRIPT = `# OpenClaw bare-metal installer (Windows PowerShell)
144
- # Optionally runs native services, then Docker Desktop + compose.
145
- # Idempotent: safe to re-run. Run in PowerShell as Administrator if installing Docker.
146
-
147
- $ErrorActionPreference = "Stop"
148
- $ProjectDir = $PSScriptRoot
149
- Set-Location $ProjectDir
150
-
151
- function Info { Write-Host " $args" -ForegroundColor Cyan }
152
- function Ok { Write-Host " $args" -ForegroundColor Green }
153
- function Warn { Write-Host " $args" -ForegroundColor Yellow }
154
- function Err { Write-Host " $args" -ForegroundColor Red; exit 1 }
155
- __NATIVE_BLOCK__
156
- # Check Docker
157
- $docker = Get-Command docker -ErrorAction SilentlyContinue
158
- if (-not $docker) {
159
- Write-Host ""
160
- Write-Host " Docker not found." -ForegroundColor Red
161
- Write-Host " Install Docker Desktop from: https://docs.docker.com/desktop/install/windows-install/"
162
- Write-Host " Then restart PowerShell and run this script again."
163
- exit 1
164
- }
165
-
166
- try { docker info 2>$null | Out-Null } catch {
167
- Write-Host ""
168
- Write-Host " Docker daemon is not running." -ForegroundColor Red
169
- Write-Host " Start Docker Desktop from the Start menu, then run this script again."
170
- exit 1
171
- }
172
-
173
- try { docker compose version 2>$null | Out-Null } catch {
174
- Write-Host ""
175
- Write-Host " Docker Compose (v2) not available. Update Docker Desktop." -ForegroundColor Red
176
- exit 1
177
- }
178
-
179
- Ok "Docker is ready."
180
-
181
- # Prepare .env
182
- if (-not (Test-Path ".env")) {
183
- if (Test-Path ".env.example") {
184
- Copy-Item ".env.example" ".env"
185
- Info "Created .env from .env.example"
186
- }
187
- }
188
-
189
- # Create dirs
190
- $configDir = if ($env:OPENCLAW_CONFIG_DIR) { $env:OPENCLAW_CONFIG_DIR } else { "./openclaw/config" }
191
- $workspaceDir = if ($env:OPENCLAW_WORKSPACE_DIR) { $env:OPENCLAW_WORKSPACE_DIR } else { "./openclaw/workspace" }
192
- New-Item -ItemType Directory -Force -Path $configDir | Out-Null
193
- New-Item -ItemType Directory -Force -Path $workspaceDir | Out-Null
194
- Ok "Directories ready."
195
-
196
- # Start stack
197
- Info "Starting stack..."
198
- docker compose up -d --remove-orphans
199
-
200
- $port = if ($env:OPENCLAW_GATEWAY_PORT) { $env:OPENCLAW_GATEWAY_PORT } else { "18789" }
201
- Write-Host ""
202
- Ok "Stack started. Gateway: http://localhost:$port"
203
- `;
204
- /**
205
- * Returns one file: install.sh (Linux/macOS) or install.ps1 (Windows).
206
- * When hasNativeServices is true, the script runs the native installer first, then Docker + compose.
207
- */
208
- function generateBareMetalInstall(options) {
209
- const { platform, hasNativeServices } = options;
210
- const files = {};
211
- if (platform === "windows/amd64") {
212
- files["install.ps1"] = hasNativeServices ? WINDOWS_SCRIPT.replace("__NATIVE_BLOCK__", WINDOWS_SCRIPT_PREFIX_NATIVE) : WINDOWS_SCRIPT.replace("__NATIVE_BLOCK__", "");
213
- return files;
214
- }
215
- const isMac = platform.startsWith("macos/");
216
- const baseScript = isMac ? MACOS_SCRIPT : LINUX_SCRIPT;
217
- const prefix = hasNativeServices ? isMac ? MACOS_SCRIPT_PREFIX_NATIVE : LINUX_SCRIPT_PREFIX_NATIVE : "";
218
- files["install.sh"] = baseScript.replace("__NATIVE_BLOCK__", prefix);
219
- return files;
220
- }
221
-
222
- //#endregion
223
- export { generateBareMetalInstall as t };
224
- //# sourceMappingURL=bare-metal-install-DpYZDoGq.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bare-metal-install-DpYZDoGq.mjs","names":[],"sources":["../src/generators/bare-metal-install.ts"],"sourcesContent":["/**\n * Generates platform-specific installer scripts for bare-metal (VPS, computer) deployment.\n * Each script ensures Docker and Docker Compose are installed, then runs the stack.\n * Returns a map of one file: install.sh (Linux/macOS) or install.ps1 (Windows).\n */\nimport type { Platform } from \"../types.js\";\n\nconst LINUX_SCRIPT_PREFIX_NATIVE = `\n# Native services (install/start on host first)\nif [ -f \"native/install-linux.sh\" ]; then\n info \"Installing and starting native services...\"\n bash native/install-linux.sh\n ok \"Native services ready.\"\nfi\n`;\n\nconst LINUX_SCRIPT = `#!/usr/bin/env bash\nset -euo pipefail\n\n# OpenClaw bare-metal installer (Linux)\n# Optionally runs native services script, then Docker + Compose.\n# Idempotent: safe to re-run.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\ncd \"$SCRIPT_DIR\"\n\nif [ -t 1 ]; then\n RED='\\\\033[0;31m'; GREEN='\\\\033[0;32m'; YELLOW='\\\\033[1;33m'; CYAN='\\\\033[0;36m'; NC='\\\\033[0m'\nelse\n RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''\nfi\ninfo() { echo -e \"\\${CYAN}ℹ $*\\${NC}\"; }\nok() { echo -e \"\\${GREEN}✅ $*\\${NC}\"; }\nwarn() { echo -e \"\\${YELLOW}⚠️ $*\\${NC}\"; }\nerr() { echo -e \"\\${RED}❌ $*\\${NC}\" >&2; }\n__NATIVE_BLOCK__\n# Install Docker if missing\nif ! command -v docker &> /dev/null; then\n info \"Installing Docker...\"\n if command -v apt-get &> /dev/null; then\n sudo apt-get update -qq\n sudo apt-get install -y -qq ca-certificates curl\n curl -fsSL https://get.docker.com | sudo sh\n sudo usermod -aG docker \"$USER\" 2>/dev/null || true\n ok \"Docker installed. You may need to log out and back in for group changes.\"\n elif command -v dnf &> /dev/null || command -v yum &> /dev/null; then\n sudo dnf install -y dnf-plugins-core 2>/dev/null || sudo yum install -y yum-utils\n sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 2>/dev/null || sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\n sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin 2>/dev/null || sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin\n sudo systemctl enable --now docker\n sudo usermod -aG docker \"$USER\" 2>/dev/null || true\n ok \"Docker installed.\"\n else\n err \"Unsupported package manager. Install Docker manually: https://docs.docker.com/engine/install/\"\n exit 1\n fi\nelse\n ok \"Docker already installed.\"\nfi\n\nif ! docker compose version &> /dev/null; then\n err \"Docker Compose (v2) plugin not found. Install it: https://docs.docker.com/compose/install/\"\n exit 1\nfi\n\nif ! docker info &> /dev/null 2>&1; then\n err \"Docker daemon not running. Start it (e.g. sudo systemctl start docker) and re-run this script.\"\n exit 1\nfi\n\n# Use project start script if present, else docker compose up\nif [ -f \"scripts/start.sh\" ]; then\n info \"Starting stack via scripts/start.sh...\"\n bash scripts/start.sh\nelse\n if [ -f \".env.example\" ] && [ ! -f \".env\" ]; then cp .env.example .env; fi\n info \"Starting stack...\"\n docker compose up -d --remove-orphans\n echo \"\"\n ok \"Stack started. Gateway: http://localhost:\\${OPENCLAW_GATEWAY_PORT:-18789}\"\nfi\n`;\n\nconst MACOS_SCRIPT_PREFIX_NATIVE = `\nif [ -f \"native/install-macos.sh\" ]; then\n info \"Installing and starting native services...\"\n bash native/install-macos.sh\n ok \"Native services ready.\"\nfi\n`;\n\nconst MACOS_SCRIPT = `#!/usr/bin/env bash\nset -euo pipefail\n\n# OpenClaw bare-metal installer (macOS)\n# Optionally runs native services, then Docker Desktop + compose.\n# Idempotent: safe to re-run.\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"\\${BASH_SOURCE[0]}\")\" && pwd)\"\ncd \"$SCRIPT_DIR\"\n\nif [ -t 1 ]; then\n RED='\\\\033[0;31m'; GREEN='\\\\033[0;32m'; YELLOW='\\\\033[1;33m'; CYAN='\\\\033[0;36m'; NC='\\\\033[0m'\nelse\n RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''\nfi\ninfo() { echo -e \"\\${CYAN}ℹ $*\\${NC}\"; }\nok() { echo -e \"\\${GREEN}✅ $*\\${NC}\"; }\nwarn() { echo -e \"\\${YELLOW}⚠️ $*\\${NC}\"; }\nerr() { echo -e \"\\${RED}❌ $*\\${NC}\" >&2; }\n__NATIVE_BLOCK__\nif ! command -v docker &> /dev/null; then\n if command -v brew &> /dev/null; then\n info \"Installing Docker via Homebrew...\"\n brew install --cask docker\n warn \"Docker Desktop was installed. Please open Docker from Applications, then re-run this script.\"\n exit 0\n else\n err \"Docker not found. Install Docker Desktop from https://docs.docker.com/desktop/install/mac-install/ or run: brew install --cask docker\"\n exit 1\n fi\nfi\n\nif ! docker info &> /dev/null 2>&1; then\n err \"Docker daemon not running. Open Docker Desktop from Applications, then re-run this script.\"\n exit 1\nfi\n\nif ! docker compose version &> /dev/null; then\n err \"Docker Compose (v2) not available. Ensure Docker Desktop is up to date.\"\n exit 1\nfi\n\nif [ -f \"scripts/start.sh\" ]; then\n info \"Starting stack via scripts/start.sh...\"\n bash scripts/start.sh\nelse\n if [ -f \".env.example\" ] && [ ! -f \".env\" ]; then cp .env.example .env; fi\n info \"Starting stack...\"\n docker compose up -d --remove-orphans\n echo \"\"\n ok \"Stack started. Gateway: http://localhost:\\${OPENCLAW_GATEWAY_PORT:-18789}\"\nfi\n`;\n\nconst WINDOWS_SCRIPT_PREFIX_NATIVE = `\nif (Test-Path \"native/install-windows.ps1\") {\n Info \"Installing and starting native services...\"\n & .\\\\native\\\\install-windows.ps1\n Ok \"Native services ready.\"\n}\n`;\n\nconst WINDOWS_SCRIPT = `# OpenClaw bare-metal installer (Windows PowerShell)\n# Optionally runs native services, then Docker Desktop + compose.\n# Idempotent: safe to re-run. Run in PowerShell as Administrator if installing Docker.\n\n$ErrorActionPreference = \"Stop\"\n$ProjectDir = $PSScriptRoot\nSet-Location $ProjectDir\n\nfunction Info { Write-Host \" $args\" -ForegroundColor Cyan }\nfunction Ok { Write-Host \" $args\" -ForegroundColor Green }\nfunction Warn { Write-Host \" $args\" -ForegroundColor Yellow }\nfunction Err { Write-Host \" $args\" -ForegroundColor Red; exit 1 }\n__NATIVE_BLOCK__\n# Check Docker\n$docker = Get-Command docker -ErrorAction SilentlyContinue\nif (-not $docker) {\n Write-Host \"\"\n Write-Host \" Docker not found.\" -ForegroundColor Red\n Write-Host \" Install Docker Desktop from: https://docs.docker.com/desktop/install/windows-install/\"\n Write-Host \" Then restart PowerShell and run this script again.\"\n exit 1\n}\n\ntry { docker info 2>$null | Out-Null } catch {\n Write-Host \"\"\n Write-Host \" Docker daemon is not running.\" -ForegroundColor Red\n Write-Host \" Start Docker Desktop from the Start menu, then run this script again.\"\n exit 1\n}\n\ntry { docker compose version 2>$null | Out-Null } catch {\n Write-Host \"\"\n Write-Host \" Docker Compose (v2) not available. Update Docker Desktop.\" -ForegroundColor Red\n exit 1\n}\n\nOk \"Docker is ready.\"\n\n# Prepare .env\nif (-not (Test-Path \".env\")) {\n if (Test-Path \".env.example\") {\n Copy-Item \".env.example\" \".env\"\n Info \"Created .env from .env.example\"\n }\n}\n\n# Create dirs\n$configDir = if ($env:OPENCLAW_CONFIG_DIR) { $env:OPENCLAW_CONFIG_DIR } else { \"./openclaw/config\" }\n$workspaceDir = if ($env:OPENCLAW_WORKSPACE_DIR) { $env:OPENCLAW_WORKSPACE_DIR } else { \"./openclaw/workspace\" }\nNew-Item -ItemType Directory -Force -Path $configDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $workspaceDir | Out-Null\nOk \"Directories ready.\"\n\n# Start stack\nInfo \"Starting stack...\"\ndocker compose up -d --remove-orphans\n\n$port = if ($env:OPENCLAW_GATEWAY_PORT) { $env:OPENCLAW_GATEWAY_PORT } else { \"18789\" }\nWrite-Host \"\"\nOk \"Stack started. Gateway: http://localhost:$port\"\n`;\n\nexport interface BareMetalInstallOptions {\n\tplatform: Platform;\n\tprojectName: string;\n\t/** When true, top-level script runs native/install-*.sh|ps1 first, then Docker + compose. */\n\thasNativeServices?: boolean;\n}\n\n/**\n * Returns one file: install.sh (Linux/macOS) or install.ps1 (Windows).\n * When hasNativeServices is true, the script runs the native installer first, then Docker + compose.\n */\nexport function generateBareMetalInstall(options: BareMetalInstallOptions): Record<string, string> {\n\tconst { platform, hasNativeServices } = options;\n\tconst files: Record<string, string> = {};\n\n\tif (platform === \"windows/amd64\") {\n\t\tconst script = hasNativeServices\n\t\t\t? WINDOWS_SCRIPT.replace(\"__NATIVE_BLOCK__\", WINDOWS_SCRIPT_PREFIX_NATIVE)\n\t\t\t: WINDOWS_SCRIPT.replace(\"__NATIVE_BLOCK__\", \"\");\n\t\tfiles[\"install.ps1\"] = script;\n\t\treturn files;\n\t}\n\n\tconst isMac = platform.startsWith(\"macos/\");\n\tconst baseScript = isMac ? MACOS_SCRIPT : LINUX_SCRIPT;\n\tconst prefix = hasNativeServices\n\t\t? isMac\n\t\t\t? MACOS_SCRIPT_PREFIX_NATIVE\n\t\t\t: LINUX_SCRIPT_PREFIX_NATIVE\n\t\t: \"\";\n\tconst script = baseScript.replace(\"__NATIVE_BLOCK__\", prefix);\n\tfiles[\"install.sh\"] = script;\n\treturn files;\n}\n"],"mappings":";AAOA,MAAM,6BAA6B;;;;;;;;AASnC,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmErB,MAAM,6BAA6B;;;;;;;AAQnC,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDrB,MAAM,+BAA+B;;;;;;;AAQrC,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEvB,SAAgB,yBAAyB,SAA0D;CAClG,MAAM,EAAE,UAAU,sBAAsB;CACxC,MAAM,QAAgC,EAAE;AAExC,KAAI,aAAa,iBAAiB;AAIjC,QAAM,iBAHS,oBACZ,eAAe,QAAQ,oBAAoB,6BAA6B,GACxE,eAAe,QAAQ,oBAAoB,GAAG;AAEjD,SAAO;;CAGR,MAAM,QAAQ,SAAS,WAAW,SAAS;CAC3C,MAAM,aAAa,QAAQ,eAAe;CAC1C,MAAM,SAAS,oBACZ,QACC,6BACA,6BACD;AAEH,OAAM,gBADS,WAAW,QAAQ,oBAAoB,OAAO;AAE7D,QAAO"}
@@ -1,48 +0,0 @@
1
- //#region src/bare-metal-partition.ts
2
- /**
3
- * Maps Platform (e.g. linux/amd64) to NativePlatform (linux, windows, macos).
4
- */
5
- function platformToNativePlatform(platform) {
6
- if (platform.startsWith("linux/")) return "linux";
7
- if (platform.startsWith("windows/")) return "windows";
8
- if (platform.startsWith("macos/")) return "macos";
9
- return "linux";
10
- }
11
- /**
12
- * Partitions resolved services into native (run on host via scripts) vs Docker-only.
13
- * Gateway and CLI are never native; services with nativeSupported and a matching
14
- * nativeRecipe for the platform go to native, rest to Docker.
15
- */
16
- function partitionBareMetal(resolved, platform) {
17
- const nativePlatform = platformToNativePlatform(platform);
18
- const nativeServices = [];
19
- const dockerOnlyServices = [];
20
- const nativeIds = /* @__PURE__ */ new Set();
21
- for (const entry of resolved.services) {
22
- const def = entry.definition;
23
- if (def.nativeSupported === true && def.nativeRecipes?.length && def.nativeRecipes.some((r) => r.platform === nativePlatform)) {
24
- nativeServices.push(entry);
25
- nativeIds.add(def.id);
26
- } else dockerOnlyServices.push(entry);
27
- }
28
- return {
29
- nativeServices,
30
- dockerOnlyServices,
31
- nativeIds
32
- };
33
- }
34
- /**
35
- * Returns a new ResolverOutput containing only the given service list (same order).
36
- * Used to build compose for Docker-only subset when bare-metal has native services.
37
- */
38
- function resolvedWithOnlyServices(resolved, services) {
39
- const idSet = new Set(services.map((s) => s.definition.id));
40
- return {
41
- ...resolved,
42
- services: resolved.services.filter((s) => idSet.has(s.definition.id))
43
- };
44
- }
45
-
46
- //#endregion
47
- export { platformToNativePlatform as n, resolvedWithOnlyServices as r, partitionBareMetal as t };
48
- //# sourceMappingURL=bare-metal-partition-CYlOxf9B.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bare-metal-partition-CYlOxf9B.mjs","names":[],"sources":["../src/bare-metal-partition.ts"],"sourcesContent":["import type { NativePlatform, Platform, ResolvedService, ResolverOutput } from \"./types.js\";\n\n/**\n * Maps Platform (e.g. linux/amd64) to NativePlatform (linux, windows, macos).\n */\nexport function platformToNativePlatform(platform: Platform): NativePlatform {\n\tif (platform.startsWith(\"linux/\")) return \"linux\";\n\tif (platform.startsWith(\"windows/\")) return \"windows\";\n\tif (platform.startsWith(\"macos/\")) return \"macos\";\n\treturn \"linux\";\n}\n\nexport interface BareMetalPartitionResult {\n\tnativeServices: ResolvedService[];\n\tdockerOnlyServices: ResolvedService[];\n\tnativeIds: Set<string>;\n}\n\n/**\n * Partitions resolved services into native (run on host via scripts) vs Docker-only.\n * Gateway and CLI are never native; services with nativeSupported and a matching\n * nativeRecipe for the platform go to native, rest to Docker.\n */\nexport function partitionBareMetal(\n\tresolved: ResolverOutput,\n\tplatform: Platform,\n): BareMetalPartitionResult {\n\tconst nativePlatform = platformToNativePlatform(platform);\n\tconst nativeServices: ResolvedService[] = [];\n\tconst dockerOnlyServices: ResolvedService[] = [];\n\tconst nativeIds = new Set<string>();\n\n\tfor (const entry of resolved.services) {\n\t\tconst def = entry.definition;\n\t\tconst hasNativeRecipe =\n\t\t\tdef.nativeSupported === true &&\n\t\t\tdef.nativeRecipes?.length &&\n\t\t\tdef.nativeRecipes.some((r) => r.platform === nativePlatform);\n\n\t\tif (hasNativeRecipe) {\n\t\t\tnativeServices.push(entry);\n\t\t\tnativeIds.add(def.id);\n\t\t} else {\n\t\t\tdockerOnlyServices.push(entry);\n\t\t}\n\t}\n\n\treturn { nativeServices, dockerOnlyServices, nativeIds };\n}\n\n/**\n * Returns a new ResolverOutput containing only the given service list (same order).\n * Used to build compose for Docker-only subset when bare-metal has native services.\n */\nexport function resolvedWithOnlyServices(\n\tresolved: ResolverOutput,\n\tservices: ResolvedService[],\n): ResolverOutput {\n\tconst idSet = new Set(services.map((s) => s.definition.id));\n\treturn {\n\t\t...resolved,\n\t\tservices: resolved.services.filter((s) => idSet.has(s.definition.id)),\n\t};\n}\n"],"mappings":";;;;AAKA,SAAgB,yBAAyB,UAAoC;AAC5E,KAAI,SAAS,WAAW,SAAS,CAAE,QAAO;AAC1C,KAAI,SAAS,WAAW,WAAW,CAAE,QAAO;AAC5C,KAAI,SAAS,WAAW,SAAS,CAAE,QAAO;AAC1C,QAAO;;;;;;;AAcR,SAAgB,mBACf,UACA,UAC2B;CAC3B,MAAM,iBAAiB,yBAAyB,SAAS;CACzD,MAAM,iBAAoC,EAAE;CAC5C,MAAM,qBAAwC,EAAE;CAChD,MAAM,4BAAY,IAAI,KAAa;AAEnC,MAAK,MAAM,SAAS,SAAS,UAAU;EACtC,MAAM,MAAM,MAAM;AAMlB,MAJC,IAAI,oBAAoB,QACxB,IAAI,eAAe,UACnB,IAAI,cAAc,MAAM,MAAM,EAAE,aAAa,eAAe,EAExC;AACpB,kBAAe,KAAK,MAAM;AAC1B,aAAU,IAAI,IAAI,GAAG;QAErB,oBAAmB,KAAK,MAAM;;AAIhC,QAAO;EAAE;EAAgB;EAAoB;EAAW;;;;;;AAOzD,SAAgB,yBACf,UACA,UACiB;CACjB,MAAM,QAAQ,IAAI,IAAI,SAAS,KAAK,MAAM,EAAE,WAAW,GAAG,CAAC;AAC3D,QAAO;EACN,GAAG;EACH,UAAU,SAAS,SAAS,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG,CAAC;EACrE"}
@@ -1,45 +0,0 @@
1
- //#region src/services/definitions/beszel.ts
2
- const beszelDefinition = {
3
- id: "beszel",
4
- name: "Beszel",
5
- description: "Lightweight server monitoring dashboard with Docker stats, alerts, and historical data.",
6
- category: "dev-tools",
7
- icon: "📟",
8
- image: "henrygd/beszel",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 8099,
12
- container: 8090,
13
- description: "Beszel Web UI",
14
- exposed: true
15
- }],
16
- volumes: [{
17
- name: "beszel-data",
18
- containerPath: "/beszel_data",
19
- description: "Beszel data"
20
- }],
21
- environment: [],
22
- dependsOn: [],
23
- restartPolicy: "unless-stopped",
24
- networks: ["openclaw-network"],
25
- skills: [],
26
- openclawEnvVars: [],
27
- docsUrl: "https://beszel.dev/",
28
- tags: [
29
- "monitoring",
30
- "server",
31
- "dashboard",
32
- "docker-stats",
33
- "alerts"
34
- ],
35
- maturity: "beta",
36
- requires: [],
37
- recommends: [],
38
- conflictsWith: [],
39
- minMemoryMB: 64,
40
- gpuRequired: false
41
- };
42
-
43
- //#endregion
44
- export { beszelDefinition as t };
45
- //# sourceMappingURL=beszel-DHAG1zl0.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"beszel-DHAG1zl0.mjs","names":[],"sources":["../src/services/definitions/beszel.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const beszelDefinition: ServiceDefinition = {\n\tid: \"beszel\",\n\tname: \"Beszel\",\n\tdescription:\n\t\t\"Lightweight server monitoring dashboard with Docker stats, alerts, and historical data.\",\n\tcategory: \"dev-tools\",\n\ticon: \"📟\",\n\n\timage: \"henrygd/beszel\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8099,\n\t\t\tcontainer: 8090,\n\t\t\tdescription: \"Beszel Web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"beszel-data\",\n\t\t\tcontainerPath: \"/beszel_data\",\n\t\t\tdescription: \"Beszel data\",\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://beszel.dev/\",\n\ttags: [\"monitoring\", \"server\", \"dashboard\", \"docker-stats\", \"alerts\"],\n\tmaturity: \"beta\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 64,\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,CACD;CACD,SAAS,CACR;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;EAAc;EAAU;EAAa;EAAgB;EAAS;CACrE,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,85 +0,0 @@
1
- //#region src/services/definitions/browserless.ts
2
- const browserlessDefinition = {
3
- id: "browserless",
4
- name: "Browserless",
5
- description: "Headless Chrome browser-as-a-service for web scraping, PDF generation, screenshots, and browser automation at scale.",
6
- category: "browser",
7
- icon: "🌐",
8
- image: "browserless/chrome",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 3010,
12
- container: 3e3,
13
- description: "Browserless HTTP and WebSocket API",
14
- exposed: true
15
- }],
16
- volumes: [],
17
- environment: [{
18
- key: "TOKEN",
19
- defaultValue: "",
20
- secret: true,
21
- description: "Authentication token for Browserless API access",
22
- required: true
23
- }, {
24
- key: "MAX_CONCURRENT_SESSIONS",
25
- defaultValue: "5",
26
- secret: false,
27
- description: "Maximum number of concurrent browser sessions",
28
- required: true
29
- }],
30
- healthcheck: {
31
- test: "wget -q --spider http://localhost:3000/ || exit 1",
32
- interval: "30s",
33
- timeout: "10s",
34
- retries: 3,
35
- startPeriod: "15s"
36
- },
37
- dependsOn: [],
38
- restartPolicy: "unless-stopped",
39
- networks: ["openclaw-network"],
40
- skills: [{
41
- skillId: "browserless-browse",
42
- autoInstall: true
43
- }],
44
- openclawEnvVars: [
45
- {
46
- key: "BROWSERLESS_HOST",
47
- defaultValue: "browserless",
48
- secret: false,
49
- description: "Browserless hostname for OpenClaw",
50
- required: true
51
- },
52
- {
53
- key: "BROWSERLESS_PORT",
54
- defaultValue: "3000",
55
- secret: false,
56
- description: "Browserless port for OpenClaw",
57
- required: true
58
- },
59
- {
60
- key: "BROWSERLESS_TOKEN",
61
- defaultValue: "${TOKEN}",
62
- secret: true,
63
- description: "Browserless API token for OpenClaw (references service token)",
64
- required: true
65
- }
66
- ],
67
- docsUrl: "https://www.browserless.io/docs/",
68
- tags: [
69
- "browser",
70
- "scraping",
71
- "pdf",
72
- "screenshots",
73
- "automation"
74
- ],
75
- maturity: "stable",
76
- requires: [],
77
- recommends: [],
78
- conflictsWith: [],
79
- minMemoryMB: 512,
80
- gpuRequired: false
81
- };
82
-
83
- //#endregion
84
- export { browserlessDefinition as t };
85
- //# sourceMappingURL=browserless-gUuvGmMD.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browserless-gUuvGmMD.mjs","names":[],"sources":["../src/services/definitions/browserless.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const browserlessDefinition: ServiceDefinition = {\n\tid: \"browserless\",\n\tname: \"Browserless\",\n\tdescription:\n\t\t\"Headless Chrome browser-as-a-service for web scraping, PDF generation, screenshots, and browser automation at scale.\",\n\tcategory: \"browser\",\n\ticon: \"🌐\",\n\n\timage: \"browserless/chrome\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3010,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Browserless HTTP and WebSocket API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"TOKEN\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Authentication token for Browserless API access\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"MAX_CONCURRENT_SESSIONS\",\n\t\t\tdefaultValue: \"5\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Maximum number of concurrent browser sessions\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/ || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"browserless-browse\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"BROWSERLESS_HOST\",\n\t\t\tdefaultValue: \"browserless\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Browserless hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"BROWSERLESS_PORT\",\n\t\t\tdefaultValue: \"3000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Browserless port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"BROWSERLESS_TOKEN\",\n\t\t\tdefaultValue: \"${TOKEN}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Browserless API token for OpenClaw (references service token)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.browserless.io/docs/\",\n\ttags: [\"browser\", \"scraping\", \"pdf\", \"screenshots\", \"automation\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,wBAA2C;CACvD,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,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAsB,aAAa;EAAM,CAAC;CAC9D,iBAAiB;EAChB;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;CAED,SAAS;CACT,MAAM;EAAC;EAAW;EAAY;EAAO;EAAe;EAAa;CACjE,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,77 +0,0 @@
1
- //#region src/generators/caddy.ts
2
- /**
3
- * Generates a Caddyfile with reverse proxy entries for each exposed service.
4
- *
5
- * Each service with exposed ports gets a subdomain route under the provided domain.
6
- * Services without exposed ports are skipped.
7
- *
8
- * @param resolved - The resolved service configuration
9
- * @param domain - The main domain for routing (e.g. "example.com")
10
- * @returns The Caddyfile content as a string
11
- */
12
- function generateCaddyfile(resolved, domain) {
13
- const sections = [];
14
- sections.push(`# ═══════════════════════════════════════════════════════════════════════════════
15
- # OpenClaw Caddyfile — Auto-generated reverse proxy configuration
16
- # Domain: ${domain}
17
- # ═══════════════════════════════════════════════════════════════════════════════
18
-
19
- {
20
- # Global options
21
- email admin@${domain}
22
- acme_ca https://acme-v02.api.letsencrypt.org/directory
23
- }
24
- `);
25
- for (const { definition } of resolved.services) {
26
- if (definition.id === "caddy" || definition.id === "traefik") continue;
27
- const exposedPorts = definition.ports.filter((p) => p.exposed);
28
- if (exposedPorts.length === 0) continue;
29
- const primaryPort = exposedPorts[0];
30
- const subdomain = `${definition.id}.${domain}`;
31
- const block = [
32
- `# ${definition.icon} ${definition.name}`,
33
- `# ${definition.description}`,
34
- `${subdomain} {`,
35
- ` reverse_proxy ${definition.id}:${primaryPort.container} {`,
36
- ` header_up Host {host}`,
37
- ` header_up X-Real-IP {remote_host}`,
38
- ` header_up X-Forwarded-For {remote_host}`,
39
- ` header_up X-Forwarded-Proto {scheme}`,
40
- ` }`
41
- ];
42
- if (definition.healthcheck) {
43
- block.push("");
44
- block.push(` # Health check`);
45
- block.push(` handle /health {`);
46
- block.push(` reverse_proxy ${definition.id}:${primaryPort.container}`);
47
- block.push(` }`);
48
- }
49
- block.push(`}`);
50
- block.push("");
51
- for (let i = 1; i < exposedPorts.length; i++) {
52
- const port = exposedPorts[i];
53
- const portSubdomain = `${definition.id}-${port.description.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/-+$/, "")}.${domain}`;
54
- block.push(`# ${definition.name} — ${port.description}`);
55
- block.push(`${portSubdomain} {`);
56
- block.push(` reverse_proxy ${definition.id}:${port.container}`);
57
- block.push(`}`);
58
- block.push("");
59
- }
60
- sections.push(block.join("\n"));
61
- }
62
- sections.push(`# Root domain — serves the OpenClaw gateway
63
- ${domain} {
64
- reverse_proxy openclaw:18789 {
65
- header_up Host {host}
66
- header_up X-Real-IP {remote_host}
67
- header_up X-Forwarded-For {remote_host}
68
- header_up X-Forwarded-Proto {scheme}
69
- }
70
- }
71
- `);
72
- return sections.join("\n");
73
- }
74
-
75
- //#endregion
76
- export { generateCaddyfile as t };
77
- //# sourceMappingURL=caddy-BJDrqnmw.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"caddy-BJDrqnmw.mjs","names":[],"sources":["../src/generators/caddy.ts"],"sourcesContent":["import type { ResolverOutput } from \"../types.js\";\n\n/**\n * Generates a Caddyfile with reverse proxy entries for each exposed service.\n *\n * Each service with exposed ports gets a subdomain route under the provided domain.\n * Services without exposed ports are skipped.\n *\n * @param resolved - The resolved service configuration\n * @param domain - The main domain for routing (e.g. \"example.com\")\n * @returns The Caddyfile content as a string\n */\nexport function generateCaddyfile(resolved: ResolverOutput, domain: string): string {\n\tconst sections: string[] = [];\n\n\t// ── Global Options ──────────────────────────────────────────────────────\n\n\tsections.push(`# ═══════════════════════════════════════════════════════════════════════════════\n# OpenClaw Caddyfile — Auto-generated reverse proxy configuration\n# Domain: ${domain}\n# ═══════════════════════════════════════════════════════════════════════════════\n\n{\n\t# Global options\n\temail admin@${domain}\n\tacme_ca https://acme-v02.api.letsencrypt.org/directory\n}\n`);\n\n\t// ── Per-Service Reverse Proxy Blocks ─────────────────────────────────────\n\n\tfor (const { definition } of resolved.services) {\n\t\t// Skip the proxy service itself\n\t\tif (definition.id === \"caddy\" || definition.id === \"traefik\") continue;\n\n\t\tconst exposedPorts = definition.ports.filter((p) => p.exposed);\n\t\tif (exposedPorts.length === 0) continue;\n\n\t\t// Use the first exposed port as the primary route target\n\t\tconst primaryPort = exposedPorts[0]!;\n\t\tconst subdomain = `${definition.id}.${domain}`;\n\n\t\tconst block = [\n\t\t\t`# ${definition.icon} ${definition.name}`,\n\t\t\t`# ${definition.description}`,\n\t\t\t`${subdomain} {`,\n\t\t\t`\treverse_proxy ${definition.id}:${primaryPort.container} {`,\n\t\t\t`\t\theader_up Host {host}`,\n\t\t\t`\t\theader_up X-Real-IP {remote_host}`,\n\t\t\t`\t\theader_up X-Forwarded-For {remote_host}`,\n\t\t\t`\t\theader_up X-Forwarded-Proto {scheme}`,\n\t\t\t`\t}`,\n\t\t];\n\n\t\t// Add health check if service has one\n\t\tif (definition.healthcheck) {\n\t\t\tblock.push(\"\");\n\t\t\tblock.push(`\t# Health check`);\n\t\t\tblock.push(`\thandle /health {`);\n\t\t\tblock.push(`\t\treverse_proxy ${definition.id}:${primaryPort.container}`);\n\t\t\tblock.push(`\t}`);\n\t\t}\n\n\t\tblock.push(`}`);\n\t\tblock.push(\"\");\n\n\t\t// If there are additional exposed ports, add them as separate entries\n\t\tfor (let i = 1; i < exposedPorts.length; i++) {\n\t\t\tconst port = exposedPorts[i]!;\n\t\t\tconst portSubdomain = `${definition.id}-${port.description\n\t\t\t\t.toLowerCase()\n\t\t\t\t.replace(/[^a-z0-9]+/g, \"-\")\n\t\t\t\t.replace(/-+$/, \"\")}.${domain}`;\n\n\t\t\tblock.push(`# ${definition.name} — ${port.description}`);\n\t\t\tblock.push(`${portSubdomain} {`);\n\t\t\tblock.push(`\treverse_proxy ${definition.id}:${port.container}`);\n\t\t\tblock.push(`}`);\n\t\t\tblock.push(\"\");\n\t\t}\n\n\t\tsections.push(block.join(\"\\n\"));\n\t}\n\n\t// ── Fallback / Root Domain ──────────────────────────────────────────────\n\n\tsections.push(`# Root domain — serves the OpenClaw gateway\n${domain} {\n\treverse_proxy openclaw:18789 {\n\t\theader_up Host {host}\n\t\theader_up X-Real-IP {remote_host}\n\t\theader_up X-Forwarded-For {remote_host}\n\t\theader_up X-Forwarded-Proto {scheme}\n\t}\n}\n`);\n\n\treturn sections.join(\"\\n\");\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAgB,kBAAkB,UAA0B,QAAwB;CACnF,MAAM,WAAqB,EAAE;AAI7B,UAAS,KAAK;;YAEH,OAAO;;;;;eAKJ,OAAO;;;EAGpB;AAID,MAAK,MAAM,EAAE,gBAAgB,SAAS,UAAU;AAE/C,MAAI,WAAW,OAAO,WAAW,WAAW,OAAO,UAAW;EAE9D,MAAM,eAAe,WAAW,MAAM,QAAQ,MAAM,EAAE,QAAQ;AAC9D,MAAI,aAAa,WAAW,EAAG;EAG/B,MAAM,cAAc,aAAa;EACjC,MAAM,YAAY,GAAG,WAAW,GAAG,GAAG;EAEtC,MAAM,QAAQ;GACb,KAAK,WAAW,KAAK,GAAG,WAAW;GACnC,KAAK,WAAW;GAChB,GAAG,UAAU;GACb,kBAAkB,WAAW,GAAG,GAAG,YAAY,UAAU;GACzD;GACA;GACA;GACA;GACA;GACA;AAGD,MAAI,WAAW,aAAa;AAC3B,SAAM,KAAK,GAAG;AACd,SAAM,KAAK,kBAAkB;AAC7B,SAAM,KAAK,oBAAoB;AAC/B,SAAM,KAAK,mBAAmB,WAAW,GAAG,GAAG,YAAY,YAAY;AACvE,SAAM,KAAK,KAAK;;AAGjB,QAAM,KAAK,IAAI;AACf,QAAM,KAAK,GAAG;AAGd,OAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;GAC7C,MAAM,OAAO,aAAa;GAC1B,MAAM,gBAAgB,GAAG,WAAW,GAAG,GAAG,KAAK,YAC7C,aAAa,CACb,QAAQ,eAAe,IAAI,CAC3B,QAAQ,OAAO,GAAG,CAAC,GAAG;AAExB,SAAM,KAAK,KAAK,WAAW,KAAK,KAAK,KAAK,cAAc;AACxD,SAAM,KAAK,GAAG,cAAc,IAAI;AAChC,SAAM,KAAK,kBAAkB,WAAW,GAAG,GAAG,KAAK,YAAY;AAC/D,SAAM,KAAK,IAAI;AACf,SAAM,KAAK,GAAG;;AAGf,WAAS,KAAK,MAAM,KAAK,KAAK,CAAC;;AAKhC,UAAS,KAAK;EACb,OAAO;;;;;;;;EAQP;AAED,QAAO,SAAS,KAAK,KAAK"}
@@ -1,52 +0,0 @@
1
- //#region src/services/definitions/caddy.ts
2
- const caddyDefinition = {
3
- id: "caddy",
4
- name: "Caddy",
5
- description: "Modern, fast reverse proxy and web server with automatic HTTPS via Let's Encrypt, HTTP/3 support, and simple configuration.",
6
- category: "proxy",
7
- icon: "🔒",
8
- image: "caddy",
9
- imageTag: "2-alpine",
10
- ports: [{
11
- host: 80,
12
- container: 80,
13
- description: "HTTP traffic",
14
- exposed: true
15
- }, {
16
- host: 443,
17
- container: 443,
18
- description: "HTTPS traffic",
19
- exposed: true
20
- }],
21
- volumes: [{
22
- name: "caddy-data",
23
- containerPath: "/data",
24
- description: "Caddy TLS certificates and persistent data"
25
- }, {
26
- name: "caddy-config",
27
- containerPath: "/config",
28
- description: "Caddy configuration storage"
29
- }],
30
- environment: [],
31
- dependsOn: [],
32
- restartPolicy: "unless-stopped",
33
- networks: ["openclaw-network"],
34
- skills: [],
35
- openclawEnvVars: [],
36
- docsUrl: "https://caddyserver.com/docs/",
37
- tags: [
38
- "reverse-proxy",
39
- "auto-https",
40
- "ssl"
41
- ],
42
- maturity: "stable",
43
- requires: [],
44
- recommends: [],
45
- conflictsWith: ["traefik"],
46
- minMemoryMB: 64,
47
- gpuRequired: false
48
- };
49
-
50
- //#endregion
51
- export { caddyDefinition as t };
52
- //# sourceMappingURL=caddy-_NIdWKrf.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"caddy-_NIdWKrf.mjs","names":[],"sources":["../src/services/definitions/caddy.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const caddyDefinition: ServiceDefinition = {\n\tid: \"caddy\",\n\tname: \"Caddy\",\n\tdescription:\n\t\t\"Modern, fast reverse proxy and web server with automatic HTTPS via Let's Encrypt, HTTP/3 support, and simple configuration.\",\n\tcategory: \"proxy\",\n\ticon: \"🔒\",\n\n\timage: \"caddy\",\n\timageTag: \"2-alpine\",\n\tports: [\n\t\t{\n\t\t\thost: 80,\n\t\t\tcontainer: 80,\n\t\t\tdescription: \"HTTP traffic\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 443,\n\t\t\tcontainer: 443,\n\t\t\tdescription: \"HTTPS traffic\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"caddy-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Caddy TLS certificates and persistent data\",\n\t\t},\n\t\t{\n\t\t\tname: \"caddy-config\",\n\t\t\tcontainerPath: \"/config\",\n\t\t\tdescription: \"Caddy configuration storage\",\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://caddyserver.com/docs/\",\n\ttags: [\"reverse-proxy\", \"auto-https\", \"ssl\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [\"traefik\"],\n\n\tminMemoryMB: 64,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,kBAAqC;CACjD,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,EAAE;CACf,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAiB;EAAc;EAAM;CAC5C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,CAAC,UAAU;CAE1B,aAAa;CACb,aAAa;CACb"}
@@ -1,63 +0,0 @@
1
- //#region src/services/definitions/chromadb.ts
2
- const chromadbDefinition = {
3
- id: "chromadb",
4
- name: "ChromaDB",
5
- description: "Open-source AI-native vector database for building embeddings-based applications with simple APIs for storing, searching, and filtering vectors.",
6
- category: "vector-db",
7
- icon: "🎨",
8
- image: "chromadb/chroma",
9
- imageTag: "latest",
10
- ports: [{
11
- host: 8e3,
12
- container: 8e3,
13
- description: "ChromaDB HTTP API",
14
- exposed: true
15
- }],
16
- volumes: [{
17
- name: "chroma-data",
18
- containerPath: "/chroma/chroma",
19
- description: "Persistent ChromaDB vector storage"
20
- }],
21
- environment: [],
22
- healthcheck: {
23
- test: "wget -q --spider http://localhost:8000/api/v1/heartbeat || exit 1",
24
- interval: "30s",
25
- timeout: "10s",
26
- retries: 3,
27
- startPeriod: "10s"
28
- },
29
- dependsOn: [],
30
- restartPolicy: "unless-stopped",
31
- networks: ["openclaw-network"],
32
- skills: [],
33
- openclawEnvVars: [{
34
- key: "CHROMADB_HOST",
35
- defaultValue: "chromadb",
36
- secret: false,
37
- description: "ChromaDB hostname for OpenClaw",
38
- required: true
39
- }, {
40
- key: "CHROMADB_PORT",
41
- defaultValue: "8000",
42
- secret: false,
43
- description: "ChromaDB port for OpenClaw",
44
- required: true
45
- }],
46
- docsUrl: "https://docs.trychroma.com/",
47
- tags: [
48
- "vector",
49
- "embeddings",
50
- "ai-native",
51
- "similarity-search"
52
- ],
53
- maturity: "stable",
54
- requires: [],
55
- recommends: [],
56
- conflictsWith: [],
57
- minMemoryMB: 512,
58
- gpuRequired: false
59
- };
60
-
61
- //#endregion
62
- export { chromadbDefinition as t };
63
- //# sourceMappingURL=chromadb-g4rIsfAl.mjs.map