@better-openclaw/core 1.0.23 → 1.0.25

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 (335) hide show
  1. package/dist/addon-stack.cjs +673 -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 +671 -0
  8. package/dist/addon-stack.mjs.map +1 -0
  9. package/dist/addon-stack.test.cjs +349 -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 +349 -0
  14. package/dist/addon-stack.test.mjs.map +1 -0
  15. package/dist/bare-metal-partition.test.cjs +20 -21
  16. package/dist/bare-metal-partition.test.cjs.map +1 -1
  17. package/dist/bare-metal-partition.test.mjs +4 -5
  18. package/dist/bare-metal-partition.test.mjs.map +1 -1
  19. package/dist/composer.cjs +17 -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 +14 -2
  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 +53 -52
  31. package/dist/composer.test.cjs.map +1 -1
  32. package/dist/composer.test.mjs +4 -3
  33. package/dist/composer.test.mjs.map +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 +8 -4
  38. package/dist/generate.cjs.map +1 -1
  39. package/dist/generate.d.cts.map +1 -1
  40. package/dist/generate.d.mts.map +1 -1
  41. package/dist/generate.mjs +9 -5
  42. package/dist/generate.mjs.map +1 -1
  43. package/dist/generate.test.cjs +55 -55
  44. package/dist/generate.test.cjs.map +1 -1
  45. package/dist/generate.test.mjs +2 -2
  46. package/dist/generate.test.mjs.map +1 -1
  47. package/dist/generators/bare-metal-install.test.cjs +18 -18
  48. package/dist/generators/bare-metal-install.test.cjs.map +1 -1
  49. package/dist/generators/bare-metal-install.test.mjs +1 -1
  50. package/dist/generators/caddy.test.cjs +13 -13
  51. package/dist/generators/caddy.test.cjs.map +1 -1
  52. package/dist/generators/caddy.test.mjs +1 -1
  53. package/dist/generators/clone-repos.cjs +140 -0
  54. package/dist/generators/clone-repos.cjs.map +1 -0
  55. package/dist/generators/clone-repos.d.cts +11 -0
  56. package/dist/generators/clone-repos.d.cts.map +1 -0
  57. package/dist/generators/clone-repos.d.mts +11 -0
  58. package/dist/generators/clone-repos.d.mts.map +1 -0
  59. package/dist/generators/clone-repos.mjs +139 -0
  60. package/dist/generators/clone-repos.mjs.map +1 -0
  61. package/dist/generators/clone-repos.test.cjs +140 -0
  62. package/dist/generators/clone-repos.test.cjs.map +1 -0
  63. package/dist/generators/clone-repos.test.d.cts +1 -0
  64. package/dist/generators/clone-repos.test.d.mts +1 -0
  65. package/dist/generators/clone-repos.test.mjs +141 -0
  66. package/dist/generators/clone-repos.test.mjs.map +1 -0
  67. package/dist/generators/env.test.cjs +17 -17
  68. package/dist/generators/env.test.cjs.map +1 -1
  69. package/dist/generators/env.test.mjs +1 -1
  70. package/dist/generators/health-check.test.cjs +39 -39
  71. package/dist/generators/health-check.test.cjs.map +1 -1
  72. package/dist/generators/health-check.test.mjs +1 -1
  73. package/dist/generators/postgres-init.cjs +20 -0
  74. package/dist/generators/postgres-init.cjs.map +1 -1
  75. package/dist/generators/postgres-init.d.cts.map +1 -1
  76. package/dist/generators/postgres-init.d.mts.map +1 -1
  77. package/dist/generators/postgres-init.mjs +20 -0
  78. package/dist/generators/postgres-init.mjs.map +1 -1
  79. package/dist/generators/scripts.cjs +332 -3
  80. package/dist/generators/scripts.cjs.map +1 -1
  81. package/dist/generators/scripts.d.cts +3 -1
  82. package/dist/generators/scripts.d.cts.map +1 -1
  83. package/dist/generators/scripts.d.mts +3 -1
  84. package/dist/generators/scripts.d.mts.map +1 -1
  85. package/dist/generators/scripts.mjs +332 -3
  86. package/dist/generators/scripts.mjs.map +1 -1
  87. package/dist/generators/scripts.test.cjs +57 -23
  88. package/dist/generators/scripts.test.cjs.map +1 -1
  89. package/dist/generators/scripts.test.mjs +39 -5
  90. package/dist/generators/scripts.test.mjs.map +1 -1
  91. package/dist/generators/stack-manifest.cjs +1 -0
  92. package/dist/generators/stack-manifest.cjs.map +1 -1
  93. package/dist/generators/stack-manifest.d.cts +3 -2
  94. package/dist/generators/stack-manifest.d.cts.map +1 -1
  95. package/dist/generators/stack-manifest.d.mts +3 -2
  96. package/dist/generators/stack-manifest.d.mts.map +1 -1
  97. package/dist/generators/stack-manifest.mjs +1 -0
  98. package/dist/generators/stack-manifest.mjs.map +1 -1
  99. package/dist/generators/traefik.test.cjs +32 -32
  100. package/dist/generators/traefik.test.cjs.map +1 -1
  101. package/dist/generators/traefik.test.mjs +1 -1
  102. package/dist/index.cjs +28 -5
  103. package/dist/index.d.cts +7 -4
  104. package/dist/index.d.mts +7 -4
  105. package/dist/index.mjs +10 -7
  106. package/dist/migrations.test.cjs +16 -16
  107. package/dist/migrations.test.cjs.map +1 -1
  108. package/dist/migrations.test.mjs +1 -1
  109. package/dist/presets/registry.cjs.map +1 -1
  110. package/dist/presets/registry.d.cts.map +1 -1
  111. package/dist/presets/registry.d.mts.map +1 -1
  112. package/dist/presets/registry.mjs.map +1 -1
  113. package/dist/presets/registry.test.cjs +14 -14
  114. package/dist/presets/registry.test.cjs.map +1 -1
  115. package/dist/presets/registry.test.mjs +1 -1
  116. package/dist/resolver.cjs +8 -0
  117. package/dist/resolver.cjs.map +1 -1
  118. package/dist/resolver.mjs +9 -1
  119. package/dist/resolver.mjs.map +1 -1
  120. package/dist/resolver.test.cjs +125 -90
  121. package/dist/resolver.test.cjs.map +1 -1
  122. package/dist/resolver.test.mjs +47 -12
  123. package/dist/resolver.test.mjs.map +1 -1
  124. package/dist/{schema-B4c64P8N.d.cts → schema-CKBRu-Rt.d.cts} +355 -8
  125. package/dist/schema-CKBRu-Rt.d.cts.map +1 -0
  126. package/dist/{schema-CXNhYci1.d.mts → schema-Dn-_Jpb6.d.mts} +355 -8
  127. package/dist/schema-Dn-_Jpb6.d.mts.map +1 -0
  128. package/dist/schema.cjs +160 -5
  129. package/dist/schema.cjs.map +1 -1
  130. package/dist/schema.d.cts +2 -2
  131. package/dist/schema.d.mts +2 -2
  132. package/dist/schema.mjs +150 -6
  133. package/dist/schema.mjs.map +1 -1
  134. package/dist/schema.test.cjs +86 -86
  135. package/dist/schema.test.cjs.map +1 -1
  136. package/dist/schema.test.mjs +1 -1
  137. package/dist/services/definitions/apptension-saas.cjs +87 -0
  138. package/dist/services/definitions/apptension-saas.cjs.map +1 -0
  139. package/dist/services/definitions/apptension-saas.d.cts +7 -0
  140. package/dist/services/definitions/apptension-saas.d.cts.map +1 -0
  141. package/dist/services/definitions/apptension-saas.d.mts +7 -0
  142. package/dist/services/definitions/apptension-saas.d.mts.map +1 -0
  143. package/dist/services/definitions/apptension-saas.mjs +86 -0
  144. package/dist/services/definitions/apptension-saas.mjs.map +1 -0
  145. package/dist/services/definitions/boxyhq-saas.cjs +88 -0
  146. package/dist/services/definitions/boxyhq-saas.cjs.map +1 -0
  147. package/dist/services/definitions/boxyhq-saas.d.cts +7 -0
  148. package/dist/services/definitions/boxyhq-saas.d.cts.map +1 -0
  149. package/dist/services/definitions/boxyhq-saas.d.mts +7 -0
  150. package/dist/services/definitions/boxyhq-saas.d.mts.map +1 -0
  151. package/dist/services/definitions/boxyhq-saas.mjs +87 -0
  152. package/dist/services/definitions/boxyhq-saas.mjs.map +1 -0
  153. package/dist/services/definitions/browserless.cjs +4 -1
  154. package/dist/services/definitions/browserless.cjs.map +1 -1
  155. package/dist/services/definitions/browserless.mjs +4 -1
  156. package/dist/services/definitions/browserless.mjs.map +1 -1
  157. package/dist/services/definitions/cmsaas-starter.cjs +86 -0
  158. package/dist/services/definitions/cmsaas-starter.cjs.map +1 -0
  159. package/dist/services/definitions/cmsaas-starter.d.cts +7 -0
  160. package/dist/services/definitions/cmsaas-starter.d.cts.map +1 -0
  161. package/dist/services/definitions/cmsaas-starter.d.mts +7 -0
  162. package/dist/services/definitions/cmsaas-starter.d.mts.map +1 -0
  163. package/dist/services/definitions/cmsaas-starter.mjs +85 -0
  164. package/dist/services/definitions/cmsaas-starter.mjs.map +1 -0
  165. package/dist/services/definitions/convex.cjs +43 -1
  166. package/dist/services/definitions/convex.cjs.map +1 -1
  167. package/dist/services/definitions/convex.mjs +43 -1
  168. package/dist/services/definitions/convex.mjs.map +1 -1
  169. package/dist/services/definitions/grafana.cjs +11 -1
  170. package/dist/services/definitions/grafana.cjs.map +1 -1
  171. package/dist/services/definitions/grafana.mjs +11 -1
  172. package/dist/services/definitions/grafana.mjs.map +1 -1
  173. package/dist/services/definitions/index.cjs +51 -36
  174. package/dist/services/definitions/index.cjs.map +1 -1
  175. package/dist/services/definitions/index.d.cts +30 -25
  176. package/dist/services/definitions/index.d.cts.map +1 -1
  177. package/dist/services/definitions/index.d.mts +30 -25
  178. package/dist/services/definitions/index.d.mts.map +1 -1
  179. package/dist/services/definitions/index.mjs +47 -37
  180. package/dist/services/definitions/index.mjs.map +1 -1
  181. package/dist/services/definitions/ixartz-saas.cjs +88 -0
  182. package/dist/services/definitions/ixartz-saas.cjs.map +1 -0
  183. package/dist/services/definitions/ixartz-saas.d.cts +7 -0
  184. package/dist/services/definitions/ixartz-saas.d.cts.map +1 -0
  185. package/dist/services/definitions/ixartz-saas.d.mts +7 -0
  186. package/dist/services/definitions/ixartz-saas.d.mts.map +1 -0
  187. package/dist/services/definitions/ixartz-saas.mjs +87 -0
  188. package/dist/services/definitions/ixartz-saas.mjs.map +1 -0
  189. package/dist/services/definitions/meilisearch.cjs +11 -1
  190. package/dist/services/definitions/meilisearch.cjs.map +1 -1
  191. package/dist/services/definitions/meilisearch.mjs +11 -1
  192. package/dist/services/definitions/meilisearch.mjs.map +1 -1
  193. package/dist/services/definitions/minio.cjs +3 -1
  194. package/dist/services/definitions/minio.cjs.map +1 -1
  195. package/dist/services/definitions/minio.mjs +3 -1
  196. package/dist/services/definitions/minio.mjs.map +1 -1
  197. package/dist/services/definitions/mission-control.cjs +16 -2
  198. package/dist/services/definitions/mission-control.cjs.map +1 -1
  199. package/dist/services/definitions/mission-control.mjs +16 -2
  200. package/dist/services/definitions/mission-control.mjs.map +1 -1
  201. package/dist/services/definitions/n8n.cjs +11 -1
  202. package/dist/services/definitions/n8n.cjs.map +1 -1
  203. package/dist/services/definitions/n8n.mjs +11 -1
  204. package/dist/services/definitions/n8n.mjs.map +1 -1
  205. package/dist/services/definitions/ollama.cjs +3 -1
  206. package/dist/services/definitions/ollama.cjs.map +1 -1
  207. package/dist/services/definitions/ollama.mjs +3 -1
  208. package/dist/services/definitions/ollama.mjs.map +1 -1
  209. package/dist/services/definitions/open-saas.cjs +81 -0
  210. package/dist/services/definitions/open-saas.cjs.map +1 -0
  211. package/dist/services/definitions/open-saas.d.cts +7 -0
  212. package/dist/services/definitions/open-saas.d.cts.map +1 -0
  213. package/dist/services/definitions/open-saas.d.mts +7 -0
  214. package/dist/services/definitions/open-saas.d.mts.map +1 -0
  215. package/dist/services/definitions/open-saas.mjs +80 -0
  216. package/dist/services/definitions/open-saas.mjs.map +1 -0
  217. package/dist/services/definitions/qdrant.cjs +3 -1
  218. package/dist/services/definitions/qdrant.cjs.map +1 -1
  219. package/dist/services/definitions/qdrant.mjs +3 -1
  220. package/dist/services/definitions/qdrant.mjs.map +1 -1
  221. package/dist/services/definitions/searxng.cjs +8 -1
  222. package/dist/services/definitions/searxng.cjs.map +1 -1
  223. package/dist/services/definitions/searxng.mjs +8 -1
  224. package/dist/services/definitions/searxng.mjs.map +1 -1
  225. package/dist/services/definitions/uptime-kuma.cjs +8 -1
  226. package/dist/services/definitions/uptime-kuma.cjs.map +1 -1
  227. package/dist/services/definitions/uptime-kuma.mjs +8 -1
  228. package/dist/services/definitions/uptime-kuma.mjs.map +1 -1
  229. package/dist/services/registry.cjs +3 -0
  230. package/dist/services/registry.cjs.map +1 -1
  231. package/dist/services/registry.d.cts.map +1 -1
  232. package/dist/services/registry.d.mts.map +1 -1
  233. package/dist/services/registry.mjs +3 -0
  234. package/dist/services/registry.mjs.map +1 -1
  235. package/dist/services/registry.test.cjs +40 -33
  236. package/dist/services/registry.test.cjs.map +1 -1
  237. package/dist/services/registry.test.mjs +8 -1
  238. package/dist/services/registry.test.mjs.map +1 -1
  239. package/dist/{skill-manifest-BVUXU0__.mjs → skill-manifest-6XhrhWsG.mjs} +49 -1
  240. package/dist/{skill-manifest--IgY9REK.cjs.map → skill-manifest-6XhrhWsG.mjs.map} +1 -1
  241. package/dist/{skill-manifest--IgY9REK.cjs → skill-manifest-B8znSsym.cjs} +49 -1
  242. package/dist/{skill-manifest-BVUXU0__.mjs.map → skill-manifest-B8znSsym.cjs.map} +1 -1
  243. package/dist/skills/registry.cjs +3 -3
  244. package/dist/skills/registry.cjs.map +1 -1
  245. package/dist/skills/registry.mjs +3 -3
  246. package/dist/skills/registry.mjs.map +1 -1
  247. package/dist/skills/skill-manifest.cjs +1 -1
  248. package/dist/skills/skill-manifest.mjs +1 -1
  249. package/dist/{vi.2VT5v0um-DvC3SVNc.mjs → test.CTcmp4Su-ClCHJ3FA.mjs} +6793 -6403
  250. package/dist/test.CTcmp4Su-ClCHJ3FA.mjs.map +1 -0
  251. package/dist/{vi.2VT5v0um-CRqXre87.cjs → test.CTcmp4Su-DlzTarwH.cjs} +6793 -6403
  252. package/dist/test.CTcmp4Su-DlzTarwH.cjs.map +1 -0
  253. package/dist/track-analytics.cjs +50 -0
  254. package/dist/track-analytics.cjs.map +1 -0
  255. package/dist/track-analytics.d.cts +34 -0
  256. package/dist/track-analytics.d.cts.map +1 -0
  257. package/dist/track-analytics.d.mts +34 -0
  258. package/dist/track-analytics.d.mts.map +1 -0
  259. package/dist/track-analytics.mjs +48 -0
  260. package/dist/track-analytics.mjs.map +1 -0
  261. package/dist/track-analytics.test.cjs +91 -0
  262. package/dist/track-analytics.test.cjs.map +1 -0
  263. package/dist/track-analytics.test.d.cts +1 -0
  264. package/dist/track-analytics.test.d.mts +1 -0
  265. package/dist/track-analytics.test.mjs +92 -0
  266. package/dist/track-analytics.test.mjs.map +1 -0
  267. package/dist/types.cjs +7 -0
  268. package/dist/types.cjs.map +1 -1
  269. package/dist/types.d.cts +12 -2
  270. package/dist/types.d.cts.map +1 -1
  271. package/dist/types.d.mts +12 -2
  272. package/dist/types.d.mts.map +1 -1
  273. package/dist/types.mjs +7 -0
  274. package/dist/types.mjs.map +1 -1
  275. package/dist/validator.test.cjs +15 -15
  276. package/dist/validator.test.cjs.map +1 -1
  277. package/dist/validator.test.mjs +2 -2
  278. package/dist/version-manager.cjs +1 -1
  279. package/dist/version-manager.cjs.map +1 -1
  280. package/dist/version-manager.mjs +1 -1
  281. package/dist/version-manager.mjs.map +1 -1
  282. package/dist/version-manager.test.cjs +40 -38
  283. package/dist/version-manager.test.cjs.map +1 -1
  284. package/dist/version-manager.test.mjs +7 -5
  285. package/dist/version-manager.test.mjs.map +1 -1
  286. package/package.json +4 -4
  287. package/src/__snapshots__/composer.snapshot.test.ts.snap +160 -0
  288. package/src/addon-stack.test.ts +490 -0
  289. package/src/addon-stack.ts +998 -0
  290. package/src/bare-metal-partition.test.ts +4 -3
  291. package/src/composer.test.ts +4 -2
  292. package/src/composer.ts +24 -5
  293. package/src/generate.test.ts +2 -1
  294. package/src/generate.ts +10 -1
  295. package/src/generators/clone-repos.test.ts +154 -0
  296. package/src/generators/clone-repos.ts +159 -0
  297. package/src/generators/postgres-init.ts +17 -0
  298. package/src/generators/scripts.test.ts +52 -4
  299. package/src/generators/scripts.ts +351 -3
  300. package/src/generators/stack-manifest.ts +4 -2
  301. package/src/index.ts +28 -2
  302. package/src/presets/registry.ts +241 -329
  303. package/src/resolver.test.ts +53 -15
  304. package/src/resolver.ts +13 -1
  305. package/src/schema.ts +216 -4
  306. package/src/services/definitions/apptension-saas.ts +84 -0
  307. package/src/services/definitions/boxyhq-saas.ts +84 -0
  308. package/src/services/definitions/browserless.ts +3 -0
  309. package/src/services/definitions/cmsaas-starter.ts +84 -0
  310. package/src/services/definitions/convex.ts +31 -0
  311. package/src/services/definitions/grafana.ts +9 -0
  312. package/src/services/definitions/index.ts +90 -70
  313. package/src/services/definitions/ixartz-saas.ts +84 -0
  314. package/src/services/definitions/meilisearch.ts +9 -0
  315. package/src/services/definitions/minio.ts +2 -0
  316. package/src/services/definitions/mission-control.ts +19 -2
  317. package/src/services/definitions/n8n.ts +9 -0
  318. package/src/services/definitions/ollama.ts +2 -0
  319. package/src/services/definitions/open-saas.ts +79 -0
  320. package/src/services/definitions/qdrant.ts +2 -0
  321. package/src/services/definitions/searxng.ts +3 -0
  322. package/src/services/definitions/uptime-kuma.ts +3 -0
  323. package/src/services/registry.test.ts +8 -0
  324. package/src/services/registry.ts +7 -0
  325. package/src/skills/manifest.json +64 -0
  326. package/src/skills/registry.ts +3 -3
  327. package/src/track-analytics.test.ts +82 -0
  328. package/src/track-analytics.ts +76 -0
  329. package/src/types.ts +29 -0
  330. package/src/version-manager.test.ts +10 -5
  331. package/src/version-manager.ts +1 -1
  332. package/dist/schema-B4c64P8N.d.cts.map +0 -1
  333. package/dist/schema-CXNhYci1.d.mts.map +0 -1
  334. package/dist/vi.2VT5v0um-CRqXre87.cjs.map +0 -1
  335. package/dist/vi.2VT5v0um-DvC3SVNc.mjs.map +0 -1
@@ -37,6 +37,7 @@ declare const ServiceCategorySchema: z.ZodEnum<{
37
37
  "business-intelligence": "business-intelligence";
38
38
  "dns-networking": "dns-networking";
39
39
  iot: "iot";
40
+ "saas-boilerplate": "saas-boilerplate";
40
41
  }>;
41
42
  declare const MaturitySchema: z.ZodEnum<{
42
43
  stable: "stable";
@@ -183,6 +184,48 @@ declare const NativeRecipeSchema: z.ZodObject<{
183
184
  configTemplate: z.ZodOptional<z.ZodString>;
184
185
  systemdUnit: z.ZodOptional<z.ZodString>;
185
186
  }, z.core.$strip>;
187
+ declare const GitSourceSchema: z.ZodObject<{
188
+ repoUrl: z.ZodString;
189
+ branch: z.ZodOptional<z.ZodString>;
190
+ subdirectory: z.ZodOptional<z.ZodString>;
191
+ postCloneCommands: z.ZodDefault<z.ZodArray<z.ZodString>>;
192
+ }, z.core.$strip>;
193
+ declare const BuildContextSchema: z.ZodObject<{
194
+ dockerfile: z.ZodOptional<z.ZodString>;
195
+ context: z.ZodDefault<z.ZodString>;
196
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
197
+ target: z.ZodOptional<z.ZodString>;
198
+ }, z.core.$strip>;
199
+ declare const EnvQuirkFixSchema: z.ZodObject<{
200
+ type: z.ZodEnum<{
201
+ set_value: "set_value";
202
+ generate_hex: "generate_hex";
203
+ generate_base64url: "generate_base64url";
204
+ sync_with: "sync_with";
205
+ }>;
206
+ value: z.ZodOptional<z.ZodString>;
207
+ minBytes: z.ZodOptional<z.ZodNumber>;
208
+ syncKey: z.ZodOptional<z.ZodString>;
209
+ }, z.core.$strip>;
210
+ declare const EnvQuirkSchema: z.ZodObject<{
211
+ key: z.ZodString;
212
+ issue: z.ZodEnum<{
213
+ empty_string_crashes: "empty_string_crashes";
214
+ min_length: "min_length";
215
+ must_sync: "must_sync";
216
+ }>;
217
+ fix: z.ZodObject<{
218
+ type: z.ZodEnum<{
219
+ set_value: "set_value";
220
+ generate_hex: "generate_hex";
221
+ generate_base64url: "generate_base64url";
222
+ sync_with: "sync_with";
223
+ }>;
224
+ value: z.ZodOptional<z.ZodString>;
225
+ minBytes: z.ZodOptional<z.ZodNumber>;
226
+ syncKey: z.ZodOptional<z.ZodString>;
227
+ }, z.core.$strip>;
228
+ }, z.core.$strip>;
186
229
  declare const ServiceDefinitionSchema: z.ZodObject<{
187
230
  id: z.ZodString;
188
231
  name: z.ZodString;
@@ -223,10 +266,23 @@ declare const ServiceDefinitionSchema: z.ZodObject<{
223
266
  "business-intelligence": "business-intelligence";
224
267
  "dns-networking": "dns-networking";
225
268
  iot: "iot";
269
+ "saas-boilerplate": "saas-boilerplate";
226
270
  }>;
227
271
  icon: z.ZodString;
228
- image: z.ZodString;
229
- imageTag: z.ZodString;
272
+ image: z.ZodOptional<z.ZodString>;
273
+ imageTag: z.ZodOptional<z.ZodString>;
274
+ gitSource: z.ZodOptional<z.ZodObject<{
275
+ repoUrl: z.ZodString;
276
+ branch: z.ZodOptional<z.ZodString>;
277
+ subdirectory: z.ZodOptional<z.ZodString>;
278
+ postCloneCommands: z.ZodDefault<z.ZodArray<z.ZodString>>;
279
+ }, z.core.$strip>>;
280
+ buildContext: z.ZodOptional<z.ZodObject<{
281
+ dockerfile: z.ZodOptional<z.ZodString>;
282
+ context: z.ZodDefault<z.ZodString>;
283
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
284
+ target: z.ZodOptional<z.ZodString>;
285
+ }, z.core.$strip>>;
230
286
  ports: z.ZodDefault<z.ZodArray<z.ZodObject<{
231
287
  host: z.ZodNumber;
232
288
  container: z.ZodNumber;
@@ -332,6 +388,29 @@ declare const ServiceDefinitionSchema: z.ZodObject<{
332
388
  configTemplate: z.ZodOptional<z.ZodString>;
333
389
  systemdUnit: z.ZodOptional<z.ZodString>;
334
390
  }, z.core.$strip>>>;
391
+ capDropCompatible: z.ZodOptional<z.ZodBoolean>;
392
+ prebuiltImage: z.ZodOptional<z.ZodString>;
393
+ proxyPath: z.ZodOptional<z.ZodString>;
394
+ firstBootCapabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
395
+ envQuirks: z.ZodOptional<z.ZodArray<z.ZodObject<{
396
+ key: z.ZodString;
397
+ issue: z.ZodEnum<{
398
+ empty_string_crashes: "empty_string_crashes";
399
+ min_length: "min_length";
400
+ must_sync: "must_sync";
401
+ }>;
402
+ fix: z.ZodObject<{
403
+ type: z.ZodEnum<{
404
+ set_value: "set_value";
405
+ generate_hex: "generate_hex";
406
+ generate_base64url: "generate_base64url";
407
+ sync_with: "sync_with";
408
+ }>;
409
+ value: z.ZodOptional<z.ZodString>;
410
+ minBytes: z.ZodOptional<z.ZodNumber>;
411
+ syncKey: z.ZodOptional<z.ZodString>;
412
+ }, z.core.$strip>;
413
+ }, z.core.$strip>>>;
335
414
  }, z.core.$strip>;
336
415
  declare const SkillPackSchema: z.ZodObject<{
337
416
  id: z.ZodString;
@@ -463,10 +542,23 @@ declare const ResolvedServiceSchema: z.ZodObject<{
463
542
  "business-intelligence": "business-intelligence";
464
543
  "dns-networking": "dns-networking";
465
544
  iot: "iot";
545
+ "saas-boilerplate": "saas-boilerplate";
466
546
  }>;
467
547
  icon: z.ZodString;
468
- image: z.ZodString;
469
- imageTag: z.ZodString;
548
+ image: z.ZodOptional<z.ZodString>;
549
+ imageTag: z.ZodOptional<z.ZodString>;
550
+ gitSource: z.ZodOptional<z.ZodObject<{
551
+ repoUrl: z.ZodString;
552
+ branch: z.ZodOptional<z.ZodString>;
553
+ subdirectory: z.ZodOptional<z.ZodString>;
554
+ postCloneCommands: z.ZodDefault<z.ZodArray<z.ZodString>>;
555
+ }, z.core.$strip>>;
556
+ buildContext: z.ZodOptional<z.ZodObject<{
557
+ dockerfile: z.ZodOptional<z.ZodString>;
558
+ context: z.ZodDefault<z.ZodString>;
559
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
560
+ target: z.ZodOptional<z.ZodString>;
561
+ }, z.core.$strip>>;
470
562
  ports: z.ZodDefault<z.ZodArray<z.ZodObject<{
471
563
  host: z.ZodNumber;
472
564
  container: z.ZodNumber;
@@ -572,10 +664,34 @@ declare const ResolvedServiceSchema: z.ZodObject<{
572
664
  configTemplate: z.ZodOptional<z.ZodString>;
573
665
  systemdUnit: z.ZodOptional<z.ZodString>;
574
666
  }, z.core.$strip>>>;
667
+ capDropCompatible: z.ZodOptional<z.ZodBoolean>;
668
+ prebuiltImage: z.ZodOptional<z.ZodString>;
669
+ proxyPath: z.ZodOptional<z.ZodString>;
670
+ firstBootCapabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
671
+ envQuirks: z.ZodOptional<z.ZodArray<z.ZodObject<{
672
+ key: z.ZodString;
673
+ issue: z.ZodEnum<{
674
+ empty_string_crashes: "empty_string_crashes";
675
+ min_length: "min_length";
676
+ must_sync: "must_sync";
677
+ }>;
678
+ fix: z.ZodObject<{
679
+ type: z.ZodEnum<{
680
+ set_value: "set_value";
681
+ generate_hex: "generate_hex";
682
+ generate_base64url: "generate_base64url";
683
+ sync_with: "sync_with";
684
+ }>;
685
+ value: z.ZodOptional<z.ZodString>;
686
+ minBytes: z.ZodOptional<z.ZodNumber>;
687
+ syncKey: z.ZodOptional<z.ZodString>;
688
+ }, z.core.$strip>;
689
+ }, z.core.$strip>>>;
575
690
  }, z.core.$strip>;
576
691
  addedBy: z.ZodDefault<z.ZodEnum<{
577
692
  proxy: "proxy";
578
693
  monitoring: "monitoring";
694
+ mandatory: "mandatory";
579
695
  user: "user";
580
696
  dependency: "dependency";
581
697
  "skill-pack": "skill-pack";
@@ -637,10 +753,23 @@ declare const ResolverOutputSchema: z.ZodObject<{
637
753
  "business-intelligence": "business-intelligence";
638
754
  "dns-networking": "dns-networking";
639
755
  iot: "iot";
756
+ "saas-boilerplate": "saas-boilerplate";
640
757
  }>;
641
758
  icon: z.ZodString;
642
- image: z.ZodString;
643
- imageTag: z.ZodString;
759
+ image: z.ZodOptional<z.ZodString>;
760
+ imageTag: z.ZodOptional<z.ZodString>;
761
+ gitSource: z.ZodOptional<z.ZodObject<{
762
+ repoUrl: z.ZodString;
763
+ branch: z.ZodOptional<z.ZodString>;
764
+ subdirectory: z.ZodOptional<z.ZodString>;
765
+ postCloneCommands: z.ZodDefault<z.ZodArray<z.ZodString>>;
766
+ }, z.core.$strip>>;
767
+ buildContext: z.ZodOptional<z.ZodObject<{
768
+ dockerfile: z.ZodOptional<z.ZodString>;
769
+ context: z.ZodDefault<z.ZodString>;
770
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
771
+ target: z.ZodOptional<z.ZodString>;
772
+ }, z.core.$strip>>;
644
773
  ports: z.ZodDefault<z.ZodArray<z.ZodObject<{
645
774
  host: z.ZodNumber;
646
775
  container: z.ZodNumber;
@@ -746,10 +875,34 @@ declare const ResolverOutputSchema: z.ZodObject<{
746
875
  configTemplate: z.ZodOptional<z.ZodString>;
747
876
  systemdUnit: z.ZodOptional<z.ZodString>;
748
877
  }, z.core.$strip>>>;
878
+ capDropCompatible: z.ZodOptional<z.ZodBoolean>;
879
+ prebuiltImage: z.ZodOptional<z.ZodString>;
880
+ proxyPath: z.ZodOptional<z.ZodString>;
881
+ firstBootCapabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
882
+ envQuirks: z.ZodOptional<z.ZodArray<z.ZodObject<{
883
+ key: z.ZodString;
884
+ issue: z.ZodEnum<{
885
+ empty_string_crashes: "empty_string_crashes";
886
+ min_length: "min_length";
887
+ must_sync: "must_sync";
888
+ }>;
889
+ fix: z.ZodObject<{
890
+ type: z.ZodEnum<{
891
+ set_value: "set_value";
892
+ generate_hex: "generate_hex";
893
+ generate_base64url: "generate_base64url";
894
+ sync_with: "sync_with";
895
+ }>;
896
+ value: z.ZodOptional<z.ZodString>;
897
+ minBytes: z.ZodOptional<z.ZodNumber>;
898
+ syncKey: z.ZodOptional<z.ZodString>;
899
+ }, z.core.$strip>;
900
+ }, z.core.$strip>>>;
749
901
  }, z.core.$strip>;
750
902
  addedBy: z.ZodDefault<z.ZodEnum<{
751
903
  proxy: "proxy";
752
904
  monitoring: "monitoring";
905
+ mandatory: "mandatory";
753
906
  user: "user";
754
907
  dependency: "dependency";
755
908
  "skill-pack": "skill-pack";
@@ -835,6 +988,200 @@ declare const ComposeOptionsSchema: z.ZodObject<{
835
988
  direct: "direct";
836
989
  }>>;
837
990
  }, z.core.$strip>;
991
+ declare const SkippedServiceReasonSchema: z.ZodEnum<{
992
+ missing_credentials: "missing_credentials";
993
+ no_image: "no_image";
994
+ platform_unsupported: "platform_unsupported";
995
+ conflict: "conflict";
996
+ gpu_required: "gpu_required";
997
+ unknown_service: "unknown_service";
998
+ resolution_error: "resolution_error";
999
+ }>;
1000
+ declare const SkippedServiceSchema: z.ZodObject<{
1001
+ serviceId: z.ZodString;
1002
+ reason: z.ZodEnum<{
1003
+ missing_credentials: "missing_credentials";
1004
+ no_image: "no_image";
1005
+ platform_unsupported: "platform_unsupported";
1006
+ conflict: "conflict";
1007
+ gpu_required: "gpu_required";
1008
+ unknown_service: "unknown_service";
1009
+ resolution_error: "resolution_error";
1010
+ }>;
1011
+ details: z.ZodString;
1012
+ requiredCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
1013
+ }, z.core.$strip>;
1014
+ declare const ProxyRouteSchema: z.ZodObject<{
1015
+ serviceId: z.ZodString;
1016
+ path: z.ZodString;
1017
+ port: z.ZodNumber;
1018
+ protocol: z.ZodDefault<z.ZodEnum<{
1019
+ http: "http";
1020
+ https: "https";
1021
+ ws: "ws";
1022
+ }>>;
1023
+ stripPrefix: z.ZodDefault<z.ZodBoolean>;
1024
+ }, z.core.$strip>;
1025
+ declare const AddonStackInputSchema: z.ZodObject<{
1026
+ instanceId: z.ZodString;
1027
+ services: z.ZodArray<z.ZodString>;
1028
+ skillPacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
1029
+ platform: z.ZodDefault<z.ZodEnum<{
1030
+ "linux/amd64": "linux/amd64";
1031
+ "linux/arm64": "linux/arm64";
1032
+ "windows/amd64": "windows/amd64";
1033
+ "macos/amd64": "macos/amd64";
1034
+ "macos/arm64": "macos/arm64";
1035
+ }>>;
1036
+ openclawVersion: z.ZodDefault<z.ZodString>;
1037
+ existingServices: z.ZodDefault<z.ZodArray<z.ZodString>>;
1038
+ reservedPorts: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
1039
+ generateSecrets: z.ZodDefault<z.ZodBoolean>;
1040
+ credentials: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
1041
+ portOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
1042
+ gpu: z.ZodDefault<z.ZodBoolean>;
1043
+ aiProviders: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1044
+ openai: "openai";
1045
+ anthropic: "anthropic";
1046
+ google: "google";
1047
+ xai: "xai";
1048
+ deepseek: "deepseek";
1049
+ groq: "groq";
1050
+ openrouter: "openrouter";
1051
+ mistral: "mistral";
1052
+ together: "together";
1053
+ ollama: "ollama";
1054
+ "ollama-cloud": "ollama-cloud";
1055
+ lmstudio: "lmstudio";
1056
+ vllm: "vllm";
1057
+ }>>>;
1058
+ prebuiltImages: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1059
+ }, z.core.$strip>;
1060
+ declare const AddonStackResultSchema: z.ZodObject<{
1061
+ composeOverride: z.ZodString;
1062
+ envFile: z.ZodString;
1063
+ envVars: z.ZodArray<z.ZodObject<{
1064
+ serviceName: z.ZodString;
1065
+ vars: z.ZodArray<z.ZodObject<{
1066
+ key: z.ZodString;
1067
+ description: z.ZodString;
1068
+ value: z.ZodString;
1069
+ secret: z.ZodBoolean;
1070
+ }, z.core.$strip>>;
1071
+ }, z.core.$strip>>;
1072
+ skillFiles: z.ZodRecord<z.ZodString, z.ZodString>;
1073
+ openclawConfigPatch: z.ZodObject<{
1074
+ skills: z.ZodObject<{
1075
+ entries: z.ZodRecord<z.ZodString, z.ZodObject<{
1076
+ enabled: z.ZodBoolean;
1077
+ }, z.core.$strip>>;
1078
+ }, z.core.$strip>;
1079
+ }, z.core.$strip>;
1080
+ proxyRoutes: z.ZodArray<z.ZodObject<{
1081
+ serviceId: z.ZodString;
1082
+ path: z.ZodString;
1083
+ port: z.ZodNumber;
1084
+ protocol: z.ZodDefault<z.ZodEnum<{
1085
+ http: "http";
1086
+ https: "https";
1087
+ ws: "ws";
1088
+ }>>;
1089
+ stripPrefix: z.ZodDefault<z.ZodBoolean>;
1090
+ }, z.core.$strip>>;
1091
+ metadata: z.ZodObject<{
1092
+ serviceCount: z.ZodNumber;
1093
+ skillCount: z.ZodNumber;
1094
+ estimatedMemoryMB: z.ZodNumber;
1095
+ resolvedServices: z.ZodArray<z.ZodString>;
1096
+ skippedServices: z.ZodArray<z.ZodObject<{
1097
+ serviceId: z.ZodString;
1098
+ reason: z.ZodEnum<{
1099
+ missing_credentials: "missing_credentials";
1100
+ no_image: "no_image";
1101
+ platform_unsupported: "platform_unsupported";
1102
+ conflict: "conflict";
1103
+ gpu_required: "gpu_required";
1104
+ unknown_service: "unknown_service";
1105
+ resolution_error: "resolution_error";
1106
+ }>;
1107
+ details: z.ZodString;
1108
+ requiredCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
1109
+ }, z.core.$strip>>;
1110
+ generatedSecretKeys: z.ZodArray<z.ZodString>;
1111
+ portAssignments: z.ZodRecord<z.ZodString, z.ZodNumber>;
1112
+ }, z.core.$strip>;
1113
+ warnings: z.ZodArray<z.ZodString>;
1114
+ }, z.core.$strip>;
1115
+ declare const AddonStackUpdateInputSchema: z.ZodObject<{
1116
+ instanceId: z.ZodString;
1117
+ currentCompose: z.ZodString;
1118
+ currentEnv: z.ZodString;
1119
+ addServices: z.ZodDefault<z.ZodArray<z.ZodString>>;
1120
+ removeServices: z.ZodDefault<z.ZodArray<z.ZodString>>;
1121
+ generateSecrets: z.ZodDefault<z.ZodBoolean>;
1122
+ credentials: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
1123
+ portOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
1124
+ reservedPorts: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
1125
+ platform: z.ZodDefault<z.ZodEnum<{
1126
+ "linux/amd64": "linux/amd64";
1127
+ "linux/arm64": "linux/arm64";
1128
+ "windows/amd64": "windows/amd64";
1129
+ "macos/amd64": "macos/amd64";
1130
+ "macos/arm64": "macos/arm64";
1131
+ }>>;
1132
+ openclawVersion: z.ZodDefault<z.ZodString>;
1133
+ aiProviders: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1134
+ openai: "openai";
1135
+ anthropic: "anthropic";
1136
+ google: "google";
1137
+ xai: "xai";
1138
+ deepseek: "deepseek";
1139
+ groq: "groq";
1140
+ openrouter: "openrouter";
1141
+ mistral: "mistral";
1142
+ together: "together";
1143
+ ollama: "ollama";
1144
+ "ollama-cloud": "ollama-cloud";
1145
+ lmstudio: "lmstudio";
1146
+ vllm: "vllm";
1147
+ }>>>;
1148
+ prebuiltImages: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1149
+ }, z.core.$strip>;
1150
+ declare const AddonStackUpdateResultSchema: z.ZodObject<{
1151
+ composeOverride: z.ZodString;
1152
+ envFile: z.ZodString;
1153
+ newSkillFiles: z.ZodRecord<z.ZodString, z.ZodString>;
1154
+ removedSkillSlugs: z.ZodArray<z.ZodString>;
1155
+ openclawConfigPatch: z.ZodObject<{
1156
+ skills: z.ZodObject<{
1157
+ add: z.ZodRecord<z.ZodString, z.ZodObject<{
1158
+ enabled: z.ZodBoolean;
1159
+ }, z.core.$strip>>;
1160
+ remove: z.ZodArray<z.ZodString>;
1161
+ }, z.core.$strip>;
1162
+ }, z.core.$strip>;
1163
+ addProxyRoutes: z.ZodArray<z.ZodObject<{
1164
+ serviceId: z.ZodString;
1165
+ path: z.ZodString;
1166
+ port: z.ZodNumber;
1167
+ protocol: z.ZodDefault<z.ZodEnum<{
1168
+ http: "http";
1169
+ https: "https";
1170
+ ws: "ws";
1171
+ }>>;
1172
+ stripPrefix: z.ZodDefault<z.ZodBoolean>;
1173
+ }, z.core.$strip>>;
1174
+ removeProxyRoutes: z.ZodArray<z.ZodString>;
1175
+ imagesToPull: z.ZodArray<z.ZodString>;
1176
+ restartRequired: z.ZodArray<z.ZodString>;
1177
+ metadata: z.ZodObject<{
1178
+ added: z.ZodArray<z.ZodString>;
1179
+ removed: z.ZodArray<z.ZodString>;
1180
+ unchanged: z.ZodArray<z.ZodString>;
1181
+ estimatedMemoryDelta: z.ZodNumber;
1182
+ }, z.core.$strip>;
1183
+ warnings: z.ZodArray<z.ZodString>;
1184
+ }, z.core.$strip>;
838
1185
  declare const ValidateRequestSchema: z.ZodObject<{
839
1186
  services: z.ZodArray<z.ZodString>;
840
1187
  skillPacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -910,5 +1257,5 @@ declare const ApiErrorSchema: z.ZodObject<{
910
1257
  }, z.core.$strip>;
911
1258
  }, z.core.$strip>;
912
1259
  //#endregion
913
- export { ServiceDefinitionSchema as A, PresetSchema as C, ResourceLimitsSchema as D, ResolverOutputSchema as E, VolumeMappingSchema as F, WarningSchema as I, SkillPackSchema as M, ValidateRequestSchema as N, RestartPolicySchema as O, ValidateResponseSchema as P, PortMappingSchema as S, ResolvedServiceSchema as T, NativeRecipeSchema as _, ComposePlatformSchema as a, OutputFormatSchema as b, DeploymentTargetSchema as c, ErrorSchema as d, GenerationInputSchema as f, NativePlatformSchema as g, MaturitySchema as h, ComposeOptionsSchema as i, SkillBindingSchema as j, ServiceCategorySchema as k, DeploymentTypeSchema as l, HealthCheckSchema as m, AiProviderSchema as n, DeploySchema as o, GsdRuntimeSchema as p, ApiErrorSchema as r, DeployTargetSchema as s, AddedDependencySchema as t, EnvVariableSchema as u, OpenclawImageVariantSchema as v, ProxyTypeSchema as w, PlatformSchema as x, OpenclawInstallMethodSchema as y };
914
- //# sourceMappingURL=schema-CXNhYci1.d.mts.map
1260
+ export { PortMappingSchema as A, SkillBindingSchema as B, MaturitySchema as C, OpenclawInstallMethodSchema as D, OpenclawImageVariantSchema as E, ResolverOutputSchema as F, ValidateResponseSchema as G, SkippedServiceReasonSchema as H, ResourceLimitsSchema as I, VolumeMappingSchema as K, RestartPolicySchema as L, ProxyRouteSchema as M, ProxyTypeSchema as N, OutputFormatSchema as O, ResolvedServiceSchema as P, ServiceCategorySchema as R, HealthCheckSchema as S, NativeRecipeSchema as T, SkippedServiceSchema as U, SkillPackSchema as V, ValidateRequestSchema as W, EnvVariableSchema as _, AddonStackUpdateResultSchema as a, GitSourceSchema as b, BuildContextSchema as c, DeploySchema as d, DeployTargetSchema as f, EnvQuirkSchema as g, EnvQuirkFixSchema as h, AddonStackUpdateInputSchema as i, PresetSchema as j, PlatformSchema as k, ComposeOptionsSchema as l, DeploymentTypeSchema as m, AddonStackInputSchema as n, AiProviderSchema as o, DeploymentTargetSchema as p, WarningSchema as q, AddonStackResultSchema as r, ApiErrorSchema as s, AddedDependencySchema as t, ComposePlatformSchema as u, ErrorSchema as v, NativePlatformSchema as w, GsdRuntimeSchema as x, GenerationInputSchema as y, ServiceDefinitionSchema as z };
1261
+ //# sourceMappingURL=schema-Dn-_Jpb6.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-Dn-_Jpb6.d.mts","names":[],"sources":["../src/schema.ts"],"mappings":"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"}
package/dist/schema.cjs CHANGED
@@ -37,7 +37,8 @@ const ServiceCategorySchema = zod.z.enum([
37
37
  "project-management",
38
38
  "business-intelligence",
39
39
  "dns-networking",
40
- "iot"
40
+ "iot",
41
+ "saas-boilerplate"
41
42
  ]);
42
43
  const MaturitySchema = zod.z.enum([
43
44
  "stable",
@@ -163,14 +164,48 @@ const NativeRecipeSchema = zod.z.object({
163
164
  configTemplate: zod.z.string().optional(),
164
165
  systemdUnit: zod.z.string().optional()
165
166
  });
167
+ const GitSourceSchema = zod.z.object({
168
+ repoUrl: zod.z.string().url(),
169
+ branch: zod.z.string().optional(),
170
+ subdirectory: zod.z.string().optional(),
171
+ postCloneCommands: zod.z.array(zod.z.string()).default([])
172
+ });
173
+ const BuildContextSchema = zod.z.object({
174
+ dockerfile: zod.z.string().optional(),
175
+ context: zod.z.string().default("."),
176
+ args: zod.z.record(zod.z.string(), zod.z.string()).optional(),
177
+ target: zod.z.string().optional()
178
+ });
179
+ const EnvQuirkFixSchema = zod.z.object({
180
+ type: zod.z.enum([
181
+ "set_value",
182
+ "generate_hex",
183
+ "generate_base64url",
184
+ "sync_with"
185
+ ]),
186
+ value: zod.z.string().optional(),
187
+ minBytes: zod.z.number().int().min(1).optional(),
188
+ syncKey: zod.z.string().optional()
189
+ });
190
+ const EnvQuirkSchema = zod.z.object({
191
+ key: zod.z.string(),
192
+ issue: zod.z.enum([
193
+ "empty_string_crashes",
194
+ "min_length",
195
+ "must_sync"
196
+ ]),
197
+ fix: EnvQuirkFixSchema
198
+ });
166
199
  const ServiceDefinitionSchema = zod.z.object({
167
200
  id: zod.z.string().min(1).regex(/^[a-z0-9-]+$/),
168
201
  name: zod.z.string().min(1),
169
202
  description: zod.z.string(),
170
203
  category: ServiceCategorySchema,
171
204
  icon: zod.z.string(),
172
- image: zod.z.string().min(1),
173
- imageTag: zod.z.string().min(1),
205
+ image: zod.z.string().min(1).optional(),
206
+ imageTag: zod.z.string().min(1).optional(),
207
+ gitSource: GitSourceSchema.optional(),
208
+ buildContext: BuildContextSchema.optional(),
174
209
  ports: zod.z.array(PortMappingSchema).default([]),
175
210
  volumes: zod.z.array(VolumeMappingSchema).default([]),
176
211
  environment: zod.z.array(EnvVariableSchema).default([]),
@@ -198,7 +233,12 @@ const ServiceDefinitionSchema = zod.z.object({
198
233
  minMemoryMB: zod.z.number().int().min(0).optional(),
199
234
  gpuRequired: zod.z.boolean().default(false),
200
235
  nativeSupported: zod.z.boolean().optional(),
201
- nativeRecipes: zod.z.array(NativeRecipeSchema).optional()
236
+ nativeRecipes: zod.z.array(NativeRecipeSchema).optional(),
237
+ capDropCompatible: zod.z.boolean().optional(),
238
+ prebuiltImage: zod.z.string().optional(),
239
+ proxyPath: zod.z.string().optional(),
240
+ firstBootCapabilities: zod.z.array(zod.z.string()).optional(),
241
+ envQuirks: zod.z.array(EnvQuirkSchema).optional()
202
242
  });
203
243
  const SkillPackSchema = zod.z.object({
204
244
  id: zod.z.string().min(1).regex(/^[a-z0-9-]+$/),
@@ -248,7 +288,8 @@ const ResolvedServiceSchema = zod.z.object({
248
288
  "dependency",
249
289
  "skill-pack",
250
290
  "proxy",
251
- "monitoring"
291
+ "monitoring",
292
+ "mandatory"
252
293
  ]).default("user")
253
294
  });
254
295
  const AddedDependencySchema = zod.z.object({
@@ -295,6 +336,109 @@ const ComposeOptionsSchema = zod.z.object({
295
336
  hardened: zod.z.boolean().default(true),
296
337
  openclawInstallMethod: OpenclawInstallMethodSchema.default("docker")
297
338
  });
339
+ const SkippedServiceReasonSchema = zod.z.enum([
340
+ "missing_credentials",
341
+ "no_image",
342
+ "platform_unsupported",
343
+ "conflict",
344
+ "gpu_required",
345
+ "unknown_service",
346
+ "resolution_error"
347
+ ]);
348
+ const SkippedServiceSchema = zod.z.object({
349
+ serviceId: zod.z.string(),
350
+ reason: SkippedServiceReasonSchema,
351
+ details: zod.z.string(),
352
+ requiredCredentials: zod.z.array(zod.z.string()).optional()
353
+ });
354
+ const ProxyRouteSchema = zod.z.object({
355
+ serviceId: zod.z.string(),
356
+ path: zod.z.string(),
357
+ port: zod.z.number().int(),
358
+ protocol: zod.z.enum([
359
+ "http",
360
+ "https",
361
+ "ws"
362
+ ]).default("http"),
363
+ stripPrefix: zod.z.boolean().default(true)
364
+ });
365
+ const AddonStackInputSchema = zod.z.object({
366
+ instanceId: zod.z.string().min(1),
367
+ services: zod.z.array(zod.z.string()),
368
+ skillPacks: zod.z.array(zod.z.string()).default([]),
369
+ platform: PlatformSchema.default("linux/amd64"),
370
+ openclawVersion: zod.z.string().default("latest"),
371
+ existingServices: zod.z.array(zod.z.string()).default([]),
372
+ reservedPorts: zod.z.array(zod.z.number().int()).default([]),
373
+ generateSecrets: zod.z.boolean().default(true),
374
+ credentials: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.string())).default({}),
375
+ portOverrides: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.number().int().min(1).max(65535))).optional(),
376
+ gpu: zod.z.boolean().default(false),
377
+ aiProviders: zod.z.array(AiProviderSchema).default([]),
378
+ prebuiltImages: zod.z.record(zod.z.string(), zod.z.string()).default({})
379
+ });
380
+ const AddonStackResultSchema = zod.z.object({
381
+ composeOverride: zod.z.string(),
382
+ envFile: zod.z.string(),
383
+ envVars: zod.z.array(zod.z.object({
384
+ serviceName: zod.z.string(),
385
+ vars: zod.z.array(zod.z.object({
386
+ key: zod.z.string(),
387
+ description: zod.z.string(),
388
+ value: zod.z.string(),
389
+ secret: zod.z.boolean()
390
+ }))
391
+ })),
392
+ skillFiles: zod.z.record(zod.z.string(), zod.z.string()),
393
+ openclawConfigPatch: zod.z.object({ skills: zod.z.object({ entries: zod.z.record(zod.z.string(), zod.z.object({ enabled: zod.z.boolean() })) }) }),
394
+ proxyRoutes: zod.z.array(ProxyRouteSchema),
395
+ metadata: zod.z.object({
396
+ serviceCount: zod.z.number(),
397
+ skillCount: zod.z.number(),
398
+ estimatedMemoryMB: zod.z.number(),
399
+ resolvedServices: zod.z.array(zod.z.string()),
400
+ skippedServices: zod.z.array(SkippedServiceSchema),
401
+ generatedSecretKeys: zod.z.array(zod.z.string()),
402
+ portAssignments: zod.z.record(zod.z.string(), zod.z.number())
403
+ }),
404
+ warnings: zod.z.array(zod.z.string())
405
+ });
406
+ const AddonStackUpdateInputSchema = zod.z.object({
407
+ instanceId: zod.z.string().min(1),
408
+ currentCompose: zod.z.string(),
409
+ currentEnv: zod.z.string(),
410
+ addServices: zod.z.array(zod.z.string()).default([]),
411
+ removeServices: zod.z.array(zod.z.string()).default([]),
412
+ generateSecrets: zod.z.boolean().default(true),
413
+ credentials: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.string())).default({}),
414
+ portOverrides: zod.z.record(zod.z.string(), zod.z.record(zod.z.string(), zod.z.number().int().min(1).max(65535))).optional(),
415
+ reservedPorts: zod.z.array(zod.z.number().int()).default([]),
416
+ platform: PlatformSchema.default("linux/amd64"),
417
+ openclawVersion: zod.z.string().default("latest"),
418
+ aiProviders: zod.z.array(AiProviderSchema).default([]),
419
+ prebuiltImages: zod.z.record(zod.z.string(), zod.z.string()).default({})
420
+ });
421
+ const AddonStackUpdateResultSchema = zod.z.object({
422
+ composeOverride: zod.z.string(),
423
+ envFile: zod.z.string(),
424
+ newSkillFiles: zod.z.record(zod.z.string(), zod.z.string()),
425
+ removedSkillSlugs: zod.z.array(zod.z.string()),
426
+ openclawConfigPatch: zod.z.object({ skills: zod.z.object({
427
+ add: zod.z.record(zod.z.string(), zod.z.object({ enabled: zod.z.boolean() })),
428
+ remove: zod.z.array(zod.z.string())
429
+ }) }),
430
+ addProxyRoutes: zod.z.array(ProxyRouteSchema),
431
+ removeProxyRoutes: zod.z.array(zod.z.string()),
432
+ imagesToPull: zod.z.array(zod.z.string()),
433
+ restartRequired: zod.z.array(zod.z.string()),
434
+ metadata: zod.z.object({
435
+ added: zod.z.array(zod.z.string()),
436
+ removed: zod.z.array(zod.z.string()),
437
+ unchanged: zod.z.array(zod.z.string()),
438
+ estimatedMemoryDelta: zod.z.number()
439
+ }),
440
+ warnings: zod.z.array(zod.z.string())
441
+ });
298
442
  const ValidateRequestSchema = zod.z.object({
299
443
  services: zod.z.array(zod.z.string()),
300
444
  skillPacks: zod.z.array(zod.z.string()).default([]),
@@ -329,17 +473,25 @@ const ApiErrorSchema = zod.z.object({ error: zod.z.object({
329
473
  }) });
330
474
  //#endregion
331
475
  exports.AddedDependencySchema = AddedDependencySchema;
476
+ exports.AddonStackInputSchema = AddonStackInputSchema;
477
+ exports.AddonStackResultSchema = AddonStackResultSchema;
478
+ exports.AddonStackUpdateInputSchema = AddonStackUpdateInputSchema;
479
+ exports.AddonStackUpdateResultSchema = AddonStackUpdateResultSchema;
332
480
  exports.AiProviderSchema = AiProviderSchema;
333
481
  exports.ApiErrorSchema = ApiErrorSchema;
482
+ exports.BuildContextSchema = BuildContextSchema;
334
483
  exports.ComposeOptionsSchema = ComposeOptionsSchema;
335
484
  exports.ComposePlatformSchema = ComposePlatformSchema;
336
485
  exports.DeploySchema = DeploySchema;
337
486
  exports.DeployTargetSchema = DeployTargetSchema;
338
487
  exports.DeploymentTargetSchema = DeploymentTargetSchema;
339
488
  exports.DeploymentTypeSchema = DeploymentTypeSchema;
489
+ exports.EnvQuirkFixSchema = EnvQuirkFixSchema;
490
+ exports.EnvQuirkSchema = EnvQuirkSchema;
340
491
  exports.EnvVariableSchema = EnvVariableSchema;
341
492
  exports.ErrorSchema = ErrorSchema;
342
493
  exports.GenerationInputSchema = GenerationInputSchema;
494
+ exports.GitSourceSchema = GitSourceSchema;
343
495
  exports.GsdRuntimeSchema = GsdRuntimeSchema;
344
496
  exports.HealthCheckSchema = HealthCheckSchema;
345
497
  exports.MaturitySchema = MaturitySchema;
@@ -351,6 +503,7 @@ exports.OutputFormatSchema = OutputFormatSchema;
351
503
  exports.PlatformSchema = PlatformSchema;
352
504
  exports.PortMappingSchema = PortMappingSchema;
353
505
  exports.PresetSchema = PresetSchema;
506
+ exports.ProxyRouteSchema = ProxyRouteSchema;
354
507
  exports.ProxyTypeSchema = ProxyTypeSchema;
355
508
  exports.ResolvedServiceSchema = ResolvedServiceSchema;
356
509
  exports.ResolverOutputSchema = ResolverOutputSchema;
@@ -360,6 +513,8 @@ exports.ServiceCategorySchema = ServiceCategorySchema;
360
513
  exports.ServiceDefinitionSchema = ServiceDefinitionSchema;
361
514
  exports.SkillBindingSchema = SkillBindingSchema;
362
515
  exports.SkillPackSchema = SkillPackSchema;
516
+ exports.SkippedServiceReasonSchema = SkippedServiceReasonSchema;
517
+ exports.SkippedServiceSchema = SkippedServiceSchema;
363
518
  exports.ValidateRequestSchema = ValidateRequestSchema;
364
519
  exports.ValidateResponseSchema = ValidateResponseSchema;
365
520
  exports.VolumeMappingSchema = VolumeMappingSchema;