@sesamespace/hivemind 0.4.1 → 0.4.2
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/dist/{chunk-VRDYBNAA.js → chunk-2OIRJFI5.js} +5 -2
- package/dist/{chunk-VRDYBNAA.js.map → chunk-2OIRJFI5.js.map} +1 -1
- package/dist/chunk-7D4SUZUM.js +38 -0
- package/dist/chunk-7D4SUZUM.js.map +1 -0
- package/dist/chunk-GPI4RU7N.js +624 -0
- package/dist/chunk-GPI4RU7N.js.map +1 -0
- package/dist/chunk-LRK64BAK.js +3601 -0
- package/dist/chunk-LRK64BAK.js.map +1 -0
- package/dist/{chunk-NLMP7MYR.js → chunk-OQ272HKA.js} +2 -2
- package/dist/{chunk-O4CT7SDB.js → chunk-RXCV57H3.js} +2 -2
- package/dist/chunk-SJI2KAIN.js +131 -0
- package/dist/chunk-SJI2KAIN.js.map +1 -0
- package/dist/{chunk-4LHKQFQT.js → chunk-YEOAEJ62.js} +2 -2
- package/dist/commands/fleet.js +5 -3
- package/dist/commands/init.js +3 -1
- package/dist/commands/service.js +1 -0
- package/dist/commands/start.js +5 -3
- package/dist/commands/upgrade.js +8 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/index.js +4 -2
- package/dist/main.js +10 -132
- package/dist/main.js.map +1 -1
- package/dist/start.js +3 -1
- package/dist/start.js.map +1 -1
- package/package.json +1 -1
- package/tsup.config.ts +2 -3
- package/dist/chunk-WSOOI3AY.js +0 -1598
- package/dist/chunk-WSOOI3AY.js.map +0 -1
- /package/dist/{chunk-NLMP7MYR.js.map → chunk-OQ272HKA.js.map} +0 -0
- /package/dist/{chunk-O4CT7SDB.js.map → chunk-RXCV57H3.js.map} +0 -0
- /package/dist/{chunk-4LHKQFQT.js.map → chunk-YEOAEJ62.js.map} +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// packages/cli/src/commands/upgrade.ts
|
|
2
|
+
import { execSync } from "child_process";
|
|
3
|
+
import { resolve } from "path";
|
|
4
|
+
import { existsSync, readFileSync } from "fs";
|
|
5
|
+
var PACKAGE_NAME = "@sesamespace/hivemind";
|
|
6
|
+
function getCurrentVersion() {
|
|
7
|
+
try {
|
|
8
|
+
const output = execSync(`npm ls -g ${PACKAGE_NAME} --json 2>/dev/null`, { encoding: "utf-8" });
|
|
9
|
+
const parsed = JSON.parse(output);
|
|
10
|
+
const deps = parsed.dependencies?.[PACKAGE_NAME];
|
|
11
|
+
if (deps?.version) return deps.version;
|
|
12
|
+
} catch {
|
|
13
|
+
}
|
|
14
|
+
const hivemindHome = process.env.HIVEMIND_HOME || resolve(process.env.HOME || "~", "hivemind");
|
|
15
|
+
const pkgPath = resolve(hivemindHome, "node_modules", PACKAGE_NAME, "package.json");
|
|
16
|
+
if (existsSync(pkgPath)) {
|
|
17
|
+
try {
|
|
18
|
+
return JSON.parse(readFileSync(pkgPath, "utf-8")).version;
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return "unknown";
|
|
23
|
+
}
|
|
24
|
+
function getLatestVersion(target) {
|
|
25
|
+
try {
|
|
26
|
+
const tag = target || "latest";
|
|
27
|
+
const output = execSync(`npm view ${PACKAGE_NAME}@${tag} version 2>/dev/null`, { encoding: "utf-8" });
|
|
28
|
+
return output.trim();
|
|
29
|
+
} catch {
|
|
30
|
+
throw new Error("Failed to check npm registry for latest version");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function checkVersion(target) {
|
|
34
|
+
const current = getCurrentVersion();
|
|
35
|
+
const latest = target || getLatestVersion();
|
|
36
|
+
return {
|
|
37
|
+
current,
|
|
38
|
+
latest,
|
|
39
|
+
updateAvailable: current !== latest && current !== "unknown"
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async function runUpgradeCommand(args) {
|
|
43
|
+
const checkOnly = args.includes("--check") || args.includes("-c");
|
|
44
|
+
const force = args.includes("--force") || args.includes("-f");
|
|
45
|
+
const dryRun = args.includes("--dry-run") || args.includes("-n");
|
|
46
|
+
const targetVersion = args.find((a) => !a.startsWith("-"));
|
|
47
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
48
|
+
printHelp();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
console.log(`
|
|
52
|
+
\u2566 \u2566\u2566\u2566 \u2566\u2554\u2550\u2557\u2554\u2566\u2557\u2566\u2554\u2557\u2554\u2554\u2566\u2557
|
|
53
|
+
\u2560\u2550\u2563\u2551\u255A\u2557\u2554\u255D\u2551\u2563 \u2551\u2551\u2551\u2551\u2551\u2551\u2551 \u2551\u2551
|
|
54
|
+
\u2569 \u2569\u2569 \u255A\u255D \u255A\u2550\u255D\u2569 \u2569\u2569\u255D\u255A\u255D\u2550\u2569\u255D
|
|
55
|
+
Agent Upgrade
|
|
56
|
+
`);
|
|
57
|
+
console.log("\u2192 Checking versions...");
|
|
58
|
+
const info = await checkVersion(targetVersion);
|
|
59
|
+
console.log(` Current: ${info.current}`);
|
|
60
|
+
console.log(` Latest: ${info.latest}`);
|
|
61
|
+
if (!info.updateAvailable && !force) {
|
|
62
|
+
console.log("\n \u2713 Already up to date!");
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (info.updateAvailable) {
|
|
66
|
+
console.log(`
|
|
67
|
+
\u2B06 Update available: ${info.current} \u2192 ${info.latest}`);
|
|
68
|
+
}
|
|
69
|
+
if (checkOnly) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const target = targetVersion ? `${PACKAGE_NAME}@${targetVersion}` : `${PACKAGE_NAME}@latest`;
|
|
73
|
+
if (dryRun) {
|
|
74
|
+
console.log(`
|
|
75
|
+
\u2192 [dry-run] Would run: npm install -g ${target}`);
|
|
76
|
+
console.log("\u2192 [dry-run] Would restart the agent service");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
console.log(`
|
|
80
|
+
\u2192 Installing ${target}...`);
|
|
81
|
+
try {
|
|
82
|
+
execSync(`npm install -g ${target}`, { stdio: "inherit" });
|
|
83
|
+
console.log(" \u2713 Package updated");
|
|
84
|
+
} catch (err) {
|
|
85
|
+
console.error(` \u2717 npm install failed: ${err.message}`);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
console.log("\n\u2192 Restarting agent...");
|
|
89
|
+
try {
|
|
90
|
+
const plistName = "com.hivemind.agent";
|
|
91
|
+
execSync(`launchctl list ${plistName} 2>/dev/null`, { encoding: "utf-8" });
|
|
92
|
+
execSync(`launchctl kickstart -k gui/$(id -u)/${plistName}`, { stdio: "inherit" });
|
|
93
|
+
console.log(" \u2713 Agent restarted via launchd");
|
|
94
|
+
} catch {
|
|
95
|
+
try {
|
|
96
|
+
execSync("pkill -f 'hivemind start'", { stdio: "inherit" });
|
|
97
|
+
console.log(" \u2713 Old process killed");
|
|
98
|
+
console.log(" ! Start the agent manually: hivemind start");
|
|
99
|
+
} catch {
|
|
100
|
+
console.log(" ! No running agent found \u2014 start manually: hivemind start");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const newVersion = getCurrentVersion();
|
|
104
|
+
console.log(`
|
|
105
|
+
\u2713 Upgrade complete: ${info.current} \u2192 ${newVersion}`);
|
|
106
|
+
}
|
|
107
|
+
function printHelp() {
|
|
108
|
+
console.log(`hivemind upgrade \u2014 Upgrade the Hivemind agent runtime
|
|
109
|
+
|
|
110
|
+
Usage: hivemind upgrade [version] [options]
|
|
111
|
+
|
|
112
|
+
Arguments:
|
|
113
|
+
version Target version (default: latest)
|
|
114
|
+
|
|
115
|
+
Options:
|
|
116
|
+
-c, --check Check for updates only (don't install)
|
|
117
|
+
-f, --force Force reinstall even if up to date
|
|
118
|
+
-n, --dry-run Show what would happen without doing it
|
|
119
|
+
-h, --help Show this help
|
|
120
|
+
|
|
121
|
+
Examples:
|
|
122
|
+
hivemind upgrade # Upgrade to latest
|
|
123
|
+
hivemind upgrade 0.3.0 # Upgrade to specific version
|
|
124
|
+
hivemind upgrade --check # Just check if update available
|
|
125
|
+
`);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export {
|
|
129
|
+
runUpgradeCommand
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=chunk-SJI2KAIN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../packages/cli/src/commands/upgrade.ts"],"sourcesContent":["import { execSync } from \"child_process\";\nimport { resolve } from \"path\";\nimport { existsSync, readFileSync } from \"fs\";\n\nconst PACKAGE_NAME = \"@sesamespace/hivemind\";\n\ninterface VersionInfo {\n current: string;\n latest: string;\n updateAvailable: boolean;\n}\n\nfunction getCurrentVersion(): string {\n try {\n // Check the installed package version\n const output = execSync(`npm ls -g ${PACKAGE_NAME} --json 2>/dev/null`, { encoding: \"utf-8\" });\n const parsed = JSON.parse(output);\n const deps = parsed.dependencies?.[PACKAGE_NAME];\n if (deps?.version) return deps.version;\n } catch {\n // Fallback: read from the package.json in the hivemind dir\n }\n\n const hivemindHome = process.env.HIVEMIND_HOME || resolve(process.env.HOME || \"~\", \"hivemind\");\n const pkgPath = resolve(hivemindHome, \"node_modules\", PACKAGE_NAME, \"package.json\");\n if (existsSync(pkgPath)) {\n try {\n return JSON.parse(readFileSync(pkgPath, \"utf-8\")).version;\n } catch {\n // fall through\n }\n }\n\n return \"unknown\";\n}\n\nfunction getLatestVersion(target?: string): string {\n try {\n const tag = target || \"latest\";\n const output = execSync(`npm view ${PACKAGE_NAME}@${tag} version 2>/dev/null`, { encoding: \"utf-8\" });\n return output.trim();\n } catch {\n throw new Error(\"Failed to check npm registry for latest version\");\n }\n}\n\nasync function checkVersion(target?: string): Promise<VersionInfo> {\n const current = getCurrentVersion();\n const latest = target || getLatestVersion();\n return {\n current,\n latest,\n updateAvailable: current !== latest && current !== \"unknown\",\n };\n}\n\nexport async function runUpgradeCommand(args: string[]): Promise<void> {\n const checkOnly = args.includes(\"--check\") || args.includes(\"-c\");\n const force = args.includes(\"--force\") || args.includes(\"-f\");\n const dryRun = args.includes(\"--dry-run\") || args.includes(\"-n\");\n\n // Target version (optional positional arg)\n const targetVersion = args.find((a) => !a.startsWith(\"-\"));\n\n if (args.includes(\"--help\") || args.includes(\"-h\")) {\n printHelp();\n return;\n }\n\n console.log(`\n ╦ ╦╦╦ ╦╔═╗╔╦╗╦╔╗╔╔╦╗\n ╠═╣║╚╗╔╝║╣ ║║║║║║║ ║║\n ╩ ╩╩ ╚╝ ╚═╝╩ ╩╩╝╚╝═╩╝\n Agent Upgrade\n`);\n\n // --- Check versions ---\n console.log(\"→ Checking versions...\");\n const info = await checkVersion(targetVersion);\n console.log(` Current: ${info.current}`);\n console.log(` Latest: ${info.latest}`);\n\n if (!info.updateAvailable && !force) {\n console.log(\"\\n ✓ Already up to date!\");\n return;\n }\n\n if (info.updateAvailable) {\n console.log(`\\n ⬆ Update available: ${info.current} → ${info.latest}`);\n }\n\n if (checkOnly) {\n return;\n }\n\n // --- Perform upgrade ---\n const target = targetVersion ? `${PACKAGE_NAME}@${targetVersion}` : `${PACKAGE_NAME}@latest`;\n\n if (dryRun) {\n console.log(`\\n→ [dry-run] Would run: npm install -g ${target}`);\n console.log(\"→ [dry-run] Would restart the agent service\");\n return;\n }\n\n console.log(`\\n→ Installing ${target}...`);\n try {\n execSync(`npm install -g ${target}`, { stdio: \"inherit\" });\n console.log(\" ✓ Package updated\");\n } catch (err) {\n console.error(` ✗ npm install failed: ${(err as Error).message}`);\n process.exit(1);\n }\n\n // --- Restart agent ---\n console.log(\"\\n→ Restarting agent...\");\n try {\n // Try launchctl first (macOS service)\n const plistName = \"com.hivemind.agent\";\n execSync(`launchctl list ${plistName} 2>/dev/null`, { encoding: \"utf-8\" });\n // Service exists — restart it\n execSync(`launchctl kickstart -k gui/$(id -u)/${plistName}`, { stdio: \"inherit\" });\n console.log(\" ✓ Agent restarted via launchd\");\n } catch {\n // No launchd service — try finding and restarting the process\n try {\n execSync(\"pkill -f 'hivemind start'\", { stdio: \"inherit\" });\n console.log(\" ✓ Old process killed\");\n console.log(\" ! Start the agent manually: hivemind start\");\n } catch {\n console.log(\" ! No running agent found — start manually: hivemind start\");\n }\n }\n\n // --- Verify ---\n const newVersion = getCurrentVersion();\n console.log(`\\n ✓ Upgrade complete: ${info.current} → ${newVersion}`);\n}\n\nfunction printHelp(): void {\n console.log(`hivemind upgrade — Upgrade the Hivemind agent runtime\n\nUsage: hivemind upgrade [version] [options]\n\nArguments:\n version Target version (default: latest)\n\nOptions:\n -c, --check Check for updates only (don't install)\n -f, --force Force reinstall even if up to date\n -n, --dry-run Show what would happen without doing it\n -h, --help Show this help\n\nExamples:\n hivemind upgrade # Upgrade to latest\n hivemind upgrade 0.3.0 # Upgrade to specific version\n hivemind upgrade --check # Just check if update available\n`);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -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,8 +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
|
+
import "../chunk-GPI4RU7N.js";
|
|
7
|
+
import "../chunk-7D4SUZUM.js";
|
|
6
8
|
export {
|
|
7
9
|
runFleetCommand
|
|
8
10
|
};
|
package/dist/commands/init.js
CHANGED
package/dist/commands/service.js
CHANGED
package/dist/commands/start.js
CHANGED
|
@@ -1,8 +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
|
+
import "../chunk-GPI4RU7N.js";
|
|
7
|
+
import "../chunk-7D4SUZUM.js";
|
|
6
8
|
export {
|
|
7
9
|
runStartCommand
|
|
8
10
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
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,7 +18,9 @@ import {
|
|
|
18
18
|
loadConfig,
|
|
19
19
|
startPipeline,
|
|
20
20
|
startWorker
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-LRK64BAK.js";
|
|
22
|
+
import "./chunk-GPI4RU7N.js";
|
|
23
|
+
import "./chunk-7D4SUZUM.js";
|
|
22
24
|
export {
|
|
23
25
|
Agent,
|
|
24
26
|
ContextManager,
|
package/dist/main.js
CHANGED
|
@@ -1,145 +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
13
|
} from "./chunk-MBS5A6BZ.js";
|
|
14
|
-
import
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
var PACKAGE_NAME = "@sesamespace/hivemind";
|
|
22
|
-
function getCurrentVersion() {
|
|
23
|
-
try {
|
|
24
|
-
const output = execSync(`npm ls -g ${PACKAGE_NAME} --json 2>/dev/null`, { encoding: "utf-8" });
|
|
25
|
-
const parsed = JSON.parse(output);
|
|
26
|
-
const deps = parsed.dependencies?.[PACKAGE_NAME];
|
|
27
|
-
if (deps?.version) return deps.version;
|
|
28
|
-
} catch {
|
|
29
|
-
}
|
|
30
|
-
const hivemindHome = process.env.HIVEMIND_HOME || resolve(process.env.HOME || "~", "hivemind");
|
|
31
|
-
const pkgPath = resolve(hivemindHome, "node_modules", PACKAGE_NAME, "package.json");
|
|
32
|
-
if (existsSync(pkgPath)) {
|
|
33
|
-
try {
|
|
34
|
-
return JSON.parse(readFileSync(pkgPath, "utf-8")).version;
|
|
35
|
-
} catch {
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return "unknown";
|
|
39
|
-
}
|
|
40
|
-
function getLatestVersion(target) {
|
|
41
|
-
try {
|
|
42
|
-
const tag = target || "latest";
|
|
43
|
-
const output = execSync(`npm view ${PACKAGE_NAME}@${tag} version 2>/dev/null`, { encoding: "utf-8" });
|
|
44
|
-
return output.trim();
|
|
45
|
-
} catch {
|
|
46
|
-
throw new Error("Failed to check npm registry for latest version");
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async function checkVersion(target) {
|
|
50
|
-
const current = getCurrentVersion();
|
|
51
|
-
const latest = target || getLatestVersion();
|
|
52
|
-
return {
|
|
53
|
-
current,
|
|
54
|
-
latest,
|
|
55
|
-
updateAvailable: current !== latest && current !== "unknown"
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
async function runUpgradeCommand(args2) {
|
|
59
|
-
const checkOnly = args2.includes("--check") || args2.includes("-c");
|
|
60
|
-
const force = args2.includes("--force") || args2.includes("-f");
|
|
61
|
-
const dryRun = args2.includes("--dry-run") || args2.includes("-n");
|
|
62
|
-
const targetVersion = args2.find((a) => !a.startsWith("-"));
|
|
63
|
-
if (args2.includes("--help") || args2.includes("-h")) {
|
|
64
|
-
printHelp();
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
console.log(`
|
|
68
|
-
\u2566 \u2566\u2566\u2566 \u2566\u2554\u2550\u2557\u2554\u2566\u2557\u2566\u2554\u2557\u2554\u2554\u2566\u2557
|
|
69
|
-
\u2560\u2550\u2563\u2551\u255A\u2557\u2554\u255D\u2551\u2563 \u2551\u2551\u2551\u2551\u2551\u2551\u2551 \u2551\u2551
|
|
70
|
-
\u2569 \u2569\u2569 \u255A\u255D \u255A\u2550\u255D\u2569 \u2569\u2569\u255D\u255A\u255D\u2550\u2569\u255D
|
|
71
|
-
Agent Upgrade
|
|
72
|
-
`);
|
|
73
|
-
console.log("\u2192 Checking versions...");
|
|
74
|
-
const info = await checkVersion(targetVersion);
|
|
75
|
-
console.log(` Current: ${info.current}`);
|
|
76
|
-
console.log(` Latest: ${info.latest}`);
|
|
77
|
-
if (!info.updateAvailable && !force) {
|
|
78
|
-
console.log("\n \u2713 Already up to date!");
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
if (info.updateAvailable) {
|
|
82
|
-
console.log(`
|
|
83
|
-
\u2B06 Update available: ${info.current} \u2192 ${info.latest}`);
|
|
84
|
-
}
|
|
85
|
-
if (checkOnly) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
const target = targetVersion ? `${PACKAGE_NAME}@${targetVersion}` : `${PACKAGE_NAME}@latest`;
|
|
89
|
-
if (dryRun) {
|
|
90
|
-
console.log(`
|
|
91
|
-
\u2192 [dry-run] Would run: npm install -g ${target}`);
|
|
92
|
-
console.log("\u2192 [dry-run] Would restart the agent service");
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
console.log(`
|
|
96
|
-
\u2192 Installing ${target}...`);
|
|
97
|
-
try {
|
|
98
|
-
execSync(`npm install -g ${target}`, { stdio: "inherit" });
|
|
99
|
-
console.log(" \u2713 Package updated");
|
|
100
|
-
} catch (err) {
|
|
101
|
-
console.error(` \u2717 npm install failed: ${err.message}`);
|
|
102
|
-
process.exit(1);
|
|
103
|
-
}
|
|
104
|
-
console.log("\n\u2192 Restarting agent...");
|
|
105
|
-
try {
|
|
106
|
-
const plistName = "com.hivemind.agent";
|
|
107
|
-
execSync(`launchctl list ${plistName} 2>/dev/null`, { encoding: "utf-8" });
|
|
108
|
-
execSync(`launchctl kickstart -k gui/$(id -u)/${plistName}`, { stdio: "inherit" });
|
|
109
|
-
console.log(" \u2713 Agent restarted via launchd");
|
|
110
|
-
} catch {
|
|
111
|
-
try {
|
|
112
|
-
execSync("pkill -f 'hivemind start'", { stdio: "inherit" });
|
|
113
|
-
console.log(" \u2713 Old process killed");
|
|
114
|
-
console.log(" ! Start the agent manually: hivemind start");
|
|
115
|
-
} catch {
|
|
116
|
-
console.log(" ! No running agent found \u2014 start manually: hivemind start");
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
const newVersion = getCurrentVersion();
|
|
120
|
-
console.log(`
|
|
121
|
-
\u2713 Upgrade complete: ${info.current} \u2192 ${newVersion}`);
|
|
122
|
-
}
|
|
123
|
-
function printHelp() {
|
|
124
|
-
console.log(`hivemind upgrade \u2014 Upgrade the Hivemind agent runtime
|
|
125
|
-
|
|
126
|
-
Usage: hivemind upgrade [version] [options]
|
|
127
|
-
|
|
128
|
-
Arguments:
|
|
129
|
-
version Target version (default: latest)
|
|
130
|
-
|
|
131
|
-
Options:
|
|
132
|
-
-c, --check Check for updates only (don't install)
|
|
133
|
-
-f, --force Force reinstall even if up to date
|
|
134
|
-
-n, --dry-run Show what would happen without doing it
|
|
135
|
-
-h, --help Show this help
|
|
136
|
-
|
|
137
|
-
Examples:
|
|
138
|
-
hivemind upgrade # Upgrade to latest
|
|
139
|
-
hivemind upgrade 0.3.0 # Upgrade to specific version
|
|
140
|
-
hivemind upgrade --check # Just check if update available
|
|
141
|
-
`);
|
|
142
|
-
}
|
|
14
|
+
import {
|
|
15
|
+
runUpgradeCommand
|
|
16
|
+
} from "./chunk-SJI2KAIN.js";
|
|
17
|
+
import "./chunk-YEOAEJ62.js";
|
|
18
|
+
import "./chunk-LRK64BAK.js";
|
|
19
|
+
import "./chunk-GPI4RU7N.js";
|
|
20
|
+
import "./chunk-7D4SUZUM.js";
|
|
143
21
|
|
|
144
22
|
// packages/cli/src/main.ts
|
|
145
23
|
var [command, ...args] = process.argv.slice(2);
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../packages/cli/src/commands/upgrade.ts","../packages/cli/src/main.ts"],"sourcesContent":["import { execSync } from \"child_process\";\nimport { resolve } from \"path\";\nimport { existsSync, readFileSync } from \"fs\";\n\nconst PACKAGE_NAME = \"@sesamespace/hivemind\";\n\ninterface VersionInfo {\n current: string;\n latest: string;\n updateAvailable: boolean;\n}\n\nfunction getCurrentVersion(): string {\n try {\n // Check the installed package version\n const output = execSync(`npm ls -g ${PACKAGE_NAME} --json 2>/dev/null`, { encoding: \"utf-8\" });\n const parsed = JSON.parse(output);\n const deps = parsed.dependencies?.[PACKAGE_NAME];\n if (deps?.version) return deps.version;\n } catch {\n // Fallback: read from the package.json in the hivemind dir\n }\n\n const hivemindHome = process.env.HIVEMIND_HOME || resolve(process.env.HOME || \"~\", \"hivemind\");\n const pkgPath = resolve(hivemindHome, \"node_modules\", PACKAGE_NAME, \"package.json\");\n if (existsSync(pkgPath)) {\n try {\n return JSON.parse(readFileSync(pkgPath, \"utf-8\")).version;\n } catch {\n // fall through\n }\n }\n\n return \"unknown\";\n}\n\nfunction getLatestVersion(target?: string): string {\n try {\n const tag = target || \"latest\";\n const output = execSync(`npm view ${PACKAGE_NAME}@${tag} version 2>/dev/null`, { encoding: \"utf-8\" });\n return output.trim();\n } catch {\n throw new Error(\"Failed to check npm registry for latest version\");\n }\n}\n\nasync function checkVersion(target?: string): Promise<VersionInfo> {\n const current = getCurrentVersion();\n const latest = target || getLatestVersion();\n return {\n current,\n latest,\n updateAvailable: current !== latest && current !== \"unknown\",\n };\n}\n\nexport async function runUpgradeCommand(args: string[]): Promise<void> {\n const checkOnly = args.includes(\"--check\") || args.includes(\"-c\");\n const force = args.includes(\"--force\") || args.includes(\"-f\");\n const dryRun = args.includes(\"--dry-run\") || args.includes(\"-n\");\n\n // Target version (optional positional arg)\n const targetVersion = args.find((a) => !a.startsWith(\"-\"));\n\n if (args.includes(\"--help\") || args.includes(\"-h\")) {\n printHelp();\n return;\n }\n\n console.log(`\n ╦ ╦╦╦ ╦╔═╗╔╦╗╦╔╗╔╔╦╗\n ╠═╣║╚╗╔╝║╣ ║║║║║║║ ║║\n ╩ ╩╩ ╚╝ ╚═╝╩ ╩╩╝╚╝═╩╝\n Agent Upgrade\n`);\n\n // --- Check versions ---\n console.log(\"→ Checking versions...\");\n const info = await checkVersion(targetVersion);\n console.log(` Current: ${info.current}`);\n console.log(` Latest: ${info.latest}`);\n\n if (!info.updateAvailable && !force) {\n console.log(\"\\n ✓ Already up to date!\");\n return;\n }\n\n if (info.updateAvailable) {\n console.log(`\\n ⬆ Update available: ${info.current} → ${info.latest}`);\n }\n\n if (checkOnly) {\n return;\n }\n\n // --- Perform upgrade ---\n const target = targetVersion ? `${PACKAGE_NAME}@${targetVersion}` : `${PACKAGE_NAME}@latest`;\n\n if (dryRun) {\n console.log(`\\n→ [dry-run] Would run: npm install -g ${target}`);\n console.log(\"→ [dry-run] Would restart the agent service\");\n return;\n }\n\n console.log(`\\n→ Installing ${target}...`);\n try {\n execSync(`npm install -g ${target}`, { stdio: \"inherit\" });\n console.log(\" ✓ Package updated\");\n } catch (err) {\n console.error(` ✗ npm install failed: ${(err as Error).message}`);\n process.exit(1);\n }\n\n // --- Restart agent ---\n console.log(\"\\n→ Restarting agent...\");\n try {\n // Try launchctl first (macOS service)\n const plistName = \"com.hivemind.agent\";\n execSync(`launchctl list ${plistName} 2>/dev/null`, { encoding: \"utf-8\" });\n // Service exists — restart it\n execSync(`launchctl kickstart -k gui/$(id -u)/${plistName}`, { stdio: \"inherit\" });\n console.log(\" ✓ Agent restarted via launchd\");\n } catch {\n // No launchd service — try finding and restarting the process\n try {\n execSync(\"pkill -f 'hivemind start'\", { stdio: \"inherit\" });\n console.log(\" ✓ Old process killed\");\n console.log(\" ! Start the agent manually: hivemind start\");\n } catch {\n console.log(\" ! No running agent found — start manually: hivemind start\");\n }\n }\n\n // --- Verify ---\n const newVersion = getCurrentVersion();\n console.log(`\\n ✓ Upgrade complete: ${info.current} → ${newVersion}`);\n}\n\nfunction printHelp(): void {\n console.log(`hivemind upgrade — Upgrade the Hivemind agent runtime\n\nUsage: hivemind upgrade [version] [options]\n\nArguments:\n version Target version (default: latest)\n\nOptions:\n -c, --check Check for updates only (don't install)\n -f, --force Force reinstall even if up to date\n -n, --dry-run Show what would happen without doing it\n -h, --help Show this help\n\nExamples:\n hivemind upgrade # Upgrade to latest\n hivemind upgrade 0.3.0 # Upgrade to specific version\n hivemind upgrade --check # Just check if update available\n`);\n}\n","#!/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":"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","names":["args"]}
|
|
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,7 +3,9 @@ import {
|
|
|
3
3
|
loadConfig,
|
|
4
4
|
startPipeline,
|
|
5
5
|
startWorker
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LRK64BAK.js";
|
|
7
|
+
import "./chunk-GPI4RU7N.js";
|
|
8
|
+
import "./chunk-7D4SUZUM.js";
|
|
7
9
|
|
|
8
10
|
// packages/runtime/src/start.ts
|
|
9
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":[]}
|
package/package.json
CHANGED
package/tsup.config.ts
CHANGED
|
@@ -7,6 +7,7 @@ export default defineConfig({
|
|
|
7
7
|
"commands/start": "packages/cli/src/commands/start.ts",
|
|
8
8
|
"commands/fleet": "packages/cli/src/commands/fleet.ts",
|
|
9
9
|
"commands/service": "packages/cli/src/commands/service.ts",
|
|
10
|
+
"commands/upgrade": "packages/cli/src/commands/upgrade.ts",
|
|
10
11
|
"index": "packages/runtime/src/index.ts",
|
|
11
12
|
"start": "packages/runtime/src/start.ts",
|
|
12
13
|
},
|
|
@@ -20,9 +21,7 @@ export default defineConfig({
|
|
|
20
21
|
outDir: "dist",
|
|
21
22
|
outExtension: () => ({ js: ".js" }),
|
|
22
23
|
external: [
|
|
23
|
-
"@iarna/toml",
|
|
24
|
-
"@sesamespace/sdk",
|
|
25
24
|
"ws",
|
|
26
25
|
],
|
|
27
|
-
noExternal: ["@hivemind/runtime"],
|
|
26
|
+
noExternal: ["@hivemind/runtime", "@iarna/toml", "@sesamespace/sdk"],
|
|
28
27
|
});
|