@better-openclaw/core 1.0.9 → 1.0.11
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/dist/bare-metal-partition.test.mjs +1 -1
- package/dist/composer.snapshot.test.mjs +1 -1
- package/dist/composer.test.mjs +1 -1
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +7 -1
- package/dist/generate.mjs.map +1 -1
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.test.mjs +1 -1
- package/dist/generators/caddy.test.d.mts +1 -0
- package/dist/generators/caddy.test.mjs +45 -0
- package/dist/generators/caddy.test.mjs.map +1 -0
- package/dist/generators/env.test.d.mts +1 -0
- package/dist/generators/env.test.mjs +60 -0
- package/dist/generators/env.test.mjs.map +1 -0
- package/dist/generators/health-check.d.mts +18 -0
- package/dist/generators/health-check.d.mts.map +1 -0
- package/dist/generators/health-check.mjs +705 -0
- package/dist/generators/health-check.mjs.map +1 -0
- package/dist/generators/health-check.test.d.mts +1 -0
- package/dist/generators/health-check.test.mjs +85 -0
- package/dist/generators/health-check.test.mjs.map +1 -0
- package/dist/generators/scripts.test.d.mts +1 -0
- package/dist/generators/scripts.test.mjs +52 -0
- package/dist/generators/scripts.test.mjs.map +1 -0
- package/dist/generators/traefik.test.mjs +1 -1
- package/dist/generators/traefik.test.mjs.map +1 -1
- package/dist/index.d.mts +4 -2
- package/dist/index.mjs +3 -1
- package/dist/migrations.d.mts.map +1 -1
- package/dist/migrations.mjs.map +1 -1
- package/dist/migrations.test.mjs +1 -1
- package/dist/migrations.test.mjs.map +1 -1
- package/dist/presets/registry.test.mjs +1 -1
- package/dist/resolver.test.mjs +1 -1
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/convex.mjs.map +1 -1
- package/dist/services/definitions/desktop-environment.mjs.map +1 -1
- package/dist/services/definitions/index.d.mts +2 -2
- package/dist/services/definitions/index.mjs +3 -3
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/mission-control.mjs.map +1 -1
- package/dist/services/definitions/stream-gateway.mjs.map +1 -1
- package/dist/services/registry.test.mjs +1 -1
- package/dist/skills/registry.d.mts.map +1 -1
- package/dist/skills/registry.mjs +498 -6
- package/dist/skills/registry.mjs.map +1 -1
- package/dist/skills/skill-manifest.d.mts +20 -0
- package/dist/skills/skill-manifest.d.mts.map +1 -0
- package/dist/skills/skill-manifest.mjs +28 -0
- package/dist/skills/skill-manifest.mjs.map +1 -0
- package/dist/validator.test.mjs +1 -1
- package/dist/version-manager.test.mjs +1 -1
- package/dist/version-manager.test.mjs.map +1 -1
- package/dist/{vi.2VT5v0um-Qk6MgAnK.mjs → vi.2VT5v0um-YSByewHe.mjs} +5 -5
- package/dist/{vi.2VT5v0um-Qk6MgAnK.mjs.map → vi.2VT5v0um-YSByewHe.mjs.map} +1 -1
- package/package.json +1 -1
- package/src/generate.ts +15 -3
- package/src/generators/caddy.test.ts +56 -0
- package/src/generators/env.test.ts +73 -0
- package/src/generators/health-check.test.ts +118 -0
- package/src/generators/health-check.ts +774 -0
- package/src/generators/scripts.test.ts +60 -0
- package/src/generators/traefik.test.ts +9 -17
- package/src/index.ts +12 -6
- package/src/migrations.test.ts +1 -1
- package/src/migrations.ts +1 -4
- package/src/services/definitions/convex.ts +2 -4
- package/src/services/definitions/desktop-environment.ts +1 -9
- package/src/services/definitions/index.ts +6 -6
- package/src/services/definitions/mission-control.ts +2 -4
- package/src/services/definitions/stream-gateway.ts +1 -2
- package/src/skills/registry.ts +336 -6
- package/src/skills/skill-manifest.ts +52 -0
- package/src/version-manager.test.ts +15 -4
- package/tsdown.config.ts +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { calComDefinition } from \"./cal-com.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { comfyuiDefinition } from \"./comfyui.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { neo4jDefinition } from \"./neo4j.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { streamGatewayDefinition } from \"./stream-gateway.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\nexport { xyopsDefinition } from \"./xyops.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { calComDefinition } from \"./cal-com.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { comfyuiDefinition } from \"./comfyui.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { neo4jDefinition } from \"./neo4j.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { streamGatewayDefinition } from \"./stream-gateway.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\nimport { xyopsDefinition } from \"./xyops.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tstableDiffusionDefinition,\n\tcomfyuiDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n\tdesktopEnvironmentDefinition,\n\tstreamGatewayDefinition,\n\tneo4jDefinition,\n\tcalComDefinition,\n\txyopsDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { calComDefinition } from \"./cal-com.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { comfyuiDefinition } from \"./comfyui.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { neo4jDefinition } from \"./neo4j.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { streamGatewayDefinition } from \"./stream-gateway.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\nexport { xyopsDefinition } from \"./xyops.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { calComDefinition } from \"./cal-com.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { comfyuiDefinition } from \"./comfyui.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { neo4jDefinition } from \"./neo4j.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { streamGatewayDefinition } from \"./stream-gateway.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\nimport { xyopsDefinition } from \"./xyops.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tstableDiffusionDefinition,\n\tcomfyuiDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n\tdesktopEnvironmentDefinition,\n\tstreamGatewayDefinition,\n\tneo4jDefinition,\n\tcalComDefinition,\n\txyopsDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mission-control.mjs","names":[],"sources":["../../../src/services/definitions/mission-control.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const missionControlDefinition: ServiceDefinition = {\n\tid: \"mission-control\",\n\tname: \"Mission Control\",\n\tdescription:\n\t\t\"Real-time agent oversight dashboard for OpenClaw. Kanban task board, live activity feed, document browser, and message threads — powered by Convex.\",\n\tcategory: \"dev-tools\",\n\ticon: \"🛸\",\n\n\timage: \"ghcr.io/bidewio/mission-control\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3660,\n\t\t\tcontainer: 3660,\n\t\t\tdescription: \"Mission Control Web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"VITE_CONVEX_URL\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription:\n\t\t\t\t\"Convex backend URL as seen from the browser (build-time, embedded in JS bundle)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_URL\",\n\t\t\tdefaultValue: \"http://convex:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription
|
|
1
|
+
{"version":3,"file":"mission-control.mjs","names":[],"sources":["../../../src/services/definitions/mission-control.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const missionControlDefinition: ServiceDefinition = {\n\tid: \"mission-control\",\n\tname: \"Mission Control\",\n\tdescription:\n\t\t\"Real-time agent oversight dashboard for OpenClaw. Kanban task board, live activity feed, document browser, and message threads — powered by Convex.\",\n\tcategory: \"dev-tools\",\n\ticon: \"🛸\",\n\n\timage: \"ghcr.io/bidewio/mission-control\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3660,\n\t\t\tcontainer: 3660,\n\t\t\tdescription: \"Mission Control Web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"VITE_CONVEX_URL\",\n\t\t\tdefaultValue: \"http://127.0.0.1:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription:\n\t\t\t\t\"Convex backend URL as seen from the browser (build-time, embedded in JS bundle)\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_URL\",\n\t\t\tdefaultValue: \"http://convex:3210\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Internal Docker URL for pushing Convex functions during build\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CONVEX_SELF_HOSTED_ADMIN_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Admin key for the self-hosted Convex backend. Generate with: docker compose exec convex ./generate_admin_key.sh\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\tdependsOn: [\"convex\"],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control\",\n\tselfHostedDocsUrl:\n\t\t\"https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control\",\n\ttags: [\"openclaw\", \"dashboard\", \"monitoring\", \"agents\", \"analytics\", \"convex\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"convex\"],\n\trecommends: [\"convex-dashboard\"],\n\tconflictsWith: [],\n\tmandatory: true,\n\tremovalWarning:\n\t\t\"Mission Control is the primary dashboard for monitoring your OpenClaw agents. Removing it will eliminate real-time agent oversight, task management, and activity tracking.\",\n\n\tminMemoryMB: 128,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,2BAA8C;CAC1D,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,EAAE;CACX,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,UAAU;GACV;EACD;CACD,WAAW,CAAC,SAAS;CACrB,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,mBACC;CACD,MAAM;EAAC;EAAY;EAAa;EAAc;EAAU;EAAa;EAAS;CAC9E,UAAU;CAEV,UAAU,CAAC,SAAS;CACpB,YAAY,CAAC,mBAAmB;CAChC,eAAe,EAAE;CACjB,WAAW;CACX,gBACC;CAED,aAAa;CACb,aAAa;CACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-gateway.mjs","names":[],"sources":["../../../src/services/definitions/stream-gateway.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const streamGatewayDefinition: ServiceDefinition = {\n\tid: \"stream-gateway\",\n\tname: \"Stream Gateway\",\n\tdescription:\n\t\t\"NGINX-RTMP relay server that receives a local RTMP stream (e.g. from OBS in the desktop-environment) and fans it out to YouTube, Twitch, TikTok, and Telegram simultaneously. Also serves an HLS preview on HTTP for local viewing.\",\n\tcategory: \"streaming\",\n\ticon: \"📺\",\n\n\timage: \"tiangolo/nginx-rtmp\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 1935,\n\t\t\tcontainer: 1935,\n\t\t\tdescription: \"RTMP ingest (receives stream from OBS or ffmpeg)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"HTTP server for HLS preview and stats\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"stream-gateway-hls\",\n\t\t\tcontainerPath: \"/tmp/hls\",\n\t\t\tdescription: \"HLS segment storage for live preview playback\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"YOUTUBE_STREAM_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"YouTube Live stream key (leave empty to skip YouTube relay)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"TWITCH_STREAM_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Twitch stream key (leave empty to skip Twitch relay)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"TIKTOK_STREAM_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription
|
|
1
|
+
{"version":3,"file":"stream-gateway.mjs","names":[],"sources":["../../../src/services/definitions/stream-gateway.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const streamGatewayDefinition: ServiceDefinition = {\n\tid: \"stream-gateway\",\n\tname: \"Stream Gateway\",\n\tdescription:\n\t\t\"NGINX-RTMP relay server that receives a local RTMP stream (e.g. from OBS in the desktop-environment) and fans it out to YouTube, Twitch, TikTok, and Telegram simultaneously. Also serves an HLS preview on HTTP for local viewing.\",\n\tcategory: \"streaming\",\n\ticon: \"📺\",\n\n\timage: \"tiangolo/nginx-rtmp\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 1935,\n\t\t\tcontainer: 1935,\n\t\t\tdescription: \"RTMP ingest (receives stream from OBS or ffmpeg)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 8080,\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"HTTP server for HLS preview and stats\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"stream-gateway-hls\",\n\t\t\tcontainerPath: \"/tmp/hls\",\n\t\t\tdescription: \"HLS segment storage for live preview playback\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"YOUTUBE_STREAM_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"YouTube Live stream key (leave empty to skip YouTube relay)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"TWITCH_STREAM_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Twitch stream key (leave empty to skip Twitch relay)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"TIKTOK_STREAM_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Full TikTok RTMP URL from TikTok Studio (leave empty to skip TikTok relay)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"TELEGRAM_STREAM_URL\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription:\n\t\t\t\t\"Full Telegram RTMPS URL including stream key (leave empty to skip Telegram relay)\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sf http://localhost:8080/health || exit 1\",\n\t\tinterval: \"15s\",\n\t\ttimeout: \"5s\",\n\t\tretries: 3,\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tdeploy: {\n\t\tresources: {\n\t\t\tlimits: { cpus: \"2.0\", memory: \"2G\" },\n\t\t\treservations: { cpus: \"0.5\", memory: \"512M\" },\n\t\t},\n\t},\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"STREAM_GATEWAY_HOST\",\n\t\t\tdefaultValue: \"stream-gateway\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Hostname of the stream-gateway container\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"STREAM_GATEWAY_RTMP_PORT\",\n\t\t\tdefaultValue: \"1935\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"RTMP ingest port on the stream-gateway\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"STREAM_GATEWAY_HLS_PORT\",\n\t\t\tdefaultValue: \"8080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"HTTP port for HLS preview on the stream-gateway\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/tiangolo/nginx-rtmp-docker\",\n\ttags: [\n\t\t\"streaming\",\n\t\t\"rtmp\",\n\t\t\"hls\",\n\t\t\"relay\",\n\t\t\"youtube\",\n\t\t\"twitch\",\n\t\t\"tiktok\",\n\t\t\"telegram\",\n\t\t\"obs\",\n\t\t\"nginx\",\n\t],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [\"desktop-environment\"],\n\tconflictsWith: [],\n\n\tremovalWarning:\n\t\t\"⚠️ STREAMING KEYS REQUIRED: To relay to platforms you must provide at least one stream key. Without any keys configured the gateway will still accept RTMP input and serve HLS locally but nothing will be forwarded.\",\n\tminMemoryMB: 512,\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 nginx >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq nginx libnginx-mod-rtmp ffmpeg)\",\n\t\t\t\t\"command -v nginx >/dev/null 2>&1 || (command -v dnf >/dev/null 2>&1 && sudo dnf install -y nginx nginx-mod-rtmp ffmpeg)\",\n\t\t\t],\n\t\t\tstartCommand: \"sudo systemctl start nginx\",\n\t\t\tstopCommand: \"sudo systemctl stop nginx\",\n\t\t\tconfigPath: \"/etc/nginx/nginx.conf\",\n\t\t\tconfigTemplate:\n\t\t\t\t'# Generated for OpenClaw bare-metal\\nworker_processes auto;\\nrtmp_auto_push on;\\n\\nevents { worker_connections 1024; }\\n\\nrtmp {\\n server {\\n listen 1935;\\n chunk_size 4096;\\n application live {\\n live on;\\n record off;\\n hls on;\\n hls_path /tmp/hls;\\n hls_fragment 3;\\n hls_playlist_length 60;\\n }\\n }\\n}\\n\\nhttp {\\n server {\\n listen 8080;\\n location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; }\\n location /health { return 200 \"OK\"; }\\n }\\n}\\n',\n\t\t\tsystemdUnit: \"nginx\",\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,0BAA6C;CACzD,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;EACZ;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;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EACP,WAAW;EACV,QAAQ;GAAE,MAAM;GAAO,QAAQ;GAAM;EACrC,cAAc;GAAE,MAAM;GAAO,QAAQ;GAAQ;EAC7C,EACD;CAED,QAAQ,EAAE;CACV,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;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,sBAAsB;CACnC,eAAe,EAAE;CAEjB,gBACC;CACD,aAAa;CACb,aAAa;CAEb,iBAAiB;CACjB,eAAe,CACd;EACC,UAAU;EACV,cAAc,CACb,qKACA,0HACA;EACD,cAAc;EACd,aAAa;EACb,YAAY;EACZ,gBACC;EACD,aAAa;EACb,CACD;CACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-
|
|
1
|
+
import { n as describe, r as it, t as globalExpect } from "../vi.2VT5v0um-YSByewHe.mjs";
|
|
2
2
|
import { getAllServices, getServiceById, getServicesByCategory, getServicesByTag } from "./registry.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/services/registry.test.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.mts","names":[],"sources":["../../src/skills/registry.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"registry.d.mts","names":[],"sources":["../../src/skills/registry.ts"],"mappings":";;;cAwba,iBAAA,EAAmB,WAAA,SAAoB,SAAA;AAAA,iBAEpC,gBAAA,CAAiB,EAAA,WAAa,SAAA;AAAA,iBAI9B,gBAAA,CAAA,GAAoB,SAAA;;iBAKpB,uBAAA,CAAwB,mBAAA,aAAgC,SAAA"}
|
package/dist/skills/registry.mjs
CHANGED
|
@@ -74,7 +74,13 @@ const skillPacks = [
|
|
|
74
74
|
"grafana",
|
|
75
75
|
"prometheus"
|
|
76
76
|
],
|
|
77
|
-
skills: [
|
|
77
|
+
skills: [
|
|
78
|
+
"n8n-trigger",
|
|
79
|
+
"redis-cache",
|
|
80
|
+
"grafana-dashboard",
|
|
81
|
+
"prometheus-query",
|
|
82
|
+
"uptime-kuma-monitor"
|
|
83
|
+
],
|
|
78
84
|
icon: "⚙️",
|
|
79
85
|
tags: [
|
|
80
86
|
"devops",
|
|
@@ -91,7 +97,11 @@ const skillPacks = [
|
|
|
91
97
|
"postgresql",
|
|
92
98
|
"meilisearch"
|
|
93
99
|
],
|
|
94
|
-
skills: [
|
|
100
|
+
skills: [
|
|
101
|
+
"qdrant-memory",
|
|
102
|
+
"postgresql-query",
|
|
103
|
+
"meilisearch-index"
|
|
104
|
+
],
|
|
95
105
|
icon: "📚",
|
|
96
106
|
tags: [
|
|
97
107
|
"knowledge",
|
|
@@ -126,7 +136,8 @@ const skillPacks = [
|
|
|
126
136
|
skills: [
|
|
127
137
|
"ffmpeg-process",
|
|
128
138
|
"minio-storage",
|
|
129
|
-
"redis-cache"
|
|
139
|
+
"redis-cache",
|
|
140
|
+
"postiz-schedule"
|
|
130
141
|
],
|
|
131
142
|
icon: "📱",
|
|
132
143
|
tags: [
|
|
@@ -145,7 +156,11 @@ const skillPacks = [
|
|
|
145
156
|
"open-webui",
|
|
146
157
|
"litellm"
|
|
147
158
|
],
|
|
148
|
-
skills: [
|
|
159
|
+
skills: [
|
|
160
|
+
"ollama-local-llm",
|
|
161
|
+
"open-webui-chat",
|
|
162
|
+
"litellm-gateway"
|
|
163
|
+
],
|
|
149
164
|
icon: "🧪",
|
|
150
165
|
tags: [
|
|
151
166
|
"ai",
|
|
@@ -163,7 +178,11 @@ const skillPacks = [
|
|
|
163
178
|
"gitea",
|
|
164
179
|
"code-server"
|
|
165
180
|
],
|
|
166
|
-
skills: [
|
|
181
|
+
skills: [
|
|
182
|
+
"claude-code-assist",
|
|
183
|
+
"gitea-repo",
|
|
184
|
+
"code-server-develop"
|
|
185
|
+
],
|
|
167
186
|
icon: "💻",
|
|
168
187
|
tags: [
|
|
169
188
|
"coding",
|
|
@@ -183,7 +202,13 @@ const skillPacks = [
|
|
|
183
202
|
"postgresql",
|
|
184
203
|
"redis"
|
|
185
204
|
],
|
|
186
|
-
skills: [
|
|
205
|
+
skills: [
|
|
206
|
+
"qdrant-memory",
|
|
207
|
+
"outline-wiki",
|
|
208
|
+
"paperless-archive",
|
|
209
|
+
"postgresql-query",
|
|
210
|
+
"redis-cache"
|
|
211
|
+
],
|
|
187
212
|
icon: "📚",
|
|
188
213
|
tags: [
|
|
189
214
|
"knowledge",
|
|
@@ -191,6 +216,473 @@ const skillPacks = [
|
|
|
191
216
|
"documents",
|
|
192
217
|
"search"
|
|
193
218
|
]
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
id: "data-engineer",
|
|
222
|
+
name: "Data Engineer",
|
|
223
|
+
description: "Process and transform data with PostgreSQL, CSV/JSON/XML transforms, and PDF extraction",
|
|
224
|
+
requiredServices: ["postgresql"],
|
|
225
|
+
skills: [
|
|
226
|
+
"postgresql-query",
|
|
227
|
+
"csv-transform",
|
|
228
|
+
"json-transform",
|
|
229
|
+
"xml-parse",
|
|
230
|
+
"pdf-extract",
|
|
231
|
+
"excel-process",
|
|
232
|
+
"markdown-convert"
|
|
233
|
+
],
|
|
234
|
+
icon: "🔧",
|
|
235
|
+
tags: [
|
|
236
|
+
"data",
|
|
237
|
+
"etl",
|
|
238
|
+
"transform",
|
|
239
|
+
"processing"
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
id: "nlp-pipeline",
|
|
244
|
+
name: "NLP Pipeline",
|
|
245
|
+
description: "Natural language processing with summarization, translation, classification, and embeddings via Ollama",
|
|
246
|
+
requiredServices: ["ollama"],
|
|
247
|
+
skills: [
|
|
248
|
+
"text-summarize",
|
|
249
|
+
"text-translate",
|
|
250
|
+
"text-classify",
|
|
251
|
+
"text-embed",
|
|
252
|
+
"ollama-local-llm"
|
|
253
|
+
],
|
|
254
|
+
icon: "🧠",
|
|
255
|
+
tags: [
|
|
256
|
+
"nlp",
|
|
257
|
+
"text",
|
|
258
|
+
"embeddings",
|
|
259
|
+
"translation"
|
|
260
|
+
]
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
id: "image-processor",
|
|
264
|
+
name: "Image Processor",
|
|
265
|
+
description: "Resize, convert, and OCR images with ImageMagick and Tesseract",
|
|
266
|
+
requiredServices: ["ffmpeg"],
|
|
267
|
+
skills: [
|
|
268
|
+
"image-resize",
|
|
269
|
+
"image-convert",
|
|
270
|
+
"image-ocr",
|
|
271
|
+
"ffmpeg-process"
|
|
272
|
+
],
|
|
273
|
+
icon: "🖼️",
|
|
274
|
+
tags: [
|
|
275
|
+
"image",
|
|
276
|
+
"ocr",
|
|
277
|
+
"media",
|
|
278
|
+
"conversion"
|
|
279
|
+
]
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
id: "api-integrator",
|
|
283
|
+
name: "API Integrator",
|
|
284
|
+
description: "HTTP requests, webhooks, and GraphQL queries for external API integration",
|
|
285
|
+
requiredServices: [],
|
|
286
|
+
skills: [
|
|
287
|
+
"http-request",
|
|
288
|
+
"api-webhook",
|
|
289
|
+
"graphql-query"
|
|
290
|
+
],
|
|
291
|
+
icon: "🌐",
|
|
292
|
+
tags: [
|
|
293
|
+
"api",
|
|
294
|
+
"http",
|
|
295
|
+
"webhook",
|
|
296
|
+
"graphql"
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
id: "security-ops",
|
|
301
|
+
name: "Security Ops",
|
|
302
|
+
description: "JWT validation, hashing, SSL checks, port scanning, and network diagnostics",
|
|
303
|
+
requiredServices: [],
|
|
304
|
+
skills: [
|
|
305
|
+
"jwt-manage",
|
|
306
|
+
"hash-generate",
|
|
307
|
+
"ssl-check",
|
|
308
|
+
"dns-lookup",
|
|
309
|
+
"port-scan",
|
|
310
|
+
"ping-check"
|
|
311
|
+
],
|
|
312
|
+
icon: "🛡️",
|
|
313
|
+
tags: [
|
|
314
|
+
"security",
|
|
315
|
+
"networking",
|
|
316
|
+
"diagnostics"
|
|
317
|
+
]
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
id: "communication-hub",
|
|
321
|
+
name: "Communication Hub",
|
|
322
|
+
description: "Multi-channel messaging with Matrix, Mattermost, Rocket.Chat, email, and push notifications",
|
|
323
|
+
requiredServices: ["matrix-synapse", "gotify"],
|
|
324
|
+
skills: [
|
|
325
|
+
"matrix-message",
|
|
326
|
+
"mattermost-post",
|
|
327
|
+
"rocketchat-send",
|
|
328
|
+
"gotify-notify",
|
|
329
|
+
"ntfy-publish",
|
|
330
|
+
"email-send"
|
|
331
|
+
],
|
|
332
|
+
icon: "📨",
|
|
333
|
+
tags: [
|
|
334
|
+
"messaging",
|
|
335
|
+
"notifications",
|
|
336
|
+
"email",
|
|
337
|
+
"chat"
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
id: "analytics-suite",
|
|
342
|
+
name: "Analytics Suite",
|
|
343
|
+
description: "Web and product analytics with Matomo, Umami, OpenPanel, Grafana, and Prometheus",
|
|
344
|
+
requiredServices: ["grafana", "prometheus"],
|
|
345
|
+
skills: [
|
|
346
|
+
"matomo-track",
|
|
347
|
+
"umami-analytics",
|
|
348
|
+
"openpanel-analyze",
|
|
349
|
+
"grafana-dashboard",
|
|
350
|
+
"prometheus-query"
|
|
351
|
+
],
|
|
352
|
+
icon: "📊",
|
|
353
|
+
tags: [
|
|
354
|
+
"analytics",
|
|
355
|
+
"monitoring",
|
|
356
|
+
"metrics",
|
|
357
|
+
"dashboards"
|
|
358
|
+
]
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
id: "full-devops",
|
|
362
|
+
name: "Full DevOps",
|
|
363
|
+
description: "Complete DevOps toolkit with Git hosting, container management, deployments, monitoring, and log viewing",
|
|
364
|
+
requiredServices: [
|
|
365
|
+
"gitea",
|
|
366
|
+
"portainer",
|
|
367
|
+
"coolify",
|
|
368
|
+
"grafana",
|
|
369
|
+
"prometheus"
|
|
370
|
+
],
|
|
371
|
+
skills: [
|
|
372
|
+
"gitea-repo",
|
|
373
|
+
"portainer-manage",
|
|
374
|
+
"coolify-deploy",
|
|
375
|
+
"dokploy-deploy",
|
|
376
|
+
"watchtower-update",
|
|
377
|
+
"dozzle-logs",
|
|
378
|
+
"grafana-dashboard",
|
|
379
|
+
"prometheus-query",
|
|
380
|
+
"uptime-kuma-monitor",
|
|
381
|
+
"beszel-monitor"
|
|
382
|
+
],
|
|
383
|
+
icon: "🏗️",
|
|
384
|
+
tags: [
|
|
385
|
+
"devops",
|
|
386
|
+
"ci-cd",
|
|
387
|
+
"containers",
|
|
388
|
+
"deployment"
|
|
389
|
+
]
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
id: "document-manager",
|
|
393
|
+
name: "Document Manager",
|
|
394
|
+
description: "Document processing pipeline with wiki, archival, OCR, Q&A, and PDF extraction",
|
|
395
|
+
requiredServices: ["outline", "paperless-ngx"],
|
|
396
|
+
skills: [
|
|
397
|
+
"outline-wiki",
|
|
398
|
+
"paperless-archive",
|
|
399
|
+
"docsgpt-ask",
|
|
400
|
+
"pdf-extract",
|
|
401
|
+
"image-ocr"
|
|
402
|
+
],
|
|
403
|
+
icon: "📑",
|
|
404
|
+
tags: [
|
|
405
|
+
"documents",
|
|
406
|
+
"wiki",
|
|
407
|
+
"ocr",
|
|
408
|
+
"archive"
|
|
409
|
+
]
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
id: "ai-coding-team",
|
|
413
|
+
name: "AI Coding Team",
|
|
414
|
+
description: "Multi-agent AI coding ensemble with Claude Code, Codex, Gemini CLI, OpenCode, and browser IDE",
|
|
415
|
+
requiredServices: ["code-server", "gitea"],
|
|
416
|
+
skills: [
|
|
417
|
+
"claude-code-assist",
|
|
418
|
+
"codex-generate",
|
|
419
|
+
"gemini-cli-query",
|
|
420
|
+
"opencode-develop",
|
|
421
|
+
"code-server-develop",
|
|
422
|
+
"gitea-repo"
|
|
423
|
+
],
|
|
424
|
+
icon: "🤖",
|
|
425
|
+
tags: [
|
|
426
|
+
"ai-coding",
|
|
427
|
+
"agents",
|
|
428
|
+
"development",
|
|
429
|
+
"ide"
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
id: "rag-pipeline",
|
|
434
|
+
name: "RAG Pipeline",
|
|
435
|
+
description: "Build retrieval-augmented generation systems with LangChain, LlamaIndex, Haystack, and vector databases",
|
|
436
|
+
requiredServices: ["milvus"],
|
|
437
|
+
skills: [
|
|
438
|
+
"langchain-agent",
|
|
439
|
+
"llamaindex-query",
|
|
440
|
+
"haystack-rag",
|
|
441
|
+
"ragflow-pipeline",
|
|
442
|
+
"milvus-vectors",
|
|
443
|
+
"firecrawl-scrape"
|
|
444
|
+
],
|
|
445
|
+
icon: "🧠",
|
|
446
|
+
tags: [
|
|
447
|
+
"rag",
|
|
448
|
+
"ai",
|
|
449
|
+
"embeddings",
|
|
450
|
+
"search",
|
|
451
|
+
"llm"
|
|
452
|
+
]
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
id: "self-hosted-cloud",
|
|
456
|
+
name: "Self-Hosted Cloud",
|
|
457
|
+
description: "Complete self-hosted infrastructure with cloud storage, photos, media streaming, and password management",
|
|
458
|
+
requiredServices: [
|
|
459
|
+
"nextcloud",
|
|
460
|
+
"immich",
|
|
461
|
+
"jellyfin",
|
|
462
|
+
"vaultwarden"
|
|
463
|
+
],
|
|
464
|
+
skills: [
|
|
465
|
+
"nextcloud-files",
|
|
466
|
+
"immich-photos",
|
|
467
|
+
"jellyfin-media",
|
|
468
|
+
"vaultwarden-manage"
|
|
469
|
+
],
|
|
470
|
+
icon: "☁️",
|
|
471
|
+
tags: [
|
|
472
|
+
"self-hosted",
|
|
473
|
+
"cloud",
|
|
474
|
+
"storage",
|
|
475
|
+
"media",
|
|
476
|
+
"security"
|
|
477
|
+
]
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
id: "ai-agent-orchestra",
|
|
481
|
+
name: "AI Agent Orchestra",
|
|
482
|
+
description: "Multi-agent AI orchestration with CrewAI, AutoGPT, LangChain, Langflow, and Open Interpreter",
|
|
483
|
+
requiredServices: [],
|
|
484
|
+
skills: [
|
|
485
|
+
"crewai-orchestrate",
|
|
486
|
+
"autogpt-autonomous",
|
|
487
|
+
"langchain-agent",
|
|
488
|
+
"langflow-build",
|
|
489
|
+
"open-interpreter-run"
|
|
490
|
+
],
|
|
491
|
+
icon: "🎭",
|
|
492
|
+
tags: [
|
|
493
|
+
"ai",
|
|
494
|
+
"agents",
|
|
495
|
+
"multi-agent",
|
|
496
|
+
"orchestration",
|
|
497
|
+
"autonomous"
|
|
498
|
+
]
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
id: "cicd-pipeline",
|
|
502
|
+
name: "CI/CD Pipeline",
|
|
503
|
+
description: "Full CI/CD pipeline with Jenkins, ArgoCD, Woodpecker, and infrastructure as code",
|
|
504
|
+
requiredServices: ["jenkins"],
|
|
505
|
+
skills: [
|
|
506
|
+
"jenkins-pipeline",
|
|
507
|
+
"argocd-deploy",
|
|
508
|
+
"woodpecker-ci",
|
|
509
|
+
"terraform-provision",
|
|
510
|
+
"ansible-configure"
|
|
511
|
+
],
|
|
512
|
+
icon: "🔄",
|
|
513
|
+
tags: [
|
|
514
|
+
"ci-cd",
|
|
515
|
+
"devops",
|
|
516
|
+
"gitops",
|
|
517
|
+
"infrastructure"
|
|
518
|
+
]
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
id: "zero-trust-security",
|
|
522
|
+
name: "Zero-Trust Security",
|
|
523
|
+
description: "Enterprise security with SSO, secrets management, VPN, intrusion detection, and feature flags",
|
|
524
|
+
requiredServices: ["authentik", "crowdsec"],
|
|
525
|
+
skills: [
|
|
526
|
+
"authentik-auth",
|
|
527
|
+
"keycloak-auth",
|
|
528
|
+
"vault-secrets",
|
|
529
|
+
"infisical-secrets",
|
|
530
|
+
"netbird-vpn",
|
|
531
|
+
"teleport-access",
|
|
532
|
+
"crowdsec-protect"
|
|
533
|
+
],
|
|
534
|
+
icon: "🔒",
|
|
535
|
+
tags: [
|
|
536
|
+
"security",
|
|
537
|
+
"zero-trust",
|
|
538
|
+
"sso",
|
|
539
|
+
"secrets",
|
|
540
|
+
"vpn"
|
|
541
|
+
]
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
id: "content-platform",
|
|
545
|
+
name: "Content Platform",
|
|
546
|
+
description: "Publishing and CMS platform with Ghost, Strapi, Directus, and newsletter management",
|
|
547
|
+
requiredServices: ["ghost"],
|
|
548
|
+
skills: [
|
|
549
|
+
"ghost-publish",
|
|
550
|
+
"strapi-cms",
|
|
551
|
+
"directus-cms",
|
|
552
|
+
"listmonk-email",
|
|
553
|
+
"plausible-analytics"
|
|
554
|
+
],
|
|
555
|
+
icon: "📝",
|
|
556
|
+
tags: [
|
|
557
|
+
"cms",
|
|
558
|
+
"publishing",
|
|
559
|
+
"blog",
|
|
560
|
+
"newsletter",
|
|
561
|
+
"analytics"
|
|
562
|
+
]
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
id: "backend-platform",
|
|
566
|
+
name: "Backend Platform",
|
|
567
|
+
description: "Backend-as-a-service with Supabase, Appwrite, PocketBase, and API gateway",
|
|
568
|
+
requiredServices: ["supabase"],
|
|
569
|
+
skills: [
|
|
570
|
+
"supabase-query",
|
|
571
|
+
"appwrite-backend",
|
|
572
|
+
"pocketbase-backend",
|
|
573
|
+
"kong-gateway",
|
|
574
|
+
"rabbitmq-queue"
|
|
575
|
+
],
|
|
576
|
+
icon: "⚡",
|
|
577
|
+
tags: [
|
|
578
|
+
"backend",
|
|
579
|
+
"baas",
|
|
580
|
+
"api",
|
|
581
|
+
"database",
|
|
582
|
+
"messaging"
|
|
583
|
+
]
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
id: "observability-stack",
|
|
587
|
+
name: "Observability Stack",
|
|
588
|
+
description: "Full observability with Loki logs, SigNoz APM, Sentry errors, Gatus health, and Elasticsearch",
|
|
589
|
+
requiredServices: ["loki", "signoz"],
|
|
590
|
+
skills: [
|
|
591
|
+
"loki-logs",
|
|
592
|
+
"signoz-observe",
|
|
593
|
+
"sentry-errors",
|
|
594
|
+
"gatus-health",
|
|
595
|
+
"elasticsearch-search"
|
|
596
|
+
],
|
|
597
|
+
icon: "📡",
|
|
598
|
+
tags: [
|
|
599
|
+
"observability",
|
|
600
|
+
"logs",
|
|
601
|
+
"apm",
|
|
602
|
+
"errors",
|
|
603
|
+
"health"
|
|
604
|
+
]
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
id: "document-hub",
|
|
608
|
+
name: "Document Hub",
|
|
609
|
+
description: "Document management with Paperless-ngx, BookStack wiki, Stirling PDF tools, and Excalidraw",
|
|
610
|
+
requiredServices: ["paperless-ngx"],
|
|
611
|
+
skills: [
|
|
612
|
+
"paperless-ngx-docs",
|
|
613
|
+
"bookstack-wiki",
|
|
614
|
+
"stirling-pdf-tools",
|
|
615
|
+
"excalidraw-draw"
|
|
616
|
+
],
|
|
617
|
+
icon: "📑",
|
|
618
|
+
tags: [
|
|
619
|
+
"documents",
|
|
620
|
+
"wiki",
|
|
621
|
+
"pdf",
|
|
622
|
+
"collaboration"
|
|
623
|
+
]
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
id: "smart-home",
|
|
627
|
+
name: "Smart Home",
|
|
628
|
+
description: "Home automation and event-driven workflows with Home Assistant, Huginn, and Activepieces",
|
|
629
|
+
requiredServices: ["homeassistant"],
|
|
630
|
+
skills: [
|
|
631
|
+
"home-assistant-automate",
|
|
632
|
+
"huginn-automate",
|
|
633
|
+
"activepieces-flow"
|
|
634
|
+
],
|
|
635
|
+
icon: "🏠",
|
|
636
|
+
tags: [
|
|
637
|
+
"iot",
|
|
638
|
+
"automation",
|
|
639
|
+
"smart-home",
|
|
640
|
+
"workflows"
|
|
641
|
+
]
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
id: "frontend-design",
|
|
645
|
+
name: "Frontend Design",
|
|
646
|
+
description: "Front-end design skills for UI systems, web animations, responsive layouts, copywriting, and asset management — sourced from Aura Build",
|
|
647
|
+
requiredServices: [],
|
|
648
|
+
skills: [
|
|
649
|
+
"ui-prompting",
|
|
650
|
+
"pricing-page-design",
|
|
651
|
+
"landing-page-design",
|
|
652
|
+
"gsap-animate",
|
|
653
|
+
"threejs-scene",
|
|
654
|
+
"matterjs-physics",
|
|
655
|
+
"globe-gl-visualize",
|
|
656
|
+
"tailwindcss-style",
|
|
657
|
+
"css-border-gradient",
|
|
658
|
+
"progressive-blur",
|
|
659
|
+
"animation-on-scroll",
|
|
660
|
+
"css-alpha-masking",
|
|
661
|
+
"vantajs-background",
|
|
662
|
+
"cobejs-globe",
|
|
663
|
+
"unicorn-studio-embed",
|
|
664
|
+
"ui-design-system",
|
|
665
|
+
"tailwind-design-system-v4",
|
|
666
|
+
"interaction-design",
|
|
667
|
+
"responsive-design",
|
|
668
|
+
"web-interface-guidelines",
|
|
669
|
+
"threejs-animation",
|
|
670
|
+
"copywriting",
|
|
671
|
+
"frontend-distinctive-design",
|
|
672
|
+
"canvas-design",
|
|
673
|
+
"web-design-reviewer",
|
|
674
|
+
"animejs-animate",
|
|
675
|
+
"aura-asset-images"
|
|
676
|
+
],
|
|
677
|
+
icon: "🎨",
|
|
678
|
+
tags: [
|
|
679
|
+
"frontend",
|
|
680
|
+
"design",
|
|
681
|
+
"animation",
|
|
682
|
+
"css",
|
|
683
|
+
"ui",
|
|
684
|
+
"web-design"
|
|
685
|
+
]
|
|
194
686
|
}
|
|
195
687
|
];
|
|
196
688
|
const packMap = /* @__PURE__ */ new Map();
|