@better-openclaw/core 1.0.26 → 1.0.31

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 (1122) hide show
  1. package/README.md +67 -7
  2. package/dist/addon-stack.cjs +41 -28
  3. package/dist/addon-stack.cjs.map +1 -1
  4. package/dist/addon-stack.d.cts +1 -1
  5. package/dist/addon-stack.d.cts.map +1 -1
  6. package/dist/addon-stack.d.mts +1 -1
  7. package/dist/addon-stack.d.mts.map +1 -1
  8. package/dist/addon-stack.mjs +40 -27
  9. package/dist/addon-stack.mjs.map +1 -1
  10. package/dist/addon-stack.test.cjs +14 -14
  11. package/dist/addon-stack.test.cjs.map +1 -1
  12. package/dist/addon-stack.test.mjs +13 -13
  13. package/dist/addon-stack.test.mjs.map +1 -1
  14. package/dist/bare-metal-partition.d.cts +1 -1
  15. package/dist/bare-metal-partition.d.mts +1 -1
  16. package/dist/bare-metal-partition.test.cjs +1 -1
  17. package/dist/bare-metal-partition.test.mjs +1 -1
  18. package/dist/callback-sink-CdMKYayY.d.mts +15 -0
  19. package/dist/callback-sink-CdMKYayY.d.mts.map +1 -0
  20. package/dist/callback-sink-iNThWRnQ.d.cts +15 -0
  21. package/dist/callback-sink-iNThWRnQ.d.cts.map +1 -0
  22. package/dist/claude-code-fw-CrbAlzTM.d.mts +7 -0
  23. package/dist/claude-code-fw-CrbAlzTM.d.mts.map +1 -0
  24. package/dist/claude-code-fw-dKYH2prH.d.cts +7 -0
  25. package/dist/claude-code-fw-dKYH2prH.d.cts.map +1 -0
  26. package/dist/codex-fw-Ct8q4pzo.d.mts +7 -0
  27. package/dist/codex-fw-Ct8q4pzo.d.mts.map +1 -0
  28. package/dist/codex-fw-l7Ku8ZI8.d.cts +7 -0
  29. package/dist/codex-fw-l7Ku8ZI8.d.cts.map +1 -0
  30. package/dist/compose-validation.test.cjs +1 -1
  31. package/dist/composer.cjs +89 -129
  32. package/dist/composer.cjs.map +1 -1
  33. package/dist/composer.d.cts +3 -3
  34. package/dist/composer.d.cts.map +1 -1
  35. package/dist/composer.d.mts +3 -3
  36. package/dist/composer.d.mts.map +1 -1
  37. package/dist/composer.mjs +88 -128
  38. package/dist/composer.mjs.map +1 -1
  39. package/dist/composer.snapshot.test.cjs +1 -1
  40. package/dist/composer.snapshot.test.mjs +1 -1
  41. package/dist/composer.test.cjs +53 -2
  42. package/dist/composer.test.cjs.map +1 -1
  43. package/dist/composer.test.mjs +52 -1
  44. package/dist/composer.test.mjs.map +1 -1
  45. package/dist/console-sink-BHQpRyCt.d.cts +13 -0
  46. package/dist/console-sink-BHQpRyCt.d.cts.map +1 -0
  47. package/dist/console-sink-bouG_M1K.d.mts +13 -0
  48. package/dist/console-sink-bouG_M1K.d.mts.map +1 -0
  49. package/dist/{coolify-BVGGcMrT.d.mts → coolify-D5E0z01M.d.mts} +2 -2
  50. package/dist/{coolify-BVGGcMrT.d.mts.map → coolify-D5E0z01M.d.mts.map} +1 -1
  51. package/dist/{coolify-vlb1G9V2.d.cts → coolify-DjHecHCr.d.cts} +2 -2
  52. package/dist/{coolify-vlb1G9V2.d.cts.map → coolify-DjHecHCr.d.cts.map} +1 -1
  53. package/dist/copaw-BQyjioz7.d.cts +7 -0
  54. package/dist/copaw-BQyjioz7.d.cts.map +1 -0
  55. package/dist/copaw-C_3N7eQu.d.mts +7 -0
  56. package/dist/copaw-C_3N7eQu.d.mts.map +1 -0
  57. package/dist/deployers/coolify.cjs +25 -0
  58. package/dist/deployers/coolify.cjs.map +1 -1
  59. package/dist/deployers/coolify.d.cts +1 -1
  60. package/dist/deployers/coolify.d.mts +1 -1
  61. package/dist/deployers/coolify.mjs +25 -0
  62. package/dist/deployers/coolify.mjs.map +1 -1
  63. package/dist/deployers/coolify.test.cjs +156 -0
  64. package/dist/deployers/coolify.test.cjs.map +1 -0
  65. package/dist/deployers/coolify.test.d.cts +1 -0
  66. package/dist/deployers/coolify.test.d.mts +1 -0
  67. package/dist/deployers/coolify.test.mjs +157 -0
  68. package/dist/deployers/coolify.test.mjs.map +1 -0
  69. package/dist/deployers/dokploy.cjs +25 -0
  70. package/dist/deployers/dokploy.cjs.map +1 -1
  71. package/dist/deployers/dokploy.d.cts +1 -1
  72. package/dist/deployers/dokploy.d.mts +1 -1
  73. package/dist/deployers/dokploy.mjs +25 -0
  74. package/dist/deployers/dokploy.mjs.map +1 -1
  75. package/dist/deployers/dokploy.test.cjs +108 -0
  76. package/dist/deployers/dokploy.test.cjs.map +1 -0
  77. package/dist/deployers/dokploy.test.d.cts +1 -0
  78. package/dist/deployers/dokploy.test.d.mts +1 -0
  79. package/dist/deployers/dokploy.test.mjs +109 -0
  80. package/dist/deployers/dokploy.test.mjs.map +1 -0
  81. package/dist/deployers/index.d.cts +3 -3
  82. package/dist/deployers/index.d.mts +3 -3
  83. package/dist/deployers/strip-host-ports.cjs +1 -1
  84. package/dist/deployers/strip-host-ports.test.cjs +1 -1
  85. package/dist/deployers/strip-host-ports.test.mjs +1 -1
  86. package/dist/deployers/types.d.cts +1 -1
  87. package/dist/deployers/types.d.mts +1 -1
  88. package/dist/{dokploy-8cbrxUun.d.cts → dokploy-BnVDjWCV.d.cts} +2 -2
  89. package/dist/{dokploy-8cbrxUun.d.cts.map → dokploy-BnVDjWCV.d.cts.map} +1 -1
  90. package/dist/{dokploy-BTflLhTM.d.mts → dokploy-BqLdCfyR.d.mts} +2 -2
  91. package/dist/{dokploy-BTflLhTM.d.mts.map → dokploy-BqLdCfyR.d.mts.map} +1 -1
  92. package/dist/frameworks/claude-code-fw.cjs +79 -0
  93. package/dist/frameworks/claude-code-fw.cjs.map +1 -0
  94. package/dist/frameworks/claude-code-fw.d.cts +2 -0
  95. package/dist/frameworks/claude-code-fw.d.mts +2 -0
  96. package/dist/frameworks/claude-code-fw.mjs +78 -0
  97. package/dist/frameworks/claude-code-fw.mjs.map +1 -0
  98. package/dist/frameworks/codex-fw.cjs +67 -0
  99. package/dist/frameworks/codex-fw.cjs.map +1 -0
  100. package/dist/frameworks/codex-fw.d.cts +2 -0
  101. package/dist/frameworks/codex-fw.d.mts +2 -0
  102. package/dist/frameworks/codex-fw.mjs +66 -0
  103. package/dist/frameworks/codex-fw.mjs.map +1 -0
  104. package/dist/frameworks/copaw.cjs +118 -0
  105. package/dist/frameworks/copaw.cjs.map +1 -0
  106. package/dist/frameworks/copaw.d.cts +2 -0
  107. package/dist/frameworks/copaw.d.mts +2 -0
  108. package/dist/frameworks/copaw.mjs +117 -0
  109. package/dist/frameworks/copaw.mjs.map +1 -0
  110. package/dist/frameworks/frameworks.test.cjs +94 -0
  111. package/dist/frameworks/frameworks.test.cjs.map +1 -0
  112. package/dist/frameworks/frameworks.test.d.cts +1 -0
  113. package/dist/frameworks/frameworks.test.d.mts +1 -0
  114. package/dist/frameworks/frameworks.test.mjs +94 -0
  115. package/dist/frameworks/frameworks.test.mjs.map +1 -0
  116. package/dist/frameworks/index.cjs +35 -0
  117. package/dist/frameworks/index.cjs.map +1 -0
  118. package/dist/frameworks/index.d.cts +11 -0
  119. package/dist/frameworks/index.d.mts +11 -0
  120. package/dist/frameworks/index.mjs +22 -0
  121. package/dist/frameworks/index.mjs.map +1 -0
  122. package/dist/frameworks/memu.cjs +118 -0
  123. package/dist/frameworks/memu.cjs.map +1 -0
  124. package/dist/frameworks/memu.d.cts +2 -0
  125. package/dist/frameworks/memu.d.mts +2 -0
  126. package/dist/frameworks/memu.mjs +117 -0
  127. package/dist/frameworks/memu.mjs.map +1 -0
  128. package/dist/frameworks/nanobot.cjs +126 -0
  129. package/dist/frameworks/nanobot.cjs.map +1 -0
  130. package/dist/frameworks/nanobot.d.cts +2 -0
  131. package/dist/frameworks/nanobot.d.mts +2 -0
  132. package/dist/frameworks/nanobot.mjs +125 -0
  133. package/dist/frameworks/nanobot.mjs.map +1 -0
  134. package/dist/frameworks/nanoclaw.cjs +99 -0
  135. package/dist/frameworks/nanoclaw.cjs.map +1 -0
  136. package/dist/frameworks/nanoclaw.d.cts +2 -0
  137. package/dist/frameworks/nanoclaw.d.mts +2 -0
  138. package/dist/frameworks/nanoclaw.mjs +98 -0
  139. package/dist/frameworks/nanoclaw.mjs.map +1 -0
  140. package/dist/frameworks/openclaw.cjs +253 -0
  141. package/dist/frameworks/openclaw.cjs.map +1 -0
  142. package/dist/frameworks/openclaw.d.cts +2 -0
  143. package/dist/frameworks/openclaw.d.mts +2 -0
  144. package/dist/frameworks/openclaw.mjs +251 -0
  145. package/dist/frameworks/openclaw.mjs.map +1 -0
  146. package/dist/frameworks/registry.cjs +31 -0
  147. package/dist/frameworks/registry.cjs.map +1 -0
  148. package/dist/frameworks/registry.d.cts +2 -0
  149. package/dist/frameworks/registry.d.mts +2 -0
  150. package/dist/frameworks/registry.mjs +26 -0
  151. package/dist/frameworks/registry.mjs.map +1 -0
  152. package/dist/frameworks/registry.test.cjs +110 -0
  153. package/dist/frameworks/registry.test.cjs.map +1 -0
  154. package/dist/frameworks/registry.test.d.cts +1 -0
  155. package/dist/frameworks/registry.test.d.mts +1 -0
  156. package/dist/frameworks/registry.test.mjs +111 -0
  157. package/dist/frameworks/registry.test.mjs.map +1 -0
  158. package/dist/frameworks/types.cjs +0 -0
  159. package/dist/frameworks/types.d.cts +2 -0
  160. package/dist/frameworks/types.d.mts +2 -0
  161. package/dist/frameworks/types.mjs +1 -0
  162. package/dist/frameworks/zeroclaw.cjs +123 -0
  163. package/dist/frameworks/zeroclaw.cjs.map +1 -0
  164. package/dist/frameworks/zeroclaw.d.cts +2 -0
  165. package/dist/frameworks/zeroclaw.d.mts +2 -0
  166. package/dist/frameworks/zeroclaw.mjs +122 -0
  167. package/dist/frameworks/zeroclaw.mjs.map +1 -0
  168. package/dist/generate.cjs +64 -13
  169. package/dist/generate.cjs.map +1 -1
  170. package/dist/generate.d.cts +5 -2
  171. package/dist/generate.d.cts.map +1 -1
  172. package/dist/generate.d.mts +5 -2
  173. package/dist/generate.d.mts.map +1 -1
  174. package/dist/generate.mjs +63 -12
  175. package/dist/generate.mjs.map +1 -1
  176. package/dist/generate.test.cjs +42 -6
  177. package/dist/generate.test.cjs.map +1 -1
  178. package/dist/generate.test.mjs +41 -5
  179. package/dist/generate.test.mjs.map +1 -1
  180. package/dist/generators/bare-metal-install.d.cts +1 -1
  181. package/dist/generators/bare-metal-install.d.mts +1 -1
  182. package/dist/generators/bare-metal-install.test.cjs +1 -1
  183. package/dist/generators/bare-metal-install.test.mjs +1 -1
  184. package/dist/generators/caddy.cjs +9 -3
  185. package/dist/generators/caddy.cjs.map +1 -1
  186. package/dist/generators/caddy.d.cts +1 -1
  187. package/dist/generators/caddy.d.mts +1 -1
  188. package/dist/generators/caddy.mjs +9 -3
  189. package/dist/generators/caddy.mjs.map +1 -1
  190. package/dist/generators/caddy.test.cjs +30 -2
  191. package/dist/generators/caddy.test.cjs.map +1 -1
  192. package/dist/generators/caddy.test.mjs +30 -2
  193. package/dist/generators/caddy.test.mjs.map +1 -1
  194. package/dist/generators/clone-repos.cjs.map +1 -1
  195. package/dist/generators/clone-repos.d.cts +1 -1
  196. package/dist/generators/clone-repos.d.mts +1 -1
  197. package/dist/generators/clone-repos.mjs.map +1 -1
  198. package/dist/generators/clone-repos.test.cjs +1 -1
  199. package/dist/generators/clone-repos.test.cjs.map +1 -1
  200. package/dist/generators/clone-repos.test.mjs +1 -1
  201. package/dist/generators/clone-repos.test.mjs.map +1 -1
  202. package/dist/generators/cloud-init.test.cjs +58 -0
  203. package/dist/generators/cloud-init.test.cjs.map +1 -0
  204. package/dist/generators/cloud-init.test.d.cts +1 -0
  205. package/dist/generators/cloud-init.test.d.mts +1 -0
  206. package/dist/generators/cloud-init.test.mjs +59 -0
  207. package/dist/generators/cloud-init.test.mjs.map +1 -0
  208. package/dist/generators/env.cjs +28 -103
  209. package/dist/generators/env.cjs.map +1 -1
  210. package/dist/generators/env.d.cts +4 -1
  211. package/dist/generators/env.d.cts.map +1 -1
  212. package/dist/generators/env.d.mts +4 -1
  213. package/dist/generators/env.d.mts.map +1 -1
  214. package/dist/generators/env.mjs +27 -102
  215. package/dist/generators/env.mjs.map +1 -1
  216. package/dist/generators/env.test.cjs +3 -3
  217. package/dist/generators/env.test.cjs.map +1 -1
  218. package/dist/generators/env.test.mjs +3 -3
  219. package/dist/generators/env.test.mjs.map +1 -1
  220. package/dist/generators/get-shit-done.d.cts +1 -1
  221. package/dist/generators/get-shit-done.d.mts +1 -1
  222. package/dist/generators/get-shit-done.test.cjs +48 -0
  223. package/dist/generators/get-shit-done.test.cjs.map +1 -0
  224. package/dist/generators/get-shit-done.test.d.cts +1 -0
  225. package/dist/generators/get-shit-done.test.d.mts +1 -0
  226. package/dist/generators/get-shit-done.test.mjs +49 -0
  227. package/dist/generators/get-shit-done.test.mjs.map +1 -0
  228. package/dist/generators/grafana.test.cjs +74 -0
  229. package/dist/generators/grafana.test.cjs.map +1 -0
  230. package/dist/generators/grafana.test.d.cts +1 -0
  231. package/dist/generators/grafana.test.d.mts +1 -0
  232. package/dist/generators/grafana.test.mjs +74 -0
  233. package/dist/generators/grafana.test.mjs.map +1 -0
  234. package/dist/generators/health-check.cjs +6 -6
  235. package/dist/generators/health-check.cjs.map +1 -1
  236. package/dist/generators/health-check.d.cts +1 -1
  237. package/dist/generators/health-check.d.mts +1 -1
  238. package/dist/generators/health-check.mjs +6 -6
  239. package/dist/generators/health-check.mjs.map +1 -1
  240. package/dist/generators/health-check.test.cjs +1 -1
  241. package/dist/generators/health-check.test.mjs +1 -1
  242. package/dist/generators/n8n-workflows.d.cts +1 -1
  243. package/dist/generators/n8n-workflows.d.mts +1 -1
  244. package/dist/generators/n8n-workflows.test.cjs +75 -0
  245. package/dist/generators/n8n-workflows.test.cjs.map +1 -0
  246. package/dist/generators/n8n-workflows.test.d.cts +1 -0
  247. package/dist/generators/n8n-workflows.test.d.mts +1 -0
  248. package/dist/generators/n8n-workflows.test.mjs +76 -0
  249. package/dist/generators/n8n-workflows.test.mjs.map +1 -0
  250. package/dist/generators/native-services.d.cts +1 -1
  251. package/dist/generators/native-services.d.mts +1 -1
  252. package/dist/generators/openclaw-install-script.test.cjs +35 -0
  253. package/dist/generators/openclaw-install-script.test.cjs.map +1 -0
  254. package/dist/generators/openclaw-install-script.test.d.cts +1 -0
  255. package/dist/generators/openclaw-install-script.test.d.mts +1 -0
  256. package/dist/generators/openclaw-install-script.test.mjs +36 -0
  257. package/dist/generators/openclaw-install-script.test.mjs.map +1 -0
  258. package/dist/generators/openclaw-json.cjs +60 -4
  259. package/dist/generators/openclaw-json.cjs.map +1 -1
  260. package/dist/generators/openclaw-json.d.cts +1 -5
  261. package/dist/generators/openclaw-json.d.cts.map +1 -1
  262. package/dist/generators/openclaw-json.d.mts +1 -5
  263. package/dist/generators/openclaw-json.d.mts.map +1 -1
  264. package/dist/generators/openclaw-json.mjs +60 -4
  265. package/dist/generators/openclaw-json.mjs.map +1 -1
  266. package/dist/generators/postgres-init.cjs +20 -0
  267. package/dist/generators/postgres-init.cjs.map +1 -1
  268. package/dist/generators/postgres-init.d.cts +1 -1
  269. package/dist/generators/postgres-init.d.cts.map +1 -1
  270. package/dist/generators/postgres-init.d.mts +1 -1
  271. package/dist/generators/postgres-init.d.mts.map +1 -1
  272. package/dist/generators/postgres-init.mjs +20 -0
  273. package/dist/generators/postgres-init.mjs.map +1 -1
  274. package/dist/generators/postgres-init.test.cjs +111 -0
  275. package/dist/generators/postgres-init.test.cjs.map +1 -0
  276. package/dist/generators/postgres-init.test.d.cts +1 -0
  277. package/dist/generators/postgres-init.test.d.mts +1 -0
  278. package/dist/generators/postgres-init.test.mjs +112 -0
  279. package/dist/generators/postgres-init.test.mjs.map +1 -0
  280. package/dist/generators/prometheus.d.cts +1 -1
  281. package/dist/generators/prometheus.d.mts +1 -1
  282. package/dist/generators/prometheus.test.cjs +99 -0
  283. package/dist/generators/prometheus.test.cjs.map +1 -0
  284. package/dist/generators/prometheus.test.d.cts +1 -0
  285. package/dist/generators/prometheus.test.d.mts +1 -0
  286. package/dist/generators/prometheus.test.mjs +99 -0
  287. package/dist/generators/prometheus.test.mjs.map +1 -0
  288. package/dist/generators/readme.cjs +50 -7
  289. package/dist/generators/readme.cjs.map +1 -1
  290. package/dist/generators/readme.d.cts +3 -1
  291. package/dist/generators/readme.d.cts.map +1 -1
  292. package/dist/generators/readme.d.mts +3 -1
  293. package/dist/generators/readme.d.mts.map +1 -1
  294. package/dist/generators/readme.mjs +50 -7
  295. package/dist/generators/readme.mjs.map +1 -1
  296. package/dist/generators/scripts.test.cjs +2 -2
  297. package/dist/generators/scripts.test.cjs.map +1 -1
  298. package/dist/generators/scripts.test.mjs +2 -2
  299. package/dist/generators/scripts.test.mjs.map +1 -1
  300. package/dist/generators/skills.cjs +1 -1
  301. package/dist/generators/skills.d.cts +1 -1
  302. package/dist/generators/skills.d.cts.map +1 -1
  303. package/dist/generators/skills.d.mts +1 -1
  304. package/dist/generators/skills.d.mts.map +1 -1
  305. package/dist/generators/skills.mjs +310 -0
  306. package/dist/generators/skills.mjs.map +1 -1
  307. package/dist/generators/stack-manifest.d.cts +1 -1
  308. package/dist/generators/stack-manifest.d.mts +1 -1
  309. package/dist/generators/stack-manifest.test.cjs +97 -0
  310. package/dist/generators/stack-manifest.test.cjs.map +1 -0
  311. package/dist/generators/stack-manifest.test.d.cts +1 -0
  312. package/dist/generators/stack-manifest.test.d.mts +1 -0
  313. package/dist/generators/stack-manifest.test.mjs +98 -0
  314. package/dist/generators/stack-manifest.test.mjs.map +1 -0
  315. package/dist/generators/traefik.d.cts +1 -1
  316. package/dist/generators/traefik.d.mts +1 -1
  317. package/dist/generators/traefik.test.cjs +12 -12
  318. package/dist/generators/traefik.test.cjs.map +1 -1
  319. package/dist/generators/traefik.test.mjs +12 -12
  320. package/dist/generators/traefik.test.mjs.map +1 -1
  321. package/dist/index.cjs +18 -2
  322. package/dist/index.d.cts +13 -7
  323. package/dist/index.d.mts +13 -7
  324. package/dist/index.mjs +9 -3
  325. package/dist/logger/__tests__/logger.test.cjs +308 -0
  326. package/dist/logger/__tests__/logger.test.cjs.map +1 -0
  327. package/dist/logger/__tests__/logger.test.d.cts +1 -0
  328. package/dist/logger/__tests__/logger.test.d.mts +1 -0
  329. package/dist/logger/__tests__/logger.test.mjs +308 -0
  330. package/dist/logger/__tests__/logger.test.mjs.map +1 -0
  331. package/dist/logger/index.cjs +8 -0
  332. package/dist/logger/index.d.cts +5 -0
  333. package/dist/logger/index.d.mts +5 -0
  334. package/dist/logger/index.mjs +4 -0
  335. package/dist/logger/logger.cjs +270 -0
  336. package/dist/logger/logger.cjs.map +1 -0
  337. package/dist/logger/logger.d.cts +2 -0
  338. package/dist/logger/logger.d.mts +2 -0
  339. package/dist/logger/logger.mjs +267 -0
  340. package/dist/logger/logger.mjs.map +1 -0
  341. package/dist/logger/sinks/callback-sink.cjs +18 -0
  342. package/dist/logger/sinks/callback-sink.cjs.map +1 -0
  343. package/dist/logger/sinks/callback-sink.d.cts +2 -0
  344. package/dist/logger/sinks/callback-sink.d.mts +2 -0
  345. package/dist/logger/sinks/callback-sink.mjs +17 -0
  346. package/dist/logger/sinks/callback-sink.mjs.map +1 -0
  347. package/dist/logger/sinks/console-sink.cjs +39 -0
  348. package/dist/logger/sinks/console-sink.cjs.map +1 -0
  349. package/dist/logger/sinks/console-sink.d.cts +2 -0
  350. package/dist/logger/sinks/console-sink.d.mts +2 -0
  351. package/dist/logger/sinks/console-sink.mjs +38 -0
  352. package/dist/logger/sinks/console-sink.mjs.map +1 -0
  353. package/dist/logger/sinks/file-sink.cjs +72 -0
  354. package/dist/logger/sinks/file-sink.cjs.map +1 -0
  355. package/dist/logger/sinks/file-sink.d.cts +36 -0
  356. package/dist/logger/sinks/file-sink.d.cts.map +1 -0
  357. package/dist/logger/sinks/file-sink.d.mts +36 -0
  358. package/dist/logger/sinks/file-sink.d.mts.map +1 -0
  359. package/dist/logger/sinks/file-sink.mjs +70 -0
  360. package/dist/logger/sinks/file-sink.mjs.map +1 -0
  361. package/dist/logger/types.cjs +0 -0
  362. package/dist/logger/types.d.cts +2 -0
  363. package/dist/logger/types.d.mts +2 -0
  364. package/dist/logger/types.mjs +1 -0
  365. package/dist/logger-CZ0Qnyiu.d.mts +66 -0
  366. package/dist/logger-CZ0Qnyiu.d.mts.map +1 -0
  367. package/dist/logger-DDfwai-A.d.cts +66 -0
  368. package/dist/logger-DDfwai-A.d.cts.map +1 -0
  369. package/dist/memu-BfRXtwmL.d.cts +7 -0
  370. package/dist/memu-BfRXtwmL.d.cts.map +1 -0
  371. package/dist/memu-C-fXbWr-.d.mts +7 -0
  372. package/dist/memu-C-fXbWr-.d.mts.map +1 -0
  373. package/dist/migrations.cjs +17 -9
  374. package/dist/migrations.cjs.map +1 -1
  375. package/dist/migrations.d.cts +1 -1
  376. package/dist/migrations.d.cts.map +1 -1
  377. package/dist/migrations.d.mts +1 -1
  378. package/dist/migrations.d.mts.map +1 -1
  379. package/dist/migrations.mjs +17 -9
  380. package/dist/migrations.mjs.map +1 -1
  381. package/dist/migrations.test.cjs +4 -4
  382. package/dist/migrations.test.mjs +4 -4
  383. package/dist/nanobot-2c0bS4lu.d.cts +7 -0
  384. package/dist/nanobot-2c0bS4lu.d.cts.map +1 -0
  385. package/dist/nanobot-BUO6pVQc.d.mts +7 -0
  386. package/dist/nanobot-BUO6pVQc.d.mts.map +1 -0
  387. package/dist/nanoclaw-CgHubEig.d.mts +7 -0
  388. package/dist/nanoclaw-CgHubEig.d.mts.map +1 -0
  389. package/dist/nanoclaw-Dvz0ef6J.d.cts +7 -0
  390. package/dist/nanoclaw-Dvz0ef6J.d.cts.map +1 -0
  391. package/dist/openclaw-D8lVecjC.d.mts +7 -0
  392. package/dist/openclaw-D8lVecjC.d.mts.map +1 -0
  393. package/dist/openclaw-DThj8i3N.d.cts +7 -0
  394. package/dist/openclaw-DThj8i3N.d.cts.map +1 -0
  395. package/dist/port-scanner.d.cts +1 -1
  396. package/dist/port-scanner.d.mts +1 -1
  397. package/dist/port-scanner.test.cjs +155 -0
  398. package/dist/port-scanner.test.cjs.map +1 -0
  399. package/dist/port-scanner.test.d.cts +1 -0
  400. package/dist/port-scanner.test.d.mts +1 -0
  401. package/dist/port-scanner.test.mjs +156 -0
  402. package/dist/port-scanner.test.mjs.map +1 -0
  403. package/dist/presets/presets.test.cjs +5 -5
  404. package/dist/presets/presets.test.cjs.map +1 -1
  405. package/dist/presets/presets.test.mjs +4 -4
  406. package/dist/presets/presets.test.mjs.map +1 -1
  407. package/dist/presets/registry.d.cts +1 -1
  408. package/dist/presets/registry.d.mts +1 -1
  409. package/dist/presets/registry.test.cjs +7 -7
  410. package/dist/presets/registry.test.cjs.map +1 -1
  411. package/dist/presets/registry.test.mjs +7 -7
  412. package/dist/presets/registry.test.mjs.map +1 -1
  413. package/dist/registry-DHX7vnVo.d.cts +16 -0
  414. package/dist/registry-DHX7vnVo.d.cts.map +1 -0
  415. package/dist/registry-DTAILnga.d.mts +16 -0
  416. package/dist/registry-DTAILnga.d.mts.map +1 -0
  417. package/dist/resolver.cjs +13 -3
  418. package/dist/resolver.cjs.map +1 -1
  419. package/dist/resolver.d.cts +1 -1
  420. package/dist/resolver.d.cts.map +1 -1
  421. package/dist/resolver.d.mts +1 -1
  422. package/dist/resolver.d.mts.map +1 -1
  423. package/dist/resolver.mjs +13 -3
  424. package/dist/resolver.mjs.map +1 -1
  425. package/dist/resolver.test.cjs +35 -3
  426. package/dist/resolver.test.cjs.map +1 -1
  427. package/dist/resolver.test.mjs +35 -3
  428. package/dist/resolver.test.mjs.map +1 -1
  429. package/dist/{schema-BQnZrcw8.d.cts → schema-BSl9wiFe.d.mts} +134 -2
  430. package/dist/schema-BSl9wiFe.d.mts.map +1 -0
  431. package/dist/{schema-SBpL0bdI.d.mts → schema-Bd9l2r7p.d.cts} +134 -2
  432. package/dist/schema-Bd9l2r7p.d.cts.map +1 -0
  433. package/dist/schema.cjs +28 -4
  434. package/dist/schema.cjs.map +1 -1
  435. package/dist/schema.d.cts +2 -2
  436. package/dist/schema.d.mts +2 -2
  437. package/dist/schema.mjs +27 -4
  438. package/dist/schema.mjs.map +1 -1
  439. package/dist/schema.test.cjs +3 -3
  440. package/dist/schema.test.cjs.map +1 -1
  441. package/dist/schema.test.mjs +3 -3
  442. package/dist/schema.test.mjs.map +1 -1
  443. package/dist/services/definitions/adguard-home.d.cts +1 -1
  444. package/dist/services/definitions/adguard-home.d.mts +1 -1
  445. package/dist/services/definitions/agent-browser.cjs +161 -0
  446. package/dist/services/definitions/agent-browser.cjs.map +1 -0
  447. package/dist/services/definitions/agent-browser.d.cts +7 -0
  448. package/dist/services/definitions/agent-browser.d.cts.map +1 -0
  449. package/dist/services/definitions/agent-browser.d.mts +7 -0
  450. package/dist/services/definitions/agent-browser.d.mts.map +1 -0
  451. package/dist/services/definitions/agent-browser.mjs +160 -0
  452. package/dist/services/definitions/agent-browser.mjs.map +1 -0
  453. package/dist/services/definitions/airbyte.d.cts +1 -1
  454. package/dist/services/definitions/airbyte.d.mts +1 -1
  455. package/dist/services/definitions/airflow.d.cts +1 -1
  456. package/dist/services/definitions/airflow.d.mts +1 -1
  457. package/dist/services/definitions/anything-llm.d.cts +1 -1
  458. package/dist/services/definitions/anything-llm.d.mts +1 -1
  459. package/dist/services/definitions/appflowy.d.cts +1 -1
  460. package/dist/services/definitions/appflowy.d.mts +1 -1
  461. package/dist/services/definitions/apptension-saas.cjs.map +1 -1
  462. package/dist/services/definitions/apptension-saas.d.cts +1 -1
  463. package/dist/services/definitions/apptension-saas.d.mts +1 -1
  464. package/dist/services/definitions/apptension-saas.mjs.map +1 -1
  465. package/dist/services/definitions/appwrite.d.cts +1 -1
  466. package/dist/services/definitions/appwrite.d.mts +1 -1
  467. package/dist/services/definitions/audiobookshelf.d.cts +1 -1
  468. package/dist/services/definitions/audiobookshelf.d.mts +1 -1
  469. package/dist/services/definitions/authelia.d.cts +1 -1
  470. package/dist/services/definitions/authelia.d.mts +1 -1
  471. package/dist/services/definitions/authentik.d.cts +1 -1
  472. package/dist/services/definitions/authentik.d.mts +1 -1
  473. package/dist/services/definitions/axolotl.d.cts +1 -1
  474. package/dist/services/definitions/axolotl.d.mts +1 -1
  475. package/dist/services/definitions/baserow.d.cts +1 -1
  476. package/dist/services/definitions/baserow.d.mts +1 -1
  477. package/dist/services/definitions/beszel.d.cts +1 -1
  478. package/dist/services/definitions/beszel.d.mts +1 -1
  479. package/dist/services/definitions/boxyhq-saas.d.cts +1 -1
  480. package/dist/services/definitions/boxyhq-saas.d.mts +1 -1
  481. package/dist/services/definitions/browserless.d.cts +1 -1
  482. package/dist/services/definitions/browserless.d.mts +1 -1
  483. package/dist/services/definitions/burnlink.d.cts +1 -1
  484. package/dist/services/definitions/burnlink.d.mts +1 -1
  485. package/dist/services/definitions/caddy.d.cts +1 -1
  486. package/dist/services/definitions/caddy.d.mts +1 -1
  487. package/dist/services/definitions/cal-com.d.cts +1 -1
  488. package/dist/services/definitions/cal-com.d.mts +1 -1
  489. package/dist/services/definitions/calibre-web.d.cts +1 -1
  490. package/dist/services/definitions/calibre-web.d.mts +1 -1
  491. package/dist/services/definitions/chatwoot-worker.d.cts +1 -1
  492. package/dist/services/definitions/chatwoot-worker.d.mts +1 -1
  493. package/dist/services/definitions/chatwoot.d.cts +1 -1
  494. package/dist/services/definitions/chatwoot.d.mts +1 -1
  495. package/dist/services/definitions/chromadb.cjs +4 -1
  496. package/dist/services/definitions/chromadb.cjs.map +1 -1
  497. package/dist/services/definitions/chromadb.d.cts +1 -1
  498. package/dist/services/definitions/chromadb.d.mts +1 -1
  499. package/dist/services/definitions/chromadb.mjs +4 -1
  500. package/dist/services/definitions/chromadb.mjs.map +1 -1
  501. package/dist/services/definitions/claude-code.cjs +1 -1
  502. package/dist/services/definitions/claude-code.cjs.map +1 -1
  503. package/dist/services/definitions/claude-code.d.cts +1 -1
  504. package/dist/services/definitions/claude-code.d.mts +1 -1
  505. package/dist/services/definitions/claude-code.mjs +1 -1
  506. package/dist/services/definitions/claude-code.mjs.map +1 -1
  507. package/dist/services/definitions/clawrouter.cjs +138 -0
  508. package/dist/services/definitions/clawrouter.cjs.map +1 -0
  509. package/dist/services/definitions/clawrouter.d.cts +7 -0
  510. package/dist/services/definitions/clawrouter.d.cts.map +1 -0
  511. package/dist/services/definitions/clawrouter.d.mts +7 -0
  512. package/dist/services/definitions/clawrouter.d.mts.map +1 -0
  513. package/dist/services/definitions/clawrouter.mjs +137 -0
  514. package/dist/services/definitions/clawrouter.mjs.map +1 -0
  515. package/dist/services/definitions/clickhouse.d.cts +1 -1
  516. package/dist/services/definitions/clickhouse.d.mts +1 -1
  517. package/dist/services/definitions/cloudflared.d.cts +1 -1
  518. package/dist/services/definitions/cloudflared.d.mts +1 -1
  519. package/dist/services/definitions/cmsaas-starter.d.cts +1 -1
  520. package/dist/services/definitions/cmsaas-starter.d.mts +1 -1
  521. package/dist/services/definitions/cockroachdb.d.cts +1 -1
  522. package/dist/services/definitions/cockroachdb.d.mts +1 -1
  523. package/dist/services/definitions/code-server.d.cts +1 -1
  524. package/dist/services/definitions/code-server.d.mts +1 -1
  525. package/dist/services/definitions/coder.d.cts +1 -1
  526. package/dist/services/definitions/coder.d.mts +1 -1
  527. package/dist/services/definitions/codex.cjs +1 -1
  528. package/dist/services/definitions/codex.cjs.map +1 -1
  529. package/dist/services/definitions/codex.d.cts +1 -1
  530. package/dist/services/definitions/codex.d.mts +1 -1
  531. package/dist/services/definitions/codex.mjs +1 -1
  532. package/dist/services/definitions/codex.mjs.map +1 -1
  533. package/dist/services/definitions/comfyui.d.cts +1 -1
  534. package/dist/services/definitions/comfyui.d.mts +1 -1
  535. package/dist/services/definitions/convex-dashboard.d.cts +1 -1
  536. package/dist/services/definitions/convex-dashboard.d.mts +1 -1
  537. package/dist/services/definitions/convex.cjs.map +1 -1
  538. package/dist/services/definitions/convex.d.cts +1 -1
  539. package/dist/services/definitions/convex.d.mts +1 -1
  540. package/dist/services/definitions/convex.mjs.map +1 -1
  541. package/dist/services/definitions/coolify.d.cts +1 -1
  542. package/dist/services/definitions/coolify.d.mts +1 -1
  543. package/dist/services/definitions/copaw.cjs +97 -0
  544. package/dist/services/definitions/copaw.cjs.map +1 -0
  545. package/dist/services/definitions/copaw.d.cts +7 -0
  546. package/dist/services/definitions/copaw.d.cts.map +1 -0
  547. package/dist/services/definitions/copaw.d.mts +7 -0
  548. package/dist/services/definitions/copaw.d.mts.map +1 -0
  549. package/dist/services/definitions/copaw.mjs +96 -0
  550. package/dist/services/definitions/copaw.mjs.map +1 -0
  551. package/dist/services/definitions/crowdsec.d.cts +1 -1
  552. package/dist/services/definitions/crowdsec.d.mts +1 -1
  553. package/dist/services/definitions/dagster.d.cts +1 -1
  554. package/dist/services/definitions/dagster.d.mts +1 -1
  555. package/dist/services/definitions/desktop-environment.cjs +2 -1
  556. package/dist/services/definitions/desktop-environment.cjs.map +1 -1
  557. package/dist/services/definitions/desktop-environment.d.cts +1 -1
  558. package/dist/services/definitions/desktop-environment.d.mts +1 -1
  559. package/dist/services/definitions/desktop-environment.mjs +2 -1
  560. package/dist/services/definitions/desktop-environment.mjs.map +1 -1
  561. package/dist/services/definitions/dify.d.cts +1 -1
  562. package/dist/services/definitions/dify.d.mts +1 -1
  563. package/dist/services/definitions/directus.d.cts +1 -1
  564. package/dist/services/definitions/directus.d.mts +1 -1
  565. package/dist/services/definitions/docsgpt.d.cts +1 -1
  566. package/dist/services/definitions/docsgpt.d.mts +1 -1
  567. package/dist/services/definitions/dokploy.d.cts +1 -1
  568. package/dist/services/definitions/dokploy.d.mts +1 -1
  569. package/dist/services/definitions/dozzle.d.cts +1 -1
  570. package/dist/services/definitions/dozzle.d.mts +1 -1
  571. package/dist/services/definitions/dragonfly.d.cts +1 -1
  572. package/dist/services/definitions/dragonfly.d.mts +1 -1
  573. package/dist/services/definitions/drone-ci.d.cts +1 -1
  574. package/dist/services/definitions/drone-ci.d.mts +1 -1
  575. package/dist/services/definitions/duplicati.d.cts +1 -1
  576. package/dist/services/definitions/duplicati.d.mts +1 -1
  577. package/dist/services/definitions/element-web.d.cts +1 -1
  578. package/dist/services/definitions/element-web.d.mts +1 -1
  579. package/dist/services/definitions/excalidraw.d.cts +1 -1
  580. package/dist/services/definitions/excalidraw.d.mts +1 -1
  581. package/dist/services/definitions/ffmpeg.d.cts +1 -1
  582. package/dist/services/definitions/ffmpeg.d.mts +1 -1
  583. package/dist/services/definitions/firecrawl-playwright.d.cts +1 -1
  584. package/dist/services/definitions/firecrawl-playwright.d.mts +1 -1
  585. package/dist/services/definitions/firecrawl.d.cts +1 -1
  586. package/dist/services/definitions/firecrawl.d.mts +1 -1
  587. package/dist/services/definitions/flagsmith.d.cts +1 -1
  588. package/dist/services/definitions/flagsmith.d.mts +1 -1
  589. package/dist/services/definitions/flowise.d.cts +1 -1
  590. package/dist/services/definitions/flowise.d.mts +1 -1
  591. package/dist/services/definitions/focalboard.d.cts +1 -1
  592. package/dist/services/definitions/focalboard.d.mts +1 -1
  593. package/dist/services/definitions/fonoster.d.cts +1 -1
  594. package/dist/services/definitions/fonoster.d.mts +1 -1
  595. package/dist/services/definitions/forgejo.d.cts +1 -1
  596. package/dist/services/definitions/forgejo.d.mts +1 -1
  597. package/dist/services/definitions/formbricks.d.cts +1 -1
  598. package/dist/services/definitions/formbricks.d.mts +1 -1
  599. package/dist/services/definitions/gemini-cli.d.cts +1 -1
  600. package/dist/services/definitions/gemini-cli.d.mts +1 -1
  601. package/dist/services/definitions/ghost.d.cts +1 -1
  602. package/dist/services/definitions/ghost.d.mts +1 -1
  603. package/dist/services/definitions/gitea.d.cts +1 -1
  604. package/dist/services/definitions/gitea.d.mts +1 -1
  605. package/dist/services/definitions/gotify.d.cts +1 -1
  606. package/dist/services/definitions/gotify.d.mts +1 -1
  607. package/dist/services/definitions/grafana.d.cts +1 -1
  608. package/dist/services/definitions/grafana.d.mts +1 -1
  609. package/dist/services/definitions/graylog.d.cts +1 -1
  610. package/dist/services/definitions/graylog.d.mts +1 -1
  611. package/dist/services/definitions/headscale.d.cts +1 -1
  612. package/dist/services/definitions/headscale.d.mts +1 -1
  613. package/dist/services/definitions/hedgedoc.d.cts +1 -1
  614. package/dist/services/definitions/hedgedoc.d.mts +1 -1
  615. package/dist/services/definitions/hexstrike.d.cts +1 -1
  616. package/dist/services/definitions/hexstrike.d.mts +1 -1
  617. package/dist/services/definitions/heyform.d.cts +1 -1
  618. package/dist/services/definitions/heyform.d.mts +1 -1
  619. package/dist/services/definitions/hindsight.cjs +4 -1
  620. package/dist/services/definitions/hindsight.cjs.map +1 -1
  621. package/dist/services/definitions/hindsight.d.cts +1 -1
  622. package/dist/services/definitions/hindsight.d.mts +1 -1
  623. package/dist/services/definitions/hindsight.mjs +4 -1
  624. package/dist/services/definitions/hindsight.mjs.map +1 -1
  625. package/dist/services/definitions/homeassistant.d.cts +1 -1
  626. package/dist/services/definitions/homeassistant.d.mts +1 -1
  627. package/dist/services/definitions/hoppscotch.d.cts +1 -1
  628. package/dist/services/definitions/hoppscotch.d.mts +1 -1
  629. package/dist/services/definitions/immich.d.cts +1 -1
  630. package/dist/services/definitions/immich.d.mts +1 -1
  631. package/dist/services/definitions/index.cjs +42 -6
  632. package/dist/services/definitions/index.cjs.map +1 -1
  633. package/dist/services/definitions/index.d.cts +16 -4
  634. package/dist/services/definitions/index.d.cts.map +1 -1
  635. package/dist/services/definitions/index.d.mts +16 -4
  636. package/dist/services/definitions/index.d.mts.map +1 -1
  637. package/dist/services/definitions/index.mjs +31 -7
  638. package/dist/services/definitions/index.mjs.map +1 -1
  639. package/dist/services/definitions/infisical.d.cts +1 -1
  640. package/dist/services/definitions/infisical.d.mts +1 -1
  641. package/dist/services/definitions/influxdb.d.cts +1 -1
  642. package/dist/services/definitions/influxdb.d.mts +1 -1
  643. package/dist/services/definitions/invoke-ai.d.cts +1 -1
  644. package/dist/services/definitions/invoke-ai.d.mts +1 -1
  645. package/dist/services/definitions/ixartz-saas.d.cts +1 -1
  646. package/dist/services/definitions/ixartz-saas.d.mts +1 -1
  647. package/dist/services/definitions/jaeger.d.cts +1 -1
  648. package/dist/services/definitions/jaeger.d.mts +1 -1
  649. package/dist/services/definitions/jan.d.cts +1 -1
  650. package/dist/services/definitions/jan.d.mts +1 -1
  651. package/dist/services/definitions/jellyfin.d.cts +1 -1
  652. package/dist/services/definitions/jellyfin.d.mts +1 -1
  653. package/dist/services/definitions/jenkins.d.cts +1 -1
  654. package/dist/services/definitions/jenkins.d.mts +1 -1
  655. package/dist/services/definitions/jitsi-meet.d.cts +1 -1
  656. package/dist/services/definitions/jitsi-meet.d.mts +1 -1
  657. package/dist/services/definitions/keycloak.d.cts +1 -1
  658. package/dist/services/definitions/keycloak.d.mts +1 -1
  659. package/dist/services/definitions/kimi.d.cts +1 -1
  660. package/dist/services/definitions/kimi.d.mts +1 -1
  661. package/dist/services/definitions/kong.d.cts +1 -1
  662. package/dist/services/definitions/kong.d.mts +1 -1
  663. package/dist/services/definitions/lago.d.cts +1 -1
  664. package/dist/services/definitions/lago.d.mts +1 -1
  665. package/dist/services/definitions/langflow.d.cts +1 -1
  666. package/dist/services/definitions/langflow.d.mts +1 -1
  667. package/dist/services/definitions/langfuse.d.cts +1 -1
  668. package/dist/services/definitions/langfuse.d.mts +1 -1
  669. package/dist/services/definitions/lasuite-meet-agents.d.cts +1 -1
  670. package/dist/services/definitions/lasuite-meet-agents.d.mts +1 -1
  671. package/dist/services/definitions/lasuite-meet-backend.d.cts +1 -1
  672. package/dist/services/definitions/lasuite-meet-backend.d.mts +1 -1
  673. package/dist/services/definitions/lasuite-meet-frontend.d.cts +1 -1
  674. package/dist/services/definitions/lasuite-meet-frontend.d.mts +1 -1
  675. package/dist/services/definitions/librechat.d.cts +1 -1
  676. package/dist/services/definitions/librechat.d.mts +1 -1
  677. package/dist/services/definitions/lightpanda.d.cts +1 -1
  678. package/dist/services/definitions/lightpanda.d.mts +1 -1
  679. package/dist/services/definitions/listmonk.d.cts +1 -1
  680. package/dist/services/definitions/listmonk.d.mts +1 -1
  681. package/dist/services/definitions/litellm.d.cts +1 -1
  682. package/dist/services/definitions/litellm.d.mts +1 -1
  683. package/dist/services/definitions/livekit.d.cts +1 -1
  684. package/dist/services/definitions/livekit.d.mts +1 -1
  685. package/dist/services/definitions/local-ai.d.cts +1 -1
  686. package/dist/services/definitions/local-ai.d.mts +1 -1
  687. package/dist/services/definitions/loki.d.cts +1 -1
  688. package/dist/services/definitions/loki.d.mts +1 -1
  689. package/dist/services/definitions/mariadb.d.cts +1 -1
  690. package/dist/services/definitions/mariadb.d.mts +1 -1
  691. package/dist/services/definitions/matomo.d.cts +1 -1
  692. package/dist/services/definitions/matomo.d.mts +1 -1
  693. package/dist/services/definitions/matrix-synapse.d.cts +1 -1
  694. package/dist/services/definitions/matrix-synapse.d.mts +1 -1
  695. package/dist/services/definitions/mattermost.d.cts +1 -1
  696. package/dist/services/definitions/mattermost.d.mts +1 -1
  697. package/dist/services/definitions/mautic.d.cts +1 -1
  698. package/dist/services/definitions/mautic.d.mts +1 -1
  699. package/dist/services/definitions/medusa.d.cts +1 -1
  700. package/dist/services/definitions/medusa.d.mts +1 -1
  701. package/dist/services/definitions/meilisearch.d.cts +1 -1
  702. package/dist/services/definitions/meilisearch.d.mts +1 -1
  703. package/dist/services/definitions/mem0.cjs +133 -0
  704. package/dist/services/definitions/mem0.cjs.map +1 -0
  705. package/dist/services/definitions/mem0.d.cts +7 -0
  706. package/dist/services/definitions/mem0.d.cts.map +1 -0
  707. package/dist/services/definitions/mem0.d.mts +7 -0
  708. package/dist/services/definitions/mem0.d.mts.map +1 -0
  709. package/dist/services/definitions/mem0.mjs +132 -0
  710. package/dist/services/definitions/mem0.mjs.map +1 -0
  711. package/dist/services/definitions/memu.cjs +96 -0
  712. package/dist/services/definitions/memu.cjs.map +1 -0
  713. package/dist/services/definitions/memu.d.cts +7 -0
  714. package/dist/services/definitions/memu.d.cts.map +1 -0
  715. package/dist/services/definitions/memu.d.mts +7 -0
  716. package/dist/services/definitions/memu.d.mts.map +1 -0
  717. package/dist/services/definitions/memu.mjs +95 -0
  718. package/dist/services/definitions/memu.mjs.map +1 -0
  719. package/dist/services/definitions/metabase.d.cts +1 -1
  720. package/dist/services/definitions/metabase.d.mts +1 -1
  721. package/dist/services/definitions/milvus.cjs +4 -1
  722. package/dist/services/definitions/milvus.cjs.map +1 -1
  723. package/dist/services/definitions/milvus.d.cts +1 -1
  724. package/dist/services/definitions/milvus.d.mts +1 -1
  725. package/dist/services/definitions/milvus.mjs +4 -1
  726. package/dist/services/definitions/milvus.mjs.map +1 -1
  727. package/dist/services/definitions/minio.d.cts +1 -1
  728. package/dist/services/definitions/minio.d.mts +1 -1
  729. package/dist/services/definitions/mission-control.d.cts +1 -1
  730. package/dist/services/definitions/mission-control.d.mts +1 -1
  731. package/dist/services/definitions/mixpost.d.cts +1 -1
  732. package/dist/services/definitions/mixpost.d.mts +1 -1
  733. package/dist/services/definitions/mosquitto.d.cts +1 -1
  734. package/dist/services/definitions/mosquitto.d.mts +1 -1
  735. package/dist/services/definitions/motion-canvas.d.cts +1 -1
  736. package/dist/services/definitions/motion-canvas.d.mts +1 -1
  737. package/dist/services/definitions/mysql.d.cts +1 -1
  738. package/dist/services/definitions/mysql.d.mts +1 -1
  739. package/dist/services/definitions/n8n.d.cts +1 -1
  740. package/dist/services/definitions/n8n.d.mts +1 -1
  741. package/dist/services/definitions/nanobot.cjs +86 -0
  742. package/dist/services/definitions/nanobot.cjs.map +1 -0
  743. package/dist/services/definitions/nanobot.d.cts +7 -0
  744. package/dist/services/definitions/nanobot.d.cts.map +1 -0
  745. package/dist/services/definitions/nanobot.d.mts +7 -0
  746. package/dist/services/definitions/nanobot.d.mts.map +1 -0
  747. package/dist/services/definitions/nanobot.mjs +85 -0
  748. package/dist/services/definitions/nanobot.mjs.map +1 -0
  749. package/dist/services/definitions/nanoclaw.cjs +79 -0
  750. package/dist/services/definitions/nanoclaw.cjs.map +1 -0
  751. package/dist/services/definitions/nanoclaw.d.cts +7 -0
  752. package/dist/services/definitions/nanoclaw.d.cts.map +1 -0
  753. package/dist/services/definitions/nanoclaw.d.mts +7 -0
  754. package/dist/services/definitions/nanoclaw.d.mts.map +1 -0
  755. package/dist/services/definitions/nanoclaw.mjs +78 -0
  756. package/dist/services/definitions/nanoclaw.mjs.map +1 -0
  757. package/dist/services/definitions/navidrome.d.cts +1 -1
  758. package/dist/services/definitions/navidrome.d.mts +1 -1
  759. package/dist/services/definitions/neo4j.d.cts +1 -1
  760. package/dist/services/definitions/neo4j.d.mts +1 -1
  761. package/dist/services/definitions/nextcloud.d.cts +1 -1
  762. package/dist/services/definitions/nextcloud.d.mts +1 -1
  763. package/dist/services/definitions/nginx-proxy-manager.d.cts +1 -1
  764. package/dist/services/definitions/nginx-proxy-manager.d.mts +1 -1
  765. package/dist/services/definitions/nocodb.d.cts +1 -1
  766. package/dist/services/definitions/nocodb.d.mts +1 -1
  767. package/dist/services/definitions/node-red.d.cts +1 -1
  768. package/dist/services/definitions/node-red.d.mts +1 -1
  769. package/dist/services/definitions/ntfy.d.cts +1 -1
  770. package/dist/services/definitions/ntfy.d.mts +1 -1
  771. package/dist/services/definitions/ollama.d.cts +1 -1
  772. package/dist/services/definitions/ollama.d.mts +1 -1
  773. package/dist/services/definitions/open-saas.d.cts +1 -1
  774. package/dist/services/definitions/open-saas.d.mts +1 -1
  775. package/dist/services/definitions/open-webui.d.cts +1 -1
  776. package/dist/services/definitions/open-webui.d.mts +1 -1
  777. package/dist/services/definitions/opencode.d.cts +1 -1
  778. package/dist/services/definitions/opencode.d.mts +1 -1
  779. package/dist/services/definitions/openhands.d.cts +1 -1
  780. package/dist/services/definitions/openhands.d.mts +1 -1
  781. package/dist/services/definitions/openpanel.d.cts +1 -1
  782. package/dist/services/definitions/openpanel.d.mts +1 -1
  783. package/dist/services/definitions/opensandbox.cjs +2 -1
  784. package/dist/services/definitions/opensandbox.cjs.map +1 -1
  785. package/dist/services/definitions/opensandbox.d.cts +1 -1
  786. package/dist/services/definitions/opensandbox.d.mts +1 -1
  787. package/dist/services/definitions/opensandbox.mjs +2 -1
  788. package/dist/services/definitions/opensandbox.mjs.map +1 -1
  789. package/dist/services/definitions/opensearch.d.cts +1 -1
  790. package/dist/services/definitions/opensearch.d.mts +1 -1
  791. package/dist/services/definitions/outline.d.cts +1 -1
  792. package/dist/services/definitions/outline.d.mts +1 -1
  793. package/dist/services/definitions/paperless-ngx.d.cts +1 -1
  794. package/dist/services/definitions/paperless-ngx.d.mts +1 -1
  795. package/dist/services/definitions/pentagi.d.cts +1 -1
  796. package/dist/services/definitions/pentagi.d.mts +1 -1
  797. package/dist/services/definitions/pentestagent.d.cts +1 -1
  798. package/dist/services/definitions/pentestagent.d.mts +1 -1
  799. package/dist/services/definitions/photoprism.d.cts +1 -1
  800. package/dist/services/definitions/photoprism.d.mts +1 -1
  801. package/dist/services/definitions/pihole.d.cts +1 -1
  802. package/dist/services/definitions/pihole.d.mts +1 -1
  803. package/dist/services/definitions/piper-tts.d.cts +1 -1
  804. package/dist/services/definitions/piper-tts.d.mts +1 -1
  805. package/dist/services/definitions/plane.d.cts +1 -1
  806. package/dist/services/definitions/plane.d.mts +1 -1
  807. package/dist/services/definitions/plausible.d.cts +1 -1
  808. package/dist/services/definitions/plausible.d.mts +1 -1
  809. package/dist/services/definitions/playwright-server.d.cts +1 -1
  810. package/dist/services/definitions/playwright-server.d.mts +1 -1
  811. package/dist/services/definitions/pocket-id.d.cts +1 -1
  812. package/dist/services/definitions/pocket-id.d.mts +1 -1
  813. package/dist/services/definitions/pocketbase.d.cts +1 -1
  814. package/dist/services/definitions/pocketbase.d.mts +1 -1
  815. package/dist/services/definitions/portainer.d.cts +1 -1
  816. package/dist/services/definitions/portainer.d.mts +1 -1
  817. package/dist/services/definitions/postgresql.d.cts +1 -1
  818. package/dist/services/definitions/postgresql.d.mts +1 -1
  819. package/dist/services/definitions/posthog.d.cts +1 -1
  820. package/dist/services/definitions/posthog.d.mts +1 -1
  821. package/dist/services/definitions/postiz.d.cts +1 -1
  822. package/dist/services/definitions/postiz.d.mts +1 -1
  823. package/dist/services/definitions/prometheus.d.cts +1 -1
  824. package/dist/services/definitions/prometheus.d.mts +1 -1
  825. package/dist/services/definitions/qdrant.d.cts +1 -1
  826. package/dist/services/definitions/qdrant.d.mts +1 -1
  827. package/dist/services/definitions/rabbitmq.d.cts +1 -1
  828. package/dist/services/definitions/rabbitmq.d.mts +1 -1
  829. package/dist/services/definitions/ragflow.d.cts +1 -1
  830. package/dist/services/definitions/ragflow.d.mts +1 -1
  831. package/dist/services/definitions/redis.d.cts +1 -1
  832. package/dist/services/definitions/redis.d.mts +1 -1
  833. package/dist/services/definitions/relaticle-horizon.cjs +48 -0
  834. package/dist/services/definitions/relaticle-horizon.cjs.map +1 -0
  835. package/dist/services/definitions/relaticle-horizon.d.cts +7 -0
  836. package/dist/services/definitions/relaticle-horizon.d.cts.map +1 -0
  837. package/dist/services/definitions/relaticle-horizon.d.mts +7 -0
  838. package/dist/services/definitions/relaticle-horizon.d.mts.map +1 -0
  839. package/dist/services/definitions/relaticle-horizon.mjs +48 -0
  840. package/dist/services/definitions/relaticle-horizon.mjs.map +1 -0
  841. package/dist/services/definitions/relaticle-scheduler.cjs +44 -0
  842. package/dist/services/definitions/relaticle-scheduler.cjs.map +1 -0
  843. package/dist/services/definitions/relaticle-scheduler.d.cts +7 -0
  844. package/dist/services/definitions/relaticle-scheduler.d.cts.map +1 -0
  845. package/dist/services/definitions/relaticle-scheduler.d.mts +7 -0
  846. package/dist/services/definitions/relaticle-scheduler.d.mts.map +1 -0
  847. package/dist/services/definitions/relaticle-scheduler.mjs +44 -0
  848. package/dist/services/definitions/relaticle-scheduler.mjs.map +1 -0
  849. package/dist/services/definitions/relaticle.cjs +151 -0
  850. package/dist/services/definitions/relaticle.cjs.map +1 -0
  851. package/dist/services/definitions/relaticle.d.cts +80 -0
  852. package/dist/services/definitions/relaticle.d.cts.map +1 -0
  853. package/dist/services/definitions/relaticle.d.mts +80 -0
  854. package/dist/services/definitions/relaticle.d.mts.map +1 -0
  855. package/dist/services/definitions/relaticle.mjs +149 -0
  856. package/dist/services/definitions/relaticle.mjs.map +1 -0
  857. package/dist/services/definitions/remotion.d.cts +1 -1
  858. package/dist/services/definitions/remotion.d.mts +1 -1
  859. package/dist/services/definitions/restic.d.cts +1 -1
  860. package/dist/services/definitions/restic.d.mts +1 -1
  861. package/dist/services/definitions/revolt.d.cts +1 -1
  862. package/dist/services/definitions/revolt.d.mts +1 -1
  863. package/dist/services/definitions/rocketchat.d.cts +1 -1
  864. package/dist/services/definitions/rocketchat.d.mts +1 -1
  865. package/dist/services/definitions/saleor.d.cts +1 -1
  866. package/dist/services/definitions/saleor.d.mts +1 -1
  867. package/dist/services/definitions/scrapling.d.cts +1 -1
  868. package/dist/services/definitions/scrapling.d.mts +1 -1
  869. package/dist/services/definitions/searxng.d.cts +1 -1
  870. package/dist/services/definitions/searxng.d.mts +1 -1
  871. package/dist/services/definitions/sentry.d.cts +1 -1
  872. package/dist/services/definitions/sentry.d.mts +1 -1
  873. package/dist/services/definitions/signoz.d.cts +1 -1
  874. package/dist/services/definitions/signoz.d.mts +1 -1
  875. package/dist/services/definitions/solidityguard.d.cts +1 -1
  876. package/dist/services/definitions/solidityguard.d.mts +1 -1
  877. package/dist/services/definitions/sonarqube.d.cts +1 -1
  878. package/dist/services/definitions/sonarqube.d.mts +1 -1
  879. package/dist/services/definitions/stable-diffusion.d.cts +1 -1
  880. package/dist/services/definitions/stable-diffusion.d.mts +1 -1
  881. package/dist/services/definitions/steel-browser.d.cts +1 -1
  882. package/dist/services/definitions/steel-browser.d.mts +1 -1
  883. package/dist/services/definitions/stirling-pdf.d.cts +1 -1
  884. package/dist/services/definitions/stirling-pdf.d.mts +1 -1
  885. package/dist/services/definitions/strapi.d.cts +1 -1
  886. package/dist/services/definitions/strapi.d.mts +1 -1
  887. package/dist/services/definitions/stream-gateway.d.cts +1 -1
  888. package/dist/services/definitions/stream-gateway.d.mts +1 -1
  889. package/dist/services/definitions/supabase.d.cts +1 -1
  890. package/dist/services/definitions/supabase.d.mts +1 -1
  891. package/dist/services/definitions/superset.d.cts +1 -1
  892. package/dist/services/definitions/superset.d.mts +1 -1
  893. package/dist/services/definitions/surrealdb.d.cts +1 -1
  894. package/dist/services/definitions/surrealdb.d.mts +1 -1
  895. package/dist/services/definitions/tabby-ml.d.cts +1 -1
  896. package/dist/services/definitions/tabby-ml.d.mts +1 -1
  897. package/dist/services/definitions/tailscale.d.cts +1 -1
  898. package/dist/services/definitions/tailscale.d.mts +1 -1
  899. package/dist/services/definitions/tempo.d.cts +1 -1
  900. package/dist/services/definitions/tempo.d.mts +1 -1
  901. package/dist/services/definitions/temporal.d.cts +1 -1
  902. package/dist/services/definitions/temporal.d.mts +1 -1
  903. package/dist/services/definitions/text-gen-webui.d.cts +1 -1
  904. package/dist/services/definitions/text-gen-webui.d.mts +1 -1
  905. package/dist/services/definitions/timescaledb.d.cts +1 -1
  906. package/dist/services/definitions/timescaledb.d.mts +1 -1
  907. package/dist/services/definitions/traefik.d.cts +1 -1
  908. package/dist/services/definitions/traefik.d.mts +1 -1
  909. package/dist/services/definitions/twenty-worker.cjs +73 -0
  910. package/dist/services/definitions/twenty-worker.cjs.map +1 -0
  911. package/dist/services/definitions/twenty-worker.d.cts +7 -0
  912. package/dist/services/definitions/twenty-worker.d.cts.map +1 -0
  913. package/dist/services/definitions/twenty-worker.d.mts +7 -0
  914. package/dist/services/definitions/twenty-worker.d.mts.map +1 -0
  915. package/dist/services/definitions/twenty-worker.mjs +72 -0
  916. package/dist/services/definitions/twenty-worker.mjs.map +1 -0
  917. package/dist/services/definitions/twenty.cjs +24 -2
  918. package/dist/services/definitions/twenty.cjs.map +1 -1
  919. package/dist/services/definitions/twenty.d.cts +1 -1
  920. package/dist/services/definitions/twenty.d.mts +1 -1
  921. package/dist/services/definitions/twenty.mjs +24 -2
  922. package/dist/services/definitions/twenty.mjs.map +1 -1
  923. package/dist/services/definitions/umami.d.cts +1 -1
  924. package/dist/services/definitions/umami.d.mts +1 -1
  925. package/dist/services/definitions/uptime-kuma.d.cts +1 -1
  926. package/dist/services/definitions/uptime-kuma.d.mts +1 -1
  927. package/dist/services/definitions/usesend.d.cts +1 -1
  928. package/dist/services/definitions/usesend.d.mts +1 -1
  929. package/dist/services/definitions/valkey.d.cts +1 -1
  930. package/dist/services/definitions/valkey.d.mts +1 -1
  931. package/dist/services/definitions/vault.d.cts +1 -1
  932. package/dist/services/definitions/vault.d.mts +1 -1
  933. package/dist/services/definitions/vaultwarden.d.cts +1 -1
  934. package/dist/services/definitions/vaultwarden.d.mts +1 -1
  935. package/dist/services/definitions/vector-log.d.cts +1 -1
  936. package/dist/services/definitions/vector-log.d.mts +1 -1
  937. package/dist/services/definitions/vikunja.d.cts +1 -1
  938. package/dist/services/definitions/vikunja.d.mts +1 -1
  939. package/dist/services/definitions/watchtower.d.cts +1 -1
  940. package/dist/services/definitions/watchtower.d.mts +1 -1
  941. package/dist/services/definitions/weaviate.cjs +4 -1
  942. package/dist/services/definitions/weaviate.cjs.map +1 -1
  943. package/dist/services/definitions/weaviate.d.cts +1 -1
  944. package/dist/services/definitions/weaviate.d.mts +1 -1
  945. package/dist/services/definitions/weaviate.mjs +4 -1
  946. package/dist/services/definitions/weaviate.mjs.map +1 -1
  947. package/dist/services/definitions/whisper.d.cts +1 -1
  948. package/dist/services/definitions/whisper.d.mts +1 -1
  949. package/dist/services/definitions/wireguard.d.cts +1 -1
  950. package/dist/services/definitions/wireguard.d.mts +1 -1
  951. package/dist/services/definitions/woodpecker-ci.d.cts +1 -1
  952. package/dist/services/definitions/woodpecker-ci.d.mts +1 -1
  953. package/dist/services/definitions/xyops.d.cts +1 -1
  954. package/dist/services/definitions/xyops.d.mts +1 -1
  955. package/dist/services/definitions/zeroclaw.cjs +103 -0
  956. package/dist/services/definitions/zeroclaw.cjs.map +1 -0
  957. package/dist/services/definitions/zeroclaw.d.cts +7 -0
  958. package/dist/services/definitions/zeroclaw.d.cts.map +1 -0
  959. package/dist/services/definitions/zeroclaw.d.mts +7 -0
  960. package/dist/services/definitions/zeroclaw.d.mts.map +1 -0
  961. package/dist/services/definitions/zeroclaw.mjs +102 -0
  962. package/dist/services/definitions/zeroclaw.mjs.map +1 -0
  963. package/dist/services/definitions/zulip.d.cts +1 -1
  964. package/dist/services/definitions/zulip.d.mts +1 -1
  965. package/dist/services/registry.d.cts +1 -1
  966. package/dist/services/registry.d.mts +1 -1
  967. package/dist/services/registry.test.cjs +8 -8
  968. package/dist/services/registry.test.cjs.map +1 -1
  969. package/dist/services/registry.test.mjs +8 -8
  970. package/dist/services/registry.test.mjs.map +1 -1
  971. package/dist/skills/registry.cjs +19 -0
  972. package/dist/skills/registry.cjs.map +1 -1
  973. package/dist/skills/registry.d.cts +1 -1
  974. package/dist/skills/registry.d.cts.map +1 -1
  975. package/dist/skills/registry.d.mts +1 -1
  976. package/dist/skills/registry.d.mts.map +1 -1
  977. package/dist/skills/registry.mjs +19 -0
  978. package/dist/skills/registry.mjs.map +1 -1
  979. package/dist/{skills-BSF7iNa4.cjs → skills-uPxJVmKk.cjs} +311 -1
  980. package/dist/skills-uPxJVmKk.cjs.map +1 -0
  981. package/dist/{test.CTcmp4Su-ClCHJ3FA.mjs → test.CTcmp4Su-BRa7-bTj.mjs} +2 -2
  982. package/dist/{test.CTcmp4Su-ClCHJ3FA.mjs.map → test.CTcmp4Su-BRa7-bTj.mjs.map} +1 -1
  983. package/dist/{test.CTcmp4Su-DlzTarwH.cjs → test.CTcmp4Su-BWSPM8ZQ.cjs} +19 -1
  984. package/dist/{test.CTcmp4Su-DlzTarwH.cjs.map → test.CTcmp4Su-BWSPM8ZQ.cjs.map} +1 -1
  985. package/dist/track-analytics.d.cts +1 -1
  986. package/dist/track-analytics.d.mts +1 -1
  987. package/dist/track-analytics.test.cjs +1 -1
  988. package/dist/track-analytics.test.mjs +1 -1
  989. package/dist/types-BREUfzzq.d.mts +77 -0
  990. package/dist/types-BREUfzzq.d.mts.map +1 -0
  991. package/dist/types-Bsn0XzSP.d.cts +95 -0
  992. package/dist/types-Bsn0XzSP.d.cts.map +1 -0
  993. package/dist/types-CyZ5mn6w.d.cts +77 -0
  994. package/dist/types-CyZ5mn6w.d.cts.map +1 -0
  995. package/dist/types-DIsPc-hb.d.cts +100 -0
  996. package/dist/types-DIsPc-hb.d.cts.map +1 -0
  997. package/dist/types-DbXajvYq.d.mts +100 -0
  998. package/dist/types-DbXajvYq.d.mts.map +1 -0
  999. package/dist/types-DwTKyCZ9.d.mts +95 -0
  1000. package/dist/types-DwTKyCZ9.d.mts.map +1 -0
  1001. package/dist/{types-CR83OJiq.d.cts → types-dyBnrHm9.d.cts} +5 -1
  1002. package/dist/types-dyBnrHm9.d.cts.map +1 -0
  1003. package/dist/{types-zYjGTuyn.d.mts → types-fRSnaZTX.d.mts} +5 -1
  1004. package/dist/types-fRSnaZTX.d.mts.map +1 -0
  1005. package/dist/types.cjs +7 -0
  1006. package/dist/types.cjs.map +1 -1
  1007. package/dist/types.d.cts +2 -93
  1008. package/dist/types.d.mts +2 -93
  1009. package/dist/types.mjs +7 -0
  1010. package/dist/types.mjs.map +1 -1
  1011. package/dist/validator.cjs +1 -1
  1012. package/dist/validator.d.cts +1 -1
  1013. package/dist/validator.d.mts +1 -1
  1014. package/dist/validator.test.cjs +1 -1
  1015. package/dist/validator.test.mjs +1 -1
  1016. package/dist/version-manager.d.cts +1 -1
  1017. package/dist/version-manager.d.mts +1 -1
  1018. package/dist/version-manager.test.cjs +3 -3
  1019. package/dist/version-manager.test.cjs.map +1 -1
  1020. package/dist/version-manager.test.mjs +3 -3
  1021. package/dist/version-manager.test.mjs.map +1 -1
  1022. package/dist/zeroclaw-B-0TuOfZ.d.mts +7 -0
  1023. package/dist/zeroclaw-B-0TuOfZ.d.mts.map +1 -0
  1024. package/dist/zeroclaw-BvKpDHKe.d.cts +7 -0
  1025. package/dist/zeroclaw-BvKpDHKe.d.cts.map +1 -0
  1026. package/package.json +6 -2
  1027. package/src/addon-stack.test.ts +19 -23
  1028. package/src/addon-stack.ts +67 -44
  1029. package/src/composer.test.ts +59 -0
  1030. package/src/composer.ts +135 -194
  1031. package/src/deployers/coolify.test.ts +180 -0
  1032. package/src/deployers/coolify.ts +38 -0
  1033. package/src/deployers/dokploy.test.ts +120 -0
  1034. package/src/deployers/dokploy.ts +38 -0
  1035. package/src/deployers/types.ts +2 -0
  1036. package/src/frameworks/claude-code-fw.ts +118 -0
  1037. package/src/frameworks/codex-fw.ts +102 -0
  1038. package/src/frameworks/copaw.ts +154 -0
  1039. package/src/frameworks/frameworks.test.ts +119 -0
  1040. package/src/frameworks/index.ts +46 -0
  1041. package/src/frameworks/memu.ts +149 -0
  1042. package/src/frameworks/nanobot.ts +156 -0
  1043. package/src/frameworks/nanoclaw.ts +126 -0
  1044. package/src/frameworks/openclaw.ts +325 -0
  1045. package/src/frameworks/registry.test.ts +131 -0
  1046. package/src/frameworks/registry.ts +28 -0
  1047. package/src/frameworks/types.ts +146 -0
  1048. package/src/frameworks/zeroclaw.ts +148 -0
  1049. package/src/generate.test.ts +55 -4
  1050. package/src/generate.ts +67 -14
  1051. package/src/generators/caddy.test.ts +41 -1
  1052. package/src/generators/caddy.ts +16 -2
  1053. package/src/generators/clone-repos.test.ts +1 -1
  1054. package/src/generators/clone-repos.ts +7 -2
  1055. package/src/generators/cloud-init.test.ts +70 -0
  1056. package/src/generators/env.test.ts +2 -2
  1057. package/src/generators/env.ts +30 -180
  1058. package/src/generators/get-shit-done.test.ts +54 -0
  1059. package/src/generators/grafana.test.ts +90 -0
  1060. package/src/generators/health-check.ts +4 -4
  1061. package/src/generators/n8n-workflows.test.ts +80 -0
  1062. package/src/generators/openclaw-install-script.test.ts +42 -0
  1063. package/src/generators/openclaw-json.ts +57 -5
  1064. package/src/generators/postgres-init.test.ts +116 -0
  1065. package/src/generators/postgres-init.ts +9 -0
  1066. package/src/generators/prometheus.test.ts +108 -0
  1067. package/src/generators/readme.ts +75 -9
  1068. package/src/generators/scripts.test.ts +1 -1
  1069. package/src/generators/skills.ts +316 -0
  1070. package/src/generators/stack-manifest.test.ts +104 -0
  1071. package/src/generators/traefik.test.ts +13 -13
  1072. package/src/index.ts +47 -7
  1073. package/src/logger/__tests__/logger.test.ts +388 -0
  1074. package/src/logger/index.ts +15 -0
  1075. package/src/logger/logger.ts +326 -0
  1076. package/src/logger/sinks/callback-sink.ts +13 -0
  1077. package/src/logger/sinks/console-sink.ts +51 -0
  1078. package/src/logger/sinks/file-sink.ts +121 -0
  1079. package/src/logger/types.ts +90 -0
  1080. package/src/migrations.ts +8 -1
  1081. package/src/port-scanner.test.ts +167 -0
  1082. package/src/presets/presets.test.ts +4 -4
  1083. package/src/presets/registry.test.ts +6 -6
  1084. package/src/resolver.test.ts +31 -3
  1085. package/src/resolver.ts +19 -3
  1086. package/src/schema.test.ts +2 -2
  1087. package/src/schema.ts +58 -17
  1088. package/src/services/definitions/agent-browser.ts +177 -0
  1089. package/src/services/definitions/apptension-saas.ts +2 -1
  1090. package/src/services/definitions/chromadb.ts +1 -1
  1091. package/src/services/definitions/claude-code.ts +1 -1
  1092. package/src/services/definitions/clawrouter.ts +141 -0
  1093. package/src/services/definitions/codex.ts +1 -1
  1094. package/src/services/definitions/convex.ts +1 -2
  1095. package/src/services/definitions/copaw.ts +101 -0
  1096. package/src/services/definitions/desktop-environment.ts +1 -0
  1097. package/src/services/definitions/hindsight.ts +3 -2
  1098. package/src/services/definitions/index.ts +53 -16
  1099. package/src/services/definitions/mem0.ts +132 -0
  1100. package/src/services/definitions/memu.ts +96 -0
  1101. package/src/services/definitions/milvus.ts +1 -1
  1102. package/src/services/definitions/nanobot.ts +89 -0
  1103. package/src/services/definitions/nanoclaw.ts +78 -0
  1104. package/src/services/definitions/opensandbox.ts +6 -15
  1105. package/src/services/definitions/relaticle-horizon.ts +48 -0
  1106. package/src/services/definitions/relaticle-scheduler.ts +42 -0
  1107. package/src/services/definitions/relaticle.ts +142 -0
  1108. package/src/services/definitions/twenty-worker.ts +70 -0
  1109. package/src/services/definitions/twenty.ts +16 -2
  1110. package/src/services/definitions/weaviate.ts +1 -1
  1111. package/src/services/definitions/zeroclaw.ts +102 -0
  1112. package/src/services/registry.test.ts +7 -7
  1113. package/src/skills/registry.ts +10 -0
  1114. package/src/types.ts +11 -1
  1115. package/src/version-manager.test.ts +2 -2
  1116. package/dist/schema-BQnZrcw8.d.cts.map +0 -1
  1117. package/dist/schema-SBpL0bdI.d.mts.map +0 -1
  1118. package/dist/skills-BSF7iNa4.cjs.map +0 -1
  1119. package/dist/types-CR83OJiq.d.cts.map +0 -1
  1120. package/dist/types-zYjGTuyn.d.mts.map +0 -1
  1121. package/dist/types.d.cts.map +0 -1
  1122. package/dist/types.d.mts.map +0 -1
@@ -30,6 +30,77 @@ handlebars = __toESM(handlebars);
30
30
  * service's `openclawEnvVars` array at generation time.
31
31
  */
32
32
  const skillTemplates = {
33
+ "agent-browse": `---
34
+ name: agent-browse
35
+ description: "AI-optimized browser automation with snapshot + ref workflow for deterministic element targeting"
36
+ metadata:
37
+ openclaw:
38
+ emoji: "🌍"
39
+ ---
40
+
41
+ # Agent Browser
42
+
43
+ AI-optimized headless browser available at \`{{AGENT_BROWSER_HOST}}\` with CDP on port \`{{AGENT_BROWSER_CDP_PORT}}\` and live viewport streaming on port \`{{AGENT_BROWSER_STREAM_PORT}}\`.
44
+
45
+ ## Core Workflow: Snapshot → Reason → Act
46
+
47
+ Agent Browser uses a **ref-based workflow** designed for LLMs. Each interactive element gets a deterministic ref like \`@e1\`, \`@e2\` that you can target directly — no CSS selectors needed.
48
+
49
+ 1. **Navigate:** \`agent-browser open https://example.com\`
50
+ 2. **Snapshot:** \`agent-browser snapshot\` → returns accessibility tree with refs
51
+ 3. **Reason:** Identify the target element by its ref (e.g. \`@e5\` is the search input)
52
+ 4. **Act:** \`agent-browser click @e5\` or \`agent-browser type @e5 "search query"\`
53
+ 5. **Verify:** \`agent-browser screenshot\` to capture the result
54
+
55
+ ## Key Commands
56
+
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | \`agent-browser open <url>\` | Navigate to a URL |
60
+ | \`agent-browser snapshot\` | Get accessibility tree with @refs |
61
+ | \`agent-browser click @ref\` | Click an element by ref |
62
+ | \`agent-browser type @ref "text"\` | Type text into an input |
63
+ | \`agent-browser select @ref "value"\` | Select a dropdown option |
64
+ | \`agent-browser screenshot [--path file.png]\` | Capture viewport screenshot |
65
+ | \`agent-browser scroll down\\|up\` | Scroll the viewport |
66
+ | \`agent-browser wait <selector\\|ms>\` | Wait for element or time |
67
+ | \`agent-browser extract\` | Extract page content as clean text |
68
+ | \`agent-browser pdf [--path file.pdf]\` | Save page as PDF |
69
+
70
+ ## Snapshot Output Example
71
+
72
+ \`\`\`
73
+ @e1 heading "Welcome to Example"
74
+ @e2 link "Sign In" [href="/login"]
75
+ @e3 input[text] "Search..." [placeholder]
76
+ @e4 button "Search"
77
+ @e5 link "Learn More" [href="/docs"]
78
+ \`\`\`
79
+
80
+ Each \`@ref\` is stable within a page state — use it directly: \`agent-browser click @e2\`
81
+
82
+ ## Content Boundaries
83
+
84
+ Output is wrapped in boundary markers (\`---CONTENT_START---\` / \`---CONTENT_END---\`) to prevent prompt injection from page content. This is enabled by default.
85
+
86
+ ## Session Persistence
87
+
88
+ \`\`\`bash
89
+ # Save/restore login state across sessions
90
+ agent-browser --session-name my-app open https://app.example.com
91
+ agent-browser --session-name my-app snapshot
92
+ \`\`\`
93
+
94
+ ## Live Viewport Streaming
95
+
96
+ WebSocket stream at \`ws://{{AGENT_BROWSER_HOST}}:{{AGENT_BROWSER_STREAM_PORT}}\` for real-time viewport watching (pair browsing). Receives JPEG frames with metadata.
97
+
98
+ ## Security
99
+
100
+ - **Domain allowlist:** Set \`AGENT_BROWSER_ALLOWED_DOMAINS\` to restrict navigation
101
+ - **Action policies:** JSON policy files to require confirmation for specific action categories
102
+ - **Content boundaries:** Prevent LLM prompt injection from page content
103
+ `,
33
104
  "redis-cache": `---
34
105
  name: redis-cache
35
106
  description: "Cache data and manage key-value state using Redis"
@@ -687,6 +758,245 @@ curl -X POST http://{{OPENSANDBOX_HOST}}:{{OPENSANDBOX_PORT}}/v1/sandboxes/{id}/
687
758
  - No outbound network access by default (egress blocked)
688
759
  - Max 512 PIDs per sandbox (fork bomb protection)
689
760
  - Memory capped per sandbox (default 512MB)
761
+ `,
762
+ "mem0-memory": `---
763
+ name: mem0-memory
764
+ description: "Store and retrieve long-term memories for AI agents using Mem0"
765
+ metadata:
766
+ openclaw:
767
+ emoji: "🧠"
768
+ ---
769
+
770
+ # Mem0 AI Memory
771
+
772
+ Use Mem0 as a long-term memory layer for AI agents. Mem0 automatically extracts, stores, and retrieves memories across conversations using pgvector embeddings and Neo4j knowledge graphs.
773
+
774
+ ## Connection Details
775
+
776
+ - **Host:** \`{{MEM0_HOST}}\`
777
+ - **Port:** \`{{MEM0_PORT}}\`
778
+
779
+ ## Example API Calls
780
+
781
+ ### Add a memory
782
+ \`\`\`bash
783
+ curl -X POST "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/" \\
784
+ -H "Content-Type: application/json" \\
785
+ -d '{"messages": [{"role": "user", "content": "I prefer dark mode in all applications"}], "user_id": "agent-1"}'
786
+ \`\`\`
787
+
788
+ ### Search memories
789
+ \`\`\`bash
790
+ curl -X POST "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/search/" \\
791
+ -H "Content-Type: application/json" \\
792
+ -d '{"query": "What are the user preferences?", "user_id": "agent-1"}'
793
+ \`\`\`
794
+
795
+ ### Get all memories for a user
796
+ \`\`\`bash
797
+ curl "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/?user_id=agent-1"
798
+ \`\`\`
799
+
800
+ ### Delete a memory
801
+ \`\`\`bash
802
+ curl -X DELETE "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/<memory_id>/"
803
+ \`\`\`
804
+
805
+ ## Usage Notes
806
+
807
+ - Mem0 automatically extracts facts and preferences from conversation messages.
808
+ - Memories are stored as vector embeddings in pgvector and as entity relationships in Neo4j.
809
+ - Use \`user_id\` to isolate memories per agent or per conversation context.
810
+ - Mem0 handles deduplication and conflict resolution automatically.
811
+ `,
812
+ "memu-memory": `---
813
+ name: memu-memory
814
+ description: "Persistent memory framework for proactive AI agents using MemU"
815
+ metadata:
816
+ openclaw:
817
+ emoji: "🧠"
818
+ ---
819
+
820
+ # MemU Persistent Memory
821
+
822
+ Use MemU as a persistent memory framework for 24/7 proactive AI agents. MemU extracts structured memory from multimodal inputs and organizes it into a hierarchical knowledge graph.
823
+
824
+ ## Connection Details
825
+
826
+ - **Host:** \`{{MEMU_HOST}}\`
827
+ - **Port:** \`{{MEMU_PORT}}\`
828
+
829
+ ## Example API Calls
830
+
831
+ ### Store a memory
832
+ \`\`\`bash
833
+ curl -X POST "http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/memories" \\
834
+ -H "Content-Type: application/json" \\
835
+ -d '{"content": "User prefers TypeScript over JavaScript", "agent_id": "agent-1", "type": "preference"}'
836
+ \`\`\`
837
+
838
+ ### Recall memories
839
+ \`\`\`bash
840
+ curl -X POST "http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/recall" \\
841
+ -H "Content-Type: application/json" \\
842
+ -d '{"query": "What programming languages does the user prefer?", "agent_id": "agent-1"}'
843
+ \`\`\`
844
+
845
+ ### Get memory graph
846
+ \`\`\`bash
847
+ curl "http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/graph?agent_id=agent-1"
848
+ \`\`\`
849
+
850
+ ## Usage Notes
851
+
852
+ - MemU organizes memories into a hierarchical knowledge graph backed by pgvector.
853
+ - Supports multimodal inputs (text, images, structured data).
854
+ - Use \`agent_id\` to partition memories across different agents.
855
+ `,
856
+ "hindsight-memory": `---
857
+ name: hindsight-memory
858
+ description: "Agent memory with Retain/Recall/Reflect operations using Hindsight"
859
+ metadata:
860
+ openclaw:
861
+ emoji: "🧠"
862
+ ---
863
+
864
+ # Hindsight Agent Memory
865
+
866
+ Use Hindsight for agent memory with three core operations: Retain (store), Recall (retrieve), and Reflect (synthesize). Supports multi-strategy retrieval including semantic, keyword, graph, and temporal search.
867
+
868
+ ## Connection Details
869
+
870
+ - **Host:** \`{{HINDSIGHT_HOST}}\`
871
+ - **Port:** \`{{HINDSIGHT_API_PORT}}\`
872
+
873
+ ## Example API Calls
874
+
875
+ ### Retain (store a memory)
876
+ \`\`\`bash
877
+ curl -X POST "http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/retain" \\
878
+ -H "Content-Type: application/json" \\
879
+ -d '{"namespace": "agent-1", "content": "The deployment uses Kubernetes on AWS EKS", "metadata": {"source": "conversation"}}'
880
+ \`\`\`
881
+
882
+ ### Recall (retrieve memories)
883
+ \`\`\`bash
884
+ curl -X POST "http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/recall" \\
885
+ -H "Content-Type: application/json" \\
886
+ -d '{"namespace": "agent-1", "query": "What infrastructure is used?", "strategies": ["semantic", "keyword"], "limit": 5}'
887
+ \`\`\`
888
+
889
+ ### Reflect (synthesize memories)
890
+ \`\`\`bash
891
+ curl -X POST "http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/reflect" \\
892
+ -H "Content-Type: application/json" \\
893
+ -d '{"namespace": "agent-1", "query": "Summarize all infrastructure decisions"}'
894
+ \`\`\`
895
+
896
+ ## MCP Integration
897
+
898
+ Hindsight also exposes an MCP server. Configure your agent to connect via:
899
+ \`\`\`
900
+ http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/mcp
901
+ \`\`\`
902
+
903
+ ## Usage Notes
904
+
905
+ - Use namespaces to isolate memories per agent, project, or session.
906
+ - Retrieval strategies: semantic (embedding similarity), keyword (BM25), graph (entity relationships), temporal (time-based).
907
+ - The Reflect operation uses LLM-powered synthesis to generate insights from stored memories.
908
+ `,
909
+ "chromadb-memory": `---
910
+ name: chromadb-memory
911
+ description: "Store and retrieve vector embeddings using ChromaDB"
912
+ metadata:
913
+ openclaw:
914
+ emoji: "🎨"
915
+ ---
916
+
917
+ # ChromaDB Vector Memory
918
+
919
+ Use ChromaDB as a vector database for storing embeddings, enabling semantic search and retrieval-augmented generation (RAG).
920
+
921
+ ## Connection Details
922
+
923
+ - **Host:** \`{{CHROMADB_HOST}}\`
924
+ - **Port:** \`{{CHROMADB_PORT}}\`
925
+
926
+ ## Example API Calls
927
+
928
+ ### Create a collection
929
+ \`\`\`bash
930
+ curl -X POST "http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections" \\
931
+ -H "Content-Type: application/json" \\
932
+ -d '{"name": "my_collection", "metadata": {"hnsw:space": "cosine"}}'
933
+ \`\`\`
934
+
935
+ ### Add documents
936
+ \`\`\`bash
937
+ curl -X POST "http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections/<collection_id>/add" \\
938
+ -H "Content-Type: application/json" \\
939
+ -d '{"ids": ["doc1"], "documents": ["Hello world"], "metadatas": [{"source": "test"}]}'
940
+ \`\`\`
941
+
942
+ ### Query similar documents
943
+ \`\`\`bash
944
+ curl -X POST "http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections/<collection_id>/query" \\
945
+ -H "Content-Type: application/json" \\
946
+ -d '{"query_texts": ["greeting"], "n_results": 5}'
947
+ \`\`\`
948
+
949
+ ## Usage Notes
950
+
951
+ - ChromaDB can auto-generate embeddings from documents if configured with an embedding function.
952
+ - Supports metadata filtering on queries for precise retrieval.
953
+ - Collections are isolated namespaces for different data domains.
954
+ `,
955
+ "weaviate-memory": `---
956
+ name: weaviate-memory
957
+ description: "Store and search vectors with hybrid search using Weaviate"
958
+ metadata:
959
+ openclaw:
960
+ emoji: "🔷"
961
+ ---
962
+
963
+ # Weaviate Vector Memory
964
+
965
+ Use Weaviate for vector storage with built-in hybrid search (combining vector similarity and keyword/BM25 search) and a GraphQL API.
966
+
967
+ ## Connection Details
968
+
969
+ - **Host:** \`{{WEAVIATE_HOST}}\`
970
+ - **Port:** \`{{WEAVIATE_PORT}}\`
971
+
972
+ ## Example API Calls
973
+
974
+ ### Create a class (schema)
975
+ \`\`\`bash
976
+ curl -X POST "http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/schema" \\
977
+ -H "Content-Type: application/json" \\
978
+ -d '{"class": "Document", "vectorizer": "none", "properties": [{"name": "content", "dataType": ["text"]}]}'
979
+ \`\`\`
980
+
981
+ ### Add an object with vector
982
+ \`\`\`bash
983
+ curl -X POST "http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/objects" \\
984
+ -H "Content-Type: application/json" \\
985
+ -d '{"class": "Document", "properties": {"content": "Hello world"}, "vector": [0.1, 0.2, 0.3]}'
986
+ \`\`\`
987
+
988
+ ### Hybrid search (vector + keyword)
989
+ \`\`\`bash
990
+ curl -X POST "http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/graphql" \\
991
+ -H "Content-Type: application/json" \\
992
+ -d '{"query": "{ Get { Document(hybrid: { query: \\"hello\\" alpha: 0.5 }) { content _additional { score } } } }"}'
993
+ \`\`\`
994
+
995
+ ## Usage Notes
996
+
997
+ - Weaviate supports hybrid search combining BM25 keyword search with vector similarity.
998
+ - Use the alpha parameter to balance between keyword (0.0) and vector (1.0) search.
999
+ - GraphQL API provides flexible querying with filters, aggregations, and cross-references.
690
1000
  `
691
1001
  };
692
1002
  /**
@@ -758,4 +1068,4 @@ Object.defineProperty(exports, "generateSkillFiles", {
758
1068
  }
759
1069
  });
760
1070
 
761
- //# sourceMappingURL=skills-BSF7iNa4.cjs.map
1071
+ //# sourceMappingURL=skills-uPxJVmKk.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-uPxJVmKk.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\"agent-browse\": `---\nname: agent-browse\ndescription: \"AI-optimized browser automation with snapshot + ref workflow for deterministic element targeting\"\nmetadata:\n openclaw:\n emoji: \"🌍\"\n---\n\n# Agent Browser\n\nAI-optimized headless browser available at \\`{{AGENT_BROWSER_HOST}}\\` with CDP on port \\`{{AGENT_BROWSER_CDP_PORT}}\\` and live viewport streaming on port \\`{{AGENT_BROWSER_STREAM_PORT}}\\`.\n\n## Core Workflow: Snapshot → Reason → Act\n\nAgent Browser uses a **ref-based workflow** designed for LLMs. Each interactive element gets a deterministic ref like \\`@e1\\`, \\`@e2\\` that you can target directly — no CSS selectors needed.\n\n1. **Navigate:** \\`agent-browser open https://example.com\\`\n2. **Snapshot:** \\`agent-browser snapshot\\` → returns accessibility tree with refs\n3. **Reason:** Identify the target element by its ref (e.g. \\`@e5\\` is the search input)\n4. **Act:** \\`agent-browser click @e5\\` or \\`agent-browser type @e5 \"search query\"\\`\n5. **Verify:** \\`agent-browser screenshot\\` to capture the result\n\n## Key Commands\n\n| Command | Description |\n|---------|-------------|\n| \\`agent-browser open <url>\\` | Navigate to a URL |\n| \\`agent-browser snapshot\\` | Get accessibility tree with @refs |\n| \\`agent-browser click @ref\\` | Click an element by ref |\n| \\`agent-browser type @ref \"text\"\\` | Type text into an input |\n| \\`agent-browser select @ref \"value\"\\` | Select a dropdown option |\n| \\`agent-browser screenshot [--path file.png]\\` | Capture viewport screenshot |\n| \\`agent-browser scroll down\\\\|up\\` | Scroll the viewport |\n| \\`agent-browser wait <selector\\\\|ms>\\` | Wait for element or time |\n| \\`agent-browser extract\\` | Extract page content as clean text |\n| \\`agent-browser pdf [--path file.pdf]\\` | Save page as PDF |\n\n## Snapshot Output Example\n\n\\`\\`\\`\n@e1 heading \"Welcome to Example\"\n@e2 link \"Sign In\" [href=\"/login\"]\n@e3 input[text] \"Search...\" [placeholder]\n@e4 button \"Search\"\n@e5 link \"Learn More\" [href=\"/docs\"]\n\\`\\`\\`\n\nEach \\`@ref\\` is stable within a page state — use it directly: \\`agent-browser click @e2\\`\n\n## Content Boundaries\n\nOutput is wrapped in boundary markers (\\`---CONTENT_START---\\` / \\`---CONTENT_END---\\`) to prevent prompt injection from page content. This is enabled by default.\n\n## Session Persistence\n\n\\`\\`\\`bash\n# Save/restore login state across sessions\nagent-browser --session-name my-app open https://app.example.com\nagent-browser --session-name my-app snapshot\n\\`\\`\\`\n\n## Live Viewport Streaming\n\nWebSocket stream at \\`ws://{{AGENT_BROWSER_HOST}}:{{AGENT_BROWSER_STREAM_PORT}}\\` for real-time viewport watching (pair browsing). Receives JPEG frames with metadata.\n\n## Security\n\n- **Domain allowlist:** Set \\`AGENT_BROWSER_ALLOWED_DOMAINS\\` to restrict navigation\n- **Action policies:** JSON policy files to require confirmation for specific action categories\n- **Content boundaries:** Prevent LLM prompt injection from page content\n`,\n\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\t\"code-sandbox\": `---\nname: code-sandbox\ndescription: \"Execute code safely in an isolated OpenSandbox container\"\nmetadata:\n openclaw:\n emoji: \"📦\"\n---\n\n# Code Sandbox\n\nExecute code safely in an isolated OpenSandbox container.\n\n## Description\n\nThis skill provides secure, containerized code execution for AI agents. Code runs in ephemeral Docker containers with resource limits, network isolation, and automatic cleanup.\n\n## Connection Details\n\n- **Host:** \\`{{OPENSANDBOX_HOST}}\\`\n- **Port:** \\`{{OPENSANDBOX_PORT}}\\`\n- **Auth:** API key (auto-configured)\n\n## Supported Languages\n\n- Python 3.12\n- JavaScript / TypeScript (Node.js 22)\n- Java 21\n- Go 1.24\n- Bash\n\n## Available Actions\n\n### execute_code\n\nRun a code snippet in a fresh sandbox.\n\n**Parameters:**\n- \\`language\\` (required): Programming language (\"python\", \"javascript\", \"typescript\", \"java\", \"go\", \"bash\")\n- \\`code\\` (required): The code to execute\n- \\`timeout_seconds\\` (optional): Max execution time (default: 60, max: 300)\n\n**Returns:** stdout, stderr, exit_code, execution_time_ms\n\n### execute_shell\n\nRun a shell command in an existing or new sandbox.\n\n**Parameters:**\n- \\`command\\` (required): Shell command to execute\n- \\`sandbox_id\\` (optional): Reuse an existing sandbox (for multi-step workflows)\n- \\`background\\` (optional): Run in background (default: false)\n\n**Returns:** stdout, stderr, exit_code\n\n### upload_file\n\nUpload a file to a sandbox for processing.\n\n**Parameters:**\n- \\`sandbox_id\\` (required): Target sandbox\n- \\`path\\` (required): Destination path inside sandbox\n- \\`content\\` (required): File content (text or base64 for binary)\n\n### download_file\n\nDownload a file from a sandbox.\n\n**Parameters:**\n- \\`sandbox_id\\` (required): Source sandbox\n- \\`path\\` (required): File path inside sandbox\n\n**Returns:** File content\n\n### list_sandboxes\n\nList active sandboxes on this instance.\n\n**Returns:** Array of { id, status, image, created_at, expires_at }\n\n### terminate_sandbox\n\nTerminate a running sandbox immediately.\n\n**Parameters:**\n- \\`sandbox_id\\` (required): Sandbox to terminate\n\n### create_desktop\n\nCreate a GUI desktop sandbox with VNC access (for Homespace live preview).\n\n**Parameters:**\n- \\`image\\` (optional): Desktop image (default: \"opensandbox/desktop:latest\", also: \"opensandbox/chrome:latest\", \"opensandbox/vscode:latest\")\n- \\`resolution\\` (optional): Screen resolution (default: \"1280x800x24\")\n\n**Returns:** sandbox_id, vnc_endpoint (port 5900), novnc_url (port 6080 WebSocket), devtools_url (port 9222, chrome only)\n\n### get_preview_url\n\nGet the browser-accessible noVNC URL for an existing desktop sandbox.\n\n**Parameters:**\n- \\`sandbox_id\\` (required): Desktop sandbox ID\n\n**Returns:** novnc_url (embeddable in iframe), vnc_endpoint, status\n\n## Examples\n\n### Run Python code\n\n\\`\\`\\`bash\ncurl -X POST http://{{OPENSANDBOX_HOST}}:{{OPENSANDBOX_PORT}}/v1/sandboxes \\\\\n -H \"Authorization: Bearer $OPENSANDBOX_API_KEY\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"image\": \"opensandbox/code-interpreter:python\"}'\n\\`\\`\\`\n\n### Execute code in a sandbox\n\n\\`\\`\\`bash\ncurl -X POST http://{{OPENSANDBOX_HOST}}:{{OPENSANDBOX_PORT}}/v1/sandboxes/{id}/code \\\\\n -H \"Authorization: Bearer $OPENSANDBOX_API_KEY\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"language\": \"python\", \"code\": \"print(42 * 42)\"}'\n\\`\\`\\`\n\n## Configuration\n\n- **Default timeout:** 60 seconds\n- **Max concurrent sandboxes:** Determined by VPS RAM\n- **Idle cleanup:** Sandboxes with no activity for 30 minutes are auto-terminated\n- **Network:** Bridge mode (isolated from host services)\n- **Security:** gVisor runtime, capability dropping, PID limits\n\n## Limitations\n\n- No persistent storage between sandbox sessions (ephemeral by design)\n- No GPU access (CPU-only execution)\n- No outbound network access by default (egress blocked)\n- Max 512 PIDs per sandbox (fork bomb protection)\n- Memory capped per sandbox (default 512MB)\n`,\n\n\t\"mem0-memory\": `---\nname: mem0-memory\ndescription: \"Store and retrieve long-term memories for AI agents using Mem0\"\nmetadata:\n openclaw:\n emoji: \"🧠\"\n---\n\n# Mem0 AI Memory\n\nUse Mem0 as a long-term memory layer for AI agents. Mem0 automatically extracts, stores, and retrieves memories across conversations using pgvector embeddings and Neo4j knowledge graphs.\n\n## Connection Details\n\n- **Host:** \\`{{MEM0_HOST}}\\`\n- **Port:** \\`{{MEM0_PORT}}\\`\n\n## Example API Calls\n\n### Add a memory\n\\`\\`\\`bash\ncurl -X POST \"http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"messages\": [{\"role\": \"user\", \"content\": \"I prefer dark mode in all applications\"}], \"user_id\": \"agent-1\"}'\n\\`\\`\\`\n\n### Search memories\n\\`\\`\\`bash\ncurl -X POST \"http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/search/\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"query\": \"What are the user preferences?\", \"user_id\": \"agent-1\"}'\n\\`\\`\\`\n\n### Get all memories for a user\n\\`\\`\\`bash\ncurl \"http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/?user_id=agent-1\"\n\\`\\`\\`\n\n### Delete a memory\n\\`\\`\\`bash\ncurl -X DELETE \"http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/<memory_id>/\"\n\\`\\`\\`\n\n## Usage Notes\n\n- Mem0 automatically extracts facts and preferences from conversation messages.\n- Memories are stored as vector embeddings in pgvector and as entity relationships in Neo4j.\n- Use \\`user_id\\` to isolate memories per agent or per conversation context.\n- Mem0 handles deduplication and conflict resolution automatically.\n`,\n\n\t\"memu-memory\": `---\nname: memu-memory\ndescription: \"Persistent memory framework for proactive AI agents using MemU\"\nmetadata:\n openclaw:\n emoji: \"🧠\"\n---\n\n# MemU Persistent Memory\n\nUse MemU as a persistent memory framework for 24/7 proactive AI agents. MemU extracts structured memory from multimodal inputs and organizes it into a hierarchical knowledge graph.\n\n## Connection Details\n\n- **Host:** \\`{{MEMU_HOST}}\\`\n- **Port:** \\`{{MEMU_PORT}}\\`\n\n## Example API Calls\n\n### Store a memory\n\\`\\`\\`bash\ncurl -X POST \"http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/memories\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"content\": \"User prefers TypeScript over JavaScript\", \"agent_id\": \"agent-1\", \"type\": \"preference\"}'\n\\`\\`\\`\n\n### Recall memories\n\\`\\`\\`bash\ncurl -X POST \"http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/recall\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"query\": \"What programming languages does the user prefer?\", \"agent_id\": \"agent-1\"}'\n\\`\\`\\`\n\n### Get memory graph\n\\`\\`\\`bash\ncurl \"http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/graph?agent_id=agent-1\"\n\\`\\`\\`\n\n## Usage Notes\n\n- MemU organizes memories into a hierarchical knowledge graph backed by pgvector.\n- Supports multimodal inputs (text, images, structured data).\n- Use \\`agent_id\\` to partition memories across different agents.\n`,\n\n\t\"hindsight-memory\": `---\nname: hindsight-memory\ndescription: \"Agent memory with Retain/Recall/Reflect operations using Hindsight\"\nmetadata:\n openclaw:\n emoji: \"🧠\"\n---\n\n# Hindsight Agent Memory\n\nUse Hindsight for agent memory with three core operations: Retain (store), Recall (retrieve), and Reflect (synthesize). Supports multi-strategy retrieval including semantic, keyword, graph, and temporal search.\n\n## Connection Details\n\n- **Host:** \\`{{HINDSIGHT_HOST}}\\`\n- **Port:** \\`{{HINDSIGHT_API_PORT}}\\`\n\n## Example API Calls\n\n### Retain (store a memory)\n\\`\\`\\`bash\ncurl -X POST \"http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/retain\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"namespace\": \"agent-1\", \"content\": \"The deployment uses Kubernetes on AWS EKS\", \"metadata\": {\"source\": \"conversation\"}}'\n\\`\\`\\`\n\n### Recall (retrieve memories)\n\\`\\`\\`bash\ncurl -X POST \"http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/recall\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"namespace\": \"agent-1\", \"query\": \"What infrastructure is used?\", \"strategies\": [\"semantic\", \"keyword\"], \"limit\": 5}'\n\\`\\`\\`\n\n### Reflect (synthesize memories)\n\\`\\`\\`bash\ncurl -X POST \"http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/reflect\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"namespace\": \"agent-1\", \"query\": \"Summarize all infrastructure decisions\"}'\n\\`\\`\\`\n\n## MCP Integration\n\nHindsight also exposes an MCP server. Configure your agent to connect via:\n\\`\\`\\`\nhttp://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/mcp\n\\`\\`\\`\n\n## Usage Notes\n\n- Use namespaces to isolate memories per agent, project, or session.\n- Retrieval strategies: semantic (embedding similarity), keyword (BM25), graph (entity relationships), temporal (time-based).\n- The Reflect operation uses LLM-powered synthesis to generate insights from stored memories.\n`,\n\n\t\"chromadb-memory\": `---\nname: chromadb-memory\ndescription: \"Store and retrieve vector embeddings using ChromaDB\"\nmetadata:\n openclaw:\n emoji: \"🎨\"\n---\n\n# ChromaDB Vector Memory\n\nUse ChromaDB as a vector database for storing embeddings, enabling semantic search and retrieval-augmented generation (RAG).\n\n## Connection Details\n\n- **Host:** \\`{{CHROMADB_HOST}}\\`\n- **Port:** \\`{{CHROMADB_PORT}}\\`\n\n## Example API Calls\n\n### Create a collection\n\\`\\`\\`bash\ncurl -X POST \"http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"name\": \"my_collection\", \"metadata\": {\"hnsw:space\": \"cosine\"}}'\n\\`\\`\\`\n\n### Add documents\n\\`\\`\\`bash\ncurl -X POST \"http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections/<collection_id>/add\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"ids\": [\"doc1\"], \"documents\": [\"Hello world\"], \"metadatas\": [{\"source\": \"test\"}]}'\n\\`\\`\\`\n\n### Query similar documents\n\\`\\`\\`bash\ncurl -X POST \"http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections/<collection_id>/query\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"query_texts\": [\"greeting\"], \"n_results\": 5}'\n\\`\\`\\`\n\n## Usage Notes\n\n- ChromaDB can auto-generate embeddings from documents if configured with an embedding function.\n- Supports metadata filtering on queries for precise retrieval.\n- Collections are isolated namespaces for different data domains.\n`,\n\n\t\"weaviate-memory\": `---\nname: weaviate-memory\ndescription: \"Store and search vectors with hybrid search using Weaviate\"\nmetadata:\n openclaw:\n emoji: \"🔷\"\n---\n\n# Weaviate Vector Memory\n\nUse Weaviate for vector storage with built-in hybrid search (combining vector similarity and keyword/BM25 search) and a GraphQL API.\n\n## Connection Details\n\n- **Host:** \\`{{WEAVIATE_HOST}}\\`\n- **Port:** \\`{{WEAVIATE_PORT}}\\`\n\n## Example API Calls\n\n### Create a class (schema)\n\\`\\`\\`bash\ncurl -X POST \"http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/schema\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"class\": \"Document\", \"vectorizer\": \"none\", \"properties\": [{\"name\": \"content\", \"dataType\": [\"text\"]}]}'\n\\`\\`\\`\n\n### Add an object with vector\n\\`\\`\\`bash\ncurl -X POST \"http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/objects\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"class\": \"Document\", \"properties\": {\"content\": \"Hello world\"}, \"vector\": [0.1, 0.2, 0.3]}'\n\\`\\`\\`\n\n### Hybrid search (vector + keyword)\n\\`\\`\\`bash\ncurl -X POST \"http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/graphql\" \\\\\n -H \"Content-Type: application/json\" \\\\\n -d '{\"query\": \"{ Get { Document(hybrid: { query: \\\\\"hello\\\\\" alpha: 0.5 }) { content _additional { score } } } }\"}'\n\\`\\`\\`\n\n## Usage Notes\n\n- Weaviate supports hybrid search combining BM25 keyword search with vector similarity.\n- Use the alpha parameter to balance between keyword (0.0) and vector (1.0) search.\n- GraphQL API provides flexible querying with filters, aggregations, and cross-references.\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,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEhB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqChB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8IhB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDf,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cf,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDpB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CnB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CnB;;;;;;;;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,WAAAA,QAAW,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"}
@@ -13182,6 +13182,6 @@ function getImporter(name) {
13182
13182
  }) + 1])?.file || "";
13183
13183
  }
13184
13184
  //#endregion
13185
- export { describe as n, it as r, globalExpect as t };
13185
+ export { describe as a, beforeEach as i, vi as n, it as o, afterEach as r, globalExpect as t };
13186
13186
 
13187
- //# sourceMappingURL=test.CTcmp4Su-ClCHJ3FA.mjs.map
13187
+ //# sourceMappingURL=test.CTcmp4Su-BRa7-bTj.mjs.map