@better-openclaw/core 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +70 -0
  2. package/dist/composer.d.mts.map +1 -1
  3. package/dist/composer.mjs +5 -3
  4. package/dist/composer.mjs.map +1 -1
  5. package/dist/{manifest-DSGl8ITO.mjs → manifest-BjK4ALvr.mjs} +49 -1
  6. package/dist/manifest-BjK4ALvr.mjs.map +1 -0
  7. package/dist/schema.d.mts +4 -0
  8. package/dist/schema.d.mts.map +1 -1
  9. package/dist/schema.mjs +2 -1
  10. package/dist/schema.mjs.map +1 -1
  11. package/dist/services/definitions/hexstrike.d.mts +7 -0
  12. package/dist/services/definitions/hexstrike.d.mts.map +1 -0
  13. package/dist/services/definitions/hexstrike.mjs +44 -0
  14. package/dist/services/definitions/hexstrike.mjs.map +1 -0
  15. package/dist/services/definitions/index.d.mts +6 -1
  16. package/dist/services/definitions/index.d.mts.map +1 -1
  17. package/dist/services/definitions/index.mjs +12 -2
  18. package/dist/services/definitions/index.mjs.map +1 -1
  19. package/dist/services/definitions/pentagi.d.mts +7 -0
  20. package/dist/services/definitions/pentagi.d.mts.map +1 -0
  21. package/dist/services/definitions/pentagi.mjs +44 -0
  22. package/dist/services/definitions/pentagi.mjs.map +1 -0
  23. package/dist/services/definitions/pentestagent.d.mts +7 -0
  24. package/dist/services/definitions/pentestagent.d.mts.map +1 -0
  25. package/dist/services/definitions/pentestagent.mjs +39 -0
  26. package/dist/services/definitions/pentestagent.mjs.map +1 -0
  27. package/dist/services/definitions/scrapling.d.mts +7 -0
  28. package/dist/services/definitions/scrapling.d.mts.map +1 -0
  29. package/dist/services/definitions/scrapling.mjs +44 -0
  30. package/dist/services/definitions/scrapling.mjs.map +1 -0
  31. package/dist/services/definitions/solidityguard.d.mts +7 -0
  32. package/dist/services/definitions/solidityguard.d.mts.map +1 -0
  33. package/dist/services/definitions/solidityguard.mjs +49 -0
  34. package/dist/services/definitions/solidityguard.mjs.map +1 -0
  35. package/dist/skills/skill-manifest.mjs +1 -1
  36. package/dist/types.mjs +5 -0
  37. package/dist/types.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/src/composer.ts +12 -3
  40. package/src/schema.ts +1 -0
  41. package/src/services/definitions/hexstrike.ts +40 -0
  42. package/src/services/definitions/index.ts +15 -0
  43. package/src/services/definitions/pentagi.ts +40 -0
  44. package/src/services/definitions/pentestagent.ts +33 -0
  45. package/src/services/definitions/scrapling.ts +40 -0
  46. package/src/services/definitions/solidityguard.ts +46 -0
  47. package/src/skills/manifest.json +58 -0
  48. package/src/skills/manifest.schema.json +51 -0
  49. package/src/types.ts +1 -0
  50. package/dist/manifest-DSGl8ITO.mjs.map +0 -1
@@ -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 { 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
+ {"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 { hexstrikeDefinition } from \"./hexstrike.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 { pentagiDefinition } from \"./pentagi.js\";\nexport { pentestagentDefinition } from \"./pentestagent.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 { scraplingDefinition } from \"./scrapling.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { solidityGuardDefinition } from \"./solidityguard.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 { hexstrikeDefinition } from \"./hexstrike.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 { pentagiDefinition } from \"./pentagi.js\";\nimport { pentestagentDefinition } from \"./pentestagent.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 { scraplingDefinition } from \"./scrapling.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { solidityGuardDefinition } from \"./solidityguard.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\tscraplingDefinition,\n\thexstrikeDefinition,\n\tsolidityGuardDefinition,\n\tpentagiDefinition,\n\tpentestagentDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmKA,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;CACA;CACA;CACA;CACA;CACA"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/pentagi.d.ts
4
+ declare const pentagiDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { pentagiDefinition };
7
+ //# sourceMappingURL=pentagi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pentagi.d.mts","names":[],"sources":["../../../src/services/definitions/pentagi.ts"],"mappings":";;;cAEa,iBAAA,EAAmB,iBAAA"}
@@ -0,0 +1,44 @@
1
+ //#region src/services/definitions/pentagi.ts
2
+ const pentagiDefinition = {
3
+ id: "pentagi",
4
+ name: "PentAGI",
5
+ description: "Fully autonomous AI Agents system capable of performing complex penetration testing tasks.",
6
+ category: "security",
7
+ icon: "🕵️",
8
+ image: "vxcontrol/pentagi",
9
+ imageTag: "latest",
10
+ ports: [{
11
+ host: 8080,
12
+ container: 8080,
13
+ description: "PentAGI Interface",
14
+ exposed: true
15
+ }],
16
+ volumes: [],
17
+ environment: [],
18
+ command: "",
19
+ dependsOn: [],
20
+ restartPolicy: "unless-stopped",
21
+ networks: ["openclaw-network"],
22
+ skills: [{
23
+ skillId: "pentagi-orchestrator",
24
+ autoInstall: true
25
+ }],
26
+ openclawEnvVars: [],
27
+ docsUrl: "https://pentagi.com",
28
+ tags: [
29
+ "security",
30
+ "pentesting",
31
+ "autonomous",
32
+ "agents"
33
+ ],
34
+ maturity: "experimental",
35
+ requires: [],
36
+ recommends: [],
37
+ conflictsWith: [],
38
+ minMemoryMB: 4096,
39
+ gpuRequired: false
40
+ };
41
+
42
+ //#endregion
43
+ export { pentagiDefinition };
44
+ //# sourceMappingURL=pentagi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pentagi.mjs","names":[],"sources":["../../../src/services/definitions/pentagi.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const pentagiDefinition: ServiceDefinition = {\n\tid: \"pentagi\",\n\tname: \"PentAGI\",\n\tdescription: \"Fully autonomous AI Agents system capable of performing complex penetration testing tasks.\",\n\tcategory: \"security\",\n\ticon: \"🕵️\",\n\n\timage: \"vxcontrol/pentagi\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8080, // Assuming default or common port for web UI, might need adjustment based on their docker-compose\n\t\t\tcontainer: 8080,\n\t\t\tdescription: \"PentAGI Interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [],\n\tcommand: \"\", // Leave empty to use default image command\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"pentagi-orchestrator\", autoInstall: true }],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://pentagi.com\",\n\ttags: [\"security\", \"pentesting\", \"autonomous\", \"agents\"],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 4096, // Documentation explicitly asks for Minimum 4GB RAM\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,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,EAAE;CACf,SAAS;CACT,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAwB,aAAa;EAAM,CAAC;CAChE,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAc;EAAS;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/pentestagent.d.ts
4
+ declare const pentestagentDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { pentestagentDefinition };
7
+ //# sourceMappingURL=pentestagent.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pentestagent.d.mts","names":[],"sources":["../../../src/services/definitions/pentestagent.ts"],"mappings":";;;cAEa,sBAAA,EAAwB,iBAAA"}
@@ -0,0 +1,39 @@
1
+ //#region src/services/definitions/pentestagent.ts
2
+ const pentestagentDefinition = {
3
+ id: "pentestagent",
4
+ name: "PentestAgent",
5
+ description: "AI agent framework for black-box security testing via internal Docker isolated environments.",
6
+ category: "security",
7
+ icon: "🔍",
8
+ image: "ghcr.io/gh05tcrew/pentestagent",
9
+ imageTag: "latest",
10
+ ports: [],
11
+ volumes: [],
12
+ environment: [],
13
+ command: "tail -f /dev/null",
14
+ dependsOn: [],
15
+ restartPolicy: "unless-stopped",
16
+ networks: ["openclaw-network"],
17
+ skills: [{
18
+ skillId: "pentestagent-runner",
19
+ autoInstall: true
20
+ }],
21
+ openclawEnvVars: [],
22
+ docsUrl: "https://github.com/GH05TCREW/pentestagent",
23
+ tags: [
24
+ "security",
25
+ "pentesting",
26
+ "tui",
27
+ "framework"
28
+ ],
29
+ maturity: "experimental",
30
+ requires: [],
31
+ recommends: [],
32
+ conflictsWith: [],
33
+ minMemoryMB: 1024,
34
+ gpuRequired: false
35
+ };
36
+
37
+ //#endregion
38
+ export { pentestagentDefinition };
39
+ //# sourceMappingURL=pentestagent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pentestagent.mjs","names":[],"sources":["../../../src/services/definitions/pentestagent.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const pentestagentDefinition: ServiceDefinition = {\n\tid: \"pentestagent\",\n\tname: \"PentestAgent\",\n\tdescription: \"AI agent framework for black-box security testing via internal Docker isolated environments.\",\n\tcategory: \"security\",\n\ticon: \"🔍\",\n\n\timage: \"ghcr.io/gh05tcrew/pentestagent\",\n\timageTag: \"latest\",\n\tports: [], // Typically an internal CLI/TUI\n\tvolumes: [],\n\tenvironment: [],\n\tcommand: \"tail -f /dev/null\", // Keeps container alive for executing interactive TUIs\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"pentestagent-runner\", autoInstall: true }],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://github.com/GH05TCREW/pentestagent\",\n\ttags: [\"security\", \"pentesting\", \"tui\", \"framework\"],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 1024,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,yBAA4C;CACxD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,EAAE;CACT,SAAS,EAAE;CACX,aAAa,EAAE;CACf,SAAS;CACT,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAuB,aAAa;EAAM,CAAC;CAC/D,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAO;EAAY;CACpD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/scrapling.d.ts
4
+ declare const scraplingDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { scraplingDefinition };
7
+ //# sourceMappingURL=scrapling.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrapling.d.mts","names":[],"sources":["../../../src/services/definitions/scrapling.ts"],"mappings":";;;cAEa,mBAAA,EAAqB,iBAAA"}
@@ -0,0 +1,44 @@
1
+ //#region src/services/definitions/scrapling.ts
2
+ const scraplingDefinition = {
3
+ id: "scrapling",
4
+ name: "Scrapling",
5
+ description: "Adaptive Web Scraping framework with anti-bot bypass capabilities and MCP server.",
6
+ category: "browser",
7
+ icon: "🕷️",
8
+ image: "ghcr.io/d4vinci/scrapling",
9
+ imageTag: "latest",
10
+ ports: [{
11
+ host: 8e3,
12
+ container: 8e3,
13
+ description: "Scrapling MCP Server",
14
+ exposed: true
15
+ }],
16
+ volumes: [],
17
+ environment: [],
18
+ command: "mcp",
19
+ dependsOn: [],
20
+ restartPolicy: "unless-stopped",
21
+ networks: ["openclaw-network"],
22
+ skills: [{
23
+ skillId: "scrapling-scrape",
24
+ autoInstall: true
25
+ }],
26
+ openclawEnvVars: [],
27
+ docsUrl: "https://scrapling.readthedocs.io",
28
+ tags: [
29
+ "data",
30
+ "scraping",
31
+ "automation",
32
+ "mcp"
33
+ ],
34
+ maturity: "stable",
35
+ requires: [],
36
+ recommends: [],
37
+ conflictsWith: [],
38
+ minMemoryMB: 1024,
39
+ gpuRequired: false
40
+ };
41
+
42
+ //#endregion
43
+ export { scraplingDefinition };
44
+ //# sourceMappingURL=scrapling.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrapling.mjs","names":[],"sources":["../../../src/services/definitions/scrapling.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const scraplingDefinition: ServiceDefinition = {\n\tid: \"scrapling\",\n\tname: \"Scrapling\",\n\tdescription: \"Adaptive Web Scraping framework with anti-bot bypass capabilities and MCP server.\",\n\tcategory: \"browser\",\n\ticon: \"🕷️\",\n\n\timage: \"ghcr.io/d4vinci/scrapling\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8000,\n\t\t\tcontainer: 8000,\n\t\t\tdescription: \"Scrapling MCP Server\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [],\n\tcommand: \"mcp\",\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"scrapling-scrape\", autoInstall: true }],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://scrapling.readthedocs.io\",\n\ttags: [\"data\", \"scraping\", \"automation\", \"mcp\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 1024,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,sBAAyC;CACrD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,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,EAAE;CACf,SAAS;CACT,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAQ;EAAY;EAAc;EAAM;CAC/C,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/solidityguard.d.ts
4
+ declare const solidityGuardDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { solidityGuardDefinition };
7
+ //# sourceMappingURL=solidityguard.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidityguard.d.mts","names":[],"sources":["../../../src/services/definitions/solidityguard.ts"],"mappings":";;;cAEa,uBAAA,EAAyB,iBAAA"}
@@ -0,0 +1,49 @@
1
+ //#region src/services/definitions/solidityguard.ts
2
+ const solidityGuardDefinition = {
3
+ id: "solidityguard",
4
+ name: "SolidityGuard",
5
+ description: "7-Phase Deep Audit Smart Contract Security Auditor for EVM/Solidity.",
6
+ category: "security",
7
+ icon: "🛡️",
8
+ image: "altresearch/solidityguard",
9
+ imageTag: "latest",
10
+ ports: [{
11
+ host: 8e3,
12
+ container: 8e3,
13
+ description: "SolidityGuard Web Dashboard",
14
+ exposed: true
15
+ }],
16
+ volumes: [{
17
+ name: "./contracts",
18
+ containerPath: "/audit",
19
+ description: "Mounts local contracts for CLI deep auditing."
20
+ }],
21
+ environment: [],
22
+ command: "web",
23
+ dependsOn: [],
24
+ restartPolicy: "unless-stopped",
25
+ networks: ["openclaw-network"],
26
+ skills: [{
27
+ skillId: "solidityguard-audit",
28
+ autoInstall: true
29
+ }],
30
+ openclawEnvVars: [],
31
+ docsUrl: "https://solidityguard.org",
32
+ tags: [
33
+ "security",
34
+ "web3",
35
+ "solidity",
36
+ "evm",
37
+ "audit"
38
+ ],
39
+ maturity: "stable",
40
+ requires: [],
41
+ recommends: [],
42
+ conflictsWith: [],
43
+ minMemoryMB: 2048,
44
+ gpuRequired: false
45
+ };
46
+
47
+ //#endregion
48
+ export { solidityGuardDefinition };
49
+ //# sourceMappingURL=solidityguard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidityguard.mjs","names":[],"sources":["../../../src/services/definitions/solidityguard.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const solidityGuardDefinition: ServiceDefinition = {\n\tid: \"solidityguard\",\n\tname: \"SolidityGuard\",\n\tdescription: \"7-Phase Deep Audit Smart Contract Security Auditor for EVM/Solidity.\",\n\tcategory: \"security\",\n\ticon: \"🛡️\",\n\n\timage: \"altresearch/solidityguard\", // Presumed standard dockerhub naming format, usually ghcr.io or dockerhub\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8000,\n\t\t\tcontainer: 8000,\n\t\t\tdescription: \"SolidityGuard Web Dashboard\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"./contracts\",\n\t\t\tcontainerPath: \"/audit\",\n\t\t\tdescription: \"Mounts local contracts for CLI deep auditing.\",\n\t\t},\n\t],\n\tenvironment: [],\n\tcommand: \"web\", // Presumed default startup command for the web UI if no CLI args are given\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"solidityguard-audit\", autoInstall: true }],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://solidityguard.org\",\n\ttags: [\"security\", \"web3\", \"solidity\", \"evm\", \"audit\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 2048,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,0BAA6C;CACzD,IAAI;CACJ,MAAM;CACN,aAAa;CACb,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,EAAE;CACf,SAAS;CACT,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAuB,aAAa;EAAM,CAAC;CAC/D,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAY;EAAQ;EAAY;EAAO;EAAQ;CACtD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -1,4 +1,4 @@
1
- import { t as manifest_default } from "../manifest-DSGl8ITO.mjs";
1
+ import { t as manifest_default } from "../manifest-BjK4ALvr.mjs";
2
2
 
3
3
  //#region src/skills/skill-manifest.ts
4
4
  const manifestData = manifest_default;
package/dist/types.mjs CHANGED
@@ -94,6 +94,11 @@ const SERVICE_CATEGORIES = [
94
94
  id: "streaming",
95
95
  name: "Streaming & Relay",
96
96
  icon: "📺"
97
+ },
98
+ {
99
+ id: "security",
100
+ name: "Security & Pentesting",
101
+ icon: "🛡️"
97
102
  }
98
103
  ];
99
104
 
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type {\n\tAddedDependencySchema,\n\tApiErrorSchema,\n\tComposeOptionsSchema,\n\tDeploymentTargetSchema,\n\tDeploymentTypeSchema,\n\tDeploySchema,\n\tEnvVariableSchema,\n\tErrorSchema,\n\tGenerationInputSchema,\n\tHealthCheckSchema,\n\tMaturitySchema,\n\tNativePlatformSchema,\n\tNativeRecipeSchema,\n\tOutputFormatSchema,\n\tPlatformSchema,\n\tPortMappingSchema,\n\tPresetSchema,\n\tProxyTypeSchema,\n\tResolvedServiceSchema,\n\tResolverOutputSchema,\n\tResourceLimitsSchema,\n\tRestartPolicySchema,\n\tServiceCategorySchema,\n\tServiceDefinitionSchema,\n\tSkillBindingSchema,\n\tSkillPackSchema,\n\tValidateRequestSchema,\n\tValidateResponseSchema,\n\tVolumeMappingSchema,\n\tWarningSchema,\n} from \"./schema.js\";\n\n// ─── Inferred Types ─────────────────────────────────────────────────────────\n\nexport type ServiceCategory = z.infer<typeof ServiceCategorySchema>;\nexport type Maturity = z.infer<typeof MaturitySchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type RestartPolicy = z.infer<typeof RestartPolicySchema>;\nexport type ProxyType = z.infer<typeof ProxyTypeSchema>;\nexport type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;\nexport type DeploymentType = z.infer<typeof DeploymentTypeSchema>;\nexport type NativePlatform = z.infer<typeof NativePlatformSchema>;\nexport type NativeRecipe = z.infer<typeof NativeRecipeSchema>;\nexport type OutputFormat = z.infer<typeof OutputFormatSchema>;\n\nexport type PortMapping = z.infer<typeof PortMappingSchema>;\nexport type VolumeMapping = z.infer<typeof VolumeMappingSchema>;\nexport type EnvVariable = z.infer<typeof EnvVariableSchema>;\nexport type HealthCheck = z.infer<typeof HealthCheckSchema>;\nexport type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;\nexport type Deploy = z.infer<typeof DeploySchema>;\nexport type SkillBinding = z.infer<typeof SkillBindingSchema>;\n\nexport type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;\nexport type SkillPack = z.infer<typeof SkillPackSchema>;\nexport type Preset = z.infer<typeof PresetSchema>;\n\nexport type GenerationInput = z.infer<typeof GenerationInputSchema>;\nexport type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {\n\t/** Dynamic Traefik labels per service, computed by the Traefik generator. */\n\ttraefikLabels?: Map<string, Record<string, string>>;\n};\nexport type ResolvedService = z.infer<typeof ResolvedServiceSchema>;\nexport type AddedDependency = z.infer<typeof AddedDependencySchema>;\nexport type Warning = z.infer<typeof WarningSchema>;\nexport type ResolverError = z.infer<typeof ErrorSchema>;\nexport type ResolverOutput = z.infer<typeof ResolverOutputSchema>;\n\nexport type ValidateRequest = z.infer<typeof ValidateRequestSchema>;\nexport type ValidateResponse = z.infer<typeof ValidateResponseSchema>;\nexport type ApiError = z.infer<typeof ApiErrorSchema>;\n\n// ─── Additional Types ───────────────────────────────────────────────────────\n\nexport interface ResolverInput {\n\tservices: string[];\n\tskillPacks: string[];\n\tproxy?: ProxyType;\n\tgpu?: boolean;\n\tplatform?: Platform;\n\tmonitoring?: boolean;\n\tmemoryThresholds?: { info: number; warning: number; critical: number };\n}\n\nexport interface GeneratedFiles {\n\t[path: string]: string;\n}\n\nexport interface GenerationMetadata {\n\tserviceCount: number;\n\tskillCount: number;\n\testimatedMemoryMB: number;\n\tgeneratedAt: string;\n}\n\nexport interface GenerationResult {\n\tfiles: GeneratedFiles;\n\tmetadata: GenerationMetadata;\n}\n\nexport interface CategoryInfo {\n\tid: ServiceCategory;\n\tname: string;\n\ticon: string;\n}\n\nexport const SERVICE_CATEGORIES: CategoryInfo[] = [\n\t{ id: \"coding-agent\", name: \"AI Coding Agents\", icon: \"💻\" },\n\t{ id: \"ai-platform\", name: \"AI Platforms & Chat UIs\", icon: \"🧪\" },\n\t{ id: \"ai\", name: \"AI / Local Models\", icon: \"🤖\" },\n\t{ id: \"automation\", name: \"Automation & Workflows\", icon: \"🔄\" },\n\t{ id: \"vector-db\", name: \"Vector Databases\", icon: \"🧠\" },\n\t{ id: \"media\", name: \"Media & Video\", icon: \"🎬\" },\n\t{ id: \"social-media\", name: \"Social Media\", icon: \"📱\" },\n\t{ id: \"analytics\", name: \"Analytics\", icon: \"📊\" },\n\t{ id: \"knowledge\", name: \"Knowledge & Documents\", icon: \"📚\" },\n\t{ id: \"storage\", name: \"Object Storage\", icon: \"💾\" },\n\t{ id: \"database\", name: \"Databases & Caching\", icon: \"🗄️\" },\n\t{ id: \"dev-tools\", name: \"Developer Tools\", icon: \"🛠️\" },\n\t{ id: \"proxy\", name: \"Reverse Proxy\", icon: \"🌐\" },\n\t{ id: \"monitoring\", name: \"Monitoring\", icon: \"📡\" },\n\t{ id: \"browser\", name: \"Browser Automation\", icon: \"🌐\" },\n\t{ id: \"search\", name: \"Search\", icon: \"🔍\" },\n\t{ id: \"communication\", name: \"Notifications\", icon: \"🔔\" },\n\t{ id: \"desktop\", name: \"Desktop Environment\", icon: \"🖥️\" },\n\t{ id: \"streaming\", name: \"Streaming & Relay\", icon: \"📺\" },\n];\n"],"mappings":";AA4GA,MAAa,qBAAqC;CACjD;EAAE,IAAI;EAAgB,MAAM;EAAoB,MAAM;EAAM;CAC5D;EAAE,IAAI;EAAe,MAAM;EAA2B,MAAM;EAAM;CAClE;EAAE,IAAI;EAAM,MAAM;EAAqB,MAAM;EAAM;CACnD;EAAE,IAAI;EAAc,MAAM;EAA0B,MAAM;EAAM;CAChE;EAAE,IAAI;EAAa,MAAM;EAAoB,MAAM;EAAM;CACzD;EAAE,IAAI;EAAS,MAAM;EAAiB,MAAM;EAAM;CAClD;EAAE,IAAI;EAAgB,MAAM;EAAgB,MAAM;EAAM;CACxD;EAAE,IAAI;EAAa,MAAM;EAAa,MAAM;EAAM;CAClD;EAAE,IAAI;EAAa,MAAM;EAAyB,MAAM;EAAM;CAC9D;EAAE,IAAI;EAAW,MAAM;EAAkB,MAAM;EAAM;CACrD;EAAE,IAAI;EAAY,MAAM;EAAuB,MAAM;EAAO;CAC5D;EAAE,IAAI;EAAa,MAAM;EAAmB,MAAM;EAAO;CACzD;EAAE,IAAI;EAAS,MAAM;EAAiB,MAAM;EAAM;CAClD;EAAE,IAAI;EAAc,MAAM;EAAc,MAAM;EAAM;CACpD;EAAE,IAAI;EAAW,MAAM;EAAsB,MAAM;EAAM;CACzD;EAAE,IAAI;EAAU,MAAM;EAAU,MAAM;EAAM;CAC5C;EAAE,IAAI;EAAiB,MAAM;EAAiB,MAAM;EAAM;CAC1D;EAAE,IAAI;EAAW,MAAM;EAAuB,MAAM;EAAO;CAC3D;EAAE,IAAI;EAAa,MAAM;EAAqB,MAAM;EAAM;CAC1D"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type {\n\tAddedDependencySchema,\n\tApiErrorSchema,\n\tComposeOptionsSchema,\n\tDeploymentTargetSchema,\n\tDeploymentTypeSchema,\n\tDeploySchema,\n\tEnvVariableSchema,\n\tErrorSchema,\n\tGenerationInputSchema,\n\tHealthCheckSchema,\n\tMaturitySchema,\n\tNativePlatformSchema,\n\tNativeRecipeSchema,\n\tOutputFormatSchema,\n\tPlatformSchema,\n\tPortMappingSchema,\n\tPresetSchema,\n\tProxyTypeSchema,\n\tResolvedServiceSchema,\n\tResolverOutputSchema,\n\tResourceLimitsSchema,\n\tRestartPolicySchema,\n\tServiceCategorySchema,\n\tServiceDefinitionSchema,\n\tSkillBindingSchema,\n\tSkillPackSchema,\n\tValidateRequestSchema,\n\tValidateResponseSchema,\n\tVolumeMappingSchema,\n\tWarningSchema,\n} from \"./schema.js\";\n\n// ─── Inferred Types ─────────────────────────────────────────────────────────\n\nexport type ServiceCategory = z.infer<typeof ServiceCategorySchema>;\nexport type Maturity = z.infer<typeof MaturitySchema>;\nexport type Platform = z.infer<typeof PlatformSchema>;\nexport type RestartPolicy = z.infer<typeof RestartPolicySchema>;\nexport type ProxyType = z.infer<typeof ProxyTypeSchema>;\nexport type DeploymentTarget = z.infer<typeof DeploymentTargetSchema>;\nexport type DeploymentType = z.infer<typeof DeploymentTypeSchema>;\nexport type NativePlatform = z.infer<typeof NativePlatformSchema>;\nexport type NativeRecipe = z.infer<typeof NativeRecipeSchema>;\nexport type OutputFormat = z.infer<typeof OutputFormatSchema>;\n\nexport type PortMapping = z.infer<typeof PortMappingSchema>;\nexport type VolumeMapping = z.infer<typeof VolumeMappingSchema>;\nexport type EnvVariable = z.infer<typeof EnvVariableSchema>;\nexport type HealthCheck = z.infer<typeof HealthCheckSchema>;\nexport type ResourceLimits = z.infer<typeof ResourceLimitsSchema>;\nexport type Deploy = z.infer<typeof DeploySchema>;\nexport type SkillBinding = z.infer<typeof SkillBindingSchema>;\n\nexport type ServiceDefinition = z.infer<typeof ServiceDefinitionSchema>;\nexport type SkillPack = z.infer<typeof SkillPackSchema>;\nexport type Preset = z.infer<typeof PresetSchema>;\n\nexport type GenerationInput = z.infer<typeof GenerationInputSchema>;\nexport type ComposeOptions = z.infer<typeof ComposeOptionsSchema> & {\n\t/** Dynamic Traefik labels per service, computed by the Traefik generator. */\n\ttraefikLabels?: Map<string, Record<string, string>>;\n};\nexport type ResolvedService = z.infer<typeof ResolvedServiceSchema>;\nexport type AddedDependency = z.infer<typeof AddedDependencySchema>;\nexport type Warning = z.infer<typeof WarningSchema>;\nexport type ResolverError = z.infer<typeof ErrorSchema>;\nexport type ResolverOutput = z.infer<typeof ResolverOutputSchema>;\n\nexport type ValidateRequest = z.infer<typeof ValidateRequestSchema>;\nexport type ValidateResponse = z.infer<typeof ValidateResponseSchema>;\nexport type ApiError = z.infer<typeof ApiErrorSchema>;\n\n// ─── Additional Types ───────────────────────────────────────────────────────\n\nexport interface ResolverInput {\n\tservices: string[];\n\tskillPacks: string[];\n\tproxy?: ProxyType;\n\tgpu?: boolean;\n\tplatform?: Platform;\n\tmonitoring?: boolean;\n\tmemoryThresholds?: { info: number; warning: number; critical: number };\n}\n\nexport interface GeneratedFiles {\n\t[path: string]: string;\n}\n\nexport interface GenerationMetadata {\n\tserviceCount: number;\n\tskillCount: number;\n\testimatedMemoryMB: number;\n\tgeneratedAt: string;\n}\n\nexport interface GenerationResult {\n\tfiles: GeneratedFiles;\n\tmetadata: GenerationMetadata;\n}\n\nexport interface CategoryInfo {\n\tid: ServiceCategory;\n\tname: string;\n\ticon: string;\n}\n\nexport const SERVICE_CATEGORIES: CategoryInfo[] = [\n\t{ id: \"coding-agent\", name: \"AI Coding Agents\", icon: \"💻\" },\n\t{ id: \"ai-platform\", name: \"AI Platforms & Chat UIs\", icon: \"🧪\" },\n\t{ id: \"ai\", name: \"AI / Local Models\", icon: \"🤖\" },\n\t{ id: \"automation\", name: \"Automation & Workflows\", icon: \"🔄\" },\n\t{ id: \"vector-db\", name: \"Vector Databases\", icon: \"🧠\" },\n\t{ id: \"media\", name: \"Media & Video\", icon: \"🎬\" },\n\t{ id: \"social-media\", name: \"Social Media\", icon: \"📱\" },\n\t{ id: \"analytics\", name: \"Analytics\", icon: \"📊\" },\n\t{ id: \"knowledge\", name: \"Knowledge & Documents\", icon: \"📚\" },\n\t{ id: \"storage\", name: \"Object Storage\", icon: \"💾\" },\n\t{ id: \"database\", name: \"Databases & Caching\", icon: \"🗄️\" },\n\t{ id: \"dev-tools\", name: \"Developer Tools\", icon: \"🛠️\" },\n\t{ id: \"proxy\", name: \"Reverse Proxy\", icon: \"🌐\" },\n\t{ id: \"monitoring\", name: \"Monitoring\", icon: \"📡\" },\n\t{ id: \"browser\", name: \"Browser Automation\", icon: \"🌐\" },\n\t{ id: \"search\", name: \"Search\", icon: \"🔍\" },\n\t{ id: \"communication\", name: \"Notifications\", icon: \"🔔\" },\n\t{ id: \"desktop\", name: \"Desktop Environment\", icon: \"🖥️\" },\n\t{ id: \"streaming\", name: \"Streaming & Relay\", icon: \"📺\" },\n\t{ id: \"security\", name: \"Security & Pentesting\", icon: \"🛡️\" },\n];\n"],"mappings":";AA4GA,MAAa,qBAAqC;CACjD;EAAE,IAAI;EAAgB,MAAM;EAAoB,MAAM;EAAM;CAC5D;EAAE,IAAI;EAAe,MAAM;EAA2B,MAAM;EAAM;CAClE;EAAE,IAAI;EAAM,MAAM;EAAqB,MAAM;EAAM;CACnD;EAAE,IAAI;EAAc,MAAM;EAA0B,MAAM;EAAM;CAChE;EAAE,IAAI;EAAa,MAAM;EAAoB,MAAM;EAAM;CACzD;EAAE,IAAI;EAAS,MAAM;EAAiB,MAAM;EAAM;CAClD;EAAE,IAAI;EAAgB,MAAM;EAAgB,MAAM;EAAM;CACxD;EAAE,IAAI;EAAa,MAAM;EAAa,MAAM;EAAM;CAClD;EAAE,IAAI;EAAa,MAAM;EAAyB,MAAM;EAAM;CAC9D;EAAE,IAAI;EAAW,MAAM;EAAkB,MAAM;EAAM;CACrD;EAAE,IAAI;EAAY,MAAM;EAAuB,MAAM;EAAO;CAC5D;EAAE,IAAI;EAAa,MAAM;EAAmB,MAAM;EAAO;CACzD;EAAE,IAAI;EAAS,MAAM;EAAiB,MAAM;EAAM;CAClD;EAAE,IAAI;EAAc,MAAM;EAAc,MAAM;EAAM;CACpD;EAAE,IAAI;EAAW,MAAM;EAAsB,MAAM;EAAM;CACzD;EAAE,IAAI;EAAU,MAAM;EAAU,MAAM;EAAM;CAC5C;EAAE,IAAI;EAAiB,MAAM;EAAiB,MAAM;EAAM;CAC1D;EAAE,IAAI;EAAW,MAAM;EAAuB,MAAM;EAAO;CAC3D;EAAE,IAAI;EAAa,MAAM;EAAqB,MAAM;EAAM;CAC1D;EAAE,IAAI;EAAY,MAAM;EAAyB,MAAM;EAAO;CAC9D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-openclaw/core",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "private": false,
5
5
  "description": "Core logic for better-openclaw: schemas, service registry, resolver, composer, validators and more",
6
6
  "packageManager": "pnpm@9.15.4",
package/src/composer.ts CHANGED
@@ -74,7 +74,11 @@ function buildGatewayServices(
74
74
  }
75
75
  if (def.openclawVolumeMounts) {
76
76
  for (const vol of def.openclawVolumeMounts) {
77
- allVolumes.add(vol.name);
77
+ const isBindMount =
78
+ vol.name.startsWith("./") || vol.name.startsWith("/") || vol.name.startsWith("~");
79
+ if (!isBindMount) {
80
+ allVolumes.add(vol.name);
81
+ }
78
82
  gatewayVolumes.push(`${vol.name}:${vol.containerPath}`);
79
83
  }
80
84
  }
@@ -172,8 +176,13 @@ function buildCompanionService(
172
176
 
173
177
  if (def.volumes.length > 0) {
174
178
  svc.volumes = def.volumes.map((v) => {
175
- allVolumes.add(v.name);
176
- volumeNames.push(v.name);
179
+ const isBindMount =
180
+ v.name.startsWith("./") || v.name.startsWith("/") || v.name.startsWith("~");
181
+
182
+ if (!isBindMount) {
183
+ allVolumes.add(v.name);
184
+ volumeNames.push(v.name);
185
+ }
177
186
  return `${v.name}:${v.containerPath}`;
178
187
  });
179
188
  }
package/src/schema.ts CHANGED
@@ -22,6 +22,7 @@ export const ServiceCategorySchema = z.enum([
22
22
  "knowledge",
23
23
  "desktop",
24
24
  "streaming",
25
+ "security",
25
26
  ]);
26
27
 
27
28
  export const MaturitySchema = z.enum(["stable", "beta", "experimental"]);
@@ -0,0 +1,40 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const hexstrikeDefinition: ServiceDefinition = {
4
+ id: "hexstrike",
5
+ name: "HexStrike AI",
6
+ description: "AI-Powered MCP Cybersecurity Automation Platform with 150+ pentesting tools.",
7
+ category: "security",
8
+ icon: "⚔️",
9
+
10
+ image: "ghcr.io/0x4m4/hexstrike-ai",
11
+ imageTag: "latest",
12
+ ports: [
13
+ {
14
+ host: 8888,
15
+ container: 8888,
16
+ description: "HexStrike MCP Server",
17
+ exposed: true,
18
+ },
19
+ ],
20
+ volumes: [],
21
+ environment: [],
22
+ command: "mcp", // Instructs standard Python/Docker runtime to serve the MCP endpoint
23
+ dependsOn: [],
24
+ restartPolicy: "unless-stopped",
25
+ networks: ["openclaw-network"],
26
+
27
+ skills: [{ skillId: "hexstrike-mcp", autoInstall: true }],
28
+ openclawEnvVars: [],
29
+
30
+ docsUrl: "https://github.com/0x4m4/hexstrike-ai",
31
+ tags: ["security", "pentesting", "mcp", "agent"],
32
+ maturity: "experimental",
33
+
34
+ requires: [],
35
+ recommends: [],
36
+ conflictsWith: [],
37
+
38
+ minMemoryMB: 2048,
39
+ gpuRequired: false,
40
+ };
@@ -23,6 +23,7 @@ export { geminiCliDefinition } from "./gemini-cli.js";
23
23
  export { giteaDefinition } from "./gitea.js";
24
24
  export { gotifyDefinition } from "./gotify.js";
25
25
  export { grafanaDefinition } from "./grafana.js";
26
+ export { hexstrikeDefinition } from "./hexstrike.js";
26
27
  export { kimiDefinition } from "./kimi.js";
27
28
  export { lasuiteMeetAgentsDefinition } from "./lasuite-meet-agents.js";
28
29
  export { lasuiteMeetBackendDefinition } from "./lasuite-meet-backend.js";
@@ -49,6 +50,8 @@ export { opencodeDefinition } from "./opencode.js";
49
50
  export { openpanelDefinition } from "./openpanel.js";
50
51
  export { outlineDefinition } from "./outline.js";
51
52
  export { paperlessNgxDefinition } from "./paperless-ngx.js";
53
+ export { pentagiDefinition } from "./pentagi.js";
54
+ export { pentestagentDefinition } from "./pentestagent.js";
52
55
  export { playwrightServerDefinition } from "./playwright-server.js";
53
56
  export { portainerDefinition } from "./portainer.js";
54
57
  export { postgresqlDefinition } from "./postgresql.js";
@@ -58,7 +61,9 @@ export { qdrantDefinition } from "./qdrant.js";
58
61
  export { redisDefinition } from "./redis.js";
59
62
  export { remotionDefinition } from "./remotion.js";
60
63
  export { rocketchatDefinition } from "./rocketchat.js";
64
+ export { scraplingDefinition } from "./scrapling.js";
61
65
  export { searxngDefinition } from "./searxng.js";
66
+ export { solidityGuardDefinition } from "./solidityguard.js";
62
67
  export { stableDiffusionDefinition } from "./stable-diffusion.js";
63
68
  export { steelBrowserDefinition } from "./steel-browser.js";
64
69
  export { streamGatewayDefinition } from "./stream-gateway.js";
@@ -100,6 +105,7 @@ import { geminiCliDefinition } from "./gemini-cli.js";
100
105
  import { giteaDefinition } from "./gitea.js";
101
106
  import { gotifyDefinition } from "./gotify.js";
102
107
  import { grafanaDefinition } from "./grafana.js";
108
+ import { hexstrikeDefinition } from "./hexstrike.js";
103
109
  import { kimiDefinition } from "./kimi.js";
104
110
  import { lasuiteMeetAgentsDefinition } from "./lasuite-meet-agents.js";
105
111
  import { lasuiteMeetBackendDefinition } from "./lasuite-meet-backend.js";
@@ -126,6 +132,8 @@ import { opencodeDefinition } from "./opencode.js";
126
132
  import { openpanelDefinition } from "./openpanel.js";
127
133
  import { outlineDefinition } from "./outline.js";
128
134
  import { paperlessNgxDefinition } from "./paperless-ngx.js";
135
+ import { pentagiDefinition } from "./pentagi.js";
136
+ import { pentestagentDefinition } from "./pentestagent.js";
129
137
  import { playwrightServerDefinition } from "./playwright-server.js";
130
138
  import { portainerDefinition } from "./portainer.js";
131
139
  import { postgresqlDefinition } from "./postgresql.js";
@@ -135,7 +143,9 @@ import { qdrantDefinition } from "./qdrant.js";
135
143
  import { redisDefinition } from "./redis.js";
136
144
  import { remotionDefinition } from "./remotion.js";
137
145
  import { rocketchatDefinition } from "./rocketchat.js";
146
+ import { scraplingDefinition } from "./scrapling.js";
138
147
  import { searxngDefinition } from "./searxng.js";
148
+ import { solidityGuardDefinition } from "./solidityguard.js";
139
149
  import { stableDiffusionDefinition } from "./stable-diffusion.js";
140
150
  import { steelBrowserDefinition } from "./steel-browser.js";
141
151
  import { streamGatewayDefinition } from "./stream-gateway.js";
@@ -227,4 +237,9 @@ export const allServiceDefinitions: ServiceDefinition[] = [
227
237
  neo4jDefinition,
228
238
  calComDefinition,
229
239
  xyopsDefinition,
240
+ scraplingDefinition,
241
+ hexstrikeDefinition,
242
+ solidityGuardDefinition,
243
+ pentagiDefinition,
244
+ pentestagentDefinition,
230
245
  ];
@@ -0,0 +1,40 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const pentagiDefinition: ServiceDefinition = {
4
+ id: "pentagi",
5
+ name: "PentAGI",
6
+ description: "Fully autonomous AI Agents system capable of performing complex penetration testing tasks.",
7
+ category: "security",
8
+ icon: "🕵️",
9
+
10
+ image: "vxcontrol/pentagi",
11
+ imageTag: "latest",
12
+ ports: [
13
+ {
14
+ host: 8080, // Assuming default or common port for web UI, might need adjustment based on their docker-compose
15
+ container: 8080,
16
+ description: "PentAGI Interface",
17
+ exposed: true,
18
+ },
19
+ ],
20
+ volumes: [],
21
+ environment: [],
22
+ command: "", // Leave empty to use default image command
23
+ dependsOn: [],
24
+ restartPolicy: "unless-stopped",
25
+ networks: ["openclaw-network"],
26
+
27
+ skills: [{ skillId: "pentagi-orchestrator", autoInstall: true }],
28
+ openclawEnvVars: [],
29
+
30
+ docsUrl: "https://pentagi.com",
31
+ tags: ["security", "pentesting", "autonomous", "agents"],
32
+ maturity: "experimental",
33
+
34
+ requires: [],
35
+ recommends: [],
36
+ conflictsWith: [],
37
+
38
+ minMemoryMB: 4096, // Documentation explicitly asks for Minimum 4GB RAM
39
+ gpuRequired: false,
40
+ };
@@ -0,0 +1,33 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const pentestagentDefinition: ServiceDefinition = {
4
+ id: "pentestagent",
5
+ name: "PentestAgent",
6
+ description: "AI agent framework for black-box security testing via internal Docker isolated environments.",
7
+ category: "security",
8
+ icon: "🔍",
9
+
10
+ image: "ghcr.io/gh05tcrew/pentestagent",
11
+ imageTag: "latest",
12
+ ports: [], // Typically an internal CLI/TUI
13
+ volumes: [],
14
+ environment: [],
15
+ command: "tail -f /dev/null", // Keeps container alive for executing interactive TUIs
16
+ dependsOn: [],
17
+ restartPolicy: "unless-stopped",
18
+ networks: ["openclaw-network"],
19
+
20
+ skills: [{ skillId: "pentestagent-runner", autoInstall: true }],
21
+ openclawEnvVars: [],
22
+
23
+ docsUrl: "https://github.com/GH05TCREW/pentestagent",
24
+ tags: ["security", "pentesting", "tui", "framework"],
25
+ maturity: "experimental",
26
+
27
+ requires: [],
28
+ recommends: [],
29
+ conflictsWith: [],
30
+
31
+ minMemoryMB: 1024,
32
+ gpuRequired: false,
33
+ };
@@ -0,0 +1,40 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const scraplingDefinition: ServiceDefinition = {
4
+ id: "scrapling",
5
+ name: "Scrapling",
6
+ description: "Adaptive Web Scraping framework with anti-bot bypass capabilities and MCP server.",
7
+ category: "browser",
8
+ icon: "🕷️",
9
+
10
+ image: "ghcr.io/d4vinci/scrapling",
11
+ imageTag: "latest",
12
+ ports: [
13
+ {
14
+ host: 8000,
15
+ container: 8000,
16
+ description: "Scrapling MCP Server",
17
+ exposed: true,
18
+ },
19
+ ],
20
+ volumes: [],
21
+ environment: [],
22
+ command: "mcp",
23
+ dependsOn: [],
24
+ restartPolicy: "unless-stopped",
25
+ networks: ["openclaw-network"],
26
+
27
+ skills: [{ skillId: "scrapling-scrape", autoInstall: true }],
28
+ openclawEnvVars: [],
29
+
30
+ docsUrl: "https://scrapling.readthedocs.io",
31
+ tags: ["data", "scraping", "automation", "mcp"],
32
+ maturity: "stable",
33
+
34
+ requires: [],
35
+ recommends: [],
36
+ conflictsWith: [],
37
+
38
+ minMemoryMB: 1024,
39
+ gpuRequired: false,
40
+ };