@better-openclaw/core 1.0.0 → 1.0.2

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 (368) hide show
  1. package/.github/ISSUE_TEMPLATE/service-proposal.yml +57 -0
  2. package/.github/ISSUE_TEMPLATE/stack-submission.yml +32 -0
  3. package/.github/workflows/ci.yml +57 -0
  4. package/.github/workflows/publish-core.yml +38 -0
  5. package/biome.json +62 -0
  6. package/package.json +7 -7
  7. package/tsconfig.base.json +25 -0
  8. package/tsconfig.json +1 -1
  9. package/vitest.config.ts +21 -0
  10. package/.turbo/turbo-build.log +0 -4
  11. package/.turbo/turbo-lint.log +0 -360
  12. package/.turbo/turbo-typecheck.log +0 -4
  13. package/dist/bare-metal-partition.d.ts +0 -22
  14. package/dist/bare-metal-partition.d.ts.map +0 -1
  15. package/dist/bare-metal-partition.js +0 -49
  16. package/dist/bare-metal-partition.js.map +0 -1
  17. package/dist/composer.d.ts +0 -17
  18. package/dist/composer.d.ts.map +0 -1
  19. package/dist/composer.js +0 -305
  20. package/dist/composer.js.map +0 -1
  21. package/dist/generate.d.ts +0 -7
  22. package/dist/generate.d.ts.map +0 -1
  23. package/dist/generate.js +0 -218
  24. package/dist/generate.js.map +0 -1
  25. package/dist/generators/bare-metal-install.d.ts +0 -18
  26. package/dist/generators/bare-metal-install.d.ts.map +0 -1
  27. package/dist/generators/bare-metal-install.js +0 -228
  28. package/dist/generators/bare-metal-install.js.map +0 -1
  29. package/dist/generators/caddy.d.ts +0 -13
  30. package/dist/generators/caddy.d.ts.map +0 -1
  31. package/dist/generators/caddy.js +0 -85
  32. package/dist/generators/caddy.js.map +0 -1
  33. package/dist/generators/env.d.ts +0 -42
  34. package/dist/generators/env.d.ts.map +0 -1
  35. package/dist/generators/env.js +0 -276
  36. package/dist/generators/env.js.map +0 -1
  37. package/dist/generators/grafana.d.ts +0 -19
  38. package/dist/generators/grafana.d.ts.map +0 -1
  39. package/dist/generators/grafana.js +0 -247
  40. package/dist/generators/grafana.js.map +0 -1
  41. package/dist/generators/n8n-workflows.d.ts +0 -7
  42. package/dist/generators/n8n-workflows.d.ts.map +0 -1
  43. package/dist/generators/n8n-workflows.js +0 -78
  44. package/dist/generators/n8n-workflows.js.map +0 -1
  45. package/dist/generators/native-services.d.ts +0 -13
  46. package/dist/generators/native-services.d.ts.map +0 -1
  47. package/dist/generators/native-services.js +0 -85
  48. package/dist/generators/native-services.js.map +0 -1
  49. package/dist/generators/postgres-init.d.ts +0 -27
  50. package/dist/generators/postgres-init.d.ts.map +0 -1
  51. package/dist/generators/postgres-init.js +0 -119
  52. package/dist/generators/postgres-init.js.map +0 -1
  53. package/dist/generators/prometheus.d.ts +0 -10
  54. package/dist/generators/prometheus.d.ts.map +0 -1
  55. package/dist/generators/prometheus.js +0 -79
  56. package/dist/generators/prometheus.js.map +0 -1
  57. package/dist/generators/readme.d.ts +0 -21
  58. package/dist/generators/readme.d.ts.map +0 -1
  59. package/dist/generators/readme.js +0 -224
  60. package/dist/generators/readme.js.map +0 -1
  61. package/dist/generators/scripts.d.ts +0 -7
  62. package/dist/generators/scripts.d.ts.map +0 -1
  63. package/dist/generators/scripts.js +0 -352
  64. package/dist/generators/scripts.js.map +0 -1
  65. package/dist/generators/skills.d.ts +0 -10
  66. package/dist/generators/skills.d.ts.map +0 -1
  67. package/dist/generators/skills.js +0 -596
  68. package/dist/generators/skills.js.map +0 -1
  69. package/dist/index.d.ts +0 -24
  70. package/dist/index.d.ts.map +0 -1
  71. package/dist/index.js +0 -27
  72. package/dist/index.js.map +0 -1
  73. package/dist/presets/registry.d.ts +0 -5
  74. package/dist/presets/registry.d.ts.map +0 -1
  75. package/dist/presets/registry.js +0 -121
  76. package/dist/presets/registry.js.map +0 -1
  77. package/dist/resolver.d.ts +0 -17
  78. package/dist/resolver.d.ts.map +0 -1
  79. package/dist/resolver.js +0 -254
  80. package/dist/resolver.js.map +0 -1
  81. package/dist/schema.d.ts +0 -2426
  82. package/dist/schema.d.ts.map +0 -1
  83. package/dist/schema.js +0 -259
  84. package/dist/schema.js.map +0 -1
  85. package/dist/services/definitions/anything-llm.d.ts +0 -3
  86. package/dist/services/definitions/anything-llm.d.ts.map +0 -1
  87. package/dist/services/definitions/anything-llm.js +0 -39
  88. package/dist/services/definitions/anything-llm.js.map +0 -1
  89. package/dist/services/definitions/appflowy.d.ts +0 -3
  90. package/dist/services/definitions/appflowy.d.ts.map +0 -1
  91. package/dist/services/definitions/appflowy.js +0 -39
  92. package/dist/services/definitions/appflowy.js.map +0 -1
  93. package/dist/services/definitions/beszel.d.ts +0 -3
  94. package/dist/services/definitions/beszel.d.ts.map +0 -1
  95. package/dist/services/definitions/beszel.js +0 -39
  96. package/dist/services/definitions/beszel.js.map +0 -1
  97. package/dist/services/definitions/browserless.d.ts +0 -3
  98. package/dist/services/definitions/browserless.d.ts.map +0 -1
  99. package/dist/services/definitions/browserless.js +0 -77
  100. package/dist/services/definitions/browserless.js.map +0 -1
  101. package/dist/services/definitions/caddy.d.ts +0 -3
  102. package/dist/services/definitions/caddy.d.ts.map +0 -1
  103. package/dist/services/definitions/caddy.js +0 -50
  104. package/dist/services/definitions/caddy.js.map +0 -1
  105. package/dist/services/definitions/chromadb.d.ts +0 -3
  106. package/dist/services/definitions/chromadb.d.ts.map +0 -1
  107. package/dist/services/definitions/chromadb.js +0 -61
  108. package/dist/services/definitions/chromadb.js.map +0 -1
  109. package/dist/services/definitions/claude-code.d.ts +0 -3
  110. package/dist/services/definitions/claude-code.d.ts.map +0 -1
  111. package/dist/services/definitions/claude-code.js +0 -49
  112. package/dist/services/definitions/claude-code.js.map +0 -1
  113. package/dist/services/definitions/code-server.d.ts +0 -3
  114. package/dist/services/definitions/code-server.d.ts.map +0 -1
  115. package/dist/services/definitions/code-server.js +0 -61
  116. package/dist/services/definitions/code-server.js.map +0 -1
  117. package/dist/services/definitions/codex.d.ts +0 -3
  118. package/dist/services/definitions/codex.d.ts.map +0 -1
  119. package/dist/services/definitions/codex.js +0 -41
  120. package/dist/services/definitions/codex.js.map +0 -1
  121. package/dist/services/definitions/coolify.d.ts +0 -3
  122. package/dist/services/definitions/coolify.d.ts.map +0 -1
  123. package/dist/services/definitions/coolify.js +0 -44
  124. package/dist/services/definitions/coolify.js.map +0 -1
  125. package/dist/services/definitions/dify.d.ts +0 -3
  126. package/dist/services/definitions/dify.d.ts.map +0 -1
  127. package/dist/services/definitions/dify.js +0 -75
  128. package/dist/services/definitions/dify.js.map +0 -1
  129. package/dist/services/definitions/docsgpt.d.ts +0 -3
  130. package/dist/services/definitions/docsgpt.d.ts.map +0 -1
  131. package/dist/services/definitions/docsgpt.js +0 -39
  132. package/dist/services/definitions/docsgpt.js.map +0 -1
  133. package/dist/services/definitions/dokploy.d.ts +0 -3
  134. package/dist/services/definitions/dokploy.d.ts.map +0 -1
  135. package/dist/services/definitions/dokploy.js +0 -44
  136. package/dist/services/definitions/dokploy.js.map +0 -1
  137. package/dist/services/definitions/dozzle.d.ts +0 -3
  138. package/dist/services/definitions/dozzle.d.ts.map +0 -1
  139. package/dist/services/definitions/dozzle.js +0 -33
  140. package/dist/services/definitions/dozzle.js.map +0 -1
  141. package/dist/services/definitions/ffmpeg.d.ts +0 -3
  142. package/dist/services/definitions/ffmpeg.d.ts.map +0 -1
  143. package/dist/services/definitions/ffmpeg.js +0 -63
  144. package/dist/services/definitions/ffmpeg.js.map +0 -1
  145. package/dist/services/definitions/flowise.d.ts +0 -3
  146. package/dist/services/definitions/flowise.d.ts.map +0 -1
  147. package/dist/services/definitions/flowise.js +0 -39
  148. package/dist/services/definitions/flowise.js.map +0 -1
  149. package/dist/services/definitions/gemini-cli.d.ts +0 -3
  150. package/dist/services/definitions/gemini-cli.d.ts.map +0 -1
  151. package/dist/services/definitions/gemini-cli.js +0 -41
  152. package/dist/services/definitions/gemini-cli.js.map +0 -1
  153. package/dist/services/definitions/gitea.d.ts +0 -3
  154. package/dist/services/definitions/gitea.d.ts.map +0 -1
  155. package/dist/services/definitions/gitea.js +0 -45
  156. package/dist/services/definitions/gitea.js.map +0 -1
  157. package/dist/services/definitions/gotify.d.ts +0 -3
  158. package/dist/services/definitions/gotify.d.ts.map +0 -1
  159. package/dist/services/definitions/gotify.js +0 -60
  160. package/dist/services/definitions/gotify.js.map +0 -1
  161. package/dist/services/definitions/grafana.d.ts +0 -3
  162. package/dist/services/definitions/grafana.d.ts.map +0 -1
  163. package/dist/services/definitions/grafana.js +0 -61
  164. package/dist/services/definitions/grafana.js.map +0 -1
  165. package/dist/services/definitions/index.d.ts +0 -68
  166. package/dist/services/definitions/index.d.ts.map +0 -1
  167. package/dist/services/definitions/index.js +0 -198
  168. package/dist/services/definitions/index.js.map +0 -1
  169. package/dist/services/definitions/kimi.d.ts +0 -3
  170. package/dist/services/definitions/kimi.d.ts.map +0 -1
  171. package/dist/services/definitions/kimi.js +0 -41
  172. package/dist/services/definitions/kimi.js.map +0 -1
  173. package/dist/services/definitions/lasuite-meet-agents.d.ts +0 -3
  174. package/dist/services/definitions/lasuite-meet-agents.d.ts.map +0 -1
  175. package/dist/services/definitions/lasuite-meet-agents.js +0 -26
  176. package/dist/services/definitions/lasuite-meet-agents.js.map +0 -1
  177. package/dist/services/definitions/lasuite-meet-backend.d.ts +0 -3
  178. package/dist/services/definitions/lasuite-meet-backend.d.ts.map +0 -1
  179. package/dist/services/definitions/lasuite-meet-backend.js +0 -118
  180. package/dist/services/definitions/lasuite-meet-backend.js.map +0 -1
  181. package/dist/services/definitions/lasuite-meet-frontend.d.ts +0 -3
  182. package/dist/services/definitions/lasuite-meet-frontend.d.ts.map +0 -1
  183. package/dist/services/definitions/lasuite-meet-frontend.js +0 -31
  184. package/dist/services/definitions/lasuite-meet-frontend.js.map +0 -1
  185. package/dist/services/definitions/librechat.d.ts +0 -3
  186. package/dist/services/definitions/librechat.d.ts.map +0 -1
  187. package/dist/services/definitions/librechat.js +0 -47
  188. package/dist/services/definitions/librechat.js.map +0 -1
  189. package/dist/services/definitions/lightpanda.d.ts +0 -3
  190. package/dist/services/definitions/lightpanda.d.ts.map +0 -1
  191. package/dist/services/definitions/lightpanda.js +0 -59
  192. package/dist/services/definitions/lightpanda.js.map +0 -1
  193. package/dist/services/definitions/litellm.d.ts +0 -3
  194. package/dist/services/definitions/litellm.d.ts.map +0 -1
  195. package/dist/services/definitions/litellm.js +0 -41
  196. package/dist/services/definitions/litellm.js.map +0 -1
  197. package/dist/services/definitions/livekit.d.ts +0 -3
  198. package/dist/services/definitions/livekit.d.ts.map +0 -1
  199. package/dist/services/definitions/livekit.js +0 -31
  200. package/dist/services/definitions/livekit.js.map +0 -1
  201. package/dist/services/definitions/matomo.d.ts +0 -3
  202. package/dist/services/definitions/matomo.d.ts.map +0 -1
  203. package/dist/services/definitions/matomo.js +0 -75
  204. package/dist/services/definitions/matomo.js.map +0 -1
  205. package/dist/services/definitions/matrix-synapse.d.ts +0 -3
  206. package/dist/services/definitions/matrix-synapse.d.ts.map +0 -1
  207. package/dist/services/definitions/matrix-synapse.js +0 -82
  208. package/dist/services/definitions/matrix-synapse.js.map +0 -1
  209. package/dist/services/definitions/mattermost.d.ts +0 -3
  210. package/dist/services/definitions/mattermost.d.ts.map +0 -1
  211. package/dist/services/definitions/mattermost.js +0 -59
  212. package/dist/services/definitions/mattermost.js.map +0 -1
  213. package/dist/services/definitions/meilisearch.d.ts +0 -3
  214. package/dist/services/definitions/meilisearch.d.ts.map +0 -1
  215. package/dist/services/definitions/meilisearch.js +0 -76
  216. package/dist/services/definitions/meilisearch.js.map +0 -1
  217. package/dist/services/definitions/minio.d.ts +0 -3
  218. package/dist/services/definitions/minio.d.ts.map +0 -1
  219. package/dist/services/definitions/minio.js +0 -98
  220. package/dist/services/definitions/minio.js.map +0 -1
  221. package/dist/services/definitions/mixpost.d.ts +0 -3
  222. package/dist/services/definitions/mixpost.d.ts.map +0 -1
  223. package/dist/services/definitions/mixpost.js +0 -82
  224. package/dist/services/definitions/mixpost.js.map +0 -1
  225. package/dist/services/definitions/motion-canvas.d.ts +0 -3
  226. package/dist/services/definitions/motion-canvas.d.ts.map +0 -1
  227. package/dist/services/definitions/motion-canvas.js +0 -48
  228. package/dist/services/definitions/motion-canvas.js.map +0 -1
  229. package/dist/services/definitions/n8n.d.ts +0 -3
  230. package/dist/services/definitions/n8n.d.ts.map +0 -1
  231. package/dist/services/definitions/n8n.js +0 -146
  232. package/dist/services/definitions/n8n.js.map +0 -1
  233. package/dist/services/definitions/nocodb.d.ts +0 -3
  234. package/dist/services/definitions/nocodb.d.ts.map +0 -1
  235. package/dist/services/definitions/nocodb.js +0 -39
  236. package/dist/services/definitions/nocodb.js.map +0 -1
  237. package/dist/services/definitions/ntfy.d.ts +0 -3
  238. package/dist/services/definitions/ntfy.d.ts.map +0 -1
  239. package/dist/services/definitions/ntfy.js +0 -61
  240. package/dist/services/definitions/ntfy.js.map +0 -1
  241. package/dist/services/definitions/ollama.d.ts +0 -3
  242. package/dist/services/definitions/ollama.d.ts.map +0 -1
  243. package/dist/services/definitions/ollama.js +0 -61
  244. package/dist/services/definitions/ollama.js.map +0 -1
  245. package/dist/services/definitions/open-webui.d.ts +0 -3
  246. package/dist/services/definitions/open-webui.d.ts.map +0 -1
  247. package/dist/services/definitions/open-webui.js +0 -47
  248. package/dist/services/definitions/open-webui.js.map +0 -1
  249. package/dist/services/definitions/opencode.d.ts +0 -3
  250. package/dist/services/definitions/opencode.d.ts.map +0 -1
  251. package/dist/services/definitions/opencode.js +0 -47
  252. package/dist/services/definitions/opencode.js.map +0 -1
  253. package/dist/services/definitions/openpanel.d.ts +0 -3
  254. package/dist/services/definitions/openpanel.d.ts.map +0 -1
  255. package/dist/services/definitions/openpanel.js +0 -41
  256. package/dist/services/definitions/openpanel.js.map +0 -1
  257. package/dist/services/definitions/outline.d.ts +0 -3
  258. package/dist/services/definitions/outline.d.ts.map +0 -1
  259. package/dist/services/definitions/outline.js +0 -68
  260. package/dist/services/definitions/outline.js.map +0 -1
  261. package/dist/services/definitions/paperless-ngx.d.ts +0 -3
  262. package/dist/services/definitions/paperless-ngx.d.ts.map +0 -1
  263. package/dist/services/definitions/paperless-ngx.js +0 -85
  264. package/dist/services/definitions/paperless-ngx.js.map +0 -1
  265. package/dist/services/definitions/playwright-server.d.ts +0 -3
  266. package/dist/services/definitions/playwright-server.d.ts.map +0 -1
  267. package/dist/services/definitions/playwright-server.js +0 -34
  268. package/dist/services/definitions/playwright-server.js.map +0 -1
  269. package/dist/services/definitions/portainer.d.ts +0 -3
  270. package/dist/services/definitions/portainer.d.ts.map +0 -1
  271. package/dist/services/definitions/portainer.js +0 -44
  272. package/dist/services/definitions/portainer.js.map +0 -1
  273. package/dist/services/definitions/postgresql.d.ts +0 -3
  274. package/dist/services/definitions/postgresql.d.ts.map +0 -1
  275. package/dist/services/definitions/postgresql.js +0 -83
  276. package/dist/services/definitions/postgresql.js.map +0 -1
  277. package/dist/services/definitions/postiz.d.ts +0 -3
  278. package/dist/services/definitions/postiz.d.ts.map +0 -1
  279. package/dist/services/definitions/postiz.js +0 -79
  280. package/dist/services/definitions/postiz.js.map +0 -1
  281. package/dist/services/definitions/prometheus.d.ts +0 -3
  282. package/dist/services/definitions/prometheus.d.ts.map +0 -1
  283. package/dist/services/definitions/prometheus.js +0 -47
  284. package/dist/services/definitions/prometheus.js.map +0 -1
  285. package/dist/services/definitions/qdrant.d.ts +0 -3
  286. package/dist/services/definitions/qdrant.d.ts.map +0 -1
  287. package/dist/services/definitions/qdrant.js +0 -75
  288. package/dist/services/definitions/qdrant.js.map +0 -1
  289. package/dist/services/definitions/redis.d.ts +0 -3
  290. package/dist/services/definitions/redis.d.ts.map +0 -1
  291. package/dist/services/definitions/redis.js +0 -90
  292. package/dist/services/definitions/redis.js.map +0 -1
  293. package/dist/services/definitions/remotion.d.ts +0 -3
  294. package/dist/services/definitions/remotion.d.ts.map +0 -1
  295. package/dist/services/definitions/remotion.js +0 -48
  296. package/dist/services/definitions/remotion.js.map +0 -1
  297. package/dist/services/definitions/rocketchat.d.ts +0 -3
  298. package/dist/services/definitions/rocketchat.d.ts.map +0 -1
  299. package/dist/services/definitions/rocketchat.js +0 -54
  300. package/dist/services/definitions/rocketchat.js.map +0 -1
  301. package/dist/services/definitions/searxng.d.ts +0 -3
  302. package/dist/services/definitions/searxng.d.ts.map +0 -1
  303. package/dist/services/definitions/searxng.js +0 -61
  304. package/dist/services/definitions/searxng.js.map +0 -1
  305. package/dist/services/definitions/stable-diffusion.d.ts +0 -3
  306. package/dist/services/definitions/stable-diffusion.d.ts.map +0 -1
  307. package/dist/services/definitions/stable-diffusion.js +0 -44
  308. package/dist/services/definitions/stable-diffusion.js.map +0 -1
  309. package/dist/services/definitions/steel-browser.d.ts +0 -3
  310. package/dist/services/definitions/steel-browser.d.ts.map +0 -1
  311. package/dist/services/definitions/steel-browser.js +0 -68
  312. package/dist/services/definitions/steel-browser.js.map +0 -1
  313. package/dist/services/definitions/tailscale.d.ts +0 -3
  314. package/dist/services/definitions/tailscale.d.ts.map +0 -1
  315. package/dist/services/definitions/tailscale.js +0 -62
  316. package/dist/services/definitions/tailscale.js.map +0 -1
  317. package/dist/services/definitions/temporal.d.ts +0 -3
  318. package/dist/services/definitions/temporal.d.ts.map +0 -1
  319. package/dist/services/definitions/temporal.js +0 -97
  320. package/dist/services/definitions/temporal.js.map +0 -1
  321. package/dist/services/definitions/traefik.d.ts +0 -3
  322. package/dist/services/definitions/traefik.d.ts.map +0 -1
  323. package/dist/services/definitions/traefik.js +0 -52
  324. package/dist/services/definitions/traefik.js.map +0 -1
  325. package/dist/services/definitions/umami.d.ts +0 -3
  326. package/dist/services/definitions/umami.d.ts.map +0 -1
  327. package/dist/services/definitions/umami.js +0 -41
  328. package/dist/services/definitions/umami.js.map +0 -1
  329. package/dist/services/definitions/uptime-kuma.d.ts +0 -3
  330. package/dist/services/definitions/uptime-kuma.d.ts.map +0 -1
  331. package/dist/services/definitions/uptime-kuma.js +0 -46
  332. package/dist/services/definitions/uptime-kuma.js.map +0 -1
  333. package/dist/services/definitions/valkey.d.ts +0 -3
  334. package/dist/services/definitions/valkey.d.ts.map +0 -1
  335. package/dist/services/definitions/valkey.js +0 -60
  336. package/dist/services/definitions/valkey.js.map +0 -1
  337. package/dist/services/definitions/watchtower.d.ts +0 -3
  338. package/dist/services/definitions/watchtower.d.ts.map +0 -1
  339. package/dist/services/definitions/watchtower.js +0 -41
  340. package/dist/services/definitions/watchtower.js.map +0 -1
  341. package/dist/services/definitions/weaviate.d.ts +0 -3
  342. package/dist/services/definitions/weaviate.d.ts.map +0 -1
  343. package/dist/services/definitions/weaviate.js +0 -89
  344. package/dist/services/definitions/weaviate.js.map +0 -1
  345. package/dist/services/definitions/whisper.d.ts +0 -3
  346. package/dist/services/definitions/whisper.d.ts.map +0 -1
  347. package/dist/services/definitions/whisper.js +0 -55
  348. package/dist/services/definitions/whisper.js.map +0 -1
  349. package/dist/services/registry.d.ts +0 -12
  350. package/dist/services/registry.d.ts.map +0 -1
  351. package/dist/services/registry.js +0 -28
  352. package/dist/services/registry.js.map +0 -1
  353. package/dist/skills/registry.d.ts +0 -7
  354. package/dist/skills/registry.d.ts.map +0 -1
  355. package/dist/skills/registry.js +0 -111
  356. package/dist/skills/registry.js.map +0 -1
  357. package/dist/types.d.ts +0 -60
  358. package/dist/types.d.ts.map +0 -1
  359. package/dist/types.js +0 -20
  360. package/dist/types.js.map +0 -1
  361. package/dist/validator.d.ts +0 -16
  362. package/dist/validator.d.ts.map +0 -1
  363. package/dist/validator.js +0 -142
  364. package/dist/validator.js.map +0 -1
  365. package/dist/version-manager.d.ts +0 -10
  366. package/dist/version-manager.d.ts.map +0 -1
  367. package/dist/version-manager.js +0 -60
  368. package/dist/version-manager.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/generators/env.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Generates Grafana provisioning configuration files.
3
- *
4
- * Returns a map of file paths (relative to project root) to file contents.
5
- * Includes datasource provisioning YAML for the Prometheus connection.
6
- */
7
- export declare function generateGrafanaConfig(): Record<string, string>;
8
- /**
9
- * Generates a Grafana dashboard JSON for the OpenClaw stack overview.
10
- *
11
- * The dashboard includes:
12
- * - Service Health (stat panel)
13
- * - Memory Usage (gauge)
14
- * - Request Rate (graph)
15
- *
16
- * Uses Prometheus as the datasource.
17
- */
18
- export declare function generateGrafanaDashboard(): string;
19
- //# sourceMappingURL=grafana.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grafana.d.ts","sourceRoot":"","sources":["../../src/generators/grafana.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqF9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAuJjD"}
@@ -1,247 +0,0 @@
1
- /**
2
- * Generates Grafana provisioning configuration files.
3
- *
4
- * Returns a map of file paths (relative to project root) to file contents.
5
- * Includes datasource provisioning YAML for the Prometheus connection.
6
- */
7
- export function generateGrafanaConfig() {
8
- const files = {};
9
- // ── Datasource Provisioning ─────────────────────────────────────────────
10
- files["config/grafana/provisioning/datasources/prometheus.yml"] =
11
- `# ═══════════════════════════════════════════════════════════════════════════════
12
- # Grafana Datasource Provisioning — Auto-generated by OpenClaw
13
- # ═══════════════════════════════════════════════════════════════════════════════
14
-
15
- apiVersion: 1
16
-
17
- datasources:
18
- # Prometheus — primary metrics datasource
19
- - name: Prometheus
20
- type: prometheus
21
- access: proxy
22
- url: http://prometheus:9090
23
- isDefault: true
24
- editable: true
25
- jsonData:
26
- httpMethod: POST
27
- timeInterval: "15s"
28
- exemplarTraceIdDestinations:
29
- - name: traceID
30
- datasourceUid: ""
31
- version: 1
32
- `;
33
- // ── Dashboard Provisioning ───────────────────────────────────────────────
34
- files["config/grafana/provisioning/dashboards/default.yml"] =
35
- `# ═══════════════════════════════════════════════════════════════════════════════
36
- # Grafana Dashboard Provisioning — Auto-generated by OpenClaw
37
- # ═══════════════════════════════════════════════════════════════════════════════
38
-
39
- apiVersion: 1
40
-
41
- providers:
42
- - name: "OpenClaw Dashboards"
43
- orgId: 1
44
- folder: "OpenClaw"
45
- type: file
46
- disableDeletion: false
47
- editable: true
48
- updateIntervalSeconds: 30
49
- allowUiUpdates: true
50
- options:
51
- path: /var/lib/grafana/dashboards
52
- foldersFromFilesStructure: false
53
- `;
54
- // ── Grafana Configuration (grafana.ini overrides) ────────────────────────
55
- files["config/grafana/grafana.ini"] =
56
- `# ═══════════════════════════════════════════════════════════════════════════════
57
- # Grafana Configuration — Auto-generated by OpenClaw
58
- # ═══════════════════════════════════════════════════════════════════════════════
59
-
60
- [server]
61
- root_url = %(protocol)s://%(domain)s/
62
-
63
- [security]
64
- # Admin credentials are set via environment variables:
65
- # GF_SECURITY_ADMIN_USER
66
- # GF_SECURITY_ADMIN_PASSWORD
67
-
68
- [auth.anonymous]
69
- enabled = false
70
-
71
- [dashboards]
72
- default_home_dashboard_path = /var/lib/grafana/dashboards/home.json
73
-
74
- [alerting]
75
- enabled = true
76
-
77
- [unified_alerting]
78
- enabled = true
79
-
80
- [log]
81
- mode = console
82
- level = info
83
- `;
84
- return files;
85
- }
86
- /**
87
- * Generates a Grafana dashboard JSON for the OpenClaw stack overview.
88
- *
89
- * The dashboard includes:
90
- * - Service Health (stat panel)
91
- * - Memory Usage (gauge)
92
- * - Request Rate (graph)
93
- *
94
- * Uses Prometheus as the datasource.
95
- */
96
- export function generateGrafanaDashboard() {
97
- const dashboard = {
98
- annotations: { list: [] },
99
- editable: true,
100
- fiscalYearStartMonth: 0,
101
- graphTooltip: 1,
102
- links: [],
103
- panels: [
104
- {
105
- // ── Service Health (stat panel) ──
106
- id: 1,
107
- title: "Service Health",
108
- type: "stat",
109
- gridPos: { h: 8, w: 8, x: 0, y: 0 },
110
- datasource: { type: "prometheus", uid: "prometheus" },
111
- targets: [
112
- {
113
- expr: 'count(up{job=~".+"} == 1)',
114
- legendFormat: "Healthy Services",
115
- refId: "A",
116
- },
117
- ],
118
- fieldConfig: {
119
- defaults: {
120
- thresholds: {
121
- mode: "absolute",
122
- steps: [
123
- { color: "red", value: null },
124
- { color: "yellow", value: 1 },
125
- { color: "green", value: 3 },
126
- ],
127
- },
128
- color: { mode: "thresholds" },
129
- mappings: [],
130
- },
131
- overrides: [],
132
- },
133
- options: {
134
- reduceOptions: {
135
- values: false,
136
- calcs: ["lastNotNull"],
137
- fields: "",
138
- },
139
- orientation: "auto",
140
- textMode: "auto",
141
- colorMode: "background",
142
- graphMode: "none",
143
- justifyMode: "auto",
144
- },
145
- },
146
- {
147
- // ── Memory Usage (gauge) ──
148
- id: 2,
149
- title: "Memory Usage",
150
- type: "gauge",
151
- gridPos: { h: 8, w: 8, x: 8, y: 0 },
152
- datasource: { type: "prometheus", uid: "prometheus" },
153
- targets: [
154
- {
155
- expr: "sum(container_memory_usage_bytes) / sum(machine_memory_bytes) * 100",
156
- legendFormat: "Memory %",
157
- refId: "A",
158
- },
159
- ],
160
- fieldConfig: {
161
- defaults: {
162
- thresholds: {
163
- mode: "absolute",
164
- steps: [
165
- { color: "green", value: null },
166
- { color: "yellow", value: 60 },
167
- { color: "red", value: 85 },
168
- ],
169
- },
170
- color: { mode: "thresholds" },
171
- min: 0,
172
- max: 100,
173
- unit: "percent",
174
- mappings: [],
175
- },
176
- overrides: [],
177
- },
178
- options: {
179
- reduceOptions: {
180
- values: false,
181
- calcs: ["lastNotNull"],
182
- fields: "",
183
- },
184
- orientation: "auto",
185
- showThresholdLabels: false,
186
- showThresholdMarkers: true,
187
- },
188
- },
189
- {
190
- // ── Request Rate (graph / timeseries) ──
191
- id: 3,
192
- title: "Request Rate",
193
- type: "timeseries",
194
- gridPos: { h: 8, w: 8, x: 16, y: 0 },
195
- datasource: { type: "prometheus", uid: "prometheus" },
196
- targets: [
197
- {
198
- expr: 'sum(rate(http_requests_total{job=~".+"}[5m])) by (job)',
199
- legendFormat: "{{job}}",
200
- refId: "A",
201
- },
202
- ],
203
- fieldConfig: {
204
- defaults: {
205
- color: { mode: "palette-classic" },
206
- custom: {
207
- axisBorderShow: false,
208
- axisCenteredZero: false,
209
- axisColorMode: "text",
210
- axisLabel: "req/s",
211
- drawStyle: "line",
212
- fillOpacity: 10,
213
- gradientMode: "none",
214
- lineInterpolation: "smooth",
215
- lineWidth: 2,
216
- pointSize: 5,
217
- showPoints: "auto",
218
- spanNulls: false,
219
- stacking: { group: "A", mode: "none" },
220
- },
221
- mappings: [],
222
- thresholds: {
223
- mode: "absolute",
224
- steps: [{ color: "green", value: null }],
225
- },
226
- unit: "reqps",
227
- },
228
- overrides: [],
229
- },
230
- options: {
231
- legend: { calcs: [], displayMode: "list", placement: "bottom" },
232
- tooltip: { mode: "multi", sort: "desc" },
233
- },
234
- },
235
- ],
236
- schemaVersion: 39,
237
- tags: ["openclaw"],
238
- templating: { list: [] },
239
- time: { from: "now-1h", to: "now" },
240
- timepicker: {},
241
- timezone: "browser",
242
- title: "OpenClaw Stack Overview",
243
- uid: "openclaw-stack-overview",
244
- };
245
- return JSON.stringify(dashboard, null, 2);
246
- }
247
- //# sourceMappingURL=grafana.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grafana.js","sourceRoot":"","sources":["../../src/generators/grafana.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACpC,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,2EAA2E;IAE3E,KAAK,CAAC,wDAAwD,CAAC;QAC9D;;;;;;;;;;;;;;;;;;;;;CAqBD,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,oDAAoD,CAAC;QAC1D;;;;;;;;;;;;;;;;;;CAkBD,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,4BAA4B,CAAC;QAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB;IACvC,MAAM,SAAS,GAAG;QACjB,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACzB,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,CAAC;QACvB,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;YACP;gBACC,oCAAoC;gBACpC,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;gBACrD,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,2BAA2B;wBACjC,YAAY,EAAE,kBAAkB;wBAChC,KAAK,EAAE,GAAG;qBACV;iBACD;gBACD,WAAW,EAAE;oBACZ,QAAQ,EAAE;wBACT,UAAU,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE;gCACN,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;gCAC7B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;gCAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;6BAC5B;yBACD;wBACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;wBAC7B,QAAQ,EAAE,EAAE;qBACZ;oBACD,SAAS,EAAE,EAAE;iBACb;gBACD,OAAO,EAAE;oBACR,aAAa,EAAE;wBACd,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,CAAC,aAAa,CAAC;wBACtB,MAAM,EAAE,EAAE;qBACV;oBACD,WAAW,EAAE,MAAM;oBACnB,QAAQ,EAAE,MAAM;oBAChB,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,MAAM;iBACnB;aACD;YACD;gBACC,6BAA6B;gBAC7B,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;gBACrD,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,qEAAqE;wBAC3E,YAAY,EAAE,UAAU;wBACxB,KAAK,EAAE,GAAG;qBACV;iBACD;gBACD,WAAW,EAAE;oBACZ,QAAQ,EAAE;wBACT,UAAU,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE;gCACN,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;gCAC/B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;gCAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;6BAC3B;yBACD;wBACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;wBAC7B,GAAG,EAAE,CAAC;wBACN,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,EAAE;qBACZ;oBACD,SAAS,EAAE,EAAE;iBACb;gBACD,OAAO,EAAE;oBACR,aAAa,EAAE;wBACd,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,CAAC,aAAa,CAAC;wBACtB,MAAM,EAAE,EAAE;qBACV;oBACD,WAAW,EAAE,MAAM;oBACnB,mBAAmB,EAAE,KAAK;oBAC1B,oBAAoB,EAAE,IAAI;iBAC1B;aACD;YACD;gBACC,0CAA0C;gBAC1C,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;gBACpC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;gBACrD,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,wDAAwD;wBAC9D,YAAY,EAAE,SAAS;wBACvB,KAAK,EAAE,GAAG;qBACV;iBACD;gBACD,WAAW,EAAE;oBACZ,QAAQ,EAAE;wBACT,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;wBAClC,MAAM,EAAE;4BACP,cAAc,EAAE,KAAK;4BACrB,gBAAgB,EAAE,KAAK;4BACvB,aAAa,EAAE,MAAM;4BACrB,SAAS,EAAE,OAAO;4BAClB,SAAS,EAAE,MAAM;4BACjB,WAAW,EAAE,EAAE;4BACf,YAAY,EAAE,MAAM;4BACpB,iBAAiB,EAAE,QAAQ;4BAC3B,SAAS,EAAE,CAAC;4BACZ,SAAS,EAAE,CAAC;4BACZ,UAAU,EAAE,MAAM;4BAClB,SAAS,EAAE,KAAK;4BAChB,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;yBACtC;wBACD,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;yBACxC;wBACD,IAAI,EAAE,OAAO;qBACb;oBACD,SAAS,EAAE,EAAE;iBACb;gBACD,OAAO,EAAE;oBACR,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;oBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;iBACxC;aACD;SACD;QACD,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;QACnC,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,yBAAyB;QAChC,GAAG,EAAE,yBAAyB;KAC9B,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { ResolverOutput } from "../types.js";
2
- /**
3
- * Generates n8n workflow template files.
4
- * Returns a map of file paths to JSON content strings.
5
- */
6
- export declare function generateN8nWorkflows(resolved: ResolverOutput): Record<string, string>;
7
- //# sourceMappingURL=n8n-workflows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"n8n-workflows.d.ts","sourceRoot":"","sources":["../../src/generators/n8n-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrF"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Generates n8n workflow template files.
3
- * Returns a map of file paths to JSON content strings.
4
- */
5
- export function generateN8nWorkflows(resolved) {
6
- const files = {};
7
- // Only generate if n8n is in the stack
8
- const hasN8n = resolved.services.some((s) => s.definition.id === "n8n");
9
- if (!hasN8n)
10
- return files;
11
- files["n8n/workflows/openclaw-webhook-handler.json"] = JSON.stringify(createWebhookHandlerWorkflow(resolved), null, 2);
12
- return files;
13
- }
14
- function createWebhookHandlerWorkflow(resolved) {
15
- // Create a basic n8n workflow JSON that:
16
- // 1. Has a Webhook trigger node listening on /openclaw-webhook
17
- // 2. Has a Function node that processes the payload
18
- // 3. Outputs to a Respond to Webhook node
19
- const serviceNames = resolved.services.map((s) => s.definition.name).join(", ");
20
- return {
21
- name: "OpenClaw Webhook Handler",
22
- nodes: [
23
- {
24
- parameters: {
25
- httpMethod: "POST",
26
- path: "openclaw-webhook",
27
- responseMode: "responseNode",
28
- options: {},
29
- },
30
- id: "webhook-trigger",
31
- name: "Webhook",
32
- type: "n8n-nodes-base.webhook",
33
- typeVersion: 2,
34
- position: [250, 300],
35
- },
36
- {
37
- parameters: {
38
- jsCode: "// Process OpenClaw webhook payload\n" +
39
- "const payload = $input.all()[0].json;\n" +
40
- "\n" +
41
- "// Available services in this stack:\n" +
42
- `// ${serviceNames}\n` +
43
- "\n" +
44
- "return [{ json: { received: true, timestamp: new Date().toISOString(), payload } }];",
45
- },
46
- id: "process-payload",
47
- name: "Process Payload",
48
- type: "n8n-nodes-base.code",
49
- typeVersion: 2,
50
- position: [470, 300],
51
- },
52
- {
53
- parameters: {
54
- respondWith: "json",
55
- responseBody: "={{ JSON.stringify($json) }}",
56
- options: {},
57
- },
58
- id: "respond",
59
- name: "Respond to Webhook",
60
- type: "n8n-nodes-base.respondToWebhook",
61
- typeVersion: 1,
62
- position: [690, 300],
63
- },
64
- ],
65
- connections: {
66
- Webhook: {
67
- main: [[{ node: "Process Payload", type: "main", index: 0 }]],
68
- },
69
- "Process Payload": {
70
- main: [[{ node: "Respond to Webhook", type: "main", index: 0 }]],
71
- },
72
- },
73
- active: false,
74
- settings: { executionOrder: "v1" },
75
- tags: [{ name: "openclaw" }],
76
- };
77
- }
78
- //# sourceMappingURL=n8n-workflows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"n8n-workflows.js","sourceRoot":"","sources":["../../src/generators/n8n-workflows.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAwB;IAC5D,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,uCAAuC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,KAAK,CAAC,6CAA6C,CAAC,GAAG,IAAI,CAAC,SAAS,CACpE,4BAA4B,CAAC,QAAQ,CAAC,EACtC,IAAI,EACJ,CAAC,CACD,CAAC;IAEF,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAwB;IAC7D,yCAAyC;IACzC,+DAA+D;IAC/D,oDAAoD;IACpD,0CAA0C;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhF,OAAO;QACN,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE;YACN;gBACC,UAAU,EAAE;oBACX,UAAU,EAAE,MAAM;oBAClB,IAAI,EAAE,kBAAkB;oBACxB,YAAY,EAAE,cAAc;oBAC5B,OAAO,EAAE,EAAE;iBACX;gBACD,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB;YACD;gBACC,UAAU,EAAE;oBACX,MAAM,EACL,uCAAuC;wBACvC,yCAAyC;wBACzC,IAAI;wBACJ,wCAAwC;wBACxC,MAAM,YAAY,IAAI;wBACtB,IAAI;wBACJ,sFAAsF;iBACvF;gBACD,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB;YACD;gBACC,UAAU,EAAE;oBACX,WAAW,EAAE,MAAM;oBACnB,YAAY,EAAE,8BAA8B;oBAC5C,OAAO,EAAE,EAAE;iBACX;gBACD,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB;SACD;QACD,WAAW,EAAE;YACZ,OAAO,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aAC7D;YACD,iBAAiB,EAAE;gBAClB,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aAChE;SACD;QACD,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;QAClC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAC5B,CAAC;AACH,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { NativePlatform, ResolvedService } from "../types.js";
2
- export interface NativeServicesGeneratorOptions {
3
- nativeServices: ResolvedService[];
4
- platform: NativePlatform;
5
- projectName: string;
6
- }
7
- /**
8
- * Generates native install/run scripts for services that have a native recipe.
9
- * Returns e.g. native/install-linux.sh (or native/install.ps1 for Windows).
10
- * Scripts source .env and run install steps then start commands in dependency order.
11
- */
12
- export declare function generateNativeInstallScripts(options: NativeServicesGeneratorOptions): Record<string, string>;
13
- //# sourceMappingURL=native-services.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-services.d.ts","sourceRoot":"","sources":["../../src/generators/native-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,8BAA8B,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Generates native install/run scripts for services that have a native recipe.
3
- * Returns e.g. native/install-linux.sh (or native/install.ps1 for Windows).
4
- * Scripts source .env and run install steps then start commands in dependency order.
5
- */
6
- export function generateNativeInstallScripts(options) {
7
- const { nativeServices, platform } = options;
8
- const files = {};
9
- if (platform === "linux") {
10
- files["native/install-linux.sh"] = buildLinuxNativeScript(nativeServices);
11
- }
12
- else if (platform === "windows") {
13
- files["native/install-windows.ps1"] = buildWindowsNativeScript(nativeServices);
14
- }
15
- else {
16
- // macos: use bash script similar to linux
17
- files["native/install-macos.sh"] = buildLinuxNativeScript(nativeServices);
18
- }
19
- return files;
20
- }
21
- function buildLinuxNativeScript(nativeServices) {
22
- const lines = [
23
- "#!/usr/bin/env bash",
24
- "set -euo pipefail",
25
- "# OpenClaw native services — install and start (Linux). Run from project root. Source .env first.",
26
- "",
27
- 'SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"',
28
- 'PROJECT_DIR="$(dirname "$SCRIPT_DIR")"',
29
- 'cd "$PROJECT_DIR"',
30
- "",
31
- "if [ -f .env ]; then set -a; source .env; set +a; fi",
32
- "",
33
- ];
34
- for (const { definition: def } of nativeServices) {
35
- const recipe = def.nativeRecipes?.find((r) => r.platform === "linux");
36
- if (!recipe)
37
- continue;
38
- lines.push(`# ─── ${def.icon} ${def.name} ─────────────────────────────────────────`);
39
- lines.push("");
40
- if (recipe.configPath && recipe.configTemplate) {
41
- const delim = `ENDOF_${def.id.toUpperCase().replace(/-/g, "_")}_CONF`;
42
- lines.push(`# Write config for ${def.id}`);
43
- lines.push(`sudo mkdir -p "$(dirname "${recipe.configPath}")" 2>/dev/null || true`);
44
- lines.push(`sudo tee "${recipe.configPath}" > /dev/null << ${delim}`);
45
- lines.push(recipe.configTemplate.trim());
46
- lines.push(delim);
47
- lines.push("");
48
- }
49
- for (const step of recipe.installSteps) {
50
- lines.push(`# Install: ${def.id}`);
51
- lines.push(step);
52
- lines.push("");
53
- }
54
- lines.push(`# Start: ${def.id}`);
55
- lines.push(recipe.startCommand);
56
- lines.push("");
57
- }
58
- lines.push("echo 'Native services started.'");
59
- return lines.join("\n");
60
- }
61
- function buildWindowsNativeScript(nativeServices) {
62
- const lines = [
63
- "# OpenClaw native services — install and start (Windows). Run from project root.",
64
- "$ErrorActionPreference = 'Stop'",
65
- "$ProjectDir = (Get-Item $PSScriptRoot).Parent.FullName",
66
- "Set-Location $ProjectDir",
67
- "",
68
- "if (Test-Path .env) { Get-Content .env | ForEach-Object { if ($_ -match '^([^#=]+)=(.*)$') { [System.Environment]::SetEnvironmentVariable($matches[1].Trim(), $matches[2].Trim(), 'Process') } } }",
69
- "",
70
- ];
71
- for (const { definition: def } of nativeServices) {
72
- const recipe = def.nativeRecipes?.find((r) => r.platform === "windows");
73
- if (!recipe)
74
- continue;
75
- lines.push(`# ${def.name}`);
76
- for (const step of recipe.installSteps) {
77
- lines.push(`Invoke-Expression "${step.replace(/"/g, '`"')}"`);
78
- }
79
- lines.push(recipe.startCommand);
80
- lines.push("");
81
- }
82
- lines.push("Write-Host 'Native services started.'");
83
- return lines.join("\n");
84
- }
85
- //# sourceMappingURL=native-services.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-services.js","sourceRoot":"","sources":["../../src/generators/native-services.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { ResolverOutput } from "../types.js";
2
- /**
3
- * Database requirement descriptor for a service.
4
- */
5
- interface DbRequirement {
6
- serviceId: string;
7
- serviceName: string;
8
- dbName: string;
9
- dbUser: string;
10
- passwordEnvVar: string;
11
- }
12
- /**
13
- * Get the list of database requirements for all resolved services.
14
- * Exported so other generators (env, composer) can access the same data.
15
- */
16
- export declare function getDbRequirements(resolved: ResolverOutput): DbRequirement[];
17
- /**
18
- * Generates a PostgreSQL initialization script that creates databases and users
19
- * for all companion services that need their own DB.
20
- *
21
- * Returns null if PostgreSQL is not in the resolved stack or no services need extra DBs.
22
- * The script is designed to be mounted at /docker-entrypoint-initdb.d/init-databases.sh
23
- * and runs automatically during PostgreSQL's first initialization.
24
- */
25
- export declare function generatePostgresInit(resolved: ResolverOutput): string | null;
26
- export {};
27
- //# sourceMappingURL=postgres-init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres-init.d.ts","sourceRoot":"","sources":["../../src/generators/postgres-init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACvB;AA4BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,EAAE,CAa3E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAsE5E"}
@@ -1,119 +0,0 @@
1
- /**
2
- * Known database requirements for services that need their own PostgreSQL database.
3
- * Maps service ID to the DB name, user, and password env var they expect.
4
- */
5
- const DB_REQUIREMENTS = {
6
- n8n: { dbName: "n8n", dbUser: "n8n", passwordEnvVar: "N8N_DB_PASSWORD" },
7
- postiz: { dbName: "postiz", dbUser: "postiz", passwordEnvVar: "POSTIZ_DB_PASSWORD" },
8
- outline: { dbName: "outline", dbUser: "outline", passwordEnvVar: "OUTLINE_DB_PASSWORD" },
9
- dify: { dbName: "dify", dbUser: "dify", passwordEnvVar: "DIFY_DB_PASSWORD" },
10
- temporal: { dbName: "temporal", dbUser: "temporal", passwordEnvVar: "TEMPORAL_DB_PASSWORD" },
11
- mattermost: {
12
- dbName: "mattermost",
13
- dbUser: "mattermost",
14
- passwordEnvVar: "MATTERMOST_DB_PASSWORD",
15
- },
16
- "matrix-synapse": { dbName: "synapse", dbUser: "synapse", passwordEnvVar: "SYNAPSE_DB_PASSWORD" },
17
- "paperless-ngx": {
18
- dbName: "paperless",
19
- dbUser: "paperless",
20
- passwordEnvVar: "PAPERLESS_DB_PASSWORD",
21
- },
22
- umami: { dbName: "umami", dbUser: "umami", passwordEnvVar: "UMAMI_DB_PASSWORD" },
23
- matomo: { dbName: "matomo", dbUser: "matomo", passwordEnvVar: "MATOMO_DB_PASSWORD" },
24
- mixpost: { dbName: "mixpost", dbUser: "mixpost", passwordEnvVar: "MIXPOST_DB_PASSWORD" },
25
- };
26
- /**
27
- * Get the list of database requirements for all resolved services.
28
- * Exported so other generators (env, composer) can access the same data.
29
- */
30
- export function getDbRequirements(resolved) {
31
- const reqs = [];
32
- for (const { definition } of resolved.services) {
33
- const req = DB_REQUIREMENTS[definition.id];
34
- if (req) {
35
- reqs.push({
36
- serviceId: definition.id,
37
- serviceName: definition.name,
38
- ...req,
39
- });
40
- }
41
- }
42
- return reqs;
43
- }
44
- /**
45
- * Generates a PostgreSQL initialization script that creates databases and users
46
- * for all companion services that need their own DB.
47
- *
48
- * Returns null if PostgreSQL is not in the resolved stack or no services need extra DBs.
49
- * The script is designed to be mounted at /docker-entrypoint-initdb.d/init-databases.sh
50
- * and runs automatically during PostgreSQL's first initialization.
51
- */
52
- export function generatePostgresInit(resolved) {
53
- const hasPostgres = resolved.services.some((s) => s.definition.id === "postgresql");
54
- if (!hasPostgres)
55
- return null;
56
- const reqs = getDbRequirements(resolved);
57
- if (reqs.length === 0)
58
- return null;
59
- const createCalls = reqs
60
- .map((r) => `create_db_and_user "${r.dbName}" "${r.dbUser}" "\${${r.passwordEnvVar}:-$POSTGRES_PASSWORD}"`)
61
- .join("\n");
62
- return `#!/bin/bash
63
- set -e
64
-
65
- # ═══════════════════════════════════════════════════════════════════════════════
66
- # PostgreSQL Initialization Script
67
- # Generated by better-openclaw
68
- #
69
- # This script runs automatically during PostgreSQL's first initialization.
70
- # It creates databases and users for all companion services in your stack.
71
- # ═══════════════════════════════════════════════════════════════════════════════
72
-
73
- create_db_and_user() {
74
- local db="$1"
75
- local user="$2"
76
- local password="$3"
77
-
78
- echo ">>> Creating database '$db' with user '$user'..."
79
-
80
- psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
81
- -- Create user if not exists
82
- DO \\$\\$
83
- BEGIN
84
- IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '$user') THEN
85
- CREATE ROLE "$user" WITH LOGIN PASSWORD '$password';
86
- RAISE NOTICE 'Created user: $user';
87
- ELSE
88
- -- Update password in case it changed
89
- ALTER ROLE "$user" WITH PASSWORD '$password';
90
- RAISE NOTICE 'User already exists, updated password: $user';
91
- END IF;
92
- END
93
- \\$\\$;
94
-
95
- -- Create database if not exists
96
- SELECT 'CREATE DATABASE "$db" OWNER "$user"'
97
- WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$db')\\gexec
98
-
99
- -- Grant privileges
100
- GRANT ALL PRIVILEGES ON DATABASE "$db" TO "$user";
101
- EOSQL
102
-
103
- echo ">>> Done: database '$db' with user '$user'"
104
- }
105
-
106
- echo "═══════════════════════════════════════════════════════════"
107
- echo " Initializing databases for companion services..."
108
- echo "═══════════════════════════════════════════════════════════"
109
-
110
- ${createCalls}
111
-
112
- echo ""
113
- echo "═══════════════════════════════════════════════════════════"
114
- echo " All databases initialized successfully!"
115
- echo " Services: ${reqs.map((r) => r.serviceName).join(", ")}"
116
- echo "═══════════════════════════════════════════════════════════"
117
- `;
118
- }
119
- //# sourceMappingURL=postgres-init.js.map