@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 @@
1
+ {"version":3,"file":"postgres-init.js","sourceRoot":"","sources":["../../src/generators/postgres-init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ResolverOutput } from "../types.js";
2
+ /**
3
+ * Generates a Prometheus configuration YAML file with scrape configs
4
+ * for all services that expose metrics endpoints.
5
+ *
6
+ * @param resolved - The resolved service configuration
7
+ * @returns The prometheus.yml content as a string
8
+ */
9
+ export declare function generatePrometheusConfig(resolved: ResolverOutput): string;
10
+ //# sourceMappingURL=prometheus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.d.ts","sourceRoot":"","sources":["../../src/generators/prometheus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqBlD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CA4DzE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Well-known metrics endpoints for services.
3
+ *
4
+ * Services that expose Prometheus-compatible metrics are listed here
5
+ * with their metrics path and port.
6
+ */
7
+ const metricsEndpoints = {
8
+ redis: { path: "/metrics", port: 9121 },
9
+ postgresql: { path: "/metrics", port: 9187 },
10
+ minio: { path: "/minio/v2/metrics/cluster", port: 9000 },
11
+ n8n: { path: "/metrics", port: 5678 },
12
+ grafana: { path: "/metrics", port: 3000 },
13
+ caddy: { path: "/metrics", port: 2019 },
14
+ traefik: { path: "/metrics", port: 8082 },
15
+ qdrant: { path: "/metrics", port: 6333 },
16
+ "uptime-kuma": { path: "/metrics", port: 3001 },
17
+ ollama: { path: "/metrics", port: 11434 },
18
+ };
19
+ /**
20
+ * Generates a Prometheus configuration YAML file with scrape configs
21
+ * for all services that expose metrics endpoints.
22
+ *
23
+ * @param resolved - The resolved service configuration
24
+ * @returns The prometheus.yml content as a string
25
+ */
26
+ export function generatePrometheusConfig(resolved) {
27
+ const sections = [];
28
+ // ── Header ──────────────────────────────────────────────────────────────
29
+ sections.push(`# ═══════════════════════════════════════════════════════════════════════════════
30
+ # Prometheus Configuration — Auto-generated by OpenClaw
31
+ # ═══════════════════════════════════════════════════════════════════════════════
32
+
33
+ global:
34
+ scrape_interval: 15s
35
+ evaluation_interval: 15s
36
+ scrape_timeout: 10s
37
+
38
+ # ─── Scrape Configs ──────────────────────────────────────────────────────────
39
+
40
+ scrape_configs:
41
+ # Prometheus self-monitoring
42
+ - job_name: "prometheus"
43
+ static_configs:
44
+ - targets: ["localhost:9090"]
45
+ labels:
46
+ service: "prometheus"
47
+ component: "monitoring"`);
48
+ // ── Service Scrape Configs ───────────────────────────────────────────────
49
+ for (const { definition } of resolved.services) {
50
+ // Skip prometheus itself (already included above)
51
+ if (definition.id === "prometheus")
52
+ continue;
53
+ const endpoint = metricsEndpoints[definition.id];
54
+ if (!endpoint)
55
+ continue;
56
+ sections.push(`
57
+ # ${definition.icon} ${definition.name}
58
+ - job_name: "${definition.id}"
59
+ metrics_path: "${endpoint.path}"
60
+ static_configs:
61
+ - targets: ["${definition.id}:${endpoint.port}"]
62
+ labels:
63
+ service: "${definition.id}"
64
+ component: "${definition.category}"`);
65
+ }
66
+ // ── OpenClaw Gateway Metrics ────────────────────────────────────────────
67
+ sections.push(`
68
+ # 🐾 OpenClaw Gateway
69
+ - job_name: "openclaw-gateway"
70
+ metrics_path: "/metrics"
71
+ static_configs:
72
+ - targets: ["openclaw:18789"]
73
+ labels:
74
+ service: "openclaw"
75
+ component: "core"`);
76
+ sections.push("");
77
+ return sections.join("\n");
78
+ }
79
+ //# sourceMappingURL=prometheus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.js","sourceRoot":"","sources":["../../src/generators/prometheus.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,gBAAgB,GAAmD;IACxE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACvC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACrC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACzC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACvC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACzC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACxC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;CACzC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAwB;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,2EAA2E;IAE3E,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;kCAkBmB,CAAC,CAAC;IAEnC,4EAA4E;IAE5E,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChD,kDAAkD;QAClD,IAAI,UAAU,CAAC,EAAE,KAAK,YAAY;YAAE,SAAS;QAE7C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,QAAQ,CAAC,IAAI,CAAC;MACV,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI;iBACvB,UAAU,CAAC,EAAE;qBACT,QAAQ,CAAC,IAAI;;qBAEb,UAAU,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI;;sBAE7B,UAAU,CAAC,EAAE;wBACX,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,2EAA2E;IAE3E,QAAQ,CAAC,IAAI,CAAC;;;;;;;;4BAQa,CAAC,CAAC;IAE7B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ResolverOutput } from "../types.js";
2
+ /**
3
+ * Options for README generation.
4
+ */
5
+ export interface ReadmeOptions {
6
+ projectName: string;
7
+ domain?: string;
8
+ proxy?: string;
9
+ /** When "bare-metal", the stack uses native + Docker hybrid. */
10
+ deploymentType?: "docker" | "bare-metal";
11
+ /** True when some services run natively on the host (bare-metal only). */
12
+ hasNativeServices?: boolean;
13
+ }
14
+ /**
15
+ * Generates a comprehensive README.md for the OpenClaw project.
16
+ *
17
+ * Includes: project description, service table, quick start instructions,
18
+ * service URLs, skill packs, and scripts documentation.
19
+ */
20
+ export declare function generateReadme(resolved: ResolverOutput, options: ReadmeOptions): string;
21
+ //# sourceMappingURL=readme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readme.d.ts","sourceRoot":"","sources":["../../src/generators/readme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACzC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CA4PvF"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Generates a comprehensive README.md for the OpenClaw project.
3
+ *
4
+ * Includes: project description, service table, quick start instructions,
5
+ * service URLs, skill packs, and scripts documentation.
6
+ */
7
+ export function generateReadme(resolved, options) {
8
+ const { projectName, domain, proxy, deploymentType, hasNativeServices } = options;
9
+ const sections = [];
10
+ // ── Title & Description ─────────────────────────────────────────────────
11
+ sections.push(`# ${projectName}
12
+
13
+ > Self-hosted AI agent infrastructure powered by [OpenClaw](https://openclaw.dev).
14
+
15
+ This project provides a fully configured Docker Compose stack with ${resolved.services.length} services, ready to deploy on any server.
16
+ ${deploymentType === "bare-metal" && hasNativeServices ? "\n\n**Bare-metal (native + Docker):** Some services run natively on the host; the rest (including the OpenClaw gateway) run in Docker. Use the top-level `install.sh` or `install.ps1` to install/start native services first, then start the Docker stack." : ""}
17
+
18
+ ---`);
19
+ // ── Service Table ────────────────────────────────────────────────────────
20
+ const serviceRows = resolved.services
21
+ .map(({ definition }) => {
22
+ const mainPort = definition.ports.find((p) => p.exposed);
23
+ const url = mainPort
24
+ ? domain
25
+ ? `https://${definition.id}.${domain}`
26
+ : `http://localhost:${mainPort.host}`
27
+ : "N/A (internal)";
28
+ return `| ${definition.icon} | **${definition.name}** | ${url} | ${definition.description} |`;
29
+ })
30
+ .join("\n");
31
+ sections.push(`## Services
32
+
33
+ | | Service | URL | Description |
34
+ |---|---------|-----|-------------|
35
+ ${serviceRows}
36
+ `);
37
+ // ── Quick Start ──────────────────────────────────────────────────────────
38
+ sections.push(`## Quick Start
39
+
40
+ ### Prerequisites
41
+
42
+ - [Docker](https://docs.docker.com/get-docker/) (v24+)
43
+ - [Docker Compose](https://docs.docker.com/compose/install/) (v2+)
44
+ - At least ${Math.ceil(resolved.estimatedMemoryMB / 1024)}GB of RAM available
45
+
46
+ ### 1. Extract the ZIP
47
+
48
+ \`\`\`bash
49
+ unzip ${projectName}.zip
50
+ cd ${projectName}
51
+ \`\`\`
52
+
53
+ ### 2. Configure Environment
54
+
55
+ \`\`\`bash
56
+ cp .env.example .env
57
+ \`\`\`
58
+
59
+ Edit \`.env\` and update any values as needed. Secret values have been pre-generated — review and change them for production use.
60
+
61
+ ### 3. Start Services
62
+
63
+ \`\`\`bash
64
+ docker compose up -d
65
+ \`\`\`
66
+
67
+ Or use the provided start script:
68
+
69
+ \`\`\`bash
70
+ chmod +x scripts/*.sh
71
+ ./scripts/start.sh
72
+ \`\`\`
73
+
74
+ ### 4. Check Status
75
+
76
+ \`\`\`bash
77
+ docker compose ps
78
+ \`\`\`
79
+
80
+ ### 5. View Logs
81
+
82
+ \`\`\`bash
83
+ docker compose logs -f openclaw-gateway
84
+ \`\`\`
85
+
86
+ All services should show a healthy status within 1–2 minutes.
87
+ `);
88
+ // ── Docker Compose Profiles ──────────────────────────────────────────────
89
+ sections.push(`## Using Docker Compose Profiles
90
+
91
+ Your stack may include profile-based compose files for optional service groups. Only the base services start by default — use profiles to activate additional groups:
92
+
93
+ \`\`\`bash
94
+ # Start base services only
95
+ docker compose up -d
96
+
97
+ # Start base + AI services (Ollama, Open WebUI, etc.)
98
+ docker compose -f docker-compose.yml -f docker-compose.ai.yml --profile ai up -d
99
+
100
+ # Start base + monitoring (Grafana, Prometheus, Uptime Kuma)
101
+ docker compose -f docker-compose.yml -f docker-compose.monitoring.yml --profile monitoring up -d
102
+
103
+ # Start base + AI + dev tools
104
+ docker compose -f docker-compose.yml -f docker-compose.ai.yml -f docker-compose.tools.yml --profile ai --profile tools up -d
105
+ \`\`\`
106
+
107
+ Available profile files (if generated):
108
+ | File | Profile | Services |
109
+ |------|---------|----------|
110
+ | \`docker-compose.ai.yml\` | \`ai\` | AI models, chat UIs, LLM platforms |
111
+ | \`docker-compose.media.yml\` | \`media\` | FFmpeg, Remotion, Motion Canvas |
112
+ | \`docker-compose.monitoring.yml\` | \`monitoring\` | Grafana, Prometheus, Uptime Kuma, analytics |
113
+ | \`docker-compose.tools.yml\` | \`tools\` | Gitea, code-server, Portainer, coding agents |
114
+ | \`docker-compose.social.yml\` | \`social\` | Postiz, Mixpost |
115
+ | \`docker-compose.knowledge.yml\` | \`knowledge\` | Outline, Paperless-ngx, NocoDB |
116
+ | \`docker-compose.communication.yml\` | \`communication\` | Matrix, Rocket.Chat, Mattermost |
117
+ `);
118
+ // ── Service URLs & Ports ─────────────────────────────────────────────────
119
+ const portRows = resolved.services
120
+ .filter(({ definition }) => definition.ports.length > 0)
121
+ .map(({ definition }) => {
122
+ const ports = definition.ports
123
+ .map((p) => `\`${p.host}\` → \`${p.container}\` (${p.description})`)
124
+ .join(", ");
125
+ return `| ${definition.icon} ${definition.name} | ${ports} |`;
126
+ })
127
+ .join("\n");
128
+ if (portRows) {
129
+ sections.push(`## Ports
130
+
131
+ | Service | Ports |
132
+ |---------|-------|
133
+ ${portRows}
134
+ `);
135
+ }
136
+ // ── Skill Packs ─────────────────────────────────────────────────────────
137
+ const allSkills = resolved.services.flatMap(({ definition }) => definition.skills.map((s) => ({
138
+ skillId: s.skillId,
139
+ serviceName: definition.name,
140
+ serviceIcon: definition.icon,
141
+ })));
142
+ if (allSkills.length > 0) {
143
+ const skillRows = allSkills
144
+ .map((s) => `| \`${s.skillId}\` | ${s.serviceIcon} ${s.serviceName} |`)
145
+ .join("\n");
146
+ sections.push(`## Skills
147
+
148
+ The following OpenClaw skills are automatically installed:
149
+
150
+ | Skill | Service |
151
+ |-------|---------|
152
+ ${skillRows}
153
+
154
+ Skills are located in \`openclaw/workspace/skills/\`. Each skill provides a \`SKILL.md\` with usage instructions.
155
+ `);
156
+ }
157
+ // ── Proxy Configuration ─────────────────────────────────────────────────
158
+ if (proxy && proxy !== "none") {
159
+ const proxyName = proxy === "caddy" ? "Caddy" : "Traefik";
160
+ sections.push(`## Reverse Proxy
161
+
162
+ This stack uses **${proxyName}** as a reverse proxy.${domain ? ` All services are available under \`${domain}\`.` : ""}
163
+
164
+ ${proxy === "caddy" ? "The Caddyfile is located at `config/Caddyfile`." : "Traefik configuration is handled via Docker labels."}
165
+ `);
166
+ }
167
+ // ── Scripts ──────────────────────────────────────────────────────────────
168
+ sections.push(`## Management Scripts
169
+
170
+ \`\`\`bash
171
+ chmod +x scripts/*.sh # Make scripts executable (first time only)
172
+ \`\`\`
173
+
174
+ | Script | Description |
175
+ |--------|-------------|
176
+ | \`./scripts/start.sh\` | Validates .env, auto-generates gateway token, creates dirs, starts all services with health checks |
177
+ | \`./scripts/stop.sh\` | Gracefully stops all services |
178
+ | \`./scripts/update.sh\` | Pulls latest Docker images and restarts services |
179
+ | \`./scripts/backup.sh\` | Backs up all named Docker volumes to timestamped archives |
180
+ | \`./scripts/status.sh\` | Shows current service status, resource usage, and disk |
181
+ `);
182
+ // ── Data & Volumes ──────────────────────────────────────────────────────
183
+ const volumeRows = resolved.services.flatMap(({ definition }) => definition.volumes.map((v) => ({
184
+ name: v.name,
185
+ path: v.containerPath,
186
+ description: v.description,
187
+ serviceName: definition.name,
188
+ })));
189
+ if (volumeRows.length > 0) {
190
+ const rows = volumeRows
191
+ .map((v) => `| \`${v.name}\` | ${v.serviceName} | ${v.description} |`)
192
+ .join("\n");
193
+ sections.push(`## Volumes
194
+
195
+ | Volume | Service | Description |
196
+ |--------|---------|-------------|
197
+ ${rows}
198
+
199
+ > **Tip:** Use \`scripts/backup.sh\` to back up all volumes before updates.
200
+ `);
201
+ }
202
+ // ── Estimated Resources ─────────────────────────────────────────────────
203
+ sections.push(`## Resource Estimates
204
+
205
+ - **Services:** ${resolved.services.length}
206
+ - **Estimated RAM:** ~${(resolved.estimatedMemoryMB / 1024).toFixed(1)}GB
207
+ - **Recommended minimum:** ${Math.ceil(resolved.estimatedMemoryMB / 1024) + 2}GB RAM
208
+ `);
209
+ // ── Warnings ─────────────────────────────────────────────────────────────
210
+ if (resolved.warnings.length > 0) {
211
+ const warningList = resolved.warnings.map((w) => `- ⚠️ ${w.message}`).join("\n");
212
+ sections.push(`## Warnings
213
+
214
+ ${warningList}
215
+ `);
216
+ }
217
+ // ── Footer ──────────────────────────────────────────────────────────────
218
+ sections.push(`---
219
+
220
+ Generated by [OpenClaw](https://openclaw.dev) • ${new Date().toISOString().split("T")[0]}
221
+ `);
222
+ return sections.join("\n");
223
+ }
224
+ //# sourceMappingURL=readme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../src/generators/readme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
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 declare function generateScripts(): Record<string, string>;
7
+ //# sourceMappingURL=scripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../src/generators/scripts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoWxD"}