hippo-memory 1.23.0 → 1.24.0

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.
Files changed (147) hide show
  1. package/README.md +16 -5
  2. package/bin/hippo.js +2 -2
  3. package/dist/ablation.d.ts +93 -0
  4. package/dist/ablation.d.ts.map +1 -0
  5. package/dist/ablation.js +138 -0
  6. package/dist/ablation.js.map +1 -0
  7. package/dist/ambient.d.ts.map +1 -1
  8. package/dist/ambient.js +2 -1
  9. package/dist/ambient.js.map +1 -1
  10. package/dist/api.d.ts +37 -0
  11. package/dist/api.d.ts.map +1 -1
  12. package/dist/api.js +88 -11
  13. package/dist/api.js.map +1 -1
  14. package/dist/benchmarks/e1.3/scenarios.json +2587 -0
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +117 -18
  17. package/dist/cli.js.map +1 -1
  18. package/dist/config.d.ts +8 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +2 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/connectors/github/backfill.js +4 -4
  23. package/dist/connectors/github/cli-impl.js +6 -6
  24. package/dist/connectors/github/dlq.js +14 -14
  25. package/dist/connectors/slack/backfill.js +1 -1
  26. package/dist/connectors/slack/dlq.js +10 -10
  27. package/dist/connectors/slack/workspaces.js +4 -4
  28. package/dist/consolidate.d.ts.map +1 -1
  29. package/dist/consolidate.js +27 -5
  30. package/dist/consolidate.js.map +1 -1
  31. package/dist/dag.js +6 -6
  32. package/dist/dashboard.js +7 -7
  33. package/dist/db.d.ts.map +1 -1
  34. package/dist/db.js +55 -4
  35. package/dist/db.js.map +1 -1
  36. package/dist/hooks.js +24 -24
  37. package/dist/importers.d.ts +28 -0
  38. package/dist/importers.d.ts.map +1 -1
  39. package/dist/importers.js +412 -1
  40. package/dist/importers.js.map +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/mcp/server.d.ts.map +1 -1
  46. package/dist/mcp/server.js +44 -7
  47. package/dist/mcp/server.js.map +1 -1
  48. package/dist/memory.d.ts +9 -0
  49. package/dist/memory.d.ts.map +1 -1
  50. package/dist/memory.js +29 -6
  51. package/dist/memory.js.map +1 -1
  52. package/dist/physics-state.d.ts.map +1 -1
  53. package/dist/physics-state.js +4 -3
  54. package/dist/physics-state.js.map +1 -1
  55. package/dist/physics.d.ts.map +1 -1
  56. package/dist/physics.js +8 -1
  57. package/dist/physics.js.map +1 -1
  58. package/dist/predictions.js +67 -67
  59. package/dist/project-identity.d.ts +84 -0
  60. package/dist/project-identity.d.ts.map +1 -0
  61. package/dist/project-identity.js +184 -0
  62. package/dist/project-identity.js.map +1 -0
  63. package/dist/refine-llm.js +13 -13
  64. package/dist/replay.d.ts.map +1 -1
  65. package/dist/replay.js +4 -1
  66. package/dist/replay.js.map +1 -1
  67. package/dist/search.d.ts +14 -0
  68. package/dist/search.d.ts.map +1 -1
  69. package/dist/search.js +36 -7
  70. package/dist/search.js.map +1 -1
  71. package/dist/secret-detect.d.ts +33 -0
  72. package/dist/secret-detect.d.ts.map +1 -0
  73. package/dist/secret-detect.js +70 -0
  74. package/dist/secret-detect.js.map +1 -0
  75. package/dist/server.d.ts.map +1 -1
  76. package/dist/server.js +11 -0
  77. package/dist/server.js.map +1 -1
  78. package/dist/shared.d.ts +9 -1
  79. package/dist/shared.d.ts.map +1 -1
  80. package/dist/shared.js +67 -16
  81. package/dist/shared.js.map +1 -1
  82. package/dist/src/ablation.js +138 -0
  83. package/dist/src/ablation.js.map +1 -0
  84. package/dist/src/ambient.js +2 -1
  85. package/dist/src/ambient.js.map +1 -1
  86. package/dist/src/api.js +88 -11
  87. package/dist/src/api.js.map +1 -1
  88. package/dist/src/cli.js +117 -18
  89. package/dist/src/cli.js.map +1 -1
  90. package/dist/src/config.js +2 -0
  91. package/dist/src/config.js.map +1 -1
  92. package/dist/src/connectors/github/backfill.js +4 -4
  93. package/dist/src/connectors/github/cli-impl.js +6 -6
  94. package/dist/src/connectors/github/dlq.js +14 -14
  95. package/dist/src/connectors/slack/backfill.js +1 -1
  96. package/dist/src/connectors/slack/dlq.js +10 -10
  97. package/dist/src/connectors/slack/workspaces.js +4 -4
  98. package/dist/src/consolidate.js +27 -5
  99. package/dist/src/consolidate.js.map +1 -1
  100. package/dist/src/dag.js +6 -6
  101. package/dist/src/dashboard.js +7 -7
  102. package/dist/src/db.js +55 -4
  103. package/dist/src/db.js.map +1 -1
  104. package/dist/src/hooks.js +24 -24
  105. package/dist/src/importers.js +412 -1
  106. package/dist/src/importers.js.map +1 -1
  107. package/dist/src/index.js +1 -1
  108. package/dist/src/index.js.map +1 -1
  109. package/dist/src/mcp/server.js +44 -7
  110. package/dist/src/mcp/server.js.map +1 -1
  111. package/dist/src/memory.js +29 -6
  112. package/dist/src/memory.js.map +1 -1
  113. package/dist/src/physics-state.js +4 -3
  114. package/dist/src/physics-state.js.map +1 -1
  115. package/dist/src/physics.js +8 -1
  116. package/dist/src/physics.js.map +1 -1
  117. package/dist/src/predictions.js +67 -67
  118. package/dist/src/project-identity.js +184 -0
  119. package/dist/src/project-identity.js.map +1 -0
  120. package/dist/src/refine-llm.js +13 -13
  121. package/dist/src/replay.js +4 -1
  122. package/dist/src/replay.js.map +1 -1
  123. package/dist/src/search.js +36 -7
  124. package/dist/src/search.js.map +1 -1
  125. package/dist/src/secret-detect.js +70 -0
  126. package/dist/src/secret-detect.js.map +1 -0
  127. package/dist/src/server.js +11 -0
  128. package/dist/src/server.js.map +1 -1
  129. package/dist/src/shared.js +67 -16
  130. package/dist/src/shared.js.map +1 -1
  131. package/dist/src/store.js +66 -11
  132. package/dist/src/store.js.map +1 -1
  133. package/dist/src/version.js +1 -1
  134. package/dist/src/working-memory.js +19 -19
  135. package/dist/store.d.ts +15 -0
  136. package/dist/store.d.ts.map +1 -1
  137. package/dist/store.js +66 -11
  138. package/dist/store.js.map +1 -1
  139. package/dist/version.d.ts +1 -1
  140. package/dist/version.js +1 -1
  141. package/dist/working-memory.js +19 -19
  142. package/dist-ui/index.html +12 -12
  143. package/extensions/openclaw-plugin/index.ts +650 -650
  144. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  145. package/extensions/openclaw-plugin/package.json +1 -1
  146. package/openclaw.plugin.json +1 -1
  147. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
package/dist/src/hooks.js CHANGED
@@ -77,30 +77,30 @@ const HIPPO_OPENCODE_PLUGIN_MARKER = 'HIPPO_OPENCODE_PLUGIN_V1';
77
77
  * marker match AND content equality, so a plugin-source revision under
78
78
  * the same V1 marker re-writes the file on next install.
79
79
  */
80
- export const OPENCODE_PLUGIN_SOURCE = `// ${HIPPO_OPENCODE_PLUGIN_MARKER}
81
- // hippo-memory opencode plugin. DO NOT EDIT — regenerated on every
82
- // \`hippo hook install opencode\` from src/hooks.ts OPENCODE_PLUGIN_SOURCE
83
- // in https://github.com/kitfunso/hippo-memory. Local changes will be lost.
84
-
85
- export const HippoPlugin = async ({ $ }) => {
86
- return {
87
- event: async ({ event }) => {
88
- // Defense in depth: opencode currently runs in Bun where $ is the shell
89
- // template helper. A non-Bun runtime would have $ as undefined; fail
90
- // closed instead of crashing the host session.
91
- if (typeof $ !== "function") return;
92
- try {
93
- if (event.type === "session.idle") {
94
- await $\`hippo session-end\`.quiet().nothrow();
95
- } else if (event.type === "session.created") {
96
- await $\`hippo last-sleep\`.quiet().nothrow();
97
- }
98
- } catch {
99
- // hippo CLI not on PATH or other failure — never crash the host session.
100
- }
101
- },
102
- };
103
- };
80
+ export const OPENCODE_PLUGIN_SOURCE = `// ${HIPPO_OPENCODE_PLUGIN_MARKER}
81
+ // hippo-memory opencode plugin. DO NOT EDIT — regenerated on every
82
+ // \`hippo hook install opencode\` from src/hooks.ts OPENCODE_PLUGIN_SOURCE
83
+ // in https://github.com/kitfunso/hippo-memory. Local changes will be lost.
84
+
85
+ export const HippoPlugin = async ({ $ }) => {
86
+ return {
87
+ event: async ({ event }) => {
88
+ // Defense in depth: opencode currently runs in Bun where $ is the shell
89
+ // template helper. A non-Bun runtime would have $ as undefined; fail
90
+ // closed instead of crashing the host session.
91
+ if (typeof $ !== "function") return;
92
+ try {
93
+ if (event.type === "session.idle") {
94
+ await $\`hippo session-end\`.quiet().nothrow();
95
+ } else if (event.type === "session.created") {
96
+ await $\`hippo last-sleep\`.quiet().nothrow();
97
+ }
98
+ } catch {
99
+ // hippo CLI not on PATH or other failure — never crash the host session.
100
+ }
101
+ },
102
+ };
103
+ };
104
104
  `;
105
105
  export { HIPPO_OPENCODE_PLUGIN_MARKER };
106
106
  function homeDir() {
@@ -3,10 +3,14 @@
3
3
  * Imports memories from ChatGPT, Claude, Cursor, generic files, and structured markdown.
4
4
  */
5
5
  import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { createHash } from 'node:crypto';
6
8
  import { createMemory, Layer } from './memory.js';
7
- import { loadAllEntries, writeEntry } from './store.js';
9
+ import { initStore, loadAllEntries, writeEntry } from './store.js';
8
10
  import { textOverlap } from './search.js';
9
11
  import { getGlobalRoot, initGlobal } from './shared.js';
12
+ import { remember, archiveRaw, isPrivateScope } from './api.js';
13
+ import { openHippoDb, closeHippoDb } from './db.js';
10
14
  // ---------------------------------------------------------------------------
11
15
  // Shared core: dedup + write
12
16
  // ---------------------------------------------------------------------------
@@ -403,4 +407,411 @@ export function importMarkdown(filePath, options) {
403
407
  }
404
408
  return totalResult;
405
409
  }
410
+ // ---------------------------------------------------------------------------
411
+ // K1 vault importer (markdown-vault FOLDER → kind='raw' memories)
412
+ //
413
+ // MIRRORS THE CONNECTOR PATTERN (src/connectors/slack|github), NOT the
414
+ // single-file importers above. Each note becomes a single kind='raw' row with
415
+ // provenance in TAGS (`source:vault` + `vault:<name>`), an artifactRef cursor
416
+ // key, and a content-hash tag. Changes APPEND a new raw row after archiveRaw of
417
+ // the old one; deletions archiveRaw the orphaned rows. We NEVER `supersede` a
418
+ // raw row (supersede yields kind='distilled', losing raw-append-only protection
419
+ // and escaping the kind='raw' deletion rescan) — all raw deletions route through
420
+ // `archiveRaw` (the only trigger-legit raw delete).
421
+ // ---------------------------------------------------------------------------
422
+ /** Escape LIKE wildcards in operator-supplied text (mirror of
423
+ * src/project-briefs.ts:477 / src/store.ts:782, kept local since neither is
424
+ * exported). Used so a `%`/`_`/`\` in the vault name cannot over-match the
425
+ * loader prefix and archive another vault's rows. */
426
+ function escapeLike(term) {
427
+ return term.replace(/[%_\\]/g, '\\$&');
428
+ }
429
+ /** Minimal inline frontmatter split. Recognises a leading `---\n…\n---\n`
430
+ * block (no YAML dep). Returns the parsed key→value map plus the body with the
431
+ * block removed. When no well-formed block is present, `fm` is empty and
432
+ * `body` is the original content. */
433
+ function parseFrontmatter(raw) {
434
+ // Must start with `---` on its own line. Accept CRLF or LF.
435
+ const m = raw.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);
436
+ if (!m)
437
+ return { fm: {}, body: raw };
438
+ const block = m[1];
439
+ const body = raw.slice(m[0].length);
440
+ const fm = {};
441
+ const lines = block.split(/\r?\n/);
442
+ for (let i = 0; i < lines.length; i++) {
443
+ const kv = lines[i].match(/^([A-Za-z0-9_-]+)\s*:\s*(.*)$/);
444
+ if (!kv)
445
+ continue;
446
+ let val = kv[2].trim();
447
+ if (val === '') {
448
+ // YAML block-style list: `key:` followed by indented `- item` lines
449
+ // (common in Obsidian/Dendron frontmatter). Collect them into a
450
+ // comma-joined value so frontmatterList parses them (codex P2).
451
+ const items = [];
452
+ let j = i + 1;
453
+ let item;
454
+ while (j < lines.length && (item = lines[j].match(/^\s+-\s+(.+?)\s*$/)) !== null) {
455
+ items.push(item[1].replace(/^['"]|['"]$/g, '').trim());
456
+ j++;
457
+ }
458
+ if (items.length) {
459
+ val = items.join(', ');
460
+ i = j - 1;
461
+ }
462
+ }
463
+ fm[kv[1]] = val;
464
+ }
465
+ return { fm, body };
466
+ }
467
+ /** Pull a frontmatter field that may be a YAML flow list (`[a, b]`), a
468
+ * comma-separated scalar (`a, b`), or a single token, into a string[]. Quotes
469
+ * and surrounding brackets are stripped; empty entries dropped. */
470
+ function frontmatterList(value) {
471
+ if (!value)
472
+ return [];
473
+ let v = value.trim();
474
+ if (v.startsWith('[') && v.endsWith(']'))
475
+ v = v.slice(1, -1);
476
+ return v
477
+ .split(',')
478
+ .map((s) => s.trim().replace(/^['"]|['"]$/g, '').trim())
479
+ .filter(Boolean);
480
+ }
481
+ /** Parse `[[wikilinks]]` from body text. `[[target]]` and `[[target|alias]]`
482
+ * both yield `target` (alias dropped). Returns de-duplicated, order-preserving
483
+ * target strings (trimmed). Embeds (`![[…]]`) are intentionally matched too —
484
+ * the leading `!` is not part of the `[[…]]` capture, so an embed contributes
485
+ * its target as a candidate, which is the desired no-crash baseline behaviour. */
486
+ function parseWikilinks(body) {
487
+ const out = [];
488
+ const seen = new Set();
489
+ const re = /\[\[([^\]]+?)\]\]/g;
490
+ let match;
491
+ while ((match = re.exec(body)) !== null) {
492
+ const inner = match[1];
493
+ const target = (inner.split('|')[0] ?? '').trim();
494
+ if (!target)
495
+ continue;
496
+ if (seen.has(target))
497
+ continue;
498
+ seen.add(target);
499
+ out.push(target);
500
+ }
501
+ return out;
502
+ }
503
+ /** Recursively collect `*.md` files under `root`, returning paths relative to
504
+ * `root` with forward-slash separators (stable artifactRef keys across OSes).
505
+ * Symlinks are not followed. Skips dot-directories (the default `.hippo` store,
506
+ * `.git`, `.obsidian`, `.trash`) AND the canonicalized Hippo store path during
507
+ * the walk, so re-importing a vault that CONTAINS the store never ingests its own
508
+ * markdown mirror files (codex R5 P1: `hippo import --vault .` after `hippo
509
+ * init` in the vault would otherwise self-import its mirror rows and grow on
510
+ * every run). The root-IS-the-store case is handled one level up in
511
+ * importVault (a no-op early return), NOT here: returning [] for it would feed
512
+ * the deletion-sync an empty scan that mass-archives every live row (codex R8). */
513
+ function collectMarkdownFiles(root, hippoRoot) {
514
+ const out = [];
515
+ // Canonicalize (realpath) so a non-dot HIPPO_HOME store nested in the vault is
516
+ // skipped even when hippoRoot is an aliased path (junction / Windows case
517
+ // variant); path.resolve would miss it and self-import the store's mirror
518
+ // files (codex R9 follow-up: same gap as the importVault guard, sibling site).
519
+ const resolvedHippoRoot = realpathOrResolve(hippoRoot);
520
+ const walk = (dir) => {
521
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
522
+ for (const ent of entries) {
523
+ if (ent.isSymbolicLink())
524
+ continue;
525
+ const abs = path.join(dir, ent.name);
526
+ if (ent.isDirectory()) {
527
+ // Skip dot-dirs (config/system, incl. the default `.hippo` store) and
528
+ // the canonicalized store path (covers a HIPPO_HOME outside `.hippo`).
529
+ if (ent.name.startsWith('.'))
530
+ continue;
531
+ if (realpathOrResolve(abs) === resolvedHippoRoot)
532
+ continue;
533
+ walk(abs);
534
+ }
535
+ else if (ent.isFile() && ent.name.toLowerCase().endsWith('.md')) {
536
+ out.push(path.relative(root, abs).split(path.sep).join('/'));
537
+ }
538
+ }
539
+ };
540
+ walk(root);
541
+ out.sort();
542
+ return out;
543
+ }
544
+ /** Canonicalize a path for the self-store comparison: dereference symlinks /
545
+ * junctions and normalize case (Windows) via the OS realpath, so a junction or
546
+ * a case-variant path to the store is still recognized as self-store (codex R9
547
+ * P2: path.resolve does neither, so an aliased store path slipped past the
548
+ * guard and triggered the mass-archive). Falls back to path.resolve when the
549
+ * path does not exist yet - an uninitialized store or a typo'd vault path
550
+ * cannot be a live self-store, and a non-existent vault folder fails later in
551
+ * the walk (readdirSync) before deletion-sync can archive anything. */
552
+ function realpathOrResolve(p) {
553
+ try {
554
+ return fs.realpathSync.native(p);
555
+ }
556
+ catch {
557
+ return path.resolve(p);
558
+ }
559
+ }
560
+ /**
561
+ * Import a markdown vault FOLDER as `kind='raw'` memories.
562
+ *
563
+ * NOT re-entrant: idempotency rests on the in-memory `existing` Map loaded once
564
+ * at the top. Two concurrent importVault runs over the same vault could both see
565
+ * a note as absent and double-insert (the connector pattern relies on a single
566
+ * sequential writer; same caveat applies here).
567
+ */
568
+ export function importVault(folderPath, options) {
569
+ const hippoRoot = options.hippoRoot;
570
+ const tenantId = options.tenantId ?? 'default';
571
+ // Vault NAME is the identity key for the destructive deletion-sync below, so it
572
+ // must be explicit. Defaulting to the folder basename meant two unrelated vaults
573
+ // sharing a basename (e.g. work/notes and personal/notes) collided on the same
574
+ // `vault:<name>:*` prefix - importing the second loaded the first's rows and the
575
+ // deletion-sync archived them (codex R10 P2). Require a deliberate name instead
576
+ // of inferring a path-unstable one.
577
+ const vaultName = options.name?.trim();
578
+ if (!vaultName) {
579
+ throw new Error('importVault requires an explicit vault name (options.name): it is the identity key for source-deletion sync and must not be inferred from the folder basename.');
580
+ }
581
+ if (vaultName.includes(':')) {
582
+ // ':' is the artifactRef delimiter (vault:<name>:<relpath>); a name
583
+ // containing it lets a different vault's prefix scan over-match and archive
584
+ // its rows (codex P2). Reject rather than silently corrupt the keys.
585
+ throw new Error(`vault name must not contain ':' (artifactRef delimiter): ${vaultName}`);
586
+ }
587
+ const scope = options.scope ?? null;
588
+ // Privacy footgun guard (codex R13 P2): hippo's recall filter only default-denies
589
+ // scopes shaped `<source>:private:*` (see isPrivateScope / PRIVATE_SCOPE_RE in
590
+ // scope.ts). A bare `private` (or `private:<x>`) first segment is NOT recognized
591
+ // as private, so notes a user believes are private would still be returned to
592
+ // no-scope recall callers. Reject the alias and point at the source-prefixed form
593
+ // rather than silently storing public-visible "private" notes. Use recall's own
594
+ // isPrivateScope as the single source of truth: reject a scope that names a
595
+ // `private` segment yet is NOT a valid `<source>:private:*` (catches `private`,
596
+ // `private:x`, and `vault:private` with a missing trailing segment).
597
+ if (scope !== null && scope.split(':').includes('private') && !isPrivateScope(scope)) {
598
+ throw new Error(`vault scope '${scope}' is not recognized as private by recall (only '<source>:private:*' scopes are default-denied). Use a source-prefixed scope such as 'vault:private:${vaultName}'.`);
599
+ }
600
+ const extraTags = options.extraTags ?? [];
601
+ const dryRun = options.dryRun ?? false;
602
+ if (options.global) {
603
+ // The raw-archive path is tenant-local; global mode would put raw vault rows
604
+ // in the wrong store. Reject for SDK callers too (the CLI also rejects
605
+ // --global) rather than silently writing local (codex P2).
606
+ throw new Error('importVault does not support global mode (raw rows are tenant-local).');
607
+ }
608
+ // Self-store no-op guard (codex R8 P1). MUST run BEFORE the existing-rows load
609
+ // and the deletion-sync pass below. If the vault folder IS the store (or lives
610
+ // inside it), there are no real vault notes - only the store's own markdown
611
+ // mirror files. Letting collectMarkdownFiles return [] for this case is NOT
612
+ // safe: an empty scan is indistinguishable from "every note was deleted", so
613
+ // deletion-sync would archive every live vault:<name>:* row, and raw-archive
614
+ // content redaction makes that loss IRREVERSIBLE. The only safe reading of
615
+ // "import the store into itself" is "do nothing". Canonicalize both paths
616
+ // (realpath: dereference junctions/symlinks + normalize Windows case) so an
617
+ // aliased path to the store is still caught (codex R9 P2).
618
+ const resolvedStore = realpathOrResolve(hippoRoot);
619
+ const resolvedFolder = realpathOrResolve(folderPath);
620
+ if (resolvedFolder === resolvedStore || resolvedFolder.startsWith(resolvedStore + path.sep)) {
621
+ return { total: 0, imported: 0, skipped: 0, archived: 0, entries: [] };
622
+ }
623
+ const ctx = {
624
+ hippoRoot,
625
+ tenantId,
626
+ // Process-local actor; the vault importer is a CLI/SDK ingestion path, not
627
+ // a bearer-authed request. archiveRaw / remember thread this into audit.
628
+ actor: { subject: 'connector:vault', role: 'admin' },
629
+ };
630
+ // Load ONCE: every existing raw row for this vault, tenant-scoped. The same
631
+ // Map serves both per-file idempotency AND the deletion diff (no second
632
+ // query). LIKE-escape the vault name so a `%`/`_` in it can't over-match.
633
+ initStore(hippoRoot);
634
+ // artifactRef -> ALL its live raw rows. >1 only after a concurrent double-insert
635
+ // (the importer is not re-entrant; see the JSDoc). The buckets matter: a later
636
+ // changed/deletion pass must archive EVERY matching row, not just the last one
637
+ // scanned, or older raw vault content lingers live + searchable (codex P2).
638
+ const existing = new Map();
639
+ {
640
+ const db = openHippoDb(hippoRoot);
641
+ try {
642
+ const likeParam = `vault:${escapeLike(vaultName)}:%`;
643
+ const rows = db
644
+ .prepare(`SELECT id, artifact_ref, tags_json, scope FROM memories
645
+ WHERE artifact_ref LIKE ? ESCAPE '\\' AND tenant_id = ? AND kind = 'raw'`)
646
+ .all(likeParam, tenantId);
647
+ // SQLite LIKE is case-insensitive for ASCII, so the query over-fetches
648
+ // (vault 'A' also matches 'vault:a:%'). Filter to the EXACT-case prefix in
649
+ // JS so deletion-sync never archives a different-cased vault's rows (codex P2).
650
+ const exactPrefix = `vault:${vaultName}:`;
651
+ for (const row of rows) {
652
+ if (row.artifact_ref && row.artifact_ref.startsWith(exactPrefix)) {
653
+ const bucket = existing.get(row.artifact_ref);
654
+ if (bucket)
655
+ bucket.push(row);
656
+ else
657
+ existing.set(row.artifact_ref, [row]);
658
+ }
659
+ }
660
+ }
661
+ finally {
662
+ closeHippoDb(db);
663
+ }
664
+ }
665
+ const relpaths = collectMarkdownFiles(folderPath, hippoRoot);
666
+ const seen = new Set();
667
+ let total = 0;
668
+ let imported = 0;
669
+ let skipped = 0;
670
+ let archived = 0;
671
+ const entries = [];
672
+ for (const relpath of relpaths) {
673
+ total++;
674
+ const artifactRef = `vault:${vaultName}:${relpath}`;
675
+ seen.add(artifactRef);
676
+ // Content-hash is computed from the RAW file bytes (deterministic; no
677
+ // Date/random in the content path) so idempotency survives frontmatter
678
+ // edits identically to body edits.
679
+ let rawFileContent;
680
+ try {
681
+ rawFileContent = fs.readFileSync(path.join(folderPath, relpath), 'utf8');
682
+ }
683
+ catch {
684
+ // File vanished between enumeration and read (TOCTOU), or a transient
685
+ // IO/permission error. Skip this one file rather than aborting the whole
686
+ // import (incl. the deletion-sync pass); an idempotent re-run picks it up.
687
+ skipped++;
688
+ continue;
689
+ }
690
+ const hash = createHash('sha256').update(rawFileContent).digest('hex');
691
+ const hashTag = `content-hash:${hash}`;
692
+ // Load every live raw row for this ref (>1 only after a concurrent double-
693
+ // insert). The idempotency decision happens below, AFTER the full tag set is
694
+ // built, so it can compare the complete envelope rather than a subset.
695
+ const priors = existing.get(artifactRef) ?? [];
696
+ const { fm, body } = parseFrontmatter(rawFileContent);
697
+ // Empty / frontmatter-only note: nothing storable (createMemory enforces a
698
+ // min content length). The note's CONTENT was deleted at source, so this is a
699
+ // content-deletion: archive any prior row(s) - the old body must not stay live
700
+ // and searchable after the source no longer holds it (codex R12 P2) - then
701
+ // skip the write. Archiving here is safe precisely because we then skip
702
+ // remember() entirely: there is no archive-then-throw-on-empty-body hazard
703
+ // (the original reason this branch did not archive). The note stays in `seen`
704
+ // so deletion-sync does not double-process it.
705
+ if (body.trim().length < 3) {
706
+ for (const p of priors) {
707
+ archived++; // count even in dryRun so the preview reflects the removal
708
+ if (!dryRun)
709
+ archiveRaw(ctx, p.id, `emptied:${artifactRef}`);
710
+ }
711
+ skipped++;
712
+ continue;
713
+ }
714
+ // Build the FULL tag envelope this import would write, BEFORE the idempotency
715
+ // decision. De-duplicate (createMemory stores tags verbatim, so a collision
716
+ // between, e.g., a frontmatter tag and an extraTag would otherwise produce a
717
+ // duplicate). Order-preserving.
718
+ const frontmatterTags = [
719
+ ...frontmatterList(fm['tags']),
720
+ ...frontmatterList(fm['aliases']).map((a) => `alias:${a}`),
721
+ ];
722
+ const wikilinkTags = parseWikilinks(body).map((t) => `wikilink-candidate:${t}`);
723
+ const tags = Array.from(new Set([
724
+ 'source:vault',
725
+ `vault:${vaultName}`,
726
+ hashTag,
727
+ ...frontmatterTags,
728
+ ...wikilinkTags,
729
+ ...extraTags,
730
+ ]));
731
+ // Unchanged iff EVERY live raw row carries the EXACT same tag set AND scope.
732
+ // Comparing the COMPLETE set (not the content-hash + a subset of extra tags)
733
+ // means every envelope change registers: content (via the content-hash tag),
734
+ // frontmatter, wikilinks, an ADDED extra tag, or a REMOVED one - the earlier
735
+ // piecemeal checks missed scope (R10 P2) then tag removal (R11 P2). Set
736
+ // equality is order-independent and both sides are deduped. (`length > 0`
737
+ // guard: a never-seen file must import, not skip; archiving ALL priors on a
738
+ // mismatch also clears any concurrent-double-insert duplicates.)
739
+ const wantTags = new Set(tags);
740
+ const envelopeUnchanged = priors.length > 0 &&
741
+ priors.every((p) => {
742
+ if ((p.scope ?? null) !== scope)
743
+ return false;
744
+ const priorTags = parseJsonArrayLoose(p.tags_json);
745
+ return priorTags.length === wantTags.size && priorTags.every((t) => wantTags.has(t));
746
+ });
747
+ if (envelopeUnchanged) {
748
+ // Unchanged file + envelope → skip (idempotent re-import).
749
+ skipped++;
750
+ continue;
751
+ }
752
+ // Changed file → archive EVERY old raw row for this ref (normally one; >1
753
+ // only after a concurrent double-insert), then append the new one. NEVER
754
+ // supersede (would yield kind='distilled'). archiveRaw commits + closes its
755
+ // handle before remember() runs, so there is no double-live row; a crash
756
+ // between them self-heals (file re-imported as fresh raw next run).
757
+ for (const p of priors) {
758
+ archived++; // count the would-be archive even in dryRun (true preview)
759
+ if (!dryRun)
760
+ archiveRaw(ctx, p.id, `changed:${artifactRef}`);
761
+ }
762
+ // remember() owns the actual write. We build an `echo` of the SAME content +
763
+ // tags via createMemory purely for the ImportResult, then reconcile its id to
764
+ // remember()'s real row id so entries[] reflects the row that landed.
765
+ const echo = createMemory(body, {
766
+ kind: 'raw',
767
+ tags,
768
+ scope,
769
+ owner: 'agent:vault-import',
770
+ artifact_ref: artifactRef,
771
+ tenantId,
772
+ });
773
+ // dryRun preview: count what WOULD import, but make no writes (codex P2).
774
+ if (!dryRun) {
775
+ const result = remember(ctx, {
776
+ content: body,
777
+ kind: 'raw',
778
+ artifactRef,
779
+ owner: 'agent:vault-import',
780
+ scope: scope ?? undefined,
781
+ tags,
782
+ });
783
+ echo.id = result.id;
784
+ }
785
+ entries.push(echo);
786
+ imported++;
787
+ }
788
+ // Deletion-sync: any artifactRef present in the Map but NOT seen this run is a
789
+ // note that vanished from the source folder → archive its raw row. Per-file
790
+ // archiveRaw (own handle); no outer SAVEPOINT (no cross-file idempotency row
791
+ // to commit atomically, unlike github's multi-row case).
792
+ for (const [artifactRef, rows] of existing) {
793
+ if (seen.has(artifactRef))
794
+ continue;
795
+ for (const row of rows) {
796
+ archived++; // count even in dryRun so the preview reflects destructive deletes
797
+ if (!dryRun)
798
+ archiveRaw(ctx, row.id, `source_deleted:${artifactRef}`);
799
+ }
800
+ }
801
+ return { total, imported, skipped, archived, entries };
802
+ }
803
+ /** Local tolerant JSON-array parse for the loader's `tags_json` column. The
804
+ * store's own `parseJsonArray` is not exported; this matches its contract
805
+ * (returns [] on null/garbage). */
806
+ function parseJsonArrayLoose(value) {
807
+ if (!value)
808
+ return [];
809
+ try {
810
+ const parsed = JSON.parse(value);
811
+ return Array.isArray(parsed) ? parsed.filter((x) => typeof x === 'string') : [];
812
+ }
813
+ catch {
814
+ return [];
815
+ }
816
+ }
406
817
  //# sourceMappingURL=importers.js.map