@better-openclaw/core 1.0.16 β†’ 1.0.18

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 (970) hide show
  1. package/README.md +27 -0
  2. package/dist/bare-metal-partition.cjs +53 -0
  3. package/dist/bare-metal-partition.cjs.map +1 -0
  4. package/dist/bare-metal-partition.d.cts +26 -0
  5. package/dist/bare-metal-partition.d.cts.map +1 -0
  6. package/dist/bare-metal-partition.test.cjs +57 -0
  7. package/dist/bare-metal-partition.test.cjs.map +1 -0
  8. package/dist/bare-metal-partition.test.d.cts +1 -0
  9. package/dist/bare-metal-partition.test.mjs +1 -1
  10. package/dist/chunk-C0xms8kb.cjs +34 -0
  11. package/dist/compose-validation.test.cjs +67 -0
  12. package/dist/compose-validation.test.cjs.map +1 -0
  13. package/dist/compose-validation.test.d.cts +1 -0
  14. package/dist/compose-validation.test.d.mts +1 -0
  15. package/dist/compose-validation.test.mjs +66 -0
  16. package/dist/compose-validation.test.mjs.map +1 -0
  17. package/dist/composer.cjs +462 -0
  18. package/dist/composer.cjs.map +1 -0
  19. package/dist/composer.d.cts +21 -0
  20. package/dist/composer.d.cts.map +1 -0
  21. package/dist/composer.d.mts.map +1 -1
  22. package/dist/composer.mjs +187 -27
  23. package/dist/composer.mjs.map +1 -1
  24. package/dist/composer.snapshot.test.cjs +91 -0
  25. package/dist/composer.snapshot.test.cjs.map +1 -0
  26. package/dist/composer.snapshot.test.d.cts +1 -0
  27. package/dist/composer.snapshot.test.mjs +1 -1
  28. package/dist/composer.test.cjs +166 -0
  29. package/dist/composer.test.cjs.map +1 -0
  30. package/dist/composer.test.d.cts +1 -0
  31. package/dist/composer.test.mjs +2 -2
  32. package/dist/composer.test.mjs.map +1 -1
  33. package/dist/deployers/coolify.cjs +174 -0
  34. package/dist/deployers/coolify.cjs.map +1 -0
  35. package/dist/deployers/coolify.d.cts +25 -0
  36. package/dist/deployers/coolify.d.cts.map +1 -0
  37. package/dist/deployers/coolify.d.mts +25 -0
  38. package/dist/deployers/coolify.d.mts.map +1 -0
  39. package/dist/deployers/coolify.mjs +172 -0
  40. package/dist/deployers/coolify.mjs.map +1 -0
  41. package/dist/deployers/dokploy.cjs +141 -0
  42. package/dist/deployers/dokploy.cjs.map +1 -0
  43. package/dist/deployers/dokploy.d.cts +24 -0
  44. package/dist/deployers/dokploy.d.cts.map +1 -0
  45. package/dist/deployers/dokploy.d.mts +24 -0
  46. package/dist/deployers/dokploy.d.mts.map +1 -0
  47. package/dist/deployers/dokploy.mjs +139 -0
  48. package/dist/deployers/dokploy.mjs.map +1 -0
  49. package/dist/deployers/index.cjs +26 -0
  50. package/dist/deployers/index.cjs.map +1 -0
  51. package/dist/deployers/index.d.cts +14 -0
  52. package/dist/deployers/index.d.cts.map +1 -0
  53. package/dist/deployers/index.d.mts +14 -0
  54. package/dist/deployers/index.d.mts.map +1 -0
  55. package/dist/deployers/index.mjs +21 -0
  56. package/dist/deployers/index.mjs.map +1 -0
  57. package/dist/deployers/types.cjs +0 -0
  58. package/dist/deployers/types.d.cts +72 -0
  59. package/dist/deployers/types.d.cts.map +1 -0
  60. package/dist/deployers/types.d.mts +72 -0
  61. package/dist/deployers/types.d.mts.map +1 -0
  62. package/dist/deployers/types.mjs +1 -0
  63. package/dist/errors.cjs +27 -0
  64. package/dist/errors.cjs.map +1 -0
  65. package/dist/errors.d.cts +17 -0
  66. package/dist/errors.d.cts.map +1 -0
  67. package/dist/generate.cjs +225 -0
  68. package/dist/generate.cjs.map +1 -0
  69. package/dist/generate.d.cts +12 -0
  70. package/dist/generate.d.cts.map +1 -0
  71. package/dist/generate.d.mts.map +1 -1
  72. package/dist/generate.mjs +34 -5
  73. package/dist/generate.mjs.map +1 -1
  74. package/dist/generate.test.cjs +283 -0
  75. package/dist/generate.test.cjs.map +1 -0
  76. package/dist/generate.test.d.cts +1 -0
  77. package/dist/generate.test.mjs +1 -1
  78. package/dist/generators/bare-metal-install.cjs +226 -0
  79. package/dist/generators/bare-metal-install.cjs.map +1 -0
  80. package/dist/generators/bare-metal-install.d.cts +17 -0
  81. package/dist/generators/bare-metal-install.d.cts.map +1 -0
  82. package/dist/generators/bare-metal-install.test.cjs +47 -0
  83. package/dist/generators/bare-metal-install.test.cjs.map +1 -0
  84. package/dist/generators/bare-metal-install.test.d.cts +1 -0
  85. package/dist/generators/bare-metal-install.test.mjs +1 -1
  86. package/dist/generators/caddy.cjs +79 -0
  87. package/dist/generators/caddy.cjs.map +1 -0
  88. package/dist/generators/caddy.d.cts +17 -0
  89. package/dist/generators/caddy.d.cts.map +1 -0
  90. package/dist/generators/caddy.test.cjs +44 -0
  91. package/dist/generators/caddy.test.cjs.map +1 -0
  92. package/dist/generators/caddy.test.d.cts +1 -0
  93. package/dist/generators/caddy.test.mjs +1 -1
  94. package/dist/generators/cloud-init.cjs +132 -0
  95. package/dist/generators/cloud-init.cjs.map +1 -0
  96. package/dist/generators/cloud-init.d.cts +25 -0
  97. package/dist/generators/cloud-init.d.cts.map +1 -0
  98. package/dist/generators/cloud-init.d.mts +25 -0
  99. package/dist/generators/cloud-init.d.mts.map +1 -0
  100. package/dist/generators/cloud-init.mjs +130 -0
  101. package/dist/generators/cloud-init.mjs.map +1 -0
  102. package/dist/generators/env.cjs +325 -0
  103. package/dist/generators/env.cjs.map +1 -0
  104. package/dist/generators/env.d.cts +52 -0
  105. package/dist/generators/env.d.cts.map +1 -0
  106. package/dist/generators/env.d.mts +6 -0
  107. package/dist/generators/env.d.mts.map +1 -1
  108. package/dist/generators/env.mjs +58 -6
  109. package/dist/generators/env.mjs.map +1 -1
  110. package/dist/generators/env.test.cjs +59 -0
  111. package/dist/generators/env.test.cjs.map +1 -0
  112. package/dist/generators/env.test.d.cts +1 -0
  113. package/dist/generators/env.test.mjs +1 -1
  114. package/dist/generators/get-shit-done.cjs +40 -0
  115. package/dist/generators/get-shit-done.cjs.map +1 -0
  116. package/dist/generators/get-shit-done.d.cts +10 -0
  117. package/dist/generators/get-shit-done.d.cts.map +1 -0
  118. package/dist/generators/grafana.cjs +296 -0
  119. package/dist/generators/grafana.cjs.map +1 -0
  120. package/dist/generators/grafana.d.cts +22 -0
  121. package/dist/generators/grafana.d.cts.map +1 -0
  122. package/dist/generators/health-check.cjs +707 -0
  123. package/dist/generators/health-check.cjs.map +1 -0
  124. package/dist/generators/health-check.d.cts +18 -0
  125. package/dist/generators/health-check.d.cts.map +1 -0
  126. package/dist/generators/health-check.d.mts +2 -2
  127. package/dist/generators/health-check.d.mts.map +1 -1
  128. package/dist/generators/health-check.mjs.map +1 -1
  129. package/dist/generators/health-check.test.cjs +84 -0
  130. package/dist/generators/health-check.test.cjs.map +1 -0
  131. package/dist/generators/health-check.test.d.cts +1 -0
  132. package/dist/generators/health-check.test.mjs +1 -1
  133. package/dist/generators/n8n-workflows.cjs +77 -0
  134. package/dist/generators/n8n-workflows.cjs.map +1 -0
  135. package/dist/generators/n8n-workflows.d.cts +11 -0
  136. package/dist/generators/n8n-workflows.d.cts.map +1 -0
  137. package/dist/generators/native-services.cjs +80 -0
  138. package/dist/generators/native-services.cjs.map +1 -0
  139. package/dist/generators/native-services.d.cts +17 -0
  140. package/dist/generators/native-services.d.cts.map +1 -0
  141. package/dist/generators/openclaw-install-script.cjs +68 -0
  142. package/dist/generators/openclaw-install-script.cjs.map +1 -0
  143. package/dist/generators/openclaw-install-script.d.cts +12 -0
  144. package/dist/generators/openclaw-install-script.d.cts.map +1 -0
  145. package/dist/generators/openclaw-install-script.d.mts +12 -0
  146. package/dist/generators/openclaw-install-script.d.mts.map +1 -0
  147. package/dist/generators/openclaw-install-script.mjs +66 -0
  148. package/dist/generators/openclaw-install-script.mjs.map +1 -0
  149. package/dist/generators/openclaw-json.cjs +540 -0
  150. package/dist/generators/openclaw-json.cjs.map +1 -0
  151. package/dist/generators/openclaw-json.d.cts +16 -0
  152. package/dist/generators/openclaw-json.d.cts.map +1 -0
  153. package/dist/generators/openclaw-json.d.mts +8 -3
  154. package/dist/generators/openclaw-json.d.mts.map +1 -1
  155. package/dist/generators/openclaw-json.mjs +214 -86
  156. package/dist/generators/openclaw-json.mjs.map +1 -1
  157. package/dist/generators/postgres-init.cjs +189 -0
  158. package/dist/generators/postgres-init.cjs.map +1 -0
  159. package/dist/generators/postgres-init.d.cts +30 -0
  160. package/dist/generators/postgres-init.d.cts.map +1 -0
  161. package/dist/generators/postgres-init.d.mts.map +1 -1
  162. package/dist/generators/postgres-init.mjs +35 -0
  163. package/dist/generators/postgres-init.mjs.map +1 -1
  164. package/dist/generators/prometheus.cjs +109 -0
  165. package/dist/generators/prometheus.cjs.map +1 -0
  166. package/dist/generators/prometheus.d.cts +14 -0
  167. package/dist/generators/prometheus.d.cts.map +1 -0
  168. package/dist/generators/readme.cjs +286 -0
  169. package/dist/generators/readme.cjs.map +1 -0
  170. package/dist/generators/readme.d.cts +27 -0
  171. package/dist/generators/readme.d.cts.map +1 -0
  172. package/dist/generators/readme.d.mts +3 -1
  173. package/dist/generators/readme.d.mts.map +1 -1
  174. package/dist/generators/readme.mjs +88 -3
  175. package/dist/generators/readme.mjs.map +1 -1
  176. package/dist/generators/scripts.cjs +353 -0
  177. package/dist/generators/scripts.cjs.map +1 -0
  178. package/dist/generators/scripts.d.cts +10 -0
  179. package/dist/generators/scripts.d.cts.map +1 -0
  180. package/dist/generators/scripts.test.cjs +51 -0
  181. package/dist/generators/scripts.test.cjs.map +1 -0
  182. package/dist/generators/scripts.test.d.cts +1 -0
  183. package/dist/generators/scripts.test.mjs +1 -1
  184. package/dist/generators/skills.cjs +590 -0
  185. package/dist/generators/skills.cjs.map +1 -0
  186. package/dist/generators/skills.d.cts +14 -0
  187. package/dist/generators/skills.d.cts.map +1 -0
  188. package/dist/generators/stack-manifest.cjs +70 -0
  189. package/dist/generators/stack-manifest.cjs.map +1 -0
  190. package/dist/generators/stack-manifest.d.cts +51 -0
  191. package/dist/generators/stack-manifest.d.cts.map +1 -0
  192. package/dist/generators/stack-manifest.d.mts +51 -0
  193. package/dist/generators/stack-manifest.d.mts.map +1 -0
  194. package/dist/generators/stack-manifest.mjs +68 -0
  195. package/dist/generators/stack-manifest.mjs.map +1 -0
  196. package/dist/generators/traefik.cjs +88 -0
  197. package/dist/generators/traefik.cjs.map +1 -0
  198. package/dist/generators/traefik.d.cts +19 -0
  199. package/dist/generators/traefik.d.cts.map +1 -0
  200. package/dist/generators/traefik.test.cjs +68 -0
  201. package/dist/generators/traefik.test.cjs.map +1 -0
  202. package/dist/generators/traefik.test.d.cts +1 -0
  203. package/dist/generators/traefik.test.mjs +1 -1
  204. package/dist/index.cjs +118 -0
  205. package/dist/index.d.cts +31 -0
  206. package/dist/index.d.mts +9 -3
  207. package/dist/index.mjs +8 -3
  208. package/dist/magic-string.es-D2agHT3I.cjs +1015 -0
  209. package/dist/magic-string.es-D2agHT3I.cjs.map +1 -0
  210. package/dist/manifest-4uLbISXV.cjs +1190 -0
  211. package/dist/manifest-4uLbISXV.cjs.map +1 -0
  212. package/dist/migrations.cjs +37 -0
  213. package/dist/migrations.cjs.map +1 -0
  214. package/dist/migrations.d.cts +14 -0
  215. package/dist/migrations.d.cts.map +1 -0
  216. package/dist/migrations.test.cjs +41 -0
  217. package/dist/migrations.test.cjs.map +1 -0
  218. package/dist/migrations.test.d.cts +1 -0
  219. package/dist/migrations.test.mjs +1 -1
  220. package/dist/port-scanner.cjs +125 -0
  221. package/dist/port-scanner.cjs.map +1 -0
  222. package/dist/port-scanner.d.cts +27 -0
  223. package/dist/port-scanner.d.cts.map +1 -0
  224. package/dist/port-scanner.d.mts +27 -0
  225. package/dist/port-scanner.d.mts.map +1 -0
  226. package/dist/port-scanner.mjs +122 -0
  227. package/dist/port-scanner.mjs.map +1 -0
  228. package/dist/presets/presets.test.cjs +65 -0
  229. package/dist/presets/presets.test.cjs.map +1 -0
  230. package/dist/presets/presets.test.d.cts +1 -0
  231. package/dist/presets/presets.test.d.mts +1 -0
  232. package/dist/presets/presets.test.mjs +64 -0
  233. package/dist/presets/presets.test.mjs.map +1 -0
  234. package/dist/presets/registry.cjs +193 -0
  235. package/dist/presets/registry.cjs.map +1 -0
  236. package/dist/presets/registry.d.cts +9 -0
  237. package/dist/presets/registry.d.cts.map +1 -0
  238. package/dist/presets/registry.d.mts.map +1 -1
  239. package/dist/presets/registry.mjs +38 -8
  240. package/dist/presets/registry.mjs.map +1 -1
  241. package/dist/presets/registry.test.cjs +36 -0
  242. package/dist/presets/registry.test.cjs.map +1 -0
  243. package/dist/presets/registry.test.d.cts +1 -0
  244. package/dist/presets/registry.test.mjs +5 -2
  245. package/dist/presets/registry.test.mjs.map +1 -1
  246. package/dist/resolver.cjs +217 -0
  247. package/dist/resolver.cjs.map +1 -0
  248. package/dist/resolver.d.cts +26 -0
  249. package/dist/resolver.d.cts.map +1 -0
  250. package/dist/resolver.mjs +2 -0
  251. package/dist/resolver.mjs.map +1 -1
  252. package/dist/resolver.test.cjs +236 -0
  253. package/dist/resolver.test.cjs.map +1 -0
  254. package/dist/resolver.test.d.cts +1 -0
  255. package/dist/resolver.test.mjs +1 -1
  256. package/dist/schema.cjs +354 -0
  257. package/dist/schema.cjs.map +1 -0
  258. package/dist/schema.d.cts +854 -0
  259. package/dist/schema.d.cts.map +1 -0
  260. package/dist/schema.d.mts +56 -1
  261. package/dist/schema.d.mts.map +1 -1
  262. package/dist/schema.mjs +31 -4
  263. package/dist/schema.mjs.map +1 -1
  264. package/dist/schema.test.cjs +263 -0
  265. package/dist/schema.test.cjs.map +1 -0
  266. package/dist/schema.test.d.cts +1 -0
  267. package/dist/schema.test.mjs +1 -1
  268. package/dist/services/definitions/anything-llm.cjs +46 -0
  269. package/dist/services/definitions/anything-llm.cjs.map +1 -0
  270. package/dist/services/definitions/anything-llm.d.cts +7 -0
  271. package/dist/services/definitions/anything-llm.d.cts.map +1 -0
  272. package/dist/services/definitions/anything-llm.mjs +2 -2
  273. package/dist/services/definitions/anything-llm.mjs.map +1 -1
  274. package/dist/services/definitions/appflowy.cjs +47 -0
  275. package/dist/services/definitions/appflowy.cjs.map +1 -0
  276. package/dist/services/definitions/appflowy.d.cts +7 -0
  277. package/dist/services/definitions/appflowy.d.cts.map +1 -0
  278. package/dist/services/definitions/appflowy.mjs +1 -1
  279. package/dist/services/definitions/appflowy.mjs.map +1 -1
  280. package/dist/services/definitions/authentik.cjs +107 -0
  281. package/dist/services/definitions/authentik.cjs.map +1 -0
  282. package/dist/services/definitions/authentik.d.cts +7 -0
  283. package/dist/services/definitions/authentik.d.cts.map +1 -0
  284. package/dist/services/definitions/authentik.mjs +5 -5
  285. package/dist/services/definitions/authentik.mjs.map +1 -1
  286. package/dist/services/definitions/beszel.cjs +47 -0
  287. package/dist/services/definitions/beszel.cjs.map +1 -0
  288. package/dist/services/definitions/beszel.d.cts +7 -0
  289. package/dist/services/definitions/beszel.d.cts.map +1 -0
  290. package/dist/services/definitions/beszel.mjs +1 -1
  291. package/dist/services/definitions/beszel.mjs.map +1 -1
  292. package/dist/services/definitions/browserless.cjs +87 -0
  293. package/dist/services/definitions/browserless.cjs.map +1 -0
  294. package/dist/services/definitions/browserless.d.cts +7 -0
  295. package/dist/services/definitions/browserless.d.cts.map +1 -0
  296. package/dist/services/definitions/browserless.mjs +1 -1
  297. package/dist/services/definitions/browserless.mjs.map +1 -1
  298. package/dist/services/definitions/caddy.cjs +73 -0
  299. package/dist/services/definitions/caddy.cjs.map +1 -0
  300. package/dist/services/definitions/caddy.d.cts +7 -0
  301. package/dist/services/definitions/caddy.d.cts.map +1 -0
  302. package/dist/services/definitions/caddy.mjs +2 -2
  303. package/dist/services/definitions/caddy.mjs.map +1 -1
  304. package/dist/services/definitions/cal-com.cjs +90 -0
  305. package/dist/services/definitions/cal-com.cjs.map +1 -0
  306. package/dist/services/definitions/cal-com.d.cts +7 -0
  307. package/dist/services/definitions/cal-com.d.cts.map +1 -0
  308. package/dist/services/definitions/cal-com.mjs +2 -2
  309. package/dist/services/definitions/cal-com.mjs.map +1 -1
  310. package/dist/services/definitions/chromadb.cjs +65 -0
  311. package/dist/services/definitions/chromadb.cjs.map +1 -0
  312. package/dist/services/definitions/chromadb.d.cts +7 -0
  313. package/dist/services/definitions/chromadb.d.cts.map +1 -0
  314. package/dist/services/definitions/chromadb.mjs +3 -3
  315. package/dist/services/definitions/chromadb.mjs.map +1 -1
  316. package/dist/services/definitions/claude-code.cjs +54 -0
  317. package/dist/services/definitions/claude-code.cjs.map +1 -0
  318. package/dist/services/definitions/claude-code.d.cts +7 -0
  319. package/dist/services/definitions/claude-code.d.cts.map +1 -0
  320. package/dist/services/definitions/claude-code.mjs +1 -1
  321. package/dist/services/definitions/claude-code.mjs.map +1 -1
  322. package/dist/services/definitions/code-server.cjs +68 -0
  323. package/dist/services/definitions/code-server.cjs.map +1 -0
  324. package/dist/services/definitions/code-server.d.cts +7 -0
  325. package/dist/services/definitions/code-server.d.cts.map +1 -0
  326. package/dist/services/definitions/code-server.mjs +1 -1
  327. package/dist/services/definitions/code-server.mjs.map +1 -1
  328. package/dist/services/definitions/codex.cjs +47 -0
  329. package/dist/services/definitions/codex.cjs.map +1 -0
  330. package/dist/services/definitions/codex.d.cts +7 -0
  331. package/dist/services/definitions/codex.d.cts.map +1 -0
  332. package/dist/services/definitions/codex.mjs +1 -1
  333. package/dist/services/definitions/codex.mjs.map +1 -1
  334. package/dist/services/definitions/comfyui.cjs +85 -0
  335. package/dist/services/definitions/comfyui.cjs.map +1 -0
  336. package/dist/services/definitions/comfyui.d.cts +7 -0
  337. package/dist/services/definitions/comfyui.d.cts.map +1 -0
  338. package/dist/services/definitions/comfyui.mjs +1 -1
  339. package/dist/services/definitions/comfyui.mjs.map +1 -1
  340. package/dist/services/definitions/convex-dashboard.cjs +48 -0
  341. package/dist/services/definitions/convex-dashboard.cjs.map +1 -0
  342. package/dist/services/definitions/convex-dashboard.d.cts +7 -0
  343. package/dist/services/definitions/convex-dashboard.d.cts.map +1 -0
  344. package/dist/services/definitions/convex.cjs +120 -0
  345. package/dist/services/definitions/convex.cjs.map +1 -0
  346. package/dist/services/definitions/convex.d.cts +7 -0
  347. package/dist/services/definitions/convex.d.cts.map +1 -0
  348. package/dist/services/definitions/coolify.cjs +51 -0
  349. package/dist/services/definitions/coolify.cjs.map +1 -0
  350. package/dist/services/definitions/coolify.d.cts +7 -0
  351. package/dist/services/definitions/coolify.d.cts.map +1 -0
  352. package/dist/services/definitions/coolify.mjs +1 -1
  353. package/dist/services/definitions/coolify.mjs.map +1 -1
  354. package/dist/services/definitions/crowdsec.cjs +64 -0
  355. package/dist/services/definitions/crowdsec.cjs.map +1 -0
  356. package/dist/services/definitions/crowdsec.d.cts +7 -0
  357. package/dist/services/definitions/crowdsec.d.cts.map +1 -0
  358. package/dist/services/definitions/crowdsec.mjs +2 -2
  359. package/dist/services/definitions/crowdsec.mjs.map +1 -1
  360. package/dist/services/definitions/desktop-environment.cjs +155 -0
  361. package/dist/services/definitions/desktop-environment.cjs.map +1 -0
  362. package/dist/services/definitions/desktop-environment.d.cts +7 -0
  363. package/dist/services/definitions/desktop-environment.d.cts.map +1 -0
  364. package/dist/services/definitions/desktop-environment.mjs +1 -1
  365. package/dist/services/definitions/desktop-environment.mjs.map +1 -1
  366. package/dist/services/definitions/dify.cjs +83 -0
  367. package/dist/services/definitions/dify.cjs.map +1 -0
  368. package/dist/services/definitions/dify.d.cts +7 -0
  369. package/dist/services/definitions/dify.d.cts.map +1 -0
  370. package/dist/services/definitions/dify.mjs +1 -1
  371. package/dist/services/definitions/dify.mjs.map +1 -1
  372. package/dist/services/definitions/docsgpt.cjs +47 -0
  373. package/dist/services/definitions/docsgpt.cjs.map +1 -0
  374. package/dist/services/definitions/docsgpt.d.cts +7 -0
  375. package/dist/services/definitions/docsgpt.d.cts.map +1 -0
  376. package/dist/services/definitions/docsgpt.mjs +1 -1
  377. package/dist/services/definitions/docsgpt.mjs.map +1 -1
  378. package/dist/services/definitions/dokploy.cjs +51 -0
  379. package/dist/services/definitions/dokploy.cjs.map +1 -0
  380. package/dist/services/definitions/dokploy.d.cts +7 -0
  381. package/dist/services/definitions/dokploy.d.cts.map +1 -0
  382. package/dist/services/definitions/dokploy.mjs +2 -2
  383. package/dist/services/definitions/dokploy.mjs.map +1 -1
  384. package/dist/services/definitions/dozzle.cjs +43 -0
  385. package/dist/services/definitions/dozzle.cjs.map +1 -0
  386. package/dist/services/definitions/dozzle.d.cts +7 -0
  387. package/dist/services/definitions/dozzle.d.cts.map +1 -0
  388. package/dist/services/definitions/dozzle.mjs +1 -1
  389. package/dist/services/definitions/dozzle.mjs.map +1 -1
  390. package/dist/services/definitions/ffmpeg.cjs +68 -0
  391. package/dist/services/definitions/ffmpeg.cjs.map +1 -0
  392. package/dist/services/definitions/ffmpeg.d.cts +7 -0
  393. package/dist/services/definitions/ffmpeg.d.cts.map +1 -0
  394. package/dist/services/definitions/ffmpeg.mjs +2 -2
  395. package/dist/services/definitions/ffmpeg.mjs.map +1 -1
  396. package/dist/services/definitions/flowise.cjs +47 -0
  397. package/dist/services/definitions/flowise.cjs.map +1 -0
  398. package/dist/services/definitions/flowise.d.cts +7 -0
  399. package/dist/services/definitions/flowise.d.cts.map +1 -0
  400. package/dist/services/definitions/flowise.mjs +1 -1
  401. package/dist/services/definitions/flowise.mjs.map +1 -1
  402. package/dist/services/definitions/gemini-cli.cjs +54 -0
  403. package/dist/services/definitions/gemini-cli.cjs.map +1 -0
  404. package/dist/services/definitions/gemini-cli.d.cts +7 -0
  405. package/dist/services/definitions/gemini-cli.d.cts.map +1 -0
  406. package/dist/services/definitions/gemini-cli.mjs +7 -1
  407. package/dist/services/definitions/gemini-cli.mjs.map +1 -1
  408. package/dist/services/definitions/ghost.cjs +60 -0
  409. package/dist/services/definitions/ghost.cjs.map +1 -0
  410. package/dist/services/definitions/ghost.d.cts +7 -0
  411. package/dist/services/definitions/ghost.d.cts.map +1 -0
  412. package/dist/services/definitions/ghost.mjs +1 -1
  413. package/dist/services/definitions/ghost.mjs.map +1 -1
  414. package/dist/services/definitions/gitea.cjs +51 -0
  415. package/dist/services/definitions/gitea.cjs.map +1 -0
  416. package/dist/services/definitions/gitea.d.cts +7 -0
  417. package/dist/services/definitions/gitea.d.cts.map +1 -0
  418. package/dist/services/definitions/gitea.mjs +1 -1
  419. package/dist/services/definitions/gitea.mjs.map +1 -1
  420. package/dist/services/definitions/gotify.cjs +64 -0
  421. package/dist/services/definitions/gotify.cjs.map +1 -0
  422. package/dist/services/definitions/gotify.d.cts +7 -0
  423. package/dist/services/definitions/gotify.d.cts.map +1 -0
  424. package/dist/services/definitions/gotify.mjs +3 -3
  425. package/dist/services/definitions/gotify.mjs.map +1 -1
  426. package/dist/services/definitions/grafana.cjs +77 -0
  427. package/dist/services/definitions/grafana.cjs.map +1 -0
  428. package/dist/services/definitions/grafana.d.cts +7 -0
  429. package/dist/services/definitions/grafana.d.cts.map +1 -0
  430. package/dist/services/definitions/grafana.mjs +2 -2
  431. package/dist/services/definitions/grafana.mjs.map +1 -1
  432. package/dist/services/definitions/headscale.cjs +73 -0
  433. package/dist/services/definitions/headscale.cjs.map +1 -0
  434. package/dist/services/definitions/headscale.d.cts +7 -0
  435. package/dist/services/definitions/headscale.d.cts.map +1 -0
  436. package/dist/services/definitions/headscale.mjs +2 -2
  437. package/dist/services/definitions/headscale.mjs.map +1 -1
  438. package/dist/services/definitions/hexstrike.cjs +46 -0
  439. package/dist/services/definitions/hexstrike.cjs.map +1 -0
  440. package/dist/services/definitions/hexstrike.d.cts +7 -0
  441. package/dist/services/definitions/hexstrike.d.cts.map +1 -0
  442. package/dist/services/definitions/hexstrike.mjs +1 -1
  443. package/dist/services/definitions/hexstrike.mjs.map +1 -1
  444. package/dist/services/definitions/homeassistant.cjs +63 -0
  445. package/dist/services/definitions/homeassistant.cjs.map +1 -0
  446. package/dist/services/definitions/homeassistant.d.cts +7 -0
  447. package/dist/services/definitions/homeassistant.d.cts.map +1 -0
  448. package/dist/services/definitions/homeassistant.mjs +1 -1
  449. package/dist/services/definitions/homeassistant.mjs.map +1 -1
  450. package/dist/services/definitions/immich.cjs +94 -0
  451. package/dist/services/definitions/immich.cjs.map +1 -0
  452. package/dist/services/definitions/immich.d.cts +7 -0
  453. package/dist/services/definitions/immich.d.cts.map +1 -0
  454. package/dist/services/definitions/immich.mjs +6 -6
  455. package/dist/services/definitions/immich.mjs.map +1 -1
  456. package/dist/services/definitions/index.cjs +291 -0
  457. package/dist/services/definitions/index.cjs.map +1 -0
  458. package/dist/services/definitions/index.d.cts +101 -0
  459. package/dist/services/definitions/index.d.cts.map +1 -0
  460. package/dist/services/definitions/jellyfin.cjs +64 -0
  461. package/dist/services/definitions/jellyfin.cjs.map +1 -0
  462. package/dist/services/definitions/jellyfin.d.cts +7 -0
  463. package/dist/services/definitions/jellyfin.d.cts.map +1 -0
  464. package/dist/services/definitions/jellyfin.mjs +1 -1
  465. package/dist/services/definitions/jellyfin.mjs.map +1 -1
  466. package/dist/services/definitions/jenkins.cjs +64 -0
  467. package/dist/services/definitions/jenkins.cjs.map +1 -0
  468. package/dist/services/definitions/jenkins.d.cts +7 -0
  469. package/dist/services/definitions/jenkins.d.cts.map +1 -0
  470. package/dist/services/definitions/jenkins.mjs +1 -1
  471. package/dist/services/definitions/jenkins.mjs.map +1 -1
  472. package/dist/services/definitions/kimi.cjs +48 -0
  473. package/dist/services/definitions/kimi.cjs.map +1 -0
  474. package/dist/services/definitions/kimi.d.cts +7 -0
  475. package/dist/services/definitions/kimi.d.cts.map +1 -0
  476. package/dist/services/definitions/kimi.mjs +1 -1
  477. package/dist/services/definitions/kimi.mjs.map +1 -1
  478. package/dist/services/definitions/lasuite-meet-agents.cjs +38 -0
  479. package/dist/services/definitions/lasuite-meet-agents.cjs.map +1 -0
  480. package/dist/services/definitions/lasuite-meet-agents.d.cts +7 -0
  481. package/dist/services/definitions/lasuite-meet-agents.d.cts.map +1 -0
  482. package/dist/services/definitions/lasuite-meet-agents.mjs +1 -1
  483. package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -1
  484. package/dist/services/definitions/lasuite-meet-backend.cjs +136 -0
  485. package/dist/services/definitions/lasuite-meet-backend.cjs.map +1 -0
  486. package/dist/services/definitions/lasuite-meet-backend.d.cts +7 -0
  487. package/dist/services/definitions/lasuite-meet-backend.d.cts.map +1 -0
  488. package/dist/services/definitions/lasuite-meet-backend.mjs +3 -3
  489. package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -1
  490. package/dist/services/definitions/lasuite-meet-frontend.cjs +50 -0
  491. package/dist/services/definitions/lasuite-meet-frontend.cjs.map +1 -0
  492. package/dist/services/definitions/lasuite-meet-frontend.d.cts +7 -0
  493. package/dist/services/definitions/lasuite-meet-frontend.d.cts.map +1 -0
  494. package/dist/services/definitions/lasuite-meet-frontend.mjs +3 -3
  495. package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -1
  496. package/dist/services/definitions/librechat.cjs +52 -0
  497. package/dist/services/definitions/librechat.cjs.map +1 -0
  498. package/dist/services/definitions/librechat.d.cts +7 -0
  499. package/dist/services/definitions/librechat.d.cts.map +1 -0
  500. package/dist/services/definitions/librechat.mjs +1 -1
  501. package/dist/services/definitions/librechat.mjs.map +1 -1
  502. package/dist/services/definitions/lightpanda.cjs +61 -0
  503. package/dist/services/definitions/lightpanda.cjs.map +1 -0
  504. package/dist/services/definitions/lightpanda.d.cts +7 -0
  505. package/dist/services/definitions/lightpanda.d.cts.map +1 -0
  506. package/dist/services/definitions/litellm.cjs +49 -0
  507. package/dist/services/definitions/litellm.cjs.map +1 -0
  508. package/dist/services/definitions/litellm.d.cts +7 -0
  509. package/dist/services/definitions/litellm.d.cts.map +1 -0
  510. package/dist/services/definitions/litellm.mjs +1 -1
  511. package/dist/services/definitions/litellm.mjs.map +1 -1
  512. package/dist/services/definitions/livekit.cjs +58 -0
  513. package/dist/services/definitions/livekit.cjs.map +1 -0
  514. package/dist/services/definitions/livekit.d.cts +7 -0
  515. package/dist/services/definitions/livekit.d.cts.map +1 -0
  516. package/dist/services/definitions/loki.cjs +53 -0
  517. package/dist/services/definitions/loki.cjs.map +1 -0
  518. package/dist/services/definitions/loki.d.cts +7 -0
  519. package/dist/services/definitions/loki.d.cts.map +1 -0
  520. package/dist/services/definitions/loki.mjs +1 -1
  521. package/dist/services/definitions/loki.mjs.map +1 -1
  522. package/dist/services/definitions/matomo.cjs +82 -0
  523. package/dist/services/definitions/matomo.cjs.map +1 -0
  524. package/dist/services/definitions/matomo.d.cts +7 -0
  525. package/dist/services/definitions/matomo.d.cts.map +1 -0
  526. package/dist/services/definitions/matomo.mjs +1 -1
  527. package/dist/services/definitions/matomo.mjs.map +1 -1
  528. package/dist/services/definitions/matrix-synapse.cjs +90 -0
  529. package/dist/services/definitions/matrix-synapse.cjs.map +1 -0
  530. package/dist/services/definitions/matrix-synapse.d.cts +7 -0
  531. package/dist/services/definitions/matrix-synapse.d.cts.map +1 -0
  532. package/dist/services/definitions/matrix-synapse.mjs +1 -1
  533. package/dist/services/definitions/matrix-synapse.mjs.map +1 -1
  534. package/dist/services/definitions/mattermost.cjs +63 -0
  535. package/dist/services/definitions/mattermost.cjs.map +1 -0
  536. package/dist/services/definitions/mattermost.d.cts +7 -0
  537. package/dist/services/definitions/mattermost.d.cts.map +1 -0
  538. package/dist/services/definitions/mattermost.mjs +1 -1
  539. package/dist/services/definitions/mattermost.mjs.map +1 -1
  540. package/dist/services/definitions/meilisearch.cjs +80 -0
  541. package/dist/services/definitions/meilisearch.cjs.map +1 -0
  542. package/dist/services/definitions/meilisearch.d.cts +7 -0
  543. package/dist/services/definitions/meilisearch.d.cts.map +1 -0
  544. package/dist/services/definitions/meilisearch.mjs +4 -4
  545. package/dist/services/definitions/meilisearch.mjs.map +1 -1
  546. package/dist/services/definitions/milvus.cjs +77 -0
  547. package/dist/services/definitions/milvus.cjs.map +1 -0
  548. package/dist/services/definitions/milvus.d.cts +7 -0
  549. package/dist/services/definitions/milvus.d.cts.map +1 -0
  550. package/dist/services/definitions/milvus.mjs +1 -1
  551. package/dist/services/definitions/milvus.mjs.map +1 -1
  552. package/dist/services/definitions/minio.cjs +104 -0
  553. package/dist/services/definitions/minio.cjs.map +1 -0
  554. package/dist/services/definitions/minio.d.cts +7 -0
  555. package/dist/services/definitions/minio.d.cts.map +1 -0
  556. package/dist/services/definitions/minio.mjs +1 -1
  557. package/dist/services/definitions/minio.mjs.map +1 -1
  558. package/dist/services/definitions/mission-control.cjs +69 -0
  559. package/dist/services/definitions/mission-control.cjs.map +1 -0
  560. package/dist/services/definitions/mission-control.d.cts +7 -0
  561. package/dist/services/definitions/mission-control.d.cts.map +1 -0
  562. package/dist/services/definitions/mixpost.cjs +89 -0
  563. package/dist/services/definitions/mixpost.cjs.map +1 -0
  564. package/dist/services/definitions/mixpost.d.cts +7 -0
  565. package/dist/services/definitions/mixpost.d.cts.map +1 -0
  566. package/dist/services/definitions/mixpost.mjs +1 -1
  567. package/dist/services/definitions/mixpost.mjs.map +1 -1
  568. package/dist/services/definitions/motion-canvas.cjs +54 -0
  569. package/dist/services/definitions/motion-canvas.cjs.map +1 -0
  570. package/dist/services/definitions/motion-canvas.d.cts +7 -0
  571. package/dist/services/definitions/motion-canvas.d.cts.map +1 -0
  572. package/dist/services/definitions/motion-canvas.mjs +1 -1
  573. package/dist/services/definitions/motion-canvas.mjs.map +1 -1
  574. package/dist/services/definitions/n8n.cjs +156 -0
  575. package/dist/services/definitions/n8n.cjs.map +1 -0
  576. package/dist/services/definitions/n8n.d.cts +7 -0
  577. package/dist/services/definitions/n8n.d.cts.map +1 -0
  578. package/dist/services/definitions/n8n.mjs +1 -1
  579. package/dist/services/definitions/n8n.mjs.map +1 -1
  580. package/dist/services/definitions/neo4j.cjs +93 -0
  581. package/dist/services/definitions/neo4j.cjs.map +1 -0
  582. package/dist/services/definitions/neo4j.d.cts +7 -0
  583. package/dist/services/definitions/neo4j.d.cts.map +1 -0
  584. package/dist/services/definitions/neo4j.mjs +1 -1
  585. package/dist/services/definitions/neo4j.mjs.map +1 -1
  586. package/dist/services/definitions/nextcloud.cjs +82 -0
  587. package/dist/services/definitions/nextcloud.cjs.map +1 -0
  588. package/dist/services/definitions/nextcloud.d.cts +7 -0
  589. package/dist/services/definitions/nextcloud.d.cts.map +1 -0
  590. package/dist/services/definitions/nextcloud.mjs +19 -19
  591. package/dist/services/definitions/nextcloud.mjs.map +1 -1
  592. package/dist/services/definitions/nocodb.cjs +47 -0
  593. package/dist/services/definitions/nocodb.cjs.map +1 -0
  594. package/dist/services/definitions/nocodb.d.cts +7 -0
  595. package/dist/services/definitions/nocodb.d.cts.map +1 -0
  596. package/dist/services/definitions/nocodb.mjs +1 -1
  597. package/dist/services/definitions/nocodb.mjs.map +1 -1
  598. package/dist/services/definitions/ntfy.cjs +65 -0
  599. package/dist/services/definitions/ntfy.cjs.map +1 -0
  600. package/dist/services/definitions/ntfy.d.cts +7 -0
  601. package/dist/services/definitions/ntfy.d.cts.map +1 -0
  602. package/dist/services/definitions/ntfy.mjs +2 -2
  603. package/dist/services/definitions/ntfy.mjs.map +1 -1
  604. package/dist/services/definitions/ollama.cjs +68 -0
  605. package/dist/services/definitions/ollama.cjs.map +1 -0
  606. package/dist/services/definitions/ollama.d.cts +7 -0
  607. package/dist/services/definitions/ollama.d.cts.map +1 -0
  608. package/dist/services/definitions/ollama.mjs +1 -1
  609. package/dist/services/definitions/ollama.mjs.map +1 -1
  610. package/dist/services/definitions/open-webui.cjs +52 -0
  611. package/dist/services/definitions/open-webui.cjs.map +1 -0
  612. package/dist/services/definitions/open-webui.d.cts +7 -0
  613. package/dist/services/definitions/open-webui.d.cts.map +1 -0
  614. package/dist/services/definitions/open-webui.mjs +1 -1
  615. package/dist/services/definitions/open-webui.mjs.map +1 -1
  616. package/dist/services/definitions/opencode.cjs +52 -0
  617. package/dist/services/definitions/opencode.cjs.map +1 -0
  618. package/dist/services/definitions/opencode.d.cts +7 -0
  619. package/dist/services/definitions/opencode.d.cts.map +1 -0
  620. package/dist/services/definitions/opencode.mjs +1 -1
  621. package/dist/services/definitions/opencode.mjs.map +1 -1
  622. package/dist/services/definitions/openpanel.cjs +48 -0
  623. package/dist/services/definitions/openpanel.cjs.map +1 -0
  624. package/dist/services/definitions/openpanel.d.cts +7 -0
  625. package/dist/services/definitions/openpanel.d.cts.map +1 -0
  626. package/dist/services/definitions/openpanel.mjs +3 -3
  627. package/dist/services/definitions/openpanel.mjs.map +1 -1
  628. package/dist/services/definitions/outline.cjs +76 -0
  629. package/dist/services/definitions/outline.cjs.map +1 -0
  630. package/dist/services/definitions/outline.d.cts +7 -0
  631. package/dist/services/definitions/outline.d.cts.map +1 -0
  632. package/dist/services/definitions/paperless-ngx.cjs +95 -0
  633. package/dist/services/definitions/paperless-ngx.cjs.map +1 -0
  634. package/dist/services/definitions/paperless-ngx.d.cts +7 -0
  635. package/dist/services/definitions/paperless-ngx.d.cts.map +1 -0
  636. package/dist/services/definitions/paperless-ngx.mjs +1 -1
  637. package/dist/services/definitions/paperless-ngx.mjs.map +1 -1
  638. package/dist/services/definitions/pentagi.cjs +46 -0
  639. package/dist/services/definitions/pentagi.cjs.map +1 -0
  640. package/dist/services/definitions/pentagi.d.cts +7 -0
  641. package/dist/services/definitions/pentagi.d.cts.map +1 -0
  642. package/dist/services/definitions/pentagi.mjs +2 -2
  643. package/dist/services/definitions/pentagi.mjs.map +1 -1
  644. package/dist/services/definitions/pentestagent.cjs +41 -0
  645. package/dist/services/definitions/pentestagent.cjs.map +1 -0
  646. package/dist/services/definitions/pentestagent.d.cts +7 -0
  647. package/dist/services/definitions/pentestagent.d.cts.map +1 -0
  648. package/dist/services/definitions/playwright-server.cjs +44 -0
  649. package/dist/services/definitions/playwright-server.cjs.map +1 -0
  650. package/dist/services/definitions/playwright-server.d.cts +7 -0
  651. package/dist/services/definitions/playwright-server.d.cts.map +1 -0
  652. package/dist/services/definitions/playwright-server.mjs +1 -1
  653. package/dist/services/definitions/playwright-server.mjs.map +1 -1
  654. package/dist/services/definitions/portainer.cjs +51 -0
  655. package/dist/services/definitions/portainer.cjs.map +1 -0
  656. package/dist/services/definitions/portainer.d.cts +7 -0
  657. package/dist/services/definitions/portainer.d.cts.map +1 -0
  658. package/dist/services/definitions/portainer.mjs +1 -1
  659. package/dist/services/definitions/portainer.mjs.map +1 -1
  660. package/dist/services/definitions/postgresql.cjs +86 -0
  661. package/dist/services/definitions/postgresql.cjs.map +1 -0
  662. package/dist/services/definitions/postgresql.d.cts +7 -0
  663. package/dist/services/definitions/postgresql.d.cts.map +1 -0
  664. package/dist/services/definitions/postgresql.mjs +1 -1
  665. package/dist/services/definitions/postgresql.mjs.map +1 -1
  666. package/dist/services/definitions/postiz.cjs +85 -0
  667. package/dist/services/definitions/postiz.cjs.map +1 -0
  668. package/dist/services/definitions/postiz.d.cts +7 -0
  669. package/dist/services/definitions/postiz.d.cts.map +1 -0
  670. package/dist/services/definitions/postiz.mjs +1 -1
  671. package/dist/services/definitions/postiz.mjs.map +1 -1
  672. package/dist/services/definitions/prometheus.cjs +54 -0
  673. package/dist/services/definitions/prometheus.cjs.map +1 -0
  674. package/dist/services/definitions/prometheus.d.cts +7 -0
  675. package/dist/services/definitions/prometheus.d.cts.map +1 -0
  676. package/dist/services/definitions/prometheus.mjs +1 -1
  677. package/dist/services/definitions/prometheus.mjs.map +1 -1
  678. package/dist/services/definitions/qdrant.cjs +79 -0
  679. package/dist/services/definitions/qdrant.cjs.map +1 -0
  680. package/dist/services/definitions/qdrant.d.cts +7 -0
  681. package/dist/services/definitions/qdrant.d.cts.map +1 -0
  682. package/dist/services/definitions/qdrant.mjs +1 -1
  683. package/dist/services/definitions/qdrant.mjs.map +1 -1
  684. package/dist/services/definitions/redis.cjs +93 -0
  685. package/dist/services/definitions/redis.cjs.map +1 -0
  686. package/dist/services/definitions/redis.d.cts +7 -0
  687. package/dist/services/definitions/redis.d.cts.map +1 -0
  688. package/dist/services/definitions/redis.mjs +1 -1
  689. package/dist/services/definitions/redis.mjs.map +1 -1
  690. package/dist/services/definitions/remotion.cjs +57 -0
  691. package/dist/services/definitions/remotion.cjs.map +1 -0
  692. package/dist/services/definitions/remotion.d.cts +7 -0
  693. package/dist/services/definitions/remotion.d.cts.map +1 -0
  694. package/dist/services/definitions/remotion.mjs +1 -1
  695. package/dist/services/definitions/remotion.mjs.map +1 -1
  696. package/dist/services/definitions/rocketchat.cjs +59 -0
  697. package/dist/services/definitions/rocketchat.cjs.map +1 -0
  698. package/dist/services/definitions/rocketchat.d.cts +7 -0
  699. package/dist/services/definitions/rocketchat.d.cts.map +1 -0
  700. package/dist/services/definitions/rocketchat.mjs +1 -1
  701. package/dist/services/definitions/rocketchat.mjs.map +1 -1
  702. package/dist/services/definitions/scrapling.cjs +46 -0
  703. package/dist/services/definitions/scrapling.cjs.map +1 -0
  704. package/dist/services/definitions/scrapling.d.cts +7 -0
  705. package/dist/services/definitions/scrapling.d.cts.map +1 -0
  706. package/dist/services/definitions/scrapling.mjs +2 -2
  707. package/dist/services/definitions/scrapling.mjs.map +1 -1
  708. package/dist/services/definitions/searxng.cjs +67 -0
  709. package/dist/services/definitions/searxng.cjs.map +1 -0
  710. package/dist/services/definitions/searxng.d.cts +7 -0
  711. package/dist/services/definitions/searxng.d.cts.map +1 -0
  712. package/dist/services/definitions/searxng.mjs +1 -1
  713. package/dist/services/definitions/searxng.mjs.map +1 -1
  714. package/dist/services/definitions/signoz.cjs +56 -0
  715. package/dist/services/definitions/signoz.cjs.map +1 -0
  716. package/dist/services/definitions/signoz.d.cts +7 -0
  717. package/dist/services/definitions/signoz.d.cts.map +1 -0
  718. package/dist/services/definitions/signoz.mjs +2 -2
  719. package/dist/services/definitions/signoz.mjs.map +1 -1
  720. package/dist/services/definitions/solidityguard.cjs +51 -0
  721. package/dist/services/definitions/solidityguard.cjs.map +1 -0
  722. package/dist/services/definitions/solidityguard.d.cts +7 -0
  723. package/dist/services/definitions/solidityguard.d.cts.map +1 -0
  724. package/dist/services/definitions/solidityguard.mjs +1 -1
  725. package/dist/services/definitions/solidityguard.mjs.map +1 -1
  726. package/dist/services/definitions/stable-diffusion.cjs +50 -0
  727. package/dist/services/definitions/stable-diffusion.cjs.map +1 -0
  728. package/dist/services/definitions/stable-diffusion.d.cts +7 -0
  729. package/dist/services/definitions/stable-diffusion.d.cts.map +1 -0
  730. package/dist/services/definitions/stable-diffusion.mjs +1 -1
  731. package/dist/services/definitions/stable-diffusion.mjs.map +1 -1
  732. package/dist/services/definitions/steel-browser.cjs +79 -0
  733. package/dist/services/definitions/steel-browser.cjs.map +1 -0
  734. package/dist/services/definitions/steel-browser.d.cts +7 -0
  735. package/dist/services/definitions/steel-browser.d.cts.map +1 -0
  736. package/dist/services/definitions/steel-browser.mjs +1 -1
  737. package/dist/services/definitions/steel-browser.mjs.map +1 -1
  738. package/dist/services/definitions/stream-gateway.cjs +135 -0
  739. package/dist/services/definitions/stream-gateway.cjs.map +1 -0
  740. package/dist/services/definitions/stream-gateway.d.cts +7 -0
  741. package/dist/services/definitions/stream-gateway.d.cts.map +1 -0
  742. package/dist/services/definitions/stream-gateway.mjs +2 -2
  743. package/dist/services/definitions/stream-gateway.mjs.map +1 -1
  744. package/dist/services/definitions/supabase.cjs +71 -0
  745. package/dist/services/definitions/supabase.cjs.map +1 -0
  746. package/dist/services/definitions/supabase.d.cts +7 -0
  747. package/dist/services/definitions/supabase.d.cts.map +1 -0
  748. package/dist/services/definitions/supabase.mjs +2 -2
  749. package/dist/services/definitions/supabase.mjs.map +1 -1
  750. package/dist/services/definitions/tailscale.cjs +72 -0
  751. package/dist/services/definitions/tailscale.cjs.map +1 -0
  752. package/dist/services/definitions/tailscale.d.cts +7 -0
  753. package/dist/services/definitions/tailscale.d.cts.map +1 -0
  754. package/dist/services/definitions/tailscale.mjs +1 -1
  755. package/dist/services/definitions/tailscale.mjs.map +1 -1
  756. package/dist/services/definitions/temporal.cjs +102 -0
  757. package/dist/services/definitions/temporal.cjs.map +1 -0
  758. package/dist/services/definitions/temporal.d.cts +7 -0
  759. package/dist/services/definitions/temporal.d.cts.map +1 -0
  760. package/dist/services/definitions/traefik.cjs +59 -0
  761. package/dist/services/definitions/traefik.cjs.map +1 -0
  762. package/dist/services/definitions/traefik.d.cts +7 -0
  763. package/dist/services/definitions/traefik.d.cts.map +1 -0
  764. package/dist/services/definitions/traefik.mjs +1 -1
  765. package/dist/services/definitions/traefik.mjs.map +1 -1
  766. package/dist/services/definitions/umami.cjs +48 -0
  767. package/dist/services/definitions/umami.cjs.map +1 -0
  768. package/dist/services/definitions/umami.d.cts +7 -0
  769. package/dist/services/definitions/umami.d.cts.map +1 -0
  770. package/dist/services/definitions/uptime-kuma.cjs +53 -0
  771. package/dist/services/definitions/uptime-kuma.cjs.map +1 -0
  772. package/dist/services/definitions/uptime-kuma.d.cts +7 -0
  773. package/dist/services/definitions/uptime-kuma.d.cts.map +1 -0
  774. package/dist/services/definitions/uptime-kuma.mjs +2 -2
  775. package/dist/services/definitions/uptime-kuma.mjs.map +1 -1
  776. package/dist/services/definitions/usesend.cjs +101 -0
  777. package/dist/services/definitions/usesend.cjs.map +1 -0
  778. package/dist/services/definitions/usesend.d.cts +7 -0
  779. package/dist/services/definitions/usesend.d.cts.map +1 -0
  780. package/dist/services/definitions/usesend.mjs +4 -4
  781. package/dist/services/definitions/usesend.mjs.map +1 -1
  782. package/dist/services/definitions/valkey.cjs +63 -0
  783. package/dist/services/definitions/valkey.cjs.map +1 -0
  784. package/dist/services/definitions/valkey.d.cts +7 -0
  785. package/dist/services/definitions/valkey.d.cts.map +1 -0
  786. package/dist/services/definitions/valkey.mjs +1 -1
  787. package/dist/services/definitions/valkey.mjs.map +1 -1
  788. package/dist/services/definitions/vaultwarden.cjs +65 -0
  789. package/dist/services/definitions/vaultwarden.cjs.map +1 -0
  790. package/dist/services/definitions/vaultwarden.d.cts +7 -0
  791. package/dist/services/definitions/vaultwarden.d.cts.map +1 -0
  792. package/dist/services/definitions/vaultwarden.mjs +2 -2
  793. package/dist/services/definitions/vaultwarden.mjs.map +1 -1
  794. package/dist/services/definitions/watchtower.cjs +49 -0
  795. package/dist/services/definitions/watchtower.cjs.map +1 -0
  796. package/dist/services/definitions/watchtower.d.cts +7 -0
  797. package/dist/services/definitions/watchtower.d.cts.map +1 -0
  798. package/dist/services/definitions/weaviate.cjs +92 -0
  799. package/dist/services/definitions/weaviate.cjs.map +1 -0
  800. package/dist/services/definitions/weaviate.d.cts +7 -0
  801. package/dist/services/definitions/weaviate.d.cts.map +1 -0
  802. package/dist/services/definitions/weaviate.mjs +2 -2
  803. package/dist/services/definitions/weaviate.mjs.map +1 -1
  804. package/dist/services/definitions/whisper.cjs +64 -0
  805. package/dist/services/definitions/whisper.cjs.map +1 -0
  806. package/dist/services/definitions/whisper.d.cts +7 -0
  807. package/dist/services/definitions/whisper.d.cts.map +1 -0
  808. package/dist/services/definitions/whisper.mjs +2 -2
  809. package/dist/services/definitions/whisper.mjs.map +1 -1
  810. package/dist/services/definitions/xyops.cjs +88 -0
  811. package/dist/services/definitions/xyops.cjs.map +1 -0
  812. package/dist/services/definitions/xyops.d.cts +7 -0
  813. package/dist/services/definitions/xyops.d.cts.map +1 -0
  814. package/dist/services/definitions/xyops.mjs +1 -1
  815. package/dist/services/definitions/xyops.mjs.map +1 -1
  816. package/dist/services/registry.cjs +35 -0
  817. package/dist/services/registry.cjs.map +1 -0
  818. package/dist/services/registry.d.cts +16 -0
  819. package/dist/services/registry.d.cts.map +1 -0
  820. package/dist/services/registry.test.cjs +63 -0
  821. package/dist/services/registry.test.cjs.map +1 -0
  822. package/dist/services/registry.test.d.cts +1 -0
  823. package/dist/services/registry.test.mjs +1 -1
  824. package/dist/skills/registry.cjs +712 -0
  825. package/dist/skills/registry.cjs.map +1 -0
  826. package/dist/skills/registry.d.cts +11 -0
  827. package/dist/skills/registry.d.cts.map +1 -0
  828. package/dist/skills/skill-manifest.cjs +23 -0
  829. package/dist/skills/skill-manifest.cjs.map +1 -0
  830. package/dist/skills/skill-manifest.d.cts +20 -0
  831. package/dist/skills/skill-manifest.d.cts.map +1 -0
  832. package/dist/types.cjs +149 -0
  833. package/dist/types.cjs.map +1 -0
  834. package/dist/types.d.cts +82 -0
  835. package/dist/types.d.cts.map +1 -0
  836. package/dist/types.d.mts +9 -2
  837. package/dist/types.d.mts.map +1 -1
  838. package/dist/types.mjs +40 -0
  839. package/dist/types.mjs.map +1 -1
  840. package/dist/validator.cjs +124 -0
  841. package/dist/validator.cjs.map +1 -0
  842. package/dist/validator.d.cts +20 -0
  843. package/dist/validator.d.cts.map +1 -0
  844. package/dist/validator.test.cjs +64 -0
  845. package/dist/validator.test.cjs.map +1 -0
  846. package/dist/validator.test.d.cts +1 -0
  847. package/dist/validator.test.mjs +1 -1
  848. package/dist/version-manager.cjs +65 -0
  849. package/dist/version-manager.cjs.map +1 -0
  850. package/dist/version-manager.d.cts +14 -0
  851. package/dist/version-manager.d.cts.map +1 -0
  852. package/dist/version-manager.test.cjs +101 -0
  853. package/dist/version-manager.test.cjs.map +1 -0
  854. package/dist/version-manager.test.d.cts +1 -0
  855. package/dist/version-manager.test.mjs +1 -1
  856. package/dist/vi.2VT5v0um-BmRMvymT.cjs +12934 -0
  857. package/dist/vi.2VT5v0um-BmRMvymT.cjs.map +1 -0
  858. package/dist/{vi.2VT5v0um-BgmKutxR.mjs β†’ vi.2VT5v0um-CFyDIn0m.mjs} +5 -5
  859. package/dist/{vi.2VT5v0um-BgmKutxR.mjs.map β†’ vi.2VT5v0um-CFyDIn0m.mjs.map} +1 -1
  860. package/package.json +24 -3
  861. package/src/__snapshots__/composer.snapshot.test.ts.snap +20 -20
  862. package/src/compose-validation.test.ts +102 -0
  863. package/src/composer.test.ts +1 -1
  864. package/src/composer.ts +331 -53
  865. package/src/deployers/coolify.ts +241 -0
  866. package/src/deployers/dokploy.ts +174 -0
  867. package/src/deployers/index.ts +36 -0
  868. package/src/deployers/types.ts +70 -0
  869. package/src/generate.ts +45 -1
  870. package/src/generators/cloud-init.ts +137 -0
  871. package/src/generators/env.ts +112 -6
  872. package/src/generators/health-check.ts +2 -2
  873. package/src/generators/openclaw-install-script.ts +77 -0
  874. package/src/generators/openclaw-json.ts +195 -58
  875. package/src/generators/postgres-init.ts +11 -0
  876. package/src/generators/readme.ts +103 -4
  877. package/src/generators/stack-manifest.ts +127 -0
  878. package/src/index.ts +30 -0
  879. package/src/port-scanner.ts +189 -0
  880. package/src/presets/presets.test.ts +73 -0
  881. package/src/presets/registry.test.ts +3 -0
  882. package/src/presets/registry.ts +30 -7
  883. package/src/resolver.ts +2 -0
  884. package/src/schema.ts +30 -1
  885. package/src/services/definitions/anything-llm.ts +2 -2
  886. package/src/services/definitions/appflowy.ts +1 -1
  887. package/src/services/definitions/authentik.ts +5 -5
  888. package/src/services/definitions/beszel.ts +1 -1
  889. package/src/services/definitions/browserless.ts +1 -1
  890. package/src/services/definitions/caddy.ts +2 -2
  891. package/src/services/definitions/cal-com.ts +2 -2
  892. package/src/services/definitions/chromadb.ts +3 -3
  893. package/src/services/definitions/claude-code.ts +1 -1
  894. package/src/services/definitions/code-server.ts +1 -1
  895. package/src/services/definitions/codex.ts +1 -1
  896. package/src/services/definitions/comfyui.ts +1 -1
  897. package/src/services/definitions/coolify.ts +1 -1
  898. package/src/services/definitions/crowdsec.ts +2 -2
  899. package/src/services/definitions/desktop-environment.ts +1 -1
  900. package/src/services/definitions/dify.ts +1 -1
  901. package/src/services/definitions/docsgpt.ts +1 -1
  902. package/src/services/definitions/dokploy.ts +2 -2
  903. package/src/services/definitions/dozzle.ts +1 -1
  904. package/src/services/definitions/ffmpeg.ts +2 -2
  905. package/src/services/definitions/flowise.ts +1 -1
  906. package/src/services/definitions/gemini-cli.ts +8 -1
  907. package/src/services/definitions/ghost.ts +1 -1
  908. package/src/services/definitions/gitea.ts +1 -1
  909. package/src/services/definitions/gotify.ts +3 -3
  910. package/src/services/definitions/grafana.ts +2 -2
  911. package/src/services/definitions/headscale.ts +68 -68
  912. package/src/services/definitions/hexstrike.ts +1 -1
  913. package/src/services/definitions/homeassistant.ts +1 -1
  914. package/src/services/definitions/immich.ts +6 -6
  915. package/src/services/definitions/jellyfin.ts +1 -1
  916. package/src/services/definitions/jenkins.ts +1 -1
  917. package/src/services/definitions/kimi.ts +1 -1
  918. package/src/services/definitions/lasuite-meet-agents.ts +1 -1
  919. package/src/services/definitions/lasuite-meet-backend.ts +3 -3
  920. package/src/services/definitions/lasuite-meet-frontend.ts +3 -3
  921. package/src/services/definitions/librechat.ts +1 -1
  922. package/src/services/definitions/litellm.ts +1 -1
  923. package/src/services/definitions/loki.ts +1 -1
  924. package/src/services/definitions/matomo.ts +1 -1
  925. package/src/services/definitions/matrix-synapse.ts +1 -1
  926. package/src/services/definitions/mattermost.ts +1 -1
  927. package/src/services/definitions/meilisearch.ts +4 -4
  928. package/src/services/definitions/milvus.ts +1 -1
  929. package/src/services/definitions/minio.ts +1 -1
  930. package/src/services/definitions/mixpost.ts +1 -1
  931. package/src/services/definitions/motion-canvas.ts +1 -1
  932. package/src/services/definitions/n8n.ts +1 -1
  933. package/src/services/definitions/neo4j.ts +1 -1
  934. package/src/services/definitions/nextcloud.ts +19 -19
  935. package/src/services/definitions/nocodb.ts +1 -1
  936. package/src/services/definitions/ntfy.ts +2 -2
  937. package/src/services/definitions/ollama.ts +1 -1
  938. package/src/services/definitions/open-webui.ts +1 -1
  939. package/src/services/definitions/opencode.ts +1 -1
  940. package/src/services/definitions/openpanel.ts +3 -3
  941. package/src/services/definitions/paperless-ngx.ts +1 -1
  942. package/src/services/definitions/pentagi.ts +2 -2
  943. package/src/services/definitions/playwright-server.ts +1 -1
  944. package/src/services/definitions/portainer.ts +1 -1
  945. package/src/services/definitions/postgresql.ts +1 -1
  946. package/src/services/definitions/postiz.ts +1 -1
  947. package/src/services/definitions/prometheus.ts +1 -1
  948. package/src/services/definitions/qdrant.ts +1 -1
  949. package/src/services/definitions/redis.ts +1 -1
  950. package/src/services/definitions/remotion.ts +1 -1
  951. package/src/services/definitions/rocketchat.ts +1 -1
  952. package/src/services/definitions/scrapling.ts +2 -2
  953. package/src/services/definitions/searxng.ts +1 -1
  954. package/src/services/definitions/signoz.ts +2 -2
  955. package/src/services/definitions/solidityguard.ts +1 -1
  956. package/src/services/definitions/stable-diffusion.ts +1 -1
  957. package/src/services/definitions/steel-browser.ts +1 -1
  958. package/src/services/definitions/stream-gateway.ts +2 -2
  959. package/src/services/definitions/supabase.ts +2 -2
  960. package/src/services/definitions/tailscale.ts +1 -1
  961. package/src/services/definitions/traefik.ts +1 -1
  962. package/src/services/definitions/uptime-kuma.ts +2 -2
  963. package/src/services/definitions/usesend.ts +4 -4
  964. package/src/services/definitions/valkey.ts +1 -1
  965. package/src/services/definitions/vaultwarden.ts +2 -2
  966. package/src/services/definitions/weaviate.ts +2 -2
  967. package/src/services/definitions/whisper.ts +2 -2
  968. package/src/services/definitions/xyops.ts +1 -1
  969. package/src/types.ts +138 -20
  970. package/tsdown.config.ts +2 -2
@@ -0,0 +1,590 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-C0xms8kb.cjs');
3
+ let handlebars = require("handlebars");
4
+ handlebars = require_chunk.__toESM(handlebars);
5
+
6
+ //#region src/generators/skills.ts
7
+ /**
8
+ * Basic skill templates keyed by skillId.
9
+ *
10
+ * Templates use Handlebars `{{VAR}}` syntax. Variables are resolved from the
11
+ * service's `openclawEnvVars` array at generation time.
12
+ */
13
+ const skillTemplates = {
14
+ "redis-cache": `---
15
+ name: redis-cache
16
+ description: "Cache data and manage key-value state using Redis"
17
+ metadata:
18
+ openclaw:
19
+ emoji: "πŸ”΄"
20
+ ---
21
+
22
+ # Redis Cache
23
+
24
+ Use Redis as a high-performance in-memory cache and key-value store.
25
+
26
+ ## Connection Details
27
+
28
+ - **Host:** \`{{REDIS_HOST}}\`
29
+ - **Port:** \`{{REDIS_PORT}}\`
30
+
31
+ ## Example Commands
32
+
33
+ ### Set a value
34
+ \`\`\`bash
35
+ redis-cli -h {{REDIS_HOST}} -p {{REDIS_PORT}} -a $REDIS_PASSWORD SET mykey "myvalue"
36
+ \`\`\`
37
+
38
+ ### Get a value
39
+ \`\`\`bash
40
+ redis-cli -h {{REDIS_HOST}} -p {{REDIS_PORT}} -a $REDIS_PASSWORD GET mykey
41
+ \`\`\`
42
+
43
+ ### List all keys
44
+ \`\`\`bash
45
+ redis-cli -h {{REDIS_HOST}} -p {{REDIS_PORT}} -a $REDIS_PASSWORD KEYS "*"
46
+ \`\`\`
47
+
48
+ ## Usage Notes
49
+
50
+ - Use Redis for caching frequently accessed data, session storage, and pub/sub messaging.
51
+ - Data is persisted to disk via RDB snapshots in the mounted volume.
52
+ - Password authentication is required.
53
+ `,
54
+ "qdrant-memory": `---
55
+ name: qdrant-memory
56
+ description: "Store and retrieve vector embeddings for semantic search and RAG"
57
+ metadata:
58
+ openclaw:
59
+ emoji: "🧠"
60
+ ---
61
+
62
+ # Qdrant Memory
63
+
64
+ Use Qdrant as a vector database for storing embeddings, enabling semantic search and retrieval-augmented generation (RAG).
65
+
66
+ ## Connection Details
67
+
68
+ - **Host:** \`{{QDRANT_HOST}}\`
69
+ - **Port:** \`{{QDRANT_PORT}}\` (REST API)
70
+
71
+ ## Example API Calls
72
+
73
+ ### Create a collection
74
+ \`\`\`bash
75
+ curl -X PUT "http://{{QDRANT_HOST}}:{{QDRANT_PORT}}/collections/my_collection" \\
76
+ -H "Content-Type: application/json" \\
77
+ -d '{"vectors": {"size": 384, "distance": "Cosine"}}'
78
+ \`\`\`
79
+
80
+ ### Upsert points
81
+ \`\`\`bash
82
+ curl -X PUT "http://{{QDRANT_HOST}}:{{QDRANT_PORT}}/collections/my_collection/points" \\
83
+ -H "Content-Type: application/json" \\
84
+ -d '{"points": [{"id": 1, "vector": [0.1, 0.2, ...], "payload": {"text": "hello"}}]}'
85
+ \`\`\`
86
+
87
+ ### Search similar vectors
88
+ \`\`\`bash
89
+ curl -X POST "http://{{QDRANT_HOST}}:{{QDRANT_PORT}}/collections/my_collection/points/search" \\
90
+ -H "Content-Type: application/json" \\
91
+ -d '{"vector": [0.1, 0.2, ...], "limit": 5}'
92
+ \`\`\`
93
+
94
+ ## Usage Notes
95
+
96
+ - Use 384-dimensional vectors for MiniLM-based embeddings or 1536 for OpenAI ada-002.
97
+ - Qdrant supports filtering, batch operations, and named vectors.
98
+ `,
99
+ "n8n-trigger": `---
100
+ name: n8n-trigger
101
+ description: "Trigger and manage automation workflows using n8n"
102
+ metadata:
103
+ openclaw:
104
+ emoji: "πŸ”„"
105
+ ---
106
+
107
+ # n8n Workflow Trigger
108
+
109
+ Use n8n to create, trigger, and manage automation workflows via its REST API.
110
+
111
+ ## Connection Details
112
+
113
+ - **Host:** \`{{N8N_HOST}}\`
114
+ - **Port:** \`{{N8N_PORT}}\`
115
+ - **Webhook URL:** \`{{N8N_WEBHOOK_URL}}\`
116
+
117
+ ## Example API Calls
118
+
119
+ ### Trigger a webhook workflow
120
+ \`\`\`bash
121
+ curl -X POST "{{N8N_WEBHOOK_URL}}webhook/<your-webhook-id>" \\
122
+ -H "Content-Type: application/json" \\
123
+ -d '{"message": "Hello from OpenClaw"}'
124
+ \`\`\`
125
+
126
+ ### List workflows
127
+ \`\`\`bash
128
+ curl -X GET "http://{{N8N_HOST}}:{{N8N_PORT}}/api/v1/workflows" \\
129
+ -H "Content-Type: application/json"
130
+ \`\`\`
131
+
132
+ ### Activate a workflow
133
+ \`\`\`bash
134
+ curl -X PATCH "http://{{N8N_HOST}}:{{N8N_PORT}}/api/v1/workflows/<id>" \\
135
+ -H "Content-Type: application/json" \\
136
+ -d '{"active": true}'
137
+ \`\`\`
138
+
139
+ ## Usage Notes
140
+
141
+ - Create workflows in the n8n UI at http://{{N8N_HOST}}:{{N8N_PORT}}.
142
+ - Webhook nodes allow external triggers from OpenClaw.
143
+ - n8n stores workflow state in PostgreSQL.
144
+ `,
145
+ "ffmpeg-process": `---
146
+ name: ffmpeg-process
147
+ description: "Process media files using FFmpeg for transcoding, conversion, and manipulation"
148
+ metadata:
149
+ openclaw:
150
+ emoji: "🎬"
151
+ ---
152
+
153
+ # FFmpeg Media Processing
154
+
155
+ Use FFmpeg for video/audio transcoding, format conversion, and media manipulation.
156
+
157
+ ## Shared Directory
158
+
159
+ - **Media directory:** \`{{FFMPEG_SHARED_DIR}}\`
160
+
161
+ ## Example Commands
162
+
163
+ ### Convert video to MP4
164
+ \`\`\`bash
165
+ docker exec ffmpeg ffmpeg -i /data/input.avi -c:v libx264 -c:a aac /data/output.mp4
166
+ \`\`\`
167
+
168
+ ### Extract audio from video
169
+ \`\`\`bash
170
+ docker exec ffmpeg ffmpeg -i /data/video.mp4 -vn -acodec libmp3lame /data/audio.mp3
171
+ \`\`\`
172
+
173
+ ### Create thumbnail from video
174
+ \`\`\`bash
175
+ docker exec ffmpeg ffmpeg -i /data/video.mp4 -ss 00:00:05 -vframes 1 /data/thumb.jpg
176
+ \`\`\`
177
+
178
+ ### Resize video
179
+ \`\`\`bash
180
+ docker exec ffmpeg ffmpeg -i /data/input.mp4 -vf scale=1280:720 /data/output_720p.mp4
181
+ \`\`\`
182
+
183
+ ## Usage Notes
184
+
185
+ - Place input files in the shared media directory.
186
+ - FFmpeg runs as a sidecar container sharing a volume with OpenClaw.
187
+ - Output files appear in the same shared directory.
188
+ `,
189
+ "minio-storage": `---
190
+ name: minio-storage
191
+ description: "Store and retrieve files using S3-compatible object storage"
192
+ metadata:
193
+ openclaw:
194
+ emoji: "πŸ’Ύ"
195
+ ---
196
+
197
+ # MinIO Object Storage
198
+
199
+ Use MinIO as S3-compatible object storage for files, assets, and backups.
200
+
201
+ ## Connection Details
202
+
203
+ - **Host:** \`{{MINIO_HOST}}\`
204
+ - **API Port:** \`{{MINIO_PORT}}\`
205
+ - **Access Key:** Uses \`MINIO_ACCESS_KEY\` env var
206
+ - **Secret Key:** Uses \`MINIO_SECRET_KEY\` env var
207
+
208
+ ## Example API Calls
209
+
210
+ ### Create a bucket
211
+ \`\`\`bash
212
+ mc alias set local http://{{MINIO_HOST}}:{{MINIO_PORT}} $MINIO_ACCESS_KEY $MINIO_SECRET_KEY
213
+ mc mb local/my-bucket
214
+ \`\`\`
215
+
216
+ ### Upload a file
217
+ \`\`\`bash
218
+ mc cp /path/to/file.txt local/my-bucket/file.txt
219
+ \`\`\`
220
+
221
+ ### Download a file
222
+ \`\`\`bash
223
+ mc cp local/my-bucket/file.txt /path/to/local/file.txt
224
+ \`\`\`
225
+
226
+ ### List bucket contents
227
+ \`\`\`bash
228
+ mc ls local/my-bucket/
229
+ \`\`\`
230
+
231
+ ## Usage Notes
232
+
233
+ - MinIO is fully S3-compatibleβ€”use any S3 SDK or CLI.
234
+ - Access the web console at http://{{MINIO_HOST}}:9001 for a visual file browser.
235
+ - Create separate buckets for different data types (assets, backups, uploads).
236
+ `,
237
+ "browserless-browse": `---
238
+ name: browserless-browse
239
+ description: "Automate browser interactions, scrape web pages, and generate PDFs"
240
+ metadata:
241
+ openclaw:
242
+ emoji: "🌐"
243
+ ---
244
+
245
+ # Browserless Browser Automation
246
+
247
+ Use Browserless for headless Chrome browser automation, web scraping, screenshots, and PDF generation.
248
+
249
+ ## Connection Details
250
+
251
+ - **Host:** \`{{BROWSERLESS_HOST}}\`
252
+ - **Port:** \`{{BROWSERLESS_PORT}}\`
253
+ - **Token:** Uses \`BROWSERLESS_TOKEN\` env var
254
+
255
+ ## Example API Calls
256
+
257
+ ### Take a screenshot
258
+ \`\`\`bash
259
+ curl -X POST "http://{{BROWSERLESS_HOST}}:{{BROWSERLESS_PORT}}/screenshot?token=$BROWSERLESS_TOKEN" \\
260
+ -H "Content-Type: application/json" \\
261
+ -d '{"url": "https://example.com", "options": {"fullPage": true}}' \\
262
+ --output screenshot.png
263
+ \`\`\`
264
+
265
+ ### Generate a PDF
266
+ \`\`\`bash
267
+ curl -X POST "http://{{BROWSERLESS_HOST}}:{{BROWSERLESS_PORT}}/pdf?token=$BROWSERLESS_TOKEN" \\
268
+ -H "Content-Type: application/json" \\
269
+ -d '{"url": "https://example.com"}' \\
270
+ --output page.pdf
271
+ \`\`\`
272
+
273
+ ### Scrape page content
274
+ \`\`\`bash
275
+ curl -X POST "http://{{BROWSERLESS_HOST}}:{{BROWSERLESS_PORT}}/content?token=$BROWSERLESS_TOKEN" \\
276
+ -H "Content-Type: application/json" \\
277
+ -d '{"url": "https://example.com"}'
278
+ \`\`\`
279
+
280
+ ## Usage Notes
281
+
282
+ - Browserless manages a pool of Chrome instances (max concurrent sessions configured via env).
283
+ - Token authentication is required for all API calls.
284
+ - Supports Puppeteer and Playwright WebSocket connections.
285
+ `,
286
+ "searxng-search": `---
287
+ name: searxng-search
288
+ description: "Search the web using a privacy-respecting metasearch engine"
289
+ metadata:
290
+ openclaw:
291
+ emoji: "πŸ”"
292
+ ---
293
+
294
+ # SearXNG Web Search
295
+
296
+ Use SearXNG as a privacy-respecting metasearch engine to query the web.
297
+
298
+ ## Connection Details
299
+
300
+ - **Host:** \`{{SEARXNG_HOST}}\`
301
+ - **Port:** \`{{SEARXNG_PORT}}\`
302
+
303
+ ## Example API Calls
304
+
305
+ ### Search the web
306
+ \`\`\`bash
307
+ curl "http://{{SEARXNG_HOST}}:{{SEARXNG_PORT}}/search?q=your+search+query&format=json"
308
+ \`\`\`
309
+
310
+ ### Search with category filter
311
+ \`\`\`bash
312
+ curl "http://{{SEARXNG_HOST}}:{{SEARXNG_PORT}}/search?q=openai&categories=it&format=json"
313
+ \`\`\`
314
+
315
+ ### Search with language filter
316
+ \`\`\`bash
317
+ curl "http://{{SEARXNG_HOST}}:{{SEARXNG_PORT}}/search?q=hello&language=en&format=json"
318
+ \`\`\`
319
+
320
+ ## Usage Notes
321
+
322
+ - Always use \`format=json\` for machine-readable results.
323
+ - Available categories: general, images, videos, news, map, music, it, science, files.
324
+ - SearXNG aggregates results from many search engines without tracking.
325
+ `,
326
+ "whisper-transcribe": `---
327
+ name: whisper-transcribe
328
+ description: "Transcribe audio files to text using Faster Whisper"
329
+ metadata:
330
+ openclaw:
331
+ emoji: "πŸŽ™οΈ"
332
+ ---
333
+
334
+ # Whisper Transcription
335
+
336
+ Use the Faster Whisper server for speech-to-text transcription.
337
+
338
+ ## Connection Details
339
+
340
+ - **Host:** \`{{WHISPER_HOST}}\`
341
+ - **Port:** \`{{WHISPER_PORT}}\`
342
+
343
+ ## Example API Calls
344
+
345
+ ### Transcribe an audio file
346
+ \`\`\`bash
347
+ curl -X POST "http://{{WHISPER_HOST}}:{{WHISPER_PORT}}/v1/audio/transcriptions" \\
348
+ -F "file=@/path/to/audio.mp3" \\
349
+ -F "model=base"
350
+ \`\`\`
351
+
352
+ ### Transcribe with language hint
353
+ \`\`\`bash
354
+ curl -X POST "http://{{WHISPER_HOST}}:{{WHISPER_PORT}}/v1/audio/transcriptions" \\
355
+ -F "file=@/path/to/audio.wav" \\
356
+ -F "model=base" \\
357
+ -F "language=en"
358
+ \`\`\`
359
+
360
+ ### Get available models
361
+ \`\`\`bash
362
+ curl "http://{{WHISPER_HOST}}:{{WHISPER_PORT}}/v1/models"
363
+ \`\`\`
364
+
365
+ ## Usage Notes
366
+
367
+ - Supports MP3, WAV, FLAC, and other common audio formats.
368
+ - Model sizes: tiny, base, small, medium, large (larger = more accurate but slower).
369
+ - GPU acceleration significantly improves transcription speed.
370
+ `,
371
+ "ollama-local-llm": `---
372
+ name: ollama-local-llm
373
+ description: "Run local language models for text generation, chat, and embeddings"
374
+ metadata:
375
+ openclaw:
376
+ emoji: "πŸ¦™"
377
+ ---
378
+
379
+ # Ollama Local LLM
380
+
381
+ Use Ollama to run large language models locally for text generation, chat, and embeddings.
382
+
383
+ ## Connection Details
384
+
385
+ - **Host:** \`{{OLLAMA_HOST}}\`
386
+ - **Port:** \`{{OLLAMA_PORT}}\`
387
+
388
+ ## Example API Calls
389
+
390
+ ### Generate text
391
+ \`\`\`bash
392
+ curl -X POST "http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/generate" \\
393
+ -H "Content-Type: application/json" \\
394
+ -d '{"model": "llama3.2", "prompt": "Explain quantum computing in simple terms"}'
395
+ \`\`\`
396
+
397
+ ### Chat completion
398
+ \`\`\`bash
399
+ curl -X POST "http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/chat" \\
400
+ -H "Content-Type: application/json" \\
401
+ -d '{"model": "llama3.2", "messages": [{"role": "user", "content": "Hello!"}]}'
402
+ \`\`\`
403
+
404
+ ### Pull a model
405
+ \`\`\`bash
406
+ curl -X POST "http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/pull" \\
407
+ -H "Content-Type: application/json" \\
408
+ -d '{"name": "llama3.2"}'
409
+ \`\`\`
410
+
411
+ ### Generate embeddings
412
+ \`\`\`bash
413
+ curl -X POST "http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/embeddings" \\
414
+ -H "Content-Type: application/json" \\
415
+ -d '{"model": "nomic-embed-text", "prompt": "Hello world"}'
416
+ \`\`\`
417
+
418
+ ## Usage Notes
419
+
420
+ - Pull models before first use (they are cached in the persistent volume).
421
+ - Recommended models: llama3.2 (general), codellama (code), nomic-embed-text (embeddings).
422
+ - GPU passthrough dramatically improves inference speed.
423
+ - The Ollama API is OpenAI-compatible at /v1/ endpoints.
424
+ `,
425
+ "remotion-render": `---
426
+ name: remotion-render
427
+ description: "Create and render videos programmatically using React"
428
+ metadata:
429
+ openclaw:
430
+ emoji: "πŸŽ₯"
431
+ ---
432
+
433
+ # Remotion Video Rendering
434
+
435
+ Use Remotion Studio to create and render videos programmatically with React.
436
+
437
+ ## Connection Details
438
+
439
+ - **Host:** \`{{REMOTION_HOST}}\`
440
+ - **Port:** \`{{REMOTION_PORT}}\`
441
+
442
+ ## Example Usage
443
+
444
+ ### Access the Studio UI
445
+ Open \`http://{{REMOTION_HOST}}:{{REMOTION_PORT}}\` in your browser to use the Remotion Studio visual editor.
446
+
447
+ ### Render a video via CLI
448
+ \`\`\`bash
449
+ docker exec remotion npx remotion render src/index.tsx MyComposition out/video.mp4
450
+ \`\`\`
451
+
452
+ ### Render with custom props
453
+ \`\`\`bash
454
+ docker exec remotion npx remotion render src/index.tsx MyComposition out/video.mp4 \\
455
+ --props='{"title": "Hello World"}'
456
+ \`\`\`
457
+
458
+ ## Usage Notes
459
+
460
+ - Define video compositions in React components.
461
+ - Remotion supports MP4, WebM, and GIF output formats.
462
+ - Use the Studio UI for previewing before rendering.
463
+ - Combine with FFmpeg for post-processing.
464
+ `,
465
+ "lightpanda-browse": `---
466
+ name: lightpanda-browse
467
+ description: "Browse the web using the ultra-fast LightPanda headless browser via CDP"
468
+ metadata:
469
+ openclaw:
470
+ emoji: "🐼"
471
+ ---
472
+
473
+ # LightPanda Browse
474
+
475
+ LightPanda is an ultra-fast headless browser available via CDP WebSocket at \`ws://{{LIGHTPANDA_HOST}}:{{LIGHTPANDA_PORT}}\`.
476
+
477
+ ## Connect via Puppeteer
478
+
479
+ \`\`\`javascript
480
+ const browser = await puppeteer.connect({
481
+ browserWSEndpoint: "ws://{{LIGHTPANDA_HOST}}:{{LIGHTPANDA_PORT}}"
482
+ });
483
+ const page = await browser.newPage();
484
+ await page.goto('https://example.com');
485
+ const content = await page.evaluate(() => document.body.innerText);
486
+ \`\`\`
487
+
488
+ ## Key Advantages
489
+
490
+ - 9x less memory than Chrome (ideal for parallel scraping)
491
+ - 11x faster page loading
492
+ - Instant startup
493
+ - Full CDP compatibility with Puppeteer and Playwright
494
+ `,
495
+ "steel-browse": `---
496
+ name: steel-browse
497
+ description: "Browse the web using Steel Browser API with session management and anti-detection"
498
+ metadata:
499
+ openclaw:
500
+ emoji: "πŸ”₯"
501
+ ---
502
+
503
+ # Steel Browser
504
+
505
+ Steel provides a REST API at \`http://{{STEEL_HOST}}:{{STEEL_PORT}}\` for AI agent web automation.
506
+
507
+ ## Create a Session
508
+
509
+ \`\`\`bash
510
+ curl -X POST http://{{STEEL_HOST}}:{{STEEL_PORT}}/v1/sessions \\
511
+ -H "Content-Type: application/json" \\
512
+ -d '{"blockAds": true}'
513
+ \`\`\`
514
+
515
+ ## Scrape a Page
516
+
517
+ \`\`\`bash
518
+ curl -X POST http://{{STEEL_HOST}}:{{STEEL_PORT}}/v1/scrape \\
519
+ -H "Content-Type: application/json" \\
520
+ -d '{"url": "https://example.com", "format": "markdown"}'
521
+ \`\`\`
522
+
523
+ ## Features
524
+
525
+ - Session management with persistent cookies
526
+ - Anti-detection and stealth plugins
527
+ - Proxy support and IP rotation
528
+ - Auto CAPTCHA solving
529
+ - Puppeteer/Playwright/Selenium compatible
530
+ `
531
+ };
532
+ /**
533
+ * Generates SKILL.md files for each service that has skills defined.
534
+ *
535
+ * Returns a map of file paths (relative to project root) to file contents.
536
+ * Handlebars is used to replace `{{VAR}}` placeholders with actual values
537
+ * from each service's `openclawEnvVars`.
538
+ */
539
+ function generateSkillFiles(resolved) {
540
+ const files = {};
541
+ for (const { definition } of resolved.services) {
542
+ if (definition.skills.length === 0) continue;
543
+ const vars = {};
544
+ for (const envVar of definition.openclawEnvVars) {
545
+ const val = envVar.defaultValue.startsWith("${") ? envVar.defaultValue.slice(2, -1) : envVar.defaultValue;
546
+ vars[envVar.key] = val;
547
+ }
548
+ for (const skill of definition.skills) {
549
+ const template = skillTemplates[skill.skillId];
550
+ if (!template) {
551
+ const generic = generateGenericSkill(skill.skillId, definition.name, definition.icon, definition.description, vars);
552
+ files[`openclaw/workspace/skills/${skill.skillId}/SKILL.md`] = generic;
553
+ continue;
554
+ }
555
+ const rendered = handlebars.default.compile(template, { noEscape: true })(vars);
556
+ files[`openclaw/workspace/skills/${skill.skillId}/SKILL.md`] = rendered;
557
+ }
558
+ }
559
+ return files;
560
+ }
561
+ /**
562
+ * Generate a generic SKILL.md for skills that don't have a dedicated template.
563
+ */
564
+ function generateGenericSkill(skillId, serviceName, icon, description, vars) {
565
+ return `---
566
+ name: ${skillId}
567
+ description: "${description}"
568
+ metadata:
569
+ openclaw:
570
+ emoji: "${icon}"
571
+ ---
572
+
573
+ # ${skillId.split("-").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ")}
574
+
575
+ Interact with ${serviceName} through this skill.
576
+
577
+ ## Connection Details
578
+
579
+ ${Object.entries(vars).map(([key, value]) => `- **${key}:** \`${value}\``).join("\n") || "No specific connection variables configured."}
580
+
581
+ ## Usage Notes
582
+
583
+ - This skill provides OpenClaw access to ${serviceName}.
584
+ - Refer to the service documentation for available API endpoints.
585
+ `;
586
+ }
587
+
588
+ //#endregion
589
+ exports.generateSkillFiles = generateSkillFiles;
590
+ //# sourceMappingURL=skills.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.cjs","names":["Handlebars"],"sources":["../../src/generators/skills.ts"],"sourcesContent":["import Handlebars from \"handlebars\";\nimport type { ResolverOutput } from \"../types.js\";\n\n/**\n * Basic skill templates keyed by skillId.\n *\n * Templates use Handlebars `{{VAR}}` syntax. Variables are resolved from the\n * service's `openclawEnvVars` array at generation time.\n */\nconst skillTemplates: Record<string, string> = {\n\t\"redis-cache\": `---\nname: redis-cache\ndescription: \"Cache data and manage key-value state using Redis\"\nmetadata:\n openclaw:\n emoji: \"πŸ”΄\"\n---\n\n# Redis Cache\n\nUse Redis as a high-performance in-memory cache and key-value store.\n\n## Connection Details\n\n- **Host:** \\`{{REDIS_HOST}}\\`\n- **Port:** \\`{{REDIS_PORT}}\\`\n\n## Example Commands\n\n### Set a value\n\\`\\`\\`bash\nredis-cli -h {{REDIS_HOST}} -p {{REDIS_PORT}} -a $REDIS_PASSWORD SET mykey \"myvalue\"\n\\`\\`\\`\n\n### Get a value\n\\`\\`\\`bash\nredis-cli -h {{REDIS_HOST}} -p {{REDIS_PORT}} -a $REDIS_PASSWORD GET mykey\n\\`\\`\\`\n\n### List all keys\n\\`\\`\\`bash\nredis-cli -h {{REDIS_HOST}} -p {{REDIS_PORT}} -a $REDIS_PASSWORD KEYS \"*\"\n\\`\\`\\`\n\n## Usage Notes\n\n- Use Redis for caching frequently accessed data, session storage, and pub/sub messaging.\n- Data is persisted to disk via RDB snapshots in the mounted volume.\n- Password authentication is required.\n`,\n\n\t\"qdrant-memory\": `---\nname: qdrant-memory\ndescription: \"Store and retrieve vector embeddings for semantic search and RAG\"\nmetadata:\n openclaw:\n emoji: \"🧠\"\n---\n\n# Qdrant Memory\n\nUse Qdrant as a vector database for storing embeddings, enabling semantic search and retrieval-augmented generation (RAG).\n\n## Connection Details\n\n- **Host:** \\`{{QDRANT_HOST}}\\`\n- **Port:** \\`{{QDRANT_PORT}}\\` (REST API)\n\n## Example API Calls\n\n### Create a collection\n\\`\\`\\`bash\ncurl -X PUT \"http://{{QDRANT_HOST}}:{{QDRANT_PORT}}/collections/my_collection\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"vectors\": {\"size\": 384, \"distance\": \"Cosine\"}}'\n\\`\\`\\`\n\n### Upsert points\n\\`\\`\\`bash\ncurl -X PUT \"http://{{QDRANT_HOST}}:{{QDRANT_PORT}}/collections/my_collection/points\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"points\": [{\"id\": 1, \"vector\": [0.1, 0.2, ...], \"payload\": {\"text\": \"hello\"}}]}'\n\\`\\`\\`\n\n### Search similar vectors\n\\`\\`\\`bash\ncurl -X POST \"http://{{QDRANT_HOST}}:{{QDRANT_PORT}}/collections/my_collection/points/search\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"vector\": [0.1, 0.2, ...], \"limit\": 5}'\n\\`\\`\\`\n\n## Usage Notes\n\n- Use 384-dimensional vectors for MiniLM-based embeddings or 1536 for OpenAI ada-002.\n- Qdrant supports filtering, batch operations, and named vectors.\n`,\n\n\t\"n8n-trigger\": `---\nname: n8n-trigger\ndescription: \"Trigger and manage automation workflows using n8n\"\nmetadata:\n openclaw:\n emoji: \"πŸ”„\"\n---\n\n# n8n Workflow Trigger\n\nUse n8n to create, trigger, and manage automation workflows via its REST API.\n\n## Connection Details\n\n- **Host:** \\`{{N8N_HOST}}\\`\n- **Port:** \\`{{N8N_PORT}}\\`\n- **Webhook URL:** \\`{{N8N_WEBHOOK_URL}}\\`\n\n## Example API Calls\n\n### Trigger a webhook workflow\n\\`\\`\\`bash\ncurl -X POST \"{{N8N_WEBHOOK_URL}}webhook/<your-webhook-id>\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"message\": \"Hello from OpenClaw\"}'\n\\`\\`\\`\n\n### List workflows\n\\`\\`\\`bash\ncurl -X GET \"http://{{N8N_HOST}}:{{N8N_PORT}}/api/v1/workflows\" \\\\\n -H \"Content-Type: application/json\"\n\\`\\`\\`\n\n### Activate a workflow\n\\`\\`\\`bash\ncurl -X PATCH \"http://{{N8N_HOST}}:{{N8N_PORT}}/api/v1/workflows/<id>\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"active\": true}'\n\\`\\`\\`\n\n## Usage Notes\n\n- Create workflows in the n8n UI at http://{{N8N_HOST}}:{{N8N_PORT}}.\n- Webhook nodes allow external triggers from OpenClaw.\n- n8n stores workflow state in PostgreSQL.\n`,\n\n\t\"ffmpeg-process\": `---\nname: ffmpeg-process\ndescription: \"Process media files using FFmpeg for transcoding, conversion, and manipulation\"\nmetadata:\n openclaw:\n emoji: \"🎬\"\n---\n\n# FFmpeg Media Processing\n\nUse FFmpeg for video/audio transcoding, format conversion, and media manipulation.\n\n## Shared Directory\n\n- **Media directory:** \\`{{FFMPEG_SHARED_DIR}}\\`\n\n## Example Commands\n\n### Convert video to MP4\n\\`\\`\\`bash\ndocker exec ffmpeg ffmpeg -i /data/input.avi -c:v libx264 -c:a aac /data/output.mp4\n\\`\\`\\`\n\n### Extract audio from video\n\\`\\`\\`bash\ndocker exec ffmpeg ffmpeg -i /data/video.mp4 -vn -acodec libmp3lame /data/audio.mp3\n\\`\\`\\`\n\n### Create thumbnail from video\n\\`\\`\\`bash\ndocker exec ffmpeg ffmpeg -i /data/video.mp4 -ss 00:00:05 -vframes 1 /data/thumb.jpg\n\\`\\`\\`\n\n### Resize video\n\\`\\`\\`bash\ndocker exec ffmpeg ffmpeg -i /data/input.mp4 -vf scale=1280:720 /data/output_720p.mp4\n\\`\\`\\`\n\n## Usage Notes\n\n- Place input files in the shared media directory.\n- FFmpeg runs as a sidecar container sharing a volume with OpenClaw.\n- Output files appear in the same shared directory.\n`,\n\n\t\"minio-storage\": `---\nname: minio-storage\ndescription: \"Store and retrieve files using S3-compatible object storage\"\nmetadata:\n openclaw:\n emoji: \"πŸ’Ύ\"\n---\n\n# MinIO Object Storage\n\nUse MinIO as S3-compatible object storage for files, assets, and backups.\n\n## Connection Details\n\n- **Host:** \\`{{MINIO_HOST}}\\`\n- **API Port:** \\`{{MINIO_PORT}}\\`\n- **Access Key:** Uses \\`MINIO_ACCESS_KEY\\` env var\n- **Secret Key:** Uses \\`MINIO_SECRET_KEY\\` env var\n\n## Example API Calls\n\n### Create a bucket\n\\`\\`\\`bash\nmc alias set local http://{{MINIO_HOST}}:{{MINIO_PORT}} $MINIO_ACCESS_KEY $MINIO_SECRET_KEY\nmc mb local/my-bucket\n\\`\\`\\`\n\n### Upload a file\n\\`\\`\\`bash\nmc cp /path/to/file.txt local/my-bucket/file.txt\n\\`\\`\\`\n\n### Download a file\n\\`\\`\\`bash\nmc cp local/my-bucket/file.txt /path/to/local/file.txt\n\\`\\`\\`\n\n### List bucket contents\n\\`\\`\\`bash\nmc ls local/my-bucket/\n\\`\\`\\`\n\n## Usage Notes\n\n- MinIO is fully S3-compatibleβ€”use any S3 SDK or CLI.\n- Access the web console at http://{{MINIO_HOST}}:9001 for a visual file browser.\n- Create separate buckets for different data types (assets, backups, uploads).\n`,\n\n\t\"browserless-browse\": `---\nname: browserless-browse\ndescription: \"Automate browser interactions, scrape web pages, and generate PDFs\"\nmetadata:\n openclaw:\n emoji: \"🌐\"\n---\n\n# Browserless Browser Automation\n\nUse Browserless for headless Chrome browser automation, web scraping, screenshots, and PDF generation.\n\n## Connection Details\n\n- **Host:** \\`{{BROWSERLESS_HOST}}\\`\n- **Port:** \\`{{BROWSERLESS_PORT}}\\`\n- **Token:** Uses \\`BROWSERLESS_TOKEN\\` env var\n\n## Example API Calls\n\n### Take a screenshot\n\\`\\`\\`bash\ncurl -X POST \"http://{{BROWSERLESS_HOST}}:{{BROWSERLESS_PORT}}/screenshot?token=$BROWSERLESS_TOKEN\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"url\": \"https://example.com\", \"options\": {\"fullPage\": true}}' \\\\\n --output screenshot.png\n\\`\\`\\`\n\n### Generate a PDF\n\\`\\`\\`bash\ncurl -X POST \"http://{{BROWSERLESS_HOST}}:{{BROWSERLESS_PORT}}/pdf?token=$BROWSERLESS_TOKEN\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"url\": \"https://example.com\"}' \\\\\n --output page.pdf\n\\`\\`\\`\n\n### Scrape page content\n\\`\\`\\`bash\ncurl -X POST \"http://{{BROWSERLESS_HOST}}:{{BROWSERLESS_PORT}}/content?token=$BROWSERLESS_TOKEN\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"url\": \"https://example.com\"}'\n\\`\\`\\`\n\n## Usage Notes\n\n- Browserless manages a pool of Chrome instances (max concurrent sessions configured via env).\n- Token authentication is required for all API calls.\n- Supports Puppeteer and Playwright WebSocket connections.\n`,\n\n\t\"searxng-search\": `---\nname: searxng-search\ndescription: \"Search the web using a privacy-respecting metasearch engine\"\nmetadata:\n openclaw:\n emoji: \"πŸ”\"\n---\n\n# SearXNG Web Search\n\nUse SearXNG as a privacy-respecting metasearch engine to query the web.\n\n## Connection Details\n\n- **Host:** \\`{{SEARXNG_HOST}}\\`\n- **Port:** \\`{{SEARXNG_PORT}}\\`\n\n## Example API Calls\n\n### Search the web\n\\`\\`\\`bash\ncurl \"http://{{SEARXNG_HOST}}:{{SEARXNG_PORT}}/search?q=your+search+query&format=json\"\n\\`\\`\\`\n\n### Search with category filter\n\\`\\`\\`bash\ncurl \"http://{{SEARXNG_HOST}}:{{SEARXNG_PORT}}/search?q=openai&categories=it&format=json\"\n\\`\\`\\`\n\n### Search with language filter\n\\`\\`\\`bash\ncurl \"http://{{SEARXNG_HOST}}:{{SEARXNG_PORT}}/search?q=hello&language=en&format=json\"\n\\`\\`\\`\n\n## Usage Notes\n\n- Always use \\`format=json\\` for machine-readable results.\n- Available categories: general, images, videos, news, map, music, it, science, files.\n- SearXNG aggregates results from many search engines without tracking.\n`,\n\n\t\"whisper-transcribe\": `---\nname: whisper-transcribe\ndescription: \"Transcribe audio files to text using Faster Whisper\"\nmetadata:\n openclaw:\n emoji: \"πŸŽ™οΈ\"\n---\n\n# Whisper Transcription\n\nUse the Faster Whisper server for speech-to-text transcription.\n\n## Connection Details\n\n- **Host:** \\`{{WHISPER_HOST}}\\`\n- **Port:** \\`{{WHISPER_PORT}}\\`\n\n## Example API Calls\n\n### Transcribe an audio file\n\\`\\`\\`bash\ncurl -X POST \"http://{{WHISPER_HOST}}:{{WHISPER_PORT}}/v1/audio/transcriptions\" \\\\\n -F \"file=@/path/to/audio.mp3\" \\\\\n -F \"model=base\"\n\\`\\`\\`\n\n### Transcribe with language hint\n\\`\\`\\`bash\ncurl -X POST \"http://{{WHISPER_HOST}}:{{WHISPER_PORT}}/v1/audio/transcriptions\" \\\\\n -F \"file=@/path/to/audio.wav\" \\\\\n -F \"model=base\" \\\\\n -F \"language=en\"\n\\`\\`\\`\n\n### Get available models\n\\`\\`\\`bash\ncurl \"http://{{WHISPER_HOST}}:{{WHISPER_PORT}}/v1/models\"\n\\`\\`\\`\n\n## Usage Notes\n\n- Supports MP3, WAV, FLAC, and other common audio formats.\n- Model sizes: tiny, base, small, medium, large (larger = more accurate but slower).\n- GPU acceleration significantly improves transcription speed.\n`,\n\n\t\"ollama-local-llm\": `---\nname: ollama-local-llm\ndescription: \"Run local language models for text generation, chat, and embeddings\"\nmetadata:\n openclaw:\n emoji: \"πŸ¦™\"\n---\n\n# Ollama Local LLM\n\nUse Ollama to run large language models locally for text generation, chat, and embeddings.\n\n## Connection Details\n\n- **Host:** \\`{{OLLAMA_HOST}}\\`\n- **Port:** \\`{{OLLAMA_PORT}}\\`\n\n## Example API Calls\n\n### Generate text\n\\`\\`\\`bash\ncurl -X POST \"http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/generate\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"model\": \"llama3.2\", \"prompt\": \"Explain quantum computing in simple terms\"}'\n\\`\\`\\`\n\n### Chat completion\n\\`\\`\\`bash\ncurl -X POST \"http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/chat\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"model\": \"llama3.2\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]}'\n\\`\\`\\`\n\n### Pull a model\n\\`\\`\\`bash\ncurl -X POST \"http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/pull\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"name\": \"llama3.2\"}'\n\\`\\`\\`\n\n### Generate embeddings\n\\`\\`\\`bash\ncurl -X POST \"http://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/api/embeddings\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"model\": \"nomic-embed-text\", \"prompt\": \"Hello world\"}'\n\\`\\`\\`\n\n## Usage Notes\n\n- Pull models before first use (they are cached in the persistent volume).\n- Recommended models: llama3.2 (general), codellama (code), nomic-embed-text (embeddings).\n- GPU passthrough dramatically improves inference speed.\n- The Ollama API is OpenAI-compatible at /v1/ endpoints.\n`,\n\n\t\"remotion-render\": `---\nname: remotion-render\ndescription: \"Create and render videos programmatically using React\"\nmetadata:\n openclaw:\n emoji: \"πŸŽ₯\"\n---\n\n# Remotion Video Rendering\n\nUse Remotion Studio to create and render videos programmatically with React.\n\n## Connection Details\n\n- **Host:** \\`{{REMOTION_HOST}}\\`\n- **Port:** \\`{{REMOTION_PORT}}\\`\n\n## Example Usage\n\n### Access the Studio UI\nOpen \\`http://{{REMOTION_HOST}}:{{REMOTION_PORT}}\\` in your browser to use the Remotion Studio visual editor.\n\n### Render a video via CLI\n\\`\\`\\`bash\ndocker exec remotion npx remotion render src/index.tsx MyComposition out/video.mp4\n\\`\\`\\`\n\n### Render with custom props\n\\`\\`\\`bash\ndocker exec remotion npx remotion render src/index.tsx MyComposition out/video.mp4 \\\\\n --props='{\"title\": \"Hello World\"}'\n\\`\\`\\`\n\n## Usage Notes\n\n- Define video compositions in React components.\n- Remotion supports MP4, WebM, and GIF output formats.\n- Use the Studio UI for previewing before rendering.\n- Combine with FFmpeg for post-processing.\n`,\n\n\t\"lightpanda-browse\": `---\nname: lightpanda-browse\ndescription: \"Browse the web using the ultra-fast LightPanda headless browser via CDP\"\nmetadata:\n openclaw:\n emoji: \"🐼\"\n---\n\n# LightPanda Browse\n\nLightPanda is an ultra-fast headless browser available via CDP WebSocket at \\`ws://{{LIGHTPANDA_HOST}}:{{LIGHTPANDA_PORT}}\\`.\n\n## Connect via Puppeteer\n\n\\`\\`\\`javascript\nconst browser = await puppeteer.connect({\n browserWSEndpoint: \"ws://{{LIGHTPANDA_HOST}}:{{LIGHTPANDA_PORT}}\"\n});\nconst page = await browser.newPage();\nawait page.goto('https://example.com');\nconst content = await page.evaluate(() => document.body.innerText);\n\\`\\`\\`\n\n## Key Advantages\n\n- 9x less memory than Chrome (ideal for parallel scraping)\n- 11x faster page loading\n- Instant startup\n- Full CDP compatibility with Puppeteer and Playwright\n`,\n\n\t\"steel-browse\": `---\nname: steel-browse\ndescription: \"Browse the web using Steel Browser API with session management and anti-detection\"\nmetadata:\n openclaw:\n emoji: \"πŸ”₯\"\n---\n\n# Steel Browser\n\nSteel provides a REST API at \\`http://{{STEEL_HOST}}:{{STEEL_PORT}}\\` for AI agent web automation.\n\n## Create a Session\n\n\\`\\`\\`bash\ncurl -X POST http://{{STEEL_HOST}}:{{STEEL_PORT}}/v1/sessions \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"blockAds\": true}'\n\\`\\`\\`\n\n## Scrape a Page\n\n\\`\\`\\`bash\ncurl -X POST http://{{STEEL_HOST}}:{{STEEL_PORT}}/v1/scrape \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"url\": \"https://example.com\", \"format\": \"markdown\"}'\n\\`\\`\\`\n\n## Features\n\n- Session management with persistent cookies\n- Anti-detection and stealth plugins\n- Proxy support and IP rotation\n- Auto CAPTCHA solving\n- Puppeteer/Playwright/Selenium compatible\n`,\n};\n\n/**\n * Generates SKILL.md files for each service that has skills defined.\n *\n * Returns a map of file paths (relative to project root) to file contents.\n * Handlebars is used to replace `{{VAR}}` placeholders with actual values\n * from each service's `openclawEnvVars`.\n */\nexport function generateSkillFiles(resolved: ResolverOutput): Record<string, string> {\n\tconst files: Record<string, string> = {};\n\n\tfor (const { definition } of resolved.services) {\n\t\tif (definition.skills.length === 0) continue;\n\n\t\t// Build a variable map from openclawEnvVars for Handlebars\n\t\tconst vars: Record<string, string> = {};\n\t\tfor (const envVar of definition.openclawEnvVars) {\n\t\t\t// Resolve ${REFERENCES} to the default value (just strip the ${} wrapper)\n\t\t\tconst val = envVar.defaultValue.startsWith(\"${\")\n\t\t\t\t? envVar.defaultValue.slice(2, -1)\n\t\t\t\t: envVar.defaultValue;\n\t\t\tvars[envVar.key] = val;\n\t\t}\n\n\t\tfor (const skill of definition.skills) {\n\t\t\tconst template = skillTemplates[skill.skillId];\n\t\t\tif (!template) {\n\t\t\t\t// Generate a generic skill file if no template exists\n\t\t\t\tconst generic = generateGenericSkill(\n\t\t\t\t\tskill.skillId,\n\t\t\t\t\tdefinition.name,\n\t\t\t\t\tdefinition.icon,\n\t\t\t\t\tdefinition.description,\n\t\t\t\t\tvars,\n\t\t\t\t);\n\t\t\t\tfiles[`openclaw/workspace/skills/${skill.skillId}/SKILL.md`] = generic;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst compiled = Handlebars.compile(template, { noEscape: true });\n\t\t\tconst rendered = compiled(vars);\n\t\t\tfiles[`openclaw/workspace/skills/${skill.skillId}/SKILL.md`] = rendered;\n\t\t}\n\t}\n\n\treturn files;\n}\n\n/**\n * Generate a generic SKILL.md for skills that don't have a dedicated template.\n */\nfunction generateGenericSkill(\n\tskillId: string,\n\tserviceName: string,\n\ticon: string,\n\tdescription: string,\n\tvars: Record<string, string>,\n): string {\n\tconst title = skillId\n\t\t.split(\"-\")\n\t\t.map((w) => w.charAt(0).toUpperCase() + w.slice(1))\n\t\t.join(\" \");\n\n\tconst envSection = Object.entries(vars)\n\t\t.map(([key, value]) => `- **${key}:** \\`${value}\\``)\n\t\t.join(\"\\n\");\n\n\treturn `---\nname: ${skillId}\ndescription: \"${description}\"\nmetadata:\n openclaw:\n emoji: \"${icon}\"\n---\n\n# ${title}\n\nInteract with ${serviceName} through this skill.\n\n## Connection Details\n\n${envSection || \"No specific connection variables configured.\"}\n\n## Usage Notes\n\n- This skill provides OpenClaw access to ${serviceName}.\n- Refer to the service documentation for available API endpoints.\n`;\n}\n"],"mappings":";;;;;;;;;;;;AASA,MAAM,iBAAyC;CAC9C,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCf,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CjB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Cf,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ClB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDjB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDtB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CtB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDpB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCnB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoChB;;;;;;;;AASD,SAAgB,mBAAmB,UAAkD;CACpF,MAAM,QAAgC,EAAE;AAExC,MAAK,MAAM,EAAE,gBAAgB,SAAS,UAAU;AAC/C,MAAI,WAAW,OAAO,WAAW,EAAG;EAGpC,MAAM,OAA+B,EAAE;AACvC,OAAK,MAAM,UAAU,WAAW,iBAAiB;GAEhD,MAAM,MAAM,OAAO,aAAa,WAAW,KAAK,GAC7C,OAAO,aAAa,MAAM,GAAG,GAAG,GAChC,OAAO;AACV,QAAK,OAAO,OAAO;;AAGpB,OAAK,MAAM,SAAS,WAAW,QAAQ;GACtC,MAAM,WAAW,eAAe,MAAM;AACtC,OAAI,CAAC,UAAU;IAEd,MAAM,UAAU,qBACf,MAAM,SACN,WAAW,MACX,WAAW,MACX,WAAW,aACX,KACA;AACD,UAAM,6BAA6B,MAAM,QAAQ,cAAc;AAC/D;;GAID,MAAM,WADWA,mBAAW,QAAQ,UAAU,EAAE,UAAU,MAAM,CAAC,CACvC,KAAK;AAC/B,SAAM,6BAA6B,MAAM,QAAQ,cAAc;;;AAIjE,QAAO;;;;;AAMR,SAAS,qBACR,SACA,aACA,MACA,aACA,MACS;AAUT,QAAO;QACA,QAAQ;gBACA,YAAY;;;cAGd,KAAK;;;IAdJ,QACZ,MAAM,IAAI,CACV,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,CAAC,CAClD,KAAK,IAAI,CAcF;;gBAEM,YAAY;;;;EAdR,OAAO,QAAQ,KAAK,CACrC,KAAK,CAAC,KAAK,WAAW,OAAO,IAAI,QAAQ,MAAM,IAAI,CACnD,KAAK,KAAK,IAgBG,+CAA+C;;;;2CAIpB,YAAY"}
@@ -0,0 +1,14 @@
1
+ import { ResolverOutput } from "../types.cjs";
2
+
3
+ //#region src/generators/skills.d.ts
4
+ /**
5
+ * Generates SKILL.md files for each service that has skills defined.
6
+ *
7
+ * Returns a map of file paths (relative to project root) to file contents.
8
+ * Handlebars is used to replace `{{VAR}}` placeholders with actual values
9
+ * from each service's `openclawEnvVars`.
10
+ */
11
+ declare function generateSkillFiles(resolved: ResolverOutput): Record<string, string>;
12
+ //#endregion
13
+ export { generateSkillFiles };
14
+ //# sourceMappingURL=skills.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.cts","names":[],"sources":["../../src/generators/skills.ts"],"mappings":";;;;;AAmiBA;;;;;iBAAgB,kBAAA,CAAmB,QAAA,EAAU,cAAA,GAAiB,MAAA"}