@better-openclaw/core 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/dist/bare-metal-partition.cjs +53 -0
- package/dist/bare-metal-partition.cjs.map +1 -0
- package/dist/bare-metal-partition.d.cts +26 -0
- package/dist/bare-metal-partition.d.cts.map +1 -0
- package/dist/bare-metal-partition.test.cjs +57 -0
- package/dist/bare-metal-partition.test.cjs.map +1 -0
- package/dist/bare-metal-partition.test.d.cts +1 -0
- package/dist/bare-metal-partition.test.mjs +1 -1
- package/dist/chunk-C0xms8kb.cjs +34 -0
- package/dist/compose-validation.test.cjs +67 -0
- package/dist/compose-validation.test.cjs.map +1 -0
- package/dist/compose-validation.test.d.cts +1 -0
- package/dist/compose-validation.test.d.mts +1 -0
- package/dist/compose-validation.test.mjs +66 -0
- package/dist/compose-validation.test.mjs.map +1 -0
- package/dist/composer.cjs +462 -0
- package/dist/composer.cjs.map +1 -0
- package/dist/composer.d.cts +21 -0
- package/dist/composer.d.cts.map +1 -0
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +187 -27
- package/dist/composer.mjs.map +1 -1
- package/dist/composer.snapshot.test.cjs +91 -0
- package/dist/composer.snapshot.test.cjs.map +1 -0
- package/dist/composer.snapshot.test.d.cts +1 -0
- package/dist/composer.snapshot.test.mjs +1 -1
- package/dist/composer.test.cjs +166 -0
- package/dist/composer.test.cjs.map +1 -0
- package/dist/composer.test.d.cts +1 -0
- package/dist/composer.test.mjs +2 -2
- package/dist/composer.test.mjs.map +1 -1
- package/dist/deployers/coolify.cjs +174 -0
- package/dist/deployers/coolify.cjs.map +1 -0
- package/dist/deployers/coolify.d.cts +25 -0
- package/dist/deployers/coolify.d.cts.map +1 -0
- package/dist/deployers/coolify.d.mts +25 -0
- package/dist/deployers/coolify.d.mts.map +1 -0
- package/dist/deployers/coolify.mjs +172 -0
- package/dist/deployers/coolify.mjs.map +1 -0
- package/dist/deployers/dokploy.cjs +141 -0
- package/dist/deployers/dokploy.cjs.map +1 -0
- package/dist/deployers/dokploy.d.cts +24 -0
- package/dist/deployers/dokploy.d.cts.map +1 -0
- package/dist/deployers/dokploy.d.mts +24 -0
- package/dist/deployers/dokploy.d.mts.map +1 -0
- package/dist/deployers/dokploy.mjs +139 -0
- package/dist/deployers/dokploy.mjs.map +1 -0
- package/dist/deployers/index.cjs +26 -0
- package/dist/deployers/index.cjs.map +1 -0
- package/dist/deployers/index.d.cts +14 -0
- package/dist/deployers/index.d.cts.map +1 -0
- package/dist/deployers/index.d.mts +14 -0
- package/dist/deployers/index.d.mts.map +1 -0
- package/dist/deployers/index.mjs +21 -0
- package/dist/deployers/index.mjs.map +1 -0
- package/dist/deployers/types.cjs +0 -0
- package/dist/deployers/types.d.cts +72 -0
- package/dist/deployers/types.d.cts.map +1 -0
- package/dist/deployers/types.d.mts +72 -0
- package/dist/deployers/types.d.mts.map +1 -0
- package/dist/deployers/types.mjs +1 -0
- package/dist/errors.cjs +27 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +17 -0
- package/dist/errors.d.cts.map +1 -0
- package/dist/generate.cjs +225 -0
- package/dist/generate.cjs.map +1 -0
- package/dist/generate.d.cts +12 -0
- package/dist/generate.d.cts.map +1 -0
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +34 -5
- package/dist/generate.mjs.map +1 -1
- package/dist/generate.test.cjs +283 -0
- package/dist/generate.test.cjs.map +1 -0
- package/dist/generate.test.d.cts +1 -0
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.cjs +226 -0
- package/dist/generators/bare-metal-install.cjs.map +1 -0
- package/dist/generators/bare-metal-install.d.cts +17 -0
- package/dist/generators/bare-metal-install.d.cts.map +1 -0
- package/dist/generators/bare-metal-install.test.cjs +47 -0
- package/dist/generators/bare-metal-install.test.cjs.map +1 -0
- package/dist/generators/bare-metal-install.test.d.cts +1 -0
- package/dist/generators/bare-metal-install.test.mjs +1 -1
- package/dist/generators/caddy.cjs +79 -0
- package/dist/generators/caddy.cjs.map +1 -0
- package/dist/generators/caddy.d.cts +17 -0
- package/dist/generators/caddy.d.cts.map +1 -0
- package/dist/generators/caddy.test.cjs +44 -0
- package/dist/generators/caddy.test.cjs.map +1 -0
- package/dist/generators/caddy.test.d.cts +1 -0
- package/dist/generators/caddy.test.mjs +1 -1
- package/dist/generators/cloud-init.cjs +132 -0
- package/dist/generators/cloud-init.cjs.map +1 -0
- package/dist/generators/cloud-init.d.cts +25 -0
- package/dist/generators/cloud-init.d.cts.map +1 -0
- package/dist/generators/cloud-init.d.mts +25 -0
- package/dist/generators/cloud-init.d.mts.map +1 -0
- package/dist/generators/cloud-init.mjs +130 -0
- package/dist/generators/cloud-init.mjs.map +1 -0
- package/dist/generators/env.cjs +325 -0
- package/dist/generators/env.cjs.map +1 -0
- package/dist/generators/env.d.cts +52 -0
- package/dist/generators/env.d.cts.map +1 -0
- package/dist/generators/env.d.mts +6 -0
- package/dist/generators/env.d.mts.map +1 -1
- package/dist/generators/env.mjs +58 -6
- package/dist/generators/env.mjs.map +1 -1
- package/dist/generators/env.test.cjs +59 -0
- package/dist/generators/env.test.cjs.map +1 -0
- package/dist/generators/env.test.d.cts +1 -0
- package/dist/generators/env.test.mjs +1 -1
- package/dist/generators/get-shit-done.cjs +40 -0
- package/dist/generators/get-shit-done.cjs.map +1 -0
- package/dist/generators/get-shit-done.d.cts +10 -0
- package/dist/generators/get-shit-done.d.cts.map +1 -0
- package/dist/generators/grafana.cjs +296 -0
- package/dist/generators/grafana.cjs.map +1 -0
- package/dist/generators/grafana.d.cts +22 -0
- package/dist/generators/grafana.d.cts.map +1 -0
- package/dist/generators/health-check.cjs +707 -0
- package/dist/generators/health-check.cjs.map +1 -0
- package/dist/generators/health-check.d.cts +18 -0
- package/dist/generators/health-check.d.cts.map +1 -0
- package/dist/generators/health-check.d.mts +2 -2
- package/dist/generators/health-check.d.mts.map +1 -1
- package/dist/generators/health-check.mjs.map +1 -1
- package/dist/generators/health-check.test.cjs +84 -0
- package/dist/generators/health-check.test.cjs.map +1 -0
- package/dist/generators/health-check.test.d.cts +1 -0
- package/dist/generators/health-check.test.mjs +1 -1
- package/dist/generators/n8n-workflows.cjs +77 -0
- package/dist/generators/n8n-workflows.cjs.map +1 -0
- package/dist/generators/n8n-workflows.d.cts +11 -0
- package/dist/generators/n8n-workflows.d.cts.map +1 -0
- package/dist/generators/native-services.cjs +80 -0
- package/dist/generators/native-services.cjs.map +1 -0
- package/dist/generators/native-services.d.cts +17 -0
- package/dist/generators/native-services.d.cts.map +1 -0
- package/dist/generators/openclaw-install-script.cjs +68 -0
- package/dist/generators/openclaw-install-script.cjs.map +1 -0
- package/dist/generators/openclaw-install-script.d.cts +12 -0
- package/dist/generators/openclaw-install-script.d.cts.map +1 -0
- package/dist/generators/openclaw-install-script.d.mts +12 -0
- package/dist/generators/openclaw-install-script.d.mts.map +1 -0
- package/dist/generators/openclaw-install-script.mjs +66 -0
- package/dist/generators/openclaw-install-script.mjs.map +1 -0
- package/dist/generators/openclaw-json.cjs +540 -0
- package/dist/generators/openclaw-json.cjs.map +1 -0
- package/dist/generators/openclaw-json.d.cts +16 -0
- package/dist/generators/openclaw-json.d.cts.map +1 -0
- package/dist/generators/openclaw-json.d.mts +8 -3
- package/dist/generators/openclaw-json.d.mts.map +1 -1
- package/dist/generators/openclaw-json.mjs +214 -86
- package/dist/generators/openclaw-json.mjs.map +1 -1
- package/dist/generators/postgres-init.cjs +189 -0
- package/dist/generators/postgres-init.cjs.map +1 -0
- package/dist/generators/postgres-init.d.cts +30 -0
- package/dist/generators/postgres-init.d.cts.map +1 -0
- package/dist/generators/postgres-init.d.mts.map +1 -1
- package/dist/generators/postgres-init.mjs +35 -0
- package/dist/generators/postgres-init.mjs.map +1 -1
- package/dist/generators/prometheus.cjs +109 -0
- package/dist/generators/prometheus.cjs.map +1 -0
- package/dist/generators/prometheus.d.cts +14 -0
- package/dist/generators/prometheus.d.cts.map +1 -0
- package/dist/generators/readme.cjs +286 -0
- package/dist/generators/readme.cjs.map +1 -0
- package/dist/generators/readme.d.cts +27 -0
- package/dist/generators/readme.d.cts.map +1 -0
- package/dist/generators/readme.d.mts +3 -1
- package/dist/generators/readme.d.mts.map +1 -1
- package/dist/generators/readme.mjs +88 -3
- package/dist/generators/readme.mjs.map +1 -1
- package/dist/generators/scripts.cjs +353 -0
- package/dist/generators/scripts.cjs.map +1 -0
- package/dist/generators/scripts.d.cts +10 -0
- package/dist/generators/scripts.d.cts.map +1 -0
- package/dist/generators/scripts.test.cjs +51 -0
- package/dist/generators/scripts.test.cjs.map +1 -0
- package/dist/generators/scripts.test.d.cts +1 -0
- package/dist/generators/scripts.test.mjs +1 -1
- package/dist/generators/skills.cjs +590 -0
- package/dist/generators/skills.cjs.map +1 -0
- package/dist/generators/skills.d.cts +14 -0
- package/dist/generators/skills.d.cts.map +1 -0
- package/dist/generators/stack-manifest.cjs +70 -0
- package/dist/generators/stack-manifest.cjs.map +1 -0
- package/dist/generators/stack-manifest.d.cts +51 -0
- package/dist/generators/stack-manifest.d.cts.map +1 -0
- package/dist/generators/stack-manifest.d.mts +51 -0
- package/dist/generators/stack-manifest.d.mts.map +1 -0
- package/dist/generators/stack-manifest.mjs +68 -0
- package/dist/generators/stack-manifest.mjs.map +1 -0
- package/dist/generators/traefik.cjs +88 -0
- package/dist/generators/traefik.cjs.map +1 -0
- package/dist/generators/traefik.d.cts +19 -0
- package/dist/generators/traefik.d.cts.map +1 -0
- package/dist/generators/traefik.test.cjs +68 -0
- package/dist/generators/traefik.test.cjs.map +1 -0
- package/dist/generators/traefik.test.d.cts +1 -0
- package/dist/generators/traefik.test.mjs +1 -1
- package/dist/index.cjs +118 -0
- package/dist/index.d.cts +31 -0
- package/dist/index.d.mts +9 -3
- package/dist/index.mjs +8 -3
- package/dist/magic-string.es-D2agHT3I.cjs +1015 -0
- package/dist/magic-string.es-D2agHT3I.cjs.map +1 -0
- package/dist/manifest-4uLbISXV.cjs +1190 -0
- package/dist/manifest-4uLbISXV.cjs.map +1 -0
- package/dist/migrations.cjs +37 -0
- package/dist/migrations.cjs.map +1 -0
- package/dist/migrations.d.cts +14 -0
- package/dist/migrations.d.cts.map +1 -0
- package/dist/migrations.test.cjs +41 -0
- package/dist/migrations.test.cjs.map +1 -0
- package/dist/migrations.test.d.cts +1 -0
- package/dist/migrations.test.mjs +1 -1
- package/dist/port-scanner.cjs +125 -0
- package/dist/port-scanner.cjs.map +1 -0
- package/dist/port-scanner.d.cts +27 -0
- package/dist/port-scanner.d.cts.map +1 -0
- package/dist/port-scanner.d.mts +27 -0
- package/dist/port-scanner.d.mts.map +1 -0
- package/dist/port-scanner.mjs +122 -0
- package/dist/port-scanner.mjs.map +1 -0
- package/dist/presets/presets.test.cjs +65 -0
- package/dist/presets/presets.test.cjs.map +1 -0
- package/dist/presets/presets.test.d.cts +1 -0
- package/dist/presets/presets.test.d.mts +1 -0
- package/dist/presets/presets.test.mjs +64 -0
- package/dist/presets/presets.test.mjs.map +1 -0
- package/dist/presets/registry.cjs +193 -0
- package/dist/presets/registry.cjs.map +1 -0
- package/dist/presets/registry.d.cts +9 -0
- package/dist/presets/registry.d.cts.map +1 -0
- package/dist/presets/registry.d.mts.map +1 -1
- package/dist/presets/registry.mjs +38 -8
- package/dist/presets/registry.mjs.map +1 -1
- package/dist/presets/registry.test.cjs +36 -0
- package/dist/presets/registry.test.cjs.map +1 -0
- package/dist/presets/registry.test.d.cts +1 -0
- package/dist/presets/registry.test.mjs +5 -2
- package/dist/presets/registry.test.mjs.map +1 -1
- package/dist/resolver.cjs +217 -0
- package/dist/resolver.cjs.map +1 -0
- package/dist/resolver.d.cts +26 -0
- package/dist/resolver.d.cts.map +1 -0
- package/dist/resolver.mjs +2 -0
- package/dist/resolver.mjs.map +1 -1
- package/dist/resolver.test.cjs +236 -0
- package/dist/resolver.test.cjs.map +1 -0
- package/dist/resolver.test.d.cts +1 -0
- package/dist/resolver.test.mjs +1 -1
- package/dist/schema.cjs +354 -0
- package/dist/schema.cjs.map +1 -0
- package/dist/schema.d.cts +854 -0
- package/dist/schema.d.cts.map +1 -0
- package/dist/schema.d.mts +56 -1
- package/dist/schema.d.mts.map +1 -1
- package/dist/schema.mjs +31 -4
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.cjs +263 -0
- package/dist/schema.test.cjs.map +1 -0
- package/dist/schema.test.d.cts +1 -0
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/anything-llm.cjs +46 -0
- package/dist/services/definitions/anything-llm.cjs.map +1 -0
- package/dist/services/definitions/anything-llm.d.cts +7 -0
- package/dist/services/definitions/anything-llm.d.cts.map +1 -0
- package/dist/services/definitions/anything-llm.mjs +2 -2
- package/dist/services/definitions/anything-llm.mjs.map +1 -1
- package/dist/services/definitions/appflowy.cjs +47 -0
- package/dist/services/definitions/appflowy.cjs.map +1 -0
- package/dist/services/definitions/appflowy.d.cts +7 -0
- package/dist/services/definitions/appflowy.d.cts.map +1 -0
- package/dist/services/definitions/appflowy.mjs +1 -1
- package/dist/services/definitions/appflowy.mjs.map +1 -1
- package/dist/services/definitions/authentik.cjs +107 -0
- package/dist/services/definitions/authentik.cjs.map +1 -0
- package/dist/services/definitions/authentik.d.cts +7 -0
- package/dist/services/definitions/authentik.d.cts.map +1 -0
- package/dist/services/definitions/authentik.mjs +5 -5
- package/dist/services/definitions/authentik.mjs.map +1 -1
- package/dist/services/definitions/beszel.cjs +47 -0
- package/dist/services/definitions/beszel.cjs.map +1 -0
- package/dist/services/definitions/beszel.d.cts +7 -0
- package/dist/services/definitions/beszel.d.cts.map +1 -0
- package/dist/services/definitions/beszel.mjs +1 -1
- package/dist/services/definitions/beszel.mjs.map +1 -1
- package/dist/services/definitions/browserless.cjs +87 -0
- package/dist/services/definitions/browserless.cjs.map +1 -0
- package/dist/services/definitions/browserless.d.cts +7 -0
- package/dist/services/definitions/browserless.d.cts.map +1 -0
- package/dist/services/definitions/browserless.mjs +1 -1
- package/dist/services/definitions/browserless.mjs.map +1 -1
- package/dist/services/definitions/caddy.cjs +73 -0
- package/dist/services/definitions/caddy.cjs.map +1 -0
- package/dist/services/definitions/caddy.d.cts +7 -0
- package/dist/services/definitions/caddy.d.cts.map +1 -0
- package/dist/services/definitions/caddy.mjs +2 -2
- package/dist/services/definitions/caddy.mjs.map +1 -1
- package/dist/services/definitions/cal-com.cjs +90 -0
- package/dist/services/definitions/cal-com.cjs.map +1 -0
- package/dist/services/definitions/cal-com.d.cts +7 -0
- package/dist/services/definitions/cal-com.d.cts.map +1 -0
- package/dist/services/definitions/cal-com.mjs +2 -2
- package/dist/services/definitions/cal-com.mjs.map +1 -1
- package/dist/services/definitions/chromadb.cjs +65 -0
- package/dist/services/definitions/chromadb.cjs.map +1 -0
- package/dist/services/definitions/chromadb.d.cts +7 -0
- package/dist/services/definitions/chromadb.d.cts.map +1 -0
- package/dist/services/definitions/chromadb.mjs +3 -3
- package/dist/services/definitions/chromadb.mjs.map +1 -1
- package/dist/services/definitions/claude-code.cjs +54 -0
- package/dist/services/definitions/claude-code.cjs.map +1 -0
- package/dist/services/definitions/claude-code.d.cts +7 -0
- package/dist/services/definitions/claude-code.d.cts.map +1 -0
- package/dist/services/definitions/claude-code.mjs +1 -1
- package/dist/services/definitions/claude-code.mjs.map +1 -1
- package/dist/services/definitions/code-server.cjs +68 -0
- package/dist/services/definitions/code-server.cjs.map +1 -0
- package/dist/services/definitions/code-server.d.cts +7 -0
- package/dist/services/definitions/code-server.d.cts.map +1 -0
- package/dist/services/definitions/code-server.mjs +1 -1
- package/dist/services/definitions/code-server.mjs.map +1 -1
- package/dist/services/definitions/codex.cjs +47 -0
- package/dist/services/definitions/codex.cjs.map +1 -0
- package/dist/services/definitions/codex.d.cts +7 -0
- package/dist/services/definitions/codex.d.cts.map +1 -0
- package/dist/services/definitions/codex.mjs +1 -1
- package/dist/services/definitions/codex.mjs.map +1 -1
- package/dist/services/definitions/comfyui.cjs +85 -0
- package/dist/services/definitions/comfyui.cjs.map +1 -0
- package/dist/services/definitions/comfyui.d.cts +7 -0
- package/dist/services/definitions/comfyui.d.cts.map +1 -0
- package/dist/services/definitions/comfyui.mjs +1 -1
- package/dist/services/definitions/comfyui.mjs.map +1 -1
- package/dist/services/definitions/convex-dashboard.cjs +48 -0
- package/dist/services/definitions/convex-dashboard.cjs.map +1 -0
- package/dist/services/definitions/convex-dashboard.d.cts +7 -0
- package/dist/services/definitions/convex-dashboard.d.cts.map +1 -0
- package/dist/services/definitions/convex.cjs +120 -0
- package/dist/services/definitions/convex.cjs.map +1 -0
- package/dist/services/definitions/convex.d.cts +7 -0
- package/dist/services/definitions/convex.d.cts.map +1 -0
- package/dist/services/definitions/coolify.cjs +51 -0
- package/dist/services/definitions/coolify.cjs.map +1 -0
- package/dist/services/definitions/coolify.d.cts +7 -0
- package/dist/services/definitions/coolify.d.cts.map +1 -0
- package/dist/services/definitions/coolify.mjs +1 -1
- package/dist/services/definitions/coolify.mjs.map +1 -1
- package/dist/services/definitions/crowdsec.cjs +64 -0
- package/dist/services/definitions/crowdsec.cjs.map +1 -0
- package/dist/services/definitions/crowdsec.d.cts +7 -0
- package/dist/services/definitions/crowdsec.d.cts.map +1 -0
- package/dist/services/definitions/crowdsec.mjs +2 -2
- package/dist/services/definitions/crowdsec.mjs.map +1 -1
- package/dist/services/definitions/desktop-environment.cjs +155 -0
- package/dist/services/definitions/desktop-environment.cjs.map +1 -0
- package/dist/services/definitions/desktop-environment.d.cts +7 -0
- package/dist/services/definitions/desktop-environment.d.cts.map +1 -0
- package/dist/services/definitions/desktop-environment.mjs +1 -1
- package/dist/services/definitions/desktop-environment.mjs.map +1 -1
- package/dist/services/definitions/dify.cjs +83 -0
- package/dist/services/definitions/dify.cjs.map +1 -0
- package/dist/services/definitions/dify.d.cts +7 -0
- package/dist/services/definitions/dify.d.cts.map +1 -0
- package/dist/services/definitions/dify.mjs +1 -1
- package/dist/services/definitions/dify.mjs.map +1 -1
- package/dist/services/definitions/docsgpt.cjs +47 -0
- package/dist/services/definitions/docsgpt.cjs.map +1 -0
- package/dist/services/definitions/docsgpt.d.cts +7 -0
- package/dist/services/definitions/docsgpt.d.cts.map +1 -0
- package/dist/services/definitions/docsgpt.mjs +1 -1
- package/dist/services/definitions/docsgpt.mjs.map +1 -1
- package/dist/services/definitions/dokploy.cjs +51 -0
- package/dist/services/definitions/dokploy.cjs.map +1 -0
- package/dist/services/definitions/dokploy.d.cts +7 -0
- package/dist/services/definitions/dokploy.d.cts.map +1 -0
- package/dist/services/definitions/dokploy.mjs +2 -2
- package/dist/services/definitions/dokploy.mjs.map +1 -1
- package/dist/services/definitions/dozzle.cjs +43 -0
- package/dist/services/definitions/dozzle.cjs.map +1 -0
- package/dist/services/definitions/dozzle.d.cts +7 -0
- package/dist/services/definitions/dozzle.d.cts.map +1 -0
- package/dist/services/definitions/dozzle.mjs +1 -1
- package/dist/services/definitions/dozzle.mjs.map +1 -1
- package/dist/services/definitions/ffmpeg.cjs +68 -0
- package/dist/services/definitions/ffmpeg.cjs.map +1 -0
- package/dist/services/definitions/ffmpeg.d.cts +7 -0
- package/dist/services/definitions/ffmpeg.d.cts.map +1 -0
- package/dist/services/definitions/ffmpeg.mjs +2 -2
- package/dist/services/definitions/ffmpeg.mjs.map +1 -1
- package/dist/services/definitions/flowise.cjs +47 -0
- package/dist/services/definitions/flowise.cjs.map +1 -0
- package/dist/services/definitions/flowise.d.cts +7 -0
- package/dist/services/definitions/flowise.d.cts.map +1 -0
- package/dist/services/definitions/flowise.mjs +1 -1
- package/dist/services/definitions/flowise.mjs.map +1 -1
- package/dist/services/definitions/gemini-cli.cjs +54 -0
- package/dist/services/definitions/gemini-cli.cjs.map +1 -0
- package/dist/services/definitions/gemini-cli.d.cts +7 -0
- package/dist/services/definitions/gemini-cli.d.cts.map +1 -0
- package/dist/services/definitions/gemini-cli.mjs +7 -1
- package/dist/services/definitions/gemini-cli.mjs.map +1 -1
- package/dist/services/definitions/ghost.cjs +60 -0
- package/dist/services/definitions/ghost.cjs.map +1 -0
- package/dist/services/definitions/ghost.d.cts +7 -0
- package/dist/services/definitions/ghost.d.cts.map +1 -0
- package/dist/services/definitions/ghost.mjs +1 -1
- package/dist/services/definitions/ghost.mjs.map +1 -1
- package/dist/services/definitions/gitea.cjs +51 -0
- package/dist/services/definitions/gitea.cjs.map +1 -0
- package/dist/services/definitions/gitea.d.cts +7 -0
- package/dist/services/definitions/gitea.d.cts.map +1 -0
- package/dist/services/definitions/gitea.mjs +1 -1
- package/dist/services/definitions/gitea.mjs.map +1 -1
- package/dist/services/definitions/gotify.cjs +64 -0
- package/dist/services/definitions/gotify.cjs.map +1 -0
- package/dist/services/definitions/gotify.d.cts +7 -0
- package/dist/services/definitions/gotify.d.cts.map +1 -0
- package/dist/services/definitions/gotify.mjs +3 -3
- package/dist/services/definitions/gotify.mjs.map +1 -1
- package/dist/services/definitions/grafana.cjs +77 -0
- package/dist/services/definitions/grafana.cjs.map +1 -0
- package/dist/services/definitions/grafana.d.cts +7 -0
- package/dist/services/definitions/grafana.d.cts.map +1 -0
- package/dist/services/definitions/grafana.mjs +2 -2
- package/dist/services/definitions/grafana.mjs.map +1 -1
- package/dist/services/definitions/headscale.cjs +73 -0
- package/dist/services/definitions/headscale.cjs.map +1 -0
- package/dist/services/definitions/headscale.d.cts +7 -0
- package/dist/services/definitions/headscale.d.cts.map +1 -0
- package/dist/services/definitions/headscale.mjs +2 -2
- package/dist/services/definitions/headscale.mjs.map +1 -1
- package/dist/services/definitions/hexstrike.cjs +46 -0
- package/dist/services/definitions/hexstrike.cjs.map +1 -0
- package/dist/services/definitions/hexstrike.d.cts +7 -0
- package/dist/services/definitions/hexstrike.d.cts.map +1 -0
- package/dist/services/definitions/hexstrike.mjs +1 -1
- package/dist/services/definitions/hexstrike.mjs.map +1 -1
- package/dist/services/definitions/homeassistant.cjs +63 -0
- package/dist/services/definitions/homeassistant.cjs.map +1 -0
- package/dist/services/definitions/homeassistant.d.cts +7 -0
- package/dist/services/definitions/homeassistant.d.cts.map +1 -0
- package/dist/services/definitions/homeassistant.mjs +1 -1
- package/dist/services/definitions/homeassistant.mjs.map +1 -1
- package/dist/services/definitions/immich.cjs +94 -0
- package/dist/services/definitions/immich.cjs.map +1 -0
- package/dist/services/definitions/immich.d.cts +7 -0
- package/dist/services/definitions/immich.d.cts.map +1 -0
- package/dist/services/definitions/immich.mjs +6 -6
- package/dist/services/definitions/immich.mjs.map +1 -1
- package/dist/services/definitions/index.cjs +291 -0
- package/dist/services/definitions/index.cjs.map +1 -0
- package/dist/services/definitions/index.d.cts +101 -0
- package/dist/services/definitions/index.d.cts.map +1 -0
- package/dist/services/definitions/jellyfin.cjs +64 -0
- package/dist/services/definitions/jellyfin.cjs.map +1 -0
- package/dist/services/definitions/jellyfin.d.cts +7 -0
- package/dist/services/definitions/jellyfin.d.cts.map +1 -0
- package/dist/services/definitions/jellyfin.mjs +1 -1
- package/dist/services/definitions/jellyfin.mjs.map +1 -1
- package/dist/services/definitions/jenkins.cjs +64 -0
- package/dist/services/definitions/jenkins.cjs.map +1 -0
- package/dist/services/definitions/jenkins.d.cts +7 -0
- package/dist/services/definitions/jenkins.d.cts.map +1 -0
- package/dist/services/definitions/jenkins.mjs +1 -1
- package/dist/services/definitions/jenkins.mjs.map +1 -1
- package/dist/services/definitions/kimi.cjs +48 -0
- package/dist/services/definitions/kimi.cjs.map +1 -0
- package/dist/services/definitions/kimi.d.cts +7 -0
- package/dist/services/definitions/kimi.d.cts.map +1 -0
- package/dist/services/definitions/kimi.mjs +1 -1
- package/dist/services/definitions/kimi.mjs.map +1 -1
- package/dist/services/definitions/lasuite-meet-agents.cjs +38 -0
- package/dist/services/definitions/lasuite-meet-agents.cjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-agents.d.cts +7 -0
- package/dist/services/definitions/lasuite-meet-agents.d.cts.map +1 -0
- package/dist/services/definitions/lasuite-meet-agents.mjs +1 -1
- package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -1
- package/dist/services/definitions/lasuite-meet-backend.cjs +136 -0
- package/dist/services/definitions/lasuite-meet-backend.cjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-backend.d.cts +7 -0
- package/dist/services/definitions/lasuite-meet-backend.d.cts.map +1 -0
- package/dist/services/definitions/lasuite-meet-backend.mjs +3 -3
- package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -1
- package/dist/services/definitions/lasuite-meet-frontend.cjs +50 -0
- package/dist/services/definitions/lasuite-meet-frontend.cjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-frontend.d.cts +7 -0
- package/dist/services/definitions/lasuite-meet-frontend.d.cts.map +1 -0
- package/dist/services/definitions/lasuite-meet-frontend.mjs +3 -3
- package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -1
- package/dist/services/definitions/librechat.cjs +52 -0
- package/dist/services/definitions/librechat.cjs.map +1 -0
- package/dist/services/definitions/librechat.d.cts +7 -0
- package/dist/services/definitions/librechat.d.cts.map +1 -0
- package/dist/services/definitions/librechat.mjs +1 -1
- package/dist/services/definitions/librechat.mjs.map +1 -1
- package/dist/services/definitions/lightpanda.cjs +61 -0
- package/dist/services/definitions/lightpanda.cjs.map +1 -0
- package/dist/services/definitions/lightpanda.d.cts +7 -0
- package/dist/services/definitions/lightpanda.d.cts.map +1 -0
- package/dist/services/definitions/litellm.cjs +49 -0
- package/dist/services/definitions/litellm.cjs.map +1 -0
- package/dist/services/definitions/litellm.d.cts +7 -0
- package/dist/services/definitions/litellm.d.cts.map +1 -0
- package/dist/services/definitions/litellm.mjs +1 -1
- package/dist/services/definitions/litellm.mjs.map +1 -1
- package/dist/services/definitions/livekit.cjs +58 -0
- package/dist/services/definitions/livekit.cjs.map +1 -0
- package/dist/services/definitions/livekit.d.cts +7 -0
- package/dist/services/definitions/livekit.d.cts.map +1 -0
- package/dist/services/definitions/loki.cjs +53 -0
- package/dist/services/definitions/loki.cjs.map +1 -0
- package/dist/services/definitions/loki.d.cts +7 -0
- package/dist/services/definitions/loki.d.cts.map +1 -0
- package/dist/services/definitions/loki.mjs +1 -1
- package/dist/services/definitions/loki.mjs.map +1 -1
- package/dist/services/definitions/matomo.cjs +82 -0
- package/dist/services/definitions/matomo.cjs.map +1 -0
- package/dist/services/definitions/matomo.d.cts +7 -0
- package/dist/services/definitions/matomo.d.cts.map +1 -0
- package/dist/services/definitions/matomo.mjs +1 -1
- package/dist/services/definitions/matomo.mjs.map +1 -1
- package/dist/services/definitions/matrix-synapse.cjs +90 -0
- package/dist/services/definitions/matrix-synapse.cjs.map +1 -0
- package/dist/services/definitions/matrix-synapse.d.cts +7 -0
- package/dist/services/definitions/matrix-synapse.d.cts.map +1 -0
- package/dist/services/definitions/matrix-synapse.mjs +1 -1
- package/dist/services/definitions/matrix-synapse.mjs.map +1 -1
- package/dist/services/definitions/mattermost.cjs +63 -0
- package/dist/services/definitions/mattermost.cjs.map +1 -0
- package/dist/services/definitions/mattermost.d.cts +7 -0
- package/dist/services/definitions/mattermost.d.cts.map +1 -0
- package/dist/services/definitions/mattermost.mjs +1 -1
- package/dist/services/definitions/mattermost.mjs.map +1 -1
- package/dist/services/definitions/meilisearch.cjs +80 -0
- package/dist/services/definitions/meilisearch.cjs.map +1 -0
- package/dist/services/definitions/meilisearch.d.cts +7 -0
- package/dist/services/definitions/meilisearch.d.cts.map +1 -0
- package/dist/services/definitions/meilisearch.mjs +4 -4
- package/dist/services/definitions/meilisearch.mjs.map +1 -1
- package/dist/services/definitions/milvus.cjs +77 -0
- package/dist/services/definitions/milvus.cjs.map +1 -0
- package/dist/services/definitions/milvus.d.cts +7 -0
- package/dist/services/definitions/milvus.d.cts.map +1 -0
- package/dist/services/definitions/milvus.mjs +1 -1
- package/dist/services/definitions/milvus.mjs.map +1 -1
- package/dist/services/definitions/minio.cjs +104 -0
- package/dist/services/definitions/minio.cjs.map +1 -0
- package/dist/services/definitions/minio.d.cts +7 -0
- package/dist/services/definitions/minio.d.cts.map +1 -0
- package/dist/services/definitions/minio.mjs +1 -1
- package/dist/services/definitions/minio.mjs.map +1 -1
- package/dist/services/definitions/mission-control.cjs +69 -0
- package/dist/services/definitions/mission-control.cjs.map +1 -0
- package/dist/services/definitions/mission-control.d.cts +7 -0
- package/dist/services/definitions/mission-control.d.cts.map +1 -0
- package/dist/services/definitions/mixpost.cjs +89 -0
- package/dist/services/definitions/mixpost.cjs.map +1 -0
- package/dist/services/definitions/mixpost.d.cts +7 -0
- package/dist/services/definitions/mixpost.d.cts.map +1 -0
- package/dist/services/definitions/mixpost.mjs +1 -1
- package/dist/services/definitions/mixpost.mjs.map +1 -1
- package/dist/services/definitions/motion-canvas.cjs +54 -0
- package/dist/services/definitions/motion-canvas.cjs.map +1 -0
- package/dist/services/definitions/motion-canvas.d.cts +7 -0
- package/dist/services/definitions/motion-canvas.d.cts.map +1 -0
- package/dist/services/definitions/motion-canvas.mjs +1 -1
- package/dist/services/definitions/motion-canvas.mjs.map +1 -1
- package/dist/services/definitions/n8n.cjs +156 -0
- package/dist/services/definitions/n8n.cjs.map +1 -0
- package/dist/services/definitions/n8n.d.cts +7 -0
- package/dist/services/definitions/n8n.d.cts.map +1 -0
- package/dist/services/definitions/n8n.mjs +1 -1
- package/dist/services/definitions/n8n.mjs.map +1 -1
- package/dist/services/definitions/neo4j.cjs +93 -0
- package/dist/services/definitions/neo4j.cjs.map +1 -0
- package/dist/services/definitions/neo4j.d.cts +7 -0
- package/dist/services/definitions/neo4j.d.cts.map +1 -0
- package/dist/services/definitions/neo4j.mjs +1 -1
- package/dist/services/definitions/neo4j.mjs.map +1 -1
- package/dist/services/definitions/nextcloud.cjs +82 -0
- package/dist/services/definitions/nextcloud.cjs.map +1 -0
- package/dist/services/definitions/nextcloud.d.cts +7 -0
- package/dist/services/definitions/nextcloud.d.cts.map +1 -0
- package/dist/services/definitions/nextcloud.mjs +19 -19
- package/dist/services/definitions/nextcloud.mjs.map +1 -1
- package/dist/services/definitions/nocodb.cjs +47 -0
- package/dist/services/definitions/nocodb.cjs.map +1 -0
- package/dist/services/definitions/nocodb.d.cts +7 -0
- package/dist/services/definitions/nocodb.d.cts.map +1 -0
- package/dist/services/definitions/nocodb.mjs +1 -1
- package/dist/services/definitions/nocodb.mjs.map +1 -1
- package/dist/services/definitions/ntfy.cjs +65 -0
- package/dist/services/definitions/ntfy.cjs.map +1 -0
- package/dist/services/definitions/ntfy.d.cts +7 -0
- package/dist/services/definitions/ntfy.d.cts.map +1 -0
- package/dist/services/definitions/ntfy.mjs +2 -2
- package/dist/services/definitions/ntfy.mjs.map +1 -1
- package/dist/services/definitions/ollama.cjs +68 -0
- package/dist/services/definitions/ollama.cjs.map +1 -0
- package/dist/services/definitions/ollama.d.cts +7 -0
- package/dist/services/definitions/ollama.d.cts.map +1 -0
- package/dist/services/definitions/ollama.mjs +1 -1
- package/dist/services/definitions/ollama.mjs.map +1 -1
- package/dist/services/definitions/open-webui.cjs +52 -0
- package/dist/services/definitions/open-webui.cjs.map +1 -0
- package/dist/services/definitions/open-webui.d.cts +7 -0
- package/dist/services/definitions/open-webui.d.cts.map +1 -0
- package/dist/services/definitions/open-webui.mjs +1 -1
- package/dist/services/definitions/open-webui.mjs.map +1 -1
- package/dist/services/definitions/opencode.cjs +52 -0
- package/dist/services/definitions/opencode.cjs.map +1 -0
- package/dist/services/definitions/opencode.d.cts +7 -0
- package/dist/services/definitions/opencode.d.cts.map +1 -0
- package/dist/services/definitions/opencode.mjs +1 -1
- package/dist/services/definitions/opencode.mjs.map +1 -1
- package/dist/services/definitions/openpanel.cjs +48 -0
- package/dist/services/definitions/openpanel.cjs.map +1 -0
- package/dist/services/definitions/openpanel.d.cts +7 -0
- package/dist/services/definitions/openpanel.d.cts.map +1 -0
- package/dist/services/definitions/openpanel.mjs +3 -3
- package/dist/services/definitions/openpanel.mjs.map +1 -1
- package/dist/services/definitions/outline.cjs +76 -0
- package/dist/services/definitions/outline.cjs.map +1 -0
- package/dist/services/definitions/outline.d.cts +7 -0
- package/dist/services/definitions/outline.d.cts.map +1 -0
- package/dist/services/definitions/paperless-ngx.cjs +95 -0
- package/dist/services/definitions/paperless-ngx.cjs.map +1 -0
- package/dist/services/definitions/paperless-ngx.d.cts +7 -0
- package/dist/services/definitions/paperless-ngx.d.cts.map +1 -0
- package/dist/services/definitions/paperless-ngx.mjs +1 -1
- package/dist/services/definitions/paperless-ngx.mjs.map +1 -1
- package/dist/services/definitions/pentagi.cjs +46 -0
- package/dist/services/definitions/pentagi.cjs.map +1 -0
- package/dist/services/definitions/pentagi.d.cts +7 -0
- package/dist/services/definitions/pentagi.d.cts.map +1 -0
- package/dist/services/definitions/pentagi.mjs +2 -2
- package/dist/services/definitions/pentagi.mjs.map +1 -1
- package/dist/services/definitions/pentestagent.cjs +41 -0
- package/dist/services/definitions/pentestagent.cjs.map +1 -0
- package/dist/services/definitions/pentestagent.d.cts +7 -0
- package/dist/services/definitions/pentestagent.d.cts.map +1 -0
- package/dist/services/definitions/playwright-server.cjs +44 -0
- package/dist/services/definitions/playwright-server.cjs.map +1 -0
- package/dist/services/definitions/playwright-server.d.cts +7 -0
- package/dist/services/definitions/playwright-server.d.cts.map +1 -0
- package/dist/services/definitions/playwright-server.mjs +1 -1
- package/dist/services/definitions/playwright-server.mjs.map +1 -1
- package/dist/services/definitions/portainer.cjs +51 -0
- package/dist/services/definitions/portainer.cjs.map +1 -0
- package/dist/services/definitions/portainer.d.cts +7 -0
- package/dist/services/definitions/portainer.d.cts.map +1 -0
- package/dist/services/definitions/portainer.mjs +1 -1
- package/dist/services/definitions/portainer.mjs.map +1 -1
- package/dist/services/definitions/postgresql.cjs +86 -0
- package/dist/services/definitions/postgresql.cjs.map +1 -0
- package/dist/services/definitions/postgresql.d.cts +7 -0
- package/dist/services/definitions/postgresql.d.cts.map +1 -0
- package/dist/services/definitions/postgresql.mjs +1 -1
- package/dist/services/definitions/postgresql.mjs.map +1 -1
- package/dist/services/definitions/postiz.cjs +85 -0
- package/dist/services/definitions/postiz.cjs.map +1 -0
- package/dist/services/definitions/postiz.d.cts +7 -0
- package/dist/services/definitions/postiz.d.cts.map +1 -0
- package/dist/services/definitions/postiz.mjs +1 -1
- package/dist/services/definitions/postiz.mjs.map +1 -1
- package/dist/services/definitions/prometheus.cjs +54 -0
- package/dist/services/definitions/prometheus.cjs.map +1 -0
- package/dist/services/definitions/prometheus.d.cts +7 -0
- package/dist/services/definitions/prometheus.d.cts.map +1 -0
- package/dist/services/definitions/prometheus.mjs +1 -1
- package/dist/services/definitions/prometheus.mjs.map +1 -1
- package/dist/services/definitions/qdrant.cjs +79 -0
- package/dist/services/definitions/qdrant.cjs.map +1 -0
- package/dist/services/definitions/qdrant.d.cts +7 -0
- package/dist/services/definitions/qdrant.d.cts.map +1 -0
- package/dist/services/definitions/qdrant.mjs +1 -1
- package/dist/services/definitions/qdrant.mjs.map +1 -1
- package/dist/services/definitions/redis.cjs +93 -0
- package/dist/services/definitions/redis.cjs.map +1 -0
- package/dist/services/definitions/redis.d.cts +7 -0
- package/dist/services/definitions/redis.d.cts.map +1 -0
- package/dist/services/definitions/redis.mjs +1 -1
- package/dist/services/definitions/redis.mjs.map +1 -1
- package/dist/services/definitions/remotion.cjs +57 -0
- package/dist/services/definitions/remotion.cjs.map +1 -0
- package/dist/services/definitions/remotion.d.cts +7 -0
- package/dist/services/definitions/remotion.d.cts.map +1 -0
- package/dist/services/definitions/remotion.mjs +1 -1
- package/dist/services/definitions/remotion.mjs.map +1 -1
- package/dist/services/definitions/rocketchat.cjs +59 -0
- package/dist/services/definitions/rocketchat.cjs.map +1 -0
- package/dist/services/definitions/rocketchat.d.cts +7 -0
- package/dist/services/definitions/rocketchat.d.cts.map +1 -0
- package/dist/services/definitions/rocketchat.mjs +1 -1
- package/dist/services/definitions/rocketchat.mjs.map +1 -1
- package/dist/services/definitions/scrapling.cjs +46 -0
- package/dist/services/definitions/scrapling.cjs.map +1 -0
- package/dist/services/definitions/scrapling.d.cts +7 -0
- package/dist/services/definitions/scrapling.d.cts.map +1 -0
- package/dist/services/definitions/scrapling.mjs +2 -2
- package/dist/services/definitions/scrapling.mjs.map +1 -1
- package/dist/services/definitions/searxng.cjs +67 -0
- package/dist/services/definitions/searxng.cjs.map +1 -0
- package/dist/services/definitions/searxng.d.cts +7 -0
- package/dist/services/definitions/searxng.d.cts.map +1 -0
- package/dist/services/definitions/searxng.mjs +1 -1
- package/dist/services/definitions/searxng.mjs.map +1 -1
- package/dist/services/definitions/signoz.cjs +56 -0
- package/dist/services/definitions/signoz.cjs.map +1 -0
- package/dist/services/definitions/signoz.d.cts +7 -0
- package/dist/services/definitions/signoz.d.cts.map +1 -0
- package/dist/services/definitions/signoz.mjs +2 -2
- package/dist/services/definitions/signoz.mjs.map +1 -1
- package/dist/services/definitions/solidityguard.cjs +51 -0
- package/dist/services/definitions/solidityguard.cjs.map +1 -0
- package/dist/services/definitions/solidityguard.d.cts +7 -0
- package/dist/services/definitions/solidityguard.d.cts.map +1 -0
- package/dist/services/definitions/solidityguard.mjs +1 -1
- package/dist/services/definitions/solidityguard.mjs.map +1 -1
- package/dist/services/definitions/stable-diffusion.cjs +50 -0
- package/dist/services/definitions/stable-diffusion.cjs.map +1 -0
- package/dist/services/definitions/stable-diffusion.d.cts +7 -0
- package/dist/services/definitions/stable-diffusion.d.cts.map +1 -0
- package/dist/services/definitions/stable-diffusion.mjs +1 -1
- package/dist/services/definitions/stable-diffusion.mjs.map +1 -1
- package/dist/services/definitions/steel-browser.cjs +79 -0
- package/dist/services/definitions/steel-browser.cjs.map +1 -0
- package/dist/services/definitions/steel-browser.d.cts +7 -0
- package/dist/services/definitions/steel-browser.d.cts.map +1 -0
- package/dist/services/definitions/steel-browser.mjs +1 -1
- package/dist/services/definitions/steel-browser.mjs.map +1 -1
- package/dist/services/definitions/stream-gateway.cjs +135 -0
- package/dist/services/definitions/stream-gateway.cjs.map +1 -0
- package/dist/services/definitions/stream-gateway.d.cts +7 -0
- package/dist/services/definitions/stream-gateway.d.cts.map +1 -0
- package/dist/services/definitions/stream-gateway.mjs +2 -2
- package/dist/services/definitions/stream-gateway.mjs.map +1 -1
- package/dist/services/definitions/supabase.cjs +71 -0
- package/dist/services/definitions/supabase.cjs.map +1 -0
- package/dist/services/definitions/supabase.d.cts +7 -0
- package/dist/services/definitions/supabase.d.cts.map +1 -0
- package/dist/services/definitions/supabase.mjs +2 -2
- package/dist/services/definitions/supabase.mjs.map +1 -1
- package/dist/services/definitions/tailscale.cjs +72 -0
- package/dist/services/definitions/tailscale.cjs.map +1 -0
- package/dist/services/definitions/tailscale.d.cts +7 -0
- package/dist/services/definitions/tailscale.d.cts.map +1 -0
- package/dist/services/definitions/tailscale.mjs +1 -1
- package/dist/services/definitions/tailscale.mjs.map +1 -1
- package/dist/services/definitions/temporal.cjs +102 -0
- package/dist/services/definitions/temporal.cjs.map +1 -0
- package/dist/services/definitions/temporal.d.cts +7 -0
- package/dist/services/definitions/temporal.d.cts.map +1 -0
- package/dist/services/definitions/traefik.cjs +59 -0
- package/dist/services/definitions/traefik.cjs.map +1 -0
- package/dist/services/definitions/traefik.d.cts +7 -0
- package/dist/services/definitions/traefik.d.cts.map +1 -0
- package/dist/services/definitions/traefik.mjs +1 -1
- package/dist/services/definitions/traefik.mjs.map +1 -1
- package/dist/services/definitions/umami.cjs +48 -0
- package/dist/services/definitions/umami.cjs.map +1 -0
- package/dist/services/definitions/umami.d.cts +7 -0
- package/dist/services/definitions/umami.d.cts.map +1 -0
- package/dist/services/definitions/uptime-kuma.cjs +53 -0
- package/dist/services/definitions/uptime-kuma.cjs.map +1 -0
- package/dist/services/definitions/uptime-kuma.d.cts +7 -0
- package/dist/services/definitions/uptime-kuma.d.cts.map +1 -0
- package/dist/services/definitions/uptime-kuma.mjs +2 -2
- package/dist/services/definitions/uptime-kuma.mjs.map +1 -1
- package/dist/services/definitions/usesend.cjs +101 -0
- package/dist/services/definitions/usesend.cjs.map +1 -0
- package/dist/services/definitions/usesend.d.cts +7 -0
- package/dist/services/definitions/usesend.d.cts.map +1 -0
- package/dist/services/definitions/usesend.mjs +4 -4
- package/dist/services/definitions/usesend.mjs.map +1 -1
- package/dist/services/definitions/valkey.cjs +63 -0
- package/dist/services/definitions/valkey.cjs.map +1 -0
- package/dist/services/definitions/valkey.d.cts +7 -0
- package/dist/services/definitions/valkey.d.cts.map +1 -0
- package/dist/services/definitions/valkey.mjs +1 -1
- package/dist/services/definitions/valkey.mjs.map +1 -1
- package/dist/services/definitions/vaultwarden.cjs +65 -0
- package/dist/services/definitions/vaultwarden.cjs.map +1 -0
- package/dist/services/definitions/vaultwarden.d.cts +7 -0
- package/dist/services/definitions/vaultwarden.d.cts.map +1 -0
- package/dist/services/definitions/vaultwarden.mjs +2 -2
- package/dist/services/definitions/vaultwarden.mjs.map +1 -1
- package/dist/services/definitions/watchtower.cjs +49 -0
- package/dist/services/definitions/watchtower.cjs.map +1 -0
- package/dist/services/definitions/watchtower.d.cts +7 -0
- package/dist/services/definitions/watchtower.d.cts.map +1 -0
- package/dist/services/definitions/weaviate.cjs +92 -0
- package/dist/services/definitions/weaviate.cjs.map +1 -0
- package/dist/services/definitions/weaviate.d.cts +7 -0
- package/dist/services/definitions/weaviate.d.cts.map +1 -0
- package/dist/services/definitions/weaviate.mjs +2 -2
- package/dist/services/definitions/weaviate.mjs.map +1 -1
- package/dist/services/definitions/whisper.cjs +64 -0
- package/dist/services/definitions/whisper.cjs.map +1 -0
- package/dist/services/definitions/whisper.d.cts +7 -0
- package/dist/services/definitions/whisper.d.cts.map +1 -0
- package/dist/services/definitions/whisper.mjs +2 -2
- package/dist/services/definitions/whisper.mjs.map +1 -1
- package/dist/services/definitions/xyops.cjs +88 -0
- package/dist/services/definitions/xyops.cjs.map +1 -0
- package/dist/services/definitions/xyops.d.cts +7 -0
- package/dist/services/definitions/xyops.d.cts.map +1 -0
- package/dist/services/definitions/xyops.mjs +1 -1
- package/dist/services/definitions/xyops.mjs.map +1 -1
- package/dist/services/registry.cjs +35 -0
- package/dist/services/registry.cjs.map +1 -0
- package/dist/services/registry.d.cts +16 -0
- package/dist/services/registry.d.cts.map +1 -0
- package/dist/services/registry.test.cjs +63 -0
- package/dist/services/registry.test.cjs.map +1 -0
- package/dist/services/registry.test.d.cts +1 -0
- package/dist/services/registry.test.mjs +1 -1
- package/dist/skills/registry.cjs +712 -0
- package/dist/skills/registry.cjs.map +1 -0
- package/dist/skills/registry.d.cts +11 -0
- package/dist/skills/registry.d.cts.map +1 -0
- package/dist/skills/skill-manifest.cjs +23 -0
- package/dist/skills/skill-manifest.cjs.map +1 -0
- package/dist/skills/skill-manifest.d.cts +20 -0
- package/dist/skills/skill-manifest.d.cts.map +1 -0
- package/dist/types.cjs +149 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +82 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +9 -2
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +40 -0
- package/dist/types.mjs.map +1 -1
- package/dist/validator.cjs +124 -0
- package/dist/validator.cjs.map +1 -0
- package/dist/validator.d.cts +20 -0
- package/dist/validator.d.cts.map +1 -0
- package/dist/validator.test.cjs +64 -0
- package/dist/validator.test.cjs.map +1 -0
- package/dist/validator.test.d.cts +1 -0
- package/dist/validator.test.mjs +1 -1
- package/dist/version-manager.cjs +65 -0
- package/dist/version-manager.cjs.map +1 -0
- package/dist/version-manager.d.cts +14 -0
- package/dist/version-manager.d.cts.map +1 -0
- package/dist/version-manager.test.cjs +101 -0
- package/dist/version-manager.test.cjs.map +1 -0
- package/dist/version-manager.test.d.cts +1 -0
- package/dist/version-manager.test.mjs +1 -1
- package/dist/vi.2VT5v0um-BmRMvymT.cjs +12934 -0
- package/dist/vi.2VT5v0um-BmRMvymT.cjs.map +1 -0
- package/dist/{vi.2VT5v0um-BgmKutxR.mjs → vi.2VT5v0um-CFyDIn0m.mjs} +5 -5
- package/dist/{vi.2VT5v0um-BgmKutxR.mjs.map → vi.2VT5v0um-CFyDIn0m.mjs.map} +1 -1
- package/package.json +24 -3
- package/src/__snapshots__/composer.snapshot.test.ts.snap +20 -20
- package/src/compose-validation.test.ts +102 -0
- package/src/composer.test.ts +1 -1
- package/src/composer.ts +331 -53
- package/src/deployers/coolify.ts +241 -0
- package/src/deployers/dokploy.ts +174 -0
- package/src/deployers/index.ts +36 -0
- package/src/deployers/types.ts +70 -0
- package/src/generate.ts +45 -1
- package/src/generators/cloud-init.ts +137 -0
- package/src/generators/env.ts +112 -6
- package/src/generators/health-check.ts +2 -2
- package/src/generators/openclaw-install-script.ts +77 -0
- package/src/generators/openclaw-json.ts +195 -58
- package/src/generators/postgres-init.ts +11 -0
- package/src/generators/readme.ts +103 -4
- package/src/generators/stack-manifest.ts +127 -0
- package/src/index.ts +30 -0
- package/src/port-scanner.ts +189 -0
- package/src/presets/presets.test.ts +73 -0
- package/src/presets/registry.test.ts +3 -0
- package/src/presets/registry.ts +30 -7
- package/src/resolver.ts +2 -0
- package/src/schema.ts +30 -1
- package/src/services/definitions/anything-llm.ts +2 -2
- package/src/services/definitions/appflowy.ts +1 -1
- package/src/services/definitions/authentik.ts +5 -5
- package/src/services/definitions/beszel.ts +1 -1
- package/src/services/definitions/browserless.ts +1 -1
- package/src/services/definitions/caddy.ts +2 -2
- package/src/services/definitions/cal-com.ts +2 -2
- package/src/services/definitions/chromadb.ts +3 -3
- package/src/services/definitions/claude-code.ts +1 -1
- package/src/services/definitions/code-server.ts +1 -1
- package/src/services/definitions/codex.ts +1 -1
- package/src/services/definitions/comfyui.ts +1 -1
- package/src/services/definitions/coolify.ts +1 -1
- package/src/services/definitions/crowdsec.ts +2 -2
- package/src/services/definitions/desktop-environment.ts +1 -1
- package/src/services/definitions/dify.ts +1 -1
- package/src/services/definitions/docsgpt.ts +1 -1
- package/src/services/definitions/dokploy.ts +2 -2
- package/src/services/definitions/dozzle.ts +1 -1
- package/src/services/definitions/ffmpeg.ts +2 -2
- package/src/services/definitions/flowise.ts +1 -1
- package/src/services/definitions/gemini-cli.ts +8 -1
- package/src/services/definitions/ghost.ts +1 -1
- package/src/services/definitions/gitea.ts +1 -1
- package/src/services/definitions/gotify.ts +3 -3
- package/src/services/definitions/grafana.ts +2 -2
- package/src/services/definitions/headscale.ts +68 -68
- package/src/services/definitions/hexstrike.ts +1 -1
- package/src/services/definitions/homeassistant.ts +1 -1
- package/src/services/definitions/immich.ts +6 -6
- package/src/services/definitions/jellyfin.ts +1 -1
- package/src/services/definitions/jenkins.ts +1 -1
- package/src/services/definitions/kimi.ts +1 -1
- package/src/services/definitions/lasuite-meet-agents.ts +1 -1
- package/src/services/definitions/lasuite-meet-backend.ts +3 -3
- package/src/services/definitions/lasuite-meet-frontend.ts +3 -3
- package/src/services/definitions/librechat.ts +1 -1
- package/src/services/definitions/litellm.ts +1 -1
- package/src/services/definitions/loki.ts +1 -1
- package/src/services/definitions/matomo.ts +1 -1
- package/src/services/definitions/matrix-synapse.ts +1 -1
- package/src/services/definitions/mattermost.ts +1 -1
- package/src/services/definitions/meilisearch.ts +4 -4
- package/src/services/definitions/milvus.ts +1 -1
- package/src/services/definitions/minio.ts +1 -1
- package/src/services/definitions/mixpost.ts +1 -1
- package/src/services/definitions/motion-canvas.ts +1 -1
- package/src/services/definitions/n8n.ts +1 -1
- package/src/services/definitions/neo4j.ts +1 -1
- package/src/services/definitions/nextcloud.ts +19 -19
- package/src/services/definitions/nocodb.ts +1 -1
- package/src/services/definitions/ntfy.ts +2 -2
- package/src/services/definitions/ollama.ts +1 -1
- package/src/services/definitions/open-webui.ts +1 -1
- package/src/services/definitions/opencode.ts +1 -1
- package/src/services/definitions/openpanel.ts +3 -3
- package/src/services/definitions/paperless-ngx.ts +1 -1
- package/src/services/definitions/pentagi.ts +2 -2
- package/src/services/definitions/playwright-server.ts +1 -1
- package/src/services/definitions/portainer.ts +1 -1
- package/src/services/definitions/postgresql.ts +1 -1
- package/src/services/definitions/postiz.ts +1 -1
- package/src/services/definitions/prometheus.ts +1 -1
- package/src/services/definitions/qdrant.ts +1 -1
- package/src/services/definitions/redis.ts +1 -1
- package/src/services/definitions/remotion.ts +1 -1
- package/src/services/definitions/rocketchat.ts +1 -1
- package/src/services/definitions/scrapling.ts +2 -2
- package/src/services/definitions/searxng.ts +1 -1
- package/src/services/definitions/signoz.ts +2 -2
- package/src/services/definitions/solidityguard.ts +1 -1
- package/src/services/definitions/stable-diffusion.ts +1 -1
- package/src/services/definitions/steel-browser.ts +1 -1
- package/src/services/definitions/stream-gateway.ts +2 -2
- package/src/services/definitions/supabase.ts +2 -2
- package/src/services/definitions/tailscale.ts +1 -1
- package/src/services/definitions/traefik.ts +1 -1
- package/src/services/definitions/uptime-kuma.ts +2 -2
- package/src/services/definitions/usesend.ts +4 -4
- package/src/services/definitions/valkey.ts +1 -1
- package/src/services/definitions/vaultwarden.ts +2 -2
- package/src/services/definitions/weaviate.ts +2 -2
- package/src/services/definitions/whisper.ts +2 -2
- package/src/services/definitions/xyops.ts +1 -1
- package/src/types.ts +138 -20
- package/tsdown.config.ts +2 -2
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/generators/stack-manifest.ts
|
|
4
|
+
/**
|
|
5
|
+
* Generate stack-manifest.json from resolved output and generation input.
|
|
6
|
+
* Returns a single-file record: { "stack-manifest.json": string }.
|
|
7
|
+
*/
|
|
8
|
+
function generateStackManifest(resolved, input) {
|
|
9
|
+
const depMap = /* @__PURE__ */ new Map();
|
|
10
|
+
for (const dep of resolved.addedDependencies) {
|
|
11
|
+
const depId = dep.serviceId ?? dep.service;
|
|
12
|
+
if (dep.requiredBy) depMap.set(depId, dep.requiredBy);
|
|
13
|
+
}
|
|
14
|
+
const services = resolved.services.map((svc) => {
|
|
15
|
+
const def = svc.definition;
|
|
16
|
+
return {
|
|
17
|
+
id: def.id,
|
|
18
|
+
name: def.name,
|
|
19
|
+
category: def.category,
|
|
20
|
+
icon: def.icon,
|
|
21
|
+
image: def.image,
|
|
22
|
+
imageTag: def.imageTag,
|
|
23
|
+
ports: def.ports.map((p) => ({
|
|
24
|
+
container: p.container,
|
|
25
|
+
host: p.host,
|
|
26
|
+
exposed: p.exposed,
|
|
27
|
+
description: p.description
|
|
28
|
+
})),
|
|
29
|
+
docsUrl: def.docsUrl,
|
|
30
|
+
addedBy: svc.addedBy,
|
|
31
|
+
...svc.addedBy !== "user" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
const skills = [];
|
|
35
|
+
const seenSkillIds = /* @__PURE__ */ new Set();
|
|
36
|
+
for (const svc of resolved.services) for (const skill of svc.definition.skills) {
|
|
37
|
+
const skillKey = `${svc.definition.id}-${skill.skillId}`;
|
|
38
|
+
if (seenSkillIds.has(skillKey)) continue;
|
|
39
|
+
seenSkillIds.add(skillKey);
|
|
40
|
+
skills.push({
|
|
41
|
+
id: skillKey,
|
|
42
|
+
name: skill.skillId,
|
|
43
|
+
path: `openclaw/skills/${skill.skillId}.md`,
|
|
44
|
+
serviceIds: [svc.definition.id]
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const skillCount = skills.length;
|
|
48
|
+
const manifest = {
|
|
49
|
+
formatVersion: "1",
|
|
50
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
51
|
+
projectName: input.projectName,
|
|
52
|
+
deployment: input.deployment,
|
|
53
|
+
deploymentType: input.deploymentType,
|
|
54
|
+
platform: input.platform,
|
|
55
|
+
proxy: input.proxy,
|
|
56
|
+
domain: input.domain,
|
|
57
|
+
services,
|
|
58
|
+
skills,
|
|
59
|
+
metadata: {
|
|
60
|
+
serviceCount: resolved.services.length,
|
|
61
|
+
skillCount,
|
|
62
|
+
estimatedMemoryMB: resolved.estimatedMemoryMB
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
return { "stack-manifest.json": JSON.stringify(manifest, null, 2) };
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
exports.generateStackManifest = generateStackManifest;
|
|
70
|
+
//# sourceMappingURL=stack-manifest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-manifest.cjs","names":[],"sources":["../../src/generators/stack-manifest.ts"],"sourcesContent":["/**\n * Stack manifest generator — produces a JSON manifest describing the\n * chosen services, skills, and configuration for a generated stack.\n *\n * This manifest is consumed by Mission Control to render dynamic\n * services/skills pages for managing the deployed stack.\n */\n\nimport type { GenerationInput, ResolverOutput } from \"../types.js\";\n\nexport interface StackManifestService {\n\tid: string;\n\tname: string;\n\tcategory: string;\n\ticon: string;\n\timage: string;\n\timageTag: string;\n\tports: { container: number; host?: number; exposed: boolean; description: string }[];\n\tdocsUrl: string;\n\taddedBy: string;\n\tdependencyOf?: string;\n}\n\nexport interface StackManifestSkill {\n\tid: string;\n\tname: string;\n\tpath: string;\n\tserviceIds: string[];\n}\n\nexport interface StackManifest {\n\tformatVersion: string;\n\tgeneratedAt: string;\n\tprojectName: string;\n\tdeployment?: string;\n\tdeploymentType?: string;\n\tplatform?: string;\n\tproxy?: string;\n\tdomain?: string;\n\tservices: StackManifestService[];\n\tskills: StackManifestSkill[];\n\tmetadata: {\n\t\tserviceCount: number;\n\t\tskillCount: number;\n\t\testimatedMemoryMB: number;\n\t};\n}\n\n/**\n * Generate stack-manifest.json from resolved output and generation input.\n * Returns a single-file record: { \"stack-manifest.json\": string }.\n */\nexport function generateStackManifest(\n\tresolved: ResolverOutput,\n\tinput: GenerationInput,\n): Record<string, string> {\n\t// Build a lookup of dependency chains: serviceId → requiredBy\n\tconst depMap = new Map<string, string>();\n\tfor (const dep of resolved.addedDependencies) {\n\t\tconst depId = dep.serviceId ?? dep.service;\n\t\tif (dep.requiredBy) {\n\t\t\tdepMap.set(depId, dep.requiredBy);\n\t\t}\n\t}\n\n\tconst services: StackManifestService[] = resolved.services.map((svc) => {\n\t\tconst def = svc.definition;\n\t\treturn {\n\t\t\tid: def.id,\n\t\t\tname: def.name,\n\t\t\tcategory: def.category,\n\t\t\ticon: def.icon,\n\t\t\timage: def.image,\n\t\t\timageTag: def.imageTag,\n\t\t\tports: def.ports.map((p) => ({\n\t\t\t\tcontainer: p.container,\n\t\t\t\thost: p.host,\n\t\t\t\texposed: p.exposed,\n\t\t\t\tdescription: p.description,\n\t\t\t})),\n\t\t\tdocsUrl: def.docsUrl,\n\t\t\taddedBy: svc.addedBy,\n\t\t\t...(svc.addedBy !== \"user\" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}),\n\t\t};\n\t});\n\n\t// Collect skills from service definitions (SkillBinding has skillId, not name)\n\tconst skills: StackManifestSkill[] = [];\n\tconst seenSkillIds = new Set<string>();\n\tfor (const svc of resolved.services) {\n\t\tfor (const skill of svc.definition.skills) {\n\t\t\tconst skillKey = `${svc.definition.id}-${skill.skillId}`;\n\t\t\tif (seenSkillIds.has(skillKey)) continue;\n\t\t\tseenSkillIds.add(skillKey);\n\t\t\tskills.push({\n\t\t\t\tid: skillKey,\n\t\t\t\tname: skill.skillId,\n\t\t\t\tpath: `openclaw/skills/${skill.skillId}.md`,\n\t\t\t\tserviceIds: [svc.definition.id],\n\t\t\t});\n\t\t}\n\t}\n\n\tconst skillCount = skills.length;\n\n\tconst manifest: StackManifest = {\n\t\tformatVersion: \"1\",\n\t\tgeneratedAt: new Date().toISOString(),\n\t\tprojectName: input.projectName,\n\t\tdeployment: input.deployment,\n\t\tdeploymentType: input.deploymentType,\n\t\tplatform: input.platform,\n\t\tproxy: input.proxy,\n\t\tdomain: input.domain,\n\t\tservices,\n\t\tskills,\n\t\tmetadata: {\n\t\t\tserviceCount: resolved.services.length,\n\t\t\tskillCount,\n\t\t\testimatedMemoryMB: resolved.estimatedMemoryMB,\n\t\t},\n\t};\n\n\treturn {\n\t\t\"stack-manifest.json\": JSON.stringify(manifest, null, 2),\n\t};\n}\n"],"mappings":";;;;;;;AAoDA,SAAgB,sBACf,UACA,OACyB;CAEzB,MAAM,yBAAS,IAAI,KAAqB;AACxC,MAAK,MAAM,OAAO,SAAS,mBAAmB;EAC7C,MAAM,QAAQ,IAAI,aAAa,IAAI;AACnC,MAAI,IAAI,WACP,QAAO,IAAI,OAAO,IAAI,WAAW;;CAInC,MAAM,WAAmC,SAAS,SAAS,KAAK,QAAQ;EACvE,MAAM,MAAM,IAAI;AAChB,SAAO;GACN,IAAI,IAAI;GACR,MAAM,IAAI;GACV,UAAU,IAAI;GACd,MAAM,IAAI;GACV,OAAO,IAAI;GACX,UAAU,IAAI;GACd,OAAO,IAAI,MAAM,KAAK,OAAO;IAC5B,WAAW,EAAE;IACb,MAAM,EAAE;IACR,SAAS,EAAE;IACX,aAAa,EAAE;IACf,EAAE;GACH,SAAS,IAAI;GACb,SAAS,IAAI;GACb,GAAI,IAAI,YAAY,UAAU,OAAO,IAAI,IAAI,GAAG,GAAG,EAAE,cAAc,OAAO,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE;GAC5F;GACA;CAGF,MAAM,SAA+B,EAAE;CACvC,MAAM,+BAAe,IAAI,KAAa;AACtC,MAAK,MAAM,OAAO,SAAS,SAC1B,MAAK,MAAM,SAAS,IAAI,WAAW,QAAQ;EAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,GAAG,GAAG,MAAM;AAC/C,MAAI,aAAa,IAAI,SAAS,CAAE;AAChC,eAAa,IAAI,SAAS;AAC1B,SAAO,KAAK;GACX,IAAI;GACJ,MAAM,MAAM;GACZ,MAAM,mBAAmB,MAAM,QAAQ;GACvC,YAAY,CAAC,IAAI,WAAW,GAAG;GAC/B,CAAC;;CAIJ,MAAM,aAAa,OAAO;CAE1B,MAAM,WAA0B;EAC/B,eAAe;EACf,8BAAa,IAAI,MAAM,EAAC,aAAa;EACrC,aAAa,MAAM;EACnB,YAAY,MAAM;EAClB,gBAAgB,MAAM;EACtB,UAAU,MAAM;EAChB,OAAO,MAAM;EACb,QAAQ,MAAM;EACd;EACA;EACA,UAAU;GACT,cAAc,SAAS,SAAS;GAChC;GACA,mBAAmB,SAAS;GAC5B;EACD;AAED,QAAO,EACN,uBAAuB,KAAK,UAAU,UAAU,MAAM,EAAE,EACxD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { GenerationInput, ResolverOutput } from "../types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/generators/stack-manifest.d.ts
|
|
4
|
+
interface StackManifestService {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
category: string;
|
|
8
|
+
icon: string;
|
|
9
|
+
image: string;
|
|
10
|
+
imageTag: string;
|
|
11
|
+
ports: {
|
|
12
|
+
container: number;
|
|
13
|
+
host?: number;
|
|
14
|
+
exposed: boolean;
|
|
15
|
+
description: string;
|
|
16
|
+
}[];
|
|
17
|
+
docsUrl: string;
|
|
18
|
+
addedBy: string;
|
|
19
|
+
dependencyOf?: string;
|
|
20
|
+
}
|
|
21
|
+
interface StackManifestSkill {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
path: string;
|
|
25
|
+
serviceIds: string[];
|
|
26
|
+
}
|
|
27
|
+
interface StackManifest {
|
|
28
|
+
formatVersion: string;
|
|
29
|
+
generatedAt: string;
|
|
30
|
+
projectName: string;
|
|
31
|
+
deployment?: string;
|
|
32
|
+
deploymentType?: string;
|
|
33
|
+
platform?: string;
|
|
34
|
+
proxy?: string;
|
|
35
|
+
domain?: string;
|
|
36
|
+
services: StackManifestService[];
|
|
37
|
+
skills: StackManifestSkill[];
|
|
38
|
+
metadata: {
|
|
39
|
+
serviceCount: number;
|
|
40
|
+
skillCount: number;
|
|
41
|
+
estimatedMemoryMB: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generate stack-manifest.json from resolved output and generation input.
|
|
46
|
+
* Returns a single-file record: { "stack-manifest.json": string }.
|
|
47
|
+
*/
|
|
48
|
+
declare function generateStackManifest(resolved: ResolverOutput, input: GenerationInput): Record<string, string>;
|
|
49
|
+
//#endregion
|
|
50
|
+
export { StackManifest, StackManifestService, StackManifestSkill, generateStackManifest };
|
|
51
|
+
//# sourceMappingURL=stack-manifest.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-manifest.d.cts","names":[],"sources":["../../src/generators/stack-manifest.ts"],"mappings":";;;UAUiB,oBAAA;EAChB,EAAA;EACA,IAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;IAAS,SAAA;IAAmB,IAAA;IAAe,OAAA;IAAkB,WAAA;EAAA;EAC7D,OAAA;EACA,OAAA;EACA,YAAA;AAAA;AAAA,UAGgB,kBAAA;EAChB,EAAA;EACA,IAAA;EACA,IAAA;EACA,UAAA;AAAA;AAAA,UAGgB,aAAA;EAChB,aAAA;EACA,WAAA;EACA,WAAA;EACA,UAAA;EACA,cAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,QAAA,EAAU,oBAAA;EACV,MAAA,EAAQ,kBAAA;EACR,QAAA;IACC,YAAA;IACA,UAAA;IACA,iBAAA;EAAA;AAAA;;;;;iBAQc,qBAAA,CACf,QAAA,EAAU,cAAA,EACV,KAAA,EAAO,eAAA,GACL,MAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { GenerationInput, ResolverOutput } from "../types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/generators/stack-manifest.d.ts
|
|
4
|
+
interface StackManifestService {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
category: string;
|
|
8
|
+
icon: string;
|
|
9
|
+
image: string;
|
|
10
|
+
imageTag: string;
|
|
11
|
+
ports: {
|
|
12
|
+
container: number;
|
|
13
|
+
host?: number;
|
|
14
|
+
exposed: boolean;
|
|
15
|
+
description: string;
|
|
16
|
+
}[];
|
|
17
|
+
docsUrl: string;
|
|
18
|
+
addedBy: string;
|
|
19
|
+
dependencyOf?: string;
|
|
20
|
+
}
|
|
21
|
+
interface StackManifestSkill {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
path: string;
|
|
25
|
+
serviceIds: string[];
|
|
26
|
+
}
|
|
27
|
+
interface StackManifest {
|
|
28
|
+
formatVersion: string;
|
|
29
|
+
generatedAt: string;
|
|
30
|
+
projectName: string;
|
|
31
|
+
deployment?: string;
|
|
32
|
+
deploymentType?: string;
|
|
33
|
+
platform?: string;
|
|
34
|
+
proxy?: string;
|
|
35
|
+
domain?: string;
|
|
36
|
+
services: StackManifestService[];
|
|
37
|
+
skills: StackManifestSkill[];
|
|
38
|
+
metadata: {
|
|
39
|
+
serviceCount: number;
|
|
40
|
+
skillCount: number;
|
|
41
|
+
estimatedMemoryMB: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generate stack-manifest.json from resolved output and generation input.
|
|
46
|
+
* Returns a single-file record: { "stack-manifest.json": string }.
|
|
47
|
+
*/
|
|
48
|
+
declare function generateStackManifest(resolved: ResolverOutput, input: GenerationInput): Record<string, string>;
|
|
49
|
+
//#endregion
|
|
50
|
+
export { StackManifest, StackManifestService, StackManifestSkill, generateStackManifest };
|
|
51
|
+
//# sourceMappingURL=stack-manifest.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-manifest.d.mts","names":[],"sources":["../../src/generators/stack-manifest.ts"],"mappings":";;;UAUiB,oBAAA;EAChB,EAAA;EACA,IAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;IAAS,SAAA;IAAmB,IAAA;IAAe,OAAA;IAAkB,WAAA;EAAA;EAC7D,OAAA;EACA,OAAA;EACA,YAAA;AAAA;AAAA,UAGgB,kBAAA;EAChB,EAAA;EACA,IAAA;EACA,IAAA;EACA,UAAA;AAAA;AAAA,UAGgB,aAAA;EAChB,aAAA;EACA,WAAA;EACA,WAAA;EACA,UAAA;EACA,cAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,QAAA,EAAU,oBAAA;EACV,MAAA,EAAQ,kBAAA;EACR,QAAA;IACC,YAAA;IACA,UAAA;IACA,iBAAA;EAAA;AAAA;;;;;iBAQc,qBAAA,CACf,QAAA,EAAU,cAAA,EACV,KAAA,EAAO,eAAA,GACL,MAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//#region src/generators/stack-manifest.ts
|
|
2
|
+
/**
|
|
3
|
+
* Generate stack-manifest.json from resolved output and generation input.
|
|
4
|
+
* Returns a single-file record: { "stack-manifest.json": string }.
|
|
5
|
+
*/
|
|
6
|
+
function generateStackManifest(resolved, input) {
|
|
7
|
+
const depMap = /* @__PURE__ */ new Map();
|
|
8
|
+
for (const dep of resolved.addedDependencies) {
|
|
9
|
+
const depId = dep.serviceId ?? dep.service;
|
|
10
|
+
if (dep.requiredBy) depMap.set(depId, dep.requiredBy);
|
|
11
|
+
}
|
|
12
|
+
const services = resolved.services.map((svc) => {
|
|
13
|
+
const def = svc.definition;
|
|
14
|
+
return {
|
|
15
|
+
id: def.id,
|
|
16
|
+
name: def.name,
|
|
17
|
+
category: def.category,
|
|
18
|
+
icon: def.icon,
|
|
19
|
+
image: def.image,
|
|
20
|
+
imageTag: def.imageTag,
|
|
21
|
+
ports: def.ports.map((p) => ({
|
|
22
|
+
container: p.container,
|
|
23
|
+
host: p.host,
|
|
24
|
+
exposed: p.exposed,
|
|
25
|
+
description: p.description
|
|
26
|
+
})),
|
|
27
|
+
docsUrl: def.docsUrl,
|
|
28
|
+
addedBy: svc.addedBy,
|
|
29
|
+
...svc.addedBy !== "user" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
const skills = [];
|
|
33
|
+
const seenSkillIds = /* @__PURE__ */ new Set();
|
|
34
|
+
for (const svc of resolved.services) for (const skill of svc.definition.skills) {
|
|
35
|
+
const skillKey = `${svc.definition.id}-${skill.skillId}`;
|
|
36
|
+
if (seenSkillIds.has(skillKey)) continue;
|
|
37
|
+
seenSkillIds.add(skillKey);
|
|
38
|
+
skills.push({
|
|
39
|
+
id: skillKey,
|
|
40
|
+
name: skill.skillId,
|
|
41
|
+
path: `openclaw/skills/${skill.skillId}.md`,
|
|
42
|
+
serviceIds: [svc.definition.id]
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const skillCount = skills.length;
|
|
46
|
+
const manifest = {
|
|
47
|
+
formatVersion: "1",
|
|
48
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
49
|
+
projectName: input.projectName,
|
|
50
|
+
deployment: input.deployment,
|
|
51
|
+
deploymentType: input.deploymentType,
|
|
52
|
+
platform: input.platform,
|
|
53
|
+
proxy: input.proxy,
|
|
54
|
+
domain: input.domain,
|
|
55
|
+
services,
|
|
56
|
+
skills,
|
|
57
|
+
metadata: {
|
|
58
|
+
serviceCount: resolved.services.length,
|
|
59
|
+
skillCount,
|
|
60
|
+
estimatedMemoryMB: resolved.estimatedMemoryMB
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return { "stack-manifest.json": JSON.stringify(manifest, null, 2) };
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
export { generateStackManifest };
|
|
68
|
+
//# sourceMappingURL=stack-manifest.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-manifest.mjs","names":[],"sources":["../../src/generators/stack-manifest.ts"],"sourcesContent":["/**\n * Stack manifest generator — produces a JSON manifest describing the\n * chosen services, skills, and configuration for a generated stack.\n *\n * This manifest is consumed by Mission Control to render dynamic\n * services/skills pages for managing the deployed stack.\n */\n\nimport type { GenerationInput, ResolverOutput } from \"../types.js\";\n\nexport interface StackManifestService {\n\tid: string;\n\tname: string;\n\tcategory: string;\n\ticon: string;\n\timage: string;\n\timageTag: string;\n\tports: { container: number; host?: number; exposed: boolean; description: string }[];\n\tdocsUrl: string;\n\taddedBy: string;\n\tdependencyOf?: string;\n}\n\nexport interface StackManifestSkill {\n\tid: string;\n\tname: string;\n\tpath: string;\n\tserviceIds: string[];\n}\n\nexport interface StackManifest {\n\tformatVersion: string;\n\tgeneratedAt: string;\n\tprojectName: string;\n\tdeployment?: string;\n\tdeploymentType?: string;\n\tplatform?: string;\n\tproxy?: string;\n\tdomain?: string;\n\tservices: StackManifestService[];\n\tskills: StackManifestSkill[];\n\tmetadata: {\n\t\tserviceCount: number;\n\t\tskillCount: number;\n\t\testimatedMemoryMB: number;\n\t};\n}\n\n/**\n * Generate stack-manifest.json from resolved output and generation input.\n * Returns a single-file record: { \"stack-manifest.json\": string }.\n */\nexport function generateStackManifest(\n\tresolved: ResolverOutput,\n\tinput: GenerationInput,\n): Record<string, string> {\n\t// Build a lookup of dependency chains: serviceId → requiredBy\n\tconst depMap = new Map<string, string>();\n\tfor (const dep of resolved.addedDependencies) {\n\t\tconst depId = dep.serviceId ?? dep.service;\n\t\tif (dep.requiredBy) {\n\t\t\tdepMap.set(depId, dep.requiredBy);\n\t\t}\n\t}\n\n\tconst services: StackManifestService[] = resolved.services.map((svc) => {\n\t\tconst def = svc.definition;\n\t\treturn {\n\t\t\tid: def.id,\n\t\t\tname: def.name,\n\t\t\tcategory: def.category,\n\t\t\ticon: def.icon,\n\t\t\timage: def.image,\n\t\t\timageTag: def.imageTag,\n\t\t\tports: def.ports.map((p) => ({\n\t\t\t\tcontainer: p.container,\n\t\t\t\thost: p.host,\n\t\t\t\texposed: p.exposed,\n\t\t\t\tdescription: p.description,\n\t\t\t})),\n\t\t\tdocsUrl: def.docsUrl,\n\t\t\taddedBy: svc.addedBy,\n\t\t\t...(svc.addedBy !== \"user\" && depMap.has(def.id) ? { dependencyOf: depMap.get(def.id) } : {}),\n\t\t};\n\t});\n\n\t// Collect skills from service definitions (SkillBinding has skillId, not name)\n\tconst skills: StackManifestSkill[] = [];\n\tconst seenSkillIds = new Set<string>();\n\tfor (const svc of resolved.services) {\n\t\tfor (const skill of svc.definition.skills) {\n\t\t\tconst skillKey = `${svc.definition.id}-${skill.skillId}`;\n\t\t\tif (seenSkillIds.has(skillKey)) continue;\n\t\t\tseenSkillIds.add(skillKey);\n\t\t\tskills.push({\n\t\t\t\tid: skillKey,\n\t\t\t\tname: skill.skillId,\n\t\t\t\tpath: `openclaw/skills/${skill.skillId}.md`,\n\t\t\t\tserviceIds: [svc.definition.id],\n\t\t\t});\n\t\t}\n\t}\n\n\tconst skillCount = skills.length;\n\n\tconst manifest: StackManifest = {\n\t\tformatVersion: \"1\",\n\t\tgeneratedAt: new Date().toISOString(),\n\t\tprojectName: input.projectName,\n\t\tdeployment: input.deployment,\n\t\tdeploymentType: input.deploymentType,\n\t\tplatform: input.platform,\n\t\tproxy: input.proxy,\n\t\tdomain: input.domain,\n\t\tservices,\n\t\tskills,\n\t\tmetadata: {\n\t\t\tserviceCount: resolved.services.length,\n\t\t\tskillCount,\n\t\t\testimatedMemoryMB: resolved.estimatedMemoryMB,\n\t\t},\n\t};\n\n\treturn {\n\t\t\"stack-manifest.json\": JSON.stringify(manifest, null, 2),\n\t};\n}\n"],"mappings":";;;;;AAoDA,SAAgB,sBACf,UACA,OACyB;CAEzB,MAAM,yBAAS,IAAI,KAAqB;AACxC,MAAK,MAAM,OAAO,SAAS,mBAAmB;EAC7C,MAAM,QAAQ,IAAI,aAAa,IAAI;AACnC,MAAI,IAAI,WACP,QAAO,IAAI,OAAO,IAAI,WAAW;;CAInC,MAAM,WAAmC,SAAS,SAAS,KAAK,QAAQ;EACvE,MAAM,MAAM,IAAI;AAChB,SAAO;GACN,IAAI,IAAI;GACR,MAAM,IAAI;GACV,UAAU,IAAI;GACd,MAAM,IAAI;GACV,OAAO,IAAI;GACX,UAAU,IAAI;GACd,OAAO,IAAI,MAAM,KAAK,OAAO;IAC5B,WAAW,EAAE;IACb,MAAM,EAAE;IACR,SAAS,EAAE;IACX,aAAa,EAAE;IACf,EAAE;GACH,SAAS,IAAI;GACb,SAAS,IAAI;GACb,GAAI,IAAI,YAAY,UAAU,OAAO,IAAI,IAAI,GAAG,GAAG,EAAE,cAAc,OAAO,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE;GAC5F;GACA;CAGF,MAAM,SAA+B,EAAE;CACvC,MAAM,+BAAe,IAAI,KAAa;AACtC,MAAK,MAAM,OAAO,SAAS,SAC1B,MAAK,MAAM,SAAS,IAAI,WAAW,QAAQ;EAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,GAAG,GAAG,MAAM;AAC/C,MAAI,aAAa,IAAI,SAAS,CAAE;AAChC,eAAa,IAAI,SAAS;AAC1B,SAAO,KAAK;GACX,IAAI;GACJ,MAAM,MAAM;GACZ,MAAM,mBAAmB,MAAM,QAAQ;GACvC,YAAY,CAAC,IAAI,WAAW,GAAG;GAC/B,CAAC;;CAIJ,MAAM,aAAa,OAAO;CAE1B,MAAM,WAA0B;EAC/B,eAAe;EACf,8BAAa,IAAI,MAAM,EAAC,aAAa;EACrC,aAAa,MAAM;EACnB,YAAY,MAAM;EAClB,gBAAgB,MAAM;EACtB,UAAU,MAAM;EAChB,OAAO,MAAM;EACb,QAAQ,MAAM;EACd;EACA;EACA,UAAU;GACT,cAAc,SAAS,SAAS;GAChC;GACA,mBAAmB,SAAS;GAC5B;EACD;AAED,QAAO,EACN,uBAAuB,KAAK,UAAU,UAAU,MAAM,EAAE,EACxD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/generators/traefik.ts
|
|
4
|
+
/**
|
|
5
|
+
* Generates Traefik configuration: a static config YAML file and per-service
|
|
6
|
+
* Docker labels for automatic service discovery and reverse proxy routing.
|
|
7
|
+
*
|
|
8
|
+
* @param resolved - The resolved service configuration
|
|
9
|
+
* @param domain - The main domain for routing (e.g. "example.com")
|
|
10
|
+
* @returns Static config content and a map of serviceId → Docker labels
|
|
11
|
+
*/
|
|
12
|
+
function generateTraefikConfig(resolved, domain) {
|
|
13
|
+
const staticConfig = generateStaticConfig(domain);
|
|
14
|
+
const serviceLabels = /* @__PURE__ */ new Map();
|
|
15
|
+
for (const { definition } of resolved.services) {
|
|
16
|
+
if (definition.id === "traefik" || definition.id === "caddy") continue;
|
|
17
|
+
const exposedPorts = definition.ports.filter((p) => p.exposed);
|
|
18
|
+
if (exposedPorts.length === 0) continue;
|
|
19
|
+
const primaryPort = exposedPorts[0];
|
|
20
|
+
const routerName = definition.id.replace(/-/g, "");
|
|
21
|
+
const labels = {
|
|
22
|
+
"traefik.enable": "true",
|
|
23
|
+
[`traefik.http.routers.${routerName}.rule`]: `Host(\`${definition.id}.${domain}\`)`,
|
|
24
|
+
[`traefik.http.routers.${routerName}.entrypoints`]: "websecure",
|
|
25
|
+
[`traefik.http.routers.${routerName}.tls.certresolver`]: "letsencrypt",
|
|
26
|
+
[`traefik.http.services.${routerName}.loadbalancer.server.port`]: String(primaryPort.container),
|
|
27
|
+
[`traefik.http.routers.${routerName}-http.rule`]: `Host(\`${definition.id}.${domain}\`)`,
|
|
28
|
+
[`traefik.http.routers.${routerName}-http.entrypoints`]: "web",
|
|
29
|
+
[`traefik.http.routers.${routerName}-http.middlewares`]: "redirect-to-https"
|
|
30
|
+
};
|
|
31
|
+
serviceLabels.set(definition.id, labels);
|
|
32
|
+
}
|
|
33
|
+
serviceLabels.set("openclaw-gateway", {
|
|
34
|
+
"traefik.enable": "true",
|
|
35
|
+
"traefik.http.routers.gateway.rule": `Host(\`${domain}\`)`,
|
|
36
|
+
"traefik.http.routers.gateway.entrypoints": "websecure",
|
|
37
|
+
"traefik.http.routers.gateway.tls.certresolver": "letsencrypt",
|
|
38
|
+
"traefik.http.services.gateway.loadbalancer.server.port": "18789",
|
|
39
|
+
"traefik.http.routers.gateway-http.rule": `Host(\`${domain}\`)`,
|
|
40
|
+
"traefik.http.routers.gateway-http.entrypoints": "web",
|
|
41
|
+
"traefik.http.routers.gateway-http.middlewares": "redirect-to-https"
|
|
42
|
+
});
|
|
43
|
+
serviceLabels.set("traefik", {
|
|
44
|
+
"traefik.enable": "true",
|
|
45
|
+
"traefik.http.middlewares.redirect-to-https.redirectscheme.scheme": "https",
|
|
46
|
+
"traefik.http.middlewares.redirect-to-https.redirectscheme.permanent": "true"
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
staticConfig,
|
|
50
|
+
serviceLabels
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function generateStaticConfig(domain) {
|
|
54
|
+
return `# Traefik Static Configuration — Auto-generated by OpenClaw
|
|
55
|
+
# Domain: ${domain}
|
|
56
|
+
|
|
57
|
+
api:
|
|
58
|
+
dashboard: true
|
|
59
|
+
insecure: true
|
|
60
|
+
|
|
61
|
+
entryPoints:
|
|
62
|
+
web:
|
|
63
|
+
address: ":80"
|
|
64
|
+
websecure:
|
|
65
|
+
address: ":443"
|
|
66
|
+
|
|
67
|
+
providers:
|
|
68
|
+
docker:
|
|
69
|
+
endpoint: "unix:///var/run/docker.sock"
|
|
70
|
+
exposedByDefault: false
|
|
71
|
+
network: openclaw-network
|
|
72
|
+
|
|
73
|
+
certificatesResolvers:
|
|
74
|
+
letsencrypt:
|
|
75
|
+
acme:
|
|
76
|
+
email: admin@${domain}
|
|
77
|
+
storage: /letsencrypt/acme.json
|
|
78
|
+
httpChallenge:
|
|
79
|
+
entryPoint: web
|
|
80
|
+
|
|
81
|
+
log:
|
|
82
|
+
level: INFO
|
|
83
|
+
`;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//#endregion
|
|
87
|
+
exports.generateTraefikConfig = generateTraefikConfig;
|
|
88
|
+
//# sourceMappingURL=traefik.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traefik.cjs","names":[],"sources":["../../src/generators/traefik.ts"],"sourcesContent":["import type { ResolverOutput } from \"../types.js\";\n\nexport interface TraefikGeneratorOutput {\n\tstaticConfig: string;\n\tserviceLabels: Map<string, Record<string, string>>;\n}\n\n/**\n * Generates Traefik configuration: a static config YAML file and per-service\n * Docker labels for automatic service discovery and reverse proxy routing.\n *\n * @param resolved - The resolved service configuration\n * @param domain - The main domain for routing (e.g. \"example.com\")\n * @returns Static config content and a map of serviceId → Docker labels\n */\nexport function generateTraefikConfig(\n\tresolved: ResolverOutput,\n\tdomain: string,\n): TraefikGeneratorOutput {\n\tconst staticConfig = generateStaticConfig(domain);\n\tconst serviceLabels = new Map<string, Record<string, string>>();\n\n\t// Per-service labels for exposed ports\n\tfor (const { definition } of resolved.services) {\n\t\tif (definition.id === \"traefik\" || definition.id === \"caddy\") continue;\n\n\t\tconst exposedPorts = definition.ports.filter((p) => p.exposed);\n\t\tif (exposedPorts.length === 0) continue;\n\n\t\tconst primaryPort = exposedPorts[0]!;\n\t\tconst routerName = definition.id.replace(/-/g, \"\");\n\n\t\tconst labels: Record<string, string> = {\n\t\t\t\"traefik.enable\": \"true\",\n\t\t\t// HTTPS router\n\t\t\t[`traefik.http.routers.${routerName}.rule`]: `Host(\\`${definition.id}.${domain}\\`)`,\n\t\t\t[`traefik.http.routers.${routerName}.entrypoints`]: \"websecure\",\n\t\t\t[`traefik.http.routers.${routerName}.tls.certresolver`]: \"letsencrypt\",\n\t\t\t[`traefik.http.services.${routerName}.loadbalancer.server.port`]: String(\n\t\t\t\tprimaryPort.container,\n\t\t\t),\n\t\t\t// HTTP → HTTPS redirect\n\t\t\t[`traefik.http.routers.${routerName}-http.rule`]: `Host(\\`${definition.id}.${domain}\\`)`,\n\t\t\t[`traefik.http.routers.${routerName}-http.entrypoints`]: \"web\",\n\t\t\t[`traefik.http.routers.${routerName}-http.middlewares`]: \"redirect-to-https\",\n\t\t};\n\n\t\tserviceLabels.set(definition.id, labels);\n\t}\n\n\t// Gateway gets the root domain\n\tserviceLabels.set(\"openclaw-gateway\", {\n\t\t\"traefik.enable\": \"true\",\n\t\t\"traefik.http.routers.gateway.rule\": `Host(\\`${domain}\\`)`,\n\t\t\"traefik.http.routers.gateway.entrypoints\": \"websecure\",\n\t\t\"traefik.http.routers.gateway.tls.certresolver\": \"letsencrypt\",\n\t\t\"traefik.http.services.gateway.loadbalancer.server.port\": \"18789\",\n\t\t\"traefik.http.routers.gateway-http.rule\": `Host(\\`${domain}\\`)`,\n\t\t\"traefik.http.routers.gateway-http.entrypoints\": \"web\",\n\t\t\"traefik.http.routers.gateway-http.middlewares\": \"redirect-to-https\",\n\t});\n\n\t// Global redirect middleware on the Traefik service itself\n\tserviceLabels.set(\"traefik\", {\n\t\t\"traefik.enable\": \"true\",\n\t\t\"traefik.http.middlewares.redirect-to-https.redirectscheme.scheme\": \"https\",\n\t\t\"traefik.http.middlewares.redirect-to-https.redirectscheme.permanent\": \"true\",\n\t});\n\n\treturn { staticConfig, serviceLabels };\n}\n\nfunction generateStaticConfig(domain: string): string {\n\treturn `# Traefik Static Configuration — Auto-generated by OpenClaw\n# Domain: ${domain}\n\napi:\n dashboard: true\n insecure: true\n\nentryPoints:\n web:\n address: \":80\"\n websecure:\n address: \":443\"\n\nproviders:\n docker:\n endpoint: \"unix:///var/run/docker.sock\"\n exposedByDefault: false\n network: openclaw-network\n\ncertificatesResolvers:\n letsencrypt:\n acme:\n email: admin@${domain}\n storage: /letsencrypt/acme.json\n httpChallenge:\n entryPoint: web\n\nlog:\n level: INFO\n`;\n}\n"],"mappings":";;;;;;;;;;;AAeA,SAAgB,sBACf,UACA,QACyB;CACzB,MAAM,eAAe,qBAAqB,OAAO;CACjD,MAAM,gCAAgB,IAAI,KAAqC;AAG/D,MAAK,MAAM,EAAE,gBAAgB,SAAS,UAAU;AAC/C,MAAI,WAAW,OAAO,aAAa,WAAW,OAAO,QAAS;EAE9D,MAAM,eAAe,WAAW,MAAM,QAAQ,MAAM,EAAE,QAAQ;AAC9D,MAAI,aAAa,WAAW,EAAG;EAE/B,MAAM,cAAc,aAAa;EACjC,MAAM,aAAa,WAAW,GAAG,QAAQ,MAAM,GAAG;EAElD,MAAM,SAAiC;GACtC,kBAAkB;IAEjB,wBAAwB,WAAW,SAAS,UAAU,WAAW,GAAG,GAAG,OAAO;IAC9E,wBAAwB,WAAW,gBAAgB;IACnD,wBAAwB,WAAW,qBAAqB;IACxD,yBAAyB,WAAW,6BAA6B,OACjE,YAAY,UACZ;IAEA,wBAAwB,WAAW,cAAc,UAAU,WAAW,GAAG,GAAG,OAAO;IACnF,wBAAwB,WAAW,qBAAqB;IACxD,wBAAwB,WAAW,qBAAqB;GACzD;AAED,gBAAc,IAAI,WAAW,IAAI,OAAO;;AAIzC,eAAc,IAAI,oBAAoB;EACrC,kBAAkB;EAClB,qCAAqC,UAAU,OAAO;EACtD,4CAA4C;EAC5C,iDAAiD;EACjD,0DAA0D;EAC1D,0CAA0C,UAAU,OAAO;EAC3D,iDAAiD;EACjD,iDAAiD;EACjD,CAAC;AAGF,eAAc,IAAI,WAAW;EAC5B,kBAAkB;EAClB,oEAAoE;EACpE,uEAAuE;EACvE,CAAC;AAEF,QAAO;EAAE;EAAc;EAAe;;AAGvC,SAAS,qBAAqB,QAAwB;AACrD,QAAO;YACI,OAAO;;;;;;;;;;;;;;;;;;;;;qBAqBE,OAAO"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ResolverOutput } from "../types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/generators/traefik.d.ts
|
|
4
|
+
interface TraefikGeneratorOutput {
|
|
5
|
+
staticConfig: string;
|
|
6
|
+
serviceLabels: Map<string, Record<string, string>>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Generates Traefik configuration: a static config YAML file and per-service
|
|
10
|
+
* Docker labels for automatic service discovery and reverse proxy routing.
|
|
11
|
+
*
|
|
12
|
+
* @param resolved - The resolved service configuration
|
|
13
|
+
* @param domain - The main domain for routing (e.g. "example.com")
|
|
14
|
+
* @returns Static config content and a map of serviceId → Docker labels
|
|
15
|
+
*/
|
|
16
|
+
declare function generateTraefikConfig(resolved: ResolverOutput, domain: string): TraefikGeneratorOutput;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { TraefikGeneratorOutput, generateTraefikConfig };
|
|
19
|
+
//# sourceMappingURL=traefik.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traefik.d.cts","names":[],"sources":["../../src/generators/traefik.ts"],"mappings":";;;UAEiB,sBAAA;EAChB,YAAA;EACA,aAAA,EAAe,GAAA,SAAY,MAAA;AAAA;;;;;;;;;iBAWZ,qBAAA,CACf,QAAA,EAAU,cAAA,EACV,MAAA,WACE,sBAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const require_vi_2VT5v0um = require('../vi.2VT5v0um-BmRMvymT.cjs');
|
|
2
|
+
const require_resolver = require('../resolver.cjs');
|
|
3
|
+
const require_generators_traefik = require('./traefik.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/generators/traefik.test.ts
|
|
6
|
+
function resolveWith(services) {
|
|
7
|
+
return require_resolver.resolve({
|
|
8
|
+
services,
|
|
9
|
+
skillPacks: [],
|
|
10
|
+
proxy: "traefik",
|
|
11
|
+
gpu: false
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
require_vi_2VT5v0um.describe("generateTraefikConfig", () => {
|
|
15
|
+
const domain = "example.com";
|
|
16
|
+
require_vi_2VT5v0um.it("generates static config with domain email and entrypoints", () => {
|
|
17
|
+
const { staticConfig } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
|
|
18
|
+
require_vi_2VT5v0um.globalExpect(staticConfig).toContain("admin@example.com");
|
|
19
|
+
require_vi_2VT5v0um.globalExpect(staticConfig).toContain("address: \":80\"");
|
|
20
|
+
require_vi_2VT5v0um.globalExpect(staticConfig).toContain("address: \":443\"");
|
|
21
|
+
require_vi_2VT5v0um.globalExpect(staticConfig).toContain("exposedByDefault: false");
|
|
22
|
+
require_vi_2VT5v0um.globalExpect(staticConfig).toContain("openclaw-network");
|
|
23
|
+
});
|
|
24
|
+
require_vi_2VT5v0um.it("generates labels for services with exposed ports", () => {
|
|
25
|
+
const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
|
|
26
|
+
const redisLabels = serviceLabels.get("redis");
|
|
27
|
+
require_vi_2VT5v0um.globalExpect(redisLabels).toBeDefined();
|
|
28
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.enable"]).toBe("true");
|
|
29
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis.rule"]).toBe("Host(`redis.example.com`)");
|
|
30
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis.entrypoints"]).toBe("websecure");
|
|
31
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis.tls.certresolver"]).toBe("letsencrypt");
|
|
32
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.services.redis.loadbalancer.server.port"]).toBe("6379");
|
|
33
|
+
});
|
|
34
|
+
require_vi_2VT5v0um.it("generates HTTP to HTTPS redirect labels", () => {
|
|
35
|
+
const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
|
|
36
|
+
const redisLabels = serviceLabels.get("redis");
|
|
37
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis-http.entrypoints"]).toBe("web");
|
|
38
|
+
require_vi_2VT5v0um.globalExpect(redisLabels["traefik.http.routers.redis-http.middlewares"]).toBe("redirect-to-https");
|
|
39
|
+
});
|
|
40
|
+
require_vi_2VT5v0um.it("assigns root domain to gateway", () => {
|
|
41
|
+
const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
|
|
42
|
+
const gwLabels = serviceLabels.get("openclaw-gateway");
|
|
43
|
+
require_vi_2VT5v0um.globalExpect(gwLabels).toBeDefined();
|
|
44
|
+
require_vi_2VT5v0um.globalExpect(gwLabels["traefik.http.routers.gateway.rule"]).toBe("Host(`example.com`)");
|
|
45
|
+
require_vi_2VT5v0um.globalExpect(gwLabels["traefik.http.services.gateway.loadbalancer.server.port"]).toBe("18789");
|
|
46
|
+
});
|
|
47
|
+
require_vi_2VT5v0um.it("adds global redirect middleware on traefik service", () => {
|
|
48
|
+
const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis"]), domain);
|
|
49
|
+
const traefikLabels = serviceLabels.get("traefik");
|
|
50
|
+
require_vi_2VT5v0um.globalExpect(traefikLabels).toBeDefined();
|
|
51
|
+
require_vi_2VT5v0um.globalExpect(traefikLabels["traefik.http.middlewares.redirect-to-https.redirectscheme.scheme"]).toBe("https");
|
|
52
|
+
require_vi_2VT5v0um.globalExpect(traefikLabels["traefik.http.middlewares.redirect-to-https.redirectscheme.permanent"]).toBe("true");
|
|
53
|
+
});
|
|
54
|
+
require_vi_2VT5v0um.it("skips proxy services and services without exposed ports", () => {
|
|
55
|
+
const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["redis", "ffmpeg"]), domain);
|
|
56
|
+
require_vi_2VT5v0um.globalExpect(serviceLabels.has("ffmpeg")).toBe(false);
|
|
57
|
+
require_vi_2VT5v0um.globalExpect(serviceLabels.get("traefik")["traefik.http.routers.traefik.rule"]).toBeUndefined();
|
|
58
|
+
});
|
|
59
|
+
require_vi_2VT5v0um.it("sanitizes service names with hyphens in router names", () => {
|
|
60
|
+
const { serviceLabels } = require_generators_traefik.generateTraefikConfig(resolveWith(["open-webui"]), domain);
|
|
61
|
+
const labels = serviceLabels.get("open-webui");
|
|
62
|
+
require_vi_2VT5v0um.globalExpect(labels).toBeDefined();
|
|
63
|
+
require_vi_2VT5v0um.globalExpect(labels["traefik.http.routers.openwebui.rule"]).toBe("Host(`open-webui.example.com`)");
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
//# sourceMappingURL=traefik.test.cjs.map
|
|
@@ -0,0 +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,yBAAQ;EAAE;EAAU,YAAY,EAAE;EAAE,OAAO;EAAW,KAAK;EAAO,CAAC;;AAG3EC,6BAAS,+BAA+B;CACvC,MAAM,SAAS;AAEf,wBAAG,mEAAmE;EAErE,MAAM,EAAE,iBAAiBC,iDADR,YAAY,CAAC,QAAQ,CAAC,EACkB,OAAO;AAEhE,mCAAO,aAAa,CAAC,UAAU,oBAAoB;AACnD,mCAAO,aAAa,CAAC,UAAU,mBAAiB;AAChD,mCAAO,aAAa,CAAC,UAAU,oBAAkB;AACjD,mCAAO,aAAa,CAAC,UAAU,0BAA0B;AACzD,mCAAO,aAAa,CAAC,UAAU,mBAAmB;GACjD;AAEF,wBAAG,0DAA0D;EAE5D,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,mCAAO,YAAY,CAAC,aAAa;AACjC,mCAAO,YAAa,kBAAkB,CAAC,KAAK,OAAO;AACnD,mCAAO,YAAa,mCAAmC,CAAC,KAAK,4BAA4B;AACzF,mCAAO,YAAa,0CAA0C,CAAC,KAAK,YAAY;AAChF,mCAAO,YAAa,+CAA+C,CAAC,KAAK,cAAc;AACvF,mCAAO,YAAa,wDAAwD,CAAC,KAAK,OAAO;GACxF;AAEF,wBAAG,iDAAiD;EAEnD,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,cAAc,cAAc,IAAI,QAAQ;AAC9C,mCAAO,YAAY,+CAA+C,CAAC,KAAK,MAAM;AAC9E,mCAAO,YAAY,+CAA+C,CAAC,KAAK,oBAAoB;GAC3F;AAEF,wBAAG,wCAAwC;EAE1C,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,WAAW,cAAc,IAAI,mBAAmB;AACtD,mCAAO,SAAS,CAAC,aAAa;AAC9B,mCAAO,SAAU,qCAAqC,CAAC,KAAK,sBAAsB;AAClF,mCAAO,SAAU,0DAA0D,CAAC,KAAK,QAAQ;GACxF;AAEF,wBAAG,4DAA4D;EAE9D,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,QAAQ,CAAC,EACmB,OAAO;EAEjE,MAAM,gBAAgB,cAAc,IAAI,UAAU;AAClD,mCAAO,cAAc,CAAC,aAAa;AACnC,mCAAO,cAAe,oEAAoE,CAAC,KAC1F,QACA;AACD,mCACC,cAAe,uEACf,CAAC,KAAK,OAAO;GACb;AAEF,wBAAG,iEAAiE;EAEnE,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,SAAS,SAAS,CAAC,EACS,OAAO;AAGjE,mCAAO,cAAc,IAAI,SAAS,CAAC,CAAC,KAAK,MAAM;AAE/C,mCAAO,cAAc,IAAI,UAAU,CAAE,qCAAqC,CAAC,eAAe;GACzF;AAEF,wBAAG,8DAA8D;EAEhE,MAAM,EAAE,kBAAkBA,iDADT,YAAY,CAAC,aAAa,CAAC,EACc,OAAO;EAEjE,MAAM,SAAS,cAAc,IAAI,aAAa;AAC9C,mCAAO,OAAO,CAAC,aAAa;AAE5B,mCAAO,OAAQ,uCAAuC,CAAC,KAAK,iCAAiC;GAC5F;EACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-
|
|
1
|
+
import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-CFyDIn0m.mjs";
|
|
2
2
|
import { resolve } from "../resolver.mjs";
|
|
3
3
|
import { generateTraefikConfig } from "./traefik.mjs";
|
|
4
4
|
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_bare_metal_partition = require('./bare-metal-partition.cjs');
|
|
3
|
+
const require_services_registry = require('./services/registry.cjs');
|
|
4
|
+
const require_skills_registry = require('./skills/registry.cjs');
|
|
5
|
+
const require_resolver = require('./resolver.cjs');
|
|
6
|
+
const require_generators_postgres_init = require('./generators/postgres-init.cjs');
|
|
7
|
+
const require_composer = require('./composer.cjs');
|
|
8
|
+
const require_errors = require('./errors.cjs');
|
|
9
|
+
const require_generators_caddy = require('./generators/caddy.cjs');
|
|
10
|
+
const require_generators_env = require('./generators/env.cjs');
|
|
11
|
+
const require_generators_grafana = require('./generators/grafana.cjs');
|
|
12
|
+
const require_generators_health_check = require('./generators/health-check.cjs');
|
|
13
|
+
const require_generators_n8n_workflows = require('./generators/n8n-workflows.cjs');
|
|
14
|
+
const require_generators_prometheus = require('./generators/prometheus.cjs');
|
|
15
|
+
const require_generators_readme = require('./generators/readme.cjs');
|
|
16
|
+
const require_generators_scripts = require('./generators/scripts.cjs');
|
|
17
|
+
const require_generators_skills = require('./generators/skills.cjs');
|
|
18
|
+
const require_generators_stack_manifest = require('./generators/stack-manifest.cjs');
|
|
19
|
+
const require_migrations = require('./migrations.cjs');
|
|
20
|
+
const require_validator = require('./validator.cjs');
|
|
21
|
+
const require_generate = require('./generate.cjs');
|
|
22
|
+
const require_presets_registry = require('./presets/registry.cjs');
|
|
23
|
+
const require_deployers_coolify = require('./deployers/coolify.cjs');
|
|
24
|
+
const require_deployers_dokploy = require('./deployers/dokploy.cjs');
|
|
25
|
+
const require_deployers_index = require('./deployers/index.cjs');
|
|
26
|
+
const require_port_scanner = require('./port-scanner.cjs');
|
|
27
|
+
const require_schema = require('./schema.cjs');
|
|
28
|
+
const require_skills_skill_manifest = require('./skills/skill-manifest.cjs');
|
|
29
|
+
const require_types = require('./types.cjs');
|
|
30
|
+
const require_version_manager = require('./version-manager.cjs');
|
|
31
|
+
|
|
32
|
+
exports.AddedDependencySchema = require_schema.AddedDependencySchema;
|
|
33
|
+
exports.ApiErrorSchema = require_schema.ApiErrorSchema;
|
|
34
|
+
exports.CURRENT_CONFIG_VERSION = require_migrations.CURRENT_CONFIG_VERSION;
|
|
35
|
+
exports.ComposeOptionsSchema = require_schema.ComposeOptionsSchema;
|
|
36
|
+
exports.CoolifyDeployer = require_deployers_coolify.CoolifyDeployer;
|
|
37
|
+
exports.DeploySchema = require_schema.DeploySchema;
|
|
38
|
+
exports.DeployTargetSchema = require_schema.DeployTargetSchema;
|
|
39
|
+
exports.DeploymentTargetSchema = require_schema.DeploymentTargetSchema;
|
|
40
|
+
exports.DeploymentTypeSchema = require_schema.DeploymentTypeSchema;
|
|
41
|
+
exports.DokployDeployer = require_deployers_dokploy.DokployDeployer;
|
|
42
|
+
exports.EnvVariableSchema = require_schema.EnvVariableSchema;
|
|
43
|
+
exports.ErrorSchema = require_schema.ErrorSchema;
|
|
44
|
+
exports.GenerationInputSchema = require_schema.GenerationInputSchema;
|
|
45
|
+
exports.HealthCheckSchema = require_schema.HealthCheckSchema;
|
|
46
|
+
exports.MaturitySchema = require_schema.MaturitySchema;
|
|
47
|
+
exports.NativePlatformSchema = require_schema.NativePlatformSchema;
|
|
48
|
+
exports.NativeRecipeSchema = require_schema.NativeRecipeSchema;
|
|
49
|
+
exports.OpenclawImageVariantSchema = require_schema.OpenclawImageVariantSchema;
|
|
50
|
+
exports.OpenclawInstallMethodSchema = require_schema.OpenclawInstallMethodSchema;
|
|
51
|
+
exports.OutputFormatSchema = require_schema.OutputFormatSchema;
|
|
52
|
+
exports.PlatformSchema = require_schema.PlatformSchema;
|
|
53
|
+
exports.PortMappingSchema = require_schema.PortMappingSchema;
|
|
54
|
+
exports.PresetSchema = require_schema.PresetSchema;
|
|
55
|
+
exports.ProxyTypeSchema = require_schema.ProxyTypeSchema;
|
|
56
|
+
exports.ResolvedServiceSchema = require_schema.ResolvedServiceSchema;
|
|
57
|
+
exports.ResolverOutputSchema = require_schema.ResolverOutputSchema;
|
|
58
|
+
exports.ResourceLimitsSchema = require_schema.ResourceLimitsSchema;
|
|
59
|
+
exports.RestartPolicySchema = require_schema.RestartPolicySchema;
|
|
60
|
+
exports.SERVICE_CATEGORIES = require_types.SERVICE_CATEGORIES;
|
|
61
|
+
exports.ServiceCategorySchema = require_schema.ServiceCategorySchema;
|
|
62
|
+
exports.ServiceDefinitionSchema = require_schema.ServiceDefinitionSchema;
|
|
63
|
+
exports.SkillBindingSchema = require_schema.SkillBindingSchema;
|
|
64
|
+
exports.SkillPackSchema = require_schema.SkillPackSchema;
|
|
65
|
+
exports.StackConfigError = require_errors.StackConfigError;
|
|
66
|
+
exports.ValidateRequestSchema = require_schema.ValidateRequestSchema;
|
|
67
|
+
exports.ValidateResponseSchema = require_schema.ValidateResponseSchema;
|
|
68
|
+
exports.ValidationError = require_errors.ValidationError;
|
|
69
|
+
exports.VolumeMappingSchema = require_schema.VolumeMappingSchema;
|
|
70
|
+
exports.WarningSchema = require_schema.WarningSchema;
|
|
71
|
+
exports.checkCompatibility = require_version_manager.checkCompatibility;
|
|
72
|
+
exports.compose = require_composer.compose;
|
|
73
|
+
exports.composeMultiFile = require_composer.composeMultiFile;
|
|
74
|
+
exports.deployerRegistry = require_deployers_index.deployerRegistry;
|
|
75
|
+
exports.formatPortConflicts = require_port_scanner.formatPortConflicts;
|
|
76
|
+
exports.generate = require_generate.generate;
|
|
77
|
+
exports.generateCaddyfile = require_generators_caddy.generateCaddyfile;
|
|
78
|
+
exports.generateEnvFiles = require_generators_env.generateEnvFiles;
|
|
79
|
+
exports.generateGrafanaConfig = require_generators_grafana.generateGrafanaConfig;
|
|
80
|
+
exports.generateGrafanaDashboard = require_generators_grafana.generateGrafanaDashboard;
|
|
81
|
+
exports.generateHealthCheck = require_generators_health_check.generateHealthCheck;
|
|
82
|
+
exports.generateN8nWorkflows = require_generators_n8n_workflows.generateN8nWorkflows;
|
|
83
|
+
exports.generatePostgresInit = require_generators_postgres_init.generatePostgresInit;
|
|
84
|
+
exports.generatePrometheusConfig = require_generators_prometheus.generatePrometheusConfig;
|
|
85
|
+
exports.generateReadme = require_generators_readme.generateReadme;
|
|
86
|
+
exports.generateScripts = require_generators_scripts.generateScripts;
|
|
87
|
+
exports.generateServicesDoc = require_generate.generateServicesDoc;
|
|
88
|
+
exports.generateSkillFiles = require_generators_skills.generateSkillFiles;
|
|
89
|
+
exports.generateStackManifest = require_generators_stack_manifest.generateStackManifest;
|
|
90
|
+
exports.getAllManifestSkills = require_skills_skill_manifest.getAllManifestSkills;
|
|
91
|
+
exports.getAllPresets = require_presets_registry.getAllPresets;
|
|
92
|
+
exports.getAllServices = require_services_registry.getAllServices;
|
|
93
|
+
exports.getAllSkillPacks = require_skills_registry.getAllSkillPacks;
|
|
94
|
+
exports.getAvailableDeployers = require_deployers_index.getAvailableDeployers;
|
|
95
|
+
exports.getCompatibleSkillPacks = require_skills_registry.getCompatibleSkillPacks;
|
|
96
|
+
exports.getDbRequirements = require_generators_postgres_init.getDbRequirements;
|
|
97
|
+
exports.getDeployer = require_deployers_index.getDeployer;
|
|
98
|
+
exports.getImageReference = require_version_manager.getImageReference;
|
|
99
|
+
exports.getImageTag = require_version_manager.getImageTag;
|
|
100
|
+
exports.getManifestSkillById = require_skills_skill_manifest.getManifestSkillById;
|
|
101
|
+
exports.getManifestSkillCount = require_skills_skill_manifest.getManifestSkillCount;
|
|
102
|
+
exports.getPresetById = require_presets_registry.getPresetById;
|
|
103
|
+
exports.getServiceById = require_services_registry.getServiceById;
|
|
104
|
+
exports.getServicesByCategory = require_services_registry.getServicesByCategory;
|
|
105
|
+
exports.getSkillPackById = require_skills_registry.getSkillPackById;
|
|
106
|
+
exports.getStructuredEnvVars = require_generators_env.getStructuredEnvVars;
|
|
107
|
+
exports.migrateConfig = require_migrations.migrateConfig;
|
|
108
|
+
exports.needsMigration = require_migrations.needsMigration;
|
|
109
|
+
exports.partitionBareMetal = require_bare_metal_partition.partitionBareMetal;
|
|
110
|
+
exports.pinImageTags = require_version_manager.pinImageTags;
|
|
111
|
+
exports.platformToNativePlatform = require_bare_metal_partition.platformToNativePlatform;
|
|
112
|
+
exports.presetRegistry = require_presets_registry.presetRegistry;
|
|
113
|
+
exports.resolve = require_resolver.resolve;
|
|
114
|
+
exports.resolvedWithOnlyServices = require_bare_metal_partition.resolvedWithOnlyServices;
|
|
115
|
+
exports.scanPortConflicts = require_port_scanner.scanPortConflicts;
|
|
116
|
+
exports.serviceRegistry = require_services_registry.serviceRegistry;
|
|
117
|
+
exports.skillPackRegistry = require_skills_registry.skillPackRegistry;
|
|
118
|
+
exports.validate = require_validator.validate;
|