@carlonicora/nestjs-neo4jsonapi 1.110.3 → 1.112.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/tools/describe-entity.tool.d.ts +1 -1
- package/dist/agents/graph/tools/describe-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/describe-entity.tool.js +2 -1
- package/dist/agents/graph/tools/describe-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/read-entity.tool.d.ts +1 -1
- package/dist/agents/graph/tools/read-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/read-entity.tool.js +2 -1
- package/dist/agents/graph/tools/read-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/resolve-entity.tool.d.ts +1 -1
- package/dist/agents/graph/tools/resolve-entity.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/resolve-entity.tool.js +2 -1
- package/dist/agents/graph/tools/resolve-entity.tool.js.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.d.ts +1 -1
- package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.js +2 -1
- package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts +1 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.js +2 -1
- package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
- package/dist/agents/operator/tools/search-documents.tool.d.ts +1 -1
- package/dist/agents/operator/tools/search-documents.tool.d.ts.map +1 -1
- package/dist/agents/operator/tools/search-documents.tool.js +2 -1
- package/dist/agents/operator/tools/search-documents.tool.js.map +1 -1
- package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
- package/dist/bootstrap/app.module.factory.js +3 -0
- package/dist/bootstrap/app.module.factory.js.map +1 -1
- package/dist/bootstrap/bootstrap.options.d.ts +2 -0
- package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +15 -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.ai.interface.d.ts +29 -0
- package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.mcp.interface.d.ts +34 -0
- package/dist/config/interfaces/config.mcp.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.mcp.interface.js +3 -0
- package/dist/config/interfaces/config.mcp.interface.js.map +1 -0
- 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 +52 -0
- package/dist/core/llm/services/llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm.service.js +163 -10
- package/dist/core/llm/services/llm.service.js.map +1 -1
- package/dist/core/llm/services/model.service.d.ts +2 -0
- package/dist/core/llm/services/model.service.d.ts.map +1 -1
- package/dist/core/llm/services/model.service.js +7 -0
- package/dist/core/llm/services/model.service.js.map +1 -1
- package/dist/foundations/oauth/constants/oauth.scopes.d.ts +2 -0
- package/dist/foundations/oauth/constants/oauth.scopes.d.ts.map +1 -1
- package/dist/foundations/oauth/constants/oauth.scopes.js +4 -0
- package/dist/foundations/oauth/constants/oauth.scopes.js.map +1 -1
- package/dist/foundations/oauth/controllers/index.d.ts +2 -0
- package/dist/foundations/oauth/controllers/index.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/index.js +2 -0
- package/dist/foundations/oauth/controllers/index.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.discovery.controller.d.ts +46 -0
- package/dist/foundations/oauth/controllers/oauth.discovery.controller.d.ts.map +1 -0
- package/dist/foundations/oauth/controllers/oauth.discovery.controller.js +102 -0
- package/dist/foundations/oauth/controllers/oauth.discovery.controller.js.map +1 -0
- package/dist/foundations/oauth/controllers/oauth.registration.controller.d.ts +36 -0
- package/dist/foundations/oauth/controllers/oauth.registration.controller.d.ts.map +1 -0
- package/dist/foundations/oauth/controllers/oauth.registration.controller.js +81 -0
- package/dist/foundations/oauth/controllers/oauth.registration.controller.js.map +1 -0
- package/dist/foundations/oauth/dtos/index.d.ts +1 -0
- package/dist/foundations/oauth/dtos/index.d.ts.map +1 -1
- package/dist/foundations/oauth/dtos/index.js +1 -0
- package/dist/foundations/oauth/dtos/index.js.map +1 -1
- package/dist/foundations/oauth/dtos/oauth.register.dto.d.ts +14 -0
- package/dist/foundations/oauth/dtos/oauth.register.dto.d.ts.map +1 -0
- package/dist/foundations/oauth/dtos/oauth.register.dto.js +49 -0
- package/dist/foundations/oauth/dtos/oauth.register.dto.js.map +1 -0
- package/dist/foundations/oauth/index.d.ts +1 -0
- package/dist/foundations/oauth/index.d.ts.map +1 -1
- package/dist/foundations/oauth/index.js +3 -1
- package/dist/foundations/oauth/index.js.map +1 -1
- package/dist/foundations/oauth/oauth.module.d.ts +3 -1
- package/dist/foundations/oauth/oauth.module.d.ts.map +1 -1
- package/dist/foundations/oauth/oauth.module.js +12 -2
- package/dist/foundations/oauth/oauth.module.js.map +1 -1
- package/dist/foundations/oauth/repositories/oauth.repository.d.ts +2 -1
- package/dist/foundations/oauth/repositories/oauth.repository.d.ts.map +1 -1
- package/dist/foundations/oauth/repositories/oauth.repository.js +16 -34
- package/dist/foundations/oauth/repositories/oauth.repository.js.map +1 -1
- package/dist/foundations/oauth/services/oauth.client.service.d.ts +2 -1
- package/dist/foundations/oauth/services/oauth.client.service.d.ts.map +1 -1
- package/dist/foundations/oauth/services/oauth.client.service.js.map +1 -1
- package/dist/foundations/rbac/index.d.ts +4 -0
- package/dist/foundations/rbac/index.d.ts.map +1 -1
- package/dist/foundations/rbac/index.js +7 -1
- package/dist/foundations/rbac/index.js.map +1 -1
- package/dist/foundations/rbac/rbac-permission.module.d.ts +14 -0
- package/dist/foundations/rbac/rbac-permission.module.d.ts.map +1 -0
- package/dist/foundations/rbac/rbac-permission.module.js +33 -0
- package/dist/foundations/rbac/rbac-permission.module.js.map +1 -0
- package/dist/foundations/rbac/repositories/rbac-permission.repository.d.ts +31 -0
- package/dist/foundations/rbac/repositories/rbac-permission.repository.d.ts.map +1 -0
- package/dist/foundations/rbac/repositories/rbac-permission.repository.js +80 -0
- package/dist/foundations/rbac/repositories/rbac-permission.repository.js.map +1 -0
- package/dist/foundations/rbac/services/rbac-permission.service.d.ts +31 -0
- package/dist/foundations/rbac/services/rbac-permission.service.d.ts.map +1 -0
- package/dist/foundations/rbac/services/rbac-permission.service.js +41 -0
- package/dist/foundations/rbac/services/rbac-permission.service.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/controllers/mcp.controller.d.ts +34 -0
- package/dist/mcp/controllers/mcp.controller.d.ts.map +1 -0
- package/dist/mcp/controllers/mcp.controller.js +108 -0
- package/dist/mcp/controllers/mcp.controller.js.map +1 -0
- package/dist/mcp/filters/mcp.auth.filter.d.ts +21 -0
- package/dist/mcp/filters/mcp.auth.filter.d.ts.map +1 -0
- package/dist/mcp/filters/mcp.auth.filter.js +52 -0
- package/dist/mcp/filters/mcp.auth.filter.js.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +11 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/interfaces/mcp.tool.interface.d.ts +37 -0
- package/dist/mcp/interfaces/mcp.tool.interface.d.ts.map +1 -0
- package/dist/mcp/interfaces/mcp.tool.interface.js +6 -0
- package/dist/mcp/interfaces/mcp.tool.interface.js.map +1 -0
- package/dist/mcp/mcp.module.d.ts +23 -0
- package/dist/mcp/mcp.module.d.ts.map +1 -0
- package/dist/mcp/mcp.module.js +59 -0
- package/dist/mcp/mcp.module.js.map +1 -0
- package/dist/mcp/services/mcp.entity.write.service.d.ts +79 -0
- package/dist/mcp/services/mcp.entity.write.service.d.ts.map +1 -0
- package/dist/mcp/services/mcp.entity.write.service.js +270 -0
- package/dist/mcp/services/mcp.entity.write.service.js.map +1 -0
- package/dist/mcp/services/mcp.errors.d.ts +24 -0
- package/dist/mcp/services/mcp.errors.d.ts.map +1 -0
- package/dist/mcp/services/mcp.errors.js +50 -0
- package/dist/mcp/services/mcp.errors.js.map +1 -0
- package/dist/mcp/services/mcp.generic.tools.service.d.ts +26 -0
- package/dist/mcp/services/mcp.generic.tools.service.d.ts.map +1 -0
- package/dist/mcp/services/mcp.generic.tools.service.js +108 -0
- package/dist/mcp/services/mcp.generic.tools.service.js.map +1 -0
- package/dist/mcp/services/mcp.promoted.tools.factory.d.ts +58 -0
- package/dist/mcp/services/mcp.promoted.tools.factory.d.ts.map +1 -0
- package/dist/mcp/services/mcp.promoted.tools.factory.js +260 -0
- package/dist/mcp/services/mcp.promoted.tools.factory.js.map +1 -0
- package/dist/mcp/services/mcp.server.factory.d.ts +24 -0
- package/dist/mcp/services/mcp.server.factory.d.ts.map +1 -0
- package/dist/mcp/services/mcp.server.factory.js +60 -0
- package/dist/mcp/services/mcp.server.factory.js.map +1 -0
- package/dist/mcp/services/mcp.tool.registry.d.ts +21 -0
- package/dist/mcp/services/mcp.tool.registry.d.ts.map +1 -0
- package/dist/mcp/services/mcp.tool.registry.js +72 -0
- package/dist/mcp/services/mcp.tool.registry.js.map +1 -0
- package/package.json +17 -12
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.McpToolRegistry = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const mcp_tool_interface_1 = require("../interfaces/mcp.tool.interface");
|
|
18
|
+
const mcp_generic_tools_service_1 = require("./mcp.generic.tools.service");
|
|
19
|
+
const mcp_promoted_tools_factory_1 = require("./mcp.promoted.tools.factory");
|
|
20
|
+
/**
|
|
21
|
+
* Composes the MCP tool set for a single authenticated request:
|
|
22
|
+
* - the generic tools (graph reads, document retrieval, entity writes)
|
|
23
|
+
* - the config-promoted per-entity tools
|
|
24
|
+
* - any app-contributed factories registered under the MCP_TOOLS token,
|
|
25
|
+
* built per request with the same user context as the built-ins
|
|
26
|
+
*/
|
|
27
|
+
let McpToolRegistry = class McpToolRegistry {
|
|
28
|
+
constructor(generic, promoted, contributed) {
|
|
29
|
+
this.generic = generic;
|
|
30
|
+
this.promoted = promoted;
|
|
31
|
+
this.contributed = contributed;
|
|
32
|
+
}
|
|
33
|
+
/** RBAC-filtered tool list for this user; throws on duplicate tool names. */
|
|
34
|
+
build(ctx) {
|
|
35
|
+
const tools = [
|
|
36
|
+
...this.generic.build(ctx),
|
|
37
|
+
...this.promoted.build(ctx),
|
|
38
|
+
...(this.contributed ?? []).flatMap((c) => c.build(ctx)),
|
|
39
|
+
];
|
|
40
|
+
// Guard against name collisions: a contributed tool named like a built-in
|
|
41
|
+
// would otherwise silently shadow it in tools/call dispatch.
|
|
42
|
+
const seen = new Set();
|
|
43
|
+
for (const tool of tools) {
|
|
44
|
+
if (seen.has(tool.name)) {
|
|
45
|
+
throw new Error(`McpToolRegistry: duplicate MCP tool name: ${tool.name}. ` +
|
|
46
|
+
`A contributed MCP_TOOLS contribution must not reuse the name of a built-in or another contributed tool.`);
|
|
47
|
+
}
|
|
48
|
+
seen.add(tool.name);
|
|
49
|
+
}
|
|
50
|
+
return tools;
|
|
51
|
+
}
|
|
52
|
+
/** Routes a tools/call to the named tool; unknown names return a flat error payload. */
|
|
53
|
+
async call(name, input, ctx) {
|
|
54
|
+
const tool = this.build(ctx).find((t) => t.name === name);
|
|
55
|
+
if (!tool) {
|
|
56
|
+
return {
|
|
57
|
+
isError: true,
|
|
58
|
+
content: [{ type: "text", text: JSON.stringify({ code: "unknown_type", message: `Unknown tool: ${name}` }) }],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return tool.execute(input, ctx);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
exports.McpToolRegistry = McpToolRegistry;
|
|
65
|
+
exports.McpToolRegistry = McpToolRegistry = __decorate([
|
|
66
|
+
(0, common_1.Injectable)(),
|
|
67
|
+
__param(2, (0, common_1.Optional)()),
|
|
68
|
+
__param(2, (0, common_1.Inject)(mcp_tool_interface_1.MCP_TOOLS)),
|
|
69
|
+
__metadata("design:paramtypes", [mcp_generic_tools_service_1.McpGenericToolsService,
|
|
70
|
+
mcp_promoted_tools_factory_1.McpPromotedToolsFactory, Array])
|
|
71
|
+
], McpToolRegistry);
|
|
72
|
+
//# sourceMappingURL=mcp.tool.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.tool.registry.js","sourceRoot":"","sources":["../../../src/mcp/services/mcp.tool.registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,yEAM0C;AAC1C,2EAAqE;AACrE,6EAAuE;AAEvE;;;;;;GAMG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACmB,OAA+B,EAC/B,QAAiC,EACF,WAAmC;QAFlE,YAAO,GAAP,OAAO,CAAwB;QAC/B,aAAQ,GAAR,QAAQ,CAAyB;QACF,gBAAW,GAAX,WAAW,CAAwB;IAClF,CAAC;IAEJ,6EAA6E;IAC7E,KAAK,CAAC,GAAmB;QACvB,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACzD,CAAC;QAEF,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,CAAC,IAAI,IAAI;oBACxD,yGAAyG,CAC5G,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,KAA8B,EAAE,GAAmB;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;aAC9G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAzCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,8BAAS,CAAC,CAAA;qCAFJ,kDAAsB;QACrB,oDAAuB;GAHzC,eAAe,CAyC3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carlonicora/nestjs-neo4jsonapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.112.0",
|
|
4
4
|
"description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
|
|
5
5
|
"author": "Carlo Nicora",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -47,6 +47,10 @@
|
|
|
47
47
|
"./bootstrap": {
|
|
48
48
|
"types": "./dist/bootstrap/index.d.ts",
|
|
49
49
|
"default": "./dist/bootstrap/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./mcp": {
|
|
52
|
+
"types": "./dist/mcp/index.d.ts",
|
|
53
|
+
"default": "./dist/mcp/index.js"
|
|
50
54
|
}
|
|
51
55
|
},
|
|
52
56
|
"scripts": {
|
|
@@ -68,9 +72,8 @@
|
|
|
68
72
|
"@aws-sdk/lib-storage": "^3.1075.0",
|
|
69
73
|
"@aws-sdk/s3-request-presigner": "^3.1053.0",
|
|
70
74
|
"@azure/storage-blob": "^12.31.0",
|
|
71
|
-
"@kenjiuno/msgreader": "^1.28.0",
|
|
72
|
-
"mailparser": "^3.9.11",
|
|
73
75
|
"@getbrevo/brevo": "^5.0.4",
|
|
76
|
+
"@kenjiuno/msgreader": "^1.28.0",
|
|
74
77
|
"@langchain/community": "^1.1.28",
|
|
75
78
|
"@langchain/core": "^1.1.48",
|
|
76
79
|
"@langchain/google-vertexai": "^2.1.31",
|
|
@@ -78,7 +81,7 @@
|
|
|
78
81
|
"@langchain/langgraph-checkpoint-redis": "^1.0.7",
|
|
79
82
|
"@langchain/openai": "^1.4.7",
|
|
80
83
|
"@langchain/textsplitters": "^1.0.1",
|
|
81
|
-
"
|
|
84
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
82
85
|
"@opentelemetry/api": "^1.9.1",
|
|
83
86
|
"@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
|
|
84
87
|
"@opentelemetry/instrumentation-http": "^0.218.0",
|
|
@@ -89,13 +92,6 @@
|
|
|
89
92
|
"@sendgrid/mail": "^8.1.6",
|
|
90
93
|
"@simplewebauthn/server": "^13.3.0",
|
|
91
94
|
"adm-zip": "^0.5.17",
|
|
92
|
-
"gray-matter": "^4.0.3",
|
|
93
|
-
"mdast-util-mdx": "^3.0.0",
|
|
94
|
-
"mdast-util-to-markdown": "^2.1.2",
|
|
95
|
-
"remark-mdx": "^3.1.1",
|
|
96
|
-
"remark-parse": "^11.0.0",
|
|
97
|
-
"unified": "^11.0.5",
|
|
98
|
-
"uuid": "^14.0.0",
|
|
99
95
|
"ai": "^6.0.5",
|
|
100
96
|
"axios": "^1.16.1",
|
|
101
97
|
"bcrypt": "^6.0.0",
|
|
@@ -108,14 +104,19 @@
|
|
|
108
104
|
"docx-templates": "^4.15.0",
|
|
109
105
|
"fast-xml-parser": "^5.8.0",
|
|
110
106
|
"fastify": "^5.8.5",
|
|
107
|
+
"gray-matter": "^4.0.3",
|
|
111
108
|
"handlebars": "^4.7.9",
|
|
112
109
|
"ioredis": "^5.10.1",
|
|
113
110
|
"js-yaml": "^4.1.1",
|
|
114
111
|
"jszip": "^3.10.1",
|
|
112
|
+
"langsmith": "^0.7.5",
|
|
115
113
|
"libreoffice-convert": "^1.8.1",
|
|
116
114
|
"lodash": "^4.18.1",
|
|
115
|
+
"mailparser": "^3.9.11",
|
|
117
116
|
"marked": "^18.0.4",
|
|
118
117
|
"mathjs": "^15.2.0",
|
|
118
|
+
"mdast-util-mdx": "^3.0.0",
|
|
119
|
+
"mdast-util-to-markdown": "^2.1.2",
|
|
119
120
|
"natural": "^8.1.1",
|
|
120
121
|
"necord": "^6.14.0",
|
|
121
122
|
"neo4j-driver": "^6.0.1",
|
|
@@ -136,12 +137,16 @@
|
|
|
136
137
|
"qrcode": "^1.5.4",
|
|
137
138
|
"qs": "^6.15.2",
|
|
138
139
|
"reflect-metadata": "^0.2.2",
|
|
140
|
+
"remark-mdx": "^3.1.1",
|
|
141
|
+
"remark-parse": "^11.0.0",
|
|
139
142
|
"rxjs": "^7.8.2",
|
|
140
143
|
"sharp": "^0.34.5",
|
|
141
144
|
"socket.io": "^4.8.3",
|
|
142
145
|
"stripe": "^20.3.1",
|
|
143
146
|
"tslib": "^2.8.1",
|
|
144
147
|
"turndown": "^7.2.4",
|
|
148
|
+
"unified": "^11.0.5",
|
|
149
|
+
"uuid": "^14.0.0",
|
|
145
150
|
"web-push": "^3.6.7",
|
|
146
151
|
"xlsx-republish": "^0.20.3",
|
|
147
152
|
"zod": "^4.4.3"
|
|
@@ -161,12 +166,12 @@
|
|
|
161
166
|
"@types/mailparser": "^3.4.6",
|
|
162
167
|
"@types/mdast": "^4.0.4",
|
|
163
168
|
"@types/node": "^25.9.1",
|
|
164
|
-
"@types/uuid": "^10.0.0",
|
|
165
169
|
"@types/nodemailer": "^8.0.0",
|
|
166
170
|
"@types/passport-jwt": "^4.0.1",
|
|
167
171
|
"@types/qrcode": "^1.5.6",
|
|
168
172
|
"@types/qs": "^6.15.1",
|
|
169
173
|
"@types/turndown": "^5.0.6",
|
|
174
|
+
"@types/uuid": "^10.0.0",
|
|
170
175
|
"@typescript-eslint/eslint-plugin": "^8.59.4",
|
|
171
176
|
"@typescript-eslint/parser": "^8.59.4",
|
|
172
177
|
"@vitest/coverage-v8": "^4.1.7",
|