@sesamespace/hivemind 0.5.4 → 0.5.5
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.
- package/.github/workflows/memory-release.yml +89 -0
- package/config/default.toml +12 -0
- package/data/lancedb/contexts.lance/_transactions/0-c4755ab9-b604-4d90-851f-0491f3cbcbce.txn +2 -0
- package/data/lancedb/contexts.lance/_versions/1.manifest +0 -0
- package/data/lancedb/episode_access.lance/_transactions/0-407a6366-0dca-490a-868b-ea63bee3b40c.txn +2 -0
- package/data/lancedb/episode_access.lance/_versions/1.manifest +0 -0
- package/data/lancedb/episode_cooccurrence.lance/_transactions/0-0e103c7f-29d7-4f09-8100-505c076f01ae.txn +1 -0
- package/data/lancedb/episode_cooccurrence.lance/_versions/1.manifest +0 -0
- package/data/lancedb/episodes.lance/_transactions/0-e678cbac-792b-4a9d-a457-17b0d4d23607.txn +1 -0
- package/data/lancedb/episodes.lance/_versions/1.manifest +0 -0
- package/data/lancedb/l3_knowledge.lance/_transactions/0-cdb3561f-3a59-4e15-bded-e93c5f9a50e3.txn +1 -0
- package/data/lancedb/l3_knowledge.lance/_versions/1.manifest +0 -0
- package/data/lancedb/tasks.lance/_transactions/0-d1cf10ec-1eb8-48b4-bbbe-34b3a1083664.txn +4 -0
- package/data/lancedb/tasks.lance/_versions/1.manifest +0 -0
- package/dist/{chunk-MHDLSAJ3.js → chunk-2OIRJFI5.js} +14 -30
- package/dist/chunk-2OIRJFI5.js.map +1 -0
- package/dist/chunk-7D4SUZUM.js +38 -0
- package/dist/chunk-7D4SUZUM.js.map +1 -0
- package/dist/chunk-LRK64BAK.js +3601 -0
- package/dist/chunk-LRK64BAK.js.map +1 -0
- package/dist/chunk-MBS5A6BZ.js +132 -0
- package/dist/chunk-MBS5A6BZ.js.map +1 -0
- package/dist/{chunk-LNV373IF.js → chunk-OQ272HKA.js} +3 -28
- package/dist/chunk-OQ272HKA.js.map +1 -0
- package/dist/{chunk-CGSXJVSS.js → chunk-RXCV57H3.js} +2 -2
- package/dist/{chunk-S3RVZBPZ.js → chunk-YEOAEJ62.js} +2 -2
- package/dist/commands/fleet.js +4 -3
- package/dist/commands/init.js +2 -1
- package/dist/commands/service.js +2 -1
- package/dist/commands/start.js +4 -3
- package/dist/commands/upgrade.js +1 -0
- package/dist/index.js +3 -2
- package/dist/main.js +7 -6
- package/dist/main.js.map +1 -1
- package/dist/start.js +2 -1
- package/dist/start.js.map +1 -1
- package/package.json +1 -1
- package/PLANNING.md +0 -383
- package/TASKS.md +0 -60
- package/dist/chunk-LNV373IF.js.map +0 -1
- package/dist/chunk-MHDLSAJ3.js.map +0 -1
- package/dist/chunk-PPQGQHXJ.js +0 -151
- package/dist/chunk-PPQGQHXJ.js.map +0 -1
- package/dist/chunk-YHRGEWAZ.js +0 -2326
- package/dist/chunk-YHRGEWAZ.js.map +0 -1
- package/install.sh +0 -120
- package/npm-package.json +0 -26
- package/packages/cli/package.json +0 -23
- package/packages/cli/src/commands/fleet.ts +0 -206
- package/packages/cli/src/commands/init.ts +0 -252
- package/packages/cli/src/commands/service.ts +0 -159
- package/packages/cli/src/commands/start.ts +0 -78
- package/packages/cli/src/commands/upgrade.ts +0 -158
- package/packages/cli/src/main.ts +0 -64
- package/packages/cli/tsconfig.json +0 -8
- package/packages/memory/Cargo.lock +0 -6480
- package/packages/memory/Cargo.toml +0 -21
- package/packages/memory/src/context.rs +0 -179
- package/packages/memory/src/embeddings.rs +0 -51
- package/packages/memory/src/main.rs +0 -626
- package/packages/memory/src/promotion.rs +0 -637
- package/packages/memory/src/scoring.rs +0 -131
- package/packages/memory/src/store.rs +0 -460
- package/packages/memory/src/tasks.rs +0 -321
- package/packages/runtime/package.json +0 -24
- package/packages/runtime/src/__tests__/fleet-integration.test.ts +0 -235
- package/packages/runtime/src/__tests__/fleet.test.ts +0 -207
- package/packages/runtime/src/__tests__/integration.test.ts +0 -434
- package/packages/runtime/src/agent.ts +0 -255
- package/packages/runtime/src/config.ts +0 -130
- package/packages/runtime/src/context.ts +0 -192
- package/packages/runtime/src/fleet/fleet-manager.ts +0 -399
- package/packages/runtime/src/fleet/memory-sync.ts +0 -362
- package/packages/runtime/src/fleet/primary-client.ts +0 -285
- package/packages/runtime/src/fleet/worker-protocol.ts +0 -158
- package/packages/runtime/src/fleet/worker-server.ts +0 -246
- package/packages/runtime/src/index.ts +0 -57
- package/packages/runtime/src/llm-client.ts +0 -65
- package/packages/runtime/src/memory-client.ts +0 -309
- package/packages/runtime/src/pipeline.ts +0 -187
- package/packages/runtime/src/prompt.ts +0 -173
- package/packages/runtime/src/sesame.ts +0 -226
- package/packages/runtime/src/start.ts +0 -20
- package/packages/runtime/src/task-engine.ts +0 -113
- package/packages/runtime/src/worker.ts +0 -339
- package/packages/runtime/tsconfig.json +0 -8
- package/pnpm-workspace.yaml +0 -2
- package/run-aidan.sh +0 -23
- package/scripts/bootstrap.sh +0 -196
- package/scripts/build-npm.sh +0 -92
- package/scripts/com.hivemind.agent.plist +0 -44
- package/scripts/com.hivemind.memory.plist +0 -31
- package/tsconfig.json +0 -22
- package/tsup.config.ts +0 -27
- /package/dist/{chunk-CGSXJVSS.js.map → chunk-RXCV57H3.js.map} +0 -0
- /package/dist/{chunk-S3RVZBPZ.js.map → chunk-YEOAEJ62.js.map} +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// packages/cli/src/commands/service.ts
|
|
2
|
+
import { resolve } from "path";
|
|
3
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
4
|
+
import { execSync } from "child_process";
|
|
5
|
+
import { homedir } from "os";
|
|
6
|
+
import { fileURLToPath } from "url";
|
|
7
|
+
import { dirname } from "path";
|
|
8
|
+
var LAUNCH_AGENTS_DIR = resolve(homedir(), "Library/LaunchAgents");
|
|
9
|
+
var AGENT_LABEL = "com.hivemind.agent";
|
|
10
|
+
var MEMORY_LABEL = "com.hivemind.memory";
|
|
11
|
+
async function runServiceCommand(args) {
|
|
12
|
+
const subcommand = args[0];
|
|
13
|
+
switch (subcommand) {
|
|
14
|
+
case "install":
|
|
15
|
+
await installServices(args.slice(1));
|
|
16
|
+
break;
|
|
17
|
+
case "uninstall":
|
|
18
|
+
await uninstallServices();
|
|
19
|
+
break;
|
|
20
|
+
case "status":
|
|
21
|
+
showStatus();
|
|
22
|
+
break;
|
|
23
|
+
case "logs":
|
|
24
|
+
showLogs(args[1]);
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
printHelp();
|
|
28
|
+
if (subcommand) {
|
|
29
|
+
console.error(`Unknown subcommand: ${subcommand}`);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async function installServices(_args) {
|
|
36
|
+
const hivemindHome = process.env.HIVEMIND_HOME || process.cwd();
|
|
37
|
+
console.log(`
|
|
38
|
+
\u2192 Installing launchd services for ${hivemindHome}
|
|
39
|
+
`);
|
|
40
|
+
mkdirSync(LAUNCH_AGENTS_DIR, { recursive: true });
|
|
41
|
+
const scriptDirs = [
|
|
42
|
+
resolve(hivemindHome, "scripts"),
|
|
43
|
+
resolve(dirname(dirname(dirname(fileURLToPath(import.meta.url)))), "scripts")
|
|
44
|
+
];
|
|
45
|
+
for (const label of [MEMORY_LABEL, AGENT_LABEL]) {
|
|
46
|
+
const plistFile = `${label}.plist`;
|
|
47
|
+
let templatePath = "";
|
|
48
|
+
for (const dir of scriptDirs) {
|
|
49
|
+
const p = resolve(dir, plistFile);
|
|
50
|
+
if (existsSync(p)) {
|
|
51
|
+
templatePath = p;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (!templatePath) {
|
|
56
|
+
console.error(` \u2717 Template not found: ${plistFile}`);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
let content = readFileSync(templatePath, "utf-8");
|
|
60
|
+
content = content.replace(/__HIVEMIND_HOME__/g, hivemindHome);
|
|
61
|
+
const destPath = resolve(LAUNCH_AGENTS_DIR, plistFile);
|
|
62
|
+
writeFileSync(destPath, content);
|
|
63
|
+
try {
|
|
64
|
+
execSync(`launchctl unload ${destPath} 2>/dev/null`);
|
|
65
|
+
} catch {
|
|
66
|
+
}
|
|
67
|
+
execSync(`launchctl load ${destPath}`);
|
|
68
|
+
console.log(` \u2713 ${label} installed and started`);
|
|
69
|
+
}
|
|
70
|
+
console.log("\n Services will auto-start on boot.\n");
|
|
71
|
+
}
|
|
72
|
+
async function uninstallServices() {
|
|
73
|
+
console.log("\n\u2192 Uninstalling launchd services\n");
|
|
74
|
+
for (const label of [AGENT_LABEL, MEMORY_LABEL]) {
|
|
75
|
+
const plistPath = resolve(LAUNCH_AGENTS_DIR, `${label}.plist`);
|
|
76
|
+
if (existsSync(plistPath)) {
|
|
77
|
+
try {
|
|
78
|
+
execSync(`launchctl unload ${plistPath} 2>/dev/null`);
|
|
79
|
+
} catch {
|
|
80
|
+
}
|
|
81
|
+
const { unlinkSync } = await import("fs");
|
|
82
|
+
unlinkSync(plistPath);
|
|
83
|
+
console.log(` \u2713 ${label} uninstalled`);
|
|
84
|
+
} else {
|
|
85
|
+
console.log(` - ${label} not installed`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
console.log("");
|
|
89
|
+
}
|
|
90
|
+
function showStatus() {
|
|
91
|
+
console.log("\n\u2192 Service status\n");
|
|
92
|
+
for (const label of [MEMORY_LABEL, AGENT_LABEL]) {
|
|
93
|
+
try {
|
|
94
|
+
const out = execSync(`launchctl list ${label} 2>/dev/null`, { encoding: "utf-8" });
|
|
95
|
+
const pidMatch = out.match(/"PID"\s*=\s*(\d+)/);
|
|
96
|
+
const pid = pidMatch ? pidMatch[1] : "unknown";
|
|
97
|
+
console.log(` \u2713 ${label}: running (PID ${pid})`);
|
|
98
|
+
} catch {
|
|
99
|
+
console.log(` - ${label}: not running`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
console.log("");
|
|
103
|
+
}
|
|
104
|
+
function showLogs(which) {
|
|
105
|
+
const logFile = which === "memory" ? "/tmp/hivemind-memory.log" : "/tmp/hivemind-agent.log";
|
|
106
|
+
try {
|
|
107
|
+
execSync(`tail -30 ${logFile}`, { stdio: "inherit" });
|
|
108
|
+
} catch {
|
|
109
|
+
console.error(`No log file at ${logFile}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function printHelp() {
|
|
113
|
+
console.log(`hivemind service \u2014 Manage launchd services
|
|
114
|
+
|
|
115
|
+
Usage: hivemind service <subcommand>
|
|
116
|
+
|
|
117
|
+
Subcommands:
|
|
118
|
+
install Install and start launchd services (survives reboots)
|
|
119
|
+
uninstall Stop and remove launchd services
|
|
120
|
+
status Show service status
|
|
121
|
+
logs [agent|memory] Show recent logs
|
|
122
|
+
|
|
123
|
+
Services:
|
|
124
|
+
com.hivemind.memory \u2014 Memory daemon (Rust, port 3434)
|
|
125
|
+
com.hivemind.agent \u2014 Agent runtime (Node.js, Sesame)
|
|
126
|
+
`);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export {
|
|
130
|
+
runServiceCommand
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=chunk-MBS5A6BZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../packages/cli/src/commands/service.ts"],"sourcesContent":["import { resolve } from \"path\";\nimport { readFileSync, writeFileSync, existsSync, mkdirSync } from \"fs\";\nimport { execSync } from \"child_process\";\nimport { homedir } from \"os\";\n\nconst LAUNCH_AGENTS_DIR = resolve(homedir(), \"Library/LaunchAgents\");\nconst AGENT_LABEL = \"com.hivemind.agent\";\nconst MEMORY_LABEL = \"com.hivemind.memory\";\n\nexport async function runServiceCommand(args: string[]): Promise<void> {\n const subcommand = args[0];\n\n switch (subcommand) {\n case \"install\":\n await installServices(args.slice(1));\n break;\n case \"uninstall\":\n await uninstallServices();\n break;\n case \"status\":\n showStatus();\n break;\n case \"logs\":\n showLogs(args[1]);\n break;\n default:\n printHelp();\n if (subcommand) {\n console.error(`Unknown subcommand: ${subcommand}`);\n process.exit(1);\n }\n break;\n }\n}\n\nasync function installServices(_args: string[]): Promise<void> {\n const hivemindHome = process.env.HIVEMIND_HOME || process.cwd();\n\n console.log(`\\n→ Installing launchd services for ${hivemindHome}\\n`);\n\n mkdirSync(LAUNCH_AGENTS_DIR, { recursive: true });\n\n // Find plist templates\n const scriptDirs = [\n resolve(hivemindHome, \"scripts\"),\n resolve(dirname(dirname(dirname(fileURLToPath(import.meta.url)))), \"scripts\"),\n ];\n\n for (const label of [MEMORY_LABEL, AGENT_LABEL]) {\n const plistFile = `${label}.plist`;\n let templatePath = \"\";\n\n for (const dir of scriptDirs) {\n const p = resolve(dir, plistFile);\n if (existsSync(p)) { templatePath = p; break; }\n }\n\n if (!templatePath) {\n console.error(` ✗ Template not found: ${plistFile}`);\n continue;\n }\n\n let content = readFileSync(templatePath, \"utf-8\");\n content = content.replace(/__HIVEMIND_HOME__/g, hivemindHome);\n\n const destPath = resolve(LAUNCH_AGENTS_DIR, plistFile);\n writeFileSync(destPath, content);\n\n // Unload if already loaded, then load\n try { execSync(`launchctl unload ${destPath} 2>/dev/null`); } catch {}\n execSync(`launchctl load ${destPath}`);\n\n console.log(` ✓ ${label} installed and started`);\n }\n\n console.log(\"\\n Services will auto-start on boot.\\n\");\n}\n\nasync function uninstallServices(): Promise<void> {\n console.log(\"\\n→ Uninstalling launchd services\\n\");\n\n for (const label of [AGENT_LABEL, MEMORY_LABEL]) {\n const plistPath = resolve(LAUNCH_AGENTS_DIR, `${label}.plist`);\n if (existsSync(plistPath)) {\n try { execSync(`launchctl unload ${plistPath} 2>/dev/null`); } catch {}\n const { unlinkSync } = await import(\"fs\");\n unlinkSync(plistPath);\n console.log(` ✓ ${label} uninstalled`);\n } else {\n console.log(` - ${label} not installed`);\n }\n }\n console.log(\"\");\n}\n\nfunction showStatus(): void {\n console.log(\"\\n→ Service status\\n\");\n for (const label of [MEMORY_LABEL, AGENT_LABEL]) {\n try {\n const out = execSync(`launchctl list ${label} 2>/dev/null`, { encoding: \"utf-8\" });\n const pidMatch = out.match(/\"PID\"\\s*=\\s*(\\d+)/);\n const pid = pidMatch ? pidMatch[1] : \"unknown\";\n console.log(` ✓ ${label}: running (PID ${pid})`);\n } catch {\n console.log(` - ${label}: not running`);\n }\n }\n console.log(\"\");\n}\n\nfunction showLogs(which?: string): void {\n const logFile = which === \"memory\"\n ? \"/tmp/hivemind-memory.log\"\n : \"/tmp/hivemind-agent.log\";\n try {\n execSync(`tail -30 ${logFile}`, { stdio: \"inherit\" });\n } catch {\n console.error(`No log file at ${logFile}`);\n }\n}\n\nfunction printHelp(): void {\n console.log(`hivemind service — Manage launchd services\n\nUsage: hivemind service <subcommand>\n\nSubcommands:\n install Install and start launchd services (survives reboots)\n uninstall Stop and remove launchd services\n status Show service status\n logs [agent|memory] Show recent logs\n\nServices:\n com.hivemind.memory — Memory daemon (Rust, port 3434)\n com.hivemind.agent — Agent runtime (Node.js, Sesame)\n`);\n}\n\n// Helpers for ESM\nimport { fileURLToPath } from \"url\";\nimport { dirname } from \"path\";\n"],"mappings":"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","names":[]}
|
|
@@ -1,37 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
startPipeline
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LRK64BAK.js";
|
|
4
4
|
|
|
5
5
|
// packages/cli/src/commands/start.ts
|
|
6
6
|
import { resolve } from "path";
|
|
7
|
-
import { existsSync
|
|
8
|
-
import { homedir } from "os";
|
|
7
|
+
import { existsSync } from "fs";
|
|
9
8
|
var DEFAULT_CONFIG = "config/default.toml";
|
|
10
|
-
function loadEnvFile(dir) {
|
|
11
|
-
const envPath = resolve(dir, ".env");
|
|
12
|
-
if (!existsSync(envPath)) return;
|
|
13
|
-
try {
|
|
14
|
-
const content = readFileSync(envPath, "utf-8");
|
|
15
|
-
for (const line of content.split("\n")) {
|
|
16
|
-
const trimmed = line.trim();
|
|
17
|
-
if (!trimmed || trimmed.startsWith("#")) continue;
|
|
18
|
-
const eqIdx = trimmed.indexOf("=");
|
|
19
|
-
if (eqIdx < 1) continue;
|
|
20
|
-
const key = trimmed.slice(0, eqIdx).trim();
|
|
21
|
-
let value = trimmed.slice(eqIdx + 1).trim();
|
|
22
|
-
if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
|
|
23
|
-
value = value.slice(1, -1);
|
|
24
|
-
}
|
|
25
|
-
if (!(key in process.env)) {
|
|
26
|
-
process.env[key] = value;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
} catch {
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
9
|
async function runStartCommand(args) {
|
|
33
|
-
const hivemindHome = process.env.HIVEMIND_HOME || resolve(homedir(), "hivemind");
|
|
34
|
-
loadEnvFile(hivemindHome);
|
|
35
10
|
let configPath = DEFAULT_CONFIG;
|
|
36
11
|
for (let i = 0; i < args.length; i++) {
|
|
37
12
|
if ((args[i] === "--config" || args[i] === "-c") && args[i + 1]) {
|
|
@@ -66,4 +41,4 @@ Options:
|
|
|
66
41
|
export {
|
|
67
42
|
runStartCommand
|
|
68
43
|
};
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-OQ272HKA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../packages/cli/src/commands/start.ts"],"sourcesContent":["import { resolve } from \"path\";\nimport { existsSync } from \"fs\";\nimport { startPipeline } from \"@hivemind/runtime\";\n\nconst DEFAULT_CONFIG = \"config/default.toml\";\n\nexport async function runStartCommand(args: string[]): Promise<void> {\n let configPath = DEFAULT_CONFIG;\n\n // Parse args\n for (let i = 0; i < args.length; i++) {\n if ((args[i] === \"--config\" || args[i] === \"-c\") && args[i + 1]) {\n configPath = args[++i];\n } else if (args[i] === \"--help\" || args[i] === \"-h\") {\n printHelp();\n return;\n } else {\n console.error(`Unknown argument: ${args[i]}`);\n printHelp();\n process.exit(1);\n }\n }\n\n const resolved = resolve(configPath);\n if (!existsSync(resolved)) {\n console.error(`Config not found: ${resolved}`);\n process.exit(1);\n }\n\n await startPipeline(resolved);\n}\n\nfunction printHelp(): void {\n console.log(`hivemind start — Start the Hivemind agent\n\nUsage: hivemind start [options]\n\nOptions:\n -c, --config <path> Config file (default: config/default.toml)\n -h, --help Show this help\n`);\n}\n"],"mappings":";;;;;AAAA,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAG3B,IAAM,iBAAiB;AAEvB,eAAsB,gBAAgB,MAA+B;AACnE,MAAI,aAAa;AAGjB,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,SAAK,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,MAAM,SAAS,KAAK,IAAI,CAAC,GAAG;AAC/D,mBAAa,KAAK,EAAE,CAAC;AAAA,IACvB,WAAW,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,MAAM,MAAM;AACnD,gBAAU;AACV;AAAA,IACF,OAAO;AACL,cAAQ,MAAM,qBAAqB,KAAK,CAAC,CAAC,EAAE;AAC5C,gBAAU;AACV,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,WAAW,QAAQ,UAAU;AACnC,MAAI,CAAC,WAAW,QAAQ,GAAG;AACzB,YAAQ,MAAM,qBAAqB,QAAQ,EAAE;AAC7C,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,cAAc,QAAQ;AAC9B;AAEA,SAAS,YAAkB;AACzB,UAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAOb;AACD;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FleetManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YEOAEJ62.js";
|
|
4
4
|
|
|
5
5
|
// packages/cli/src/commands/fleet.ts
|
|
6
6
|
function formatUptime(seconds) {
|
|
@@ -183,4 +183,4 @@ Commands:
|
|
|
183
183
|
export {
|
|
184
184
|
runFleetCommand
|
|
185
185
|
};
|
|
186
|
-
//# sourceMappingURL=chunk-
|
|
186
|
+
//# sourceMappingURL=chunk-RXCV57H3.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
HEALTH_TIMEOUT_MS,
|
|
5
5
|
PRIMARY_ROUTES,
|
|
6
6
|
WORKER_ROUTES
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LRK64BAK.js";
|
|
8
8
|
|
|
9
9
|
// packages/runtime/src/fleet/primary-client.ts
|
|
10
10
|
var PrimaryClient = class {
|
|
@@ -728,4 +728,4 @@ export {
|
|
|
728
728
|
WorkerMemorySync,
|
|
729
729
|
PrimaryMemorySync
|
|
730
730
|
};
|
|
731
|
-
//# sourceMappingURL=chunk-
|
|
731
|
+
//# sourceMappingURL=chunk-YEOAEJ62.js.map
|
package/dist/commands/fleet.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runFleetCommand
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-RXCV57H3.js";
|
|
4
|
+
import "../chunk-YEOAEJ62.js";
|
|
5
|
+
import "../chunk-LRK64BAK.js";
|
|
6
6
|
import "../chunk-GPI4RU7N.js";
|
|
7
|
+
import "../chunk-7D4SUZUM.js";
|
|
7
8
|
export {
|
|
8
9
|
runFleetCommand
|
|
9
10
|
};
|
package/dist/commands/init.js
CHANGED
package/dist/commands/service.js
CHANGED
package/dist/commands/start.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runStartCommand
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-OQ272HKA.js";
|
|
4
|
+
import "../chunk-YEOAEJ62.js";
|
|
5
|
+
import "../chunk-LRK64BAK.js";
|
|
6
6
|
import "../chunk-GPI4RU7N.js";
|
|
7
|
+
import "../chunk-7D4SUZUM.js";
|
|
7
8
|
export {
|
|
8
9
|
runStartCommand
|
|
9
10
|
};
|
package/dist/commands/upgrade.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
PrimaryClient,
|
|
4
4
|
PrimaryMemorySync,
|
|
5
5
|
WorkerMemorySync
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YEOAEJ62.js";
|
|
7
7
|
import {
|
|
8
8
|
Agent,
|
|
9
9
|
ContextManager,
|
|
@@ -18,8 +18,9 @@ import {
|
|
|
18
18
|
loadConfig,
|
|
19
19
|
startPipeline,
|
|
20
20
|
startWorker
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-LRK64BAK.js";
|
|
22
22
|
import "./chunk-GPI4RU7N.js";
|
|
23
|
+
import "./chunk-7D4SUZUM.js";
|
|
23
24
|
export {
|
|
24
25
|
Agent,
|
|
25
26
|
ContextManager,
|
package/dist/main.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runInitCommand
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2OIRJFI5.js";
|
|
5
5
|
import {
|
|
6
6
|
runStartCommand
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-OQ272HKA.js";
|
|
8
8
|
import {
|
|
9
9
|
runFleetCommand
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RXCV57H3.js";
|
|
11
11
|
import {
|
|
12
12
|
runServiceCommand
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MBS5A6BZ.js";
|
|
14
14
|
import {
|
|
15
15
|
runUpgradeCommand
|
|
16
16
|
} from "./chunk-SJI2KAIN.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-YEOAEJ62.js";
|
|
18
|
+
import "./chunk-LRK64BAK.js";
|
|
19
19
|
import "./chunk-GPI4RU7N.js";
|
|
20
|
+
import "./chunk-7D4SUZUM.js";
|
|
20
21
|
|
|
21
22
|
// packages/cli/src/main.ts
|
|
22
23
|
var [command, ...args] = process.argv.slice(2);
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../packages/cli/src/main.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { runFleetCommand } from \"./commands/fleet.js\";\nimport { runStartCommand } from \"./commands/start.js\";\nimport { runInitCommand } from \"./commands/init.js\";\nimport { runServiceCommand } from \"./commands/service.js\";\nimport { runUpgradeCommand } from \"./commands/upgrade.js\";\n\nconst [command, ...args] = process.argv.slice(2);\n\nswitch (command) {\n case \"init\":\n runInitCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"start\":\n runStartCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"service\":\n runServiceCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"fleet\":\n runFleetCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"upgrade\":\n runUpgradeCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n default:\n console.log(`hivemind cli v0.3.0\n\nUsage: hivemind <command> [args]\n\nCommands:\n init Initialize agent from Sesame API key\n start Start the Hivemind agent\n upgrade Upgrade the Hivemind runtime\n service Manage launchd services (install/uninstall/status/logs)\n fleet Manage the worker fleet\n`);\n if (command) {\n console.error(`Unknown command: ${command}`);\n process.exit(1);\n }\n break;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../packages/cli/src/main.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { runFleetCommand } from \"./commands/fleet.js\";\nimport { runStartCommand } from \"./commands/start.js\";\nimport { runInitCommand } from \"./commands/init.js\";\nimport { runServiceCommand } from \"./commands/service.js\";\nimport { runUpgradeCommand } from \"./commands/upgrade.js\";\n\nconst [command, ...args] = process.argv.slice(2);\n\nswitch (command) {\n case \"init\":\n runInitCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"start\":\n runStartCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"service\":\n runServiceCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"fleet\":\n runFleetCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"upgrade\":\n runUpgradeCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n default:\n console.log(`hivemind cli v0.3.0\n\nUsage: hivemind <command> [args]\n\nCommands:\n init Initialize agent from Sesame API key\n start Start the Hivemind agent\n upgrade Upgrade the Hivemind runtime\n service Manage launchd services (install/uninstall/status/logs)\n fleet Manage the worker fleet\n`);\n if (command) {\n console.error(`Unknown command: ${command}`);\n process.exit(1);\n }\n break;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,CAAC,SAAS,GAAG,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC;AAE/C,QAAQ,SAAS;AAAA,EACf,KAAK;AACH,mBAAe,IAAI,EAAE,MAAM,CAAC,QAAQ;AAClC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,oBAAgB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACnC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,sBAAkB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACrC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,oBAAgB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACnC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,sBAAkB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACrC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF;AACE,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAUf;AACG,QAAI,SAAS;AACX,cAAQ,MAAM,oBAAoB,OAAO,EAAE;AAC3C,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA;AACJ;","names":[]}
|
package/dist/start.js
CHANGED
|
@@ -3,8 +3,9 @@ import {
|
|
|
3
3
|
loadConfig,
|
|
4
4
|
startPipeline,
|
|
5
5
|
startWorker
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LRK64BAK.js";
|
|
7
7
|
import "./chunk-GPI4RU7N.js";
|
|
8
|
+
import "./chunk-7D4SUZUM.js";
|
|
8
9
|
|
|
9
10
|
// packages/runtime/src/start.ts
|
|
10
11
|
var configPath = process.argv[2] || "config/default.toml";
|
package/dist/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../packages/runtime/src/start.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { loadConfig } from \"./config.js\";\nimport { startPipeline } from \"./pipeline.js\";\nimport { startWorker } from \"./worker.js\";\n\nconst configPath = process.argv[2] || \"config/default.toml\";\nconst config = loadConfig(configPath);\n\n// If worker mode is enabled, start as a fleet worker\nif (config.worker?.enabled) {\n startWorker(config).catch((err) => {\n console.error(\"[hivemind] Worker fatal:\", err);\n process.exit(1);\n });\n} else {\n startPipeline(configPath).catch((err) => {\n console.error(\"[hivemind] Fatal:\", err);\n process.exit(1);\n });\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../packages/runtime/src/start.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { loadConfig } from \"./config.js\";\nimport { startPipeline } from \"./pipeline.js\";\nimport { startWorker } from \"./worker.js\";\n\nconst configPath = process.argv[2] || \"config/default.toml\";\nconst config = loadConfig(configPath);\n\n// If worker mode is enabled, start as a fleet worker\nif (config.worker?.enabled) {\n startWorker(config).catch((err) => {\n console.error(\"[hivemind] Worker fatal:\", err);\n process.exit(1);\n });\n} else {\n startPipeline(configPath).catch((err) => {\n console.error(\"[hivemind] Fatal:\", err);\n process.exit(1);\n });\n}\n"],"mappings":";;;;;;;;;;AAKA,IAAM,aAAa,QAAQ,KAAK,CAAC,KAAK;AACtC,IAAM,SAAS,WAAW,UAAU;AAGpC,IAAI,OAAO,QAAQ,SAAS;AAC1B,cAAY,MAAM,EAAE,MAAM,CAAC,QAAQ;AACjC,YAAQ,MAAM,4BAA4B,GAAG;AAC7C,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH,OAAO;AACL,gBAAc,UAAU,EAAE,MAAM,CAAC,QAAQ;AACvC,YAAQ,MAAM,qBAAqB,GAAG;AACtC,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;","names":[]}
|