oh-my-second-brain 0.3.0 → 0.6.2

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 (110) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/ACKNOWLEDGMENTS.md +8 -0
  5. package/CHANGELOG-assets.md +10 -0
  6. package/CHANGELOG-cli.md +11 -0
  7. package/CHANGELOG-kernel.md +31 -0
  8. package/CHANGELOG-mcp.md +12 -0
  9. package/CHANGELOG-vendors.md +6 -0
  10. package/CHANGELOG.md +35 -0
  11. package/assets/hermes-manifest.json +1 -1
  12. package/assets/skills/doctor/SKILL.md +2 -2
  13. package/assets/skills/search/SKILL.md +17 -1
  14. package/dist/cli/args.d.ts +2 -0
  15. package/dist/cli/args.js +13 -0
  16. package/dist/cli/args.js.map +1 -1
  17. package/dist/cli/host-commands.js +2 -1
  18. package/dist/cli/host-commands.js.map +1 -1
  19. package/dist/cli/oms.d.ts +1 -1
  20. package/dist/cli/oms.js +26 -3
  21. package/dist/cli/oms.js.map +1 -1
  22. package/dist/cli/semantic-args.js +102 -3
  23. package/dist/cli/semantic-args.js.map +1 -1
  24. package/dist/cli/semantic.js +30 -6
  25. package/dist/cli/semantic.js.map +1 -1
  26. package/dist/cli/setup-command.d.ts +16 -0
  27. package/dist/cli/setup-command.js +50 -1
  28. package/dist/cli/setup-command.js.map +1 -1
  29. package/dist/kernel/contracts/index.d.ts +144 -0
  30. package/dist/kernel/contracts/index.js +401 -0
  31. package/dist/kernel/contracts/index.js.map +1 -0
  32. package/dist/kernel/conventions/note-exclude.d.ts +14 -0
  33. package/dist/kernel/conventions/note-exclude.js +95 -0
  34. package/dist/kernel/conventions/note-exclude.js.map +1 -0
  35. package/dist/kernel/engine/assemble.d.ts +22 -1
  36. package/dist/kernel/engine/assemble.js +202 -19
  37. package/dist/kernel/engine/assemble.js.map +1 -1
  38. package/dist/kernel/engine/axes/store.d.ts +90 -0
  39. package/dist/kernel/engine/axes/store.js +422 -0
  40. package/dist/kernel/engine/axes/store.js.map +1 -0
  41. package/dist/kernel/engine/conventions/vault-lint.d.ts +7 -2
  42. package/dist/kernel/engine/conventions/vault-lint.js +7 -21
  43. package/dist/kernel/engine/conventions/vault-lint.js.map +1 -1
  44. package/dist/kernel/engine/embed/identity.d.ts +14 -4
  45. package/dist/kernel/engine/embed/identity.js +33 -1
  46. package/dist/kernel/engine/embed/identity.js.map +1 -1
  47. package/dist/kernel/engine/embed/model.d.ts +134 -0
  48. package/dist/kernel/engine/embed/model.js +302 -0
  49. package/dist/kernel/engine/embed/model.js.map +1 -0
  50. package/dist/kernel/engine/embed/provider.d.ts +36 -5
  51. package/dist/kernel/engine/embed/provider.js +240 -103
  52. package/dist/kernel/engine/embed/provider.js.map +1 -1
  53. package/dist/kernel/engine/embed/store.d.ts +5 -1
  54. package/dist/kernel/engine/embed/store.js +136 -26
  55. package/dist/kernel/engine/embed/store.js.map +1 -1
  56. package/dist/kernel/engine/embed/sync.d.ts +53 -0
  57. package/dist/kernel/engine/embed/sync.js +489 -59
  58. package/dist/kernel/engine/embed/sync.js.map +1 -1
  59. package/dist/kernel/engine/graph/builder.d.ts +9 -5
  60. package/dist/kernel/engine/graph/builder.js +225 -82
  61. package/dist/kernel/engine/graph/builder.js.map +1 -1
  62. package/dist/kernel/engine/graph/node.d.ts +49 -1
  63. package/dist/kernel/engine/graph/node.js +205 -0
  64. package/dist/kernel/engine/graph/node.js.map +1 -1
  65. package/dist/kernel/engine/mcp/facade.d.ts +21 -1
  66. package/dist/kernel/engine/mcp/facade.js +523 -28
  67. package/dist/kernel/engine/mcp/facade.js.map +1 -1
  68. package/dist/kernel/engine/mcp/query-mapper.d.ts +27 -2
  69. package/dist/kernel/engine/mcp/query-mapper.js +157 -12
  70. package/dist/kernel/engine/mcp/query-mapper.js.map +1 -1
  71. package/dist/kernel/engine/mcp/types.d.ts +64 -2
  72. package/dist/kernel/engine/retrieval/dispatcher.d.ts +22 -0
  73. package/dist/kernel/engine/retrieval/dispatcher.js +84 -8
  74. package/dist/kernel/engine/retrieval/dispatcher.js.map +1 -1
  75. package/dist/kernel/engine/retrieval/index.d.ts +2 -1
  76. package/dist/kernel/engine/retrieval/index.js +1 -1
  77. package/dist/kernel/engine/retrieval/index.js.map +1 -1
  78. package/dist/kernel/engine/retrieval/reranker.d.ts +82 -4
  79. package/dist/kernel/engine/retrieval/reranker.js +178 -3
  80. package/dist/kernel/engine/retrieval/reranker.js.map +1 -1
  81. package/dist/kernel/engine/retrieval/rrf.d.ts +10 -2
  82. package/dist/kernel/engine/retrieval/rrf.js +39 -16
  83. package/dist/kernel/engine/retrieval/rrf.js.map +1 -1
  84. package/dist/kernel/engine/tracer.d.ts +13 -0
  85. package/dist/kernel/engine/tracer.js +63 -6
  86. package/dist/kernel/engine/tracer.js.map +1 -1
  87. package/dist/kernel/graph/cache.js +174 -23
  88. package/dist/kernel/graph/cache.js.map +1 -1
  89. package/dist/kernel/index.d.ts +2 -0
  90. package/dist/kernel/index.js +2 -0
  91. package/dist/kernel/index.js.map +1 -1
  92. package/dist/kernel/measurement/no-default-contract.d.ts +17 -0
  93. package/dist/kernel/measurement/no-default-contract.js +84 -0
  94. package/dist/kernel/measurement/no-default-contract.js.map +1 -0
  95. package/dist/kernel/searchbackend/engine-search-backend.js +93 -7
  96. package/dist/kernel/searchbackend/engine-search-backend.js.map +1 -1
  97. package/dist/kernel/searchbackend/search-backend.d.ts +11 -1
  98. package/dist/kernel/searchbackend/search-backend.js +66 -5
  99. package/dist/kernel/searchbackend/search-backend.js.map +1 -1
  100. package/dist/kernel/semantic/semantic-engine.js +31 -5
  101. package/dist/kernel/semantic/semantic-engine.js.map +1 -1
  102. package/dist/kernel/semantic/semantic-retrieve-args.d.ts +19 -2
  103. package/dist/kernel/semantic/semantic-retrieve-args.js +81 -7
  104. package/dist/kernel/semantic/semantic-retrieve-args.js.map +1 -1
  105. package/dist/kernel/update/update.d.ts +7 -0
  106. package/dist/kernel/update/update.js +106 -8
  107. package/dist/kernel/update/update.js.map +1 -1
  108. package/dist/mcp/server.js +84 -34
  109. package/dist/mcp/server.js.map +1 -1
  110. package/package.json +3 -2
@@ -10,13 +10,107 @@
10
10
  * - Lex-only semantic queries must remain usable without embedding configuration.
11
11
  */
12
12
  import { requireRealEmbeddingProvider } from "./embed/provider.js";
13
+ import { EMBEDDING_MODEL_ENV, EMBEDDING_PROVIDER_ENV, resolveEmbeddingModel, } from "./embed/model.js";
13
14
  import { openEngineStore, openEngineStoreCore, openInMemoryEngineStoreCore, openEngineStoreCoreReadOnly, openEngineStoreReadOnly, } from "./embed/store.js";
15
+ import { makeEmbeddingIdentity } from "./embed/identity.js";
14
16
  import { syncEngineStore } from "./embed/sync.js";
15
17
  import { McpEngineAdapter } from "./mcp/facade.js";
16
18
  import { makeDeferredProvider, makeDeferredStore } from "./embed/deferred.js";
17
- // ---------------------------------------------------------------------------
18
- // Public factories
19
- // ---------------------------------------------------------------------------
19
+ function embeddingIdentitiesMatch(stored, configured) {
20
+ return stored.provider === configured.provider &&
21
+ stored.model === configured.model &&
22
+ stored.dimensions === configured.dimensions &&
23
+ stored.contextLength === configured.contextLength &&
24
+ stored.mrlDim === configured.mrlDim &&
25
+ stored.normalization === configured.normalization &&
26
+ stored.prefixScheme === configured.prefixScheme &&
27
+ stored.fingerprint === configured.fingerprint;
28
+ }
29
+ function validateEmbeddingDescriptor(descriptor, overrides = {}) {
30
+ const dimensions = overrides.embeddingDimensions ?? descriptor.dimensions;
31
+ const context = overrides.embeddingContext ??
32
+ overrides.embeddingContextLength ??
33
+ overrides.embeddingContextTokens ??
34
+ descriptor.context ??
35
+ descriptor.contextLength ??
36
+ descriptor.contextTokens;
37
+ const mrlDim = overrides.embeddingMrlDim ?? descriptor.mrlDim;
38
+ const normalization = overrides.embeddingNormalization ?? descriptor.normalization;
39
+ const prefixScheme = overrides.embeddingPrefixScheme ?? descriptor.prefixScheme;
40
+ if (dimensions === undefined ||
41
+ context === undefined ||
42
+ mrlDim === undefined ||
43
+ !normalization?.trim() ||
44
+ !prefixScheme?.trim()) {
45
+ throw new Error("Embedding descriptor is incomplete. dimensions/context/mrlDim/normalization/prefixScheme are required.");
46
+ }
47
+ if (!Number.isInteger(dimensions) || dimensions <= 0) {
48
+ throw new Error("Embedding descriptor dimensions must be a positive integer.");
49
+ }
50
+ if (!Number.isInteger(context) || context <= 0) {
51
+ throw new Error("Embedding descriptor context must be a positive integer.");
52
+ }
53
+ if (!Number.isInteger(mrlDim) || mrlDim < 0) {
54
+ throw new Error("Embedding descriptor mrlDim must be a non-negative integer.");
55
+ }
56
+ }
57
+ function resolvedEmbeddingConfig(config) {
58
+ const hasExplicitConfig = config.embeddingProvider !== undefined || config.embeddingModel !== undefined;
59
+ const resolution = resolveEmbeddingModel({
60
+ env: hasExplicitConfig
61
+ ? {
62
+ [EMBEDDING_PROVIDER_ENV]: config.embeddingProvider,
63
+ [EMBEDDING_MODEL_ENV]: config.embeddingModel,
64
+ }
65
+ : process.env,
66
+ ...(config.embeddingDescriptor !== undefined
67
+ ? { installedDefault: config.embeddingDescriptor }
68
+ : {}),
69
+ ...(config.embeddingCacheDir !== undefined ? { cacheDir: config.embeddingCacheDir } : {}),
70
+ });
71
+ if (!resolution.available)
72
+ return {};
73
+ const descriptor = config.embeddingDescriptor === null
74
+ ? undefined
75
+ : config.embeddingDescriptor ?? resolution.descriptor;
76
+ if (descriptor !== undefined) {
77
+ if (hasExplicitConfig) {
78
+ const descriptorModel = descriptor.path || descriptor.modelPath || descriptor.model;
79
+ const resolvedModel = resolution.modelPath ?? resolution.model;
80
+ if (descriptor.provider.trim() !== resolution.provider?.trim() ||
81
+ (descriptorModel.trim() !== resolvedModel?.trim() && descriptor.model.trim() !== resolvedModel?.trim())) {
82
+ throw new Error("Embedding descriptor does not match the configured provider/model.");
83
+ }
84
+ }
85
+ validateEmbeddingDescriptor(descriptor, config);
86
+ }
87
+ return {
88
+ provider: resolution.provider,
89
+ model: resolution.modelPath ?? resolution.model,
90
+ ...(descriptor !== undefined ? { descriptor } : {}),
91
+ ...((config.embeddingDimensions ?? descriptor?.dimensions) !== undefined
92
+ ? { dimensions: config.embeddingDimensions ?? descriptor?.dimensions }
93
+ : {}),
94
+ ...((config.embeddingContext ?? descriptor?.context) !== undefined
95
+ ? { context: config.embeddingContext ?? descriptor?.context }
96
+ : {}),
97
+ ...((config.embeddingContextLength ?? descriptor?.contextLength) !== undefined
98
+ ? { contextLength: config.embeddingContextLength ?? descriptor?.contextLength }
99
+ : {}),
100
+ ...((config.embeddingContextTokens ?? descriptor?.contextTokens) !== undefined
101
+ ? { contextTokens: config.embeddingContextTokens ?? descriptor?.contextTokens }
102
+ : {}),
103
+ ...((config.embeddingMrlDim ?? descriptor?.mrlDim) !== undefined
104
+ ? { mrlDim: config.embeddingMrlDim ?? descriptor?.mrlDim }
105
+ : {}),
106
+ ...((config.embeddingNormalization ?? descriptor?.normalization) !== undefined
107
+ ? { normalization: config.embeddingNormalization ?? descriptor?.normalization }
108
+ : {}),
109
+ ...((config.embeddingPrefixScheme ?? descriptor?.prefixScheme) !== undefined
110
+ ? { prefixScheme: config.embeddingPrefixScheme ?? descriptor?.prefixScheme }
111
+ : {}),
112
+ };
113
+ }
20
114
  /**
21
115
  * Assemble a semantic-capable engine with a REAL embedding provider.
22
116
  *
@@ -26,36 +120,81 @@ import { makeDeferredProvider, makeDeferredStore } from "./embed/deferred.js";
26
120
  export function assembleEngine(config) {
27
121
  const vault = config.vault;
28
122
  const dbPath = config.dbPath ?? `${vault}/.oms/engine-store.sqlite`;
123
+ const embedding = resolvedEmbeddingConfig(config);
29
124
  const provider = requireRealEmbeddingProvider({
30
- provider: config.embeddingProvider,
31
- model: config.embeddingModel,
125
+ provider: embedding.provider,
126
+ model: embedding.model,
127
+ dimensions: embedding.dimensions,
128
+ context: embedding.context,
129
+ contextLength: embedding.contextLength,
130
+ contextTokens: embedding.contextTokens,
131
+ mrlDim: embedding.mrlDim,
132
+ normalization: embedding.normalization,
133
+ prefixScheme: embedding.prefixScheme,
32
134
  });
33
- const store = openEngineStore(dbPath, provider.dimensions);
135
+ let activeStore = openEngineStore(dbPath, provider.dimensions);
34
136
  const deps = {
35
- store,
137
+ store: activeStore,
36
138
  embed: provider,
37
139
  ...(config.rrfK !== undefined ? { rrfK: config.rrfK } : {}),
140
+ ...(config.policy !== undefined ? { policy: config.policy } : {}),
38
141
  ...(config.graphDepth !== undefined ? { graphDepth: config.graphDepth } : {}),
39
142
  };
40
143
  const adapter = new McpEngineAdapter(deps, vault, {
41
- embeddingProvider: config.embeddingProvider,
42
- embeddingModel: config.embeddingModel,
144
+ embeddingProvider: embedding.provider,
145
+ embeddingModel: embedding.model,
146
+ embeddingDescriptor: embedding.descriptor,
147
+ embeddingDimensions: embedding.dimensions,
148
+ embeddingContext: embedding.context,
149
+ embeddingContextLength: embedding.contextLength,
150
+ embeddingContextTokens: embedding.contextTokens,
151
+ embeddingMrlDim: embedding.mrlDim,
152
+ embeddingNormalization: embedding.normalization,
153
+ embeddingPrefixScheme: embedding.prefixScheme,
154
+ dbPath,
155
+ onStoreRebind: (store) => {
156
+ activeStore = store;
157
+ },
43
158
  }, config.reranker, true);
44
- return {
159
+ const assembled = {
45
160
  adapter,
46
161
  deps,
47
- store,
162
+ get store() {
163
+ return activeStore;
164
+ },
48
165
  provider,
49
166
  implicitLexicalSync: true,
50
167
  async syncVault(opts = {}) {
168
+ let swapHandleClosed = false;
51
169
  const result = await syncEngineStore({
52
170
  vault,
53
171
  dbPath,
54
172
  collectionPath: opts.collectionPath,
55
173
  embed: opts.embed,
56
174
  force: opts.force,
57
- embeddingProvider: config.embeddingProvider,
58
- embeddingModel: config.embeddingModel,
175
+ embeddingProvider: embedding.provider,
176
+ embeddingModel: embedding.model,
177
+ embeddingDescriptor: embedding.descriptor,
178
+ embeddingDimensions: embedding.dimensions,
179
+ embeddingContext: embedding.context,
180
+ embeddingContextLength: embedding.contextLength,
181
+ embeddingContextTokens: embedding.contextTokens,
182
+ embeddingMrlDim: embedding.mrlDim,
183
+ embeddingNormalization: embedding.normalization,
184
+ embeddingPrefixScheme: embedding.prefixScheme,
185
+ onGenerationSwapPrepare: () => {
186
+ // Close the long-lived assembly handle before the active
187
+ // generation's WAL/SHM sidecars are removed.
188
+ swapHandleClosed = true;
189
+ activeStore.close();
190
+ },
191
+ onGenerationSwapComplete: () => {
192
+ if (!swapHandleClosed)
193
+ return;
194
+ activeStore = openEngineStore(dbPath, provider.dimensions);
195
+ deps.store = activeStore;
196
+ swapHandleClosed = false;
197
+ },
59
198
  });
60
199
  return {
61
200
  scanned: result.scanned,
@@ -64,13 +203,15 @@ export function assembleEngine(config) {
64
203
  skipped: result.skipped,
65
204
  available: result.available,
66
205
  reason: result.reason,
206
+ generationSwapped: result.generationSwapped,
67
207
  };
68
208
  },
69
209
  async dispose() {
70
210
  await provider.dispose().catch(() => undefined);
71
- store.close();
211
+ activeStore.close();
72
212
  },
73
213
  };
214
+ return assembled;
74
215
  }
75
216
  /**
76
217
  * Assemble a CORE-ONLY semantic engine.
@@ -88,6 +229,7 @@ export function assembleCoreSemanticEngine(config) {
88
229
  store,
89
230
  embed: provider,
90
231
  ...(config.rrfK !== undefined ? { rrfK: config.rrfK } : {}),
232
+ ...(config.policy !== undefined ? { policy: config.policy } : {}),
91
233
  ...(config.graphDepth !== undefined ? { graphDepth: config.graphDepth } : {}),
92
234
  };
93
235
  const adapter = new McpEngineAdapter(deps, vault, {
@@ -137,12 +279,13 @@ export function assembleEphemeralCoreSemanticEngine(config) {
137
279
  store,
138
280
  embed: provider,
139
281
  ...(config.rrfK !== undefined ? { rrfK: config.rrfK } : {}),
282
+ ...(config.policy !== undefined ? { policy: config.policy } : {}),
140
283
  ...(config.graphDepth !== undefined ? { graphDepth: config.graphDepth } : {}),
141
284
  };
142
285
  const adapter = new McpEngineAdapter(deps, vault, {
143
286
  embeddingProvider: config.embeddingProvider,
144
287
  embeddingModel: config.embeddingModel,
145
- }, config.reranker, true);
288
+ }, config.reranker, true, false);
146
289
  return {
147
290
  adapter,
148
291
  deps,
@@ -191,6 +334,7 @@ export function assembleCoreSemanticEngineReadOnly(config) {
191
334
  store,
192
335
  embed: provider,
193
336
  ...(config.rrfK !== undefined ? { rrfK: config.rrfK } : {}),
337
+ ...(config.policy !== undefined ? { policy: config.policy } : {}),
194
338
  ...(config.graphDepth !== undefined ? { graphDepth: config.graphDepth } : {}),
195
339
  };
196
340
  const adapter = new McpEngineAdapter(deps, vault, {
@@ -219,16 +363,44 @@ export function assembleCoreSemanticEngineReadOnly(config) {
219
363
  export function assembleEngineReadOnly(config) {
220
364
  const vault = config.vault;
221
365
  const dbPath = config.dbPath ?? `${vault}/.oms/engine-store.sqlite`;
366
+ const embedding = resolvedEmbeddingConfig(config);
222
367
  // The readonly store opener does not use dimensions. Open it before loading
223
368
  // the configured provider so an absent index is always an unavailable result.
224
369
  const store = openEngineStoreReadOnly(dbPath, 0);
225
370
  if (store === null)
226
371
  return null;
372
+ let configuredIdentity;
373
+ try {
374
+ configuredIdentity = makeEmbeddingIdentity({
375
+ provider: embedding.provider ?? "",
376
+ model: embedding.model ?? "",
377
+ dimensions: embedding.dimensions ?? 0,
378
+ contextLength: embedding.contextLength ?? embedding.contextTokens ?? embedding.context ?? 0,
379
+ mrlDim: embedding.mrlDim ?? -1,
380
+ normalization: embedding.normalization ?? "",
381
+ prefixScheme: embedding.prefixScheme ?? "",
382
+ });
383
+ const storedIdentity = store.readEmbeddingIdentity();
384
+ if (storedIdentity !== null && !embeddingIdentitiesMatch(storedIdentity, configuredIdentity)) {
385
+ throw new Error(`Embedding identity mismatch for read-only store: stored ${storedIdentity.provider}/${storedIdentity.model} does not match configured ${configuredIdentity.provider}/${configuredIdentity.model}.`);
386
+ }
387
+ }
388
+ catch (error) {
389
+ store.close();
390
+ throw error;
391
+ }
227
392
  let provider;
228
393
  try {
229
394
  provider = requireRealEmbeddingProvider({
230
- provider: config.embeddingProvider,
231
- model: config.embeddingModel,
395
+ provider: embedding.provider,
396
+ model: embedding.model,
397
+ dimensions: embedding.dimensions,
398
+ context: embedding.context,
399
+ contextLength: embedding.contextLength,
400
+ contextTokens: embedding.contextTokens,
401
+ mrlDim: embedding.mrlDim,
402
+ normalization: embedding.normalization,
403
+ prefixScheme: embedding.prefixScheme,
232
404
  });
233
405
  }
234
406
  catch (error) {
@@ -239,11 +411,21 @@ export function assembleEngineReadOnly(config) {
239
411
  store,
240
412
  embed: provider,
241
413
  ...(config.rrfK !== undefined ? { rrfK: config.rrfK } : {}),
414
+ ...(config.policy !== undefined ? { policy: config.policy } : {}),
242
415
  ...(config.graphDepth !== undefined ? { graphDepth: config.graphDepth } : {}),
243
416
  };
244
417
  const adapter = new McpEngineAdapter(deps, vault, {
245
- embeddingProvider: config.embeddingProvider,
246
- embeddingModel: config.embeddingModel,
418
+ embeddingProvider: embedding.provider,
419
+ embeddingModel: embedding.model,
420
+ embeddingDescriptor: embedding.descriptor,
421
+ embeddingDimensions: embedding.dimensions,
422
+ embeddingContext: embedding.context,
423
+ embeddingContextLength: embedding.contextLength,
424
+ embeddingContextTokens: embedding.contextTokens,
425
+ embeddingMrlDim: embedding.mrlDim,
426
+ embeddingNormalization: embedding.normalization,
427
+ embeddingPrefixScheme: embedding.prefixScheme,
428
+ dbPath,
247
429
  }, config.reranker, false);
248
430
  return {
249
431
  adapter,
@@ -272,6 +454,7 @@ export function assembleGraphOnlyEngine(config) {
272
454
  store,
273
455
  embed: provider,
274
456
  ...(config.rrfK !== undefined ? { rrfK: config.rrfK } : {}),
457
+ ...(config.policy !== undefined ? { policy: config.policy } : {}),
275
458
  ...(config.graphDepth !== undefined ? { graphDepth: config.graphDepth } : {}),
276
459
  };
277
460
  const adapter = new McpEngineAdapter(deps, vault, undefined, config.reranker, false);
@@ -1 +1 @@
1
- {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../../src/kernel/engine/assemble.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../../src/kernel/engine/assemble.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ export type AxisKind = "folder" | "field" | "link";
2
+ export type AxisValueType = "string" | "number" | "boolean" | "date";
3
+ export type AxisValue = string | number | boolean | Date;
4
+ export interface AxisObservation {
5
+ readonly notePath: string;
6
+ readonly axisKind: AxisKind;
7
+ readonly axisKey: string;
8
+ readonly value: AxisValue;
9
+ readonly valueType: AxisValueType;
10
+ /** Canonical lookup value; strings are trimmed and case-folded. */
11
+ readonly normalizedValue: string;
12
+ readonly count: number;
13
+ }
14
+ export interface AxisObservationInput {
15
+ readonly notePath: string;
16
+ readonly axisKind?: AxisKind;
17
+ readonly axisKey: string;
18
+ readonly value: unknown;
19
+ }
20
+ export interface AxisFacet {
21
+ readonly axisKind: AxisKind;
22
+ readonly axisKey: string;
23
+ readonly value: AxisValue;
24
+ readonly valueType: AxisValueType;
25
+ readonly normalizedValue: string;
26
+ readonly count: number;
27
+ }
28
+ export declare function normalizeAxisValue(value: AxisValue): {
29
+ readonly value: AxisValue;
30
+ readonly type: AxisValueType;
31
+ readonly normalizedValue: string;
32
+ };
33
+ /** Dedicated EAV repository; never shares the embedding engine database. */
34
+ export declare class AxisObservationStore {
35
+ readonly dbPath: string;
36
+ private readonly db;
37
+ private closed;
38
+ private transactionDepth;
39
+ constructor(dbPath: string, options?: {
40
+ readonly readonly?: boolean;
41
+ readonly readOnly?: boolean;
42
+ });
43
+ private ensureOpen;
44
+ /**
45
+ * Run a group of writes as one rollback-safe publication. Nested writes from
46
+ * record/replaceNote participate in the outer transaction rather than
47
+ * attempting to open a second SQLite transaction.
48
+ */
49
+ runInTransaction<T>(fn: () => T): T;
50
+ private insertValues;
51
+ /** Source signature of the markdown set used for the last reconciliation. */
52
+ sourceSignature(): string | null;
53
+ setSourceSignature(signature: string): void;
54
+ /** Record one scalar or every scalar in a frontmatter list. */
55
+ record(input: AxisObservationInput): void;
56
+ /** Remove all observations for a note, then atomically replace them. */
57
+ replaceNote(notePath: string, fields: Readonly<Record<string, unknown>>, options?: {
58
+ readonly folder?: string;
59
+ readonly links?: readonly string[];
60
+ }): void;
61
+ /** Delete stale observations when a markdown note is removed. */
62
+ deleteNote(notePath: string): void;
63
+ list(options?: {
64
+ readonly axisKind?: AxisKind;
65
+ readonly axisKey?: string;
66
+ readonly notePath?: string;
67
+ }): AxisObservation[];
68
+ /** Aggregate facets before any result limit is applied. */
69
+ facets(options?: {
70
+ readonly axisKind?: AxisKind;
71
+ readonly axisKey?: string;
72
+ }): AxisFacet[];
73
+ count(options?: {
74
+ readonly axisKind?: AxisKind;
75
+ readonly axisKey?: string;
76
+ }): number;
77
+ close(): void;
78
+ }
79
+ export declare const openAxisStore: (dbPath: string, options?: {
80
+ readonly readonly?: boolean;
81
+ readonly readOnly?: boolean;
82
+ }) => AxisObservationStore;
83
+ export declare function axisStorePath(vault: string): string;
84
+ export declare function openVaultAxisStore(vault: string, options?: {
85
+ readonly readonly?: boolean;
86
+ readonly readOnly?: boolean;
87
+ }): AxisObservationStore;
88
+ /** Scan markdown into the dedicated EAV cache. Malformed YAML is loud. */
89
+ export declare function collectVaultAxisObservations(vault: string, suppliedStore?: AxisObservationStore): Promise<AxisObservationStore>;
90
+ export declare function ensureAxisStoreDirectory(vault: string): Promise<void>;