@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,4 @@
1
+
2
+ > @better-openclaw/core@1.0.0 build /home/runner/work/better-openclaw/better-openclaw/packages/core
3
+ > tsc
4
+
@@ -0,0 +1,360 @@
1
+
2
+ > @better-openclaw/core@1.0.0 lint /home/runner/work/better-openclaw/better-openclaw/packages/core
3
+ > biome check src/
4
+
5
+ src/composer.ts:318:4 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6
+
7
+ ! Forbidden non-null assertion.
8
+
9
+ 316 │ profileFileMap[mapping.file] = { profile: mapping.profile, services: [] };
10
+ 317 │ }
11
+ > 318 │ profileFileMap[mapping.file]!.services.push(info);
12
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13
+ 319 │ } else {
14
+ 320 │ baseServiceIds.add(info.id);
15
+
16
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
17
+
18
+ 316 316 │ profileFileMap[mapping.file] = { profile: mapping.profile, services: [] };
19
+ 317 317 │ }
20
+ 318 │ - → → → profileFileMap[mapping.file]!.services.push(info);
21
+ 318 │ + → → → profileFileMap[mapping.file]?.services.push(info);
22
+ 319 319 │ } else {
23
+ 320 320 │ baseServiceIds.add(info.id);
24
+
25
+
26
+ src/generate.test.ts:26:26 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
+
28
+ ! Forbidden non-null assertion.
29
+
30
+ 25 │ // docker-compose.yml must be valid YAML
31
+ > 26 │ const composed = parse(result.files["docker-compose.yml"]!);
32
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33
+ 27 │ expect(composed).toHaveProperty("services");
34
+ 28 │
35
+
36
+
37
+ src/generate.test.ts:58:26 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38
+
39
+ ! Forbidden non-null assertion.
40
+
41
+ 57 │ // docker-compose.yml should contain the expected services
42
+ > 58 │ const composed = parse(result.files["docker-compose.yml"]!);
43
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44
+ 59 │ expect(composed.services).toHaveProperty("qdrant");
45
+ 60 │ expect(composed.services).toHaveProperty("searxng");
46
+
47
+
48
+ src/generate.test.ts:131:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
+
50
+ ! Forbidden non-null assertion.
51
+
52
+ 130 │ expect(result.files).toHaveProperty("caddy/Caddyfile");
53
+ > 131 │ expect(result.files["caddy/Caddyfile"]!.length).toBeGreaterThan(0);
54
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
+ 132 │ });
56
+ 133 │
57
+
58
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
59
+
60
+ 129 129 │
61
+ 130 130 │ expect(result.files).toHaveProperty("caddy/Caddyfile");
62
+ 131 │ - → → expect(result.files["caddy/Caddyfile"]!.length).toBeGreaterThan(0);
63
+ 131 │ + → → expect(result.files["caddy/Caddyfile"]?.length).toBeGreaterThan(0);
64
+ 132 132 │ });
65
+ 133 133 │
66
+
67
+
68
+ src/generate.test.ts:150:28 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
+
70
+ ! Forbidden non-null assertion.
71
+
72
+ 148 │ expect(result.files).toHaveProperty("prometheus/prometheus.yml");
73
+ 149 │ // Verify it's valid YAML
74
+ > 150 │ const promConfig = parse(result.files["prometheus/prometheus.yml"]!);
75
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
76
+ 151 │ expect(promConfig).toBeDefined();
77
+ 152 │ });
78
+
79
+
80
+ src/generate.test.ts:248:26 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
81
+
82
+ ! Forbidden non-null assertion.
83
+
84
+ 247 │ // Docker compose must NOT include redis (native); only gateway/openclaw
85
+ > 248 │ const composed = parse(result.files["docker-compose.yml"]!);
86
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87
+ 249 │ expect(composed.services).not.toHaveProperty("redis");
88
+ 250 │ expect(composed.services).toHaveProperty("openclaw-gateway");
89
+
90
+
91
+ src/generate.test.ts:305:11 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
92
+
93
+ ! Forbidden non-null assertion.
94
+
95
+ 303 │ for (const script of expectedScripts) {
96
+ 304 │ expect(result.files).toHaveProperty(script);
97
+ > 305 │ expect(result.files[script]!.length).toBeGreaterThan(0);
98
+ │ ^^^^^^^^^^^^^^^^^^^^^
99
+ 306 │ }
100
+ 307 │ });
101
+
102
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
103
+
104
+ 303 303 │ for (const script of expectedScripts) {
105
+ 304 304 │ expect(result.files).toHaveProperty(script);
106
+ 305 │ - → → → expect(result.files[script]!.length).toBeGreaterThan(0);
107
+ 305 │ + → → → expect(result.files[script]?.length).toBeGreaterThan(0);
108
+ 306 306 │ }
109
+ 307 307 │ });
110
+
111
+
112
+ src/generate.test.ts:322:22 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
+
114
+ ! Forbidden non-null assertion.
115
+
116
+ 320 │ });
117
+ 321 │
118
+ > 322 │ const envExample = result.files[".env.example"]!;
119
+ │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120
+ 323 │ const lines = envExample.split("\n");
121
+ 324 │
122
+
123
+
124
+ src/generate.test.ts:328:17 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
125
+
126
+ ! Forbidden non-null assertion.
127
+
128
+ 326 │ // have a preceding comment line (starting with #).
129
+ 327 │ for (let i = 0; i < lines.length; i++) {
130
+ > 328 │ const line = lines[i]!.trim();
131
+ │ ^^^^^^^^^
132
+ 329 │ if (line === "" || line.startsWith("#")) continue;
133
+ 330 │
134
+
135
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
136
+
137
+ 326 326 │ // have a preceding comment line (starting with #).
138
+ 327 327 │ for (let i = 0; i < lines.length; i++) {
139
+ 328 │ - → → → const·line·=·lines[i]!.trim();
140
+ 328 │ + → → → const·line·=·lines[i]?.trim();
141
+ 329 329 │ if (line === "" || line.startsWith("#")) continue;
142
+ 330 330 │
143
+
144
+
145
+ src/generate.test.ts:336:19 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
146
+
147
+ ! Forbidden non-null assertion.
148
+
149
+ 334 │ let foundComment = false;
150
+ 335 │ for (let j = i - 1; j >= 0; j--) {
151
+ > 336 │ const prev = lines[j]!.trim();
152
+ │ ^^^^^^^^^
153
+ 337 │ if (prev === "") continue; // skip blank lines
154
+ 338 │ if (prev.startsWith("#")) {
155
+
156
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
157
+
158
+ 334 334 │ let foundComment = false;
159
+ 335 335 │ for (let j = i - 1; j >= 0; j--) {
160
+ 336 │ - → → → → → const·prev·=·lines[j]!.trim();
161
+ 336 │ + → → → → → const·prev·=·lines[j]?.trim();
162
+ 337 337 │ if (prev === "") continue; // skip blank lines
163
+ 338 338 │ if (prev.startsWith("#")) {
164
+
165
+
166
+ src/generators/caddy.ts:40:23 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
167
+
168
+ ! Forbidden non-null assertion.
169
+
170
+ 39 │ // Use the first exposed port as the primary route target
171
+ > 40 │ const primaryPort = exposedPorts[0]!;
172
+ │ ^^^^^^^^^^^^^^^^
173
+ 41 │ const subdomain = `${definition.id}.${domain}`;
174
+ 42 │
175
+
176
+
177
+ src/generators/caddy.ts:69:17 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
+
179
+ ! Forbidden non-null assertion.
180
+
181
+ 67 │ // If there are additional exposed ports, add them as separate entries
182
+ 68 │ for (let i = 1; i < exposedPorts.length; i++) {
183
+ > 69 │ const port = exposedPorts[i]!;
184
+ │ ^^^^^^^^^^^^^^^^
185
+ 70 │ const portSubdomain = `${definition.id}-${port.description
186
+ 71 │ .toLowerCase()
187
+
188
+
189
+ src/presets/registry.test.ts:12:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
190
+
191
+ ! Forbidden non-null assertion.
192
+
193
+ 10 │ const preset = getPresetById("lasuite-meet");
194
+ 11 │ expect(preset).toBeDefined();
195
+ > 12 │ expect(preset!.id).toBe("lasuite-meet");
196
+ │ ^^^^^^^
197
+ 13 │ expect(preset!.name).toBe("La Suite Meet");
198
+ 14 │ expect(preset!.services).toEqual([
199
+
200
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
201
+
202
+ 10 10 │ const preset = getPresetById("lasuite-meet");
203
+ 11 11 │ expect(preset).toBeDefined();
204
+ 12 │ - → → expect(preset!.id).toBe("lasuite-meet");
205
+ 12 │ + → → expect(preset?.id).toBe("lasuite-meet");
206
+ 13 13 │ expect(preset!.name).toBe("La Suite Meet");
207
+ 14 14 │ expect(preset!.services).toEqual([
208
+
209
+
210
+ src/presets/registry.test.ts:13:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
211
+
212
+ ! Forbidden non-null assertion.
213
+
214
+ 11 │ expect(preset).toBeDefined();
215
+ 12 │ expect(preset!.id).toBe("lasuite-meet");
216
+ > 13 │ expect(preset!.name).toBe("La Suite Meet");
217
+ │ ^^^^^^^
218
+ 14 │ expect(preset!.services).toEqual([
219
+ 15 │ "postgresql",
220
+
221
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
222
+
223
+ 11 11 │ expect(preset).toBeDefined();
224
+ 12 12 │ expect(preset!.id).toBe("lasuite-meet");
225
+ 13 │ - → → expect(preset!.name).toBe("La·Suite·Meet");
226
+ 13 │ + → → expect(preset?.name).toBe("La·Suite·Meet");
227
+ 14 14 │ expect(preset!.services).toEqual([
228
+ 15 15 │ "postgresql",
229
+
230
+
231
+ src/presets/registry.test.ts:14:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
232
+
233
+ ! Forbidden non-null assertion.
234
+
235
+ 12 │ expect(preset!.id).toBe("lasuite-meet");
236
+ 13 │ expect(preset!.name).toBe("La Suite Meet");
237
+ > 14 │ expect(preset!.services).toEqual([
238
+ │ ^^^^^^^
239
+ 15 │ "postgresql",
240
+ 16 │ "redis",
241
+
242
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
243
+
244
+ 12 12 │ expect(preset!.id).toBe("lasuite-meet");
245
+ 13 13 │ expect(preset!.name).toBe("La Suite Meet");
246
+ 14 │ - → → expect(preset!.services).toEqual([
247
+ 14 │ + → → expect(preset?.services).toEqual([
248
+ 15 15 │ "postgresql",
249
+ 16 16 │ "redis",
250
+
251
+
252
+ src/presets/registry.test.ts:22:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
253
+
254
+ ! Forbidden non-null assertion.
255
+
256
+ 20 │ "lasuite-meet-agents",
257
+ 21 │ ]);
258
+ > 22 │ expect(preset!.skillPacks).toEqual([]);
259
+ │ ^^^^^^^
260
+ 23 │ expect(preset!.estimatedMemoryMB).toBe(2048);
261
+ 24 │ });
262
+
263
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
264
+
265
+ 20 20 │ "lasuite-meet-agents",
266
+ 21 21 │ ]);
267
+ 22 │ - → → expect(preset!.skillPacks).toEqual([]);
268
+ 22 │ + → → expect(preset?.skillPacks).toEqual([]);
269
+ 23 23 │ expect(preset!.estimatedMemoryMB).toBe(2048);
270
+ 24 24 │ });
271
+
272
+
273
+ src/services/registry.test.ts:18:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
274
+
275
+ ! Forbidden non-null assertion.
276
+
277
+ 16 │ const redis = getServiceById("redis");
278
+ 17 │ expect(redis).toBeDefined();
279
+ > 18 │ expect(redis!.id).toBe("redis");
280
+ │ ^^^^^^
281
+ 19 │ expect(redis!.name).toBe("Redis");
282
+ 20 │ });
283
+
284
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
285
+
286
+ 16 16 │ const redis = getServiceById("redis");
287
+ 17 17 │ expect(redis).toBeDefined();
288
+ 18 │ - → → expect(redis!.id).toBe("redis");
289
+ 18 │ + → → expect(redis?.id).toBe("redis");
290
+ 19 19 │ expect(redis!.name).toBe("Redis");
291
+ 20 20 │ });
292
+
293
+
294
+ src/services/registry.test.ts:19:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
295
+
296
+ ! Forbidden non-null assertion.
297
+
298
+ 17 │ expect(redis).toBeDefined();
299
+ 18 │ expect(redis!.id).toBe("redis");
300
+ > 19 │ expect(redis!.name).toBe("Redis");
301
+ │ ^^^^^^
302
+ 20 │ });
303
+ 21 │
304
+
305
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
306
+
307
+ 17 17 │ expect(redis).toBeDefined();
308
+ 18 18 │ expect(redis!.id).toBe("redis");
309
+ 19 │ - → → expect(redis!.name).toBe("Redis");
310
+ 19 │ + → → expect(redis?.name).toBe("Redis");
311
+ 20 20 │ });
312
+ 21 21 │
313
+
314
+
315
+ src/services/registry.test.ts:30:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
316
+
317
+ ! Forbidden non-null assertion.
318
+
319
+ 28 │ const tailscale = getServiceById("tailscale");
320
+ 29 │ expect(tailscale).toBeDefined();
321
+ > 30 │ expect(tailscale!.id).toBe("tailscale");
322
+ │ ^^^^^^^^^^
323
+ 31 │ expect(tailscale!.mandatory).toBe(true);
324
+ 32 │ });
325
+
326
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
327
+
328
+ 28 28 │ const tailscale = getServiceById("tailscale");
329
+ 29 29 │ expect(tailscale).toBeDefined();
330
+ 30 │ - → → expect(tailscale!.id).toBe("tailscale");
331
+ 30 │ + → → expect(tailscale?.id).toBe("tailscale");
332
+ 31 31 │ expect(tailscale!.mandatory).toBe(true);
333
+ 32 32 │ });
334
+
335
+
336
+ src/services/registry.test.ts:31:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
337
+
338
+ ! Forbidden non-null assertion.
339
+
340
+ 29 │ expect(tailscale).toBeDefined();
341
+ 30 │ expect(tailscale!.id).toBe("tailscale");
342
+ > 31 │ expect(tailscale!.mandatory).toBe(true);
343
+ │ ^^^^^^^^^^
344
+ 32 │ });
345
+ 33 │
346
+
347
+ i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
348
+
349
+ 29 29 │ expect(tailscale).toBeDefined();
350
+ 30 30 │ expect(tailscale!.id).toBe("tailscale");
351
+ 31 │ - → → expect(tailscale!.mandatory).toBe(true);
352
+ 31 │ + → → expect(tailscale?.mandatory).toBe(true);
353
+ 32 32 │ });
354
+ 33 33 │
355
+
356
+
357
+ The number of diagnostics exceeds the limit allowed. Use --max-diagnostics to increase it.
358
+ Diagnostics not shown: 9.
359
+ Checked 99 files in 152ms. No fixes applied.
360
+ Found 29 warnings.
@@ -0,0 +1,4 @@
1
+
2
+ > @better-openclaw/core@1.0.0 typecheck /home/runner/work/better-openclaw/better-openclaw/packages/core
3
+ > tsc --noEmit
4
+
@@ -0,0 +1,22 @@
1
+ import type { NativePlatform, Platform, ResolvedService, ResolverOutput } from "./types.js";
2
+ /**
3
+ * Maps Platform (e.g. linux/amd64) to NativePlatform (linux, windows, macos).
4
+ */
5
+ export declare function platformToNativePlatform(platform: Platform): NativePlatform;
6
+ export interface BareMetalPartitionResult {
7
+ nativeServices: ResolvedService[];
8
+ dockerOnlyServices: ResolvedService[];
9
+ nativeIds: Set<string>;
10
+ }
11
+ /**
12
+ * Partitions resolved services into native (run on host via scripts) vs Docker-only.
13
+ * Gateway and CLI are never native; services with nativeSupported and a matching
14
+ * nativeRecipe for the platform go to native, rest to Docker.
15
+ */
16
+ export declare function partitionBareMetal(resolved: ResolverOutput, platform: Platform): BareMetalPartitionResult;
17
+ /**
18
+ * Returns a new ResolverOutput containing only the given service list (same order).
19
+ * Used to build compose for Docker-only subset when bare-metal has native services.
20
+ */
21
+ export declare function resolvedWithOnlyServices(resolved: ResolverOutput, services: ResolvedService[]): ResolverOutput;
22
+ //# sourceMappingURL=bare-metal-partition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bare-metal-partition.d.ts","sourceRoot":"","sources":["../src/bare-metal-partition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5F;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAK3E;AAED,MAAM,WAAW,wBAAwB;IACxC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,kBAAkB,EAAE,eAAe,EAAE,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GAChB,wBAAwB,CAsB1B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,eAAe,EAAE,GACzB,cAAc,CAMhB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Maps Platform (e.g. linux/amd64) to NativePlatform (linux, windows, macos).
3
+ */
4
+ export function platformToNativePlatform(platform) {
5
+ if (platform.startsWith("linux/"))
6
+ return "linux";
7
+ if (platform.startsWith("windows/"))
8
+ return "windows";
9
+ if (platform.startsWith("macos/"))
10
+ return "macos";
11
+ return "linux";
12
+ }
13
+ /**
14
+ * Partitions resolved services into native (run on host via scripts) vs Docker-only.
15
+ * Gateway and CLI are never native; services with nativeSupported and a matching
16
+ * nativeRecipe for the platform go to native, rest to Docker.
17
+ */
18
+ export function partitionBareMetal(resolved, platform) {
19
+ const nativePlatform = platformToNativePlatform(platform);
20
+ const nativeServices = [];
21
+ const dockerOnlyServices = [];
22
+ const nativeIds = new Set();
23
+ for (const entry of resolved.services) {
24
+ const def = entry.definition;
25
+ const hasNativeRecipe = def.nativeSupported === true &&
26
+ def.nativeRecipes?.length &&
27
+ def.nativeRecipes.some((r) => r.platform === nativePlatform);
28
+ if (hasNativeRecipe) {
29
+ nativeServices.push(entry);
30
+ nativeIds.add(def.id);
31
+ }
32
+ else {
33
+ dockerOnlyServices.push(entry);
34
+ }
35
+ }
36
+ return { nativeServices, dockerOnlyServices, nativeIds };
37
+ }
38
+ /**
39
+ * Returns a new ResolverOutput containing only the given service list (same order).
40
+ * Used to build compose for Docker-only subset when bare-metal has native services.
41
+ */
42
+ export function resolvedWithOnlyServices(resolved, services) {
43
+ const idSet = new Set(services.map((s) => s.definition.id));
44
+ return {
45
+ ...resolved,
46
+ services: resolved.services.filter((s) => idSet.has(s.definition.id)),
47
+ };
48
+ }
49
+ //# sourceMappingURL=bare-metal-partition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bare-metal-partition.js","sourceRoot":"","sources":["../src/bare-metal-partition.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAkB;IAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,OAAO,CAAC;AAChB,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CACjC,QAAwB,EACxB,QAAkB;IAElB,MAAM,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAsB,EAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAsB,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;QAC7B,MAAM,eAAe,GACpB,GAAG,CAAC,eAAe,KAAK,IAAI;YAC5B,GAAG,CAAC,aAAa,EAAE,MAAM;YACzB,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;QAE9D,IAAI,eAAe,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,QAAwB,EACxB,QAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO;QACN,GAAG,QAAQ;QACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;KACrE,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ComposeOptions, ResolverOutput } from "./types.js";
2
+ export interface ComposeResult {
3
+ files: Record<string, string>;
4
+ mainFile: string;
5
+ profiles: string[];
6
+ }
7
+ /**
8
+ * Generates a single Docker Compose YAML string with ALL services.
9
+ * Backward-compatible signature.
10
+ */
11
+ export declare function compose(resolved: ResolverOutput, options: ComposeOptions): string;
12
+ /**
13
+ * Generates multiple Docker Compose files, splitting services into profile-based
14
+ * override files by category.
15
+ */
16
+ export declare function composeMultiFile(resolved: ResolverOutput, options: ComposeOptions): ComposeResult;
17
+ //# sourceMappingURL=composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAmB,MAAM,YAAY,CAAC;AAIlF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAyOD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAmCjF;AAWD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CA0GjG"}