@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.
@@ -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.41"
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.41",
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": "2ca57ef761de13b8fd53acdc73c96705754c0021"
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.41",
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";
@@ -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.41".length > 0 ? "0.7.41" : null;
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);
@@ -52,5 +52,5 @@
52
52
  }
53
53
  }
54
54
  },
55
- "version": "0.7.41"
55
+ "version": "0.7.44"
56
56
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hivemind",
3
- "version": "0.7.41",
3
+ "version": "0.7.44",
4
4
  "type": "module",
5
5
  "description": "Hivemind — cloud-backed persistent shared memory for AI agents, powered by DeepLake",
6
6
  "license": "Apache-2.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deeplake/hivemind",
3
- "version": "0.7.41",
3
+ "version": "0.7.44",
4
4
  "description": "Cloud-backed persistent shared memory for AI agents powered by Deeplake",
5
5
  "type": "module",
6
6
  "repository": {