@better-openclaw/core 1.0.26 → 1.0.30

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 (1038) hide show
  1. package/README.md +66 -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/dokploy.cjs +25 -0
  64. package/dist/deployers/dokploy.cjs.map +1 -1
  65. package/dist/deployers/dokploy.d.cts +1 -1
  66. package/dist/deployers/dokploy.d.mts +1 -1
  67. package/dist/deployers/dokploy.mjs +25 -0
  68. package/dist/deployers/dokploy.mjs.map +1 -1
  69. package/dist/deployers/index.d.cts +3 -3
  70. package/dist/deployers/index.d.mts +3 -3
  71. package/dist/deployers/strip-host-ports.cjs +1 -1
  72. package/dist/deployers/strip-host-ports.test.cjs +1 -1
  73. package/dist/deployers/strip-host-ports.test.mjs +1 -1
  74. package/dist/deployers/types.d.cts +1 -1
  75. package/dist/deployers/types.d.mts +1 -1
  76. package/dist/{dokploy-8cbrxUun.d.cts → dokploy-BnVDjWCV.d.cts} +2 -2
  77. package/dist/{dokploy-8cbrxUun.d.cts.map → dokploy-BnVDjWCV.d.cts.map} +1 -1
  78. package/dist/{dokploy-BTflLhTM.d.mts → dokploy-BqLdCfyR.d.mts} +2 -2
  79. package/dist/{dokploy-BTflLhTM.d.mts.map → dokploy-BqLdCfyR.d.mts.map} +1 -1
  80. package/dist/frameworks/claude-code-fw.cjs +79 -0
  81. package/dist/frameworks/claude-code-fw.cjs.map +1 -0
  82. package/dist/frameworks/claude-code-fw.d.cts +2 -0
  83. package/dist/frameworks/claude-code-fw.d.mts +2 -0
  84. package/dist/frameworks/claude-code-fw.mjs +78 -0
  85. package/dist/frameworks/claude-code-fw.mjs.map +1 -0
  86. package/dist/frameworks/codex-fw.cjs +67 -0
  87. package/dist/frameworks/codex-fw.cjs.map +1 -0
  88. package/dist/frameworks/codex-fw.d.cts +2 -0
  89. package/dist/frameworks/codex-fw.d.mts +2 -0
  90. package/dist/frameworks/codex-fw.mjs +66 -0
  91. package/dist/frameworks/codex-fw.mjs.map +1 -0
  92. package/dist/frameworks/copaw.cjs +118 -0
  93. package/dist/frameworks/copaw.cjs.map +1 -0
  94. package/dist/frameworks/copaw.d.cts +2 -0
  95. package/dist/frameworks/copaw.d.mts +2 -0
  96. package/dist/frameworks/copaw.mjs +117 -0
  97. package/dist/frameworks/copaw.mjs.map +1 -0
  98. package/dist/frameworks/index.cjs +35 -0
  99. package/dist/frameworks/index.cjs.map +1 -0
  100. package/dist/frameworks/index.d.cts +11 -0
  101. package/dist/frameworks/index.d.mts +11 -0
  102. package/dist/frameworks/index.mjs +22 -0
  103. package/dist/frameworks/index.mjs.map +1 -0
  104. package/dist/frameworks/memu.cjs +118 -0
  105. package/dist/frameworks/memu.cjs.map +1 -0
  106. package/dist/frameworks/memu.d.cts +2 -0
  107. package/dist/frameworks/memu.d.mts +2 -0
  108. package/dist/frameworks/memu.mjs +117 -0
  109. package/dist/frameworks/memu.mjs.map +1 -0
  110. package/dist/frameworks/nanobot.cjs +126 -0
  111. package/dist/frameworks/nanobot.cjs.map +1 -0
  112. package/dist/frameworks/nanobot.d.cts +2 -0
  113. package/dist/frameworks/nanobot.d.mts +2 -0
  114. package/dist/frameworks/nanobot.mjs +125 -0
  115. package/dist/frameworks/nanobot.mjs.map +1 -0
  116. package/dist/frameworks/nanoclaw.cjs +99 -0
  117. package/dist/frameworks/nanoclaw.cjs.map +1 -0
  118. package/dist/frameworks/nanoclaw.d.cts +2 -0
  119. package/dist/frameworks/nanoclaw.d.mts +2 -0
  120. package/dist/frameworks/nanoclaw.mjs +98 -0
  121. package/dist/frameworks/nanoclaw.mjs.map +1 -0
  122. package/dist/frameworks/openclaw.cjs +253 -0
  123. package/dist/frameworks/openclaw.cjs.map +1 -0
  124. package/dist/frameworks/openclaw.d.cts +2 -0
  125. package/dist/frameworks/openclaw.d.mts +2 -0
  126. package/dist/frameworks/openclaw.mjs +251 -0
  127. package/dist/frameworks/openclaw.mjs.map +1 -0
  128. package/dist/frameworks/registry.cjs +31 -0
  129. package/dist/frameworks/registry.cjs.map +1 -0
  130. package/dist/frameworks/registry.d.cts +2 -0
  131. package/dist/frameworks/registry.d.mts +2 -0
  132. package/dist/frameworks/registry.mjs +26 -0
  133. package/dist/frameworks/registry.mjs.map +1 -0
  134. package/dist/frameworks/registry.test.cjs +110 -0
  135. package/dist/frameworks/registry.test.cjs.map +1 -0
  136. package/dist/frameworks/registry.test.d.cts +1 -0
  137. package/dist/frameworks/registry.test.d.mts +1 -0
  138. package/dist/frameworks/registry.test.mjs +111 -0
  139. package/dist/frameworks/registry.test.mjs.map +1 -0
  140. package/dist/frameworks/types.cjs +0 -0
  141. package/dist/frameworks/types.d.cts +2 -0
  142. package/dist/frameworks/types.d.mts +2 -0
  143. package/dist/frameworks/types.mjs +1 -0
  144. package/dist/frameworks/zeroclaw.cjs +123 -0
  145. package/dist/frameworks/zeroclaw.cjs.map +1 -0
  146. package/dist/frameworks/zeroclaw.d.cts +2 -0
  147. package/dist/frameworks/zeroclaw.d.mts +2 -0
  148. package/dist/frameworks/zeroclaw.mjs +122 -0
  149. package/dist/frameworks/zeroclaw.mjs.map +1 -0
  150. package/dist/generate.cjs +64 -13
  151. package/dist/generate.cjs.map +1 -1
  152. package/dist/generate.d.cts +5 -2
  153. package/dist/generate.d.cts.map +1 -1
  154. package/dist/generate.d.mts +5 -2
  155. package/dist/generate.d.mts.map +1 -1
  156. package/dist/generate.mjs +63 -12
  157. package/dist/generate.mjs.map +1 -1
  158. package/dist/generate.test.cjs +42 -6
  159. package/dist/generate.test.cjs.map +1 -1
  160. package/dist/generate.test.mjs +41 -5
  161. package/dist/generate.test.mjs.map +1 -1
  162. package/dist/generators/bare-metal-install.d.cts +1 -1
  163. package/dist/generators/bare-metal-install.d.mts +1 -1
  164. package/dist/generators/bare-metal-install.test.cjs +1 -1
  165. package/dist/generators/bare-metal-install.test.mjs +1 -1
  166. package/dist/generators/caddy.cjs +9 -3
  167. package/dist/generators/caddy.cjs.map +1 -1
  168. package/dist/generators/caddy.d.cts +1 -1
  169. package/dist/generators/caddy.d.mts +1 -1
  170. package/dist/generators/caddy.mjs +9 -3
  171. package/dist/generators/caddy.mjs.map +1 -1
  172. package/dist/generators/caddy.test.cjs +30 -2
  173. package/dist/generators/caddy.test.cjs.map +1 -1
  174. package/dist/generators/caddy.test.mjs +30 -2
  175. package/dist/generators/caddy.test.mjs.map +1 -1
  176. package/dist/generators/clone-repos.cjs.map +1 -1
  177. package/dist/generators/clone-repos.d.cts +1 -1
  178. package/dist/generators/clone-repos.d.mts +1 -1
  179. package/dist/generators/clone-repos.mjs.map +1 -1
  180. package/dist/generators/clone-repos.test.cjs +1 -1
  181. package/dist/generators/clone-repos.test.cjs.map +1 -1
  182. package/dist/generators/clone-repos.test.mjs +1 -1
  183. package/dist/generators/clone-repos.test.mjs.map +1 -1
  184. package/dist/generators/env.cjs +28 -103
  185. package/dist/generators/env.cjs.map +1 -1
  186. package/dist/generators/env.d.cts +4 -1
  187. package/dist/generators/env.d.cts.map +1 -1
  188. package/dist/generators/env.d.mts +4 -1
  189. package/dist/generators/env.d.mts.map +1 -1
  190. package/dist/generators/env.mjs +27 -102
  191. package/dist/generators/env.mjs.map +1 -1
  192. package/dist/generators/env.test.cjs +3 -3
  193. package/dist/generators/env.test.cjs.map +1 -1
  194. package/dist/generators/env.test.mjs +3 -3
  195. package/dist/generators/env.test.mjs.map +1 -1
  196. package/dist/generators/get-shit-done.d.cts +1 -1
  197. package/dist/generators/get-shit-done.d.mts +1 -1
  198. package/dist/generators/health-check.cjs +6 -6
  199. package/dist/generators/health-check.cjs.map +1 -1
  200. package/dist/generators/health-check.d.cts +1 -1
  201. package/dist/generators/health-check.d.mts +1 -1
  202. package/dist/generators/health-check.mjs +6 -6
  203. package/dist/generators/health-check.mjs.map +1 -1
  204. package/dist/generators/health-check.test.cjs +1 -1
  205. package/dist/generators/health-check.test.mjs +1 -1
  206. package/dist/generators/n8n-workflows.d.cts +1 -1
  207. package/dist/generators/n8n-workflows.d.mts +1 -1
  208. package/dist/generators/native-services.d.cts +1 -1
  209. package/dist/generators/native-services.d.mts +1 -1
  210. package/dist/generators/openclaw-json.cjs +60 -4
  211. package/dist/generators/openclaw-json.cjs.map +1 -1
  212. package/dist/generators/openclaw-json.d.cts +1 -5
  213. package/dist/generators/openclaw-json.d.cts.map +1 -1
  214. package/dist/generators/openclaw-json.d.mts +1 -5
  215. package/dist/generators/openclaw-json.d.mts.map +1 -1
  216. package/dist/generators/openclaw-json.mjs +60 -4
  217. package/dist/generators/openclaw-json.mjs.map +1 -1
  218. package/dist/generators/postgres-init.cjs +20 -0
  219. package/dist/generators/postgres-init.cjs.map +1 -1
  220. package/dist/generators/postgres-init.d.cts +1 -1
  221. package/dist/generators/postgres-init.d.cts.map +1 -1
  222. package/dist/generators/postgres-init.d.mts +1 -1
  223. package/dist/generators/postgres-init.d.mts.map +1 -1
  224. package/dist/generators/postgres-init.mjs +20 -0
  225. package/dist/generators/postgres-init.mjs.map +1 -1
  226. package/dist/generators/prometheus.d.cts +1 -1
  227. package/dist/generators/prometheus.d.mts +1 -1
  228. package/dist/generators/readme.cjs +50 -7
  229. package/dist/generators/readme.cjs.map +1 -1
  230. package/dist/generators/readme.d.cts +3 -1
  231. package/dist/generators/readme.d.cts.map +1 -1
  232. package/dist/generators/readme.d.mts +3 -1
  233. package/dist/generators/readme.d.mts.map +1 -1
  234. package/dist/generators/readme.mjs +50 -7
  235. package/dist/generators/readme.mjs.map +1 -1
  236. package/dist/generators/scripts.test.cjs +2 -2
  237. package/dist/generators/scripts.test.cjs.map +1 -1
  238. package/dist/generators/scripts.test.mjs +2 -2
  239. package/dist/generators/scripts.test.mjs.map +1 -1
  240. package/dist/generators/skills.cjs +1 -1
  241. package/dist/generators/skills.d.cts +1 -1
  242. package/dist/generators/skills.d.cts.map +1 -1
  243. package/dist/generators/skills.d.mts +1 -1
  244. package/dist/generators/skills.d.mts.map +1 -1
  245. package/dist/generators/skills.mjs +310 -0
  246. package/dist/generators/skills.mjs.map +1 -1
  247. package/dist/generators/stack-manifest.d.cts +1 -1
  248. package/dist/generators/stack-manifest.d.mts +1 -1
  249. package/dist/generators/traefik.d.cts +1 -1
  250. package/dist/generators/traefik.d.mts +1 -1
  251. package/dist/generators/traefik.test.cjs +12 -12
  252. package/dist/generators/traefik.test.cjs.map +1 -1
  253. package/dist/generators/traefik.test.mjs +12 -12
  254. package/dist/generators/traefik.test.mjs.map +1 -1
  255. package/dist/index.cjs +20 -2
  256. package/dist/index.d.cts +14 -7
  257. package/dist/index.d.mts +14 -7
  258. package/dist/index.mjs +10 -3
  259. package/dist/logger/__tests__/logger.test.cjs +308 -0
  260. package/dist/logger/__tests__/logger.test.cjs.map +1 -0
  261. package/dist/logger/__tests__/logger.test.d.cts +1 -0
  262. package/dist/logger/__tests__/logger.test.d.mts +1 -0
  263. package/dist/logger/__tests__/logger.test.mjs +308 -0
  264. package/dist/logger/__tests__/logger.test.mjs.map +1 -0
  265. package/dist/logger/index.cjs +10 -0
  266. package/dist/logger/index.d.cts +6 -0
  267. package/dist/logger/index.d.mts +6 -0
  268. package/dist/logger/index.mjs +5 -0
  269. package/dist/logger/logger.cjs +270 -0
  270. package/dist/logger/logger.cjs.map +1 -0
  271. package/dist/logger/logger.d.cts +2 -0
  272. package/dist/logger/logger.d.mts +2 -0
  273. package/dist/logger/logger.mjs +267 -0
  274. package/dist/logger/logger.mjs.map +1 -0
  275. package/dist/logger/sinks/callback-sink.cjs +18 -0
  276. package/dist/logger/sinks/callback-sink.cjs.map +1 -0
  277. package/dist/logger/sinks/callback-sink.d.cts +2 -0
  278. package/dist/logger/sinks/callback-sink.d.mts +2 -0
  279. package/dist/logger/sinks/callback-sink.mjs +17 -0
  280. package/dist/logger/sinks/callback-sink.mjs.map +1 -0
  281. package/dist/logger/sinks/console-sink.cjs +39 -0
  282. package/dist/logger/sinks/console-sink.cjs.map +1 -0
  283. package/dist/logger/sinks/console-sink.d.cts +2 -0
  284. package/dist/logger/sinks/console-sink.d.mts +2 -0
  285. package/dist/logger/sinks/console-sink.mjs +38 -0
  286. package/dist/logger/sinks/console-sink.mjs.map +1 -0
  287. package/dist/logger/sinks/file-sink.cjs +72 -0
  288. package/dist/logger/sinks/file-sink.cjs.map +1 -0
  289. package/dist/logger/sinks/file-sink.d.cts +36 -0
  290. package/dist/logger/sinks/file-sink.d.cts.map +1 -0
  291. package/dist/logger/sinks/file-sink.d.mts +36 -0
  292. package/dist/logger/sinks/file-sink.d.mts.map +1 -0
  293. package/dist/logger/sinks/file-sink.mjs +70 -0
  294. package/dist/logger/sinks/file-sink.mjs.map +1 -0
  295. package/dist/logger/types.cjs +0 -0
  296. package/dist/logger/types.d.cts +2 -0
  297. package/dist/logger/types.d.mts +2 -0
  298. package/dist/logger/types.mjs +1 -0
  299. package/dist/logger-CZ0Qnyiu.d.mts +66 -0
  300. package/dist/logger-CZ0Qnyiu.d.mts.map +1 -0
  301. package/dist/logger-DDfwai-A.d.cts +66 -0
  302. package/dist/logger-DDfwai-A.d.cts.map +1 -0
  303. package/dist/memu-BfRXtwmL.d.cts +7 -0
  304. package/dist/memu-BfRXtwmL.d.cts.map +1 -0
  305. package/dist/memu-C-fXbWr-.d.mts +7 -0
  306. package/dist/memu-C-fXbWr-.d.mts.map +1 -0
  307. package/dist/migrations.cjs +17 -9
  308. package/dist/migrations.cjs.map +1 -1
  309. package/dist/migrations.d.cts +1 -1
  310. package/dist/migrations.d.cts.map +1 -1
  311. package/dist/migrations.d.mts +1 -1
  312. package/dist/migrations.d.mts.map +1 -1
  313. package/dist/migrations.mjs +17 -9
  314. package/dist/migrations.mjs.map +1 -1
  315. package/dist/migrations.test.cjs +4 -4
  316. package/dist/migrations.test.mjs +4 -4
  317. package/dist/nanobot-2c0bS4lu.d.cts +7 -0
  318. package/dist/nanobot-2c0bS4lu.d.cts.map +1 -0
  319. package/dist/nanobot-BUO6pVQc.d.mts +7 -0
  320. package/dist/nanobot-BUO6pVQc.d.mts.map +1 -0
  321. package/dist/nanoclaw-CgHubEig.d.mts +7 -0
  322. package/dist/nanoclaw-CgHubEig.d.mts.map +1 -0
  323. package/dist/nanoclaw-Dvz0ef6J.d.cts +7 -0
  324. package/dist/nanoclaw-Dvz0ef6J.d.cts.map +1 -0
  325. package/dist/openclaw-D8lVecjC.d.mts +7 -0
  326. package/dist/openclaw-D8lVecjC.d.mts.map +1 -0
  327. package/dist/openclaw-DThj8i3N.d.cts +7 -0
  328. package/dist/openclaw-DThj8i3N.d.cts.map +1 -0
  329. package/dist/port-scanner.d.cts +1 -1
  330. package/dist/port-scanner.d.mts +1 -1
  331. package/dist/presets/presets.test.cjs +5 -5
  332. package/dist/presets/presets.test.cjs.map +1 -1
  333. package/dist/presets/presets.test.mjs +4 -4
  334. package/dist/presets/presets.test.mjs.map +1 -1
  335. package/dist/presets/registry.d.cts +1 -1
  336. package/dist/presets/registry.d.mts +1 -1
  337. package/dist/presets/registry.test.cjs +7 -7
  338. package/dist/presets/registry.test.cjs.map +1 -1
  339. package/dist/presets/registry.test.mjs +7 -7
  340. package/dist/presets/registry.test.mjs.map +1 -1
  341. package/dist/registry-DHX7vnVo.d.cts +16 -0
  342. package/dist/registry-DHX7vnVo.d.cts.map +1 -0
  343. package/dist/registry-DTAILnga.d.mts +16 -0
  344. package/dist/registry-DTAILnga.d.mts.map +1 -0
  345. package/dist/resolver.cjs +13 -3
  346. package/dist/resolver.cjs.map +1 -1
  347. package/dist/resolver.d.cts +1 -1
  348. package/dist/resolver.d.cts.map +1 -1
  349. package/dist/resolver.d.mts +1 -1
  350. package/dist/resolver.d.mts.map +1 -1
  351. package/dist/resolver.mjs +13 -3
  352. package/dist/resolver.mjs.map +1 -1
  353. package/dist/resolver.test.cjs +35 -3
  354. package/dist/resolver.test.cjs.map +1 -1
  355. package/dist/resolver.test.mjs +35 -3
  356. package/dist/resolver.test.mjs.map +1 -1
  357. package/dist/{schema-BQnZrcw8.d.cts → schema-BSl9wiFe.d.mts} +134 -2
  358. package/dist/schema-BSl9wiFe.d.mts.map +1 -0
  359. package/dist/{schema-SBpL0bdI.d.mts → schema-Bd9l2r7p.d.cts} +134 -2
  360. package/dist/schema-Bd9l2r7p.d.cts.map +1 -0
  361. package/dist/schema.cjs +28 -4
  362. package/dist/schema.cjs.map +1 -1
  363. package/dist/schema.d.cts +2 -2
  364. package/dist/schema.d.mts +2 -2
  365. package/dist/schema.mjs +27 -4
  366. package/dist/schema.mjs.map +1 -1
  367. package/dist/schema.test.cjs +3 -3
  368. package/dist/schema.test.cjs.map +1 -1
  369. package/dist/schema.test.mjs +3 -3
  370. package/dist/schema.test.mjs.map +1 -1
  371. package/dist/services/definitions/adguard-home.d.cts +1 -1
  372. package/dist/services/definitions/adguard-home.d.mts +1 -1
  373. package/dist/services/definitions/agent-browser.cjs +161 -0
  374. package/dist/services/definitions/agent-browser.cjs.map +1 -0
  375. package/dist/services/definitions/agent-browser.d.cts +7 -0
  376. package/dist/services/definitions/agent-browser.d.cts.map +1 -0
  377. package/dist/services/definitions/agent-browser.d.mts +7 -0
  378. package/dist/services/definitions/agent-browser.d.mts.map +1 -0
  379. package/dist/services/definitions/agent-browser.mjs +160 -0
  380. package/dist/services/definitions/agent-browser.mjs.map +1 -0
  381. package/dist/services/definitions/airbyte.d.cts +1 -1
  382. package/dist/services/definitions/airbyte.d.mts +1 -1
  383. package/dist/services/definitions/airflow.d.cts +1 -1
  384. package/dist/services/definitions/airflow.d.mts +1 -1
  385. package/dist/services/definitions/anything-llm.d.cts +1 -1
  386. package/dist/services/definitions/anything-llm.d.mts +1 -1
  387. package/dist/services/definitions/appflowy.d.cts +1 -1
  388. package/dist/services/definitions/appflowy.d.mts +1 -1
  389. package/dist/services/definitions/apptension-saas.cjs.map +1 -1
  390. package/dist/services/definitions/apptension-saas.d.cts +1 -1
  391. package/dist/services/definitions/apptension-saas.d.mts +1 -1
  392. package/dist/services/definitions/apptension-saas.mjs.map +1 -1
  393. package/dist/services/definitions/appwrite.d.cts +1 -1
  394. package/dist/services/definitions/appwrite.d.mts +1 -1
  395. package/dist/services/definitions/audiobookshelf.d.cts +1 -1
  396. package/dist/services/definitions/audiobookshelf.d.mts +1 -1
  397. package/dist/services/definitions/authelia.d.cts +1 -1
  398. package/dist/services/definitions/authelia.d.mts +1 -1
  399. package/dist/services/definitions/authentik.d.cts +1 -1
  400. package/dist/services/definitions/authentik.d.mts +1 -1
  401. package/dist/services/definitions/axolotl.d.cts +1 -1
  402. package/dist/services/definitions/axolotl.d.mts +1 -1
  403. package/dist/services/definitions/baserow.d.cts +1 -1
  404. package/dist/services/definitions/baserow.d.mts +1 -1
  405. package/dist/services/definitions/beszel.d.cts +1 -1
  406. package/dist/services/definitions/beszel.d.mts +1 -1
  407. package/dist/services/definitions/boxyhq-saas.d.cts +1 -1
  408. package/dist/services/definitions/boxyhq-saas.d.mts +1 -1
  409. package/dist/services/definitions/browserless.d.cts +1 -1
  410. package/dist/services/definitions/browserless.d.mts +1 -1
  411. package/dist/services/definitions/burnlink.d.cts +1 -1
  412. package/dist/services/definitions/burnlink.d.mts +1 -1
  413. package/dist/services/definitions/caddy.d.cts +1 -1
  414. package/dist/services/definitions/caddy.d.mts +1 -1
  415. package/dist/services/definitions/cal-com.d.cts +1 -1
  416. package/dist/services/definitions/cal-com.d.mts +1 -1
  417. package/dist/services/definitions/calibre-web.d.cts +1 -1
  418. package/dist/services/definitions/calibre-web.d.mts +1 -1
  419. package/dist/services/definitions/chatwoot-worker.d.cts +1 -1
  420. package/dist/services/definitions/chatwoot-worker.d.mts +1 -1
  421. package/dist/services/definitions/chatwoot.d.cts +1 -1
  422. package/dist/services/definitions/chatwoot.d.mts +1 -1
  423. package/dist/services/definitions/chromadb.cjs +4 -1
  424. package/dist/services/definitions/chromadb.cjs.map +1 -1
  425. package/dist/services/definitions/chromadb.d.cts +1 -1
  426. package/dist/services/definitions/chromadb.d.mts +1 -1
  427. package/dist/services/definitions/chromadb.mjs +4 -1
  428. package/dist/services/definitions/chromadb.mjs.map +1 -1
  429. package/dist/services/definitions/claude-code.cjs +1 -1
  430. package/dist/services/definitions/claude-code.cjs.map +1 -1
  431. package/dist/services/definitions/claude-code.d.cts +1 -1
  432. package/dist/services/definitions/claude-code.d.mts +1 -1
  433. package/dist/services/definitions/claude-code.mjs +1 -1
  434. package/dist/services/definitions/claude-code.mjs.map +1 -1
  435. package/dist/services/definitions/clawrouter.cjs +138 -0
  436. package/dist/services/definitions/clawrouter.cjs.map +1 -0
  437. package/dist/services/definitions/clawrouter.d.cts +7 -0
  438. package/dist/services/definitions/clawrouter.d.cts.map +1 -0
  439. package/dist/services/definitions/clawrouter.d.mts +7 -0
  440. package/dist/services/definitions/clawrouter.d.mts.map +1 -0
  441. package/dist/services/definitions/clawrouter.mjs +137 -0
  442. package/dist/services/definitions/clawrouter.mjs.map +1 -0
  443. package/dist/services/definitions/clickhouse.d.cts +1 -1
  444. package/dist/services/definitions/clickhouse.d.mts +1 -1
  445. package/dist/services/definitions/cloudflared.d.cts +1 -1
  446. package/dist/services/definitions/cloudflared.d.mts +1 -1
  447. package/dist/services/definitions/cmsaas-starter.d.cts +1 -1
  448. package/dist/services/definitions/cmsaas-starter.d.mts +1 -1
  449. package/dist/services/definitions/cockroachdb.d.cts +1 -1
  450. package/dist/services/definitions/cockroachdb.d.mts +1 -1
  451. package/dist/services/definitions/code-server.d.cts +1 -1
  452. package/dist/services/definitions/code-server.d.mts +1 -1
  453. package/dist/services/definitions/coder.d.cts +1 -1
  454. package/dist/services/definitions/coder.d.mts +1 -1
  455. package/dist/services/definitions/codex.cjs +1 -1
  456. package/dist/services/definitions/codex.cjs.map +1 -1
  457. package/dist/services/definitions/codex.d.cts +1 -1
  458. package/dist/services/definitions/codex.d.mts +1 -1
  459. package/dist/services/definitions/codex.mjs +1 -1
  460. package/dist/services/definitions/codex.mjs.map +1 -1
  461. package/dist/services/definitions/comfyui.d.cts +1 -1
  462. package/dist/services/definitions/comfyui.d.mts +1 -1
  463. package/dist/services/definitions/convex-dashboard.d.cts +1 -1
  464. package/dist/services/definitions/convex-dashboard.d.mts +1 -1
  465. package/dist/services/definitions/convex.cjs.map +1 -1
  466. package/dist/services/definitions/convex.d.cts +1 -1
  467. package/dist/services/definitions/convex.d.mts +1 -1
  468. package/dist/services/definitions/convex.mjs.map +1 -1
  469. package/dist/services/definitions/coolify.d.cts +1 -1
  470. package/dist/services/definitions/coolify.d.mts +1 -1
  471. package/dist/services/definitions/copaw.cjs +97 -0
  472. package/dist/services/definitions/copaw.cjs.map +1 -0
  473. package/dist/services/definitions/copaw.d.cts +7 -0
  474. package/dist/services/definitions/copaw.d.cts.map +1 -0
  475. package/dist/services/definitions/copaw.d.mts +7 -0
  476. package/dist/services/definitions/copaw.d.mts.map +1 -0
  477. package/dist/services/definitions/copaw.mjs +96 -0
  478. package/dist/services/definitions/copaw.mjs.map +1 -0
  479. package/dist/services/definitions/crowdsec.d.cts +1 -1
  480. package/dist/services/definitions/crowdsec.d.mts +1 -1
  481. package/dist/services/definitions/dagster.d.cts +1 -1
  482. package/dist/services/definitions/dagster.d.mts +1 -1
  483. package/dist/services/definitions/desktop-environment.cjs +2 -1
  484. package/dist/services/definitions/desktop-environment.cjs.map +1 -1
  485. package/dist/services/definitions/desktop-environment.d.cts +1 -1
  486. package/dist/services/definitions/desktop-environment.d.mts +1 -1
  487. package/dist/services/definitions/desktop-environment.mjs +2 -1
  488. package/dist/services/definitions/desktop-environment.mjs.map +1 -1
  489. package/dist/services/definitions/dify.d.cts +1 -1
  490. package/dist/services/definitions/dify.d.mts +1 -1
  491. package/dist/services/definitions/directus.d.cts +1 -1
  492. package/dist/services/definitions/directus.d.mts +1 -1
  493. package/dist/services/definitions/docsgpt.d.cts +1 -1
  494. package/dist/services/definitions/docsgpt.d.mts +1 -1
  495. package/dist/services/definitions/dokploy.d.cts +1 -1
  496. package/dist/services/definitions/dokploy.d.mts +1 -1
  497. package/dist/services/definitions/dozzle.d.cts +1 -1
  498. package/dist/services/definitions/dozzle.d.mts +1 -1
  499. package/dist/services/definitions/dragonfly.d.cts +1 -1
  500. package/dist/services/definitions/dragonfly.d.mts +1 -1
  501. package/dist/services/definitions/drone-ci.d.cts +1 -1
  502. package/dist/services/definitions/drone-ci.d.mts +1 -1
  503. package/dist/services/definitions/duplicati.d.cts +1 -1
  504. package/dist/services/definitions/duplicati.d.mts +1 -1
  505. package/dist/services/definitions/element-web.d.cts +1 -1
  506. package/dist/services/definitions/element-web.d.mts +1 -1
  507. package/dist/services/definitions/excalidraw.d.cts +1 -1
  508. package/dist/services/definitions/excalidraw.d.mts +1 -1
  509. package/dist/services/definitions/ffmpeg.d.cts +1 -1
  510. package/dist/services/definitions/ffmpeg.d.mts +1 -1
  511. package/dist/services/definitions/firecrawl-playwright.d.cts +1 -1
  512. package/dist/services/definitions/firecrawl-playwright.d.mts +1 -1
  513. package/dist/services/definitions/firecrawl.d.cts +1 -1
  514. package/dist/services/definitions/firecrawl.d.mts +1 -1
  515. package/dist/services/definitions/flagsmith.d.cts +1 -1
  516. package/dist/services/definitions/flagsmith.d.mts +1 -1
  517. package/dist/services/definitions/flowise.d.cts +1 -1
  518. package/dist/services/definitions/flowise.d.mts +1 -1
  519. package/dist/services/definitions/focalboard.d.cts +1 -1
  520. package/dist/services/definitions/focalboard.d.mts +1 -1
  521. package/dist/services/definitions/fonoster.d.cts +1 -1
  522. package/dist/services/definitions/fonoster.d.mts +1 -1
  523. package/dist/services/definitions/forgejo.d.cts +1 -1
  524. package/dist/services/definitions/forgejo.d.mts +1 -1
  525. package/dist/services/definitions/formbricks.d.cts +1 -1
  526. package/dist/services/definitions/formbricks.d.mts +1 -1
  527. package/dist/services/definitions/gemini-cli.d.cts +1 -1
  528. package/dist/services/definitions/gemini-cli.d.mts +1 -1
  529. package/dist/services/definitions/ghost.d.cts +1 -1
  530. package/dist/services/definitions/ghost.d.mts +1 -1
  531. package/dist/services/definitions/gitea.d.cts +1 -1
  532. package/dist/services/definitions/gitea.d.mts +1 -1
  533. package/dist/services/definitions/gotify.d.cts +1 -1
  534. package/dist/services/definitions/gotify.d.mts +1 -1
  535. package/dist/services/definitions/grafana.d.cts +1 -1
  536. package/dist/services/definitions/grafana.d.mts +1 -1
  537. package/dist/services/definitions/graylog.d.cts +1 -1
  538. package/dist/services/definitions/graylog.d.mts +1 -1
  539. package/dist/services/definitions/headscale.d.cts +1 -1
  540. package/dist/services/definitions/headscale.d.mts +1 -1
  541. package/dist/services/definitions/hedgedoc.d.cts +1 -1
  542. package/dist/services/definitions/hedgedoc.d.mts +1 -1
  543. package/dist/services/definitions/hexstrike.d.cts +1 -1
  544. package/dist/services/definitions/hexstrike.d.mts +1 -1
  545. package/dist/services/definitions/heyform.d.cts +1 -1
  546. package/dist/services/definitions/heyform.d.mts +1 -1
  547. package/dist/services/definitions/hindsight.cjs +4 -1
  548. package/dist/services/definitions/hindsight.cjs.map +1 -1
  549. package/dist/services/definitions/hindsight.d.cts +1 -1
  550. package/dist/services/definitions/hindsight.d.mts +1 -1
  551. package/dist/services/definitions/hindsight.mjs +4 -1
  552. package/dist/services/definitions/hindsight.mjs.map +1 -1
  553. package/dist/services/definitions/homeassistant.d.cts +1 -1
  554. package/dist/services/definitions/homeassistant.d.mts +1 -1
  555. package/dist/services/definitions/hoppscotch.d.cts +1 -1
  556. package/dist/services/definitions/hoppscotch.d.mts +1 -1
  557. package/dist/services/definitions/immich.d.cts +1 -1
  558. package/dist/services/definitions/immich.d.mts +1 -1
  559. package/dist/services/definitions/index.cjs +42 -6
  560. package/dist/services/definitions/index.cjs.map +1 -1
  561. package/dist/services/definitions/index.d.cts +16 -4
  562. package/dist/services/definitions/index.d.cts.map +1 -1
  563. package/dist/services/definitions/index.d.mts +16 -4
  564. package/dist/services/definitions/index.d.mts.map +1 -1
  565. package/dist/services/definitions/index.mjs +31 -7
  566. package/dist/services/definitions/index.mjs.map +1 -1
  567. package/dist/services/definitions/infisical.d.cts +1 -1
  568. package/dist/services/definitions/infisical.d.mts +1 -1
  569. package/dist/services/definitions/influxdb.d.cts +1 -1
  570. package/dist/services/definitions/influxdb.d.mts +1 -1
  571. package/dist/services/definitions/invoke-ai.d.cts +1 -1
  572. package/dist/services/definitions/invoke-ai.d.mts +1 -1
  573. package/dist/services/definitions/ixartz-saas.d.cts +1 -1
  574. package/dist/services/definitions/ixartz-saas.d.mts +1 -1
  575. package/dist/services/definitions/jaeger.d.cts +1 -1
  576. package/dist/services/definitions/jaeger.d.mts +1 -1
  577. package/dist/services/definitions/jan.d.cts +1 -1
  578. package/dist/services/definitions/jan.d.mts +1 -1
  579. package/dist/services/definitions/jellyfin.d.cts +1 -1
  580. package/dist/services/definitions/jellyfin.d.mts +1 -1
  581. package/dist/services/definitions/jenkins.d.cts +1 -1
  582. package/dist/services/definitions/jenkins.d.mts +1 -1
  583. package/dist/services/definitions/jitsi-meet.d.cts +1 -1
  584. package/dist/services/definitions/jitsi-meet.d.mts +1 -1
  585. package/dist/services/definitions/keycloak.d.cts +1 -1
  586. package/dist/services/definitions/keycloak.d.mts +1 -1
  587. package/dist/services/definitions/kimi.d.cts +1 -1
  588. package/dist/services/definitions/kimi.d.mts +1 -1
  589. package/dist/services/definitions/kong.d.cts +1 -1
  590. package/dist/services/definitions/kong.d.mts +1 -1
  591. package/dist/services/definitions/lago.d.cts +1 -1
  592. package/dist/services/definitions/lago.d.mts +1 -1
  593. package/dist/services/definitions/langflow.d.cts +1 -1
  594. package/dist/services/definitions/langflow.d.mts +1 -1
  595. package/dist/services/definitions/langfuse.d.cts +1 -1
  596. package/dist/services/definitions/langfuse.d.mts +1 -1
  597. package/dist/services/definitions/lasuite-meet-agents.d.cts +1 -1
  598. package/dist/services/definitions/lasuite-meet-agents.d.mts +1 -1
  599. package/dist/services/definitions/lasuite-meet-backend.d.cts +1 -1
  600. package/dist/services/definitions/lasuite-meet-backend.d.mts +1 -1
  601. package/dist/services/definitions/lasuite-meet-frontend.d.cts +1 -1
  602. package/dist/services/definitions/lasuite-meet-frontend.d.mts +1 -1
  603. package/dist/services/definitions/librechat.d.cts +1 -1
  604. package/dist/services/definitions/librechat.d.mts +1 -1
  605. package/dist/services/definitions/lightpanda.d.cts +1 -1
  606. package/dist/services/definitions/lightpanda.d.mts +1 -1
  607. package/dist/services/definitions/listmonk.d.cts +1 -1
  608. package/dist/services/definitions/listmonk.d.mts +1 -1
  609. package/dist/services/definitions/litellm.d.cts +1 -1
  610. package/dist/services/definitions/litellm.d.mts +1 -1
  611. package/dist/services/definitions/livekit.d.cts +1 -1
  612. package/dist/services/definitions/livekit.d.mts +1 -1
  613. package/dist/services/definitions/local-ai.d.cts +1 -1
  614. package/dist/services/definitions/local-ai.d.mts +1 -1
  615. package/dist/services/definitions/loki.d.cts +1 -1
  616. package/dist/services/definitions/loki.d.mts +1 -1
  617. package/dist/services/definitions/mariadb.d.cts +1 -1
  618. package/dist/services/definitions/mariadb.d.mts +1 -1
  619. package/dist/services/definitions/matomo.d.cts +1 -1
  620. package/dist/services/definitions/matomo.d.mts +1 -1
  621. package/dist/services/definitions/matrix-synapse.d.cts +1 -1
  622. package/dist/services/definitions/matrix-synapse.d.mts +1 -1
  623. package/dist/services/definitions/mattermost.d.cts +1 -1
  624. package/dist/services/definitions/mattermost.d.mts +1 -1
  625. package/dist/services/definitions/mautic.d.cts +1 -1
  626. package/dist/services/definitions/mautic.d.mts +1 -1
  627. package/dist/services/definitions/medusa.d.cts +1 -1
  628. package/dist/services/definitions/medusa.d.mts +1 -1
  629. package/dist/services/definitions/meilisearch.d.cts +1 -1
  630. package/dist/services/definitions/meilisearch.d.mts +1 -1
  631. package/dist/services/definitions/mem0.cjs +133 -0
  632. package/dist/services/definitions/mem0.cjs.map +1 -0
  633. package/dist/services/definitions/mem0.d.cts +7 -0
  634. package/dist/services/definitions/mem0.d.cts.map +1 -0
  635. package/dist/services/definitions/mem0.d.mts +7 -0
  636. package/dist/services/definitions/mem0.d.mts.map +1 -0
  637. package/dist/services/definitions/mem0.mjs +132 -0
  638. package/dist/services/definitions/mem0.mjs.map +1 -0
  639. package/dist/services/definitions/memu.cjs +96 -0
  640. package/dist/services/definitions/memu.cjs.map +1 -0
  641. package/dist/services/definitions/memu.d.cts +7 -0
  642. package/dist/services/definitions/memu.d.cts.map +1 -0
  643. package/dist/services/definitions/memu.d.mts +7 -0
  644. package/dist/services/definitions/memu.d.mts.map +1 -0
  645. package/dist/services/definitions/memu.mjs +95 -0
  646. package/dist/services/definitions/memu.mjs.map +1 -0
  647. package/dist/services/definitions/metabase.d.cts +1 -1
  648. package/dist/services/definitions/metabase.d.mts +1 -1
  649. package/dist/services/definitions/milvus.cjs +4 -1
  650. package/dist/services/definitions/milvus.cjs.map +1 -1
  651. package/dist/services/definitions/milvus.d.cts +1 -1
  652. package/dist/services/definitions/milvus.d.mts +1 -1
  653. package/dist/services/definitions/milvus.mjs +4 -1
  654. package/dist/services/definitions/milvus.mjs.map +1 -1
  655. package/dist/services/definitions/minio.d.cts +1 -1
  656. package/dist/services/definitions/minio.d.mts +1 -1
  657. package/dist/services/definitions/mission-control.d.cts +1 -1
  658. package/dist/services/definitions/mission-control.d.mts +1 -1
  659. package/dist/services/definitions/mixpost.d.cts +1 -1
  660. package/dist/services/definitions/mixpost.d.mts +1 -1
  661. package/dist/services/definitions/mosquitto.d.cts +1 -1
  662. package/dist/services/definitions/mosquitto.d.mts +1 -1
  663. package/dist/services/definitions/motion-canvas.d.cts +1 -1
  664. package/dist/services/definitions/motion-canvas.d.mts +1 -1
  665. package/dist/services/definitions/mysql.d.cts +1 -1
  666. package/dist/services/definitions/mysql.d.mts +1 -1
  667. package/dist/services/definitions/n8n.d.cts +1 -1
  668. package/dist/services/definitions/n8n.d.mts +1 -1
  669. package/dist/services/definitions/nanobot.cjs +86 -0
  670. package/dist/services/definitions/nanobot.cjs.map +1 -0
  671. package/dist/services/definitions/nanobot.d.cts +7 -0
  672. package/dist/services/definitions/nanobot.d.cts.map +1 -0
  673. package/dist/services/definitions/nanobot.d.mts +7 -0
  674. package/dist/services/definitions/nanobot.d.mts.map +1 -0
  675. package/dist/services/definitions/nanobot.mjs +85 -0
  676. package/dist/services/definitions/nanobot.mjs.map +1 -0
  677. package/dist/services/definitions/nanoclaw.cjs +79 -0
  678. package/dist/services/definitions/nanoclaw.cjs.map +1 -0
  679. package/dist/services/definitions/nanoclaw.d.cts +7 -0
  680. package/dist/services/definitions/nanoclaw.d.cts.map +1 -0
  681. package/dist/services/definitions/nanoclaw.d.mts +7 -0
  682. package/dist/services/definitions/nanoclaw.d.mts.map +1 -0
  683. package/dist/services/definitions/nanoclaw.mjs +78 -0
  684. package/dist/services/definitions/nanoclaw.mjs.map +1 -0
  685. package/dist/services/definitions/navidrome.d.cts +1 -1
  686. package/dist/services/definitions/navidrome.d.mts +1 -1
  687. package/dist/services/definitions/neo4j.d.cts +1 -1
  688. package/dist/services/definitions/neo4j.d.mts +1 -1
  689. package/dist/services/definitions/nextcloud.d.cts +1 -1
  690. package/dist/services/definitions/nextcloud.d.mts +1 -1
  691. package/dist/services/definitions/nginx-proxy-manager.d.cts +1 -1
  692. package/dist/services/definitions/nginx-proxy-manager.d.mts +1 -1
  693. package/dist/services/definitions/nocodb.d.cts +1 -1
  694. package/dist/services/definitions/nocodb.d.mts +1 -1
  695. package/dist/services/definitions/node-red.d.cts +1 -1
  696. package/dist/services/definitions/node-red.d.mts +1 -1
  697. package/dist/services/definitions/ntfy.d.cts +1 -1
  698. package/dist/services/definitions/ntfy.d.mts +1 -1
  699. package/dist/services/definitions/ollama.d.cts +1 -1
  700. package/dist/services/definitions/ollama.d.mts +1 -1
  701. package/dist/services/definitions/open-saas.d.cts +1 -1
  702. package/dist/services/definitions/open-saas.d.mts +1 -1
  703. package/dist/services/definitions/open-webui.d.cts +1 -1
  704. package/dist/services/definitions/open-webui.d.mts +1 -1
  705. package/dist/services/definitions/opencode.d.cts +1 -1
  706. package/dist/services/definitions/opencode.d.mts +1 -1
  707. package/dist/services/definitions/openhands.d.cts +1 -1
  708. package/dist/services/definitions/openhands.d.mts +1 -1
  709. package/dist/services/definitions/openpanel.d.cts +1 -1
  710. package/dist/services/definitions/openpanel.d.mts +1 -1
  711. package/dist/services/definitions/opensandbox.cjs +2 -1
  712. package/dist/services/definitions/opensandbox.cjs.map +1 -1
  713. package/dist/services/definitions/opensandbox.d.cts +1 -1
  714. package/dist/services/definitions/opensandbox.d.mts +1 -1
  715. package/dist/services/definitions/opensandbox.mjs +2 -1
  716. package/dist/services/definitions/opensandbox.mjs.map +1 -1
  717. package/dist/services/definitions/opensearch.d.cts +1 -1
  718. package/dist/services/definitions/opensearch.d.mts +1 -1
  719. package/dist/services/definitions/outline.d.cts +1 -1
  720. package/dist/services/definitions/outline.d.mts +1 -1
  721. package/dist/services/definitions/paperless-ngx.d.cts +1 -1
  722. package/dist/services/definitions/paperless-ngx.d.mts +1 -1
  723. package/dist/services/definitions/pentagi.d.cts +1 -1
  724. package/dist/services/definitions/pentagi.d.mts +1 -1
  725. package/dist/services/definitions/pentestagent.d.cts +1 -1
  726. package/dist/services/definitions/pentestagent.d.mts +1 -1
  727. package/dist/services/definitions/photoprism.d.cts +1 -1
  728. package/dist/services/definitions/photoprism.d.mts +1 -1
  729. package/dist/services/definitions/pihole.d.cts +1 -1
  730. package/dist/services/definitions/pihole.d.mts +1 -1
  731. package/dist/services/definitions/piper-tts.d.cts +1 -1
  732. package/dist/services/definitions/piper-tts.d.mts +1 -1
  733. package/dist/services/definitions/plane.d.cts +1 -1
  734. package/dist/services/definitions/plane.d.mts +1 -1
  735. package/dist/services/definitions/plausible.d.cts +1 -1
  736. package/dist/services/definitions/plausible.d.mts +1 -1
  737. package/dist/services/definitions/playwright-server.d.cts +1 -1
  738. package/dist/services/definitions/playwright-server.d.mts +1 -1
  739. package/dist/services/definitions/pocket-id.d.cts +1 -1
  740. package/dist/services/definitions/pocket-id.d.mts +1 -1
  741. package/dist/services/definitions/pocketbase.d.cts +1 -1
  742. package/dist/services/definitions/pocketbase.d.mts +1 -1
  743. package/dist/services/definitions/portainer.d.cts +1 -1
  744. package/dist/services/definitions/portainer.d.mts +1 -1
  745. package/dist/services/definitions/postgresql.d.cts +1 -1
  746. package/dist/services/definitions/postgresql.d.mts +1 -1
  747. package/dist/services/definitions/posthog.d.cts +1 -1
  748. package/dist/services/definitions/posthog.d.mts +1 -1
  749. package/dist/services/definitions/postiz.d.cts +1 -1
  750. package/dist/services/definitions/postiz.d.mts +1 -1
  751. package/dist/services/definitions/prometheus.d.cts +1 -1
  752. package/dist/services/definitions/prometheus.d.mts +1 -1
  753. package/dist/services/definitions/qdrant.d.cts +1 -1
  754. package/dist/services/definitions/qdrant.d.mts +1 -1
  755. package/dist/services/definitions/rabbitmq.d.cts +1 -1
  756. package/dist/services/definitions/rabbitmq.d.mts +1 -1
  757. package/dist/services/definitions/ragflow.d.cts +1 -1
  758. package/dist/services/definitions/ragflow.d.mts +1 -1
  759. package/dist/services/definitions/redis.d.cts +1 -1
  760. package/dist/services/definitions/redis.d.mts +1 -1
  761. package/dist/services/definitions/relaticle-horizon.cjs +48 -0
  762. package/dist/services/definitions/relaticle-horizon.cjs.map +1 -0
  763. package/dist/services/definitions/relaticle-horizon.d.cts +7 -0
  764. package/dist/services/definitions/relaticle-horizon.d.cts.map +1 -0
  765. package/dist/services/definitions/relaticle-horizon.d.mts +7 -0
  766. package/dist/services/definitions/relaticle-horizon.d.mts.map +1 -0
  767. package/dist/services/definitions/relaticle-horizon.mjs +48 -0
  768. package/dist/services/definitions/relaticle-horizon.mjs.map +1 -0
  769. package/dist/services/definitions/relaticle-scheduler.cjs +44 -0
  770. package/dist/services/definitions/relaticle-scheduler.cjs.map +1 -0
  771. package/dist/services/definitions/relaticle-scheduler.d.cts +7 -0
  772. package/dist/services/definitions/relaticle-scheduler.d.cts.map +1 -0
  773. package/dist/services/definitions/relaticle-scheduler.d.mts +7 -0
  774. package/dist/services/definitions/relaticle-scheduler.d.mts.map +1 -0
  775. package/dist/services/definitions/relaticle-scheduler.mjs +44 -0
  776. package/dist/services/definitions/relaticle-scheduler.mjs.map +1 -0
  777. package/dist/services/definitions/relaticle.cjs +151 -0
  778. package/dist/services/definitions/relaticle.cjs.map +1 -0
  779. package/dist/services/definitions/relaticle.d.cts +80 -0
  780. package/dist/services/definitions/relaticle.d.cts.map +1 -0
  781. package/dist/services/definitions/relaticle.d.mts +80 -0
  782. package/dist/services/definitions/relaticle.d.mts.map +1 -0
  783. package/dist/services/definitions/relaticle.mjs +149 -0
  784. package/dist/services/definitions/relaticle.mjs.map +1 -0
  785. package/dist/services/definitions/remotion.d.cts +1 -1
  786. package/dist/services/definitions/remotion.d.mts +1 -1
  787. package/dist/services/definitions/restic.d.cts +1 -1
  788. package/dist/services/definitions/restic.d.mts +1 -1
  789. package/dist/services/definitions/revolt.d.cts +1 -1
  790. package/dist/services/definitions/revolt.d.mts +1 -1
  791. package/dist/services/definitions/rocketchat.d.cts +1 -1
  792. package/dist/services/definitions/rocketchat.d.mts +1 -1
  793. package/dist/services/definitions/saleor.d.cts +1 -1
  794. package/dist/services/definitions/saleor.d.mts +1 -1
  795. package/dist/services/definitions/scrapling.d.cts +1 -1
  796. package/dist/services/definitions/scrapling.d.mts +1 -1
  797. package/dist/services/definitions/searxng.d.cts +1 -1
  798. package/dist/services/definitions/searxng.d.mts +1 -1
  799. package/dist/services/definitions/sentry.d.cts +1 -1
  800. package/dist/services/definitions/sentry.d.mts +1 -1
  801. package/dist/services/definitions/signoz.d.cts +1 -1
  802. package/dist/services/definitions/signoz.d.mts +1 -1
  803. package/dist/services/definitions/solidityguard.d.cts +1 -1
  804. package/dist/services/definitions/solidityguard.d.mts +1 -1
  805. package/dist/services/definitions/sonarqube.d.cts +1 -1
  806. package/dist/services/definitions/sonarqube.d.mts +1 -1
  807. package/dist/services/definitions/stable-diffusion.d.cts +1 -1
  808. package/dist/services/definitions/stable-diffusion.d.mts +1 -1
  809. package/dist/services/definitions/steel-browser.d.cts +1 -1
  810. package/dist/services/definitions/steel-browser.d.mts +1 -1
  811. package/dist/services/definitions/stirling-pdf.d.cts +1 -1
  812. package/dist/services/definitions/stirling-pdf.d.mts +1 -1
  813. package/dist/services/definitions/strapi.d.cts +1 -1
  814. package/dist/services/definitions/strapi.d.mts +1 -1
  815. package/dist/services/definitions/stream-gateway.d.cts +1 -1
  816. package/dist/services/definitions/stream-gateway.d.mts +1 -1
  817. package/dist/services/definitions/supabase.d.cts +1 -1
  818. package/dist/services/definitions/supabase.d.mts +1 -1
  819. package/dist/services/definitions/superset.d.cts +1 -1
  820. package/dist/services/definitions/superset.d.mts +1 -1
  821. package/dist/services/definitions/surrealdb.d.cts +1 -1
  822. package/dist/services/definitions/surrealdb.d.mts +1 -1
  823. package/dist/services/definitions/tabby-ml.d.cts +1 -1
  824. package/dist/services/definitions/tabby-ml.d.mts +1 -1
  825. package/dist/services/definitions/tailscale.d.cts +1 -1
  826. package/dist/services/definitions/tailscale.d.mts +1 -1
  827. package/dist/services/definitions/tempo.d.cts +1 -1
  828. package/dist/services/definitions/tempo.d.mts +1 -1
  829. package/dist/services/definitions/temporal.d.cts +1 -1
  830. package/dist/services/definitions/temporal.d.mts +1 -1
  831. package/dist/services/definitions/text-gen-webui.d.cts +1 -1
  832. package/dist/services/definitions/text-gen-webui.d.mts +1 -1
  833. package/dist/services/definitions/timescaledb.d.cts +1 -1
  834. package/dist/services/definitions/timescaledb.d.mts +1 -1
  835. package/dist/services/definitions/traefik.d.cts +1 -1
  836. package/dist/services/definitions/traefik.d.mts +1 -1
  837. package/dist/services/definitions/twenty-worker.cjs +73 -0
  838. package/dist/services/definitions/twenty-worker.cjs.map +1 -0
  839. package/dist/services/definitions/twenty-worker.d.cts +7 -0
  840. package/dist/services/definitions/twenty-worker.d.cts.map +1 -0
  841. package/dist/services/definitions/twenty-worker.d.mts +7 -0
  842. package/dist/services/definitions/twenty-worker.d.mts.map +1 -0
  843. package/dist/services/definitions/twenty-worker.mjs +72 -0
  844. package/dist/services/definitions/twenty-worker.mjs.map +1 -0
  845. package/dist/services/definitions/twenty.cjs +24 -2
  846. package/dist/services/definitions/twenty.cjs.map +1 -1
  847. package/dist/services/definitions/twenty.d.cts +1 -1
  848. package/dist/services/definitions/twenty.d.mts +1 -1
  849. package/dist/services/definitions/twenty.mjs +24 -2
  850. package/dist/services/definitions/twenty.mjs.map +1 -1
  851. package/dist/services/definitions/umami.d.cts +1 -1
  852. package/dist/services/definitions/umami.d.mts +1 -1
  853. package/dist/services/definitions/uptime-kuma.d.cts +1 -1
  854. package/dist/services/definitions/uptime-kuma.d.mts +1 -1
  855. package/dist/services/definitions/usesend.d.cts +1 -1
  856. package/dist/services/definitions/usesend.d.mts +1 -1
  857. package/dist/services/definitions/valkey.d.cts +1 -1
  858. package/dist/services/definitions/valkey.d.mts +1 -1
  859. package/dist/services/definitions/vault.d.cts +1 -1
  860. package/dist/services/definitions/vault.d.mts +1 -1
  861. package/dist/services/definitions/vaultwarden.d.cts +1 -1
  862. package/dist/services/definitions/vaultwarden.d.mts +1 -1
  863. package/dist/services/definitions/vector-log.d.cts +1 -1
  864. package/dist/services/definitions/vector-log.d.mts +1 -1
  865. package/dist/services/definitions/vikunja.d.cts +1 -1
  866. package/dist/services/definitions/vikunja.d.mts +1 -1
  867. package/dist/services/definitions/watchtower.d.cts +1 -1
  868. package/dist/services/definitions/watchtower.d.mts +1 -1
  869. package/dist/services/definitions/weaviate.cjs +4 -1
  870. package/dist/services/definitions/weaviate.cjs.map +1 -1
  871. package/dist/services/definitions/weaviate.d.cts +1 -1
  872. package/dist/services/definitions/weaviate.d.mts +1 -1
  873. package/dist/services/definitions/weaviate.mjs +4 -1
  874. package/dist/services/definitions/weaviate.mjs.map +1 -1
  875. package/dist/services/definitions/whisper.d.cts +1 -1
  876. package/dist/services/definitions/whisper.d.mts +1 -1
  877. package/dist/services/definitions/wireguard.d.cts +1 -1
  878. package/dist/services/definitions/wireguard.d.mts +1 -1
  879. package/dist/services/definitions/woodpecker-ci.d.cts +1 -1
  880. package/dist/services/definitions/woodpecker-ci.d.mts +1 -1
  881. package/dist/services/definitions/xyops.d.cts +1 -1
  882. package/dist/services/definitions/xyops.d.mts +1 -1
  883. package/dist/services/definitions/zeroclaw.cjs +103 -0
  884. package/dist/services/definitions/zeroclaw.cjs.map +1 -0
  885. package/dist/services/definitions/zeroclaw.d.cts +7 -0
  886. package/dist/services/definitions/zeroclaw.d.cts.map +1 -0
  887. package/dist/services/definitions/zeroclaw.d.mts +7 -0
  888. package/dist/services/definitions/zeroclaw.d.mts.map +1 -0
  889. package/dist/services/definitions/zeroclaw.mjs +102 -0
  890. package/dist/services/definitions/zeroclaw.mjs.map +1 -0
  891. package/dist/services/definitions/zulip.d.cts +1 -1
  892. package/dist/services/definitions/zulip.d.mts +1 -1
  893. package/dist/services/registry.d.cts +1 -1
  894. package/dist/services/registry.d.mts +1 -1
  895. package/dist/services/registry.test.cjs +8 -8
  896. package/dist/services/registry.test.cjs.map +1 -1
  897. package/dist/services/registry.test.mjs +8 -8
  898. package/dist/services/registry.test.mjs.map +1 -1
  899. package/dist/skills/registry.cjs +19 -0
  900. package/dist/skills/registry.cjs.map +1 -1
  901. package/dist/skills/registry.d.cts +1 -1
  902. package/dist/skills/registry.d.cts.map +1 -1
  903. package/dist/skills/registry.d.mts +1 -1
  904. package/dist/skills/registry.d.mts.map +1 -1
  905. package/dist/skills/registry.mjs +19 -0
  906. package/dist/skills/registry.mjs.map +1 -1
  907. package/dist/{skills-BSF7iNa4.cjs → skills-uPxJVmKk.cjs} +311 -1
  908. package/dist/skills-uPxJVmKk.cjs.map +1 -0
  909. package/dist/{test.CTcmp4Su-ClCHJ3FA.mjs → test.CTcmp4Su-BRa7-bTj.mjs} +2 -2
  910. package/dist/{test.CTcmp4Su-ClCHJ3FA.mjs.map → test.CTcmp4Su-BRa7-bTj.mjs.map} +1 -1
  911. package/dist/{test.CTcmp4Su-DlzTarwH.cjs → test.CTcmp4Su-BWSPM8ZQ.cjs} +19 -1
  912. package/dist/{test.CTcmp4Su-DlzTarwH.cjs.map → test.CTcmp4Su-BWSPM8ZQ.cjs.map} +1 -1
  913. package/dist/track-analytics.d.cts +1 -1
  914. package/dist/track-analytics.d.mts +1 -1
  915. package/dist/track-analytics.test.cjs +1 -1
  916. package/dist/track-analytics.test.mjs +1 -1
  917. package/dist/types-BREUfzzq.d.mts +77 -0
  918. package/dist/types-BREUfzzq.d.mts.map +1 -0
  919. package/dist/types-Bsn0XzSP.d.cts +95 -0
  920. package/dist/types-Bsn0XzSP.d.cts.map +1 -0
  921. package/dist/types-CyZ5mn6w.d.cts +77 -0
  922. package/dist/types-CyZ5mn6w.d.cts.map +1 -0
  923. package/dist/types-DIsPc-hb.d.cts +100 -0
  924. package/dist/types-DIsPc-hb.d.cts.map +1 -0
  925. package/dist/types-DbXajvYq.d.mts +100 -0
  926. package/dist/types-DbXajvYq.d.mts.map +1 -0
  927. package/dist/types-DwTKyCZ9.d.mts +95 -0
  928. package/dist/types-DwTKyCZ9.d.mts.map +1 -0
  929. package/dist/{types-CR83OJiq.d.cts → types-dyBnrHm9.d.cts} +5 -1
  930. package/dist/types-dyBnrHm9.d.cts.map +1 -0
  931. package/dist/{types-zYjGTuyn.d.mts → types-fRSnaZTX.d.mts} +5 -1
  932. package/dist/types-fRSnaZTX.d.mts.map +1 -0
  933. package/dist/types.cjs +7 -0
  934. package/dist/types.cjs.map +1 -1
  935. package/dist/types.d.cts +2 -93
  936. package/dist/types.d.mts +2 -93
  937. package/dist/types.mjs +7 -0
  938. package/dist/types.mjs.map +1 -1
  939. package/dist/validator.cjs +1 -1
  940. package/dist/validator.d.cts +1 -1
  941. package/dist/validator.d.mts +1 -1
  942. package/dist/validator.test.cjs +1 -1
  943. package/dist/validator.test.mjs +1 -1
  944. package/dist/version-manager.d.cts +1 -1
  945. package/dist/version-manager.d.mts +1 -1
  946. package/dist/version-manager.test.cjs +3 -3
  947. package/dist/version-manager.test.cjs.map +1 -1
  948. package/dist/version-manager.test.mjs +3 -3
  949. package/dist/version-manager.test.mjs.map +1 -1
  950. package/dist/zeroclaw-B-0TuOfZ.d.mts +7 -0
  951. package/dist/zeroclaw-B-0TuOfZ.d.mts.map +1 -0
  952. package/dist/zeroclaw-BvKpDHKe.d.cts +7 -0
  953. package/dist/zeroclaw-BvKpDHKe.d.cts.map +1 -0
  954. package/package.json +6 -2
  955. package/src/addon-stack.test.ts +19 -23
  956. package/src/addon-stack.ts +67 -44
  957. package/src/composer.test.ts +59 -0
  958. package/src/composer.ts +135 -194
  959. package/src/deployers/coolify.ts +38 -0
  960. package/src/deployers/dokploy.ts +38 -0
  961. package/src/deployers/types.ts +2 -0
  962. package/src/frameworks/claude-code-fw.ts +118 -0
  963. package/src/frameworks/codex-fw.ts +102 -0
  964. package/src/frameworks/copaw.ts +154 -0
  965. package/src/frameworks/index.ts +46 -0
  966. package/src/frameworks/memu.ts +149 -0
  967. package/src/frameworks/nanobot.ts +156 -0
  968. package/src/frameworks/nanoclaw.ts +126 -0
  969. package/src/frameworks/openclaw.ts +325 -0
  970. package/src/frameworks/registry.test.ts +131 -0
  971. package/src/frameworks/registry.ts +28 -0
  972. package/src/frameworks/types.ts +146 -0
  973. package/src/frameworks/zeroclaw.ts +148 -0
  974. package/src/generate.test.ts +55 -4
  975. package/src/generate.ts +67 -14
  976. package/src/generators/caddy.test.ts +41 -1
  977. package/src/generators/caddy.ts +16 -2
  978. package/src/generators/clone-repos.test.ts +1 -1
  979. package/src/generators/clone-repos.ts +7 -2
  980. package/src/generators/env.test.ts +2 -2
  981. package/src/generators/env.ts +30 -180
  982. package/src/generators/health-check.ts +4 -4
  983. package/src/generators/openclaw-json.ts +57 -5
  984. package/src/generators/postgres-init.ts +9 -0
  985. package/src/generators/readme.ts +75 -9
  986. package/src/generators/scripts.test.ts +1 -1
  987. package/src/generators/skills.ts +316 -0
  988. package/src/generators/traefik.test.ts +13 -13
  989. package/src/index.ts +46 -7
  990. package/src/logger/__tests__/logger.test.ts +388 -0
  991. package/src/logger/index.ts +14 -0
  992. package/src/logger/logger.ts +326 -0
  993. package/src/logger/sinks/callback-sink.ts +13 -0
  994. package/src/logger/sinks/console-sink.ts +51 -0
  995. package/src/logger/sinks/file-sink.ts +121 -0
  996. package/src/logger/types.ts +90 -0
  997. package/src/migrations.ts +8 -1
  998. package/src/presets/presets.test.ts +4 -4
  999. package/src/presets/registry.test.ts +6 -6
  1000. package/src/resolver.test.ts +31 -3
  1001. package/src/resolver.ts +19 -3
  1002. package/src/schema.test.ts +2 -2
  1003. package/src/schema.ts +58 -17
  1004. package/src/services/definitions/agent-browser.ts +177 -0
  1005. package/src/services/definitions/apptension-saas.ts +2 -1
  1006. package/src/services/definitions/chromadb.ts +1 -1
  1007. package/src/services/definitions/claude-code.ts +1 -1
  1008. package/src/services/definitions/clawrouter.ts +141 -0
  1009. package/src/services/definitions/codex.ts +1 -1
  1010. package/src/services/definitions/convex.ts +1 -2
  1011. package/src/services/definitions/copaw.ts +101 -0
  1012. package/src/services/definitions/desktop-environment.ts +1 -0
  1013. package/src/services/definitions/hindsight.ts +3 -2
  1014. package/src/services/definitions/index.ts +53 -16
  1015. package/src/services/definitions/mem0.ts +132 -0
  1016. package/src/services/definitions/memu.ts +96 -0
  1017. package/src/services/definitions/milvus.ts +1 -1
  1018. package/src/services/definitions/nanobot.ts +89 -0
  1019. package/src/services/definitions/nanoclaw.ts +78 -0
  1020. package/src/services/definitions/opensandbox.ts +6 -15
  1021. package/src/services/definitions/relaticle-horizon.ts +48 -0
  1022. package/src/services/definitions/relaticle-scheduler.ts +42 -0
  1023. package/src/services/definitions/relaticle.ts +142 -0
  1024. package/src/services/definitions/twenty-worker.ts +70 -0
  1025. package/src/services/definitions/twenty.ts +16 -2
  1026. package/src/services/definitions/weaviate.ts +1 -1
  1027. package/src/services/definitions/zeroclaw.ts +102 -0
  1028. package/src/services/registry.test.ts +7 -7
  1029. package/src/skills/registry.ts +10 -0
  1030. package/src/types.ts +11 -1
  1031. package/src/version-manager.test.ts +2 -2
  1032. package/dist/schema-BQnZrcw8.d.cts.map +0 -1
  1033. package/dist/schema-SBpL0bdI.d.mts.map +0 -1
  1034. package/dist/skills-BSF7iNa4.cjs.map +0 -1
  1035. package/dist/types-CR83OJiq.d.cts.map +0 -1
  1036. package/dist/types-zYjGTuyn.d.mts.map +0 -1
  1037. package/dist/types.d.cts.map +0 -1
  1038. package/dist/types.d.mts.map +0 -1
@@ -1,3 +1,5 @@
1
+ import { t as OperationsLogger } from "./logger-CZ0Qnyiu.mjs";
2
+
1
3
  //#region src/deployers/types.d.ts
2
4
  /**
3
5
  * Common types for PaaS deployers (Dokploy, Coolify, etc.)
@@ -34,6 +36,8 @@ interface DeployInput {
34
36
  description?: string;
35
37
  /** Optional server ID to deploy to (for PaaS platforms managing multiple servers) */
36
38
  serverId?: string;
39
+ /** Optional operations logger for persistent audit logging */
40
+ logger?: OperationsLogger;
37
41
  }
38
42
  /** Step-level status for deploy progress. */
39
43
  interface DeployStep {
@@ -240,4 +244,4 @@ interface Project {
240
244
  }
241
245
  //#endregion
242
246
  export { DeploymentProvider as a, DokployEnvironment as c, PaasDeployer as d, PaasServer as f, DeployTarget as i, NormalizedApp as l, ProviderCapabilities as m, DeployResult as n, DeploymentResult as o, Project as p, DeployStep as r, DokployApplication as s, DeployInput as t, NormalizedService as u };
243
- //# sourceMappingURL=types-zYjGTuyn.d.mts.map
247
+ //# sourceMappingURL=types-fRSnaZTX.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-fRSnaZTX.d.mts","names":[],"sources":["../src/deployers/types.ts"],"mappings":";;;;;;AAgBA;;;;;AAQA;;;;;;;UARiB,YAAA;EAgBhB;EAdA,WAAA;EAkBA;EAhBA,MAAA;AAAA;;UAIgB,WAAA;EAkBA;EAhBhB,MAAA,EAAQ,YAAA;;EAER,WAAA;EAeA;EAbA,WAAA;EAeA;EAbA,UAAA;EAaM;EAXN,WAAA;EAe4B;EAb5B,QAAA;EAsBiB;EApBjB,MAAA,GAZoB,gBAAA;AAAA;;UAgBJ,UAAA;EAChB,IAAA;EACA,MAAA;EACA,MAAA;AAAA;;UAIgB,YAAA;EAChB,OAAA;;EAEA,YAAA;EAcA;EAZA,SAAA;EAgBA;EAdA,SAAA;EAcE;EAZF,KAAA,EAAO,UAAA;EAgBqB;EAd5B,KAAA;AAAA;;UAIgB,UAAA;EAkBoB;EAhBpC,EAAA;EAkBqB;EAhBrB,IAAA;EAgBoC;EAdpC,EAAA;AAAA;;UAIgB,YAAA;EAMhB;EAAA,SAJS,IAAA;EAIM;EAAA,SAFN,EAAA;EAEuC;EAAhD,cAAA,CAAe,MAAA,EAAQ,YAAA,GAAe,OAAA;IAAU,EAAA;IAAa,KAAA;EAAA;EAEjC;EAA5B,MAAA,CAAO,KAAA,EAAO,WAAA,GAAc,OAAA,CAAQ,YAAA;EAEpC;EAAA,WAAA,EAAa,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,UAAA;AAAA;AAAA,UAG5B,oBAAA;EAChB,OAAA;EACA,WAAA;EACA,OAAA;EACA,OAAA;EACA,OAAA;AAAA;AAAA,UAGgB,gBAAA;EAChB,OAAA;EACA,GAAA;EACA,OAAA;AAAA;AAAA,UAGgB,kBAAA;EAChB,EAAA;EACA,IAAA;EAEA,YAAA,EAAc,oBAAA;EAEd,MAAA,CAAO,MAAA,EAAQ,aAAA,GAAgB,OAAA,CAAQ,gBAAA;EAEvC,YAAA,EAAc,GAAA,UAAa,KAAA,WAAgB,OAAA;EAE3C,YAAA,EAAc,OAAA,UAAiB,MAAA,WAAiB,OAAA;AAAA;AAAA,UAGhC,aAAA;EAChB,IAAA;EACA,QAAA,EAAU,iBAAA;EACV,GAAA,EAAK,MAAA;AAAA;AAAA,UAGW,iBAAA;EAChB,IAAA;EACA,KAAA;EACA,KAAA;EACA,KAAA;EACA,OAAA;EACA,GAAA,GAAM,MAAA;AAAA;AAAA,UAGU,kBAAA;EAChB,aAAA;EACA,IAAA;EACA,WAAA;EACA,SAAA;EACA,GAAA;EACA,SAAA;EACA,SAAA;EACA,YAAA,EAAc,kBAAA;EACd,OAAA;EACA,KAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;EACA,OAAA;EACA,OAAA,EAAS,OAAA;AAAA;AAAA,UAGO,kBAAA;EAChB,aAAA;EACA,IAAA;EACA,OAAA;EACA,WAAA;EACA,GAAA;EACA,UAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,sBAAA;EACA,yBAAA;EACA,YAAA;EACA,0BAAA;EACA,qCAAA;EACA,cAAA;EACA,SAAA;EACA,YAAA;EACA,iBAAA;EACA,WAAA;EACA,cAAA;EACA,QAAA;EACA,KAAA;EACA,OAAA;EACA,QAAA;EACA,OAAA;EACA,IAAA;EACA,YAAA;EACA,UAAA;EACA,UAAA;EACA,UAAA;EACA,KAAA;EACA,MAAA;EACA,SAAA;EACA,WAAA;EACA,UAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,mBAAA;EACA,eAAA;EACA,UAAA;EACA,WAAA;EACA,cAAA;EACA,mBAAA;EACA,uBAAA;EACA,cAAA;EACA,eAAA;EACA,kBAAA;EACA,QAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;EACA,UAAA;EACA,iBAAA;EACA,gBAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,cAAA;EACA,iBAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EACA,oBAAA;EACA,iBAAA;EACA,YAAA;EACA,QAAA;EACA,iBAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,gBAAA;EACA,WAAA;EACA,aAAA;EACA,SAAA;EACA,UAAA;EACA,kBAAA;EACA,aAAA;EACA,QAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,QAAA;EACA,aAAA;EACA,eAAA;AAAA;AAAA,UAGgB,OAAA;EAChB,SAAA;EACA,IAAA;EACA,WAAA;EACA,SAAA;EACA,cAAA;EACA,GAAA;AAAA"}
package/dist/types.cjs CHANGED
@@ -1,6 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region src/types.ts
3
3
  const SERVICE_CATEGORIES = [
4
+ {
5
+ id: "agent-framework",
6
+ name: "Agent Frameworks",
7
+ description: "AI agent orchestrators that can serve as primary or companion runtimes",
8
+ label: "Agent Frameworks",
9
+ icon: "🤖"
10
+ },
4
11
  {
5
12
  id: "coding-agent",
6
13
  name: "AI Coding Agents",
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type {\n\tAddonStackInputSchema,\n\tAddonStackResultSchema,\n\tAddonStackUpdateInputSchema,\n\tAddonStackUpdateResultSchema,\n\tAddedDependencySchema,\n\tAiProviderSchema,\n\tApiErrorSchema,\n\tBuildContextSchema,\n\tComposeOptionsSchema,\n\tDeploymentTargetSchema,\n\tDeploymentTypeSchema,\n\tDeploySchema,\n\tDeployTargetSchema,\n\tEnvQuirkFixSchema,\n\tEnvQuirkSchema,\n\tEnvVariableSchema,\n\tErrorSchema,\n\tGenerationInputSchema,\n\tGitSourceSchema,\n\tGsdRuntimeSchema,\n\tHealthCheckSchema,\n\tMaturitySchema,\n\tNativePlatformSchema,\n\tNativeRecipeSchema,\n\tOpenclawImageVariantSchema,\n\tOpenclawInstallMethodSchema,\n\tOutputFormatSchema,\n\tPlatformSchema,\n\tPortMappingSchema,\n\tPresetSchema,\n\tProxyRouteSchema,\n\tProxyTypeSchema,\n\tResolvedServiceSchema,\n\tResolverOutputSchema,\n\tResourceLimitsSchema,\n\tRestartPolicySchema,\n\tServiceCategorySchema,\n\tServiceDefinitionSchema,\n\tSkillBindingSchema,\n\tSkillPackSchema,\n\tSkippedServiceSchema,\n\tValidateRequestSchema,\n\tValidateResponseSchema,\n\tVolumeMappingSchema,\n\tWarningSchema,\n} from \"./schema.js\";\n\n// ─── Inferred Types ─────────────────────────────────────────────────────────\n\nexport type AiProvider = z.infer<typeof AiProviderSchema>;\nexport type GsdRuntime = z.infer<typeof GsdRuntimeSchema>;\nexport type ServiceCategory = z.infer<typeof ServiceCategorySchema>;\nexport type Maturity = z.infer<typeof MaturitySchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type RestartPolicy = z.infer<typeof RestartPolicySchema>;\nexport type ProxyType = z.infer<typeof ProxyTypeSchema>;\nexport type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;\nexport type DeploymentType = z.infer<typeof DeploymentTypeSchema>;\nexport type NativePlatform = z.infer<typeof NativePlatformSchema>;\nexport type NativeRecipe = z.infer<typeof NativeRecipeSchema>;\nexport type GitSource = z.infer<typeof GitSourceSchema>;\nexport type BuildContext = z.infer<typeof BuildContextSchema>;\nexport type OutputFormat = z.infer<typeof OutputFormatSchema>;\nexport type OpenclawImageVariant = z.infer<typeof OpenclawImageVariantSchema>;\nexport type OpenclawInstallMethod = z.infer<typeof OpenclawInstallMethodSchema>;\nexport type DeployTarget = z.infer<typeof DeployTargetSchema>;\n\nexport type PortMapping = z.infer<typeof PortMappingSchema>;\nexport type VolumeMapping = z.infer<typeof VolumeMappingSchema>;\nexport type EnvVariable = z.infer<typeof EnvVariableSchema>;\nexport type HealthCheck = z.infer<typeof HealthCheckSchema>;\nexport type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;\nexport type Deploy = z.infer<typeof DeploySchema>;\nexport type SkillBinding = z.infer<typeof SkillBindingSchema>;\n\nexport type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;\nexport type SkillPack = z.infer<typeof SkillPackSchema>;\nexport type Preset = z.infer<typeof PresetSchema>;\n\nexport type GenerationInput = z.infer<typeof GenerationInputSchema>;\nexport type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {\n\t/** Dynamic Traefik labels per service, computed by the Traefik generator. */\n\ttraefikLabels?: Map<string, Record<string, string>>;\n};\nexport type ResolvedService = z.infer<typeof ResolvedServiceSchema>;\nexport type AddedDependency = z.infer<typeof AddedDependencySchema>;\nexport type Warning = z.infer<typeof WarningSchema>;\nexport type ResolverError = z.infer<typeof ErrorSchema>;\nexport type ResolverOutput = z.infer<typeof ResolverOutputSchema>;\n\nexport type ValidateRequest = z.infer<typeof ValidateRequestSchema>;\nexport type ValidateResponse = z.infer<typeof ValidateResponseSchema>;\nexport type ApiError = z.infer<typeof ApiErrorSchema>;\n\n// Addon Stack (Clawexa)\nexport type EnvQuirkFix = z.infer<typeof EnvQuirkFixSchema>;\nexport type EnvQuirk = z.infer<typeof EnvQuirkSchema>;\nexport type ProxyRoute = z.infer<typeof ProxyRouteSchema>;\nexport type SkippedService = z.infer<typeof SkippedServiceSchema>;\nexport type AddonStackInput = z.infer<typeof AddonStackInputSchema>;\nexport type AddonStackResult = z.infer<typeof AddonStackResultSchema>;\nexport type AddonStackUpdateInput = z.infer<typeof AddonStackUpdateInputSchema>;\nexport type AddonStackUpdateResult = z.infer<typeof AddonStackUpdateResultSchema>;\n\n// ─── Additional Types ───────────────────────────────────────────────────────\n\nexport interface ResolverInput {\n\tservices: string[];\n\tskillPacks: string[];\n\taiProviders?: AiProvider[];\n\tgsdRuntimes?: GsdRuntime[];\n\tproxy?: ProxyType;\n\tgpu?: boolean;\n\tplatform?: Platform;\n\tdeployment?: DeploymentType;\n\tdeploymentType?: DeploymentType;\n\tmonitoring?: boolean;\n\tmemoryThresholds?: { info: number; warning: number; critical: number };\n}\n\nexport interface GeneratedFiles {\n\t[path: string]: string;\n}\n\nexport interface GenerationMetadata {\n\tserviceCount: number;\n\tskillCount: number;\n\testimatedMemoryMB: number;\n\tresolvedServices: string[];\n\tgeneratedAt: string;\n}\n\nexport interface GenerationResult {\n\tfiles: GeneratedFiles;\n\tmetadata: GenerationMetadata;\n}\n\nexport interface CategoryInfo {\n\tid: ServiceCategory;\n\tname: string;\n\tdescription?: string;\n\tlabel?: string;\n\ticon: string;\n}\n\nexport const SERVICE_CATEGORIES: CategoryInfo[] = [\n\t{\n\t\tid: \"coding-agent\",\n\t\tname: \"AI Coding Agents\",\n\t\tdescription: \"AI Coding Agents\",\n\t\tlabel: \"AI Coding Agents\",\n\t\ticon: \"💻\",\n\t},\n\t{\n\t\tid: \"ai-platform\",\n\t\tname: \"AI Platforms & Chat UIs\",\n\t\tdescription: \"AI Platforms & Chat UIs\",\n\t\tlabel: \"AI Platforms & Chat UIs\",\n\t\ticon: \"🧪\",\n\t},\n\t{\n\t\tid: \"ai\",\n\t\tname: \"AI / Local Models\",\n\t\tdescription: \"AI / Local Models\",\n\t\tlabel: \"AI / Local Models\",\n\t\ticon: \"🤖\",\n\t},\n\t{\n\t\tid: \"automation\",\n\t\tname: \"Automation & Workflows\",\n\t\tdescription: \"Automation & Workflows\",\n\t\tlabel: \"Automation & Workflows\",\n\t\ticon: \"🔄\",\n\t},\n\t{\n\t\tid: \"vector-db\",\n\t\tname: \"Vector Databases\",\n\t\tdescription: \"Vector Databases\",\n\t\tlabel: \"Vector Databases\",\n\t\ticon: \"🧠\",\n\t},\n\t{\n\t\tid: \"media\",\n\t\tname: \"Media & Video\",\n\t\tdescription: \"Media & Video\",\n\t\tlabel: \"Media & Video\",\n\t\ticon: \"🎬\",\n\t},\n\t{\n\t\tid: \"social-media\",\n\t\tname: \"Social Media\",\n\t\tdescription: \"Social Media\",\n\t\tlabel: \"Social Media\",\n\t\ticon: \"📱\",\n\t},\n\t{\n\t\tid: \"analytics\",\n\t\tname: \"Analytics\",\n\t\tdescription: \"Analytics\",\n\t\tlabel: \"Analytics\",\n\t\ticon: \"📊\",\n\t},\n\t{\n\t\tid: \"knowledge\",\n\t\tname: \"Knowledge & Documents\",\n\t\tdescription: \"Knowledge & Documents\",\n\t\tlabel: \"Knowledge & Documents\",\n\t\ticon: \"📚\",\n\t},\n\t{\n\t\tid: \"storage\",\n\t\tname: \"Object Storage\",\n\t\tdescription: \"Object Storage\",\n\t\tlabel: \"Object Storage\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"database\",\n\t\tname: \"Databases & Caching\",\n\t\tdescription: \"Databases & Caching\",\n\t\tlabel: \"Databases & Caching\",\n\t\ticon: \"🗄️\",\n\t},\n\t{\n\t\tid: \"dev-tools\",\n\t\tname: \"Developer Tools\",\n\t\tdescription: \"Developer Tools\",\n\t\tlabel: \"Developer Tools\",\n\t\ticon: \"🛠️\",\n\t},\n\t{\n\t\tid: \"proxy\",\n\t\tname: \"Reverse Proxy\",\n\t\tdescription: \"Reverse Proxy\",\n\t\tlabel: \"Reverse Proxy\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"monitoring\",\n\t\tname: \"Monitoring\",\n\t\tdescription: \"Monitoring\",\n\t\tlabel: \"Monitoring\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"browser\",\n\t\tname: \"Browser Automation\",\n\t\tdescription: \"Browser Automation\",\n\t\tlabel: \"Browser Automation\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"search\",\n\t\tname: \"Search\",\n\t\tdescription: \"Search\",\n\t\tlabel: \"Search\",\n\t\ticon: \"🔍\",\n\t},\n\t{\n\t\tid: \"communication\",\n\t\tname: \"Notifications\",\n\t\tdescription: \"Notifications\",\n\t\tlabel: \"Notifications\",\n\t\ticon: \"🔔\",\n\t},\n\t{\n\t\tid: \"desktop\",\n\t\tname: \"Desktop Environment\",\n\t\tdescription: \"Desktop Environment\",\n\t\tlabel: \"Desktop Environment\",\n\t\ticon: \"🖥️\",\n\t},\n\t{\n\t\tid: \"streaming\",\n\t\tname: \"Streaming & Relay\",\n\t\tdescription: \"Streaming & Relay\",\n\t\tlabel: \"Streaming & Relay\",\n\t\ticon: \"📺\",\n\t},\n\t{\n\t\tid: \"security\",\n\t\tname: \"Security & Pentesting\",\n\t\tdescription: \"Security & Pentesting\",\n\t\tlabel: \"Security & Pentesting\",\n\t\ticon: \"🛡️\",\n\t},\n\t{\n\t\tid: \"billing\",\n\t\tname: \"Billing & Payments\",\n\t\tdescription: \"Billing & Payments\",\n\t\tlabel: \"Billing & Payments\",\n\t\ticon: \"💳\",\n\t},\n\t{\n\t\tid: \"crm\",\n\t\tname: \"CRM & Customer Management\",\n\t\tdescription: \"CRM & Customer Management\",\n\t\tlabel: \"CRM & Customer Management\",\n\t\ticon: \"🤝\",\n\t},\n\t{\n\t\tid: \"email-marketing\",\n\t\tname: \"Email & Marketing\",\n\t\tdescription: \"Email & Marketing\",\n\t\tlabel: \"Email & Marketing\",\n\t\ticon: \"📧\",\n\t},\n\t{\n\t\tid: \"forms\",\n\t\tname: \"Forms & Surveys\",\n\t\tdescription: \"Forms & Surveys\",\n\t\tlabel: \"Forms & Surveys\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"api-gateway\",\n\t\tname: \"API Management\",\n\t\tdescription: \"API Management\",\n\t\tlabel: \"API Management\",\n\t\ticon: \"🔌\",\n\t},\n\t{\n\t\tid: \"backup\",\n\t\tname: \"Backup & Recovery\",\n\t\tdescription: \"Backup & Recovery\",\n\t\tlabel: \"Backup & Recovery\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"voice\",\n\t\tname: \"Voice & Telephony\",\n\t\tdescription: \"Voice & Telephony\",\n\t\tlabel: \"Voice & Telephony\",\n\t\ticon: \"📞\",\n\t},\n\t{\n\t\tid: \"ecommerce\",\n\t\tname: \"E-Commerce\",\n\t\tdescription: \"E-Commerce\",\n\t\tlabel: \"E-Commerce\",\n\t\ticon: \"🛒\",\n\t},\n\t{\n\t\tid: \"collaboration\",\n\t\tname: \"Real-Time Collaboration\",\n\t\tdescription: \"Real-Time Collaboration\",\n\t\tlabel: \"Real-Time Collaboration\",\n\t\ticon: \"✏️\",\n\t},\n\t{\n\t\tid: \"ai-observability\",\n\t\tname: \"AI Observability\",\n\t\tdescription: \"AI Observability\",\n\t\tlabel: \"AI Observability\",\n\t\ticon: \"🔭\",\n\t},\n\t{\n\t\tid: \"fine-tuning\",\n\t\tname: \"AI Fine-Tuning\",\n\t\tdescription: \"AI Fine-Tuning\",\n\t\tlabel: \"AI Fine-Tuning\",\n\t\ticon: \"🎯\",\n\t},\n\t{\n\t\tid: \"project-management\",\n\t\tname: \"Project Management\",\n\t\tdescription: \"Project Management\",\n\t\tlabel: \"Project Management\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"business-intelligence\",\n\t\tname: \"Business Intelligence\",\n\t\tdescription: \"Business Intelligence\",\n\t\tlabel: \"Business Intelligence\",\n\t\ticon: \"📈\",\n\t},\n\t{\n\t\tid: \"dns-networking\",\n\t\tname: \"DNS & Networking\",\n\t\tdescription: \"DNS & Networking\",\n\t\tlabel: \"DNS & Networking\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"iot\",\n\t\tname: \"IoT & Edge\",\n\t\tdescription: \"IoT & Edge\",\n\t\tlabel: \"IoT & Edge\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"saas-boilerplate\",\n\t\tname: \"SaaS Boilerplates\",\n\t\tdescription: \"Full-stack SaaS starter kits and boilerplates\",\n\t\tlabel: \"SaaS Boilerplates\",\n\t\ticon: \"🚀\",\n\t},\n];\n"],"mappings":";;AAmJA,MAAa,qBAAqC;CACjD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD"}
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type {\n\tAddedDependencySchema,\n\tAddonStackInputSchema,\n\tAddonStackResultSchema,\n\tAddonStackUpdateInputSchema,\n\tAddonStackUpdateResultSchema,\n\tAgentFrameworkSchema,\n\tAiProviderSchema,\n\tApiErrorSchema,\n\tBuildContextSchema,\n\tComposeOptionsSchema,\n\tDeploymentTargetSchema,\n\tDeploymentTypeSchema,\n\tDeploySchema,\n\tDeployTargetSchema,\n\tEnvQuirkFixSchema,\n\tEnvQuirkSchema,\n\tEnvVariableSchema,\n\tErrorSchema,\n\tGenerationInputSchema,\n\tGitSourceSchema,\n\tGsdRuntimeSchema,\n\tHealthCheckSchema,\n\tMaturitySchema,\n\tNativePlatformSchema,\n\tNativeRecipeSchema,\n\tOpenclawImageVariantSchema,\n\tOpenclawInstallMethodSchema,\n\tOutputFormatSchema,\n\tPlatformSchema,\n\tPortMappingSchema,\n\tPresetSchema,\n\tProxyRouteSchema,\n\tProxyTypeSchema,\n\tResolvedServiceSchema,\n\tResolverOutputSchema,\n\tResourceLimitsSchema,\n\tRestartPolicySchema,\n\tServiceCategorySchema,\n\tServiceDefinitionSchema,\n\tSkillBindingSchema,\n\tSkillPackSchema,\n\tSkippedServiceSchema,\n\tValidateRequestSchema,\n\tValidateResponseSchema,\n\tVolumeMappingSchema,\n\tWarningSchema,\n} from \"./schema.js\";\n\n// ─── Inferred Types ─────────────────────────────────────────────────────────\n\nexport type AgentFramework = z.infer<typeof AgentFrameworkSchema>;\nexport type AiProvider = z.infer<typeof AiProviderSchema>;\nexport type GsdRuntime = z.infer<typeof GsdRuntimeSchema>;\nexport type ServiceCategory = z.infer<typeof ServiceCategorySchema>;\nexport type Maturity = z.infer<typeof MaturitySchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type RestartPolicy = z.infer<typeof RestartPolicySchema>;\nexport type ProxyType = z.infer<typeof ProxyTypeSchema>;\nexport type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;\nexport type DeploymentType = z.infer<typeof DeploymentTypeSchema>;\nexport type NativePlatform = z.infer<typeof NativePlatformSchema>;\nexport type NativeRecipe = z.infer<typeof NativeRecipeSchema>;\nexport type GitSource = z.infer<typeof GitSourceSchema>;\nexport type BuildContext = z.infer<typeof BuildContextSchema>;\nexport type OutputFormat = z.infer<typeof OutputFormatSchema>;\nexport type OpenclawImageVariant = z.infer<typeof OpenclawImageVariantSchema>;\nexport type OpenclawInstallMethod = z.infer<typeof OpenclawInstallMethodSchema>;\nexport type DeployTarget = z.infer<typeof DeployTargetSchema>;\n\nexport type PortMapping = z.infer<typeof PortMappingSchema>;\nexport type VolumeMapping = z.infer<typeof VolumeMappingSchema>;\nexport type EnvVariable = z.infer<typeof EnvVariableSchema>;\nexport type HealthCheck = z.infer<typeof HealthCheckSchema>;\nexport type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;\nexport type Deploy = z.infer<typeof DeploySchema>;\nexport type SkillBinding = z.infer<typeof SkillBindingSchema>;\n\nexport type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;\nexport type SkillPack = z.infer<typeof SkillPackSchema>;\nexport type Preset = z.infer<typeof PresetSchema>;\n\nexport type GenerationInput = z.infer<typeof GenerationInputSchema>;\nexport type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {\n\t/** Dynamic Traefik labels per service, computed by the Traefik generator. */\n\ttraefikLabels?: Map<string, Record<string, string>>;\n};\nexport type ResolvedService = z.infer<typeof ResolvedServiceSchema>;\nexport type AddedDependency = z.infer<typeof AddedDependencySchema>;\nexport type Warning = z.infer<typeof WarningSchema>;\nexport type ResolverError = z.infer<typeof ErrorSchema>;\nexport type ResolverOutput = z.infer<typeof ResolverOutputSchema>;\n\nexport type ValidateRequest = z.infer<typeof ValidateRequestSchema>;\nexport type ValidateResponse = z.infer<typeof ValidateResponseSchema>;\nexport type ApiError = z.infer<typeof ApiErrorSchema>;\n\n// Addon Stack (Clawexa)\nexport type EnvQuirkFix = z.infer<typeof EnvQuirkFixSchema>;\nexport type EnvQuirk = z.infer<typeof EnvQuirkSchema>;\nexport type ProxyRoute = z.infer<typeof ProxyRouteSchema>;\nexport type SkippedService = z.infer<typeof SkippedServiceSchema>;\nexport type AddonStackInput = z.infer<typeof AddonStackInputSchema>;\nexport type AddonStackResult = z.infer<typeof AddonStackResultSchema>;\nexport type AddonStackUpdateInput = z.infer<typeof AddonStackUpdateInputSchema>;\nexport type AddonStackUpdateResult = z.infer<typeof AddonStackUpdateResultSchema>;\n\n// ─── Additional Types ───────────────────────────────────────────────────────\n\nexport interface ResolverInput {\n\tservices: string[];\n\tskillPacks: string[];\n\taiProviders?: AiProvider[];\n\tgsdRuntimes?: GsdRuntime[];\n\tprimaryFramework?: AgentFramework;\n\tproxy?: ProxyType;\n\tgpu?: boolean;\n\tplatform?: Platform;\n\tdeployment?: DeploymentType;\n\tdeploymentType?: DeploymentType;\n\tmonitoring?: boolean;\n\tmemoryThresholds?: { info: number; warning: number; critical: number };\n}\n\nexport interface GeneratedFiles {\n\t[path: string]: string;\n}\n\nexport interface GenerationMetadata {\n\tserviceCount: number;\n\tskillCount: number;\n\testimatedMemoryMB: number;\n\tresolvedServices: string[];\n\tgeneratedAt: string;\n}\n\nexport interface GenerationResult {\n\tfiles: GeneratedFiles;\n\tmetadata: GenerationMetadata;\n}\n\nexport interface CategoryInfo {\n\tid: ServiceCategory;\n\tname: string;\n\tdescription?: string;\n\tlabel?: string;\n\ticon: string;\n}\n\nexport const SERVICE_CATEGORIES: CategoryInfo[] = [\n\t{\n\t\tid: \"agent-framework\",\n\t\tname: \"Agent Frameworks\",\n\t\tdescription: \"AI agent orchestrators that can serve as primary or companion runtimes\",\n\t\tlabel: \"Agent Frameworks\",\n\t\ticon: \"🤖\",\n\t},\n\t{\n\t\tid: \"coding-agent\",\n\t\tname: \"AI Coding Agents\",\n\t\tdescription: \"AI Coding Agents\",\n\t\tlabel: \"AI Coding Agents\",\n\t\ticon: \"💻\",\n\t},\n\t{\n\t\tid: \"ai-platform\",\n\t\tname: \"AI Platforms & Chat UIs\",\n\t\tdescription: \"AI Platforms & Chat UIs\",\n\t\tlabel: \"AI Platforms & Chat UIs\",\n\t\ticon: \"🧪\",\n\t},\n\t{\n\t\tid: \"ai\",\n\t\tname: \"AI / Local Models\",\n\t\tdescription: \"AI / Local Models\",\n\t\tlabel: \"AI / Local Models\",\n\t\ticon: \"🤖\",\n\t},\n\t{\n\t\tid: \"automation\",\n\t\tname: \"Automation & Workflows\",\n\t\tdescription: \"Automation & Workflows\",\n\t\tlabel: \"Automation & Workflows\",\n\t\ticon: \"🔄\",\n\t},\n\t{\n\t\tid: \"vector-db\",\n\t\tname: \"Vector Databases\",\n\t\tdescription: \"Vector Databases\",\n\t\tlabel: \"Vector Databases\",\n\t\ticon: \"🧠\",\n\t},\n\t{\n\t\tid: \"media\",\n\t\tname: \"Media & Video\",\n\t\tdescription: \"Media & Video\",\n\t\tlabel: \"Media & Video\",\n\t\ticon: \"🎬\",\n\t},\n\t{\n\t\tid: \"social-media\",\n\t\tname: \"Social Media\",\n\t\tdescription: \"Social Media\",\n\t\tlabel: \"Social Media\",\n\t\ticon: \"📱\",\n\t},\n\t{\n\t\tid: \"analytics\",\n\t\tname: \"Analytics\",\n\t\tdescription: \"Analytics\",\n\t\tlabel: \"Analytics\",\n\t\ticon: \"📊\",\n\t},\n\t{\n\t\tid: \"knowledge\",\n\t\tname: \"Knowledge & Documents\",\n\t\tdescription: \"Knowledge & Documents\",\n\t\tlabel: \"Knowledge & Documents\",\n\t\ticon: \"📚\",\n\t},\n\t{\n\t\tid: \"storage\",\n\t\tname: \"Object Storage\",\n\t\tdescription: \"Object Storage\",\n\t\tlabel: \"Object Storage\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"database\",\n\t\tname: \"Databases & Caching\",\n\t\tdescription: \"Databases & Caching\",\n\t\tlabel: \"Databases & Caching\",\n\t\ticon: \"🗄️\",\n\t},\n\t{\n\t\tid: \"dev-tools\",\n\t\tname: \"Developer Tools\",\n\t\tdescription: \"Developer Tools\",\n\t\tlabel: \"Developer Tools\",\n\t\ticon: \"🛠️\",\n\t},\n\t{\n\t\tid: \"proxy\",\n\t\tname: \"Reverse Proxy\",\n\t\tdescription: \"Reverse Proxy\",\n\t\tlabel: \"Reverse Proxy\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"monitoring\",\n\t\tname: \"Monitoring\",\n\t\tdescription: \"Monitoring\",\n\t\tlabel: \"Monitoring\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"browser\",\n\t\tname: \"Browser Automation\",\n\t\tdescription: \"Browser Automation\",\n\t\tlabel: \"Browser Automation\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"search\",\n\t\tname: \"Search\",\n\t\tdescription: \"Search\",\n\t\tlabel: \"Search\",\n\t\ticon: \"🔍\",\n\t},\n\t{\n\t\tid: \"communication\",\n\t\tname: \"Notifications\",\n\t\tdescription: \"Notifications\",\n\t\tlabel: \"Notifications\",\n\t\ticon: \"🔔\",\n\t},\n\t{\n\t\tid: \"desktop\",\n\t\tname: \"Desktop Environment\",\n\t\tdescription: \"Desktop Environment\",\n\t\tlabel: \"Desktop Environment\",\n\t\ticon: \"🖥️\",\n\t},\n\t{\n\t\tid: \"streaming\",\n\t\tname: \"Streaming & Relay\",\n\t\tdescription: \"Streaming & Relay\",\n\t\tlabel: \"Streaming & Relay\",\n\t\ticon: \"📺\",\n\t},\n\t{\n\t\tid: \"security\",\n\t\tname: \"Security & Pentesting\",\n\t\tdescription: \"Security & Pentesting\",\n\t\tlabel: \"Security & Pentesting\",\n\t\ticon: \"🛡️\",\n\t},\n\t{\n\t\tid: \"billing\",\n\t\tname: \"Billing & Payments\",\n\t\tdescription: \"Billing & Payments\",\n\t\tlabel: \"Billing & Payments\",\n\t\ticon: \"💳\",\n\t},\n\t{\n\t\tid: \"crm\",\n\t\tname: \"CRM & Customer Management\",\n\t\tdescription: \"CRM & Customer Management\",\n\t\tlabel: \"CRM & Customer Management\",\n\t\ticon: \"🤝\",\n\t},\n\t{\n\t\tid: \"email-marketing\",\n\t\tname: \"Email & Marketing\",\n\t\tdescription: \"Email & Marketing\",\n\t\tlabel: \"Email & Marketing\",\n\t\ticon: \"📧\",\n\t},\n\t{\n\t\tid: \"forms\",\n\t\tname: \"Forms & Surveys\",\n\t\tdescription: \"Forms & Surveys\",\n\t\tlabel: \"Forms & Surveys\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"api-gateway\",\n\t\tname: \"API Management\",\n\t\tdescription: \"API Management\",\n\t\tlabel: \"API Management\",\n\t\ticon: \"🔌\",\n\t},\n\t{\n\t\tid: \"backup\",\n\t\tname: \"Backup & Recovery\",\n\t\tdescription: \"Backup & Recovery\",\n\t\tlabel: \"Backup & Recovery\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"voice\",\n\t\tname: \"Voice & Telephony\",\n\t\tdescription: \"Voice & Telephony\",\n\t\tlabel: \"Voice & Telephony\",\n\t\ticon: \"📞\",\n\t},\n\t{\n\t\tid: \"ecommerce\",\n\t\tname: \"E-Commerce\",\n\t\tdescription: \"E-Commerce\",\n\t\tlabel: \"E-Commerce\",\n\t\ticon: \"🛒\",\n\t},\n\t{\n\t\tid: \"collaboration\",\n\t\tname: \"Real-Time Collaboration\",\n\t\tdescription: \"Real-Time Collaboration\",\n\t\tlabel: \"Real-Time Collaboration\",\n\t\ticon: \"✏️\",\n\t},\n\t{\n\t\tid: \"ai-observability\",\n\t\tname: \"AI Observability\",\n\t\tdescription: \"AI Observability\",\n\t\tlabel: \"AI Observability\",\n\t\ticon: \"🔭\",\n\t},\n\t{\n\t\tid: \"fine-tuning\",\n\t\tname: \"AI Fine-Tuning\",\n\t\tdescription: \"AI Fine-Tuning\",\n\t\tlabel: \"AI Fine-Tuning\",\n\t\ticon: \"🎯\",\n\t},\n\t{\n\t\tid: \"project-management\",\n\t\tname: \"Project Management\",\n\t\tdescription: \"Project Management\",\n\t\tlabel: \"Project Management\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"business-intelligence\",\n\t\tname: \"Business Intelligence\",\n\t\tdescription: \"Business Intelligence\",\n\t\tlabel: \"Business Intelligence\",\n\t\ticon: \"📈\",\n\t},\n\t{\n\t\tid: \"dns-networking\",\n\t\tname: \"DNS & Networking\",\n\t\tdescription: \"DNS & Networking\",\n\t\tlabel: \"DNS & Networking\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"iot\",\n\t\tname: \"IoT & Edge\",\n\t\tdescription: \"IoT & Edge\",\n\t\tlabel: \"IoT & Edge\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"saas-boilerplate\",\n\t\tname: \"SaaS Boilerplates\",\n\t\tdescription: \"Full-stack SaaS starter kits and boilerplates\",\n\t\tlabel: \"SaaS Boilerplates\",\n\t\ticon: \"🚀\",\n\t},\n];\n"],"mappings":";;AAsJA,MAAa,qBAAqC;CACjD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD"}
package/dist/types.d.cts CHANGED
@@ -1,93 +1,2 @@
1
- import { A as PortMappingSchema, B as SkillBindingSchema, C as MaturitySchema, D as OpenclawInstallMethodSchema, E as OpenclawImageVariantSchema, F as ResolverOutputSchema, G as ValidateResponseSchema, I as ResourceLimitsSchema, K as VolumeMappingSchema, L as RestartPolicySchema, M as ProxyRouteSchema, N as ProxyTypeSchema, O as OutputFormatSchema, P as ResolvedServiceSchema, R as ServiceCategorySchema, S as HealthCheckSchema, T as NativeRecipeSchema, U as SkippedServiceSchema, V as SkillPackSchema, W as ValidateRequestSchema, _ as EnvVariableSchema, a as AddonStackUpdateResultSchema, b as GitSourceSchema, c as BuildContextSchema, d as DeploySchema, f as DeployTargetSchema, g as EnvQuirkSchema, h as EnvQuirkFixSchema, i as AddonStackUpdateInputSchema, j as PresetSchema, k as PlatformSchema, l as ComposeOptionsSchema, m as DeploymentTypeSchema, n as AddonStackInputSchema, o as AiProviderSchema, p as DeploymentTargetSchema, q as WarningSchema, r as AddonStackResultSchema, s as ApiErrorSchema, t as AddedDependencySchema, v as ErrorSchema, w as NativePlatformSchema, x as GsdRuntimeSchema, y as GenerationInputSchema, z as ServiceDefinitionSchema } from "./schema-BQnZrcw8.cjs";
2
- import { z } from "zod";
3
-
4
- //#region src/types.d.ts
5
- type AiProvider = z.infer<typeof AiProviderSchema>;
6
- type GsdRuntime = z.infer<typeof GsdRuntimeSchema>;
7
- type ServiceCategory = z.infer<typeof ServiceCategorySchema>;
8
- type Maturity = z.infer<typeof MaturitySchema>;
9
- type Platform = z.infer<typeof PlatformSchema>;
10
- type RestartPolicy = z.infer<typeof RestartPolicySchema>;
11
- type ProxyType = z.infer<typeof ProxyTypeSchema>;
12
- type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;
13
- type DeploymentType = z.infer<typeof DeploymentTypeSchema>;
14
- type NativePlatform = z.infer<typeof NativePlatformSchema>;
15
- type NativeRecipe = z.infer<typeof NativeRecipeSchema>;
16
- type GitSource = z.infer<typeof GitSourceSchema>;
17
- type BuildContext = z.infer<typeof BuildContextSchema>;
18
- type OutputFormat = z.infer<typeof OutputFormatSchema>;
19
- type OpenclawImageVariant = z.infer<typeof OpenclawImageVariantSchema>;
20
- type OpenclawInstallMethod = z.infer<typeof OpenclawInstallMethodSchema>;
21
- type DeployTarget = z.infer<typeof DeployTargetSchema>;
22
- type PortMapping = z.infer<typeof PortMappingSchema>;
23
- type VolumeMapping = z.infer<typeof VolumeMappingSchema>;
24
- type EnvVariable = z.infer<typeof EnvVariableSchema>;
25
- type HealthCheck = z.infer<typeof HealthCheckSchema>;
26
- type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;
27
- type Deploy = z.infer<typeof DeploySchema>;
28
- type SkillBinding = z.infer<typeof SkillBindingSchema>;
29
- type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;
30
- type SkillPack = z.infer<typeof SkillPackSchema>;
31
- type Preset = z.infer<typeof PresetSchema>;
32
- type GenerationInput = z.infer<typeof GenerationInputSchema>;
33
- type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {
34
- /** Dynamic Traefik labels per service, computed by the Traefik generator. */traefikLabels?: Map<string, Record<string, string>>;
35
- };
36
- type ResolvedService = z.infer<typeof ResolvedServiceSchema>;
37
- type AddedDependency = z.infer<typeof AddedDependencySchema>;
38
- type Warning = z.infer<typeof WarningSchema>;
39
- type ResolverError = z.infer<typeof ErrorSchema>;
40
- type ResolverOutput = z.infer<typeof ResolverOutputSchema>;
41
- type ValidateRequest = z.infer<typeof ValidateRequestSchema>;
42
- type ValidateResponse = z.infer<typeof ValidateResponseSchema>;
43
- type ApiError = z.infer<typeof ApiErrorSchema>;
44
- type EnvQuirkFix = z.infer<typeof EnvQuirkFixSchema>;
45
- type EnvQuirk = z.infer<typeof EnvQuirkSchema>;
46
- type ProxyRoute = z.infer<typeof ProxyRouteSchema>;
47
- type SkippedService = z.infer<typeof SkippedServiceSchema>;
48
- type AddonStackInput = z.infer<typeof AddonStackInputSchema>;
49
- type AddonStackResult = z.infer<typeof AddonStackResultSchema>;
50
- type AddonStackUpdateInput = z.infer<typeof AddonStackUpdateInputSchema>;
51
- type AddonStackUpdateResult = z.infer<typeof AddonStackUpdateResultSchema>;
52
- interface ResolverInput {
53
- services: string[];
54
- skillPacks: string[];
55
- aiProviders?: AiProvider[];
56
- gsdRuntimes?: GsdRuntime[];
57
- proxy?: ProxyType;
58
- gpu?: boolean;
59
- platform?: Platform;
60
- deployment?: DeploymentType;
61
- deploymentType?: DeploymentType;
62
- monitoring?: boolean;
63
- memoryThresholds?: {
64
- info: number;
65
- warning: number;
66
- critical: number;
67
- };
68
- }
69
- interface GeneratedFiles {
70
- [path: string]: string;
71
- }
72
- interface GenerationMetadata {
73
- serviceCount: number;
74
- skillCount: number;
75
- estimatedMemoryMB: number;
76
- resolvedServices: string[];
77
- generatedAt: string;
78
- }
79
- interface GenerationResult {
80
- files: GeneratedFiles;
81
- metadata: GenerationMetadata;
82
- }
83
- interface CategoryInfo {
84
- id: ServiceCategory;
85
- name: string;
86
- description?: string;
87
- label?: string;
88
- icon: string;
89
- }
90
- declare const SERVICE_CATEGORIES: CategoryInfo[];
91
- //#endregion
92
- export { AddedDependency, AddonStackInput, AddonStackResult, AddonStackUpdateInput, AddonStackUpdateResult, AiProvider, ApiError, BuildContext, CategoryInfo, ComposeOptions, Deploy, DeployTarget, DeploymentTarget, DeploymentType, EnvQuirk, EnvQuirkFix, EnvVariable, GeneratedFiles, GenerationInput, GenerationMetadata, GenerationResult, GitSource, GsdRuntime, HealthCheck, Maturity, NativePlatform, NativeRecipe, OpenclawImageVariant, OpenclawInstallMethod, OutputFormat, Platform, PortMapping, Preset, ProxyRoute, ProxyType, ResolvedService, ResolverError, ResolverInput, ResolverOutput, ResourceLimits, RestartPolicy, SERVICE_CATEGORIES, ServiceCategory, ServiceDefinition, SkillBinding, SkillPack, SkippedService, ValidateRequest, ValidateResponse, VolumeMapping, Warning };
93
- //# sourceMappingURL=types.d.cts.map
1
+ import { A as OpenclawInstallMethod, B as ResolverOutput, C as GitSource, D as NativePlatform, E as Maturity, F as ProxyRoute, G as ServiceDefinition, H as RestartPolicy, I as ProxyType, J as SkippedService, K as SkillBinding, L as ResolvedService, M as Platform, N as PortMapping, O as NativeRecipe, P as Preset, Q as Warning, R as ResolverError, S as GenerationResult, T as HealthCheck, U as SERVICE_CATEGORIES, V as ResourceLimits, W as ServiceCategory, X as ValidateResponse, Y as ValidateRequest, Z as VolumeMapping, _ as EnvQuirkFix, a as AddonStackUpdateResult, b as GenerationInput, c as ApiError, d as ComposeOptions, f as Deploy, g as EnvQuirk, h as DeploymentType, i as AddonStackUpdateInput, j as OutputFormat, k as OpenclawImageVariant, l as BuildContext, m as DeploymentTarget, n as AddonStackInput, o as AgentFramework, p as DeployTarget, q as SkillPack, r as AddonStackResult, s as AiProvider, t as AddedDependency, u as CategoryInfo, v as EnvVariable, w as GsdRuntime, x as GenerationMetadata, y as GeneratedFiles, z as ResolverInput } from "./types-Bsn0XzSP.cjs";
2
+ export { AddedDependency, AddonStackInput, AddonStackResult, AddonStackUpdateInput, AddonStackUpdateResult, AgentFramework, AiProvider, ApiError, BuildContext, CategoryInfo, ComposeOptions, Deploy, DeployTarget, DeploymentTarget, DeploymentType, EnvQuirk, EnvQuirkFix, EnvVariable, GeneratedFiles, GenerationInput, GenerationMetadata, GenerationResult, GitSource, GsdRuntime, HealthCheck, Maturity, NativePlatform, NativeRecipe, OpenclawImageVariant, OpenclawInstallMethod, OutputFormat, Platform, PortMapping, Preset, ProxyRoute, ProxyType, ResolvedService, ResolverError, ResolverInput, ResolverOutput, ResourceLimits, RestartPolicy, SERVICE_CATEGORIES, ServiceCategory, ServiceDefinition, SkillBinding, SkillPack, SkippedService, ValidateRequest, ValidateResponse, VolumeMapping, Warning };
package/dist/types.d.mts CHANGED
@@ -1,93 +1,2 @@
1
- import { A as PortMappingSchema, B as SkillBindingSchema, C as MaturitySchema, D as OpenclawInstallMethodSchema, E as OpenclawImageVariantSchema, F as ResolverOutputSchema, G as ValidateResponseSchema, I as ResourceLimitsSchema, K as VolumeMappingSchema, L as RestartPolicySchema, M as ProxyRouteSchema, N as ProxyTypeSchema, O as OutputFormatSchema, P as ResolvedServiceSchema, R as ServiceCategorySchema, S as HealthCheckSchema, T as NativeRecipeSchema, U as SkippedServiceSchema, V as SkillPackSchema, W as ValidateRequestSchema, _ as EnvVariableSchema, a as AddonStackUpdateResultSchema, b as GitSourceSchema, c as BuildContextSchema, d as DeploySchema, f as DeployTargetSchema, g as EnvQuirkSchema, h as EnvQuirkFixSchema, i as AddonStackUpdateInputSchema, j as PresetSchema, k as PlatformSchema, l as ComposeOptionsSchema, m as DeploymentTypeSchema, n as AddonStackInputSchema, o as AiProviderSchema, p as DeploymentTargetSchema, q as WarningSchema, r as AddonStackResultSchema, s as ApiErrorSchema, t as AddedDependencySchema, v as ErrorSchema, w as NativePlatformSchema, x as GsdRuntimeSchema, y as GenerationInputSchema, z as ServiceDefinitionSchema } from "./schema-SBpL0bdI.mjs";
2
- import { z } from "zod";
3
-
4
- //#region src/types.d.ts
5
- type AiProvider = z.infer<typeof AiProviderSchema>;
6
- type GsdRuntime = z.infer<typeof GsdRuntimeSchema>;
7
- type ServiceCategory = z.infer<typeof ServiceCategorySchema>;
8
- type Maturity = z.infer<typeof MaturitySchema>;
9
- type Platform = z.infer<typeof PlatformSchema>;
10
- type RestartPolicy = z.infer<typeof RestartPolicySchema>;
11
- type ProxyType = z.infer<typeof ProxyTypeSchema>;
12
- type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;
13
- type DeploymentType = z.infer<typeof DeploymentTypeSchema>;
14
- type NativePlatform = z.infer<typeof NativePlatformSchema>;
15
- type NativeRecipe = z.infer<typeof NativeRecipeSchema>;
16
- type GitSource = z.infer<typeof GitSourceSchema>;
17
- type BuildContext = z.infer<typeof BuildContextSchema>;
18
- type OutputFormat = z.infer<typeof OutputFormatSchema>;
19
- type OpenclawImageVariant = z.infer<typeof OpenclawImageVariantSchema>;
20
- type OpenclawInstallMethod = z.infer<typeof OpenclawInstallMethodSchema>;
21
- type DeployTarget = z.infer<typeof DeployTargetSchema>;
22
- type PortMapping = z.infer<typeof PortMappingSchema>;
23
- type VolumeMapping = z.infer<typeof VolumeMappingSchema>;
24
- type EnvVariable = z.infer<typeof EnvVariableSchema>;
25
- type HealthCheck = z.infer<typeof HealthCheckSchema>;
26
- type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;
27
- type Deploy = z.infer<typeof DeploySchema>;
28
- type SkillBinding = z.infer<typeof SkillBindingSchema>;
29
- type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;
30
- type SkillPack = z.infer<typeof SkillPackSchema>;
31
- type Preset = z.infer<typeof PresetSchema>;
32
- type GenerationInput = z.infer<typeof GenerationInputSchema>;
33
- type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {
34
- /** Dynamic Traefik labels per service, computed by the Traefik generator. */traefikLabels?: Map<string, Record<string, string>>;
35
- };
36
- type ResolvedService = z.infer<typeof ResolvedServiceSchema>;
37
- type AddedDependency = z.infer<typeof AddedDependencySchema>;
38
- type Warning = z.infer<typeof WarningSchema>;
39
- type ResolverError = z.infer<typeof ErrorSchema>;
40
- type ResolverOutput = z.infer<typeof ResolverOutputSchema>;
41
- type ValidateRequest = z.infer<typeof ValidateRequestSchema>;
42
- type ValidateResponse = z.infer<typeof ValidateResponseSchema>;
43
- type ApiError = z.infer<typeof ApiErrorSchema>;
44
- type EnvQuirkFix = z.infer<typeof EnvQuirkFixSchema>;
45
- type EnvQuirk = z.infer<typeof EnvQuirkSchema>;
46
- type ProxyRoute = z.infer<typeof ProxyRouteSchema>;
47
- type SkippedService = z.infer<typeof SkippedServiceSchema>;
48
- type AddonStackInput = z.infer<typeof AddonStackInputSchema>;
49
- type AddonStackResult = z.infer<typeof AddonStackResultSchema>;
50
- type AddonStackUpdateInput = z.infer<typeof AddonStackUpdateInputSchema>;
51
- type AddonStackUpdateResult = z.infer<typeof AddonStackUpdateResultSchema>;
52
- interface ResolverInput {
53
- services: string[];
54
- skillPacks: string[];
55
- aiProviders?: AiProvider[];
56
- gsdRuntimes?: GsdRuntime[];
57
- proxy?: ProxyType;
58
- gpu?: boolean;
59
- platform?: Platform;
60
- deployment?: DeploymentType;
61
- deploymentType?: DeploymentType;
62
- monitoring?: boolean;
63
- memoryThresholds?: {
64
- info: number;
65
- warning: number;
66
- critical: number;
67
- };
68
- }
69
- interface GeneratedFiles {
70
- [path: string]: string;
71
- }
72
- interface GenerationMetadata {
73
- serviceCount: number;
74
- skillCount: number;
75
- estimatedMemoryMB: number;
76
- resolvedServices: string[];
77
- generatedAt: string;
78
- }
79
- interface GenerationResult {
80
- files: GeneratedFiles;
81
- metadata: GenerationMetadata;
82
- }
83
- interface CategoryInfo {
84
- id: ServiceCategory;
85
- name: string;
86
- description?: string;
87
- label?: string;
88
- icon: string;
89
- }
90
- declare const SERVICE_CATEGORIES: CategoryInfo[];
91
- //#endregion
92
- export { AddedDependency, AddonStackInput, AddonStackResult, AddonStackUpdateInput, AddonStackUpdateResult, AiProvider, ApiError, BuildContext, CategoryInfo, ComposeOptions, Deploy, DeployTarget, DeploymentTarget, DeploymentType, EnvQuirk, EnvQuirkFix, EnvVariable, GeneratedFiles, GenerationInput, GenerationMetadata, GenerationResult, GitSource, GsdRuntime, HealthCheck, Maturity, NativePlatform, NativeRecipe, OpenclawImageVariant, OpenclawInstallMethod, OutputFormat, Platform, PortMapping, Preset, ProxyRoute, ProxyType, ResolvedService, ResolverError, ResolverInput, ResolverOutput, ResourceLimits, RestartPolicy, SERVICE_CATEGORIES, ServiceCategory, ServiceDefinition, SkillBinding, SkillPack, SkippedService, ValidateRequest, ValidateResponse, VolumeMapping, Warning };
93
- //# sourceMappingURL=types.d.mts.map
1
+ import { A as OpenclawInstallMethod, B as ResolverOutput, C as GitSource, D as NativePlatform, E as Maturity, F as ProxyRoute, G as ServiceDefinition, H as RestartPolicy, I as ProxyType, J as SkippedService, K as SkillBinding, L as ResolvedService, M as Platform, N as PortMapping, O as NativeRecipe, P as Preset, Q as Warning, R as ResolverError, S as GenerationResult, T as HealthCheck, U as SERVICE_CATEGORIES, V as ResourceLimits, W as ServiceCategory, X as ValidateResponse, Y as ValidateRequest, Z as VolumeMapping, _ as EnvQuirkFix, a as AddonStackUpdateResult, b as GenerationInput, c as ApiError, d as ComposeOptions, f as Deploy, g as EnvQuirk, h as DeploymentType, i as AddonStackUpdateInput, j as OutputFormat, k as OpenclawImageVariant, l as BuildContext, m as DeploymentTarget, n as AddonStackInput, o as AgentFramework, p as DeployTarget, q as SkillPack, r as AddonStackResult, s as AiProvider, t as AddedDependency, u as CategoryInfo, v as EnvVariable, w as GsdRuntime, x as GenerationMetadata, y as GeneratedFiles, z as ResolverInput } from "./types-DwTKyCZ9.mjs";
2
+ export { AddedDependency, AddonStackInput, AddonStackResult, AddonStackUpdateInput, AddonStackUpdateResult, AgentFramework, AiProvider, ApiError, BuildContext, CategoryInfo, ComposeOptions, Deploy, DeployTarget, DeploymentTarget, DeploymentType, EnvQuirk, EnvQuirkFix, EnvVariable, GeneratedFiles, GenerationInput, GenerationMetadata, GenerationResult, GitSource, GsdRuntime, HealthCheck, Maturity, NativePlatform, NativeRecipe, OpenclawImageVariant, OpenclawInstallMethod, OutputFormat, Platform, PortMapping, Preset, ProxyRoute, ProxyType, ResolvedService, ResolverError, ResolverInput, ResolverOutput, ResourceLimits, RestartPolicy, SERVICE_CATEGORIES, ServiceCategory, ServiceDefinition, SkillBinding, SkillPack, SkippedService, ValidateRequest, ValidateResponse, VolumeMapping, Warning };
package/dist/types.mjs CHANGED
@@ -1,5 +1,12 @@
1
1
  //#region src/types.ts
2
2
  const SERVICE_CATEGORIES = [
3
+ {
4
+ id: "agent-framework",
5
+ name: "Agent Frameworks",
6
+ description: "AI agent orchestrators that can serve as primary or companion runtimes",
7
+ label: "Agent Frameworks",
8
+ icon: "🤖"
9
+ },
3
10
  {
4
11
  id: "coding-agent",
5
12
  name: "AI Coding Agents",
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type {\n\tAddonStackInputSchema,\n\tAddonStackResultSchema,\n\tAddonStackUpdateInputSchema,\n\tAddonStackUpdateResultSchema,\n\tAddedDependencySchema,\n\tAiProviderSchema,\n\tApiErrorSchema,\n\tBuildContextSchema,\n\tComposeOptionsSchema,\n\tDeploymentTargetSchema,\n\tDeploymentTypeSchema,\n\tDeploySchema,\n\tDeployTargetSchema,\n\tEnvQuirkFixSchema,\n\tEnvQuirkSchema,\n\tEnvVariableSchema,\n\tErrorSchema,\n\tGenerationInputSchema,\n\tGitSourceSchema,\n\tGsdRuntimeSchema,\n\tHealthCheckSchema,\n\tMaturitySchema,\n\tNativePlatformSchema,\n\tNativeRecipeSchema,\n\tOpenclawImageVariantSchema,\n\tOpenclawInstallMethodSchema,\n\tOutputFormatSchema,\n\tPlatformSchema,\n\tPortMappingSchema,\n\tPresetSchema,\n\tProxyRouteSchema,\n\tProxyTypeSchema,\n\tResolvedServiceSchema,\n\tResolverOutputSchema,\n\tResourceLimitsSchema,\n\tRestartPolicySchema,\n\tServiceCategorySchema,\n\tServiceDefinitionSchema,\n\tSkillBindingSchema,\n\tSkillPackSchema,\n\tSkippedServiceSchema,\n\tValidateRequestSchema,\n\tValidateResponseSchema,\n\tVolumeMappingSchema,\n\tWarningSchema,\n} from \"./schema.js\";\n\n// ─── Inferred Types ─────────────────────────────────────────────────────────\n\nexport type AiProvider = z.infer<typeof AiProviderSchema>;\nexport type GsdRuntime = z.infer<typeof GsdRuntimeSchema>;\nexport type ServiceCategory = z.infer<typeof ServiceCategorySchema>;\nexport type Maturity = z.infer<typeof MaturitySchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type RestartPolicy = z.infer<typeof RestartPolicySchema>;\nexport type ProxyType = z.infer<typeof ProxyTypeSchema>;\nexport type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;\nexport type DeploymentType = z.infer<typeof DeploymentTypeSchema>;\nexport type NativePlatform = z.infer<typeof NativePlatformSchema>;\nexport type NativeRecipe = z.infer<typeof NativeRecipeSchema>;\nexport type GitSource = z.infer<typeof GitSourceSchema>;\nexport type BuildContext = z.infer<typeof BuildContextSchema>;\nexport type OutputFormat = z.infer<typeof OutputFormatSchema>;\nexport type OpenclawImageVariant = z.infer<typeof OpenclawImageVariantSchema>;\nexport type OpenclawInstallMethod = z.infer<typeof OpenclawInstallMethodSchema>;\nexport type DeployTarget = z.infer<typeof DeployTargetSchema>;\n\nexport type PortMapping = z.infer<typeof PortMappingSchema>;\nexport type VolumeMapping = z.infer<typeof VolumeMappingSchema>;\nexport type EnvVariable = z.infer<typeof EnvVariableSchema>;\nexport type HealthCheck = z.infer<typeof HealthCheckSchema>;\nexport type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;\nexport type Deploy = z.infer<typeof DeploySchema>;\nexport type SkillBinding = z.infer<typeof SkillBindingSchema>;\n\nexport type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;\nexport type SkillPack = z.infer<typeof SkillPackSchema>;\nexport type Preset = z.infer<typeof PresetSchema>;\n\nexport type GenerationInput = z.infer<typeof GenerationInputSchema>;\nexport type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {\n\t/** Dynamic Traefik labels per service, computed by the Traefik generator. */\n\ttraefikLabels?: Map<string, Record<string, string>>;\n};\nexport type ResolvedService = z.infer<typeof ResolvedServiceSchema>;\nexport type AddedDependency = z.infer<typeof AddedDependencySchema>;\nexport type Warning = z.infer<typeof WarningSchema>;\nexport type ResolverError = z.infer<typeof ErrorSchema>;\nexport type ResolverOutput = z.infer<typeof ResolverOutputSchema>;\n\nexport type ValidateRequest = z.infer<typeof ValidateRequestSchema>;\nexport type ValidateResponse = z.infer<typeof ValidateResponseSchema>;\nexport type ApiError = z.infer<typeof ApiErrorSchema>;\n\n// Addon Stack (Clawexa)\nexport type EnvQuirkFix = z.infer<typeof EnvQuirkFixSchema>;\nexport type EnvQuirk = z.infer<typeof EnvQuirkSchema>;\nexport type ProxyRoute = z.infer<typeof ProxyRouteSchema>;\nexport type SkippedService = z.infer<typeof SkippedServiceSchema>;\nexport type AddonStackInput = z.infer<typeof AddonStackInputSchema>;\nexport type AddonStackResult = z.infer<typeof AddonStackResultSchema>;\nexport type AddonStackUpdateInput = z.infer<typeof AddonStackUpdateInputSchema>;\nexport type AddonStackUpdateResult = z.infer<typeof AddonStackUpdateResultSchema>;\n\n// ─── Additional Types ───────────────────────────────────────────────────────\n\nexport interface ResolverInput {\n\tservices: string[];\n\tskillPacks: string[];\n\taiProviders?: AiProvider[];\n\tgsdRuntimes?: GsdRuntime[];\n\tproxy?: ProxyType;\n\tgpu?: boolean;\n\tplatform?: Platform;\n\tdeployment?: DeploymentType;\n\tdeploymentType?: DeploymentType;\n\tmonitoring?: boolean;\n\tmemoryThresholds?: { info: number; warning: number; critical: number };\n}\n\nexport interface GeneratedFiles {\n\t[path: string]: string;\n}\n\nexport interface GenerationMetadata {\n\tserviceCount: number;\n\tskillCount: number;\n\testimatedMemoryMB: number;\n\tresolvedServices: string[];\n\tgeneratedAt: string;\n}\n\nexport interface GenerationResult {\n\tfiles: GeneratedFiles;\n\tmetadata: GenerationMetadata;\n}\n\nexport interface CategoryInfo {\n\tid: ServiceCategory;\n\tname: string;\n\tdescription?: string;\n\tlabel?: string;\n\ticon: string;\n}\n\nexport const SERVICE_CATEGORIES: CategoryInfo[] = [\n\t{\n\t\tid: \"coding-agent\",\n\t\tname: \"AI Coding Agents\",\n\t\tdescription: \"AI Coding Agents\",\n\t\tlabel: \"AI Coding Agents\",\n\t\ticon: \"💻\",\n\t},\n\t{\n\t\tid: \"ai-platform\",\n\t\tname: \"AI Platforms & Chat UIs\",\n\t\tdescription: \"AI Platforms & Chat UIs\",\n\t\tlabel: \"AI Platforms & Chat UIs\",\n\t\ticon: \"🧪\",\n\t},\n\t{\n\t\tid: \"ai\",\n\t\tname: \"AI / Local Models\",\n\t\tdescription: \"AI / Local Models\",\n\t\tlabel: \"AI / Local Models\",\n\t\ticon: \"🤖\",\n\t},\n\t{\n\t\tid: \"automation\",\n\t\tname: \"Automation & Workflows\",\n\t\tdescription: \"Automation & Workflows\",\n\t\tlabel: \"Automation & Workflows\",\n\t\ticon: \"🔄\",\n\t},\n\t{\n\t\tid: \"vector-db\",\n\t\tname: \"Vector Databases\",\n\t\tdescription: \"Vector Databases\",\n\t\tlabel: \"Vector Databases\",\n\t\ticon: \"🧠\",\n\t},\n\t{\n\t\tid: \"media\",\n\t\tname: \"Media & Video\",\n\t\tdescription: \"Media & Video\",\n\t\tlabel: \"Media & Video\",\n\t\ticon: \"🎬\",\n\t},\n\t{\n\t\tid: \"social-media\",\n\t\tname: \"Social Media\",\n\t\tdescription: \"Social Media\",\n\t\tlabel: \"Social Media\",\n\t\ticon: \"📱\",\n\t},\n\t{\n\t\tid: \"analytics\",\n\t\tname: \"Analytics\",\n\t\tdescription: \"Analytics\",\n\t\tlabel: \"Analytics\",\n\t\ticon: \"📊\",\n\t},\n\t{\n\t\tid: \"knowledge\",\n\t\tname: \"Knowledge & Documents\",\n\t\tdescription: \"Knowledge & Documents\",\n\t\tlabel: \"Knowledge & Documents\",\n\t\ticon: \"📚\",\n\t},\n\t{\n\t\tid: \"storage\",\n\t\tname: \"Object Storage\",\n\t\tdescription: \"Object Storage\",\n\t\tlabel: \"Object Storage\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"database\",\n\t\tname: \"Databases & Caching\",\n\t\tdescription: \"Databases & Caching\",\n\t\tlabel: \"Databases & Caching\",\n\t\ticon: \"🗄️\",\n\t},\n\t{\n\t\tid: \"dev-tools\",\n\t\tname: \"Developer Tools\",\n\t\tdescription: \"Developer Tools\",\n\t\tlabel: \"Developer Tools\",\n\t\ticon: \"🛠️\",\n\t},\n\t{\n\t\tid: \"proxy\",\n\t\tname: \"Reverse Proxy\",\n\t\tdescription: \"Reverse Proxy\",\n\t\tlabel: \"Reverse Proxy\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"monitoring\",\n\t\tname: \"Monitoring\",\n\t\tdescription: \"Monitoring\",\n\t\tlabel: \"Monitoring\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"browser\",\n\t\tname: \"Browser Automation\",\n\t\tdescription: \"Browser Automation\",\n\t\tlabel: \"Browser Automation\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"search\",\n\t\tname: \"Search\",\n\t\tdescription: \"Search\",\n\t\tlabel: \"Search\",\n\t\ticon: \"🔍\",\n\t},\n\t{\n\t\tid: \"communication\",\n\t\tname: \"Notifications\",\n\t\tdescription: \"Notifications\",\n\t\tlabel: \"Notifications\",\n\t\ticon: \"🔔\",\n\t},\n\t{\n\t\tid: \"desktop\",\n\t\tname: \"Desktop Environment\",\n\t\tdescription: \"Desktop Environment\",\n\t\tlabel: \"Desktop Environment\",\n\t\ticon: \"🖥️\",\n\t},\n\t{\n\t\tid: \"streaming\",\n\t\tname: \"Streaming & Relay\",\n\t\tdescription: \"Streaming & Relay\",\n\t\tlabel: \"Streaming & Relay\",\n\t\ticon: \"📺\",\n\t},\n\t{\n\t\tid: \"security\",\n\t\tname: \"Security & Pentesting\",\n\t\tdescription: \"Security & Pentesting\",\n\t\tlabel: \"Security & Pentesting\",\n\t\ticon: \"🛡️\",\n\t},\n\t{\n\t\tid: \"billing\",\n\t\tname: \"Billing & Payments\",\n\t\tdescription: \"Billing & Payments\",\n\t\tlabel: \"Billing & Payments\",\n\t\ticon: \"💳\",\n\t},\n\t{\n\t\tid: \"crm\",\n\t\tname: \"CRM & Customer Management\",\n\t\tdescription: \"CRM & Customer Management\",\n\t\tlabel: \"CRM & Customer Management\",\n\t\ticon: \"🤝\",\n\t},\n\t{\n\t\tid: \"email-marketing\",\n\t\tname: \"Email & Marketing\",\n\t\tdescription: \"Email & Marketing\",\n\t\tlabel: \"Email & Marketing\",\n\t\ticon: \"📧\",\n\t},\n\t{\n\t\tid: \"forms\",\n\t\tname: \"Forms & Surveys\",\n\t\tdescription: \"Forms & Surveys\",\n\t\tlabel: \"Forms & Surveys\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"api-gateway\",\n\t\tname: \"API Management\",\n\t\tdescription: \"API Management\",\n\t\tlabel: \"API Management\",\n\t\ticon: \"🔌\",\n\t},\n\t{\n\t\tid: \"backup\",\n\t\tname: \"Backup & Recovery\",\n\t\tdescription: \"Backup & Recovery\",\n\t\tlabel: \"Backup & Recovery\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"voice\",\n\t\tname: \"Voice & Telephony\",\n\t\tdescription: \"Voice & Telephony\",\n\t\tlabel: \"Voice & Telephony\",\n\t\ticon: \"📞\",\n\t},\n\t{\n\t\tid: \"ecommerce\",\n\t\tname: \"E-Commerce\",\n\t\tdescription: \"E-Commerce\",\n\t\tlabel: \"E-Commerce\",\n\t\ticon: \"🛒\",\n\t},\n\t{\n\t\tid: \"collaboration\",\n\t\tname: \"Real-Time Collaboration\",\n\t\tdescription: \"Real-Time Collaboration\",\n\t\tlabel: \"Real-Time Collaboration\",\n\t\ticon: \"✏️\",\n\t},\n\t{\n\t\tid: \"ai-observability\",\n\t\tname: \"AI Observability\",\n\t\tdescription: \"AI Observability\",\n\t\tlabel: \"AI Observability\",\n\t\ticon: \"🔭\",\n\t},\n\t{\n\t\tid: \"fine-tuning\",\n\t\tname: \"AI Fine-Tuning\",\n\t\tdescription: \"AI Fine-Tuning\",\n\t\tlabel: \"AI Fine-Tuning\",\n\t\ticon: \"🎯\",\n\t},\n\t{\n\t\tid: \"project-management\",\n\t\tname: \"Project Management\",\n\t\tdescription: \"Project Management\",\n\t\tlabel: \"Project Management\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"business-intelligence\",\n\t\tname: \"Business Intelligence\",\n\t\tdescription: \"Business Intelligence\",\n\t\tlabel: \"Business Intelligence\",\n\t\ticon: \"📈\",\n\t},\n\t{\n\t\tid: \"dns-networking\",\n\t\tname: \"DNS & Networking\",\n\t\tdescription: \"DNS & Networking\",\n\t\tlabel: \"DNS & Networking\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"iot\",\n\t\tname: \"IoT & Edge\",\n\t\tdescription: \"IoT & Edge\",\n\t\tlabel: \"IoT & Edge\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"saas-boilerplate\",\n\t\tname: \"SaaS Boilerplates\",\n\t\tdescription: \"Full-stack SaaS starter kits and boilerplates\",\n\t\tlabel: \"SaaS Boilerplates\",\n\t\ticon: \"🚀\",\n\t},\n];\n"],"mappings":";AAmJA,MAAa,qBAAqC;CACjD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type {\n\tAddedDependencySchema,\n\tAddonStackInputSchema,\n\tAddonStackResultSchema,\n\tAddonStackUpdateInputSchema,\n\tAddonStackUpdateResultSchema,\n\tAgentFrameworkSchema,\n\tAiProviderSchema,\n\tApiErrorSchema,\n\tBuildContextSchema,\n\tComposeOptionsSchema,\n\tDeploymentTargetSchema,\n\tDeploymentTypeSchema,\n\tDeploySchema,\n\tDeployTargetSchema,\n\tEnvQuirkFixSchema,\n\tEnvQuirkSchema,\n\tEnvVariableSchema,\n\tErrorSchema,\n\tGenerationInputSchema,\n\tGitSourceSchema,\n\tGsdRuntimeSchema,\n\tHealthCheckSchema,\n\tMaturitySchema,\n\tNativePlatformSchema,\n\tNativeRecipeSchema,\n\tOpenclawImageVariantSchema,\n\tOpenclawInstallMethodSchema,\n\tOutputFormatSchema,\n\tPlatformSchema,\n\tPortMappingSchema,\n\tPresetSchema,\n\tProxyRouteSchema,\n\tProxyTypeSchema,\n\tResolvedServiceSchema,\n\tResolverOutputSchema,\n\tResourceLimitsSchema,\n\tRestartPolicySchema,\n\tServiceCategorySchema,\n\tServiceDefinitionSchema,\n\tSkillBindingSchema,\n\tSkillPackSchema,\n\tSkippedServiceSchema,\n\tValidateRequestSchema,\n\tValidateResponseSchema,\n\tVolumeMappingSchema,\n\tWarningSchema,\n} from \"./schema.js\";\n\n// ─── Inferred Types ─────────────────────────────────────────────────────────\n\nexport type AgentFramework = z.infer<typeof AgentFrameworkSchema>;\nexport type AiProvider = z.infer<typeof AiProviderSchema>;\nexport type GsdRuntime = z.infer<typeof GsdRuntimeSchema>;\nexport type ServiceCategory = z.infer<typeof ServiceCategorySchema>;\nexport type Maturity = z.infer<typeof MaturitySchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type RestartPolicy = z.infer<typeof RestartPolicySchema>;\nexport type ProxyType = z.infer<typeof ProxyTypeSchema>;\nexport type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;\nexport type DeploymentType = z.infer<typeof DeploymentTypeSchema>;\nexport type NativePlatform = z.infer<typeof NativePlatformSchema>;\nexport type NativeRecipe = z.infer<typeof NativeRecipeSchema>;\nexport type GitSource = z.infer<typeof GitSourceSchema>;\nexport type BuildContext = z.infer<typeof BuildContextSchema>;\nexport type OutputFormat = z.infer<typeof OutputFormatSchema>;\nexport type OpenclawImageVariant = z.infer<typeof OpenclawImageVariantSchema>;\nexport type OpenclawInstallMethod = z.infer<typeof OpenclawInstallMethodSchema>;\nexport type DeployTarget = z.infer<typeof DeployTargetSchema>;\n\nexport type PortMapping = z.infer<typeof PortMappingSchema>;\nexport type VolumeMapping = z.infer<typeof VolumeMappingSchema>;\nexport type EnvVariable = z.infer<typeof EnvVariableSchema>;\nexport type HealthCheck = z.infer<typeof HealthCheckSchema>;\nexport type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;\nexport type Deploy = z.infer<typeof DeploySchema>;\nexport type SkillBinding = z.infer<typeof SkillBindingSchema>;\n\nexport type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;\nexport type SkillPack = z.infer<typeof SkillPackSchema>;\nexport type Preset = z.infer<typeof PresetSchema>;\n\nexport type GenerationInput = z.infer<typeof GenerationInputSchema>;\nexport type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {\n\t/** Dynamic Traefik labels per service, computed by the Traefik generator. */\n\ttraefikLabels?: Map<string, Record<string, string>>;\n};\nexport type ResolvedService = z.infer<typeof ResolvedServiceSchema>;\nexport type AddedDependency = z.infer<typeof AddedDependencySchema>;\nexport type Warning = z.infer<typeof WarningSchema>;\nexport type ResolverError = z.infer<typeof ErrorSchema>;\nexport type ResolverOutput = z.infer<typeof ResolverOutputSchema>;\n\nexport type ValidateRequest = z.infer<typeof ValidateRequestSchema>;\nexport type ValidateResponse = z.infer<typeof ValidateResponseSchema>;\nexport type ApiError = z.infer<typeof ApiErrorSchema>;\n\n// Addon Stack (Clawexa)\nexport type EnvQuirkFix = z.infer<typeof EnvQuirkFixSchema>;\nexport type EnvQuirk = z.infer<typeof EnvQuirkSchema>;\nexport type ProxyRoute = z.infer<typeof ProxyRouteSchema>;\nexport type SkippedService = z.infer<typeof SkippedServiceSchema>;\nexport type AddonStackInput = z.infer<typeof AddonStackInputSchema>;\nexport type AddonStackResult = z.infer<typeof AddonStackResultSchema>;\nexport type AddonStackUpdateInput = z.infer<typeof AddonStackUpdateInputSchema>;\nexport type AddonStackUpdateResult = z.infer<typeof AddonStackUpdateResultSchema>;\n\n// ─── Additional Types ───────────────────────────────────────────────────────\n\nexport interface ResolverInput {\n\tservices: string[];\n\tskillPacks: string[];\n\taiProviders?: AiProvider[];\n\tgsdRuntimes?: GsdRuntime[];\n\tprimaryFramework?: AgentFramework;\n\tproxy?: ProxyType;\n\tgpu?: boolean;\n\tplatform?: Platform;\n\tdeployment?: DeploymentType;\n\tdeploymentType?: DeploymentType;\n\tmonitoring?: boolean;\n\tmemoryThresholds?: { info: number; warning: number; critical: number };\n}\n\nexport interface GeneratedFiles {\n\t[path: string]: string;\n}\n\nexport interface GenerationMetadata {\n\tserviceCount: number;\n\tskillCount: number;\n\testimatedMemoryMB: number;\n\tresolvedServices: string[];\n\tgeneratedAt: string;\n}\n\nexport interface GenerationResult {\n\tfiles: GeneratedFiles;\n\tmetadata: GenerationMetadata;\n}\n\nexport interface CategoryInfo {\n\tid: ServiceCategory;\n\tname: string;\n\tdescription?: string;\n\tlabel?: string;\n\ticon: string;\n}\n\nexport const SERVICE_CATEGORIES: CategoryInfo[] = [\n\t{\n\t\tid: \"agent-framework\",\n\t\tname: \"Agent Frameworks\",\n\t\tdescription: \"AI agent orchestrators that can serve as primary or companion runtimes\",\n\t\tlabel: \"Agent Frameworks\",\n\t\ticon: \"🤖\",\n\t},\n\t{\n\t\tid: \"coding-agent\",\n\t\tname: \"AI Coding Agents\",\n\t\tdescription: \"AI Coding Agents\",\n\t\tlabel: \"AI Coding Agents\",\n\t\ticon: \"💻\",\n\t},\n\t{\n\t\tid: \"ai-platform\",\n\t\tname: \"AI Platforms & Chat UIs\",\n\t\tdescription: \"AI Platforms & Chat UIs\",\n\t\tlabel: \"AI Platforms & Chat UIs\",\n\t\ticon: \"🧪\",\n\t},\n\t{\n\t\tid: \"ai\",\n\t\tname: \"AI / Local Models\",\n\t\tdescription: \"AI / Local Models\",\n\t\tlabel: \"AI / Local Models\",\n\t\ticon: \"🤖\",\n\t},\n\t{\n\t\tid: \"automation\",\n\t\tname: \"Automation & Workflows\",\n\t\tdescription: \"Automation & Workflows\",\n\t\tlabel: \"Automation & Workflows\",\n\t\ticon: \"🔄\",\n\t},\n\t{\n\t\tid: \"vector-db\",\n\t\tname: \"Vector Databases\",\n\t\tdescription: \"Vector Databases\",\n\t\tlabel: \"Vector Databases\",\n\t\ticon: \"🧠\",\n\t},\n\t{\n\t\tid: \"media\",\n\t\tname: \"Media & Video\",\n\t\tdescription: \"Media & Video\",\n\t\tlabel: \"Media & Video\",\n\t\ticon: \"🎬\",\n\t},\n\t{\n\t\tid: \"social-media\",\n\t\tname: \"Social Media\",\n\t\tdescription: \"Social Media\",\n\t\tlabel: \"Social Media\",\n\t\ticon: \"📱\",\n\t},\n\t{\n\t\tid: \"analytics\",\n\t\tname: \"Analytics\",\n\t\tdescription: \"Analytics\",\n\t\tlabel: \"Analytics\",\n\t\ticon: \"📊\",\n\t},\n\t{\n\t\tid: \"knowledge\",\n\t\tname: \"Knowledge & Documents\",\n\t\tdescription: \"Knowledge & Documents\",\n\t\tlabel: \"Knowledge & Documents\",\n\t\ticon: \"📚\",\n\t},\n\t{\n\t\tid: \"storage\",\n\t\tname: \"Object Storage\",\n\t\tdescription: \"Object Storage\",\n\t\tlabel: \"Object Storage\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"database\",\n\t\tname: \"Databases & Caching\",\n\t\tdescription: \"Databases & Caching\",\n\t\tlabel: \"Databases & Caching\",\n\t\ticon: \"🗄️\",\n\t},\n\t{\n\t\tid: \"dev-tools\",\n\t\tname: \"Developer Tools\",\n\t\tdescription: \"Developer Tools\",\n\t\tlabel: \"Developer Tools\",\n\t\ticon: \"🛠️\",\n\t},\n\t{\n\t\tid: \"proxy\",\n\t\tname: \"Reverse Proxy\",\n\t\tdescription: \"Reverse Proxy\",\n\t\tlabel: \"Reverse Proxy\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"monitoring\",\n\t\tname: \"Monitoring\",\n\t\tdescription: \"Monitoring\",\n\t\tlabel: \"Monitoring\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"browser\",\n\t\tname: \"Browser Automation\",\n\t\tdescription: \"Browser Automation\",\n\t\tlabel: \"Browser Automation\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"search\",\n\t\tname: \"Search\",\n\t\tdescription: \"Search\",\n\t\tlabel: \"Search\",\n\t\ticon: \"🔍\",\n\t},\n\t{\n\t\tid: \"communication\",\n\t\tname: \"Notifications\",\n\t\tdescription: \"Notifications\",\n\t\tlabel: \"Notifications\",\n\t\ticon: \"🔔\",\n\t},\n\t{\n\t\tid: \"desktop\",\n\t\tname: \"Desktop Environment\",\n\t\tdescription: \"Desktop Environment\",\n\t\tlabel: \"Desktop Environment\",\n\t\ticon: \"🖥️\",\n\t},\n\t{\n\t\tid: \"streaming\",\n\t\tname: \"Streaming & Relay\",\n\t\tdescription: \"Streaming & Relay\",\n\t\tlabel: \"Streaming & Relay\",\n\t\ticon: \"📺\",\n\t},\n\t{\n\t\tid: \"security\",\n\t\tname: \"Security & Pentesting\",\n\t\tdescription: \"Security & Pentesting\",\n\t\tlabel: \"Security & Pentesting\",\n\t\ticon: \"🛡️\",\n\t},\n\t{\n\t\tid: \"billing\",\n\t\tname: \"Billing & Payments\",\n\t\tdescription: \"Billing & Payments\",\n\t\tlabel: \"Billing & Payments\",\n\t\ticon: \"💳\",\n\t},\n\t{\n\t\tid: \"crm\",\n\t\tname: \"CRM & Customer Management\",\n\t\tdescription: \"CRM & Customer Management\",\n\t\tlabel: \"CRM & Customer Management\",\n\t\ticon: \"🤝\",\n\t},\n\t{\n\t\tid: \"email-marketing\",\n\t\tname: \"Email & Marketing\",\n\t\tdescription: \"Email & Marketing\",\n\t\tlabel: \"Email & Marketing\",\n\t\ticon: \"📧\",\n\t},\n\t{\n\t\tid: \"forms\",\n\t\tname: \"Forms & Surveys\",\n\t\tdescription: \"Forms & Surveys\",\n\t\tlabel: \"Forms & Surveys\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"api-gateway\",\n\t\tname: \"API Management\",\n\t\tdescription: \"API Management\",\n\t\tlabel: \"API Management\",\n\t\ticon: \"🔌\",\n\t},\n\t{\n\t\tid: \"backup\",\n\t\tname: \"Backup & Recovery\",\n\t\tdescription: \"Backup & Recovery\",\n\t\tlabel: \"Backup & Recovery\",\n\t\ticon: \"💾\",\n\t},\n\t{\n\t\tid: \"voice\",\n\t\tname: \"Voice & Telephony\",\n\t\tdescription: \"Voice & Telephony\",\n\t\tlabel: \"Voice & Telephony\",\n\t\ticon: \"📞\",\n\t},\n\t{\n\t\tid: \"ecommerce\",\n\t\tname: \"E-Commerce\",\n\t\tdescription: \"E-Commerce\",\n\t\tlabel: \"E-Commerce\",\n\t\ticon: \"🛒\",\n\t},\n\t{\n\t\tid: \"collaboration\",\n\t\tname: \"Real-Time Collaboration\",\n\t\tdescription: \"Real-Time Collaboration\",\n\t\tlabel: \"Real-Time Collaboration\",\n\t\ticon: \"✏️\",\n\t},\n\t{\n\t\tid: \"ai-observability\",\n\t\tname: \"AI Observability\",\n\t\tdescription: \"AI Observability\",\n\t\tlabel: \"AI Observability\",\n\t\ticon: \"🔭\",\n\t},\n\t{\n\t\tid: \"fine-tuning\",\n\t\tname: \"AI Fine-Tuning\",\n\t\tdescription: \"AI Fine-Tuning\",\n\t\tlabel: \"AI Fine-Tuning\",\n\t\ticon: \"🎯\",\n\t},\n\t{\n\t\tid: \"project-management\",\n\t\tname: \"Project Management\",\n\t\tdescription: \"Project Management\",\n\t\tlabel: \"Project Management\",\n\t\ticon: \"📋\",\n\t},\n\t{\n\t\tid: \"business-intelligence\",\n\t\tname: \"Business Intelligence\",\n\t\tdescription: \"Business Intelligence\",\n\t\tlabel: \"Business Intelligence\",\n\t\ticon: \"📈\",\n\t},\n\t{\n\t\tid: \"dns-networking\",\n\t\tname: \"DNS & Networking\",\n\t\tdescription: \"DNS & Networking\",\n\t\tlabel: \"DNS & Networking\",\n\t\ticon: \"🌐\",\n\t},\n\t{\n\t\tid: \"iot\",\n\t\tname: \"IoT & Edge\",\n\t\tdescription: \"IoT & Edge\",\n\t\tlabel: \"IoT & Edge\",\n\t\ticon: \"📡\",\n\t},\n\t{\n\t\tid: \"saas-boilerplate\",\n\t\tname: \"SaaS Boilerplates\",\n\t\tdescription: \"Full-stack SaaS starter kits and boilerplates\",\n\t\tlabel: \"SaaS Boilerplates\",\n\t\ticon: \"🚀\",\n\t},\n];\n"],"mappings":";AAsJA,MAAa,qBAAqC;CACjD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD;EACC,IAAI;EACJ,MAAM;EACN,aAAa;EACb,OAAO;EACP,MAAM;EACN;CACD"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("./skills-BSF7iNa4.cjs");
2
+ require("./skills-uPxJVmKk.cjs");
3
3
  let yaml = require("yaml");
4
4
  //#region src/validator.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { ResolverError, ResolverOutput, Warning } from "./types.cjs";
1
+ import { B as ResolverOutput, Q as Warning, R as ResolverError } from "./types-Bsn0XzSP.cjs";
2
2
 
3
3
  //#region src/validator.d.ts
4
4
  interface ValidationResult {
@@ -1,4 +1,4 @@
1
- import { ResolverError, ResolverOutput, Warning } from "./types.mjs";
1
+ import { B as ResolverOutput, Q as Warning, R as ResolverError } from "./types-DwTKyCZ9.mjs";
2
2
 
3
3
  //#region src/validator.d.ts
4
4
  interface ValidationResult {
@@ -1,4 +1,4 @@
1
- const require_test_CTcmp4Su = require("./test.CTcmp4Su-DlzTarwH.cjs");
1
+ const require_test_CTcmp4Su = require("./test.CTcmp4Su-BWSPM8ZQ.cjs");
2
2
  const require_composer = require("./composer.cjs");
3
3
  const require_resolver = require("./resolver.cjs");
4
4
  const require_validator = require("./validator.cjs");
@@ -1,4 +1,4 @@
1
- import { n as describe, r as it, t as globalExpect } from "./test.CTcmp4Su-ClCHJ3FA.mjs";
1
+ import { a as describe, o as it, t as globalExpect } from "./test.CTcmp4Su-BRa7-bTj.mjs";
2
2
  import { compose } from "./composer.mjs";
3
3
  import { resolve } from "./resolver.mjs";
4
4
  import { validate } from "./validator.mjs";
@@ -1,4 +1,4 @@
1
- import { ResolverOutput, ServiceDefinition, Warning } from "./types.cjs";
1
+ import { B as ResolverOutput, G as ServiceDefinition, Q as Warning } from "./types-Bsn0XzSP.cjs";
2
2
 
3
3
  //#region src/version-manager.d.ts
4
4
  /** Get the pinned image tag for a service */
@@ -1,4 +1,4 @@
1
- import { ResolverOutput, ServiceDefinition, Warning } from "./types.mjs";
1
+ import { B as ResolverOutput, G as ServiceDefinition, Q as Warning } from "./types-DwTKyCZ9.mjs";
2
2
 
3
3
  //#region src/version-manager.d.ts
4
4
  /** Get the pinned image tag for a service */
@@ -1,4 +1,4 @@
1
- const require_test_CTcmp4Su = require("./test.CTcmp4Su-DlzTarwH.cjs");
1
+ const require_test_CTcmp4Su = require("./test.CTcmp4Su-BWSPM8ZQ.cjs");
2
2
  const require_services_registry = require("./services/registry.cjs");
3
3
  const require_resolver = require("./resolver.cjs");
4
4
  const require_version_manager = require("./version-manager.cjs");
@@ -39,7 +39,7 @@ require_test_CTcmp4Su.describe("pinImageTags", () => {
39
39
  if (svc.definition.gitSource) continue;
40
40
  require_test_CTcmp4Su.globalExpect(svc.definition.imageTag).toBeDefined();
41
41
  require_test_CTcmp4Su.globalExpect(typeof svc.definition.imageTag).toBe("string");
42
- require_test_CTcmp4Su.globalExpect(svc.definition.imageTag.length).toBeGreaterThan(0);
42
+ require_test_CTcmp4Su.globalExpect(svc.definition.imageTag?.length).toBeGreaterThan(0);
43
43
  }
44
44
  });
45
45
  require_test_CTcmp4Su.it("does not mutate the original resolved output", () => {
@@ -65,7 +65,7 @@ require_test_CTcmp4Su.describe("pinImageTags", () => {
65
65
  const pinned = require_version_manager.pinImageTags(resolved);
66
66
  const redis = pinned.services.find((s) => s.definition.id === "redis");
67
67
  require_test_CTcmp4Su.globalExpect(redis).toBeDefined();
68
- require_test_CTcmp4Su.globalExpect(redis.definition.name).toBe("Redis");
68
+ require_test_CTcmp4Su.globalExpect(redis?.definition.name).toBe("Redis");
69
69
  require_test_CTcmp4Su.globalExpect(pinned.estimatedMemoryMB).toBe(resolved.estimatedMemoryMB);
70
70
  });
71
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"version-manager.test.cjs","names":["describe","getImageTag","getImageReference","resolve","pinImageTags","getAllServices","checkCompatibility","getServiceById"],"sources":["../src/version-manager.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"./resolver.js\";\nimport { getAllServices, getServiceById } from \"./services/registry.js\";\nimport {\n\tcheckCompatibility,\n\tgetImageReference,\n\tgetImageTag,\n\tpinImageTags,\n} from \"./version-manager.js\";\n\ndescribe(\"getImageTag\", () => {\n\tit(\"returns the tag for a known service\", () => {\n\t\tconst tag = getImageTag(\"redis\");\n\t\texpect(tag).toBeDefined();\n\t\texpect(typeof tag).toBe(\"string\");\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageTag(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"getImageReference\", () => {\n\tit(\"returns image:tag for a known service\", () => {\n\t\tconst ref = getImageReference(\"redis\");\n\t\texpect(ref).toBeDefined();\n\t\texpect(ref).toContain(\":\");\n\t\texpect(ref).toMatch(/^.+:.+$/);\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageReference(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"pinImageTags\", () => {\n\tit(\"pins image tags from the registry for all services\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\", \"postgresql\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\n\t\texpect(pinned.services).toHaveLength(resolved.services.length);\n\n\t\tfor (const svc of pinned.services) {\n\t\t\t// Git-based services (e.g., mission-control) don't have imageTag\n\t\t\tif (svc.definition.gitSource) continue;\n\t\t\texpect(svc.definition.imageTag).toBeDefined();\n\t\t\texpect(typeof svc.definition.imageTag).toBe(\"string\");\n\t\t\texpect(svc.definition.imageTag!.length).toBeGreaterThan(0);\n\t\t}\n\t});\n\n\tit(\"does not mutate the original resolved output\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst redis = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\tconst originalTag = redis?.definition.imageTag;\n\t\tpinImageTags(resolved);\n\n\t\tconst redisAfter = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redisAfter?.definition.imageTag).toBe(originalTag);\n\t});\n\n\tit(\"preserves non-tag properties\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\t\tconst redis = pinned.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redis).toBeDefined();\n\t\texpect(redis!.definition.name).toBe(\"Redis\");\n\t\texpect(pinned.estimatedMemoryMB).toBe(resolved.estimatedMemoryMB);\n\t});\n});\n\ndescribe(\"checkCompatibility\", () => {\n\tit(\"warns when Redis and Valkey are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst redis = all.find((s) => s.id === \"redis\");\n\t\tconst valkey = all.find((s) => s.id === \"valkey\");\n\n\t\tif (redis && valkey) {\n\t\t\tconst warnings = checkCompatibility([redis, valkey]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Redis\") && w.message.includes(\"Valkey\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns when Caddy and Traefik are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst caddy = all.find((s) => s.id === \"caddy\");\n\t\tconst traefik = all.find((s) => s.id === \"traefik\");\n\n\t\tif (caddy && traefik) {\n\t\t\tconst warnings = checkCompatibility([caddy, traefik]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Caddy\") && w.message.includes(\"Traefik\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about multiple vector databases\", () => {\n\t\tconst all = getAllServices();\n\t\tconst qdrant = all.find((s) => s.id === \"qdrant\");\n\t\tconst chromadb = all.find((s) => s.id === \"chromadb\");\n\n\t\tif (qdrant && chromadb) {\n\t\t\tconst warnings = checkCompatibility([qdrant, chromadb]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"vector database\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about GPU services\", () => {\n\t\tconst all = getAllServices();\n\t\tconst gpuService = all.find((s) => s.gpuRequired);\n\n\t\tif (gpuService) {\n\t\t\tconst warnings = checkCompatibility([gpuService]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"GPU\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"returns no warnings for a single non-conflicting service\", () => {\n\t\tconst redis = getServiceById(\"redis\");\n\t\tif (redis) {\n\t\t\tconst warnings = checkCompatibility([redis]);\n\t\t\texpect(\n\t\t\t\twarnings.filter((w) => w.type === \"compatibility\" && !w.message.includes(\"GPU\")),\n\t\t\t).toHaveLength(0);\n\t\t}\n\t});\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"version-manager.test.cjs","names":["describe","getImageTag","getImageReference","resolve","pinImageTags","getAllServices","checkCompatibility","getServiceById"],"sources":["../src/version-manager.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"./resolver.js\";\nimport { getAllServices, getServiceById } from \"./services/registry.js\";\nimport {\n\tcheckCompatibility,\n\tgetImageReference,\n\tgetImageTag,\n\tpinImageTags,\n} from \"./version-manager.js\";\n\ndescribe(\"getImageTag\", () => {\n\tit(\"returns the tag for a known service\", () => {\n\t\tconst tag = getImageTag(\"redis\");\n\t\texpect(tag).toBeDefined();\n\t\texpect(typeof tag).toBe(\"string\");\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageTag(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"getImageReference\", () => {\n\tit(\"returns image:tag for a known service\", () => {\n\t\tconst ref = getImageReference(\"redis\");\n\t\texpect(ref).toBeDefined();\n\t\texpect(ref).toContain(\":\");\n\t\texpect(ref).toMatch(/^.+:.+$/);\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageReference(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"pinImageTags\", () => {\n\tit(\"pins image tags from the registry for all services\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\", \"postgresql\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\n\t\texpect(pinned.services).toHaveLength(resolved.services.length);\n\n\t\tfor (const svc of pinned.services) {\n\t\t\t// Git-based services (e.g., mission-control) don't have imageTag\n\t\t\tif (svc.definition.gitSource) continue;\n\t\t\texpect(svc.definition.imageTag).toBeDefined();\n\t\t\texpect(typeof svc.definition.imageTag).toBe(\"string\");\n\t\t\texpect(svc.definition.imageTag?.length).toBeGreaterThan(0);\n\t\t}\n\t});\n\n\tit(\"does not mutate the original resolved output\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst redis = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\tconst originalTag = redis?.definition.imageTag;\n\t\tpinImageTags(resolved);\n\n\t\tconst redisAfter = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redisAfter?.definition.imageTag).toBe(originalTag);\n\t});\n\n\tit(\"preserves non-tag properties\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\t\tconst redis = pinned.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redis).toBeDefined();\n\t\texpect(redis?.definition.name).toBe(\"Redis\");\n\t\texpect(pinned.estimatedMemoryMB).toBe(resolved.estimatedMemoryMB);\n\t});\n});\n\ndescribe(\"checkCompatibility\", () => {\n\tit(\"warns when Redis and Valkey are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst redis = all.find((s) => s.id === \"redis\");\n\t\tconst valkey = all.find((s) => s.id === \"valkey\");\n\n\t\tif (redis && valkey) {\n\t\t\tconst warnings = checkCompatibility([redis, valkey]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Redis\") && w.message.includes(\"Valkey\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns when Caddy and Traefik are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst caddy = all.find((s) => s.id === \"caddy\");\n\t\tconst traefik = all.find((s) => s.id === \"traefik\");\n\n\t\tif (caddy && traefik) {\n\t\t\tconst warnings = checkCompatibility([caddy, traefik]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Caddy\") && w.message.includes(\"Traefik\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about multiple vector databases\", () => {\n\t\tconst all = getAllServices();\n\t\tconst qdrant = all.find((s) => s.id === \"qdrant\");\n\t\tconst chromadb = all.find((s) => s.id === \"chromadb\");\n\n\t\tif (qdrant && chromadb) {\n\t\t\tconst warnings = checkCompatibility([qdrant, chromadb]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"vector database\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about GPU services\", () => {\n\t\tconst all = getAllServices();\n\t\tconst gpuService = all.find((s) => s.gpuRequired);\n\n\t\tif (gpuService) {\n\t\t\tconst warnings = checkCompatibility([gpuService]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"GPU\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"returns no warnings for a single non-conflicting service\", () => {\n\t\tconst redis = getServiceById(\"redis\");\n\t\tif (redis) {\n\t\t\tconst warnings = checkCompatibility([redis]);\n\t\t\texpect(\n\t\t\t\twarnings.filter((w) => w.type === \"compatibility\" && !w.message.includes(\"GPU\")),\n\t\t\t).toHaveLength(0);\n\t\t}\n\t});\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { n as describe, r as it, t as globalExpect } from "./test.CTcmp4Su-ClCHJ3FA.mjs";
1
+ import { a as describe, o as it, t as globalExpect } from "./test.CTcmp4Su-BRa7-bTj.mjs";
2
2
  import { getAllServices, getServiceById } from "./services/registry.mjs";
3
3
  import { resolve } from "./resolver.mjs";
4
4
  import { checkCompatibility, getImageReference, getImageTag, pinImageTags } from "./version-manager.mjs";
@@ -39,7 +39,7 @@ describe("pinImageTags", () => {
39
39
  if (svc.definition.gitSource) continue;
40
40
  globalExpect(svc.definition.imageTag).toBeDefined();
41
41
  globalExpect(typeof svc.definition.imageTag).toBe("string");
42
- globalExpect(svc.definition.imageTag.length).toBeGreaterThan(0);
42
+ globalExpect(svc.definition.imageTag?.length).toBeGreaterThan(0);
43
43
  }
44
44
  });
45
45
  it("does not mutate the original resolved output", () => {
@@ -65,7 +65,7 @@ describe("pinImageTags", () => {
65
65
  const pinned = pinImageTags(resolved);
66
66
  const redis = pinned.services.find((s) => s.definition.id === "redis");
67
67
  globalExpect(redis).toBeDefined();
68
- globalExpect(redis.definition.name).toBe("Redis");
68
+ globalExpect(redis?.definition.name).toBe("Redis");
69
69
  globalExpect(pinned.estimatedMemoryMB).toBe(resolved.estimatedMemoryMB);
70
70
  });
71
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"version-manager.test.mjs","names":[],"sources":["../src/version-manager.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"./resolver.js\";\nimport { getAllServices, getServiceById } from \"./services/registry.js\";\nimport {\n\tcheckCompatibility,\n\tgetImageReference,\n\tgetImageTag,\n\tpinImageTags,\n} from \"./version-manager.js\";\n\ndescribe(\"getImageTag\", () => {\n\tit(\"returns the tag for a known service\", () => {\n\t\tconst tag = getImageTag(\"redis\");\n\t\texpect(tag).toBeDefined();\n\t\texpect(typeof tag).toBe(\"string\");\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageTag(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"getImageReference\", () => {\n\tit(\"returns image:tag for a known service\", () => {\n\t\tconst ref = getImageReference(\"redis\");\n\t\texpect(ref).toBeDefined();\n\t\texpect(ref).toContain(\":\");\n\t\texpect(ref).toMatch(/^.+:.+$/);\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageReference(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"pinImageTags\", () => {\n\tit(\"pins image tags from the registry for all services\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\", \"postgresql\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\n\t\texpect(pinned.services).toHaveLength(resolved.services.length);\n\n\t\tfor (const svc of pinned.services) {\n\t\t\t// Git-based services (e.g., mission-control) don't have imageTag\n\t\t\tif (svc.definition.gitSource) continue;\n\t\t\texpect(svc.definition.imageTag).toBeDefined();\n\t\t\texpect(typeof svc.definition.imageTag).toBe(\"string\");\n\t\t\texpect(svc.definition.imageTag!.length).toBeGreaterThan(0);\n\t\t}\n\t});\n\n\tit(\"does not mutate the original resolved output\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst redis = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\tconst originalTag = redis?.definition.imageTag;\n\t\tpinImageTags(resolved);\n\n\t\tconst redisAfter = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redisAfter?.definition.imageTag).toBe(originalTag);\n\t});\n\n\tit(\"preserves non-tag properties\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\t\tconst redis = pinned.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redis).toBeDefined();\n\t\texpect(redis!.definition.name).toBe(\"Redis\");\n\t\texpect(pinned.estimatedMemoryMB).toBe(resolved.estimatedMemoryMB);\n\t});\n});\n\ndescribe(\"checkCompatibility\", () => {\n\tit(\"warns when Redis and Valkey are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst redis = all.find((s) => s.id === \"redis\");\n\t\tconst valkey = all.find((s) => s.id === \"valkey\");\n\n\t\tif (redis && valkey) {\n\t\t\tconst warnings = checkCompatibility([redis, valkey]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Redis\") && w.message.includes(\"Valkey\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns when Caddy and Traefik are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst caddy = all.find((s) => s.id === \"caddy\");\n\t\tconst traefik = all.find((s) => s.id === \"traefik\");\n\n\t\tif (caddy && traefik) {\n\t\t\tconst warnings = checkCompatibility([caddy, traefik]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Caddy\") && w.message.includes(\"Traefik\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about multiple vector databases\", () => {\n\t\tconst all = getAllServices();\n\t\tconst qdrant = all.find((s) => s.id === \"qdrant\");\n\t\tconst chromadb = all.find((s) => s.id === \"chromadb\");\n\n\t\tif (qdrant && chromadb) {\n\t\t\tconst warnings = checkCompatibility([qdrant, chromadb]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"vector database\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about GPU services\", () => {\n\t\tconst all = getAllServices();\n\t\tconst gpuService = all.find((s) => s.gpuRequired);\n\n\t\tif (gpuService) {\n\t\t\tconst warnings = checkCompatibility([gpuService]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"GPU\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"returns no warnings for a single non-conflicting service\", () => {\n\t\tconst redis = getServiceById(\"redis\");\n\t\tif (redis) {\n\t\t\tconst warnings = checkCompatibility([redis]);\n\t\t\texpect(\n\t\t\t\twarnings.filter((w) => w.type === \"compatibility\" && !w.message.includes(\"GPU\")),\n\t\t\t).toHaveLength(0);\n\t\t}\n\t});\n});\n"],"mappings":";;;;;AAUA,SAAS,qBAAqB;AAC7B,IAAG,6CAA6C;EAC/C,MAAM,MAAM,YAAY,QAAQ;AAChC,eAAO,IAAI,CAAC,aAAa;AACzB,eAAO,OAAO,IAAI,CAAC,KAAK,SAAS;GAChC;AAEF,IAAG,kDAAkD;AACpD,eAAO,YAAY,0BAA0B,CAAC,CAAC,eAAe;GAC7D;EACD;AAEF,SAAS,2BAA2B;AACnC,IAAG,+CAA+C;EACjD,MAAM,MAAM,kBAAkB,QAAQ;AACtC,eAAO,IAAI,CAAC,aAAa;AACzB,eAAO,IAAI,CAAC,UAAU,IAAI;AAC1B,eAAO,IAAI,CAAC,QAAQ,UAAU;GAC7B;AAEF,IAAG,kDAAkD;AACpD,eAAO,kBAAkB,0BAA0B,CAAC,CAAC,eAAe;GACnE;EACD;AAEF,SAAS,sBAAsB;AAC9B,IAAG,4DAA4D;EAC9D,MAAM,WAAW,QAAQ;GACxB,UAAU,CAAC,SAAS,aAAa;GACjC,YAAY,EAAE;GACd,OAAO;GACP,KAAK;GACL,UAAU;GACV,CAAC;EAEF,MAAM,SAAS,aAAa,SAAS;AAErC,eAAO,OAAO,SAAS,CAAC,aAAa,SAAS,SAAS,OAAO;AAE9D,OAAK,MAAM,OAAO,OAAO,UAAU;AAElC,OAAI,IAAI,WAAW,UAAW;AAC9B,gBAAO,IAAI,WAAW,SAAS,CAAC,aAAa;AAC7C,gBAAO,OAAO,IAAI,WAAW,SAAS,CAAC,KAAK,SAAS;AACrD,gBAAO,IAAI,WAAW,SAAU,OAAO,CAAC,gBAAgB,EAAE;;GAE1D;AAEF,IAAG,sDAAsD;EACxD,MAAM,WAAW,QAAQ;GACxB,UAAU,CAAC,QAAQ;GACnB,YAAY,EAAE;GACd,OAAO;GACP,KAAK;GACL,UAAU;GACV,CAAC;EAGF,MAAM,cADQ,SAAS,SAAS,MAAM,MAAM,EAAE,WAAW,OAAO,QAAQ,EAC7C,WAAW;AACtC,eAAa,SAAS;AAGtB,eADmB,SAAS,SAAS,MAAM,MAAM,EAAE,WAAW,OAAO,QAAQ,EAC1D,WAAW,SAAS,CAAC,KAAK,YAAY;GACxD;AAEF,IAAG,sCAAsC;EACxC,MAAM,WAAW,QAAQ;GACxB,UAAU,CAAC,QAAQ;GACnB,YAAY,EAAE;GACd,OAAO;GACP,KAAK;GACL,UAAU;GACV,CAAC;EAEF,MAAM,SAAS,aAAa,SAAS;EACrC,MAAM,QAAQ,OAAO,SAAS,MAAM,MAAM,EAAE,WAAW,OAAO,QAAQ;AACtE,eAAO,MAAM,CAAC,aAAa;AAC3B,eAAO,MAAO,WAAW,KAAK,CAAC,KAAK,QAAQ;AAC5C,eAAO,OAAO,kBAAkB,CAAC,KAAK,SAAS,kBAAkB;GAChE;EACD;AAEF,SAAS,4BAA4B;AACpC,IAAG,uDAAuD;EACzD,MAAM,MAAM,gBAAgB;EAC5B,MAAM,QAAQ,IAAI,MAAM,MAAM,EAAE,OAAO,QAAQ;EAC/C,MAAM,SAAS,IAAI,MAAM,MAAM,EAAE,OAAO,SAAS;AAEjD,MAAI,SAAS,OAEZ,cADiB,mBAAmB,CAAC,OAAO,OAAO,CAAC,CAE1C,MAAM,MAAM,EAAE,QAAQ,SAAS,QAAQ,IAAI,EAAE,QAAQ,SAAS,SAAS,CAAC,CACjF,CAAC,KAAK,KAAK;GAEZ;AAEF,IAAG,wDAAwD;EAC1D,MAAM,MAAM,gBAAgB;EAC5B,MAAM,QAAQ,IAAI,MAAM,MAAM,EAAE,OAAO,QAAQ;EAC/C,MAAM,UAAU,IAAI,MAAM,MAAM,EAAE,OAAO,UAAU;AAEnD,MAAI,SAAS,QAEZ,cADiB,mBAAmB,CAAC,OAAO,QAAQ,CAAC,CAE3C,MAAM,MAAM,EAAE,QAAQ,SAAS,QAAQ,IAAI,EAAE,QAAQ,SAAS,UAAU,CAAC,CAClF,CAAC,KAAK,KAAK;GAEZ;AAEF,IAAG,+CAA+C;EACjD,MAAM,MAAM,gBAAgB;EAC5B,MAAM,SAAS,IAAI,MAAM,MAAM,EAAE,OAAO,SAAS;EACjD,MAAM,WAAW,IAAI,MAAM,MAAM,EAAE,OAAO,WAAW;AAErD,MAAI,UAAU,SAEb,cADiB,mBAAmB,CAAC,QAAQ,SAAS,CAAC,CACvC,MAAM,MAAM,EAAE,QAAQ,SAAS,kBAAkB,CAAC,CAAC,CAAC,KAAK,KAAK;GAE9E;AAEF,IAAG,kCAAkC;EAEpC,MAAM,aADM,gBAAgB,CACL,MAAM,MAAM,EAAE,YAAY;AAEjD,MAAI,WAEH,cADiB,mBAAmB,CAAC,WAAW,CAAC,CACjC,MAAM,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK;GAElE;AAEF,IAAG,kEAAkE;EACpE,MAAM,QAAQ,eAAe,QAAQ;AACrC,MAAI,MAEH,cADiB,mBAAmB,CAAC,MAAM,CAAC,CAElC,QAAQ,MAAM,EAAE,SAAS,mBAAmB,CAAC,EAAE,QAAQ,SAAS,MAAM,CAAC,CAChF,CAAC,aAAa,EAAE;GAEjB;EACD"}
1
+ {"version":3,"file":"version-manager.test.mjs","names":[],"sources":["../src/version-manager.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"./resolver.js\";\nimport { getAllServices, getServiceById } from \"./services/registry.js\";\nimport {\n\tcheckCompatibility,\n\tgetImageReference,\n\tgetImageTag,\n\tpinImageTags,\n} from \"./version-manager.js\";\n\ndescribe(\"getImageTag\", () => {\n\tit(\"returns the tag for a known service\", () => {\n\t\tconst tag = getImageTag(\"redis\");\n\t\texpect(tag).toBeDefined();\n\t\texpect(typeof tag).toBe(\"string\");\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageTag(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"getImageReference\", () => {\n\tit(\"returns image:tag for a known service\", () => {\n\t\tconst ref = getImageReference(\"redis\");\n\t\texpect(ref).toBeDefined();\n\t\texpect(ref).toContain(\":\");\n\t\texpect(ref).toMatch(/^.+:.+$/);\n\t});\n\n\tit(\"returns undefined for an unknown service\", () => {\n\t\texpect(getImageReference(\"nonexistent-service-xyz\")).toBeUndefined();\n\t});\n});\n\ndescribe(\"pinImageTags\", () => {\n\tit(\"pins image tags from the registry for all services\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\", \"postgresql\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\n\t\texpect(pinned.services).toHaveLength(resolved.services.length);\n\n\t\tfor (const svc of pinned.services) {\n\t\t\t// Git-based services (e.g., mission-control) don't have imageTag\n\t\t\tif (svc.definition.gitSource) continue;\n\t\t\texpect(svc.definition.imageTag).toBeDefined();\n\t\t\texpect(typeof svc.definition.imageTag).toBe(\"string\");\n\t\t\texpect(svc.definition.imageTag?.length).toBeGreaterThan(0);\n\t\t}\n\t});\n\n\tit(\"does not mutate the original resolved output\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst redis = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\tconst originalTag = redis?.definition.imageTag;\n\t\tpinImageTags(resolved);\n\n\t\tconst redisAfter = resolved.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redisAfter?.definition.imageTag).toBe(originalTag);\n\t});\n\n\tit(\"preserves non-tag properties\", () => {\n\t\tconst resolved = resolve({\n\t\t\tservices: [\"redis\"],\n\t\t\tskillPacks: [],\n\t\t\tproxy: \"none\",\n\t\t\tgpu: false,\n\t\t\tplatform: \"linux/amd64\",\n\t\t});\n\n\t\tconst pinned = pinImageTags(resolved);\n\t\tconst redis = pinned.services.find((s) => s.definition.id === \"redis\");\n\t\texpect(redis).toBeDefined();\n\t\texpect(redis?.definition.name).toBe(\"Redis\");\n\t\texpect(pinned.estimatedMemoryMB).toBe(resolved.estimatedMemoryMB);\n\t});\n});\n\ndescribe(\"checkCompatibility\", () => {\n\tit(\"warns when Redis and Valkey are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst redis = all.find((s) => s.id === \"redis\");\n\t\tconst valkey = all.find((s) => s.id === \"valkey\");\n\n\t\tif (redis && valkey) {\n\t\t\tconst warnings = checkCompatibility([redis, valkey]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Redis\") && w.message.includes(\"Valkey\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns when Caddy and Traefik are both selected\", () => {\n\t\tconst all = getAllServices();\n\t\tconst caddy = all.find((s) => s.id === \"caddy\");\n\t\tconst traefik = all.find((s) => s.id === \"traefik\");\n\n\t\tif (caddy && traefik) {\n\t\t\tconst warnings = checkCompatibility([caddy, traefik]);\n\t\t\texpect(\n\t\t\t\twarnings.some((w) => w.message.includes(\"Caddy\") && w.message.includes(\"Traefik\")),\n\t\t\t).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about multiple vector databases\", () => {\n\t\tconst all = getAllServices();\n\t\tconst qdrant = all.find((s) => s.id === \"qdrant\");\n\t\tconst chromadb = all.find((s) => s.id === \"chromadb\");\n\n\t\tif (qdrant && chromadb) {\n\t\t\tconst warnings = checkCompatibility([qdrant, chromadb]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"vector database\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"warns about GPU services\", () => {\n\t\tconst all = getAllServices();\n\t\tconst gpuService = all.find((s) => s.gpuRequired);\n\n\t\tif (gpuService) {\n\t\t\tconst warnings = checkCompatibility([gpuService]);\n\t\t\texpect(warnings.some((w) => w.message.includes(\"GPU\"))).toBe(true);\n\t\t}\n\t});\n\n\tit(\"returns no warnings for a single non-conflicting service\", () => {\n\t\tconst redis = getServiceById(\"redis\");\n\t\tif (redis) {\n\t\t\tconst warnings = checkCompatibility([redis]);\n\t\t\texpect(\n\t\t\t\twarnings.filter((w) => w.type === \"compatibility\" && !w.message.includes(\"GPU\")),\n\t\t\t).toHaveLength(0);\n\t\t}\n\t});\n});\n"],"mappings":"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"}