@better-openclaw/core 1.0.24 → 1.0.26

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 (226) hide show
  1. package/dist/addon-stack.cjs +725 -0
  2. package/dist/addon-stack.cjs.map +1 -0
  3. package/dist/addon-stack.d.cts +23 -0
  4. package/dist/addon-stack.d.cts.map +1 -0
  5. package/dist/addon-stack.d.mts +23 -0
  6. package/dist/addon-stack.d.mts.map +1 -0
  7. package/dist/addon-stack.mjs +723 -0
  8. package/dist/addon-stack.mjs.map +1 -0
  9. package/dist/addon-stack.test.cjs +461 -0
  10. package/dist/addon-stack.test.cjs.map +1 -0
  11. package/dist/addon-stack.test.d.cts +1 -0
  12. package/dist/addon-stack.test.d.mts +1 -0
  13. package/dist/addon-stack.test.mjs +461 -0
  14. package/dist/addon-stack.test.mjs.map +1 -0
  15. package/dist/bare-metal-partition.test.cjs +20 -20
  16. package/dist/bare-metal-partition.test.cjs.map +1 -1
  17. package/dist/bare-metal-partition.test.mjs +2 -2
  18. package/dist/compose-validation.test.cjs +1 -1
  19. package/dist/composer.cjs +5 -1
  20. package/dist/composer.cjs.map +1 -1
  21. package/dist/composer.d.cts +24 -1
  22. package/dist/composer.d.cts.map +1 -1
  23. package/dist/composer.d.mts +24 -1
  24. package/dist/composer.d.mts.map +1 -1
  25. package/dist/composer.mjs +1 -1
  26. package/dist/composer.mjs.map +1 -1
  27. package/dist/composer.snapshot.test.cjs +20 -20
  28. package/dist/composer.snapshot.test.cjs.map +1 -1
  29. package/dist/composer.snapshot.test.mjs +2 -2
  30. package/dist/composer.test.cjs +54 -54
  31. package/dist/composer.test.cjs.map +1 -1
  32. package/dist/composer.test.mjs +2 -2
  33. package/dist/deployers/strip-host-ports.cjs +1 -1
  34. package/dist/deployers/strip-host-ports.test.cjs +26 -26
  35. package/dist/deployers/strip-host-ports.test.cjs.map +1 -1
  36. package/dist/deployers/strip-host-ports.test.mjs +1 -1
  37. package/dist/generate.cjs +3 -3
  38. package/dist/generate.mjs +3 -3
  39. package/dist/generate.test.cjs +56 -56
  40. package/dist/generate.test.cjs.map +1 -1
  41. package/dist/generate.test.mjs +1 -1
  42. package/dist/generators/bare-metal-install.test.cjs +18 -18
  43. package/dist/generators/bare-metal-install.test.cjs.map +1 -1
  44. package/dist/generators/bare-metal-install.test.mjs +1 -1
  45. package/dist/generators/caddy.test.cjs +13 -13
  46. package/dist/generators/caddy.test.cjs.map +1 -1
  47. package/dist/generators/caddy.test.mjs +1 -1
  48. package/dist/generators/clone-repos.test.cjs +27 -27
  49. package/dist/generators/clone-repos.test.cjs.map +1 -1
  50. package/dist/generators/clone-repos.test.mjs +1 -1
  51. package/dist/generators/env.cjs +1 -1
  52. package/dist/generators/env.test.cjs +17 -17
  53. package/dist/generators/env.test.cjs.map +1 -1
  54. package/dist/generators/env.test.mjs +1 -1
  55. package/dist/generators/health-check.test.cjs +39 -39
  56. package/dist/generators/health-check.test.cjs.map +1 -1
  57. package/dist/generators/health-check.test.mjs +1 -1
  58. package/dist/generators/postgres-init.cjs +5 -0
  59. package/dist/generators/postgres-init.cjs.map +1 -1
  60. package/dist/generators/postgres-init.d.cts.map +1 -1
  61. package/dist/generators/postgres-init.d.mts.map +1 -1
  62. package/dist/generators/postgres-init.mjs +5 -0
  63. package/dist/generators/postgres-init.mjs.map +1 -1
  64. package/dist/generators/scripts.test.cjs +39 -39
  65. package/dist/generators/scripts.test.cjs.map +1 -1
  66. package/dist/generators/scripts.test.mjs +1 -1
  67. package/dist/generators/skills.cjs +1 -1
  68. package/dist/generators/skills.d.cts.map +1 -1
  69. package/dist/generators/skills.d.mts.map +1 -1
  70. package/dist/generators/skills.mjs +141 -0
  71. package/dist/generators/skills.mjs.map +1 -1
  72. package/dist/generators/traefik.test.cjs +32 -32
  73. package/dist/generators/traefik.test.cjs.map +1 -1
  74. package/dist/generators/traefik.test.mjs +1 -1
  75. package/dist/index.cjs +21 -5
  76. package/dist/index.d.cts +5 -4
  77. package/dist/index.d.mts +5 -4
  78. package/dist/index.mjs +7 -6
  79. package/dist/migrations.test.cjs +16 -16
  80. package/dist/migrations.test.cjs.map +1 -1
  81. package/dist/migrations.test.mjs +1 -1
  82. package/dist/presets/presets.test.cjs +1 -1
  83. package/dist/presets/registry.test.cjs +14 -14
  84. package/dist/presets/registry.test.cjs.map +1 -1
  85. package/dist/presets/registry.test.mjs +1 -1
  86. package/dist/resolver.test.cjs +95 -95
  87. package/dist/resolver.test.cjs.map +1 -1
  88. package/dist/resolver.test.mjs +1 -1
  89. package/dist/{schema-eX44HhRp.d.mts → schema-BQnZrcw8.d.cts} +300 -2
  90. package/dist/schema-BQnZrcw8.d.cts.map +1 -0
  91. package/dist/{schema-tn5RK8CM.d.cts → schema-SBpL0bdI.d.mts} +300 -2
  92. package/dist/schema-SBpL0bdI.d.mts.map +1 -0
  93. package/dist/schema.cjs +148 -2
  94. package/dist/schema.cjs.map +1 -1
  95. package/dist/schema.d.cts +2 -2
  96. package/dist/schema.d.mts +2 -2
  97. package/dist/schema.mjs +139 -2
  98. package/dist/schema.mjs.map +1 -1
  99. package/dist/schema.test.cjs +86 -86
  100. package/dist/schema.test.cjs.map +1 -1
  101. package/dist/schema.test.mjs +1 -1
  102. package/dist/services/definitions/browserless.cjs +4 -1
  103. package/dist/services/definitions/browserless.cjs.map +1 -1
  104. package/dist/services/definitions/browserless.mjs +4 -1
  105. package/dist/services/definitions/browserless.mjs.map +1 -1
  106. package/dist/services/definitions/burnlink.cjs +142 -0
  107. package/dist/services/definitions/burnlink.cjs.map +1 -0
  108. package/dist/services/definitions/burnlink.d.cts +7 -0
  109. package/dist/services/definitions/burnlink.d.cts.map +1 -0
  110. package/dist/services/definitions/burnlink.d.mts +7 -0
  111. package/dist/services/definitions/burnlink.d.mts.map +1 -0
  112. package/dist/services/definitions/burnlink.mjs +141 -0
  113. package/dist/services/definitions/burnlink.mjs.map +1 -0
  114. package/dist/services/definitions/convex.cjs +43 -1
  115. package/dist/services/definitions/convex.cjs.map +1 -1
  116. package/dist/services/definitions/convex.mjs +43 -1
  117. package/dist/services/definitions/convex.mjs.map +1 -1
  118. package/dist/services/definitions/grafana.cjs +11 -1
  119. package/dist/services/definitions/grafana.cjs.map +1 -1
  120. package/dist/services/definitions/grafana.mjs +11 -1
  121. package/dist/services/definitions/grafana.mjs.map +1 -1
  122. package/dist/services/definitions/hindsight.cjs +130 -0
  123. package/dist/services/definitions/hindsight.cjs.map +1 -0
  124. package/dist/services/definitions/hindsight.d.cts +7 -0
  125. package/dist/services/definitions/hindsight.d.cts.map +1 -0
  126. package/dist/services/definitions/hindsight.d.mts +7 -0
  127. package/dist/services/definitions/hindsight.d.mts.map +1 -0
  128. package/dist/services/definitions/hindsight.mjs +129 -0
  129. package/dist/services/definitions/hindsight.mjs.map +1 -0
  130. package/dist/services/definitions/index.cjs +9 -0
  131. package/dist/services/definitions/index.cjs.map +1 -1
  132. package/dist/services/definitions/index.d.cts +4 -1
  133. package/dist/services/definitions/index.d.cts.map +1 -1
  134. package/dist/services/definitions/index.d.mts +4 -1
  135. package/dist/services/definitions/index.d.mts.map +1 -1
  136. package/dist/services/definitions/index.mjs +7 -1
  137. package/dist/services/definitions/index.mjs.map +1 -1
  138. package/dist/services/definitions/meilisearch.cjs +11 -1
  139. package/dist/services/definitions/meilisearch.cjs.map +1 -1
  140. package/dist/services/definitions/meilisearch.mjs +11 -1
  141. package/dist/services/definitions/meilisearch.mjs.map +1 -1
  142. package/dist/services/definitions/minio.cjs +3 -1
  143. package/dist/services/definitions/minio.cjs.map +1 -1
  144. package/dist/services/definitions/minio.mjs +3 -1
  145. package/dist/services/definitions/minio.mjs.map +1 -1
  146. package/dist/services/definitions/n8n.cjs +11 -1
  147. package/dist/services/definitions/n8n.cjs.map +1 -1
  148. package/dist/services/definitions/n8n.mjs +11 -1
  149. package/dist/services/definitions/n8n.mjs.map +1 -1
  150. package/dist/services/definitions/ollama.cjs +3 -1
  151. package/dist/services/definitions/ollama.cjs.map +1 -1
  152. package/dist/services/definitions/ollama.mjs +3 -1
  153. package/dist/services/definitions/ollama.mjs.map +1 -1
  154. package/dist/services/definitions/opensandbox.cjs +149 -0
  155. package/dist/services/definitions/opensandbox.cjs.map +1 -0
  156. package/dist/services/definitions/opensandbox.d.cts +7 -0
  157. package/dist/services/definitions/opensandbox.d.cts.map +1 -0
  158. package/dist/services/definitions/opensandbox.d.mts +7 -0
  159. package/dist/services/definitions/opensandbox.d.mts.map +1 -0
  160. package/dist/services/definitions/opensandbox.mjs +148 -0
  161. package/dist/services/definitions/opensandbox.mjs.map +1 -0
  162. package/dist/services/definitions/qdrant.cjs +3 -1
  163. package/dist/services/definitions/qdrant.cjs.map +1 -1
  164. package/dist/services/definitions/qdrant.mjs +3 -1
  165. package/dist/services/definitions/qdrant.mjs.map +1 -1
  166. package/dist/services/definitions/searxng.cjs +8 -1
  167. package/dist/services/definitions/searxng.cjs.map +1 -1
  168. package/dist/services/definitions/searxng.mjs +8 -1
  169. package/dist/services/definitions/searxng.mjs.map +1 -1
  170. package/dist/services/definitions/uptime-kuma.cjs +8 -1
  171. package/dist/services/definitions/uptime-kuma.cjs.map +1 -1
  172. package/dist/services/definitions/uptime-kuma.mjs +8 -1
  173. package/dist/services/definitions/uptime-kuma.mjs.map +1 -1
  174. package/dist/services/registry.test.cjs +36 -36
  175. package/dist/services/registry.test.cjs.map +1 -1
  176. package/dist/services/registry.test.mjs +1 -1
  177. package/dist/{skills-BlzpHmpH.cjs → skills-BSF7iNa4.cjs} +142 -1
  178. package/dist/{skills-BlzpHmpH.cjs.map → skills-BSF7iNa4.cjs.map} +1 -1
  179. package/dist/{vi.2VT5v0um-C_jmO7m2.mjs → test.CTcmp4Su-ClCHJ3FA.mjs} +6793 -6403
  180. package/dist/test.CTcmp4Su-ClCHJ3FA.mjs.map +1 -0
  181. package/dist/{vi.2VT5v0um-iVBt6Fyq.cjs → test.CTcmp4Su-DlzTarwH.cjs} +6793 -6403
  182. package/dist/test.CTcmp4Su-DlzTarwH.cjs.map +1 -0
  183. package/dist/track-analytics.test.cjs +28 -28
  184. package/dist/track-analytics.test.cjs.map +1 -1
  185. package/dist/track-analytics.test.mjs +1 -1
  186. package/dist/types.cjs.map +1 -1
  187. package/dist/types.d.cts +10 -2
  188. package/dist/types.d.cts.map +1 -1
  189. package/dist/types.d.mts +10 -2
  190. package/dist/types.d.mts.map +1 -1
  191. package/dist/types.mjs.map +1 -1
  192. package/dist/validator.cjs +1 -1
  193. package/dist/validator.test.cjs +15 -15
  194. package/dist/validator.test.cjs.map +1 -1
  195. package/dist/validator.test.mjs +2 -2
  196. package/dist/version-manager.test.cjs +37 -37
  197. package/dist/version-manager.test.cjs.map +1 -1
  198. package/dist/version-manager.test.mjs +1 -1
  199. package/package.json +4 -4
  200. package/src/__snapshots__/composer.snapshot.test.ts.snap +5 -0
  201. package/src/addon-stack.test.ts +648 -0
  202. package/src/addon-stack.ts +1046 -0
  203. package/src/composer.ts +4 -4
  204. package/src/generators/postgres-init.ts +2 -0
  205. package/src/generators/skills.ts +142 -0
  206. package/src/index.ts +20 -2
  207. package/src/schema.ts +190 -0
  208. package/src/services/definitions/browserless.ts +3 -0
  209. package/src/services/definitions/burnlink.ts +142 -0
  210. package/src/services/definitions/convex.ts +31 -0
  211. package/src/services/definitions/grafana.ts +9 -0
  212. package/src/services/definitions/hindsight.ts +131 -0
  213. package/src/services/definitions/index.ts +10 -0
  214. package/src/services/definitions/meilisearch.ts +9 -0
  215. package/src/services/definitions/minio.ts +2 -0
  216. package/src/services/definitions/n8n.ts +9 -0
  217. package/src/services/definitions/ollama.ts +2 -0
  218. package/src/services/definitions/opensandbox.ts +156 -0
  219. package/src/services/definitions/qdrant.ts +2 -0
  220. package/src/services/definitions/searxng.ts +3 -0
  221. package/src/services/definitions/uptime-kuma.ts +3 -0
  222. package/src/types.ts +18 -0
  223. package/dist/schema-eX44HhRp.d.mts.map +0 -1
  224. package/dist/schema-tn5RK8CM.d.cts.map +0 -1
  225. package/dist/vi.2VT5v0um-C_jmO7m2.mjs.map +0 -1
  226. package/dist/vi.2VT5v0um-iVBt6Fyq.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"traefik.test.cjs","names":["resolve","describe","generateTraefikConfig"],"sources":["../../src/generators/traefik.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"../resolver.js\";\nimport type { ResolverOutput } from \"../types.js\";\nimport { generateTraefikConfig } from \"./traefik.js\";\n\nfunction resolveWith(services: string[]): ResolverOutput {\n\treturn resolve({ services, skillPacks: [], proxy: \"traefik\", gpu: false });\n}\n\ndescribe(\"generateTraefikConfig\", () => {\n\tconst domain = \"example.com\";\n\n\tit(\"generates static config with domain email and entrypoints\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { staticConfig } = generateTraefikConfig(resolved, domain);\n\n\t\texpect(staticConfig).toContain(\"admin@example.com\");\n\t\texpect(staticConfig).toContain('address: \":80\"');\n\t\texpect(staticConfig).toContain('address: \":443\"');\n\t\texpect(staticConfig).toContain(\"exposedByDefault: false\");\n\t\texpect(staticConfig).toContain(\"openclaw-network\");\n\t});\n\n\tit(\"generates labels for services with exposed ports\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst redisLabels = serviceLabels.get(\"redis\");\n\t\texpect(redisLabels).toBeDefined();\n\t\texpect(redisLabels![\"traefik.enable\"]).toBe(\"true\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.rule\"]).toBe(\"Host(`redis.example.com`)\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.entrypoints\"]).toBe(\"websecure\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.tls.certresolver\"]).toBe(\"letsencrypt\");\n\t\texpect(redisLabels![\"traefik.http.services.redis.loadbalancer.server.port\"]).toBe(\"6379\");\n\t});\n\n\tit(\"generates HTTP to HTTPS redirect labels\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst redisLabels = serviceLabels.get(\"redis\")!;\n\t\texpect(redisLabels[\"traefik.http.routers.redis-http.entrypoints\"]).toBe(\"web\");\n\t\texpect(redisLabels[\"traefik.http.routers.redis-http.middlewares\"]).toBe(\"redirect-to-https\");\n\t});\n\n\tit(\"assigns root domain to gateway\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst gwLabels = serviceLabels.get(\"openclaw-gateway\");\n\t\texpect(gwLabels).toBeDefined();\n\t\texpect(gwLabels![\"traefik.http.routers.gateway.rule\"]).toBe(\"Host(`example.com`)\");\n\t\texpect(gwLabels![\"traefik.http.services.gateway.loadbalancer.server.port\"]).toBe(\"18789\");\n\t});\n\n\tit(\"adds global redirect middleware on traefik service\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst traefikLabels = serviceLabels.get(\"traefik\");\n\t\texpect(traefikLabels).toBeDefined();\n\t\texpect(traefikLabels![\"traefik.http.middlewares.redirect-to-https.redirectscheme.scheme\"]).toBe(\n\t\t\t\"https\",\n\t\t);\n\t\texpect(\n\t\t\ttraefikLabels![\"traefik.http.middlewares.redirect-to-https.redirectscheme.permanent\"],\n\t\t).toBe(\"true\");\n\t});\n\n\tit(\"skips proxy services and services without exposed ports\", () => {\n\t\tconst resolved = resolveWith([\"redis\", \"ffmpeg\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\t// ffmpeg has no exposed ports\n\t\texpect(serviceLabels.has(\"ffmpeg\")).toBe(false);\n\t\t// traefik itself is handled separately (not as a regular service)\n\t\texpect(serviceLabels.get(\"traefik\")![\"traefik.http.routers.traefik.rule\"]).toBeUndefined();\n\t});\n\n\tit(\"sanitizes service names with hyphens in router names\", () => {\n\t\tconst resolved = resolveWith([\"open-webui\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst labels = serviceLabels.get(\"open-webui\");\n\t\texpect(labels).toBeDefined();\n\t\t// Router name has hyphens removed\n\t\texpect(labels![\"traefik.http.routers.openwebui.rule\"]).toBe(\"Host(`open-webui.example.com`)\");\n\t});\n});\n"],"mappings":";;;;AAKA,SAAS,YAAY,UAAoC;AACxD,QAAOA,iBAAAA,QAAQ;EAAE;EAAU,YAAY,EAAE;EAAE,OAAO;EAAW,KAAK;EAAO,CAAC;;AAG3EC,oBAAAA,SAAS,+BAA+B;CACvC,MAAM,SAAS;AAEf,qBAAA,GAAG,mEAAmE;EAErE,MAAM,EAAE,iBAAiBC,2BAAAA,sBADR,YAAY,CAAC,QAAQ,CAAC,EACkB,OAAO;AAEhE,sBAAA,aAAO,aAAa,CAAC,UAAU,oBAAoB;AACnD,sBAAA,aAAO,aAAa,CAAC,UAAU,mBAAiB;AAChD,sBAAA,aAAO,aAAa,CAAC,UAAU,oBAAkB;AACjD,sBAAA,aAAO,aAAa,CAAC,UAAU,0BAA0B;AACzD,sBAAA,aAAO,aAAa,CAAC,UAAU,mBAAmB;GACjD;AAEF,qBAAA,GAAG,0DAA0D;EAE5D,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,sBAAA,aAAO,YAAY,CAAC,aAAa;AACjC,sBAAA,aAAO,YAAa,kBAAkB,CAAC,KAAK,OAAO;AACnD,sBAAA,aAAO,YAAa,mCAAmC,CAAC,KAAK,4BAA4B;AACzF,sBAAA,aAAO,YAAa,0CAA0C,CAAC,KAAK,YAAY;AAChF,sBAAA,aAAO,YAAa,+CAA+C,CAAC,KAAK,cAAc;AACvF,sBAAA,aAAO,YAAa,wDAAwD,CAAC,KAAK,OAAO;GACxF;AAEF,qBAAA,GAAG,iDAAiD;EAEnD,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,sBAAA,aAAO,YAAY,+CAA+C,CAAC,KAAK,MAAM;AAC9E,sBAAA,aAAO,YAAY,+CAA+C,CAAC,KAAK,oBAAoB;GAC3F;AAEF,qBAAA,GAAG,wCAAwC;EAE1C,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,WAAW,cAAc,IAAI,mBAAmB;AACtD,sBAAA,aAAO,SAAS,CAAC,aAAa;AAC9B,sBAAA,aAAO,SAAU,qCAAqC,CAAC,KAAK,sBAAsB;AAClF,sBAAA,aAAO,SAAU,0DAA0D,CAAC,KAAK,QAAQ;GACxF;AAEF,qBAAA,GAAG,4DAA4D;EAE9D,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,gBAAgB,cAAc,IAAI,UAAU;AAClD,sBAAA,aAAO,cAAc,CAAC,aAAa;AACnC,sBAAA,aAAO,cAAe,oEAAoE,CAAC,KAC1F,QACA;AACD,sBAAA,aACC,cAAe,uEACf,CAAC,KAAK,OAAO;GACb;AAEF,qBAAA,GAAG,iEAAiE;EAEnE,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,SAAS,SAAS,CAAC,EACS,OAAO;AAGjE,sBAAA,aAAO,cAAc,IAAI,SAAS,CAAC,CAAC,KAAK,MAAM;AAE/C,sBAAA,aAAO,cAAc,IAAI,UAAU,CAAE,qCAAqC,CAAC,eAAe;GACzF;AAEF,qBAAA,GAAG,8DAA8D;EAEhE,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,aAAa,CAAC,EACc,OAAO;EAEjE,MAAM,SAAS,cAAc,IAAI,aAAa;AAC9C,sBAAA,aAAO,OAAO,CAAC,aAAa;AAE5B,sBAAA,aAAO,OAAQ,uCAAuC,CAAC,KAAK,iCAAiC;GAC5F;EACD"}
1
+ {"version":3,"file":"traefik.test.cjs","names":["resolve","describe","generateTraefikConfig"],"sources":["../../src/generators/traefik.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { resolve } from \"../resolver.js\";\nimport type { ResolverOutput } from \"../types.js\";\nimport { generateTraefikConfig } from \"./traefik.js\";\n\nfunction resolveWith(services: string[]): ResolverOutput {\n\treturn resolve({ services, skillPacks: [], proxy: \"traefik\", gpu: false });\n}\n\ndescribe(\"generateTraefikConfig\", () => {\n\tconst domain = \"example.com\";\n\n\tit(\"generates static config with domain email and entrypoints\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { staticConfig } = generateTraefikConfig(resolved, domain);\n\n\t\texpect(staticConfig).toContain(\"admin@example.com\");\n\t\texpect(staticConfig).toContain('address: \":80\"');\n\t\texpect(staticConfig).toContain('address: \":443\"');\n\t\texpect(staticConfig).toContain(\"exposedByDefault: false\");\n\t\texpect(staticConfig).toContain(\"openclaw-network\");\n\t});\n\n\tit(\"generates labels for services with exposed ports\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst redisLabels = serviceLabels.get(\"redis\");\n\t\texpect(redisLabels).toBeDefined();\n\t\texpect(redisLabels![\"traefik.enable\"]).toBe(\"true\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.rule\"]).toBe(\"Host(`redis.example.com`)\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.entrypoints\"]).toBe(\"websecure\");\n\t\texpect(redisLabels![\"traefik.http.routers.redis.tls.certresolver\"]).toBe(\"letsencrypt\");\n\t\texpect(redisLabels![\"traefik.http.services.redis.loadbalancer.server.port\"]).toBe(\"6379\");\n\t});\n\n\tit(\"generates HTTP to HTTPS redirect labels\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst redisLabels = serviceLabels.get(\"redis\")!;\n\t\texpect(redisLabels[\"traefik.http.routers.redis-http.entrypoints\"]).toBe(\"web\");\n\t\texpect(redisLabels[\"traefik.http.routers.redis-http.middlewares\"]).toBe(\"redirect-to-https\");\n\t});\n\n\tit(\"assigns root domain to gateway\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst gwLabels = serviceLabels.get(\"openclaw-gateway\");\n\t\texpect(gwLabels).toBeDefined();\n\t\texpect(gwLabels![\"traefik.http.routers.gateway.rule\"]).toBe(\"Host(`example.com`)\");\n\t\texpect(gwLabels![\"traefik.http.services.gateway.loadbalancer.server.port\"]).toBe(\"18789\");\n\t});\n\n\tit(\"adds global redirect middleware on traefik service\", () => {\n\t\tconst resolved = resolveWith([\"redis\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst traefikLabels = serviceLabels.get(\"traefik\");\n\t\texpect(traefikLabels).toBeDefined();\n\t\texpect(traefikLabels![\"traefik.http.middlewares.redirect-to-https.redirectscheme.scheme\"]).toBe(\n\t\t\t\"https\",\n\t\t);\n\t\texpect(\n\t\t\ttraefikLabels![\"traefik.http.middlewares.redirect-to-https.redirectscheme.permanent\"],\n\t\t).toBe(\"true\");\n\t});\n\n\tit(\"skips proxy services and services without exposed ports\", () => {\n\t\tconst resolved = resolveWith([\"redis\", \"ffmpeg\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\t// ffmpeg has no exposed ports\n\t\texpect(serviceLabels.has(\"ffmpeg\")).toBe(false);\n\t\t// traefik itself is handled separately (not as a regular service)\n\t\texpect(serviceLabels.get(\"traefik\")![\"traefik.http.routers.traefik.rule\"]).toBeUndefined();\n\t});\n\n\tit(\"sanitizes service names with hyphens in router names\", () => {\n\t\tconst resolved = resolveWith([\"open-webui\"]);\n\t\tconst { serviceLabels } = generateTraefikConfig(resolved, domain);\n\n\t\tconst labels = serviceLabels.get(\"open-webui\");\n\t\texpect(labels).toBeDefined();\n\t\t// Router name has hyphens removed\n\t\texpect(labels![\"traefik.http.routers.openwebui.rule\"]).toBe(\"Host(`open-webui.example.com`)\");\n\t});\n});\n"],"mappings":";;;;AAKA,SAAS,YAAY,UAAoC;AACxD,QAAOA,iBAAAA,QAAQ;EAAE;EAAU,YAAY,EAAE;EAAE,OAAO;EAAW,KAAK;EAAO,CAAC;;AAG3EC,sBAAAA,SAAS,+BAA+B;CACvC,MAAM,SAAS;AAEf,uBAAA,GAAG,mEAAmE;EAErE,MAAM,EAAE,iBAAiBC,2BAAAA,sBADR,YAAY,CAAC,QAAQ,CAAC,EACkB,OAAO;AAEhE,wBAAA,aAAO,aAAa,CAAC,UAAU,oBAAoB;AACnD,wBAAA,aAAO,aAAa,CAAC,UAAU,mBAAiB;AAChD,wBAAA,aAAO,aAAa,CAAC,UAAU,oBAAkB;AACjD,wBAAA,aAAO,aAAa,CAAC,UAAU,0BAA0B;AACzD,wBAAA,aAAO,aAAa,CAAC,UAAU,mBAAmB;GACjD;AAEF,uBAAA,GAAG,0DAA0D;EAE5D,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,wBAAA,aAAO,YAAY,CAAC,aAAa;AACjC,wBAAA,aAAO,YAAa,kBAAkB,CAAC,KAAK,OAAO;AACnD,wBAAA,aAAO,YAAa,mCAAmC,CAAC,KAAK,4BAA4B;AACzF,wBAAA,aAAO,YAAa,0CAA0C,CAAC,KAAK,YAAY;AAChF,wBAAA,aAAO,YAAa,+CAA+C,CAAC,KAAK,cAAc;AACvF,wBAAA,aAAO,YAAa,wDAAwD,CAAC,KAAK,OAAO;GACxF;AAEF,uBAAA,GAAG,iDAAiD;EAEnD,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,wBAAA,aAAO,YAAY,+CAA+C,CAAC,KAAK,MAAM;AAC9E,wBAAA,aAAO,YAAY,+CAA+C,CAAC,KAAK,oBAAoB;GAC3F;AAEF,uBAAA,GAAG,wCAAwC;EAE1C,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,WAAW,cAAc,IAAI,mBAAmB;AACtD,wBAAA,aAAO,SAAS,CAAC,aAAa;AAC9B,wBAAA,aAAO,SAAU,qCAAqC,CAAC,KAAK,sBAAsB;AAClF,wBAAA,aAAO,SAAU,0DAA0D,CAAC,KAAK,QAAQ;GACxF;AAEF,uBAAA,GAAG,4DAA4D;EAE9D,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,gBAAgB,cAAc,IAAI,UAAU;AAClD,wBAAA,aAAO,cAAc,CAAC,aAAa;AACnC,wBAAA,aAAO,cAAe,oEAAoE,CAAC,KAC1F,QACA;AACD,wBAAA,aACC,cAAe,uEACf,CAAC,KAAK,OAAO;GACb;AAEF,uBAAA,GAAG,iEAAiE;EAEnE,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,SAAS,SAAS,CAAC,EACS,OAAO;AAGjE,wBAAA,aAAO,cAAc,IAAI,SAAS,CAAC,CAAC,KAAK,MAAM;AAE/C,wBAAA,aAAO,cAAc,IAAI,UAAU,CAAE,qCAAqC,CAAC,eAAe;GACzF;AAEF,uBAAA,GAAG,8DAA8D;EAEhE,MAAM,EAAE,kBAAkBA,2BAAAA,sBADT,YAAY,CAAC,aAAa,CAAC,EACc,OAAO;EAEjE,MAAM,SAAS,cAAc,IAAI,aAAa;AAC9C,wBAAA,aAAO,OAAO,CAAC,aAAa;AAE5B,wBAAA,aAAO,OAAQ,uCAAuC,CAAC,KAAK,iCAAiC;GAC5F;EACD"}
@@ -1,4 +1,4 @@
1
- import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-C_jmO7m2.mjs";
1
+ import { n as describe, r as it, t as globalExpect } from "../test.CTcmp4Su-ClCHJ3FA.mjs";
2
2
  import { resolve } from "../resolver.mjs";
3
3
  import { generateTraefikConfig } from "./traefik.mjs";
4
4
  //#region src/generators/traefik.test.ts
package/dist/index.cjs CHANGED
@@ -1,11 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_skills = require("./skills-BlzpHmpH.cjs");
3
- const require_bare_metal_partition = require("./bare-metal-partition.cjs");
2
+ const require_skills = require("./skills-BSF7iNa4.cjs");
3
+ const require_generators_postgres_init = require("./generators/postgres-init.cjs");
4
+ const require_composer = require("./composer.cjs");
4
5
  const require_services_registry = require("./services/registry.cjs");
5
6
  const require_skills_registry = require("./skills/registry.cjs");
6
7
  const require_resolver = require("./resolver.cjs");
7
- const require_generators_postgres_init = require("./generators/postgres-init.cjs");
8
- const require_composer = require("./composer.cjs");
8
+ const require_schema = require("./schema.cjs");
9
+ const require_addon_stack = require("./addon-stack.cjs");
10
+ const require_bare_metal_partition = require("./bare-metal-partition.cjs");
9
11
  const require_errors = require("./errors.cjs");
10
12
  const require_generators_caddy = require("./generators/caddy.cjs");
11
13
  const require_generators_clone_repos = require("./generators/clone-repos.cjs");
@@ -26,11 +28,14 @@ const require_deployers_dokploy = require("./deployers/dokploy.cjs");
26
28
  const require_deployers_index = require("./deployers/index.cjs");
27
29
  const require_track_analytics = require("./track-analytics.cjs");
28
30
  const require_port_scanner = require("./port-scanner.cjs");
29
- const require_schema = require("./schema.cjs");
30
31
  const require_skill_manifest = require("./skill-manifest-B8znSsym.cjs");
31
32
  const require_types = require("./types.cjs");
32
33
  const require_version_manager = require("./version-manager.cjs");
33
34
  exports.AddedDependencySchema = require_schema.AddedDependencySchema;
35
+ exports.AddonStackInputSchema = require_schema.AddonStackInputSchema;
36
+ exports.AddonStackResultSchema = require_schema.AddonStackResultSchema;
37
+ exports.AddonStackUpdateInputSchema = require_schema.AddonStackUpdateInputSchema;
38
+ exports.AddonStackUpdateResultSchema = require_schema.AddonStackUpdateResultSchema;
34
39
  exports.ApiErrorSchema = require_schema.ApiErrorSchema;
35
40
  exports.BuildContextSchema = require_schema.BuildContextSchema;
36
41
  exports.CURRENT_CONFIG_VERSION = require_migrations.CURRENT_CONFIG_VERSION;
@@ -41,6 +46,8 @@ exports.DeployTargetSchema = require_schema.DeployTargetSchema;
41
46
  exports.DeploymentTargetSchema = require_schema.DeploymentTargetSchema;
42
47
  exports.DeploymentTypeSchema = require_schema.DeploymentTypeSchema;
43
48
  exports.DokployDeployer = require_deployers_dokploy.DokployDeployer;
49
+ exports.EnvQuirkFixSchema = require_schema.EnvQuirkFixSchema;
50
+ exports.EnvQuirkSchema = require_schema.EnvQuirkSchema;
44
51
  exports.EnvVariableSchema = require_schema.EnvVariableSchema;
45
52
  exports.ErrorSchema = require_schema.ErrorSchema;
46
53
  exports.GenerationInputSchema = require_schema.GenerationInputSchema;
@@ -55,6 +62,7 @@ exports.OutputFormatSchema = require_schema.OutputFormatSchema;
55
62
  exports.PlatformSchema = require_schema.PlatformSchema;
56
63
  exports.PortMappingSchema = require_schema.PortMappingSchema;
57
64
  exports.PresetSchema = require_schema.PresetSchema;
65
+ exports.ProxyRouteSchema = require_schema.ProxyRouteSchema;
58
66
  exports.ProxyTypeSchema = require_schema.ProxyTypeSchema;
59
67
  exports.ResolvedServiceSchema = require_schema.ResolvedServiceSchema;
60
68
  exports.ResolverOutputSchema = require_schema.ResolverOutputSchema;
@@ -65,19 +73,25 @@ exports.ServiceCategorySchema = require_schema.ServiceCategorySchema;
65
73
  exports.ServiceDefinitionSchema = require_schema.ServiceDefinitionSchema;
66
74
  exports.SkillBindingSchema = require_schema.SkillBindingSchema;
67
75
  exports.SkillPackSchema = require_schema.SkillPackSchema;
76
+ exports.SkippedServiceReasonSchema = require_schema.SkippedServiceReasonSchema;
77
+ exports.SkippedServiceSchema = require_schema.SkippedServiceSchema;
68
78
  exports.StackConfigError = require_errors.StackConfigError;
69
79
  exports.ValidateRequestSchema = require_schema.ValidateRequestSchema;
70
80
  exports.ValidateResponseSchema = require_schema.ValidateResponseSchema;
71
81
  exports.ValidationError = require_errors.ValidationError;
72
82
  exports.VolumeMappingSchema = require_schema.VolumeMappingSchema;
73
83
  exports.WarningSchema = require_schema.WarningSchema;
84
+ exports.YAML_OPTIONS = require_composer.YAML_OPTIONS;
74
85
  exports.buildAnalyticsPayload = require_track_analytics.buildAnalyticsPayload;
86
+ exports.buildCompanionService = require_composer.buildCompanionService;
87
+ exports.buildPostgresSetup = require_composer.buildPostgresSetup;
75
88
  exports.checkCompatibility = require_version_manager.checkCompatibility;
76
89
  exports.compose = require_composer.compose;
77
90
  exports.composeMultiFile = require_composer.composeMultiFile;
78
91
  exports.deployerRegistry = require_deployers_index.deployerRegistry;
79
92
  exports.formatPortConflicts = require_port_scanner.formatPortConflicts;
80
93
  exports.generate = require_generate.generate;
94
+ exports.generateAddonStack = require_addon_stack.generateAddonStack;
81
95
  exports.generateCaddyfile = require_generators_caddy.generateCaddyfile;
82
96
  exports.generateCloneScripts = require_generators_clone_repos.generateCloneScripts;
83
97
  exports.generateEnvFiles = require_generators_env.generateEnvFiles;
@@ -115,10 +129,12 @@ exports.partitionBareMetal = require_bare_metal_partition.partitionBareMetal;
115
129
  exports.pinImageTags = require_version_manager.pinImageTags;
116
130
  exports.platformToNativePlatform = require_bare_metal_partition.platformToNativePlatform;
117
131
  exports.presetRegistry = require_presets_registry.presetRegistry;
132
+ exports.quotedStr = require_composer.quotedStr;
118
133
  exports.resolve = require_resolver.resolve;
119
134
  exports.resolvedWithOnlyServices = require_bare_metal_partition.resolvedWithOnlyServices;
120
135
  exports.scanPortConflicts = require_port_scanner.scanPortConflicts;
121
136
  exports.serviceRegistry = require_services_registry.serviceRegistry;
122
137
  exports.skillPackRegistry = require_skills_registry.skillPackRegistry;
123
138
  exports.trackAnalytics = require_track_analytics.trackAnalytics;
139
+ exports.updateAddonStack = require_addon_stack.updateAddonStack;
124
140
  exports.validate = require_validator.validate;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,8 @@
1
- import { A as RestartPolicySchema, C as PlatformSchema, D as ResolvedServiceSchema, E as ProxyTypeSchema, F as ValidateRequestSchema, I as ValidateResponseSchema, L as VolumeMappingSchema, M as ServiceDefinitionSchema, N as SkillBindingSchema, O as ResolverOutputSchema, P as SkillPackSchema, R as WarningSchema, S as OutputFormatSchema, T as PresetSchema, _ as MaturitySchema, a as ComposeOptionsSchema, b as OpenclawImageVariantSchema, c as DeployTargetSchema, d as EnvVariableSchema, f as ErrorSchema, g as HealthCheckSchema, i as BuildContextSchema, j as ServiceCategorySchema, k as ResourceLimitsSchema, l as DeploymentTargetSchema, m as GitSourceSchema, p as GenerationInputSchema, r as ApiErrorSchema, s as DeploySchema, t as AddedDependencySchema, u as DeploymentTypeSchema, v as NativePlatformSchema, w as PortMappingSchema, x as OpenclawInstallMethodSchema, y as NativeRecipeSchema } from "./schema-tn5RK8CM.cjs";
2
- import { AddedDependency, AiProvider, ApiError, BuildContext, CategoryInfo, ComposeOptions, Deploy, DeployTarget, DeploymentTarget, DeploymentType, EnvVariable, GeneratedFiles, GenerationInput, GenerationMetadata, GenerationResult, GitSource, GsdRuntime, HealthCheck, Maturity, NativePlatform, NativeRecipe, OpenclawImageVariant, OpenclawInstallMethod, OutputFormat, Platform, PortMapping, Preset, ProxyType, ResolvedService, ResolverError, ResolverInput, ResolverOutput, ResourceLimits, RestartPolicy, SERVICE_CATEGORIES, ServiceCategory, ServiceDefinition, SkillBinding, SkillPack, ValidateRequest, ValidateResponse, VolumeMapping, Warning } from "./types.cjs";
1
+ import { A as PortMappingSchema, B as SkillBindingSchema, C as MaturitySchema, D as OpenclawInstallMethodSchema, E as OpenclawImageVariantSchema, F as ResolverOutputSchema, G as ValidateResponseSchema, H as SkippedServiceReasonSchema, 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, p as DeploymentTargetSchema, q as WarningSchema, r as AddonStackResultSchema, s as ApiErrorSchema, t as AddedDependencySchema, v as ErrorSchema, w as NativePlatformSchema, y as GenerationInputSchema, z as ServiceDefinitionSchema } from "./schema-BQnZrcw8.cjs";
2
+ import { 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 } from "./types.cjs";
3
+ import { generateAddonStack, updateAddonStack } from "./addon-stack.cjs";
3
4
  import { partitionBareMetal, platformToNativePlatform, resolvedWithOnlyServices } from "./bare-metal-partition.cjs";
4
- import { ComposeResult, compose, composeMultiFile } from "./composer.cjs";
5
+ import { ComposeResult, YAML_OPTIONS, buildCompanionService, buildPostgresSetup, compose, composeMultiFile, quotedStr } from "./composer.cjs";
5
6
  import { d as PaasDeployer, f as PaasServer, i as DeployTarget$1, n as DeployResult, r as DeployStep, t as DeployInput } from "./types-CR83OJiq.cjs";
6
7
  import { t as CoolifyDeployer } from "./coolify-vlb1G9V2.cjs";
7
8
  import { t as DokployDeployer } from "./dokploy-8cbrxUun.cjs";
@@ -30,4 +31,4 @@ import { getAllSkillPacks, getCompatibleSkillPacks, getSkillPackById, skillPackR
30
31
  import { SkillManifestEntry, getAllManifestSkills, getManifestSkillById, getManifestSkillCount } from "./skills/skill-manifest.cjs";
31
32
  import { validate } from "./validator.cjs";
32
33
  import { checkCompatibility, getImageReference, getImageTag, pinImageTags } from "./version-manager.cjs";
33
- export { type AddedDependency, AddedDependencySchema, type AiProvider, type AnalyticsPayload, type ApiError, ApiErrorSchema, type BuildContext, BuildContextSchema, CURRENT_CONFIG_VERSION, type CategoryInfo, type ComposeOptions, ComposeOptionsSchema, type ComposeResult, CoolifyDeployer, type Deploy, DeploySchema, type DeployTarget, DeployTargetSchema, type DeploymentTarget, DeploymentTargetSchema, type DeploymentType, DeploymentTypeSchema, DokployDeployer, type EnvVarGroup, type EnvVariable, EnvVariableSchema, ErrorSchema, type GeneratedFiles, type GenerationInput, GenerationInputSchema, type GenerationMetadata, type GenerationResult, type GitSource, GitSourceSchema, type GsdRuntime, type HealthCheck, HealthCheckSchema, type Maturity, MaturitySchema, type NativePlatform, NativePlatformSchema, type NativeRecipe, NativeRecipeSchema, type OpenclawImageVariant, OpenclawImageVariantSchema, type OpenclawInstallMethod, OpenclawInstallMethodSchema, type OutputFormat, OutputFormatSchema, type DeployInput as PaasDeployInput, type DeployResult as PaasDeployResult, type DeployStep as PaasDeployStep, type DeployTarget$1 as PaasDeployTarget, type PaasDeployer, type PaasServer, type Platform, PlatformSchema, type PortConflict, type PortMapping, PortMappingSchema, type Preset, PresetSchema, type ProxyType, ProxyTypeSchema, type ResolvedService, ResolvedServiceSchema, type ResolverError, type ResolverInput, type ResolverOutput, ResolverOutputSchema, type ResourceLimits, ResourceLimitsSchema, type RestartPolicy, RestartPolicySchema, SERVICE_CATEGORIES, type ServiceCategory, ServiceCategorySchema, type ServiceDefinition, ServiceDefinitionSchema, type SkillBinding, SkillBindingSchema, type SkillManifestEntry, type SkillPack, SkillPackSchema, StackConfigError, type StackManifest, type StackManifestService, type StackManifestSkill, type ValidateRequest, ValidateRequestSchema, type ValidateResponse, ValidateResponseSchema, ValidationError, type VolumeMapping, VolumeMappingSchema, type Warning, WarningSchema, buildAnalyticsPayload, checkCompatibility, compose, composeMultiFile, deployerRegistry, formatPortConflicts, generate, generateCaddyfile, generateCloneScripts, generateEnvFiles, generateGrafanaConfig, generateGrafanaDashboard, generateHealthCheck, generateN8nWorkflows, generatePostgresInit, generatePrometheusConfig, generateReadme, generateScripts, generateServicesDoc, generateSkillFiles, generateStackManifest, getAllManifestSkills, getAllPresets, getAllServices, getAllSkillPacks, getAvailableDeployers, getCompatibleSkillPacks, getDbRequirements, getDeployer, getImageReference, getImageTag, getManifestSkillById, getManifestSkillCount, getPresetById, getServiceById, getServicesByCategory, getSkillPackById, getStructuredEnvVars, migrateConfig, needsMigration, partitionBareMetal, pinImageTags, platformToNativePlatform, presetRegistry, resolve, resolvedWithOnlyServices, scanPortConflicts, serviceRegistry, skillPackRegistry, trackAnalytics, validate };
34
+ export { type AddedDependency, AddedDependencySchema, type AddonStackInput, AddonStackInputSchema, type AddonStackResult, AddonStackResultSchema, type AddonStackUpdateInput, AddonStackUpdateInputSchema, type AddonStackUpdateResult, AddonStackUpdateResultSchema, type AiProvider, type AnalyticsPayload, type ApiError, ApiErrorSchema, type BuildContext, BuildContextSchema, CURRENT_CONFIG_VERSION, type CategoryInfo, type ComposeOptions, ComposeOptionsSchema, type ComposeResult, CoolifyDeployer, type Deploy, DeploySchema, type DeployTarget, DeployTargetSchema, type DeploymentTarget, DeploymentTargetSchema, type DeploymentType, DeploymentTypeSchema, DokployDeployer, type EnvQuirk, type EnvQuirkFix, EnvQuirkFixSchema, EnvQuirkSchema, type EnvVarGroup, type EnvVariable, EnvVariableSchema, ErrorSchema, type GeneratedFiles, type GenerationInput, GenerationInputSchema, type GenerationMetadata, type GenerationResult, type GitSource, GitSourceSchema, type GsdRuntime, type HealthCheck, HealthCheckSchema, type Maturity, MaturitySchema, type NativePlatform, NativePlatformSchema, type NativeRecipe, NativeRecipeSchema, type OpenclawImageVariant, OpenclawImageVariantSchema, type OpenclawInstallMethod, OpenclawInstallMethodSchema, type OutputFormat, OutputFormatSchema, type DeployInput as PaasDeployInput, type DeployResult as PaasDeployResult, type DeployStep as PaasDeployStep, type DeployTarget$1 as PaasDeployTarget, type PaasDeployer, type PaasServer, type Platform, PlatformSchema, type PortConflict, type PortMapping, PortMappingSchema, type Preset, PresetSchema, type ProxyRoute, ProxyRouteSchema, type ProxyType, ProxyTypeSchema, type ResolvedService, ResolvedServiceSchema, type ResolverError, type ResolverInput, type ResolverOutput, ResolverOutputSchema, type ResourceLimits, ResourceLimitsSchema, type RestartPolicy, RestartPolicySchema, SERVICE_CATEGORIES, type ServiceCategory, ServiceCategorySchema, type ServiceDefinition, ServiceDefinitionSchema, type SkillBinding, SkillBindingSchema, type SkillManifestEntry, type SkillPack, SkillPackSchema, type SkippedService, SkippedServiceReasonSchema, SkippedServiceSchema, StackConfigError, type StackManifest, type StackManifestService, type StackManifestSkill, type ValidateRequest, ValidateRequestSchema, type ValidateResponse, ValidateResponseSchema, ValidationError, type VolumeMapping, VolumeMappingSchema, type Warning, WarningSchema, YAML_OPTIONS, buildAnalyticsPayload, buildCompanionService, buildPostgresSetup, checkCompatibility, compose, composeMultiFile, deployerRegistry, formatPortConflicts, generate, generateAddonStack, generateCaddyfile, generateCloneScripts, generateEnvFiles, generateGrafanaConfig, generateGrafanaDashboard, generateHealthCheck, generateN8nWorkflows, generatePostgresInit, generatePrometheusConfig, generateReadme, generateScripts, generateServicesDoc, generateSkillFiles, generateStackManifest, getAllManifestSkills, getAllPresets, getAllServices, getAllSkillPacks, getAvailableDeployers, getCompatibleSkillPacks, getDbRequirements, getDeployer, getImageReference, getImageTag, getManifestSkillById, getManifestSkillCount, getPresetById, getServiceById, getServicesByCategory, getSkillPackById, getStructuredEnvVars, migrateConfig, needsMigration, partitionBareMetal, pinImageTags, platformToNativePlatform, presetRegistry, quotedStr, resolve, resolvedWithOnlyServices, scanPortConflicts, serviceRegistry, skillPackRegistry, trackAnalytics, updateAddonStack, validate };
package/dist/index.d.mts CHANGED
@@ -1,7 +1,8 @@
1
- import { A as RestartPolicySchema, C as PlatformSchema, D as ResolvedServiceSchema, E as ProxyTypeSchema, F as ValidateRequestSchema, I as ValidateResponseSchema, L as VolumeMappingSchema, M as ServiceDefinitionSchema, N as SkillBindingSchema, O as ResolverOutputSchema, P as SkillPackSchema, R as WarningSchema, S as OutputFormatSchema, T as PresetSchema, _ as MaturitySchema, a as ComposeOptionsSchema, b as OpenclawImageVariantSchema, c as DeployTargetSchema, d as EnvVariableSchema, f as ErrorSchema, g as HealthCheckSchema, i as BuildContextSchema, j as ServiceCategorySchema, k as ResourceLimitsSchema, l as DeploymentTargetSchema, m as GitSourceSchema, p as GenerationInputSchema, r as ApiErrorSchema, s as DeploySchema, t as AddedDependencySchema, u as DeploymentTypeSchema, v as NativePlatformSchema, w as PortMappingSchema, x as OpenclawInstallMethodSchema, y as NativeRecipeSchema } from "./schema-eX44HhRp.mjs";
2
- import { AddedDependency, AiProvider, ApiError, BuildContext, CategoryInfo, ComposeOptions, Deploy, DeployTarget, DeploymentTarget, DeploymentType, EnvVariable, GeneratedFiles, GenerationInput, GenerationMetadata, GenerationResult, GitSource, GsdRuntime, HealthCheck, Maturity, NativePlatform, NativeRecipe, OpenclawImageVariant, OpenclawInstallMethod, OutputFormat, Platform, PortMapping, Preset, ProxyType, ResolvedService, ResolverError, ResolverInput, ResolverOutput, ResourceLimits, RestartPolicy, SERVICE_CATEGORIES, ServiceCategory, ServiceDefinition, SkillBinding, SkillPack, ValidateRequest, ValidateResponse, VolumeMapping, Warning } from "./types.mjs";
1
+ import { A as PortMappingSchema, B as SkillBindingSchema, C as MaturitySchema, D as OpenclawInstallMethodSchema, E as OpenclawImageVariantSchema, F as ResolverOutputSchema, G as ValidateResponseSchema, H as SkippedServiceReasonSchema, 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, p as DeploymentTargetSchema, q as WarningSchema, r as AddonStackResultSchema, s as ApiErrorSchema, t as AddedDependencySchema, v as ErrorSchema, w as NativePlatformSchema, y as GenerationInputSchema, z as ServiceDefinitionSchema } from "./schema-SBpL0bdI.mjs";
2
+ import { 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 } from "./types.mjs";
3
+ import { generateAddonStack, updateAddonStack } from "./addon-stack.mjs";
3
4
  import { partitionBareMetal, platformToNativePlatform, resolvedWithOnlyServices } from "./bare-metal-partition.mjs";
4
- import { ComposeResult, compose, composeMultiFile } from "./composer.mjs";
5
+ import { ComposeResult, YAML_OPTIONS, buildCompanionService, buildPostgresSetup, compose, composeMultiFile, quotedStr } from "./composer.mjs";
5
6
  import { d as PaasDeployer, f as PaasServer, i as DeployTarget$1, n as DeployResult, r as DeployStep, t as DeployInput } from "./types-zYjGTuyn.mjs";
6
7
  import { t as CoolifyDeployer } from "./coolify-BVGGcMrT.mjs";
7
8
  import { t as DokployDeployer } from "./dokploy-BTflLhTM.mjs";
@@ -30,4 +31,4 @@ import { getAllSkillPacks, getCompatibleSkillPacks, getSkillPackById, skillPackR
30
31
  import { SkillManifestEntry, getAllManifestSkills, getManifestSkillById, getManifestSkillCount } from "./skills/skill-manifest.mjs";
31
32
  import { validate } from "./validator.mjs";
32
33
  import { checkCompatibility, getImageReference, getImageTag, pinImageTags } from "./version-manager.mjs";
33
- export { type AddedDependency, AddedDependencySchema, type AiProvider, type AnalyticsPayload, type ApiError, ApiErrorSchema, type BuildContext, BuildContextSchema, CURRENT_CONFIG_VERSION, type CategoryInfo, type ComposeOptions, ComposeOptionsSchema, type ComposeResult, CoolifyDeployer, type Deploy, DeploySchema, type DeployTarget, DeployTargetSchema, type DeploymentTarget, DeploymentTargetSchema, type DeploymentType, DeploymentTypeSchema, DokployDeployer, type EnvVarGroup, type EnvVariable, EnvVariableSchema, ErrorSchema, type GeneratedFiles, type GenerationInput, GenerationInputSchema, type GenerationMetadata, type GenerationResult, type GitSource, GitSourceSchema, type GsdRuntime, type HealthCheck, HealthCheckSchema, type Maturity, MaturitySchema, type NativePlatform, NativePlatformSchema, type NativeRecipe, NativeRecipeSchema, type OpenclawImageVariant, OpenclawImageVariantSchema, type OpenclawInstallMethod, OpenclawInstallMethodSchema, type OutputFormat, OutputFormatSchema, type DeployInput as PaasDeployInput, type DeployResult as PaasDeployResult, type DeployStep as PaasDeployStep, type DeployTarget$1 as PaasDeployTarget, type PaasDeployer, type PaasServer, type Platform, PlatformSchema, type PortConflict, type PortMapping, PortMappingSchema, type Preset, PresetSchema, type ProxyType, ProxyTypeSchema, type ResolvedService, ResolvedServiceSchema, type ResolverError, type ResolverInput, type ResolverOutput, ResolverOutputSchema, type ResourceLimits, ResourceLimitsSchema, type RestartPolicy, RestartPolicySchema, SERVICE_CATEGORIES, type ServiceCategory, ServiceCategorySchema, type ServiceDefinition, ServiceDefinitionSchema, type SkillBinding, SkillBindingSchema, type SkillManifestEntry, type SkillPack, SkillPackSchema, StackConfigError, type StackManifest, type StackManifestService, type StackManifestSkill, type ValidateRequest, ValidateRequestSchema, type ValidateResponse, ValidateResponseSchema, ValidationError, type VolumeMapping, VolumeMappingSchema, type Warning, WarningSchema, buildAnalyticsPayload, checkCompatibility, compose, composeMultiFile, deployerRegistry, formatPortConflicts, generate, generateCaddyfile, generateCloneScripts, generateEnvFiles, generateGrafanaConfig, generateGrafanaDashboard, generateHealthCheck, generateN8nWorkflows, generatePostgresInit, generatePrometheusConfig, generateReadme, generateScripts, generateServicesDoc, generateSkillFiles, generateStackManifest, getAllManifestSkills, getAllPresets, getAllServices, getAllSkillPacks, getAvailableDeployers, getCompatibleSkillPacks, getDbRequirements, getDeployer, getImageReference, getImageTag, getManifestSkillById, getManifestSkillCount, getPresetById, getServiceById, getServicesByCategory, getSkillPackById, getStructuredEnvVars, migrateConfig, needsMigration, partitionBareMetal, pinImageTags, platformToNativePlatform, presetRegistry, resolve, resolvedWithOnlyServices, scanPortConflicts, serviceRegistry, skillPackRegistry, trackAnalytics, validate };
34
+ export { type AddedDependency, AddedDependencySchema, type AddonStackInput, AddonStackInputSchema, type AddonStackResult, AddonStackResultSchema, type AddonStackUpdateInput, AddonStackUpdateInputSchema, type AddonStackUpdateResult, AddonStackUpdateResultSchema, type AiProvider, type AnalyticsPayload, type ApiError, ApiErrorSchema, type BuildContext, BuildContextSchema, CURRENT_CONFIG_VERSION, type CategoryInfo, type ComposeOptions, ComposeOptionsSchema, type ComposeResult, CoolifyDeployer, type Deploy, DeploySchema, type DeployTarget, DeployTargetSchema, type DeploymentTarget, DeploymentTargetSchema, type DeploymentType, DeploymentTypeSchema, DokployDeployer, type EnvQuirk, type EnvQuirkFix, EnvQuirkFixSchema, EnvQuirkSchema, type EnvVarGroup, type EnvVariable, EnvVariableSchema, ErrorSchema, type GeneratedFiles, type GenerationInput, GenerationInputSchema, type GenerationMetadata, type GenerationResult, type GitSource, GitSourceSchema, type GsdRuntime, type HealthCheck, HealthCheckSchema, type Maturity, MaturitySchema, type NativePlatform, NativePlatformSchema, type NativeRecipe, NativeRecipeSchema, type OpenclawImageVariant, OpenclawImageVariantSchema, type OpenclawInstallMethod, OpenclawInstallMethodSchema, type OutputFormat, OutputFormatSchema, type DeployInput as PaasDeployInput, type DeployResult as PaasDeployResult, type DeployStep as PaasDeployStep, type DeployTarget$1 as PaasDeployTarget, type PaasDeployer, type PaasServer, type Platform, PlatformSchema, type PortConflict, type PortMapping, PortMappingSchema, type Preset, PresetSchema, type ProxyRoute, ProxyRouteSchema, type ProxyType, ProxyTypeSchema, type ResolvedService, ResolvedServiceSchema, type ResolverError, type ResolverInput, type ResolverOutput, ResolverOutputSchema, type ResourceLimits, ResourceLimitsSchema, type RestartPolicy, RestartPolicySchema, SERVICE_CATEGORIES, type ServiceCategory, ServiceCategorySchema, type ServiceDefinition, ServiceDefinitionSchema, type SkillBinding, SkillBindingSchema, type SkillManifestEntry, type SkillPack, SkillPackSchema, type SkippedService, SkippedServiceReasonSchema, SkippedServiceSchema, StackConfigError, type StackManifest, type StackManifestService, type StackManifestSkill, type ValidateRequest, ValidateRequestSchema, type ValidateResponse, ValidateResponseSchema, ValidationError, type VolumeMapping, VolumeMappingSchema, type Warning, WarningSchema, YAML_OPTIONS, buildAnalyticsPayload, buildCompanionService, buildPostgresSetup, checkCompatibility, compose, composeMultiFile, deployerRegistry, formatPortConflicts, generate, generateAddonStack, generateCaddyfile, generateCloneScripts, generateEnvFiles, generateGrafanaConfig, generateGrafanaDashboard, generateHealthCheck, generateN8nWorkflows, generatePostgresInit, generatePrometheusConfig, generateReadme, generateScripts, generateServicesDoc, generateSkillFiles, generateStackManifest, getAllManifestSkills, getAllPresets, getAllServices, getAllSkillPacks, getAvailableDeployers, getCompatibleSkillPacks, getDbRequirements, getDeployer, getImageReference, getImageTag, getManifestSkillById, getManifestSkillCount, getPresetById, getServiceById, getServicesByCategory, getSkillPackById, getStructuredEnvVars, migrateConfig, needsMigration, partitionBareMetal, pinImageTags, platformToNativePlatform, presetRegistry, quotedStr, resolve, resolvedWithOnlyServices, scanPortConflicts, serviceRegistry, skillPackRegistry, trackAnalytics, updateAddonStack, validate };
package/dist/index.mjs CHANGED
@@ -1,9 +1,12 @@
1
- import { partitionBareMetal, platformToNativePlatform, resolvedWithOnlyServices } from "./bare-metal-partition.mjs";
1
+ import { generatePostgresInit, getDbRequirements } from "./generators/postgres-init.mjs";
2
+ import { YAML_OPTIONS, buildCompanionService, buildPostgresSetup, compose, composeMultiFile, quotedStr } from "./composer.mjs";
3
+ import { generateSkillFiles } from "./generators/skills.mjs";
2
4
  import { getAllServices, getServiceById, getServicesByCategory, serviceRegistry } from "./services/registry.mjs";
3
5
  import { getAllSkillPacks, getCompatibleSkillPacks, getSkillPackById, skillPackRegistry } from "./skills/registry.mjs";
4
6
  import { resolve } from "./resolver.mjs";
5
- import { generatePostgresInit, getDbRequirements } from "./generators/postgres-init.mjs";
6
- import { compose, composeMultiFile } from "./composer.mjs";
7
+ import { AddedDependencySchema, AddonStackInputSchema, AddonStackResultSchema, AddonStackUpdateInputSchema, AddonStackUpdateResultSchema, ApiErrorSchema, BuildContextSchema, ComposeOptionsSchema, DeploySchema, DeployTargetSchema, DeploymentTargetSchema, DeploymentTypeSchema, EnvQuirkFixSchema, EnvQuirkSchema, EnvVariableSchema, ErrorSchema, GenerationInputSchema, GitSourceSchema, HealthCheckSchema, MaturitySchema, NativePlatformSchema, NativeRecipeSchema, OpenclawImageVariantSchema, OpenclawInstallMethodSchema, OutputFormatSchema, PlatformSchema, PortMappingSchema, PresetSchema, ProxyRouteSchema, ProxyTypeSchema, ResolvedServiceSchema, ResolverOutputSchema, ResourceLimitsSchema, RestartPolicySchema, ServiceCategorySchema, ServiceDefinitionSchema, SkillBindingSchema, SkillPackSchema, SkippedServiceReasonSchema, SkippedServiceSchema, ValidateRequestSchema, ValidateResponseSchema, VolumeMappingSchema, WarningSchema } from "./schema.mjs";
8
+ import { generateAddonStack, updateAddonStack } from "./addon-stack.mjs";
9
+ import { partitionBareMetal, platformToNativePlatform, resolvedWithOnlyServices } from "./bare-metal-partition.mjs";
7
10
  import { StackConfigError, ValidationError } from "./errors.mjs";
8
11
  import { generateCaddyfile } from "./generators/caddy.mjs";
9
12
  import { generateCloneScripts } from "./generators/clone-repos.mjs";
@@ -14,7 +17,6 @@ import { generateN8nWorkflows } from "./generators/n8n-workflows.mjs";
14
17
  import { generatePrometheusConfig } from "./generators/prometheus.mjs";
15
18
  import { generateReadme } from "./generators/readme.mjs";
16
19
  import { generateScripts } from "./generators/scripts.mjs";
17
- import { generateSkillFiles } from "./generators/skills.mjs";
18
20
  import { generateStackManifest } from "./generators/stack-manifest.mjs";
19
21
  import { CURRENT_CONFIG_VERSION, migrateConfig, needsMigration } from "./migrations.mjs";
20
22
  import { validate } from "./validator.mjs";
@@ -25,8 +27,7 @@ import { DokployDeployer } from "./deployers/dokploy.mjs";
25
27
  import { deployerRegistry, getAvailableDeployers, getDeployer } from "./deployers/index.mjs";
26
28
  import { buildAnalyticsPayload, trackAnalytics } from "./track-analytics.mjs";
27
29
  import { formatPortConflicts, scanPortConflicts } from "./port-scanner.mjs";
28
- import { AddedDependencySchema, ApiErrorSchema, BuildContextSchema, ComposeOptionsSchema, DeploySchema, DeployTargetSchema, DeploymentTargetSchema, DeploymentTypeSchema, EnvVariableSchema, ErrorSchema, GenerationInputSchema, GitSourceSchema, HealthCheckSchema, MaturitySchema, NativePlatformSchema, NativeRecipeSchema, OpenclawImageVariantSchema, OpenclawInstallMethodSchema, OutputFormatSchema, PlatformSchema, PortMappingSchema, PresetSchema, ProxyTypeSchema, ResolvedServiceSchema, ResolverOutputSchema, ResourceLimitsSchema, RestartPolicySchema, ServiceCategorySchema, ServiceDefinitionSchema, SkillBindingSchema, SkillPackSchema, ValidateRequestSchema, ValidateResponseSchema, VolumeMappingSchema, WarningSchema } from "./schema.mjs";
29
30
  import { n as getManifestSkillById, r as getManifestSkillCount, t as getAllManifestSkills } from "./skill-manifest-6XhrhWsG.mjs";
30
31
  import { SERVICE_CATEGORIES } from "./types.mjs";
31
32
  import { checkCompatibility, getImageReference, getImageTag, pinImageTags } from "./version-manager.mjs";
32
- export { AddedDependencySchema, ApiErrorSchema, BuildContextSchema, CURRENT_CONFIG_VERSION, ComposeOptionsSchema, CoolifyDeployer, DeploySchema, DeployTargetSchema, DeploymentTargetSchema, DeploymentTypeSchema, DokployDeployer, EnvVariableSchema, ErrorSchema, GenerationInputSchema, GitSourceSchema, HealthCheckSchema, MaturitySchema, NativePlatformSchema, NativeRecipeSchema, OpenclawImageVariantSchema, OpenclawInstallMethodSchema, OutputFormatSchema, PlatformSchema, PortMappingSchema, PresetSchema, ProxyTypeSchema, ResolvedServiceSchema, ResolverOutputSchema, ResourceLimitsSchema, RestartPolicySchema, SERVICE_CATEGORIES, ServiceCategorySchema, ServiceDefinitionSchema, SkillBindingSchema, SkillPackSchema, StackConfigError, ValidateRequestSchema, ValidateResponseSchema, ValidationError, VolumeMappingSchema, WarningSchema, buildAnalyticsPayload, checkCompatibility, compose, composeMultiFile, deployerRegistry, formatPortConflicts, generate, generateCaddyfile, generateCloneScripts, generateEnvFiles, generateGrafanaConfig, generateGrafanaDashboard, generateHealthCheck, generateN8nWorkflows, generatePostgresInit, generatePrometheusConfig, generateReadme, generateScripts, generateServicesDoc, generateSkillFiles, generateStackManifest, getAllManifestSkills, getAllPresets, getAllServices, getAllSkillPacks, getAvailableDeployers, getCompatibleSkillPacks, getDbRequirements, getDeployer, getImageReference, getImageTag, getManifestSkillById, getManifestSkillCount, getPresetById, getServiceById, getServicesByCategory, getSkillPackById, getStructuredEnvVars, migrateConfig, needsMigration, partitionBareMetal, pinImageTags, platformToNativePlatform, presetRegistry, resolve, resolvedWithOnlyServices, scanPortConflicts, serviceRegistry, skillPackRegistry, trackAnalytics, validate };
33
+ export { AddedDependencySchema, AddonStackInputSchema, AddonStackResultSchema, AddonStackUpdateInputSchema, AddonStackUpdateResultSchema, ApiErrorSchema, BuildContextSchema, CURRENT_CONFIG_VERSION, ComposeOptionsSchema, CoolifyDeployer, DeploySchema, DeployTargetSchema, DeploymentTargetSchema, DeploymentTypeSchema, DokployDeployer, EnvQuirkFixSchema, EnvQuirkSchema, EnvVariableSchema, ErrorSchema, GenerationInputSchema, GitSourceSchema, HealthCheckSchema, MaturitySchema, NativePlatformSchema, NativeRecipeSchema, OpenclawImageVariantSchema, OpenclawInstallMethodSchema, OutputFormatSchema, PlatformSchema, PortMappingSchema, PresetSchema, ProxyRouteSchema, ProxyTypeSchema, ResolvedServiceSchema, ResolverOutputSchema, ResourceLimitsSchema, RestartPolicySchema, SERVICE_CATEGORIES, ServiceCategorySchema, ServiceDefinitionSchema, SkillBindingSchema, SkillPackSchema, SkippedServiceReasonSchema, SkippedServiceSchema, StackConfigError, ValidateRequestSchema, ValidateResponseSchema, ValidationError, VolumeMappingSchema, WarningSchema, YAML_OPTIONS, buildAnalyticsPayload, buildCompanionService, buildPostgresSetup, checkCompatibility, compose, composeMultiFile, deployerRegistry, formatPortConflicts, generate, generateAddonStack, generateCaddyfile, generateCloneScripts, generateEnvFiles, generateGrafanaConfig, generateGrafanaDashboard, generateHealthCheck, generateN8nWorkflows, generatePostgresInit, generatePrometheusConfig, generateReadme, generateScripts, generateServicesDoc, generateSkillFiles, generateStackManifest, getAllManifestSkills, getAllPresets, getAllServices, getAllSkillPacks, getAvailableDeployers, getCompatibleSkillPacks, getDbRequirements, getDeployer, getImageReference, getImageTag, getManifestSkillById, getManifestSkillCount, getPresetById, getServiceById, getServicesByCategory, getSkillPackById, getStructuredEnvVars, migrateConfig, needsMigration, partitionBareMetal, pinImageTags, platformToNativePlatform, presetRegistry, quotedStr, resolve, resolvedWithOnlyServices, scanPortConflicts, serviceRegistry, skillPackRegistry, trackAnalytics, updateAddonStack, validate };
@@ -1,38 +1,38 @@
1
- const require_vi_2VT5v0um = require("./vi.2VT5v0um-iVBt6Fyq.cjs");
1
+ const require_test_CTcmp4Su = require("./test.CTcmp4Su-DlzTarwH.cjs");
2
2
  const require_migrations = require("./migrations.cjs");
3
3
  //#region src/migrations.test.ts
4
- require_vi_2VT5v0um.describe("config migrations", () => {
5
- require_vi_2VT5v0um.it("migrates v1 config to current version", () => {
4
+ require_test_CTcmp4Su.describe("config migrations", () => {
5
+ require_test_CTcmp4Su.it("migrates v1 config to current version", () => {
6
6
  const result = require_migrations.migrateConfig({
7
7
  projectName: "test",
8
8
  services: ["redis"],
9
9
  skillPacks: []
10
10
  });
11
- require_vi_2VT5v0um.globalExpect(result.configVersion).toBe(2);
12
- require_vi_2VT5v0um.globalExpect(result.deploymentType).toBe("docker");
11
+ require_test_CTcmp4Su.globalExpect(result.configVersion).toBe(2);
12
+ require_test_CTcmp4Su.globalExpect(result.deploymentType).toBe("docker");
13
13
  });
14
- require_vi_2VT5v0um.it("preserves existing deploymentType during migration", () => {
15
- require_vi_2VT5v0um.globalExpect(require_migrations.migrateConfig({
14
+ require_test_CTcmp4Su.it("preserves existing deploymentType during migration", () => {
15
+ require_test_CTcmp4Su.globalExpect(require_migrations.migrateConfig({
16
16
  configVersion: 1,
17
17
  deploymentType: "bare-metal"
18
18
  }).deploymentType).toBe("bare-metal");
19
19
  });
20
- require_vi_2VT5v0um.it("passes through current version unchanged", () => {
20
+ require_test_CTcmp4Su.it("passes through current version unchanged", () => {
21
21
  const current = {
22
22
  configVersion: 2,
23
23
  projectName: "test"
24
24
  };
25
- require_vi_2VT5v0um.globalExpect(require_migrations.migrateConfig(current)).toEqual(current);
25
+ require_test_CTcmp4Su.globalExpect(require_migrations.migrateConfig(current)).toEqual(current);
26
26
  });
27
- require_vi_2VT5v0um.it("needsMigration returns true for old configs", () => {
28
- require_vi_2VT5v0um.globalExpect(require_migrations.needsMigration({ configVersion: 1 })).toBe(true);
29
- require_vi_2VT5v0um.globalExpect(require_migrations.needsMigration({})).toBe(true);
27
+ require_test_CTcmp4Su.it("needsMigration returns true for old configs", () => {
28
+ require_test_CTcmp4Su.globalExpect(require_migrations.needsMigration({ configVersion: 1 })).toBe(true);
29
+ require_test_CTcmp4Su.globalExpect(require_migrations.needsMigration({})).toBe(true);
30
30
  });
31
- require_vi_2VT5v0um.it("needsMigration returns false for current configs", () => {
32
- require_vi_2VT5v0um.globalExpect(require_migrations.needsMigration({ configVersion: 2 })).toBe(false);
31
+ require_test_CTcmp4Su.it("needsMigration returns false for current configs", () => {
32
+ require_test_CTcmp4Su.globalExpect(require_migrations.needsMigration({ configVersion: 2 })).toBe(false);
33
33
  });
34
- require_vi_2VT5v0um.it("throws for unknown version with no migration path", () => {
35
- require_vi_2VT5v0um.globalExpect(() => require_migrations.migrateConfig({ configVersion: 99 })).toThrow("No migration path");
34
+ require_test_CTcmp4Su.it("throws for unknown version with no migration path", () => {
35
+ require_test_CTcmp4Su.globalExpect(() => require_migrations.migrateConfig({ configVersion: 99 })).toThrow("No migration path");
36
36
  });
37
37
  });
38
38
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.test.cjs","names":["describe","migrateConfig","needsMigration"],"sources":["../src/migrations.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { CURRENT_CONFIG_VERSION, migrateConfig, needsMigration } from \"./migrations.js\";\n\ndescribe(\"config migrations\", () => {\n\tit(\"migrates v1 config to current version\", () => {\n\t\tconst v1 = { projectName: \"test\", services: [\"redis\"], skillPacks: [] };\n\t\tconst result = migrateConfig(v1);\n\t\texpect(result.configVersion).toBe(CURRENT_CONFIG_VERSION);\n\t\texpect(result.deploymentType).toBe(\"docker\");\n\t});\n\n\tit(\"preserves existing deploymentType during migration\", () => {\n\t\tconst v1 = { configVersion: 1, deploymentType: \"bare-metal\" };\n\t\tconst result = migrateConfig(v1);\n\t\texpect(result.deploymentType).toBe(\"bare-metal\");\n\t});\n\n\tit(\"passes through current version unchanged\", () => {\n\t\tconst current = { configVersion: CURRENT_CONFIG_VERSION, projectName: \"test\" };\n\t\tconst result = migrateConfig(current);\n\t\texpect(result).toEqual(current);\n\t});\n\n\tit(\"needsMigration returns true for old configs\", () => {\n\t\texpect(needsMigration({ configVersion: 1 })).toBe(true);\n\t\texpect(needsMigration({})).toBe(true); // no version = v1\n\t});\n\n\tit(\"needsMigration returns false for current configs\", () => {\n\t\texpect(needsMigration({ configVersion: CURRENT_CONFIG_VERSION })).toBe(false);\n\t});\n\n\tit(\"throws for unknown version with no migration path\", () => {\n\t\texpect(() => migrateConfig({ configVersion: 99 })).toThrow(\"No migration path\");\n\t});\n});\n"],"mappings":";;;AAGAA,oBAAAA,SAAS,2BAA2B;AACnC,qBAAA,GAAG,+CAA+C;EAEjD,MAAM,SAASC,mBAAAA,cADJ;GAAE,aAAa;GAAQ,UAAU,CAAC,QAAQ;GAAE,YAAY,EAAE;GAAE,CACvC;AAChC,sBAAA,aAAO,OAAO,cAAc,CAAC,KAAA,EAA4B;AACzD,sBAAA,aAAO,OAAO,eAAe,CAAC,KAAK,SAAS;GAC3C;AAEF,qBAAA,GAAG,4DAA4D;AAG9D,sBAAA,aADeA,mBAAAA,cADJ;GAAE,eAAe;GAAG,gBAAgB;GAAc,CAC7B,CAClB,eAAe,CAAC,KAAK,aAAa;GAC/C;AAEF,qBAAA,GAAG,kDAAkD;EACpD,MAAM,UAAU;GAAE,eAAA;GAAuC,aAAa;GAAQ;AAE9E,sBAAA,aADeA,mBAAAA,cAAc,QAAQ,CACvB,CAAC,QAAQ,QAAQ;GAC9B;AAEF,qBAAA,GAAG,qDAAqD;AACvD,sBAAA,aAAOC,mBAAAA,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK;AACvD,sBAAA,aAAOA,mBAAAA,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK;GACpC;AAEF,qBAAA,GAAG,0DAA0D;AAC5D,sBAAA,aAAOA,mBAAAA,eAAe,EAAE,eAAA,GAAuC,CAAC,CAAC,CAAC,KAAK,MAAM;GAC5E;AAEF,qBAAA,GAAG,2DAA2D;AAC7D,sBAAA,mBAAaD,mBAAAA,cAAc,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,QAAQ,oBAAoB;GAC9E;EACD"}
1
+ {"version":3,"file":"migrations.test.cjs","names":["describe","migrateConfig","needsMigration"],"sources":["../src/migrations.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { CURRENT_CONFIG_VERSION, migrateConfig, needsMigration } from \"./migrations.js\";\n\ndescribe(\"config migrations\", () => {\n\tit(\"migrates v1 config to current version\", () => {\n\t\tconst v1 = { projectName: \"test\", services: [\"redis\"], skillPacks: [] };\n\t\tconst result = migrateConfig(v1);\n\t\texpect(result.configVersion).toBe(CURRENT_CONFIG_VERSION);\n\t\texpect(result.deploymentType).toBe(\"docker\");\n\t});\n\n\tit(\"preserves existing deploymentType during migration\", () => {\n\t\tconst v1 = { configVersion: 1, deploymentType: \"bare-metal\" };\n\t\tconst result = migrateConfig(v1);\n\t\texpect(result.deploymentType).toBe(\"bare-metal\");\n\t});\n\n\tit(\"passes through current version unchanged\", () => {\n\t\tconst current = { configVersion: CURRENT_CONFIG_VERSION, projectName: \"test\" };\n\t\tconst result = migrateConfig(current);\n\t\texpect(result).toEqual(current);\n\t});\n\n\tit(\"needsMigration returns true for old configs\", () => {\n\t\texpect(needsMigration({ configVersion: 1 })).toBe(true);\n\t\texpect(needsMigration({})).toBe(true); // no version = v1\n\t});\n\n\tit(\"needsMigration returns false for current configs\", () => {\n\t\texpect(needsMigration({ configVersion: CURRENT_CONFIG_VERSION })).toBe(false);\n\t});\n\n\tit(\"throws for unknown version with no migration path\", () => {\n\t\texpect(() => migrateConfig({ configVersion: 99 })).toThrow(\"No migration path\");\n\t});\n});\n"],"mappings":";;;AAGAA,sBAAAA,SAAS,2BAA2B;AACnC,uBAAA,GAAG,+CAA+C;EAEjD,MAAM,SAASC,mBAAAA,cADJ;GAAE,aAAa;GAAQ,UAAU,CAAC,QAAQ;GAAE,YAAY,EAAE;GAAE,CACvC;AAChC,wBAAA,aAAO,OAAO,cAAc,CAAC,KAAA,EAA4B;AACzD,wBAAA,aAAO,OAAO,eAAe,CAAC,KAAK,SAAS;GAC3C;AAEF,uBAAA,GAAG,4DAA4D;AAG9D,wBAAA,aADeA,mBAAAA,cADJ;GAAE,eAAe;GAAG,gBAAgB;GAAc,CAC7B,CAClB,eAAe,CAAC,KAAK,aAAa;GAC/C;AAEF,uBAAA,GAAG,kDAAkD;EACpD,MAAM,UAAU;GAAE,eAAA;GAAuC,aAAa;GAAQ;AAE9E,wBAAA,aADeA,mBAAAA,cAAc,QAAQ,CACvB,CAAC,QAAQ,QAAQ;GAC9B;AAEF,uBAAA,GAAG,qDAAqD;AACvD,wBAAA,aAAOC,mBAAAA,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK;AACvD,wBAAA,aAAOA,mBAAAA,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK;GACpC;AAEF,uBAAA,GAAG,0DAA0D;AAC5D,wBAAA,aAAOA,mBAAAA,eAAe,EAAE,eAAA,GAAuC,CAAC,CAAC,CAAC,KAAK,MAAM;GAC5E;AAEF,uBAAA,GAAG,2DAA2D;AAC7D,wBAAA,mBAAaD,mBAAAA,cAAc,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,QAAQ,oBAAoB;GAC9E;EACD"}
@@ -1,4 +1,4 @@
1
- import { n as describe, r as it, t as globalExpect } from "./vi.2VT5v0um-C_jmO7m2.mjs";
1
+ import { n as describe, r as it, t as globalExpect } from "./test.CTcmp4Su-ClCHJ3FA.mjs";
2
2
  import { migrateConfig, needsMigration } from "./migrations.mjs";
3
3
  //#region src/migrations.test.ts
4
4
  describe("config migrations", () => {
@@ -1,4 +1,4 @@
1
- const require_skills = require("../skills-BlzpHmpH.cjs");
1
+ const require_skills = require("../skills-BSF7iNa4.cjs");
2
2
  const require_resolver = require("../resolver.cjs");
3
3
  const require_generate = require("../generate.cjs");
4
4
  const require_presets_registry = require("./registry.cjs");
@@ -1,16 +1,16 @@
1
- const require_vi_2VT5v0um = require("../vi.2VT5v0um-iVBt6Fyq.cjs");
1
+ const require_test_CTcmp4Su = require("../test.CTcmp4Su-DlzTarwH.cjs");
2
2
  const require_presets_registry = require("./registry.cjs");
3
3
  //#region src/presets/registry.test.ts
4
- require_vi_2VT5v0um.describe("preset registry", () => {
5
- require_vi_2VT5v0um.it("getPresetById returns undefined for unknown id", () => {
6
- require_vi_2VT5v0um.globalExpect(require_presets_registry.getPresetById("unknown")).toBeUndefined();
4
+ require_test_CTcmp4Su.describe("preset registry", () => {
5
+ require_test_CTcmp4Su.it("getPresetById returns undefined for unknown id", () => {
6
+ require_test_CTcmp4Su.globalExpect(require_presets_registry.getPresetById("unknown")).toBeUndefined();
7
7
  });
8
- require_vi_2VT5v0um.it("getPresetById returns La Suite Meet preset with correct services", () => {
8
+ require_test_CTcmp4Su.it("getPresetById returns La Suite Meet preset with correct services", () => {
9
9
  const preset = require_presets_registry.getPresetById("lasuite-meet");
10
- require_vi_2VT5v0um.globalExpect(preset).toBeDefined();
11
- require_vi_2VT5v0um.globalExpect(preset.id).toBe("lasuite-meet");
12
- require_vi_2VT5v0um.globalExpect(preset.name).toBe("La Suite Meet");
13
- require_vi_2VT5v0um.globalExpect(preset.services).toEqual([
10
+ require_test_CTcmp4Su.globalExpect(preset).toBeDefined();
11
+ require_test_CTcmp4Su.globalExpect(preset.id).toBe("lasuite-meet");
12
+ require_test_CTcmp4Su.globalExpect(preset.name).toBe("La Suite Meet");
13
+ require_test_CTcmp4Su.globalExpect(preset.services).toEqual([
14
14
  "postgresql",
15
15
  "redis",
16
16
  "livekit",
@@ -21,13 +21,13 @@ require_vi_2VT5v0um.describe("preset registry", () => {
21
21
  "ollama",
22
22
  "caddy"
23
23
  ]);
24
- require_vi_2VT5v0um.globalExpect(preset.skillPacks).toEqual([]);
25
- require_vi_2VT5v0um.globalExpect(preset.estimatedMemoryMB).toBe(2048);
24
+ require_test_CTcmp4Su.globalExpect(preset.skillPacks).toEqual([]);
25
+ require_test_CTcmp4Su.globalExpect(preset.estimatedMemoryMB).toBe(2048);
26
26
  });
27
- require_vi_2VT5v0um.it("getAllPresets includes La Suite Meet", () => {
27
+ require_test_CTcmp4Su.it("getAllPresets includes La Suite Meet", () => {
28
28
  const lasuite = require_presets_registry.getAllPresets().find((p) => p.id === "lasuite-meet");
29
- require_vi_2VT5v0um.globalExpect(lasuite).toBeDefined();
30
- require_vi_2VT5v0um.globalExpect(lasuite.name).toBe("La Suite Meet");
29
+ require_test_CTcmp4Su.globalExpect(lasuite).toBeDefined();
30
+ require_test_CTcmp4Su.globalExpect(lasuite.name).toBe("La Suite Meet");
31
31
  });
32
32
  });
33
33
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"registry.test.cjs","names":["describe","getPresetById","getAllPresets"],"sources":["../../src/presets/registry.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { getAllPresets, getPresetById } from \"./registry.js\";\n\ndescribe(\"preset registry\", () => {\n\tit(\"getPresetById returns undefined for unknown id\", () => {\n\t\texpect(getPresetById(\"unknown\")).toBeUndefined();\n\t});\n\n\tit(\"getPresetById returns La Suite Meet preset with correct services\", () => {\n\t\tconst preset = getPresetById(\"lasuite-meet\");\n\t\texpect(preset).toBeDefined();\n\t\texpect(preset!.id).toBe(\"lasuite-meet\");\n\t\texpect(preset!.name).toBe(\"La Suite Meet\");\n\t\texpect(preset!.services).toEqual([\n\t\t\t\"postgresql\",\n\t\t\t\"redis\",\n\t\t\t\"livekit\",\n\t\t\t\"lasuite-meet-backend\",\n\t\t\t\"lasuite-meet-frontend\",\n\t\t\t\"lasuite-meet-agents\",\n\t\t\t\"whisper\",\n\t\t\t\"ollama\",\n\t\t\t\"caddy\",\n\t\t]);\n\t\texpect(preset!.skillPacks).toEqual([]);\n\t\texpect(preset!.estimatedMemoryMB).toBe(2048);\n\t});\n\n\tit(\"getAllPresets includes La Suite Meet\", () => {\n\t\tconst all = getAllPresets();\n\t\tconst lasuite = all.find((p) => p.id === \"lasuite-meet\");\n\t\texpect(lasuite).toBeDefined();\n\t\texpect(lasuite!.name).toBe(\"La Suite Meet\");\n\t});\n});\n"],"mappings":";;;AAGAA,oBAAAA,SAAS,yBAAyB;AACjC,qBAAA,GAAG,wDAAwD;AAC1D,sBAAA,aAAOC,yBAAAA,cAAc,UAAU,CAAC,CAAC,eAAe;GAC/C;AAEF,qBAAA,GAAG,0EAA0E;EAC5E,MAAM,SAASA,yBAAAA,cAAc,eAAe;AAC5C,sBAAA,aAAO,OAAO,CAAC,aAAa;AAC5B,sBAAA,aAAO,OAAQ,GAAG,CAAC,KAAK,eAAe;AACvC,sBAAA,aAAO,OAAQ,KAAK,CAAC,KAAK,gBAAgB;AAC1C,sBAAA,aAAO,OAAQ,SAAS,CAAC,QAAQ;GAChC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC;AACF,sBAAA,aAAO,OAAQ,WAAW,CAAC,QAAQ,EAAE,CAAC;AACtC,sBAAA,aAAO,OAAQ,kBAAkB,CAAC,KAAK,KAAK;GAC3C;AAEF,qBAAA,GAAG,8CAA8C;EAEhD,MAAM,UADMC,yBAAAA,eAAe,CACP,MAAM,MAAM,EAAE,OAAO,eAAe;AACxD,sBAAA,aAAO,QAAQ,CAAC,aAAa;AAC7B,sBAAA,aAAO,QAAS,KAAK,CAAC,KAAK,gBAAgB;GAC1C;EACD"}
1
+ {"version":3,"file":"registry.test.cjs","names":["describe","getPresetById","getAllPresets"],"sources":["../../src/presets/registry.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { getAllPresets, getPresetById } from \"./registry.js\";\n\ndescribe(\"preset registry\", () => {\n\tit(\"getPresetById returns undefined for unknown id\", () => {\n\t\texpect(getPresetById(\"unknown\")).toBeUndefined();\n\t});\n\n\tit(\"getPresetById returns La Suite Meet preset with correct services\", () => {\n\t\tconst preset = getPresetById(\"lasuite-meet\");\n\t\texpect(preset).toBeDefined();\n\t\texpect(preset!.id).toBe(\"lasuite-meet\");\n\t\texpect(preset!.name).toBe(\"La Suite Meet\");\n\t\texpect(preset!.services).toEqual([\n\t\t\t\"postgresql\",\n\t\t\t\"redis\",\n\t\t\t\"livekit\",\n\t\t\t\"lasuite-meet-backend\",\n\t\t\t\"lasuite-meet-frontend\",\n\t\t\t\"lasuite-meet-agents\",\n\t\t\t\"whisper\",\n\t\t\t\"ollama\",\n\t\t\t\"caddy\",\n\t\t]);\n\t\texpect(preset!.skillPacks).toEqual([]);\n\t\texpect(preset!.estimatedMemoryMB).toBe(2048);\n\t});\n\n\tit(\"getAllPresets includes La Suite Meet\", () => {\n\t\tconst all = getAllPresets();\n\t\tconst lasuite = all.find((p) => p.id === \"lasuite-meet\");\n\t\texpect(lasuite).toBeDefined();\n\t\texpect(lasuite!.name).toBe(\"La Suite Meet\");\n\t});\n});\n"],"mappings":";;;AAGAA,sBAAAA,SAAS,yBAAyB;AACjC,uBAAA,GAAG,wDAAwD;AAC1D,wBAAA,aAAOC,yBAAAA,cAAc,UAAU,CAAC,CAAC,eAAe;GAC/C;AAEF,uBAAA,GAAG,0EAA0E;EAC5E,MAAM,SAASA,yBAAAA,cAAc,eAAe;AAC5C,wBAAA,aAAO,OAAO,CAAC,aAAa;AAC5B,wBAAA,aAAO,OAAQ,GAAG,CAAC,KAAK,eAAe;AACvC,wBAAA,aAAO,OAAQ,KAAK,CAAC,KAAK,gBAAgB;AAC1C,wBAAA,aAAO,OAAQ,SAAS,CAAC,QAAQ;GAChC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,CAAC;AACF,wBAAA,aAAO,OAAQ,WAAW,CAAC,QAAQ,EAAE,CAAC;AACtC,wBAAA,aAAO,OAAQ,kBAAkB,CAAC,KAAK,KAAK;GAC3C;AAEF,uBAAA,GAAG,8CAA8C;EAEhD,MAAM,UADMC,yBAAAA,eAAe,CACP,MAAM,MAAM,EAAE,OAAO,eAAe;AACxD,wBAAA,aAAO,QAAQ,CAAC,aAAa;AAC7B,wBAAA,aAAO,QAAS,KAAK,CAAC,KAAK,gBAAgB;GAC1C;EACD"}
@@ -1,4 +1,4 @@
1
- import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-C_jmO7m2.mjs";
1
+ import { n as describe, r as it, t as globalExpect } from "../test.CTcmp4Su-ClCHJ3FA.mjs";
2
2
  import { getAllPresets, getPresetById } from "./registry.mjs";
3
3
  //#region src/presets/registry.test.ts
4
4
  describe("preset registry", () => {