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
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/kernel/engine/embed/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/kernel/engine/embed/sync.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare function buildGraph(opts: {
25
25
  }): Promise<GraphEdge[]>;
26
26
  /**
27
27
  * Load the persisted full-graph cache from `cachePath`.
28
- * Returns `null` when the file is absent, unreadable, or at a stale version.
28
+ * Returns `null` only when the file is absent or at a stale version.
29
29
  */
30
30
  export declare function loadCachedGraph(cachePath: string): Promise<GraphEdge[] | null>;
31
31
  /**
@@ -37,12 +37,14 @@ export declare function saveCachedGraph(cachePath: string, edges: GraphEdge[]):
37
37
  * Load the persisted full-graph cache, returning both edges and the build
38
38
  * timestamp. Unlike {@link loadCachedGraph} (which drops `generatedAt`), this
39
39
  * is used by oms_graph_status to report when the cache was built.
40
- * Returns `null` when the file is absent, unreadable, or at a stale version.
40
+ * Returns `null` only when the file is absent or at a stale version.
41
41
  */
42
42
  export declare function loadCachedGraphMeta(cachePath: string): Promise<{
43
43
  edges: GraphEdge[];
44
44
  generatedAt: string;
45
45
  } | null>;
46
+ /** Hash sorted markdown paths and bytes so add/edit/delete invalidates a cache. */
47
+ export declare function nodeSourceSignature(vaultPath: string): Promise<string>;
46
48
  /**
47
49
  * Scan the vault (or an explicit file slice) and build the per-note index
48
50
  * consumed by retrieve_by_axis.
@@ -58,9 +60,11 @@ export declare function buildNodeIndex(opts: {
58
60
  files?: readonly string[];
59
61
  }): Promise<EngineGraphNode[]>;
60
62
  /** Persist the node index to `cachePath` (compact JSON; Set serialised as array). */
61
- export declare function saveNodeIndex(cachePath: string, nodes: readonly EngineGraphNode[]): Promise<void>;
63
+ export declare function saveNodeIndex(cachePath: string, nodes: readonly EngineGraphNode[], sourceSignature?: string): Promise<void>;
62
64
  /**
63
65
  * Load the node index from `cachePath`, rebuilding each searchTerms Set from
64
- * its serialised array form. Returns `null` when absent / unreadable / stale.
66
+ * its serialised array form. Returns `null` when absent, stale, or when the
67
+ * markdown source signature no longer matches the cache. Corrupt or
68
+ * unreadable files fail loudly so a partial snapshot is never accepted.
65
69
  */
66
- export declare function loadNodeIndex(cachePath: string): Promise<EngineGraphNode[] | null>;
70
+ export declare function loadNodeIndex(cachePath: string, sourceSignature?: string): Promise<EngineGraphNode[] | null>;
@@ -1,50 +1,80 @@
1
- import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
1
+ import { createHash } from "node:crypto";
2
+ import { lstat, mkdir, readFile, readdir, realpath, rename, stat, unlink, writeFile, } from "node:fs/promises";
2
3
  import path from "node:path";
3
- import { parse as parseYaml } from "yaml";
4
- import { tokenize } from "./node.js";
4
+ import { parseNote } from "../../conventions/frontmatter.js";
5
+ import { excludedNoteMatcher } from "../../conventions/note-exclude.js";
6
+ import { toAxisScalars, tokenize } from "./node.js";
5
7
  import { buildWikilinkIndex, resolveWikilink } from "./resolver.js";
6
8
  // ---------------------------------------------------------------------------
7
9
  // Internal file-system helpers
8
10
  // ---------------------------------------------------------------------------
9
- async function* walkMarkdown(dir, base) {
10
- let entries;
11
- try {
12
- entries = await readdir(dir, { withFileTypes: true });
11
+ function ensureInsideRoot(root, candidate, label) {
12
+ const relative = path.relative(root, candidate);
13
+ if (relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
14
+ throw new Error(`${label} escapes the configured vault root.`);
13
15
  }
14
- catch {
16
+ }
17
+ async function* walkMarkdown(dir, base, isExcluded, rootRealPath, visitedDirectories = new Set()) {
18
+ const root = rootRealPath ?? await realpath(base);
19
+ const realDir = await realpath(dir);
20
+ ensureInsideRoot(root, realDir, `Vault directory "${dir}"`);
21
+ if (visitedDirectories.has(realDir))
15
22
  return;
16
- }
23
+ visitedDirectories.add(realDir);
24
+ const entries = await readdir(dir, { withFileTypes: true });
17
25
  for (const entry of entries) {
18
26
  const name = entry.name;
27
+ const full = path.join(dir, name);
28
+ // Resolve skipped entries too: an excluded symlink must not conceal an
29
+ // escape or a dangling path from a strict graph build.
30
+ const realEntry = await realpath(full);
31
+ ensureInsideRoot(root, realEntry, `Vault entry "${full}"`);
19
32
  if (name === ".oms" || name === "node_modules" || name.startsWith("."))
20
33
  continue;
21
- const full = path.join(dir, name);
22
- if (entry.isDirectory()) {
23
- yield* walkMarkdown(full, base);
34
+ const entryStat = await stat(full);
35
+ if (entryStat.isDirectory()) {
36
+ yield* walkMarkdown(full, base, isExcluded, root, visitedDirectories);
24
37
  }
25
- else if (entry.isFile() && name.endsWith(".md")) {
26
- yield path.relative(base, full).replace(/\\/g, "/");
38
+ else if (entryStat.isFile() && name.toLowerCase().endsWith(".md")) {
39
+ const notePath = path.relative(base, full).replace(/\\/g, "/");
40
+ // Template sources and other taxonomy-declared non-notes are skipped
41
+ // here: their pre-substitution frontmatter is intentionally invalid
42
+ // YAML, and a single one of them must not abort the whole vault scan.
43
+ if (!isExcluded(notePath))
44
+ yield notePath;
27
45
  }
28
46
  }
29
47
  }
30
- // ---------------------------------------------------------------------------
31
- // Markdown parsing helpers (self-contained; uses yaml dep directly)
32
- // ---------------------------------------------------------------------------
33
- /** Parse YAML frontmatter from raw markdown. Returns `{}` on missing or invalid FM. */
34
- function parseFrontmatter(raw) {
35
- const match = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/.exec(raw);
36
- if (!match)
37
- return {};
38
- try {
39
- const parsed = parseYaml(match[1] ?? "");
40
- if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)) {
41
- return parsed;
48
+ async function validateExplicitFiles(vault, files) {
49
+ const lexicalRoot = path.resolve(vault);
50
+ const root = await realpath(lexicalRoot);
51
+ for (const docPath of files) {
52
+ if (path.isAbsolute(docPath)) {
53
+ throw new Error(`Graph file path must be vault-relative: ${docPath}`);
42
54
  }
55
+ const fullPath = path.resolve(vault, docPath);
56
+ ensureInsideRoot(lexicalRoot, fullPath, `Graph file "${docPath}"`);
57
+ const realPath = await realpath(fullPath);
58
+ ensureInsideRoot(root, realPath, `Graph file "${docPath}"`);
59
+ const fileStat = await stat(fullPath);
60
+ if (!fileStat.isFile())
61
+ throw new Error(`Graph file path is not a regular file: ${docPath}`);
43
62
  }
44
- catch {
45
- /* ignore YAML parse errors */
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // Markdown parsing helpers (shared frontmatter contract parser)
66
+ // ---------------------------------------------------------------------------
67
+ /** Parse YAML frontmatter from raw markdown. Invalid YAML is a loud contract error. */
68
+ function parseFrontmatter(raw, docPath) {
69
+ // Keep this parser at the graph boundary, but use the shared frontmatter
70
+ // contract diagnostics so malformed notes cannot become an indistinguishable
71
+ // empty map.
72
+ const parsed = parseNote(raw);
73
+ if (parsed.diagnostics.length > 0) {
74
+ const location = docPath === undefined ? "" : ` in ${docPath}`;
75
+ throw new Error(`Malformed frontmatter${location}: ${parsed.diagnostics.map((item) => item.message).join("; ")}`);
46
76
  }
47
- return {};
77
+ return parsed.frontmatter;
48
78
  }
49
79
  /** Return the markdown body after the frontmatter fence (or the whole doc). */
50
80
  function extractBody(raw) {
@@ -96,7 +126,7 @@ async function parseDocs(vaultPath, files) {
96
126
  const raw = await readFile(path.join(vaultPath, docPath), "utf-8");
97
127
  return {
98
128
  docPath,
99
- frontmatter: parseFrontmatter(raw),
129
+ frontmatter: parseFrontmatter(raw, docPath),
100
130
  rawWikilinks: extractRawWikilinks(extractBody(raw)),
101
131
  };
102
132
  }));
@@ -124,10 +154,12 @@ export async function buildGraph(opts) {
124
154
  let files;
125
155
  if (opts.files !== undefined) {
126
156
  files = opts.files;
157
+ await validateExplicitFiles(vaultPath, files);
127
158
  }
128
159
  else {
160
+ const isExcluded = await excludedNoteMatcher(vaultPath);
129
161
  const collected = [];
130
- for await (const f of walkMarkdown(vaultPath, vaultPath))
162
+ for await (const f of walkMarkdown(vaultPath, vaultPath, isExcluded))
131
163
  collected.push(f);
132
164
  files = collected;
133
165
  }
@@ -240,57 +272,148 @@ export async function buildGraph(opts) {
240
272
  * invoke based on whether a cache hit is acceptable.
241
273
  */
242
274
  const CACHE_VERSION = 1;
275
+ async function readCacheFile(cachePath) {
276
+ try {
277
+ return await readFile(cachePath, "utf-8");
278
+ }
279
+ catch (error) {
280
+ if (error.code !== "ENOENT")
281
+ throw error;
282
+ try {
283
+ await lstat(cachePath);
284
+ }
285
+ catch (missingError) {
286
+ if (missingError.code === "ENOENT")
287
+ return null;
288
+ throw missingError;
289
+ }
290
+ throw new Error(`Graph cache "${cachePath}" is a broken symbolic link.`, { cause: error });
291
+ }
292
+ }
293
+ function parseCacheJson(raw, cachePath) {
294
+ try {
295
+ return JSON.parse(raw);
296
+ }
297
+ catch (error) {
298
+ throw new Error(`Graph cache "${cachePath}" is not valid JSON.`, { cause: error });
299
+ }
300
+ }
301
+ function isRecord(value) {
302
+ return value !== null && typeof value === "object" && !Array.isArray(value);
303
+ }
304
+ async function writeCacheAtomically(cachePath, contents) {
305
+ const outputPath = path.resolve(cachePath);
306
+ const directory = path.dirname(outputPath);
307
+ await mkdir(directory, { recursive: true });
308
+ const temporaryPath = path.join(directory, `.${path.basename(outputPath)}.${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}.tmp`);
309
+ try {
310
+ await writeFile(temporaryPath, contents, { encoding: "utf-8", flag: "wx" });
311
+ await rename(temporaryPath, outputPath);
312
+ }
313
+ finally {
314
+ try {
315
+ await unlink(temporaryPath);
316
+ }
317
+ catch (error) {
318
+ if (error.code !== "ENOENT")
319
+ throw error;
320
+ }
321
+ }
322
+ }
243
323
  /**
244
324
  * Load the persisted full-graph cache from `cachePath`.
245
- * Returns `null` when the file is absent, unreadable, or at a stale version.
325
+ * Returns `null` only when the file is absent or at a stale version.
246
326
  */
247
327
  export async function loadCachedGraph(cachePath) {
248
- try {
249
- const raw = await readFile(cachePath, "utf-8");
250
- const file = JSON.parse(raw);
251
- if (file.version !== CACHE_VERSION)
252
- return null;
253
- return file.edges;
328
+ const raw = await readCacheFile(cachePath);
329
+ if (raw === null)
330
+ return null;
331
+ const parsed = parseCacheJson(raw, cachePath);
332
+ if (!isRecord(parsed)) {
333
+ throw new Error(`Graph cache "${cachePath}" has an invalid format.`);
254
334
  }
255
- catch {
335
+ if (parsed.version !== CACHE_VERSION)
256
336
  return null;
337
+ if (!Array.isArray(parsed.edges) ||
338
+ !parsed.edges.every((edge) => isRecord(edge) &&
339
+ typeof edge.from === "string" &&
340
+ typeof edge.to === "string" &&
341
+ typeof edge.weight === "number" &&
342
+ typeof edge.kind === "string")) {
343
+ throw new Error(`Graph cache "${cachePath}" has an invalid format.`);
257
344
  }
345
+ return parsed.edges;
258
346
  }
259
347
  /**
260
348
  * Persist `edges` to `cachePath` as the full-graph cache.
261
349
  * Parent directories are created automatically.
262
350
  */
263
351
  export async function saveCachedGraph(cachePath, edges) {
264
- await mkdir(path.dirname(cachePath), { recursive: true });
265
352
  const file = {
266
353
  version: CACHE_VERSION,
267
354
  generatedAt: new Date().toISOString(),
268
355
  edges,
269
356
  };
270
- await writeFile(cachePath, `${JSON.stringify(file, null, 2)}\n`, "utf-8");
357
+ await writeCacheAtomically(cachePath, `${JSON.stringify(file, null, 2)}\n`);
271
358
  }
272
359
  /**
273
360
  * Load the persisted full-graph cache, returning both edges and the build
274
361
  * timestamp. Unlike {@link loadCachedGraph} (which drops `generatedAt`), this
275
362
  * is used by oms_graph_status to report when the cache was built.
276
- * Returns `null` when the file is absent, unreadable, or at a stale version.
363
+ * Returns `null` only when the file is absent or at a stale version.
277
364
  */
278
365
  export async function loadCachedGraphMeta(cachePath) {
279
- try {
280
- const raw = await readFile(cachePath, "utf-8");
281
- const file = JSON.parse(raw);
282
- if (file.version !== CACHE_VERSION)
283
- return null;
284
- return { edges: file.edges, generatedAt: file.generatedAt };
366
+ const raw = await readCacheFile(cachePath);
367
+ if (raw === null)
368
+ return null;
369
+ const parsed = parseCacheJson(raw, cachePath);
370
+ if (!isRecord(parsed)) {
371
+ throw new Error(`Graph cache "${cachePath}" has an invalid format.`);
285
372
  }
286
- catch {
373
+ if (parsed.version !== CACHE_VERSION)
287
374
  return null;
375
+ if (typeof parsed.generatedAt !== "string" ||
376
+ !Array.isArray(parsed.edges) ||
377
+ !parsed.edges.every((edge) => isRecord(edge) &&
378
+ typeof edge.from === "string" &&
379
+ typeof edge.to === "string" &&
380
+ typeof edge.weight === "number" &&
381
+ typeof edge.kind === "string")) {
382
+ throw new Error(`Graph cache "${cachePath}" has an invalid format.`);
288
383
  }
384
+ return { edges: parsed.edges, generatedAt: parsed.generatedAt };
289
385
  }
290
386
  // ---------------------------------------------------------------------------
291
387
  // Node index — per-note metadata for axis-filtered retrieval (C2)
292
388
  // ---------------------------------------------------------------------------
293
- const NODE_CACHE_VERSION = 1;
389
+ const NODE_CACHE_VERSION = 2;
390
+ /** Hash sorted markdown paths and bytes so add/edit/delete invalidates a cache. */
391
+ export async function nodeSourceSignature(vaultPath) {
392
+ const vault = path.resolve(vaultPath);
393
+ const isExcluded = await excludedNoteMatcher(vault);
394
+ const files = [];
395
+ for await (const file of walkMarkdown(vault, vault, isExcluded))
396
+ files.push(file);
397
+ files.sort();
398
+ const digest = createHash("sha256");
399
+ for (const file of files) {
400
+ digest.update(file);
401
+ digest.update("\0");
402
+ digest.update(await readFile(path.join(vault, file)));
403
+ digest.update("\0");
404
+ }
405
+ return digest.digest("hex");
406
+ }
407
+ function inferNodeCacheVault(cachePath) {
408
+ const absolute = path.resolve(cachePath);
409
+ const engineDir = path.basename(path.dirname(absolute));
410
+ const cacheDir = path.basename(path.dirname(path.dirname(absolute)));
411
+ const omsDir = path.basename(path.dirname(path.dirname(path.dirname(absolute))));
412
+ if (engineDir === "engine" && cacheDir === "cache" && omsDir === ".oms") {
413
+ return path.dirname(path.dirname(path.dirname(path.dirname(absolute))));
414
+ }
415
+ return path.dirname(absolute);
416
+ }
294
417
  /**
295
418
  * Scan the vault (or an explicit file slice) and build the per-note index
296
419
  * consumed by retrieve_by_axis.
@@ -305,34 +428,30 @@ export async function buildNodeIndex(opts) {
305
428
  let files;
306
429
  if (opts.files !== undefined) {
307
430
  files = opts.files;
431
+ await validateExplicitFiles(vaultPath, files);
308
432
  }
309
433
  else {
434
+ const isExcluded = await excludedNoteMatcher(vaultPath);
310
435
  const collected = [];
311
- for await (const f of walkMarkdown(vaultPath, vaultPath))
436
+ for await (const f of walkMarkdown(vaultPath, vaultPath, isExcluded))
312
437
  collected.push(f);
313
438
  files = collected;
314
439
  }
315
440
  const index = buildWikilinkIndex(files);
316
441
  const nodes = [];
317
442
  for (const docPath of files) {
318
- let raw;
319
- try {
320
- raw = await readFile(path.join(vaultPath, docPath), "utf-8");
321
- }
322
- catch {
323
- continue; // unreadable file — skip silently
324
- }
325
- const frontmatter = parseFrontmatter(raw);
443
+ const raw = await readFile(path.join(vaultPath, docPath), "utf-8");
444
+ const frontmatter = parseFrontmatter(raw, docPath);
326
445
  const body = extractBody(raw);
327
446
  const conceptRaw = frontmatter["concept"];
328
447
  const concept = typeof conceptRaw === "string" ? conceptRaw : null;
329
448
  const axes = {};
330
449
  const fmStrings = [];
331
450
  for (const [key, value] of Object.entries(frontmatter)) {
332
- const arr = toStringArray(value);
451
+ const arr = toAxisScalars(value);
333
452
  if (arr.length > 0) {
334
453
  axes[key] = arr;
335
- fmStrings.push(...arr);
454
+ fmStrings.push(...arr.map((item) => String(item)));
336
455
  }
337
456
  }
338
457
  const wikilinks = [];
@@ -349,7 +468,9 @@ export async function buildNodeIndex(opts) {
349
468
  path: docPath,
350
469
  concept,
351
470
  folder: noteType(docPath),
352
- axes,
471
+ // Keep the node-index DTO compatible with legacy graph renderers. The
472
+ // runtime values remain typed (the cast only documents the old surface).
473
+ axes: axes,
353
474
  wikilinks,
354
475
  bodyPreview: body.slice(0, 240),
355
476
  searchTerms,
@@ -358,11 +479,11 @@ export async function buildNodeIndex(opts) {
358
479
  return nodes;
359
480
  }
360
481
  /** Persist the node index to `cachePath` (compact JSON; Set serialised as array). */
361
- export async function saveNodeIndex(cachePath, nodes) {
362
- await mkdir(path.dirname(cachePath), { recursive: true });
482
+ export async function saveNodeIndex(cachePath, nodes, sourceSignature) {
363
483
  const file = {
364
484
  version: NODE_CACHE_VERSION,
365
485
  generatedAt: new Date().toISOString(),
486
+ sourceSignature: sourceSignature ?? await nodeSourceSignature(inferNodeCacheVault(cachePath)),
366
487
  nodes: nodes.map((n) => ({
367
488
  path: n.path,
368
489
  concept: n.concept,
@@ -373,30 +494,52 @@ export async function saveNodeIndex(cachePath, nodes) {
373
494
  searchTerms: Array.from(n.searchTerms),
374
495
  })),
375
496
  };
376
- await writeFile(cachePath, `${JSON.stringify(file)}\n`, "utf-8");
497
+ await writeCacheAtomically(cachePath, `${JSON.stringify(file)}\n`);
377
498
  }
378
499
  /**
379
500
  * Load the node index from `cachePath`, rebuilding each searchTerms Set from
380
- * its serialised array form. Returns `null` when absent / unreadable / stale.
501
+ * its serialised array form. Returns `null` when absent, stale, or when the
502
+ * markdown source signature no longer matches the cache. Corrupt or
503
+ * unreadable files fail loudly so a partial snapshot is never accepted.
381
504
  */
382
- export async function loadNodeIndex(cachePath) {
383
- try {
384
- const raw = await readFile(cachePath, "utf-8");
385
- const file = JSON.parse(raw);
386
- if (file.version !== NODE_CACHE_VERSION)
387
- return null;
388
- return file.nodes.map((n) => ({
389
- path: n.path,
390
- concept: n.concept,
391
- folder: n.folder,
392
- axes: n.axes,
393
- wikilinks: n.wikilinks,
394
- bodyPreview: n.bodyPreview,
395
- searchTerms: new Set(n.searchTerms),
396
- }));
505
+ export async function loadNodeIndex(cachePath, sourceSignature) {
506
+ const raw = await readCacheFile(cachePath);
507
+ if (raw === null)
508
+ return null;
509
+ const parsed = parseCacheJson(raw, cachePath);
510
+ if (!isRecord(parsed)) {
511
+ throw new Error(`Node cache "${cachePath}" has an invalid format.`);
397
512
  }
398
- catch {
513
+ if (parsed.version !== NODE_CACHE_VERSION)
399
514
  return null;
515
+ if (typeof parsed.sourceSignature !== "string" ||
516
+ typeof parsed.generatedAt !== "string" ||
517
+ !Array.isArray(parsed.nodes) ||
518
+ !parsed.nodes.every((node) => isRecord(node) &&
519
+ typeof node.path === "string" &&
520
+ (typeof node.concept === "string" || node.concept === null) &&
521
+ typeof node.folder === "string" &&
522
+ isRecord(node.axes) &&
523
+ Array.isArray(node.wikilinks) &&
524
+ node.wikilinks.every((item) => typeof item === "string") &&
525
+ typeof node.bodyPreview === "string" &&
526
+ Array.isArray(node.searchTerms) &&
527
+ node.searchTerms.every((item) => typeof item === "string"))) {
528
+ throw new Error(`Node cache "${cachePath}" has an invalid format.`);
400
529
  }
530
+ const expectedSignature = sourceSignature ?? await nodeSourceSignature(inferNodeCacheVault(cachePath));
531
+ if (parsed.sourceSignature !== expectedSignature)
532
+ return null;
533
+ return parsed.nodes.map((n) => ({
534
+ path: n.path,
535
+ concept: n.concept,
536
+ folder: n.folder,
537
+ // Typed values survive JSON round-tripping; retain the legacy DTO
538
+ // declaration for graph consumers.
539
+ axes: n.axes,
540
+ wikilinks: n.wikilinks,
541
+ bodyPreview: n.bodyPreview,
542
+ searchTerms: new Set(n.searchTerms),
543
+ }));
401
544
  }
402
545
  //# sourceMappingURL=builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/kernel/engine/graph/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,GAAW,EAAE,IAAY;IACpD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E,uFAAuF;AACvF,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAY,CAAC;QACpD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAiC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,+CAA+C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,0EAA0E;AAC1E,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,mBAAmB,CAAC;IACpC,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2DAA2D;AAC3D,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qDAAqD;AACrD,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAYD,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,KAAwB;IAClE,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAsB,EAAE;QAC9C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACnE,OAAO;YACL,OAAO;YACP,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC;YAClC,YAAY,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAOhC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,KAAwB,CAAC;IAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,mEAAmE;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAe,EAAE;QAC9C,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;YAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QACpD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,4EAA4E;IAC5E,KAAK,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAa;YACrB,GAAG,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACxC,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC3C,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6DAA6D;IAC7D,gDAAgD;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,CAAC;YAAE,SAAS;QAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;gBACjB,sDAAsD;gBACtD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC;QAC9B,kEAAkE;QAClE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBACnE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;GAQG;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC;AAQxB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,KAAkB;IACzE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAoB;QAC5B,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,KAAK;KACN,CAAC;IACF,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAmB7B;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAIpC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,KAAwB,CAAC;IAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAsB,EAAE,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,kCAAkC;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAE9B,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnE,MAAM,IAAI,GAA6B,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAChB,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,IAAI;gBAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS;YAClC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,GAAG,QAAQ,CAAC,IAAI,CAAC;SAClB,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,OAAO;YACb,OAAO;YACP,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;YACzB,IAAI;YACJ,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/B,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,KAAiC;IAEjC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAkB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;SACvC,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/kernel/engine/graph/builder.ts"],"names":[],"mappings":"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"}