@better-openclaw/core 1.0.7 → 1.0.9

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 (112) hide show
  1. package/dist/bare-metal-partition.d.mts.map +1 -1
  2. package/dist/bare-metal-partition.mjs +1 -0
  3. package/dist/bare-metal-partition.mjs.map +1 -1
  4. package/dist/composer.d.mts.map +1 -1
  5. package/dist/composer.mjs +11 -1
  6. package/dist/composer.mjs.map +1 -1
  7. package/dist/errors.d.mts +17 -0
  8. package/dist/errors.d.mts.map +1 -0
  9. package/dist/errors.mjs +24 -0
  10. package/dist/errors.mjs.map +1 -0
  11. package/dist/generate.d.mts +4 -3
  12. package/dist/generate.d.mts.map +1 -1
  13. package/dist/generate.mjs +13 -5
  14. package/dist/generate.mjs.map +1 -1
  15. package/dist/generators/traefik.d.mts +19 -0
  16. package/dist/generators/traefik.d.mts.map +1 -0
  17. package/dist/generators/traefik.mjs +86 -0
  18. package/dist/generators/traefik.mjs.map +1 -0
  19. package/dist/generators/traefik.test.d.mts +1 -0
  20. package/dist/generators/traefik.test.mjs +69 -0
  21. package/dist/generators/traefik.test.mjs.map +1 -0
  22. package/dist/index.d.mts +4 -2
  23. package/dist/index.mjs +4 -2
  24. package/dist/migrations.d.mts +14 -0
  25. package/dist/migrations.d.mts.map +1 -0
  26. package/dist/migrations.mjs +33 -0
  27. package/dist/migrations.mjs.map +1 -0
  28. package/dist/migrations.test.d.mts +1 -0
  29. package/dist/migrations.test.mjs +42 -0
  30. package/dist/migrations.test.mjs.map +1 -0
  31. package/dist/resolver.d.mts +6 -1
  32. package/dist/resolver.d.mts.map +1 -1
  33. package/dist/resolver.mjs +21 -3
  34. package/dist/resolver.mjs.map +1 -1
  35. package/dist/schema.d.mts +9 -0
  36. package/dist/schema.d.mts.map +1 -1
  37. package/dist/schema.mjs +4 -1
  38. package/dist/schema.mjs.map +1 -1
  39. package/dist/services/definitions/caddy.mjs +20 -1
  40. package/dist/services/definitions/caddy.mjs.map +1 -1
  41. package/dist/services/definitions/cal-com.d.mts +7 -0
  42. package/dist/services/definitions/cal-com.d.mts.map +1 -0
  43. package/dist/services/definitions/cal-com.mjs +88 -0
  44. package/dist/services/definitions/cal-com.mjs.map +1 -0
  45. package/dist/services/definitions/comfyui.d.mts +7 -0
  46. package/dist/services/definitions/comfyui.d.mts.map +1 -0
  47. package/dist/services/definitions/comfyui.mjs +83 -0
  48. package/dist/services/definitions/comfyui.mjs.map +1 -0
  49. package/dist/services/definitions/desktop-environment.d.mts +7 -0
  50. package/dist/services/definitions/desktop-environment.d.mts.map +1 -0
  51. package/dist/services/definitions/desktop-environment.mjs +153 -0
  52. package/dist/services/definitions/desktop-environment.mjs.map +1 -0
  53. package/dist/services/definitions/grafana.mjs +13 -1
  54. package/dist/services/definitions/grafana.mjs.map +1 -1
  55. package/dist/services/definitions/index.d.mts +7 -1
  56. package/dist/services/definitions/index.d.mts.map +1 -1
  57. package/dist/services/definitions/index.mjs +14 -2
  58. package/dist/services/definitions/index.mjs.map +1 -1
  59. package/dist/services/definitions/neo4j.d.mts +7 -0
  60. package/dist/services/definitions/neo4j.d.mts.map +1 -0
  61. package/dist/services/definitions/neo4j.mjs +91 -0
  62. package/dist/services/definitions/neo4j.mjs.map +1 -0
  63. package/dist/services/definitions/stream-gateway.d.mts +7 -0
  64. package/dist/services/definitions/stream-gateway.d.mts.map +1 -0
  65. package/dist/services/definitions/stream-gateway.mjs +133 -0
  66. package/dist/services/definitions/stream-gateway.mjs.map +1 -0
  67. package/dist/services/definitions/traefik.mjs +0 -1
  68. package/dist/services/definitions/traefik.mjs.map +1 -1
  69. package/dist/services/definitions/xyops.d.mts +7 -0
  70. package/dist/services/definitions/xyops.d.mts.map +1 -0
  71. package/dist/services/definitions/xyops.mjs +86 -0
  72. package/dist/services/definitions/xyops.mjs.map +1 -0
  73. package/dist/types.d.mts +8 -1
  74. package/dist/types.d.mts.map +1 -1
  75. package/dist/types.mjs +10 -0
  76. package/dist/types.mjs.map +1 -1
  77. package/dist/validator.mjs +11 -0
  78. package/dist/validator.mjs.map +1 -1
  79. package/dist/version-manager.d.mts +1 -1
  80. package/dist/version-manager.d.mts.map +1 -1
  81. package/dist/version-manager.mjs +11 -5
  82. package/dist/version-manager.mjs.map +1 -1
  83. package/dist/version-manager.test.d.mts +1 -0
  84. package/dist/version-manager.test.mjs +102 -0
  85. package/dist/version-manager.test.mjs.map +1 -0
  86. package/package.json +1 -1
  87. package/src/__snapshots__/composer.snapshot.test.ts.snap +15 -1
  88. package/src/bare-metal-partition.ts +1 -0
  89. package/src/composer.ts +22 -1
  90. package/src/errors.ts +23 -0
  91. package/src/generate.ts +22 -4
  92. package/src/generators/traefik.test.ts +97 -0
  93. package/src/generators/traefik.ts +104 -0
  94. package/src/index.ts +7 -1
  95. package/src/migrations.test.ts +36 -0
  96. package/src/migrations.ts +49 -0
  97. package/src/resolver.ts +37 -3
  98. package/src/schema.ts +3 -0
  99. package/src/services/definitions/caddy.ts +23 -1
  100. package/src/services/definitions/cal-com.ts +91 -0
  101. package/src/services/definitions/comfyui.ts +90 -0
  102. package/src/services/definitions/desktop-environment.ts +163 -0
  103. package/src/services/definitions/grafana.ts +16 -1
  104. package/src/services/definitions/index.ts +18 -0
  105. package/src/services/definitions/neo4j.ts +96 -0
  106. package/src/services/definitions/stream-gateway.ts +148 -0
  107. package/src/services/definitions/traefik.ts +0 -2
  108. package/src/services/definitions/xyops.ts +94 -0
  109. package/src/types.ts +7 -1
  110. package/src/validator.ts +16 -0
  111. package/src/version-manager.test.ts +134 -0
  112. package/src/version-manager.ts +12 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cal-com.mjs","names":[],"sources":["../../../src/services/definitions/cal-com.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const calComDefinition: ServiceDefinition = {\n\tid: \"cal-com\",\n\tname: \"Cal.com\",\n\tdescription:\n\t\t\"Open-source scheduling platform for appointments, meetings, and booking management with calendar integrations and customizable workflows.\",\n\tcategory: \"automation\",\n\ticon: \"📅\",\n\n\timage: \"calcom/cal.com\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3005,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Cal.com web UI\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"DATABASE_URL\",\n\t\t\tdefaultValue: \"postgresql://calcom:${CALCOM_DB_PASSWORD}@postgresql:5432/calcom\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"PostgreSQL connection URL for Cal.com\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEXTAUTH_SECRET\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"NextAuth.js session encryption secret\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CALENDSO_ENCRYPTION_KEY\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Encryption key for calendar data at rest\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEXT_PUBLIC_WEBAPP_URL\",\n\t\t\tdefaultValue: \"http://localhost:3005\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Public URL of the Cal.com instance\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"CALCOM_HOST\",\n\t\t\tdefaultValue: \"cal-com\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Cal.com hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"CALCOM_PORT\",\n\t\t\tdefaultValue: \"3000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Cal.com port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://cal.com/docs\",\n\ttags: [\"calendar\", \"scheduling\", \"booking\", \"appointments\"],\n\tmaturity: \"beta\",\n\n\trequires: [\"postgresql\"],\n\trecommends: [\"redis\"],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,mBAAsC;CAClD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,EAAE;CACX,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAY;EAAc;EAAW;EAAe;CAC3D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,CAAC,QAAQ;CACrB,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/comfyui.d.ts
4
+ declare const comfyuiDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { comfyuiDefinition };
7
+ //# sourceMappingURL=comfyui.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui.d.mts","names":[],"sources":["../../../src/services/definitions/comfyui.ts"],"mappings":";;;cAEa,iBAAA,EAAmB,iBAAA"}
@@ -0,0 +1,83 @@
1
+ //#region src/services/definitions/comfyui.ts
2
+ const comfyuiDefinition = {
3
+ id: "comfyui",
4
+ name: "ComfyUI",
5
+ description: "Node-based visual workflow editor for Stable Diffusion and other generative AI models. Design complex image/video generation pipelines with a drag-and-drop graph UI and a powerful REST API.",
6
+ category: "ai",
7
+ icon: "🎨",
8
+ image: "ghcr.io/ai-dock/comfyui",
9
+ imageTag: "latest",
10
+ ports: [{
11
+ host: 8188,
12
+ container: 8188,
13
+ description: "ComfyUI Web UI & API",
14
+ exposed: true
15
+ }],
16
+ volumes: [
17
+ {
18
+ name: "comfyui-models",
19
+ containerPath: "/opt/ComfyUI/models",
20
+ description: "Model checkpoint, LoRA, VAE, and ControlNet files"
21
+ },
22
+ {
23
+ name: "comfyui-output",
24
+ containerPath: "/opt/ComfyUI/output",
25
+ description: "Generated images and output files"
26
+ },
27
+ {
28
+ name: "comfyui-custom-nodes",
29
+ containerPath: "/opt/ComfyUI/custom_nodes",
30
+ description: "Community custom node extensions"
31
+ }
32
+ ],
33
+ environment: [],
34
+ healthcheck: {
35
+ test: "curl -f http://localhost:8188/system_stats || exit 1",
36
+ interval: "30s",
37
+ timeout: "10s",
38
+ retries: 3,
39
+ startPeriod: "60s"
40
+ },
41
+ dependsOn: [],
42
+ restartPolicy: "unless-stopped",
43
+ networks: ["openclaw-network"],
44
+ skills: [{
45
+ skillId: "comfyui-generate",
46
+ autoInstall: true
47
+ }],
48
+ openclawEnvVars: [{
49
+ key: "COMFYUI_HOST",
50
+ defaultValue: "comfyui",
51
+ secret: false,
52
+ description: "ComfyUI hostname for OpenClaw",
53
+ required: true
54
+ }, {
55
+ key: "COMFYUI_PORT",
56
+ defaultValue: "8188",
57
+ secret: false,
58
+ description: "ComfyUI API port for OpenClaw",
59
+ required: true
60
+ }],
61
+ docsUrl: "https://github.com/comfyanonymous/ComfyUI",
62
+ selfHostedDocsUrl: "https://github.com/comfyanonymous/ComfyUI",
63
+ tags: [
64
+ "image-generation",
65
+ "ai-art",
66
+ "stable-diffusion",
67
+ "workflow",
68
+ "node-editor",
69
+ "text-to-image",
70
+ "comfyui"
71
+ ],
72
+ maturity: "experimental",
73
+ requires: [],
74
+ recommends: ["ollama"],
75
+ conflictsWith: [],
76
+ removalWarning: "⚠️ GPU INFRASTRUCTURE REQUIRED: ComfyUI requires an NVIDIA GPU with CUDA support and the NVIDIA Container Toolkit (nvidia-docker2) installed on the host. Without GPU acceleration, image generation will be extremely slow (minutes per image). Ensure your deployment target has adequate GPU resources (minimum 4 GB VRAM, 8 GB+ recommended) before adding this service.",
77
+ minMemoryMB: 4096,
78
+ gpuRequired: true
79
+ };
80
+
81
+ //#endregion
82
+ export { comfyuiDefinition };
83
+ //# sourceMappingURL=comfyui.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui.mjs","names":[],"sources":["../../../src/services/definitions/comfyui.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const comfyuiDefinition: ServiceDefinition = {\n\tid: \"comfyui\",\n\tname: \"ComfyUI\",\n\tdescription:\n\t\t\"Node-based visual workflow editor for Stable Diffusion and other generative AI models. Design complex image/video generation pipelines with a drag-and-drop graph UI and a powerful REST API.\",\n\tcategory: \"ai\",\n\ticon: \"🎨\",\n\n\timage: \"ghcr.io/ai-dock/comfyui\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 8188,\n\t\t\tcontainer: 8188,\n\t\t\tdescription: \"ComfyUI Web UI & API\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"comfyui-models\",\n\t\t\tcontainerPath: \"/opt/ComfyUI/models\",\n\t\t\tdescription: \"Model checkpoint, LoRA, VAE, and ControlNet files\",\n\t\t},\n\t\t{\n\t\t\tname: \"comfyui-output\",\n\t\t\tcontainerPath: \"/opt/ComfyUI/output\",\n\t\t\tdescription: \"Generated images and output files\",\n\t\t},\n\t\t{\n\t\t\tname: \"comfyui-custom-nodes\",\n\t\t\tcontainerPath: \"/opt/ComfyUI/custom_nodes\",\n\t\t\tdescription: \"Community custom node extensions\",\n\t\t},\n\t],\n\tenvironment: [],\n\thealthcheck: {\n\t\ttest: \"curl -f http://localhost:8188/system_stats || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [{ skillId: \"comfyui-generate\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"COMFYUI_HOST\",\n\t\t\tdefaultValue: \"comfyui\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"ComfyUI hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"COMFYUI_PORT\",\n\t\t\tdefaultValue: \"8188\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"ComfyUI API port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://github.com/comfyanonymous/ComfyUI\",\n\tselfHostedDocsUrl: \"https://github.com/comfyanonymous/ComfyUI\",\n\ttags: [\n\t\t\"image-generation\",\n\t\t\"ai-art\",\n\t\t\"stable-diffusion\",\n\t\t\"workflow\",\n\t\t\"node-editor\",\n\t\t\"text-to-image\",\n\t\t\"comfyui\",\n\t],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [\"ollama\"],\n\tconflictsWith: [],\n\n\tremovalWarning:\n\t\t\"⚠️ GPU INFRASTRUCTURE REQUIRED: ComfyUI requires an NVIDIA GPU with CUDA support and the NVIDIA Container Toolkit (nvidia-docker2) installed on the host. Without GPU acceleration, image generation will be extremely slow (minutes per image). Ensure your deployment target has adequate GPU resources (minimum 4 GB VRAM, 8 GB+ recommended) before adding this service.\",\n\n\tminMemoryMB: 4096,\n\tgpuRequired: true,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS;EACR;GACC,MAAM;GACN,eAAe;GACf,aAAa;GACb;EACD;GACC,MAAM;GACN,eAAe;GACf,aAAa;GACb;EACD;GACC,MAAM;GACN,eAAe;GACf,aAAa;GACb;EACD;CACD,aAAa,EAAE;CACf,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,CAAC;EAAE,SAAS;EAAoB,aAAa;EAAM,CAAC;CAC5D,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,mBAAmB;CACnB,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,SAAS;CACtB,eAAe,EAAE;CAEjB,gBACC;CAED,aAAa;CACb,aAAa;CACb"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/desktop-environment.d.ts
4
+ declare const desktopEnvironmentDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { desktopEnvironmentDefinition };
7
+ //# sourceMappingURL=desktop-environment.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-environment.d.mts","names":[],"sources":["../../../src/services/definitions/desktop-environment.ts"],"mappings":";;;cAEa,4BAAA,EAA8B,iBAAA"}
@@ -0,0 +1,153 @@
1
+ //#region src/services/definitions/desktop-environment.ts
2
+ const desktopEnvironmentDefinition = {
3
+ id: "desktop-environment",
4
+ name: "Desktop Environment",
5
+ description: "Isolated KasmVNC-based Linux desktop that gives AI agents full computer-use capabilities — screen vision, mouse/keyboard control, file management, and application launching (VS Code, Chrome, Firefox). OBS Studio is pre-installed for optional recording or live-streaming.",
6
+ category: "desktop",
7
+ icon: "🖥️",
8
+ image: "kasmweb/core-ubuntu-jammy",
9
+ imageTag: "1.16.0",
10
+ ports: [
11
+ {
12
+ host: 6901,
13
+ container: 6901,
14
+ description: "KasmVNC web interface (browser-based desktop access)",
15
+ exposed: true
16
+ },
17
+ {
18
+ host: 5900,
19
+ container: 5900,
20
+ description: "VNC protocol port (native VNC clients)",
21
+ exposed: false
22
+ },
23
+ {
24
+ host: 4455,
25
+ container: 4455,
26
+ description: "OBS WebSocket control port (when OBS is running)",
27
+ exposed: false
28
+ }
29
+ ],
30
+ volumes: [{
31
+ name: "desktop-config",
32
+ containerPath: "/home/kasm-user",
33
+ description: "Desktop user home with config persistence"
34
+ }, {
35
+ name: "desktop-workspace",
36
+ containerPath: "/home/kasm-user/workspace",
37
+ description: "Shared workspace directory for files and projects"
38
+ }],
39
+ environment: [
40
+ {
41
+ key: "VNC_PW",
42
+ defaultValue: "changeme",
43
+ secret: true,
44
+ description: "Password for VNC / KasmVNC web access",
45
+ required: true
46
+ },
47
+ {
48
+ key: "VNC_RESOLUTION",
49
+ defaultValue: "1920x1080",
50
+ secret: false,
51
+ description: "Desktop screen resolution (WidthxHeight)",
52
+ required: false
53
+ },
54
+ {
55
+ key: "SSL_VNC_ONLY",
56
+ defaultValue: "false",
57
+ secret: false,
58
+ description: "When false, allows HTTP/WS connections without SSL (useful for local/Docker networking)",
59
+ required: false
60
+ },
61
+ {
62
+ key: "OBS_WS_PORT",
63
+ defaultValue: "4455",
64
+ secret: false,
65
+ description: "OBS WebSocket port (used when OBS is launched manually)",
66
+ required: false
67
+ },
68
+ {
69
+ key: "OBS_PASSWORD",
70
+ defaultValue: "changeme",
71
+ secret: true,
72
+ description: "OBS WebSocket password (used when OBS is launched manually)",
73
+ required: false
74
+ }
75
+ ],
76
+ healthcheck: {
77
+ test: "curl -sfk https://localhost:6901/ > /dev/null || curl -sf http://localhost:6901/ > /dev/null || exit 1",
78
+ interval: "10s",
79
+ timeout: "10s",
80
+ retries: 6,
81
+ startPeriod: "60s"
82
+ },
83
+ dependsOn: [],
84
+ restartPolicy: "unless-stopped",
85
+ networks: ["openclaw-network"],
86
+ deploy: { resources: {
87
+ limits: {
88
+ cpus: "4.0",
89
+ memory: "8G"
90
+ },
91
+ reservations: {
92
+ cpus: "2.0",
93
+ memory: "4G"
94
+ }
95
+ } },
96
+ skills: [{
97
+ skillId: "desktop-use",
98
+ autoInstall: true
99
+ }],
100
+ openclawEnvVars: [
101
+ {
102
+ key: "DESKTOP_HOST",
103
+ defaultValue: "desktop-environment",
104
+ secret: false,
105
+ description: "Hostname of the desktop-environment container",
106
+ required: true
107
+ },
108
+ {
109
+ key: "DESKTOP_VNC_PORT",
110
+ defaultValue: "6901",
111
+ secret: false,
112
+ description: "KasmVNC web port",
113
+ required: true
114
+ },
115
+ {
116
+ key: "DESKTOP_VNC_PASSWORD",
117
+ defaultValue: "${VNC_PW}",
118
+ secret: true,
119
+ description: "VNC password (references service password)",
120
+ required: true
121
+ }
122
+ ],
123
+ docsUrl: "https://www.kasmweb.com/docs/latest/index.html",
124
+ tags: [
125
+ "computer-use",
126
+ "vnc",
127
+ "desktop",
128
+ "screen-capture",
129
+ "automation",
130
+ "obs",
131
+ "kasm"
132
+ ],
133
+ maturity: "experimental",
134
+ requires: [],
135
+ recommends: ["stream-gateway"],
136
+ conflictsWith: [],
137
+ removalWarning: "⚠️ HEAVY RESOURCE USAGE: The desktop environment requires at least 4 GB RAM (8 GB recommended) and 2+ CPU cores. It runs a full Linux desktop with XFCE inside KasmVNC. OBS Studio is pre-installed but NOT auto-started — launch it manually or via agent tools when needed. Ensure your deployment target can handle these resources alongside other services.",
138
+ minMemoryMB: 4096,
139
+ gpuRequired: false,
140
+ nativeSupported: true,
141
+ nativeRecipes: [{
142
+ platform: "linux",
143
+ installSteps: ["command -v Xvfb >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq xvfb xfce4 xfce4-terminal tigervnc-standalone-server scrot xdotool xclip)", "command -v obs >/dev/null 2>&1 || (sudo add-apt-repository -y ppa:obsproject/obs-studio && sudo apt-get update -qq && sudo apt-get install -y -qq obs-studio)"],
144
+ startCommand: "vncserver :1 -geometry 1920x1080 -depth 24 -localhost no 2>/dev/null || Xvfb :1 -screen 0 1920x1080x24 &",
145
+ stopCommand: "vncserver -kill :1 2>/dev/null; killall Xvfb 2>/dev/null",
146
+ configPath: "/etc/vnc/xstartup",
147
+ configTemplate: "#!/bin/sh\n# Generated for OpenClaw bare-metal desktop\nexport DISPLAY=:1\nstartxfce4 &\n"
148
+ }]
149
+ };
150
+
151
+ //#endregion
152
+ export { desktopEnvironmentDefinition };
153
+ //# sourceMappingURL=desktop-environment.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-environment.mjs","names":[],"sources":["../../../src/services/definitions/desktop-environment.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const desktopEnvironmentDefinition: ServiceDefinition = {\n\tid: \"desktop-environment\",\n\tname: \"Desktop Environment\",\n\tdescription:\n\t\t\"Isolated KasmVNC-based Linux desktop that gives AI agents full computer-use capabilities — screen vision, mouse/keyboard control, file management, and application launching (VS Code, Chrome, Firefox). OBS Studio is pre-installed for optional recording or live-streaming.\",\n\tcategory: \"desktop\",\n\ticon: \"🖥️\",\n\n\timage: \"kasmweb/core-ubuntu-jammy\",\n\timageTag: \"1.16.0\",\n\tports: [\n\t\t{\n\t\t\thost: 6901,\n\t\t\tcontainer: 6901,\n\t\t\tdescription: \"KasmVNC web interface (browser-based desktop access)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 5900,\n\t\t\tcontainer: 5900,\n\t\t\tdescription: \"VNC protocol port (native VNC clients)\",\n\t\t\texposed: false,\n\t\t},\n\t\t{\n\t\t\thost: 4455,\n\t\t\tcontainer: 4455,\n\t\t\tdescription: \"OBS WebSocket control port (when OBS is running)\",\n\t\t\texposed: false,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"desktop-config\",\n\t\t\tcontainerPath: \"/home/kasm-user\",\n\t\t\tdescription: \"Desktop user home with config persistence\",\n\t\t},\n\t\t{\n\t\t\tname: \"desktop-workspace\",\n\t\t\tcontainerPath: \"/home/kasm-user/workspace\",\n\t\t\tdescription: \"Shared workspace directory for files and projects\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"VNC_PW\",\n\t\t\tdefaultValue: \"changeme\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Password for VNC / KasmVNC web access\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"VNC_RESOLUTION\",\n\t\t\tdefaultValue: \"1920x1080\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Desktop screen resolution (WidthxHeight)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"SSL_VNC_ONLY\",\n\t\t\tdefaultValue: \"false\",\n\t\t\tsecret: false,\n\t\t\tdescription:\n\t\t\t\t\"When false, allows HTTP/WS connections without SSL (useful for local/Docker networking)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"OBS_WS_PORT\",\n\t\t\tdefaultValue: \"4455\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"OBS WebSocket port (used when OBS is launched manually)\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"OBS_PASSWORD\",\n\t\t\tdefaultValue: \"changeme\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"OBS WebSocket password (used when OBS is launched manually)\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"curl -sfk https://localhost:6901/ > /dev/null || curl -sf http://localhost:6901/ > /dev/null || exit 1\",\n\t\tinterval: \"10s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 6,\n\t\tstartPeriod: \"60s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tdeploy: {\n\t\tresources: {\n\t\t\tlimits: { cpus: \"4.0\", memory: \"8G\" },\n\t\t\treservations: { cpus: \"2.0\", memory: \"4G\" },\n\t\t},\n\t},\n\n\tskills: [{ skillId: \"desktop-use\", autoInstall: true }],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"DESKTOP_HOST\",\n\t\t\tdefaultValue: \"desktop-environment\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Hostname of the desktop-environment container\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DESKTOP_VNC_PORT\",\n\t\t\tdefaultValue: \"6901\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"KasmVNC web port\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"DESKTOP_VNC_PASSWORD\",\n\t\t\tdefaultValue: \"${VNC_PW}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"VNC password (references service password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://www.kasmweb.com/docs/latest/index.html\",\n\ttags: [\n\t\t\"computer-use\",\n\t\t\"vnc\",\n\t\t\"desktop\",\n\t\t\"screen-capture\",\n\t\t\"automation\",\n\t\t\"obs\",\n\t\t\"kasm\",\n\t],\n\tmaturity: \"experimental\",\n\n\trequires: [],\n\trecommends: [\"stream-gateway\"],\n\tconflictsWith: [],\n\n\tremovalWarning:\n\t\t\"⚠️ HEAVY RESOURCE USAGE: The desktop environment requires at least 4 GB RAM (8 GB recommended) and 2+ CPU cores. It runs a full Linux desktop with XFCE inside KasmVNC. OBS Studio is pre-installed but NOT auto-started — launch it manually or via agent tools when needed. Ensure your deployment target can handle these resources alongside other services.\",\n\tminMemoryMB: 4096,\n\tgpuRequired: false,\n\n\tnativeSupported: true,\n\tnativeRecipes: [\n\t\t{\n\t\t\tplatform: \"linux\",\n\t\t\tinstallSteps: [\n\t\t\t\t\"command -v Xvfb >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq xvfb xfce4 xfce4-terminal tigervnc-standalone-server scrot xdotool xclip)\",\n\t\t\t\t\"command -v obs >/dev/null 2>&1 || (sudo add-apt-repository -y ppa:obsproject/obs-studio && sudo apt-get update -qq && sudo apt-get install -y -qq obs-studio)\",\n\t\t\t],\n\t\t\tstartCommand:\n\t\t\t\t\"vncserver :1 -geometry 1920x1080 -depth 24 -localhost no 2>/dev/null || Xvfb :1 -screen 0 1920x1080x24 &\",\n\t\t\tstopCommand: \"vncserver -kill :1 2>/dev/null; killall Xvfb 2>/dev/null\",\n\t\t\tconfigPath: \"/etc/vnc/xstartup\",\n\t\t\tconfigTemplate:\n\t\t\t\t\"#!/bin/sh\\n# Generated for OpenClaw bare-metal desktop\\nexport DISPLAY=:1\\nstartxfce4 &\\n\",\n\t\t},\n\t],\n};\n"],"mappings":";AAEA,MAAa,+BAAkD;CAC9D,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO;EACN;GACC,MAAM;GACN,WAAW;GACX,aAAa;GACb,SAAS;GACT;EACD;GACC,MAAM;GACN,WAAW;GACX,aAAa;GACb,SAAS;GACT;EACD;GACC,MAAM;GACN,WAAW;GACX,aAAa;GACb,SAAS;GACT;EACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,EACD;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa;EACZ;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aACC;GACD,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EACP,WAAW;EACV,QAAQ;GAAE,MAAM;GAAO,QAAQ;GAAM;EACrC,cAAc;GAAE,MAAM;GAAO,QAAQ;GAAM;EAC3C,EACD;CAED,QAAQ,CAAC;EAAE,SAAS;EAAe,aAAa;EAAM,CAAC;CACvD,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,CAAC,iBAAiB;CAC9B,eAAe,EAAE;CAEjB,gBACC;CACD,aAAa;CACb,aAAa;CAEb,iBAAiB;CACjB,eAAe,CACd;EACC,UAAU;EACV,cAAc,CACb,8MACA,gKACA;EACD,cACC;EACD,aAAa;EACb,YAAY;EACZ,gBACC;EACD,CACD;CACD"}
@@ -42,7 +42,19 @@ const grafanaDefinition = {
42
42
  restartPolicy: "unless-stopped",
43
43
  networks: ["openclaw-network"],
44
44
  skills: [],
45
- openclawEnvVars: [],
45
+ openclawEnvVars: [{
46
+ key: "GRAFANA_HOST",
47
+ defaultValue: "grafana",
48
+ secret: false,
49
+ description: "Grafana hostname",
50
+ required: false
51
+ }, {
52
+ key: "GRAFANA_PORT",
53
+ defaultValue: "3000",
54
+ secret: false,
55
+ description: "Grafana internal port",
56
+ required: false
57
+ }],
46
58
  docsUrl: "https://grafana.com/docs/grafana/latest/",
47
59
  tags: [
48
60
  "dashboards",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana.mjs","names":[],"sources":["../../../src/services/definitions/grafana.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const grafanaDefinition: ServiceDefinition = {\n\tid: \"grafana\",\n\tname: \"Grafana\",\n\tdescription:\n\t\t\"Open-source analytics and interactive visualization platform for metrics, logs, and traces with rich dashboards and alerting.\",\n\tcategory: \"monitoring\",\n\ticon: \"📊\",\n\n\timage: \"grafana/grafana\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3150,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Grafana web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"grafana-data\",\n\t\t\tcontainerPath: \"/var/lib/grafana\",\n\t\t\tdescription: \"Persistent Grafana dashboards, plugins, and data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana admin username\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Grafana admin password\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/api/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [],\n\n\tdocsUrl: \"https://grafana.com/docs/grafana/latest/\",\n\ttags: [\"dashboards\", \"visualization\", \"metrics\", \"monitoring\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"prometheus\"],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,EAAE;CAEnB,SAAS;CACT,MAAM;EAAC;EAAc;EAAiB;EAAW;EAAa;CAC9D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
1
+ {"version":3,"file":"grafana.mjs","names":[],"sources":["../../../src/services/definitions/grafana.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const grafanaDefinition: ServiceDefinition = {\n\tid: \"grafana\",\n\tname: \"Grafana\",\n\tdescription:\n\t\t\"Open-source analytics and interactive visualization platform for metrics, logs, and traces with rich dashboards and alerting.\",\n\tcategory: \"monitoring\",\n\ticon: \"📊\",\n\n\timage: \"grafana/grafana\",\n\timageTag: \"latest\",\n\tports: [\n\t\t{\n\t\t\thost: 3150,\n\t\t\tcontainer: 3000,\n\t\t\tdescription: \"Grafana web interface\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"grafana-data\",\n\t\t\tcontainerPath: \"/var/lib/grafana\",\n\t\t\tdescription: \"Persistent Grafana dashboards, plugins, and data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_USER\",\n\t\t\tdefaultValue: \"admin\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana admin username\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"GF_SECURITY_ADMIN_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Grafana admin password\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:3000/api/health || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"15s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"GRAFANA_HOST\",\n\t\t\tdefaultValue: \"grafana\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana hostname\",\n\t\t\trequired: false,\n\t\t},\n\t\t{\n\t\t\tkey: \"GRAFANA_PORT\",\n\t\t\tdefaultValue: \"3000\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Grafana internal port\",\n\t\t\trequired: false,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://grafana.com/docs/grafana/latest/\",\n\ttags: [\"dashboards\", \"visualization\", \"metrics\", \"monitoring\"],\n\tmaturity: \"stable\",\n\n\trequires: [\"prometheus\"],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 256,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,oBAAuC;CACnD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB,CAChB;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,EACD;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CAED,SAAS;CACT,MAAM;EAAC;EAAc;EAAiB;EAAW;EAAa;CAC9D,UAAU;CAEV,UAAU,CAAC,aAAa;CACxB,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}
@@ -4,13 +4,16 @@ import { appflowyDefinition } from "./appflowy.mjs";
4
4
  import { beszelDefinition } from "./beszel.mjs";
5
5
  import { browserlessDefinition } from "./browserless.mjs";
6
6
  import { caddyDefinition } from "./caddy.mjs";
7
+ import { calComDefinition } from "./cal-com.mjs";
7
8
  import { chromadbDefinition } from "./chromadb.mjs";
8
9
  import { claudeCodeDefinition } from "./claude-code.mjs";
9
10
  import { codeServerDefinition } from "./code-server.mjs";
10
11
  import { codexDefinition } from "./codex.mjs";
12
+ import { comfyuiDefinition } from "./comfyui.mjs";
11
13
  import { convexDashboardDefinition } from "./convex-dashboard.mjs";
12
14
  import { convexDefinition } from "./convex.mjs";
13
15
  import { coolifyDefinition } from "./coolify.mjs";
16
+ import { desktopEnvironmentDefinition } from "./desktop-environment.mjs";
14
17
  import { difyDefinition } from "./dify.mjs";
15
18
  import { docsgptDefinition } from "./docsgpt.mjs";
16
19
  import { dokployDefinition } from "./dokploy.mjs";
@@ -38,6 +41,7 @@ import { minioDefinition } from "./minio.mjs";
38
41
  import { mixpostDefinition } from "./mixpost.mjs";
39
42
  import { motionCanvasDefinition } from "./motion-canvas.mjs";
40
43
  import { n8nDefinition } from "./n8n.mjs";
44
+ import { neo4jDefinition } from "./neo4j.mjs";
41
45
  import { nocodbDefinition } from "./nocodb.mjs";
42
46
  import { ntfyDefinition } from "./ntfy.mjs";
43
47
  import { ollamaDefinition } from "./ollama.mjs";
@@ -58,6 +62,7 @@ import { rocketchatDefinition } from "./rocketchat.mjs";
58
62
  import { searxngDefinition } from "./searxng.mjs";
59
63
  import { stableDiffusionDefinition } from "./stable-diffusion.mjs";
60
64
  import { steelBrowserDefinition } from "./steel-browser.mjs";
65
+ import { streamGatewayDefinition } from "./stream-gateway.mjs";
61
66
  import { tailscaleDefinition } from "./tailscale.mjs";
62
67
  import { temporalDefinition } from "./temporal.mjs";
63
68
  import { traefikDefinition } from "./traefik.mjs";
@@ -68,9 +73,10 @@ import { valkeyDefinition } from "./valkey.mjs";
68
73
  import { watchtowerDefinition } from "./watchtower.mjs";
69
74
  import { weaviateDefinition } from "./weaviate.mjs";
70
75
  import { whisperDefinition } from "./whisper.mjs";
76
+ import { xyopsDefinition } from "./xyops.mjs";
71
77
 
72
78
  //#region src/services/definitions/index.d.ts
73
79
  declare const allServiceDefinitions: ServiceDefinition[];
74
80
  //#endregion
75
- export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition };
81
+ export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, calComDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, comfyuiDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, desktopEnvironmentDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, neo4jDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, streamGatewayDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition, xyopsDefinition };
76
82
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/definitions/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ia,qBAAA,EAAuB,iBAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/definitions/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyJa,qBAAA,EAAuB,iBAAA"}
@@ -3,13 +3,16 @@ import { appflowyDefinition } from "./appflowy.mjs";
3
3
  import { beszelDefinition } from "./beszel.mjs";
4
4
  import { browserlessDefinition } from "./browserless.mjs";
5
5
  import { caddyDefinition } from "./caddy.mjs";
6
+ import { calComDefinition } from "./cal-com.mjs";
6
7
  import { chromadbDefinition } from "./chromadb.mjs";
7
8
  import { claudeCodeDefinition } from "./claude-code.mjs";
8
9
  import { codeServerDefinition } from "./code-server.mjs";
10
+ import { comfyuiDefinition } from "./comfyui.mjs";
9
11
  import { convexDefinition } from "./convex.mjs";
10
12
  import { convexDashboardDefinition } from "./convex-dashboard.mjs";
11
13
  import { codexDefinition } from "./codex.mjs";
12
14
  import { coolifyDefinition } from "./coolify.mjs";
15
+ import { desktopEnvironmentDefinition } from "./desktop-environment.mjs";
13
16
  import { difyDefinition } from "./dify.mjs";
14
17
  import { docsgptDefinition } from "./docsgpt.mjs";
15
18
  import { dokployDefinition } from "./dokploy.mjs";
@@ -37,6 +40,7 @@ import { minioDefinition } from "./minio.mjs";
37
40
  import { mixpostDefinition } from "./mixpost.mjs";
38
41
  import { motionCanvasDefinition } from "./motion-canvas.mjs";
39
42
  import { n8nDefinition } from "./n8n.mjs";
43
+ import { neo4jDefinition } from "./neo4j.mjs";
40
44
  import { nocodbDefinition } from "./nocodb.mjs";
41
45
  import { ntfyDefinition } from "./ntfy.mjs";
42
46
  import { ollamaDefinition } from "./ollama.mjs";
@@ -57,6 +61,7 @@ import { rocketchatDefinition } from "./rocketchat.mjs";
57
61
  import { searxngDefinition } from "./searxng.mjs";
58
62
  import { stableDiffusionDefinition } from "./stable-diffusion.mjs";
59
63
  import { steelBrowserDefinition } from "./steel-browser.mjs";
64
+ import { streamGatewayDefinition } from "./stream-gateway.mjs";
60
65
  import { tailscaleDefinition } from "./tailscale.mjs";
61
66
  import { temporalDefinition } from "./temporal.mjs";
62
67
  import { traefikDefinition } from "./traefik.mjs";
@@ -67,6 +72,7 @@ import { valkeyDefinition } from "./valkey.mjs";
67
72
  import { watchtowerDefinition } from "./watchtower.mjs";
68
73
  import { weaviateDefinition } from "./weaviate.mjs";
69
74
  import { whisperDefinition } from "./whisper.mjs";
75
+ import { xyopsDefinition } from "./xyops.mjs";
70
76
 
71
77
  //#region src/services/definitions/index.ts
72
78
  const allServiceDefinitions = [
@@ -103,6 +109,7 @@ const allServiceDefinitions = [
103
109
  rocketchatDefinition,
104
110
  mattermostDefinition,
105
111
  stableDiffusionDefinition,
112
+ comfyuiDefinition,
106
113
  playwrightServerDefinition,
107
114
  openWebuiDefinition,
108
115
  librechatDefinition,
@@ -138,9 +145,14 @@ const allServiceDefinitions = [
138
145
  livekitDefinition,
139
146
  lasuiteMeetBackendDefinition,
140
147
  lasuiteMeetFrontendDefinition,
141
- lasuiteMeetAgentsDefinition
148
+ lasuiteMeetAgentsDefinition,
149
+ desktopEnvironmentDefinition,
150
+ streamGatewayDefinition,
151
+ neo4jDefinition,
152
+ calComDefinition,
153
+ xyopsDefinition
142
154
  ];
143
155
 
144
156
  //#endregion
145
- export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition };
157
+ export { allServiceDefinitions, anythingLlmDefinition, appflowyDefinition, beszelDefinition, browserlessDefinition, caddyDefinition, calComDefinition, chromadbDefinition, claudeCodeDefinition, codeServerDefinition, codexDefinition, comfyuiDefinition, convexDashboardDefinition, convexDefinition, coolifyDefinition, desktopEnvironmentDefinition, difyDefinition, docsgptDefinition, dokployDefinition, dozzleDefinition, ffmpegDefinition, flowiseDefinition, geminiCliDefinition, giteaDefinition, gotifyDefinition, grafanaDefinition, kimiDefinition, lasuiteMeetAgentsDefinition, lasuiteMeetBackendDefinition, lasuiteMeetFrontendDefinition, librechatDefinition, lightpandaDefinition, litellmDefinition, livekitDefinition, matomoDefinition, matrixSynapseDefinition, mattermostDefinition, meilisearchDefinition, minioDefinition, missionControlDefinition, mixpostDefinition, motionCanvasDefinition, n8nDefinition, neo4jDefinition, nocodbDefinition, ntfyDefinition, ollamaDefinition, openWebuiDefinition, opencodeDefinition, openpanelDefinition, outlineDefinition, paperlessNgxDefinition, playwrightServerDefinition, portainerDefinition, postgresqlDefinition, postizDefinition, prometheusDefinition, qdrantDefinition, redisDefinition, remotionDefinition, rocketchatDefinition, searxngDefinition, stableDiffusionDefinition, steelBrowserDefinition, streamGatewayDefinition, tailscaleDefinition, temporalDefinition, traefikDefinition, umamiDefinition, uptimeKumaDefinition, usesendDefinition, valkeyDefinition, watchtowerDefinition, weaviateDefinition, whisperDefinition, xyopsDefinition };
146
158
  //# sourceMappingURL=index.mjs.map
@@ -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 { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { 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 { tailscaleDefinition } from \"./tailscale.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\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 { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { 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 { tailscaleDefinition } from \"./tailscale.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\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\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];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/definitions/index.ts"],"sourcesContent":["export { anythingLlmDefinition } from \"./anything-llm.js\";\nexport { appflowyDefinition } from \"./appflowy.js\";\nexport { beszelDefinition } from \"./beszel.js\";\nexport { browserlessDefinition } from \"./browserless.js\";\nexport { caddyDefinition } from \"./caddy.js\";\nexport { calComDefinition } from \"./cal-com.js\";\nexport { chromadbDefinition } from \"./chromadb.js\";\nexport { claudeCodeDefinition } from \"./claude-code.js\";\nexport { codeServerDefinition } from \"./code-server.js\";\nexport { comfyuiDefinition } from \"./comfyui.js\";\nexport { convexDefinition } from \"./convex.js\";\nexport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nexport { codexDefinition } from \"./codex.js\";\nexport { coolifyDefinition } from \"./coolify.js\";\nexport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nexport { difyDefinition } from \"./dify.js\";\nexport { docsgptDefinition } from \"./docsgpt.js\";\nexport { dokployDefinition } from \"./dokploy.js\";\nexport { dozzleDefinition } from \"./dozzle.js\";\nexport { ffmpegDefinition } from \"./ffmpeg.js\";\nexport { flowiseDefinition } from \"./flowise.js\";\nexport { geminiCliDefinition } from \"./gemini-cli.js\";\nexport { giteaDefinition } from \"./gitea.js\";\nexport { gotifyDefinition } from \"./gotify.js\";\nexport { grafanaDefinition } from \"./grafana.js\";\nexport { kimiDefinition } from \"./kimi.js\";\nexport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nexport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nexport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nexport { librechatDefinition } from \"./librechat.js\";\nexport { lightpandaDefinition } from \"./lightpanda.js\";\nexport { litellmDefinition } from \"./litellm.js\";\nexport { livekitDefinition } from \"./livekit.js\";\nexport { matomoDefinition } from \"./matomo.js\";\nexport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nexport { mattermostDefinition } from \"./mattermost.js\";\nexport { meilisearchDefinition } from \"./meilisearch.js\";\nexport { missionControlDefinition } from \"./mission-control.js\";\nexport { minioDefinition } from \"./minio.js\";\nexport { mixpostDefinition } from \"./mixpost.js\";\nexport { motionCanvasDefinition } from \"./motion-canvas.js\";\nexport { n8nDefinition } from \"./n8n.js\";\nexport { neo4jDefinition } from \"./neo4j.js\";\nexport { nocodbDefinition } from \"./nocodb.js\";\nexport { ntfyDefinition } from \"./ntfy.js\";\nexport { ollamaDefinition } from \"./ollama.js\";\nexport { openWebuiDefinition } from \"./open-webui.js\";\nexport { opencodeDefinition } from \"./opencode.js\";\nexport { openpanelDefinition } from \"./openpanel.js\";\nexport { outlineDefinition } from \"./outline.js\";\nexport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nexport { playwrightServerDefinition } from \"./playwright-server.js\";\nexport { portainerDefinition } from \"./portainer.js\";\nexport { postgresqlDefinition } from \"./postgresql.js\";\nexport { postizDefinition } from \"./postiz.js\";\nexport { prometheusDefinition } from \"./prometheus.js\";\nexport { qdrantDefinition } from \"./qdrant.js\";\nexport { redisDefinition } from \"./redis.js\";\nexport { remotionDefinition } from \"./remotion.js\";\nexport { rocketchatDefinition } from \"./rocketchat.js\";\nexport { searxngDefinition } from \"./searxng.js\";\nexport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nexport { steelBrowserDefinition } from \"./steel-browser.js\";\nexport { streamGatewayDefinition } from \"./stream-gateway.js\";\nexport { tailscaleDefinition } from \"./tailscale.js\";\nexport { temporalDefinition } from \"./temporal.js\";\nexport { traefikDefinition } from \"./traefik.js\";\nexport { umamiDefinition } from \"./umami.js\";\nexport { usesendDefinition } from \"./usesend.js\";\nexport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nexport { valkeyDefinition } from \"./valkey.js\";\nexport { watchtowerDefinition } from \"./watchtower.js\";\nexport { weaviateDefinition } from \"./weaviate.js\";\nexport { whisperDefinition } from \"./whisper.js\";\nexport { xyopsDefinition } from \"./xyops.js\";\n\nimport type { ServiceDefinition } from \"../../types.js\";\nimport { anythingLlmDefinition } from \"./anything-llm.js\";\nimport { appflowyDefinition } from \"./appflowy.js\";\nimport { beszelDefinition } from \"./beszel.js\";\nimport { browserlessDefinition } from \"./browserless.js\";\nimport { caddyDefinition } from \"./caddy.js\";\nimport { calComDefinition } from \"./cal-com.js\";\nimport { chromadbDefinition } from \"./chromadb.js\";\nimport { claudeCodeDefinition } from \"./claude-code.js\";\nimport { codeServerDefinition } from \"./code-server.js\";\nimport { comfyuiDefinition } from \"./comfyui.js\";\nimport { convexDefinition } from \"./convex.js\";\nimport { convexDashboardDefinition } from \"./convex-dashboard.js\";\nimport { codexDefinition } from \"./codex.js\";\nimport { coolifyDefinition } from \"./coolify.js\";\nimport { desktopEnvironmentDefinition } from \"./desktop-environment.js\";\nimport { difyDefinition } from \"./dify.js\";\nimport { docsgptDefinition } from \"./docsgpt.js\";\nimport { dokployDefinition } from \"./dokploy.js\";\nimport { dozzleDefinition } from \"./dozzle.js\";\nimport { ffmpegDefinition } from \"./ffmpeg.js\";\nimport { flowiseDefinition } from \"./flowise.js\";\nimport { geminiCliDefinition } from \"./gemini-cli.js\";\nimport { giteaDefinition } from \"./gitea.js\";\nimport { gotifyDefinition } from \"./gotify.js\";\nimport { grafanaDefinition } from \"./grafana.js\";\nimport { kimiDefinition } from \"./kimi.js\";\nimport { lasuiteMeetAgentsDefinition } from \"./lasuite-meet-agents.js\";\nimport { lasuiteMeetBackendDefinition } from \"./lasuite-meet-backend.js\";\nimport { lasuiteMeetFrontendDefinition } from \"./lasuite-meet-frontend.js\";\nimport { librechatDefinition } from \"./librechat.js\";\nimport { lightpandaDefinition } from \"./lightpanda.js\";\nimport { litellmDefinition } from \"./litellm.js\";\nimport { livekitDefinition } from \"./livekit.js\";\nimport { matomoDefinition } from \"./matomo.js\";\nimport { matrixSynapseDefinition } from \"./matrix-synapse.js\";\nimport { mattermostDefinition } from \"./mattermost.js\";\nimport { meilisearchDefinition } from \"./meilisearch.js\";\nimport { missionControlDefinition } from \"./mission-control.js\";\nimport { minioDefinition } from \"./minio.js\";\nimport { mixpostDefinition } from \"./mixpost.js\";\nimport { motionCanvasDefinition } from \"./motion-canvas.js\";\nimport { n8nDefinition } from \"./n8n.js\";\nimport { neo4jDefinition } from \"./neo4j.js\";\nimport { nocodbDefinition } from \"./nocodb.js\";\nimport { ntfyDefinition } from \"./ntfy.js\";\nimport { ollamaDefinition } from \"./ollama.js\";\nimport { openWebuiDefinition } from \"./open-webui.js\";\nimport { opencodeDefinition } from \"./opencode.js\";\nimport { openpanelDefinition } from \"./openpanel.js\";\nimport { outlineDefinition } from \"./outline.js\";\nimport { paperlessNgxDefinition } from \"./paperless-ngx.js\";\nimport { playwrightServerDefinition } from \"./playwright-server.js\";\nimport { portainerDefinition } from \"./portainer.js\";\nimport { postgresqlDefinition } from \"./postgresql.js\";\nimport { postizDefinition } from \"./postiz.js\";\nimport { prometheusDefinition } from \"./prometheus.js\";\nimport { qdrantDefinition } from \"./qdrant.js\";\nimport { redisDefinition } from \"./redis.js\";\nimport { remotionDefinition } from \"./remotion.js\";\nimport { rocketchatDefinition } from \"./rocketchat.js\";\nimport { searxngDefinition } from \"./searxng.js\";\nimport { stableDiffusionDefinition } from \"./stable-diffusion.js\";\nimport { steelBrowserDefinition } from \"./steel-browser.js\";\nimport { streamGatewayDefinition } from \"./stream-gateway.js\";\nimport { tailscaleDefinition } from \"./tailscale.js\";\nimport { temporalDefinition } from \"./temporal.js\";\nimport { traefikDefinition } from \"./traefik.js\";\nimport { umamiDefinition } from \"./umami.js\";\nimport { usesendDefinition } from \"./usesend.js\";\nimport { uptimeKumaDefinition } from \"./uptime-kuma.js\";\nimport { valkeyDefinition } from \"./valkey.js\";\nimport { watchtowerDefinition } from \"./watchtower.js\";\nimport { weaviateDefinition } from \"./weaviate.js\";\nimport { whisperDefinition } from \"./whisper.js\";\nimport { xyopsDefinition } from \"./xyops.js\";\n\nexport const allServiceDefinitions: ServiceDefinition[] = [\n\tredisDefinition,\n\tqdrantDefinition,\n\tn8nDefinition,\n\tffmpegDefinition,\n\tminioDefinition,\n\tpostgresqlDefinition,\n\tcaddyDefinition,\n\ttraefikDefinition,\n\tuptimeKumaDefinition,\n\tgrafanaDefinition,\n\tprometheusDefinition,\n\tbrowserlessDefinition,\n\tsearxngDefinition,\n\tmeilisearchDefinition,\n\tollamaDefinition,\n\twhisperDefinition,\n\tchromadbDefinition,\n\tweaviateDefinition,\n\tvalkeyDefinition,\n\tgotifyDefinition,\n\tntfyDefinition,\n\tremotionDefinition,\n\tmotionCanvasDefinition,\n\ttemporalDefinition,\n\toutlineDefinition,\n\tdocsgptDefinition,\n\tpaperlessNgxDefinition,\n\tnocodbDefinition,\n\tappflowyDefinition,\n\tmatrixSynapseDefinition,\n\trocketchatDefinition,\n\tmattermostDefinition,\n\tstableDiffusionDefinition,\n\tcomfyuiDefinition,\n\tplaywrightServerDefinition,\n\topenWebuiDefinition,\n\tlibrechatDefinition,\n\tanythingLlmDefinition,\n\tdifyDefinition,\n\tflowiseDefinition,\n\tlitellmDefinition,\n\tgiteaDefinition,\n\tcodeServerDefinition,\n\tportainerDefinition,\n\twatchtowerDefinition,\n\tdozzleDefinition,\n\tbeszelDefinition,\n\tconvexDefinition,\n\tconvexDashboardDefinition,\n\tclaudeCodeDefinition,\n\topencodeDefinition,\n\tcodexDefinition,\n\tgeminiCliDefinition,\n\tkimiDefinition,\n\tpostizDefinition,\n\tmixpostDefinition,\n\tmatomoDefinition,\n\tumamiDefinition,\n\tusesendDefinition,\n\tmissionControlDefinition,\n\topenpanelDefinition,\n\tlightpandaDefinition,\n\tsteelBrowserDefinition,\n\tcoolifyDefinition,\n\tdokployDefinition,\n\ttailscaleDefinition,\n\tlivekitDefinition,\n\tlasuiteMeetBackendDefinition,\n\tlasuiteMeetFrontendDefinition,\n\tlasuiteMeetAgentsDefinition,\n\tdesktopEnvironmentDefinition,\n\tstreamGatewayDefinition,\n\tneo4jDefinition,\n\tcalComDefinition,\n\txyopsDefinition,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA,MAAa,wBAA6C;CACzD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
@@ -0,0 +1,7 @@
1
+ import { ServiceDefinition } from "../../types.mjs";
2
+
3
+ //#region src/services/definitions/neo4j.d.ts
4
+ declare const neo4jDefinition: ServiceDefinition;
5
+ //#endregion
6
+ export { neo4jDefinition };
7
+ //# sourceMappingURL=neo4j.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j.d.mts","names":[],"sources":["../../../src/services/definitions/neo4j.ts"],"mappings":";;;cAEa,eAAA,EAAiB,iBAAA"}
@@ -0,0 +1,91 @@
1
+ //#region src/services/definitions/neo4j.ts
2
+ const neo4jDefinition = {
3
+ id: "neo4j",
4
+ name: "Neo4j",
5
+ description: "Graph database platform for connected data, enabling knowledge graphs, fraud detection, and relationship-driven queries with the Cypher query language.",
6
+ category: "database",
7
+ icon: "🔵",
8
+ image: "neo4j",
9
+ imageTag: "5-community",
10
+ ports: [{
11
+ host: 7474,
12
+ container: 7474,
13
+ description: "Neo4j Browser (HTTP)",
14
+ exposed: true
15
+ }, {
16
+ host: 7687,
17
+ container: 7687,
18
+ description: "Bolt protocol",
19
+ exposed: true
20
+ }],
21
+ volumes: [{
22
+ name: "neo4j-data",
23
+ containerPath: "/data",
24
+ description: "Persistent Neo4j data"
25
+ }],
26
+ environment: [{
27
+ key: "NEO4J_AUTH",
28
+ defaultValue: "neo4j/${NEO4J_PASSWORD}",
29
+ secret: true,
30
+ description: "Neo4j authentication credentials (user/password)",
31
+ required: true
32
+ }],
33
+ healthcheck: {
34
+ test: "wget -q --spider http://localhost:7474 || exit 1",
35
+ interval: "30s",
36
+ timeout: "10s",
37
+ retries: 3,
38
+ startPeriod: "30s"
39
+ },
40
+ dependsOn: [],
41
+ restartPolicy: "unless-stopped",
42
+ networks: ["openclaw-network"],
43
+ skills: [],
44
+ openclawEnvVars: [
45
+ {
46
+ key: "NEO4J_HOST",
47
+ defaultValue: "neo4j",
48
+ secret: false,
49
+ description: "Neo4j hostname for OpenClaw",
50
+ required: true
51
+ },
52
+ {
53
+ key: "NEO4J_BOLT_PORT",
54
+ defaultValue: "7687",
55
+ secret: false,
56
+ description: "Neo4j Bolt protocol port for OpenClaw",
57
+ required: true
58
+ },
59
+ {
60
+ key: "NEO4J_HTTP_PORT",
61
+ defaultValue: "7474",
62
+ secret: false,
63
+ description: "Neo4j HTTP port for OpenClaw",
64
+ required: true
65
+ },
66
+ {
67
+ key: "NEO4J_PASSWORD",
68
+ defaultValue: "",
69
+ secret: true,
70
+ description: "Neo4j password for OpenClaw",
71
+ required: true
72
+ }
73
+ ],
74
+ docsUrl: "https://neo4j.com/docs/",
75
+ tags: [
76
+ "graph",
77
+ "database",
78
+ "knowledge-graph",
79
+ "cypher"
80
+ ],
81
+ maturity: "stable",
82
+ requires: [],
83
+ recommends: [],
84
+ conflictsWith: [],
85
+ minMemoryMB: 512,
86
+ gpuRequired: false
87
+ };
88
+
89
+ //#endregion
90
+ export { neo4jDefinition };
91
+ //# sourceMappingURL=neo4j.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j.mjs","names":[],"sources":["../../../src/services/definitions/neo4j.ts"],"sourcesContent":["import type { ServiceDefinition } from \"../../types.js\";\n\nexport const neo4jDefinition: ServiceDefinition = {\n\tid: \"neo4j\",\n\tname: \"Neo4j\",\n\tdescription:\n\t\t\"Graph database platform for connected data, enabling knowledge graphs, fraud detection, and relationship-driven queries with the Cypher query language.\",\n\tcategory: \"database\",\n\ticon: \"🔵\",\n\n\timage: \"neo4j\",\n\timageTag: \"5-community\",\n\tports: [\n\t\t{\n\t\t\thost: 7474,\n\t\t\tcontainer: 7474,\n\t\t\tdescription: \"Neo4j Browser (HTTP)\",\n\t\t\texposed: true,\n\t\t},\n\t\t{\n\t\t\thost: 7687,\n\t\t\tcontainer: 7687,\n\t\t\tdescription: \"Bolt protocol\",\n\t\t\texposed: true,\n\t\t},\n\t],\n\tvolumes: [\n\t\t{\n\t\t\tname: \"neo4j-data\",\n\t\t\tcontainerPath: \"/data\",\n\t\t\tdescription: \"Persistent Neo4j data\",\n\t\t},\n\t],\n\tenvironment: [\n\t\t{\n\t\t\tkey: \"NEO4J_AUTH\",\n\t\t\tdefaultValue: \"neo4j/${NEO4J_PASSWORD}\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Neo4j authentication credentials (user/password)\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\thealthcheck: {\n\t\ttest: \"wget -q --spider http://localhost:7474 || exit 1\",\n\t\tinterval: \"30s\",\n\t\ttimeout: \"10s\",\n\t\tretries: 3,\n\t\tstartPeriod: \"30s\",\n\t},\n\tdependsOn: [],\n\trestartPolicy: \"unless-stopped\",\n\tnetworks: [\"openclaw-network\"],\n\n\tskills: [],\n\topenclawEnvVars: [\n\t\t{\n\t\t\tkey: \"NEO4J_HOST\",\n\t\t\tdefaultValue: \"neo4j\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Neo4j hostname for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEO4J_BOLT_PORT\",\n\t\t\tdefaultValue: \"7687\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Neo4j Bolt protocol port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEO4J_HTTP_PORT\",\n\t\t\tdefaultValue: \"7474\",\n\t\t\tsecret: false,\n\t\t\tdescription: \"Neo4j HTTP port for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t\t{\n\t\t\tkey: \"NEO4J_PASSWORD\",\n\t\t\tdefaultValue: \"\",\n\t\t\tsecret: true,\n\t\t\tdescription: \"Neo4j password for OpenClaw\",\n\t\t\trequired: true,\n\t\t},\n\t],\n\n\tdocsUrl: \"https://neo4j.com/docs/\",\n\ttags: [\"graph\", \"database\", \"knowledge-graph\", \"cypher\"],\n\tmaturity: \"stable\",\n\n\trequires: [],\n\trecommends: [],\n\tconflictsWith: [],\n\n\tminMemoryMB: 512,\n\tgpuRequired: false,\n};\n"],"mappings":";AAEA,MAAa,kBAAqC;CACjD,IAAI;CACJ,MAAM;CACN,aACC;CACD,UAAU;CACV,MAAM;CAEN,OAAO;CACP,UAAU;CACV,OAAO,CACN;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,EACD;EACC,MAAM;EACN,WAAW;EACX,aAAa;EACb,SAAS;EACT,CACD;CACD,SAAS,CACR;EACC,MAAM;EACN,eAAe;EACf,aAAa;EACb,CACD;CACD,aAAa,CACZ;EACC,KAAK;EACL,cAAc;EACd,QAAQ;EACR,aAAa;EACb,UAAU;EACV,CACD;CACD,aAAa;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,aAAa;EACb;CACD,WAAW,EAAE;CACb,eAAe;CACf,UAAU,CAAC,mBAAmB;CAE9B,QAAQ,EAAE;CACV,iBAAiB;EAChB;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;GACC,KAAK;GACL,cAAc;GACd,QAAQ;GACR,aAAa;GACb,UAAU;GACV;EACD;CAED,SAAS;CACT,MAAM;EAAC;EAAS;EAAY;EAAmB;EAAS;CACxD,UAAU;CAEV,UAAU,EAAE;CACZ,YAAY,EAAE;CACd,eAAe,EAAE;CAEjB,aAAa;CACb,aAAa;CACb"}