@henrychong-ai/mcp-neo4j-knowledge-graph 2.7.0 → 2.8.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 (36) hide show
  1. package/README.md +86 -0
  2. package/dist/KnowledgeGraphManager.d.ts +54 -7
  3. package/dist/KnowledgeGraphManager.js +130 -27
  4. package/dist/KnowledgeGraphManager.js.map +1 -1
  5. package/dist/cli/report-oversized.d.ts +20 -0
  6. package/dist/cli/report-oversized.js +158 -0
  7. package/dist/cli/report-oversized.js.map +1 -0
  8. package/dist/config/entitySize.d.ts +44 -0
  9. package/dist/config/entitySize.js +77 -0
  10. package/dist/config/entitySize.js.map +1 -0
  11. package/dist/maintenance/EntitySizeService.d.ts +103 -0
  12. package/dist/maintenance/EntitySizeService.js +143 -0
  13. package/dist/maintenance/EntitySizeService.js.map +1 -0
  14. package/dist/schemas/index.d.ts +11 -3
  15. package/dist/schemas/index.js +12 -3
  16. package/dist/schemas/index.js.map +1 -1
  17. package/dist/server/handlers/callToolHandler.js +22 -1
  18. package/dist/server/handlers/callToolHandler.js.map +1 -1
  19. package/dist/server/handlers/listToolsHandler.js +21 -0
  20. package/dist/server/handlers/listToolsHandler.js.map +1 -1
  21. package/dist/server/handlers/toolHandlers/addObservationsBatch.js +5 -1
  22. package/dist/server/handlers/toolHandlers/addObservationsBatch.js.map +1 -1
  23. package/dist/server/handlers/toolHandlers/createEntitiesBatch.js +5 -1
  24. package/dist/server/handlers/toolHandlers/createEntitiesBatch.js.map +1 -1
  25. package/dist/server/handlers/toolHandlers/updateEntitiesBatch.js +5 -1
  26. package/dist/server/handlers/toolHandlers/updateEntitiesBatch.js.map +1 -1
  27. package/dist/server/handlers/toolHandlers/writeSizeWarnings.d.ts +45 -0
  28. package/dist/server/handlers/toolHandlers/writeSizeWarnings.js +106 -0
  29. package/dist/server/handlers/toolHandlers/writeSizeWarnings.js.map +1 -0
  30. package/dist/storage/StorageProvider.d.ts +27 -0
  31. package/dist/storage/StorageProvider.js.map +1 -1
  32. package/dist/storage/neo4j/Neo4jStorageProvider.d.ts +14 -1
  33. package/dist/storage/neo4j/Neo4jStorageProvider.js +75 -2
  34. package/dist/storage/neo4j/Neo4jStorageProvider.js.map +1 -1
  35. package/example.env +14 -1
  36. package/package.json +9 -5
package/README.md CHANGED
@@ -430,6 +430,61 @@ Semantic search queries are automatically cached for improved performance:
430
430
 
431
431
  This caching layer provides significant performance improvements for repeated or similar queries without any configuration needed.
432
432
 
433
+ ## Oversized-entity flagging (v2.8.0+)
434
+
435
+ `open_nodes` returns pretty-printed JSON, and the MCP client/harness caps a tool
436
+ response at `MAX_MCP_OUTPUT_TOKENS` (default **25,000 tokens**). If a single
437
+ entity's own serialized form grows past that cap, `open_nodes(["Name"])` fails
438
+ **closed** — the entity can no longer be fetched or deduped by exact name. This
439
+ feature flags entities approaching the cap so you can restructure them first.
440
+
441
+ **How size is estimated.** Per entity, the server measures the characters of the
442
+ entity as `open_nodes` actually serializes it — nested in the `{ entities: [ … ] }`
443
+ response envelope with its temporal/identity fields, but without the embedding
444
+ vector (which `open_nodes` does not return), so observations dominate — and
445
+ estimates tokens at `chars / 2.8`. That divisor is calibrated against the
446
+ documented failure (an entity at ~73k serialized chars that exceeded the
447
+ 25k-token cap ⇒ <2.93 chars/token for dense technical/JSON content) and
448
+ deliberately errs toward over-estimating tokens: a false WARN is cheap, a missed
449
+ over-cap entity is the catastrophe the feature prevents. Combined with a sub-1.0
450
+ warn ratio it is a conservative early warning, not a reproduction of the harness
451
+ tokenizer. Three states: **OK** (`< warn_ratio`), **WARN**
452
+ (`warn_ratio`–`critical_ratio`: restructure soon), **CRITICAL** (`>= critical_ratio`:
453
+ at/over the cap — split now).
454
+
455
+ Three ways you find out:
456
+
457
+ 1. **On demand — `flag_oversized_entities` tool.** Returns a ranked, size-only
458
+ list (never full entity bodies, so the scan can't itself breach the cap). The
459
+ ranking is computed in the storage layer; the largest candidates are then
460
+ sized precisely.
461
+ 2. **At the moment of growth — write warnings.** When `create_entities_batch`,
462
+ `add_observations_batch`, or `update_entities_batch` push a touched entity
463
+ into WARN/CRITICAL, the result gains an additive, non-fatal `warnings[]` field
464
+ naming it. Strictly fail-open (never blocks or fails the write); disable with
465
+ `ENTITY_SIZE_WARN_ON_WRITE=false`.
466
+ 3. **On an ongoing basis — the CLI + a cron.** Run a recurring digest:
467
+
468
+ ```bash
469
+ pnpm run kg:oversized # table of WARN/CRITICAL entities
470
+ pnpm run kg:oversized -- --include-ok # include OK entities too
471
+ pnpm run kg:oversized:json # machine-readable JSON
472
+ pnpm run kg:oversized -- --limit 100 # scan the 100 largest
473
+ ```
474
+
475
+ The CLI exits non-zero when any CRITICAL entity exists, so a weekly cron
476
+ (alongside the embedding backfill) can alert. Sizing is pure Cypher — no
477
+ embedding provider is needed.
478
+
479
+ **Restructuring stays a judgement call** (the tool informs, it does not
480
+ auto-split): group an oversized entity's observations by theme into new, more
481
+ specific sibling entities, then link them with `create_relations`. Dedup with
482
+ `open_nodes` before creating. A CRITICAL entity may already be unretrievable
483
+ whole — split it from its source before it grows further.
484
+
485
+ Thresholds and scan size are configurable via the `MAX_MCP_OUTPUT_TOKENS` /
486
+ `ENTITY_SIZE_*` environment variables (see [Configuration](#environment-variables)).
487
+
433
488
  ## MCP API Tools
434
489
 
435
490
  The following tools are available to LLM client hosts through the Model Context Protocol:
@@ -518,6 +573,14 @@ The following tools are available to LLM client hosts through the Model Context
518
573
  - Retrieve specific nodes by name
519
574
  - Input: `names` (string[])
520
575
 
576
+ - **flag_oversized_entities** (v2.8.0+)
577
+ - List entities whose serialized size approaches or exceeds the MCP `open_nodes` output cap (default 25,000 tokens), ranked largest-first, so they can be split before they become unretrievable. Read-only; returns size metrics only (`est_tokens`, `ratio`, `state` of `OK`/`WARN`/`CRITICAL`, observation counts) — never full entity bodies, so the call can never itself breach the cap.
578
+ - Input (all optional):
579
+ - `limit` (number): number of largest entities to scan/rank (default: 50)
580
+ - `warn_ratio` (number): fraction of the cap (0.0-1.0) for the WARN threshold (default: 0.8)
581
+ - `include_ok` (boolean): include entities below the warn threshold (default: false)
582
+ - See [Oversized-entity flagging](#oversized-entity-flagging-v280).
583
+
521
584
  ### Semantic Search
522
585
 
523
586
  - **semantic_search**
@@ -575,6 +638,18 @@ EMBEDDING_DIMENSIONS == NEO4J_VECTOR_DIMENSIONS == the model's NATIVE output
575
638
 
576
639
  The Neo4j vector index is created at a fixed dimension. A vector of any other length can never be indexed — and as of v2.6.0 the server **refuses to write it** (see [Graceful degradation](#graceful-degradation--failure-behaviour)). The dimension is a property of the *model*, so pick the model first, then set both variables to its native output size.
577
640
 
641
+ ### The other thing to know: input context windows
642
+
643
+ Each model also has a **maximum input length**, and text past it is truncated *before* it is vectorised — so a very long entity is embedded from its **head only**, and anything beyond the cutoff becomes unreachable by `semantic_search`. Keep entities reasonably sized (split oversized ones) for good recall.
644
+
645
+ | Model | Role | Max input | Truncation |
646
+ |---|---|---|---|
647
+ | `@cf/qwen/qwen3-embedding-0.6b` | embedding | **8,192 tokens** | full text is sent; Cloudflare truncates the overflow server-side |
648
+ | `text-embedding-3-small` / `-large` | embedding | 8,191 tokens | OpenAI truncates server-side |
649
+ | `@cf/baai/bge-reranker-base` | reranker | **512 tokens** (query + passage) | each passage is truncated client-side to `RERANK_MAX_PASSAGE_CHARS` (default 2,000 chars ≈ this window) before scoring |
650
+
651
+ > Cloudflare's docs are currently inconsistent on the qwen3 embedding limit — the [model page](https://developers.cloudflare.com/workers-ai/models/qwen3-embedding-0.6b/) and [AI Search table](https://developers.cloudflare.com/ai-search/configuration/models/supported-models/) say 8,192 tokens; the launch changelog says 4,096. Treat ~4K as a conservative floor if a single entity sits near the limit.
652
+
578
653
  ### Option A — OpenAI (default)
579
654
 
580
655
  ```bash
@@ -800,6 +875,17 @@ EMBEDDING_STALE_CLAIM_MS=300000 # (v2.4.0+) Claims older than this age are
800
875
  # Increase if your worker's batch processing time can exceed
801
876
  # this; decrease for faster recovery from worker crashes.
802
877
 
878
+ # Oversized-Entity Flagging (v2.8.0+) — early-warning before an entity outgrows
879
+ # the open_nodes cap. All advisory; sizing is a conservative chars-per-token estimate.
880
+ MAX_MCP_OUTPUT_TOKENS=25000 # Assumed open_nodes output cap (tokens) the sizes are measured against.
881
+ # Set to match your client/harness cap if it differs from the 25k default.
882
+ ENTITY_SIZE_WARN_RATIO=0.8 # Fraction of the cap at/above which an entity is flagged WARN.
883
+ ENTITY_SIZE_CRITICAL_RATIO=1.0 # Fraction of the cap at/above which an entity is flagged CRITICAL
884
+ # (>= warn ratio; already at/over the cap → may be unretrievable whole).
885
+ ENTITY_SIZE_WARN_ON_WRITE=true # When true, write tools (create/add/update batch) append a non-fatal
886
+ # warnings[] field naming any touched entity that crosses WARN/CRITICAL.
887
+ ENTITY_SIZE_SCAN_LIMIT=50 # Default number of largest entities scanned/ranked per pass.
888
+
803
889
  # Logging Configuration
804
890
  LOG_LEVEL=warn # Log level: debug, info, warn, error, silent (default: warn)
805
891
  DEBUG=true # Enable debug mode (enables additional diagnostic tools)
@@ -1,4 +1,6 @@
1
+ import { type EntitySizeConfigOverrides } from './config/entitySize.js';
1
2
  import type { EmbeddingJobManager } from './embeddings/EmbeddingJobManager.js';
3
+ import { type EntitySizeReport } from './maintenance/EntitySizeService.js';
2
4
  import { RerankerService } from './retrieval/RerankerService.js';
3
5
  import type { StorageProvider } from './storage/StorageProvider.js';
4
6
  import { type VectorStoreFactoryOptions } from './storage/VectorStoreFactory.js';
@@ -43,6 +45,30 @@ export interface SearchResponse {
43
45
  }>;
44
46
  timeTaken: number;
45
47
  }
48
+ /** Options for {@link KnowledgeGraphManager.flagOversizedEntities}. */
49
+ export interface FlagOversizedOptions extends EntitySizeConfigOverrides {
50
+ /** When true, include OK entities in the result (default: only WARN/CRITICAL). */
51
+ includeOk?: boolean;
52
+ }
53
+ /** Result of {@link KnowledgeGraphManager.flagOversizedEntities}. */
54
+ export interface FlagOversizedResult {
55
+ /** Assumed MCP output cap (tokens) the sizes are measured against. */
56
+ assumedCap: number;
57
+ warnRatio: number;
58
+ criticalRatio: number;
59
+ /** Number of entities scanned/ranked. */
60
+ scanned: number;
61
+ flaggedCount: number;
62
+ criticalCount: number;
63
+ warnCount: number;
64
+ /** Ranked size reports (largest first), filtered per includeOk. */
65
+ entities: EntitySizeReport[];
66
+ restructureHint: string;
67
+ /** Set when a degraded path was taken (e.g. in-memory fallback). */
68
+ note?: string;
69
+ /** Set when the operation failed (fail-open — never throws). */
70
+ error?: string;
71
+ }
46
72
  interface KnowledgeGraphManagerOptions {
47
73
  storageProvider?: StorageProvider;
48
74
  embeddingJobManager?: EmbeddingJobManager;
@@ -105,6 +131,20 @@ export declare class KnowledgeGraphManager {
105
131
  includeNullDomain?: boolean;
106
132
  }): Promise<KnowledgeGraph>;
107
133
  openNodes(names: string[]): Promise<KnowledgeGraph>;
134
+ /**
135
+ * Flag entities whose serialized size approaches or exceeds the MCP
136
+ * `open_nodes` output cap, so they can be restructured before they become
137
+ * unretrievable. Ranks candidates cheaply in the storage layer (cap-immune),
138
+ * then refines the top-N precisely by hydrating the real entities — the cap
139
+ * applies only to tool RESPONSES, not to this internal hydration, so even
140
+ * already-CRITICAL entities load safely here.
141
+ *
142
+ * Fail-open: any error is captured into the `error` field; this never throws.
143
+ *
144
+ * @param options Threshold overrides plus includeOk
145
+ * @returns Ranked, classified size reports for the largest entities
146
+ */
147
+ flagOversizedEntities(options?: FlagOversizedOptions): Promise<FlagOversizedResult>;
108
148
  /**
109
149
  * Add observations to entities
110
150
  * @param observations Array of observation objects
@@ -160,6 +200,20 @@ export declare class KnowledgeGraphManager {
160
200
  domain?: string;
161
201
  includeNullDomain?: boolean;
162
202
  }): Promise<KnowledgeGraph>;
203
+ /**
204
+ * Build the option set forwarded to keyword-only `searchNodes` fallbacks (v2.7.1).
205
+ * Forwards every option the keyword path can honour — `limit` (also enforced
206
+ * post-hoc by applyExplicitLimit), `entityTypes`, and the domain filters — so
207
+ * degraded mode keeps as much of the semantic_search contract as possible.
208
+ */
209
+ private keywordFallbackOptions;
210
+ /**
211
+ * Honour an explicit caller limit on a keyword-fallback result (v2.7.0).
212
+ * No limit given → the graph passes through unchanged (keyword search keeps
213
+ * its own result-size semantics); an explicit limit is enforced exactly,
214
+ * matching the documented semantic_search contract even in degraded mode.
215
+ */
216
+ private applyExplicitLimit;
163
217
  /**
164
218
  * Trim an ordered entity list to `returnCount` and rebuild the result around it.
165
219
  *
@@ -173,13 +227,6 @@ export declare class KnowledgeGraphManager {
173
227
  * @param returnCount - Maximum number of entities to return
174
228
  * @returns The recall result rebuilt around the trimmed, ordered entities
175
229
  */
176
- /**
177
- * Honour an explicit caller limit on a keyword-fallback result (v2.7.0).
178
- * No limit given → the graph passes through unchanged (keyword search keeps
179
- * its own result-size semantics); an explicit limit is enforced exactly,
180
- * matching the documented semantic_search contract even in degraded mode.
181
- */
182
- private applyExplicitLimit;
183
230
  private trimToReturnCount;
184
231
  /**
185
232
  * Order semantic-search results and trim them to `returnCount`.
@@ -1,4 +1,7 @@
1
+ // import path from 'path';
2
+ import { getEntitySizeConfig } from './config/entitySize.js';
1
3
  import { prepareEntityText } from './embeddings/entityText.js';
4
+ import { estimateEntitySize, estimateFromCharCount, RESTRUCTURE_HINT, } from './maintenance/EntitySizeService.js';
2
5
  import { VectorStoreFactory, } from './storage/VectorStoreFactory.js';
3
6
  import { logger } from './utils/logger.js';
4
7
  // Type guard functions
@@ -260,6 +263,104 @@ export class KnowledgeGraphManager {
260
263
  }
261
264
  return this.storageProvider.openNodes(names);
262
265
  }
266
+ /**
267
+ * Flag entities whose serialized size approaches or exceeds the MCP
268
+ * `open_nodes` output cap, so they can be restructured before they become
269
+ * unretrievable. Ranks candidates cheaply in the storage layer (cap-immune),
270
+ * then refines the top-N precisely by hydrating the real entities — the cap
271
+ * applies only to tool RESPONSES, not to this internal hydration, so even
272
+ * already-CRITICAL entities load safely here.
273
+ *
274
+ * Fail-open: any error is captured into the `error` field; this never throws.
275
+ *
276
+ * @param options Threshold overrides plus includeOk
277
+ * @returns Ranked, classified size reports for the largest entities
278
+ */
279
+ async flagOversizedEntities(options) {
280
+ const cfg = getEntitySizeConfig(options);
281
+ const includeOk = options?.includeOk ?? false;
282
+ const base = {
283
+ assumedCap: cfg.maxTokens,
284
+ warnRatio: cfg.warnRatio,
285
+ criticalRatio: cfg.criticalRatio,
286
+ restructureHint: RESTRUCTURE_HINT,
287
+ };
288
+ try {
289
+ if (!this.storageProvider) {
290
+ throw new Error('Storage provider is required to flag oversized entities');
291
+ }
292
+ // 1. Rank candidates cheaply in the storage layer (cap-immune projection).
293
+ let rows;
294
+ let note;
295
+ if (typeof this.storageProvider.scanEntitySizes === 'function') {
296
+ rows = await this.storageProvider.scanEntitySizes(cfg.scanLimit);
297
+ }
298
+ else {
299
+ // Fallback for providers without a native scan (e.g. tests / non-Neo4j):
300
+ // size in memory. Only reached when scanEntitySizes is absent.
301
+ const graph = await this.storageProvider.loadGraph();
302
+ rows = graph.entities
303
+ .map(e => {
304
+ const obs = e.observations ?? [];
305
+ const obsChars = obs.reduce((s, o) => s + (o ?? '').length + 6, 0);
306
+ return {
307
+ name: e.name,
308
+ entityType: e.entityType ?? '',
309
+ obsChars,
310
+ obsCount: obs.length,
311
+ relCount: 0,
312
+ approxChars: obsChars + 200,
313
+ };
314
+ })
315
+ .sort((a, b) => b.approxChars - a.approxChars)
316
+ .slice(0, cfg.scanLimit);
317
+ note = 'storage provider has no scanEntitySizes(); used in-memory fallback';
318
+ }
319
+ const scanned = rows.length;
320
+ // 2. Refine the candidates precisely by hydrating the real entities.
321
+ const names = rows.map(r => r.name);
322
+ const entityByName = new Map();
323
+ if (names.length > 0) {
324
+ try {
325
+ const graph = await this.storageProvider.openNodes(names);
326
+ for (const e of graph.entities) {
327
+ entityByName.set(e.name, e);
328
+ }
329
+ }
330
+ catch (err) {
331
+ logger.warn('flagOversizedEntities: refine openNodes failed, using approximate sizes', err);
332
+ }
333
+ }
334
+ const reports = rows.map(row => {
335
+ const entity = entityByName.get(row.name);
336
+ return entity ? estimateEntitySize(entity, cfg) : estimateFromCharCount(row, cfg);
337
+ });
338
+ reports.sort((a, b) => b.estTokens - a.estTokens);
339
+ const flagged = reports.filter(r => r.state !== 'OK');
340
+ return {
341
+ ...base,
342
+ scanned,
343
+ flaggedCount: flagged.length,
344
+ criticalCount: flagged.filter(r => r.state === 'CRITICAL').length,
345
+ warnCount: flagged.filter(r => r.state === 'WARN').length,
346
+ entities: includeOk ? reports : flagged,
347
+ ...(note ? { note } : {}),
348
+ };
349
+ }
350
+ catch (error) {
351
+ const message = error instanceof Error ? error.message : String(error);
352
+ logger.error('flagOversizedEntities failed', error);
353
+ return {
354
+ ...base,
355
+ scanned: 0,
356
+ flaggedCount: 0,
357
+ criticalCount: 0,
358
+ warnCount: 0,
359
+ entities: [],
360
+ error: message,
361
+ };
362
+ }
363
+ }
263
364
  /**
264
365
  * Add observations to entities
265
366
  * @param observations Array of observation objects
@@ -400,25 +501,16 @@ export class KnowledgeGraphManager {
400
501
  KnowledgeGraphManager.keywordFallbackWarned = true;
401
502
  logger.warn(fallbackMessage);
402
503
  }
403
- return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, {
404
- domain: options.domain,
405
- includeNullDomain: options.includeNullDomain,
406
- }), options.limit);
504
+ return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, this.keywordFallbackOptions(options)), options.limit);
407
505
  }
408
506
  catch (error) {
409
507
  logger.error('Provider semanticSearch failed, falling back to basic search', error);
410
- return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, {
411
- domain: options.domain,
412
- includeNullDomain: options.includeNullDomain,
413
- }), options.limit);
508
+ return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, this.keywordFallbackOptions(options)), options.limit);
414
509
  }
415
510
  }
416
511
  else if (this.storageProvider) {
417
512
  // Fall back to searchNodes if semanticSearch is not available in the provider
418
- return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, {
419
- domain: options.domain,
420
- includeNullDomain: options.includeNullDomain,
421
- }), options.limit);
513
+ return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, this.keywordFallbackOptions(options)), options.limit);
422
514
  }
423
515
  // If no storage provider or its semanticSearch is not available, try internal semantic search
424
516
  if (this.embeddingJobManager) {
@@ -442,10 +534,7 @@ export class KnowledgeGraphManager {
442
534
  logger.error('Semantic search failed, falling back to basic search', error);
443
535
  // Explicitly call searchNodes if available in the provider
444
536
  if (this.storageProvider) {
445
- return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, {
446
- domain: options.domain,
447
- includeNullDomain: options.includeNullDomain,
448
- }), options.limit);
537
+ return this.applyExplicitLimit(await this.storageProvider.searchNodes(query, this.keywordFallbackOptions(options)), options.limit);
449
538
  }
450
539
  }
451
540
  }
@@ -460,18 +549,19 @@ export class KnowledgeGraphManager {
460
549
  });
461
550
  }
462
551
  /**
463
- * Trim an ordered entity list to `returnCount` and rebuild the result around it.
464
- *
465
- * Recall order is meaningful as of v2.7.0: Neo4jStorageProvider.semanticSearch reorders
466
- * hydrated entities to match the ranked name list, so slicing recall preserves the
467
- * vector/hybrid ranking. Relations are filtered to the surviving entities and `total`
468
- * reflects the returned entity count so it can't overstate the trimmed result.
469
- *
470
- * @param recall - The recall result whose non-entity fields are preserved
471
- * @param ordered - The entities in final (rerank or recall) order
472
- * @param returnCount - Maximum number of entities to return
473
- * @returns The recall result rebuilt around the trimmed, ordered entities
552
+ * Build the option set forwarded to keyword-only `searchNodes` fallbacks (v2.7.1).
553
+ * Forwards every option the keyword path can honour — `limit` (also enforced
554
+ * post-hoc by applyExplicitLimit), `entityTypes`, and the domain filters — so
555
+ * degraded mode keeps as much of the semantic_search contract as possible.
474
556
  */
557
+ keywordFallbackOptions(options) {
558
+ return {
559
+ limit: options.limit,
560
+ entityTypes: options.entityTypes,
561
+ domain: options.domain,
562
+ includeNullDomain: options.includeNullDomain,
563
+ };
564
+ }
475
565
  /**
476
566
  * Honour an explicit caller limit on a keyword-fallback result (v2.7.0).
477
567
  * No limit given → the graph passes through unchanged (keyword search keeps
@@ -484,6 +574,19 @@ export class KnowledgeGraphManager {
484
574
  }
485
575
  return this.trimToReturnCount(graph, graph.entities ?? [], limit);
486
576
  }
577
+ /**
578
+ * Trim an ordered entity list to `returnCount` and rebuild the result around it.
579
+ *
580
+ * Recall order is meaningful as of v2.7.0: Neo4jStorageProvider.semanticSearch reorders
581
+ * hydrated entities to match the ranked name list, so slicing recall preserves the
582
+ * vector/hybrid ranking. Relations are filtered to the surviving entities and `total`
583
+ * reflects the returned entity count so it can't overstate the trimmed result.
584
+ *
585
+ * @param recall - The recall result whose non-entity fields are preserved
586
+ * @param ordered - The entities in final (rerank or recall) order
587
+ * @param returnCount - Maximum number of entities to return
588
+ * @returns The recall result rebuilt around the trimmed, ordered entities
589
+ */
487
590
  trimToReturnCount(recall, ordered, returnCount) {
488
591
  const entities = ordered.slice(0, returnCount);
489
592
  const names = new Set(entities.map(entity => entity.name));
@@ -1 +1 @@
1
- {"version":3,"file":"KnowledgeGraphManager.js","sourceRoot":"","sources":["../src/KnowledgeGraphManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnowledgeGraphManager.js","sourceRoot":"","sources":["../src/KnowledgeGraphManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CLI tool: report knowledge-graph entities that are at risk of exceeding the
3
+ * MCP `open_nodes` output cap, so they can be restructured before they become
4
+ * unretrievable.
5
+ *
6
+ * Usage:
7
+ * npm run kg:oversized # table of WARN/CRITICAL entities
8
+ * npm run kg:oversized -- --include-ok # include OK entities too
9
+ * npm run kg:oversized -- --json # machine-readable JSON
10
+ * npm run kg:oversized -- --limit 100 # scan the 100 largest
11
+ *
12
+ * Exit code is 1 when any CRITICAL entity exists (so a cron/CI job can alert),
13
+ * 0 otherwise. This is the "ongoing basis" mechanism: schedule it on a recurring
14
+ * cron alongside the embedding backfill.
15
+ *
16
+ * Requirements:
17
+ * - Neo4j connection configured (NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD)
18
+ * - No embedding provider needed — sizing is pure Cypher.
19
+ */
20
+ export {};