@carlonicora/nestjs-neo4jsonapi 4.10.0 → 4.12.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/dist/agents/common/inline-entity-links.d.ts +22 -0
- package/dist/agents/common/inline-entity-links.d.ts.map +1 -0
- package/dist/agents/common/inline-entity-links.js +60 -0
- package/dist/agents/common/inline-entity-links.js.map +1 -0
- package/dist/agents/community.detector/services/community.detector.service.d.ts.map +1 -1
- package/dist/agents/community.detector/services/community.detector.service.js +4 -0
- package/dist/agents/community.detector/services/community.detector.service.js.map +1 -1
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts +17 -0
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.catalog.service.d.ts +15 -2
- package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.catalog.service.js +87 -0
- package/dist/agents/graph/services/graph.catalog.service.js.map +1 -1
- package/dist/agents/graph/services/graph.index.manager.d.ts +18 -1
- package/dist/agents/graph/services/graph.index.manager.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.index.manager.js +16 -2
- package/dist/agents/graph/services/graph.index.manager.js.map +1 -1
- package/dist/agents/graph/services/graph.search.service.d.ts +38 -1
- package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.search.service.js +126 -7
- package/dist/agents/graph/services/graph.search.service.js.map +1 -1
- package/dist/agents/graph/services/scope.guard.d.ts +30 -1
- package/dist/agents/graph/services/scope.guard.d.ts.map +1 -1
- package/dist/agents/graph/services/scope.guard.js +53 -2
- package/dist/agents/graph/services/scope.guard.js.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.js +3 -1
- package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.js +18 -8
- package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
- package/dist/agents/operator/contexts/operator.context.d.ts +8 -1
- package/dist/agents/operator/contexts/operator.context.d.ts.map +1 -1
- package/dist/agents/operator/contexts/operator.context.js +6 -0
- package/dist/agents/operator/contexts/operator.context.js.map +1 -1
- package/dist/agents/operator/controllers/operator.controller.d.ts +4 -1
- package/dist/agents/operator/controllers/operator.controller.d.ts.map +1 -1
- package/dist/agents/operator/controllers/operator.controller.js +15 -8
- package/dist/agents/operator/controllers/operator.controller.js.map +1 -1
- package/dist/agents/operator/services/operator.service.d.ts +15 -0
- package/dist/agents/operator/services/operator.service.d.ts.map +1 -1
- package/dist/agents/operator/services/operator.service.js +31 -8
- package/dist/agents/operator/services/operator.service.js.map +1 -1
- package/dist/agents/operator/tools/operator.tool.registry.d.ts +2 -1
- package/dist/agents/operator/tools/operator.tool.registry.d.ts.map +1 -1
- package/dist/agents/operator/tools/operator.tool.registry.js +8 -3
- package/dist/agents/operator/tools/operator.tool.registry.js.map +1 -1
- package/dist/agents/responder/contexts/responder.context.d.ts +6 -0
- package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
- package/dist/agents/responder/contexts/responder.context.js +2 -0
- package/dist/agents/responder/contexts/responder.context.js.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.js +8 -2
- package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
- package/dist/agents/responder/services/responder.service.d.ts +2 -0
- package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
- package/dist/agents/responder/services/responder.service.js +1 -0
- package/dist/agents/responder/services/responder.service.js.map +1 -1
- package/dist/common/decorators/oauth.scopes.decorator.d.ts +2 -2
- package/dist/common/decorators/oauth.scopes.decorator.js +2 -2
- package/dist/common/helpers/credit-gate.d.ts +8 -0
- package/dist/common/helpers/credit-gate.d.ts.map +1 -1
- package/dist/common/helpers/credit-gate.js +11 -0
- package/dist/common/helpers/credit-gate.js.map +1 -1
- package/dist/common/helpers/define-entity.d.ts.map +1 -1
- package/dist/common/helpers/define-entity.js +6 -0
- package/dist/common/helpers/define-entity.js.map +1 -1
- package/dist/common/interfaces/assistant.scope.interface.d.ts +47 -0
- package/dist/common/interfaces/assistant.scope.interface.d.ts.map +1 -0
- package/dist/common/interfaces/assistant.scope.interface.js +14 -0
- package/dist/common/interfaces/assistant.scope.interface.js.map +1 -0
- package/dist/common/interfaces/assistant.title.interface.d.ts +30 -0
- package/dist/common/interfaces/assistant.title.interface.d.ts.map +1 -0
- package/dist/common/interfaces/assistant.title.interface.js +18 -0
- package/dist/common/interfaces/assistant.title.interface.js.map +1 -0
- package/dist/common/interfaces/datamodel.interface.d.ts +1 -0
- package/dist/common/interfaces/datamodel.interface.d.ts.map +1 -1
- package/dist/common/interfaces/entity.schema.interface.d.ts +63 -6
- package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
- package/dist/common/interfaces/external.entity.source.interface.d.ts +43 -0
- package/dist/common/interfaces/external.entity.source.interface.d.ts.map +1 -0
- package/dist/common/interfaces/external.entity.source.interface.js +17 -0
- package/dist/common/interfaces/external.entity.source.interface.js.map +1 -0
- package/dist/common/interfaces/index.d.ts +4 -0
- package/dist/common/interfaces/index.d.ts.map +1 -1
- package/dist/common/interfaces/index.js +4 -0
- package/dist/common/interfaces/index.js.map +1 -1
- package/dist/common/interfaces/s3.key-access.policy.interface.d.ts +48 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.d.ts.map +1 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.js +36 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.js.map +1 -0
- package/dist/common/tokens.d.ts +13 -0
- package/dist/common/tokens.d.ts.map +1 -1
- package/dist/common/tokens.js +14 -1
- package/dist/common/tokens.js.map +1 -1
- package/dist/config/base.config.d.ts +13 -0
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +56 -12
- package/dist/config/base.config.js.map +1 -1
- package/dist/config/interfaces/base.config.interface.d.ts +2 -0
- package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.ai.interface.d.ts +20 -2
- package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.assistant.interface.d.ts +9 -0
- package/dist/config/interfaces/config.assistant.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.assistant.interface.js +3 -0
- package/dist/config/interfaces/config.assistant.interface.js.map +1 -0
- package/dist/config/interfaces/config.oauth.interface.d.ts +8 -0
- package/dist/config/interfaces/config.oauth.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.operator.interface.d.ts +5 -0
- package/dist/config/interfaces/config.operator.interface.d.ts.map +1 -1
- package/dist/config/interfaces/index.d.ts +1 -0
- package/dist/config/interfaces/index.d.ts.map +1 -1
- package/dist/config/interfaces/index.js +1 -0
- package/dist/config/interfaces/index.js.map +1 -1
- package/dist/core/llm/interfaces/ai-candidate.interface.d.ts +23 -0
- package/dist/core/llm/interfaces/ai-candidate.interface.d.ts.map +1 -1
- package/dist/core/llm/services/ai-connection-resolver.service.d.ts.map +1 -1
- package/dist/core/llm/services/ai-connection-resolver.service.js +18 -0
- package/dist/core/llm/services/ai-connection-resolver.service.js.map +1 -1
- package/dist/core/llm/services/image.llm.service.d.ts +99 -13
- package/dist/core/llm/services/image.llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/image.llm.service.js +209 -61
- package/dist/core/llm/services/image.llm.service.js.map +1 -1
- package/dist/core/llm/services/model.service.d.ts +2 -0
- package/dist/core/llm/services/model.service.d.ts.map +1 -1
- package/dist/core/llm/services/model.service.js +38 -0
- package/dist/core/llm/services/model.service.js.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts +26 -0
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.repository.js +70 -37
- package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
- package/dist/core/neo4j/index.d.ts +2 -0
- package/dist/core/neo4j/index.d.ts.map +1 -1
- package/dist/core/neo4j/index.js +5 -1
- package/dist/core/neo4j/index.js.map +1 -1
- package/dist/core/neo4j/queries/update.relationship.d.ts +8 -0
- package/dist/core/neo4j/queries/update.relationship.d.ts.map +1 -1
- package/dist/core/neo4j/queries/update.relationship.js +4 -1
- package/dist/core/neo4j/queries/update.relationship.js.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.d.ts +10 -0
- package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.js +12 -1
- package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
- package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.d.ts +9 -0
- package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.d.ts.map +1 -1
- package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.js +45 -0
- package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.js.map +1 -1
- package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.d.ts +9 -0
- package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.d.ts.map +1 -1
- package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.js +45 -0
- package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.js.map +1 -1
- package/dist/foundations/ai-connection/entities/ai-connection.d.ts +9 -0
- package/dist/foundations/ai-connection/entities/ai-connection.d.ts.map +1 -1
- package/dist/foundations/ai-connection/entities/ai-connection.js +10 -0
- package/dist/foundations/ai-connection/entities/ai-connection.js.map +1 -1
- package/dist/foundations/ai-connection/registry/ai-provider.registry.d.ts.map +1 -1
- package/dist/foundations/ai-connection/registry/ai-provider.registry.js +61 -7
- package/dist/foundations/ai-connection/registry/ai-provider.registry.js.map +1 -1
- package/dist/foundations/assistant/assistant.module.d.ts +7 -2
- package/dist/foundations/assistant/assistant.module.d.ts.map +1 -1
- package/dist/foundations/assistant/assistant.module.js +37 -1
- package/dist/foundations/assistant/assistant.module.js.map +1 -1
- package/dist/foundations/assistant/controllers/assistant.controller.d.ts +4 -1
- package/dist/foundations/assistant/controllers/assistant.controller.d.ts.map +1 -1
- package/dist/foundations/assistant/controllers/assistant.controller.js +15 -8
- package/dist/foundations/assistant/controllers/assistant.controller.js.map +1 -1
- package/dist/foundations/assistant/services/assistant.service.d.ts +37 -1
- package/dist/foundations/assistant/services/assistant.service.d.ts.map +1 -1
- package/dist/foundations/assistant/services/assistant.service.js +144 -11
- package/dist/foundations/assistant/services/assistant.service.js.map +1 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts +7 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts.map +1 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.js +15 -5
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.js.map +1 -1
- package/dist/foundations/assistant-message/assistant-message.module.d.ts +4 -0
- package/dist/foundations/assistant-message/assistant-message.module.d.ts.map +1 -1
- package/dist/foundations/assistant-message/assistant-message.module.js +27 -2
- package/dist/foundations/assistant-message/assistant-message.module.js.map +1 -1
- package/dist/foundations/company/entities/company.d.ts +4 -4
- package/dist/foundations/company/entities/company.d.ts.map +1 -1
- package/dist/foundations/company/entities/company.js +2 -2
- package/dist/foundations/company/entities/company.js.map +1 -1
- package/dist/foundations/content/interfaces/content.extension.interface.d.ts +22 -0
- package/dist/foundations/content/interfaces/content.extension.interface.d.ts.map +1 -1
- package/dist/foundations/content/interfaces/content.extension.interface.js.map +1 -1
- package/dist/foundations/content/services/content.cypher.service.d.ts +27 -0
- package/dist/foundations/content/services/content.cypher.service.d.ts.map +1 -1
- package/dist/foundations/content/services/content.cypher.service.js +68 -9
- package/dist/foundations/content/services/content.cypher.service.js.map +1 -1
- package/dist/foundations/oauth/constants/oauth.scopes.d.ts +26 -11
- package/dist/foundations/oauth/constants/oauth.scopes.d.ts.map +1 -1
- package/dist/foundations/oauth/constants/oauth.scopes.js +13 -18
- package/dist/foundations/oauth/constants/oauth.scopes.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.authorize.controller.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.authorize.controller.js +3 -0
- package/dist/foundations/oauth/controllers/oauth.authorize.controller.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.registration.controller.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.registration.controller.js +2 -0
- package/dist/foundations/oauth/controllers/oauth.registration.controller.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.token.controller.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.token.controller.js +2 -0
- package/dist/foundations/oauth/controllers/oauth.token.controller.js.map +1 -1
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.d.ts +1 -0
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.d.ts.map +1 -1
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.js +5 -0
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.js.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.entity.d.ts +2 -0
- package/dist/foundations/oauth/entities/oauth.authorization.code.entity.d.ts.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.entity.js.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.model.d.ts.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.model.js +1 -0
- package/dist/foundations/oauth/entities/oauth.authorization.code.model.js.map +1 -1
- package/dist/foundations/oauth/filters/oauth.error.filter.d.ts +16 -0
- package/dist/foundations/oauth/filters/oauth.error.filter.d.ts.map +1 -0
- package/dist/foundations/oauth/filters/oauth.error.filter.js +70 -0
- package/dist/foundations/oauth/filters/oauth.error.filter.js.map +1 -0
- package/dist/foundations/oauth/guards/oauth.token.guard.d.ts +2 -2
- package/dist/foundations/oauth/guards/oauth.token.guard.js +2 -2
- package/dist/foundations/oauth/index.d.ts +2 -1
- package/dist/foundations/oauth/index.d.ts.map +1 -1
- package/dist/foundations/oauth/index.js +3 -1
- package/dist/foundations/oauth/index.js.map +1 -1
- package/dist/foundations/oauth/oauth.module.d.ts +2 -2
- package/dist/foundations/oauth/oauth.module.d.ts.map +1 -1
- package/dist/foundations/oauth/oauth.module.js +11 -5
- package/dist/foundations/oauth/oauth.module.js.map +1 -1
- package/dist/foundations/oauth/repositories/oauth.repository.d.ts +20 -1
- package/dist/foundations/oauth/repositories/oauth.repository.d.ts.map +1 -1
- package/dist/foundations/oauth/repositories/oauth.repository.js +54 -10
- package/dist/foundations/oauth/repositories/oauth.repository.js.map +1 -1
- package/dist/foundations/oauth/services/index.d.ts +1 -0
- package/dist/foundations/oauth/services/index.d.ts.map +1 -1
- package/dist/foundations/oauth/services/index.js +1 -0
- package/dist/foundations/oauth/services/index.js.map +1 -1
- package/dist/foundations/oauth/services/oauth.client.service.d.ts +3 -1
- package/dist/foundations/oauth/services/oauth.client.service.d.ts.map +1 -1
- package/dist/foundations/oauth/services/oauth.client.service.js +7 -5
- package/dist/foundations/oauth/services/oauth.client.service.js.map +1 -1
- package/dist/foundations/oauth/services/oauth.scope.service.d.ts +32 -0
- package/dist/foundations/oauth/services/oauth.scope.service.d.ts.map +1 -0
- package/dist/foundations/oauth/services/oauth.scope.service.js +71 -0
- package/dist/foundations/oauth/services/oauth.scope.service.js.map +1 -0
- package/dist/foundations/oauth/services/oauth.service.d.ts +13 -1
- package/dist/foundations/oauth/services/oauth.service.d.ts.map +1 -1
- package/dist/foundations/oauth/services/oauth.service.js +18 -8
- package/dist/foundations/oauth/services/oauth.service.js.map +1 -1
- package/dist/foundations/relevancy/queries/relevance.d.ts +20 -0
- package/dist/foundations/relevancy/queries/relevance.d.ts.map +1 -1
- package/dist/foundations/relevancy/queries/relevance.js +44 -8
- package/dist/foundations/relevancy/queries/relevance.js.map +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts +41 -2
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts.map +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.js +89 -6
- package/dist/foundations/relevancy/repositories/relevancy.repository.js.map +1 -1
- package/dist/foundations/relevancy/services/relevancy.service.js +1 -1
- package/dist/foundations/relevancy/services/relevancy.service.js.map +1 -1
- package/dist/foundations/s3/controllers/s3.controller.d.ts +10 -1
- package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -1
- package/dist/foundations/s3/controllers/s3.controller.js +33 -2
- package/dist/foundations/s3/controllers/s3.controller.js.map +1 -1
- package/dist/foundations/user/controllers/user.controller.d.ts +1 -1
- package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -1
- package/dist/foundations/user/controllers/user.controller.js +4 -4
- package/dist/foundations/user/controllers/user.controller.js.map +1 -1
- package/dist/foundations/user/entities/user.d.ts +17 -17
- package/dist/foundations/user/entities/user.d.ts.map +1 -1
- package/dist/foundations/user/entities/user.js +7 -7
- package/dist/foundations/user/entities/user.js.map +1 -1
- package/dist/foundations/user/user.module.js +2 -2
- package/dist/foundations/user/user.module.js.map +1 -1
- package/dist/mcp/services/mcp.entity.write.service.d.ts +9 -4
- package/dist/mcp/services/mcp.entity.write.service.d.ts.map +1 -1
- package/dist/mcp/services/mcp.entity.write.service.js +12 -4
- package/dist/mcp/services/mcp.entity.write.service.js.map +1 -1
- package/dist/mcp/services/mcp.errors.d.ts +1 -1
- package/dist/mcp/services/mcp.errors.d.ts.map +1 -1
- package/dist/mcp/services/mcp.errors.js.map +1 -1
- package/dist/mcp/services/mcp.tool.registry.d.ts +10 -1
- package/dist/mcp/services/mcp.tool.registry.d.ts.map +1 -1
- package/dist/mcp/services/mcp.tool.registry.js +24 -2
- package/dist/mcp/services/mcp.tool.registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { CatalogEntity } from "../interfaces/graph.catalog.interface";
|
|
|
4
4
|
import { GraphIndexManager } from "./graph.index.manager";
|
|
5
5
|
import { GraphCatalogService } from "./graph.catalog.service";
|
|
6
6
|
import { ScopeGuard } from "./scope.guard";
|
|
7
|
+
import { EntityServiceRegistry } from "../../../common/registries/entity.service.registry";
|
|
7
8
|
export declare const GRAPH_EXACT_MAX_RESULTS = 10;
|
|
8
9
|
export declare const GRAPH_FUZZY_MAX_RESULTS = 10;
|
|
9
10
|
export declare const GRAPH_SEMANTIC_MAX_RESULTS = 5;
|
|
@@ -66,9 +67,27 @@ export declare class GraphSearchService {
|
|
|
66
67
|
private readonly indexNames;
|
|
67
68
|
private readonly catalog;
|
|
68
69
|
private readonly scopeGuard;
|
|
70
|
+
/**
|
|
71
|
+
* Supplies each type's service for two things: an `ExternalEntitySource`
|
|
72
|
+
* name lookup, and the record-level access check every app-database
|
|
73
|
+
* candidate must pass (`findRecordById`). Optional in the TYPE signature
|
|
74
|
+
* only, after ScopeGuard for the same positional reason; Nest resolves it
|
|
75
|
+
* (CoreModule exports it globally). Without it no external type is
|
|
76
|
+
* searched and every app-database candidate is dropped (fail closed).
|
|
77
|
+
*/
|
|
78
|
+
private readonly registry?;
|
|
69
79
|
private readonly logger;
|
|
70
80
|
private existingIndexesPromise;
|
|
71
|
-
constructor(neo4j: Neo4jService, embedder: EmbedderService, indexNames: GraphIndexManager, catalog: GraphCatalogService, scopeGuard: ScopeGuard
|
|
81
|
+
constructor(neo4j: Neo4jService, embedder: EmbedderService, indexNames: GraphIndexManager, catalog: GraphCatalogService, scopeGuard: ScopeGuard,
|
|
82
|
+
/**
|
|
83
|
+
* Supplies each type's service for two things: an `ExternalEntitySource`
|
|
84
|
+
* name lookup, and the record-level access check every app-database
|
|
85
|
+
* candidate must pass (`findRecordById`). Optional in the TYPE signature
|
|
86
|
+
* only, after ScopeGuard for the same positional reason; Nest resolves it
|
|
87
|
+
* (CoreModule exports it globally). Without it no external type is
|
|
88
|
+
* searched and every app-database candidate is dropped (fail closed).
|
|
89
|
+
*/
|
|
90
|
+
registry?: EntityServiceRegistry);
|
|
72
91
|
/**
|
|
73
92
|
* Scope predicate for a tier query, or null when the run is unscoped.
|
|
74
93
|
* The clause NARROWS the existing company predicate; it never replaces it.
|
|
@@ -76,6 +95,24 @@ export declare class GraphSearchService {
|
|
|
76
95
|
private scopeClauseFor;
|
|
77
96
|
private getExistingIndexes;
|
|
78
97
|
resolveEntity(params: ResolveEntityParams): Promise<ResolveEntityResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Walks the score-ordered candidates and keeps those the user may see, until
|
|
100
|
+
* GRAPH_RESOLVE_MAX_RESULTS are kept:
|
|
101
|
+
* - an app-database candidate is kept only when its type's service reads it
|
|
102
|
+
* back (`findRecordById`), so the repository's record-level access rules
|
|
103
|
+
* apply to the name lookup exactly as they apply to read_entity. A type
|
|
104
|
+
* with no registered service is dropped;
|
|
105
|
+
* - an external candidate is global reference data: no record-level check;
|
|
106
|
+
* - in a scoped run, a candidate with no Cypher scope clause (an external
|
|
107
|
+
* candidate, or any `viaService` type) is kept only when `ScopeGuard.filter`
|
|
108
|
+
* keeps it.
|
|
109
|
+
* Candidates are checked in windows, in parallel within a window, so order is
|
|
110
|
+
* preserved without one sequential read per candidate.
|
|
111
|
+
*/
|
|
112
|
+
private keepAccessible;
|
|
113
|
+
private isCandidateVisible;
|
|
114
|
+
/** `ExternalEntitySource.resolveByText` for one type; errors drop the type, never the lookup. */
|
|
115
|
+
private runExternalForEntitySafe;
|
|
79
116
|
private runTierForEntitySafe;
|
|
80
117
|
private projectSummary;
|
|
81
118
|
private tierFulltext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.search.service.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/services/graph.search.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"graph.search.service.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/services/graph.search.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ const graph_index_manager_1 = require("./graph.index.manager");
|
|
|
20
20
|
const graph_catalog_service_1 = require("./graph.catalog.service");
|
|
21
21
|
const scope_guard_1 = require("./scope.guard");
|
|
22
22
|
const build_fulltext_term_1 = require("../../../core/neo4j/helpers/build-fulltext-term");
|
|
23
|
+
const entity_service_registry_1 = require("../../../common/registries/entity.service.registry");
|
|
24
|
+
const external_entity_source_interface_1 = require("../../../common/interfaces/external.entity.source.interface");
|
|
23
25
|
exports.GRAPH_EXACT_MAX_RESULTS = 10;
|
|
24
26
|
exports.GRAPH_FUZZY_MAX_RESULTS = 10;
|
|
25
27
|
exports.GRAPH_SEMANTIC_MAX_RESULTS = 5;
|
|
@@ -59,12 +61,22 @@ let GraphSearchService = GraphSearchService_1 = class GraphSearchService {
|
|
|
59
61
|
// ScopeGuard is deliberately the LAST constructor parameter so existing
|
|
60
62
|
// positional call sites keep working. It is only consulted for a scoped
|
|
61
63
|
// run (scopeId + scopeType present).
|
|
62
|
-
scopeGuard
|
|
64
|
+
scopeGuard,
|
|
65
|
+
/**
|
|
66
|
+
* Supplies each type's service for two things: an `ExternalEntitySource`
|
|
67
|
+
* name lookup, and the record-level access check every app-database
|
|
68
|
+
* candidate must pass (`findRecordById`). Optional in the TYPE signature
|
|
69
|
+
* only, after ScopeGuard for the same positional reason; Nest resolves it
|
|
70
|
+
* (CoreModule exports it globally). Without it no external type is
|
|
71
|
+
* searched and every app-database candidate is dropped (fail closed).
|
|
72
|
+
*/
|
|
73
|
+
registry) {
|
|
63
74
|
this.neo4j = neo4j;
|
|
64
75
|
this.embedder = embedder;
|
|
65
76
|
this.indexNames = indexNames;
|
|
66
77
|
this.catalog = catalog;
|
|
67
78
|
this.scopeGuard = scopeGuard;
|
|
79
|
+
this.registry = registry;
|
|
68
80
|
this.logger = new common_1.Logger(GraphSearchService_1.name);
|
|
69
81
|
// Cached at first use, holds the names of fulltext + vector indexes that
|
|
70
82
|
// actually exist in Neo4j. Pre-checking this set lets us skip the
|
|
@@ -116,7 +128,10 @@ let GraphSearchService = GraphSearchService_1 = class GraphSearchService {
|
|
|
116
128
|
// Fail closed: in a scoped run, a type that cannot be chained to the run's
|
|
117
129
|
// scope root is unreachable, so it never fans out a tier query at all.
|
|
118
130
|
// Leaving it in would surface candidates from other scope roots.
|
|
119
|
-
|
|
131
|
+
// A `scopeShared` type is reference data, visible in every scoped run.
|
|
132
|
+
const entities = params.scopeId && params.scopeType
|
|
133
|
+
? visible.filter((e) => e.scope?.rootType === params.scopeType || e.scopeShared)
|
|
134
|
+
: visible;
|
|
120
135
|
if (!entities.length) {
|
|
121
136
|
return { matchMode: "none", items: [] };
|
|
122
137
|
}
|
|
@@ -125,18 +140,121 @@ let GraphSearchService = GraphSearchService_1 = class GraphSearchService {
|
|
|
125
140
|
["fuzzy", "fuzzy"],
|
|
126
141
|
["semantic", "semantic"],
|
|
127
142
|
];
|
|
143
|
+
// A type whose records live outside the app database supplies its own name
|
|
144
|
+
// lookup. It replaces that type's app-DB tiers and runs with the first tier.
|
|
145
|
+
const externalByType = new Map();
|
|
146
|
+
for (const entity of entities) {
|
|
147
|
+
const service = this.registry?.get(entity.type);
|
|
148
|
+
if ((0, external_entity_source_interface_1.isExternalEntitySource)(service))
|
|
149
|
+
externalByType.set(entity.type, service);
|
|
150
|
+
}
|
|
151
|
+
const entityByType = new Map(entities.map((entity) => [entity.type, entity]));
|
|
128
152
|
for (const [tier, label] of tiers) {
|
|
129
|
-
const buckets = await Promise.all(entities.map((e) =>
|
|
153
|
+
const buckets = await Promise.all(entities.map((e) => {
|
|
154
|
+
const external = externalByType.get(e.type);
|
|
155
|
+
if (!external)
|
|
156
|
+
return this.runTierForEntitySafe(e, params, tier);
|
|
157
|
+
return tier === "substring" ? this.runExternalForEntitySafe(e, external, params) : Promise.resolve([]);
|
|
158
|
+
}));
|
|
130
159
|
const merged = buckets.flat();
|
|
131
|
-
if (merged.length)
|
|
132
|
-
|
|
133
|
-
|
|
160
|
+
if (!merged.length)
|
|
161
|
+
continue;
|
|
162
|
+
merged.sort((a, b) => b.score - a.score);
|
|
163
|
+
const items = await this.keepAccessible({ candidates: merged, params, externalByType, entityByType });
|
|
164
|
+
if (items.length) {
|
|
134
165
|
const recommendation = buildResolveRecommendation(items, params.text, label);
|
|
135
166
|
return recommendation ? { matchMode: label, items, recommendation } : { matchMode: label, items };
|
|
136
167
|
}
|
|
137
168
|
}
|
|
138
169
|
return { matchMode: "none", items: [] };
|
|
139
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Walks the score-ordered candidates and keeps those the user may see, until
|
|
173
|
+
* GRAPH_RESOLVE_MAX_RESULTS are kept:
|
|
174
|
+
* - an app-database candidate is kept only when its type's service reads it
|
|
175
|
+
* back (`findRecordById`), so the repository's record-level access rules
|
|
176
|
+
* apply to the name lookup exactly as they apply to read_entity. A type
|
|
177
|
+
* with no registered service is dropped;
|
|
178
|
+
* - an external candidate is global reference data: no record-level check;
|
|
179
|
+
* - in a scoped run, a candidate with no Cypher scope clause (an external
|
|
180
|
+
* candidate, or any `viaService` type) is kept only when `ScopeGuard.filter`
|
|
181
|
+
* keeps it.
|
|
182
|
+
* Candidates are checked in windows, in parallel within a window, so order is
|
|
183
|
+
* preserved without one sequential read per candidate.
|
|
184
|
+
*/
|
|
185
|
+
async keepAccessible(params) {
|
|
186
|
+
const kept = [];
|
|
187
|
+
let cursor = 0;
|
|
188
|
+
while (kept.length < exports.GRAPH_RESOLVE_MAX_RESULTS && cursor < params.candidates.length) {
|
|
189
|
+
const window = params.candidates.slice(cursor, cursor + (exports.GRAPH_RESOLVE_MAX_RESULTS - kept.length));
|
|
190
|
+
cursor += window.length;
|
|
191
|
+
const verdicts = await Promise.all(window.map((candidate) => this.isCandidateVisible({
|
|
192
|
+
candidate,
|
|
193
|
+
params: params.params,
|
|
194
|
+
external: params.externalByType.has(candidate.type),
|
|
195
|
+
entity: params.entityByType.get(candidate.type),
|
|
196
|
+
})));
|
|
197
|
+
window.forEach((candidate, index) => {
|
|
198
|
+
if (verdicts[index] && kept.length < exports.GRAPH_RESOLVE_MAX_RESULTS)
|
|
199
|
+
kept.push(candidate);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return kept;
|
|
203
|
+
}
|
|
204
|
+
async isCandidateVisible(params) {
|
|
205
|
+
const { candidate } = params;
|
|
206
|
+
try {
|
|
207
|
+
if (!params.external) {
|
|
208
|
+
const service = this.registry?.get(candidate.type);
|
|
209
|
+
if (!service)
|
|
210
|
+
return false;
|
|
211
|
+
const record = await service.findRecordById({ id: candidate.id });
|
|
212
|
+
if (!record)
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
const scoped = !!params.params.scopeId && !!params.params.scopeType;
|
|
216
|
+
const needsScopeFilter = params.external || !!params.entity?.scope?.viaService;
|
|
217
|
+
if (!scoped || !needsScopeFilter)
|
|
218
|
+
return true;
|
|
219
|
+
if (!this.scopeGuard)
|
|
220
|
+
return false;
|
|
221
|
+
const inScope = await this.scopeGuard.filter({
|
|
222
|
+
type: candidate.type,
|
|
223
|
+
records: [{ id: candidate.id }],
|
|
224
|
+
ctx: {
|
|
225
|
+
companyId: params.params.companyId,
|
|
226
|
+
userId: "",
|
|
227
|
+
userModuleIds: params.params.userModuleIds,
|
|
228
|
+
scopeId: params.params.scopeId,
|
|
229
|
+
scopeType: params.params.scopeType,
|
|
230
|
+
},
|
|
231
|
+
});
|
|
232
|
+
return inScope.length === 1;
|
|
233
|
+
}
|
|
234
|
+
catch (err) {
|
|
235
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
236
|
+
this.logger.warn(`resolveEntity: access check type=${candidate.type} id=${candidate.id} threw: ${message}`);
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/** `ExternalEntitySource.resolveByText` for one type; errors drop the type, never the lookup. */
|
|
241
|
+
async runExternalForEntitySafe(entity, source, params) {
|
|
242
|
+
try {
|
|
243
|
+
const candidates = await source.resolveByText({ text: params.text, limit: exports.GRAPH_EXACT_MAX_RESULTS });
|
|
244
|
+
this.logger.debug(`resolve_entity external type=${entity.type} items=${candidates.length}`);
|
|
245
|
+
return candidates.map((candidate) => ({
|
|
246
|
+
type: entity.type,
|
|
247
|
+
id: candidate.id,
|
|
248
|
+
summary: candidate.name || candidate.id,
|
|
249
|
+
score: candidate.score,
|
|
250
|
+
}));
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
254
|
+
this.logger.warn(`resolveEntity: external type=${entity.type} threw: ${message}`);
|
|
255
|
+
return [];
|
|
256
|
+
}
|
|
257
|
+
}
|
|
140
258
|
async runTierForEntitySafe(entity, params, tier) {
|
|
141
259
|
try {
|
|
142
260
|
const runParams = {
|
|
@@ -281,6 +399,7 @@ exports.GraphSearchService = GraphSearchService = GraphSearchService_1 = __decor
|
|
|
281
399
|
embedder_service_1.EmbedderService,
|
|
282
400
|
graph_index_manager_1.GraphIndexManager,
|
|
283
401
|
graph_catalog_service_1.GraphCatalogService,
|
|
284
|
-
scope_guard_1.ScopeGuard
|
|
402
|
+
scope_guard_1.ScopeGuard,
|
|
403
|
+
entity_service_registry_1.EntityServiceRegistry])
|
|
285
404
|
], GraphSearchService);
|
|
286
405
|
//# sourceMappingURL=graph.search.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.search.service.js","sourceRoot":"","sources":["../../../../src/agents/graph/services/graph.search.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.search.service.js","sourceRoot":"","sources":["../../../../src/agents/graph/services/graph.search.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
|
|
2
|
+
import { EntityServiceRegistry } from "../../../common/registries/entity.service.registry";
|
|
2
3
|
import { CatalogEntity } from "../interfaces/graph.catalog.interface";
|
|
3
4
|
import { GraphCatalogService } from "./graph.catalog.service";
|
|
4
5
|
import { UserContext } from "../tools/tool.factory";
|
|
@@ -11,12 +12,34 @@ import { UserContext } from "../tools/tool.factory";
|
|
|
11
12
|
* treated as OUT of scope. The alternative — treating it as universally
|
|
12
13
|
* visible — is a cross-scope leak, which is the whole failure this service
|
|
13
14
|
* exists to prevent.
|
|
15
|
+
*
|
|
16
|
+
* Exception: a `scopeShared` type is reference data (laws, tariffs, …) and is
|
|
17
|
+
* visible in every scoped run, whatever the root. It is passed through with no
|
|
18
|
+
* constraint. Chunk scoping (`ScopePredicateService`) does NOT apply this
|
|
19
|
+
* exception and stays strict.
|
|
20
|
+
*
|
|
21
|
+
* A `chat.scopeByService` type (`scope.viaService`) has no scope edge in the
|
|
22
|
+
* app database: its own service decides membership through
|
|
23
|
+
* `ExternalEntitySource.filterInScope`. No Cypher clause exists for it, and a
|
|
24
|
+
* service without that hook keeps nothing (fail closed).
|
|
14
25
|
*/
|
|
15
26
|
export declare class ScopeGuard {
|
|
16
27
|
private readonly catalog;
|
|
17
28
|
private readonly neo4j;
|
|
29
|
+
/**
|
|
30
|
+
* Optional in the TYPE signature only, so unit tests can construct the guard
|
|
31
|
+
* without it. Nest resolves it (CoreModule exports it globally). Without it a
|
|
32
|
+
* `viaService` type keeps nothing.
|
|
33
|
+
*/
|
|
34
|
+
private readonly registry?;
|
|
18
35
|
private readonly logger;
|
|
19
|
-
constructor(catalog: GraphCatalogService, neo4j: Neo4jService
|
|
36
|
+
constructor(catalog: GraphCatalogService, neo4j: Neo4jService,
|
|
37
|
+
/**
|
|
38
|
+
* Optional in the TYPE signature only, so unit tests can construct the guard
|
|
39
|
+
* without it. Nest resolves it (CoreModule exports it globally). Without it a
|
|
40
|
+
* `viaService` type keeps nothing.
|
|
41
|
+
*/
|
|
42
|
+
registry?: EntityServiceRegistry);
|
|
20
43
|
buildMatchClause(params: {
|
|
21
44
|
entity: CatalogEntity;
|
|
22
45
|
ctx: UserContext;
|
|
@@ -37,6 +60,12 @@ export declare class ScopeGuard {
|
|
|
37
60
|
records: T[];
|
|
38
61
|
ctx: UserContext;
|
|
39
62
|
}): Promise<T[]>;
|
|
63
|
+
/**
|
|
64
|
+
* `chat.scopeByService`: delegate to the type's `filterInScope`. Keeps the
|
|
65
|
+
* returned ids only, in the input order. A service without the hook keeps
|
|
66
|
+
* nothing.
|
|
67
|
+
*/
|
|
68
|
+
private filterViaService;
|
|
40
69
|
/** `(alias)-[:REL]->(:Label)…-[:REL]->(:Root { id: $scopeId })` */
|
|
41
70
|
private buildPattern;
|
|
42
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.guard.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/services/scope.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"scope.guard.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/services/scope.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAV5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAGnC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,YAAY;IACpC;;;;OAIG;IACc,QAAQ,CAAC,EAAE,qBAAqB;IAGnD,gBAAgB,CAAC,MAAM,EAAE;QACvB,MAAM,EAAE,aAAa,CAAC;QACtB,GAAG,EAAE,WAAW,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IAiBxD,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF,MAAM,CAAC,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAAC,GAAG,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAuC9G;;;;OAIG;YACW,gBAAgB;IAqB9B,mEAAmE;IACnE,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.ScopeGuard = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const neo4j_service_1 = require("../../../core/neo4j/services/neo4j.service");
|
|
16
|
+
const entity_service_registry_1 = require("../../../common/registries/entity.service.registry");
|
|
16
17
|
const graph_catalog_service_1 = require("./graph.catalog.service");
|
|
17
18
|
const scope_pattern_1 = require("./scope.pattern");
|
|
18
19
|
/**
|
|
@@ -24,19 +25,43 @@ const scope_pattern_1 = require("./scope.pattern");
|
|
|
24
25
|
* treated as OUT of scope. The alternative — treating it as universally
|
|
25
26
|
* visible — is a cross-scope leak, which is the whole failure this service
|
|
26
27
|
* exists to prevent.
|
|
28
|
+
*
|
|
29
|
+
* Exception: a `scopeShared` type is reference data (laws, tariffs, …) and is
|
|
30
|
+
* visible in every scoped run, whatever the root. It is passed through with no
|
|
31
|
+
* constraint. Chunk scoping (`ScopePredicateService`) does NOT apply this
|
|
32
|
+
* exception and stays strict.
|
|
33
|
+
*
|
|
34
|
+
* A `chat.scopeByService` type (`scope.viaService`) has no scope edge in the
|
|
35
|
+
* app database: its own service decides membership through
|
|
36
|
+
* `ExternalEntitySource.filterInScope`. No Cypher clause exists for it, and a
|
|
37
|
+
* service without that hook keeps nothing (fail closed).
|
|
27
38
|
*/
|
|
28
39
|
let ScopeGuard = ScopeGuard_1 = class ScopeGuard {
|
|
29
|
-
constructor(catalog, neo4j
|
|
40
|
+
constructor(catalog, neo4j,
|
|
41
|
+
/**
|
|
42
|
+
* Optional in the TYPE signature only, so unit tests can construct the guard
|
|
43
|
+
* without it. Nest resolves it (CoreModule exports it globally). Without it a
|
|
44
|
+
* `viaService` type keeps nothing.
|
|
45
|
+
*/
|
|
46
|
+
registry) {
|
|
30
47
|
this.catalog = catalog;
|
|
31
48
|
this.neo4j = neo4j;
|
|
49
|
+
this.registry = registry;
|
|
32
50
|
this.logger = new common_1.Logger(ScopeGuard_1.name);
|
|
33
51
|
}
|
|
34
52
|
buildMatchClause(params) {
|
|
35
53
|
if (!params.ctx.scopeId || !params.ctx.scopeType)
|
|
36
54
|
return null;
|
|
55
|
+
// Shared reference data: no constraint (empty clause), NOT out of scope.
|
|
56
|
+
if (params.entity.scopeShared)
|
|
57
|
+
return { cypher: "", params: {} };
|
|
37
58
|
const scope = params.entity.scope;
|
|
38
59
|
if (!scope || scope.rootType !== params.ctx.scopeType)
|
|
39
60
|
return null;
|
|
61
|
+
// Scope decided by the type's service: there is no Cypher clause for it.
|
|
62
|
+
// The caller must post-filter through `filter`.
|
|
63
|
+
if (scope.viaService)
|
|
64
|
+
return null;
|
|
40
65
|
const pattern = this.buildPattern(scope, params.nodeAlias);
|
|
41
66
|
return {
|
|
42
67
|
cypher: `AND EXISTS { MATCH ${pattern} }`,
|
|
@@ -53,11 +78,17 @@ let ScopeGuard = ScopeGuard_1 = class ScopeGuard {
|
|
|
53
78
|
if (params.records.length === 0)
|
|
54
79
|
return params.records;
|
|
55
80
|
const entity = this.catalog.getEntityDetail(params.type, params.ctx.userModuleIds);
|
|
81
|
+
// Shared reference data is visible in every scoped run: no query needed.
|
|
82
|
+
if (entity?.scopeShared)
|
|
83
|
+
return params.records;
|
|
56
84
|
const scope = entity?.scope;
|
|
57
85
|
if (!entity || !scope || scope.rootType !== params.ctx.scopeType) {
|
|
58
86
|
this.logger.warn(`filter: type "${params.type}" has no scope chain to "${params.ctx.scopeType}" — dropping ${params.records.length} record(s).`);
|
|
59
87
|
return [];
|
|
60
88
|
}
|
|
89
|
+
if (scope.viaService) {
|
|
90
|
+
return this.filterViaService({ type: params.type, records: params.records, ctx: params.ctx });
|
|
91
|
+
}
|
|
61
92
|
if (scope.path.length === 0) {
|
|
62
93
|
// The entity IS the root: it is in scope iff it is the scope root itself.
|
|
63
94
|
return params.records.filter((record) => record.id === params.ctx.scopeId);
|
|
@@ -72,6 +103,25 @@ let ScopeGuard = ScopeGuard_1 = class ScopeGuard {
|
|
|
72
103
|
const allowed = new Set((result.records ?? []).map((row) => row.get("id")));
|
|
73
104
|
return params.records.filter((record) => allowed.has(record.id));
|
|
74
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* `chat.scopeByService`: delegate to the type's `filterInScope`. Keeps the
|
|
108
|
+
* returned ids only, in the input order. A service without the hook keeps
|
|
109
|
+
* nothing.
|
|
110
|
+
*/
|
|
111
|
+
async filterViaService(params) {
|
|
112
|
+
const service = this.registry?.get(params.type);
|
|
113
|
+
if (typeof service?.filterInScope !== "function") {
|
|
114
|
+
this.logger.warn(`filter: type "${params.type}" is scoped by its service, which does not implement filterInScope — dropping ${params.records.length} record(s).`);
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
117
|
+
const allowedIds = await service.filterInScope({
|
|
118
|
+
ids: params.records.map((record) => record.id),
|
|
119
|
+
scopeType: params.ctx.scopeType,
|
|
120
|
+
scopeId: params.ctx.scopeId,
|
|
121
|
+
});
|
|
122
|
+
const allowed = new Set(allowedIds);
|
|
123
|
+
return params.records.filter((record) => allowed.has(record.id));
|
|
124
|
+
}
|
|
75
125
|
/** `(alias)-[:REL]->(:Label)…-[:REL]->(:Root { id: $scopeId })` */
|
|
76
126
|
buildPattern(scope, alias) {
|
|
77
127
|
return (0, scope_pattern_1.buildScopePattern)({ scope, alias, paramName: "scopeId" });
|
|
@@ -81,6 +131,7 @@ exports.ScopeGuard = ScopeGuard;
|
|
|
81
131
|
exports.ScopeGuard = ScopeGuard = ScopeGuard_1 = __decorate([
|
|
82
132
|
(0, common_1.Injectable)(),
|
|
83
133
|
__metadata("design:paramtypes", [graph_catalog_service_1.GraphCatalogService,
|
|
84
|
-
neo4j_service_1.Neo4jService
|
|
134
|
+
neo4j_service_1.Neo4jService,
|
|
135
|
+
entity_service_registry_1.EntityServiceRegistry])
|
|
85
136
|
], ScopeGuard);
|
|
86
137
|
//# sourceMappingURL=scope.guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.guard.js","sourceRoot":"","sources":["../../../../src/agents/graph/services/scope.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8EAA0E;
|
|
1
|
+
{"version":3,"file":"scope.guard.js","sourceRoot":"","sources":["../../../../src/agents/graph/services/scope.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-entities.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/search-entities.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,QAAA,MAAM,WAAW;;;;;kBAON,CAAC;AAEZ,OAAO,EAAE,WAAW,IAAI,yBAAyB,EAAE,CAAC;AAUpD,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBATT,OAAO,EAAE,WAAW,EAGpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,UAAU,EAGtB,SAAS,EAAE,yBAAyB;IAGvD,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,qBAAqB;IAUpE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"search-entities.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/search-entities.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,QAAA,MAAM,WAAW;;;;;kBAON,CAAC;AAEZ,OAAO,EAAE,WAAW,IAAI,yBAAyB,EAAE,CAAC;AAUpD,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBATT,OAAO,EAAE,WAAW,EAGpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,UAAU,EAGtB,SAAS,EAAE,yBAAyB;IAGvD,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,qBAAqB;IAUpE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAyGhH;;;;OAIG;YACW,aAAa;YAKb,WAAW;CAwC1B"}
|
|
@@ -108,7 +108,9 @@ let SearchEntitiesTool = class SearchEntitiesTool {
|
|
|
108
108
|
if (!svc)
|
|
109
109
|
return { error: `Service not available for "${entity.type}".` };
|
|
110
110
|
const limit = Math.min(Math.max(input.limit ?? 10, 1), 50);
|
|
111
|
-
|
|
111
|
+
// An inline hop is not a descriptor relationship, so it cannot be read
|
|
112
|
+
// through the repository: it takes the ScopeGuard.filter path below.
|
|
113
|
+
const scopeRelKey = entity.scope?.path.length === 1 && !entity.scope.path[0].inline ? entity.scope.path[0].key : undefined;
|
|
112
114
|
const useScopedRead = !!ctx.scopeId && entity.scope?.rootType === ctx.scopeType;
|
|
113
115
|
// A 1-hop scope is expressible as a relationship read, which reuses the
|
|
114
116
|
// entity's own repository (and therefore its ownership rules). Deeper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-entities.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/search-entities.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"search-entities.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/search-entities.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/traverse.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"traverse.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/traverse.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,QAAA,MAAM,YAAY;;;;;;;;;;;EAAsF,CAAC;AAMzG,QAAA,MAAM,WAAW;;;;;;;iBAOf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AACD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACpF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,EAAE,CAwBzD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAgB9D;AAUD,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAG1B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAPZ,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,yBAAyB,EAGpC,YAAY,EAAE,mBAAmB;IAGpD,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,qBAAqB;IASpE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA8IhH;;;;;;;;;OASG;YACW,iBAAiB;IAyG/B;;;;OAIG;YACW,aAAa;CAI5B"}
|
|
@@ -282,14 +282,25 @@ let TraverseTool = class TraverseTool {
|
|
|
282
282
|
if (!sourceRecord)
|
|
283
283
|
return { error: `No ${source.type} with id ${input.fromId}.` };
|
|
284
284
|
const limit = Math.min(Math.max(input.limit ?? 10, 1), 50);
|
|
285
|
+
const typeByLabel = new Map(this.catalog.getAllEntities().map((e) => [e.labelName, e.type]));
|
|
285
286
|
// Probe one extra row so truncation is visible to the model: without this,
|
|
286
287
|
// a silently clipped list is reported as complete.
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
288
|
+
// A source whose edges do not live in the app database (an
|
|
289
|
+
// ExternalEntitySource implementing findRelatedIds) supplies its own
|
|
290
|
+
// related ids, already typed; every other source reads the edge here.
|
|
291
|
+
const externalFindRelatedIds = sourceSvc.findRelatedIds;
|
|
292
|
+
const pairs = typeof externalFindRelatedIds === "function"
|
|
293
|
+
? await externalFindRelatedIds.call(sourceSvc, {
|
|
294
|
+
id: input.fromId,
|
|
295
|
+
cypherLabel: rel.cypherLabel,
|
|
296
|
+
limit: limit + 1,
|
|
297
|
+
})
|
|
298
|
+
: (await this.relatedEdges.findRelatedIds({
|
|
299
|
+
labelName: source.labelName,
|
|
300
|
+
id: input.fromId,
|
|
301
|
+
cypherLabel: rel.cypherLabel,
|
|
302
|
+
limit: limit + 1,
|
|
303
|
+
})).map((pair) => ({ id: pair.id, type: typeByLabel.get(pair.label) }));
|
|
293
304
|
const hasMore = pairs.length > limit;
|
|
294
305
|
const kept = hasMore ? pairs.slice(0, limit) : pairs;
|
|
295
306
|
const truncation = hasMore
|
|
@@ -298,7 +309,6 @@ let TraverseTool = class TraverseTool {
|
|
|
298
309
|
note: `Only the first ${limit} matches are shown. Call this tool again with a higher "limit" (max 50) to fetch the rest.`,
|
|
299
310
|
}
|
|
300
311
|
: {};
|
|
301
|
-
const typeByLabel = new Map(this.catalog.getAllEntities().map((e) => [e.labelName, e.type]));
|
|
302
312
|
const entityByType = new Map();
|
|
303
313
|
const idsByType = new Map();
|
|
304
314
|
const gatedTypes = new Set();
|
|
@@ -309,7 +319,7 @@ let TraverseTool = class TraverseTool {
|
|
|
309
319
|
if (seenIds.has(pair.id))
|
|
310
320
|
continue;
|
|
311
321
|
seenIds.add(pair.id);
|
|
312
|
-
const type =
|
|
322
|
+
const type = pair.type;
|
|
313
323
|
if (!type || gatedTypes.has(type))
|
|
314
324
|
continue;
|
|
315
325
|
if (!entityByType.has(type)) {
|