@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
package/build/config.d.ts CHANGED
@@ -20,6 +20,7 @@ export declare function readVaultSchemaVersion(vaultPath: string): Promise<strin
20
20
  */
21
21
  export declare function writeVaultSchemaVersion(vaultPath: string, schemaVersion: string): Promise<void>;
22
22
  export declare class MnemonicConfigStore {
23
+ #private;
23
24
  readonly filePath: string;
24
25
  constructor(mainVaultPath: string);
25
26
  load(): Promise<MnemonicConfig>;
@@ -28,6 +29,7 @@ export declare class MnemonicConfigStore {
28
29
  setProjectPolicy(policy: ProjectMemoryPolicy): Promise<void>;
29
30
  setProjectIdentityOverride(projectId: string, override: ProjectIdentityOverride): Promise<void>;
30
31
  setSchemaVersion(schemaVersion: string): Promise<void>;
32
+ invalidateCache(): void;
31
33
  private readAll;
32
34
  private writeAll;
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACnE;AAkID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/E;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrG;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,aAAa,EAAE,MAAM;IAI3B,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC;IAI/B,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAK7E,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAK3F,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/F,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAM9C,OAAO;YAgBP,QAAQ;CAGvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACnE;AAkID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ/E;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarG;AAED,qBAAa,mBAAmB;;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGd,aAAa,EAAE,MAAM;IAI3B,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC;IAI/B,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAK7E,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAK3F,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/F,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,eAAe,IAAI,IAAI;YAIT,OAAO;YA2BP,QAAQ;CAIvB"}
package/build/config.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import fs from "fs/promises";
2
2
  import path from "path";
3
+ import { z } from "zod";
4
+ import { attempt, attemptSync, debugLog, getErrorMessage } from "./error-utils.js";
3
5
  import { CONSOLIDATION_MODES, PROJECT_POLICY_SCOPES, PROTECTED_BRANCH_BEHAVIORS, } from "./project-memory-policy.js";
4
6
  const defaultConfig = {
5
7
  // Keep this at the latest schema version. When adding a new latest-schema
@@ -102,14 +104,14 @@ function normalizeProjectMemoryPolicies(value) {
102
104
  */
103
105
  export async function readVaultSchemaVersion(vaultPath) {
104
106
  const filePath = path.join(path.resolve(vaultPath), "config.json");
105
- try {
106
- const raw = await fs.readFile(filePath, "utf-8");
107
- const parsed = JSON.parse(raw);
108
- return normalizeSchemaVersion(parsed.schemaVersion);
109
- }
110
- catch {
107
+ const result = await attempt("config:read-schema", () => fs.readFile(filePath, "utf-8"));
108
+ if (!result.ok)
111
109
  return defaultConfig.schemaVersion;
112
- }
110
+ const jsonResult = attemptSync("config:parse", () => JSON.parse(result.value));
111
+ if (!jsonResult.ok)
112
+ return defaultConfig.schemaVersion;
113
+ const parsed = VaultSchemaVersionFragmentSchema.safeParse(jsonResult.value);
114
+ return normalizeSchemaVersion(parsed.success ? parsed.data.schemaVersion : undefined);
113
115
  }
114
116
  /**
115
117
  * Write the schema version to a vault's config.json.
@@ -118,18 +120,21 @@ export async function readVaultSchemaVersion(vaultPath) {
118
120
  export async function writeVaultSchemaVersion(vaultPath, schemaVersion) {
119
121
  const filePath = path.join(path.resolve(vaultPath), "config.json");
120
122
  let existing = {};
121
- try {
122
- const raw = await fs.readFile(filePath, "utf-8");
123
- existing = JSON.parse(raw);
123
+ const existingResult = await attempt("config:read-existing", () => fs.readFile(filePath, "utf-8"));
124
+ if (existingResult.ok) {
125
+ const jsonResult = attemptSync("config:parse", () => JSON.parse(existingResult.value));
126
+ const parsed = jsonResult.ok ? ConfigJsonObjectSchema.safeParse(jsonResult.value) : { success: false, data: undefined };
127
+ existing = parsed.success ? parsed.data : {};
124
128
  }
125
- catch {
126
- // No existing config start fresh
129
+ else {
130
+ debugLog("config:write-schema-version", `no existing config, starting fresh: ${getErrorMessage(existingResult.error)}`);
127
131
  }
128
132
  existing.schemaVersion = normalizeSchemaVersion(schemaVersion);
129
133
  await fs.writeFile(filePath, JSON.stringify(existing, null, 2) + "\n", "utf-8");
130
134
  }
131
135
  export class MnemonicConfigStore {
132
136
  filePath;
137
+ #cache = null;
133
138
  constructor(mainVaultPath) {
134
139
  this.filePath = path.join(path.resolve(mainVaultPath), "config.json");
135
140
  }
@@ -159,24 +164,48 @@ export class MnemonicConfigStore {
159
164
  config.schemaVersion = normalizeSchemaVersion(schemaVersion);
160
165
  await this.writeAll(config);
161
166
  }
167
+ invalidateCache() {
168
+ this.#cache = null;
169
+ }
162
170
  async readAll() {
163
- try {
164
- const raw = await fs.readFile(this.filePath, "utf-8");
165
- const parsed = JSON.parse(raw);
166
- return {
167
- schemaVersion: normalizeSchemaVersion(parsed.schemaVersion),
168
- reindexEmbedConcurrency: normalizeConcurrency(parsed.reindexEmbedConcurrency),
169
- mutationPushMode: normalizeMutationPushMode(parsed.mutationPushMode),
170
- projectMemoryPolicies: normalizeProjectMemoryPolicies(parsed.projectMemoryPolicies),
171
- projectIdentityOverrides: normalizeProjectIdentityOverrides(parsed.projectIdentityOverrides),
171
+ if (this.#cache) {
172
+ return this.#cache;
173
+ }
174
+ let config;
175
+ const readResult = await attempt("config:read", () => fs.readFile(this.filePath, "utf-8"));
176
+ if (readResult.ok) {
177
+ const jsonResult = attemptSync("config:parse", () => JSON.parse(readResult.value));
178
+ const parsed = jsonResult.ok ? MnemonicConfigRawSchema.safeParse(jsonResult.value) : { success: false, data: undefined };
179
+ const data = parsed.success ? parsed.data : {};
180
+ config = {
181
+ schemaVersion: normalizeSchemaVersion(data.schemaVersion),
182
+ reindexEmbedConcurrency: normalizeConcurrency(data.reindexEmbedConcurrency),
183
+ mutationPushMode: normalizeMutationPushMode(data.mutationPushMode),
184
+ projectMemoryPolicies: normalizeProjectMemoryPolicies(data.projectMemoryPolicies),
185
+ projectIdentityOverrides: normalizeProjectIdentityOverrides(data.projectIdentityOverrides),
172
186
  };
173
187
  }
174
- catch {
175
- return { ...defaultConfig };
188
+ else {
189
+ debugLog("config:read", `failed, returning defaults: ${getErrorMessage(readResult.error)}`);
190
+ config = { ...defaultConfig };
176
191
  }
192
+ this.#cache = config;
193
+ return config;
177
194
  }
178
195
  async writeAll(config) {
179
196
  await fs.writeFile(this.filePath, JSON.stringify(config, null, 2) + "\n", "utf-8");
197
+ this.#cache = config;
180
198
  }
181
199
  }
200
+ const VaultSchemaVersionFragmentSchema = z.object({
201
+ schemaVersion: z.unknown().optional(),
202
+ });
203
+ const ConfigJsonObjectSchema = z.record(z.string(), z.unknown());
204
+ const MnemonicConfigRawSchema = z.object({
205
+ schemaVersion: z.unknown().optional(),
206
+ reindexEmbedConcurrency: z.unknown().optional(),
207
+ mutationPushMode: z.unknown().optional(),
208
+ projectMemoryPolicies: z.unknown().optional(),
209
+ projectIdentityOverrides: z.unknown().optional(),
210
+ }).passthrough();
182
211
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Note, Relationship } from "./storage.js";
2
2
  import type { ConsolidationMode } from "./project-memory-policy.js";
3
- export type MergeRisk = "low" | "medium" | "high";
3
+ export declare const MERGE_RISKS: readonly ["low", "medium", "high"];
4
+ export type MergeRisk = typeof MERGE_RISKS[number];
4
5
  export interface ConsolidateNoteEvidence {
5
6
  id: string;
6
7
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"consolidate.d.ts","sourceRoot":"","sources":["../src/consolidate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,WAAW,GAAG,WAAW,CAAC;IACrC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACtB;AAiDD,KAAK,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAErG,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,GAC1C,MAAM,EAAE,CAqCV;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,eAAe,EAAE,EACxB,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,GAC1C,MAAM,EAAE,CASV;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAmB7D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,CAIpE;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,EAC3C,GAAG,GAAE,IAAiB,GACrB,uBAAuB,CAiBzB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EACrC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,YAAY,EAAE,CAqBhB;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,EACzC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,YAAY,EAAE,GAAG,SAAS,CAY5B;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAC3C,YAAY,EAAE,iBAAiB,EAC/B,YAAY,CAAC,EAAE,iBAAiB,GAC/B,iBAAiB,CAUnB"}
1
+ {"version":3,"file":"consolidate.d.ts","sourceRoot":"","sources":["../src/consolidate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,eAAO,MAAM,WAAW,oCAAqC,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,WAAW,GAAG,WAAW,CAAC;IACrC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACtB;AA2CD,KAAK,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAErG,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,GAC1C,MAAM,EAAE,CAqCV;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,eAAe,EAAE,EACxB,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,GAC1C,MAAM,EAAE,CASV;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAmB7D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,CAIpE;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,EAC3C,GAAG,GAAE,IAAiB,GACrB,uBAAuB,CAiBzB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EACrC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,YAAY,EAAE,CAqBhB;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,EACzC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,YAAY,EAAE,GAAG,SAAS,CAY5B;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAC3C,YAAY,EAAE,iBAAiB,EAC/B,YAAY,CAAC,EAAE,iBAAiB,GAC/B,iBAAiB,CAUnB"}
@@ -1,10 +1,7 @@
1
+ import { daysSince } from "./date-utils.js";
2
+ export const MERGE_RISKS = ["low", "medium", "high"];
1
3
  function noteAgeDays(updatedAt, now = new Date()) {
2
- const updated = new Date(updatedAt);
3
- if (Number.isNaN(updated.getTime())) {
4
- return 0;
5
- }
6
- const diffMs = now.getTime() - updated.getTime();
7
- return Math.max(0, diffMs / (1000 * 60 * 60 * 24));
4
+ return daysSince(updatedAt, now);
8
5
  }
9
6
  function buildSupersededByMap(notes) {
10
7
  const inbound = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../src/consolidate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../src/consolidate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ServerContext } from "./server-context.js";
2
+ declare function readPackageVersion(): Promise<string>;
3
+ export declare function createServerContext(): Promise<ServerContext>;
4
+ export { readPackageVersion };
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAczD,iBAAe,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAMnD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwBlE;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,47 @@
1
+ import path from "path";
2
+ import { promises as fs } from "fs";
3
+ import { z } from "zod";
4
+ import { MnemonicConfigStore } from "./config.js";
5
+ import { VaultManager } from "./vault.js";
6
+ import { PROJECT_SCOPE_BOOST } from "./tools/recall-helpers.js";
7
+ import { Migrator } from "./migration.js";
8
+ import { defaultVaultPath, resolveUserPath } from "./paths.js";
9
+ import { attempt } from "./error-utils.js";
10
+ const PackageJsonSchema = z.object({ version: z.string().optional() });
11
+ const DEFAULT_RECALL_LIMIT = 5;
12
+ const DEFAULT_MIN_SIMILARITY = 0.3;
13
+ const TEMPORAL_HISTORY_NOTE_LIMIT = 5;
14
+ const TEMPORAL_HISTORY_COMMIT_LIMIT = 5;
15
+ async function readPackageVersion() {
16
+ const packageJsonPath = path.resolve(import.meta.dirname, "../package.json");
17
+ const readResult = await attempt("context:package-json", () => fs.readFile(packageJsonPath, "utf8"));
18
+ if (!readResult.ok)
19
+ return "0.1.0";
20
+ const parsed = PackageJsonSchema.safeParse(JSON.parse(readResult.value));
21
+ return parsed.success ? (parsed.data.version ?? "0.1.0") : "0.1.0";
22
+ }
23
+ export async function createServerContext() {
24
+ const vaultPath = process.env["VAULT_PATH"]
25
+ ? resolveUserPath(process.env["VAULT_PATH"])
26
+ : defaultVaultPath();
27
+ const vaultManager = new VaultManager(vaultPath);
28
+ await vaultManager.initMain();
29
+ const configStore = new MnemonicConfigStore(vaultPath);
30
+ const config = await configStore.load();
31
+ const migrator = new Migrator(vaultManager);
32
+ return {
33
+ server: undefined,
34
+ vaultManager,
35
+ configStore,
36
+ config,
37
+ migrator,
38
+ vaultPath,
39
+ defaultRecallLimit: DEFAULT_RECALL_LIMIT,
40
+ defaultMinSimilarity: DEFAULT_MIN_SIMILARITY,
41
+ projectScopeBoost: PROJECT_SCOPE_BOOST,
42
+ temporalHistoryNoteLimit: TEMPORAL_HISTORY_NOTE_LIMIT,
43
+ temporalHistoryCommitLimit: TEMPORAL_HISTORY_COMMIT_LIMIT,
44
+ };
45
+ }
46
+ export { readPackageVersion };
47
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEvE,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAExC,KAAK,UAAU,kBAAkB;IAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACrG,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACzC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEvB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE5C,OAAO;QACL,MAAM,EAAE,SAAkB;QAC1B,YAAY;QACZ,WAAW;QACX,MAAM;QACN,QAAQ;QACR,SAAS;QACT,kBAAkB,EAAE,oBAAoB;QACxC,oBAAoB,EAAE,sBAAsB;QAC5C,iBAAiB,EAAE,mBAAmB;QACtC,wBAAwB,EAAE,2BAA2B;QACrD,0BAA0B,EAAE,6BAA6B;KAC1D,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const MS_PER_DAY = 86400000;
2
+ export declare function daysSince(isoDate: string, now?: Date): number;
3
+ //# sourceMappingURL=date-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../src/date-utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,WAAa,CAAC;AAErC,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAQzE"}
@@ -0,0 +1,10 @@
1
+ export const MS_PER_DAY = 86_400_000;
2
+ export function daysSince(isoDate, now = new Date()) {
3
+ const updated = new Date(isoDate);
4
+ if (Number.isNaN(updated.getTime())) {
5
+ return 0;
6
+ }
7
+ const diffMs = now.getTime() - updated.getTime();
8
+ return Math.max(0, diffMs / MS_PER_DAY);
9
+ }
10
+ //# sourceMappingURL=date-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.js","sourceRoot":"","sources":["../src/date-utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,MAAY,IAAI,IAAI,EAAE;IAC/D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,49 @@
1
+ export declare class AtomicWriteInProgressError extends Error {
2
+ constructor();
3
+ }
4
+ export declare class MalformedNoteError extends Error {
5
+ constructor(id: string);
6
+ }
7
+ export declare class InvalidNoteIdError extends Error {
8
+ constructor(id: string);
9
+ }
10
+ export declare class VaultNotFoundError extends Error {
11
+ constructor();
12
+ }
13
+ export declare class OllamaUrlError extends Error {
14
+ constructor(reason: string, detail: string);
15
+ }
16
+ export declare class OllamaEmbeddingError extends Error {
17
+ constructor(message: string);
18
+ }
19
+ export declare class UnknownConsolidationModeError extends Error {
20
+ constructor(mode: never);
21
+ }
22
+ export declare class UnknownMigrationError extends Error {
23
+ constructor(migrationName: string);
24
+ }
25
+ export declare class InvalidSchemaVersionError extends Error {
26
+ constructor(version: string);
27
+ }
28
+ export declare class GitLockRetriesExhaustedError extends Error {
29
+ constructor(operationName: string);
30
+ }
31
+ export declare class UnknownRecoveryKindError extends Error {
32
+ constructor(kind: never);
33
+ }
34
+ export declare class UnknownMutationPushModeError extends Error {
35
+ constructor(mode: never);
36
+ }
37
+ export declare class UnknownChangeCategoryError extends Error {
38
+ constructor(category: never);
39
+ }
40
+ export declare class SemanticPatchError extends Error {
41
+ constructor(message: string);
42
+ }
43
+ export declare class MigrationAlreadyRegisteredError extends Error {
44
+ constructor(name: string);
45
+ }
46
+ export declare class UnknownRelationshipTypeError extends Error {
47
+ constructor(type: never);
48
+ }
49
+ //# sourceMappingURL=domain-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-errors.d.ts","sourceRoot":"","sources":["../src/domain-errors.ts"],"names":[],"mappings":"AAGA,qBAAa,0BAA2B,SAAQ,KAAK;;CAKpD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,EAAE,EAAE,MAAM;CAMvB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAK5C;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI3C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,IAAI,EAAE,KAAK;CAIxB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,aAAa,EAAE,MAAM;CAIlC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,aAAa,EAAE,MAAM;CAIlC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,IAAI,EAAE,KAAK;CAIxB;AAED,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,IAAI,EAAE,KAAK;CAIxB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,QAAQ,EAAE,KAAK;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,IAAI,EAAE,KAAK;CAIxB"}
@@ -0,0 +1,99 @@
1
+ // Domain error classes — replaces bare `new Error(...)` in domain logic.
2
+ // Enforced by ast-grep rule: no-bare-new-error
3
+ export class AtomicWriteInProgressError extends Error {
4
+ constructor() {
5
+ super("Atomic notes write already in progress");
6
+ this.name = "AtomicWriteInProgressError";
7
+ }
8
+ }
9
+ export class MalformedNoteError extends Error {
10
+ constructor(id) {
11
+ super(`Malformed note '${id}': missing frontmatter`);
12
+ this.name = "MalformedNoteError";
13
+ }
14
+ }
15
+ export class InvalidNoteIdError extends Error {
16
+ constructor(id) {
17
+ super(`Invalid note ID: "${id}" contains characters that are not allowed (only alphanumeric, hyphens, and underscores)`);
18
+ this.name = "InvalidNoteIdError";
19
+ }
20
+ }
21
+ export class VaultNotFoundError extends Error {
22
+ constructor() {
23
+ super("Vault not found");
24
+ this.name = "VaultNotFoundError";
25
+ }
26
+ }
27
+ export class OllamaUrlError extends Error {
28
+ constructor(reason, detail) {
29
+ super(reason + ": " + detail);
30
+ this.name = "OllamaUrlError";
31
+ }
32
+ }
33
+ export class OllamaEmbeddingError extends Error {
34
+ constructor(message) {
35
+ super(message);
36
+ this.name = "OllamaEmbeddingError";
37
+ }
38
+ }
39
+ export class UnknownConsolidationModeError extends Error {
40
+ constructor(mode) {
41
+ super(`Unknown consolidation mode: ${mode}`);
42
+ this.name = "UnknownConsolidationModeError";
43
+ }
44
+ }
45
+ export class UnknownMigrationError extends Error {
46
+ constructor(migrationName) {
47
+ super(`Unknown migration: ${migrationName}`);
48
+ this.name = "UnknownMigrationError";
49
+ }
50
+ }
51
+ export class InvalidSchemaVersionError extends Error {
52
+ constructor(version) {
53
+ super(`Invalid schema version: ${version}`);
54
+ this.name = "InvalidSchemaVersionError";
55
+ }
56
+ }
57
+ export class GitLockRetriesExhaustedError extends Error {
58
+ constructor(operationName) {
59
+ super(`[git] ${operationName}() lock retries exhausted`);
60
+ this.name = "GitLockRetriesExhaustedError";
61
+ }
62
+ }
63
+ export class UnknownRecoveryKindError extends Error {
64
+ constructor(kind) {
65
+ super(`Unknown recovery kind: ${kind}`);
66
+ this.name = "UnknownRecoveryKindError";
67
+ }
68
+ }
69
+ export class UnknownMutationPushModeError extends Error {
70
+ constructor(mode) {
71
+ super(`Unknown mutation push mode: ${mode}`);
72
+ this.name = "UnknownMutationPushModeError";
73
+ }
74
+ }
75
+ export class UnknownChangeCategoryError extends Error {
76
+ constructor(category) {
77
+ super(`Unhandled change category: ${category}`);
78
+ this.name = "UnknownChangeCategoryError";
79
+ }
80
+ }
81
+ export class SemanticPatchError extends Error {
82
+ constructor(message) {
83
+ super(message);
84
+ this.name = "SemanticPatchError";
85
+ }
86
+ }
87
+ export class MigrationAlreadyRegisteredError extends Error {
88
+ constructor(name) {
89
+ super(`Migration already registered: ${name}`);
90
+ this.name = "MigrationAlreadyRegisteredError";
91
+ }
92
+ }
93
+ export class UnknownRelationshipTypeError extends Error {
94
+ constructor(type) {
95
+ super(`Unhandled relationship type: ${type}`);
96
+ this.name = "UnknownRelationshipTypeError";
97
+ }
98
+ }
99
+ //# sourceMappingURL=domain-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-errors.js","sourceRoot":"","sources":["../src/domain-errors.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
+ import type { EmbeddingModelId } from "./brands.js";
1
2
  export declare function embed(text: string): Promise<number[]>;
2
3
  export declare function cosineSimilarity(a: number[], b: number[]): number;
3
- export declare const embedModel: string;
4
+ export declare const embedModel: EmbeddingModelId;
4
5
  //# sourceMappingURL=embeddings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAGA,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB3D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CASjE;AAED,eAAO,MAAM,UAAU,QAAc,CAAC"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA8BpD,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyB3D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAWjE;AAED,eAAO,MAAM,UAAU,EAAE,gBAAgD,CAAC"}
@@ -1,4 +1,28 @@
1
- const OLLAMA_URL = process.env["OLLAMA_URL"] ?? "http://localhost:11434";
1
+ import { embeddingModelId } from "./brands.js";
2
+ import { OllamaUrlError, OllamaEmbeddingError } from "./domain-errors.js";
3
+ import { z } from "zod";
4
+ function validateOllamaUrl(url) {
5
+ let parsed;
6
+ try {
7
+ parsed = new URL(url);
8
+ }
9
+ catch {
10
+ throw new OllamaUrlError("OLLAMA_URL is not a valid URL", url);
11
+ }
12
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
13
+ throw new OllamaUrlError("OLLAMA_URL must use http: or https: scheme", `got ${parsed.protocol}`);
14
+ }
15
+ const host = parsed.hostname;
16
+ const isLocalhost = host === "localhost" || host === "127.0.0.1" || host === "::1";
17
+ const isPrivate = /^10\./.test(host) ||
18
+ /^172\.(1[6-9]|2\d|3[01])\./.test(host) ||
19
+ /^192\.168\./.test(host);
20
+ if (!isLocalhost && !isPrivate) {
21
+ throw new OllamaUrlError("OLLAMA_URL must resolve to a localhost or private-network address", `got ${host}`);
22
+ }
23
+ return url;
24
+ }
25
+ const OLLAMA_URL = validateOllamaUrl(process.env["OLLAMA_URL"] ?? "http://localhost:11434");
2
26
  const EMBED_MODEL = process.env["EMBED_MODEL"] ?? "nomic-embed-text-v2-moe";
3
27
  export async function embed(text) {
4
28
  const res = await fetch(`${OLLAMA_URL}/api/embed`, {
@@ -7,26 +31,32 @@ export async function embed(text) {
7
31
  body: JSON.stringify({ model: EMBED_MODEL, input: text, truncate: true }),
8
32
  });
9
33
  if (!res.ok) {
10
- throw new Error(`Ollama embedding failed: ${res.status} ${res.statusText}. ` +
34
+ throw new OllamaEmbeddingError(`Ollama embedding failed: ${res.status} ${res.statusText}. ` +
11
35
  `Is Ollama running at ${OLLAMA_URL} with model '${EMBED_MODEL}' pulled?`);
12
36
  }
13
- const data = (await res.json());
14
- const embedding = data.embeddings?.[0];
37
+ const OllamaEmbedResponseSchema = z.object({ embeddings: z.array(z.array(z.number())).optional() });
38
+ const parseResult = OllamaEmbedResponseSchema.safeParse(await res.json());
39
+ if (!parseResult.success) {
40
+ throw new OllamaEmbeddingError(`Ollama embedding response had unexpected shape: ${parseResult.error.message}`);
41
+ }
42
+ const embedding = parseResult.data.embeddings?.[0];
15
43
  if (!embedding) {
16
- throw new Error(`Ollama embedding response did not include an embedding for model '${EMBED_MODEL}'`);
44
+ throw new OllamaEmbeddingError(`Ollama embedding response did not include an embedding for model '${EMBED_MODEL}'`);
17
45
  }
18
46
  return embedding;
19
47
  }
20
48
  export function cosineSimilarity(a, b) {
21
49
  let dot = 0, normA = 0, normB = 0;
22
50
  for (let i = 0; i < a.length; i++) {
23
- dot += a[i] * b[i];
24
- normA += a[i] * a[i];
25
- normB += b[i] * b[i];
51
+ const av = a[i] ?? 0;
52
+ const bv = b[i] ?? 0;
53
+ dot += av * bv;
54
+ normA += av * av;
55
+ normB += bv * bv;
26
56
  }
27
57
  if (normA === 0 || normB === 0)
28
58
  return 0;
29
59
  return dot / (Math.sqrt(normA) * Math.sqrt(normB));
30
60
  }
31
- export const embedModel = EMBED_MODEL;
61
+ export const embedModel = embeddingModelId(EMBED_MODEL);
32
62
  //# sourceMappingURL=embeddings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,wBAAwB,CAAC;AACzE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,yBAAyB,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,YAAY,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI;YAC5D,wBAAwB,UAAU,gBAAgB,WAAW,WAAW,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qEAAqE,WAAW,GAAG,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACvB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"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"}