@better-openclaw/core 1.0.0
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/.turbo/turbo-build.log +4 -0
- package/.turbo/turbo-lint.log +360 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/dist/bare-metal-partition.d.ts +22 -0
- package/dist/bare-metal-partition.d.ts.map +1 -0
- package/dist/bare-metal-partition.js +49 -0
- package/dist/bare-metal-partition.js.map +1 -0
- package/dist/composer.d.ts +17 -0
- package/dist/composer.d.ts.map +1 -0
- package/dist/composer.js +305 -0
- package/dist/composer.js.map +1 -0
- package/dist/generate.d.ts +7 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +218 -0
- package/dist/generate.js.map +1 -0
- package/dist/generators/bare-metal-install.d.ts +18 -0
- package/dist/generators/bare-metal-install.d.ts.map +1 -0
- package/dist/generators/bare-metal-install.js +228 -0
- package/dist/generators/bare-metal-install.js.map +1 -0
- package/dist/generators/caddy.d.ts +13 -0
- package/dist/generators/caddy.d.ts.map +1 -0
- package/dist/generators/caddy.js +85 -0
- package/dist/generators/caddy.js.map +1 -0
- package/dist/generators/env.d.ts +42 -0
- package/dist/generators/env.d.ts.map +1 -0
- package/dist/generators/env.js +276 -0
- package/dist/generators/env.js.map +1 -0
- package/dist/generators/grafana.d.ts +19 -0
- package/dist/generators/grafana.d.ts.map +1 -0
- package/dist/generators/grafana.js +247 -0
- package/dist/generators/grafana.js.map +1 -0
- package/dist/generators/n8n-workflows.d.ts +7 -0
- package/dist/generators/n8n-workflows.d.ts.map +1 -0
- package/dist/generators/n8n-workflows.js +78 -0
- package/dist/generators/n8n-workflows.js.map +1 -0
- package/dist/generators/native-services.d.ts +13 -0
- package/dist/generators/native-services.d.ts.map +1 -0
- package/dist/generators/native-services.js +85 -0
- package/dist/generators/native-services.js.map +1 -0
- package/dist/generators/postgres-init.d.ts +27 -0
- package/dist/generators/postgres-init.d.ts.map +1 -0
- package/dist/generators/postgres-init.js +119 -0
- package/dist/generators/postgres-init.js.map +1 -0
- package/dist/generators/prometheus.d.ts +10 -0
- package/dist/generators/prometheus.d.ts.map +1 -0
- package/dist/generators/prometheus.js +79 -0
- package/dist/generators/prometheus.js.map +1 -0
- package/dist/generators/readme.d.ts +21 -0
- package/dist/generators/readme.d.ts.map +1 -0
- package/dist/generators/readme.js +224 -0
- package/dist/generators/readme.js.map +1 -0
- package/dist/generators/scripts.d.ts +7 -0
- package/dist/generators/scripts.d.ts.map +1 -0
- package/dist/generators/scripts.js +352 -0
- package/dist/generators/scripts.js.map +1 -0
- package/dist/generators/skills.d.ts +10 -0
- package/dist/generators/skills.d.ts.map +1 -0
- package/dist/generators/skills.js +596 -0
- package/dist/generators/skills.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/presets/registry.d.ts +5 -0
- package/dist/presets/registry.d.ts.map +1 -0
- package/dist/presets/registry.js +121 -0
- package/dist/presets/registry.js.map +1 -0
- package/dist/resolver.d.ts +17 -0
- package/dist/resolver.d.ts.map +1 -0
- package/dist/resolver.js +254 -0
- package/dist/resolver.js.map +1 -0
- package/dist/schema.d.ts +2426 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +259 -0
- package/dist/schema.js.map +1 -0
- package/dist/services/definitions/anything-llm.d.ts +3 -0
- package/dist/services/definitions/anything-llm.d.ts.map +1 -0
- package/dist/services/definitions/anything-llm.js +39 -0
- package/dist/services/definitions/anything-llm.js.map +1 -0
- package/dist/services/definitions/appflowy.d.ts +3 -0
- package/dist/services/definitions/appflowy.d.ts.map +1 -0
- package/dist/services/definitions/appflowy.js +39 -0
- package/dist/services/definitions/appflowy.js.map +1 -0
- package/dist/services/definitions/beszel.d.ts +3 -0
- package/dist/services/definitions/beszel.d.ts.map +1 -0
- package/dist/services/definitions/beszel.js +39 -0
- package/dist/services/definitions/beszel.js.map +1 -0
- package/dist/services/definitions/browserless.d.ts +3 -0
- package/dist/services/definitions/browserless.d.ts.map +1 -0
- package/dist/services/definitions/browserless.js +77 -0
- package/dist/services/definitions/browserless.js.map +1 -0
- package/dist/services/definitions/caddy.d.ts +3 -0
- package/dist/services/definitions/caddy.d.ts.map +1 -0
- package/dist/services/definitions/caddy.js +50 -0
- package/dist/services/definitions/caddy.js.map +1 -0
- package/dist/services/definitions/chromadb.d.ts +3 -0
- package/dist/services/definitions/chromadb.d.ts.map +1 -0
- package/dist/services/definitions/chromadb.js +61 -0
- package/dist/services/definitions/chromadb.js.map +1 -0
- package/dist/services/definitions/claude-code.d.ts +3 -0
- package/dist/services/definitions/claude-code.d.ts.map +1 -0
- package/dist/services/definitions/claude-code.js +49 -0
- package/dist/services/definitions/claude-code.js.map +1 -0
- package/dist/services/definitions/code-server.d.ts +3 -0
- package/dist/services/definitions/code-server.d.ts.map +1 -0
- package/dist/services/definitions/code-server.js +61 -0
- package/dist/services/definitions/code-server.js.map +1 -0
- package/dist/services/definitions/codex.d.ts +3 -0
- package/dist/services/definitions/codex.d.ts.map +1 -0
- package/dist/services/definitions/codex.js +41 -0
- package/dist/services/definitions/codex.js.map +1 -0
- package/dist/services/definitions/coolify.d.ts +3 -0
- package/dist/services/definitions/coolify.d.ts.map +1 -0
- package/dist/services/definitions/coolify.js +44 -0
- package/dist/services/definitions/coolify.js.map +1 -0
- package/dist/services/definitions/dify.d.ts +3 -0
- package/dist/services/definitions/dify.d.ts.map +1 -0
- package/dist/services/definitions/dify.js +75 -0
- package/dist/services/definitions/dify.js.map +1 -0
- package/dist/services/definitions/docsgpt.d.ts +3 -0
- package/dist/services/definitions/docsgpt.d.ts.map +1 -0
- package/dist/services/definitions/docsgpt.js +39 -0
- package/dist/services/definitions/docsgpt.js.map +1 -0
- package/dist/services/definitions/dokploy.d.ts +3 -0
- package/dist/services/definitions/dokploy.d.ts.map +1 -0
- package/dist/services/definitions/dokploy.js +44 -0
- package/dist/services/definitions/dokploy.js.map +1 -0
- package/dist/services/definitions/dozzle.d.ts +3 -0
- package/dist/services/definitions/dozzle.d.ts.map +1 -0
- package/dist/services/definitions/dozzle.js +33 -0
- package/dist/services/definitions/dozzle.js.map +1 -0
- package/dist/services/definitions/ffmpeg.d.ts +3 -0
- package/dist/services/definitions/ffmpeg.d.ts.map +1 -0
- package/dist/services/definitions/ffmpeg.js +63 -0
- package/dist/services/definitions/ffmpeg.js.map +1 -0
- package/dist/services/definitions/flowise.d.ts +3 -0
- package/dist/services/definitions/flowise.d.ts.map +1 -0
- package/dist/services/definitions/flowise.js +39 -0
- package/dist/services/definitions/flowise.js.map +1 -0
- package/dist/services/definitions/gemini-cli.d.ts +3 -0
- package/dist/services/definitions/gemini-cli.d.ts.map +1 -0
- package/dist/services/definitions/gemini-cli.js +41 -0
- package/dist/services/definitions/gemini-cli.js.map +1 -0
- package/dist/services/definitions/gitea.d.ts +3 -0
- package/dist/services/definitions/gitea.d.ts.map +1 -0
- package/dist/services/definitions/gitea.js +45 -0
- package/dist/services/definitions/gitea.js.map +1 -0
- package/dist/services/definitions/gotify.d.ts +3 -0
- package/dist/services/definitions/gotify.d.ts.map +1 -0
- package/dist/services/definitions/gotify.js +60 -0
- package/dist/services/definitions/gotify.js.map +1 -0
- package/dist/services/definitions/grafana.d.ts +3 -0
- package/dist/services/definitions/grafana.d.ts.map +1 -0
- package/dist/services/definitions/grafana.js +61 -0
- package/dist/services/definitions/grafana.js.map +1 -0
- package/dist/services/definitions/index.d.ts +68 -0
- package/dist/services/definitions/index.d.ts.map +1 -0
- package/dist/services/definitions/index.js +198 -0
- package/dist/services/definitions/index.js.map +1 -0
- package/dist/services/definitions/kimi.d.ts +3 -0
- package/dist/services/definitions/kimi.d.ts.map +1 -0
- package/dist/services/definitions/kimi.js +41 -0
- package/dist/services/definitions/kimi.js.map +1 -0
- package/dist/services/definitions/lasuite-meet-agents.d.ts +3 -0
- package/dist/services/definitions/lasuite-meet-agents.d.ts.map +1 -0
- package/dist/services/definitions/lasuite-meet-agents.js +26 -0
- package/dist/services/definitions/lasuite-meet-agents.js.map +1 -0
- package/dist/services/definitions/lasuite-meet-backend.d.ts +3 -0
- package/dist/services/definitions/lasuite-meet-backend.d.ts.map +1 -0
- package/dist/services/definitions/lasuite-meet-backend.js +118 -0
- package/dist/services/definitions/lasuite-meet-backend.js.map +1 -0
- package/dist/services/definitions/lasuite-meet-frontend.d.ts +3 -0
- package/dist/services/definitions/lasuite-meet-frontend.d.ts.map +1 -0
- package/dist/services/definitions/lasuite-meet-frontend.js +31 -0
- package/dist/services/definitions/lasuite-meet-frontend.js.map +1 -0
- package/dist/services/definitions/librechat.d.ts +3 -0
- package/dist/services/definitions/librechat.d.ts.map +1 -0
- package/dist/services/definitions/librechat.js +47 -0
- package/dist/services/definitions/librechat.js.map +1 -0
- package/dist/services/definitions/lightpanda.d.ts +3 -0
- package/dist/services/definitions/lightpanda.d.ts.map +1 -0
- package/dist/services/definitions/lightpanda.js +59 -0
- package/dist/services/definitions/lightpanda.js.map +1 -0
- package/dist/services/definitions/litellm.d.ts +3 -0
- package/dist/services/definitions/litellm.d.ts.map +1 -0
- package/dist/services/definitions/litellm.js +41 -0
- package/dist/services/definitions/litellm.js.map +1 -0
- package/dist/services/definitions/livekit.d.ts +3 -0
- package/dist/services/definitions/livekit.d.ts.map +1 -0
- package/dist/services/definitions/livekit.js +31 -0
- package/dist/services/definitions/livekit.js.map +1 -0
- package/dist/services/definitions/matomo.d.ts +3 -0
- package/dist/services/definitions/matomo.d.ts.map +1 -0
- package/dist/services/definitions/matomo.js +75 -0
- package/dist/services/definitions/matomo.js.map +1 -0
- package/dist/services/definitions/matrix-synapse.d.ts +3 -0
- package/dist/services/definitions/matrix-synapse.d.ts.map +1 -0
- package/dist/services/definitions/matrix-synapse.js +82 -0
- package/dist/services/definitions/matrix-synapse.js.map +1 -0
- package/dist/services/definitions/mattermost.d.ts +3 -0
- package/dist/services/definitions/mattermost.d.ts.map +1 -0
- package/dist/services/definitions/mattermost.js +59 -0
- package/dist/services/definitions/mattermost.js.map +1 -0
- package/dist/services/definitions/meilisearch.d.ts +3 -0
- package/dist/services/definitions/meilisearch.d.ts.map +1 -0
- package/dist/services/definitions/meilisearch.js +76 -0
- package/dist/services/definitions/meilisearch.js.map +1 -0
- package/dist/services/definitions/minio.d.ts +3 -0
- package/dist/services/definitions/minio.d.ts.map +1 -0
- package/dist/services/definitions/minio.js +98 -0
- package/dist/services/definitions/minio.js.map +1 -0
- package/dist/services/definitions/mixpost.d.ts +3 -0
- package/dist/services/definitions/mixpost.d.ts.map +1 -0
- package/dist/services/definitions/mixpost.js +82 -0
- package/dist/services/definitions/mixpost.js.map +1 -0
- package/dist/services/definitions/motion-canvas.d.ts +3 -0
- package/dist/services/definitions/motion-canvas.d.ts.map +1 -0
- package/dist/services/definitions/motion-canvas.js +48 -0
- package/dist/services/definitions/motion-canvas.js.map +1 -0
- package/dist/services/definitions/n8n.d.ts +3 -0
- package/dist/services/definitions/n8n.d.ts.map +1 -0
- package/dist/services/definitions/n8n.js +146 -0
- package/dist/services/definitions/n8n.js.map +1 -0
- package/dist/services/definitions/nocodb.d.ts +3 -0
- package/dist/services/definitions/nocodb.d.ts.map +1 -0
- package/dist/services/definitions/nocodb.js +39 -0
- package/dist/services/definitions/nocodb.js.map +1 -0
- package/dist/services/definitions/ntfy.d.ts +3 -0
- package/dist/services/definitions/ntfy.d.ts.map +1 -0
- package/dist/services/definitions/ntfy.js +61 -0
- package/dist/services/definitions/ntfy.js.map +1 -0
- package/dist/services/definitions/ollama.d.ts +3 -0
- package/dist/services/definitions/ollama.d.ts.map +1 -0
- package/dist/services/definitions/ollama.js +61 -0
- package/dist/services/definitions/ollama.js.map +1 -0
- package/dist/services/definitions/open-webui.d.ts +3 -0
- package/dist/services/definitions/open-webui.d.ts.map +1 -0
- package/dist/services/definitions/open-webui.js +47 -0
- package/dist/services/definitions/open-webui.js.map +1 -0
- package/dist/services/definitions/opencode.d.ts +3 -0
- package/dist/services/definitions/opencode.d.ts.map +1 -0
- package/dist/services/definitions/opencode.js +47 -0
- package/dist/services/definitions/opencode.js.map +1 -0
- package/dist/services/definitions/openpanel.d.ts +3 -0
- package/dist/services/definitions/openpanel.d.ts.map +1 -0
- package/dist/services/definitions/openpanel.js +41 -0
- package/dist/services/definitions/openpanel.js.map +1 -0
- package/dist/services/definitions/outline.d.ts +3 -0
- package/dist/services/definitions/outline.d.ts.map +1 -0
- package/dist/services/definitions/outline.js +68 -0
- package/dist/services/definitions/outline.js.map +1 -0
- package/dist/services/definitions/paperless-ngx.d.ts +3 -0
- package/dist/services/definitions/paperless-ngx.d.ts.map +1 -0
- package/dist/services/definitions/paperless-ngx.js +85 -0
- package/dist/services/definitions/paperless-ngx.js.map +1 -0
- package/dist/services/definitions/playwright-server.d.ts +3 -0
- package/dist/services/definitions/playwright-server.d.ts.map +1 -0
- package/dist/services/definitions/playwright-server.js +34 -0
- package/dist/services/definitions/playwright-server.js.map +1 -0
- package/dist/services/definitions/portainer.d.ts +3 -0
- package/dist/services/definitions/portainer.d.ts.map +1 -0
- package/dist/services/definitions/portainer.js +44 -0
- package/dist/services/definitions/portainer.js.map +1 -0
- package/dist/services/definitions/postgresql.d.ts +3 -0
- package/dist/services/definitions/postgresql.d.ts.map +1 -0
- package/dist/services/definitions/postgresql.js +83 -0
- package/dist/services/definitions/postgresql.js.map +1 -0
- package/dist/services/definitions/postiz.d.ts +3 -0
- package/dist/services/definitions/postiz.d.ts.map +1 -0
- package/dist/services/definitions/postiz.js +79 -0
- package/dist/services/definitions/postiz.js.map +1 -0
- package/dist/services/definitions/prometheus.d.ts +3 -0
- package/dist/services/definitions/prometheus.d.ts.map +1 -0
- package/dist/services/definitions/prometheus.js +47 -0
- package/dist/services/definitions/prometheus.js.map +1 -0
- package/dist/services/definitions/qdrant.d.ts +3 -0
- package/dist/services/definitions/qdrant.d.ts.map +1 -0
- package/dist/services/definitions/qdrant.js +75 -0
- package/dist/services/definitions/qdrant.js.map +1 -0
- package/dist/services/definitions/redis.d.ts +3 -0
- package/dist/services/definitions/redis.d.ts.map +1 -0
- package/dist/services/definitions/redis.js +90 -0
- package/dist/services/definitions/redis.js.map +1 -0
- package/dist/services/definitions/remotion.d.ts +3 -0
- package/dist/services/definitions/remotion.d.ts.map +1 -0
- package/dist/services/definitions/remotion.js +48 -0
- package/dist/services/definitions/remotion.js.map +1 -0
- package/dist/services/definitions/rocketchat.d.ts +3 -0
- package/dist/services/definitions/rocketchat.d.ts.map +1 -0
- package/dist/services/definitions/rocketchat.js +54 -0
- package/dist/services/definitions/rocketchat.js.map +1 -0
- package/dist/services/definitions/searxng.d.ts +3 -0
- package/dist/services/definitions/searxng.d.ts.map +1 -0
- package/dist/services/definitions/searxng.js +61 -0
- package/dist/services/definitions/searxng.js.map +1 -0
- package/dist/services/definitions/stable-diffusion.d.ts +3 -0
- package/dist/services/definitions/stable-diffusion.d.ts.map +1 -0
- package/dist/services/definitions/stable-diffusion.js +44 -0
- package/dist/services/definitions/stable-diffusion.js.map +1 -0
- package/dist/services/definitions/steel-browser.d.ts +3 -0
- package/dist/services/definitions/steel-browser.d.ts.map +1 -0
- package/dist/services/definitions/steel-browser.js +68 -0
- package/dist/services/definitions/steel-browser.js.map +1 -0
- package/dist/services/definitions/tailscale.d.ts +3 -0
- package/dist/services/definitions/tailscale.d.ts.map +1 -0
- package/dist/services/definitions/tailscale.js +62 -0
- package/dist/services/definitions/tailscale.js.map +1 -0
- package/dist/services/definitions/temporal.d.ts +3 -0
- package/dist/services/definitions/temporal.d.ts.map +1 -0
- package/dist/services/definitions/temporal.js +97 -0
- package/dist/services/definitions/temporal.js.map +1 -0
- package/dist/services/definitions/traefik.d.ts +3 -0
- package/dist/services/definitions/traefik.d.ts.map +1 -0
- package/dist/services/definitions/traefik.js +52 -0
- package/dist/services/definitions/traefik.js.map +1 -0
- package/dist/services/definitions/umami.d.ts +3 -0
- package/dist/services/definitions/umami.d.ts.map +1 -0
- package/dist/services/definitions/umami.js +41 -0
- package/dist/services/definitions/umami.js.map +1 -0
- package/dist/services/definitions/uptime-kuma.d.ts +3 -0
- package/dist/services/definitions/uptime-kuma.d.ts.map +1 -0
- package/dist/services/definitions/uptime-kuma.js +46 -0
- package/dist/services/definitions/uptime-kuma.js.map +1 -0
- package/dist/services/definitions/valkey.d.ts +3 -0
- package/dist/services/definitions/valkey.d.ts.map +1 -0
- package/dist/services/definitions/valkey.js +60 -0
- package/dist/services/definitions/valkey.js.map +1 -0
- package/dist/services/definitions/watchtower.d.ts +3 -0
- package/dist/services/definitions/watchtower.d.ts.map +1 -0
- package/dist/services/definitions/watchtower.js +41 -0
- package/dist/services/definitions/watchtower.js.map +1 -0
- package/dist/services/definitions/weaviate.d.ts +3 -0
- package/dist/services/definitions/weaviate.d.ts.map +1 -0
- package/dist/services/definitions/weaviate.js +89 -0
- package/dist/services/definitions/weaviate.js.map +1 -0
- package/dist/services/definitions/whisper.d.ts +3 -0
- package/dist/services/definitions/whisper.d.ts.map +1 -0
- package/dist/services/definitions/whisper.js +55 -0
- package/dist/services/definitions/whisper.js.map +1 -0
- package/dist/services/registry.d.ts +12 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/services/registry.js +28 -0
- package/dist/services/registry.js.map +1 -0
- package/dist/skills/registry.d.ts +7 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +111 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/types.d.ts +60 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +20 -0
- package/dist/types.js.map +1 -0
- package/dist/validator.d.ts +16 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +142 -0
- package/dist/validator.js.map +1 -0
- package/dist/version-manager.d.ts +10 -0
- package/dist/version-manager.d.ts.map +1 -0
- package/dist/version-manager.js +60 -0
- package/dist/version-manager.js.map +1 -0
- package/package.json +37 -0
- package/src/__snapshots__/composer.snapshot.test.ts.snap +903 -0
- package/src/bare-metal-partition.test.ts +63 -0
- package/src/bare-metal-partition.ts +64 -0
- package/src/composer.snapshot.test.ts +87 -0
- package/src/composer.test.ts +224 -0
- package/src/composer.ts +403 -0
- package/src/generate.test.ts +349 -0
- package/src/generate.ts +259 -0
- package/src/generators/bare-metal-install.test.ts +43 -0
- package/src/generators/bare-metal-install.ts +249 -0
- package/src/generators/caddy.ts +99 -0
- package/src/generators/env.ts +405 -0
- package/src/generators/grafana.ts +255 -0
- package/src/generators/n8n-workflows.ts +88 -0
- package/src/generators/native-services.ts +103 -0
- package/src/generators/postgres-init.ts +137 -0
- package/src/generators/prometheus.ts +89 -0
- package/src/generators/readme.ts +274 -0
- package/src/generators/scripts.ts +362 -0
- package/src/generators/skills.ts +628 -0
- package/src/index.ts +118 -0
- package/src/presets/registry.test.ts +32 -0
- package/src/presets/registry.ts +126 -0
- package/src/resolver.test.ts +204 -0
- package/src/resolver.ts +282 -0
- package/src/schema.test.ts +295 -0
- package/src/schema.ts +307 -0
- package/src/services/definitions/anything-llm.ts +46 -0
- package/src/services/definitions/appflowy.ts +46 -0
- package/src/services/definitions/beszel.ts +46 -0
- package/src/services/definitions/browserless.ts +84 -0
- package/src/services/definitions/caddy.ts +57 -0
- package/src/services/definitions/chromadb.ts +68 -0
- package/src/services/definitions/claude-code.ts +56 -0
- package/src/services/definitions/code-server.ts +67 -0
- package/src/services/definitions/codex.ts +48 -0
- package/src/services/definitions/coolify.ts +51 -0
- package/src/services/definitions/dify.ts +82 -0
- package/src/services/definitions/docsgpt.ts +45 -0
- package/src/services/definitions/dokploy.ts +51 -0
- package/src/services/definitions/dozzle.ts +40 -0
- package/src/services/definitions/ffmpeg.ts +70 -0
- package/src/services/definitions/flowise.ts +45 -0
- package/src/services/definitions/gemini-cli.ts +48 -0
- package/src/services/definitions/gitea.ts +52 -0
- package/src/services/definitions/gotify.ts +67 -0
- package/src/services/definitions/grafana.ts +68 -0
- package/src/services/definitions/index.ts +200 -0
- package/src/services/definitions/kimi.ts +48 -0
- package/src/services/definitions/lasuite-meet-agents.ts +33 -0
- package/src/services/definitions/lasuite-meet-backend.ts +125 -0
- package/src/services/definitions/lasuite-meet-frontend.ts +38 -0
- package/src/services/definitions/librechat.ts +54 -0
- package/src/services/definitions/lightpanda.ts +61 -0
- package/src/services/definitions/litellm.ts +48 -0
- package/src/services/definitions/livekit.ts +38 -0
- package/src/services/definitions/matomo.ts +82 -0
- package/src/services/definitions/matrix-synapse.ts +89 -0
- package/src/services/definitions/mattermost.ts +67 -0
- package/src/services/definitions/meilisearch.ts +83 -0
- package/src/services/definitions/minio.ts +105 -0
- package/src/services/definitions/mixpost.ts +89 -0
- package/src/services/definitions/motion-canvas.ts +55 -0
- package/src/services/definitions/n8n.ts +153 -0
- package/src/services/definitions/nocodb.ts +46 -0
- package/src/services/definitions/ntfy.ts +68 -0
- package/src/services/definitions/ollama.ts +68 -0
- package/src/services/definitions/open-webui.ts +54 -0
- package/src/services/definitions/opencode.ts +54 -0
- package/src/services/definitions/openpanel.ts +48 -0
- package/src/services/definitions/outline.ts +75 -0
- package/src/services/definitions/paperless-ngx.ts +92 -0
- package/src/services/definitions/playwright-server.ts +41 -0
- package/src/services/definitions/portainer.ts +50 -0
- package/src/services/definitions/postgresql.ts +90 -0
- package/src/services/definitions/postiz.ts +86 -0
- package/src/services/definitions/prometheus.ts +54 -0
- package/src/services/definitions/qdrant.ts +82 -0
- package/src/services/definitions/redis.ts +99 -0
- package/src/services/definitions/remotion.ts +55 -0
- package/src/services/definitions/rocketchat.ts +61 -0
- package/src/services/definitions/searxng.ts +68 -0
- package/src/services/definitions/stable-diffusion.ts +50 -0
- package/src/services/definitions/steel-browser.ts +70 -0
- package/src/services/definitions/tailscale.ts +69 -0
- package/src/services/definitions/temporal.ts +104 -0
- package/src/services/definitions/traefik.ts +60 -0
- package/src/services/definitions/umami.ts +48 -0
- package/src/services/definitions/uptime-kuma.ts +53 -0
- package/src/services/definitions/valkey.ts +67 -0
- package/src/services/definitions/watchtower.ts +47 -0
- package/src/services/definitions/weaviate.ts +96 -0
- package/src/services/definitions/whisper.ts +62 -0
- package/src/services/registry.test.ts +98 -0
- package/src/services/registry.ts +37 -0
- package/src/skills/registry.ts +126 -0
- package/src/types.ts +123 -0
- package/src/validator.test.ts +66 -0
- package/src/validator.ts +166 -0
- package/src/version-manager.ts +65 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
|
|
2
|
+
> @better-openclaw/core@1.0.0 lint /home/runner/work/better-openclaw/better-openclaw/packages/core
|
|
3
|
+
> biome check src/
|
|
4
|
+
|
|
5
|
+
src/composer.ts:318:4 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
6
|
+
|
|
7
|
+
! Forbidden non-null assertion.
|
|
8
|
+
|
|
9
|
+
316 │ profileFileMap[mapping.file] = { profile: mapping.profile, services: [] };
|
|
10
|
+
317 │ }
|
|
11
|
+
> 318 │ profileFileMap[mapping.file]!.services.push(info);
|
|
12
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
13
|
+
319 │ } else {
|
|
14
|
+
320 │ baseServiceIds.add(info.id);
|
|
15
|
+
|
|
16
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
17
|
+
|
|
18
|
+
316 316 │ profileFileMap[mapping.file] = { profile: mapping.profile, services: [] };
|
|
19
|
+
317 317 │ }
|
|
20
|
+
318 │ - → → → profileFileMap[mapping.file]!.services.push(info);
|
|
21
|
+
318 │ + → → → profileFileMap[mapping.file]?.services.push(info);
|
|
22
|
+
319 319 │ } else {
|
|
23
|
+
320 320 │ baseServiceIds.add(info.id);
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
src/generate.test.ts:26:26 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
27
|
+
|
|
28
|
+
! Forbidden non-null assertion.
|
|
29
|
+
|
|
30
|
+
25 │ // docker-compose.yml must be valid YAML
|
|
31
|
+
> 26 │ const composed = parse(result.files["docker-compose.yml"]!);
|
|
32
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
33
|
+
27 │ expect(composed).toHaveProperty("services");
|
|
34
|
+
28 │
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
src/generate.test.ts:58:26 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
38
|
+
|
|
39
|
+
! Forbidden non-null assertion.
|
|
40
|
+
|
|
41
|
+
57 │ // docker-compose.yml should contain the expected services
|
|
42
|
+
> 58 │ const composed = parse(result.files["docker-compose.yml"]!);
|
|
43
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
44
|
+
59 │ expect(composed.services).toHaveProperty("qdrant");
|
|
45
|
+
60 │ expect(composed.services).toHaveProperty("searxng");
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
src/generate.test.ts:131:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
49
|
+
|
|
50
|
+
! Forbidden non-null assertion.
|
|
51
|
+
|
|
52
|
+
130 │ expect(result.files).toHaveProperty("caddy/Caddyfile");
|
|
53
|
+
> 131 │ expect(result.files["caddy/Caddyfile"]!.length).toBeGreaterThan(0);
|
|
54
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
55
|
+
132 │ });
|
|
56
|
+
133 │
|
|
57
|
+
|
|
58
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
59
|
+
|
|
60
|
+
129 129 │
|
|
61
|
+
130 130 │ expect(result.files).toHaveProperty("caddy/Caddyfile");
|
|
62
|
+
131 │ - → → expect(result.files["caddy/Caddyfile"]!.length).toBeGreaterThan(0);
|
|
63
|
+
131 │ + → → expect(result.files["caddy/Caddyfile"]?.length).toBeGreaterThan(0);
|
|
64
|
+
132 132 │ });
|
|
65
|
+
133 133 │
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
src/generate.test.ts:150:28 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
69
|
+
|
|
70
|
+
! Forbidden non-null assertion.
|
|
71
|
+
|
|
72
|
+
148 │ expect(result.files).toHaveProperty("prometheus/prometheus.yml");
|
|
73
|
+
149 │ // Verify it's valid YAML
|
|
74
|
+
> 150 │ const promConfig = parse(result.files["prometheus/prometheus.yml"]!);
|
|
75
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
76
|
+
151 │ expect(promConfig).toBeDefined();
|
|
77
|
+
152 │ });
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
src/generate.test.ts:248:26 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
81
|
+
|
|
82
|
+
! Forbidden non-null assertion.
|
|
83
|
+
|
|
84
|
+
247 │ // Docker compose must NOT include redis (native); only gateway/openclaw
|
|
85
|
+
> 248 │ const composed = parse(result.files["docker-compose.yml"]!);
|
|
86
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
87
|
+
249 │ expect(composed.services).not.toHaveProperty("redis");
|
|
88
|
+
250 │ expect(composed.services).toHaveProperty("openclaw-gateway");
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
src/generate.test.ts:305:11 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
92
|
+
|
|
93
|
+
! Forbidden non-null assertion.
|
|
94
|
+
|
|
95
|
+
303 │ for (const script of expectedScripts) {
|
|
96
|
+
304 │ expect(result.files).toHaveProperty(script);
|
|
97
|
+
> 305 │ expect(result.files[script]!.length).toBeGreaterThan(0);
|
|
98
|
+
│ ^^^^^^^^^^^^^^^^^^^^^
|
|
99
|
+
306 │ }
|
|
100
|
+
307 │ });
|
|
101
|
+
|
|
102
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
103
|
+
|
|
104
|
+
303 303 │ for (const script of expectedScripts) {
|
|
105
|
+
304 304 │ expect(result.files).toHaveProperty(script);
|
|
106
|
+
305 │ - → → → expect(result.files[script]!.length).toBeGreaterThan(0);
|
|
107
|
+
305 │ + → → → expect(result.files[script]?.length).toBeGreaterThan(0);
|
|
108
|
+
306 306 │ }
|
|
109
|
+
307 307 │ });
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
src/generate.test.ts:322:22 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
113
|
+
|
|
114
|
+
! Forbidden non-null assertion.
|
|
115
|
+
|
|
116
|
+
320 │ });
|
|
117
|
+
321 │
|
|
118
|
+
> 322 │ const envExample = result.files[".env.example"]!;
|
|
119
|
+
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
120
|
+
323 │ const lines = envExample.split("\n");
|
|
121
|
+
324 │
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
src/generate.test.ts:328:17 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
125
|
+
|
|
126
|
+
! Forbidden non-null assertion.
|
|
127
|
+
|
|
128
|
+
326 │ // have a preceding comment line (starting with #).
|
|
129
|
+
327 │ for (let i = 0; i < lines.length; i++) {
|
|
130
|
+
> 328 │ const line = lines[i]!.trim();
|
|
131
|
+
│ ^^^^^^^^^
|
|
132
|
+
329 │ if (line === "" || line.startsWith("#")) continue;
|
|
133
|
+
330 │
|
|
134
|
+
|
|
135
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
136
|
+
|
|
137
|
+
326 326 │ // have a preceding comment line (starting with #).
|
|
138
|
+
327 327 │ for (let i = 0; i < lines.length; i++) {
|
|
139
|
+
328 │ - → → → const·line·=·lines[i]!.trim();
|
|
140
|
+
328 │ + → → → const·line·=·lines[i]?.trim();
|
|
141
|
+
329 329 │ if (line === "" || line.startsWith("#")) continue;
|
|
142
|
+
330 330 │
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
src/generate.test.ts:336:19 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
146
|
+
|
|
147
|
+
! Forbidden non-null assertion.
|
|
148
|
+
|
|
149
|
+
334 │ let foundComment = false;
|
|
150
|
+
335 │ for (let j = i - 1; j >= 0; j--) {
|
|
151
|
+
> 336 │ const prev = lines[j]!.trim();
|
|
152
|
+
│ ^^^^^^^^^
|
|
153
|
+
337 │ if (prev === "") continue; // skip blank lines
|
|
154
|
+
338 │ if (prev.startsWith("#")) {
|
|
155
|
+
|
|
156
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
157
|
+
|
|
158
|
+
334 334 │ let foundComment = false;
|
|
159
|
+
335 335 │ for (let j = i - 1; j >= 0; j--) {
|
|
160
|
+
336 │ - → → → → → const·prev·=·lines[j]!.trim();
|
|
161
|
+
336 │ + → → → → → const·prev·=·lines[j]?.trim();
|
|
162
|
+
337 337 │ if (prev === "") continue; // skip blank lines
|
|
163
|
+
338 338 │ if (prev.startsWith("#")) {
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
src/generators/caddy.ts:40:23 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
167
|
+
|
|
168
|
+
! Forbidden non-null assertion.
|
|
169
|
+
|
|
170
|
+
39 │ // Use the first exposed port as the primary route target
|
|
171
|
+
> 40 │ const primaryPort = exposedPorts[0]!;
|
|
172
|
+
│ ^^^^^^^^^^^^^^^^
|
|
173
|
+
41 │ const subdomain = `${definition.id}.${domain}`;
|
|
174
|
+
42 │
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
src/generators/caddy.ts:69:17 lint/style/noNonNullAssertion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
178
|
+
|
|
179
|
+
! Forbidden non-null assertion.
|
|
180
|
+
|
|
181
|
+
67 │ // If there are additional exposed ports, add them as separate entries
|
|
182
|
+
68 │ for (let i = 1; i < exposedPorts.length; i++) {
|
|
183
|
+
> 69 │ const port = exposedPorts[i]!;
|
|
184
|
+
│ ^^^^^^^^^^^^^^^^
|
|
185
|
+
70 │ const portSubdomain = `${definition.id}-${port.description
|
|
186
|
+
71 │ .toLowerCase()
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
src/presets/registry.test.ts:12:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
190
|
+
|
|
191
|
+
! Forbidden non-null assertion.
|
|
192
|
+
|
|
193
|
+
10 │ const preset = getPresetById("lasuite-meet");
|
|
194
|
+
11 │ expect(preset).toBeDefined();
|
|
195
|
+
> 12 │ expect(preset!.id).toBe("lasuite-meet");
|
|
196
|
+
│ ^^^^^^^
|
|
197
|
+
13 │ expect(preset!.name).toBe("La Suite Meet");
|
|
198
|
+
14 │ expect(preset!.services).toEqual([
|
|
199
|
+
|
|
200
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
201
|
+
|
|
202
|
+
10 10 │ const preset = getPresetById("lasuite-meet");
|
|
203
|
+
11 11 │ expect(preset).toBeDefined();
|
|
204
|
+
12 │ - → → expect(preset!.id).toBe("lasuite-meet");
|
|
205
|
+
12 │ + → → expect(preset?.id).toBe("lasuite-meet");
|
|
206
|
+
13 13 │ expect(preset!.name).toBe("La Suite Meet");
|
|
207
|
+
14 14 │ expect(preset!.services).toEqual([
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
src/presets/registry.test.ts:13:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
211
|
+
|
|
212
|
+
! Forbidden non-null assertion.
|
|
213
|
+
|
|
214
|
+
11 │ expect(preset).toBeDefined();
|
|
215
|
+
12 │ expect(preset!.id).toBe("lasuite-meet");
|
|
216
|
+
> 13 │ expect(preset!.name).toBe("La Suite Meet");
|
|
217
|
+
│ ^^^^^^^
|
|
218
|
+
14 │ expect(preset!.services).toEqual([
|
|
219
|
+
15 │ "postgresql",
|
|
220
|
+
|
|
221
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
222
|
+
|
|
223
|
+
11 11 │ expect(preset).toBeDefined();
|
|
224
|
+
12 12 │ expect(preset!.id).toBe("lasuite-meet");
|
|
225
|
+
13 │ - → → expect(preset!.name).toBe("La·Suite·Meet");
|
|
226
|
+
13 │ + → → expect(preset?.name).toBe("La·Suite·Meet");
|
|
227
|
+
14 14 │ expect(preset!.services).toEqual([
|
|
228
|
+
15 15 │ "postgresql",
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
src/presets/registry.test.ts:14:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
232
|
+
|
|
233
|
+
! Forbidden non-null assertion.
|
|
234
|
+
|
|
235
|
+
12 │ expect(preset!.id).toBe("lasuite-meet");
|
|
236
|
+
13 │ expect(preset!.name).toBe("La Suite Meet");
|
|
237
|
+
> 14 │ expect(preset!.services).toEqual([
|
|
238
|
+
│ ^^^^^^^
|
|
239
|
+
15 │ "postgresql",
|
|
240
|
+
16 │ "redis",
|
|
241
|
+
|
|
242
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
243
|
+
|
|
244
|
+
12 12 │ expect(preset!.id).toBe("lasuite-meet");
|
|
245
|
+
13 13 │ expect(preset!.name).toBe("La Suite Meet");
|
|
246
|
+
14 │ - → → expect(preset!.services).toEqual([
|
|
247
|
+
14 │ + → → expect(preset?.services).toEqual([
|
|
248
|
+
15 15 │ "postgresql",
|
|
249
|
+
16 16 │ "redis",
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
src/presets/registry.test.ts:22:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
253
|
+
|
|
254
|
+
! Forbidden non-null assertion.
|
|
255
|
+
|
|
256
|
+
20 │ "lasuite-meet-agents",
|
|
257
|
+
21 │ ]);
|
|
258
|
+
> 22 │ expect(preset!.skillPacks).toEqual([]);
|
|
259
|
+
│ ^^^^^^^
|
|
260
|
+
23 │ expect(preset!.estimatedMemoryMB).toBe(2048);
|
|
261
|
+
24 │ });
|
|
262
|
+
|
|
263
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
264
|
+
|
|
265
|
+
20 20 │ "lasuite-meet-agents",
|
|
266
|
+
21 21 │ ]);
|
|
267
|
+
22 │ - → → expect(preset!.skillPacks).toEqual([]);
|
|
268
|
+
22 │ + → → expect(preset?.skillPacks).toEqual([]);
|
|
269
|
+
23 23 │ expect(preset!.estimatedMemoryMB).toBe(2048);
|
|
270
|
+
24 24 │ });
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
src/services/registry.test.ts:18:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
|
|
274
|
+
|
|
275
|
+
! Forbidden non-null assertion.
|
|
276
|
+
|
|
277
|
+
16 │ const redis = getServiceById("redis");
|
|
278
|
+
17 │ expect(redis).toBeDefined();
|
|
279
|
+
> 18 │ expect(redis!.id).toBe("redis");
|
|
280
|
+
│ ^^^^^^
|
|
281
|
+
19 │ expect(redis!.name).toBe("Redis");
|
|
282
|
+
20 │ });
|
|
283
|
+
|
|
284
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
285
|
+
|
|
286
|
+
16 16 │ const redis = getServiceById("redis");
|
|
287
|
+
17 17 │ expect(redis).toBeDefined();
|
|
288
|
+
18 │ - → → expect(redis!.id).toBe("redis");
|
|
289
|
+
18 │ + → → expect(redis?.id).toBe("redis");
|
|
290
|
+
19 19 │ expect(redis!.name).toBe("Redis");
|
|
291
|
+
20 20 │ });
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
src/services/registry.test.ts:19:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
|
|
295
|
+
|
|
296
|
+
! Forbidden non-null assertion.
|
|
297
|
+
|
|
298
|
+
17 │ expect(redis).toBeDefined();
|
|
299
|
+
18 │ expect(redis!.id).toBe("redis");
|
|
300
|
+
> 19 │ expect(redis!.name).toBe("Redis");
|
|
301
|
+
│ ^^^^^^
|
|
302
|
+
20 │ });
|
|
303
|
+
21 │
|
|
304
|
+
|
|
305
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
306
|
+
|
|
307
|
+
17 17 │ expect(redis).toBeDefined();
|
|
308
|
+
18 18 │ expect(redis!.id).toBe("redis");
|
|
309
|
+
19 │ - → → expect(redis!.name).toBe("Redis");
|
|
310
|
+
19 │ + → → expect(redis?.name).toBe("Redis");
|
|
311
|
+
20 20 │ });
|
|
312
|
+
21 21 │
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
src/services/registry.test.ts:30:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
|
|
316
|
+
|
|
317
|
+
! Forbidden non-null assertion.
|
|
318
|
+
|
|
319
|
+
28 │ const tailscale = getServiceById("tailscale");
|
|
320
|
+
29 │ expect(tailscale).toBeDefined();
|
|
321
|
+
> 30 │ expect(tailscale!.id).toBe("tailscale");
|
|
322
|
+
│ ^^^^^^^^^^
|
|
323
|
+
31 │ expect(tailscale!.mandatory).toBe(true);
|
|
324
|
+
32 │ });
|
|
325
|
+
|
|
326
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
327
|
+
|
|
328
|
+
28 28 │ const tailscale = getServiceById("tailscale");
|
|
329
|
+
29 29 │ expect(tailscale).toBeDefined();
|
|
330
|
+
30 │ - → → expect(tailscale!.id).toBe("tailscale");
|
|
331
|
+
30 │ + → → expect(tailscale?.id).toBe("tailscale");
|
|
332
|
+
31 31 │ expect(tailscale!.mandatory).toBe(true);
|
|
333
|
+
32 32 │ });
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
src/services/registry.test.ts:31:10 lint/style/noNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
|
|
337
|
+
|
|
338
|
+
! Forbidden non-null assertion.
|
|
339
|
+
|
|
340
|
+
29 │ expect(tailscale).toBeDefined();
|
|
341
|
+
30 │ expect(tailscale!.id).toBe("tailscale");
|
|
342
|
+
> 31 │ expect(tailscale!.mandatory).toBe(true);
|
|
343
|
+
│ ^^^^^^^^^^
|
|
344
|
+
32 │ });
|
|
345
|
+
33 │
|
|
346
|
+
|
|
347
|
+
i Unsafe fix: Replace with optional chain operator ?. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator
|
|
348
|
+
|
|
349
|
+
29 29 │ expect(tailscale).toBeDefined();
|
|
350
|
+
30 30 │ expect(tailscale!.id).toBe("tailscale");
|
|
351
|
+
31 │ - → → expect(tailscale!.mandatory).toBe(true);
|
|
352
|
+
31 │ + → → expect(tailscale?.mandatory).toBe(true);
|
|
353
|
+
32 32 │ });
|
|
354
|
+
33 33 │
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
The number of diagnostics exceeds the limit allowed. Use --max-diagnostics to increase it.
|
|
358
|
+
Diagnostics not shown: 9.
|
|
359
|
+
Checked 99 files in 152ms. No fixes applied.
|
|
360
|
+
Found 29 warnings.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { NativePlatform, Platform, ResolvedService, ResolverOutput } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Maps Platform (e.g. linux/amd64) to NativePlatform (linux, windows, macos).
|
|
4
|
+
*/
|
|
5
|
+
export declare function platformToNativePlatform(platform: Platform): NativePlatform;
|
|
6
|
+
export interface BareMetalPartitionResult {
|
|
7
|
+
nativeServices: ResolvedService[];
|
|
8
|
+
dockerOnlyServices: ResolvedService[];
|
|
9
|
+
nativeIds: Set<string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Partitions resolved services into native (run on host via scripts) vs Docker-only.
|
|
13
|
+
* Gateway and CLI are never native; services with nativeSupported and a matching
|
|
14
|
+
* nativeRecipe for the platform go to native, rest to Docker.
|
|
15
|
+
*/
|
|
16
|
+
export declare function partitionBareMetal(resolved: ResolverOutput, platform: Platform): BareMetalPartitionResult;
|
|
17
|
+
/**
|
|
18
|
+
* Returns a new ResolverOutput containing only the given service list (same order).
|
|
19
|
+
* Used to build compose for Docker-only subset when bare-metal has native services.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolvedWithOnlyServices(resolved: ResolverOutput, services: ResolvedService[]): ResolverOutput;
|
|
22
|
+
//# sourceMappingURL=bare-metal-partition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bare-metal-partition.d.ts","sourceRoot":"","sources":["../src/bare-metal-partition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5F;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAK3E;AAED,MAAM,WAAW,wBAAwB;IACxC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,kBAAkB,EAAE,eAAe,EAAE,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,GAChB,wBAAwB,CAsB1B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,eAAe,EAAE,GACzB,cAAc,CAMhB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps Platform (e.g. linux/amd64) to NativePlatform (linux, windows, macos).
|
|
3
|
+
*/
|
|
4
|
+
export function platformToNativePlatform(platform) {
|
|
5
|
+
if (platform.startsWith("linux/"))
|
|
6
|
+
return "linux";
|
|
7
|
+
if (platform.startsWith("windows/"))
|
|
8
|
+
return "windows";
|
|
9
|
+
if (platform.startsWith("macos/"))
|
|
10
|
+
return "macos";
|
|
11
|
+
return "linux";
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Partitions resolved services into native (run on host via scripts) vs Docker-only.
|
|
15
|
+
* Gateway and CLI are never native; services with nativeSupported and a matching
|
|
16
|
+
* nativeRecipe for the platform go to native, rest to Docker.
|
|
17
|
+
*/
|
|
18
|
+
export function partitionBareMetal(resolved, platform) {
|
|
19
|
+
const nativePlatform = platformToNativePlatform(platform);
|
|
20
|
+
const nativeServices = [];
|
|
21
|
+
const dockerOnlyServices = [];
|
|
22
|
+
const nativeIds = new Set();
|
|
23
|
+
for (const entry of resolved.services) {
|
|
24
|
+
const def = entry.definition;
|
|
25
|
+
const hasNativeRecipe = def.nativeSupported === true &&
|
|
26
|
+
def.nativeRecipes?.length &&
|
|
27
|
+
def.nativeRecipes.some((r) => r.platform === nativePlatform);
|
|
28
|
+
if (hasNativeRecipe) {
|
|
29
|
+
nativeServices.push(entry);
|
|
30
|
+
nativeIds.add(def.id);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
dockerOnlyServices.push(entry);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return { nativeServices, dockerOnlyServices, nativeIds };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns a new ResolverOutput containing only the given service list (same order).
|
|
40
|
+
* Used to build compose for Docker-only subset when bare-metal has native services.
|
|
41
|
+
*/
|
|
42
|
+
export function resolvedWithOnlyServices(resolved, services) {
|
|
43
|
+
const idSet = new Set(services.map((s) => s.definition.id));
|
|
44
|
+
return {
|
|
45
|
+
...resolved,
|
|
46
|
+
services: resolved.services.filter((s) => idSet.has(s.definition.id)),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=bare-metal-partition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bare-metal-partition.js","sourceRoot":"","sources":["../src/bare-metal-partition.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAkB;IAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,OAAO,CAAC;AAChB,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CACjC,QAAwB,EACxB,QAAkB;IAElB,MAAM,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAsB,EAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAsB,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;QAC7B,MAAM,eAAe,GACpB,GAAG,CAAC,eAAe,KAAK,IAAI;YAC5B,GAAG,CAAC,aAAa,EAAE,MAAM;YACzB,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;QAE9D,IAAI,eAAe,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,QAAwB,EACxB,QAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO;QACN,GAAG,QAAQ;QACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;KACrE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ComposeOptions, ResolverOutput } from "./types.js";
|
|
2
|
+
export interface ComposeResult {
|
|
3
|
+
files: Record<string, string>;
|
|
4
|
+
mainFile: string;
|
|
5
|
+
profiles: string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Generates a single Docker Compose YAML string with ALL services.
|
|
9
|
+
* Backward-compatible signature.
|
|
10
|
+
*/
|
|
11
|
+
export declare function compose(resolved: ResolverOutput, options: ComposeOptions): string;
|
|
12
|
+
/**
|
|
13
|
+
* Generates multiple Docker Compose files, splitting services into profile-based
|
|
14
|
+
* override files by category.
|
|
15
|
+
*/
|
|
16
|
+
export declare function composeMultiFile(resolved: ResolverOutput, options: ComposeOptions): ComposeResult;
|
|
17
|
+
//# sourceMappingURL=composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAmB,MAAM,YAAY,CAAC;AAIlF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAyOD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAmCjF;AAWD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CA0GjG"}
|