@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.
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts +4 -0
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -1
- package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts +1 -1
- package/dist/agents/graph/prompts/graph.node.system.prompt.d.ts.map +1 -1
- package/dist/agents/graph/prompts/graph.node.system.prompt.js +1 -1
- package/dist/agents/graph/services/field-formatting.d.ts +11 -0
- package/dist/agents/graph/services/field-formatting.d.ts.map +1 -1
- package/dist/agents/graph/services/field-formatting.js +16 -1
- package/dist/agents/graph/services/field-formatting.js.map +1 -1
- package/dist/agents/graph/services/graph.catalog.service.d.ts +4 -0
- package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.catalog.service.js +2 -0
- package/dist/agents/graph/services/graph.catalog.service.js.map +1 -1
- package/dist/agents/graph/services/graph.search.service.d.ts +16 -0
- package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.search.service.js +35 -4
- package/dist/agents/graph/services/graph.search.service.js.map +1 -1
- package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/describe-entity.tool.js +28 -27
- 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 +8 -1
- package/dist/agents/graph/tools/read-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/resolve-entity.tool.d.ts +1 -0
- package/dist/agents/graph/tools/resolve-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/resolve-entity.tool.js +18 -1
- package/dist/agents/graph/tools/resolve-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.d.ts +7 -0
- package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.js +15 -13
- package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts +24 -0
- package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.js +55 -10
- package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
- package/dist/common/interfaces/entity.schema.interface.d.ts +20 -0
- package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
- package/dist/common/interfaces/external.entity.source.interface.d.ts +7 -3
- package/dist/common/interfaces/external.entity.source.interface.d.ts.map +1 -1
- package/dist/common/interfaces/external.entity.source.interface.js.map +1 -1
- package/dist/foundations/auth/controllers/auth.discord.controller.d.ts +1 -1
- package/dist/foundations/auth/controllers/auth.discord.controller.d.ts.map +1 -1
- package/dist/foundations/auth/controllers/auth.discord.controller.js +6 -3
- package/dist/foundations/auth/controllers/auth.discord.controller.js.map +1 -1
- package/dist/foundations/auth/controllers/auth.google.controller.d.ts +1 -1
- package/dist/foundations/auth/controllers/auth.google.controller.d.ts.map +1 -1
- package/dist/foundations/auth/controllers/auth.google.controller.js +6 -3
- package/dist/foundations/auth/controllers/auth.google.controller.js.map +1 -1
- package/dist/foundations/auth/dtos/auth.post.register.dto.d.ts +6 -0
- package/dist/foundations/auth/dtos/auth.post.register.dto.d.ts.map +1 -1
- package/dist/foundations/auth/dtos/auth.post.register.dto.js +36 -0
- package/dist/foundations/auth/dtos/auth.post.register.dto.js.map +1 -1
- package/dist/foundations/auth/services/auth.discord.service.d.ts +6 -2
- package/dist/foundations/auth/services/auth.discord.service.d.ts.map +1 -1
- package/dist/foundations/auth/services/auth.discord.service.js +29 -5
- package/dist/foundations/auth/services/auth.discord.service.js.map +1 -1
- package/dist/foundations/auth/services/auth.google.service.d.ts +6 -2
- package/dist/foundations/auth/services/auth.google.service.d.ts.map +1 -1
- package/dist/foundations/auth/services/auth.google.service.js +29 -5
- package/dist/foundations/auth/services/auth.google.service.js.map +1 -1
- package/dist/foundations/auth/services/auth.service.d.ts +12 -0
- package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
- package/dist/foundations/auth/services/auth.service.js +47 -8
- package/dist/foundations/auth/services/auth.service.js.map +1 -1
- package/dist/foundations/auth/services/pending-registration.service.d.ts +2 -0
- package/dist/foundations/auth/services/pending-registration.service.d.ts.map +1 -1
- package/dist/foundations/auth/services/pending-registration.service.js.map +1 -1
- package/dist/foundations/user/entities/user.d.ts +6 -0
- package/dist/foundations/user/entities/user.d.ts.map +1 -1
- package/dist/foundations/user/entities/user.js +7 -0
- package/dist/foundations/user/entities/user.js.map +1 -1
- package/dist/foundations/user/repositories/user.repository.d.ts +9 -0
- package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
- package/dist/foundations/user/repositories/user.repository.js +23 -0
- package/dist/foundations/user/repositories/user.repository.js.map +1 -1
- package/dist/foundations/waitlist/dtos/waitlist.post.dto.d.ts +6 -0
- package/dist/foundations/waitlist/dtos/waitlist.post.dto.d.ts.map +1 -1
- package/dist/foundations/waitlist/dtos/waitlist.post.dto.js +36 -0
- package/dist/foundations/waitlist/dtos/waitlist.post.dto.js.map +1 -1
- package/dist/foundations/waitlist/entities/waitlist.d.ts +6 -0
- package/dist/foundations/waitlist/entities/waitlist.d.ts.map +1 -1
- package/dist/foundations/waitlist/entities/waitlist.js +6 -0
- package/dist/foundations/waitlist/entities/waitlist.js.map +1 -1
- package/dist/foundations/waitlist/index.d.ts +2 -0
- package/dist/foundations/waitlist/index.d.ts.map +1 -1
- package/dist/foundations/waitlist/index.js +8 -1
- package/dist/foundations/waitlist/index.js.map +1 -1
- package/dist/foundations/waitlist/services/waitlist.service.d.ts +2 -1
- package/dist/foundations/waitlist/services/waitlist.service.d.ts.map +1 -1
- package/dist/foundations/waitlist/services/waitlist.service.js +6 -4
- package/dist/foundations/waitlist/services/waitlist.service.js.map +1 -1
- package/dist/foundations/waitlist/utils/signup-source.d.ts +24 -0
- package/dist/foundations/waitlist/utils/signup-source.d.ts.map +1 -0
- package/dist/foundations/waitlist/utils/signup-source.js +52 -0
- package/dist/foundations/waitlist/utils/signup-source.js.map +1 -0
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +4 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/interfaces/mcp.tool.interface.d.ts +21 -0
- package/dist/mcp/interfaces/mcp.tool.interface.d.ts.map +1 -1
- package/dist/mcp/interfaces/mcp.tool.interface.js +8 -1
- package/dist/mcp/interfaces/mcp.tool.interface.js.map +1 -1
- package/dist/mcp/mcp.module.d.ts +5 -0
- package/dist/mcp/mcp.module.d.ts.map +1 -1
- package/dist/mcp/mcp.module.js +5 -0
- package/dist/mcp/mcp.module.js.map +1 -1
- package/dist/mcp/services/mcp.errors.d.ts +11 -0
- package/dist/mcp/services/mcp.errors.d.ts.map +1 -1
- package/dist/mcp/services/mcp.errors.js +36 -0
- package/dist/mcp/services/mcp.errors.js.map +1 -1
- package/dist/mcp/services/mcp.generic.tools.service.d.ts +13 -3
- package/dist/mcp/services/mcp.generic.tools.service.d.ts.map +1 -1
- package/dist/mcp/services/mcp.generic.tools.service.js +66 -7
- package/dist/mcp/services/mcp.generic.tools.service.js.map +1 -1
- package/dist/mcp/services/mcp.promoted.tools.factory.d.ts +1 -0
- package/dist/mcp/services/mcp.promoted.tools.factory.d.ts.map +1 -1
- package/dist/mcp/services/mcp.promoted.tools.factory.js +4 -3
- package/dist/mcp/services/mcp.promoted.tools.factory.js.map +1 -1
- package/dist/mcp/services/mcp.tool.registry.d.ts +1 -0
- package/dist/mcp/services/mcp.tool.registry.d.ts.map +1 -1
- package/dist/mcp/services/mcp.tool.registry.js +5 -0
- package/dist/mcp/services/mcp.tool.registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.errors.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.errors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACtB,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,mBAAmB,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7G;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,aAAa,CA2BlD;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,aAAa,CAE7G"}
|
|
1
|
+
{"version":3,"file":"mcp.errors.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.errors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACtB,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,mBAAmB,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7G;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,aAAa,CA2BlD;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,aAAa,CAE7G;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAM5D"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mcpError = mcpError;
|
|
4
4
|
exports.mcpFlatError = mcpFlatError;
|
|
5
|
+
exports.mcpToolResult = mcpToolResult;
|
|
5
6
|
const common_1 = require("@nestjs/common");
|
|
6
7
|
const zod_1 = require("zod");
|
|
7
8
|
/**
|
|
@@ -57,4 +58,39 @@ function isTimeoutError(e) {
|
|
|
57
58
|
function mcpFlatError(code, message, meta = {}) {
|
|
58
59
|
return { isError: true, content: [{ type: "text", text: JSON.stringify({ code, message, ...meta }) }] };
|
|
59
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* The ToolFactory's unknown-type error (`ToolFactory.resolveEntity`) always
|
|
63
|
+
* starts `Entity type "<type>" is not available.`
|
|
64
|
+
*/
|
|
65
|
+
const UNKNOWN_TYPE_ERROR = /^Entity type "[^"]*" is not available\./;
|
|
66
|
+
/** `read_entity`'s missing-record error: `No <type> with id <id>.` */
|
|
67
|
+
const NOT_FOUND_ERROR = /^No \S+ with id \S+\.$/;
|
|
68
|
+
/** A catalog type whose service is not registered: a server defect, not a client error. */
|
|
69
|
+
const SERVICE_UNAVAILABLE_ERROR = /^Service not available for "[^"]*"\./;
|
|
70
|
+
function toolErrorCode(error) {
|
|
71
|
+
if (UNKNOWN_TYPE_ERROR.test(error))
|
|
72
|
+
return "unknown_type";
|
|
73
|
+
if (NOT_FOUND_ERROR.test(error))
|
|
74
|
+
return "not_found";
|
|
75
|
+
if (SERVICE_UNAVAILABLE_ERROR.test(error))
|
|
76
|
+
return "internal";
|
|
77
|
+
return "validation_failed";
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Turns a graph tool's return value into an MCP result. The graph tools report
|
|
81
|
+
* a client error as a value, `{ error, ...extras }`, so the LangGraph operator
|
|
82
|
+
* can hand the message to the model; over MCP that value is a failed call and
|
|
83
|
+
* must reach the client with `isError: true`, never as a success payload.
|
|
84
|
+
* The ToolFactory's unknown-type error maps to `unknown_type`, a missing record
|
|
85
|
+
* to `not_found`, an unregistered service to `internal`, every other tool-level
|
|
86
|
+
* error to `validation_failed`; the extras (e.g. `schema`, `suggestion`) stay
|
|
87
|
+
* on the payload.
|
|
88
|
+
*/
|
|
89
|
+
function mcpToolResult(result) {
|
|
90
|
+
if (typeof result === "object" && result !== null && typeof result.error === "string") {
|
|
91
|
+
const { error, ...extras } = result;
|
|
92
|
+
return mcpFlatError(toolErrorCode(error), error, extras);
|
|
93
|
+
}
|
|
94
|
+
return { content: [{ type: "text", text: typeof result === "string" ? result : JSON.stringify(result) }] };
|
|
95
|
+
}
|
|
60
96
|
//# sourceMappingURL=mcp.errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.errors.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.errors.ts"],"names":[],"mappings":";;AAwBA,4BA2BC;AAUD,oCAEC;
|
|
1
|
+
{"version":3,"file":"mcp.errors.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import { ConfigService } from "@nestjs/config";
|
|
2
|
+
import { GraphCatalogService } from "../../agents/graph/services/graph.catalog.service";
|
|
1
3
|
import { DescribeEntityTool } from "../../agents/graph/tools/describe-entity.tool";
|
|
2
4
|
import { ReadEntityTool } from "../../agents/graph/tools/read-entity.tool";
|
|
3
5
|
import { ResolveEntityTool } from "../../agents/graph/tools/resolve-entity.tool";
|
|
4
6
|
import { SearchEntitiesTool } from "../../agents/graph/tools/search-entities.tool";
|
|
5
7
|
import { TraverseTool } from "../../agents/graph/tools/traverse.tool";
|
|
6
8
|
import { SearchDocumentsTool } from "../../agents/operator/tools/search-documents.tool";
|
|
7
|
-
import { McpToolDefinition, McpUserContext } from "../interfaces/mcp.tool.interface";
|
|
9
|
+
import { McpStatusContribution, McpToolDefinition, McpUserContext } from "../interfaces/mcp.tool.interface";
|
|
8
10
|
import { McpEntityWriteService } from "./mcp.entity.write.service";
|
|
9
11
|
/**
|
|
10
12
|
* Builds the generic MCP tool set for one authenticated request:
|
|
11
|
-
* the five graph read tools, the document-retrieval tool, and the four
|
|
13
|
+
* the five graph read tools, the document-retrieval tool, `ping`, and the four
|
|
12
14
|
* entity write tools contributed by McpEntityWriteService.
|
|
13
15
|
*/
|
|
14
16
|
export declare class McpGenericToolsService {
|
|
@@ -19,7 +21,15 @@ export declare class McpGenericToolsService {
|
|
|
19
21
|
private readonly traverseTool;
|
|
20
22
|
private readonly searchDocumentsTool;
|
|
21
23
|
private readonly writeService;
|
|
22
|
-
|
|
24
|
+
private readonly catalog;
|
|
25
|
+
private readonly configService;
|
|
26
|
+
private readonly statusContributions;
|
|
27
|
+
constructor(resolveEntityTool: ResolveEntityTool, describeEntityTool: DescribeEntityTool, searchEntitiesTool: SearchEntitiesTool, readEntityTool: ReadEntityTool, traverseTool: TraverseTool, searchDocumentsTool: SearchDocumentsTool, writeService: McpEntityWriteService, catalog: GraphCatalogService, configService: ConfigService, statusContributions?: McpStatusContribution[]);
|
|
28
|
+
/**
|
|
29
|
+
* The `ping` reply: identity of the server and the caller, the visible
|
|
30
|
+
* catalog size, and every app status contribution merged at the top level.
|
|
31
|
+
*/
|
|
32
|
+
ping(ctx: McpUserContext): Promise<Record<string, unknown>>;
|
|
23
33
|
/** Builds the per-request generic tool definitions (read tools + write tools). */
|
|
24
34
|
build(ctx: McpUserContext): McpToolDefinition[];
|
|
25
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.generic.tools.service.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.generic.tools.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.generic.tools.service.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.generic.tools.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAA6B,MAAM,+CAA+C,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAyB,MAAM,2CAA2C,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAA4B,MAAM,8CAA8C,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAA6B,MAAM,+CAA+C,CAAC;AAE9G,OAAO,EAKL,YAAY,EAEb,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAA8B,MAAM,mDAAmD,CAAC;AACpH,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EAEjB,cAAc,EACf,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgDnE;;;;GAIG;AACH,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IACE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBATnD,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,aAAa,EACI,mBAAmB,GAAE,qBAAqB,EAAO;IAGpG;;;OAGG;IACG,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAYjE,kFAAkF;IAClF,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,EAAE;CAyGhD"}
|
|
@@ -8,16 +8,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.McpGenericToolsService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const config_1 = require("@nestjs/config");
|
|
18
|
+
const fs_1 = require("fs");
|
|
19
|
+
const path_1 = require("path");
|
|
14
20
|
const zod_1 = require("zod");
|
|
21
|
+
const graph_catalog_service_1 = require("../../agents/graph/services/graph.catalog.service");
|
|
15
22
|
const describe_entity_tool_1 = require("../../agents/graph/tools/describe-entity.tool");
|
|
16
23
|
const read_entity_tool_1 = require("../../agents/graph/tools/read-entity.tool");
|
|
17
24
|
const resolve_entity_tool_1 = require("../../agents/graph/tools/resolve-entity.tool");
|
|
18
25
|
const search_entities_tool_1 = require("../../agents/graph/tools/search-entities.tool");
|
|
19
26
|
const traverse_tool_1 = require("../../agents/graph/tools/traverse.tool");
|
|
20
27
|
const search_documents_tool_1 = require("../../agents/operator/tools/search-documents.tool");
|
|
28
|
+
const mcp_tool_interface_1 = require("../interfaces/mcp.tool.interface");
|
|
21
29
|
const mcp_errors_1 = require("./mcp.errors");
|
|
22
30
|
const mcp_entity_write_service_1 = require("./mcp.entity.write.service");
|
|
23
31
|
// Descriptions copied verbatim from each tool's build() (single source is the
|
|
@@ -29,6 +37,21 @@ const SEARCH_DESCRIPTION = "Find records of a known type by filter and sort. Use
|
|
|
29
37
|
const READ_DESCRIPTION = "Fetches one record by id, optionally pulling related records across described relationships.";
|
|
30
38
|
const TRAVERSE_DESCRIPTION = "Walks a relationship from a known record to related records, optionally filtered and sorted.";
|
|
31
39
|
const SEARCH_DOCS_DESCRIPTION = "Search the company's documents (GraphRAG) for information relevant to a question. Returns the retrieved passages, each prefixed by its chunkId.";
|
|
40
|
+
const PING_DESCRIPTION = "Check the connection: returns the server name and version, the current time, the signed-in user and company, how many record types are visible, and the status the application reports (e.g. corpus coverage, queues). Read only, spends no credits.";
|
|
41
|
+
const pingInputSchema = zod_1.z.object({}).strict();
|
|
42
|
+
let packageVersion;
|
|
43
|
+
/**
|
|
44
|
+
* This package's own version, read once from its package.json. The path is the
|
|
45
|
+
* same from `src/mcp/services` and `dist/mcp/services`: three levels up is the
|
|
46
|
+
* package root.
|
|
47
|
+
*/
|
|
48
|
+
function readPackageVersion() {
|
|
49
|
+
if (packageVersion === undefined) {
|
|
50
|
+
const pkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, "..", "..", "..", "package.json"), "utf8"));
|
|
51
|
+
packageVersion = pkg.version ?? "unknown";
|
|
52
|
+
}
|
|
53
|
+
return packageVersion;
|
|
54
|
+
}
|
|
32
55
|
/**
|
|
33
56
|
* The JSON Schema of a list tool's input with the explicit `filters` and
|
|
34
57
|
* `sort` shapes. The Zod schemas type both as `z.any()` (the coercion owns the
|
|
@@ -40,11 +63,11 @@ function withFilterSchemas(schema) {
|
|
|
40
63
|
}
|
|
41
64
|
/**
|
|
42
65
|
* Builds the generic MCP tool set for one authenticated request:
|
|
43
|
-
* the five graph read tools, the document-retrieval tool, and the four
|
|
66
|
+
* the five graph read tools, the document-retrieval tool, `ping`, and the four
|
|
44
67
|
* entity write tools contributed by McpEntityWriteService.
|
|
45
68
|
*/
|
|
46
69
|
let McpGenericToolsService = class McpGenericToolsService {
|
|
47
|
-
constructor(resolveEntityTool, describeEntityTool, searchEntitiesTool, readEntityTool, traverseTool, searchDocumentsTool, writeService) {
|
|
70
|
+
constructor(resolveEntityTool, describeEntityTool, searchEntitiesTool, readEntityTool, traverseTool, searchDocumentsTool, writeService, catalog, configService, statusContributions = []) {
|
|
48
71
|
this.resolveEntityTool = resolveEntityTool;
|
|
49
72
|
this.describeEntityTool = describeEntityTool;
|
|
50
73
|
this.searchEntitiesTool = searchEntitiesTool;
|
|
@@ -52,6 +75,24 @@ let McpGenericToolsService = class McpGenericToolsService {
|
|
|
52
75
|
this.traverseTool = traverseTool;
|
|
53
76
|
this.searchDocumentsTool = searchDocumentsTool;
|
|
54
77
|
this.writeService = writeService;
|
|
78
|
+
this.catalog = catalog;
|
|
79
|
+
this.configService = configService;
|
|
80
|
+
this.statusContributions = statusContributions;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The `ping` reply: identity of the server and the caller, the visible
|
|
84
|
+
* catalog size, and every app status contribution merged at the top level.
|
|
85
|
+
*/
|
|
86
|
+
async ping(ctx) {
|
|
87
|
+
const contributed = await Promise.all((this.statusContributions ?? []).map((c) => c.status(ctx)));
|
|
88
|
+
return {
|
|
89
|
+
server: this.configService.get("mcp")?.serverName ?? "neural-erp",
|
|
90
|
+
version: readPackageVersion(),
|
|
91
|
+
now: new Date().toISOString(),
|
|
92
|
+
user: { userId: ctx.userId, companyId: ctx.companyId },
|
|
93
|
+
catalog: { types: this.catalog.getAccessibleTypes(ctx.userModuleIds).length },
|
|
94
|
+
...Object.assign({}, ...contributed),
|
|
95
|
+
};
|
|
55
96
|
}
|
|
56
97
|
/** Builds the per-request generic tool definitions (read tools + write tools). */
|
|
57
98
|
build(ctx) {
|
|
@@ -92,10 +133,8 @@ let McpGenericToolsService = class McpGenericToolsService {
|
|
|
92
133
|
}
|
|
93
134
|
if (seedType)
|
|
94
135
|
seedDescribe(seedType(parsed));
|
|
95
|
-
|
|
96
|
-
return
|
|
97
|
-
content: [{ type: "text", text: typeof result === "string" ? result : JSON.stringify(result) }],
|
|
98
|
-
};
|
|
136
|
+
// A tool-level `{ error }` value is a failed call: isError, never success.
|
|
137
|
+
return (0, mcp_errors_1.mcpToolResult)(await invoke(parsed));
|
|
99
138
|
}
|
|
100
139
|
catch (e) {
|
|
101
140
|
return (0, mcp_errors_1.mcpError)(e);
|
|
@@ -113,6 +152,22 @@ let McpGenericToolsService = class McpGenericToolsService {
|
|
|
113
152
|
// conversation, so dataLimits defaults to {} (all fields optional)
|
|
114
153
|
// and messages to [] — the documented fallback.
|
|
115
154
|
this.searchDocumentsTool.invoke(i, { ...ctx, dataLimits: {}, messages: [] }, recorder)),
|
|
155
|
+
{
|
|
156
|
+
name: "ping",
|
|
157
|
+
description: PING_DESCRIPTION,
|
|
158
|
+
inputSchema: zod_1.z.toJSONSchema(pingInputSchema),
|
|
159
|
+
readOnly: true,
|
|
160
|
+
gateFree: true,
|
|
161
|
+
execute: async (input) => {
|
|
162
|
+
try {
|
|
163
|
+
pingInputSchema.parse(input ?? {});
|
|
164
|
+
return { content: [{ type: "text", text: JSON.stringify(await this.ping(ctx)) }] };
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
return (0, mcp_errors_1.mcpError)(e);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
},
|
|
116
171
|
...this.writeService.buildTools(ctx),
|
|
117
172
|
];
|
|
118
173
|
}
|
|
@@ -120,12 +175,16 @@ let McpGenericToolsService = class McpGenericToolsService {
|
|
|
120
175
|
exports.McpGenericToolsService = McpGenericToolsService;
|
|
121
176
|
exports.McpGenericToolsService = McpGenericToolsService = __decorate([
|
|
122
177
|
(0, common_1.Injectable)(),
|
|
178
|
+
__param(9, (0, common_1.Optional)()),
|
|
179
|
+
__param(9, (0, common_1.Inject)(mcp_tool_interface_1.MCP_STATUS)),
|
|
123
180
|
__metadata("design:paramtypes", [resolve_entity_tool_1.ResolveEntityTool,
|
|
124
181
|
describe_entity_tool_1.DescribeEntityTool,
|
|
125
182
|
search_entities_tool_1.SearchEntitiesTool,
|
|
126
183
|
read_entity_tool_1.ReadEntityTool,
|
|
127
184
|
traverse_tool_1.TraverseTool,
|
|
128
185
|
search_documents_tool_1.SearchDocumentsTool,
|
|
129
|
-
mcp_entity_write_service_1.McpEntityWriteService
|
|
186
|
+
mcp_entity_write_service_1.McpEntityWriteService,
|
|
187
|
+
graph_catalog_service_1.GraphCatalogService,
|
|
188
|
+
config_1.ConfigService, Array])
|
|
130
189
|
], McpGenericToolsService);
|
|
131
190
|
//# sourceMappingURL=mcp.generic.tools.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.generic.tools.service.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.generic.tools.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.generic.tools.service.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.generic.tools.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,7 @@ export declare class McpPromotedToolsFactory {
|
|
|
70
70
|
private buildRelationshipsSchema;
|
|
71
71
|
private entityBlurb;
|
|
72
72
|
private textResult;
|
|
73
|
+
/** Same exception mapping as the generic tools: 404 → not_found, 400 → validation_failed, … */
|
|
73
74
|
private internalError;
|
|
74
75
|
}
|
|
75
76
|
//# sourceMappingURL=mcp.promoted.tools.factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.promoted.tools.factory.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.promoted.tools.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGnF,OAAO,KAAK,EAAE,iBAAiB,EAAiB,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.promoted.tools.factory.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.promoted.tools.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGnF,OAAO,KAAK,EAAE,iBAAiB,EAAiB,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBlH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAJZ,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,qBAAqB;IAGtD;;;;;;;;;OASG;IACH,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,EAAE;IA0B/C;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,+FAA+F;IAC/F,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -17,6 +17,7 @@ const graph_catalog_service_1 = require("../../agents/graph/services/graph.catal
|
|
|
17
17
|
const read_entity_tool_1 = require("../../agents/graph/tools/read-entity.tool");
|
|
18
18
|
const search_entities_tool_1 = require("../../agents/graph/tools/search-entities.tool");
|
|
19
19
|
const mcp_entity_write_service_1 = require("./mcp.entity.write.service");
|
|
20
|
+
const mcp_errors_1 = require("./mcp.errors");
|
|
20
21
|
/**
|
|
21
22
|
* Maps an entity-descriptor field (as exposed by the graph catalog) to a JSON
|
|
22
23
|
* Schema property for MCP tool input schemas.
|
|
@@ -264,11 +265,11 @@ let McpPromotedToolsFactory = class McpPromotedToolsFactory {
|
|
|
264
265
|
return entity.description ? ` ${entity.description}.` : "";
|
|
265
266
|
}
|
|
266
267
|
textResult(result) {
|
|
267
|
-
return
|
|
268
|
+
return (0, mcp_errors_1.mcpToolResult)(result);
|
|
268
269
|
}
|
|
270
|
+
/** Same exception mapping as the generic tools: 404 → not_found, 400 → validation_failed, … */
|
|
269
271
|
internalError(e) {
|
|
270
|
-
|
|
271
|
-
return { isError: true, content: [{ type: "text", text: JSON.stringify({ code: "internal", message }) }] };
|
|
272
|
+
return (0, mcp_errors_1.mcpError)(e);
|
|
272
273
|
}
|
|
273
274
|
};
|
|
274
275
|
exports.McpPromotedToolsFactory = McpPromotedToolsFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.promoted.tools.factory.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.promoted.tools.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"mcp.promoted.tools.factory.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.promoted.tools.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { McpPromotedToolsFactory } from "./mcp.promoted.tools.factory";
|
|
|
13
13
|
* (`INTERACTIVE_CREDIT_VALIDATOR`, else `CREDIT_VALIDATOR`): AI off returns the
|
|
14
14
|
* flat error `ai_disabled`, an empty balance (402) returns `no_credits`, any
|
|
15
15
|
* other validator error propagates. With no validator bound nothing is gated.
|
|
16
|
+
* A tool flagged `gateFree` (ping) is never gated.
|
|
16
17
|
* `build()` (tools/list) is never gated, so a client still sees what exists.
|
|
17
18
|
*/
|
|
18
19
|
export declare class McpToolRegistry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.tool.registry.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.tool.registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,wBAAwB,EAAgC,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE
|
|
1
|
+
{"version":3,"file":"mcp.tool.registry.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mcp.tool.registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,wBAAwB,EAAgC,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAG5D,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACN,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gBANtD,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,uBAAuB,EACF,WAAW,CAAC,EAAE,mBAAmB,EAAE,EAGlE,0BAA0B,CAAC,EAAE,wBAAwB,EACf,eAAe,CAAC,EAAE,wBAAwB;IAGnG,6EAA6E;IAC7E,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,EAAE;IAsB/C,wFAAwF;IAClF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAuBtG"}
|
|
@@ -31,6 +31,7 @@ const mcp_promoted_tools_factory_1 = require("./mcp.promoted.tools.factory");
|
|
|
31
31
|
* (`INTERACTIVE_CREDIT_VALIDATOR`, else `CREDIT_VALIDATOR`): AI off returns the
|
|
32
32
|
* flat error `ai_disabled`, an empty balance (402) returns `no_credits`, any
|
|
33
33
|
* other validator error propagates. With no validator bound nothing is gated.
|
|
34
|
+
* A tool flagged `gateFree` (ping) is never gated.
|
|
34
35
|
* `build()` (tools/list) is never gated, so a client still sees what exists.
|
|
35
36
|
*/
|
|
36
37
|
let McpToolRegistry = class McpToolRegistry {
|
|
@@ -69,6 +70,10 @@ let McpToolRegistry = class McpToolRegistry {
|
|
|
69
70
|
content: [{ type: "text", text: JSON.stringify({ code: "unknown_type", message: `Unknown tool: ${name}` }) }],
|
|
70
71
|
};
|
|
71
72
|
}
|
|
73
|
+
// A gate-free tool (ping) spends no AI credit: it answers even with AI off
|
|
74
|
+
// or an empty balance, which is exactly when a client needs it.
|
|
75
|
+
if (tool.gateFree)
|
|
76
|
+
return tool.execute(input, ctx);
|
|
72
77
|
const validator = (0, credit_gate_1.pickInteractiveValidator)(this.interactiveCreditValidator, this.creditValidator);
|
|
73
78
|
if (!(await (0, credit_gate_1.isAiEnabledVia)(validator, { companyId: ctx.companyId }))) {
|
|
74
79
|
return (0, mcp_errors_1.mcpFlatError)("ai_disabled", "AI is not enabled for this company");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.tool.registry.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.tool.registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,kEAAoH;AACpH,gDAA+G;AAC/G,yEAM0C;AAC1C,6CAA4C;AAC5C,2EAAqE;AACrE,6EAAuE;AAEvE
|
|
1
|
+
{"version":3,"file":"mcp.tool.registry.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.tool.registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED