@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.
Files changed (283) hide show
  1. package/dist/agents/common/inline-entity-links.d.ts +22 -0
  2. package/dist/agents/common/inline-entity-links.d.ts.map +1 -0
  3. package/dist/agents/common/inline-entity-links.js +60 -0
  4. package/dist/agents/common/inline-entity-links.js.map +1 -0
  5. package/dist/agents/community.detector/services/community.detector.service.d.ts.map +1 -1
  6. package/dist/agents/community.detector/services/community.detector.service.js +4 -0
  7. package/dist/agents/community.detector/services/community.detector.service.js.map +1 -1
  8. package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts +17 -0
  9. package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -1
  10. package/dist/agents/graph/services/graph.catalog.service.d.ts +15 -2
  11. package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -1
  12. package/dist/agents/graph/services/graph.catalog.service.js +87 -0
  13. package/dist/agents/graph/services/graph.catalog.service.js.map +1 -1
  14. package/dist/agents/graph/services/graph.index.manager.d.ts +18 -1
  15. package/dist/agents/graph/services/graph.index.manager.d.ts.map +1 -1
  16. package/dist/agents/graph/services/graph.index.manager.js +16 -2
  17. package/dist/agents/graph/services/graph.index.manager.js.map +1 -1
  18. package/dist/agents/graph/services/graph.search.service.d.ts +38 -1
  19. package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -1
  20. package/dist/agents/graph/services/graph.search.service.js +126 -7
  21. package/dist/agents/graph/services/graph.search.service.js.map +1 -1
  22. package/dist/agents/graph/services/scope.guard.d.ts +30 -1
  23. package/dist/agents/graph/services/scope.guard.d.ts.map +1 -1
  24. package/dist/agents/graph/services/scope.guard.js +53 -2
  25. package/dist/agents/graph/services/scope.guard.js.map +1 -1
  26. package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
  27. package/dist/agents/graph/tools/search-entities.tool.js +3 -1
  28. package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
  29. package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
  30. package/dist/agents/graph/tools/traverse.tool.js +18 -8
  31. package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
  32. package/dist/agents/operator/contexts/operator.context.d.ts +8 -1
  33. package/dist/agents/operator/contexts/operator.context.d.ts.map +1 -1
  34. package/dist/agents/operator/contexts/operator.context.js +6 -0
  35. package/dist/agents/operator/contexts/operator.context.js.map +1 -1
  36. package/dist/agents/operator/controllers/operator.controller.d.ts +4 -1
  37. package/dist/agents/operator/controllers/operator.controller.d.ts.map +1 -1
  38. package/dist/agents/operator/controllers/operator.controller.js +15 -8
  39. package/dist/agents/operator/controllers/operator.controller.js.map +1 -1
  40. package/dist/agents/operator/services/operator.service.d.ts +15 -0
  41. package/dist/agents/operator/services/operator.service.d.ts.map +1 -1
  42. package/dist/agents/operator/services/operator.service.js +31 -8
  43. package/dist/agents/operator/services/operator.service.js.map +1 -1
  44. package/dist/agents/operator/tools/operator.tool.registry.d.ts +2 -1
  45. package/dist/agents/operator/tools/operator.tool.registry.d.ts.map +1 -1
  46. package/dist/agents/operator/tools/operator.tool.registry.js +8 -3
  47. package/dist/agents/operator/tools/operator.tool.registry.js.map +1 -1
  48. package/dist/agents/responder/contexts/responder.context.d.ts +6 -0
  49. package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
  50. package/dist/agents/responder/contexts/responder.context.js +2 -0
  51. package/dist/agents/responder/contexts/responder.context.js.map +1 -1
  52. package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
  53. package/dist/agents/responder/nodes/responder.answer.node.service.js +8 -2
  54. package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
  55. package/dist/agents/responder/services/responder.service.d.ts +2 -0
  56. package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
  57. package/dist/agents/responder/services/responder.service.js +1 -0
  58. package/dist/agents/responder/services/responder.service.js.map +1 -1
  59. package/dist/common/decorators/oauth.scopes.decorator.d.ts +2 -2
  60. package/dist/common/decorators/oauth.scopes.decorator.js +2 -2
  61. package/dist/common/helpers/credit-gate.d.ts +8 -0
  62. package/dist/common/helpers/credit-gate.d.ts.map +1 -1
  63. package/dist/common/helpers/credit-gate.js +11 -0
  64. package/dist/common/helpers/credit-gate.js.map +1 -1
  65. package/dist/common/helpers/define-entity.d.ts.map +1 -1
  66. package/dist/common/helpers/define-entity.js +6 -0
  67. package/dist/common/helpers/define-entity.js.map +1 -1
  68. package/dist/common/interfaces/assistant.scope.interface.d.ts +47 -0
  69. package/dist/common/interfaces/assistant.scope.interface.d.ts.map +1 -0
  70. package/dist/common/interfaces/assistant.scope.interface.js +14 -0
  71. package/dist/common/interfaces/assistant.scope.interface.js.map +1 -0
  72. package/dist/common/interfaces/assistant.title.interface.d.ts +30 -0
  73. package/dist/common/interfaces/assistant.title.interface.d.ts.map +1 -0
  74. package/dist/common/interfaces/assistant.title.interface.js +18 -0
  75. package/dist/common/interfaces/assistant.title.interface.js.map +1 -0
  76. package/dist/common/interfaces/datamodel.interface.d.ts +1 -0
  77. package/dist/common/interfaces/datamodel.interface.d.ts.map +1 -1
  78. package/dist/common/interfaces/entity.schema.interface.d.ts +63 -6
  79. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  80. package/dist/common/interfaces/external.entity.source.interface.d.ts +43 -0
  81. package/dist/common/interfaces/external.entity.source.interface.d.ts.map +1 -0
  82. package/dist/common/interfaces/external.entity.source.interface.js +17 -0
  83. package/dist/common/interfaces/external.entity.source.interface.js.map +1 -0
  84. package/dist/common/interfaces/index.d.ts +4 -0
  85. package/dist/common/interfaces/index.d.ts.map +1 -1
  86. package/dist/common/interfaces/index.js +4 -0
  87. package/dist/common/interfaces/index.js.map +1 -1
  88. package/dist/common/interfaces/s3.key-access.policy.interface.d.ts +48 -0
  89. package/dist/common/interfaces/s3.key-access.policy.interface.d.ts.map +1 -0
  90. package/dist/common/interfaces/s3.key-access.policy.interface.js +36 -0
  91. package/dist/common/interfaces/s3.key-access.policy.interface.js.map +1 -0
  92. package/dist/common/tokens.d.ts +13 -0
  93. package/dist/common/tokens.d.ts.map +1 -1
  94. package/dist/common/tokens.js +14 -1
  95. package/dist/common/tokens.js.map +1 -1
  96. package/dist/config/base.config.d.ts +13 -0
  97. package/dist/config/base.config.d.ts.map +1 -1
  98. package/dist/config/base.config.js +56 -12
  99. package/dist/config/base.config.js.map +1 -1
  100. package/dist/config/interfaces/base.config.interface.d.ts +2 -0
  101. package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
  102. package/dist/config/interfaces/config.ai.interface.d.ts +20 -2
  103. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  104. package/dist/config/interfaces/config.assistant.interface.d.ts +9 -0
  105. package/dist/config/interfaces/config.assistant.interface.d.ts.map +1 -0
  106. package/dist/config/interfaces/config.assistant.interface.js +3 -0
  107. package/dist/config/interfaces/config.assistant.interface.js.map +1 -0
  108. package/dist/config/interfaces/config.oauth.interface.d.ts +8 -0
  109. package/dist/config/interfaces/config.oauth.interface.d.ts.map +1 -1
  110. package/dist/config/interfaces/config.operator.interface.d.ts +5 -0
  111. package/dist/config/interfaces/config.operator.interface.d.ts.map +1 -1
  112. package/dist/config/interfaces/index.d.ts +1 -0
  113. package/dist/config/interfaces/index.d.ts.map +1 -1
  114. package/dist/config/interfaces/index.js +1 -0
  115. package/dist/config/interfaces/index.js.map +1 -1
  116. package/dist/core/llm/interfaces/ai-candidate.interface.d.ts +23 -0
  117. package/dist/core/llm/interfaces/ai-candidate.interface.d.ts.map +1 -1
  118. package/dist/core/llm/services/ai-connection-resolver.service.d.ts.map +1 -1
  119. package/dist/core/llm/services/ai-connection-resolver.service.js +18 -0
  120. package/dist/core/llm/services/ai-connection-resolver.service.js.map +1 -1
  121. package/dist/core/llm/services/image.llm.service.d.ts +99 -13
  122. package/dist/core/llm/services/image.llm.service.d.ts.map +1 -1
  123. package/dist/core/llm/services/image.llm.service.js +209 -61
  124. package/dist/core/llm/services/image.llm.service.js.map +1 -1
  125. package/dist/core/llm/services/model.service.d.ts +2 -0
  126. package/dist/core/llm/services/model.service.d.ts.map +1 -1
  127. package/dist/core/llm/services/model.service.js +38 -0
  128. package/dist/core/llm/services/model.service.js.map +1 -1
  129. package/dist/core/neo4j/abstracts/abstract.repository.d.ts +26 -0
  130. package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
  131. package/dist/core/neo4j/abstracts/abstract.repository.js +70 -37
  132. package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
  133. package/dist/core/neo4j/index.d.ts +2 -0
  134. package/dist/core/neo4j/index.d.ts.map +1 -1
  135. package/dist/core/neo4j/index.js +5 -1
  136. package/dist/core/neo4j/index.js.map +1 -1
  137. package/dist/core/neo4j/queries/update.relationship.d.ts +8 -0
  138. package/dist/core/neo4j/queries/update.relationship.d.ts.map +1 -1
  139. package/dist/core/neo4j/queries/update.relationship.js +4 -1
  140. package/dist/core/neo4j/queries/update.relationship.js.map +1 -1
  141. package/dist/core/neo4j/services/neo4j.service.d.ts +10 -0
  142. package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
  143. package/dist/core/neo4j/services/neo4j.service.js +12 -1
  144. package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
  145. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.d.ts +9 -0
  146. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.d.ts.map +1 -1
  147. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.js +45 -0
  148. package/dist/foundations/ai-connection/dtos/ai-connection.post.dto.js.map +1 -1
  149. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.d.ts +9 -0
  150. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.d.ts.map +1 -1
  151. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.js +45 -0
  152. package/dist/foundations/ai-connection/dtos/ai-connection.put.dto.js.map +1 -1
  153. package/dist/foundations/ai-connection/entities/ai-connection.d.ts +9 -0
  154. package/dist/foundations/ai-connection/entities/ai-connection.d.ts.map +1 -1
  155. package/dist/foundations/ai-connection/entities/ai-connection.js +10 -0
  156. package/dist/foundations/ai-connection/entities/ai-connection.js.map +1 -1
  157. package/dist/foundations/ai-connection/registry/ai-provider.registry.d.ts.map +1 -1
  158. package/dist/foundations/ai-connection/registry/ai-provider.registry.js +61 -7
  159. package/dist/foundations/ai-connection/registry/ai-provider.registry.js.map +1 -1
  160. package/dist/foundations/assistant/assistant.module.d.ts +7 -2
  161. package/dist/foundations/assistant/assistant.module.d.ts.map +1 -1
  162. package/dist/foundations/assistant/assistant.module.js +37 -1
  163. package/dist/foundations/assistant/assistant.module.js.map +1 -1
  164. package/dist/foundations/assistant/controllers/assistant.controller.d.ts +4 -1
  165. package/dist/foundations/assistant/controllers/assistant.controller.d.ts.map +1 -1
  166. package/dist/foundations/assistant/controllers/assistant.controller.js +15 -8
  167. package/dist/foundations/assistant/controllers/assistant.controller.js.map +1 -1
  168. package/dist/foundations/assistant/services/assistant.service.d.ts +37 -1
  169. package/dist/foundations/assistant/services/assistant.service.d.ts.map +1 -1
  170. package/dist/foundations/assistant/services/assistant.service.js +144 -11
  171. package/dist/foundations/assistant/services/assistant.service.js.map +1 -1
  172. package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts +7 -1
  173. package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts.map +1 -1
  174. package/dist/foundations/assistant-action/controllers/assistant-action.controller.js +15 -5
  175. package/dist/foundations/assistant-action/controllers/assistant-action.controller.js.map +1 -1
  176. package/dist/foundations/assistant-message/assistant-message.module.d.ts +4 -0
  177. package/dist/foundations/assistant-message/assistant-message.module.d.ts.map +1 -1
  178. package/dist/foundations/assistant-message/assistant-message.module.js +27 -2
  179. package/dist/foundations/assistant-message/assistant-message.module.js.map +1 -1
  180. package/dist/foundations/company/entities/company.d.ts +4 -4
  181. package/dist/foundations/company/entities/company.d.ts.map +1 -1
  182. package/dist/foundations/company/entities/company.js +2 -2
  183. package/dist/foundations/company/entities/company.js.map +1 -1
  184. package/dist/foundations/content/interfaces/content.extension.interface.d.ts +22 -0
  185. package/dist/foundations/content/interfaces/content.extension.interface.d.ts.map +1 -1
  186. package/dist/foundations/content/interfaces/content.extension.interface.js.map +1 -1
  187. package/dist/foundations/content/services/content.cypher.service.d.ts +27 -0
  188. package/dist/foundations/content/services/content.cypher.service.d.ts.map +1 -1
  189. package/dist/foundations/content/services/content.cypher.service.js +68 -9
  190. package/dist/foundations/content/services/content.cypher.service.js.map +1 -1
  191. package/dist/foundations/oauth/constants/oauth.scopes.d.ts +26 -11
  192. package/dist/foundations/oauth/constants/oauth.scopes.d.ts.map +1 -1
  193. package/dist/foundations/oauth/constants/oauth.scopes.js +13 -18
  194. package/dist/foundations/oauth/constants/oauth.scopes.js.map +1 -1
  195. package/dist/foundations/oauth/controllers/oauth.authorize.controller.d.ts.map +1 -1
  196. package/dist/foundations/oauth/controllers/oauth.authorize.controller.js +3 -0
  197. package/dist/foundations/oauth/controllers/oauth.authorize.controller.js.map +1 -1
  198. package/dist/foundations/oauth/controllers/oauth.registration.controller.d.ts.map +1 -1
  199. package/dist/foundations/oauth/controllers/oauth.registration.controller.js +2 -0
  200. package/dist/foundations/oauth/controllers/oauth.registration.controller.js.map +1 -1
  201. package/dist/foundations/oauth/controllers/oauth.token.controller.d.ts.map +1 -1
  202. package/dist/foundations/oauth/controllers/oauth.token.controller.js +2 -0
  203. package/dist/foundations/oauth/controllers/oauth.token.controller.js.map +1 -1
  204. package/dist/foundations/oauth/dtos/oauth.authorize.dto.d.ts +1 -0
  205. package/dist/foundations/oauth/dtos/oauth.authorize.dto.d.ts.map +1 -1
  206. package/dist/foundations/oauth/dtos/oauth.authorize.dto.js +5 -0
  207. package/dist/foundations/oauth/dtos/oauth.authorize.dto.js.map +1 -1
  208. package/dist/foundations/oauth/entities/oauth.authorization.code.entity.d.ts +2 -0
  209. package/dist/foundations/oauth/entities/oauth.authorization.code.entity.d.ts.map +1 -1
  210. package/dist/foundations/oauth/entities/oauth.authorization.code.entity.js.map +1 -1
  211. package/dist/foundations/oauth/entities/oauth.authorization.code.model.d.ts.map +1 -1
  212. package/dist/foundations/oauth/entities/oauth.authorization.code.model.js +1 -0
  213. package/dist/foundations/oauth/entities/oauth.authorization.code.model.js.map +1 -1
  214. package/dist/foundations/oauth/filters/oauth.error.filter.d.ts +16 -0
  215. package/dist/foundations/oauth/filters/oauth.error.filter.d.ts.map +1 -0
  216. package/dist/foundations/oauth/filters/oauth.error.filter.js +70 -0
  217. package/dist/foundations/oauth/filters/oauth.error.filter.js.map +1 -0
  218. package/dist/foundations/oauth/guards/oauth.token.guard.d.ts +2 -2
  219. package/dist/foundations/oauth/guards/oauth.token.guard.js +2 -2
  220. package/dist/foundations/oauth/index.d.ts +2 -1
  221. package/dist/foundations/oauth/index.d.ts.map +1 -1
  222. package/dist/foundations/oauth/index.js +3 -1
  223. package/dist/foundations/oauth/index.js.map +1 -1
  224. package/dist/foundations/oauth/oauth.module.d.ts +2 -2
  225. package/dist/foundations/oauth/oauth.module.d.ts.map +1 -1
  226. package/dist/foundations/oauth/oauth.module.js +11 -5
  227. package/dist/foundations/oauth/oauth.module.js.map +1 -1
  228. package/dist/foundations/oauth/repositories/oauth.repository.d.ts +20 -1
  229. package/dist/foundations/oauth/repositories/oauth.repository.d.ts.map +1 -1
  230. package/dist/foundations/oauth/repositories/oauth.repository.js +54 -10
  231. package/dist/foundations/oauth/repositories/oauth.repository.js.map +1 -1
  232. package/dist/foundations/oauth/services/index.d.ts +1 -0
  233. package/dist/foundations/oauth/services/index.d.ts.map +1 -1
  234. package/dist/foundations/oauth/services/index.js +1 -0
  235. package/dist/foundations/oauth/services/index.js.map +1 -1
  236. package/dist/foundations/oauth/services/oauth.client.service.d.ts +3 -1
  237. package/dist/foundations/oauth/services/oauth.client.service.d.ts.map +1 -1
  238. package/dist/foundations/oauth/services/oauth.client.service.js +7 -5
  239. package/dist/foundations/oauth/services/oauth.client.service.js.map +1 -1
  240. package/dist/foundations/oauth/services/oauth.scope.service.d.ts +32 -0
  241. package/dist/foundations/oauth/services/oauth.scope.service.d.ts.map +1 -0
  242. package/dist/foundations/oauth/services/oauth.scope.service.js +71 -0
  243. package/dist/foundations/oauth/services/oauth.scope.service.js.map +1 -0
  244. package/dist/foundations/oauth/services/oauth.service.d.ts +13 -1
  245. package/dist/foundations/oauth/services/oauth.service.d.ts.map +1 -1
  246. package/dist/foundations/oauth/services/oauth.service.js +18 -8
  247. package/dist/foundations/oauth/services/oauth.service.js.map +1 -1
  248. package/dist/foundations/relevancy/queries/relevance.d.ts +20 -0
  249. package/dist/foundations/relevancy/queries/relevance.d.ts.map +1 -1
  250. package/dist/foundations/relevancy/queries/relevance.js +44 -8
  251. package/dist/foundations/relevancy/queries/relevance.js.map +1 -1
  252. package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts +41 -2
  253. package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts.map +1 -1
  254. package/dist/foundations/relevancy/repositories/relevancy.repository.js +89 -6
  255. package/dist/foundations/relevancy/repositories/relevancy.repository.js.map +1 -1
  256. package/dist/foundations/relevancy/services/relevancy.service.js +1 -1
  257. package/dist/foundations/relevancy/services/relevancy.service.js.map +1 -1
  258. package/dist/foundations/s3/controllers/s3.controller.d.ts +10 -1
  259. package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -1
  260. package/dist/foundations/s3/controllers/s3.controller.js +33 -2
  261. package/dist/foundations/s3/controllers/s3.controller.js.map +1 -1
  262. package/dist/foundations/user/controllers/user.controller.d.ts +1 -1
  263. package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -1
  264. package/dist/foundations/user/controllers/user.controller.js +4 -4
  265. package/dist/foundations/user/controllers/user.controller.js.map +1 -1
  266. package/dist/foundations/user/entities/user.d.ts +17 -17
  267. package/dist/foundations/user/entities/user.d.ts.map +1 -1
  268. package/dist/foundations/user/entities/user.js +7 -7
  269. package/dist/foundations/user/entities/user.js.map +1 -1
  270. package/dist/foundations/user/user.module.js +2 -2
  271. package/dist/foundations/user/user.module.js.map +1 -1
  272. package/dist/mcp/services/mcp.entity.write.service.d.ts +9 -4
  273. package/dist/mcp/services/mcp.entity.write.service.d.ts.map +1 -1
  274. package/dist/mcp/services/mcp.entity.write.service.js +12 -4
  275. package/dist/mcp/services/mcp.entity.write.service.js.map +1 -1
  276. package/dist/mcp/services/mcp.errors.d.ts +1 -1
  277. package/dist/mcp/services/mcp.errors.d.ts.map +1 -1
  278. package/dist/mcp/services/mcp.errors.js.map +1 -1
  279. package/dist/mcp/services/mcp.tool.registry.d.ts +10 -1
  280. package/dist/mcp/services/mcp.tool.registry.d.ts.map +1 -1
  281. package/dist/mcp/services/mcp.tool.registry.js +24 -2
  282. package/dist/mcp/services/mcp.tool.registry.js.map +1 -1
  283. 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;AAG3C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAG5C,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,MAAM,GAAG,SAAS,CAepB;AASD,qBACa,kBAAkB;IAY3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAIxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAlB7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAQ9D,OAAO,CAAC,sBAAsB,CAAqC;gBAGhD,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,mBAAmB,EAI5B,UAAU,EAAE,UAAU;IAGzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,kBAAkB;IAmBpB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAiChE,oBAAoB;IAuDlC,OAAO,CAAC,cAAc;YAiBR,YAAY;YA4CZ,YAAY;CAkD3B"}
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
- const entities = params.scopeId && params.scopeType ? visible.filter((e) => e.scope?.rootType === params.scopeType) : visible;
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) => this.runTierForEntitySafe(e, params, tier)));
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
- merged.sort((a, b) => b.score - a.score);
133
- const items = merged.slice(0, exports.GRAPH_RESOLVE_MAX_RESULTS);
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":";;;;;;;;;;;;;AA6EA,gEAmBC;AAhGD,2CAAoD;AACpD,kFAA8E;AAC9E,8EAA0E;AAC1E,sEAA0E;AAE1E,+DAA0D;AAC1D,mEAA8D;AAC9D,+CAA2C;AAC3C,yFAAmF;AACnF,gGAA2F;AAC3F,kHAGqE;AAExD,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAC7B,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAC7B,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAC/B,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,sBAAsB,GAAG,EAAE,CAAC;AA6ClC;;;;;;;;;;;GAWG;AACH,SAAgB,0BAA0B,CACxC,KAAwB,EACxB,QAAgB,EAChB,SAAoB;IAEpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IACxE,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1E,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC;QAC3D,OAAO,oBAAoB,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,IAAI,qHAAqH,CAAC;IAC3K,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,oBAAoB,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,IAAI,sEAAsE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAUM,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAW7B,YACmB,KAAmB,EACnB,QAAyB,EACzB,UAA6B,EAC7B,OAA4B;IAC7C,wEAAwE;IACxE,wEAAwE;IACxE,qCAAqC;IACpB,UAAsB;IACvC;;;;;;;OAOG;IACc,QAAgC;QAhBhC,UAAK,GAAL,KAAK,CAAc;QACnB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAqB;QAI5B,eAAU,GAAV,UAAU,CAAY;QAStB,aAAQ,GAAR,QAAQ,CAAwB;QA3BlC,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9D,yEAAyE;QACzE,kEAAkE;QAClE,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,qCAAqC;QAC7B,2BAAsB,GAAgC,IAAI,CAAC;IAoBhE,CAAC;IAEJ;;;OAGG;IACK,cAAc,CAAC,MAAuB;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACtC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE;gBACH,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,EAAE;gBACV,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,sBAAsB;YAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC;QACpE,IAAI,CAAC,sBAAsB,GAAG,CAAC,KAAK,IAAI,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC,gFAAgF,CACjF,CAAC;gBACF,OAAO,IAAI,GAAG,CAAS,CAAE,MAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;gBACvE,qEAAqE;gBACrE,qEAAqE;gBACrE,wEAAwE;gBACxE,OAAO,IAAI,GAAG,EAAU,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElH,2EAA2E;QAC3E,uEAAuE;QACvE,iEAAiE;QACjE,uEAAuE;QACvE,MAAM,QAAQ,GACZ,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS;YAChC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC;YAChF,CAAC,CAAC,OAAO,CAAC;QAEd,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,KAAK,GAA2D;YACpE,CAAC,WAAW,EAAE,OAAO,CAAC;YACtB,CAAC,OAAO,EAAE,OAAO,CAAC;YAClB,CAAC,UAAU,EAAE,UAAU,CAAC;SACzB,CAAC;QAEF,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,IAAA,yDAAsB,EAAC,OAAO,CAAC;gBAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjE,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzG,CAAC,CAAC,CACH,CAAC;YACF,MAAM,MAAM,GAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,SAAS;YAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YACtG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,cAAc,GAAG,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7E,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACpG,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,cAAc,CAAC,MAK5B;QACC,MAAM,IAAI,GAAsB,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,GAAG,iCAAyB,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACpF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,iCAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACnG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACvB,IAAI,CAAC,kBAAkB,CAAC;gBACtB,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnD,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;aAChD,CAAC,CACH,CACF,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBAClC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,iCAAyB;oBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAKhC;QACC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;YAC5B,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;YAC/E,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB;gBAAE,OAAO,IAAI,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3C,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;gBAC/B,GAAG,EAAE;oBACH,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;oBAClC,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa;oBAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;oBAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;iBACnC;aACF,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC;YAC5G,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,iGAAiG;IACzF,KAAK,CAAC,wBAAwB,CACpC,MAAqB,EACrB,MAA4B,EAC5B,MAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,+BAAuB,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,UAAU,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,OAAO,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE;gBACvC,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,IAAI,WAAW,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,MAAqB,EACrB,MAA2B,EAC3B,IAAwC;QAExC,IAAI,CAAC;YACH,MAAM,SAAS,GAAoB;gBACjC,MAAM;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EACH,IAAI,KAAK,UAAU;oBACjB,CAAC,CAAC,kCAA0B;oBAC5B,CAAC,CAAC,IAAI,KAAK,OAAO;wBAChB,CAAC,CAAC,+BAAuB;wBACzB,CAAC,CAAC,+BAAuB;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAElH,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,MAAM,SAAS,GACb,IAAI,KAAK,UAAU;gBACjB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uBAAuB,IAAI,SAAS,MAAM,CAAC,IAAI,gBAAgB,WAAW,UAAU,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CACzG,CAAC;YAEF,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,2EAA2E;YAC3E,0EAA0E;YAC1E,8EAA8E;YAC9E,6EAA6E;YAC7E,yBAAyB;YACzB,IAAI,8EAA8E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjG,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,SAAS,MAAM,CAAC,IAAI,WAAW,OAAO,EAAE,CAAC,CAAC;YACtF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,MAAwC,EACxC,UAAmC,EACnC,EAAU;QAEV,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAI,UAAkB,CAAC,IAAI,CAAC;QACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,MAAuB,EACvB,IAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,SAAS,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,sCAAgB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,+BAAuB,CAAC,CAAC,CAAC,+BAAuB,CAAC;QAErF,sEAAsE;QACtE,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC;;;;UAII,WAAW,EAAE,MAAM,IAAI,EAAE;;;;OAI5B,EACD;YACE,SAAS;YACT,IAAI;YACJ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;YAClC,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;SAC/B,CACF,CAAC;QAEF,MAAM,KAAK,GAAwB,MAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACzE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;SACtC,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,SAAS,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAuB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,kEAAkE;QAClE,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,IAAA,4CAAwB,EAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;SACxG,CAAC,CAAC;QAEH,sEAAsE;QACtE,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC;;;;;UAKI,WAAW,EAAE,MAAM,IAAI,EAAE;;;;OAI5B,EACD;YACE,SAAS;YACT,SAAS,EAAE,sBAAsB;YACjC,cAAc;YACd,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,gCAAwB;YAClC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,kCAA0B,CAAC;YACzD,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;SAC/B,CACF,CAAC;QAEF,MAAM,KAAK,GAAwB,MAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACzE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;SACtC,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;CACF,CAAA;AArYY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAae,4BAAY;QACT,kCAAe;QACb,uCAAiB;QACpB,2CAAmB;QAIhB,wBAAU;QASX,+CAAqB;GA5BxC,kBAAkB,CAqY9B"}
@@ -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;;;;;;;;;GASG;AACH,qBACa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAGnC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,YAAY;IAGtC,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;IAYxD,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;IAiC9G,mEAAmE;IACnE,OAAO,CAAC,YAAY;CAGrB"}
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":"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"}
1
+ {"version":3,"file":"scope.guard.js","sourceRoot":"","sources":["../../../../src/agents/graph/services/scope.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8EAA0E;AAC1E,gGAA2F;AAG3F,mEAA8D;AAC9D,mDAAoD;AAGpD;;;;;;;;;;;;;;;;;;;GAmBG;AAEI,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAGrB,YACmB,OAA4B,EAC5B,KAAmB;IACpC;;;;OAIG;IACc,QAAgC;QAPhC,YAAO,GAAP,OAAO,CAAqB;QAC5B,UAAK,GAAL,KAAK,CAAc;QAMnB,aAAQ,GAAR,QAAQ,CAAwB;QAVlC,WAAM,GAAG,IAAI,eAAM,CAAC,YAAU,CAAC,IAAI,CAAC,CAAC;IAWnD,CAAC;IAEJ,gBAAgB,CAAC,MAIhB;QACC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9D,yEAAyE;QACzE,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACnE,yEAAyE;QACzE,gDAAgD;QAChD,IAAI,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO;YACL,MAAM,EAAE,sBAAsB,OAAO,IAAI;YACzC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;SACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAsD;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAA2B,MAAwD;QAC7F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnF,yEAAyE;QACzE,IAAI,MAAM,EAAE,WAAW;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;QAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iBAAiB,MAAM,CAAC,IAAI,4BAA4B,MAAM,CAAC,GAAG,CAAC,SAAS,gBAAgB,MAAM,CAAC,OAAO,CAAC,MAAM,aAAa,CAC/H,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,0EAA0E;YAC1E,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC;oBACc,MAAM,CAAC,SAAS;;6BAEP,OAAO;;OAE7B,EACD,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAChF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAE,MAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClG,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAA2B,MAIxD;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAyD,CAAC;QACxG,IAAI,OAAO,OAAO,EAAE,aAAa,KAAK,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iBAAiB,MAAM,CAAC,IAAI,iFAAiF,MAAM,CAAC,OAAO,CAAC,MAAM,aAAa,CAChJ,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;YAC7C,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAU;YAChC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAQ;SAC7B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,mEAAmE;IAC3D,YAAY,CAAC,KAA0C,EAAE,KAAa;QAC5E,OAAO,IAAA,iCAAiB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AA7GY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAKiB,2CAAmB;QACrB,4BAAY;QAMR,+CAAqB;GAXxC,UAAU,CA6GtB"}
@@ -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;IAsGhH;;;;OAIG;YACW,aAAa;YAKb,WAAW;CAwC1B"}
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
- const scopeRelKey = entity.scope?.path.length === 1 ? entity.scope.path[0].key : undefined;
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;AAExE,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;IA4F/B;;;;OAIG;YACW,aAAa;CAI5B"}
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
- const pairs = await this.relatedEdges.findRelatedIds({
288
- labelName: source.labelName,
289
- id: input.fromId,
290
- cypherLabel: rel.cypherLabel,
291
- limit: limit + 1,
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 = typeByLabel.get(pair.label);
322
+ const type = pair.type;
313
323
  if (!type || gatedTypes.has(type))
314
324
  continue;
315
325
  if (!entityByType.has(type)) {