@better-openclaw/core 1.0.25 → 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -7
- package/dist/addon-stack.cjs +95 -30
- package/dist/addon-stack.cjs.map +1 -1
- package/dist/addon-stack.d.cts +1 -1
- package/dist/addon-stack.d.cts.map +1 -1
- package/dist/addon-stack.d.mts +1 -1
- package/dist/addon-stack.d.mts.map +1 -1
- package/dist/addon-stack.mjs +94 -29
- package/dist/addon-stack.mjs.map +1 -1
- package/dist/addon-stack.test.cjs +123 -11
- package/dist/addon-stack.test.cjs.map +1 -1
- package/dist/addon-stack.test.mjs +122 -10
- package/dist/addon-stack.test.mjs.map +1 -1
- package/dist/bare-metal-partition.d.cts +1 -1
- package/dist/bare-metal-partition.d.mts +1 -1
- package/dist/bare-metal-partition.test.cjs +1 -1
- package/dist/bare-metal-partition.test.mjs +1 -1
- package/dist/callback-sink-CdMKYayY.d.mts +15 -0
- package/dist/callback-sink-CdMKYayY.d.mts.map +1 -0
- package/dist/callback-sink-iNThWRnQ.d.cts +15 -0
- package/dist/callback-sink-iNThWRnQ.d.cts.map +1 -0
- package/dist/claude-code-fw-CrbAlzTM.d.mts +7 -0
- package/dist/claude-code-fw-CrbAlzTM.d.mts.map +1 -0
- package/dist/claude-code-fw-dKYH2prH.d.cts +7 -0
- package/dist/claude-code-fw-dKYH2prH.d.cts.map +1 -0
- package/dist/codex-fw-Ct8q4pzo.d.mts +7 -0
- package/dist/codex-fw-Ct8q4pzo.d.mts.map +1 -0
- package/dist/codex-fw-l7Ku8ZI8.d.cts +7 -0
- package/dist/codex-fw-l7Ku8ZI8.d.cts.map +1 -0
- package/dist/compose-validation.test.cjs +1 -1
- package/dist/composer.cjs +89 -129
- package/dist/composer.cjs.map +1 -1
- package/dist/composer.d.cts +3 -3
- package/dist/composer.d.cts.map +1 -1
- package/dist/composer.d.mts +3 -3
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +88 -128
- package/dist/composer.mjs.map +1 -1
- package/dist/composer.snapshot.test.cjs +1 -1
- package/dist/composer.snapshot.test.mjs +1 -1
- package/dist/composer.test.cjs +53 -2
- package/dist/composer.test.cjs.map +1 -1
- package/dist/composer.test.mjs +52 -1
- package/dist/composer.test.mjs.map +1 -1
- package/dist/console-sink-BHQpRyCt.d.cts +13 -0
- package/dist/console-sink-BHQpRyCt.d.cts.map +1 -0
- package/dist/console-sink-bouG_M1K.d.mts +13 -0
- package/dist/console-sink-bouG_M1K.d.mts.map +1 -0
- package/dist/{coolify-BVGGcMrT.d.mts → coolify-D5E0z01M.d.mts} +2 -2
- package/dist/{coolify-BVGGcMrT.d.mts.map → coolify-D5E0z01M.d.mts.map} +1 -1
- package/dist/{coolify-vlb1G9V2.d.cts → coolify-DjHecHCr.d.cts} +2 -2
- package/dist/{coolify-vlb1G9V2.d.cts.map → coolify-DjHecHCr.d.cts.map} +1 -1
- package/dist/copaw-BQyjioz7.d.cts +7 -0
- package/dist/copaw-BQyjioz7.d.cts.map +1 -0
- package/dist/copaw-C_3N7eQu.d.mts +7 -0
- package/dist/copaw-C_3N7eQu.d.mts.map +1 -0
- package/dist/deployers/coolify.cjs +25 -0
- package/dist/deployers/coolify.cjs.map +1 -1
- package/dist/deployers/coolify.d.cts +1 -1
- package/dist/deployers/coolify.d.mts +1 -1
- package/dist/deployers/coolify.mjs +25 -0
- package/dist/deployers/coolify.mjs.map +1 -1
- package/dist/deployers/dokploy.cjs +25 -0
- package/dist/deployers/dokploy.cjs.map +1 -1
- package/dist/deployers/dokploy.d.cts +1 -1
- package/dist/deployers/dokploy.d.mts +1 -1
- package/dist/deployers/dokploy.mjs +25 -0
- package/dist/deployers/dokploy.mjs.map +1 -1
- package/dist/deployers/index.d.cts +3 -3
- package/dist/deployers/index.d.mts +3 -3
- package/dist/deployers/strip-host-ports.cjs +1 -1
- package/dist/deployers/strip-host-ports.test.cjs +1 -1
- package/dist/deployers/strip-host-ports.test.mjs +1 -1
- package/dist/deployers/types.d.cts +1 -1
- package/dist/deployers/types.d.mts +1 -1
- package/dist/{dokploy-8cbrxUun.d.cts → dokploy-BnVDjWCV.d.cts} +2 -2
- package/dist/{dokploy-8cbrxUun.d.cts.map → dokploy-BnVDjWCV.d.cts.map} +1 -1
- package/dist/{dokploy-BTflLhTM.d.mts → dokploy-BqLdCfyR.d.mts} +2 -2
- package/dist/{dokploy-BTflLhTM.d.mts.map → dokploy-BqLdCfyR.d.mts.map} +1 -1
- package/dist/frameworks/claude-code-fw.cjs +79 -0
- package/dist/frameworks/claude-code-fw.cjs.map +1 -0
- package/dist/frameworks/claude-code-fw.d.cts +2 -0
- package/dist/frameworks/claude-code-fw.d.mts +2 -0
- package/dist/frameworks/claude-code-fw.mjs +78 -0
- package/dist/frameworks/claude-code-fw.mjs.map +1 -0
- package/dist/frameworks/codex-fw.cjs +67 -0
- package/dist/frameworks/codex-fw.cjs.map +1 -0
- package/dist/frameworks/codex-fw.d.cts +2 -0
- package/dist/frameworks/codex-fw.d.mts +2 -0
- package/dist/frameworks/codex-fw.mjs +66 -0
- package/dist/frameworks/codex-fw.mjs.map +1 -0
- package/dist/frameworks/copaw.cjs +118 -0
- package/dist/frameworks/copaw.cjs.map +1 -0
- package/dist/frameworks/copaw.d.cts +2 -0
- package/dist/frameworks/copaw.d.mts +2 -0
- package/dist/frameworks/copaw.mjs +117 -0
- package/dist/frameworks/copaw.mjs.map +1 -0
- package/dist/frameworks/index.cjs +35 -0
- package/dist/frameworks/index.cjs.map +1 -0
- package/dist/frameworks/index.d.cts +11 -0
- package/dist/frameworks/index.d.mts +11 -0
- package/dist/frameworks/index.mjs +22 -0
- package/dist/frameworks/index.mjs.map +1 -0
- package/dist/frameworks/memu.cjs +118 -0
- package/dist/frameworks/memu.cjs.map +1 -0
- package/dist/frameworks/memu.d.cts +2 -0
- package/dist/frameworks/memu.d.mts +2 -0
- package/dist/frameworks/memu.mjs +117 -0
- package/dist/frameworks/memu.mjs.map +1 -0
- package/dist/frameworks/nanobot.cjs +126 -0
- package/dist/frameworks/nanobot.cjs.map +1 -0
- package/dist/frameworks/nanobot.d.cts +2 -0
- package/dist/frameworks/nanobot.d.mts +2 -0
- package/dist/frameworks/nanobot.mjs +125 -0
- package/dist/frameworks/nanobot.mjs.map +1 -0
- package/dist/frameworks/nanoclaw.cjs +99 -0
- package/dist/frameworks/nanoclaw.cjs.map +1 -0
- package/dist/frameworks/nanoclaw.d.cts +2 -0
- package/dist/frameworks/nanoclaw.d.mts +2 -0
- package/dist/frameworks/nanoclaw.mjs +98 -0
- package/dist/frameworks/nanoclaw.mjs.map +1 -0
- package/dist/frameworks/openclaw.cjs +253 -0
- package/dist/frameworks/openclaw.cjs.map +1 -0
- package/dist/frameworks/openclaw.d.cts +2 -0
- package/dist/frameworks/openclaw.d.mts +2 -0
- package/dist/frameworks/openclaw.mjs +251 -0
- package/dist/frameworks/openclaw.mjs.map +1 -0
- package/dist/frameworks/registry.cjs +31 -0
- package/dist/frameworks/registry.cjs.map +1 -0
- package/dist/frameworks/registry.d.cts +2 -0
- package/dist/frameworks/registry.d.mts +2 -0
- package/dist/frameworks/registry.mjs +26 -0
- package/dist/frameworks/registry.mjs.map +1 -0
- package/dist/frameworks/registry.test.cjs +110 -0
- package/dist/frameworks/registry.test.cjs.map +1 -0
- package/dist/frameworks/registry.test.d.cts +1 -0
- package/dist/frameworks/registry.test.d.mts +1 -0
- package/dist/frameworks/registry.test.mjs +111 -0
- package/dist/frameworks/registry.test.mjs.map +1 -0
- package/dist/frameworks/types.cjs +0 -0
- package/dist/frameworks/types.d.cts +2 -0
- package/dist/frameworks/types.d.mts +2 -0
- package/dist/frameworks/types.mjs +1 -0
- package/dist/frameworks/zeroclaw.cjs +123 -0
- package/dist/frameworks/zeroclaw.cjs.map +1 -0
- package/dist/frameworks/zeroclaw.d.cts +2 -0
- package/dist/frameworks/zeroclaw.d.mts +2 -0
- package/dist/frameworks/zeroclaw.mjs +122 -0
- package/dist/frameworks/zeroclaw.mjs.map +1 -0
- package/dist/generate.cjs +64 -13
- package/dist/generate.cjs.map +1 -1
- package/dist/generate.d.cts +5 -2
- package/dist/generate.d.cts.map +1 -1
- package/dist/generate.d.mts +5 -2
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +63 -12
- package/dist/generate.mjs.map +1 -1
- package/dist/generate.test.cjs +42 -6
- package/dist/generate.test.cjs.map +1 -1
- package/dist/generate.test.mjs +41 -5
- package/dist/generate.test.mjs.map +1 -1
- package/dist/generators/bare-metal-install.d.cts +1 -1
- package/dist/generators/bare-metal-install.d.mts +1 -1
- package/dist/generators/bare-metal-install.test.cjs +1 -1
- package/dist/generators/bare-metal-install.test.mjs +1 -1
- package/dist/generators/caddy.cjs +9 -3
- package/dist/generators/caddy.cjs.map +1 -1
- package/dist/generators/caddy.d.cts +1 -1
- package/dist/generators/caddy.d.mts +1 -1
- package/dist/generators/caddy.mjs +9 -3
- package/dist/generators/caddy.mjs.map +1 -1
- package/dist/generators/caddy.test.cjs +30 -2
- package/dist/generators/caddy.test.cjs.map +1 -1
- package/dist/generators/caddy.test.mjs +30 -2
- package/dist/generators/caddy.test.mjs.map +1 -1
- package/dist/generators/clone-repos.cjs.map +1 -1
- package/dist/generators/clone-repos.d.cts +1 -1
- package/dist/generators/clone-repos.d.mts +1 -1
- package/dist/generators/clone-repos.mjs.map +1 -1
- package/dist/generators/clone-repos.test.cjs +1 -1
- package/dist/generators/clone-repos.test.cjs.map +1 -1
- package/dist/generators/clone-repos.test.mjs +1 -1
- package/dist/generators/clone-repos.test.mjs.map +1 -1
- package/dist/generators/env.cjs +28 -103
- package/dist/generators/env.cjs.map +1 -1
- package/dist/generators/env.d.cts +4 -1
- package/dist/generators/env.d.cts.map +1 -1
- package/dist/generators/env.d.mts +4 -1
- package/dist/generators/env.d.mts.map +1 -1
- package/dist/generators/env.mjs +27 -102
- package/dist/generators/env.mjs.map +1 -1
- package/dist/generators/env.test.cjs +3 -3
- package/dist/generators/env.test.cjs.map +1 -1
- package/dist/generators/env.test.mjs +3 -3
- package/dist/generators/env.test.mjs.map +1 -1
- package/dist/generators/get-shit-done.d.cts +1 -1
- package/dist/generators/get-shit-done.d.mts +1 -1
- package/dist/generators/health-check.cjs +6 -6
- package/dist/generators/health-check.cjs.map +1 -1
- package/dist/generators/health-check.d.cts +1 -1
- package/dist/generators/health-check.d.mts +1 -1
- package/dist/generators/health-check.mjs +6 -6
- package/dist/generators/health-check.mjs.map +1 -1
- package/dist/generators/health-check.test.cjs +1 -1
- package/dist/generators/health-check.test.mjs +1 -1
- package/dist/generators/n8n-workflows.d.cts +1 -1
- package/dist/generators/n8n-workflows.d.mts +1 -1
- package/dist/generators/native-services.d.cts +1 -1
- package/dist/generators/native-services.d.mts +1 -1
- package/dist/generators/openclaw-json.cjs +60 -4
- package/dist/generators/openclaw-json.cjs.map +1 -1
- package/dist/generators/openclaw-json.d.cts +1 -5
- package/dist/generators/openclaw-json.d.cts.map +1 -1
- package/dist/generators/openclaw-json.d.mts +1 -5
- package/dist/generators/openclaw-json.d.mts.map +1 -1
- package/dist/generators/openclaw-json.mjs +60 -4
- package/dist/generators/openclaw-json.mjs.map +1 -1
- package/dist/generators/postgres-init.cjs +25 -0
- package/dist/generators/postgres-init.cjs.map +1 -1
- package/dist/generators/postgres-init.d.cts +1 -1
- package/dist/generators/postgres-init.d.cts.map +1 -1
- package/dist/generators/postgres-init.d.mts +1 -1
- package/dist/generators/postgres-init.d.mts.map +1 -1
- package/dist/generators/postgres-init.mjs +25 -0
- package/dist/generators/postgres-init.mjs.map +1 -1
- package/dist/generators/prometheus.d.cts +1 -1
- package/dist/generators/prometheus.d.mts +1 -1
- package/dist/generators/readme.cjs +50 -7
- package/dist/generators/readme.cjs.map +1 -1
- package/dist/generators/readme.d.cts +3 -1
- package/dist/generators/readme.d.cts.map +1 -1
- package/dist/generators/readme.d.mts +3 -1
- package/dist/generators/readme.d.mts.map +1 -1
- package/dist/generators/readme.mjs +50 -7
- package/dist/generators/readme.mjs.map +1 -1
- package/dist/generators/scripts.test.cjs +2 -2
- package/dist/generators/scripts.test.cjs.map +1 -1
- package/dist/generators/scripts.test.mjs +2 -2
- package/dist/generators/scripts.test.mjs.map +1 -1
- package/dist/generators/skills.cjs +1 -1
- package/dist/generators/skills.d.cts +1 -1
- package/dist/generators/skills.d.cts.map +1 -1
- package/dist/generators/skills.d.mts +1 -1
- package/dist/generators/skills.d.mts.map +1 -1
- package/dist/generators/skills.mjs +451 -0
- package/dist/generators/skills.mjs.map +1 -1
- package/dist/generators/stack-manifest.d.cts +1 -1
- package/dist/generators/stack-manifest.d.mts +1 -1
- package/dist/generators/traefik.d.cts +1 -1
- package/dist/generators/traefik.d.mts +1 -1
- package/dist/generators/traefik.test.cjs +12 -12
- package/dist/generators/traefik.test.cjs.map +1 -1
- package/dist/generators/traefik.test.mjs +12 -12
- package/dist/generators/traefik.test.mjs.map +1 -1
- package/dist/index.cjs +20 -2
- package/dist/index.d.cts +14 -7
- package/dist/index.d.mts +14 -7
- package/dist/index.mjs +10 -3
- package/dist/logger/__tests__/logger.test.cjs +308 -0
- package/dist/logger/__tests__/logger.test.cjs.map +1 -0
- package/dist/logger/__tests__/logger.test.d.cts +1 -0
- package/dist/logger/__tests__/logger.test.d.mts +1 -0
- package/dist/logger/__tests__/logger.test.mjs +308 -0
- package/dist/logger/__tests__/logger.test.mjs.map +1 -0
- package/dist/logger/index.cjs +10 -0
- package/dist/logger/index.d.cts +6 -0
- package/dist/logger/index.d.mts +6 -0
- package/dist/logger/index.mjs +5 -0
- package/dist/logger/logger.cjs +270 -0
- package/dist/logger/logger.cjs.map +1 -0
- package/dist/logger/logger.d.cts +2 -0
- package/dist/logger/logger.d.mts +2 -0
- package/dist/logger/logger.mjs +267 -0
- package/dist/logger/logger.mjs.map +1 -0
- package/dist/logger/sinks/callback-sink.cjs +18 -0
- package/dist/logger/sinks/callback-sink.cjs.map +1 -0
- package/dist/logger/sinks/callback-sink.d.cts +2 -0
- package/dist/logger/sinks/callback-sink.d.mts +2 -0
- package/dist/logger/sinks/callback-sink.mjs +17 -0
- package/dist/logger/sinks/callback-sink.mjs.map +1 -0
- package/dist/logger/sinks/console-sink.cjs +39 -0
- package/dist/logger/sinks/console-sink.cjs.map +1 -0
- package/dist/logger/sinks/console-sink.d.cts +2 -0
- package/dist/logger/sinks/console-sink.d.mts +2 -0
- package/dist/logger/sinks/console-sink.mjs +38 -0
- package/dist/logger/sinks/console-sink.mjs.map +1 -0
- package/dist/logger/sinks/file-sink.cjs +72 -0
- package/dist/logger/sinks/file-sink.cjs.map +1 -0
- package/dist/logger/sinks/file-sink.d.cts +36 -0
- package/dist/logger/sinks/file-sink.d.cts.map +1 -0
- package/dist/logger/sinks/file-sink.d.mts +36 -0
- package/dist/logger/sinks/file-sink.d.mts.map +1 -0
- package/dist/logger/sinks/file-sink.mjs +70 -0
- package/dist/logger/sinks/file-sink.mjs.map +1 -0
- package/dist/logger/types.cjs +0 -0
- package/dist/logger/types.d.cts +2 -0
- package/dist/logger/types.d.mts +2 -0
- package/dist/logger/types.mjs +1 -0
- package/dist/logger-CZ0Qnyiu.d.mts +66 -0
- package/dist/logger-CZ0Qnyiu.d.mts.map +1 -0
- package/dist/logger-DDfwai-A.d.cts +66 -0
- package/dist/logger-DDfwai-A.d.cts.map +1 -0
- package/dist/memu-BfRXtwmL.d.cts +7 -0
- package/dist/memu-BfRXtwmL.d.cts.map +1 -0
- package/dist/memu-C-fXbWr-.d.mts +7 -0
- package/dist/memu-C-fXbWr-.d.mts.map +1 -0
- package/dist/migrations.cjs +17 -9
- package/dist/migrations.cjs.map +1 -1
- package/dist/migrations.d.cts +1 -1
- package/dist/migrations.d.cts.map +1 -1
- package/dist/migrations.d.mts +1 -1
- package/dist/migrations.d.mts.map +1 -1
- package/dist/migrations.mjs +17 -9
- package/dist/migrations.mjs.map +1 -1
- package/dist/migrations.test.cjs +4 -4
- package/dist/migrations.test.mjs +4 -4
- package/dist/nanobot-2c0bS4lu.d.cts +7 -0
- package/dist/nanobot-2c0bS4lu.d.cts.map +1 -0
- package/dist/nanobot-BUO6pVQc.d.mts +7 -0
- package/dist/nanobot-BUO6pVQc.d.mts.map +1 -0
- package/dist/nanoclaw-CgHubEig.d.mts +7 -0
- package/dist/nanoclaw-CgHubEig.d.mts.map +1 -0
- package/dist/nanoclaw-Dvz0ef6J.d.cts +7 -0
- package/dist/nanoclaw-Dvz0ef6J.d.cts.map +1 -0
- package/dist/openclaw-D8lVecjC.d.mts +7 -0
- package/dist/openclaw-D8lVecjC.d.mts.map +1 -0
- package/dist/openclaw-DThj8i3N.d.cts +7 -0
- package/dist/openclaw-DThj8i3N.d.cts.map +1 -0
- package/dist/port-scanner.d.cts +1 -1
- package/dist/port-scanner.d.mts +1 -1
- package/dist/presets/presets.test.cjs +5 -5
- package/dist/presets/presets.test.cjs.map +1 -1
- package/dist/presets/presets.test.mjs +4 -4
- package/dist/presets/presets.test.mjs.map +1 -1
- package/dist/presets/registry.d.cts +1 -1
- package/dist/presets/registry.d.mts +1 -1
- package/dist/presets/registry.test.cjs +7 -7
- package/dist/presets/registry.test.cjs.map +1 -1
- package/dist/presets/registry.test.mjs +7 -7
- package/dist/presets/registry.test.mjs.map +1 -1
- package/dist/registry-DHX7vnVo.d.cts +16 -0
- package/dist/registry-DHX7vnVo.d.cts.map +1 -0
- package/dist/registry-DTAILnga.d.mts +16 -0
- package/dist/registry-DTAILnga.d.mts.map +1 -0
- package/dist/resolver.cjs +13 -3
- package/dist/resolver.cjs.map +1 -1
- package/dist/resolver.d.cts +1 -1
- package/dist/resolver.d.cts.map +1 -1
- package/dist/resolver.d.mts +1 -1
- package/dist/resolver.d.mts.map +1 -1
- package/dist/resolver.mjs +13 -3
- package/dist/resolver.mjs.map +1 -1
- package/dist/resolver.test.cjs +35 -3
- package/dist/resolver.test.cjs.map +1 -1
- package/dist/resolver.test.mjs +35 -3
- package/dist/resolver.test.mjs.map +1 -1
- package/dist/{schema-CKBRu-Rt.d.cts → schema-BSl9wiFe.d.mts} +139 -2
- package/dist/schema-BSl9wiFe.d.mts.map +1 -0
- package/dist/{schema-Dn-_Jpb6.d.mts → schema-Bd9l2r7p.d.cts} +139 -2
- package/dist/schema-Bd9l2r7p.d.cts.map +1 -0
- package/dist/schema.cjs +38 -5
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +2 -2
- package/dist/schema.d.mts +2 -2
- package/dist/schema.mjs +37 -5
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.cjs +3 -3
- package/dist/schema.test.cjs.map +1 -1
- package/dist/schema.test.mjs +3 -3
- package/dist/schema.test.mjs.map +1 -1
- package/dist/services/definitions/adguard-home.d.cts +1 -1
- package/dist/services/definitions/adguard-home.d.mts +1 -1
- package/dist/services/definitions/agent-browser.cjs +161 -0
- package/dist/services/definitions/agent-browser.cjs.map +1 -0
- package/dist/services/definitions/agent-browser.d.cts +7 -0
- package/dist/services/definitions/agent-browser.d.cts.map +1 -0
- package/dist/services/definitions/agent-browser.d.mts +7 -0
- package/dist/services/definitions/agent-browser.d.mts.map +1 -0
- package/dist/services/definitions/agent-browser.mjs +160 -0
- package/dist/services/definitions/agent-browser.mjs.map +1 -0
- package/dist/services/definitions/airbyte.d.cts +1 -1
- package/dist/services/definitions/airbyte.d.mts +1 -1
- package/dist/services/definitions/airflow.d.cts +1 -1
- package/dist/services/definitions/airflow.d.mts +1 -1
- package/dist/services/definitions/anything-llm.d.cts +1 -1
- package/dist/services/definitions/anything-llm.d.mts +1 -1
- package/dist/services/definitions/appflowy.d.cts +1 -1
- package/dist/services/definitions/appflowy.d.mts +1 -1
- package/dist/services/definitions/apptension-saas.cjs.map +1 -1
- package/dist/services/definitions/apptension-saas.d.cts +1 -1
- package/dist/services/definitions/apptension-saas.d.mts +1 -1
- package/dist/services/definitions/apptension-saas.mjs.map +1 -1
- package/dist/services/definitions/appwrite.d.cts +1 -1
- package/dist/services/definitions/appwrite.d.mts +1 -1
- package/dist/services/definitions/audiobookshelf.d.cts +1 -1
- package/dist/services/definitions/audiobookshelf.d.mts +1 -1
- package/dist/services/definitions/authelia.d.cts +1 -1
- package/dist/services/definitions/authelia.d.mts +1 -1
- package/dist/services/definitions/authentik.d.cts +1 -1
- package/dist/services/definitions/authentik.d.mts +1 -1
- package/dist/services/definitions/axolotl.d.cts +1 -1
- package/dist/services/definitions/axolotl.d.mts +1 -1
- package/dist/services/definitions/baserow.d.cts +1 -1
- package/dist/services/definitions/baserow.d.mts +1 -1
- package/dist/services/definitions/beszel.d.cts +1 -1
- package/dist/services/definitions/beszel.d.mts +1 -1
- package/dist/services/definitions/boxyhq-saas.d.cts +1 -1
- package/dist/services/definitions/boxyhq-saas.d.mts +1 -1
- package/dist/services/definitions/browserless.d.cts +1 -1
- package/dist/services/definitions/browserless.d.mts +1 -1
- package/dist/services/definitions/burnlink.cjs +142 -0
- package/dist/services/definitions/burnlink.cjs.map +1 -0
- package/dist/services/definitions/burnlink.d.cts +7 -0
- package/dist/services/definitions/burnlink.d.cts.map +1 -0
- package/dist/services/definitions/burnlink.d.mts +7 -0
- package/dist/services/definitions/burnlink.d.mts.map +1 -0
- package/dist/services/definitions/burnlink.mjs +141 -0
- package/dist/services/definitions/burnlink.mjs.map +1 -0
- package/dist/services/definitions/caddy.d.cts +1 -1
- package/dist/services/definitions/caddy.d.mts +1 -1
- package/dist/services/definitions/cal-com.d.cts +1 -1
- package/dist/services/definitions/cal-com.d.mts +1 -1
- package/dist/services/definitions/calibre-web.d.cts +1 -1
- package/dist/services/definitions/calibre-web.d.mts +1 -1
- package/dist/services/definitions/chatwoot-worker.d.cts +1 -1
- package/dist/services/definitions/chatwoot-worker.d.mts +1 -1
- package/dist/services/definitions/chatwoot.d.cts +1 -1
- package/dist/services/definitions/chatwoot.d.mts +1 -1
- package/dist/services/definitions/chromadb.cjs +4 -1
- package/dist/services/definitions/chromadb.cjs.map +1 -1
- package/dist/services/definitions/chromadb.d.cts +1 -1
- package/dist/services/definitions/chromadb.d.mts +1 -1
- package/dist/services/definitions/chromadb.mjs +4 -1
- package/dist/services/definitions/chromadb.mjs.map +1 -1
- package/dist/services/definitions/claude-code.cjs +1 -1
- package/dist/services/definitions/claude-code.cjs.map +1 -1
- package/dist/services/definitions/claude-code.d.cts +1 -1
- package/dist/services/definitions/claude-code.d.mts +1 -1
- package/dist/services/definitions/claude-code.mjs +1 -1
- package/dist/services/definitions/claude-code.mjs.map +1 -1
- package/dist/services/definitions/clawrouter.cjs +138 -0
- package/dist/services/definitions/clawrouter.cjs.map +1 -0
- package/dist/services/definitions/clawrouter.d.cts +7 -0
- package/dist/services/definitions/clawrouter.d.cts.map +1 -0
- package/dist/services/definitions/clawrouter.d.mts +7 -0
- package/dist/services/definitions/clawrouter.d.mts.map +1 -0
- package/dist/services/definitions/clawrouter.mjs +137 -0
- package/dist/services/definitions/clawrouter.mjs.map +1 -0
- package/dist/services/definitions/clickhouse.d.cts +1 -1
- package/dist/services/definitions/clickhouse.d.mts +1 -1
- package/dist/services/definitions/cloudflared.d.cts +1 -1
- package/dist/services/definitions/cloudflared.d.mts +1 -1
- package/dist/services/definitions/cmsaas-starter.d.cts +1 -1
- package/dist/services/definitions/cmsaas-starter.d.mts +1 -1
- package/dist/services/definitions/cockroachdb.d.cts +1 -1
- package/dist/services/definitions/cockroachdb.d.mts +1 -1
- package/dist/services/definitions/code-server.d.cts +1 -1
- package/dist/services/definitions/code-server.d.mts +1 -1
- package/dist/services/definitions/coder.d.cts +1 -1
- package/dist/services/definitions/coder.d.mts +1 -1
- package/dist/services/definitions/codex.cjs +1 -1
- package/dist/services/definitions/codex.cjs.map +1 -1
- package/dist/services/definitions/codex.d.cts +1 -1
- package/dist/services/definitions/codex.d.mts +1 -1
- package/dist/services/definitions/codex.mjs +1 -1
- package/dist/services/definitions/codex.mjs.map +1 -1
- package/dist/services/definitions/comfyui.d.cts +1 -1
- package/dist/services/definitions/comfyui.d.mts +1 -1
- package/dist/services/definitions/convex-dashboard.d.cts +1 -1
- package/dist/services/definitions/convex-dashboard.d.mts +1 -1
- package/dist/services/definitions/convex.cjs.map +1 -1
- package/dist/services/definitions/convex.d.cts +1 -1
- package/dist/services/definitions/convex.d.mts +1 -1
- package/dist/services/definitions/convex.mjs.map +1 -1
- package/dist/services/definitions/coolify.d.cts +1 -1
- package/dist/services/definitions/coolify.d.mts +1 -1
- package/dist/services/definitions/copaw.cjs +97 -0
- package/dist/services/definitions/copaw.cjs.map +1 -0
- package/dist/services/definitions/copaw.d.cts +7 -0
- package/dist/services/definitions/copaw.d.cts.map +1 -0
- package/dist/services/definitions/copaw.d.mts +7 -0
- package/dist/services/definitions/copaw.d.mts.map +1 -0
- package/dist/services/definitions/copaw.mjs +96 -0
- package/dist/services/definitions/copaw.mjs.map +1 -0
- package/dist/services/definitions/crowdsec.d.cts +1 -1
- package/dist/services/definitions/crowdsec.d.mts +1 -1
- package/dist/services/definitions/dagster.d.cts +1 -1
- package/dist/services/definitions/dagster.d.mts +1 -1
- package/dist/services/definitions/desktop-environment.cjs +2 -1
- package/dist/services/definitions/desktop-environment.cjs.map +1 -1
- package/dist/services/definitions/desktop-environment.d.cts +1 -1
- package/dist/services/definitions/desktop-environment.d.mts +1 -1
- package/dist/services/definitions/desktop-environment.mjs +2 -1
- package/dist/services/definitions/desktop-environment.mjs.map +1 -1
- package/dist/services/definitions/dify.d.cts +1 -1
- package/dist/services/definitions/dify.d.mts +1 -1
- package/dist/services/definitions/directus.d.cts +1 -1
- package/dist/services/definitions/directus.d.mts +1 -1
- package/dist/services/definitions/docsgpt.d.cts +1 -1
- package/dist/services/definitions/docsgpt.d.mts +1 -1
- package/dist/services/definitions/dokploy.d.cts +1 -1
- package/dist/services/definitions/dokploy.d.mts +1 -1
- package/dist/services/definitions/dozzle.d.cts +1 -1
- package/dist/services/definitions/dozzle.d.mts +1 -1
- package/dist/services/definitions/dragonfly.d.cts +1 -1
- package/dist/services/definitions/dragonfly.d.mts +1 -1
- package/dist/services/definitions/drone-ci.d.cts +1 -1
- package/dist/services/definitions/drone-ci.d.mts +1 -1
- package/dist/services/definitions/duplicati.d.cts +1 -1
- package/dist/services/definitions/duplicati.d.mts +1 -1
- package/dist/services/definitions/element-web.d.cts +1 -1
- package/dist/services/definitions/element-web.d.mts +1 -1
- package/dist/services/definitions/excalidraw.d.cts +1 -1
- package/dist/services/definitions/excalidraw.d.mts +1 -1
- package/dist/services/definitions/ffmpeg.d.cts +1 -1
- package/dist/services/definitions/ffmpeg.d.mts +1 -1
- package/dist/services/definitions/firecrawl-playwright.d.cts +1 -1
- package/dist/services/definitions/firecrawl-playwright.d.mts +1 -1
- package/dist/services/definitions/firecrawl.d.cts +1 -1
- package/dist/services/definitions/firecrawl.d.mts +1 -1
- package/dist/services/definitions/flagsmith.d.cts +1 -1
- package/dist/services/definitions/flagsmith.d.mts +1 -1
- package/dist/services/definitions/flowise.d.cts +1 -1
- package/dist/services/definitions/flowise.d.mts +1 -1
- package/dist/services/definitions/focalboard.d.cts +1 -1
- package/dist/services/definitions/focalboard.d.mts +1 -1
- package/dist/services/definitions/fonoster.d.cts +1 -1
- package/dist/services/definitions/fonoster.d.mts +1 -1
- package/dist/services/definitions/forgejo.d.cts +1 -1
- package/dist/services/definitions/forgejo.d.mts +1 -1
- package/dist/services/definitions/formbricks.d.cts +1 -1
- package/dist/services/definitions/formbricks.d.mts +1 -1
- package/dist/services/definitions/gemini-cli.d.cts +1 -1
- package/dist/services/definitions/gemini-cli.d.mts +1 -1
- package/dist/services/definitions/ghost.d.cts +1 -1
- package/dist/services/definitions/ghost.d.mts +1 -1
- package/dist/services/definitions/gitea.d.cts +1 -1
- package/dist/services/definitions/gitea.d.mts +1 -1
- package/dist/services/definitions/gotify.d.cts +1 -1
- package/dist/services/definitions/gotify.d.mts +1 -1
- package/dist/services/definitions/grafana.d.cts +1 -1
- package/dist/services/definitions/grafana.d.mts +1 -1
- package/dist/services/definitions/graylog.d.cts +1 -1
- package/dist/services/definitions/graylog.d.mts +1 -1
- package/dist/services/definitions/headscale.d.cts +1 -1
- package/dist/services/definitions/headscale.d.mts +1 -1
- package/dist/services/definitions/hedgedoc.d.cts +1 -1
- package/dist/services/definitions/hedgedoc.d.mts +1 -1
- package/dist/services/definitions/hexstrike.d.cts +1 -1
- package/dist/services/definitions/hexstrike.d.mts +1 -1
- package/dist/services/definitions/heyform.d.cts +1 -1
- package/dist/services/definitions/heyform.d.mts +1 -1
- package/dist/services/definitions/hindsight.cjs +133 -0
- package/dist/services/definitions/hindsight.cjs.map +1 -0
- package/dist/services/definitions/hindsight.d.cts +7 -0
- package/dist/services/definitions/hindsight.d.cts.map +1 -0
- package/dist/services/definitions/hindsight.d.mts +7 -0
- package/dist/services/definitions/hindsight.d.mts.map +1 -0
- package/dist/services/definitions/hindsight.mjs +132 -0
- package/dist/services/definitions/hindsight.mjs.map +1 -0
- package/dist/services/definitions/homeassistant.d.cts +1 -1
- package/dist/services/definitions/homeassistant.d.mts +1 -1
- package/dist/services/definitions/hoppscotch.d.cts +1 -1
- package/dist/services/definitions/hoppscotch.d.mts +1 -1
- package/dist/services/definitions/immich.d.cts +1 -1
- package/dist/services/definitions/immich.d.mts +1 -1
- package/dist/services/definitions/index.cjs +50 -5
- package/dist/services/definitions/index.cjs.map +1 -1
- package/dist/services/definitions/index.d.cts +19 -4
- package/dist/services/definitions/index.d.cts.map +1 -1
- package/dist/services/definitions/index.d.mts +19 -4
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +36 -6
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/infisical.d.cts +1 -1
- package/dist/services/definitions/infisical.d.mts +1 -1
- package/dist/services/definitions/influxdb.d.cts +1 -1
- package/dist/services/definitions/influxdb.d.mts +1 -1
- package/dist/services/definitions/invoke-ai.d.cts +1 -1
- package/dist/services/definitions/invoke-ai.d.mts +1 -1
- package/dist/services/definitions/ixartz-saas.d.cts +1 -1
- package/dist/services/definitions/ixartz-saas.d.mts +1 -1
- package/dist/services/definitions/jaeger.d.cts +1 -1
- package/dist/services/definitions/jaeger.d.mts +1 -1
- package/dist/services/definitions/jan.d.cts +1 -1
- package/dist/services/definitions/jan.d.mts +1 -1
- package/dist/services/definitions/jellyfin.d.cts +1 -1
- package/dist/services/definitions/jellyfin.d.mts +1 -1
- package/dist/services/definitions/jenkins.d.cts +1 -1
- package/dist/services/definitions/jenkins.d.mts +1 -1
- package/dist/services/definitions/jitsi-meet.d.cts +1 -1
- package/dist/services/definitions/jitsi-meet.d.mts +1 -1
- package/dist/services/definitions/keycloak.d.cts +1 -1
- package/dist/services/definitions/keycloak.d.mts +1 -1
- package/dist/services/definitions/kimi.d.cts +1 -1
- package/dist/services/definitions/kimi.d.mts +1 -1
- package/dist/services/definitions/kong.d.cts +1 -1
- package/dist/services/definitions/kong.d.mts +1 -1
- package/dist/services/definitions/lago.d.cts +1 -1
- package/dist/services/definitions/lago.d.mts +1 -1
- package/dist/services/definitions/langflow.d.cts +1 -1
- package/dist/services/definitions/langflow.d.mts +1 -1
- package/dist/services/definitions/langfuse.d.cts +1 -1
- package/dist/services/definitions/langfuse.d.mts +1 -1
- package/dist/services/definitions/lasuite-meet-agents.d.cts +1 -1
- package/dist/services/definitions/lasuite-meet-agents.d.mts +1 -1
- package/dist/services/definitions/lasuite-meet-backend.d.cts +1 -1
- package/dist/services/definitions/lasuite-meet-backend.d.mts +1 -1
- package/dist/services/definitions/lasuite-meet-frontend.d.cts +1 -1
- package/dist/services/definitions/lasuite-meet-frontend.d.mts +1 -1
- package/dist/services/definitions/librechat.d.cts +1 -1
- package/dist/services/definitions/librechat.d.mts +1 -1
- package/dist/services/definitions/lightpanda.d.cts +1 -1
- package/dist/services/definitions/lightpanda.d.mts +1 -1
- package/dist/services/definitions/listmonk.d.cts +1 -1
- package/dist/services/definitions/listmonk.d.mts +1 -1
- package/dist/services/definitions/litellm.d.cts +1 -1
- package/dist/services/definitions/litellm.d.mts +1 -1
- package/dist/services/definitions/livekit.d.cts +1 -1
- package/dist/services/definitions/livekit.d.mts +1 -1
- package/dist/services/definitions/local-ai.d.cts +1 -1
- package/dist/services/definitions/local-ai.d.mts +1 -1
- package/dist/services/definitions/loki.d.cts +1 -1
- package/dist/services/definitions/loki.d.mts +1 -1
- package/dist/services/definitions/mariadb.d.cts +1 -1
- package/dist/services/definitions/mariadb.d.mts +1 -1
- package/dist/services/definitions/matomo.d.cts +1 -1
- package/dist/services/definitions/matomo.d.mts +1 -1
- package/dist/services/definitions/matrix-synapse.d.cts +1 -1
- package/dist/services/definitions/matrix-synapse.d.mts +1 -1
- package/dist/services/definitions/mattermost.d.cts +1 -1
- package/dist/services/definitions/mattermost.d.mts +1 -1
- package/dist/services/definitions/mautic.d.cts +1 -1
- package/dist/services/definitions/mautic.d.mts +1 -1
- package/dist/services/definitions/medusa.d.cts +1 -1
- package/dist/services/definitions/medusa.d.mts +1 -1
- package/dist/services/definitions/meilisearch.d.cts +1 -1
- package/dist/services/definitions/meilisearch.d.mts +1 -1
- package/dist/services/definitions/mem0.cjs +133 -0
- package/dist/services/definitions/mem0.cjs.map +1 -0
- package/dist/services/definitions/mem0.d.cts +7 -0
- package/dist/services/definitions/mem0.d.cts.map +1 -0
- package/dist/services/definitions/mem0.d.mts +7 -0
- package/dist/services/definitions/mem0.d.mts.map +1 -0
- package/dist/services/definitions/mem0.mjs +132 -0
- package/dist/services/definitions/mem0.mjs.map +1 -0
- package/dist/services/definitions/memu.cjs +96 -0
- package/dist/services/definitions/memu.cjs.map +1 -0
- package/dist/services/definitions/memu.d.cts +7 -0
- package/dist/services/definitions/memu.d.cts.map +1 -0
- package/dist/services/definitions/memu.d.mts +7 -0
- package/dist/services/definitions/memu.d.mts.map +1 -0
- package/dist/services/definitions/memu.mjs +95 -0
- package/dist/services/definitions/memu.mjs.map +1 -0
- package/dist/services/definitions/metabase.d.cts +1 -1
- package/dist/services/definitions/metabase.d.mts +1 -1
- package/dist/services/definitions/milvus.cjs +4 -1
- package/dist/services/definitions/milvus.cjs.map +1 -1
- package/dist/services/definitions/milvus.d.cts +1 -1
- package/dist/services/definitions/milvus.d.mts +1 -1
- package/dist/services/definitions/milvus.mjs +4 -1
- package/dist/services/definitions/milvus.mjs.map +1 -1
- package/dist/services/definitions/minio.d.cts +1 -1
- package/dist/services/definitions/minio.d.mts +1 -1
- package/dist/services/definitions/mission-control.d.cts +1 -1
- package/dist/services/definitions/mission-control.d.mts +1 -1
- package/dist/services/definitions/mixpost.d.cts +1 -1
- package/dist/services/definitions/mixpost.d.mts +1 -1
- package/dist/services/definitions/mosquitto.d.cts +1 -1
- package/dist/services/definitions/mosquitto.d.mts +1 -1
- package/dist/services/definitions/motion-canvas.d.cts +1 -1
- package/dist/services/definitions/motion-canvas.d.mts +1 -1
- package/dist/services/definitions/mysql.d.cts +1 -1
- package/dist/services/definitions/mysql.d.mts +1 -1
- package/dist/services/definitions/n8n.d.cts +1 -1
- package/dist/services/definitions/n8n.d.mts +1 -1
- package/dist/services/definitions/nanobot.cjs +86 -0
- package/dist/services/definitions/nanobot.cjs.map +1 -0
- package/dist/services/definitions/nanobot.d.cts +7 -0
- package/dist/services/definitions/nanobot.d.cts.map +1 -0
- package/dist/services/definitions/nanobot.d.mts +7 -0
- package/dist/services/definitions/nanobot.d.mts.map +1 -0
- package/dist/services/definitions/nanobot.mjs +85 -0
- package/dist/services/definitions/nanobot.mjs.map +1 -0
- package/dist/services/definitions/nanoclaw.cjs +79 -0
- package/dist/services/definitions/nanoclaw.cjs.map +1 -0
- package/dist/services/definitions/nanoclaw.d.cts +7 -0
- package/dist/services/definitions/nanoclaw.d.cts.map +1 -0
- package/dist/services/definitions/nanoclaw.d.mts +7 -0
- package/dist/services/definitions/nanoclaw.d.mts.map +1 -0
- package/dist/services/definitions/nanoclaw.mjs +78 -0
- package/dist/services/definitions/nanoclaw.mjs.map +1 -0
- package/dist/services/definitions/navidrome.d.cts +1 -1
- package/dist/services/definitions/navidrome.d.mts +1 -1
- package/dist/services/definitions/neo4j.d.cts +1 -1
- package/dist/services/definitions/neo4j.d.mts +1 -1
- package/dist/services/definitions/nextcloud.d.cts +1 -1
- package/dist/services/definitions/nextcloud.d.mts +1 -1
- package/dist/services/definitions/nginx-proxy-manager.d.cts +1 -1
- package/dist/services/definitions/nginx-proxy-manager.d.mts +1 -1
- package/dist/services/definitions/nocodb.d.cts +1 -1
- package/dist/services/definitions/nocodb.d.mts +1 -1
- package/dist/services/definitions/node-red.d.cts +1 -1
- package/dist/services/definitions/node-red.d.mts +1 -1
- package/dist/services/definitions/ntfy.d.cts +1 -1
- package/dist/services/definitions/ntfy.d.mts +1 -1
- package/dist/services/definitions/ollama.d.cts +1 -1
- package/dist/services/definitions/ollama.d.mts +1 -1
- package/dist/services/definitions/open-saas.d.cts +1 -1
- package/dist/services/definitions/open-saas.d.mts +1 -1
- package/dist/services/definitions/open-webui.d.cts +1 -1
- package/dist/services/definitions/open-webui.d.mts +1 -1
- package/dist/services/definitions/opencode.d.cts +1 -1
- package/dist/services/definitions/opencode.d.mts +1 -1
- package/dist/services/definitions/openhands.d.cts +1 -1
- package/dist/services/definitions/openhands.d.mts +1 -1
- package/dist/services/definitions/openpanel.d.cts +1 -1
- package/dist/services/definitions/openpanel.d.mts +1 -1
- package/dist/services/definitions/opensandbox.cjs +150 -0
- package/dist/services/definitions/opensandbox.cjs.map +1 -0
- package/dist/services/definitions/opensandbox.d.cts +7 -0
- package/dist/services/definitions/opensandbox.d.cts.map +1 -0
- package/dist/services/definitions/opensandbox.d.mts +7 -0
- package/dist/services/definitions/opensandbox.d.mts.map +1 -0
- package/dist/services/definitions/opensandbox.mjs +149 -0
- package/dist/services/definitions/opensandbox.mjs.map +1 -0
- package/dist/services/definitions/opensearch.d.cts +1 -1
- package/dist/services/definitions/opensearch.d.mts +1 -1
- package/dist/services/definitions/outline.d.cts +1 -1
- package/dist/services/definitions/outline.d.mts +1 -1
- package/dist/services/definitions/paperless-ngx.d.cts +1 -1
- package/dist/services/definitions/paperless-ngx.d.mts +1 -1
- package/dist/services/definitions/pentagi.d.cts +1 -1
- package/dist/services/definitions/pentagi.d.mts +1 -1
- package/dist/services/definitions/pentestagent.d.cts +1 -1
- package/dist/services/definitions/pentestagent.d.mts +1 -1
- package/dist/services/definitions/photoprism.d.cts +1 -1
- package/dist/services/definitions/photoprism.d.mts +1 -1
- package/dist/services/definitions/pihole.d.cts +1 -1
- package/dist/services/definitions/pihole.d.mts +1 -1
- package/dist/services/definitions/piper-tts.d.cts +1 -1
- package/dist/services/definitions/piper-tts.d.mts +1 -1
- package/dist/services/definitions/plane.d.cts +1 -1
- package/dist/services/definitions/plane.d.mts +1 -1
- package/dist/services/definitions/plausible.d.cts +1 -1
- package/dist/services/definitions/plausible.d.mts +1 -1
- package/dist/services/definitions/playwright-server.d.cts +1 -1
- package/dist/services/definitions/playwright-server.d.mts +1 -1
- package/dist/services/definitions/pocket-id.d.cts +1 -1
- package/dist/services/definitions/pocket-id.d.mts +1 -1
- package/dist/services/definitions/pocketbase.d.cts +1 -1
- package/dist/services/definitions/pocketbase.d.mts +1 -1
- package/dist/services/definitions/portainer.d.cts +1 -1
- package/dist/services/definitions/portainer.d.mts +1 -1
- package/dist/services/definitions/postgresql.d.cts +1 -1
- package/dist/services/definitions/postgresql.d.mts +1 -1
- package/dist/services/definitions/posthog.d.cts +1 -1
- package/dist/services/definitions/posthog.d.mts +1 -1
- package/dist/services/definitions/postiz.d.cts +1 -1
- package/dist/services/definitions/postiz.d.mts +1 -1
- package/dist/services/definitions/prometheus.d.cts +1 -1
- package/dist/services/definitions/prometheus.d.mts +1 -1
- package/dist/services/definitions/qdrant.d.cts +1 -1
- package/dist/services/definitions/qdrant.d.mts +1 -1
- package/dist/services/definitions/rabbitmq.d.cts +1 -1
- package/dist/services/definitions/rabbitmq.d.mts +1 -1
- package/dist/services/definitions/ragflow.d.cts +1 -1
- package/dist/services/definitions/ragflow.d.mts +1 -1
- package/dist/services/definitions/redis.d.cts +1 -1
- package/dist/services/definitions/redis.d.mts +1 -1
- package/dist/services/definitions/relaticle-horizon.cjs +48 -0
- package/dist/services/definitions/relaticle-horizon.cjs.map +1 -0
- package/dist/services/definitions/relaticle-horizon.d.cts +7 -0
- package/dist/services/definitions/relaticle-horizon.d.cts.map +1 -0
- package/dist/services/definitions/relaticle-horizon.d.mts +7 -0
- package/dist/services/definitions/relaticle-horizon.d.mts.map +1 -0
- package/dist/services/definitions/relaticle-horizon.mjs +48 -0
- package/dist/services/definitions/relaticle-horizon.mjs.map +1 -0
- package/dist/services/definitions/relaticle-scheduler.cjs +44 -0
- package/dist/services/definitions/relaticle-scheduler.cjs.map +1 -0
- package/dist/services/definitions/relaticle-scheduler.d.cts +7 -0
- package/dist/services/definitions/relaticle-scheduler.d.cts.map +1 -0
- package/dist/services/definitions/relaticle-scheduler.d.mts +7 -0
- package/dist/services/definitions/relaticle-scheduler.d.mts.map +1 -0
- package/dist/services/definitions/relaticle-scheduler.mjs +44 -0
- package/dist/services/definitions/relaticle-scheduler.mjs.map +1 -0
- package/dist/services/definitions/relaticle.cjs +151 -0
- package/dist/services/definitions/relaticle.cjs.map +1 -0
- package/dist/services/definitions/relaticle.d.cts +80 -0
- package/dist/services/definitions/relaticle.d.cts.map +1 -0
- package/dist/services/definitions/relaticle.d.mts +80 -0
- package/dist/services/definitions/relaticle.d.mts.map +1 -0
- package/dist/services/definitions/relaticle.mjs +149 -0
- package/dist/services/definitions/relaticle.mjs.map +1 -0
- package/dist/services/definitions/remotion.d.cts +1 -1
- package/dist/services/definitions/remotion.d.mts +1 -1
- package/dist/services/definitions/restic.d.cts +1 -1
- package/dist/services/definitions/restic.d.mts +1 -1
- package/dist/services/definitions/revolt.d.cts +1 -1
- package/dist/services/definitions/revolt.d.mts +1 -1
- package/dist/services/definitions/rocketchat.d.cts +1 -1
- package/dist/services/definitions/rocketchat.d.mts +1 -1
- package/dist/services/definitions/saleor.d.cts +1 -1
- package/dist/services/definitions/saleor.d.mts +1 -1
- package/dist/services/definitions/scrapling.d.cts +1 -1
- package/dist/services/definitions/scrapling.d.mts +1 -1
- package/dist/services/definitions/searxng.d.cts +1 -1
- package/dist/services/definitions/searxng.d.mts +1 -1
- package/dist/services/definitions/sentry.d.cts +1 -1
- package/dist/services/definitions/sentry.d.mts +1 -1
- package/dist/services/definitions/signoz.d.cts +1 -1
- package/dist/services/definitions/signoz.d.mts +1 -1
- package/dist/services/definitions/solidityguard.d.cts +1 -1
- package/dist/services/definitions/solidityguard.d.mts +1 -1
- package/dist/services/definitions/sonarqube.d.cts +1 -1
- package/dist/services/definitions/sonarqube.d.mts +1 -1
- package/dist/services/definitions/stable-diffusion.d.cts +1 -1
- package/dist/services/definitions/stable-diffusion.d.mts +1 -1
- package/dist/services/definitions/steel-browser.d.cts +1 -1
- package/dist/services/definitions/steel-browser.d.mts +1 -1
- package/dist/services/definitions/stirling-pdf.d.cts +1 -1
- package/dist/services/definitions/stirling-pdf.d.mts +1 -1
- package/dist/services/definitions/strapi.d.cts +1 -1
- package/dist/services/definitions/strapi.d.mts +1 -1
- package/dist/services/definitions/stream-gateway.d.cts +1 -1
- package/dist/services/definitions/stream-gateway.d.mts +1 -1
- package/dist/services/definitions/supabase.d.cts +1 -1
- package/dist/services/definitions/supabase.d.mts +1 -1
- package/dist/services/definitions/superset.d.cts +1 -1
- package/dist/services/definitions/superset.d.mts +1 -1
- package/dist/services/definitions/surrealdb.d.cts +1 -1
- package/dist/services/definitions/surrealdb.d.mts +1 -1
- package/dist/services/definitions/tabby-ml.d.cts +1 -1
- package/dist/services/definitions/tabby-ml.d.mts +1 -1
- package/dist/services/definitions/tailscale.d.cts +1 -1
- package/dist/services/definitions/tailscale.d.mts +1 -1
- package/dist/services/definitions/tempo.d.cts +1 -1
- package/dist/services/definitions/tempo.d.mts +1 -1
- package/dist/services/definitions/temporal.d.cts +1 -1
- package/dist/services/definitions/temporal.d.mts +1 -1
- package/dist/services/definitions/text-gen-webui.d.cts +1 -1
- package/dist/services/definitions/text-gen-webui.d.mts +1 -1
- package/dist/services/definitions/timescaledb.d.cts +1 -1
- package/dist/services/definitions/timescaledb.d.mts +1 -1
- package/dist/services/definitions/traefik.d.cts +1 -1
- package/dist/services/definitions/traefik.d.mts +1 -1
- package/dist/services/definitions/twenty-worker.cjs +73 -0
- package/dist/services/definitions/twenty-worker.cjs.map +1 -0
- package/dist/services/definitions/twenty-worker.d.cts +7 -0
- package/dist/services/definitions/twenty-worker.d.cts.map +1 -0
- package/dist/services/definitions/twenty-worker.d.mts +7 -0
- package/dist/services/definitions/twenty-worker.d.mts.map +1 -0
- package/dist/services/definitions/twenty-worker.mjs +72 -0
- package/dist/services/definitions/twenty-worker.mjs.map +1 -0
- package/dist/services/definitions/twenty.cjs +24 -2
- package/dist/services/definitions/twenty.cjs.map +1 -1
- package/dist/services/definitions/twenty.d.cts +1 -1
- package/dist/services/definitions/twenty.d.mts +1 -1
- package/dist/services/definitions/twenty.mjs +24 -2
- package/dist/services/definitions/twenty.mjs.map +1 -1
- package/dist/services/definitions/umami.d.cts +1 -1
- package/dist/services/definitions/umami.d.mts +1 -1
- package/dist/services/definitions/uptime-kuma.d.cts +1 -1
- package/dist/services/definitions/uptime-kuma.d.mts +1 -1
- package/dist/services/definitions/usesend.d.cts +1 -1
- package/dist/services/definitions/usesend.d.mts +1 -1
- package/dist/services/definitions/valkey.d.cts +1 -1
- package/dist/services/definitions/valkey.d.mts +1 -1
- package/dist/services/definitions/vault.d.cts +1 -1
- package/dist/services/definitions/vault.d.mts +1 -1
- package/dist/services/definitions/vaultwarden.d.cts +1 -1
- package/dist/services/definitions/vaultwarden.d.mts +1 -1
- package/dist/services/definitions/vector-log.d.cts +1 -1
- package/dist/services/definitions/vector-log.d.mts +1 -1
- package/dist/services/definitions/vikunja.d.cts +1 -1
- package/dist/services/definitions/vikunja.d.mts +1 -1
- package/dist/services/definitions/watchtower.d.cts +1 -1
- package/dist/services/definitions/watchtower.d.mts +1 -1
- package/dist/services/definitions/weaviate.cjs +4 -1
- package/dist/services/definitions/weaviate.cjs.map +1 -1
- package/dist/services/definitions/weaviate.d.cts +1 -1
- package/dist/services/definitions/weaviate.d.mts +1 -1
- package/dist/services/definitions/weaviate.mjs +4 -1
- package/dist/services/definitions/weaviate.mjs.map +1 -1
- package/dist/services/definitions/whisper.d.cts +1 -1
- package/dist/services/definitions/whisper.d.mts +1 -1
- package/dist/services/definitions/wireguard.d.cts +1 -1
- package/dist/services/definitions/wireguard.d.mts +1 -1
- package/dist/services/definitions/woodpecker-ci.d.cts +1 -1
- package/dist/services/definitions/woodpecker-ci.d.mts +1 -1
- package/dist/services/definitions/xyops.d.cts +1 -1
- package/dist/services/definitions/xyops.d.mts +1 -1
- package/dist/services/definitions/zeroclaw.cjs +103 -0
- package/dist/services/definitions/zeroclaw.cjs.map +1 -0
- package/dist/services/definitions/zeroclaw.d.cts +7 -0
- package/dist/services/definitions/zeroclaw.d.cts.map +1 -0
- package/dist/services/definitions/zeroclaw.d.mts +7 -0
- package/dist/services/definitions/zeroclaw.d.mts.map +1 -0
- package/dist/services/definitions/zeroclaw.mjs +102 -0
- package/dist/services/definitions/zeroclaw.mjs.map +1 -0
- package/dist/services/definitions/zulip.d.cts +1 -1
- package/dist/services/definitions/zulip.d.mts +1 -1
- package/dist/services/registry.d.cts +1 -1
- package/dist/services/registry.d.mts +1 -1
- package/dist/services/registry.test.cjs +8 -8
- package/dist/services/registry.test.cjs.map +1 -1
- package/dist/services/registry.test.mjs +8 -8
- package/dist/services/registry.test.mjs.map +1 -1
- package/dist/skills/registry.cjs +19 -0
- package/dist/skills/registry.cjs.map +1 -1
- package/dist/skills/registry.d.cts +1 -1
- package/dist/skills/registry.d.cts.map +1 -1
- package/dist/skills/registry.d.mts +1 -1
- package/dist/skills/registry.d.mts.map +1 -1
- package/dist/skills/registry.mjs +19 -0
- package/dist/skills/registry.mjs.map +1 -1
- package/dist/{skills-BlzpHmpH.cjs → skills-uPxJVmKk.cjs} +452 -1
- package/dist/skills-uPxJVmKk.cjs.map +1 -0
- package/dist/{test.CTcmp4Su-ClCHJ3FA.mjs → test.CTcmp4Su-BRa7-bTj.mjs} +2 -2
- package/dist/{test.CTcmp4Su-ClCHJ3FA.mjs.map → test.CTcmp4Su-BRa7-bTj.mjs.map} +1 -1
- package/dist/{test.CTcmp4Su-DlzTarwH.cjs → test.CTcmp4Su-BWSPM8ZQ.cjs} +19 -1
- package/dist/{test.CTcmp4Su-DlzTarwH.cjs.map → test.CTcmp4Su-BWSPM8ZQ.cjs.map} +1 -1
- package/dist/track-analytics.d.cts +1 -1
- package/dist/track-analytics.d.mts +1 -1
- package/dist/track-analytics.test.cjs +1 -1
- package/dist/track-analytics.test.mjs +1 -1
- package/dist/types-BREUfzzq.d.mts +77 -0
- package/dist/types-BREUfzzq.d.mts.map +1 -0
- package/dist/types-Bsn0XzSP.d.cts +95 -0
- package/dist/types-Bsn0XzSP.d.cts.map +1 -0
- package/dist/types-CyZ5mn6w.d.cts +77 -0
- package/dist/types-CyZ5mn6w.d.cts.map +1 -0
- package/dist/types-DIsPc-hb.d.cts +100 -0
- package/dist/types-DIsPc-hb.d.cts.map +1 -0
- package/dist/types-DbXajvYq.d.mts +100 -0
- package/dist/types-DbXajvYq.d.mts.map +1 -0
- package/dist/types-DwTKyCZ9.d.mts +95 -0
- package/dist/types-DwTKyCZ9.d.mts.map +1 -0
- package/dist/{types-CR83OJiq.d.cts → types-dyBnrHm9.d.cts} +5 -1
- package/dist/types-dyBnrHm9.d.cts.map +1 -0
- package/dist/{types-zYjGTuyn.d.mts → types-fRSnaZTX.d.mts} +5 -1
- package/dist/types-fRSnaZTX.d.mts.map +1 -0
- package/dist/types.cjs +7 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +2 -93
- package/dist/types.d.mts +2 -93
- package/dist/types.mjs +7 -0
- package/dist/types.mjs.map +1 -1
- package/dist/validator.cjs +1 -1
- package/dist/validator.d.cts +1 -1
- package/dist/validator.d.mts +1 -1
- package/dist/validator.test.cjs +1 -1
- package/dist/validator.test.mjs +1 -1
- package/dist/version-manager.d.cts +1 -1
- package/dist/version-manager.d.mts +1 -1
- package/dist/version-manager.test.cjs +3 -3
- package/dist/version-manager.test.cjs.map +1 -1
- package/dist/version-manager.test.mjs +3 -3
- package/dist/version-manager.test.mjs.map +1 -1
- package/dist/zeroclaw-B-0TuOfZ.d.mts +7 -0
- package/dist/zeroclaw-B-0TuOfZ.d.mts.map +1 -0
- package/dist/zeroclaw-BvKpDHKe.d.cts +7 -0
- package/dist/zeroclaw-BvKpDHKe.d.cts.map +1 -0
- package/package.json +6 -2
- package/src/addon-stack.test.ts +170 -16
- package/src/addon-stack.ts +114 -43
- package/src/composer.test.ts +59 -0
- package/src/composer.ts +135 -194
- package/src/deployers/coolify.ts +38 -0
- package/src/deployers/dokploy.ts +38 -0
- package/src/deployers/types.ts +2 -0
- package/src/frameworks/claude-code-fw.ts +118 -0
- package/src/frameworks/codex-fw.ts +102 -0
- package/src/frameworks/copaw.ts +154 -0
- package/src/frameworks/index.ts +46 -0
- package/src/frameworks/memu.ts +149 -0
- package/src/frameworks/nanobot.ts +156 -0
- package/src/frameworks/nanoclaw.ts +126 -0
- package/src/frameworks/openclaw.ts +325 -0
- package/src/frameworks/registry.test.ts +131 -0
- package/src/frameworks/registry.ts +28 -0
- package/src/frameworks/types.ts +146 -0
- package/src/frameworks/zeroclaw.ts +148 -0
- package/src/generate.test.ts +55 -4
- package/src/generate.ts +67 -14
- package/src/generators/caddy.test.ts +41 -1
- package/src/generators/caddy.ts +16 -2
- package/src/generators/clone-repos.test.ts +1 -1
- package/src/generators/clone-repos.ts +7 -2
- package/src/generators/env.test.ts +2 -2
- package/src/generators/env.ts +30 -180
- package/src/generators/health-check.ts +4 -4
- package/src/generators/openclaw-json.ts +57 -5
- package/src/generators/postgres-init.ts +11 -0
- package/src/generators/readme.ts +75 -9
- package/src/generators/scripts.test.ts +1 -1
- package/src/generators/skills.ts +458 -0
- package/src/generators/traefik.test.ts +13 -13
- package/src/index.ts +46 -7
- package/src/logger/__tests__/logger.test.ts +388 -0
- package/src/logger/index.ts +14 -0
- package/src/logger/logger.ts +326 -0
- package/src/logger/sinks/callback-sink.ts +13 -0
- package/src/logger/sinks/console-sink.ts +51 -0
- package/src/logger/sinks/file-sink.ts +121 -0
- package/src/logger/types.ts +90 -0
- package/src/migrations.ts +8 -1
- package/src/presets/presets.test.ts +4 -4
- package/src/presets/registry.test.ts +6 -6
- package/src/resolver.test.ts +31 -3
- package/src/resolver.ts +19 -3
- package/src/schema.test.ts +2 -2
- package/src/schema.ts +61 -13
- package/src/services/definitions/agent-browser.ts +177 -0
- package/src/services/definitions/apptension-saas.ts +2 -1
- package/src/services/definitions/burnlink.ts +142 -0
- package/src/services/definitions/chromadb.ts +1 -1
- package/src/services/definitions/claude-code.ts +1 -1
- package/src/services/definitions/clawrouter.ts +141 -0
- package/src/services/definitions/codex.ts +1 -1
- package/src/services/definitions/convex.ts +1 -2
- package/src/services/definitions/copaw.ts +101 -0
- package/src/services/definitions/desktop-environment.ts +1 -0
- package/src/services/definitions/hindsight.ts +132 -0
- package/src/services/definitions/index.ts +61 -14
- package/src/services/definitions/mem0.ts +132 -0
- package/src/services/definitions/memu.ts +96 -0
- package/src/services/definitions/milvus.ts +1 -1
- package/src/services/definitions/nanobot.ts +89 -0
- package/src/services/definitions/nanoclaw.ts +78 -0
- package/src/services/definitions/opensandbox.ts +147 -0
- package/src/services/definitions/relaticle-horizon.ts +48 -0
- package/src/services/definitions/relaticle-scheduler.ts +42 -0
- package/src/services/definitions/relaticle.ts +142 -0
- package/src/services/definitions/twenty-worker.ts +70 -0
- package/src/services/definitions/twenty.ts +16 -2
- package/src/services/definitions/weaviate.ts +1 -1
- package/src/services/definitions/zeroclaw.ts +102 -0
- package/src/services/registry.test.ts +7 -7
- package/src/skills/registry.ts +10 -0
- package/src/types.ts +11 -1
- package/src/version-manager.test.ts +2 -2
- package/dist/schema-CKBRu-Rt.d.cts.map +0 -1
- package/dist/schema-Dn-_Jpb6.d.mts.map +0 -1
- package/dist/skills-BlzpHmpH.cjs.map +0 -1
- package/dist/types-CR83OJiq.d.cts.map +0 -1
- package/dist/types-zYjGTuyn.d.mts.map +0 -1
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.mts.map +0 -1
package/src/generators/readme.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getFrameworkById } from "../frameworks/index.js";
|
|
1
2
|
import type { ResolverOutput } from "../types.js";
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -13,6 +14,8 @@ export interface ReadmeOptions {
|
|
|
13
14
|
hasNativeServices?: boolean;
|
|
14
15
|
/** How OpenClaw itself is installed: docker (container) or direct (host). */
|
|
15
16
|
openclawInstallMethod?: "docker" | "direct";
|
|
17
|
+
/** Primary agent framework (defaults to "openclaw"). */
|
|
18
|
+
primaryFramework?: string;
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
/**
|
|
@@ -22,19 +25,29 @@ export interface ReadmeOptions {
|
|
|
22
25
|
* service URLs, skill packs, and scripts documentation.
|
|
23
26
|
*/
|
|
24
27
|
export function generateReadme(resolved: ResolverOutput, options: ReadmeOptions): string {
|
|
25
|
-
const {
|
|
26
|
-
|
|
28
|
+
const {
|
|
29
|
+
projectName,
|
|
30
|
+
domain,
|
|
31
|
+
proxy,
|
|
32
|
+
deploymentType,
|
|
33
|
+
hasNativeServices,
|
|
34
|
+
openclawInstallMethod,
|
|
35
|
+
primaryFramework,
|
|
36
|
+
} = options;
|
|
27
37
|
const isDirectInstall = openclawInstallMethod === "direct";
|
|
38
|
+
const framework = getFrameworkById(primaryFramework ?? "openclaw");
|
|
39
|
+
const frameworkName = framework?.name ?? "OpenClaw";
|
|
40
|
+
const isOpenClaw = (primaryFramework ?? "openclaw") === "openclaw";
|
|
28
41
|
const sections: string[] = [];
|
|
29
42
|
|
|
30
43
|
// ── Title & Description ─────────────────────────────────────────────────
|
|
31
44
|
|
|
32
45
|
sections.push(`# ${projectName}
|
|
33
46
|
|
|
34
|
-
> Self-hosted AI agent infrastructure powered by [
|
|
47
|
+
> Self-hosted AI agent infrastructure powered by **${frameworkName}**${isOpenClaw ? " — [openclaw.dev](https://openclaw.dev)" : ""}.
|
|
35
48
|
|
|
36
|
-
This project provides a fully configured Docker Compose stack with ${resolved.services.length} services, ready to deploy on any server.${isDirectInstall ?
|
|
37
|
-
${deploymentType === "bare-metal" && hasNativeServices ?
|
|
49
|
+
This project provides a fully configured Docker Compose stack with ${resolved.services.length} services, ready to deploy on any server.${isDirectInstall ? ` ${frameworkName} itself runs directly on the host (not in Docker).` : ""}
|
|
50
|
+
${deploymentType === "bare-metal" && hasNativeServices ? `\n\n**Bare-metal (native + Docker):** Some services run natively on the host; the rest (including the ${frameworkName} gateway) run in Docker. Use the top-level \`install.sh\` or \`install.ps1\` to install/start native services first, then start the Docker stack.` : ""}
|
|
38
51
|
|
|
39
52
|
---`);
|
|
40
53
|
|
|
@@ -131,7 +144,7 @@ docker compose ps
|
|
|
131
144
|
### 5. View Logs
|
|
132
145
|
|
|
133
146
|
\`\`\`bash
|
|
134
|
-
docker compose logs -f openclaw-gateway
|
|
147
|
+
docker compose logs -f ${primaryFramework ?? "openclaw"}-gateway
|
|
135
148
|
\`\`\`
|
|
136
149
|
`
|
|
137
150
|
}
|
|
@@ -218,10 +231,63 @@ Skills are located in \`openclaw/workspace/skills/\`. Each skill provides a \`SK
|
|
|
218
231
|
`);
|
|
219
232
|
}
|
|
220
233
|
|
|
234
|
+
// ── AI Memory Integration ──────────────────────────────────────────────
|
|
235
|
+
|
|
236
|
+
const memoryServiceIds = ["mem0", "memu", "hindsight"];
|
|
237
|
+
const vectorDbIds = ["qdrant", "chromadb", "weaviate", "milvus"];
|
|
238
|
+
|
|
239
|
+
const memoryServices = resolved.services.filter(({ definition }) =>
|
|
240
|
+
memoryServiceIds.includes(definition.id),
|
|
241
|
+
);
|
|
242
|
+
const vectorDbs = resolved.services.filter(({ definition }) =>
|
|
243
|
+
vectorDbIds.includes(definition.id),
|
|
244
|
+
);
|
|
245
|
+
|
|
246
|
+
if (memoryServices.length > 0 || vectorDbs.length > 0) {
|
|
247
|
+
let memSection = `## AI Memory Integration
|
|
248
|
+
|
|
249
|
+
This stack includes integrated AI memory services. The ${frameworkName} agent framework is automatically configured to use them via \`openclaw/config/openclaw.json\`.
|
|
250
|
+
`;
|
|
251
|
+
|
|
252
|
+
if (memoryServices.length > 0) {
|
|
253
|
+
const memList = memoryServices
|
|
254
|
+
.map(
|
|
255
|
+
({ definition }) =>
|
|
256
|
+
`- ${definition.icon} **${definition.name}** — ${definition.description.split(".")[0]}`,
|
|
257
|
+
)
|
|
258
|
+
.join("\n");
|
|
259
|
+
memSection += `
|
|
260
|
+
### Memory Services
|
|
261
|
+
|
|
262
|
+
${memList}
|
|
263
|
+
`;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
if (vectorDbs.length > 0) {
|
|
267
|
+
const vecList = vectorDbs
|
|
268
|
+
.map(
|
|
269
|
+
({ definition }) =>
|
|
270
|
+
`- ${definition.icon} **${definition.name}** — ${definition.description.split(".")[0]}`,
|
|
271
|
+
)
|
|
272
|
+
.join("\n");
|
|
273
|
+
memSection += `
|
|
274
|
+
### Vector Databases
|
|
275
|
+
|
|
276
|
+
${vecList}
|
|
277
|
+
`;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
memSection += `
|
|
281
|
+
Skills for interacting with these services are in \`openclaw/workspace/skills/\`.
|
|
282
|
+
`;
|
|
283
|
+
|
|
284
|
+
sections.push(memSection);
|
|
285
|
+
}
|
|
286
|
+
|
|
221
287
|
// ── Onboarding & Channels ──────────────────────────────────────────────
|
|
222
|
-
//
|
|
288
|
+
// Only show OpenClaw-specific onboarding instructions for OpenClaw stacks
|
|
223
289
|
|
|
224
|
-
if (isDirectInstall) {
|
|
290
|
+
if (isOpenClaw && isDirectInstall) {
|
|
225
291
|
sections.push(`## OpenClaw Setup
|
|
226
292
|
|
|
227
293
|
OpenClaw is installed directly on the host (not in Docker). After running the install script:\n
|
|
@@ -253,7 +319,7 @@ openclaw channels add --channel discord --token <BOT_TOKEN>
|
|
|
253
319
|
|
|
254
320
|
See [Channel Docs](https://docs.openclaw.ai/channels) for more providers.
|
|
255
321
|
`);
|
|
256
|
-
} else {
|
|
322
|
+
} else if (isOpenClaw) {
|
|
257
323
|
sections.push(`## Onboarding & Channel Setup
|
|
258
324
|
|
|
259
325
|
After starting the stack, complete the gateway onboarding:
|
package/src/generators/skills.ts
CHANGED
|
@@ -8,6 +8,78 @@ import type { ResolverOutput } from "../types.js";
|
|
|
8
8
|
* service's `openclawEnvVars` array at generation time.
|
|
9
9
|
*/
|
|
10
10
|
const skillTemplates: Record<string, string> = {
|
|
11
|
+
"agent-browse": `---
|
|
12
|
+
name: agent-browse
|
|
13
|
+
description: "AI-optimized browser automation with snapshot + ref workflow for deterministic element targeting"
|
|
14
|
+
metadata:
|
|
15
|
+
openclaw:
|
|
16
|
+
emoji: "🌍"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Agent Browser
|
|
20
|
+
|
|
21
|
+
AI-optimized headless browser available at \`{{AGENT_BROWSER_HOST}}\` with CDP on port \`{{AGENT_BROWSER_CDP_PORT}}\` and live viewport streaming on port \`{{AGENT_BROWSER_STREAM_PORT}}\`.
|
|
22
|
+
|
|
23
|
+
## Core Workflow: Snapshot → Reason → Act
|
|
24
|
+
|
|
25
|
+
Agent Browser uses a **ref-based workflow** designed for LLMs. Each interactive element gets a deterministic ref like \`@e1\`, \`@e2\` that you can target directly — no CSS selectors needed.
|
|
26
|
+
|
|
27
|
+
1. **Navigate:** \`agent-browser open https://example.com\`
|
|
28
|
+
2. **Snapshot:** \`agent-browser snapshot\` → returns accessibility tree with refs
|
|
29
|
+
3. **Reason:** Identify the target element by its ref (e.g. \`@e5\` is the search input)
|
|
30
|
+
4. **Act:** \`agent-browser click @e5\` or \`agent-browser type @e5 "search query"\`
|
|
31
|
+
5. **Verify:** \`agent-browser screenshot\` to capture the result
|
|
32
|
+
|
|
33
|
+
## Key Commands
|
|
34
|
+
|
|
35
|
+
| Command | Description |
|
|
36
|
+
|---------|-------------|
|
|
37
|
+
| \`agent-browser open <url>\` | Navigate to a URL |
|
|
38
|
+
| \`agent-browser snapshot\` | Get accessibility tree with @refs |
|
|
39
|
+
| \`agent-browser click @ref\` | Click an element by ref |
|
|
40
|
+
| \`agent-browser type @ref "text"\` | Type text into an input |
|
|
41
|
+
| \`agent-browser select @ref "value"\` | Select a dropdown option |
|
|
42
|
+
| \`agent-browser screenshot [--path file.png]\` | Capture viewport screenshot |
|
|
43
|
+
| \`agent-browser scroll down\\|up\` | Scroll the viewport |
|
|
44
|
+
| \`agent-browser wait <selector\\|ms>\` | Wait for element or time |
|
|
45
|
+
| \`agent-browser extract\` | Extract page content as clean text |
|
|
46
|
+
| \`agent-browser pdf [--path file.pdf]\` | Save page as PDF |
|
|
47
|
+
|
|
48
|
+
## Snapshot Output Example
|
|
49
|
+
|
|
50
|
+
\`\`\`
|
|
51
|
+
@e1 heading "Welcome to Example"
|
|
52
|
+
@e2 link "Sign In" [href="/login"]
|
|
53
|
+
@e3 input[text] "Search..." [placeholder]
|
|
54
|
+
@e4 button "Search"
|
|
55
|
+
@e5 link "Learn More" [href="/docs"]
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
Each \`@ref\` is stable within a page state — use it directly: \`agent-browser click @e2\`
|
|
59
|
+
|
|
60
|
+
## Content Boundaries
|
|
61
|
+
|
|
62
|
+
Output is wrapped in boundary markers (\`---CONTENT_START---\` / \`---CONTENT_END---\`) to prevent prompt injection from page content. This is enabled by default.
|
|
63
|
+
|
|
64
|
+
## Session Persistence
|
|
65
|
+
|
|
66
|
+
\`\`\`bash
|
|
67
|
+
# Save/restore login state across sessions
|
|
68
|
+
agent-browser --session-name my-app open https://app.example.com
|
|
69
|
+
agent-browser --session-name my-app snapshot
|
|
70
|
+
\`\`\`
|
|
71
|
+
|
|
72
|
+
## Live Viewport Streaming
|
|
73
|
+
|
|
74
|
+
WebSocket stream at \`ws://{{AGENT_BROWSER_HOST}}:{{AGENT_BROWSER_STREAM_PORT}}\` for real-time viewport watching (pair browsing). Receives JPEG frames with metadata.
|
|
75
|
+
|
|
76
|
+
## Security
|
|
77
|
+
|
|
78
|
+
- **Domain allowlist:** Set \`AGENT_BROWSER_ALLOWED_DOMAINS\` to restrict navigation
|
|
79
|
+
- **Action policies:** JSON policy files to require confirmation for specific action categories
|
|
80
|
+
- **Content boundaries:** Prevent LLM prompt injection from page content
|
|
81
|
+
`,
|
|
82
|
+
|
|
11
83
|
"redis-cache": `---
|
|
12
84
|
name: redis-cache
|
|
13
85
|
description: "Cache data and manage key-value state using Redis"
|
|
@@ -535,6 +607,392 @@ curl -X POST http://{{STEEL_HOST}}:{{STEEL_PORT}}/v1/scrape \\
|
|
|
535
607
|
- Proxy support and IP rotation
|
|
536
608
|
- Auto CAPTCHA solving
|
|
537
609
|
- Puppeteer/Playwright/Selenium compatible
|
|
610
|
+
`,
|
|
611
|
+
|
|
612
|
+
"code-sandbox": `---
|
|
613
|
+
name: code-sandbox
|
|
614
|
+
description: "Execute code safely in an isolated OpenSandbox container"
|
|
615
|
+
metadata:
|
|
616
|
+
openclaw:
|
|
617
|
+
emoji: "📦"
|
|
618
|
+
---
|
|
619
|
+
|
|
620
|
+
# Code Sandbox
|
|
621
|
+
|
|
622
|
+
Execute code safely in an isolated OpenSandbox container.
|
|
623
|
+
|
|
624
|
+
## Description
|
|
625
|
+
|
|
626
|
+
This skill provides secure, containerized code execution for AI agents. Code runs in ephemeral Docker containers with resource limits, network isolation, and automatic cleanup.
|
|
627
|
+
|
|
628
|
+
## Connection Details
|
|
629
|
+
|
|
630
|
+
- **Host:** \`{{OPENSANDBOX_HOST}}\`
|
|
631
|
+
- **Port:** \`{{OPENSANDBOX_PORT}}\`
|
|
632
|
+
- **Auth:** API key (auto-configured)
|
|
633
|
+
|
|
634
|
+
## Supported Languages
|
|
635
|
+
|
|
636
|
+
- Python 3.12
|
|
637
|
+
- JavaScript / TypeScript (Node.js 22)
|
|
638
|
+
- Java 21
|
|
639
|
+
- Go 1.24
|
|
640
|
+
- Bash
|
|
641
|
+
|
|
642
|
+
## Available Actions
|
|
643
|
+
|
|
644
|
+
### execute_code
|
|
645
|
+
|
|
646
|
+
Run a code snippet in a fresh sandbox.
|
|
647
|
+
|
|
648
|
+
**Parameters:**
|
|
649
|
+
- \`language\` (required): Programming language ("python", "javascript", "typescript", "java", "go", "bash")
|
|
650
|
+
- \`code\` (required): The code to execute
|
|
651
|
+
- \`timeout_seconds\` (optional): Max execution time (default: 60, max: 300)
|
|
652
|
+
|
|
653
|
+
**Returns:** stdout, stderr, exit_code, execution_time_ms
|
|
654
|
+
|
|
655
|
+
### execute_shell
|
|
656
|
+
|
|
657
|
+
Run a shell command in an existing or new sandbox.
|
|
658
|
+
|
|
659
|
+
**Parameters:**
|
|
660
|
+
- \`command\` (required): Shell command to execute
|
|
661
|
+
- \`sandbox_id\` (optional): Reuse an existing sandbox (for multi-step workflows)
|
|
662
|
+
- \`background\` (optional): Run in background (default: false)
|
|
663
|
+
|
|
664
|
+
**Returns:** stdout, stderr, exit_code
|
|
665
|
+
|
|
666
|
+
### upload_file
|
|
667
|
+
|
|
668
|
+
Upload a file to a sandbox for processing.
|
|
669
|
+
|
|
670
|
+
**Parameters:**
|
|
671
|
+
- \`sandbox_id\` (required): Target sandbox
|
|
672
|
+
- \`path\` (required): Destination path inside sandbox
|
|
673
|
+
- \`content\` (required): File content (text or base64 for binary)
|
|
674
|
+
|
|
675
|
+
### download_file
|
|
676
|
+
|
|
677
|
+
Download a file from a sandbox.
|
|
678
|
+
|
|
679
|
+
**Parameters:**
|
|
680
|
+
- \`sandbox_id\` (required): Source sandbox
|
|
681
|
+
- \`path\` (required): File path inside sandbox
|
|
682
|
+
|
|
683
|
+
**Returns:** File content
|
|
684
|
+
|
|
685
|
+
### list_sandboxes
|
|
686
|
+
|
|
687
|
+
List active sandboxes on this instance.
|
|
688
|
+
|
|
689
|
+
**Returns:** Array of { id, status, image, created_at, expires_at }
|
|
690
|
+
|
|
691
|
+
### terminate_sandbox
|
|
692
|
+
|
|
693
|
+
Terminate a running sandbox immediately.
|
|
694
|
+
|
|
695
|
+
**Parameters:**
|
|
696
|
+
- \`sandbox_id\` (required): Sandbox to terminate
|
|
697
|
+
|
|
698
|
+
### create_desktop
|
|
699
|
+
|
|
700
|
+
Create a GUI desktop sandbox with VNC access (for Homespace live preview).
|
|
701
|
+
|
|
702
|
+
**Parameters:**
|
|
703
|
+
- \`image\` (optional): Desktop image (default: "opensandbox/desktop:latest", also: "opensandbox/chrome:latest", "opensandbox/vscode:latest")
|
|
704
|
+
- \`resolution\` (optional): Screen resolution (default: "1280x800x24")
|
|
705
|
+
|
|
706
|
+
**Returns:** sandbox_id, vnc_endpoint (port 5900), novnc_url (port 6080 WebSocket), devtools_url (port 9222, chrome only)
|
|
707
|
+
|
|
708
|
+
### get_preview_url
|
|
709
|
+
|
|
710
|
+
Get the browser-accessible noVNC URL for an existing desktop sandbox.
|
|
711
|
+
|
|
712
|
+
**Parameters:**
|
|
713
|
+
- \`sandbox_id\` (required): Desktop sandbox ID
|
|
714
|
+
|
|
715
|
+
**Returns:** novnc_url (embeddable in iframe), vnc_endpoint, status
|
|
716
|
+
|
|
717
|
+
## Examples
|
|
718
|
+
|
|
719
|
+
### Run Python code
|
|
720
|
+
|
|
721
|
+
\`\`\`bash
|
|
722
|
+
curl -X POST http://{{OPENSANDBOX_HOST}}:{{OPENSANDBOX_PORT}}/v1/sandboxes \\
|
|
723
|
+
-H "Authorization: Bearer $OPENSANDBOX_API_KEY" \\
|
|
724
|
+
-H "Content-Type: application/json" \\
|
|
725
|
+
-d '{"image": "opensandbox/code-interpreter:python"}'
|
|
726
|
+
\`\`\`
|
|
727
|
+
|
|
728
|
+
### Execute code in a sandbox
|
|
729
|
+
|
|
730
|
+
\`\`\`bash
|
|
731
|
+
curl -X POST http://{{OPENSANDBOX_HOST}}:{{OPENSANDBOX_PORT}}/v1/sandboxes/{id}/code \\
|
|
732
|
+
-H "Authorization: Bearer $OPENSANDBOX_API_KEY" \\
|
|
733
|
+
-H "Content-Type: application/json" \\
|
|
734
|
+
-d '{"language": "python", "code": "print(42 * 42)"}'
|
|
735
|
+
\`\`\`
|
|
736
|
+
|
|
737
|
+
## Configuration
|
|
738
|
+
|
|
739
|
+
- **Default timeout:** 60 seconds
|
|
740
|
+
- **Max concurrent sandboxes:** Determined by VPS RAM
|
|
741
|
+
- **Idle cleanup:** Sandboxes with no activity for 30 minutes are auto-terminated
|
|
742
|
+
- **Network:** Bridge mode (isolated from host services)
|
|
743
|
+
- **Security:** gVisor runtime, capability dropping, PID limits
|
|
744
|
+
|
|
745
|
+
## Limitations
|
|
746
|
+
|
|
747
|
+
- No persistent storage between sandbox sessions (ephemeral by design)
|
|
748
|
+
- No GPU access (CPU-only execution)
|
|
749
|
+
- No outbound network access by default (egress blocked)
|
|
750
|
+
- Max 512 PIDs per sandbox (fork bomb protection)
|
|
751
|
+
- Memory capped per sandbox (default 512MB)
|
|
752
|
+
`,
|
|
753
|
+
|
|
754
|
+
"mem0-memory": `---
|
|
755
|
+
name: mem0-memory
|
|
756
|
+
description: "Store and retrieve long-term memories for AI agents using Mem0"
|
|
757
|
+
metadata:
|
|
758
|
+
openclaw:
|
|
759
|
+
emoji: "🧠"
|
|
760
|
+
---
|
|
761
|
+
|
|
762
|
+
# Mem0 AI Memory
|
|
763
|
+
|
|
764
|
+
Use Mem0 as a long-term memory layer for AI agents. Mem0 automatically extracts, stores, and retrieves memories across conversations using pgvector embeddings and Neo4j knowledge graphs.
|
|
765
|
+
|
|
766
|
+
## Connection Details
|
|
767
|
+
|
|
768
|
+
- **Host:** \`{{MEM0_HOST}}\`
|
|
769
|
+
- **Port:** \`{{MEM0_PORT}}\`
|
|
770
|
+
|
|
771
|
+
## Example API Calls
|
|
772
|
+
|
|
773
|
+
### Add a memory
|
|
774
|
+
\`\`\`bash
|
|
775
|
+
curl -X POST "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/" \\
|
|
776
|
+
-H "Content-Type: application/json" \\
|
|
777
|
+
-d '{"messages": [{"role": "user", "content": "I prefer dark mode in all applications"}], "user_id": "agent-1"}'
|
|
778
|
+
\`\`\`
|
|
779
|
+
|
|
780
|
+
### Search memories
|
|
781
|
+
\`\`\`bash
|
|
782
|
+
curl -X POST "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/search/" \\
|
|
783
|
+
-H "Content-Type: application/json" \\
|
|
784
|
+
-d '{"query": "What are the user preferences?", "user_id": "agent-1"}'
|
|
785
|
+
\`\`\`
|
|
786
|
+
|
|
787
|
+
### Get all memories for a user
|
|
788
|
+
\`\`\`bash
|
|
789
|
+
curl "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/?user_id=agent-1"
|
|
790
|
+
\`\`\`
|
|
791
|
+
|
|
792
|
+
### Delete a memory
|
|
793
|
+
\`\`\`bash
|
|
794
|
+
curl -X DELETE "http://{{MEM0_HOST}}:{{MEM0_PORT}}/v1/memories/<memory_id>/"
|
|
795
|
+
\`\`\`
|
|
796
|
+
|
|
797
|
+
## Usage Notes
|
|
798
|
+
|
|
799
|
+
- Mem0 automatically extracts facts and preferences from conversation messages.
|
|
800
|
+
- Memories are stored as vector embeddings in pgvector and as entity relationships in Neo4j.
|
|
801
|
+
- Use \`user_id\` to isolate memories per agent or per conversation context.
|
|
802
|
+
- Mem0 handles deduplication and conflict resolution automatically.
|
|
803
|
+
`,
|
|
804
|
+
|
|
805
|
+
"memu-memory": `---
|
|
806
|
+
name: memu-memory
|
|
807
|
+
description: "Persistent memory framework for proactive AI agents using MemU"
|
|
808
|
+
metadata:
|
|
809
|
+
openclaw:
|
|
810
|
+
emoji: "🧠"
|
|
811
|
+
---
|
|
812
|
+
|
|
813
|
+
# MemU Persistent Memory
|
|
814
|
+
|
|
815
|
+
Use MemU as a persistent memory framework for 24/7 proactive AI agents. MemU extracts structured memory from multimodal inputs and organizes it into a hierarchical knowledge graph.
|
|
816
|
+
|
|
817
|
+
## Connection Details
|
|
818
|
+
|
|
819
|
+
- **Host:** \`{{MEMU_HOST}}\`
|
|
820
|
+
- **Port:** \`{{MEMU_PORT}}\`
|
|
821
|
+
|
|
822
|
+
## Example API Calls
|
|
823
|
+
|
|
824
|
+
### Store a memory
|
|
825
|
+
\`\`\`bash
|
|
826
|
+
curl -X POST "http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/memories" \\
|
|
827
|
+
-H "Content-Type: application/json" \\
|
|
828
|
+
-d '{"content": "User prefers TypeScript over JavaScript", "agent_id": "agent-1", "type": "preference"}'
|
|
829
|
+
\`\`\`
|
|
830
|
+
|
|
831
|
+
### Recall memories
|
|
832
|
+
\`\`\`bash
|
|
833
|
+
curl -X POST "http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/recall" \\
|
|
834
|
+
-H "Content-Type: application/json" \\
|
|
835
|
+
-d '{"query": "What programming languages does the user prefer?", "agent_id": "agent-1"}'
|
|
836
|
+
\`\`\`
|
|
837
|
+
|
|
838
|
+
### Get memory graph
|
|
839
|
+
\`\`\`bash
|
|
840
|
+
curl "http://{{MEMU_HOST}}:{{MEMU_PORT}}/api/v1/graph?agent_id=agent-1"
|
|
841
|
+
\`\`\`
|
|
842
|
+
|
|
843
|
+
## Usage Notes
|
|
844
|
+
|
|
845
|
+
- MemU organizes memories into a hierarchical knowledge graph backed by pgvector.
|
|
846
|
+
- Supports multimodal inputs (text, images, structured data).
|
|
847
|
+
- Use \`agent_id\` to partition memories across different agents.
|
|
848
|
+
`,
|
|
849
|
+
|
|
850
|
+
"hindsight-memory": `---
|
|
851
|
+
name: hindsight-memory
|
|
852
|
+
description: "Agent memory with Retain/Recall/Reflect operations using Hindsight"
|
|
853
|
+
metadata:
|
|
854
|
+
openclaw:
|
|
855
|
+
emoji: "🧠"
|
|
856
|
+
---
|
|
857
|
+
|
|
858
|
+
# Hindsight Agent Memory
|
|
859
|
+
|
|
860
|
+
Use Hindsight for agent memory with three core operations: Retain (store), Recall (retrieve), and Reflect (synthesize). Supports multi-strategy retrieval including semantic, keyword, graph, and temporal search.
|
|
861
|
+
|
|
862
|
+
## Connection Details
|
|
863
|
+
|
|
864
|
+
- **Host:** \`{{HINDSIGHT_HOST}}\`
|
|
865
|
+
- **Port:** \`{{HINDSIGHT_API_PORT}}\`
|
|
866
|
+
|
|
867
|
+
## Example API Calls
|
|
868
|
+
|
|
869
|
+
### Retain (store a memory)
|
|
870
|
+
\`\`\`bash
|
|
871
|
+
curl -X POST "http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/retain" \\
|
|
872
|
+
-H "Content-Type: application/json" \\
|
|
873
|
+
-d '{"namespace": "agent-1", "content": "The deployment uses Kubernetes on AWS EKS", "metadata": {"source": "conversation"}}'
|
|
874
|
+
\`\`\`
|
|
875
|
+
|
|
876
|
+
### Recall (retrieve memories)
|
|
877
|
+
\`\`\`bash
|
|
878
|
+
curl -X POST "http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/recall" \\
|
|
879
|
+
-H "Content-Type: application/json" \\
|
|
880
|
+
-d '{"namespace": "agent-1", "query": "What infrastructure is used?", "strategies": ["semantic", "keyword"], "limit": 5}'
|
|
881
|
+
\`\`\`
|
|
882
|
+
|
|
883
|
+
### Reflect (synthesize memories)
|
|
884
|
+
\`\`\`bash
|
|
885
|
+
curl -X POST "http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/api/v1/reflect" \\
|
|
886
|
+
-H "Content-Type: application/json" \\
|
|
887
|
+
-d '{"namespace": "agent-1", "query": "Summarize all infrastructure decisions"}'
|
|
888
|
+
\`\`\`
|
|
889
|
+
|
|
890
|
+
## MCP Integration
|
|
891
|
+
|
|
892
|
+
Hindsight also exposes an MCP server. Configure your agent to connect via:
|
|
893
|
+
\`\`\`
|
|
894
|
+
http://{{HINDSIGHT_HOST}}:{{HINDSIGHT_API_PORT}}/mcp
|
|
895
|
+
\`\`\`
|
|
896
|
+
|
|
897
|
+
## Usage Notes
|
|
898
|
+
|
|
899
|
+
- Use namespaces to isolate memories per agent, project, or session.
|
|
900
|
+
- Retrieval strategies: semantic (embedding similarity), keyword (BM25), graph (entity relationships), temporal (time-based).
|
|
901
|
+
- The Reflect operation uses LLM-powered synthesis to generate insights from stored memories.
|
|
902
|
+
`,
|
|
903
|
+
|
|
904
|
+
"chromadb-memory": `---
|
|
905
|
+
name: chromadb-memory
|
|
906
|
+
description: "Store and retrieve vector embeddings using ChromaDB"
|
|
907
|
+
metadata:
|
|
908
|
+
openclaw:
|
|
909
|
+
emoji: "🎨"
|
|
910
|
+
---
|
|
911
|
+
|
|
912
|
+
# ChromaDB Vector Memory
|
|
913
|
+
|
|
914
|
+
Use ChromaDB as a vector database for storing embeddings, enabling semantic search and retrieval-augmented generation (RAG).
|
|
915
|
+
|
|
916
|
+
## Connection Details
|
|
917
|
+
|
|
918
|
+
- **Host:** \`{{CHROMADB_HOST}}\`
|
|
919
|
+
- **Port:** \`{{CHROMADB_PORT}}\`
|
|
920
|
+
|
|
921
|
+
## Example API Calls
|
|
922
|
+
|
|
923
|
+
### Create a collection
|
|
924
|
+
\`\`\`bash
|
|
925
|
+
curl -X POST "http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections" \\
|
|
926
|
+
-H "Content-Type: application/json" \\
|
|
927
|
+
-d '{"name": "my_collection", "metadata": {"hnsw:space": "cosine"}}'
|
|
928
|
+
\`\`\`
|
|
929
|
+
|
|
930
|
+
### Add documents
|
|
931
|
+
\`\`\`bash
|
|
932
|
+
curl -X POST "http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections/<collection_id>/add" \\
|
|
933
|
+
-H "Content-Type: application/json" \\
|
|
934
|
+
-d '{"ids": ["doc1"], "documents": ["Hello world"], "metadatas": [{"source": "test"}]}'
|
|
935
|
+
\`\`\`
|
|
936
|
+
|
|
937
|
+
### Query similar documents
|
|
938
|
+
\`\`\`bash
|
|
939
|
+
curl -X POST "http://{{CHROMADB_HOST}}:{{CHROMADB_PORT}}/api/v1/collections/<collection_id>/query" \\
|
|
940
|
+
-H "Content-Type: application/json" \\
|
|
941
|
+
-d '{"query_texts": ["greeting"], "n_results": 5}'
|
|
942
|
+
\`\`\`
|
|
943
|
+
|
|
944
|
+
## Usage Notes
|
|
945
|
+
|
|
946
|
+
- ChromaDB can auto-generate embeddings from documents if configured with an embedding function.
|
|
947
|
+
- Supports metadata filtering on queries for precise retrieval.
|
|
948
|
+
- Collections are isolated namespaces for different data domains.
|
|
949
|
+
`,
|
|
950
|
+
|
|
951
|
+
"weaviate-memory": `---
|
|
952
|
+
name: weaviate-memory
|
|
953
|
+
description: "Store and search vectors with hybrid search using Weaviate"
|
|
954
|
+
metadata:
|
|
955
|
+
openclaw:
|
|
956
|
+
emoji: "🔷"
|
|
957
|
+
---
|
|
958
|
+
|
|
959
|
+
# Weaviate Vector Memory
|
|
960
|
+
|
|
961
|
+
Use Weaviate for vector storage with built-in hybrid search (combining vector similarity and keyword/BM25 search) and a GraphQL API.
|
|
962
|
+
|
|
963
|
+
## Connection Details
|
|
964
|
+
|
|
965
|
+
- **Host:** \`{{WEAVIATE_HOST}}\`
|
|
966
|
+
- **Port:** \`{{WEAVIATE_PORT}}\`
|
|
967
|
+
|
|
968
|
+
## Example API Calls
|
|
969
|
+
|
|
970
|
+
### Create a class (schema)
|
|
971
|
+
\`\`\`bash
|
|
972
|
+
curl -X POST "http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/schema" \\
|
|
973
|
+
-H "Content-Type: application/json" \\
|
|
974
|
+
-d '{"class": "Document", "vectorizer": "none", "properties": [{"name": "content", "dataType": ["text"]}]}'
|
|
975
|
+
\`\`\`
|
|
976
|
+
|
|
977
|
+
### Add an object with vector
|
|
978
|
+
\`\`\`bash
|
|
979
|
+
curl -X POST "http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/objects" \\
|
|
980
|
+
-H "Content-Type: application/json" \\
|
|
981
|
+
-d '{"class": "Document", "properties": {"content": "Hello world"}, "vector": [0.1, 0.2, 0.3]}'
|
|
982
|
+
\`\`\`
|
|
983
|
+
|
|
984
|
+
### Hybrid search (vector + keyword)
|
|
985
|
+
\`\`\`bash
|
|
986
|
+
curl -X POST "http://{{WEAVIATE_HOST}}:{{WEAVIATE_PORT}}/v1/graphql" \\
|
|
987
|
+
-H "Content-Type: application/json" \\
|
|
988
|
+
-d '{"query": "{ Get { Document(hybrid: { query: \\"hello\\" alpha: 0.5 }) { content _additional { score } } } }"}'
|
|
989
|
+
\`\`\`
|
|
990
|
+
|
|
991
|
+
## Usage Notes
|
|
992
|
+
|
|
993
|
+
- Weaviate supports hybrid search combining BM25 keyword search with vector similarity.
|
|
994
|
+
- Use the alpha parameter to balance between keyword (0.0) and vector (1.0) search.
|
|
995
|
+
- GraphQL API provides flexible querying with filters, aggregations, and cross-references.
|
|
538
996
|
`,
|
|
539
997
|
};
|
|
540
998
|
|
|
@@ -27,11 +27,11 @@ describe("generateTraefikConfig", () => {
|
|
|
27
27
|
|
|
28
28
|
const redisLabels = serviceLabels.get("redis");
|
|
29
29
|
expect(redisLabels).toBeDefined();
|
|
30
|
-
expect(redisLabels
|
|
31
|
-
expect(redisLabels
|
|
32
|
-
expect(redisLabels
|
|
33
|
-
expect(redisLabels
|
|
34
|
-
expect(redisLabels
|
|
30
|
+
expect(redisLabels?.["traefik.enable"]).toBe("true");
|
|
31
|
+
expect(redisLabels?.["traefik.http.routers.redis.rule"]).toBe("Host(`redis.example.com`)");
|
|
32
|
+
expect(redisLabels?.["traefik.http.routers.redis.entrypoints"]).toBe("websecure");
|
|
33
|
+
expect(redisLabels?.["traefik.http.routers.redis.tls.certresolver"]).toBe("letsencrypt");
|
|
34
|
+
expect(redisLabels?.["traefik.http.services.redis.loadbalancer.server.port"]).toBe("6379");
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
it("generates HTTP to HTTPS redirect labels", () => {
|
|
@@ -49,8 +49,8 @@ describe("generateTraefikConfig", () => {
|
|
|
49
49
|
|
|
50
50
|
const gwLabels = serviceLabels.get("openclaw-gateway");
|
|
51
51
|
expect(gwLabels).toBeDefined();
|
|
52
|
-
expect(gwLabels
|
|
53
|
-
expect(gwLabels
|
|
52
|
+
expect(gwLabels?.["traefik.http.routers.gateway.rule"]).toBe("Host(`example.com`)");
|
|
53
|
+
expect(gwLabels?.["traefik.http.services.gateway.loadbalancer.server.port"]).toBe("18789");
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
it("adds global redirect middleware on traefik service", () => {
|
|
@@ -59,11 +59,11 @@ describe("generateTraefikConfig", () => {
|
|
|
59
59
|
|
|
60
60
|
const traefikLabels = serviceLabels.get("traefik");
|
|
61
61
|
expect(traefikLabels).toBeDefined();
|
|
62
|
-
expect(traefikLabels!["traefik.http.middlewares.redirect-to-https.redirectscheme.scheme"]).toBe(
|
|
63
|
-
"https",
|
|
64
|
-
);
|
|
65
62
|
expect(
|
|
66
|
-
traefikLabels
|
|
63
|
+
traefikLabels?.["traefik.http.middlewares.redirect-to-https.redirectscheme.scheme"],
|
|
64
|
+
).toBe("https");
|
|
65
|
+
expect(
|
|
66
|
+
traefikLabels?.["traefik.http.middlewares.redirect-to-https.redirectscheme.permanent"],
|
|
67
67
|
).toBe("true");
|
|
68
68
|
});
|
|
69
69
|
|
|
@@ -74,7 +74,7 @@ describe("generateTraefikConfig", () => {
|
|
|
74
74
|
// ffmpeg has no exposed ports
|
|
75
75
|
expect(serviceLabels.has("ffmpeg")).toBe(false);
|
|
76
76
|
// traefik itself is handled separately (not as a regular service)
|
|
77
|
-
expect(serviceLabels.get("traefik")
|
|
77
|
+
expect(serviceLabels.get("traefik")?.["traefik.http.routers.traefik.rule"]).toBeUndefined();
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
it("sanitizes service names with hyphens in router names", () => {
|
|
@@ -84,6 +84,6 @@ describe("generateTraefikConfig", () => {
|
|
|
84
84
|
const labels = serviceLabels.get("open-webui");
|
|
85
85
|
expect(labels).toBeDefined();
|
|
86
86
|
// Router name has hyphens removed
|
|
87
|
-
expect(labels
|
|
87
|
+
expect(labels?.["traefik.http.routers.openwebui.rule"]).toBe("Host(`open-webui.example.com`)");
|
|
88
88
|
});
|
|
89
89
|
});
|