@deeplake/hivemind 0.7.41 → 0.7.44
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 +28 -3
- package/codex/bundle/session-start.js +1 -0
- package/cursor/bundle/session-start.js +1 -0
- package/hermes/bundle/session-start.js +1 -0
- 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.44"
|
|
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.44",
|
|
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": "dde77670e8640e1f0ceb9720e2e3c4672845b674"
|
|
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.44",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Activeloop",
|
|
7
7
|
"url": "https://deeplake.ai"
|
package/bundle/cli.js
CHANGED
|
@@ -6651,6 +6651,7 @@ function writeLocalManifest(m, path = LOCAL_MANIFEST_PATH) {
|
|
|
6651
6651
|
mkdirSync11(dirname6(path), { recursive: true });
|
|
6652
6652
|
writeFileSync15(path, JSON.stringify(m, null, 2));
|
|
6653
6653
|
}
|
|
6654
|
+
var LATEST_RUN_WINDOW_MS = 5 * 60 * 1e3;
|
|
6654
6655
|
|
|
6655
6656
|
// dist/src/commands/mine-local.js
|
|
6656
6657
|
import { unlinkSync as unlinkSync10 } from "node:fs";
|
|
@@ -6782,11 +6783,26 @@ function buildSessionPrompt(pairs2, session, verdictPath) {
|
|
|
6782
6783
|
`- A skill qualifies if it captures a concrete, repeatable workflow OR a non-obvious`,
|
|
6783
6784
|
` constraint/gotcha a future engineer would benefit from knowing. Intra-session is fine \u2014`,
|
|
6784
6785
|
` one deep dive yielding a generalizable takeaway counts.`,
|
|
6786
|
+
`- Especially valuable: REPEATABLE-MISTAKE patterns. Cases where the assistant declared`,
|
|
6787
|
+
` work "done"/"fixed"/"verified" and the user came back to the same problem later; where`,
|
|
6788
|
+
` the same class of mistake recurs (forgot to run tests, mishandled async state,`,
|
|
6789
|
+
` hallucinated function/file existence, re-asked for confirmation on already-authorized`,
|
|
6790
|
+
` work, jumped to plans without checking with the user, etc.); where the user manually`,
|
|
6791
|
+
` corrected the same kind of error >1 time. These are the highest-value catches.`,
|
|
6785
6792
|
`- Skip patterns that are obvious from reading the codebase or already in CLAUDE.md.`,
|
|
6786
6793
|
`- Each body uses short sections (When to use, Workflow, Anti-patterns), concrete commands`,
|
|
6787
6794
|
` / paths / snippets drawn from the exchanges below, no marketing, no emojis.`,
|
|
6788
6795
|
`- Each body under ~3000 characters.`,
|
|
6789
6796
|
`- Skill names are kebab-case slugs (lowercase letters/digits/hyphens only).`,
|
|
6797
|
+
`- For each skill, also emit a one-line "insight": a concrete, quantified, second-person`,
|
|
6798
|
+
` sentence describing what hivemind found that prompted the skill. Examples:`,
|
|
6799
|
+
` "You revisited 4 merged PRs in the last month because the assistant declared 'done'`,
|
|
6800
|
+
` before checking test output."`,
|
|
6801
|
+
` "You corrected the same env-mismatch (beta vs prod) twice in the same week before`,
|
|
6802
|
+
` deciding to switch deployment targets."`,
|
|
6803
|
+
` The insight is what users will see at next SessionStart, so it must be honest \u2014 only`,
|
|
6804
|
+
` assert counts and patterns you can ground in THIS session's exchanges. Omit the field`,
|
|
6805
|
+
` if you cannot write a concrete, quantified line.`,
|
|
6790
6806
|
``,
|
|
6791
6807
|
`=== EXCHANGES (user prompts + assistant final answers, tool calls stripped) ===`,
|
|
6792
6808
|
renderPairsBlock(pairs2),
|
|
@@ -6805,7 +6821,8 @@ function buildSessionPrompt(pairs2, session, verdictPath) {
|
|
|
6805
6821
|
` "name": "<kebab-case>",`,
|
|
6806
6822
|
` "description": "<one-line>",`,
|
|
6807
6823
|
` "trigger": "<short trigger>",`,
|
|
6808
|
-
` "body": "<full SKILL.md body without frontmatter>"
|
|
6824
|
+
` "body": "<full SKILL.md body without frontmatter>",`,
|
|
6825
|
+
` "insight": "<one-line, concrete + quantified + second person; OPTIONAL>"`,
|
|
6809
6826
|
` },`,
|
|
6810
6827
|
` ... up to 3 entries, or [] if nothing qualifies`,
|
|
6811
6828
|
` ]`,
|
|
@@ -6837,9 +6854,12 @@ function parseMultiVerdict(raw) {
|
|
|
6837
6854
|
const description = typeof s.description === "string" ? s.description.trim() : "";
|
|
6838
6855
|
const body = typeof s.body === "string" ? s.body.trim() : "";
|
|
6839
6856
|
const trigger = typeof s.trigger === "string" ? s.trigger.trim() : void 0;
|
|
6857
|
+
const rawInsight = typeof s.insight === "string" ? s.insight : "";
|
|
6858
|
+
const normalizedInsight = rawInsight.replace(/\s+/g, " ").trim();
|
|
6859
|
+
const insight = normalizedInsight.length > 0 ? normalizedInsight.slice(0, 280) : void 0;
|
|
6840
6860
|
if (!name || !body)
|
|
6841
6861
|
continue;
|
|
6842
|
-
out.push({ name, description, body, trigger });
|
|
6862
|
+
out.push({ name, description, body, trigger, insight });
|
|
6843
6863
|
}
|
|
6844
6864
|
return { reason: typeof parsed.reason === "string" ? parsed.reason : void 0, skills: out };
|
|
6845
6865
|
}
|
|
@@ -7124,7 +7144,12 @@ async function runMineLocalImpl(args) {
|
|
|
7124
7144
|
source_agent: session.agent,
|
|
7125
7145
|
gate_agent: gateAgent,
|
|
7126
7146
|
created_at: result.createdAt,
|
|
7127
|
-
uploaded: false
|
|
7147
|
+
uploaded: false,
|
|
7148
|
+
// Persist the one-line insight when the gate produced one. Omitted
|
|
7149
|
+
// (undefined → absent in JSON) when the gate couldn't ground a
|
|
7150
|
+
// concrete line, so the SessionStart banner falls back to the
|
|
7151
|
+
// count-only surface for entries written before this field landed.
|
|
7152
|
+
...skill.insight ? { insight: skill.insight } : {}
|
|
7128
7153
|
}));
|
|
7129
7154
|
saveManifest2({
|
|
7130
7155
|
created_at: existing?.created_at ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -129,6 +129,7 @@ function countLocalManifestEntries(path = LOCAL_MANIFEST_PATH) {
|
|
|
129
129
|
const m = readLocalManifest(path);
|
|
130
130
|
return Array.isArray(m?.entries) ? m.entries.length : 0;
|
|
131
131
|
}
|
|
132
|
+
var LATEST_RUN_WINDOW_MS = 5 * 60 * 1e3;
|
|
132
133
|
|
|
133
134
|
// dist/src/skillify/spawn-mine-local-worker.js
|
|
134
135
|
import { execFileSync, spawn } from "node:child_process";
|
|
@@ -838,6 +838,7 @@ function countLocalManifestEntries(path = LOCAL_MANIFEST_PATH) {
|
|
|
838
838
|
const m = readLocalManifest(path);
|
|
839
839
|
return Array.isArray(m?.entries) ? m.entries.length : 0;
|
|
840
840
|
}
|
|
841
|
+
var LATEST_RUN_WINDOW_MS = 5 * 60 * 1e3;
|
|
841
842
|
|
|
842
843
|
// dist/src/skillify/spawn-mine-local-worker.js
|
|
843
844
|
import { execFileSync, spawn } from "node:child_process";
|
|
@@ -837,6 +837,7 @@ function countLocalManifestEntries(path = LOCAL_MANIFEST_PATH) {
|
|
|
837
837
|
const m = readLocalManifest(path);
|
|
838
838
|
return Array.isArray(m?.entries) ? m.entries.length : 0;
|
|
839
839
|
}
|
|
840
|
+
var LATEST_RUN_WINDOW_MS = 5 * 60 * 1e3;
|
|
840
841
|
|
|
841
842
|
// dist/src/skillify/spawn-mine-local-worker.js
|
|
842
843
|
import { execFileSync, spawn } from "node:child_process";
|
package/openclaw/dist/index.js
CHANGED
|
@@ -1584,7 +1584,7 @@ function extractLatestVersion(body) {
|
|
|
1584
1584
|
return typeof v === "string" && v.length > 0 ? v : null;
|
|
1585
1585
|
}
|
|
1586
1586
|
function getInstalledVersion() {
|
|
1587
|
-
return "0.7.
|
|
1587
|
+
return "0.7.44".length > 0 ? "0.7.44" : null;
|
|
1588
1588
|
}
|
|
1589
1589
|
function isNewer(latest, current) {
|
|
1590
1590
|
const parse = (v) => v.replace(/-.*$/, "").split(".").map(Number);
|
package/openclaw/package.json
CHANGED