@arkhera30/cli 0.3.11 → 0.3.12

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 (2) hide show
  1. package/dist/index.js +54 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -243,6 +243,8 @@ function generateEnv(config) {
243
243
  `VAULT_ROUTER_PORT=${config.ports.vault_router}`,
244
244
  `FORGE_PORT=${config.ports.forge}`,
245
245
  `TYPESENSE_PORT=${config.ports.typesense}`,
246
+ `NEO4J_HTTP_PORT=${config.ports.neo4j_http}`,
247
+ `NEO4J_BOLT_PORT=${config.ports.neo4j_bolt}`,
246
248
  "",
247
249
  "# Search",
248
250
  `TYPESENSE_API_KEY=${config.search.api_key}`,
@@ -691,6 +693,38 @@ var FORGE_SERVICE = ` # \u2500\u2500 Forge \u2500\u2500\u2500\u2500\u2500\u2500
691
693
  timeout: 5s
692
694
  start_period: 60s
693
695
  retries: 3`;
696
+ var NEO4J_SERVICE = ` # \u2500\u2500 Neo4j \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
697
+ # Graph database for relationship-aware knowledge queries.
698
+ neo4j:
699
+ image: neo4j:5-community
700
+ ports:
701
+ - "\${NEO4J_HTTP_PORT:-7474}:7474"
702
+ - "\${NEO4J_BOLT_PORT:-7687}:7687"
703
+ volumes:
704
+ - neo4j-data:/data
705
+ - neo4j-logs:/logs
706
+ environment:
707
+ - NEO4J_AUTH=neo4j/horus-neo4j
708
+ - NEO4J_server_memory_heap_initial__size=256m
709
+ - NEO4J_server_memory_heap_max__size=512m
710
+ - NEO4J_server_memory_pagecache_size=256m
711
+ - NEO4J_PLUGINS=[]
712
+ networks:
713
+ - horus-net
714
+ restart: unless-stopped
715
+ stop_grace_period: 30s
716
+ deploy:
717
+ resources:
718
+ limits:
719
+ memory: 1g
720
+ reservations:
721
+ memory: 512m
722
+ healthcheck:
723
+ test: ["CMD", "wget", "--spider", "-q", "http://localhost:7474"]
724
+ interval: 30s
725
+ timeout: 10s
726
+ start_period: 60s
727
+ retries: 3`;
694
728
  var TYPESENSE_SERVICE = ` # \u2500\u2500 Typesense \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
695
729
  # Full-text and vector search engine for unified Horus Search.
696
730
  typesense:
@@ -811,6 +845,14 @@ services:
811
845
  horus-ui:
812
846
  ports:
813
847
  - "\${TEST_PORT_UI:-9260}:8400"
848
+
849
+ neo4j:
850
+ ports:
851
+ - "\${TEST_PORT_NEO4J_HTTP:-9474}:7474"
852
+ - "\${TEST_PORT_NEO4J_BOLT:-9687}:7687"
853
+ volumes:
854
+ - "\${TEST_DATA_PATH:-/tmp/horus-test}/neo4j-data:/data"
855
+ - "\${TEST_DATA_PATH:-/tmp/horus-test}/neo4j-logs:/logs"
814
856
  `;
815
857
  }
816
858
  function generateComposeFile(config, runtime) {
@@ -844,9 +886,14 @@ function generateComposeFile(config, runtime) {
844
886
  - TYPESENSE_HOST=typesense
845
887
  - TYPESENSE_PORT=8108
846
888
  - TYPESENSE_API_KEY=\${TYPESENSE_API_KEY:-horus-local-key}
889
+ - NEO4J_URI=bolt://neo4j:7687
890
+ - NEO4J_USER=neo4j
891
+ - NEO4J_PASSWORD=horus-neo4j
847
892
  depends_on:
848
893
  typesense:
849
894
  condition: service_healthy
895
+ neo4j:
896
+ condition: service_healthy
850
897
  networks:
851
898
  - horus-net
852
899
  restart: unless-stopped
@@ -924,7 +971,11 @@ ${vaultRouterDependsOn}
924
971
  timeout: 5s
925
972
  start_period: 30s
926
973
  retries: 3`;
927
- const vaultVolumeEntries = vaultEntries.map(([name]) => ` vault-${name}-workspace:`).join("\n");
974
+ const vaultVolumeEntries = [
975
+ ...vaultEntries.map(([name]) => ` vault-${name}-workspace:`),
976
+ " neo4j-data:",
977
+ " neo4j-logs:"
978
+ ].join("\n");
928
979
  const sections = [
929
980
  "# \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
930
981
  "# Horus \u2014 Generated Docker Compose",
@@ -943,6 +994,8 @@ ${vaultRouterDependsOn}
943
994
  "",
944
995
  FORGE_SERVICE,
945
996
  "",
997
+ NEO4J_SERVICE,
998
+ "",
946
999
  TYPESENSE_SERVICE,
947
1000
  "",
948
1001
  ...config.enable_ui !== false ? [HORUS_UI_SERVICE, ""] : [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkhera30/cli",
3
- "version": "0.3.11",
3
+ "version": "0.3.12",
4
4
  "description": "CLI for managing the Horus AI development stack",
5
5
  "type": "module",
6
6
  "bin": {