@vezlo/assistant-server 2.10.0 โ 2.11.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/README.md +1 -0
- package/database-schema.sql +44 -0
- package/dist/src/bootstrap/initializeServices.d.ts +5 -0
- package/dist/src/bootstrap/initializeServices.d.ts.map +1 -1
- package/dist/src/bootstrap/initializeServices.js +20 -4
- package/dist/src/bootstrap/initializeServices.js.map +1 -1
- package/dist/src/controllers/ChatController.d.ts +3 -0
- package/dist/src/controllers/ChatController.d.ts.map +1 -1
- package/dist/src/controllers/ChatController.js +75 -15
- package/dist/src/controllers/ChatController.js.map +1 -1
- package/dist/src/controllers/DatabaseToolConfigController.d.ts +81 -0
- package/dist/src/controllers/DatabaseToolConfigController.d.ts.map +1 -0
- package/dist/src/controllers/DatabaseToolConfigController.js +524 -0
- package/dist/src/controllers/DatabaseToolConfigController.js.map +1 -0
- package/dist/src/controllers/KnowledgeController.js +4 -4
- package/dist/src/controllers/KnowledgeController.js.map +1 -1
- package/dist/src/migrations/011_create_database_tool_configs.d.ts +4 -0
- package/dist/src/migrations/011_create_database_tool_configs.d.ts.map +1 -0
- package/dist/src/migrations/011_create_database_tool_configs.js +49 -0
- package/dist/src/migrations/011_create_database_tool_configs.js.map +1 -0
- package/dist/src/server.js +399 -0
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/AIService.d.ts +3 -0
- package/dist/src/services/AIService.d.ts.map +1 -1
- package/dist/src/services/AIService.js +5 -0
- package/dist/src/services/AIService.js.map +1 -1
- package/dist/src/services/DatabaseToolConfigService.d.ts +133 -0
- package/dist/src/services/DatabaseToolConfigService.d.ts.map +1 -0
- package/dist/src/services/DatabaseToolConfigService.js +442 -0
- package/dist/src/services/DatabaseToolConfigService.js.map +1 -0
- package/dist/src/services/DatabaseToolService.d.ts +75 -0
- package/dist/src/services/DatabaseToolService.d.ts.map +1 -0
- package/dist/src/services/DatabaseToolService.js +299 -0
- package/dist/src/services/DatabaseToolService.js.map +1 -0
- package/dist/src/services/IntentService.d.ts +12 -1
- package/dist/src/services/IntentService.d.ts.map +1 -1
- package/dist/src/services/IntentService.js +35 -5
- package/dist/src/services/IntentService.js.map +1 -1
- package/dist/src/services/ResponseGenerationService.d.ts +5 -3
- package/dist/src/services/ResponseGenerationService.d.ts.map +1 -1
- package/dist/src/services/ResponseGenerationService.js +29 -4
- package/dist/src/services/ResponseGenerationService.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,15 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ResponseGenerationService = void 0;
|
|
7
7
|
const logger_1 = __importDefault(require("../config/logger"));
|
|
8
8
|
class ResponseGenerationService {
|
|
9
|
-
constructor(intentService, aiService, chatHistoryLength) {
|
|
9
|
+
constructor(intentService, aiService, chatHistoryLength, databaseToolService) {
|
|
10
10
|
this.intentService = intentService;
|
|
11
11
|
this.aiService = aiService;
|
|
12
|
+
this.databaseToolService = databaseToolService;
|
|
12
13
|
this.chatHistoryLength = chatHistoryLength;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
|
-
* Classify user intent
|
|
16
|
+
* Classify user intent with dynamic tool support
|
|
16
17
|
*/
|
|
17
|
-
async classifyIntent(message, history) {
|
|
18
|
+
async classifyIntent(message, history, companyId) {
|
|
18
19
|
if (!this.intentService) {
|
|
19
20
|
return {
|
|
20
21
|
intent: 'knowledge',
|
|
@@ -24,9 +25,28 @@ class ResponseGenerationService {
|
|
|
24
25
|
}
|
|
25
26
|
const resolvedHistory = Array.isArray(history) ? history : [];
|
|
26
27
|
logger_1.default.info('๐งญ Classifying user intent...');
|
|
28
|
+
// Fetch available tools if companyId provided and databaseToolService exists
|
|
29
|
+
let availableTools = [];
|
|
30
|
+
if (companyId && this.databaseToolService) {
|
|
31
|
+
try {
|
|
32
|
+
const toolDefinitions = await this.databaseToolService.getToolsForCompany(companyId);
|
|
33
|
+
availableTools = toolDefinitions.map((tool) => ({
|
|
34
|
+
name: tool.function.name,
|
|
35
|
+
description: tool.function.description,
|
|
36
|
+
parameters: tool.function.parameters
|
|
37
|
+
}));
|
|
38
|
+
if (availableTools.length > 0) {
|
|
39
|
+
logger_1.default.info(`๐ง Loaded ${availableTools.length} dynamic tools for company ${companyId}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
logger_1.default.error('Failed to load dynamic tools:', error);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
27
46
|
return this.intentService.classify({
|
|
28
47
|
message,
|
|
29
|
-
conversationHistory: resolvedHistory
|
|
48
|
+
conversationHistory: resolvedHistory,
|
|
49
|
+
availableTools: availableTools.length > 0 ? availableTools : undefined
|
|
30
50
|
});
|
|
31
51
|
}
|
|
32
52
|
/**
|
|
@@ -39,6 +59,11 @@ class ResponseGenerationService {
|
|
|
39
59
|
return `I can help with documentation or implementation guidance, but I can't share credentials or confidential configuration. Please contact your system administrator or support for access.`;
|
|
40
60
|
}
|
|
41
61
|
logger_1.default.info(`๐งพ Intent result: ${result.intent}${result.needsGuardrail ? ' (guardrail triggered)' : ''}`);
|
|
62
|
+
// Database tool intent - return null (handled by ChatController)
|
|
63
|
+
if (result.intent === 'database_tool') {
|
|
64
|
+
logger_1.default.info('๐ง Database tool intent detected; will be handled separately.');
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
42
67
|
// For non-knowledge intents, return the response content to be streamed
|
|
43
68
|
if (result.intent !== 'knowledge') {
|
|
44
69
|
const responseContent = result.response || this.getFallbackResponse(result.intent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationService.js","sourceRoot":"","sources":["../../../src/services/ResponseGenerationService.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ResponseGenerationService.js","sourceRoot":"","sources":["../../../src/services/ResponseGenerationService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vezlo/assistant-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Production-ready AI Assistant Server with advanced RAG (chunk-based semantic search + adjacent retrieval), conversation management, real-time communication, and human agent handoff",
|
|
5
5
|
"main": "dist/src/server.js",
|
|
6
6
|
"types": "dist/src/server.d.ts",
|