@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.
- package/README.md +86 -0
- package/dist/KnowledgeGraphManager.d.ts +54 -7
- package/dist/KnowledgeGraphManager.js +130 -27
- package/dist/KnowledgeGraphManager.js.map +1 -1
- package/dist/cli/report-oversized.d.ts +20 -0
- package/dist/cli/report-oversized.js +158 -0
- package/dist/cli/report-oversized.js.map +1 -0
- package/dist/config/entitySize.d.ts +44 -0
- package/dist/config/entitySize.js +77 -0
- package/dist/config/entitySize.js.map +1 -0
- package/dist/maintenance/EntitySizeService.d.ts +103 -0
- package/dist/maintenance/EntitySizeService.js +143 -0
- package/dist/maintenance/EntitySizeService.js.map +1 -0
- package/dist/schemas/index.d.ts +11 -3
- package/dist/schemas/index.js +12 -3
- package/dist/schemas/index.js.map +1 -1
- package/dist/server/handlers/callToolHandler.js +22 -1
- package/dist/server/handlers/callToolHandler.js.map +1 -1
- package/dist/server/handlers/listToolsHandler.js +21 -0
- package/dist/server/handlers/listToolsHandler.js.map +1 -1
- package/dist/server/handlers/toolHandlers/addObservationsBatch.js +5 -1
- package/dist/server/handlers/toolHandlers/addObservationsBatch.js.map +1 -1
- package/dist/server/handlers/toolHandlers/createEntitiesBatch.js +5 -1
- package/dist/server/handlers/toolHandlers/createEntitiesBatch.js.map +1 -1
- package/dist/server/handlers/toolHandlers/updateEntitiesBatch.js +5 -1
- package/dist/server/handlers/toolHandlers/updateEntitiesBatch.js.map +1 -1
- package/dist/server/handlers/toolHandlers/writeSizeWarnings.d.ts +45 -0
- package/dist/server/handlers/toolHandlers/writeSizeWarnings.js +106 -0
- package/dist/server/handlers/toolHandlers/writeSizeWarnings.js.map +1 -0
- package/dist/storage/StorageProvider.d.ts +27 -0
- package/dist/storage/StorageProvider.js.map +1 -1
- package/dist/storage/neo4j/Neo4jStorageProvider.d.ts +14 -1
- package/dist/storage/neo4j/Neo4jStorageProvider.js +75 -2
- package/dist/storage/neo4j/Neo4jStorageProvider.js.map +1 -1
- package/example.env +14 -1
- 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
|
-
*
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
*
|
|
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 {};
|