@arkhera30/cli 0.2.2 → 0.2.3

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 +49 -4
  2. package/package.json +2 -1
package/dist/index.js CHANGED
@@ -48,8 +48,10 @@ var DEFAULT_PORTS = {
48
48
  vault_rest: 8e3,
49
49
  // keep for individual vault instances
50
50
  vault_mcp: 8300,
51
- vault_router: 8400,
52
- // new
51
+ vault_router: 8050,
52
+ // internal routing layer
53
+ ui: 8400,
54
+ // horus-ui — user-facing web interface
53
55
  forge: 8200
54
56
  };
55
57
  var DEFAULT_DATA_DIR = join(homedir(), "Horus", "data");
@@ -59,7 +61,8 @@ var SERVICES = [
59
61
  "vault-router",
60
62
  // replaces 'vault'
61
63
  "vault-mcp",
62
- "forge"
64
+ "forge",
65
+ "horus-ui"
63
66
  ];
64
67
  var CONFIG_VERSION = "1.0";
65
68
 
@@ -657,6 +660,46 @@ var FORGE_SERVICE = ` # \u2500\u2500 Forge \u2500\u2500\u2500\u2500\u2500\u2500
657
660
  timeout: 5s
658
661
  start_period: 60s
659
662
  retries: 3`;
663
+ var HORUS_UI_SERVICE = ` # \u2500\u2500 Horus UI \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
664
+ # Web interface \u2014 React SPA served by Express proxy on port 8400.
665
+ # Proxies /api/anvil, /api/vault, /api/forge to the respective services.
666
+ # Stores dashboard configs and preferences in _system/ui/ (not indexed by Anvil).
667
+ horus-ui:
668
+ image: ghcr.io/arjunkhera/horus/horus-ui:latest
669
+ ports:
670
+ - "\${UI_PORT:-8400}:8400"
671
+ volumes:
672
+ - \${HORUS_DATA_PATH}/notes:/data/notes:rw
673
+ environment:
674
+ - PORT=8400
675
+ - HORUS_DATA_PATH=/data/notes
676
+ - ANVIL_URL=http://anvil:8100
677
+ - VAULT_URL=http://vault-mcp:8300
678
+ - FORGE_URL=http://forge:8200
679
+ - NODE_ENV=production
680
+ depends_on:
681
+ anvil:
682
+ condition: service_healthy
683
+ vault-mcp:
684
+ condition: service_healthy
685
+ forge:
686
+ condition: service_healthy
687
+ networks:
688
+ - horus-net
689
+ restart: unless-stopped
690
+ stop_grace_period: 10s
691
+ deploy:
692
+ resources:
693
+ limits:
694
+ memory: 256m
695
+ reservations:
696
+ memory: 64m
697
+ healthcheck:
698
+ test: ["CMD", "curl", "-f", "http://localhost:8400/api/health"]
699
+ interval: 30s
700
+ timeout: 5s
701
+ start_period: 30s
702
+ retries: 3`;
660
703
  function generateComposeFile(config, runtime) {
661
704
  const vaultEntries = Object.entries(config.vaults).sort(([a], [b]) => a.localeCompare(b));
662
705
  const vaultServices = vaultEntries.map(([name, vault], index) => {
@@ -717,7 +760,7 @@ function generateComposeFile(config, runtime) {
717
760
  vault-router:
718
761
  image: ghcr.io/arjunkhera/horus/vault-router:latest
719
762
  ports:
720
- - "\${VAULT_ROUTER_PORT:-8400}:8400"
763
+ - "\${VAULT_ROUTER_PORT:-8050}:8400"
721
764
  environment:
722
765
  - VAULT_ENDPOINTS=${vaultEndpoints}
723
766
  - VAULT_DEFAULT=${defaultVaultName}
@@ -789,6 +832,8 @@ ${vaultRouterDependsOn}
789
832
  "",
790
833
  FORGE_SERVICE,
791
834
  "",
835
+ HORUS_UI_SERVICE,
836
+ "",
792
837
  "# \u2500\u2500 Networks \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",
793
838
  "networks:",
794
839
  " horus-net:",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkhera30/cli",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "CLI for managing the Horus AI development stack",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,6 +24,7 @@
24
24
  "@types/node": "^20.0.0",
25
25
  "tsup": "^8.0.0",
26
26
  "typescript": "^5.4.0",
27
+ "vite": "^6.0.0",
27
28
  "vitest": "^4.0.18"
28
29
  },
29
30
  "engines": {