@sesamespace/hivemind 0.1.0

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 (110) hide show
  1. package/README.md +86 -0
  2. package/config/TEAM-CHARTER.md +87 -0
  3. package/config/default.toml +39 -0
  4. package/dist/__tests__/fleet-integration.test.d.ts +9 -0
  5. package/dist/__tests__/fleet-integration.test.d.ts.map +1 -0
  6. package/dist/__tests__/fleet-integration.test.js +201 -0
  7. package/dist/__tests__/fleet-integration.test.js.map +1 -0
  8. package/dist/__tests__/fleet.test.d.ts +7 -0
  9. package/dist/__tests__/fleet.test.d.ts.map +1 -0
  10. package/dist/__tests__/fleet.test.js +171 -0
  11. package/dist/__tests__/fleet.test.js.map +1 -0
  12. package/dist/__tests__/integration.test.d.ts +2 -0
  13. package/dist/__tests__/integration.test.d.ts.map +1 -0
  14. package/dist/__tests__/integration.test.js +348 -0
  15. package/dist/__tests__/integration.test.js.map +1 -0
  16. package/dist/agent.d.ts +27 -0
  17. package/dist/agent.d.ts.map +1 -0
  18. package/dist/agent.js +217 -0
  19. package/dist/agent.js.map +1 -0
  20. package/dist/commands/fleet.d.ts +13 -0
  21. package/dist/commands/fleet.d.ts.map +1 -0
  22. package/dist/commands/fleet.js +193 -0
  23. package/dist/commands/fleet.js.map +1 -0
  24. package/dist/commands/init.d.ts +2 -0
  25. package/dist/commands/init.d.ts.map +1 -0
  26. package/dist/commands/init.js +170 -0
  27. package/dist/commands/init.js.map +1 -0
  28. package/dist/commands/start.d.ts +2 -0
  29. package/dist/commands/start.d.ts.map +1 -0
  30. package/dist/commands/start.js +39 -0
  31. package/dist/commands/start.js.map +1 -0
  32. package/dist/config.d.ts +44 -0
  33. package/dist/config.d.ts.map +1 -0
  34. package/dist/config.js +73 -0
  35. package/dist/config.js.map +1 -0
  36. package/dist/context.d.ts +50 -0
  37. package/dist/context.d.ts.map +1 -0
  38. package/dist/context.js +153 -0
  39. package/dist/context.js.map +1 -0
  40. package/dist/fleet/fleet-manager.d.ts +86 -0
  41. package/dist/fleet/fleet-manager.d.ts.map +1 -0
  42. package/dist/fleet/fleet-manager.js +298 -0
  43. package/dist/fleet/fleet-manager.js.map +1 -0
  44. package/dist/fleet/memory-sync.d.ts +91 -0
  45. package/dist/fleet/memory-sync.d.ts.map +1 -0
  46. package/dist/fleet/memory-sync.js +292 -0
  47. package/dist/fleet/memory-sync.js.map +1 -0
  48. package/dist/fleet/primary-client.d.ts +49 -0
  49. package/dist/fleet/primary-client.d.ts.map +1 -0
  50. package/dist/fleet/primary-client.js +222 -0
  51. package/dist/fleet/primary-client.js.map +1 -0
  52. package/dist/fleet/worker-protocol.d.ts +125 -0
  53. package/dist/fleet/worker-protocol.d.ts.map +1 -0
  54. package/dist/fleet/worker-protocol.js +27 -0
  55. package/dist/fleet/worker-protocol.js.map +1 -0
  56. package/dist/fleet/worker-server.d.ts +53 -0
  57. package/dist/fleet/worker-server.d.ts.map +1 -0
  58. package/dist/fleet/worker-server.js +191 -0
  59. package/dist/fleet/worker-server.js.map +1 -0
  60. package/dist/index.d.ts +26 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +16 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/llm-client.d.ts +24 -0
  65. package/dist/llm-client.d.ts.map +1 -0
  66. package/dist/llm-client.js +40 -0
  67. package/dist/llm-client.js.map +1 -0
  68. package/dist/main.d.ts +3 -0
  69. package/dist/main.d.ts.map +1 -0
  70. package/dist/main.js +41 -0
  71. package/dist/main.js.map +1 -0
  72. package/dist/memory-client.d.ts +88 -0
  73. package/dist/memory-client.d.ts.map +1 -0
  74. package/dist/memory-client.js +185 -0
  75. package/dist/memory-client.js.map +1 -0
  76. package/dist/pipeline.d.ts +2 -0
  77. package/dist/pipeline.d.ts.map +1 -0
  78. package/dist/pipeline.js +125 -0
  79. package/dist/pipeline.js.map +1 -0
  80. package/dist/prompt.d.ts +6 -0
  81. package/dist/prompt.d.ts.map +1 -0
  82. package/dist/prompt.js +75 -0
  83. package/dist/prompt.js.map +1 -0
  84. package/dist/sesame.d.ts +33 -0
  85. package/dist/sesame.d.ts.map +1 -0
  86. package/dist/sesame.js +67 -0
  87. package/dist/sesame.js.map +1 -0
  88. package/dist/start.d.ts +3 -0
  89. package/dist/start.d.ts.map +1 -0
  90. package/dist/start.js +20 -0
  91. package/dist/start.js.map +1 -0
  92. package/dist/task-engine.d.ts +32 -0
  93. package/dist/task-engine.d.ts.map +1 -0
  94. package/dist/task-engine.js +80 -0
  95. package/dist/task-engine.js.map +1 -0
  96. package/dist/worker.d.ts +73 -0
  97. package/dist/worker.d.ts.map +1 -0
  98. package/dist/worker.js +279 -0
  99. package/dist/worker.js.map +1 -0
  100. package/install.sh +186 -0
  101. package/package.json +36 -0
  102. package/packages/memory/Cargo.lock +6480 -0
  103. package/packages/memory/Cargo.toml +21 -0
  104. package/packages/memory/src/src/context.rs +179 -0
  105. package/packages/memory/src/src/embeddings.rs +51 -0
  106. package/packages/memory/src/src/main.rs +626 -0
  107. package/packages/memory/src/src/promotion.rs +637 -0
  108. package/packages/memory/src/src/scoring.rs +131 -0
  109. package/packages/memory/src/src/store.rs +460 -0
  110. package/packages/memory/src/src/tasks.rs +321 -0
package/install.sh ADDED
@@ -0,0 +1,186 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Hivemind — One-shot install for macOS (Apple Silicon)
5
+ # Usage: git clone <repo> && cd hivemind && ./install.sh
6
+
7
+ BOLD='\033[1m'
8
+ GREEN='\033[0;32m'
9
+ YELLOW='\033[0;33m'
10
+ RED='\033[0;31m'
11
+ NC='\033[0m'
12
+
13
+ info() { echo -e "${GREEN}[✓]${NC} $1"; }
14
+ warn() { echo -e "${YELLOW}[!]${NC} $1"; }
15
+ err() { echo -e "${RED}[✗]${NC} $1"; }
16
+ step() { echo -e "\n${BOLD}→ $1${NC}"; }
17
+
18
+ echo -e "${BOLD}"
19
+ echo " ╦ ╦╦╦ ╦╔═╗╔╦╗╦╔╗╔╔╦╗"
20
+ echo " ╠═╣║╚╗╔╝║╣ ║║║║║║║ ║║"
21
+ echo " ╩ ╩╩ ╚╝ ╚═╝╩ ╩╩╝╚╝═╩╝"
22
+ echo -e "${NC}"
23
+ echo " Agent Runtime Installer"
24
+ echo ""
25
+
26
+ # --- 1. System dependencies ---
27
+ step "Checking system dependencies"
28
+
29
+ # Homebrew
30
+ if ! command -v brew &>/dev/null; then
31
+ warn "Homebrew not found — installing..."
32
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
33
+ eval "$(/opt/homebrew/bin/brew shellenv)"
34
+ else
35
+ info "Homebrew found"
36
+ fi
37
+
38
+ # Node.js
39
+ if ! command -v node &>/dev/null; then
40
+ warn "Node.js not found — installing via brew..."
41
+ brew install node
42
+ else
43
+ NODE_VER=$(node -v | sed 's/v//' | cut -d. -f1)
44
+ if [ "$NODE_VER" -lt 20 ]; then
45
+ warn "Node.js v${NODE_VER} too old (need ≥20) — upgrading..."
46
+ brew upgrade node
47
+ else
48
+ info "Node.js $(node -v)"
49
+ fi
50
+ fi
51
+
52
+ # pnpm
53
+ if ! command -v pnpm &>/dev/null; then
54
+ warn "pnpm not found — installing..."
55
+ npm install -g pnpm
56
+ else
57
+ info "pnpm $(pnpm -v)"
58
+ fi
59
+
60
+ # Rust
61
+ if ! command -v cargo &>/dev/null; then
62
+ warn "Rust not found — installing via rustup..."
63
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
64
+ source "$HOME/.cargo/env"
65
+ else
66
+ info "Rust $(rustc --version | awk '{print $2}')"
67
+ fi
68
+
69
+ # Ollama
70
+ if ! command -v ollama &>/dev/null; then
71
+ warn "Ollama not found — installing via brew..."
72
+ brew install ollama
73
+ else
74
+ info "Ollama found"
75
+ fi
76
+
77
+ # --- 2. Pull embedding model ---
78
+ step "Setting up Ollama embedding model"
79
+
80
+ # Start Ollama if not running
81
+ if ! curl -s http://localhost:11434/api/tags &>/dev/null; then
82
+ warn "Ollama not running — starting..."
83
+ ollama serve &>/dev/null &
84
+ sleep 3
85
+ fi
86
+
87
+ if ollama list 2>/dev/null | grep -q "nomic-embed-text"; then
88
+ info "nomic-embed-text model ready"
89
+ else
90
+ warn "Pulling nomic-embed-text (274MB)..."
91
+ ollama pull nomic-embed-text
92
+ info "nomic-embed-text ready"
93
+ fi
94
+
95
+ # --- 3. Build TypeScript packages ---
96
+ step "Installing Node dependencies"
97
+ pnpm install
98
+ info "Dependencies installed"
99
+
100
+ step "Building TypeScript"
101
+ pnpm build
102
+ info "TypeScript build complete"
103
+
104
+ # --- 4. Build Rust memory daemon ---
105
+ step "Building memory daemon (Rust — this takes ~60s first time)"
106
+ cd packages/memory
107
+ cargo build --release 2>&1 | tail -3
108
+ cd ../..
109
+ info "Memory daemon built"
110
+
111
+ # --- 5. Configuration via Sesame ---
112
+ step "Configuring agent via Sesame"
113
+
114
+ if [ -f ".env" ]; then
115
+ info "Existing .env found — keeping it"
116
+ else
117
+ SESAME_KEY="${1:-${SESAME_API_KEY:-}}"
118
+ if [ -z "$SESAME_KEY" ]; then
119
+ read -rp " Sesame API key: " SESAME_KEY
120
+ fi
121
+ node packages/cli/dist/main.js init "$SESAME_KEY"
122
+ fi
123
+
124
+ # --- 6. Create launch script ---
125
+ step "Creating launch script"
126
+
127
+ cat > start.sh <<'LAUNCH'
128
+ #!/usr/bin/env bash
129
+ set -euo pipefail
130
+
131
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
132
+ cd "$SCRIPT_DIR"
133
+
134
+ # Load env
135
+ if [ -f .env ]; then
136
+ set -a; source .env; set +a
137
+ fi
138
+
139
+ # Start memory daemon if not running
140
+ if ! curl -s http://localhost:3434/health &>/dev/null; then
141
+ echo "[hivemind] Starting memory daemon..."
142
+ nohup ./packages/memory/target/release/hivemind-memory > /tmp/hivemind-memory.log 2>&1 &
143
+ sleep 2
144
+ if curl -s http://localhost:3434/health &>/dev/null; then
145
+ echo "[hivemind] Memory daemon ready"
146
+ else
147
+ echo "[hivemind] WARNING: Memory daemon failed to start"
148
+ fi
149
+ else
150
+ echo "[hivemind] Memory daemon already running"
151
+ fi
152
+
153
+ # Start Ollama if not running
154
+ if ! curl -s http://localhost:11434/api/tags &>/dev/null; then
155
+ echo "[hivemind] Starting Ollama..."
156
+ ollama serve &>/dev/null &
157
+ sleep 3
158
+ fi
159
+
160
+ # Start agent (auto-restart on crash)
161
+ echo "[hivemind] Starting agent..."
162
+ while true; do
163
+ node packages/cli/dist/main.js start --config config/default.toml
164
+ EXIT_CODE=$?
165
+ echo "[hivemind] Agent exited with code $EXIT_CODE — restarting in 5s..."
166
+ sleep 5
167
+ done
168
+ LAUNCH
169
+
170
+ chmod +x start.sh
171
+ info "Created start.sh (with auto-restart)"
172
+
173
+ # --- Done ---
174
+ echo ""
175
+ echo -e "${GREEN}${BOLD} ✓ Hivemind installed successfully!${NC}"
176
+ echo ""
177
+ echo " To start the agent:"
178
+ echo " ./start.sh"
179
+ echo ""
180
+ echo " To start in background:"
181
+ echo " nohup ./start.sh > /tmp/hivemind.log 2>&1 &"
182
+ echo ""
183
+ echo " Logs:"
184
+ echo " Agent: stdout (or /tmp/hivemind.log)"
185
+ echo " Memory: /tmp/hivemind-memory.log"
186
+ echo ""
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@sesamespace/hivemind",
3
+ "version": "0.1.0",
4
+ "description": "Cognitive architecture for AI agents with multi-layered memory",
5
+ "type": "module",
6
+ "bin": {
7
+ "hivemind": "dist/main.js"
8
+ },
9
+ "files": [
10
+ "dist/",
11
+ "config/",
12
+ "packages/memory/",
13
+ "install.sh",
14
+ "README.md"
15
+ ],
16
+ "engines": {
17
+ "node": ">=20.0.0"
18
+ },
19
+ "dependencies": {
20
+ "@iarna/toml": "^2.2.5",
21
+ "@sesamespace/sdk": "^0.1.6",
22
+ "ws": "^8.18.0"
23
+ },
24
+ "keywords": [
25
+ "hivemind",
26
+ "ai-agent",
27
+ "memory",
28
+ "sesame",
29
+ "cognitive-architecture"
30
+ ],
31
+ "license": "UNLICENSED",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/baileydavis2026/hivemind"
35
+ }
36
+ }