@better-openclaw/core 1.0.6 → 1.0.7
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/.github/workflows/publish-core.yml +1 -1
- package/dist/bare-metal-partition.d.mts +0 -1
- package/dist/bare-metal-partition.d.mts.map +1 -1
- package/dist/bare-metal-partition.mjs +47 -2
- package/dist/bare-metal-partition.mjs.map +1 -0
- package/dist/bare-metal-partition.test.mjs +3 -3
- package/dist/composer.d.mts +0 -1
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +286 -2
- package/dist/composer.mjs.map +1 -0
- package/dist/composer.snapshot.test.mjs +3 -3
- package/dist/composer.test.mjs +3 -3
- package/dist/generate.d.mts +0 -2
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +15 -15
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.d.mts +0 -2
- package/dist/generators/bare-metal-install.d.mts.map +1 -1
- package/dist/generators/bare-metal-install.mjs +223 -2
- package/dist/generators/bare-metal-install.mjs.map +1 -0
- package/dist/generators/bare-metal-install.test.mjs +2 -2
- package/dist/generators/caddy.d.mts +0 -2
- package/dist/generators/caddy.d.mts.map +1 -1
- package/dist/generators/caddy.mjs +76 -2
- package/dist/generators/caddy.mjs.map +1 -0
- package/dist/generators/env.d.mts +0 -1
- package/dist/generators/env.d.mts.map +1 -1
- package/dist/generators/env.mjs +249 -2
- package/dist/generators/env.mjs.map +1 -0
- package/dist/generators/grafana.d.mts.map +1 -1
- package/dist/generators/grafana.mjs +292 -2
- package/dist/generators/grafana.mjs.map +1 -0
- package/dist/generators/n8n-workflows.d.mts +0 -2
- package/dist/generators/n8n-workflows.d.mts.map +1 -1
- package/dist/generators/n8n-workflows.mjs +74 -2
- package/dist/generators/n8n-workflows.mjs.map +1 -0
- package/dist/generators/native-services.d.mts +0 -1
- package/dist/generators/native-services.d.mts.map +1 -1
- package/dist/generators/native-services.mjs +77 -2
- package/dist/generators/native-services.mjs.map +1 -0
- package/dist/generators/postgres-init.d.mts +0 -1
- package/dist/generators/postgres-init.d.mts.map +1 -1
- package/dist/generators/postgres-init.mjs +150 -2
- package/dist/generators/postgres-init.mjs.map +1 -0
- package/dist/generators/prometheus.d.mts +0 -2
- package/dist/generators/prometheus.d.mts.map +1 -1
- package/dist/generators/prometheus.mjs +106 -2
- package/dist/generators/prometheus.mjs.map +1 -0
- package/dist/generators/readme.d.mts +0 -1
- package/dist/generators/readme.d.mts.map +1 -1
- package/dist/generators/readme.mjs +198 -2
- package/dist/generators/readme.mjs.map +1 -0
- package/dist/generators/scripts.d.mts.map +1 -1
- package/dist/generators/scripts.mjs +350 -2
- package/dist/generators/scripts.mjs.map +1 -0
- package/dist/generators/skills.d.mts +0 -2
- package/dist/generators/skills.d.mts.map +1 -1
- package/dist/generators/skills.mjs +586 -2
- package/dist/generators/skills.mjs.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +15 -15
- package/dist/{magic-string.es-Dew0Rnsa.mjs → magic-string.es-1uTtupLe.mjs} +14 -14
- package/dist/magic-string.es-1uTtupLe.mjs.map +1 -0
- package/dist/presets/registry.d.mts +0 -1
- package/dist/presets/registry.d.mts.map +1 -1
- package/dist/presets/registry.test.mjs +1 -1
- package/dist/resolver.d.mts +0 -2
- package/dist/resolver.d.mts.map +1 -1
- package/dist/resolver.mjs +193 -2
- package/dist/resolver.mjs.map +1 -0
- package/dist/resolver.test.mjs +2 -2
- package/dist/schema.d.mts +706 -2
- package/dist/schema.d.mts.map +1 -0
- package/dist/schema.mjs +3 -1
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/anything-llm.d.mts +0 -1
- package/dist/services/definitions/anything-llm.d.mts.map +1 -1
- package/dist/services/definitions/anything-llm.mjs +43 -2
- package/dist/services/definitions/anything-llm.mjs.map +1 -0
- package/dist/services/definitions/appflowy.d.mts +0 -1
- package/dist/services/definitions/appflowy.d.mts.map +1 -1
- package/dist/services/definitions/appflowy.mjs +44 -2
- package/dist/services/definitions/appflowy.mjs.map +1 -0
- package/dist/services/definitions/beszel.d.mts +0 -1
- package/dist/services/definitions/beszel.d.mts.map +1 -1
- package/dist/services/definitions/beszel.mjs +44 -2
- package/dist/services/definitions/beszel.mjs.map +1 -0
- package/dist/services/definitions/browserless.d.mts +0 -1
- package/dist/services/definitions/browserless.d.mts.map +1 -1
- package/dist/services/definitions/browserless.mjs +84 -2
- package/dist/services/definitions/browserless.mjs.map +1 -0
- package/dist/services/definitions/caddy.d.mts +0 -1
- package/dist/services/definitions/caddy.d.mts.map +1 -1
- package/dist/services/definitions/caddy.mjs +51 -2
- package/dist/services/definitions/caddy.mjs.map +1 -0
- package/dist/services/definitions/chromadb.d.mts +0 -1
- package/dist/services/definitions/chromadb.d.mts.map +1 -1
- package/dist/services/definitions/chromadb.mjs +62 -2
- package/dist/services/definitions/chromadb.mjs.map +1 -0
- package/dist/services/definitions/claude-code.d.mts +0 -1
- package/dist/services/definitions/claude-code.d.mts.map +1 -1
- package/dist/services/definitions/claude-code.mjs +51 -2
- package/dist/services/definitions/claude-code.mjs.map +1 -0
- package/dist/services/definitions/code-server.d.mts +0 -1
- package/dist/services/definitions/code-server.d.mts.map +1 -1
- package/dist/services/definitions/code-server.mjs +65 -2
- package/dist/services/definitions/code-server.mjs.map +1 -0
- package/dist/services/definitions/codex.d.mts +0 -1
- package/dist/services/definitions/codex.d.mts.map +1 -1
- package/dist/services/definitions/codex.mjs +44 -2
- package/dist/services/definitions/codex.mjs.map +1 -0
- package/dist/services/definitions/convex-dashboard.d.mts +7 -0
- package/dist/services/definitions/convex-dashboard.d.mts.map +1 -0
- package/dist/services/definitions/convex-dashboard.mjs +46 -0
- package/dist/services/definitions/convex-dashboard.mjs.map +1 -0
- package/dist/services/definitions/convex.d.mts +7 -0
- package/dist/services/definitions/convex.d.mts.map +1 -0
- package/dist/services/definitions/convex.mjs +118 -0
- package/dist/services/definitions/convex.mjs.map +1 -0
- package/dist/services/definitions/coolify.d.mts +0 -1
- package/dist/services/definitions/coolify.d.mts.map +1 -1
- package/dist/services/definitions/coolify.mjs +48 -2
- package/dist/services/definitions/coolify.mjs.map +1 -0
- package/dist/services/definitions/dify.d.mts +0 -1
- package/dist/services/definitions/dify.d.mts.map +1 -1
- package/dist/services/definitions/dify.mjs +80 -2
- package/dist/services/definitions/dify.mjs.map +1 -0
- package/dist/services/definitions/docsgpt.d.mts +0 -1
- package/dist/services/definitions/docsgpt.d.mts.map +1 -1
- package/dist/services/definitions/docsgpt.mjs +44 -2
- package/dist/services/definitions/docsgpt.mjs.map +1 -0
- package/dist/services/definitions/dokploy.d.mts +0 -1
- package/dist/services/definitions/dokploy.d.mts.map +1 -1
- package/dist/services/definitions/dokploy.mjs +48 -2
- package/dist/services/definitions/dokploy.mjs.map +1 -0
- package/dist/services/definitions/dozzle.d.mts +0 -1
- package/dist/services/definitions/dozzle.d.mts.map +1 -1
- package/dist/services/definitions/dozzle.mjs +40 -2
- package/dist/services/definitions/dozzle.mjs.map +1 -0
- package/dist/services/definitions/ffmpeg.d.mts +0 -1
- package/dist/services/definitions/ffmpeg.d.mts.map +1 -1
- package/dist/services/definitions/ffmpeg.mjs +65 -2
- package/dist/services/definitions/ffmpeg.mjs.map +1 -0
- package/dist/services/definitions/flowise.d.mts +0 -1
- package/dist/services/definitions/flowise.d.mts.map +1 -1
- package/dist/services/definitions/flowise.mjs +44 -2
- package/dist/services/definitions/flowise.mjs.map +1 -0
- package/dist/services/definitions/gemini-cli.d.mts +0 -1
- package/dist/services/definitions/gemini-cli.d.mts.map +1 -1
- package/dist/services/definitions/gemini-cli.mjs +45 -2
- package/dist/services/definitions/gemini-cli.mjs.map +1 -0
- package/dist/services/definitions/gitea.d.mts +0 -1
- package/dist/services/definitions/gitea.d.mts.map +1 -1
- package/dist/services/definitions/gitea.mjs +48 -2
- package/dist/services/definitions/gitea.mjs.map +1 -0
- package/dist/services/definitions/gotify.d.mts +0 -1
- package/dist/services/definitions/gotify.d.mts.map +1 -1
- package/dist/services/definitions/gotify.mjs +61 -2
- package/dist/services/definitions/gotify.mjs.map +1 -0
- package/dist/services/definitions/grafana.d.mts +0 -1
- package/dist/services/definitions/grafana.d.mts.map +1 -1
- package/dist/services/definitions/grafana.mjs +62 -2
- package/dist/services/definitions/grafana.mjs.map +1 -0
- package/dist/services/definitions/index.d.mts +5 -2
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +145 -67
- package/dist/services/definitions/index.mjs.map +1 -0
- package/dist/services/definitions/kimi.d.mts +0 -1
- package/dist/services/definitions/kimi.d.mts.map +1 -1
- package/dist/services/definitions/kimi.mjs +45 -2
- package/dist/services/definitions/kimi.mjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-agents.d.mts +0 -1
- package/dist/services/definitions/lasuite-meet-agents.d.mts.map +1 -1
- package/dist/services/definitions/lasuite-meet-agents.mjs +35 -2
- package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-backend.d.mts +0 -1
- package/dist/services/definitions/lasuite-meet-backend.d.mts.map +1 -1
- package/dist/services/definitions/lasuite-meet-backend.mjs +133 -2
- package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-frontend.d.mts +0 -1
- package/dist/services/definitions/lasuite-meet-frontend.d.mts.map +1 -1
- package/dist/services/definitions/lasuite-meet-frontend.mjs +47 -2
- package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -0
- package/dist/services/definitions/librechat.d.mts +0 -1
- package/dist/services/definitions/librechat.d.mts.map +1 -1
- package/dist/services/definitions/librechat.mjs +49 -2
- package/dist/services/definitions/librechat.mjs.map +1 -0
- package/dist/services/definitions/lightpanda.d.mts +0 -1
- package/dist/services/definitions/lightpanda.d.mts.map +1 -1
- package/dist/services/definitions/lightpanda.mjs +58 -2
- package/dist/services/definitions/lightpanda.mjs.map +1 -0
- package/dist/services/definitions/litellm.d.mts +0 -1
- package/dist/services/definitions/litellm.d.mts.map +1 -1
- package/dist/services/definitions/litellm.mjs +46 -2
- package/dist/services/definitions/litellm.mjs.map +1 -0
- package/dist/services/definitions/livekit.d.mts +0 -1
- package/dist/services/definitions/livekit.d.mts.map +1 -1
- package/dist/services/definitions/livekit.mjs +55 -2
- package/dist/services/definitions/livekit.mjs.map +1 -0
- package/dist/services/definitions/matomo.d.mts +0 -1
- package/dist/services/definitions/matomo.d.mts.map +1 -1
- package/dist/services/definitions/matomo.mjs +79 -2
- package/dist/services/definitions/matomo.mjs.map +1 -0
- package/dist/services/definitions/matrix-synapse.d.mts +0 -1
- package/dist/services/definitions/matrix-synapse.d.mts.map +1 -1
- package/dist/services/definitions/matrix-synapse.mjs +87 -2
- package/dist/services/definitions/matrix-synapse.mjs.map +1 -0
- package/dist/services/definitions/mattermost.d.mts +0 -1
- package/dist/services/definitions/mattermost.d.mts.map +1 -1
- package/dist/services/definitions/mattermost.mjs +60 -2
- package/dist/services/definitions/mattermost.mjs.map +1 -0
- package/dist/services/definitions/meilisearch.d.mts +0 -1
- package/dist/services/definitions/meilisearch.d.mts.map +1 -1
- package/dist/services/definitions/meilisearch.mjs +77 -2
- package/dist/services/definitions/meilisearch.mjs.map +1 -0
- package/dist/services/definitions/minio.d.mts +0 -1
- package/dist/services/definitions/minio.d.mts.map +1 -1
- package/dist/services/definitions/minio.mjs +101 -2
- package/dist/services/definitions/minio.mjs.map +1 -0
- package/dist/services/definitions/mission-control.d.mts +7 -0
- package/dist/services/definitions/mission-control.d.mts.map +1 -0
- package/dist/services/definitions/mission-control.mjs +67 -0
- package/dist/services/definitions/mission-control.mjs.map +1 -0
- package/dist/services/definitions/mixpost.d.mts +0 -1
- package/dist/services/definitions/mixpost.d.mts.map +1 -1
- package/dist/services/definitions/mixpost.mjs +86 -2
- package/dist/services/definitions/mixpost.mjs.map +1 -0
- package/dist/services/definitions/motion-canvas.d.mts +0 -1
- package/dist/services/definitions/motion-canvas.d.mts.map +1 -1
- package/dist/services/definitions/motion-canvas.mjs +51 -2
- package/dist/services/definitions/motion-canvas.mjs.map +1 -0
- package/dist/services/definitions/n8n.d.mts +0 -1
- package/dist/services/definitions/n8n.d.mts.map +1 -1
- package/dist/services/definitions/n8n.mjs +153 -2
- package/dist/services/definitions/n8n.mjs.map +1 -0
- package/dist/services/definitions/nocodb.d.mts +0 -1
- package/dist/services/definitions/nocodb.d.mts.map +1 -1
- package/dist/services/definitions/nocodb.mjs +44 -2
- package/dist/services/definitions/nocodb.mjs.map +1 -0
- package/dist/services/definitions/ntfy.d.mts +0 -1
- package/dist/services/definitions/ntfy.d.mts.map +1 -1
- package/dist/services/definitions/ntfy.mjs +62 -2
- package/dist/services/definitions/ntfy.mjs.map +1 -0
- package/dist/services/definitions/ollama.d.mts +0 -1
- package/dist/services/definitions/ollama.d.mts.map +1 -1
- package/dist/services/definitions/ollama.mjs +65 -2
- package/dist/services/definitions/ollama.mjs.map +1 -0
- package/dist/services/definitions/open-webui.d.mts +0 -1
- package/dist/services/definitions/open-webui.d.mts.map +1 -1
- package/dist/services/definitions/open-webui.mjs +49 -2
- package/dist/services/definitions/open-webui.mjs.map +1 -0
- package/dist/services/definitions/opencode.d.mts +0 -1
- package/dist/services/definitions/opencode.d.mts.map +1 -1
- package/dist/services/definitions/opencode.mjs +49 -2
- package/dist/services/definitions/opencode.mjs.map +1 -0
- package/dist/services/definitions/openpanel.d.mts +0 -1
- package/dist/services/definitions/openpanel.d.mts.map +1 -1
- package/dist/services/definitions/openpanel.mjs +45 -2
- package/dist/services/definitions/openpanel.mjs.map +1 -0
- package/dist/services/definitions/outline.d.mts +0 -1
- package/dist/services/definitions/outline.d.mts.map +1 -1
- package/dist/services/definitions/outline.mjs +73 -2
- package/dist/services/definitions/outline.mjs.map +1 -0
- package/dist/services/definitions/paperless-ngx.d.mts +0 -1
- package/dist/services/definitions/paperless-ngx.d.mts.map +1 -1
- package/dist/services/definitions/paperless-ngx.mjs +92 -2
- package/dist/services/definitions/paperless-ngx.mjs.map +1 -0
- package/dist/services/definitions/playwright-server.d.mts +0 -1
- package/dist/services/definitions/playwright-server.d.mts.map +1 -1
- package/dist/services/definitions/playwright-server.mjs +41 -2
- package/dist/services/definitions/playwright-server.mjs.map +1 -0
- package/dist/services/definitions/portainer.d.mts +0 -1
- package/dist/services/definitions/portainer.d.mts.map +1 -1
- package/dist/services/definitions/portainer.mjs +48 -2
- package/dist/services/definitions/portainer.mjs.map +1 -0
- package/dist/services/definitions/postgresql.d.mts +0 -1
- package/dist/services/definitions/postgresql.d.mts.map +1 -1
- package/dist/services/definitions/postgresql.mjs +83 -2
- package/dist/services/definitions/postgresql.mjs.map +1 -0
- package/dist/services/definitions/postiz.d.mts +0 -1
- package/dist/services/definitions/postiz.d.mts.map +1 -1
- package/dist/services/definitions/postiz.mjs +82 -2
- package/dist/services/definitions/postiz.mjs.map +1 -0
- package/dist/services/definitions/prometheus.d.mts +0 -1
- package/dist/services/definitions/prometheus.d.mts.map +1 -1
- package/dist/services/definitions/prometheus.mjs +51 -2
- package/dist/services/definitions/prometheus.mjs.map +1 -0
- package/dist/services/definitions/qdrant.d.mts +0 -1
- package/dist/services/definitions/qdrant.d.mts.map +1 -1
- package/dist/services/definitions/qdrant.mjs +76 -2
- package/dist/services/definitions/qdrant.mjs.map +1 -0
- package/dist/services/definitions/redis.d.mts +0 -1
- package/dist/services/definitions/redis.d.mts.map +1 -1
- package/dist/services/definitions/redis.mjs +90 -2
- package/dist/services/definitions/redis.mjs.map +1 -0
- package/dist/services/definitions/remotion.d.mts +0 -1
- package/dist/services/definitions/remotion.d.mts.map +1 -1
- package/dist/services/definitions/remotion.mjs +54 -2
- package/dist/services/definitions/remotion.mjs.map +1 -0
- package/dist/services/definitions/rocketchat.d.mts +0 -1
- package/dist/services/definitions/rocketchat.d.mts.map +1 -1
- package/dist/services/definitions/rocketchat.mjs +56 -2
- package/dist/services/definitions/rocketchat.mjs.map +1 -0
- package/dist/services/definitions/searxng.d.mts +0 -1
- package/dist/services/definitions/searxng.d.mts.map +1 -1
- package/dist/services/definitions/searxng.mjs +64 -2
- package/dist/services/definitions/searxng.mjs.map +1 -0
- package/dist/services/definitions/stable-diffusion.d.mts +0 -1
- package/dist/services/definitions/stable-diffusion.d.mts.map +1 -1
- package/dist/services/definitions/stable-diffusion.mjs +47 -2
- package/dist/services/definitions/stable-diffusion.mjs.map +1 -0
- package/dist/services/definitions/steel-browser.d.mts +0 -1
- package/dist/services/definitions/steel-browser.d.mts.map +1 -1
- package/dist/services/definitions/steel-browser.mjs +76 -2
- package/dist/services/definitions/steel-browser.mjs.map +1 -0
- package/dist/services/definitions/tailscale.d.mts +0 -1
- package/dist/services/definitions/tailscale.d.mts.map +1 -1
- package/dist/services/definitions/tailscale.mjs +69 -2
- package/dist/services/definitions/tailscale.mjs.map +1 -0
- package/dist/services/definitions/temporal.d.mts +0 -1
- package/dist/services/definitions/temporal.d.mts.map +1 -1
- package/dist/services/definitions/temporal.mjs +99 -2
- package/dist/services/definitions/temporal.mjs.map +1 -0
- package/dist/services/definitions/traefik.d.mts +0 -1
- package/dist/services/definitions/traefik.d.mts.map +1 -1
- package/dist/services/definitions/traefik.mjs +57 -2
- package/dist/services/definitions/traefik.mjs.map +1 -0
- package/dist/services/definitions/umami.d.mts +0 -1
- package/dist/services/definitions/umami.d.mts.map +1 -1
- package/dist/services/definitions/umami.mjs +45 -2
- package/dist/services/definitions/umami.mjs.map +1 -0
- package/dist/services/definitions/uptime-kuma.d.mts +0 -1
- package/dist/services/definitions/uptime-kuma.d.mts.map +1 -1
- package/dist/services/definitions/uptime-kuma.mjs +50 -2
- package/dist/services/definitions/uptime-kuma.mjs.map +1 -0
- package/dist/services/definitions/usesend.d.mts +7 -0
- package/dist/services/definitions/usesend.d.mts.map +1 -0
- package/dist/services/definitions/usesend.mjs +99 -0
- package/dist/services/definitions/usesend.mjs.map +1 -0
- package/dist/services/definitions/valkey.d.mts +0 -1
- package/dist/services/definitions/valkey.d.mts.map +1 -1
- package/dist/services/definitions/valkey.mjs +60 -2
- package/dist/services/definitions/valkey.mjs.map +1 -0
- package/dist/services/definitions/watchtower.d.mts +0 -1
- package/dist/services/definitions/watchtower.d.mts.map +1 -1
- package/dist/services/definitions/watchtower.mjs +46 -2
- package/dist/services/definitions/watchtower.mjs.map +1 -0
- package/dist/services/definitions/weaviate.d.mts +0 -1
- package/dist/services/definitions/weaviate.d.mts.map +1 -1
- package/dist/services/definitions/weaviate.mjs +89 -2
- package/dist/services/definitions/weaviate.mjs.map +1 -0
- package/dist/services/definitions/whisper.d.mts +0 -1
- package/dist/services/definitions/whisper.d.mts.map +1 -1
- package/dist/services/definitions/whisper.mjs +61 -2
- package/dist/services/definitions/whisper.mjs.map +1 -0
- package/dist/services/registry.d.mts +0 -1
- package/dist/services/registry.d.mts.map +1 -1
- package/dist/services/registry.mjs +29 -2
- package/dist/services/registry.mjs.map +1 -0
- package/dist/services/registry.test.mjs +2 -2
- package/dist/skills/registry.d.mts +0 -1
- package/dist/skills/registry.d.mts.map +1 -1
- package/dist/skills/registry.mjs +214 -2
- package/dist/skills/registry.mjs.map +1 -0
- package/dist/types.d.mts +1 -1
- package/dist/types.d.mts.map +1 -1
- package/dist/validator.d.mts +0 -1
- package/dist/validator.d.mts.map +1 -1
- package/dist/validator.mjs +110 -2
- package/dist/validator.mjs.map +1 -0
- package/dist/validator.test.mjs +4 -4
- package/dist/version-manager.d.mts +0 -1
- package/dist/version-manager.d.mts.map +1 -1
- package/dist/version-manager.mjs +1 -1
- package/dist/{vi.2VT5v0um-Cs3Z_fCB.mjs → vi.2VT5v0um-Qk6MgAnK.mjs} +1183 -1183
- package/dist/vi.2VT5v0um-Qk6MgAnK.mjs.map +1 -0
- package/package.json +14 -13
- package/src/schema.ts +2 -1
- package/src/services/definitions/convex-dashboard.ts +48 -0
- package/src/services/definitions/convex.ts +123 -0
- package/src/services/definitions/index.ts +12 -0
- package/src/services/definitions/mission-control.ts +71 -0
- package/src/services/definitions/tailscale.ts +2 -0
- package/src/services/definitions/usesend.ts +98 -0
- package/tsdown.config.ts +1 -0
- package/dist/anything-llm-DIIPhz6K.mjs +0 -44
- package/dist/anything-llm-DIIPhz6K.mjs.map +0 -1
- package/dist/appflowy-DdoE-dKg.mjs +0 -45
- package/dist/appflowy-DdoE-dKg.mjs.map +0 -1
- package/dist/bare-metal-install-DpYZDoGq.mjs +0 -224
- package/dist/bare-metal-install-DpYZDoGq.mjs.map +0 -1
- package/dist/bare-metal-partition-CYlOxf9B.mjs +0 -48
- package/dist/bare-metal-partition-CYlOxf9B.mjs.map +0 -1
- package/dist/beszel-DHAG1zl0.mjs +0 -45
- package/dist/beszel-DHAG1zl0.mjs.map +0 -1
- package/dist/browserless-gUuvGmMD.mjs +0 -85
- package/dist/browserless-gUuvGmMD.mjs.map +0 -1
- package/dist/caddy-BJDrqnmw.mjs +0 -77
- package/dist/caddy-BJDrqnmw.mjs.map +0 -1
- package/dist/caddy-_NIdWKrf.mjs +0 -52
- package/dist/caddy-_NIdWKrf.mjs.map +0 -1
- package/dist/chromadb-g4rIsfAl.mjs +0 -63
- package/dist/chromadb-g4rIsfAl.mjs.map +0 -1
- package/dist/claude-code-DPRA1fy_.mjs +0 -52
- package/dist/claude-code-DPRA1fy_.mjs.map +0 -1
- package/dist/code-server-BdZZxxm5.mjs +0 -66
- package/dist/code-server-BdZZxxm5.mjs.map +0 -1
- package/dist/codex-DFVzfrfX.mjs +0 -45
- package/dist/codex-DFVzfrfX.mjs.map +0 -1
- package/dist/composer-CSM5YycB.mjs +0 -287
- package/dist/composer-CSM5YycB.mjs.map +0 -1
- package/dist/coolify-Z5_zDgM3.mjs +0 -49
- package/dist/coolify-Z5_zDgM3.mjs.map +0 -1
- package/dist/definitions-BXpb1kzs.mjs +0 -138
- package/dist/definitions-BXpb1kzs.mjs.map +0 -1
- package/dist/dify-jDc9U6Ku.mjs +0 -81
- package/dist/dify-jDc9U6Ku.mjs.map +0 -1
- package/dist/docsgpt-BXM1c2JC.mjs +0 -45
- package/dist/docsgpt-BXM1c2JC.mjs.map +0 -1
- package/dist/dokploy-Ci8_fb0_.mjs +0 -49
- package/dist/dokploy-Ci8_fb0_.mjs.map +0 -1
- package/dist/dozzle-fAt2sLRL.mjs +0 -41
- package/dist/dozzle-fAt2sLRL.mjs.map +0 -1
- package/dist/env-D2h46lHT.mjs +0 -250
- package/dist/env-D2h46lHT.mjs.map +0 -1
- package/dist/ffmpeg-BCtnA8m_.mjs +0 -66
- package/dist/ffmpeg-BCtnA8m_.mjs.map +0 -1
- package/dist/flowise-CJTTBa7J.mjs +0 -45
- package/dist/flowise-CJTTBa7J.mjs.map +0 -1
- package/dist/gemini-cli-Bfwv6hYe.mjs +0 -46
- package/dist/gemini-cli-Bfwv6hYe.mjs.map +0 -1
- package/dist/gitea-BGkqa-sD.mjs +0 -49
- package/dist/gitea-BGkqa-sD.mjs.map +0 -1
- package/dist/gotify-D7p8oNM3.mjs +0 -62
- package/dist/gotify-D7p8oNM3.mjs.map +0 -1
- package/dist/grafana-BlnWc6js.mjs +0 -63
- package/dist/grafana-BlnWc6js.mjs.map +0 -1
- package/dist/grafana-D3kIm8RX.mjs +0 -293
- package/dist/grafana-D3kIm8RX.mjs.map +0 -1
- package/dist/kimi-BFu1v1sU.mjs +0 -46
- package/dist/kimi-BFu1v1sU.mjs.map +0 -1
- package/dist/lasuite-meet-agents-nlPhMEaN.mjs +0 -36
- package/dist/lasuite-meet-agents-nlPhMEaN.mjs.map +0 -1
- package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs +0 -134
- package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs.map +0 -1
- package/dist/lasuite-meet-frontend-B4xNbnBa.mjs +0 -48
- package/dist/lasuite-meet-frontend-B4xNbnBa.mjs.map +0 -1
- package/dist/librechat-CoPIHXKK.mjs +0 -50
- package/dist/librechat-CoPIHXKK.mjs.map +0 -1
- package/dist/lightpanda-QchAPgNX.mjs +0 -59
- package/dist/lightpanda-QchAPgNX.mjs.map +0 -1
- package/dist/litellm-Dgl6iTry.mjs +0 -47
- package/dist/litellm-Dgl6iTry.mjs.map +0 -1
- package/dist/livekit-C13SxlVB.mjs +0 -56
- package/dist/livekit-C13SxlVB.mjs.map +0 -1
- package/dist/magic-string.es-Dew0Rnsa.mjs.map +0 -1
- package/dist/matomo-CiOoggYl.mjs +0 -80
- package/dist/matomo-CiOoggYl.mjs.map +0 -1
- package/dist/matrix-synapse-CP20A7NN.mjs +0 -88
- package/dist/matrix-synapse-CP20A7NN.mjs.map +0 -1
- package/dist/mattermost-CeFVuhIr.mjs +0 -61
- package/dist/mattermost-CeFVuhIr.mjs.map +0 -1
- package/dist/meilisearch-CLiQiTdN.mjs +0 -78
- package/dist/meilisearch-CLiQiTdN.mjs.map +0 -1
- package/dist/minio-_QuguAeo.mjs +0 -102
- package/dist/minio-_QuguAeo.mjs.map +0 -1
- package/dist/mixpost-eSFPM9XK.mjs +0 -87
- package/dist/mixpost-eSFPM9XK.mjs.map +0 -1
- package/dist/motion-canvas-Bk1ruvuX.mjs +0 -52
- package/dist/motion-canvas-Bk1ruvuX.mjs.map +0 -1
- package/dist/n8n-W5qeU34C.mjs +0 -154
- package/dist/n8n-W5qeU34C.mjs.map +0 -1
- package/dist/n8n-workflows-BPmKVx8z.mjs +0 -75
- package/dist/n8n-workflows-BPmKVx8z.mjs.map +0 -1
- package/dist/native-services-CwOCM-Xz.mjs +0 -78
- package/dist/native-services-CwOCM-Xz.mjs.map +0 -1
- package/dist/nocodb-DQNbSYh_.mjs +0 -45
- package/dist/nocodb-DQNbSYh_.mjs.map +0 -1
- package/dist/ntfy-B8_cZAx2.mjs +0 -63
- package/dist/ntfy-B8_cZAx2.mjs.map +0 -1
- package/dist/ollama-BiKAypcO.mjs +0 -66
- package/dist/ollama-BiKAypcO.mjs.map +0 -1
- package/dist/open-webui-DZOG4_xL.mjs +0 -50
- package/dist/open-webui-DZOG4_xL.mjs.map +0 -1
- package/dist/opencode-Dvfh5KvA.mjs +0 -50
- package/dist/opencode-Dvfh5KvA.mjs.map +0 -1
- package/dist/openpanel-BuWHhDze.mjs +0 -46
- package/dist/openpanel-BuWHhDze.mjs.map +0 -1
- package/dist/outline-Dy-YzdYS.mjs +0 -74
- package/dist/outline-Dy-YzdYS.mjs.map +0 -1
- package/dist/paperless-ngx-DVtWWpKg.mjs +0 -93
- package/dist/paperless-ngx-DVtWWpKg.mjs.map +0 -1
- package/dist/playwright-server-Boiz8--G.mjs +0 -42
- package/dist/playwright-server-Boiz8--G.mjs.map +0 -1
- package/dist/portainer-D9MU96UI.mjs +0 -49
- package/dist/portainer-D9MU96UI.mjs.map +0 -1
- package/dist/postgres-init-BiM-xZtq.mjs +0 -151
- package/dist/postgres-init-BiM-xZtq.mjs.map +0 -1
- package/dist/postgresql-s65Z9RqR.mjs +0 -84
- package/dist/postgresql-s65Z9RqR.mjs.map +0 -1
- package/dist/postiz-U6EK23EY.mjs +0 -83
- package/dist/postiz-U6EK23EY.mjs.map +0 -1
- package/dist/prometheus-WOlk-a1G.mjs +0 -107
- package/dist/prometheus-WOlk-a1G.mjs.map +0 -1
- package/dist/prometheus-x901F67p.mjs +0 -52
- package/dist/prometheus-x901F67p.mjs.map +0 -1
- package/dist/qdrant-DZW9uW4e.mjs +0 -77
- package/dist/qdrant-DZW9uW4e.mjs.map +0 -1
- package/dist/readme-C7M3QE9a.mjs +0 -199
- package/dist/readme-C7M3QE9a.mjs.map +0 -1
- package/dist/redis-DPMOf237.mjs +0 -91
- package/dist/redis-DPMOf237.mjs.map +0 -1
- package/dist/registry-CqLarEm5.mjs +0 -30
- package/dist/registry-CqLarEm5.mjs.map +0 -1
- package/dist/registry-DLX9Q4VQ.mjs +0 -215
- package/dist/registry-DLX9Q4VQ.mjs.map +0 -1
- package/dist/remotion-COkr0wpr.mjs +0 -55
- package/dist/remotion-COkr0wpr.mjs.map +0 -1
- package/dist/resolver-Dl5clk-d.mjs +0 -194
- package/dist/resolver-Dl5clk-d.mjs.map +0 -1
- package/dist/rocketchat-BebQT1MZ.mjs +0 -57
- package/dist/rocketchat-BebQT1MZ.mjs.map +0 -1
- package/dist/schema-PSUY6yJU.d.mts +0 -700
- package/dist/schema-PSUY6yJU.d.mts.map +0 -1
- package/dist/scripts-DsljWbP4.mjs +0 -351
- package/dist/scripts-DsljWbP4.mjs.map +0 -1
- package/dist/searxng-tJpBkchC.mjs +0 -65
- package/dist/searxng-tJpBkchC.mjs.map +0 -1
- package/dist/skills-DWG72Y3X.mjs +0 -587
- package/dist/skills-DWG72Y3X.mjs.map +0 -1
- package/dist/stable-diffusion-BulAzkyT.mjs +0 -48
- package/dist/stable-diffusion-BulAzkyT.mjs.map +0 -1
- package/dist/steel-browser-Cc0bYBjM.mjs +0 -77
- package/dist/steel-browser-Cc0bYBjM.mjs.map +0 -1
- package/dist/tailscale-CrM4EZlF.mjs +0 -69
- package/dist/tailscale-CrM4EZlF.mjs.map +0 -1
- package/dist/temporal-49gA0msh.mjs +0 -100
- package/dist/temporal-49gA0msh.mjs.map +0 -1
- package/dist/traefik-Da-c1f55.mjs +0 -58
- package/dist/traefik-Da-c1f55.mjs.map +0 -1
- package/dist/umami-csBSsHqO.mjs +0 -46
- package/dist/umami-csBSsHqO.mjs.map +0 -1
- package/dist/uptime-kuma-D0NvVuXD.mjs +0 -51
- package/dist/uptime-kuma-D0NvVuXD.mjs.map +0 -1
- package/dist/validator-2FspYNva.mjs +0 -111
- package/dist/validator-2FspYNva.mjs.map +0 -1
- package/dist/valkey-BCZqGJ0L.mjs +0 -61
- package/dist/valkey-BCZqGJ0L.mjs.map +0 -1
- package/dist/vi.2VT5v0um-Cs3Z_fCB.mjs.map +0 -1
- package/dist/watchtower-BWuvFGpA.mjs +0 -47
- package/dist/watchtower-BWuvFGpA.mjs.map +0 -1
- package/dist/weaviate-DttY1Hn7.mjs +0 -90
- package/dist/weaviate-DttY1Hn7.mjs.map +0 -1
- package/dist/whisper-CLu7-Vd8.mjs +0 -62
- package/dist/whisper-CLu7-Vd8.mjs.map +0 -1
package/dist/qdrant-DZW9uW4e.mjs
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
//#region src/services/definitions/qdrant.ts
|
|
2
|
-
const qdrantDefinition = {
|
|
3
|
-
id: "qdrant",
|
|
4
|
-
name: "Qdrant Vector DB",
|
|
5
|
-
description: "High-performance vector similarity search engine for building RAG pipelines, semantic search, and AI-powered recommendation systems.",
|
|
6
|
-
category: "vector-db",
|
|
7
|
-
icon: "🧠",
|
|
8
|
-
image: "qdrant/qdrant",
|
|
9
|
-
imageTag: "v1.12.1",
|
|
10
|
-
ports: [{
|
|
11
|
-
host: 6333,
|
|
12
|
-
container: 6333,
|
|
13
|
-
description: "Qdrant REST API",
|
|
14
|
-
exposed: true
|
|
15
|
-
}, {
|
|
16
|
-
host: 6334,
|
|
17
|
-
container: 6334,
|
|
18
|
-
description: "Qdrant gRPC API",
|
|
19
|
-
exposed: false
|
|
20
|
-
}],
|
|
21
|
-
volumes: [{
|
|
22
|
-
name: "qdrant-data",
|
|
23
|
-
containerPath: "/qdrant/storage",
|
|
24
|
-
description: "Persistent Qdrant vector storage"
|
|
25
|
-
}],
|
|
26
|
-
environment: [{
|
|
27
|
-
key: "QDRANT__SERVICE__GRPC_PORT",
|
|
28
|
-
defaultValue: "6334",
|
|
29
|
-
secret: false,
|
|
30
|
-
description: "gRPC port for Qdrant service",
|
|
31
|
-
required: true
|
|
32
|
-
}],
|
|
33
|
-
healthcheck: {
|
|
34
|
-
test: "wget -q --spider http://localhost:6333/healthz || exit 1",
|
|
35
|
-
interval: "30s",
|
|
36
|
-
timeout: "10s",
|
|
37
|
-
retries: 3,
|
|
38
|
-
startPeriod: "10s"
|
|
39
|
-
},
|
|
40
|
-
dependsOn: [],
|
|
41
|
-
restartPolicy: "unless-stopped",
|
|
42
|
-
networks: ["openclaw-network"],
|
|
43
|
-
skills: [{
|
|
44
|
-
skillId: "qdrant-memory",
|
|
45
|
-
autoInstall: true
|
|
46
|
-
}],
|
|
47
|
-
openclawEnvVars: [{
|
|
48
|
-
key: "QDRANT_HOST",
|
|
49
|
-
defaultValue: "qdrant",
|
|
50
|
-
secret: false,
|
|
51
|
-
description: "Qdrant hostname for OpenClaw",
|
|
52
|
-
required: true
|
|
53
|
-
}, {
|
|
54
|
-
key: "QDRANT_PORT",
|
|
55
|
-
defaultValue: "6333",
|
|
56
|
-
secret: false,
|
|
57
|
-
description: "Qdrant REST API port for OpenClaw",
|
|
58
|
-
required: true
|
|
59
|
-
}],
|
|
60
|
-
docsUrl: "https://qdrant.tech/documentation/",
|
|
61
|
-
tags: [
|
|
62
|
-
"vector",
|
|
63
|
-
"rag",
|
|
64
|
-
"embeddings",
|
|
65
|
-
"semantic-search"
|
|
66
|
-
],
|
|
67
|
-
maturity: "stable",
|
|
68
|
-
requires: [],
|
|
69
|
-
recommends: ["redis"],
|
|
70
|
-
conflictsWith: [],
|
|
71
|
-
minMemoryMB: 512,
|
|
72
|
-
gpuRequired: false
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
//#endregion
|
|
76
|
-
export { qdrantDefinition as t };
|
|
77
|
-
//# sourceMappingURL=qdrant-DZW9uW4e.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant-DZW9uW4e.mjs","names":[],"sources":["../src/services/definitions/qdrant.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const qdrantDefinition: ServiceDefinition = {\n\tid: \"qdrant\",\n\tname: \"Qdrant Vector DB\",\n\tdescription:\n\t\t\"High-performance vector similarity search engine for building RAG pipelines, semantic search, and AI-powered recommendation systems.\",\n\tcategory: \"vector-db\",\n\ticon: \"🧠\",\n\n\timage: \"qdrant/qdrant\",\n\timageTag: \"v1.12.1\",\n\tports: [\n\t\t{\n\t\t\thost: 6333,\n\t\t\tcontainer: 6333,\n\t\t\tdescription: \"Qdrant REST API\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 6334,\n\t\t\tcontainer: 6334,\n\t\t\tdescription: \"Qdrant gRPC API\",\n\t\t\texposed: false,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"qdrant-data\",\n\t\t\tcontainerPath: \"/qdrant/storage\",\n\t\t\tdescription: \"Persistent Qdrant vector storage\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"QDRANT__SERVICE__GRPC_PORT\",\n\t\t\tdefaultValue: \"6334\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"gRPC port for Qdrant service\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:6333/healthz || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"10s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"qdrant-memory\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"QDRANT_HOST\",\n\t\t\tdefaultValue: \"qdrant\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Qdrant hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"QDRANT_PORT\",\n\t\t\tdefaultValue: \"6333\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Qdrant REST API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://qdrant.tech/documentation/\",\n\ttags: [\"vector\", \"rag\", \"embeddings\", \"semantic-search\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAiB,aAAa;EAAM,CAAC;CACzD,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAU;EAAO;EAAc;EAAkB;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
|
package/dist/readme-C7M3QE9a.mjs
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
//#region src/generators/readme.ts
|
|
2
|
-
/**
|
|
3
|
-
* Generates a comprehensive README.md for the OpenClaw project.
|
|
4
|
-
*
|
|
5
|
-
* Includes: project description, service table, quick start instructions,
|
|
6
|
-
* service URLs, skill packs, and scripts documentation.
|
|
7
|
-
*/
|
|
8
|
-
function generateReadme(resolved, options) {
|
|
9
|
-
const { projectName, domain, proxy, deploymentType, hasNativeServices } = options;
|
|
10
|
-
const sections = [];
|
|
11
|
-
sections.push(`# ${projectName}
|
|
12
|
-
|
|
13
|
-
> Self-hosted AI agent infrastructure powered by [OpenClaw](https://openclaw.dev).
|
|
14
|
-
|
|
15
|
-
This project provides a fully configured Docker Compose stack with ${resolved.services.length} services, ready to deploy on any server.
|
|
16
|
-
${deploymentType === "bare-metal" && hasNativeServices ? "\n\n**Bare-metal (native + Docker):** Some services run natively on the host; the rest (including the OpenClaw gateway) run in Docker. Use the top-level `install.sh` or `install.ps1` to install/start native services first, then start the Docker stack." : ""}
|
|
17
|
-
|
|
18
|
-
---`);
|
|
19
|
-
const serviceRows = resolved.services.map(({ definition }) => {
|
|
20
|
-
const mainPort = definition.ports.find((p) => p.exposed);
|
|
21
|
-
const url = mainPort ? domain ? `https://${definition.id}.${domain}` : `http://localhost:${mainPort.host}` : "N/A (internal)";
|
|
22
|
-
return `| ${definition.icon} | **${definition.name}** | ${url} | ${definition.description} |`;
|
|
23
|
-
}).join("\n");
|
|
24
|
-
sections.push(`## Services
|
|
25
|
-
|
|
26
|
-
| | Service | URL | Description |
|
|
27
|
-
|---|---------|-----|-------------|
|
|
28
|
-
${serviceRows}
|
|
29
|
-
`);
|
|
30
|
-
sections.push(`## Quick Start
|
|
31
|
-
|
|
32
|
-
### Prerequisites
|
|
33
|
-
|
|
34
|
-
- [Docker](https://docs.docker.com/get-docker/) (v24+)
|
|
35
|
-
- [Docker Compose](https://docs.docker.com/compose/install/) (v2+)
|
|
36
|
-
- At least ${Math.ceil(resolved.estimatedMemoryMB / 1024)}GB of RAM available
|
|
37
|
-
|
|
38
|
-
### 1. Extract the ZIP
|
|
39
|
-
|
|
40
|
-
\`\`\`bash
|
|
41
|
-
unzip ${projectName}.zip
|
|
42
|
-
cd ${projectName}
|
|
43
|
-
\`\`\`
|
|
44
|
-
|
|
45
|
-
### 2. Configure Environment
|
|
46
|
-
|
|
47
|
-
\`\`\`bash
|
|
48
|
-
cp .env.example .env
|
|
49
|
-
\`\`\`
|
|
50
|
-
|
|
51
|
-
Edit \`.env\` and update any values as needed. Secret values have been pre-generated — review and change them for production use.
|
|
52
|
-
|
|
53
|
-
### 3. Start Services
|
|
54
|
-
|
|
55
|
-
\`\`\`bash
|
|
56
|
-
docker compose up -d
|
|
57
|
-
\`\`\`
|
|
58
|
-
|
|
59
|
-
Or use the provided start script:
|
|
60
|
-
|
|
61
|
-
\`\`\`bash
|
|
62
|
-
chmod +x scripts/*.sh
|
|
63
|
-
./scripts/start.sh
|
|
64
|
-
\`\`\`
|
|
65
|
-
|
|
66
|
-
### 4. Check Status
|
|
67
|
-
|
|
68
|
-
\`\`\`bash
|
|
69
|
-
docker compose ps
|
|
70
|
-
\`\`\`
|
|
71
|
-
|
|
72
|
-
### 5. View Logs
|
|
73
|
-
|
|
74
|
-
\`\`\`bash
|
|
75
|
-
docker compose logs -f openclaw-gateway
|
|
76
|
-
\`\`\`
|
|
77
|
-
|
|
78
|
-
All services should show a healthy status within 1–2 minutes.
|
|
79
|
-
`);
|
|
80
|
-
sections.push(`## Using Docker Compose Profiles
|
|
81
|
-
|
|
82
|
-
Your stack may include profile-based compose files for optional service groups. Only the base services start by default — use profiles to activate additional groups:
|
|
83
|
-
|
|
84
|
-
\`\`\`bash
|
|
85
|
-
# Start base services only
|
|
86
|
-
docker compose up -d
|
|
87
|
-
|
|
88
|
-
# Start base + AI services (Ollama, Open WebUI, etc.)
|
|
89
|
-
docker compose -f docker-compose.yml -f docker-compose.ai.yml --profile ai up -d
|
|
90
|
-
|
|
91
|
-
# Start base + monitoring (Grafana, Prometheus, Uptime Kuma)
|
|
92
|
-
docker compose -f docker-compose.yml -f docker-compose.monitoring.yml --profile monitoring up -d
|
|
93
|
-
|
|
94
|
-
# Start base + AI + dev tools
|
|
95
|
-
docker compose -f docker-compose.yml -f docker-compose.ai.yml -f docker-compose.tools.yml --profile ai --profile tools up -d
|
|
96
|
-
\`\`\`
|
|
97
|
-
|
|
98
|
-
Available profile files (if generated):
|
|
99
|
-
| File | Profile | Services |
|
|
100
|
-
|------|---------|----------|
|
|
101
|
-
| \`docker-compose.ai.yml\` | \`ai\` | AI models, chat UIs, LLM platforms |
|
|
102
|
-
| \`docker-compose.media.yml\` | \`media\` | FFmpeg, Remotion, Motion Canvas |
|
|
103
|
-
| \`docker-compose.monitoring.yml\` | \`monitoring\` | Grafana, Prometheus, Uptime Kuma, analytics |
|
|
104
|
-
| \`docker-compose.tools.yml\` | \`tools\` | Gitea, code-server, Portainer, coding agents |
|
|
105
|
-
| \`docker-compose.social.yml\` | \`social\` | Postiz, Mixpost |
|
|
106
|
-
| \`docker-compose.knowledge.yml\` | \`knowledge\` | Outline, Paperless-ngx, NocoDB |
|
|
107
|
-
| \`docker-compose.communication.yml\` | \`communication\` | Matrix, Rocket.Chat, Mattermost |
|
|
108
|
-
`);
|
|
109
|
-
const portRows = resolved.services.filter(({ definition }) => definition.ports.length > 0).map(({ definition }) => {
|
|
110
|
-
const ports = definition.ports.map((p) => `\`${p.host}\` → \`${p.container}\` (${p.description})`).join(", ");
|
|
111
|
-
return `| ${definition.icon} ${definition.name} | ${ports} |`;
|
|
112
|
-
}).join("\n");
|
|
113
|
-
if (portRows) sections.push(`## Ports
|
|
114
|
-
|
|
115
|
-
| Service | Ports |
|
|
116
|
-
|---------|-------|
|
|
117
|
-
${portRows}
|
|
118
|
-
`);
|
|
119
|
-
const allSkills = resolved.services.flatMap(({ definition }) => definition.skills.map((s) => ({
|
|
120
|
-
skillId: s.skillId,
|
|
121
|
-
serviceName: definition.name,
|
|
122
|
-
serviceIcon: definition.icon
|
|
123
|
-
})));
|
|
124
|
-
if (allSkills.length > 0) {
|
|
125
|
-
const skillRows = allSkills.map((s) => `| \`${s.skillId}\` | ${s.serviceIcon} ${s.serviceName} |`).join("\n");
|
|
126
|
-
sections.push(`## Skills
|
|
127
|
-
|
|
128
|
-
The following OpenClaw skills are automatically installed:
|
|
129
|
-
|
|
130
|
-
| Skill | Service |
|
|
131
|
-
|-------|---------|
|
|
132
|
-
${skillRows}
|
|
133
|
-
|
|
134
|
-
Skills are located in \`openclaw/workspace/skills/\`. Each skill provides a \`SKILL.md\` with usage instructions.
|
|
135
|
-
`);
|
|
136
|
-
}
|
|
137
|
-
if (proxy && proxy !== "none") {
|
|
138
|
-
const proxyName = proxy === "caddy" ? "Caddy" : "Traefik";
|
|
139
|
-
sections.push(`## Reverse Proxy
|
|
140
|
-
|
|
141
|
-
This stack uses **${proxyName}** as a reverse proxy.${domain ? ` All services are available under \`${domain}\`.` : ""}
|
|
142
|
-
|
|
143
|
-
${proxy === "caddy" ? "The Caddyfile is located at `config/Caddyfile`." : "Traefik configuration is handled via Docker labels."}
|
|
144
|
-
`);
|
|
145
|
-
}
|
|
146
|
-
sections.push(`## Management Scripts
|
|
147
|
-
|
|
148
|
-
\`\`\`bash
|
|
149
|
-
chmod +x scripts/*.sh # Make scripts executable (first time only)
|
|
150
|
-
\`\`\`
|
|
151
|
-
|
|
152
|
-
| Script | Description |
|
|
153
|
-
|--------|-------------|
|
|
154
|
-
| \`./scripts/start.sh\` | Validates .env, auto-generates gateway token, creates dirs, starts all services with health checks |
|
|
155
|
-
| \`./scripts/stop.sh\` | Gracefully stops all services |
|
|
156
|
-
| \`./scripts/update.sh\` | Pulls latest Docker images and restarts services |
|
|
157
|
-
| \`./scripts/backup.sh\` | Backs up all named Docker volumes to timestamped archives |
|
|
158
|
-
| \`./scripts/status.sh\` | Shows current service status, resource usage, and disk |
|
|
159
|
-
`);
|
|
160
|
-
const volumeRows = resolved.services.flatMap(({ definition }) => definition.volumes.map((v) => ({
|
|
161
|
-
name: v.name,
|
|
162
|
-
path: v.containerPath,
|
|
163
|
-
description: v.description,
|
|
164
|
-
serviceName: definition.name
|
|
165
|
-
})));
|
|
166
|
-
if (volumeRows.length > 0) {
|
|
167
|
-
const rows = volumeRows.map((v) => `| \`${v.name}\` | ${v.serviceName} | ${v.description} |`).join("\n");
|
|
168
|
-
sections.push(`## Volumes
|
|
169
|
-
|
|
170
|
-
| Volume | Service | Description |
|
|
171
|
-
|--------|---------|-------------|
|
|
172
|
-
${rows}
|
|
173
|
-
|
|
174
|
-
> **Tip:** Use \`scripts/backup.sh\` to back up all volumes before updates.
|
|
175
|
-
`);
|
|
176
|
-
}
|
|
177
|
-
sections.push(`## Resource Estimates
|
|
178
|
-
|
|
179
|
-
- **Services:** ${resolved.services.length}
|
|
180
|
-
- **Estimated RAM:** ~${(resolved.estimatedMemoryMB / 1024).toFixed(1)}GB
|
|
181
|
-
- **Recommended minimum:** ${Math.ceil(resolved.estimatedMemoryMB / 1024) + 2}GB RAM
|
|
182
|
-
`);
|
|
183
|
-
if (resolved.warnings.length > 0) {
|
|
184
|
-
const warningList = resolved.warnings.map((w) => `- ⚠️ ${w.message}`).join("\n");
|
|
185
|
-
sections.push(`## Warnings
|
|
186
|
-
|
|
187
|
-
${warningList}
|
|
188
|
-
`);
|
|
189
|
-
}
|
|
190
|
-
sections.push(`---
|
|
191
|
-
|
|
192
|
-
Generated by [OpenClaw](https://openclaw.dev) • ${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}
|
|
193
|
-
`);
|
|
194
|
-
return sections.join("\n");
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
//#endregion
|
|
198
|
-
export { generateReadme as t };
|
|
199
|
-
//# sourceMappingURL=readme-C7M3QE9a.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readme-C7M3QE9a.mjs","names":[],"sources":["../src/generators/readme.ts"],"sourcesContent":["import type { ResolverOutput } from \"../types.js\";\n\n/**\n * Options for README generation.\n */\nexport interface ReadmeOptions {\n\tprojectName: string;\n\tdomain?: string;\n\tproxy?: string;\n\t/** When \"bare-metal\", the stack uses native + Docker hybrid. */\n\tdeploymentType?: \"docker\" | \"bare-metal\";\n\t/** True when some services run natively on the host (bare-metal only). */\n\thasNativeServices?: boolean;\n}\n\n/**\n * Generates a comprehensive README.md for the OpenClaw project.\n *\n * Includes: project description, service table, quick start instructions,\n * service URLs, skill packs, and scripts documentation.\n */\nexport function generateReadme(resolved: ResolverOutput, options: ReadmeOptions): string {\n\tconst { projectName, domain, proxy, deploymentType, hasNativeServices } = options;\n\tconst sections: string[] = [];\n\n\t// ── Title & Description ─────────────────────────────────────────────────\n\n\tsections.push(`# ${projectName}\n\n> Self-hosted AI agent infrastructure powered by [OpenClaw](https://openclaw.dev).\n\nThis project provides a fully configured Docker Compose stack with ${resolved.services.length} services, ready to deploy on any server.\n${deploymentType === \"bare-metal\" && hasNativeServices ? \"\\n\\n**Bare-metal (native + Docker):** Some services run natively on the host; the rest (including the OpenClaw gateway) run in Docker. Use the top-level `install.sh` or `install.ps1` to install/start native services first, then start the Docker stack.\" : \"\"}\n\n---`);\n\n\t// ── Service Table ────────────────────────────────────────────────────────\n\n\tconst serviceRows = resolved.services\n\t\t.map(({ definition }) => {\n\t\t\tconst mainPort = definition.ports.find((p) => p.exposed);\n\t\t\tconst url = mainPort\n\t\t\t\t? domain\n\t\t\t\t\t? `https://${definition.id}.${domain}`\n\t\t\t\t\t: `http://localhost:${mainPort.host}`\n\t\t\t\t: \"N/A (internal)\";\n\t\t\treturn `| ${definition.icon} | **${definition.name}** | ${url} | ${definition.description} |`;\n\t\t})\n\t\t.join(\"\\n\");\n\n\tsections.push(`## Services\n\n| | Service | URL | Description |\n|---|---------|-----|-------------|\n${serviceRows}\n`);\n\n\t// ── Quick Start ──────────────────────────────────────────────────────────\n\n\tsections.push(`## Quick Start\n\n### Prerequisites\n\n- [Docker](https://docs.docker.com/get-docker/) (v24+)\n- [Docker Compose](https://docs.docker.com/compose/install/) (v2+)\n- At least ${Math.ceil(resolved.estimatedMemoryMB / 1024)}GB of RAM available\n\n### 1. Extract the ZIP\n\n\\`\\`\\`bash\nunzip ${projectName}.zip\ncd ${projectName}\n\\`\\`\\`\n\n### 2. Configure Environment\n\n\\`\\`\\`bash\ncp .env.example .env\n\\`\\`\\`\n\nEdit \\`.env\\` and update any values as needed. Secret values have been pre-generated — review and change them for production use.\n\n### 3. Start Services\n\n\\`\\`\\`bash\ndocker compose up -d\n\\`\\`\\`\n\nOr use the provided start script:\n\n\\`\\`\\`bash\nchmod +x scripts/*.sh\n./scripts/start.sh\n\\`\\`\\`\n\n### 4. Check Status\n\n\\`\\`\\`bash\ndocker compose ps\n\\`\\`\\`\n\n### 5. View Logs\n\n\\`\\`\\`bash\ndocker compose logs -f openclaw-gateway\n\\`\\`\\`\n\nAll services should show a healthy status within 1–2 minutes.\n`);\n\n\t// ── Docker Compose Profiles ──────────────────────────────────────────────\n\n\tsections.push(`## Using Docker Compose Profiles\n\nYour stack may include profile-based compose files for optional service groups. Only the base services start by default — use profiles to activate additional groups:\n\n\\`\\`\\`bash\n# Start base services only\ndocker compose up -d\n\n# Start base + AI services (Ollama, Open WebUI, etc.)\ndocker compose -f docker-compose.yml -f docker-compose.ai.yml --profile ai up -d\n\n# Start base + monitoring (Grafana, Prometheus, Uptime Kuma)\ndocker compose -f docker-compose.yml -f docker-compose.monitoring.yml --profile monitoring up -d\n\n# Start base + AI + dev tools\ndocker compose -f docker-compose.yml -f docker-compose.ai.yml -f docker-compose.tools.yml --profile ai --profile tools up -d\n\\`\\`\\`\n\nAvailable profile files (if generated):\n| File | Profile | Services |\n|------|---------|----------|\n| \\`docker-compose.ai.yml\\` | \\`ai\\` | AI models, chat UIs, LLM platforms |\n| \\`docker-compose.media.yml\\` | \\`media\\` | FFmpeg, Remotion, Motion Canvas |\n| \\`docker-compose.monitoring.yml\\` | \\`monitoring\\` | Grafana, Prometheus, Uptime Kuma, analytics |\n| \\`docker-compose.tools.yml\\` | \\`tools\\` | Gitea, code-server, Portainer, coding agents |\n| \\`docker-compose.social.yml\\` | \\`social\\` | Postiz, Mixpost |\n| \\`docker-compose.knowledge.yml\\` | \\`knowledge\\` | Outline, Paperless-ngx, NocoDB |\n| \\`docker-compose.communication.yml\\` | \\`communication\\` | Matrix, Rocket.Chat, Mattermost |\n`);\n\n\t// ── Service URLs & Ports ─────────────────────────────────────────────────\n\n\tconst portRows = resolved.services\n\t\t.filter(({ definition }) => definition.ports.length > 0)\n\t\t.map(({ definition }) => {\n\t\t\tconst ports = definition.ports\n\t\t\t\t.map((p) => `\\`${p.host}\\` → \\`${p.container}\\` (${p.description})`)\n\t\t\t\t.join(\", \");\n\t\t\treturn `| ${definition.icon} ${definition.name} | ${ports} |`;\n\t\t})\n\t\t.join(\"\\n\");\n\n\tif (portRows) {\n\t\tsections.push(`## Ports\n\n| Service | Ports |\n|---------|-------|\n${portRows}\n`);\n\t}\n\n\t// ── Skill Packs ─────────────────────────────────────────────────────────\n\n\tconst allSkills = resolved.services.flatMap(({ definition }) =>\n\t\tdefinition.skills.map((s) => ({\n\t\t\tskillId: s.skillId,\n\t\t\tserviceName: definition.name,\n\t\t\tserviceIcon: definition.icon,\n\t\t})),\n\t);\n\n\tif (allSkills.length > 0) {\n\t\tconst skillRows = allSkills\n\t\t\t.map((s) => `| \\`${s.skillId}\\` | ${s.serviceIcon} ${s.serviceName} |`)\n\t\t\t.join(\"\\n\");\n\n\t\tsections.push(`## Skills\n\nThe following OpenClaw skills are automatically installed:\n\n| Skill | Service |\n|-------|---------|\n${skillRows}\n\nSkills are located in \\`openclaw/workspace/skills/\\`. Each skill provides a \\`SKILL.md\\` with usage instructions.\n`);\n\t}\n\n\t// ── Proxy Configuration ─────────────────────────────────────────────────\n\n\tif (proxy && proxy !== \"none\") {\n\t\tconst proxyName = proxy === \"caddy\" ? \"Caddy\" : \"Traefik\";\n\t\tsections.push(`## Reverse Proxy\n\nThis stack uses **${proxyName}** as a reverse proxy.${domain ? ` All services are available under \\`${domain}\\`.` : \"\"}\n\n${proxy === \"caddy\" ? \"The Caddyfile is located at `config/Caddyfile`.\" : \"Traefik configuration is handled via Docker labels.\"}\n`);\n\t}\n\n\t// ── Scripts ──────────────────────────────────────────────────────────────\n\n\tsections.push(`## Management Scripts\n\n\\`\\`\\`bash\nchmod +x scripts/*.sh # Make scripts executable (first time only)\n\\`\\`\\`\n\n| Script | Description |\n|--------|-------------|\n| \\`./scripts/start.sh\\` | Validates .env, auto-generates gateway token, creates dirs, starts all services with health checks |\n| \\`./scripts/stop.sh\\` | Gracefully stops all services |\n| \\`./scripts/update.sh\\` | Pulls latest Docker images and restarts services |\n| \\`./scripts/backup.sh\\` | Backs up all named Docker volumes to timestamped archives |\n| \\`./scripts/status.sh\\` | Shows current service status, resource usage, and disk |\n`);\n\n\t// ── Data & Volumes ──────────────────────────────────────────────────────\n\n\tconst volumeRows = resolved.services.flatMap(({ definition }) =>\n\t\tdefinition.volumes.map((v) => ({\n\t\t\tname: v.name,\n\t\t\tpath: v.containerPath,\n\t\t\tdescription: v.description,\n\t\t\tserviceName: definition.name,\n\t\t})),\n\t);\n\n\tif (volumeRows.length > 0) {\n\t\tconst rows = volumeRows\n\t\t\t.map((v) => `| \\`${v.name}\\` | ${v.serviceName} | ${v.description} |`)\n\t\t\t.join(\"\\n\");\n\n\t\tsections.push(`## Volumes\n\n| Volume | Service | Description |\n|--------|---------|-------------|\n${rows}\n\n> **Tip:** Use \\`scripts/backup.sh\\` to back up all volumes before updates.\n`);\n\t}\n\n\t// ── Estimated Resources ─────────────────────────────────────────────────\n\n\tsections.push(`## Resource Estimates\n\n- **Services:** ${resolved.services.length}\n- **Estimated RAM:** ~${(resolved.estimatedMemoryMB / 1024).toFixed(1)}GB\n- **Recommended minimum:** ${Math.ceil(resolved.estimatedMemoryMB / 1024) + 2}GB RAM\n`);\n\n\t// ── Warnings ─────────────────────────────────────────────────────────────\n\n\tif (resolved.warnings.length > 0) {\n\t\tconst warningList = resolved.warnings.map((w) => `- ⚠️ ${w.message}`).join(\"\\n\");\n\n\t\tsections.push(`## Warnings\n\n${warningList}\n`);\n\t}\n\n\t// ── Footer ──────────────────────────────────────────────────────────────\n\n\tsections.push(`---\n\nGenerated by [OpenClaw](https://openclaw.dev) • ${new Date().toISOString().split(\"T\")[0]}\n`);\n\n\treturn sections.join(\"\\n\");\n}\n"],"mappings":";;;;;;;AAqBA,SAAgB,eAAe,UAA0B,SAAgC;CACxF,MAAM,EAAE,aAAa,QAAQ,OAAO,gBAAgB,sBAAsB;CAC1E,MAAM,WAAqB,EAAE;AAI7B,UAAS,KAAK,KAAK,YAAY;;;;qEAIqC,SAAS,SAAS,OAAO;EAC5F,mBAAmB,gBAAgB,oBAAoB,gQAAgQ,GAAG;;KAEvT;CAIJ,MAAM,cAAc,SAAS,SAC3B,KAAK,EAAE,iBAAiB;EACxB,MAAM,WAAW,WAAW,MAAM,MAAM,MAAM,EAAE,QAAQ;EACxD,MAAM,MAAM,WACT,SACC,WAAW,WAAW,GAAG,GAAG,WAC5B,oBAAoB,SAAS,SAC9B;AACH,SAAO,KAAK,WAAW,KAAK,OAAO,WAAW,KAAK,OAAO,IAAI,KAAK,WAAW,YAAY;GACzF,CACD,KAAK,KAAK;AAEZ,UAAS,KAAK;;;;EAIb,YAAY;EACZ;AAID,UAAS,KAAK;;;;;;aAMF,KAAK,KAAK,SAAS,oBAAoB,KAAK,CAAC;;;;;QAKlD,YAAY;KACf,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCf;AAID,UAAS,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Bb;CAID,MAAM,WAAW,SAAS,SACxB,QAAQ,EAAE,iBAAiB,WAAW,MAAM,SAAS,EAAE,CACvD,KAAK,EAAE,iBAAiB;EACxB,MAAM,QAAQ,WAAW,MACvB,KAAK,MAAM,KAAK,EAAE,KAAK,SAAS,EAAE,UAAU,MAAM,EAAE,YAAY,GAAG,CACnE,KAAK,KAAK;AACZ,SAAO,KAAK,WAAW,KAAK,GAAG,WAAW,KAAK,KAAK,MAAM;GACzD,CACD,KAAK,KAAK;AAEZ,KAAI,SACH,UAAS,KAAK;;;;EAId,SAAS;EACT;CAKD,MAAM,YAAY,SAAS,SAAS,SAAS,EAAE,iBAC9C,WAAW,OAAO,KAAK,OAAO;EAC7B,SAAS,EAAE;EACX,aAAa,WAAW;EACxB,aAAa,WAAW;EACxB,EAAE,CACH;AAED,KAAI,UAAU,SAAS,GAAG;EACzB,MAAM,YAAY,UAChB,KAAK,MAAM,OAAO,EAAE,QAAQ,OAAO,EAAE,YAAY,GAAG,EAAE,YAAY,IAAI,CACtE,KAAK,KAAK;AAEZ,WAAS,KAAK;;;;;;EAMd,UAAU;;;EAGV;;AAKD,KAAI,SAAS,UAAU,QAAQ;EAC9B,MAAM,YAAY,UAAU,UAAU,UAAU;AAChD,WAAS,KAAK;;oBAEI,UAAU,wBAAwB,SAAS,uCAAuC,OAAO,OAAO,GAAG;;EAErH,UAAU,UAAU,oDAAoD,sDAAsD;EAC9H;;AAKD,UAAS,KAAK;;;;;;;;;;;;;EAab;CAID,MAAM,aAAa,SAAS,SAAS,SAAS,EAAE,iBAC/C,WAAW,QAAQ,KAAK,OAAO;EAC9B,MAAM,EAAE;EACR,MAAM,EAAE;EACR,aAAa,EAAE;EACf,aAAa,WAAW;EACxB,EAAE,CACH;AAED,KAAI,WAAW,SAAS,GAAG;EAC1B,MAAM,OAAO,WACX,KAAK,MAAM,OAAO,EAAE,KAAK,OAAO,EAAE,YAAY,KAAK,EAAE,YAAY,IAAI,CACrE,KAAK,KAAK;AAEZ,WAAS,KAAK;;;;EAId,KAAK;;;EAGL;;AAKD,UAAS,KAAK;;kBAEG,SAAS,SAAS,OAAO;yBAClB,SAAS,oBAAoB,MAAM,QAAQ,EAAE,CAAC;6BAC1C,KAAK,KAAK,SAAS,oBAAoB,KAAK,GAAG,EAAE;EAC5E;AAID,KAAI,SAAS,SAAS,SAAS,GAAG;EACjC,MAAM,cAAc,SAAS,SAAS,KAAK,MAAM,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK;AAEhF,WAAS,KAAK;;EAEd,YAAY;EACZ;;AAKD,UAAS,KAAK;;mEAEmC,IAAI,MAAM,EAAC,aAAa,CAAC,MAAM,IAAI,CAAC,GAAG;EACvF;AAED,QAAO,SAAS,KAAK,KAAK"}
|
package/dist/redis-DPMOf237.mjs
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
//#region src/services/definitions/redis.ts
|
|
2
|
-
const redisDefinition = {
|
|
3
|
-
id: "redis",
|
|
4
|
-
name: "Redis",
|
|
5
|
-
description: "In-memory data store used for caching, session management, pub/sub messaging, and as a high-performance key-value database.",
|
|
6
|
-
category: "database",
|
|
7
|
-
icon: "🔴",
|
|
8
|
-
image: "redis",
|
|
9
|
-
imageTag: "7-alpine",
|
|
10
|
-
ports: [{
|
|
11
|
-
host: 6379,
|
|
12
|
-
container: 6379,
|
|
13
|
-
description: "Redis server port",
|
|
14
|
-
exposed: true
|
|
15
|
-
}],
|
|
16
|
-
volumes: [{
|
|
17
|
-
name: "redis-data",
|
|
18
|
-
containerPath: "/data",
|
|
19
|
-
description: "Persistent Redis data"
|
|
20
|
-
}],
|
|
21
|
-
environment: [{
|
|
22
|
-
key: "REDIS_PASSWORD",
|
|
23
|
-
defaultValue: "changeme",
|
|
24
|
-
secret: true,
|
|
25
|
-
description: "Password for Redis authentication",
|
|
26
|
-
required: true
|
|
27
|
-
}],
|
|
28
|
-
healthcheck: {
|
|
29
|
-
test: "redis-cli ping",
|
|
30
|
-
interval: "10s",
|
|
31
|
-
timeout: "5s",
|
|
32
|
-
retries: 3
|
|
33
|
-
},
|
|
34
|
-
dependsOn: [],
|
|
35
|
-
restartPolicy: "unless-stopped",
|
|
36
|
-
networks: ["openclaw-network"],
|
|
37
|
-
skills: [{
|
|
38
|
-
skillId: "redis-cache",
|
|
39
|
-
autoInstall: true
|
|
40
|
-
}],
|
|
41
|
-
openclawEnvVars: [
|
|
42
|
-
{
|
|
43
|
-
key: "REDIS_HOST",
|
|
44
|
-
defaultValue: "redis",
|
|
45
|
-
secret: false,
|
|
46
|
-
description: "Redis hostname for OpenClaw",
|
|
47
|
-
required: true
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
key: "REDIS_PORT",
|
|
51
|
-
defaultValue: "6379",
|
|
52
|
-
secret: false,
|
|
53
|
-
description: "Redis port for OpenClaw",
|
|
54
|
-
required: true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "REDIS_PASSWORD",
|
|
58
|
-
defaultValue: "${REDIS_PASSWORD}",
|
|
59
|
-
secret: true,
|
|
60
|
-
description: "Redis password for OpenClaw (references service password)",
|
|
61
|
-
required: true
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
|
-
docsUrl: "https://redis.io/docs",
|
|
65
|
-
tags: [
|
|
66
|
-
"cache",
|
|
67
|
-
"pubsub",
|
|
68
|
-
"message-bus",
|
|
69
|
-
"session-store"
|
|
70
|
-
],
|
|
71
|
-
maturity: "stable",
|
|
72
|
-
requires: [],
|
|
73
|
-
recommends: [],
|
|
74
|
-
conflictsWith: ["valkey"],
|
|
75
|
-
minMemoryMB: 128,
|
|
76
|
-
gpuRequired: false,
|
|
77
|
-
nativeSupported: true,
|
|
78
|
-
nativeRecipes: [{
|
|
79
|
-
platform: "linux",
|
|
80
|
-
installSteps: ["command -v redis-server >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq redis-server)", "command -v redis-server >/dev/null 2>&1 || (command -v dnf >/dev/null 2>&1 && sudo dnf install -y redis)"],
|
|
81
|
-
startCommand: "sudo systemctl start redis-server 2>/dev/null || sudo systemctl start redis",
|
|
82
|
-
stopCommand: "sudo systemctl stop redis-server 2>/dev/null || sudo systemctl stop redis",
|
|
83
|
-
configPath: "/etc/redis/redis.conf",
|
|
84
|
-
configTemplate: "# Generated for OpenClaw bare-metal\nport 6379\nrequirepass ${REDIS_PASSWORD}\nbind 127.0.0.1 ::1\n",
|
|
85
|
-
systemdUnit: "redis-server"
|
|
86
|
-
}]
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
//#endregion
|
|
90
|
-
export { redisDefinition as t };
|
|
91
|
-
//# sourceMappingURL=redis-DPMOf237.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis-DPMOf237.mjs","names":[],"sources":["../src/services/definitions/redis.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const redisDefinition: ServiceDefinition = {\n\tid: \"redis\",\n\tname: \"Redis\",\n\tdescription:\n\t\t\"In-memory data store used for caching, session management, pub/sub messaging, and as a high-performance key-value database.\",\n\tcategory: \"database\",\n\ticon: \"🔴\",\n\n\timage: \"redis\",\n\timageTag: \"7-alpine\",\n\tports: [\n\t\t{\n\t\t\thost: 6379,\n\t\t\tcontainer: 6379,\n\t\t\tdescription: \"Redis server port\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"redis-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent Redis data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"REDIS_PASSWORD\",\n\t\t\tdefaultValue: \"changeme\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Password for Redis authentication\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"redis-cli ping\",\n\t\tinterval: \"10s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 3,\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"redis-cache\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"REDIS_HOST\",\n\t\t\tdefaultValue: \"redis\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Redis hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"REDIS_PORT\",\n\t\t\tdefaultValue: \"6379\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Redis port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"REDIS_PASSWORD\",\n\t\t\tdefaultValue: \"${REDIS_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Redis password for OpenClaw (references service password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://redis.io/docs\",\n\ttags: [\"cache\", \"pubsub\", \"message-bus\", \"session-store\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [\"valkey\"],\n\n\tminMemoryMB: 128,\n\tgpuRequired: false,\n\n\tnativeSupported: true,\n\tnativeRecipes: [\n\t\t{\n\t\t\tplatform: \"linux\",\n\t\t\tinstallSteps: [\n\t\t\t\t\"command -v redis-server >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq redis-server)\",\n\t\t\t\t\"command -v redis-server >/dev/null 2>&1 || (command -v dnf >/dev/null 2>&1 && sudo dnf install -y redis)\",\n\t\t\t],\n\t\t\tstartCommand: \"sudo systemctl start redis-server 2>/dev/null || sudo systemctl start redis\",\n\t\t\tstopCommand: \"sudo systemctl stop redis-server 2>/dev/null || sudo systemctl stop redis\",\n\t\t\tconfigPath: \"/etc/redis/redis.conf\",\n\t\t\tconfigTemplate:\n\t\t\t\t\"# Generated for OpenClaw bare-metal\\nport 6379\\nrequirepass ${REDIS_PASSWORD}\\nbind 127.0.0.1 ::1\\n\",\n\t\t\tsystemdUnit: \"redis-server\",\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAS;EAAU;EAAe;EAAgB;CACzD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,CAAC,SAAS;CAEzB,aAAa;CACb,aAAa;CAEb,iBAAiB;CACjB,eAAe,CACd;EACC,UAAU;EACV,cAAc,CACb,0JACA,2GACA;EACD,cAAc;EACd,aAAa;EACb,YAAY;EACZ,gBACC;EACD,aAAa;EACb,CACD;CACD"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { t as allServiceDefinitions } from "./definitions-BXpb1kzs.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/services/registry.ts
|
|
4
|
-
const registryMap = /* @__PURE__ */ new Map();
|
|
5
|
-
for (const def of allServiceDefinitions) {
|
|
6
|
-
if (registryMap.has(def.id)) throw new Error(`Duplicate service definition ID: "${def.id}". Each service must have a unique ID.`);
|
|
7
|
-
registryMap.set(def.id, def);
|
|
8
|
-
}
|
|
9
|
-
/** Readonly map of all registered services indexed by ID */
|
|
10
|
-
const serviceRegistry = registryMap;
|
|
11
|
-
/** Look up a service by its unique ID */
|
|
12
|
-
function getServiceById(id) {
|
|
13
|
-
return registryMap.get(id);
|
|
14
|
-
}
|
|
15
|
-
/** Get all services in a given category */
|
|
16
|
-
function getServicesByCategory(category) {
|
|
17
|
-
return allServiceDefinitions.filter((s) => s.category === category);
|
|
18
|
-
}
|
|
19
|
-
/** Get all registered services */
|
|
20
|
-
function getAllServices() {
|
|
21
|
-
return [...allServiceDefinitions];
|
|
22
|
-
}
|
|
23
|
-
/** Get services matching a specific tag */
|
|
24
|
-
function getServicesByTag(tag) {
|
|
25
|
-
return allServiceDefinitions.filter((s) => s.tags.includes(tag));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
//#endregion
|
|
29
|
-
export { serviceRegistry as a, getServicesByTag as i, getServiceById as n, getServicesByCategory as r, getAllServices as t };
|
|
30
|
-
//# sourceMappingURL=registry-CqLarEm5.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry-CqLarEm5.mjs","names":[],"sources":["../src/services/registry.ts"],"sourcesContent":["import type { ServiceCategory, ServiceDefinition } from \"../types.js\";\nimport { allServiceDefinitions } from \"./definitions/index.js\";\n\n// Build the registry map and validate no duplicates\nconst registryMap = new Map<string, ServiceDefinition>();\n\nfor (const def of allServiceDefinitions) {\n\tif (registryMap.has(def.id)) {\n\t\tthrow new Error(\n\t\t\t`Duplicate service definition ID: \"${def.id}\". Each service must have a unique ID.`,\n\t\t);\n\t}\n\tregistryMap.set(def.id, def);\n}\n\n/** Readonly map of all registered services indexed by ID */\nexport const serviceRegistry: ReadonlyMap<string, ServiceDefinition> = registryMap;\n\n/** Look up a service by its unique ID */\nexport function getServiceById(id: string): ServiceDefinition | undefined {\n\treturn registryMap.get(id);\n}\n\n/** Get all services in a given category */\nexport function getServicesByCategory(category: ServiceCategory): ServiceDefinition[] {\n\treturn allServiceDefinitions.filter((s) => s.category === category);\n}\n\n/** Get all registered services */\nexport function getAllServices(): ServiceDefinition[] {\n\treturn [...allServiceDefinitions];\n}\n\n/** Get services matching a specific tag */\nexport function getServicesByTag(tag: string): ServiceDefinition[] {\n\treturn allServiceDefinitions.filter((s) => s.tags.includes(tag));\n}\n"],"mappings":";;;AAIA,MAAM,8BAAc,IAAI,KAAgC;AAExD,KAAK,MAAM,OAAO,uBAAuB;AACxC,KAAI,YAAY,IAAI,IAAI,GAAG,CAC1B,OAAM,IAAI,MACT,qCAAqC,IAAI,GAAG,wCAC5C;AAEF,aAAY,IAAI,IAAI,IAAI,IAAI;;;AAI7B,MAAa,kBAA0D;;AAGvE,SAAgB,eAAe,IAA2C;AACzE,QAAO,YAAY,IAAI,GAAG;;;AAI3B,SAAgB,sBAAsB,UAAgD;AACrF,QAAO,sBAAsB,QAAQ,MAAM,EAAE,aAAa,SAAS;;;AAIpE,SAAgB,iBAAsC;AACrD,QAAO,CAAC,GAAG,sBAAsB;;;AAIlC,SAAgB,iBAAiB,KAAkC;AAClE,QAAO,sBAAsB,QAAQ,MAAM,EAAE,KAAK,SAAS,IAAI,CAAC"}
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
//#region src/skills/registry.ts
|
|
2
|
-
const skillPacks = [
|
|
3
|
-
{
|
|
4
|
-
id: "video-creator",
|
|
5
|
-
name: "Video Creator",
|
|
6
|
-
description: "Create and process videos programmatically with FFmpeg, Remotion, and MinIO storage",
|
|
7
|
-
requiredServices: [
|
|
8
|
-
"ffmpeg",
|
|
9
|
-
"remotion",
|
|
10
|
-
"minio"
|
|
11
|
-
],
|
|
12
|
-
skills: [
|
|
13
|
-
"ffmpeg-process",
|
|
14
|
-
"remotion-render",
|
|
15
|
-
"minio-storage"
|
|
16
|
-
],
|
|
17
|
-
icon: "🎬",
|
|
18
|
-
tags: [
|
|
19
|
-
"video",
|
|
20
|
-
"media",
|
|
21
|
-
"rendering"
|
|
22
|
-
]
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: "research-agent",
|
|
26
|
-
name: "Research Agent",
|
|
27
|
-
description: "Research the web, store findings in vector memory, and scrape full pages",
|
|
28
|
-
requiredServices: [
|
|
29
|
-
"qdrant",
|
|
30
|
-
"searxng",
|
|
31
|
-
"browserless"
|
|
32
|
-
],
|
|
33
|
-
skills: [
|
|
34
|
-
"qdrant-memory",
|
|
35
|
-
"searxng-search",
|
|
36
|
-
"browserless-browse"
|
|
37
|
-
],
|
|
38
|
-
icon: "🔬",
|
|
39
|
-
tags: [
|
|
40
|
-
"research",
|
|
41
|
-
"rag",
|
|
42
|
-
"web-scraping"
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
id: "social-media",
|
|
47
|
-
name: "Social Media",
|
|
48
|
-
description: "Process and manage social media content with video tools, caching, and asset storage",
|
|
49
|
-
requiredServices: [
|
|
50
|
-
"ffmpeg",
|
|
51
|
-
"redis",
|
|
52
|
-
"minio"
|
|
53
|
-
],
|
|
54
|
-
skills: [
|
|
55
|
-
"ffmpeg-process",
|
|
56
|
-
"redis-cache",
|
|
57
|
-
"minio-storage"
|
|
58
|
-
],
|
|
59
|
-
icon: "📱",
|
|
60
|
-
tags: [
|
|
61
|
-
"social",
|
|
62
|
-
"content",
|
|
63
|
-
"scheduling"
|
|
64
|
-
]
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
id: "dev-ops",
|
|
68
|
-
name: "DevOps",
|
|
69
|
-
description: "Monitor services, automate workflows, and manage infrastructure alerts",
|
|
70
|
-
requiredServices: [
|
|
71
|
-
"n8n",
|
|
72
|
-
"redis",
|
|
73
|
-
"uptime-kuma",
|
|
74
|
-
"grafana",
|
|
75
|
-
"prometheus"
|
|
76
|
-
],
|
|
77
|
-
skills: ["n8n-trigger", "redis-cache"],
|
|
78
|
-
icon: "⚙️",
|
|
79
|
-
tags: [
|
|
80
|
-
"devops",
|
|
81
|
-
"monitoring",
|
|
82
|
-
"automation"
|
|
83
|
-
]
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
id: "knowledge-base",
|
|
87
|
-
name: "Knowledge Base",
|
|
88
|
-
description: "Index documents with vector search and full-text search for comprehensive retrieval",
|
|
89
|
-
requiredServices: [
|
|
90
|
-
"qdrant",
|
|
91
|
-
"postgresql",
|
|
92
|
-
"meilisearch"
|
|
93
|
-
],
|
|
94
|
-
skills: ["qdrant-memory"],
|
|
95
|
-
icon: "📚",
|
|
96
|
-
tags: [
|
|
97
|
-
"knowledge",
|
|
98
|
-
"search",
|
|
99
|
-
"indexing"
|
|
100
|
-
]
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
id: "local-ai",
|
|
104
|
-
name: "Local AI",
|
|
105
|
-
description: "Run local LLM inference and speech-to-text transcription without external APIs",
|
|
106
|
-
requiredServices: ["ollama", "whisper"],
|
|
107
|
-
skills: ["ollama-local-llm", "whisper-transcribe"],
|
|
108
|
-
icon: "🤖",
|
|
109
|
-
tags: [
|
|
110
|
-
"local-llm",
|
|
111
|
-
"transcription",
|
|
112
|
-
"offline"
|
|
113
|
-
]
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
id: "content-creator",
|
|
117
|
-
name: "Content Creator",
|
|
118
|
-
description: "Full social media content pipeline with scheduling, media processing, analytics, and storage",
|
|
119
|
-
requiredServices: [
|
|
120
|
-
"postiz",
|
|
121
|
-
"ffmpeg",
|
|
122
|
-
"minio",
|
|
123
|
-
"redis",
|
|
124
|
-
"postgresql"
|
|
125
|
-
],
|
|
126
|
-
skills: [
|
|
127
|
-
"ffmpeg-process",
|
|
128
|
-
"minio-storage",
|
|
129
|
-
"redis-cache"
|
|
130
|
-
],
|
|
131
|
-
icon: "📱",
|
|
132
|
-
tags: [
|
|
133
|
-
"social-media",
|
|
134
|
-
"content",
|
|
135
|
-
"scheduling",
|
|
136
|
-
"analytics"
|
|
137
|
-
]
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
id: "ai-playground",
|
|
141
|
-
name: "AI Playground",
|
|
142
|
-
description: "Full AI experimentation stack with chat UIs, LLM gateway, local models, and document chat",
|
|
143
|
-
requiredServices: [
|
|
144
|
-
"ollama",
|
|
145
|
-
"open-webui",
|
|
146
|
-
"litellm"
|
|
147
|
-
],
|
|
148
|
-
skills: ["ollama-local-llm"],
|
|
149
|
-
icon: "🧪",
|
|
150
|
-
tags: [
|
|
151
|
-
"ai",
|
|
152
|
-
"llm",
|
|
153
|
-
"playground",
|
|
154
|
-
"experimentation"
|
|
155
|
-
]
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
id: "coding-team",
|
|
159
|
-
name: "Coding Team",
|
|
160
|
-
description: "AI-powered development environment with coding agents, Git hosting, and browser IDE",
|
|
161
|
-
requiredServices: [
|
|
162
|
-
"claude-code",
|
|
163
|
-
"gitea",
|
|
164
|
-
"code-server"
|
|
165
|
-
],
|
|
166
|
-
skills: [],
|
|
167
|
-
icon: "💻",
|
|
168
|
-
tags: [
|
|
169
|
-
"coding",
|
|
170
|
-
"development",
|
|
171
|
-
"ide",
|
|
172
|
-
"git"
|
|
173
|
-
]
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
id: "knowledge-hub",
|
|
177
|
-
name: "Knowledge Hub",
|
|
178
|
-
description: "Enterprise knowledge management with wiki, document processing, analytics, and vector search",
|
|
179
|
-
requiredServices: [
|
|
180
|
-
"outline",
|
|
181
|
-
"paperless-ngx",
|
|
182
|
-
"qdrant",
|
|
183
|
-
"postgresql",
|
|
184
|
-
"redis"
|
|
185
|
-
],
|
|
186
|
-
skills: ["qdrant-memory"],
|
|
187
|
-
icon: "📚",
|
|
188
|
-
tags: [
|
|
189
|
-
"knowledge",
|
|
190
|
-
"wiki",
|
|
191
|
-
"documents",
|
|
192
|
-
"search"
|
|
193
|
-
]
|
|
194
|
-
}
|
|
195
|
-
];
|
|
196
|
-
const packMap = /* @__PURE__ */ new Map();
|
|
197
|
-
for (const pack of skillPacks) {
|
|
198
|
-
if (packMap.has(pack.id)) throw new Error(`Duplicate skill pack ID: "${pack.id}"`);
|
|
199
|
-
packMap.set(pack.id, pack);
|
|
200
|
-
}
|
|
201
|
-
const skillPackRegistry = packMap;
|
|
202
|
-
function getSkillPackById(id) {
|
|
203
|
-
return packMap.get(id);
|
|
204
|
-
}
|
|
205
|
-
function getAllSkillPacks() {
|
|
206
|
-
return [...skillPacks];
|
|
207
|
-
}
|
|
208
|
-
/** Get skill packs whose required services are all present in the given service list */
|
|
209
|
-
function getCompatibleSkillPacks(availableServiceIds) {
|
|
210
|
-
return skillPacks.filter((pack) => pack.requiredServices.every((req) => availableServiceIds.includes(req)));
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
//#endregion
|
|
214
|
-
export { skillPackRegistry as i, getCompatibleSkillPacks as n, getSkillPackById as r, getAllSkillPacks as t };
|
|
215
|
-
//# sourceMappingURL=registry-DLX9Q4VQ.mjs.map
|