@sesamespace/hivemind 0.8.12 → 0.10.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 (59) hide show
  1. package/README.md +2 -1
  2. package/config/default.toml +18 -0
  3. package/dist/{chunk-NCJW2AOK.js → chunk-BHCDOHSK.js} +3 -3
  4. package/dist/chunk-DGUM43GV.js +11 -0
  5. package/dist/chunk-DGUM43GV.js.map +1 -0
  6. package/dist/{chunk-OVRYYS5I.js → chunk-DPLCEMEC.js} +2 -2
  7. package/dist/{chunk-XQZU3ULO.js → chunk-FBQBBAPZ.js} +2 -2
  8. package/dist/{chunk-XBJGLZ7V.js → chunk-FK6WYXRM.js} +79 -2
  9. package/dist/chunk-FK6WYXRM.js.map +1 -0
  10. package/dist/{chunk-LJHJGDKY.js → chunk-ICSJNKI6.js} +62 -2
  11. package/dist/chunk-ICSJNKI6.js.map +1 -0
  12. package/dist/{chunk-HDYEAKN5.js → chunk-IXBIAX76.js} +4 -34
  13. package/dist/chunk-IXBIAX76.js.map +1 -0
  14. package/dist/{chunk-OG6GPQDK.js → chunk-M3A2WRXM.js} +1765 -189
  15. package/dist/chunk-M3A2WRXM.js.map +1 -0
  16. package/dist/commands/fleet.js +4 -3
  17. package/dist/commands/init.js +4 -3
  18. package/dist/commands/service.js +1 -0
  19. package/dist/commands/start.js +4 -3
  20. package/dist/commands/upgrade.js +2 -1
  21. package/dist/commands/watchdog.js +4 -3
  22. package/dist/dashboard.html +873 -131
  23. package/dist/index.js +14 -5
  24. package/dist/main.js +376 -7
  25. package/dist/main.js.map +1 -1
  26. package/dist/start.js +2 -1
  27. package/dist/start.js.map +1 -1
  28. package/install.sh +162 -0
  29. package/package.json +24 -23
  30. package/packages/memory/Cargo.lock +6480 -0
  31. package/packages/memory/Cargo.toml +21 -0
  32. package/packages/memory/src/src/context.rs +179 -0
  33. package/packages/memory/src/src/embeddings.rs +51 -0
  34. package/packages/memory/src/src/main.rs +887 -0
  35. package/packages/memory/src/src/promotion.rs +808 -0
  36. package/packages/memory/src/src/scoring.rs +142 -0
  37. package/packages/memory/src/src/store.rs +460 -0
  38. package/packages/memory/src/src/tasks.rs +321 -0
  39. package/.pnpmrc.json +0 -1
  40. package/DASHBOARD-PLAN.md +0 -206
  41. package/MEMORY-ENHANCEMENT-PLAN.md +0 -211
  42. package/TOOL-USE-DESIGN.md +0 -173
  43. package/dist/chunk-HDYEAKN5.js.map +0 -1
  44. package/dist/chunk-LJHJGDKY.js.map +0 -1
  45. package/dist/chunk-OG6GPQDK.js.map +0 -1
  46. package/dist/chunk-XBJGLZ7V.js.map +0 -1
  47. package/docs/TOOL-PARITY-PLAN.md +0 -191
  48. package/src/memory/dashboard-integration.ts +0 -295
  49. package/src/memory/index.ts +0 -187
  50. package/src/memory/performance-test.ts +0 -208
  51. package/src/memory/processors/agent-sync.ts +0 -312
  52. package/src/memory/processors/command-learner.ts +0 -298
  53. package/src/memory/processors/memory-api-client.ts +0 -105
  54. package/src/memory/processors/message-flow-integration.ts +0 -168
  55. package/src/memory/processors/research-digester.ts +0 -204
  56. package/test-caitlin-access.md +0 -11
  57. /package/dist/{chunk-NCJW2AOK.js.map → chunk-BHCDOHSK.js.map} +0 -0
  58. /package/dist/{chunk-OVRYYS5I.js.map → chunk-DPLCEMEC.js.map} +0 -0
  59. /package/dist/{chunk-XQZU3ULO.js.map → chunk-FBQBBAPZ.js.map} +0 -0
package/install.sh ADDED
@@ -0,0 +1,162 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Hivemind — One-shot install for macOS
5
+ # Usage: curl -sL api.sesame.space/api/v1/hivemind/install | bash -s -- <sesame-api-key>
6
+
7
+ # --- Handle curl-pipe-bash stdin issue ---
8
+ # When piped from curl, stdin is the script itself. We need stdin for interactive prompts.
9
+ # Self-extract: download to temp, re-exec from disk with /dev/tty as stdin.
10
+ if [ -z "${HIVEMIND_INSTALL_REEXEC:-}" ]; then
11
+ TMPSCRIPT="$(mktemp /tmp/hivemind-install.XXXXXX)"
12
+ # If we're being piped, cat has already consumed stdin — use $0 or re-download
13
+ cat > "$TMPSCRIPT" < /dev/stdin 2>/dev/null || cp "$0" "$TMPSCRIPT" 2>/dev/null || true
14
+ # If the temp file is empty or too small, we're running from disk already
15
+ if [ -s "$TMPSCRIPT" ] && [ "$(wc -c < "$TMPSCRIPT")" -gt 100 ]; then
16
+ chmod +x "$TMPSCRIPT"
17
+ HIVEMIND_INSTALL_REEXEC=1 exec bash "$TMPSCRIPT" "$@" < /dev/tty
18
+ fi
19
+ rm -f "$TMPSCRIPT"
20
+ fi
21
+
22
+ BOLD='\033[1m'
23
+ GREEN='\033[0;32m'
24
+ YELLOW='\033[0;33m'
25
+ RED='\033[0;31m'
26
+ NC='\033[0m'
27
+
28
+ info() { echo -e "${GREEN}[✓]${NC} $1"; }
29
+ warn() { echo -e "${YELLOW}[!]${NC} $1"; }
30
+ err() { echo -e "${RED}[✗]${NC} $1"; }
31
+ step() { echo -e "\n${BOLD}→ $1${NC}"; }
32
+
33
+ HIVEMIND_HOME="${HIVEMIND_HOME:-$HOME/hivemind}"
34
+
35
+ echo -e "${BOLD}"
36
+ echo " ╦ ╦╦╦ ╦╔═╗╔╦╗╦╔╗╔╔╦╗"
37
+ echo " ╠═╣║╚╗╔╝║╣ ║║║║║║║ ║║"
38
+ echo " ╩ ╩╩ ╚╝ ╚═╝╩ ╩╩╝╚╝═╩╝"
39
+ echo -e "${NC}"
40
+ echo " Agent Runtime Installer"
41
+ echo ""
42
+
43
+ # --- 1. System dependencies ---
44
+ step "Checking system dependencies"
45
+
46
+ # Homebrew
47
+ if ! command -v brew &>/dev/null; then
48
+ warn "Homebrew not found — installing..."
49
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
50
+ eval "$(/opt/homebrew/bin/brew shellenv)"
51
+ else
52
+ info "Homebrew found"
53
+ fi
54
+
55
+ # Node.js
56
+ if ! command -v node &>/dev/null; then
57
+ warn "Node.js not found — installing via brew..."
58
+ brew install node
59
+ else
60
+ NODE_VER=$(node -v | sed 's/v//' | cut -d. -f1)
61
+ if [ "$NODE_VER" -lt 20 ]; then
62
+ warn "Node.js v${NODE_VER} too old (need ≥20) — upgrading..."
63
+ brew upgrade node
64
+ else
65
+ info "Node.js $(node -v)"
66
+ fi
67
+ fi
68
+
69
+ # Rust (for memory daemon)
70
+ if ! command -v cargo &>/dev/null; then
71
+ warn "Rust not found — installing..."
72
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path
73
+ source "$HOME/.cargo/env"
74
+ else
75
+ info "Rust $(cargo --version | cut -d' ' -f2)"
76
+ fi
77
+
78
+ # --- 2. Install hivemind via npm ---
79
+ step "Installing @sesamespace/hivemind"
80
+ npm install -g @sesamespace/hivemind
81
+ info "Hivemind CLI installed: $(which hivemind)"
82
+
83
+ # --- 2b. Install Playwright (for browse tool) ---
84
+ step "Installing Playwright"
85
+ if npx playwright --version &>/dev/null 2>&1; then
86
+ info "Playwright already available"
87
+ else
88
+ npm install -g playwright
89
+ info "Playwright installed"
90
+ fi
91
+ # Install Chromium browser (required for headless browsing)
92
+ npx playwright install chromium 2>/dev/null && info "Playwright Chromium installed" || warn "Playwright Chromium install failed — browse tool may not work"
93
+
94
+ # --- 2c. Build memory daemon ---
95
+ step "Building memory daemon"
96
+ if [ -f "${HIVEMIND_HOME}/bin/hivemind-memory" ]; then
97
+ info "Memory daemon already built"
98
+ else
99
+ # Check if we have the source
100
+ NPM_GLOBAL="$(npm root -g)"
101
+ MEMORY_SRC="${NPM_GLOBAL}/@sesamespace/hivemind/packages/memory"
102
+
103
+ if [ -d "$MEMORY_SRC" ] && [ -f "$MEMORY_SRC/Cargo.toml" ]; then
104
+ info "Building from source..."
105
+ cd "$MEMORY_SRC"
106
+ cargo build --release
107
+ mkdir -p "${HIVEMIND_HOME}/bin"
108
+ cp target/release/hivemind-memory "${HIVEMIND_HOME}/bin/"
109
+ info "Memory daemon built successfully"
110
+ else
111
+ warn "Memory daemon source not found — skipping build"
112
+ warn "Run 'hivemind build-memory' after installation to compile"
113
+ fi
114
+ fi
115
+
116
+ # --- 3. Set up HIVEMIND_HOME ---
117
+ step "Setting up ${HIVEMIND_HOME}"
118
+ mkdir -p "${HIVEMIND_HOME}/config"
119
+
120
+ # Copy default config
121
+ NPM_GLOBAL="$(npm root -g)"
122
+ DEFAULT_CONFIG="${NPM_GLOBAL}/@sesamespace/hivemind/config/default.toml"
123
+ if [ -f "$DEFAULT_CONFIG" ]; then
124
+ cp "$DEFAULT_CONFIG" "${HIVEMIND_HOME}/config/default.toml"
125
+ info "Copied default config"
126
+ else
127
+ warn "Default config not found at ${DEFAULT_CONFIG} — skipping"
128
+ fi
129
+
130
+ # --- 4. Initialize agent ---
131
+ step "Initializing agent"
132
+
133
+ SESAME_KEY="${1:-${SESAME_API_KEY:-}}"
134
+ if [ -z "$SESAME_KEY" ]; then
135
+ read -rp " Sesame API key: " SESAME_KEY
136
+ fi
137
+
138
+ if [ -z "$SESAME_KEY" ]; then
139
+ err "Sesame API key is required"
140
+ exit 1
141
+ fi
142
+
143
+ export HIVEMIND_HOME
144
+ hivemind init "$SESAME_KEY" --non-interactive
145
+
146
+ # --- 5. Install launchd service ---
147
+ step "Installing launchd service"
148
+ hivemind service install
149
+
150
+ # --- Done ---
151
+ echo ""
152
+ echo -e "${GREEN}${BOLD} ✓ Hivemind installed successfully!${NC}"
153
+ echo ""
154
+ echo " Home: ${HIVEMIND_HOME}"
155
+ echo " Config: ${HIVEMIND_HOME}/config/"
156
+ echo " Logs: /tmp/hivemind-agent.log, /tmp/hivemind-watchdog.log"
157
+ echo ""
158
+ echo " Commands:"
159
+ echo " hivemind service status — Check service"
160
+ echo " hivemind service logs — View logs"
161
+ echo " hivemind upgrade — Update to latest"
162
+ echo ""
package/package.json CHANGED
@@ -1,33 +1,34 @@
1
1
  {
2
2
  "name": "@sesamespace/hivemind",
3
- "version": "0.8.12",
3
+ "version": "0.10.0",
4
4
  "description": "Cognitive architecture for AI agents with multi-layered memory",
5
- "scripts": {
6
- "build": "tsup",
7
- "typecheck": "pnpm -r typecheck",
8
- "lint": "pnpm -r lint",
9
- "test": "pnpm -r test",
10
- "prepublishOnly": "pnpm install --frozen-lockfile && tsup"
5
+ "type": "module",
6
+ "bin": {
7
+ "hivemind": "dist/main.js"
11
8
  },
9
+ "files": [
10
+ "dist/",
11
+ "config/",
12
+ "packages/memory/",
13
+ "install.sh",
14
+ "README.md"
15
+ ],
12
16
  "engines": {
13
- "node": ">=20.0.0",
14
- "pnpm": ">=9.0.0"
17
+ "node": ">=20.0.0"
15
18
  },
16
19
  "dependencies": {
17
- "@sesamespace/sdk": "^0.1.6",
18
- "smol-toml": "^1.6.0",
19
- "axios": "^1.7.9",
20
- "express": "^4.21.2"
21
- },
22
- "devDependencies": {
23
- "tsup": "^8.5.1"
24
- },
25
- "bin": {
26
- "hivemind": "./dist/main.js"
20
+ "ws": "^8.18.0"
27
21
  },
28
- "pnpm": {
29
- "onlyBuiltDependencies": [
30
- "better-sqlite3"
31
- ]
22
+ "keywords": [
23
+ "hivemind",
24
+ "ai-agent",
25
+ "memory",
26
+ "sesame",
27
+ "cognitive-architecture"
28
+ ],
29
+ "license": "UNLICENSED",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/baileydavis2026/hivemind"
32
33
  }
33
34
  }