@deeplake/hivemind 0.7.38 → 0.7.40
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.
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Cloud-backed persistent shared memory for AI agents powered by Deeplake",
|
|
9
|
-
"version": "0.7.
|
|
9
|
+
"version": "0.7.40"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "hivemind",
|
|
14
14
|
"description": "Persistent shared memory powered by Deeplake — captures all session activity and provides cross-session, cross-agent memory search",
|
|
15
|
-
"version": "0.7.
|
|
15
|
+
"version": "0.7.40",
|
|
16
16
|
"source": {
|
|
17
17
|
"source": "git-subdir",
|
|
18
18
|
"url": "https://github.com/activeloopai/hivemind.git",
|
|
19
19
|
"path": "claude-code",
|
|
20
|
-
"sha": "
|
|
20
|
+
"sha": "7ffac5f3ae3eb79b7606f837d1eebd335c58c046"
|
|
21
21
|
},
|
|
22
22
|
"homepage": "https://github.com/activeloopai/hivemind"
|
|
23
23
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hivemind",
|
|
3
3
|
"description": "Cloud-backed persistent memory powered by Deeplake — read, write, and share memory across Claude Code sessions and agents",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.40",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Activeloop",
|
|
7
7
|
"url": "https://deeplake.ai"
|
package/bundle/cli.js
CHANGED
|
@@ -6914,7 +6914,7 @@ function takeBoolFlag(args, flag) {
|
|
|
6914
6914
|
}
|
|
6915
6915
|
async function runMineLocal(args) {
|
|
6916
6916
|
let lockReleased = false;
|
|
6917
|
-
const
|
|
6917
|
+
const releaseLock2 = () => {
|
|
6918
6918
|
if (lockReleased)
|
|
6919
6919
|
return;
|
|
6920
6920
|
lockReleased = true;
|
|
@@ -6923,11 +6923,11 @@ async function runMineLocal(args) {
|
|
|
6923
6923
|
} catch {
|
|
6924
6924
|
}
|
|
6925
6925
|
};
|
|
6926
|
-
process.on("exit",
|
|
6926
|
+
process.on("exit", releaseLock2);
|
|
6927
6927
|
try {
|
|
6928
6928
|
return await runMineLocalImpl(args);
|
|
6929
6929
|
} finally {
|
|
6930
|
-
|
|
6930
|
+
releaseLock2();
|
|
6931
6931
|
}
|
|
6932
6932
|
}
|
|
6933
6933
|
async function runMineLocalImpl(args) {
|
|
@@ -7538,8 +7538,9 @@ if (process.argv[1] && process.argv[1].endsWith("skillify.js")) {
|
|
|
7538
7538
|
|
|
7539
7539
|
// dist/src/cli/update.js
|
|
7540
7540
|
import { execFileSync as execFileSync4 } from "node:child_process";
|
|
7541
|
-
import { existsSync as existsSync27, readFileSync as readFileSync23, realpathSync } from "node:fs";
|
|
7542
|
-
import {
|
|
7541
|
+
import { closeSync as closeSync2, existsSync as existsSync27, mkdirSync as mkdirSync13, openSync as openSync2, readFileSync as readFileSync23, realpathSync, unlinkSync as unlinkSync11, writeSync } from "node:fs";
|
|
7542
|
+
import { homedir as homedir19 } from "node:os";
|
|
7543
|
+
import { dirname as dirname10, join as join33, sep } from "node:path";
|
|
7543
7544
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7544
7545
|
|
|
7545
7546
|
// dist/src/utils/version-check.js
|
|
@@ -7555,6 +7556,9 @@ function isNewer(latest, current) {
|
|
|
7555
7556
|
// dist/src/cli/update.js
|
|
7556
7557
|
var NPM_REGISTRY_URL = "https://registry.npmjs.org/@deeplake/hivemind/latest";
|
|
7557
7558
|
var PKG_NAME = "@deeplake/hivemind";
|
|
7559
|
+
function defaultLockPath() {
|
|
7560
|
+
return join33(homedir19(), ".deeplake", "hivemind-update.lock");
|
|
7561
|
+
}
|
|
7558
7562
|
function detectInstallKind(argv1) {
|
|
7559
7563
|
const realArgv1 = (() => {
|
|
7560
7564
|
try {
|
|
@@ -7613,6 +7617,58 @@ async function getLatestNpmVersion(timeoutMs = 5e3) {
|
|
|
7613
7617
|
var defaultSpawn = (cmd, args) => {
|
|
7614
7618
|
execFileSync4(cmd, args, { stdio: "inherit" });
|
|
7615
7619
|
};
|
|
7620
|
+
function tryAcquireLock(path) {
|
|
7621
|
+
mkdirSync13(dirname10(path), { recursive: true, mode: 448 });
|
|
7622
|
+
const claim = () => {
|
|
7623
|
+
const fd = openSync2(path, "wx", 384);
|
|
7624
|
+
writeSync(fd, String(process.pid));
|
|
7625
|
+
return fd;
|
|
7626
|
+
};
|
|
7627
|
+
try {
|
|
7628
|
+
return claim();
|
|
7629
|
+
} catch (e) {
|
|
7630
|
+
if (e.code !== "EEXIST")
|
|
7631
|
+
throw e;
|
|
7632
|
+
}
|
|
7633
|
+
let holderPid = 0;
|
|
7634
|
+
try {
|
|
7635
|
+
holderPid = Number(readFileSync23(path, "utf-8").trim()) || 0;
|
|
7636
|
+
} catch {
|
|
7637
|
+
try {
|
|
7638
|
+
return claim();
|
|
7639
|
+
} catch {
|
|
7640
|
+
return null;
|
|
7641
|
+
}
|
|
7642
|
+
}
|
|
7643
|
+
if (holderPid > 0) {
|
|
7644
|
+
try {
|
|
7645
|
+
process.kill(holderPid, 0);
|
|
7646
|
+
log(`another hivemind update is already running (pid=${holderPid}); skipping.`);
|
|
7647
|
+
return null;
|
|
7648
|
+
} catch {
|
|
7649
|
+
}
|
|
7650
|
+
}
|
|
7651
|
+
try {
|
|
7652
|
+
unlinkSync11(path);
|
|
7653
|
+
} catch {
|
|
7654
|
+
}
|
|
7655
|
+
try {
|
|
7656
|
+
return claim();
|
|
7657
|
+
} catch {
|
|
7658
|
+
log(`another hivemind update is already running; skipping.`);
|
|
7659
|
+
return null;
|
|
7660
|
+
}
|
|
7661
|
+
}
|
|
7662
|
+
function releaseLock(fd, path) {
|
|
7663
|
+
try {
|
|
7664
|
+
closeSync2(fd);
|
|
7665
|
+
} catch {
|
|
7666
|
+
}
|
|
7667
|
+
try {
|
|
7668
|
+
unlinkSync11(path);
|
|
7669
|
+
} catch {
|
|
7670
|
+
}
|
|
7671
|
+
}
|
|
7616
7672
|
async function runUpdate(opts = {}) {
|
|
7617
7673
|
const current = opts.currentVersionOverride ?? getVersion();
|
|
7618
7674
|
const latest = opts.latestVersionOverride !== void 0 ? opts.latestVersionOverride : await getLatestNpmVersion();
|
|
@@ -7635,26 +7691,34 @@ async function runUpdate(opts = {}) {
|
|
|
7635
7691
|
log(`(dry-run) Would re-run: hivemind install --skip-auth`);
|
|
7636
7692
|
return 0;
|
|
7637
7693
|
}
|
|
7638
|
-
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
warn(`npm install failed: ${e.message}`);
|
|
7643
|
-
warn(`Try running it manually: npm install -g ${PKG_NAME}@latest`);
|
|
7644
|
-
return 1;
|
|
7645
|
-
}
|
|
7646
|
-
log(``);
|
|
7647
|
-
log(`Refreshing agent bundles\u2026`);
|
|
7694
|
+
const lockPath2 = opts.lockPathOverride ?? defaultLockPath();
|
|
7695
|
+
const lockFd = tryAcquireLock(lockPath2);
|
|
7696
|
+
if (lockFd === null)
|
|
7697
|
+
return 0;
|
|
7648
7698
|
try {
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7699
|
+
log(`Upgrading via npm\u2026`);
|
|
7700
|
+
try {
|
|
7701
|
+
spawn2("npm", ["install", "-g", `${PKG_NAME}@latest`]);
|
|
7702
|
+
} catch (e) {
|
|
7703
|
+
warn(`npm install failed: ${e.message}`);
|
|
7704
|
+
warn(`Try running it manually: npm install -g ${PKG_NAME}@latest`);
|
|
7705
|
+
return 1;
|
|
7706
|
+
}
|
|
7707
|
+
log(``);
|
|
7708
|
+
log(`Refreshing agent bundles\u2026`);
|
|
7709
|
+
try {
|
|
7710
|
+
spawn2("hivemind", ["install", "--skip-auth"]);
|
|
7711
|
+
} catch (e) {
|
|
7712
|
+
warn(`Agent refresh failed: ${e.message}`);
|
|
7713
|
+
warn(`Run manually: hivemind install`);
|
|
7714
|
+
return 1;
|
|
7715
|
+
}
|
|
7716
|
+
log(``);
|
|
7717
|
+
log(`Updated to ${latest}.`);
|
|
7718
|
+
return 0;
|
|
7719
|
+
} finally {
|
|
7720
|
+
releaseLock(lockFd, lockPath2);
|
|
7654
7721
|
}
|
|
7655
|
-
log(``);
|
|
7656
|
-
log(`Updated to ${latest}.`);
|
|
7657
|
-
return 0;
|
|
7658
7722
|
}
|
|
7659
7723
|
case "npx": {
|
|
7660
7724
|
if (opts.dryRun) {
|
package/openclaw/dist/index.js
CHANGED
|
@@ -1543,7 +1543,7 @@ function extractLatestVersion(body) {
|
|
|
1543
1543
|
return typeof v === "string" && v.length > 0 ? v : null;
|
|
1544
1544
|
}
|
|
1545
1545
|
function getInstalledVersion() {
|
|
1546
|
-
return "0.7.
|
|
1546
|
+
return "0.7.40".length > 0 ? "0.7.40" : null;
|
|
1547
1547
|
}
|
|
1548
1548
|
function isNewer(latest, current) {
|
|
1549
1549
|
const parse = (v) => v.replace(/-.*$/, "").split(".").map(Number);
|
package/openclaw/package.json
CHANGED