@better-openclaw/core 1.0.0

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 (461) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-lint.log +360 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/dist/bare-metal-partition.d.ts +22 -0
  5. package/dist/bare-metal-partition.d.ts.map +1 -0
  6. package/dist/bare-metal-partition.js +49 -0
  7. package/dist/bare-metal-partition.js.map +1 -0
  8. package/dist/composer.d.ts +17 -0
  9. package/dist/composer.d.ts.map +1 -0
  10. package/dist/composer.js +305 -0
  11. package/dist/composer.js.map +1 -0
  12. package/dist/generate.d.ts +7 -0
  13. package/dist/generate.d.ts.map +1 -0
  14. package/dist/generate.js +218 -0
  15. package/dist/generate.js.map +1 -0
  16. package/dist/generators/bare-metal-install.d.ts +18 -0
  17. package/dist/generators/bare-metal-install.d.ts.map +1 -0
  18. package/dist/generators/bare-metal-install.js +228 -0
  19. package/dist/generators/bare-metal-install.js.map +1 -0
  20. package/dist/generators/caddy.d.ts +13 -0
  21. package/dist/generators/caddy.d.ts.map +1 -0
  22. package/dist/generators/caddy.js +85 -0
  23. package/dist/generators/caddy.js.map +1 -0
  24. package/dist/generators/env.d.ts +42 -0
  25. package/dist/generators/env.d.ts.map +1 -0
  26. package/dist/generators/env.js +276 -0
  27. package/dist/generators/env.js.map +1 -0
  28. package/dist/generators/grafana.d.ts +19 -0
  29. package/dist/generators/grafana.d.ts.map +1 -0
  30. package/dist/generators/grafana.js +247 -0
  31. package/dist/generators/grafana.js.map +1 -0
  32. package/dist/generators/n8n-workflows.d.ts +7 -0
  33. package/dist/generators/n8n-workflows.d.ts.map +1 -0
  34. package/dist/generators/n8n-workflows.js +78 -0
  35. package/dist/generators/n8n-workflows.js.map +1 -0
  36. package/dist/generators/native-services.d.ts +13 -0
  37. package/dist/generators/native-services.d.ts.map +1 -0
  38. package/dist/generators/native-services.js +85 -0
  39. package/dist/generators/native-services.js.map +1 -0
  40. package/dist/generators/postgres-init.d.ts +27 -0
  41. package/dist/generators/postgres-init.d.ts.map +1 -0
  42. package/dist/generators/postgres-init.js +119 -0
  43. package/dist/generators/postgres-init.js.map +1 -0
  44. package/dist/generators/prometheus.d.ts +10 -0
  45. package/dist/generators/prometheus.d.ts.map +1 -0
  46. package/dist/generators/prometheus.js +79 -0
  47. package/dist/generators/prometheus.js.map +1 -0
  48. package/dist/generators/readme.d.ts +21 -0
  49. package/dist/generators/readme.d.ts.map +1 -0
  50. package/dist/generators/readme.js +224 -0
  51. package/dist/generators/readme.js.map +1 -0
  52. package/dist/generators/scripts.d.ts +7 -0
  53. package/dist/generators/scripts.d.ts.map +1 -0
  54. package/dist/generators/scripts.js +352 -0
  55. package/dist/generators/scripts.js.map +1 -0
  56. package/dist/generators/skills.d.ts +10 -0
  57. package/dist/generators/skills.d.ts.map +1 -0
  58. package/dist/generators/skills.js +596 -0
  59. package/dist/generators/skills.js.map +1 -0
  60. package/dist/index.d.ts +24 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +27 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/presets/registry.d.ts +5 -0
  65. package/dist/presets/registry.d.ts.map +1 -0
  66. package/dist/presets/registry.js +121 -0
  67. package/dist/presets/registry.js.map +1 -0
  68. package/dist/resolver.d.ts +17 -0
  69. package/dist/resolver.d.ts.map +1 -0
  70. package/dist/resolver.js +254 -0
  71. package/dist/resolver.js.map +1 -0
  72. package/dist/schema.d.ts +2426 -0
  73. package/dist/schema.d.ts.map +1 -0
  74. package/dist/schema.js +259 -0
  75. package/dist/schema.js.map +1 -0
  76. package/dist/services/definitions/anything-llm.d.ts +3 -0
  77. package/dist/services/definitions/anything-llm.d.ts.map +1 -0
  78. package/dist/services/definitions/anything-llm.js +39 -0
  79. package/dist/services/definitions/anything-llm.js.map +1 -0
  80. package/dist/services/definitions/appflowy.d.ts +3 -0
  81. package/dist/services/definitions/appflowy.d.ts.map +1 -0
  82. package/dist/services/definitions/appflowy.js +39 -0
  83. package/dist/services/definitions/appflowy.js.map +1 -0
  84. package/dist/services/definitions/beszel.d.ts +3 -0
  85. package/dist/services/definitions/beszel.d.ts.map +1 -0
  86. package/dist/services/definitions/beszel.js +39 -0
  87. package/dist/services/definitions/beszel.js.map +1 -0
  88. package/dist/services/definitions/browserless.d.ts +3 -0
  89. package/dist/services/definitions/browserless.d.ts.map +1 -0
  90. package/dist/services/definitions/browserless.js +77 -0
  91. package/dist/services/definitions/browserless.js.map +1 -0
  92. package/dist/services/definitions/caddy.d.ts +3 -0
  93. package/dist/services/definitions/caddy.d.ts.map +1 -0
  94. package/dist/services/definitions/caddy.js +50 -0
  95. package/dist/services/definitions/caddy.js.map +1 -0
  96. package/dist/services/definitions/chromadb.d.ts +3 -0
  97. package/dist/services/definitions/chromadb.d.ts.map +1 -0
  98. package/dist/services/definitions/chromadb.js +61 -0
  99. package/dist/services/definitions/chromadb.js.map +1 -0
  100. package/dist/services/definitions/claude-code.d.ts +3 -0
  101. package/dist/services/definitions/claude-code.d.ts.map +1 -0
  102. package/dist/services/definitions/claude-code.js +49 -0
  103. package/dist/services/definitions/claude-code.js.map +1 -0
  104. package/dist/services/definitions/code-server.d.ts +3 -0
  105. package/dist/services/definitions/code-server.d.ts.map +1 -0
  106. package/dist/services/definitions/code-server.js +61 -0
  107. package/dist/services/definitions/code-server.js.map +1 -0
  108. package/dist/services/definitions/codex.d.ts +3 -0
  109. package/dist/services/definitions/codex.d.ts.map +1 -0
  110. package/dist/services/definitions/codex.js +41 -0
  111. package/dist/services/definitions/codex.js.map +1 -0
  112. package/dist/services/definitions/coolify.d.ts +3 -0
  113. package/dist/services/definitions/coolify.d.ts.map +1 -0
  114. package/dist/services/definitions/coolify.js +44 -0
  115. package/dist/services/definitions/coolify.js.map +1 -0
  116. package/dist/services/definitions/dify.d.ts +3 -0
  117. package/dist/services/definitions/dify.d.ts.map +1 -0
  118. package/dist/services/definitions/dify.js +75 -0
  119. package/dist/services/definitions/dify.js.map +1 -0
  120. package/dist/services/definitions/docsgpt.d.ts +3 -0
  121. package/dist/services/definitions/docsgpt.d.ts.map +1 -0
  122. package/dist/services/definitions/docsgpt.js +39 -0
  123. package/dist/services/definitions/docsgpt.js.map +1 -0
  124. package/dist/services/definitions/dokploy.d.ts +3 -0
  125. package/dist/services/definitions/dokploy.d.ts.map +1 -0
  126. package/dist/services/definitions/dokploy.js +44 -0
  127. package/dist/services/definitions/dokploy.js.map +1 -0
  128. package/dist/services/definitions/dozzle.d.ts +3 -0
  129. package/dist/services/definitions/dozzle.d.ts.map +1 -0
  130. package/dist/services/definitions/dozzle.js +33 -0
  131. package/dist/services/definitions/dozzle.js.map +1 -0
  132. package/dist/services/definitions/ffmpeg.d.ts +3 -0
  133. package/dist/services/definitions/ffmpeg.d.ts.map +1 -0
  134. package/dist/services/definitions/ffmpeg.js +63 -0
  135. package/dist/services/definitions/ffmpeg.js.map +1 -0
  136. package/dist/services/definitions/flowise.d.ts +3 -0
  137. package/dist/services/definitions/flowise.d.ts.map +1 -0
  138. package/dist/services/definitions/flowise.js +39 -0
  139. package/dist/services/definitions/flowise.js.map +1 -0
  140. package/dist/services/definitions/gemini-cli.d.ts +3 -0
  141. package/dist/services/definitions/gemini-cli.d.ts.map +1 -0
  142. package/dist/services/definitions/gemini-cli.js +41 -0
  143. package/dist/services/definitions/gemini-cli.js.map +1 -0
  144. package/dist/services/definitions/gitea.d.ts +3 -0
  145. package/dist/services/definitions/gitea.d.ts.map +1 -0
  146. package/dist/services/definitions/gitea.js +45 -0
  147. package/dist/services/definitions/gitea.js.map +1 -0
  148. package/dist/services/definitions/gotify.d.ts +3 -0
  149. package/dist/services/definitions/gotify.d.ts.map +1 -0
  150. package/dist/services/definitions/gotify.js +60 -0
  151. package/dist/services/definitions/gotify.js.map +1 -0
  152. package/dist/services/definitions/grafana.d.ts +3 -0
  153. package/dist/services/definitions/grafana.d.ts.map +1 -0
  154. package/dist/services/definitions/grafana.js +61 -0
  155. package/dist/services/definitions/grafana.js.map +1 -0
  156. package/dist/services/definitions/index.d.ts +68 -0
  157. package/dist/services/definitions/index.d.ts.map +1 -0
  158. package/dist/services/definitions/index.js +198 -0
  159. package/dist/services/definitions/index.js.map +1 -0
  160. package/dist/services/definitions/kimi.d.ts +3 -0
  161. package/dist/services/definitions/kimi.d.ts.map +1 -0
  162. package/dist/services/definitions/kimi.js +41 -0
  163. package/dist/services/definitions/kimi.js.map +1 -0
  164. package/dist/services/definitions/lasuite-meet-agents.d.ts +3 -0
  165. package/dist/services/definitions/lasuite-meet-agents.d.ts.map +1 -0
  166. package/dist/services/definitions/lasuite-meet-agents.js +26 -0
  167. package/dist/services/definitions/lasuite-meet-agents.js.map +1 -0
  168. package/dist/services/definitions/lasuite-meet-backend.d.ts +3 -0
  169. package/dist/services/definitions/lasuite-meet-backend.d.ts.map +1 -0
  170. package/dist/services/definitions/lasuite-meet-backend.js +118 -0
  171. package/dist/services/definitions/lasuite-meet-backend.js.map +1 -0
  172. package/dist/services/definitions/lasuite-meet-frontend.d.ts +3 -0
  173. package/dist/services/definitions/lasuite-meet-frontend.d.ts.map +1 -0
  174. package/dist/services/definitions/lasuite-meet-frontend.js +31 -0
  175. package/dist/services/definitions/lasuite-meet-frontend.js.map +1 -0
  176. package/dist/services/definitions/librechat.d.ts +3 -0
  177. package/dist/services/definitions/librechat.d.ts.map +1 -0
  178. package/dist/services/definitions/librechat.js +47 -0
  179. package/dist/services/definitions/librechat.js.map +1 -0
  180. package/dist/services/definitions/lightpanda.d.ts +3 -0
  181. package/dist/services/definitions/lightpanda.d.ts.map +1 -0
  182. package/dist/services/definitions/lightpanda.js +59 -0
  183. package/dist/services/definitions/lightpanda.js.map +1 -0
  184. package/dist/services/definitions/litellm.d.ts +3 -0
  185. package/dist/services/definitions/litellm.d.ts.map +1 -0
  186. package/dist/services/definitions/litellm.js +41 -0
  187. package/dist/services/definitions/litellm.js.map +1 -0
  188. package/dist/services/definitions/livekit.d.ts +3 -0
  189. package/dist/services/definitions/livekit.d.ts.map +1 -0
  190. package/dist/services/definitions/livekit.js +31 -0
  191. package/dist/services/definitions/livekit.js.map +1 -0
  192. package/dist/services/definitions/matomo.d.ts +3 -0
  193. package/dist/services/definitions/matomo.d.ts.map +1 -0
  194. package/dist/services/definitions/matomo.js +75 -0
  195. package/dist/services/definitions/matomo.js.map +1 -0
  196. package/dist/services/definitions/matrix-synapse.d.ts +3 -0
  197. package/dist/services/definitions/matrix-synapse.d.ts.map +1 -0
  198. package/dist/services/definitions/matrix-synapse.js +82 -0
  199. package/dist/services/definitions/matrix-synapse.js.map +1 -0
  200. package/dist/services/definitions/mattermost.d.ts +3 -0
  201. package/dist/services/definitions/mattermost.d.ts.map +1 -0
  202. package/dist/services/definitions/mattermost.js +59 -0
  203. package/dist/services/definitions/mattermost.js.map +1 -0
  204. package/dist/services/definitions/meilisearch.d.ts +3 -0
  205. package/dist/services/definitions/meilisearch.d.ts.map +1 -0
  206. package/dist/services/definitions/meilisearch.js +76 -0
  207. package/dist/services/definitions/meilisearch.js.map +1 -0
  208. package/dist/services/definitions/minio.d.ts +3 -0
  209. package/dist/services/definitions/minio.d.ts.map +1 -0
  210. package/dist/services/definitions/minio.js +98 -0
  211. package/dist/services/definitions/minio.js.map +1 -0
  212. package/dist/services/definitions/mixpost.d.ts +3 -0
  213. package/dist/services/definitions/mixpost.d.ts.map +1 -0
  214. package/dist/services/definitions/mixpost.js +82 -0
  215. package/dist/services/definitions/mixpost.js.map +1 -0
  216. package/dist/services/definitions/motion-canvas.d.ts +3 -0
  217. package/dist/services/definitions/motion-canvas.d.ts.map +1 -0
  218. package/dist/services/definitions/motion-canvas.js +48 -0
  219. package/dist/services/definitions/motion-canvas.js.map +1 -0
  220. package/dist/services/definitions/n8n.d.ts +3 -0
  221. package/dist/services/definitions/n8n.d.ts.map +1 -0
  222. package/dist/services/definitions/n8n.js +146 -0
  223. package/dist/services/definitions/n8n.js.map +1 -0
  224. package/dist/services/definitions/nocodb.d.ts +3 -0
  225. package/dist/services/definitions/nocodb.d.ts.map +1 -0
  226. package/dist/services/definitions/nocodb.js +39 -0
  227. package/dist/services/definitions/nocodb.js.map +1 -0
  228. package/dist/services/definitions/ntfy.d.ts +3 -0
  229. package/dist/services/definitions/ntfy.d.ts.map +1 -0
  230. package/dist/services/definitions/ntfy.js +61 -0
  231. package/dist/services/definitions/ntfy.js.map +1 -0
  232. package/dist/services/definitions/ollama.d.ts +3 -0
  233. package/dist/services/definitions/ollama.d.ts.map +1 -0
  234. package/dist/services/definitions/ollama.js +61 -0
  235. package/dist/services/definitions/ollama.js.map +1 -0
  236. package/dist/services/definitions/open-webui.d.ts +3 -0
  237. package/dist/services/definitions/open-webui.d.ts.map +1 -0
  238. package/dist/services/definitions/open-webui.js +47 -0
  239. package/dist/services/definitions/open-webui.js.map +1 -0
  240. package/dist/services/definitions/opencode.d.ts +3 -0
  241. package/dist/services/definitions/opencode.d.ts.map +1 -0
  242. package/dist/services/definitions/opencode.js +47 -0
  243. package/dist/services/definitions/opencode.js.map +1 -0
  244. package/dist/services/definitions/openpanel.d.ts +3 -0
  245. package/dist/services/definitions/openpanel.d.ts.map +1 -0
  246. package/dist/services/definitions/openpanel.js +41 -0
  247. package/dist/services/definitions/openpanel.js.map +1 -0
  248. package/dist/services/definitions/outline.d.ts +3 -0
  249. package/dist/services/definitions/outline.d.ts.map +1 -0
  250. package/dist/services/definitions/outline.js +68 -0
  251. package/dist/services/definitions/outline.js.map +1 -0
  252. package/dist/services/definitions/paperless-ngx.d.ts +3 -0
  253. package/dist/services/definitions/paperless-ngx.d.ts.map +1 -0
  254. package/dist/services/definitions/paperless-ngx.js +85 -0
  255. package/dist/services/definitions/paperless-ngx.js.map +1 -0
  256. package/dist/services/definitions/playwright-server.d.ts +3 -0
  257. package/dist/services/definitions/playwright-server.d.ts.map +1 -0
  258. package/dist/services/definitions/playwright-server.js +34 -0
  259. package/dist/services/definitions/playwright-server.js.map +1 -0
  260. package/dist/services/definitions/portainer.d.ts +3 -0
  261. package/dist/services/definitions/portainer.d.ts.map +1 -0
  262. package/dist/services/definitions/portainer.js +44 -0
  263. package/dist/services/definitions/portainer.js.map +1 -0
  264. package/dist/services/definitions/postgresql.d.ts +3 -0
  265. package/dist/services/definitions/postgresql.d.ts.map +1 -0
  266. package/dist/services/definitions/postgresql.js +83 -0
  267. package/dist/services/definitions/postgresql.js.map +1 -0
  268. package/dist/services/definitions/postiz.d.ts +3 -0
  269. package/dist/services/definitions/postiz.d.ts.map +1 -0
  270. package/dist/services/definitions/postiz.js +79 -0
  271. package/dist/services/definitions/postiz.js.map +1 -0
  272. package/dist/services/definitions/prometheus.d.ts +3 -0
  273. package/dist/services/definitions/prometheus.d.ts.map +1 -0
  274. package/dist/services/definitions/prometheus.js +47 -0
  275. package/dist/services/definitions/prometheus.js.map +1 -0
  276. package/dist/services/definitions/qdrant.d.ts +3 -0
  277. package/dist/services/definitions/qdrant.d.ts.map +1 -0
  278. package/dist/services/definitions/qdrant.js +75 -0
  279. package/dist/services/definitions/qdrant.js.map +1 -0
  280. package/dist/services/definitions/redis.d.ts +3 -0
  281. package/dist/services/definitions/redis.d.ts.map +1 -0
  282. package/dist/services/definitions/redis.js +90 -0
  283. package/dist/services/definitions/redis.js.map +1 -0
  284. package/dist/services/definitions/remotion.d.ts +3 -0
  285. package/dist/services/definitions/remotion.d.ts.map +1 -0
  286. package/dist/services/definitions/remotion.js +48 -0
  287. package/dist/services/definitions/remotion.js.map +1 -0
  288. package/dist/services/definitions/rocketchat.d.ts +3 -0
  289. package/dist/services/definitions/rocketchat.d.ts.map +1 -0
  290. package/dist/services/definitions/rocketchat.js +54 -0
  291. package/dist/services/definitions/rocketchat.js.map +1 -0
  292. package/dist/services/definitions/searxng.d.ts +3 -0
  293. package/dist/services/definitions/searxng.d.ts.map +1 -0
  294. package/dist/services/definitions/searxng.js +61 -0
  295. package/dist/services/definitions/searxng.js.map +1 -0
  296. package/dist/services/definitions/stable-diffusion.d.ts +3 -0
  297. package/dist/services/definitions/stable-diffusion.d.ts.map +1 -0
  298. package/dist/services/definitions/stable-diffusion.js +44 -0
  299. package/dist/services/definitions/stable-diffusion.js.map +1 -0
  300. package/dist/services/definitions/steel-browser.d.ts +3 -0
  301. package/dist/services/definitions/steel-browser.d.ts.map +1 -0
  302. package/dist/services/definitions/steel-browser.js +68 -0
  303. package/dist/services/definitions/steel-browser.js.map +1 -0
  304. package/dist/services/definitions/tailscale.d.ts +3 -0
  305. package/dist/services/definitions/tailscale.d.ts.map +1 -0
  306. package/dist/services/definitions/tailscale.js +62 -0
  307. package/dist/services/definitions/tailscale.js.map +1 -0
  308. package/dist/services/definitions/temporal.d.ts +3 -0
  309. package/dist/services/definitions/temporal.d.ts.map +1 -0
  310. package/dist/services/definitions/temporal.js +97 -0
  311. package/dist/services/definitions/temporal.js.map +1 -0
  312. package/dist/services/definitions/traefik.d.ts +3 -0
  313. package/dist/services/definitions/traefik.d.ts.map +1 -0
  314. package/dist/services/definitions/traefik.js +52 -0
  315. package/dist/services/definitions/traefik.js.map +1 -0
  316. package/dist/services/definitions/umami.d.ts +3 -0
  317. package/dist/services/definitions/umami.d.ts.map +1 -0
  318. package/dist/services/definitions/umami.js +41 -0
  319. package/dist/services/definitions/umami.js.map +1 -0
  320. package/dist/services/definitions/uptime-kuma.d.ts +3 -0
  321. package/dist/services/definitions/uptime-kuma.d.ts.map +1 -0
  322. package/dist/services/definitions/uptime-kuma.js +46 -0
  323. package/dist/services/definitions/uptime-kuma.js.map +1 -0
  324. package/dist/services/definitions/valkey.d.ts +3 -0
  325. package/dist/services/definitions/valkey.d.ts.map +1 -0
  326. package/dist/services/definitions/valkey.js +60 -0
  327. package/dist/services/definitions/valkey.js.map +1 -0
  328. package/dist/services/definitions/watchtower.d.ts +3 -0
  329. package/dist/services/definitions/watchtower.d.ts.map +1 -0
  330. package/dist/services/definitions/watchtower.js +41 -0
  331. package/dist/services/definitions/watchtower.js.map +1 -0
  332. package/dist/services/definitions/weaviate.d.ts +3 -0
  333. package/dist/services/definitions/weaviate.d.ts.map +1 -0
  334. package/dist/services/definitions/weaviate.js +89 -0
  335. package/dist/services/definitions/weaviate.js.map +1 -0
  336. package/dist/services/definitions/whisper.d.ts +3 -0
  337. package/dist/services/definitions/whisper.d.ts.map +1 -0
  338. package/dist/services/definitions/whisper.js +55 -0
  339. package/dist/services/definitions/whisper.js.map +1 -0
  340. package/dist/services/registry.d.ts +12 -0
  341. package/dist/services/registry.d.ts.map +1 -0
  342. package/dist/services/registry.js +28 -0
  343. package/dist/services/registry.js.map +1 -0
  344. package/dist/skills/registry.d.ts +7 -0
  345. package/dist/skills/registry.d.ts.map +1 -0
  346. package/dist/skills/registry.js +111 -0
  347. package/dist/skills/registry.js.map +1 -0
  348. package/dist/types.d.ts +60 -0
  349. package/dist/types.d.ts.map +1 -0
  350. package/dist/types.js +20 -0
  351. package/dist/types.js.map +1 -0
  352. package/dist/validator.d.ts +16 -0
  353. package/dist/validator.d.ts.map +1 -0
  354. package/dist/validator.js +142 -0
  355. package/dist/validator.js.map +1 -0
  356. package/dist/version-manager.d.ts +10 -0
  357. package/dist/version-manager.d.ts.map +1 -0
  358. package/dist/version-manager.js +60 -0
  359. package/dist/version-manager.js.map +1 -0
  360. package/package.json +37 -0
  361. package/src/__snapshots__/composer.snapshot.test.ts.snap +903 -0
  362. package/src/bare-metal-partition.test.ts +63 -0
  363. package/src/bare-metal-partition.ts +64 -0
  364. package/src/composer.snapshot.test.ts +87 -0
  365. package/src/composer.test.ts +224 -0
  366. package/src/composer.ts +403 -0
  367. package/src/generate.test.ts +349 -0
  368. package/src/generate.ts +259 -0
  369. package/src/generators/bare-metal-install.test.ts +43 -0
  370. package/src/generators/bare-metal-install.ts +249 -0
  371. package/src/generators/caddy.ts +99 -0
  372. package/src/generators/env.ts +405 -0
  373. package/src/generators/grafana.ts +255 -0
  374. package/src/generators/n8n-workflows.ts +88 -0
  375. package/src/generators/native-services.ts +103 -0
  376. package/src/generators/postgres-init.ts +137 -0
  377. package/src/generators/prometheus.ts +89 -0
  378. package/src/generators/readme.ts +274 -0
  379. package/src/generators/scripts.ts +362 -0
  380. package/src/generators/skills.ts +628 -0
  381. package/src/index.ts +118 -0
  382. package/src/presets/registry.test.ts +32 -0
  383. package/src/presets/registry.ts +126 -0
  384. package/src/resolver.test.ts +204 -0
  385. package/src/resolver.ts +282 -0
  386. package/src/schema.test.ts +295 -0
  387. package/src/schema.ts +307 -0
  388. package/src/services/definitions/anything-llm.ts +46 -0
  389. package/src/services/definitions/appflowy.ts +46 -0
  390. package/src/services/definitions/beszel.ts +46 -0
  391. package/src/services/definitions/browserless.ts +84 -0
  392. package/src/services/definitions/caddy.ts +57 -0
  393. package/src/services/definitions/chromadb.ts +68 -0
  394. package/src/services/definitions/claude-code.ts +56 -0
  395. package/src/services/definitions/code-server.ts +67 -0
  396. package/src/services/definitions/codex.ts +48 -0
  397. package/src/services/definitions/coolify.ts +51 -0
  398. package/src/services/definitions/dify.ts +82 -0
  399. package/src/services/definitions/docsgpt.ts +45 -0
  400. package/src/services/definitions/dokploy.ts +51 -0
  401. package/src/services/definitions/dozzle.ts +40 -0
  402. package/src/services/definitions/ffmpeg.ts +70 -0
  403. package/src/services/definitions/flowise.ts +45 -0
  404. package/src/services/definitions/gemini-cli.ts +48 -0
  405. package/src/services/definitions/gitea.ts +52 -0
  406. package/src/services/definitions/gotify.ts +67 -0
  407. package/src/services/definitions/grafana.ts +68 -0
  408. package/src/services/definitions/index.ts +200 -0
  409. package/src/services/definitions/kimi.ts +48 -0
  410. package/src/services/definitions/lasuite-meet-agents.ts +33 -0
  411. package/src/services/definitions/lasuite-meet-backend.ts +125 -0
  412. package/src/services/definitions/lasuite-meet-frontend.ts +38 -0
  413. package/src/services/definitions/librechat.ts +54 -0
  414. package/src/services/definitions/lightpanda.ts +61 -0
  415. package/src/services/definitions/litellm.ts +48 -0
  416. package/src/services/definitions/livekit.ts +38 -0
  417. package/src/services/definitions/matomo.ts +82 -0
  418. package/src/services/definitions/matrix-synapse.ts +89 -0
  419. package/src/services/definitions/mattermost.ts +67 -0
  420. package/src/services/definitions/meilisearch.ts +83 -0
  421. package/src/services/definitions/minio.ts +105 -0
  422. package/src/services/definitions/mixpost.ts +89 -0
  423. package/src/services/definitions/motion-canvas.ts +55 -0
  424. package/src/services/definitions/n8n.ts +153 -0
  425. package/src/services/definitions/nocodb.ts +46 -0
  426. package/src/services/definitions/ntfy.ts +68 -0
  427. package/src/services/definitions/ollama.ts +68 -0
  428. package/src/services/definitions/open-webui.ts +54 -0
  429. package/src/services/definitions/opencode.ts +54 -0
  430. package/src/services/definitions/openpanel.ts +48 -0
  431. package/src/services/definitions/outline.ts +75 -0
  432. package/src/services/definitions/paperless-ngx.ts +92 -0
  433. package/src/services/definitions/playwright-server.ts +41 -0
  434. package/src/services/definitions/portainer.ts +50 -0
  435. package/src/services/definitions/postgresql.ts +90 -0
  436. package/src/services/definitions/postiz.ts +86 -0
  437. package/src/services/definitions/prometheus.ts +54 -0
  438. package/src/services/definitions/qdrant.ts +82 -0
  439. package/src/services/definitions/redis.ts +99 -0
  440. package/src/services/definitions/remotion.ts +55 -0
  441. package/src/services/definitions/rocketchat.ts +61 -0
  442. package/src/services/definitions/searxng.ts +68 -0
  443. package/src/services/definitions/stable-diffusion.ts +50 -0
  444. package/src/services/definitions/steel-browser.ts +70 -0
  445. package/src/services/definitions/tailscale.ts +69 -0
  446. package/src/services/definitions/temporal.ts +104 -0
  447. package/src/services/definitions/traefik.ts +60 -0
  448. package/src/services/definitions/umami.ts +48 -0
  449. package/src/services/definitions/uptime-kuma.ts +53 -0
  450. package/src/services/definitions/valkey.ts +67 -0
  451. package/src/services/definitions/watchtower.ts +47 -0
  452. package/src/services/definitions/weaviate.ts +96 -0
  453. package/src/services/definitions/whisper.ts +62 -0
  454. package/src/services/registry.test.ts +98 -0
  455. package/src/services/registry.ts +37 -0
  456. package/src/skills/registry.ts +126 -0
  457. package/src/types.ts +123 -0
  458. package/src/validator.test.ts +66 -0
  459. package/src/validator.ts +166 -0
  460. package/src/version-manager.ts +65 -0
  461. package/tsconfig.json +9 -0
@@ -0,0 +1,362 @@
1
+ /**
2
+ * Generates helper shell scripts for managing the OpenClaw Docker Compose stack.
3
+ *
4
+ * Returns a map of file paths (relative to project root) to file contents.
5
+ */
6
+ export function generateScripts(): Record<string, string> {
7
+ const files: Record<string, string> = {};
8
+
9
+ // ── scripts/start.sh ────────────────────────────────────────────────────
10
+
11
+ files["scripts/start.sh"] = `#!/usr/bin/env bash
12
+ set -euo pipefail
13
+
14
+ # ─── OpenClaw Start Script ──────────────────────────────────────────────────
15
+ # Production-quality bootstrap: validates prerequisites, auto-generates secrets,
16
+ # creates required directories, and starts all services via Docker Compose.
17
+ # Modelled after the official docker-setup.sh patterns.
18
+
19
+ SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
20
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
21
+
22
+ cd "$PROJECT_DIR"
23
+
24
+ echo "🐾 OpenClaw — Starting services..."
25
+ echo ""
26
+
27
+ # ── Colour helpers (no-op when not a TTY) ────────────────────────────────────
28
+ if [ -t 1 ]; then
29
+ RED='\\033[0;31m'; GREEN='\\033[0;32m'; YELLOW='\\033[1;33m'; CYAN='\\033[0;36m'; NC='\\033[0m'
30
+ else
31
+ RED=''; GREEN=''; YELLOW=''; CYAN=''; NC=''
32
+ fi
33
+
34
+ info() { echo -e "\${CYAN}ℹ $*\${NC}"; }
35
+ ok() { echo -e "\${GREEN}✅ $*\${NC}"; }
36
+ warn() { echo -e "\${YELLOW}⚠️ $*\${NC}"; }
37
+ err() { echo -e "\${RED}❌ $*\${NC}" >&2; }
38
+
39
+ # ── Prerequisite checks ─────────────────────────────────────────────────────
40
+
41
+ if ! command -v docker &> /dev/null; then
42
+ err "Docker is not installed. Please install Docker first."
43
+ echo " https://docs.docker.com/get-docker/"
44
+ exit 1
45
+ fi
46
+
47
+ if ! docker compose version &> /dev/null; then
48
+ err "Docker Compose (v2) is not available."
49
+ echo " https://docs.docker.com/compose/install/"
50
+ exit 1
51
+ fi
52
+
53
+ if ! docker info &> /dev/null 2>&1; then
54
+ err "Docker daemon is not running. Please start Docker."
55
+ exit 1
56
+ fi
57
+
58
+ # ── Source .env if it exists ─────────────────────────────────────────────────
59
+
60
+ if [ -f ".env" ]; then
61
+ info "Loading existing .env file..."
62
+ set -a
63
+ # shellcheck disable=SC1091
64
+ source .env
65
+ set +a
66
+ else
67
+ warn ".env file not found — will create one from .env.example if available."
68
+ if [ -f ".env.example" ]; then
69
+ cp .env.example .env
70
+ info "Created .env from .env.example"
71
+ set -a
72
+ # shellcheck disable=SC1091
73
+ source .env
74
+ set +a
75
+ fi
76
+ fi
77
+
78
+ # ── Auto-generate OPENCLAW_GATEWAY_TOKEN if missing ──────────────────────────
79
+
80
+ if [ -z "\${OPENCLAW_GATEWAY_TOKEN:-}" ]; then
81
+ info "Generating OPENCLAW_GATEWAY_TOKEN..."
82
+ if command -v openssl &> /dev/null; then
83
+ OPENCLAW_GATEWAY_TOKEN="$(openssl rand -hex 32)"
84
+ elif command -v python3 &> /dev/null; then
85
+ OPENCLAW_GATEWAY_TOKEN="$(python3 -c 'import secrets; print(secrets.token_hex(32))')"
86
+ elif command -v python &> /dev/null; then
87
+ OPENCLAW_GATEWAY_TOKEN="$(python -c 'import secrets; print(secrets.token_hex(32))')"
88
+ else
89
+ err "Cannot generate token: neither openssl nor python3 found."
90
+ exit 1
91
+ fi
92
+ export OPENCLAW_GATEWAY_TOKEN
93
+
94
+ # Persist into .env
95
+ if [ -f ".env" ]; then
96
+ if grep -q "^OPENCLAW_GATEWAY_TOKEN=" .env 2>/dev/null; then
97
+ sed -i.bak "s|^OPENCLAW_GATEWAY_TOKEN=.*|OPENCLAW_GATEWAY_TOKEN=\${OPENCLAW_GATEWAY_TOKEN}|" .env && rm -f .env.bak
98
+ else
99
+ echo "OPENCLAW_GATEWAY_TOKEN=\${OPENCLAW_GATEWAY_TOKEN}" >> .env
100
+ fi
101
+ fi
102
+ ok "Gateway token generated and saved."
103
+ fi
104
+
105
+ # ── Apply defaults for optional variables ────────────────────────────────────
106
+
107
+ export OPENCLAW_VERSION="\${OPENCLAW_VERSION:-latest}"
108
+ export OPENCLAW_GATEWAY_PORT="\${OPENCLAW_GATEWAY_PORT:-18789}"
109
+ export OPENCLAW_BRIDGE_PORT="\${OPENCLAW_BRIDGE_PORT:-18790}"
110
+ export OPENCLAW_GATEWAY_BIND="\${OPENCLAW_GATEWAY_BIND:-lan}"
111
+ export OPENCLAW_CONFIG_DIR="\${OPENCLAW_CONFIG_DIR:-./openclaw/config}"
112
+ export OPENCLAW_WORKSPACE_DIR="\${OPENCLAW_WORKSPACE_DIR:-./openclaw/workspace}"
113
+
114
+ # ── Create required host directories ────────────────────────────────────────
115
+
116
+ info "Ensuring host directories exist..."
117
+ mkdir -p "\${OPENCLAW_CONFIG_DIR}"
118
+ mkdir -p "\${OPENCLAW_WORKSPACE_DIR}"
119
+ ok "Directories ready: \${OPENCLAW_CONFIG_DIR}, \${OPENCLAW_WORKSPACE_DIR}"
120
+
121
+ # ── Check for empty secret values ────────────────────────────────────────────
122
+
123
+ EMPTY_SECRETS=0
124
+ while IFS='=' read -r key value; do
125
+ [[ "$key" =~ ^#.*$ ]] && continue
126
+ [[ -z "$key" ]] && continue
127
+ if [[ "$key" =~ (PASSWORD|TOKEN|SECRET|SESSION_KEY|COOKIE) ]] && [[ -z "\${value:-}" ]]; then
128
+ warn "Warning: $key is empty in .env"
129
+ EMPTY_SECRETS=$((EMPTY_SECRETS + 1))
130
+ fi
131
+ done < .env 2>/dev/null || true
132
+
133
+ if [ "$EMPTY_SECRETS" -gt 0 ]; then
134
+ echo ""
135
+ warn "$EMPTY_SECRETS secret(s) are empty. Some services may not function until they are set."
136
+ echo ""
137
+ fi
138
+
139
+ # ── Pull and start ───────────────────────────────────────────────────────────
140
+
141
+ echo ""
142
+ info "Pulling latest images..."
143
+ docker compose pull --quiet 2>/dev/null || docker compose pull
144
+
145
+ echo ""
146
+ info "Starting services..."
147
+ docker compose up -d --remove-orphans
148
+
149
+ # ── Health-check loop ────────────────────────────────────────────────────────
150
+
151
+ echo ""
152
+ info "Waiting for services to become healthy..."
153
+ sleep 5
154
+
155
+ RETRIES=0
156
+ MAX_RETRIES=30
157
+ while [ $RETRIES -lt $MAX_RETRIES ]; do
158
+ UNHEALTHY=$(docker compose ps --format json 2>/dev/null | grep -c '"unhealthy"' || true)
159
+ STARTING=$(docker compose ps --format json 2>/dev/null | grep -c '"starting"' || true)
160
+
161
+ if [ "$UNHEALTHY" -eq 0 ] && [ "$STARTING" -eq 0 ]; then
162
+ break
163
+ fi
164
+
165
+ RETRIES=$((RETRIES + 1))
166
+ sleep 2
167
+ done
168
+
169
+ echo ""
170
+ docker compose ps
171
+ echo ""
172
+
173
+ if [ $RETRIES -ge $MAX_RETRIES ]; then
174
+ warn "Some services may still be starting. Check: docker compose ps"
175
+ else
176
+ ok "All services are running!"
177
+ fi
178
+
179
+ # ── Print service URLs & token ───────────────────────────────────────────────
180
+
181
+ GATEWAY_HOST="localhost"
182
+ if [ "\${OPENCLAW_GATEWAY_BIND}" = "lan" ]; then
183
+ GATEWAY_HOST="0.0.0.0"
184
+ fi
185
+
186
+ echo ""
187
+ echo "═══════════════════════════════════════════════════════════════════════════════"
188
+ echo " 🐾 OpenClaw is ready!"
189
+ echo "═══════════════════════════════════════════════════════════════════════════════"
190
+ echo ""
191
+ echo " Gateway URL: http://\${GATEWAY_HOST}:\${OPENCLAW_GATEWAY_PORT}"
192
+ echo " Bridge (WebSocket): ws://\${GATEWAY_HOST}:\${OPENCLAW_BRIDGE_PORT}"
193
+ echo " Config directory: \${OPENCLAW_CONFIG_DIR}"
194
+ echo " Workspace directory:\${OPENCLAW_WORKSPACE_DIR}"
195
+ echo ""
196
+ echo " Gateway Token: \${OPENCLAW_GATEWAY_TOKEN}"
197
+ echo ""
198
+ echo " Manage:"
199
+ echo " Stop: ./scripts/stop.sh"
200
+ echo " Status: ./scripts/status.sh"
201
+ echo " Update: ./scripts/update.sh"
202
+ echo " Logs: docker compose logs -f"
203
+ echo ""
204
+ echo "═══════════════════════════════════════════════════════════════════════════════"
205
+ `;
206
+
207
+ // ── scripts/stop.sh ─────────────────────────────────────────────────────
208
+
209
+ files["scripts/stop.sh"] = `#!/usr/bin/env bash
210
+ set -euo pipefail
211
+
212
+ # ─── OpenClaw Stop Script ───────────────────────────────────────────────────
213
+ # Gracefully stops all services.
214
+
215
+ SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
216
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
217
+
218
+ cd "$PROJECT_DIR"
219
+
220
+ echo "🐾 OpenClaw — Stopping services..."
221
+ echo ""
222
+
223
+ # Graceful shutdown with timeout
224
+ docker compose down --timeout 30
225
+
226
+ echo ""
227
+ echo "✅ All services stopped."
228
+ `;
229
+
230
+ // ── scripts/update.sh ───────────────────────────────────────────────────
231
+
232
+ files["scripts/update.sh"] = `#!/usr/bin/env bash
233
+ set -euo pipefail
234
+
235
+ # ─── OpenClaw Update Script ─────────────────────────────────────────────────
236
+ # Pulls latest images and restarts services.
237
+
238
+ SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
239
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
240
+
241
+ cd "$PROJECT_DIR"
242
+
243
+ echo "🐾 OpenClaw — Updating services..."
244
+ echo ""
245
+
246
+ # Pull latest images
247
+ echo "📦 Pulling latest images..."
248
+ docker compose pull
249
+
250
+ echo ""
251
+ echo "🔄 Restarting services with new images..."
252
+ docker compose up -d --remove-orphans
253
+
254
+ echo ""
255
+ echo "⏳ Waiting for services to stabilize..."
256
+ sleep 10
257
+
258
+ docker compose ps
259
+
260
+ echo ""
261
+ echo "✅ Update complete!"
262
+ `;
263
+
264
+ // ── scripts/backup.sh ───────────────────────────────────────────────────
265
+
266
+ files["scripts/backup.sh"] = `#!/usr/bin/env bash
267
+ set -euo pipefail
268
+
269
+ # ─── OpenClaw Backup Script ─────────────────────────────────────────────────
270
+ # Backs up all named Docker volumes to a timestamped directory.
271
+
272
+ SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
273
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
274
+
275
+ cd "$PROJECT_DIR"
276
+
277
+ TIMESTAMP=$(date +%Y%m%d_%H%M%S)
278
+ BACKUP_DIR="$PROJECT_DIR/backups/$TIMESTAMP"
279
+ mkdir -p "$BACKUP_DIR"
280
+
281
+ echo "🐾 OpenClaw — Backing up volumes..."
282
+ echo " Backup directory: $BACKUP_DIR"
283
+ echo ""
284
+
285
+ # Get project name from docker compose
286
+ PROJECT_NAME=$(docker compose config --format json 2>/dev/null | grep -o '"name":"[^"]*"' | head -1 | cut -d'"' -f4 || echo "openclaw")
287
+
288
+ # List all volumes for this project
289
+ VOLUMES=$(docker volume ls --filter "name=\${PROJECT_NAME}" --format "{{.Name}}" 2>/dev/null || true)
290
+
291
+ if [ -z "$VOLUMES" ]; then
292
+ echo "⚠️ No volumes found for project: $PROJECT_NAME"
293
+ echo " Trying to list all openclaw volumes..."
294
+ VOLUMES=$(docker volume ls --filter "name=openclaw" --format "{{.Name}}" 2>/dev/null || true)
295
+ fi
296
+
297
+ if [ -z "$VOLUMES" ]; then
298
+ echo "❌ No volumes found to back up."
299
+ exit 1
300
+ fi
301
+
302
+ BACKED_UP=0
303
+ for VOLUME in $VOLUMES; do
304
+ echo "📦 Backing up: $VOLUME"
305
+ docker run --rm \\
306
+ -v "\${VOLUME}:/source:ro" \\
307
+ -v "$BACKUP_DIR:/backup" \\
308
+ alpine tar czf "/backup/\${VOLUME}.tar.gz" -C /source .
309
+
310
+ SIZE=$(du -sh "$BACKUP_DIR/\${VOLUME}.tar.gz" | cut -f1)
311
+ echo " ✓ $VOLUME ($SIZE)"
312
+ BACKED_UP=$((BACKED_UP + 1))
313
+ done
314
+
315
+ TOTAL_SIZE=$(du -sh "$BACKUP_DIR" | cut -f1)
316
+ echo ""
317
+ echo "✅ Backed up $BACKED_UP volume(s) ($TOTAL_SIZE total)"
318
+ echo " Location: $BACKUP_DIR"
319
+ `;
320
+
321
+ // ── scripts/status.sh ───────────────────────────────────────────────────
322
+
323
+ files["scripts/status.sh"] = `#!/usr/bin/env bash
324
+ set -euo pipefail
325
+
326
+ # ─── OpenClaw Status Script ─────────────────────────────────────────────────
327
+ # Shows the current status of all services.
328
+
329
+ SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
330
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
331
+
332
+ cd "$PROJECT_DIR"
333
+
334
+ echo "🐾 OpenClaw — Service Status"
335
+ echo ""
336
+
337
+ # Show compose status
338
+ docker compose ps
339
+
340
+ echo ""
341
+ echo "── Resource Usage ──────────────────────────────────────────────────────"
342
+ echo ""
343
+
344
+ # Show resource usage
345
+ docker compose top 2>/dev/null || true
346
+
347
+ echo ""
348
+ echo "── Disk Usage ─────────────────────────────────────────────────────────"
349
+ echo ""
350
+
351
+ # Show volume sizes
352
+ docker system df -v 2>/dev/null | head -30 || docker system df 2>/dev/null || true
353
+
354
+ echo ""
355
+ echo "── Network ────────────────────────────────────────────────────────────"
356
+ echo ""
357
+
358
+ docker network ls --filter "name=openclaw" --format "table {{.Name}}\\t{{.Driver}}\\t{{.Scope}}" 2>/dev/null || true
359
+ `;
360
+
361
+ return files;
362
+ }