@carlonicora/nestjs-neo4jsonapi 8.11.0 → 8.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 (166) hide show
  1. package/dist/agents/community.detector/services/community.detector.service.d.ts +10 -7
  2. package/dist/agents/community.detector/services/community.detector.service.d.ts.map +1 -1
  3. package/dist/agents/community.detector/services/community.detector.service.js +26 -31
  4. package/dist/agents/community.detector/services/community.detector.service.js.map +1 -1
  5. package/dist/agents/community.summariser/community.summariser.module.d.ts.map +1 -1
  6. package/dist/agents/community.summariser/community.summariser.module.js +5 -1
  7. package/dist/agents/community.summariser/community.summariser.module.js.map +1 -1
  8. package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts +1 -6
  9. package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts.map +1 -1
  10. package/dist/agents/community.summariser/cron/community.summariser.cron.js +2 -6
  11. package/dist/agents/community.summariser/cron/community.summariser.cron.js.map +1 -1
  12. package/dist/agents/community.summariser/helpers/community-scope-filter.d.ts +3 -5
  13. package/dist/agents/community.summariser/helpers/community-scope-filter.d.ts.map +1 -1
  14. package/dist/agents/community.summariser/helpers/community-scope-filter.js +3 -7
  15. package/dist/agents/community.summariser/helpers/community-scope-filter.js.map +1 -1
  16. package/dist/agents/community.summariser/processors/community.summariser.processor.d.ts +1 -6
  17. package/dist/agents/community.summariser/processors/community.summariser.processor.d.ts.map +1 -1
  18. package/dist/agents/community.summariser/processors/community.summariser.processor.js +2 -6
  19. package/dist/agents/community.summariser/processors/community.summariser.processor.js.map +1 -1
  20. package/dist/agents/community.summariser/services/community.summariser.service.js +1 -1
  21. package/dist/agents/community.summariser/services/community.summariser.service.js.map +1 -1
  22. package/dist/agents/drift/nodes/followup.node.service.js +1 -1
  23. package/dist/agents/drift/nodes/followup.node.service.js.map +1 -1
  24. package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts +19 -2
  25. package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts.map +1 -1
  26. package/dist/agents/graph/prompts/graph.node.system.prompt.js +57 -4
  27. package/dist/agents/graph/prompts/graph.node.system.prompt.js.map +1 -1
  28. package/dist/agents/graph/services/compact-description.d.ts +76 -0
  29. package/dist/agents/graph/services/compact-description.d.ts.map +1 -0
  30. package/dist/agents/graph/services/compact-description.js +178 -0
  31. package/dist/agents/graph/services/compact-description.js.map +1 -0
  32. package/dist/agents/graph/services/filter-operators.d.ts +16 -0
  33. package/dist/agents/graph/services/filter-operators.d.ts.map +1 -0
  34. package/dist/agents/graph/services/filter-operators.js +35 -0
  35. package/dist/agents/graph/services/filter-operators.js.map +1 -0
  36. package/dist/agents/graph/tools/describe-entity.tool.d.ts +57 -1
  37. package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -1
  38. package/dist/agents/graph/tools/describe-entity.tool.js +121 -59
  39. package/dist/agents/graph/tools/describe-entity.tool.js.map +1 -1
  40. package/dist/agents/graph/tools/read-entity.tool.d.ts.map +1 -1
  41. package/dist/agents/graph/tools/read-entity.tool.js +11 -2
  42. package/dist/agents/graph/tools/read-entity.tool.js.map +1 -1
  43. package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
  44. package/dist/agents/graph/tools/search-entities.tool.js +7 -2
  45. package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
  46. package/dist/agents/graph/tools/tool.factory.d.ts +35 -0
  47. package/dist/agents/graph/tools/tool.factory.d.ts.map +1 -1
  48. package/dist/agents/graph/tools/tool.factory.js +34 -0
  49. package/dist/agents/graph/tools/tool.factory.js.map +1 -1
  50. package/dist/agents/graph/tools/traverse.tool.d.ts +1 -13
  51. package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
  52. package/dist/agents/graph/tools/traverse.tool.js +13 -33
  53. package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
  54. package/dist/agents/index.d.ts +6 -2
  55. package/dist/agents/index.d.ts.map +1 -1
  56. package/dist/agents/index.js +10 -2
  57. package/dist/agents/index.js.map +1 -1
  58. package/dist/agents/responder/nodes/graph.node.service.d.ts +48 -1
  59. package/dist/agents/responder/nodes/graph.node.service.d.ts.map +1 -1
  60. package/dist/agents/responder/nodes/graph.node.service.js +158 -41
  61. package/dist/agents/responder/nodes/graph.node.service.js.map +1 -1
  62. package/dist/agents/responder/nodes/responder.answer.node.service.d.ts +1 -1
  63. package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
  64. package/dist/agents/responder/nodes/responder.answer.node.service.js +14 -0
  65. package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
  66. package/dist/config/base.config.d.ts +6 -0
  67. package/dist/config/base.config.d.ts.map +1 -1
  68. package/dist/config/base.config.js +1 -0
  69. package/dist/config/base.config.js.map +1 -1
  70. package/dist/config/interfaces/base.config.interface.d.ts +2 -0
  71. package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
  72. package/dist/config/interfaces/config.community.interface.d.ts +8 -0
  73. package/dist/config/interfaces/config.community.interface.d.ts.map +1 -0
  74. package/dist/config/interfaces/config.community.interface.js +3 -0
  75. package/dist/config/interfaces/config.community.interface.js.map +1 -0
  76. package/dist/config/interfaces/config.prompts.interface.d.ts +4 -4
  77. package/dist/config/interfaces/config.responder.interface.d.ts +7 -6
  78. package/dist/config/interfaces/config.responder.interface.d.ts.map +1 -1
  79. package/dist/config/interfaces/index.d.ts +1 -0
  80. package/dist/config/interfaces/index.d.ts.map +1 -1
  81. package/dist/config/interfaces/index.js +1 -0
  82. package/dist/config/interfaces/index.js.map +1 -1
  83. package/dist/core/llm/services/llm.service.d.ts +26 -0
  84. package/dist/core/llm/services/llm.service.d.ts.map +1 -1
  85. package/dist/core/llm/services/llm.service.js +146 -14
  86. package/dist/core/llm/services/llm.service.js.map +1 -1
  87. package/dist/foundations/analytics/index.d.ts +1 -0
  88. package/dist/foundations/analytics/index.d.ts.map +1 -1
  89. package/dist/foundations/analytics/index.js +3 -1
  90. package/dist/foundations/analytics/index.js.map +1 -1
  91. package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.d.ts +19 -0
  92. package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.d.ts.map +1 -0
  93. package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.js +6 -0
  94. package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.js.map +1 -0
  95. package/dist/foundations/analytics/processors/analytics.processor.d.ts +10 -1
  96. package/dist/foundations/analytics/processors/analytics.processor.d.ts.map +1 -1
  97. package/dist/foundations/analytics/processors/analytics.processor.js +29 -0
  98. package/dist/foundations/analytics/processors/analytics.processor.js.map +1 -1
  99. package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts +11 -0
  100. package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts.map +1 -1
  101. package/dist/foundations/analytics/repositories/analytics-session.repository.js +37 -0
  102. package/dist/foundations/analytics/repositories/analytics-session.repository.js.map +1 -1
  103. package/dist/foundations/analytics/services/analytics.service.d.ts +3 -1
  104. package/dist/foundations/analytics/services/analytics.service.d.ts.map +1 -1
  105. package/dist/foundations/analytics/services/analytics.service.js +18 -3
  106. package/dist/foundations/analytics/services/analytics.service.js.map +1 -1
  107. package/dist/foundations/community/community.module.d.ts.map +1 -1
  108. package/dist/foundations/community/community.module.js +5 -4
  109. package/dist/foundations/community/community.module.js.map +1 -1
  110. package/dist/foundations/community/entities/community.entity.d.ts +30 -4
  111. package/dist/foundations/community/entities/community.entity.d.ts.map +1 -1
  112. package/dist/foundations/community/entities/community.entity.js +51 -0
  113. package/dist/foundations/community/entities/community.entity.js.map +1 -1
  114. package/dist/foundations/community/index.d.ts +4 -2
  115. package/dist/foundations/community/index.d.ts.map +1 -1
  116. package/dist/foundations/community/index.js +8 -3
  117. package/dist/foundations/community/index.js.map +1 -1
  118. package/dist/foundations/community/repositories/community.repository.d.ts +93 -103
  119. package/dist/foundations/community/repositories/community.repository.d.ts.map +1 -1
  120. package/dist/foundations/community/repositories/community.repository.js +330 -328
  121. package/dist/foundations/community/repositories/community.repository.js.map +1 -1
  122. package/dist/foundations/community/services/community-layer.service.d.ts +38 -0
  123. package/dist/foundations/community/services/community-layer.service.d.ts.map +1 -0
  124. package/dist/foundations/community/services/community-layer.service.js +89 -0
  125. package/dist/foundations/community/services/community-layer.service.js.map +1 -0
  126. package/dist/foundations/community/services/community.service.d.ts +22 -4
  127. package/dist/foundations/community/services/community.service.d.ts.map +1 -1
  128. package/dist/foundations/community/services/community.service.js +9 -6
  129. package/dist/foundations/community/services/community.service.js.map +1 -1
  130. package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.d.ts +8 -3
  131. package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.d.ts.map +1 -1
  132. package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.js +35 -29
  133. package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.js.map +1 -1
  134. package/dist/foundations/stripe-price/entities/stripe-price.map.d.ts.map +1 -1
  135. package/dist/foundations/stripe-price/entities/stripe-price.map.js +2 -1
  136. package/dist/foundations/stripe-price/entities/stripe-price.map.js.map +1 -1
  137. package/dist/foundations/stripe-product/repositories/stripe-product.repository.d.ts +2 -1
  138. package/dist/foundations/stripe-product/repositories/stripe-product.repository.d.ts.map +1 -1
  139. package/dist/foundations/stripe-product/repositories/stripe-product.repository.js +4 -1
  140. package/dist/foundations/stripe-product/repositories/stripe-product.repository.js.map +1 -1
  141. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts +3 -18
  142. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
  143. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +20 -5
  144. package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
  145. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts +6 -1
  146. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map +1 -1
  147. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js +10 -3
  148. package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map +1 -1
  149. package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts +1 -1
  150. package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js +1 -1
  151. package/dist/foundations/stripe-webhook/controllers/stripe-webhook.controller.d.ts.map +1 -1
  152. package/dist/foundations/stripe-webhook/controllers/stripe-webhook.controller.js +2 -0
  153. package/dist/foundations/stripe-webhook/controllers/stripe-webhook.controller.js.map +1 -1
  154. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts +1 -0
  155. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
  156. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +14 -9
  157. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
  158. package/package.json +1 -1
  159. package/dist/foundations/community/entities/community.map.d.ts +0 -8
  160. package/dist/foundations/community/entities/community.map.d.ts.map +0 -1
  161. package/dist/foundations/community/entities/community.map.js +0 -24
  162. package/dist/foundations/community/entities/community.map.js.map +0 -1
  163. package/dist/foundations/community/entities/community.model.d.ts +0 -4
  164. package/dist/foundations/community/entities/community.model.d.ts.map +0 -1
  165. package/dist/foundations/community/entities/community.model.js +0 -15
  166. package/dist/foundations/community/entities/community.model.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"describe-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/describe-entity.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK1E,QAAA,MAAM,WAAW;;iBAEf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,yBAAyB,EAAE,CAAC;AAYpD,qBACa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAEjD,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;CAkEjH"}
1
+ {"version":3,"file":"describe-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/describe-entity.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAA6B,MAAM,iCAAiC,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,uCAAuC,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AAE5G,QAAA,MAAM,WAAW;;iBAEf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,yBAAyB,EAAE,CAAC;AAYpD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,wBAAwB,EAAE,GAAG,SAAS,GACnD,iBAAiB,CAwDnB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAIlF;AAED,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,qBACa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAEjD,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,qBAAqB;IAS1E,yFAAyF;IACzF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,iBAAiB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAM5G;;;;;;;;OAQG;IACH,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAUlF,MAAM,CACV,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,oBAAoB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAc1E"}
@@ -10,12 +10,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DescribeEntityTool = exports.describeEntityInputSchema = void 0;
13
+ exports.describeCatalogEntity = describeCatalogEntity;
14
+ exports.renderEntitySchema = renderEntitySchema;
13
15
  const common_1 = require("@nestjs/common");
14
16
  const tools_1 = require("@langchain/core/tools");
15
17
  const zod_1 = require("zod");
16
18
  const writable_rules_1 = require("../services/writable.rules");
17
19
  const tool_factory_1 = require("./tool.factory");
18
- const traverse_tool_1 = require("./traverse.tool");
20
+ const filter_operators_1 = require("../services/filter-operators");
21
+ const compact_description_1 = require("../services/compact-description");
19
22
  const inputSchema = zod_1.z.object({
20
23
  type: zod_1.z.string().describe("Entity type name from the graph map."),
21
24
  });
@@ -28,8 +31,93 @@ exports.describeEntityInputSchema = inputSchema;
28
31
  function filterOperators(field, capabilities) {
29
32
  if (!capabilities && !field.filterable)
30
33
  return [];
31
- return (0, traverse_tool_1.allowedFilterOperators)(field, capabilities);
34
+ return (0, filter_operators_1.allowedFilterOperators)(field, capabilities);
32
35
  }
36
+ /**
37
+ * The structured description of one catalog type: what the model may filter,
38
+ * sort, read and write on it. `capabilities` are the filter capabilities of the
39
+ * type's service (`serviceFilterCapabilities`), `undefined` when it declares none.
40
+ * Shared by `describe_entity` and the describe-first refusals of the read tools,
41
+ * so both show the same contract.
42
+ */
43
+ function describeCatalogEntity(entity, capabilities) {
44
+ // The write tools refuse anything not marked writable here, so the model
45
+ // must be TOLD which fields and relationships it may set — without this
46
+ // it fills system-generated fields and read-only traversals, and the
47
+ // refusal only lands after the user has approved the action. Omitted
48
+ // entirely for a read-only type: a host that opts nothing in sees the
49
+ // response it has always seen.
50
+ const writable = entity.writable === true;
51
+ // A service whose records live outside the app database may support
52
+ // fewer filters than the field types allow; advertise only those.
53
+ // When it declares capabilities, a field is filterable only if it has operators.
54
+ return {
55
+ type: entity.type,
56
+ description: entity.description,
57
+ fields: entity.fields.map((f) => {
58
+ const operators = filterOperators(f, capabilities);
59
+ const values = capabilities?.find((c) => c.field === f.name)?.values;
60
+ return {
61
+ name: f.name,
62
+ type: f.type,
63
+ description: f.description,
64
+ filterable: capabilities ? operators.length > 0 : f.filterable,
65
+ sortable: f.sortable,
66
+ operators,
67
+ ...(values?.length ? { values: [...values] } : {}),
68
+ ...(f.kind ? { kind: f.kind } : {}),
69
+ // A richtext field is READ as markdown (the tool layer renders the
70
+ // stored BlockNote document), so it must be WRITTEN as markdown too —
71
+ // the write tools convert it back. Without saying so the model has no
72
+ // way to know the two directions match.
73
+ ...(f.kind?.type === "richtext" ? { format: "markdown" } : {}),
74
+ ...(entity.list ? { stage: entity.list.includes(f.name) ? "list" : "detail" } : {}),
75
+ ...(writable ? { writable: (0, writable_rules_1.isFieldWritable)(entity, f.name) } : {}),
76
+ };
77
+ }),
78
+ relationships: entity.relationships.map((r) => ({
79
+ name: r.name,
80
+ targetType: r.targetType,
81
+ cardinality: r.cardinality,
82
+ description: r.description,
83
+ ...(writable ? { writable: (0, writable_rules_1.isRelationshipWritable)(entity, r) } : {}),
84
+ })),
85
+ // Detail fields are filled by the type's service on read_entity only: they
86
+ // cannot be filtered, sorted, searched or listed, so they stay out of `fields`.
87
+ ...(entity.detailFields?.length
88
+ ? {
89
+ detailFields: entity.detailFields.map((f) => ({
90
+ name: f.name,
91
+ type: f.type,
92
+ description: f.description,
93
+ availableOn: "read_entity",
94
+ })),
95
+ }
96
+ : {}),
97
+ ...(entity.bridge ? { bridge: { materialiseTo: [...entity.bridge.materialiseTo] } } : {}),
98
+ };
99
+ }
100
+ /**
101
+ * The compact, standalone schema text of one catalog type, exactly as
102
+ * `describe_entity` returns it. `service` is the type's registered service
103
+ * (its filter capabilities decide the operators). Carried by the describe-first
104
+ * refusals of read_entity, search_entities and traverse.
105
+ */
106
+ function renderEntitySchema(entity, service) {
107
+ return (0, compact_description_1.renderCompactDescriptions)([describeCatalogEntity(entity, (0, filter_operators_1.serviceFilterCapabilities)(service))], {
108
+ standalone: true,
109
+ });
110
+ }
111
+ /**
112
+ * The `describe_entity` tool: the fields, relationships, filter operators and
113
+ * writable parts of one entity type, returned as `{ type, schema }` where
114
+ * `schema` is the compact text of {@link renderCompactDescriptions} rendered
115
+ * standalone (it defines every shared part it refers to). An unknown or
116
+ * inaccessible type returns the factory's `{ error, suggestion? }` object.
117
+ *
118
+ * {@link DescribeEntityTool.buildDescription} returns the structured form, for
119
+ * callers that render several types together.
120
+ */
33
121
  let DescribeEntityTool = class DescribeEntityTool {
34
122
  constructor(factory) {
35
123
  this.factory = factory;
@@ -42,66 +130,40 @@ let DescribeEntityTool = class DescribeEntityTool {
42
130
  func: async (input) => JSON.stringify(await this.invoke(input, ctx, recorder)),
43
131
  });
44
132
  }
133
+ /** The structured description of `type` for this user, or the factory's error object. */
134
+ buildDescription(type, ctx) {
135
+ const entity = this.factory.resolveEntity(type, ctx);
136
+ if ("error" in entity)
137
+ return entity;
138
+ return describeCatalogEntity(entity, (0, filter_operators_1.serviceFilterCapabilities)(this.factory.resolveService(entity.type)));
139
+ }
140
+ /**
141
+ * The compact catalog of every type this user can read, for a caller that
142
+ * gives the model all descriptions up front (the responder lookup). Types are
143
+ * sorted by name and rendered together with `{ standalone: false }`, so the
144
+ * text depends only on `ctx.userModuleIds` and is byte-identical across
145
+ * calls for the same modules. `types` lists the rendered types (the
146
+ * pre-described set of {@link UserContext.preDescribedTypes});
147
+ * `approxTokens` is `Math.ceil(text.length / 4)`.
148
+ */
149
+ renderCatalog(ctx) {
150
+ const descriptions = [];
151
+ for (const type of [...this.factory.accessibleTypes(ctx)].sort()) {
152
+ const description = this.buildDescription(type, ctx);
153
+ if (!("error" in description))
154
+ descriptions.push(description);
155
+ }
156
+ const text = descriptions.length ? (0, compact_description_1.renderCompactDescriptions)(descriptions, { standalone: false }) : "";
157
+ return { text, types: descriptions.map((d) => d.type), approxTokens: Math.ceil(text.length / 4) };
158
+ }
45
159
  async invoke(input, ctx, recorder) {
46
160
  return this.factory.capture({ tool: "describe_entity", input }, async () => {
47
- const entity = this.factory.resolveEntity(input.type, ctx);
48
- if ("error" in entity)
49
- return entity;
50
- // The write tools refuse anything not marked writable here, so the model
51
- // must be TOLD which fields and relationships it may set — without this
52
- // it fills system-generated fields and read-only traversals, and the
53
- // refusal only lands after the user has approved the action. Omitted
54
- // entirely for a read-only type: a host that opts nothing in sees the
55
- // response it has always seen.
56
- const writable = entity.writable === true;
57
- // A service whose records live outside the app database may support
58
- // fewer filters than the field types allow; advertise only those.
59
- // When it declares capabilities, a field is filterable only if it has operators.
60
- const capabilities = (0, traverse_tool_1.serviceFilterCapabilities)(this.factory.resolveService(entity.type));
161
+ const description = this.buildDescription(input.type, ctx);
162
+ if ("error" in description)
163
+ return description;
61
164
  return {
62
- type: entity.type,
63
- description: entity.description,
64
- fields: entity.fields.map((f) => {
65
- const operators = filterOperators(f, capabilities);
66
- const values = capabilities?.find((c) => c.field === f.name)?.values;
67
- return {
68
- name: f.name,
69
- type: f.type,
70
- description: f.description,
71
- filterable: capabilities ? operators.length > 0 : f.filterable,
72
- sortable: f.sortable,
73
- operators,
74
- ...(values?.length ? { values: [...values] } : {}),
75
- ...(f.kind ? { kind: f.kind } : {}),
76
- // A richtext field is READ as markdown (the tool layer renders the
77
- // stored BlockNote document), so it must be WRITTEN as markdown too —
78
- // the write tools convert it back. Without saying so the model has no
79
- // way to know the two directions match.
80
- ...(f.kind?.type === "richtext" ? { format: "markdown" } : {}),
81
- ...(entity.list ? { stage: entity.list.includes(f.name) ? "list" : "detail" } : {}),
82
- ...(writable ? { writable: (0, writable_rules_1.isFieldWritable)(entity, f.name) } : {}),
83
- };
84
- }),
85
- relationships: entity.relationships.map((r) => ({
86
- name: r.name,
87
- targetType: r.targetType,
88
- cardinality: r.cardinality,
89
- description: r.description,
90
- ...(writable ? { writable: (0, writable_rules_1.isRelationshipWritable)(entity, r) } : {}),
91
- })),
92
- // Detail fields are filled by the type's service on read_entity only: they
93
- // cannot be filtered, sorted, searched or listed, so they stay out of `fields`.
94
- ...(entity.detailFields?.length
95
- ? {
96
- detailFields: entity.detailFields.map((f) => ({
97
- name: f.name,
98
- type: f.type,
99
- description: f.description,
100
- availableOn: "read_entity",
101
- })),
102
- }
103
- : {}),
104
- ...(entity.bridge ? { bridge: { materialiseTo: [...entity.bridge.materialiseTo] } } : {}),
165
+ type: description.type,
166
+ schema: (0, compact_description_1.renderCompactDescriptions)([description], { standalone: true }),
105
167
  };
106
168
  }, recorder);
107
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"describe-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/describe-entity.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/describe-entity.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/read-entity.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,EAAqB,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAOrD,QAAA,MAAM,WAAW;;;;iBAIf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,CAAC;AAEhD,qBACa,cAAc;IAIvB,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;IAT5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAGvC,OAAO,EAAE,WAAW,EACpB,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,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,qBAAqB;IAS3F,MAAM,CACV,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,OAAO,CAAC,OAAO,CAAC;IAsKnB;;;;OAIG;YACW,aAAa;CAI5B"}
1
+ {"version":3,"file":"read-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/read-entity.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,EAAqB,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAOrD,QAAA,MAAM,WAAW;;;;iBAIf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,CAAC;AAEhD,qBACa,cAAc;IAIvB,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;IAT5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAGvC,OAAO,EAAE,WAAW,EACpB,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,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,qBAAqB;IAS3F,MAAM,CACV,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,OAAO,CAAC,OAAO,CAAC;IA6KnB;;;;OAIG;YACW,aAAa;CAI5B"}
@@ -15,6 +15,7 @@ const common_1 = require("@nestjs/common");
15
15
  const tools_1 = require("@langchain/core/tools");
16
16
  const zod_1 = require("zod");
17
17
  const tool_factory_1 = require("./tool.factory");
18
+ const describe_entity_tool_1 = require("./describe-entity.tool");
18
19
  const field_formatting_1 = require("../services/field-formatting");
19
20
  const materialise_bridge_1 = require("../services/materialise-bridge");
20
21
  const graph_catalog_service_1 = require("../services/graph.catalog.service");
@@ -50,15 +51,19 @@ let ReadEntityTool = ReadEntityTool_1 = class ReadEntityTool {
50
51
  }
51
52
  async invoke(input, ctx, recorder, readIds) {
52
53
  const localMaterialised = [];
54
+ // Linked records the include returned, across all relationships — feeds
55
+ // ToolCallRecord.walkedEdge for the graph node's traversal detector.
56
+ let linkedRecords = 0;
53
57
  const result = await this.factory.capture({ tool: "read_entity", input }, async () => {
54
- const described = recorder.some((c) => c.tool === "describe_entity" && c.input.type === input.type);
55
58
  const entity = this.factory.resolveEntity(input.type, ctx);
56
59
  if ("error" in entity)
57
60
  return entity;
61
+ const described = ctx.preDescribedTypes?.has(entity.type) ||
62
+ recorder.some((c) => c.tool === "describe_entity" && c.input.type === input.type);
58
63
  if (!described) {
59
64
  return {
60
65
  error: `You must call describe_entity({ type: "${input.type}" }) before reading a ${input.type} record. The schema is included below — either call describe_entity({ type: "${input.type}" }) to record the contract and retry this read, or proceed using the listed fields and relationships. Never stop on this error.`,
61
- schema: { fields: entity.fields, relationships: entity.relationships },
66
+ schema: (0, describe_entity_tool_1.renderEntitySchema)(entity, this.factory.resolveService(entity.type)),
62
67
  };
63
68
  }
64
69
  // A repeat read of a record already fetched in full earlier in this
@@ -124,6 +129,7 @@ let ReadEntityTool = ReadEntityTool_1 = class ReadEntityTool {
124
129
  related[name] = (0, external_entity_source_interface_1.externalSourceUnavailableResult)(e);
125
130
  continue;
126
131
  }
132
+ linkedRecords += records.length;
127
133
  const targetEntity = this.factory.resolveEntity(rel.targetType, ctx);
128
134
  const summariser = "error" in targetEntity
129
135
  ? (d) => String(d.id)
@@ -194,6 +200,9 @@ let ReadEntityTool = ReadEntityTool_1 = class ReadEntityTool {
194
200
  if (localMaterialised.length && recorder.length) {
195
201
  recorder[recorder.length - 1].materialised = localMaterialised;
196
202
  }
203
+ if (linkedRecords > 0 && recorder.length) {
204
+ recorder[recorder.length - 1].walkedEdge = true;
205
+ }
197
206
  return result;
198
207
  }
199
208
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"read-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/read-entity.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,iDAA8D;AAC9D,6BAAwB;AACxB,iDAA0E;AAC1E,mEAA4F;AAC5F,uEAAmE;AACnE,6EAAwE;AACxE,gGAA2F;AAC3F,yDAAqD;AACrD,8GAAiG;AACjG,kHAGqE;AAErE,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CACxG,CAAC,CAAC;AAEqB,4CAAqB;AAGtC,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGzB,YACmB,OAAoB,EACpB,OAA4B,EAC5B,QAA+B,EAC/B,UAAsB;IACvC,2EAA2E;IAC3E,kDAAkD;IACjC,SAAoC;QANpC,YAAO,GAAP,OAAO,CAAa;QACpB,YAAO,GAAP,OAAO,CAAqB;QAC5B,aAAQ,GAAR,QAAQ,CAAuB;QAC/B,eAAU,GAAV,UAAU,CAAY;QAGtB,cAAS,GAAT,SAAS,CAA2B;QATtC,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAUvD,CAAC;IAEJ,KAAK,CAAC,GAAgB,EAAE,QAA0B,EAAE,OAAqB;QACvE,OAAO,IAAI,6BAAqB,CAAC;YAC/B,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,8FAA8F;YAC3G,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACxF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAkC,EAClC,GAAgB,EAChB,QAA0B,EAC1B,OAAqB;QAErB,MAAM,iBAAiB,GAA8C,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACvC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,EAC9B,KAAK,IAAI,EAAE;YACT,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAK,CAAC,CAAC,KAA2B,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAC1F,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,OAAO,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YACrC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;oBACL,KAAK,EAAE,0CAA0C,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,IAAI,gFAAgF,KAAK,CAAC,IAAI,kIAAkI;oBAC1T,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;iBACvE,CAAC;YACJ,CAAC;YAED,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,IAAI,EAAE,yHAAyH;iBAChI,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,yBAAyB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAE1E,mEAAmE;YACnE,0DAA0D;YAC1D,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1F,kEAAkE;gBAClE,gEAAgE;gBAChE,IAAI,CAAC,OAAO;oBAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YAC3E,CAAC;YAED,MAAM,MAAM,GAAQ,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YAExE,MAAM,OAAO,GAAwB,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAE,CAAC;oBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,CAAC,UAAU,iBAAiB,EAAE,CAAC;wBAC1E,SAAS;oBACX,CAAC;oBACD,iEAAiE;oBACjE,uEAAuE;oBACvE,MAAM,eAAe,GAAiB,GAAG,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnF,IAAI,OAAc,CAAC;oBACnB,IAAI,CAAC;wBACH,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAChC,GAAG,CAAC,UAAU,EACd,MAAM,SAAS,CAAC,wBAAwB,CAAC;4BACvC,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,eAAe,EAAE,eAAe;4BAChC,YAAY,EAAE,MAAM,CAAC,SAAS;4BAC9B,SAAS,EAAE,KAAK,CAAC,EAAE;4BACnB,KAAK,EAAE,EAAE;yBACV,CAAC,EACF,GAAG,CACJ,CAAC;oBACJ,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,iEAAiE;wBACjE,kEAAkE;wBAClE,IAAI,CAAC,IAAA,mEAAgC,EAAC,CAAC,CAAC;4BAAE,MAAM,CAAC,CAAC;wBAClD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,kEAA+B,EAAC,CAAC,CAAC,CAAC;wBACnD,SAAS;oBACX,CAAC;oBACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;oBACrE,MAAM,UAAU,GACd,OAAO,IAAI,YAAY;wBACrB,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1B,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAClC,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,GAAG,CAAC,UAAU;wBACpB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;qBACvB,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEzF,6EAA6E;YAC7E,+EAA+E;YAC/E,mEAAmE;YACnE,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,IAAA,qDAAoB,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;wBACpC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;4BAAE,SAAS;wBACpE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wCAAwC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,KAAM,CAAW,CAAC,OAAO,EAAE,CAC3F,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,0CAA0C;YAC1C,MAAM,SAAS,GAAG,IAAA,oCAAiB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxD,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE9D,2EAA2E;YAC3E,4EAA4E;YAC5E,yEAAyE;YACzE,mEAAmE;YACnE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,MAAM,IAAA,sCAAiB,EAAC;oBAC3C,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;oBAC7C,GAAG;oBACH,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B;oBACD,cAAc,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC/E,CAAC,CAAC;gBACH,oEAAoE;gBACpE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,KAAK,CAAC,OAAO,EAAE,MAAM;oBAC1B,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,eAAe,EAAE,OAAO,EAAE;oBAClD,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;YAC9C,CAAC;YAED,oEAAoE;YACpE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,UAAU;gBAClB,GAAG,eAAe;gBAClB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC;QACJ,CAAC,EACD,QAAQ,CACT,CAAC;QAEF,gFAAgF;QAChF,IAAI,iBAAiB,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChD,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,iBAAiB,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,OAAc,EAAE,GAAgB;QACxE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AA1MY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAKiB,0BAAW;QACX,2CAAmB;QAClB,+CAAqB;QACnB,wBAAU;QAGX,4CAAyB;GAV5C,cAAc,CA0M1B"}
1
+ {"version":3,"file":"read-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/read-entity.tool.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;AACrD,OAAO,EAKL,gBAAgB,EAChB,cAAc,EAGf,MAAM,iBAAiB,CAAC;AAEzB,oGAAoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,WAAW;;;;;kBAON,CAAC;AAEZ,OAAO,EAAE,WAAW,IAAI,yBAAyB,EAAE,CAAC;AAEpD,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;IAqHhH;;;;OAIG;YACW,aAAa;YAKb,WAAW;CA0C1B"}
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;AAG1E,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;AACrD,OAAO,EAKL,gBAAgB,EAChB,cAAc,EAGf,MAAM,iBAAiB,CAAC;AAEzB,oGAAoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,WAAW;;;;;kBAON,CAAC;AAEZ,OAAO,EAAE,WAAW,IAAI,yBAAyB,EAAE,CAAC;AAEpD,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;IAwHhH;;;;OAIG;YACW,aAAa;YAKb,WAAW;CA0C1B"}
@@ -14,6 +14,7 @@ const common_1 = require("@nestjs/common");
14
14
  const tools_1 = require("@langchain/core/tools");
15
15
  const zod_1 = require("zod");
16
16
  const tool_factory_1 = require("./tool.factory");
17
+ const describe_entity_tool_1 = require("./describe-entity.tool");
17
18
  const graph_search_service_1 = require("../services/graph.search.service");
18
19
  const graph_catalog_service_1 = require("../services/graph.catalog.service");
19
20
  const field_formatting_1 = require("../services/field-formatting");
@@ -71,14 +72,15 @@ let SearchEntitiesTool = class SearchEntitiesTool {
71
72
  return { error: coerced.error };
72
73
  if ("error" in coercedSort)
73
74
  return { error: coercedSort.error };
74
- const described = recorder.some((c) => c.tool === "describe_entity" && c.input.type === input.type);
75
75
  const entity = this.factory.resolveEntity(input.type, ctx);
76
76
  if ("error" in entity)
77
77
  return entity;
78
+ const described = ctx.preDescribedTypes?.has(entity.type) ||
79
+ recorder.some((c) => c.tool === "describe_entity" && c.input.type === input.type);
78
80
  if (!described) {
79
81
  return {
80
82
  error: `You must call describe_entity({ type: "${input.type}" }) before searching ${input.type}. The schema is included below — either call describe_entity({ type: "${input.type}" }) to record the contract and retry this search, or proceed using the listed fields and relationships. Never stop on this error.`,
81
- schema: { fields: entity.fields, relationships: entity.relationships },
83
+ schema: (0, describe_entity_tool_1.renderEntitySchema)(entity, this.factory.resolveService(entity.type)),
82
84
  };
83
85
  }
84
86
  // Resolved before validation: a service that declares filter
@@ -123,6 +125,9 @@ let SearchEntitiesTool = class SearchEntitiesTool {
123
125
  // chains fall back to an unrestricted read plus a ScopeGuard filter.
124
126
  // Probe one extra record so truncation is visible to the model:
125
127
  // without this, a silently clipped list is reported as complete.
128
+ // The scoped relationship read never sets ToolCallRecord.walkedEdge:
129
+ // it runs on every scoped search, so counting it would silence the
130
+ // graph node's traversal detector.
126
131
  const fetched = useScopedRead && scopeRelKey
127
132
  ? await svc.findRelatedRecords({
128
133
  relationship: scopeRelKey,
@@ -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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"}
@@ -15,6 +15,26 @@ export interface UserContext {
15
15
  * does not have to re-derive it through the model registry.
16
16
  */
17
17
  scopeLabel?: string;
18
+ /**
19
+ * Types whose full description the model was already given outside the tool
20
+ * loop (the responder lookup's up-front catalog in its system prompt).
21
+ * read_entity, search_entities and traverse treat them as described, beside
22
+ * the describe_entity calls in the recorder. The recorder is never seeded
23
+ * for them: its length drives the caller's retry budget and trace. Absent =
24
+ * only recorded describe_entity calls count.
25
+ */
26
+ preDescribedTypes?: ReadonlySet<string>;
27
+ }
28
+ /**
29
+ * A record a successful tool call returned, as the tool returned it. "detail"
30
+ * is a single top-level record (read_entity); "list" is one of an items array
31
+ * (search_entities, traverse, bridge envelopes alike).
32
+ */
33
+ export interface RecordedEntity {
34
+ type: string;
35
+ id: string;
36
+ fields: Record<string, unknown>;
37
+ stage: "list" | "detail";
18
38
  }
19
39
  export interface ToolCallRecord {
20
40
  tool: string;
@@ -26,6 +46,19 @@ export interface ToolCallRecord {
26
46
  relName: string;
27
47
  count: number;
28
48
  }>;
49
+ /**
50
+ * True when the call walked a relationship and got linked records back:
51
+ * set by read_entity when its include returned at least one record across
52
+ * all relationships. traverse counts by tool name; search_entities never
53
+ * sets it. Read by the graph node's traversal detector.
54
+ */
55
+ walkedEdge?: boolean;
56
+ /**
57
+ * Records the call returned, harvested by capture() from a successful
58
+ * result. The graph node fills its output entities' fields from these, so
59
+ * field values are the tool's own, never the model's copy.
60
+ */
61
+ entities?: RecordedEntity[];
29
62
  }
30
63
  export declare class ToolFactory {
31
64
  private readonly catalog;
@@ -36,6 +69,8 @@ export declare class ToolFactory {
36
69
  error: string;
37
70
  suggestion?: string;
38
71
  };
72
+ /** Every catalog type this user can read, in catalog order. */
73
+ accessibleTypes(ctx: UserContext): string[];
39
74
  private findClosest;
40
75
  resolveService(type: string): import("../../..").AbstractService<any, any>;
41
76
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool.factory.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/tool.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAK3F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AA2BD,qBACa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAGpC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,qBAAqB;IAGlD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,aAAa,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAuCrG,OAAO,CAAC,WAAW;IAWnB,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EACP,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACxD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC;CA4Cd"}
1
+ {"version":3,"file":"tool.factory.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/tool.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAK3F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAmDD,qBACa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAGpC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,qBAAqB;IAGlD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,aAAa,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAuCrG,+DAA+D;IAC/D,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE;IAI3C,OAAO,CAAC,WAAW;IAWnB,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EACP,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACxD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC;CA8Cd"}
@@ -15,6 +15,34 @@ const common_1 = require("@nestjs/common");
15
15
  const graph_catalog_service_1 = require("../services/graph.catalog.service");
16
16
  const entity_service_registry_1 = require("../../../common/registries/entity.service.registry");
17
17
  const external_entity_source_interface_1 = require("../../../common/interfaces/external.entity.source.interface");
18
+ function asRecordedEntity(value, stage) {
19
+ if (!value || typeof value !== "object")
20
+ return null;
21
+ const v = value;
22
+ if (typeof v.id !== "string" || typeof v.type !== "string")
23
+ return null;
24
+ if (!v.fields || typeof v.fields !== "object" || Array.isArray(v.fields))
25
+ return null;
26
+ return { type: v.type, id: v.id, fields: v.fields, stage };
27
+ }
28
+ /** Top-level { id, type, fields } → one detail entity; items[] → list entities. */
29
+ function recordedEntitiesOf(result) {
30
+ if (!result || typeof result !== "object")
31
+ return [];
32
+ const out = [];
33
+ const detail = asRecordedEntity(result, "detail");
34
+ if (detail)
35
+ out.push(detail);
36
+ const items = result.items;
37
+ if (Array.isArray(items)) {
38
+ for (const item of items) {
39
+ const listed = asRecordedEntity(item, "list");
40
+ if (listed)
41
+ out.push(listed);
42
+ }
43
+ }
44
+ return out;
45
+ }
18
46
  function normaliseTypeName(input) {
19
47
  // Strip a trailing "es" or "s" so "boms" / "bom" / "bomes" all collapse to "bom".
20
48
  return input.replace(/(es|s)$/i, "").toLowerCase();
@@ -83,6 +111,10 @@ let ToolFactory = ToolFactory_1 = class ToolFactory {
83
111
  : `Entity type "${type}" is not available.`,
84
112
  };
85
113
  }
114
+ /** Every catalog type this user can read, in catalog order. */
115
+ accessibleTypes(ctx) {
116
+ return this.catalog.getAccessibleTypes(ctx.userModuleIds);
117
+ }
86
118
  findClosest(input, candidates) {
87
119
  if (!candidates.length)
88
120
  return null;
@@ -113,11 +145,13 @@ let ToolFactory = ToolFactory_1 = class ToolFactory {
113
145
  const resultError = result && typeof result === "object" && "error" in result
114
146
  ? String(result.error)
115
147
  : undefined;
148
+ const entities = resultError ? [] : recordedEntitiesOf(result);
116
149
  recorder.push({
117
150
  tool: record.tool,
118
151
  input: record.input,
119
152
  durationMs,
120
153
  ...(resultError ? { error: resultError } : {}),
154
+ ...(entities.length ? { entities } : {}),
121
155
  });
122
156
  const hint = result && typeof result === "object" && "items" in result && Array.isArray(result.items)
123
157
  ? `items=${result.items.length}`
@@ -1 +1 @@
1
- {"version":3,"file":"tool.factory.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/tool.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.factory.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/tool.factory.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { EntityServiceRegistry } from "../../../common/registries/entity.service
8
8
  import { ScopeGuard } from "../services/scope.guard";
9
9
  import { RelatedEdgesService } from "../services/related-edges.service";
10
10
  import type { ExternalFilterCapability } from "../../../common/interfaces/external.entity.source.interface";
11
+ export { TYPE_TO_OP_ALLOWED, serviceFilterCapabilities, allowedFilterOperators } from "../services/filter-operators";
11
12
  /** Every filter operator the graph tools accept, in the order they are advertised. */
12
13
  export declare const FILTER_OPERATORS: readonly ["eq", "ne", "in", "like", "gt", "gte", "lt", "lte", "isNull", "isNotNull"];
13
14
  export type FilterOperator = (typeof FILTER_OPERATORS)[number];
@@ -23,19 +24,6 @@ declare const FilterOpEnum: z.ZodEnum<{
23
24
  isNull: "isNull";
24
25
  isNotNull: "isNotNull";
25
26
  }>;
26
- /** Operators valid for each catalog field type. A type missing here accepts no operator. */
27
- export declare const TYPE_TO_OP_ALLOWED: Record<string, Set<string>>;
28
- /**
29
- * The filter capabilities a type's service declares, or `undefined` when it
30
- * declares none (records in the app database: the type table applies).
31
- */
32
- export declare function serviceFilterCapabilities(svc: unknown): ExternalFilterCapability[] | undefined;
33
- /**
34
- * The operators a filter on `field` may use. When the service declares
35
- * capabilities they win over the type table: exactly the operators listed for
36
- * the field, none when it is not listed. Otherwise the operators of the field's type.
37
- */
38
- export declare function allowedFilterOperators(field: CatalogField, capabilities: ExternalFilterCapability[] | undefined): string[];
39
27
  /**
40
28
  * The error for an operator a field does not accept, or `undefined` when it
41
29
  * accepts it. The allowed list named is the one that decided: the source's