@deeplake/hivemind 0.7.62 → 0.7.63
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/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/bundle/cli.js +2 -2
- package/codex/bundle/wiki-worker.js +32 -1
- package/openclaw/dist/index.js +1 -1
- package/openclaw/openclaw.plugin.json +1 -1
- package/openclaw/package.json +1 -1
- package/package.json +1 -1
|
@@ -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.63"
|
|
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.63",
|
|
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": "92157e9b689a955c5b05da7a641223e4ef06fa13"
|
|
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.63",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Activeloop",
|
|
7
7
|
"url": "https://deeplake.ai"
|
package/bundle/cli.js
CHANGED
|
@@ -355,9 +355,9 @@ function hookCmd(bundleFile, timeout, matcher) {
|
|
|
355
355
|
function buildHooksJson() {
|
|
356
356
|
return {
|
|
357
357
|
hooks: {
|
|
358
|
-
SessionStart: [hookCmd("session-start.js",
|
|
358
|
+
SessionStart: [hookCmd("session-start.js", 10, "startup|resume")],
|
|
359
359
|
UserPromptSubmit: [hookCmd("capture.js", 10)],
|
|
360
|
-
PreToolUse: [hookCmd("pre-tool-use.js",
|
|
360
|
+
PreToolUse: [hookCmd("pre-tool-use.js", 10, "Bash")],
|
|
361
361
|
PostToolUse: [hookCmd("capture.js", 15)],
|
|
362
362
|
Stop: [hookCmd("stop.js", 30)]
|
|
363
363
|
}
|
|
@@ -717,6 +717,28 @@ function cleanup() {
|
|
|
717
717
|
dlog2(`cleanup failed to remove ${tmpDir}: ${cleanupErr.message}`);
|
|
718
718
|
}
|
|
719
719
|
}
|
|
720
|
+
function tailText(text, maxChars = 240) {
|
|
721
|
+
const compact = text.replace(/\s+/g, " ").trim();
|
|
722
|
+
return compact.length <= maxChars ? compact : `\u2026${compact.slice(-maxChars)}`;
|
|
723
|
+
}
|
|
724
|
+
function formatExecFailure(error) {
|
|
725
|
+
const parts = [];
|
|
726
|
+
if (error?.code)
|
|
727
|
+
parts.push(`code=${error.code}`);
|
|
728
|
+
if (error?.status !== void 0 && error?.status !== null)
|
|
729
|
+
parts.push(`status=${error.status}`);
|
|
730
|
+
if (error?.signal)
|
|
731
|
+
parts.push(`signal=${error.signal}`);
|
|
732
|
+
if (error?.message)
|
|
733
|
+
parts.push(`message=${tailText(String(error.message))}`);
|
|
734
|
+
const stderr = Buffer.isBuffer(error?.stderr) ? error.stderr.toString("utf-8") : typeof error?.stderr === "string" ? error.stderr : "";
|
|
735
|
+
if (stderr.trim())
|
|
736
|
+
parts.push(`stderr=${tailText(stderr)}`);
|
|
737
|
+
const stdout = Buffer.isBuffer(error?.stdout) ? error.stdout.toString("utf-8") : typeof error?.stdout === "string" ? error.stdout : "";
|
|
738
|
+
if (stdout.trim())
|
|
739
|
+
parts.push(`stdout=${tailText(stdout)}`);
|
|
740
|
+
return parts.length > 0 ? parts.join(", ") : "unknown failure";
|
|
741
|
+
}
|
|
720
742
|
async function main() {
|
|
721
743
|
try {
|
|
722
744
|
wlog("fetching session events");
|
|
@@ -746,6 +768,8 @@ async function main() {
|
|
|
746
768
|
}
|
|
747
769
|
const prompt = cfg.promptTemplate.replace(/__JSONL__/g, tmpJsonl).replace(/__SUMMARY__/g, tmpSummary).replace(/__SESSION_ID__/g, cfg.sessionId).replace(/__PROJECT__/g, cfg.project).replace(/__PREV_OFFSET__/g, String(prevOffset)).replace(/__JSONL_LINES__/g, String(jsonlLines)).replace(/__JSONL_SERVER_PATH__/g, jsonlServerPath);
|
|
748
770
|
wlog("running codex exec");
|
|
771
|
+
let execSucceeded = false;
|
|
772
|
+
const summaryBeforeExec = existsSync4(tmpSummary) ? readFileSync4(tmpSummary, "utf-8") : null;
|
|
749
773
|
try {
|
|
750
774
|
execFileSync(cfg.codexBin, [
|
|
751
775
|
"exec",
|
|
@@ -756,12 +780,19 @@ async function main() {
|
|
|
756
780
|
timeout: 12e4,
|
|
757
781
|
env: { ...process.env, HIVEMIND_WIKI_WORKER: "1", HIVEMIND_CAPTURE: "false" }
|
|
758
782
|
});
|
|
783
|
+
execSucceeded = true;
|
|
759
784
|
wlog("codex exec exited (code 0)");
|
|
760
785
|
} catch (e) {
|
|
761
|
-
|
|
786
|
+
const detail = formatExecFailure(e);
|
|
787
|
+
wlog(`codex exec failed: ${detail}`);
|
|
762
788
|
}
|
|
763
789
|
if (existsSync4(tmpSummary)) {
|
|
764
790
|
const text = readFileSync4(tmpSummary, "utf-8");
|
|
791
|
+
const summaryChanged = summaryBeforeExec === null ? text.trim().length > 0 : text !== summaryBeforeExec;
|
|
792
|
+
if (!execSucceeded && !summaryChanged) {
|
|
793
|
+
wlog("codex exec failed without producing a new summary; skipping upload");
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
765
796
|
if (text.trim()) {
|
|
766
797
|
const fname = `${cfg.sessionId}.md`;
|
|
767
798
|
const vpath = `/summaries/${cfg.userName}/${fname}`;
|
package/openclaw/dist/index.js
CHANGED
|
@@ -1823,7 +1823,7 @@ function extractLatestVersion(body) {
|
|
|
1823
1823
|
return typeof v === "string" && v.length > 0 ? v : null;
|
|
1824
1824
|
}
|
|
1825
1825
|
function getInstalledVersion() {
|
|
1826
|
-
return "0.7.
|
|
1826
|
+
return "0.7.63".length > 0 ? "0.7.63" : null;
|
|
1827
1827
|
}
|
|
1828
1828
|
function isNewer(latest, current) {
|
|
1829
1829
|
const parse = (v) => v.replace(/-.*$/, "").split(".").map(Number);
|
package/openclaw/package.json
CHANGED