@danielmarbach/mnemonic-mcp 0.27.2 → 0.29.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 (250) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/README.md +7 -0
  3. package/build/auto-relate.d.ts.map +1 -1
  4. package/build/auto-relate.js +11 -5
  5. package/build/auto-relate.js.map +1 -1
  6. package/build/brands.d.ts +38 -0
  7. package/build/brands.d.ts.map +1 -0
  8. package/build/brands.js +51 -0
  9. package/build/brands.js.map +1 -0
  10. package/build/cache.d.ts.map +1 -1
  11. package/build/cache.js +10 -12
  12. package/build/cache.js.map +1 -1
  13. package/build/cli/import-claude-memory.d.ts +4 -0
  14. package/build/cli/import-claude-memory.d.ts.map +1 -0
  15. package/build/cli/import-claude-memory.js +146 -0
  16. package/build/cli/import-claude-memory.js.map +1 -0
  17. package/build/cli/migrate.d.ts +2 -0
  18. package/build/cli/migrate.d.ts.map +1 -0
  19. package/build/cli/migrate.js +104 -0
  20. package/build/cli/migrate.js.map +1 -0
  21. package/build/config.d.ts +2 -0
  22. package/build/config.d.ts.map +1 -1
  23. package/build/config.js +52 -23
  24. package/build/config.js.map +1 -1
  25. package/build/consolidate.d.ts +2 -1
  26. package/build/consolidate.d.ts.map +1 -1
  27. package/build/consolidate.js +3 -6
  28. package/build/consolidate.js.map +1 -1
  29. package/build/context.d.ts +5 -0
  30. package/build/context.d.ts.map +1 -0
  31. package/build/context.js +47 -0
  32. package/build/context.js.map +1 -0
  33. package/build/date-utils.d.ts +3 -0
  34. package/build/date-utils.d.ts.map +1 -0
  35. package/build/date-utils.js +10 -0
  36. package/build/date-utils.js.map +1 -0
  37. package/build/domain-errors.d.ts +49 -0
  38. package/build/domain-errors.d.ts.map +1 -0
  39. package/build/domain-errors.js +99 -0
  40. package/build/domain-errors.js.map +1 -0
  41. package/build/embeddings.d.ts +2 -1
  42. package/build/embeddings.d.ts.map +1 -1
  43. package/build/embeddings.js +39 -9
  44. package/build/embeddings.js.map +1 -1
  45. package/build/error-utils.d.ts +33 -0
  46. package/build/error-utils.d.ts.map +1 -0
  47. package/build/error-utils.js +65 -0
  48. package/build/error-utils.js.map +1 -0
  49. package/build/git-constants.d.ts +2 -0
  50. package/build/git-constants.d.ts.map +1 -0
  51. package/build/git-constants.js +2 -0
  52. package/build/git-constants.js.map +1 -0
  53. package/build/git.d.ts +27 -18
  54. package/build/git.d.ts.map +1 -1
  55. package/build/git.js +45 -24
  56. package/build/git.js.map +1 -1
  57. package/build/helpers/embed.d.ts +13 -0
  58. package/build/helpers/embed.d.ts.map +1 -0
  59. package/build/helpers/embed.js +68 -0
  60. package/build/helpers/embed.js.map +1 -0
  61. package/build/helpers/git-commit.d.ts +43 -0
  62. package/build/helpers/git-commit.d.ts.map +1 -0
  63. package/build/helpers/git-commit.js +129 -0
  64. package/build/helpers/git-commit.js.map +1 -0
  65. package/build/helpers/index.d.ts +19 -0
  66. package/build/helpers/index.d.ts.map +1 -0
  67. package/build/helpers/index.js +83 -0
  68. package/build/helpers/index.js.map +1 -0
  69. package/build/helpers/persistence.d.ts +34 -0
  70. package/build/helpers/persistence.d.ts.map +1 -0
  71. package/build/helpers/persistence.js +177 -0
  72. package/build/helpers/persistence.js.map +1 -0
  73. package/build/helpers/project.d.ts +21 -0
  74. package/build/helpers/project.d.ts.map +1 -0
  75. package/build/helpers/project.js +75 -0
  76. package/build/helpers/project.js.map +1 -0
  77. package/build/helpers/vault.d.ts +50 -0
  78. package/build/helpers/vault.d.ts.map +1 -0
  79. package/build/helpers/vault.js +196 -0
  80. package/build/helpers/vault.js.map +1 -0
  81. package/build/index.js +12 -5467
  82. package/build/index.js.map +1 -1
  83. package/build/lexical.d.ts +1 -1
  84. package/build/lexical.d.ts.map +1 -1
  85. package/build/lexical.js +2 -3
  86. package/build/lexical.js.map +1 -1
  87. package/build/markdown-ast.d.ts.map +1 -1
  88. package/build/markdown-ast.js +4 -2
  89. package/build/markdown-ast.js.map +1 -1
  90. package/build/migration.d.ts.map +1 -1
  91. package/build/migration.js +12 -8
  92. package/build/migration.js.map +1 -1
  93. package/build/project-introspection.d.ts +4 -4
  94. package/build/project-introspection.d.ts.map +1 -1
  95. package/build/project-introspection.js +71 -27
  96. package/build/project-introspection.js.map +1 -1
  97. package/build/project-memory-policy.d.ts.map +1 -1
  98. package/build/project-memory-policy.js +38 -3
  99. package/build/project-memory-policy.js.map +1 -1
  100. package/build/project.d.ts +2 -1
  101. package/build/project.d.ts.map +1 -1
  102. package/build/project.js +29 -41
  103. package/build/project.js.map +1 -1
  104. package/build/projections.d.ts.map +1 -1
  105. package/build/projections.js +3 -2
  106. package/build/projections.js.map +1 -1
  107. package/build/prompts.d.ts +3 -0
  108. package/build/prompts.d.ts.map +1 -0
  109. package/build/prompts.js +138 -0
  110. package/build/prompts.js.map +1 -0
  111. package/build/provenance.d.ts +9 -3
  112. package/build/provenance.d.ts.map +1 -1
  113. package/build/provenance.js +46 -15
  114. package/build/provenance.js.map +1 -1
  115. package/build/recall.d.ts +2 -1
  116. package/build/recall.d.ts.map +1 -1
  117. package/build/recall.js +30 -14
  118. package/build/recall.js.map +1 -1
  119. package/build/relationships.d.ts +2 -2
  120. package/build/relationships.d.ts.map +1 -1
  121. package/build/relationships.js +39 -43
  122. package/build/relationships.js.map +1 -1
  123. package/build/semantic-patch.d.ts.map +1 -1
  124. package/build/semantic-patch.js +16 -9
  125. package/build/semantic-patch.js.map +1 -1
  126. package/build/server-context.d.ts +18 -0
  127. package/build/server-context.d.ts.map +1 -0
  128. package/build/server-context.js +2 -0
  129. package/build/server-context.js.map +1 -0
  130. package/build/startup.d.ts +5 -0
  131. package/build/startup.d.ts.map +1 -0
  132. package/build/startup.js +37 -0
  133. package/build/startup.js.map +1 -0
  134. package/build/storage.d.ts +17 -15
  135. package/build/storage.d.ts.map +1 -1
  136. package/build/storage.js +67 -93
  137. package/build/storage.js.map +1 -1
  138. package/build/structured-content.d.ts +115 -74
  139. package/build/structured-content.d.ts.map +1 -1
  140. package/build/structured-content.js +41 -17
  141. package/build/structured-content.js.map +1 -1
  142. package/build/temporal-interpretation.d.ts +2 -1
  143. package/build/temporal-interpretation.d.ts.map +1 -1
  144. package/build/temporal-interpretation.js +15 -8
  145. package/build/temporal-interpretation.js.map +1 -1
  146. package/build/tools/consolidate-helpers.d.ts +55 -0
  147. package/build/tools/consolidate-helpers.d.ts.map +1 -0
  148. package/build/tools/consolidate-helpers.js +815 -0
  149. package/build/tools/consolidate-helpers.js.map +1 -0
  150. package/build/tools/consolidate.d.ts +4 -0
  151. package/build/tools/consolidate.d.ts.map +1 -0
  152. package/build/tools/consolidate.js +127 -0
  153. package/build/tools/consolidate.js.map +1 -0
  154. package/build/tools/detect-project.d.ts +6 -0
  155. package/build/tools/detect-project.d.ts.map +1 -0
  156. package/build/tools/detect-project.js +79 -0
  157. package/build/tools/detect-project.js.map +1 -0
  158. package/build/tools/discover-tags.d.ts +4 -0
  159. package/build/tools/discover-tags.d.ts.map +1 -0
  160. package/build/tools/discover-tags.js +236 -0
  161. package/build/tools/discover-tags.js.map +1 -0
  162. package/build/tools/forget.d.ts +4 -0
  163. package/build/tools/forget.d.ts.map +1 -0
  164. package/build/tools/forget.js +123 -0
  165. package/build/tools/forget.js.map +1 -0
  166. package/build/tools/get-project-identity.d.ts +4 -0
  167. package/build/tools/get-project-identity.d.ts.map +1 -0
  168. package/build/tools/get-project-identity.js +59 -0
  169. package/build/tools/get-project-identity.js.map +1 -0
  170. package/build/tools/get.d.ts +4 -0
  171. package/build/tools/get.d.ts.map +1 -0
  172. package/build/tools/get.js +115 -0
  173. package/build/tools/get.js.map +1 -0
  174. package/build/tools/index.d.ts +4 -0
  175. package/build/tools/index.d.ts.map +1 -0
  176. package/build/tools/index.js +47 -0
  177. package/build/tools/index.js.map +1 -0
  178. package/build/tools/list.d.ts +4 -0
  179. package/build/tools/list.d.ts.map +1 -0
  180. package/build/tools/list.js +95 -0
  181. package/build/tools/list.js.map +1 -0
  182. package/build/tools/memory-graph.d.ts +4 -0
  183. package/build/tools/memory-graph.d.ts.map +1 -0
  184. package/build/tools/memory-graph.js +84 -0
  185. package/build/tools/memory-graph.js.map +1 -0
  186. package/build/tools/migration.d.ts +5 -0
  187. package/build/tools/migration.d.ts.map +1 -0
  188. package/build/tools/migration.js +158 -0
  189. package/build/tools/migration.js.map +1 -0
  190. package/build/tools/move-memory.d.ts +4 -0
  191. package/build/tools/move-memory.d.ts.map +1 -0
  192. package/build/tools/move-memory.js +170 -0
  193. package/build/tools/move-memory.js.map +1 -0
  194. package/build/tools/policy.d.ts +5 -0
  195. package/build/tools/policy.d.ts.map +1 -0
  196. package/build/tools/policy.js +195 -0
  197. package/build/tools/policy.js.map +1 -0
  198. package/build/tools/project-memory-summary.d.ts +4 -0
  199. package/build/tools/project-memory-summary.d.ts.map +1 -0
  200. package/build/tools/project-memory-summary.js +477 -0
  201. package/build/tools/project-memory-summary.js.map +1 -0
  202. package/build/tools/recall-helpers.d.ts +40 -0
  203. package/build/tools/recall-helpers.d.ts.map +1 -0
  204. package/build/tools/recall-helpers.js +217 -0
  205. package/build/tools/recall-helpers.js.map +1 -0
  206. package/build/tools/recall.d.ts +4 -0
  207. package/build/tools/recall.d.ts.map +1 -0
  208. package/build/tools/recall.js +413 -0
  209. package/build/tools/recall.js.map +1 -0
  210. package/build/tools/recent-memories.d.ts +4 -0
  211. package/build/tools/recent-memories.d.ts.map +1 -0
  212. package/build/tools/recent-memories.js +79 -0
  213. package/build/tools/recent-memories.js.map +1 -0
  214. package/build/tools/relate.d.ts +4 -0
  215. package/build/tools/relate.d.ts.map +1 -0
  216. package/build/tools/relate.js +180 -0
  217. package/build/tools/relate.js.map +1 -0
  218. package/build/tools/remember.d.ts +4 -0
  219. package/build/tools/remember.d.ts.map +1 -0
  220. package/build/tools/remember.js +219 -0
  221. package/build/tools/remember.js.map +1 -0
  222. package/build/tools/set-project-identity.d.ts +4 -0
  223. package/build/tools/set-project-identity.d.ts.map +1 -0
  224. package/build/tools/set-project-identity.js +113 -0
  225. package/build/tools/set-project-identity.js.map +1 -0
  226. package/build/tools/sync.d.ts +4 -0
  227. package/build/tools/sync.d.ts.map +1 -0
  228. package/build/tools/sync.js +127 -0
  229. package/build/tools/sync.js.map +1 -0
  230. package/build/tools/unrelate.d.ts +4 -0
  231. package/build/tools/unrelate.d.ts.map +1 -0
  232. package/build/tools/unrelate.js +179 -0
  233. package/build/tools/unrelate.js.map +1 -0
  234. package/build/tools/update.d.ts +4 -0
  235. package/build/tools/update.d.ts.map +1 -0
  236. package/build/tools/update.js +364 -0
  237. package/build/tools/update.js.map +1 -0
  238. package/build/tools/where-is-memory.d.ts +4 -0
  239. package/build/tools/where-is-memory.d.ts.map +1 -0
  240. package/build/tools/where-is-memory.js +61 -0
  241. package/build/tools/where-is-memory.js.map +1 -0
  242. package/build/validation.d.ts +24 -0
  243. package/build/validation.d.ts.map +1 -0
  244. package/build/validation.js +62 -0
  245. package/build/validation.js.map +1 -0
  246. package/build/vault.d.ts.map +1 -1
  247. package/build/vault.js +38 -47
  248. package/build/vault.js.map +1 -1
  249. package/package.json +5 -2
  250. package/skills/mnemonic-rpi-workflow/SKILL.md +48 -17
package/build/project.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { execFile } from "child_process";
2
2
  import { promisify } from "util";
3
3
  import path from "path";
4
+ import { projectId } from "./brands.js";
5
+ import { attempt } from "./error-utils.js";
4
6
  const execFileAsync = promisify(execFile);
5
7
  /**
6
8
  * Resolve a working directory path to a stable project identifier.
@@ -43,7 +45,7 @@ export async function resolveProjectIdentity(cwd, options = {}) {
43
45
  }
44
46
  return {
45
47
  project: {
46
- id: normalizeRemote(overrideRemote),
48
+ id: projectId(normalizeRemote(overrideRemote)),
47
49
  name: extractRepoName(overrideRemote),
48
50
  source: "git-remote-override",
49
51
  remoteName: identityOverride.remoteName,
@@ -54,14 +56,11 @@ export async function resolveProjectIdentity(cwd, options = {}) {
54
56
  };
55
57
  }
56
58
  export async function getCurrentGitBranch(cwd) {
57
- try {
58
- const { stdout } = await execFileAsync("git", ["branch", "--show-current"], { cwd });
59
- const branch = stdout.trim();
60
- return branch.length > 0 ? branch : undefined;
61
- }
62
- catch {
59
+ const result = await attempt("project:branch", () => execFileAsync("git", ["branch", "--show-current"], { cwd }));
60
+ if (!result.ok)
63
61
  return undefined;
64
- }
62
+ const branch = result.value.stdout.trim();
63
+ return branch.length > 0 ? branch : undefined;
65
64
  }
66
65
  async function detectDefaultProject(cwd) {
67
66
  if (!cwd)
@@ -73,19 +72,19 @@ async function detectDefaultProject(cwd) {
73
72
  const remoteCwd = topLevelRoot ?? cwd;
74
73
  const remote = await getGitRemoteUrl(remoteCwd, "origin");
75
74
  if (remote) {
76
- const id = normalizeRemote(remote);
75
+ const id = projectId(normalizeRemote(remote));
77
76
  const name = extractRepoName(remote);
78
77
  return { id, name, source: "git-remote", remoteName: "origin" };
79
78
  }
80
79
  // Try git root folder name (repo without remote)
81
80
  if (topLevelRoot) {
82
81
  const name = path.basename(topLevelRoot);
83
- return { id: slugify(name), name, source: "git-folder" };
82
+ return { id: projectId(slugify(name)), name, source: "git-folder" };
84
83
  }
85
84
  // Fallback: just use the directory name
86
85
  const name = path.basename(path.resolve(cwd));
87
86
  if (name) {
88
- return { id: slugify(name), name, source: "folder" };
87
+ return { id: projectId(slugify(name)), name, source: "folder" };
89
88
  }
90
89
  return null;
91
90
  }
@@ -95,41 +94,30 @@ async function detectDefaultProject(cwd) {
95
94
  * a git repository at all.
96
95
  */
97
96
  async function findTopLevelGitRoot(cwd, visited = new Set()) {
98
- try {
99
- const { stdout: rootOut } = await execFileAsync("git", ["rev-parse", "--show-toplevel"], { cwd });
100
- const root = rootOut.trim();
101
- if (!root)
102
- return null;
103
- // Guard against infinite recursion in pathological submodule configurations.
104
- if (visited.has(root))
105
- return root;
106
- visited.add(root);
107
- // Check if we are inside a git submodule and walk up to the superproject root.
108
- try {
109
- const { stdout: superOut } = await execFileAsync("git", ["rev-parse", "--show-superproject-working-tree"], { cwd });
110
- const superproject = superOut.trim();
111
- if (superproject) {
112
- return findTopLevelGitRoot(superproject, visited);
113
- }
114
- }
115
- catch {
116
- // Not inside a submodule or git version does not support the flag; use current root.
117
- }
118
- return root;
119
- }
120
- catch {
97
+ const rootResult = await attempt("project:git-root", () => execFileAsync("git", ["rev-parse", "--show-toplevel"], { cwd }));
98
+ if (!rootResult.ok)
121
99
  return null;
100
+ const root = rootResult.value.stdout.trim();
101
+ if (!root)
102
+ return null;
103
+ if (visited.has(root))
104
+ return root;
105
+ visited.add(root);
106
+ const superResult = await attempt("project:superproject", () => execFileAsync("git", ["rev-parse", "--show-superproject-working-tree"], { cwd }));
107
+ if (superResult.ok) {
108
+ const superproject = superResult.value.stdout.trim();
109
+ if (superproject) {
110
+ return findTopLevelGitRoot(superproject, visited);
111
+ }
122
112
  }
113
+ return root;
123
114
  }
124
115
  async function getGitRemoteUrl(cwd, remoteName) {
125
- try {
126
- const { stdout: remoteOut } = await execFileAsync("git", ["remote", "get-url", remoteName], { cwd });
127
- const remote = remoteOut.trim();
128
- return remote || null;
129
- }
130
- catch {
116
+ const result = await attempt("project:remote-url", () => execFileAsync("git", ["remote", "get-url", remoteName], { cwd }));
117
+ if (!result.ok)
131
118
  return null;
132
- }
119
+ const remote = result.value.stdout.trim();
120
+ return remote || null;
133
121
  }
134
122
  /**
135
123
  * Normalize a git remote URL to a stable lowercase identifier.
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../src/projections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQ9D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAgD3D;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1D;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,MAAM,CAwBrI;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAuB1D;AAID;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAWjF;AAID;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEpG;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG"}
1
+ {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../src/projections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAS9D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAgD3D;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1D;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,MAAM,CAwBrI;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAuB1D;AAID;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAWjF;AAID;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEpG;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG"}
@@ -1,3 +1,4 @@
1
+ import { memoryId } from "./brands.js";
1
2
  const MAX_SUMMARY_LENGTH = 280;
2
3
  const MAX_HEADINGS = 8;
3
4
  const MAX_PROJECTION_TEXT_LENGTH = 1200;
@@ -70,7 +71,7 @@ export function extractHeadings(markdown) {
70
71
  const match = /^(#{1,3})\s+(.+)/.exec(line.trim());
71
72
  if (!match)
72
73
  continue;
73
- const text = stripMarkdownInline(match[2]).trim();
74
+ const text = stripMarkdownInline(match[2] ?? "").trim();
74
75
  if (!text || seen.has(text))
75
76
  continue;
76
77
  seen.add(text);
@@ -163,7 +164,7 @@ export function isProjectionStale(note, projection) {
163
164
  * Read a stored projection, or null if not found.
164
165
  */
165
166
  export async function getProjection(storage, noteId) {
166
- return storage.readProjection(noteId);
167
+ return storage.readProjection(memoryId(noteId));
167
168
  }
168
169
  /**
169
170
  * Build (or return cached) projection for a note.
@@ -1 +1 @@
1
- {"version":3,"file":"projections.js","sourceRoot":"","sources":["../src/projections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projections.js","sourceRoot":"","sources":["../src/projections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerPrompts(server: McpServer): void;
3
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoJvD"}
@@ -0,0 +1,138 @@
1
+ export function registerPrompts(server) {
2
+ // ── mnemonic-workflow-hint prompt ─────────────────────────────────────────────
3
+ server.registerPrompt("mnemonic-workflow-hint", {
4
+ title: "Mnemonic Workflow Hints",
5
+ description: "Optional workflow hints for using the mnemonic memory tools effectively.",
6
+ }, async () => ({
7
+ messages: [
8
+ {
9
+ role: "user",
10
+ content: {
11
+ type: "text",
12
+ text: "## Mnemonic MCP workflow hints\n\n" +
13
+ "Avoid duplicate memories. Prefer inspecting and updating existing memories before creating new ones.\n\n" +
14
+ "- REQUIRES: Before `remember`, call `recall` or `list` first.\n" +
15
+ "- If `recall` or `list` returns a plausible match, call `get` before deciding whether to `update` or `remember`.\n" +
16
+ "- If an existing memory already covers the topic, use `update`, not `remember`.\n" +
17
+ "- When unsure, prefer `recall` over `remember`.\n" +
18
+ "- For repo-related tasks, pass `cwd` so mnemonic can route project memories correctly.\n\n" +
19
+ "Workflow: `recall`/`list` -> `get` -> `update` or `remember` -> `relate`/`consolidate`/`move_memory`. Use `discover_tags` only when tag choice is ambiguous.\n\n" +
20
+ "When a merge/prune decision is uncertain, use optional evidence enrichment: `recall` with `evidence: \"compact\"` and `consolidate` analysis strategies with `evidence: true`. Evidence improves confidence but is not required.\n\n" +
21
+ "Roles are optional prioritization hints, not schema. Lifecycle still governs durability. When `lifecycle` is omitted, `remember` applies soft defaults based on role: `research`, `plan`, and `review` default to `temporary`; `decision`, `summary`, and `reference` default to `permanent`. Explicit `lifecycle` always overrides the role-based default. Inferred roles are internal hints only. Prioritization is language-independent by default.\n\n" +
22
+ "### Working-state continuity\n\n" +
23
+ "Preserve in-progress work as temporary notes when continuation value is high. Recovery happens after project orientation.\n\n" +
24
+ "**Checkpoint note structure (temporary notes):**\n" +
25
+ "- Title pattern: 'WIP: <topic>' or 'Checkpoint: <description>'\n" +
26
+ "- Opening paragraph: current status and next immediate step\n" +
27
+ "- Body: what was attempted, what worked, blockers, alternatives considered\n" +
28
+ "- End with explicit next action and confidence level\n\n" +
29
+ "**Checkpoint note guidance:**\n" +
30
+ "- One checkpoint per active task or investigation thread\n" +
31
+ "- Update the same checkpoint note as work progresses (don't create new ones)\n" +
32
+ "- Link to related decisions: use `relate` to connect temporary checkpoints to permanent decisions\n" +
33
+ "- Consolidate into a durable note when complete; let lifecycle defaults delete temporary scaffolding unless you intentionally need preserved history\n\n" +
34
+ "**Recovery workflow:**\n" +
35
+ "- Call `project_memory_summary` first for orientation (do not skip to recovery)\n" +
36
+ "- Use `lifecycle: temporary` for active plans, WIP checkpoints, draft investigations, and unvalidated options\n" +
37
+ "- Use `lifecycle: permanent` for decisions, discovered constraints, bug causes, and reusable lessons\n" +
38
+ "- After orientation, recover working-state from temporary notes via `recall` with lifecycle filter\n" +
39
+ "- Consolidate temporary notes into durable ones once knowledge stabilizes\n" +
40
+ "- Recovery is a follow-on step, not a replacement for orientation\n\n" +
41
+ "### Anti-patterns\n\n" +
42
+ "- Bad: call `remember` immediately because the user said 'remember'.\n" +
43
+ "- Good: `recall` or `list` first, then `get`, then `update` or `remember`.\n" +
44
+ "- Bad: create another note when `recall` or `list` already found the same decision.\n" +
45
+ "- Good: `update` the existing memory and relate it if needed.\n" +
46
+ "- Bad: skip orientation and jump straight to working-state recovery.\n" +
47
+ "- Good: `project_memory_summary` first, then recover temporary notes.\n\n" +
48
+ "### Storage model\n\n" +
49
+ "Memories can live in:\n" +
50
+ "- `main-vault` for global knowledge\n" +
51
+ "- `project-vault` as the broad project-level filter\n" +
52
+ "- `sub-vault:<folder>` for a specific project sub-vault such as `sub-vault:.mnemonic-lib`\n\n" +
53
+ "Passing `cwd` enables:\n" +
54
+ "- project memory routing\n" +
55
+ "- project-aware recall ranking\n" +
56
+ "- project memory policy lookup\n\n" +
57
+ "### Tiny examples\n\n" +
58
+ "- Existing bug note found by `recall` -> inspect with `get` -> refine with `update`.\n" +
59
+ "- No matching note found by `recall` -> optional `discover_tags` with note context -> create with `remember`.\n" +
60
+ "- Two notes overlap heavily -> inspect -> clean up with `consolidate`.\n" +
61
+ "- Unsure why a recall hit ranked high -> rerun `recall` with `evidence: \"compact\"`.\n" +
62
+ "- Unsure whether to merge/prune -> run `consolidate` analysis with `evidence: true` before `execute-merge` or `prune-superseded`.\n" +
63
+ "- Resume work: `project_memory_summary` -> `recall` (lifecycle: temporary) -> continue from temporary notes.\n\n" +
64
+ "### semanticPatch format\n\n" +
65
+ "When using `update` with `semanticPatch`:\n" +
66
+ "- Each patch is an object with two keys: `selector` and `operation` (not flat `{op, value}` at top level).\n" +
67
+ "- `selector` has exactly one key: `heading`, `headingStartsWith`, `nthChild`, or `lastChild`.\n" +
68
+ "- `operation` has an `op` key plus `value` (except `remove` which has no value).\n" +
69
+ "- The parameter must be a JSON array, NOT a string.\n" +
70
+ "- Use `get` first to read exact heading text, then use those headings (without `##` prefix) as selector values.\n" +
71
+ "- Common mistake: writing `{ \"op\": \"appendChild\", \"value\": \"...\" }` at the top level instead of nesting inside `operation`. Correct shape: `{ \"selector\": { \"heading\": \"Findings\" }, \"operation\": { \"op\": \"insertAfter\", \"value\": \"text\" } }`\n" +
72
+ "- `appendChild`, `prependChild`, and `replaceChildren` do NOT work with `heading` selectors. To add content under a heading, use `insertAfter`. To replace a heading, use `replace`.",
73
+ },
74
+ },
75
+ ],
76
+ }));
77
+ // ── mnemonic-rpi-workflow prompt ───────────────────────────────────────────────
78
+ const rpiWorkflowPrompt = async () => ({
79
+ messages: [
80
+ {
81
+ role: "user",
82
+ content: {
83
+ type: "text",
84
+ text: "## RPIR workflow: research → plan → implement → review\n\n" +
85
+ "mnemonic is the artifact store, not the runtime. Store workflow artifacts with correct roles and lifecycle; do not build orchestration in core.\n\n" +
86
+ "### Request root note\n\n" +
87
+ "For each RPIR workflow, create one request root note: `role: context`, `lifecycle: temporary`, `tags: [\"workflow\", \"request\"]`. All artifacts relate to it.\n\n" +
88
+ "### Stage 1 — Research\n\n" +
89
+ "- Create or update request root note.\n" +
90
+ "- Create research notes: `role: research`, `lifecycle: temporary`.\n" +
91
+ "- Distill a short research summary when findings are scattered.\n" +
92
+ "- Link research `related-to` request root.\n" +
93
+ "- Before creating research notes, call `recall` to check whether existing notes already cover the topic.\n\n" +
94
+ "### Stage 2 — Plan\n\n" +
95
+ "- Create or update one plan note: `role: plan`, `lifecycle: temporary`.\n" +
96
+ "- Link plan `related-to` request root + key research notes.\n" +
97
+ "- Keep plan concise and executable.\n" +
98
+ "- REQUIRES: One current plan per request. Update or supersede when plan evolves.\n" +
99
+ "- Material changes (architecture, scope, ordering, validation, assumptions): update plan note first, then continue.\n" +
100
+ "- Non-material changes (wording, phrasing, detail): update inline without branching.\n\n" +
101
+ "### Stage 3 — Implement\n\n" +
102
+ "- Create temporary apply/task notes, tagged with `apply`.\n" +
103
+ "- Use `role: plan` for executable steps. Use `role: context` for observations and checkpoints.\n" +
104
+ "- Link apply notes `related-to` plan.\n" +
105
+ "- For non-trivial work, hand narrow context to subagent: request note, current plan or relevant slice, key research notes, narrow file/task scope.\n" +
106
+ "- Subagent returns: updated apply note, optional review note, recommendation (continue / block / update plan).\n\n" +
107
+ "### Stage 4 — Review\n\n" +
108
+ "- Create review notes: `role: review`, `lifecycle: temporary`.\n" +
109
+ "- Link review `related-to` apply or plan.\n" +
110
+ "- Fix directly or mark blockers.\n" +
111
+ "- If review changes the plan materially, update plan note first.\n\n" +
112
+ "### Stage 5 — Consolidate\n\n" +
113
+ "At workflow end:\n" +
114
+ "- Create decision note for resolved approaches (`lifecycle: permanent`).\n" +
115
+ "- Create summary note for outcome recaps (`lifecycle: permanent`).\n" +
116
+ "- Promote reusable facts and patterns into permanent reference notes.\n" +
117
+ "- Let pure scaffolding and redundant checkpoints expire as temporary notes.\n\n" +
118
+ "### Relationship conventions\n\n" +
119
+ "Minimal set. Link to immediate upstream artifacts only. No dense cross-linking.\n" +
120
+ "- research → request root\n" +
121
+ "- plan → request root + key research notes\n" +
122
+ "- apply/task → plan\n" +
123
+ "- review → apply or plan\n" +
124
+ "- outcome → plan (optionally request root)\n\n" +
125
+ "### Commit discipline\n\n" +
126
+ "Three classes: memory (research/plan/review artifacts), work (code/test/docs), memory (consolidation/promotion). When plan changes materially: update notes, commit memory, then continue work.\n\n" +
127
+ "### Iterate?\n\n" +
128
+ "Only when review or checks warrant it. Not the default.",
129
+ },
130
+ },
131
+ ],
132
+ });
133
+ server.registerPrompt("mnemonic-rpi-workflow", {
134
+ title: "RPI Workflow: Research → Plan → Implement → Review",
135
+ description: "Stage protocol and conventions for structured task workflows using mnemonic as artifact store.",
136
+ }, rpiWorkflowPrompt);
137
+ }
138
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { CommitStats, GitOps, LastCommit } from "./git.js";
2
- import type { NoteLifecycle } from "./storage.js";
2
+ import type { NoteLifecycle, NoteRole } from "./storage.js";
3
3
  import type { Confidence, Provenance } from "./structured-content.js";
4
4
  export type { InterpretedHistoryEntry } from "./temporal-interpretation.js";
5
5
  export declare function buildTemporalHistoryEntry(commit: LastCommit, stats: CommitStats | null, verbose: boolean): {
@@ -14,6 +14,12 @@ export declare function buildTemporalHistoryEntry(commit: LastCommit, stats: Com
14
14
  changeType: "metadata-only change" | "minor edit" | "substantial update";
15
15
  };
16
16
  };
17
- export declare function getNoteProvenance(git: GitOps, filePath: string): Promise<Provenance | undefined>;
18
- export declare function computeConfidence(lifecycle: NoteLifecycle, updatedAt: string, centrality: number): Confidence;
17
+ export declare function getNoteProvenance(git: GitOps, filePath: string, now?: Date): Promise<Provenance | undefined>;
18
+ export declare function computeSignalStrength(params: {
19
+ lifecycle: NoteLifecycle;
20
+ updatedAt: string;
21
+ role?: NoteRole;
22
+ centrality: number;
23
+ }): number;
24
+ export declare function computeConfidence(lifecycle: NoteLifecycle, updatedAt: string, centrality: number, signalStrength?: number): Confidence;
19
25
  //# sourceMappingURL=provenance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA0C5E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,OAAO,EAAE,OAAO,GACf;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,sBAAsB,GAAG,YAAY,GAAG,oBAAoB,CAAC;KAC1E,CAAC;CACH,CAsBA;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,UAAU,CAcZ"}
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA+D5E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,OAAO,EAAE,OAAO,GACf;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,sBAAsB,GAAG,YAAY,GAAG,oBAAoB,CAAC;KAC1E,CAAC;CACH,CAsBA;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAYjC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAcT;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,UAAU,CAsBZ"}
@@ -1,13 +1,30 @@
1
+ import { daysSince } from "./date-utils.js";
2
+ import { metadataPrefixes } from "./git-constants.js";
1
3
  const RECENTLY_CHANGED_DAYS = 5;
2
- const HIGH_CONFIDENCE_DAYS = 30;
3
- const MEDIUM_CONFIDENCE_DAYS = 90;
4
- const HIGH_CONFIDENCE_CENTRALITY = 5;
4
+ const SIGNAL_ROLE_WEIGHTS = {
5
+ summary: 0.15,
6
+ decision: 0.10,
7
+ plan: 0.08,
8
+ research: 0.05,
9
+ review: 0.05,
10
+ context: 0.05,
11
+ reference: 0.05,
12
+ };
13
+ const SIGNAL_CENTRALITY_LOG_FACTOR = 0.05;
14
+ const SIGNAL_CENTRALITY_MAX = 0.15;
15
+ const SIGNAL_LIFECYCLE_PERMANENT = 0.10;
16
+ const SIGNAL_RECENCY_MAX = 0.10;
17
+ const SIGNAL_RECENCY_WINDOW_DAYS = 90;
18
+ const CONFIDENCE_HIGH_THRESHOLD = 0.35;
19
+ const CONFIDENCE_MEDIUM_THRESHOLD = 0.15;
20
+ const FALLBACK_HIGH_CONFIDENCE_DAYS = 30;
21
+ const FALLBACK_MEDIUM_CONFIDENCE_DAYS = 90;
22
+ const FALLBACK_HIGH_CONFIDENCE_CENTRALITY = 5;
5
23
  function classifyTemporalChange(commit, stats) {
6
- const metadataPrefixes = ["relate:", "unrelate:", "move:", "migrate:", "forget:"];
7
24
  if (stats.additions === 0 && stats.deletions === 0) {
8
25
  return "metadata-only change";
9
26
  }
10
- if (metadataPrefixes.some((prefix) => commit.message.startsWith(prefix))) {
27
+ if (metadataPrefixes.some((prefix) => commit.message.toLowerCase().startsWith(prefix))) {
11
28
  return "metadata-only change";
12
29
  }
13
30
  const totalChangedLines = stats.additions + stats.deletions;
@@ -49,13 +66,11 @@ export function buildTemporalHistoryEntry(commit, stats, verbose) {
49
66
  },
50
67
  };
51
68
  }
52
- export async function getNoteProvenance(git, filePath) {
69
+ export async function getNoteProvenance(git, filePath, now = new Date()) {
53
70
  const commit = await git.getLastCommit(filePath);
54
71
  if (!commit)
55
72
  return undefined;
56
- const commitDate = new Date(commit.timestamp);
57
- const now = new Date();
58
- const daysSinceUpdate = Math.floor((now.getTime() - commitDate.getTime()) / (1000 * 60 * 60 * 24));
73
+ const daysSinceUpdate = Math.floor(daysSince(commit.timestamp));
59
74
  return {
60
75
  lastUpdatedAt: commit.timestamp,
61
76
  lastCommitHash: commit.hash,
@@ -63,14 +78,30 @@ export async function getNoteProvenance(git, filePath) {
63
78
  recentlyChanged: daysSinceUpdate < RECENTLY_CHANGED_DAYS,
64
79
  };
65
80
  }
66
- export function computeConfidence(lifecycle, updatedAt, centrality) {
67
- const now = new Date();
68
- const updatedDate = new Date(updatedAt);
69
- const daysSinceUpdate = Math.floor((now.getTime() - updatedDate.getTime()) / (1000 * 60 * 60 * 24));
70
- if (lifecycle === "permanent" && centrality >= HIGH_CONFIDENCE_CENTRALITY && daysSinceUpdate < HIGH_CONFIDENCE_DAYS) {
81
+ export function computeSignalStrength(params) {
82
+ const daysSinceUpdateNum = Math.floor(daysSince(params.updatedAt));
83
+ const roleWeight = params.role ? SIGNAL_ROLE_WEIGHTS[params.role] ?? 0 : 0;
84
+ const centralityWeight = Math.min(SIGNAL_CENTRALITY_MAX, Math.log(params.centrality + 1) * SIGNAL_CENTRALITY_LOG_FACTOR);
85
+ const lifecycleWeight = params.lifecycle === "permanent" ? SIGNAL_LIFECYCLE_PERMANENT : 0;
86
+ const recencyWeight = SIGNAL_RECENCY_MAX * Math.max(0, 1 - daysSinceUpdateNum / SIGNAL_RECENCY_WINDOW_DAYS);
87
+ const result = roleWeight + centralityWeight + lifecycleWeight + recencyWeight;
88
+ return Number.isFinite(result) ? result : 0;
89
+ }
90
+ export function computeConfidence(lifecycle, updatedAt, centrality, signalStrength) {
91
+ if (signalStrength !== undefined) {
92
+ if (signalStrength >= CONFIDENCE_HIGH_THRESHOLD)
93
+ return "high";
94
+ if (signalStrength >= CONFIDENCE_MEDIUM_THRESHOLD)
95
+ return "medium";
96
+ return "low";
97
+ }
98
+ const daysSinceUpdateNum = Math.floor(daysSince(updatedAt));
99
+ if (lifecycle === "permanent" &&
100
+ centrality >= FALLBACK_HIGH_CONFIDENCE_CENTRALITY &&
101
+ daysSinceUpdateNum < FALLBACK_HIGH_CONFIDENCE_DAYS) {
71
102
  return "high";
72
103
  }
73
- if (daysSinceUpdate < MEDIUM_CONFIDENCE_DAYS) {
104
+ if (daysSinceUpdateNum < FALLBACK_MEDIUM_CONFIDENCE_DAYS) {
74
105
  return "medium";
75
106
  }
76
107
  return "low";
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
package/build/recall.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import type { Vault } from "./vault.js";
2
2
  import type { EffectiveNoteMetadata } from "./role-suggestions.js";
3
+ import type { Confidence } from "./structured-content.js";
3
4
  import type { RelationshipType } from "./storage.js";
4
5
  export interface TemporalQueryHint {
5
6
  windowDays: number;
6
7
  maxBoost: number;
7
- confidence: "high" | "medium" | "low";
8
+ confidence: Confidence;
8
9
  filterWindowDays?: number;
9
10
  }
10
11
  export interface ScoredRecallCandidate {
@@ -1 +1 @@
1
- {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"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"}