@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.
- package/dist/agents/community.detector/services/community.detector.service.d.ts +10 -7
- package/dist/agents/community.detector/services/community.detector.service.d.ts.map +1 -1
- package/dist/agents/community.detector/services/community.detector.service.js +26 -31
- package/dist/agents/community.detector/services/community.detector.service.js.map +1 -1
- package/dist/agents/community.summariser/community.summariser.module.d.ts.map +1 -1
- package/dist/agents/community.summariser/community.summariser.module.js +5 -1
- package/dist/agents/community.summariser/community.summariser.module.js.map +1 -1
- package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts +1 -6
- package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts.map +1 -1
- package/dist/agents/community.summariser/cron/community.summariser.cron.js +2 -6
- package/dist/agents/community.summariser/cron/community.summariser.cron.js.map +1 -1
- package/dist/agents/community.summariser/helpers/community-scope-filter.d.ts +3 -5
- package/dist/agents/community.summariser/helpers/community-scope-filter.d.ts.map +1 -1
- package/dist/agents/community.summariser/helpers/community-scope-filter.js +3 -7
- package/dist/agents/community.summariser/helpers/community-scope-filter.js.map +1 -1
- package/dist/agents/community.summariser/processors/community.summariser.processor.d.ts +1 -6
- package/dist/agents/community.summariser/processors/community.summariser.processor.d.ts.map +1 -1
- package/dist/agents/community.summariser/processors/community.summariser.processor.js +2 -6
- package/dist/agents/community.summariser/processors/community.summariser.processor.js.map +1 -1
- package/dist/agents/community.summariser/services/community.summariser.service.js +1 -1
- package/dist/agents/community.summariser/services/community.summariser.service.js.map +1 -1
- package/dist/agents/drift/nodes/followup.node.service.js +1 -1
- package/dist/agents/drift/nodes/followup.node.service.js.map +1 -1
- package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts +19 -2
- package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts.map +1 -1
- package/dist/agents/graph/prompts/graph.node.system.prompt.js +57 -4
- package/dist/agents/graph/prompts/graph.node.system.prompt.js.map +1 -1
- package/dist/agents/graph/services/compact-description.d.ts +76 -0
- package/dist/agents/graph/services/compact-description.d.ts.map +1 -0
- package/dist/agents/graph/services/compact-description.js +178 -0
- package/dist/agents/graph/services/compact-description.js.map +1 -0
- package/dist/agents/graph/services/filter-operators.d.ts +16 -0
- package/dist/agents/graph/services/filter-operators.d.ts.map +1 -0
- package/dist/agents/graph/services/filter-operators.js +35 -0
- package/dist/agents/graph/services/filter-operators.js.map +1 -0
- package/dist/agents/graph/tools/describe-entity.tool.d.ts +57 -1
- package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/describe-entity.tool.js +121 -59
- package/dist/agents/graph/tools/describe-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/read-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/read-entity.tool.js +11 -2
- package/dist/agents/graph/tools/read-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.js +7 -2
- package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
- package/dist/agents/graph/tools/tool.factory.d.ts +35 -0
- package/dist/agents/graph/tools/tool.factory.d.ts.map +1 -1
- package/dist/agents/graph/tools/tool.factory.js +34 -0
- package/dist/agents/graph/tools/tool.factory.js.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts +1 -13
- package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.js +13 -33
- package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
- package/dist/agents/index.d.ts +6 -2
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +10 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/responder/nodes/graph.node.service.d.ts +48 -1
- package/dist/agents/responder/nodes/graph.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/graph.node.service.js +158 -41
- package/dist/agents/responder/nodes/graph.node.service.js.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.js +14 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
- package/dist/config/base.config.d.ts +6 -0
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +1 -0
- package/dist/config/base.config.js.map +1 -1
- package/dist/config/interfaces/base.config.interface.d.ts +2 -0
- package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.community.interface.d.ts +8 -0
- package/dist/config/interfaces/config.community.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.community.interface.js +3 -0
- package/dist/config/interfaces/config.community.interface.js.map +1 -0
- package/dist/config/interfaces/config.prompts.interface.d.ts +4 -4
- package/dist/config/interfaces/config.responder.interface.d.ts +7 -6
- package/dist/config/interfaces/config.responder.interface.d.ts.map +1 -1
- package/dist/config/interfaces/index.d.ts +1 -0
- package/dist/config/interfaces/index.d.ts.map +1 -1
- package/dist/config/interfaces/index.js +1 -0
- package/dist/config/interfaces/index.js.map +1 -1
- package/dist/core/llm/services/llm.service.d.ts +26 -0
- package/dist/core/llm/services/llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm.service.js +146 -14
- package/dist/core/llm/services/llm.service.js.map +1 -1
- package/dist/foundations/analytics/index.d.ts +1 -0
- package/dist/foundations/analytics/index.d.ts.map +1 -1
- package/dist/foundations/analytics/index.js +3 -1
- package/dist/foundations/analytics/index.js.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.d.ts +19 -0
- package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.d.ts.map +1 -0
- package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.js +6 -0
- package/dist/foundations/analytics/interfaces/analytics.purge-visitor.input.js.map +1 -0
- package/dist/foundations/analytics/processors/analytics.processor.d.ts +10 -1
- package/dist/foundations/analytics/processors/analytics.processor.d.ts.map +1 -1
- package/dist/foundations/analytics/processors/analytics.processor.js +29 -0
- package/dist/foundations/analytics/processors/analytics.processor.js.map +1 -1
- package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts +11 -0
- package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts.map +1 -1
- package/dist/foundations/analytics/repositories/analytics-session.repository.js +37 -0
- package/dist/foundations/analytics/repositories/analytics-session.repository.js.map +1 -1
- package/dist/foundations/analytics/services/analytics.service.d.ts +3 -1
- package/dist/foundations/analytics/services/analytics.service.d.ts.map +1 -1
- package/dist/foundations/analytics/services/analytics.service.js +18 -3
- package/dist/foundations/analytics/services/analytics.service.js.map +1 -1
- package/dist/foundations/community/community.module.d.ts.map +1 -1
- package/dist/foundations/community/community.module.js +5 -4
- package/dist/foundations/community/community.module.js.map +1 -1
- package/dist/foundations/community/entities/community.entity.d.ts +30 -4
- package/dist/foundations/community/entities/community.entity.d.ts.map +1 -1
- package/dist/foundations/community/entities/community.entity.js +51 -0
- package/dist/foundations/community/entities/community.entity.js.map +1 -1
- package/dist/foundations/community/index.d.ts +4 -2
- package/dist/foundations/community/index.d.ts.map +1 -1
- package/dist/foundations/community/index.js +8 -3
- package/dist/foundations/community/index.js.map +1 -1
- package/dist/foundations/community/repositories/community.repository.d.ts +93 -103
- package/dist/foundations/community/repositories/community.repository.d.ts.map +1 -1
- package/dist/foundations/community/repositories/community.repository.js +330 -328
- package/dist/foundations/community/repositories/community.repository.js.map +1 -1
- package/dist/foundations/community/services/community-layer.service.d.ts +38 -0
- package/dist/foundations/community/services/community-layer.service.d.ts.map +1 -0
- package/dist/foundations/community/services/community-layer.service.js +89 -0
- package/dist/foundations/community/services/community-layer.service.js.map +1 -0
- package/dist/foundations/community/services/community.service.d.ts +22 -4
- package/dist/foundations/community/services/community.service.d.ts.map +1 -1
- package/dist/foundations/community/services/community.service.js +9 -6
- package/dist/foundations/community/services/community.service.js.map +1 -1
- package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.d.ts +8 -3
- package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.js +35 -29
- package/dist/foundations/stripe-invoice/repositories/stripe-invoice.repository.js.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.map.d.ts.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.map.js +2 -1
- package/dist/foundations/stripe-price/entities/stripe-price.map.js.map +1 -1
- package/dist/foundations/stripe-product/repositories/stripe-product.repository.d.ts +2 -1
- package/dist/foundations/stripe-product/repositories/stripe-product.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-product/repositories/stripe-product.repository.js +4 -1
- package/dist/foundations/stripe-product/repositories/stripe-product.repository.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts +3 -18
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +20 -5
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts +6 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js +10 -3
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.d.ts +1 -1
- package/dist/foundations/stripe-subscription/services/subscription-payment-confirmation.js +1 -1
- package/dist/foundations/stripe-webhook/controllers/stripe-webhook.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/controllers/stripe-webhook.controller.js +2 -0
- package/dist/foundations/stripe-webhook/controllers/stripe-webhook.controller.js.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts +1 -0
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +14 -9
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
- package/package.json +1 -1
- package/dist/foundations/community/entities/community.map.d.ts +0 -8
- package/dist/foundations/community/entities/community.map.d.ts.map +0 -1
- package/dist/foundations/community/entities/community.map.js +0 -24
- package/dist/foundations/community/entities/community.map.js.map +0 -1
- package/dist/foundations/community/entities/community.model.d.ts +0 -4
- package/dist/foundations/community/entities/community.model.d.ts.map +0 -1
- package/dist/foundations/community/entities/community.model.js +0 -15
- 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;
|
|
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
|
|
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,
|
|
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
|
|
48
|
-
if ("error" in
|
|
49
|
-
return
|
|
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:
|
|
63
|
-
|
|
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":";;;;;;;;;;;;
|
|
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;
|
|
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:
|
|
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,
|
|
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;
|
|
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:
|
|
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":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,iDAA8D;AAC9D,6BAAwB;AACxB,iDAA0E;
|
|
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;
|
|
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":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6EAAwE;AACxE,gGAA2F;AAC3F,kHAGqE;
|
|
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
|