@carlonicora/nestjs-neo4jsonapi 6.1.3 → 6.3.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 (124) hide show
  1. package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts +4 -0
  2. package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -1
  3. package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts +1 -1
  4. package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts.map +1 -1
  5. package/dist/agents/graph/prompts/graph.node.system.prompt.js +1 -1
  6. package/dist/agents/graph/services/field-formatting.d.ts +11 -0
  7. package/dist/agents/graph/services/field-formatting.d.ts.map +1 -1
  8. package/dist/agents/graph/services/field-formatting.js +16 -1
  9. package/dist/agents/graph/services/field-formatting.js.map +1 -1
  10. package/dist/agents/graph/services/graph.catalog.service.d.ts +4 -0
  11. package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -1
  12. package/dist/agents/graph/services/graph.catalog.service.js +2 -0
  13. package/dist/agents/graph/services/graph.catalog.service.js.map +1 -1
  14. package/dist/agents/graph/services/graph.search.service.d.ts +16 -0
  15. package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -1
  16. package/dist/agents/graph/services/graph.search.service.js +35 -4
  17. package/dist/agents/graph/services/graph.search.service.js.map +1 -1
  18. package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -1
  19. package/dist/agents/graph/tools/describe-entity.tool.js +28 -27
  20. package/dist/agents/graph/tools/describe-entity.tool.js.map +1 -1
  21. package/dist/agents/graph/tools/read-entity.tool.d.ts.map +1 -1
  22. package/dist/agents/graph/tools/read-entity.tool.js +8 -1
  23. package/dist/agents/graph/tools/read-entity.tool.js.map +1 -1
  24. package/dist/agents/graph/tools/resolve-entity.tool.d.ts +1 -0
  25. package/dist/agents/graph/tools/resolve-entity.tool.d.ts.map +1 -1
  26. package/dist/agents/graph/tools/resolve-entity.tool.js +18 -1
  27. package/dist/agents/graph/tools/resolve-entity.tool.js.map +1 -1
  28. package/dist/agents/graph/tools/search-entities.tool.d.ts +7 -0
  29. package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
  30. package/dist/agents/graph/tools/search-entities.tool.js +15 -13
  31. package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
  32. package/dist/agents/graph/tools/traverse.tool.d.ts +24 -0
  33. package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
  34. package/dist/agents/graph/tools/traverse.tool.js +55 -10
  35. package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
  36. package/dist/common/interfaces/entity.schema.interface.d.ts +20 -0
  37. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  38. package/dist/common/interfaces/external.entity.source.interface.d.ts +7 -3
  39. package/dist/common/interfaces/external.entity.source.interface.d.ts.map +1 -1
  40. package/dist/common/interfaces/external.entity.source.interface.js.map +1 -1
  41. package/dist/foundations/auth/controllers/auth.discord.controller.d.ts +1 -1
  42. package/dist/foundations/auth/controllers/auth.discord.controller.d.ts.map +1 -1
  43. package/dist/foundations/auth/controllers/auth.discord.controller.js +6 -3
  44. package/dist/foundations/auth/controllers/auth.discord.controller.js.map +1 -1
  45. package/dist/foundations/auth/controllers/auth.google.controller.d.ts +1 -1
  46. package/dist/foundations/auth/controllers/auth.google.controller.d.ts.map +1 -1
  47. package/dist/foundations/auth/controllers/auth.google.controller.js +6 -3
  48. package/dist/foundations/auth/controllers/auth.google.controller.js.map +1 -1
  49. package/dist/foundations/auth/dtos/auth.post.register.dto.d.ts +6 -0
  50. package/dist/foundations/auth/dtos/auth.post.register.dto.d.ts.map +1 -1
  51. package/dist/foundations/auth/dtos/auth.post.register.dto.js +36 -0
  52. package/dist/foundations/auth/dtos/auth.post.register.dto.js.map +1 -1
  53. package/dist/foundations/auth/services/auth.discord.service.d.ts +6 -2
  54. package/dist/foundations/auth/services/auth.discord.service.d.ts.map +1 -1
  55. package/dist/foundations/auth/services/auth.discord.service.js +29 -5
  56. package/dist/foundations/auth/services/auth.discord.service.js.map +1 -1
  57. package/dist/foundations/auth/services/auth.google.service.d.ts +6 -2
  58. package/dist/foundations/auth/services/auth.google.service.d.ts.map +1 -1
  59. package/dist/foundations/auth/services/auth.google.service.js +29 -5
  60. package/dist/foundations/auth/services/auth.google.service.js.map +1 -1
  61. package/dist/foundations/auth/services/auth.service.d.ts +12 -0
  62. package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
  63. package/dist/foundations/auth/services/auth.service.js +47 -8
  64. package/dist/foundations/auth/services/auth.service.js.map +1 -1
  65. package/dist/foundations/auth/services/pending-registration.service.d.ts +2 -0
  66. package/dist/foundations/auth/services/pending-registration.service.d.ts.map +1 -1
  67. package/dist/foundations/auth/services/pending-registration.service.js.map +1 -1
  68. package/dist/foundations/user/entities/user.d.ts +6 -0
  69. package/dist/foundations/user/entities/user.d.ts.map +1 -1
  70. package/dist/foundations/user/entities/user.js +7 -0
  71. package/dist/foundations/user/entities/user.js.map +1 -1
  72. package/dist/foundations/user/repositories/user.repository.d.ts +9 -0
  73. package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
  74. package/dist/foundations/user/repositories/user.repository.js +23 -0
  75. package/dist/foundations/user/repositories/user.repository.js.map +1 -1
  76. package/dist/foundations/waitlist/dtos/waitlist.post.dto.d.ts +6 -0
  77. package/dist/foundations/waitlist/dtos/waitlist.post.dto.d.ts.map +1 -1
  78. package/dist/foundations/waitlist/dtos/waitlist.post.dto.js +36 -0
  79. package/dist/foundations/waitlist/dtos/waitlist.post.dto.js.map +1 -1
  80. package/dist/foundations/waitlist/entities/waitlist.d.ts +6 -0
  81. package/dist/foundations/waitlist/entities/waitlist.d.ts.map +1 -1
  82. package/dist/foundations/waitlist/entities/waitlist.js +6 -0
  83. package/dist/foundations/waitlist/entities/waitlist.js.map +1 -1
  84. package/dist/foundations/waitlist/index.d.ts +2 -0
  85. package/dist/foundations/waitlist/index.d.ts.map +1 -1
  86. package/dist/foundations/waitlist/index.js +8 -1
  87. package/dist/foundations/waitlist/index.js.map +1 -1
  88. package/dist/foundations/waitlist/services/waitlist.service.d.ts +2 -1
  89. package/dist/foundations/waitlist/services/waitlist.service.d.ts.map +1 -1
  90. package/dist/foundations/waitlist/services/waitlist.service.js +6 -4
  91. package/dist/foundations/waitlist/services/waitlist.service.js.map +1 -1
  92. package/dist/foundations/waitlist/utils/signup-source.d.ts +24 -0
  93. package/dist/foundations/waitlist/utils/signup-source.d.ts.map +1 -0
  94. package/dist/foundations/waitlist/utils/signup-source.js +52 -0
  95. package/dist/foundations/waitlist/utils/signup-source.js.map +1 -0
  96. package/dist/mcp/index.d.ts +2 -2
  97. package/dist/mcp/index.d.ts.map +1 -1
  98. package/dist/mcp/index.js +4 -2
  99. package/dist/mcp/index.js.map +1 -1
  100. package/dist/mcp/interfaces/mcp.tool.interface.d.ts +21 -0
  101. package/dist/mcp/interfaces/mcp.tool.interface.d.ts.map +1 -1
  102. package/dist/mcp/interfaces/mcp.tool.interface.js +8 -1
  103. package/dist/mcp/interfaces/mcp.tool.interface.js.map +1 -1
  104. package/dist/mcp/mcp.module.d.ts +5 -0
  105. package/dist/mcp/mcp.module.d.ts.map +1 -1
  106. package/dist/mcp/mcp.module.js +5 -0
  107. package/dist/mcp/mcp.module.js.map +1 -1
  108. package/dist/mcp/services/mcp.errors.d.ts +11 -0
  109. package/dist/mcp/services/mcp.errors.d.ts.map +1 -1
  110. package/dist/mcp/services/mcp.errors.js +36 -0
  111. package/dist/mcp/services/mcp.errors.js.map +1 -1
  112. package/dist/mcp/services/mcp.generic.tools.service.d.ts +13 -3
  113. package/dist/mcp/services/mcp.generic.tools.service.d.ts.map +1 -1
  114. package/dist/mcp/services/mcp.generic.tools.service.js +66 -7
  115. package/dist/mcp/services/mcp.generic.tools.service.js.map +1 -1
  116. package/dist/mcp/services/mcp.promoted.tools.factory.d.ts +1 -0
  117. package/dist/mcp/services/mcp.promoted.tools.factory.d.ts.map +1 -1
  118. package/dist/mcp/services/mcp.promoted.tools.factory.js +4 -3
  119. package/dist/mcp/services/mcp.promoted.tools.factory.js.map +1 -1
  120. package/dist/mcp/services/mcp.tool.registry.d.ts +1 -0
  121. package/dist/mcp/services/mcp.tool.registry.d.ts.map +1 -1
  122. package/dist/mcp/services/mcp.tool.registry.js +5 -0
  123. package/dist/mcp/services/mcp.tool.registry.js.map +1 -1
  124. package/package.json +1 -1
@@ -21,18 +21,14 @@ const inputSchema = zod_1.z.object({
21
21
  });
22
22
  exports.describeEntityInputSchema = inputSchema;
23
23
  /**
24
- * The filter operators a field accepts: those of its type, narrowed to the
25
- * service's declared capabilities when it declares any. A field that is not
26
- * filterable, or that the service does not list, accepts none.
24
+ * The filter operators a field accepts. When the service declares capabilities
25
+ * they win: exactly the operators listed for the field (none when it is not
26
+ * listed). Otherwise those of its type, and none for a non-filterable field.
27
27
  */
28
28
  function filterOperators(field, capabilities) {
29
- if (!field.filterable)
29
+ if (!capabilities && !field.filterable)
30
30
  return [];
31
- const byType = Array.from(traverse_tool_1.TYPE_TO_OP_ALLOWED[field.type] ?? []);
32
- if (!capabilities)
33
- return byType;
34
- const supported = capabilities.find((c) => c.field === field.name)?.operators ?? [];
35
- return byType.filter((op) => supported.includes(op));
31
+ return (0, traverse_tool_1.allowedFilterOperators)(field, capabilities);
36
32
  }
37
33
  let DescribeEntityTool = class DescribeEntityTool {
38
34
  constructor(factory) {
@@ -60,27 +56,32 @@ let DescribeEntityTool = class DescribeEntityTool {
60
56
  const writable = entity.writable === true;
61
57
  // A service whose records live outside the app database may support
62
58
  // fewer filters than the field types allow; advertise only those.
63
- const svc = this.factory.resolveService(entity.type);
64
- const capabilities = typeof svc?.filterCapabilities === "function" ? svc.filterCapabilities() : undefined;
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));
65
61
  return {
66
62
  type: entity.type,
67
63
  description: entity.description,
68
- fields: entity.fields.map((f) => ({
69
- name: f.name,
70
- type: f.type,
71
- description: f.description,
72
- filterable: f.filterable,
73
- sortable: f.sortable,
74
- operators: filterOperators(f, capabilities),
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
- })),
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
+ }),
84
85
  relationships: entity.relationships.map((r) => ({
85
86
  name: r.name,
86
87
  targetType: r.targetType,
@@ -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,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,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;IAqJnB;;;;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;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;AAGrD,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;IA6JnB;;;;OAIG;YACW,aAAa;CAI5B"}
@@ -141,6 +141,10 @@ let ReadEntityTool = ReadEntityTool_1 = class ReadEntityTool {
141
141
  this.logger.warn(`read_entity detail fields failed for ${entity.type} ${input.id}: ${e.message}`);
142
142
  }
143
143
  }
144
+ // AI-written fields in the output, computed after the detail fields land so
145
+ // a generated detail field is marked too.
146
+ const generated = (0, field_formatting_1.generatedFieldsIn)(entity, baseFields);
147
+ const generatedMarker = generated.length ? { generated } : {};
144
148
  // Bridge fanout: if this entity is a bridge, replace the bare payload with
145
149
  // the materialised one. The existing `include` block (if any) stacks on top
146
150
  // as a sibling `related` map — it carries summary refs, while the bridge
@@ -160,7 +164,9 @@ let ReadEntityTool = ReadEntityTool_1 = class ReadEntityTool {
160
164
  });
161
165
  // Armed only on a successful read (spec § "3b. read_entity dedup").
162
166
  readIds?.add(dedupKey);
163
- return input.include?.length ? { ...materialised, related } : materialised;
167
+ return input.include?.length
168
+ ? { ...materialised, ...generatedMarker, related }
169
+ : { ...materialised, ...generatedMarker };
164
170
  }
165
171
  // Armed only on a successful read (spec § "3b. read_entity dedup").
166
172
  readIds?.add(dedupKey);
@@ -168,6 +174,7 @@ let ReadEntityTool = ReadEntityTool_1 = class ReadEntityTool {
168
174
  id: record.id,
169
175
  type: entity.type,
170
176
  fields: baseFields,
177
+ ...generatedMarker,
171
178
  ...(input.include?.length ? { related } : {}),
172
179
  };
173
180
  }, recorder);
@@ -1 +1 @@
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
+ {"version":3,"file":"read-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/read-entity.tool.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ToolFactory, ToolCallRecord, UserContext } from "./tool.factory";
4
4
  import { GraphSearchService } from "../services/graph.search.service";
5
5
  declare const inputSchema: z.ZodObject<{
6
6
  text: z.ZodString;
7
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
8
  }, z.core.$strip>;
8
9
  export { inputSchema as resolveEntityInputSchema };
9
10
  export declare class ResolveEntityTool {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/resolve-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,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,QAAA,MAAM,WAAW;;iBAEf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,wBAAwB,EAAE,CAAC;AAEnD,qBACa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,kBAAkB;IAG7C,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;CAkBjH"}
1
+ {"version":3,"file":"resolve-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/resolve-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,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,QAAA,MAAM,WAAW;;;iBAQf,CAAC;AAEH,OAAO,EAAE,WAAW,IAAI,wBAAwB,EAAE,CAAC;AAEnD,qBACa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,kBAAkB;IAG7C,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,qBAAqB;IAoBpE,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;CAmBjH"}
@@ -17,6 +17,10 @@ const tool_factory_1 = require("./tool.factory");
17
17
  const graph_search_service_1 = require("../services/graph.search.service");
18
18
  const inputSchema = zod_1.z.object({
19
19
  text: zod_1.z.string().min(1).describe("The user's literal phrase. Pass 'Faby and Carlo' verbatim, not split."),
20
+ types: zod_1.z
21
+ .array(zod_1.z.string())
22
+ .optional()
23
+ .describe('Catalog type names to search, e.g. ["accounts"]. Omitted: every visible type except personal communication (emails, messages, chats), which the reply lists in excludedTypes.'),
20
24
  });
21
25
  exports.resolveEntityInputSchema = inputSchema;
22
26
  let ResolveEntityTool = class ResolveEntityTool {
@@ -29,7 +33,19 @@ let ResolveEntityTool = class ResolveEntityTool {
29
33
  name: "resolve_entity",
30
34
  description: "Resolve a user-named entity across every visible type. Returns ranked candidates from the highest-confidence tier that yielded any match anywhere. Use this before search_entities / read_entity / traverse whenever the user refers to a named record.",
31
35
  schema: inputSchema,
32
- func: async (input) => JSON.stringify(await this.invoke(input, ctx, recorder)),
36
+ // An unknown `types` entry throws a BadRequestException (validation_failed
37
+ // over MCP); the LangGraph path hands the model the message instead, so
38
+ // it can retry with a visible type rather than abort the turn.
39
+ func: async (input) => {
40
+ try {
41
+ return JSON.stringify(await this.invoke(input, ctx, recorder));
42
+ }
43
+ catch (e) {
44
+ if (e instanceof common_1.BadRequestException)
45
+ return JSON.stringify({ error: e.message });
46
+ throw e;
47
+ }
48
+ },
33
49
  });
34
50
  }
35
51
  async invoke(input, ctx, recorder) {
@@ -44,6 +60,7 @@ let ResolveEntityTool = class ResolveEntityTool {
44
60
  userModuleIds: ctx.userModuleIds,
45
61
  scopeId: ctx.scopeId,
46
62
  scopeType: ctx.scopeType,
63
+ types: input.types,
47
64
  }), recorder);
48
65
  }
49
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/resolve-entity.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,iDAA8D;AAC9D,6BAAwB;AACxB,iDAA0E;AAC1E,2EAAsE;AAEtE,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC;CAC1G,CAAC,CAAC;AAEqB,+CAAwB;AAGzC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACmB,OAAoB,EACpB,MAA0B;QAD1B,YAAO,GAAP,OAAO,CAAa;QACpB,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEJ,KAAK,CAAC,GAAgB,EAAE,QAA0B;QAChD,OAAO,IAAI,6BAAqB,CAAC;YAC/B,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,yPAAyP;YAC3P,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,CAAC,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAkC,EAAE,GAAgB,EAAE,QAA0B;QAC3F,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CACzB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,EACjC,KAAK,IAAI,EAAE;QACT,sEAAsE;QACtE,+DAA+D;QAC/D,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF,CAAA;AAlCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGiB,0BAAW;QACZ,yCAAkB;GAHlC,iBAAiB,CAkC7B"}
1
+ {"version":3,"file":"resolve-entity.tool.js","sourceRoot":"","sources":["../../../../src/agents/graph/tools/resolve-entity.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiE;AACjE,iDAA8D;AAC9D,6BAAwB;AACxB,iDAA0E;AAC1E,2EAAsE;AAEtE,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IACzG,KAAK,EAAE,OAAC;SACL,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,+KAA+K,CAChL;CACJ,CAAC,CAAC;AAEqB,+CAAwB;AAGzC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACmB,OAAoB,EACpB,MAA0B;QAD1B,YAAO,GAAP,OAAO,CAAa;QACpB,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEJ,KAAK,CAAC,GAAgB,EAAE,QAA0B;QAChD,OAAO,IAAI,6BAAqB,CAAC;YAC/B,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,yPAAyP;YAC3P,MAAM,EAAE,WAAW;YACnB,2EAA2E;YAC3E,wEAAwE;YACxE,+DAA+D;YAC/D,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACpB,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,4BAAmB;wBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAkC,EAAE,GAAgB,EAAE,QAA0B;QAC3F,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CACzB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,EACjC,KAAK,IAAI,EAAE;QACT,sEAAsE;QACtE,+DAA+D;QAC/D,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGiB,0BAAW;QACZ,yCAAkB;GAHlC,iBAAiB,CA6C7B"}
@@ -6,6 +6,13 @@ import { GraphCatalogService } from "../services/graph.catalog.service";
6
6
  import { ToolFieldFormatterService } from "../services/field-formatting";
7
7
  import { EntityServiceRegistry } from "../../../common/registries/entity.service.registry";
8
8
  import { ScopeGuard } from "../services/scope.guard";
9
+ import { NormalisedFilter, NormalisedSort } from "./traverse.tool";
10
+ /** What a search_entities call actually ran: the coerced filters and sort and the clamped limit. */
11
+ export interface SearchEntitiesApplied {
12
+ filters: NormalisedFilter[];
13
+ sort: NormalisedSort[];
14
+ limit: number;
15
+ }
9
16
  declare const inputSchema: z.ZodObject<{
10
17
  type: z.ZodString;
11
18
  filters: z.ZodOptional<z.ZodAny>;
@@ -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;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;IAoHhH;;;;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;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"}
@@ -81,6 +81,10 @@ let SearchEntitiesTool = class SearchEntitiesTool {
81
81
  schema: { fields: entity.fields, relationships: entity.relationships },
82
82
  };
83
83
  }
84
+ // Resolved before validation: a service that declares filter
85
+ // capabilities decides which operators run (capabilities win).
86
+ const svc = this.factory.resolveService(entity.type);
87
+ const capabilities = (0, traverse_tool_1.serviceFilterCapabilities)(svc);
84
88
  const byName = new Map(entity.fields.map((f) => [f.name, f]));
85
89
  const validFieldNames = entity.fields.map((f) => f.name).join(", ");
86
90
  const relationshipNames = entity.relationships.map((r) => r.name).join(", ");
@@ -91,12 +95,9 @@ let SearchEntitiesTool = class SearchEntitiesTool {
91
95
  error: `Field "${f.field}" is not available on ${entity.type}. Valid fields for filter/sort on ${entity.type}: [${validFieldNames}]. To reach records connected via a relationship, use the traverse tool — relationships on ${entity.type}: [${relationshipNames || "none"}]. Dotted paths like "account.name" are never valid here.`,
92
96
  };
93
97
  }
94
- const allowed = traverse_tool_1.TYPE_TO_OP_ALLOWED[def.type] ?? new Set();
95
- if (!allowed.has(f.op)) {
96
- return {
97
- error: `Operator "${f.op}" is not valid for field "${f.field}" of type ${def.type}. Allowed operators: [${Array.from(allowed).join(", ")}].`,
98
- };
99
- }
98
+ const opError = (0, traverse_tool_1.filterOperatorError)({ field: def, op: f.op, entityType: entity.type, capabilities });
99
+ if (opError)
100
+ return { error: opError };
100
101
  }
101
102
  const sortableFieldNames = entity.fields
102
103
  .filter((f) => f.sortable)
@@ -110,7 +111,6 @@ let SearchEntitiesTool = class SearchEntitiesTool {
110
111
  };
111
112
  }
112
113
  }
113
- const svc = this.factory.resolveService(entity.type);
114
114
  if (!svc)
115
115
  return { error: `Service not available for "${entity.type}".` };
116
116
  const limit = Math.min(Math.max(input.limit ?? 10, 1), traverse_tool_1.MAX_LIST_LIMIT);
@@ -138,7 +138,8 @@ let SearchEntitiesTool = class SearchEntitiesTool {
138
138
  }), ctx);
139
139
  const hasMore = fetched.length > limit;
140
140
  const records = hasMore ? fetched.slice(0, limit) : fetched;
141
- const output = await this.buildOutput(entity, records, ctx, localMaterialised);
141
+ const applied = { filters, sort, limit };
142
+ const output = await this.buildOutput(entity, records, ctx, localMaterialised, applied);
142
143
  return hasMore
143
144
  ? {
144
145
  ...output,
@@ -162,20 +163,21 @@ let SearchEntitiesTool = class SearchEntitiesTool {
162
163
  return records;
163
164
  return this.scopeGuard.filter({ type, records, ctx });
164
165
  }
165
- async buildOutput(entity, records, ctx, localMaterialised) {
166
+ async buildOutput(entity, records, ctx, localMaterialised, applied) {
166
167
  const baseItems = records.map((r) => {
167
- const { fields, availableOnRead } = this.formatter.build({ entity, record: r, stage: "list" });
168
+ const { fields, availableOnRead, generated } = this.formatter.build({ entity, record: r, stage: "list" });
168
169
  return {
169
170
  id: r.id,
170
171
  type: entity.type,
171
172
  summary: entity.summary ? entity.summary(r) : String(r.name ?? r.id),
172
173
  fields,
173
174
  ...(availableOnRead ? { availableOnRead } : {}),
175
+ ...(generated ? { generated } : {}),
174
176
  score: null,
175
177
  };
176
178
  });
177
179
  if (!entity.bridge)
178
- return { matchMode: "none", items: baseItems };
180
+ return { applied, items: baseItems };
179
181
  // Bridge fanout: each item is materialised. The `score` field is preserved
180
182
  // on the envelope so the search_entities response shape doesn't drift.
181
183
  const items = await Promise.all(baseItems.map(({ score, ...item }) => (0, materialise_bridge_1.materialiseBridge)({
@@ -189,8 +191,8 @@ let SearchEntitiesTool = class SearchEntitiesTool {
189
191
  formatter: this.formatter,
190
192
  },
191
193
  onMaterialised: (relName, count) => localMaterialised.push({ relName, count }),
192
- }).then((m) => ({ ...m, score }))));
193
- return { matchMode: "none", items };
194
+ }).then((m) => ({ ...m, ...(item.generated ? { generated: item.generated } : {}), score }))));
195
+ return { applied, items };
194
196
  }
195
197
  };
196
198
  exports.SearchEntitiesTool = SearchEntitiesTool;
@@ -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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"}
@@ -3,9 +3,11 @@ import { z } from "zod";
3
3
  import { ToolFactory, ToolCallRecord, UserContext } from "./tool.factory";
4
4
  import { ToolFieldFormatterService } from "../services/field-formatting";
5
5
  import { GraphCatalogService } from "../services/graph.catalog.service";
6
+ import { CatalogField } from "../interfaces/graph.catalog.interface";
6
7
  import { EntityServiceRegistry } from "../../../common/registries/entity.service.registry";
7
8
  import { ScopeGuard } from "../services/scope.guard";
8
9
  import { RelatedEdgesService } from "../services/related-edges.service";
10
+ import type { ExternalFilterCapability } from "../../../common/interfaces/external.entity.source.interface";
9
11
  /** Every filter operator the graph tools accept, in the order they are advertised. */
10
12
  export declare const FILTER_OPERATORS: readonly ["eq", "ne", "in", "like", "gt", "gte", "lt", "lte", "isNull", "isNotNull"];
11
13
  export type FilterOperator = (typeof FILTER_OPERATORS)[number];
@@ -23,6 +25,28 @@ declare const FilterOpEnum: z.ZodEnum<{
23
25
  }>;
24
26
  /** Operators valid for each catalog field type. A type missing here accepts no operator. */
25
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
+ /**
40
+ * The error for an operator a field does not accept, or `undefined` when it
41
+ * accepts it. The allowed list named is the one that decided: the source's
42
+ * capabilities when declared, the type table otherwise.
43
+ */
44
+ export declare function filterOperatorError(params: {
45
+ field: CatalogField;
46
+ op: string;
47
+ entityType: string;
48
+ capabilities: ExternalFilterCapability[] | undefined;
49
+ }): string | undefined;
26
50
  /**
27
51
  * JSON Schema of `filters` on the MCP wire. The Zod input schemas accept `any`
28
52
  * (coerceFilters owns the contract), so without this the client sees `{}` and
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/traverse.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.tool.d.ts","sourceRoot":"","sources":["../../../../src/agents/graph/tools/traverse.tool.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TraverseTool = exports.MAX_LIST_LIMIT = exports.traverseInputSchema = exports.sortJsonSchema = exports.SORT_DIRECTIONS = exports.filtersJsonSchema = exports.TYPE_TO_OP_ALLOWED = exports.FILTER_OPERATORS = void 0;
13
+ exports.serviceFilterCapabilities = serviceFilterCapabilities;
14
+ exports.allowedFilterOperators = allowedFilterOperators;
15
+ exports.filterOperatorError = filterOperatorError;
13
16
  exports.coerceSort = coerceSort;
14
17
  exports.truncationNote = truncationNote;
15
18
  exports.coerceFilters = coerceFilters;
@@ -34,6 +37,42 @@ exports.TYPE_TO_OP_ALLOWED = {
34
37
  date: new Set(["eq", "ne", "gt", "gte", "lt", "lte", "isNull", "isNotNull"]),
35
38
  datetime: new Set(["eq", "ne", "gt", "gte", "lt", "lte", "isNull", "isNotNull"]),
36
39
  };
40
+ /**
41
+ * The filter capabilities a type's service declares, or `undefined` when it
42
+ * declares none (records in the app database: the type table applies).
43
+ */
44
+ function serviceFilterCapabilities(svc) {
45
+ const hook = svc?.filterCapabilities;
46
+ return typeof hook === "function" ? hook.call(svc) : undefined;
47
+ }
48
+ /**
49
+ * The operators a filter on `field` may use. When the service declares
50
+ * capabilities they win over the type table: exactly the operators listed for
51
+ * the field, none when it is not listed. Otherwise the operators of the field's type.
52
+ */
53
+ function allowedFilterOperators(field, capabilities) {
54
+ if (capabilities)
55
+ return [...(capabilities.find((c) => c.field === field.name)?.operators ?? [])];
56
+ return Array.from(exports.TYPE_TO_OP_ALLOWED[field.type] ?? []);
57
+ }
58
+ /**
59
+ * The error for an operator a field does not accept, or `undefined` when it
60
+ * accepts it. The allowed list named is the one that decided: the source's
61
+ * capabilities when declared, the type table otherwise.
62
+ */
63
+ function filterOperatorError(params) {
64
+ const { field, op, entityType, capabilities } = params;
65
+ const allowed = allowedFilterOperators(field, capabilities);
66
+ if (allowed.includes(op))
67
+ return undefined;
68
+ if (capabilities) {
69
+ const filterable = capabilities.filter((c) => c.operators.length).map((c) => c.field);
70
+ return allowed.length
71
+ ? `Operator "${op}" is not valid for field "${field.name}" on ${entityType}. The source supports only: [${allowed.join(", ")}].`
72
+ : `Field "${field.name}" cannot be filtered on ${entityType}: the source supports no operator on it. Filterable fields on ${entityType}: [${filterable.join(", ") || "none"}].`;
73
+ }
74
+ return `Operator "${op}" is not valid for field "${field.name}" of type ${field.type}. Allowed operators: [${allowed.join(", ")}].`;
75
+ }
37
76
  const FILTER_VALUE_JSON_SCHEMA = {
38
77
  anyOf: [
39
78
  { type: "string" },
@@ -335,6 +374,10 @@ let TraverseTool = class TraverseTool {
335
374
  const target = this.factory.resolveEntity(rel.targetType, ctx);
336
375
  if ("error" in target)
337
376
  return target;
377
+ // Resolved before validation: a service that declares filter
378
+ // capabilities decides which operators run (capabilities win).
379
+ const targetSvc = this.factory.resolveService(target.type);
380
+ const capabilities = serviceFilterCapabilities(targetSvc);
338
381
  const byName = new Map(target.fields.map((f) => [f.name, f]));
339
382
  const validFieldNames = target.fields.map((f) => f.name).join(", ");
340
383
  const sortableFieldNames = target.fields
@@ -348,12 +391,9 @@ let TraverseTool = class TraverseTool {
348
391
  error: `Field "${f.field}" is not available on ${target.type}. Valid fields on ${target.type}: [${validFieldNames}].`,
349
392
  };
350
393
  }
351
- const allowed = exports.TYPE_TO_OP_ALLOWED[def.type] ?? new Set();
352
- if (!allowed.has(f.op)) {
353
- return {
354
- error: `Operator "${f.op}" is not valid for field "${f.field}" of type ${def.type}. Allowed operators: [${Array.from(allowed).join(", ")}].`,
355
- };
356
- }
394
+ const opError = filterOperatorError({ field: def, op: f.op, entityType: target.type, capabilities });
395
+ if (opError)
396
+ return { error: opError };
357
397
  }
358
398
  for (const s of sort ?? []) {
359
399
  const def = byName.get(s.field);
@@ -363,7 +403,6 @@ let TraverseTool = class TraverseTool {
363
403
  };
364
404
  }
365
405
  }
366
- const targetSvc = this.factory.resolveService(target.type);
367
406
  if (!targetSvc)
368
407
  return { error: `Service not available for "${target.type}".` };
369
408
  const limit = Math.min(Math.max(input.limit ?? 10, 1), exports.MAX_LIST_LIMIT);
@@ -394,13 +433,18 @@ let TraverseTool = class TraverseTool {
394
433
  }
395
434
  : {};
396
435
  const baseItems = records.map((r) => {
397
- const { fields, availableOnRead } = this.formatter.build({ entity: target, record: r, stage: "list" });
436
+ const { fields, availableOnRead, generated } = this.formatter.build({
437
+ entity: target,
438
+ record: r,
439
+ stage: "list",
440
+ });
398
441
  return {
399
442
  id: r.id,
400
443
  type: target.type,
401
444
  summary: target.summary ? target.summary(r) : String(r.name ?? r.id),
402
445
  fields,
403
446
  ...(availableOnRead ? { availableOnRead } : {}),
447
+ ...(generated ? { generated } : {}),
404
448
  };
405
449
  });
406
450
  if (!target.bridge) {
@@ -418,7 +462,7 @@ let TraverseTool = class TraverseTool {
418
462
  formatter: this.formatter,
419
463
  },
420
464
  onMaterialised: (relName, count) => localMaterialised.push({ relName, count }),
421
- })));
465
+ }).then((m) => (item.generated ? { ...m, generated: item.generated } : m))));
422
466
  return { items, ...truncation };
423
467
  }, recorder);
424
468
  if (localMaterialised.length && recorder.length) {
@@ -518,13 +562,14 @@ let TraverseTool = class TraverseTool {
518
562
  records.push(record);
519
563
  }
520
564
  for (const record of await this.filterInScope(type, records, ctx)) {
521
- const { fields, availableOnRead } = this.formatter.build({ entity, record, stage: "list" });
565
+ const { fields, availableOnRead, generated } = this.formatter.build({ entity, record, stage: "list" });
522
566
  items.push({
523
567
  id: record.id,
524
568
  type,
525
569
  summary: entity.summary ? entity.summary(record) : String(record.name ?? record.id),
526
570
  fields,
527
571
  ...(availableOnRead ? { availableOnRead } : {}),
572
+ ...(generated ? { generated } : {}),
528
573
  });
529
574
  }
530
575
  }