@vezlo/assistant-server 2.9.0 → 2.10.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 +9 -0
- package/dist/src/bootstrap/initializeServices.d.ts +2 -0
- package/dist/src/bootstrap/initializeServices.d.ts.map +1 -1
- package/dist/src/bootstrap/initializeServices.js +7 -2
- 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 +16 -2
- package/dist/src/controllers/ChatController.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 +25 -2
- package/dist/src/services/AIService.js.map +1 -1
- package/dist/src/services/IntentService.d.ts.map +1 -1
- package/dist/src/services/IntentService.js +2 -1
- package/dist/src/services/IntentService.js.map +1 -1
- package/dist/src/services/KnowledgeBaseService.d.ts +4 -0
- package/dist/src/services/KnowledgeBaseService.d.ts.map +1 -1
- package/dist/src/services/KnowledgeBaseService.js +5 -1
- package/dist/src/services/KnowledgeBaseService.js.map +1 -1
- package/dist/src/services/ResponseGenerationService.d.ts +6 -1
- package/dist/src/services/ResponseGenerationService.d.ts.map +1 -1
- package/dist/src/services/ResponseGenerationService.js +22 -3
- package/dist/src/services/ResponseGenerationService.js.map +1 -1
- package/dist/src/services/ResponseStreamingService.d.ts +13 -1
- package/dist/src/services/ResponseStreamingService.d.ts.map +1 -1
- package/dist/src/services/ResponseStreamingService.js +50 -9
- package/dist/src/services/ResponseStreamingService.js.map +1 -1
- package/dist/src/services/ValidationService.d.ts +16 -0
- package/dist/src/services/ValidationService.d.ts.map +1 -0
- package/dist/src/services/ValidationService.js +83 -0
- package/dist/src/services/ValidationService.js.map +1 -0
- package/env.example +9 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -32,6 +32,7 @@ See [CHANGELOG.md](./CHANGELOG.md) for complete migration guide.
|
|
|
32
32
|
## 🏗️ Architecture
|
|
33
33
|
|
|
34
34
|
- **Backend APIs** - RESTful API endpoints for AI chat and knowledge management
|
|
35
|
+
- **AI Response Validation** - LLM-as-Judge validation with developer/user modes via `@vezlo/ai-validator`
|
|
35
36
|
- **Real-time Communication** - WebSocket support for live chat with Supabase Realtime broadcasting
|
|
36
37
|
- **Human Agent Handoff** - Agent join/leave workflows with realtime status updates and message synchronization
|
|
37
38
|
- **Advanced RAG System** - Chunk-based semantic search with adjacent retrieval using OpenAI text-embedding-3-large (3072 dims) and pgvector
|
|
@@ -151,6 +152,14 @@ AI_MODEL=gpt-4o
|
|
|
151
152
|
|
|
152
153
|
# Migration Security
|
|
153
154
|
MIGRATION_SECRET_KEY=your-secure-migration-key-here
|
|
155
|
+
|
|
156
|
+
# AI Response Validation (Optional)
|
|
157
|
+
AI_VALIDATION_ENABLED=false
|
|
158
|
+
|
|
159
|
+
# Developer Mode (Optional)
|
|
160
|
+
# true = Strict code grounding for technical queries
|
|
161
|
+
# false = User-friendly generic responses
|
|
162
|
+
DEVELOPER_MODE=false
|
|
154
163
|
```
|
|
155
164
|
|
|
156
165
|
#### 3. Run Database Migrations (Recommended)
|
|
@@ -13,6 +13,7 @@ import { CompanyService } from '../services/CompanyService';
|
|
|
13
13
|
import { CompanyController } from '../controllers/CompanyController';
|
|
14
14
|
import { SlackService } from '../services/SlackService';
|
|
15
15
|
import { SlackController } from '../controllers/SlackController';
|
|
16
|
+
import { ValidationService } from '../services/ValidationService';
|
|
16
17
|
export interface ServiceInitOptions {
|
|
17
18
|
supabase: SupabaseClient;
|
|
18
19
|
tablePrefix?: string;
|
|
@@ -30,6 +31,7 @@ export interface InitializedCoreServices {
|
|
|
30
31
|
companyService: CompanyService;
|
|
31
32
|
citationService: CitationService;
|
|
32
33
|
slackService: SlackService;
|
|
34
|
+
validationService: ValidationService;
|
|
33
35
|
};
|
|
34
36
|
controllers: {
|
|
35
37
|
chatController: ChatController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializeServices.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/initializeServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"initializeServices.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/initializeServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE;QACR,OAAO,EAAE,cAAc,CAAC;QACxB,aAAa,EAAE,oBAAoB,CAAC;QACpC,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;QACzB,aAAa,EAAE,aAAa,CAAC;QAC7B,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,eAAe,CAAC;QACjC,YAAY,EAAE,YAAY,CAAC;QAC3B,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;IACF,WAAW,EAAE;QACX,cAAc,EAAE,cAAc,CAAC;QAC/B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,cAAc,EAAE,cAAc,CAAC;QAC/B,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;IACF,MAAM,EAAE;QACN,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAKD,wBAAgB,oBAAoB,IAAI,MAAM,CAa7C;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,uBAAuB,CA+H3F"}
|
|
@@ -22,6 +22,7 @@ const IntentService_1 = require("../services/IntentService");
|
|
|
22
22
|
const RealtimePublisher_1 = require("../services/RealtimePublisher");
|
|
23
23
|
const SlackService_1 = require("../services/SlackService");
|
|
24
24
|
const SlackController_1 = require("../controllers/SlackController");
|
|
25
|
+
const ValidationService_1 = require("../services/ValidationService");
|
|
25
26
|
const DEFAULT_CHAT_HISTORY_LENGTH = 2;
|
|
26
27
|
const DEFAULT_CONVERSATION_TIMEOUT = 3600000; // 1 hour
|
|
27
28
|
function getChatHistoryLength() {
|
|
@@ -93,10 +94,13 @@ function initializeCoreServices(options) {
|
|
|
93
94
|
else {
|
|
94
95
|
logger_1.default.warn('⚠️ Realtime publisher not initialized (missing SUPABASE_URL or SUPABASE_SERVICE_KEY)');
|
|
95
96
|
}
|
|
97
|
+
// Initialize Validation service
|
|
98
|
+
const validationService = new ValidationService_1.ValidationService(process.env.AI_VALIDATION_ENABLED === 'true');
|
|
96
99
|
const chatController = new ChatController_1.ChatController(chatManager, storage, supabase, {
|
|
97
100
|
historyLength: resolvedHistoryLength,
|
|
98
101
|
intentService,
|
|
99
|
-
realtimePublisher
|
|
102
|
+
realtimePublisher,
|
|
103
|
+
validationService
|
|
100
104
|
});
|
|
101
105
|
const knowledgeController = new KnowledgeController_1.KnowledgeController(knowledgeBase, aiService, citationService);
|
|
102
106
|
const authController = new AuthController_1.AuthController(supabase);
|
|
@@ -116,7 +120,8 @@ function initializeCoreServices(options) {
|
|
|
116
120
|
chatManager,
|
|
117
121
|
apiKeyService,
|
|
118
122
|
companyService,
|
|
119
|
-
slackService
|
|
123
|
+
slackService,
|
|
124
|
+
validationService
|
|
120
125
|
},
|
|
121
126
|
controllers: {
|
|
122
127
|
chatController,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializeServices.js","sourceRoot":"","sources":["../../../src/bootstrap/initializeServices.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"initializeServices.js","sourceRoot":"","sources":["../../../src/bootstrap/initializeServices.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { UnifiedStorage } from '../storage/UnifiedStorage';
|
|
|
5
5
|
import { AuthenticatedRequest } from '../middleware/auth';
|
|
6
6
|
import { IntentService } from '../services/IntentService';
|
|
7
7
|
import { RealtimePublisher } from '../services/RealtimePublisher';
|
|
8
|
+
import { ValidationService } from '../services/ValidationService';
|
|
8
9
|
export declare class ChatController {
|
|
9
10
|
private chatManager;
|
|
10
11
|
private storage;
|
|
@@ -14,10 +15,12 @@ export declare class ChatController {
|
|
|
14
15
|
private realtimePublisher?;
|
|
15
16
|
private responseGenerationService;
|
|
16
17
|
private responseStreamingService;
|
|
18
|
+
private validationService?;
|
|
17
19
|
constructor(chatManager: ChatManager, storage: UnifiedStorage, supabase: SupabaseClient, options?: {
|
|
18
20
|
historyLength?: number;
|
|
19
21
|
intentService?: IntentService;
|
|
20
22
|
realtimePublisher?: RealtimePublisher;
|
|
23
|
+
validationService?: ValidationService;
|
|
21
24
|
});
|
|
22
25
|
createConversation(req: AuthenticatedRequest, res: Response): Promise<void>;
|
|
23
26
|
createUserMessage(req: Request, res: Response): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatController.d.ts","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatController.d.ts","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAG5C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;KAAO;IAsBjJ,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4I3E,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyF7D,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgMzE,eAAe,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDxE,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DhF,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuGzE,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoG1E,mBAAmB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6E5E,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmGzE,oBAAoB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoE7E,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9D,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgEjF,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAmCzE,2BAA2B;YA4B3B,oBAAoB;CA4EnC"}
|
|
@@ -16,6 +16,7 @@ class ChatController {
|
|
|
16
16
|
this.chatHistoryLength = typeof historyLength === 'number' && historyLength > 0 ? historyLength : 2;
|
|
17
17
|
this.intentService = options.intentService;
|
|
18
18
|
this.realtimePublisher = options.realtimePublisher;
|
|
19
|
+
this.validationService = options.validationService;
|
|
19
20
|
// Initialize services
|
|
20
21
|
const aiService = chatManager.aiService;
|
|
21
22
|
this.responseGenerationService = new ResponseGenerationService_1.ResponseGenerationService(this.intentService, aiService, this.chatHistoryLength);
|
|
@@ -280,7 +281,7 @@ class ChatController {
|
|
|
280
281
|
const companyIdRaw = req.profile?.companyId || conversation?.organizationId;
|
|
281
282
|
const companyId = companyIdRaw ? (typeof companyIdRaw === 'string' ? parseInt(companyIdRaw, 10) : companyIdRaw) : undefined;
|
|
282
283
|
// Search knowledge base and extract sources
|
|
283
|
-
const { knowledgeResults, sources: extractedSources } = await this.responseGenerationService.searchKnowledgeBase(userMessageContent, companyId);
|
|
284
|
+
const { knowledgeResults, sources: extractedSources, chunks: knowledgeChunks } = await this.responseGenerationService.searchKnowledgeBase(userMessageContent, companyId);
|
|
284
285
|
sources = extractedSources;
|
|
285
286
|
// Build context for AI
|
|
286
287
|
const chatContext = this.responseGenerationService.buildChatContext(messages, knowledgeResults);
|
|
@@ -290,7 +291,20 @@ class ChatController {
|
|
|
290
291
|
}
|
|
291
292
|
// Stream response from OpenAI
|
|
292
293
|
const stream = aiService.generateResponseStream(userMessageContent, chatContext);
|
|
293
|
-
|
|
294
|
+
// Create validation callback if service is available
|
|
295
|
+
const validationCallback = this.validationService && knowledgeChunks.length > 0
|
|
296
|
+
? async (response, query) => {
|
|
297
|
+
try {
|
|
298
|
+
// Use individual chunks for accurate validation
|
|
299
|
+
return await this.validationService.validateResponse(query, response, knowledgeChunks);
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
logger_1.default.error('Validation error:', error);
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
: null;
|
|
307
|
+
accumulatedContent = await this.responseStreamingService.streamAIResponse(stream, res, sources, knowledgeResults, validationCallback, userMessageContent);
|
|
294
308
|
}
|
|
295
309
|
// Save the message after streaming completes
|
|
296
310
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatController.js","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatController.js","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,9 @@ export declare class AIService {
|
|
|
16
16
|
/**
|
|
17
17
|
* Generate streaming response from OpenAI
|
|
18
18
|
* Returns an async generator that yields content chunks and final response
|
|
19
|
+
*
|
|
20
|
+
* Note: Tool calling is not supported in streaming mode.
|
|
21
|
+
* If tools are needed, the system will fall back to non-streaming mode.
|
|
19
22
|
*/
|
|
20
23
|
generateResponseStream(message: string, context?: ChatContext | any): AsyncGenerator<{
|
|
21
24
|
chunk: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.d.ts","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAuB;gBAExC,MAAM,EAAE,eAAe;IAenC,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"AIService.d.ts","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAuB;gBAExC,MAAM,EAAE,eAAe;IAenC,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAO5D,OAAO,CAAC,iBAAiB;IAuDzB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,qBAAqB;IASvB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAqFzF;;;;;;OAMG;IACI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAAG,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAuHlK,OAAO,CAAC,iBAAiB;CAsB1B"}
|
|
@@ -26,10 +26,18 @@ class AIService {
|
|
|
26
26
|
buildSystemPrompt() {
|
|
27
27
|
const orgName = this.config.organizationName || 'Your Organization';
|
|
28
28
|
const assistantName = this.config.assistantName || `${orgName} AI Assistant`;
|
|
29
|
+
const developerMode = process.env.DEVELOPER_MODE === 'true';
|
|
29
30
|
const introduction = `You are ${assistantName}, the primary AI guide for the ${orgName} platform and its knowledge base.
|
|
30
31
|
|
|
31
32
|
${this.config.platformDescription || `${orgName} helps teams capture product knowledge, documentation, and technical context so they can move faster with confidence.`}`;
|
|
32
|
-
const capabilities =
|
|
33
|
+
const capabilities = developerMode
|
|
34
|
+
? `## Core Capabilities (Developer Mode):
|
|
35
|
+
1. Analyze and explain code structure, functions, components, and implementation details.
|
|
36
|
+
2. Reference specific files, functions, classes, and code patterns from the knowledge base.
|
|
37
|
+
3. Provide technical guidance grounded STRICTLY in the actual codebase implementation.
|
|
38
|
+
4. Highlight code dependencies, function calls, and architectural patterns.
|
|
39
|
+
5. NEVER provide generic advice—always cite specific code elements from the sources.`
|
|
40
|
+
: `## Core Capabilities:
|
|
33
41
|
1. Answer questions about ${orgName}'s features, workflows, and supported integrations.
|
|
34
42
|
2. Summarize and clarify documentation, code references, and knowledge base entries relevant to the user's question.
|
|
35
43
|
3. Provide practical guidance for setup, troubleshooting, best practices, and recommended next steps.
|
|
@@ -37,7 +45,19 @@ ${this.config.platformDescription || `${orgName} helps teams capture product kno
|
|
|
37
45
|
5. Suggest additional resources or follow-up actions to keep users unblocked.`;
|
|
38
46
|
const knowledgeBaseSection = this.buildKnowledgeBaseSection();
|
|
39
47
|
const guardrails = this.buildGuardrailsPrompt();
|
|
40
|
-
const guidelines =
|
|
48
|
+
const guidelines = developerMode
|
|
49
|
+
? `## Conversational Guidelines (Developer Mode - STRICT):
|
|
50
|
+
1. **MANDATORY**: Reference specific code files, functions, components, and variables from knowledge base.
|
|
51
|
+
2. **CODE GROUNDING**: Every statement must cite actual code implementation details.
|
|
52
|
+
3. **NO GENERIC ANSWERS**: Never give general programming advice. Only explain what EXISTS in the codebase.
|
|
53
|
+
4. **FORMAT**: Start with "Based on [FileName.ext], the [function/component] implements..."
|
|
54
|
+
5. **CRITICAL**: If knowledge base contains code, explain HOW it works, not generic "how to" steps.
|
|
55
|
+
6. If no relevant code found, respond: "I couldn't find implementation details for this in the codebase. Please verify the code exists or contact the development team."
|
|
56
|
+
7. **Example Good Response**: "Based on RewardOrderDetailDialog.js, the handleRedemption() function processes rewards by calling rewardService.redeem() with the reward ID..."
|
|
57
|
+
8. **Example Bad Response**: "To redeem a reward, follow these steps: 1. Navigate to rewards section..."
|
|
58
|
+
|
|
59
|
+
**Remember**: You are analyzing an existing codebase for developers/PMs. Always ground responses in actual code.`
|
|
60
|
+
: `## Conversational Guidelines:
|
|
41
61
|
1. Be professional, concise, and oriented toward practical guidance.
|
|
42
62
|
2. **CRITICAL**: Answer ONLY using the "Relevant information from knowledge base" section provided above. Do NOT use your general training knowledge.
|
|
43
63
|
3. **Context Usage**: Use conversation history ONLY for context (pronouns, continuity). Use knowledge base chunks for answers.
|
|
@@ -145,6 +165,9 @@ The knowledge base contains curated content ingested through the src-to-kb pipel
|
|
|
145
165
|
/**
|
|
146
166
|
* Generate streaming response from OpenAI
|
|
147
167
|
* Returns an async generator that yields content chunks and final response
|
|
168
|
+
*
|
|
169
|
+
* Note: Tool calling is not supported in streaming mode.
|
|
170
|
+
* If tools are needed, the system will fall back to non-streaming mode.
|
|
148
171
|
*/
|
|
149
172
|
async *generateResponseStream(message, context) {
|
|
150
173
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAS5B,8DAAsC;AAEtC,MAAa,SAAS;IAQpB,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAEhD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC/C,CAAC;IAED,uBAAuB,CAAC,OAA6B;QACnD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntentService.d.ts","sourceRoot":"","sources":["../../../src/services/IntentService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,KAAK,WAAW,GACZ,WAAW,GACX,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,WAAW,GACX,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;CACrC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,MAAM,EAAE,mBAAmB;IASjC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAmC/E,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"IntentService.d.ts","sourceRoot":"","sources":["../../../src/services/IntentService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,KAAK,WAAW,GACZ,WAAW,GACX,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,WAAW,GACX,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;CACrC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,MAAM,EAAE,mBAAmB;IASjC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAmC/E,OAAO,CAAC,qBAAqB;IAyE7B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -48,13 +48,14 @@ class IntentService {
|
|
|
48
48
|
const history = input.conversationHistory || [];
|
|
49
49
|
// Use all provided history (already limited by CHAT_HISTORY_LENGTH in ChatController)
|
|
50
50
|
// No need to trim further - respect the configured limit
|
|
51
|
+
const intentList = '["knowledge","greeting","acknowledgment","personality","clarification","guardrail","human_support_request","human_support_email"]';
|
|
51
52
|
const systemMessage = {
|
|
52
53
|
role: 'system',
|
|
53
54
|
content: `You are an intent classifier for ${this.assistantName}, the AI assistant for ${this.organizationName}.
|
|
54
55
|
Your job is to analyse the latest user message (with short conversation history) and decide how the assistant should respond.
|
|
55
56
|
|
|
56
57
|
Return a JSON object with:
|
|
57
|
-
- intent: one of
|
|
58
|
+
- intent: one of ${intentList}
|
|
58
59
|
- reason: brief justification
|
|
59
60
|
- response: a natural, contextual assistant response appropriate for this intent (ONLY for non-knowledge intents; leave empty for "knowledge")
|
|
60
61
|
- needs_guardrail: true if the user is requesting sensitive credentials or configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntentService.js","sourceRoot":"","sources":["../../../src/services/IntentService.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,8DAAsC;AAgCtC,MAAa,aAAa;IAMxB,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,cAAc,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,mBAAmB,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA0B;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAEjD,gBAAM,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAEnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC3D,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,GAAG;gBACf,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACzC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;YAE3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAEtC,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;gBACtC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC/C,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,CAAC,CAAC;YACjF,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAA0B;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAChD,sFAAsF;QACtF,yDAAyD;QAEzD,MAAM,aAAa,GAAuD;YACxE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,oCAAoC,IAAI,CAAC,aAAa,0BAA0B,IAAI,CAAC,gBAAgB
|
|
1
|
+
{"version":3,"file":"IntentService.js","sourceRoot":"","sources":["../../../src/services/IntentService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnowledgeBaseService.d.ts","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,eAAO,MAAM,eAAe,2BAA2B,CAAC;AACxD,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"KnowledgeBaseService.d.ts","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"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"}
|
|
@@ -412,7 +412,11 @@ class KnowledgeBaseService {
|
|
|
412
412
|
...firstChunk.document_metadata,
|
|
413
413
|
chunk_count: chunks.length,
|
|
414
414
|
chunk_range: `${chunks[0].chunk_index}-${chunks[chunks.length - 1].chunk_index}`
|
|
415
|
-
}
|
|
415
|
+
},
|
|
416
|
+
raw_chunks: chunks.map(c => ({
|
|
417
|
+
chunk_text: c.chunk_text,
|
|
418
|
+
chunk_index: c.chunk_index
|
|
419
|
+
}))
|
|
416
420
|
});
|
|
417
421
|
});
|
|
418
422
|
// Sort by score (highest first)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnowledgeBaseService.js","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KnowledgeBaseService.js","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@ export interface KnowledgeSearchResult {
|
|
|
8
8
|
document_title: string;
|
|
9
9
|
chunk_indices: number[];
|
|
10
10
|
}>;
|
|
11
|
+
chunks: Array<{
|
|
12
|
+
chunk_text: string;
|
|
13
|
+
document_title: string;
|
|
14
|
+
document_uuid: string;
|
|
15
|
+
}>;
|
|
11
16
|
}
|
|
12
17
|
export interface GenerationResult {
|
|
13
18
|
type: 'intent' | 'knowledge';
|
|
@@ -36,7 +41,7 @@ export declare class ResponseGenerationService {
|
|
|
36
41
|
classifyIntent(message: string, history: ChatMessage[]): Promise<IntentClassificationResult>;
|
|
37
42
|
/**
|
|
38
43
|
* Handle intent classification result
|
|
39
|
-
* Returns response content if non-knowledge intent, null if knowledge intent
|
|
44
|
+
* Returns response content if non-knowledge intent, null if knowledge/tool intent
|
|
40
45
|
*/
|
|
41
46
|
handleIntentResult(result: IntentClassificationResult, userMessageContent: string): string | null;
|
|
42
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationService.d.ts","sourceRoot":"","sources":["../../../src/services/ResponseGenerationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE;QACjB,mBAAmB,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;CACJ;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,iBAAiB,CAAS;gBAGhC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,iBAAiB,EAAE,MAAM;IAO3B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAkBlG;;;OAGG;IACH,kBAAkB,CAChB,MAAM,EAAE,0BAA0B,EAClC,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI;IAmBhB;;OAEG;IACG,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponseGenerationService.d.ts","sourceRoot":"","sources":["../../../src/services/ResponseGenerationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE;QACjB,mBAAmB,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;CACJ;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,iBAAiB,CAAS;gBAGhC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,iBAAiB,EAAE,MAAM;IAO3B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAkBlG;;;OAGG;IACH,kBAAkB,CAChB,MAAM,EAAE,0BAA0B,EAClC,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI;IAmBhB;;OAEG;IACG,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IA6GjC;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,WAAW,EAAE,EACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B;QACD,mBAAmB,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;IAUD;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa5B"}
|
|
@@ -31,7 +31,7 @@ class ResponseGenerationService {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Handle intent classification result
|
|
34
|
-
* Returns response content if non-knowledge intent, null if knowledge intent
|
|
34
|
+
* Returns response content if non-knowledge intent, null if knowledge/tool intent
|
|
35
35
|
*/
|
|
36
36
|
handleIntentResult(result, userMessageContent) {
|
|
37
37
|
if (result.needsGuardrail && result.intent !== 'guardrail') {
|
|
@@ -53,11 +53,12 @@ class ResponseGenerationService {
|
|
|
53
53
|
*/
|
|
54
54
|
async searchKnowledgeBase(query, companyId) {
|
|
55
55
|
const sources = [];
|
|
56
|
+
const chunks = [];
|
|
56
57
|
let knowledgeResults = null;
|
|
57
58
|
const aiServiceAny = this.aiService;
|
|
58
59
|
if (!aiServiceAny || !aiServiceAny.knowledgeBaseService) {
|
|
59
60
|
logger_1.default.warn('⚠️ AI service or knowledge base service not available');
|
|
60
|
-
return { knowledgeResults: null, sources: [] };
|
|
61
|
+
return { knowledgeResults: null, sources: [], chunks: [] };
|
|
61
62
|
}
|
|
62
63
|
try {
|
|
63
64
|
logger_1.default.info(`🔍 Searching KB: query="${query.substring(0, 50)}...", companyId=${companyId}`);
|
|
@@ -73,6 +74,24 @@ class ResponseGenerationService {
|
|
|
73
74
|
const content = result.content || '';
|
|
74
75
|
if (content.trim()) {
|
|
75
76
|
knowledgeResults += `- ${title}: ${content}\n`;
|
|
77
|
+
// Store individual raw chunks for validation (not merged content)
|
|
78
|
+
if (result.raw_chunks && result.raw_chunks.length > 0) {
|
|
79
|
+
result.raw_chunks.forEach((rawChunk) => {
|
|
80
|
+
chunks.push({
|
|
81
|
+
chunk_text: rawChunk.chunk_text,
|
|
82
|
+
document_title: title,
|
|
83
|
+
document_uuid: result.id
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Fallback: if no raw_chunks, use merged content
|
|
89
|
+
chunks.push({
|
|
90
|
+
chunk_text: content,
|
|
91
|
+
document_title: title,
|
|
92
|
+
document_uuid: result.id
|
|
93
|
+
});
|
|
94
|
+
}
|
|
76
95
|
// Extract chunk indices from metadata.chunk_range (e.g., "0-2" -> [0,1,2])
|
|
77
96
|
let chunkIndices = [];
|
|
78
97
|
if (result.metadata?.chunk_range) {
|
|
@@ -125,7 +144,7 @@ class ResponseGenerationService {
|
|
|
125
144
|
logger_1.default.error('Failed to search knowledge base:', error);
|
|
126
145
|
knowledgeResults = null;
|
|
127
146
|
}
|
|
128
|
-
return { knowledgeResults, sources };
|
|
147
|
+
return { knowledgeResults, sources, chunks };
|
|
129
148
|
}
|
|
130
149
|
/**
|
|
131
150
|
* Build chat context for AI generation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationService.js","sourceRoot":"","sources":["../../../src/services/ResponseGenerationService.ts"],"names":[],"mappings":";;;;;;AAGA,8DAAsC;
|
|
1
|
+
{"version":3,"file":"ResponseGenerationService.js","sourceRoot":"","sources":["../../../src/services/ResponseGenerationService.ts"],"names":[],"mappings":";;;;;;AAGA,8DAAsC;AA8BtC,MAAa,yBAAyB;IAKpC,YACE,aAAwC,EACxC,SAAgC,EAChC,iBAAyB;QAEzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,OAAsB;QAC1D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,KAAK;gBACrB,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,gBAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YACjC,OAAO;YACP,mBAAmB,EAAE,eAAe;SACrC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAChB,MAAkC,EAClC,kBAA0B;QAE1B,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3D,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO,wLAAwL,CAAC;QAClM,CAAC;QAED,gBAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE1G,wEAAwE;QACxE,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnF,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,+FAA+F;QAC/F,gBAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,SAAkB;QAElB,MAAM,OAAO,GAIR,EAAE,CAAC;QACR,MAAM,MAAM,GAIP,EAAE,CAAC;QACR,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAgB,CAAC;QAC3C,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;YACxD,gBAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,gBAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;YAE7F,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC1E,KAAK,EAAE,CAAC;gBACR,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YAEH,gBAAM,CAAC,IAAI,CAAC,oCAAoC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAExE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,gBAAgB,GAAG,iDAAiD,CAAC;gBACrE,aAAa,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;oBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;oBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;oBACrC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACnB,gBAAgB,IAAI,KAAK,KAAK,KAAK,OAAO,IAAI,CAAC;wBAE/C,kEAAkE;wBAClE,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;gCAC1C,MAAM,CAAC,IAAI,CAAC;oCACV,UAAU,EAAE,QAAQ,CAAC,UAAU;oCAC/B,cAAc,EAAE,KAAK;oCACrB,aAAa,EAAE,MAAM,CAAC,EAAE;iCACzB,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,iDAAiD;4BACjD,MAAM,CAAC,IAAI,CAAC;gCACV,UAAU,EAAE,OAAO;gCACnB,cAAc,EAAE,KAAK;gCACrB,aAAa,EAAE,MAAM,CAAC,EAAE;6BACzB,CAAC,CAAC;wBACL,CAAC;wBAED,2EAA2E;wBAC3E,IAAI,YAAY,GAAa,EAAE,CAAC;wBAChC,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;4BACjC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;4BAChG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oCAClC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACvB,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,sDAAsD;wBACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;4BACtD,OAAO,CAAC,IAAI,CAAC;gCACX,aAAa,EAAE,MAAM,CAAC,EAAE;gCACxB,cAAc,EAAE,KAAK;gCACrB,aAAa,EAAE,YAAY;6BAC5B,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;4BAClE,IAAI,QAAQ,EAAE,CAAC;gCACb,sBAAsB;gCACtB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oCACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wCAC1C,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACnC,CAAC;gCACH,CAAC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,MAAM,YAAY,GAAG,iDAAiD,CAAC,MAAM,CAAC;gBAC9E,IAAI,gBAAgB,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC;oBAChD,gBAAM,CAAC,IAAI,CAAC,iCAAiC,gBAAgB,CAAC,MAAM,WAAW,aAAa,CAAC,MAAM,WAAW,CAAC,CAAC;oBAChH,gBAAM,CAAC,IAAI,CAAC,yBAAyB,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChF,CAAC;qBAAM,CAAC;oBACN,gBAAM,CAAC,IAAI,CAAC,kEAAkE,gBAAgB,CAAC,MAAM,iCAAiC,CAAC,CAAC;oBACxI,gBAAgB,GAAG,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,EAAE,CAAC;gBACtB,gBAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,gBAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACxD,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,gBAAgB,CACd,QAAuB,EACvB,gBAAgC;QAKhC,OAAO;YACL,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,EAAE,GAAG,CAAC,IAAuC;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;SAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAc;QACxC,MAAM,SAAS,GAA2B;YACxC,QAAQ,EAAE,kCAAkC;YAC5C,cAAc,EAAE,wDAAwD;YACxE,WAAW,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,cAAc,2BAA2B,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,mBAAmB,GAAG;YAClJ,aAAa,EAAE,uEAAuE;YACtF,SAAS,EAAE,wHAAwH;YACnI,qBAAqB,EAAE,iGAAiG;YACxH,mBAAmB,EAAE,4DAA4D;SAClF,CAAC;QAEF,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,gDAAgD,CAAC;IAC/E,CAAC;CACF;AA3ND,8DA2NC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Response } from 'express';
|
|
2
2
|
export declare class ResponseStreamingService {
|
|
3
|
+
/**
|
|
4
|
+
* Detect if AI response is an apology (couldn't find information)
|
|
5
|
+
*/
|
|
6
|
+
private isApologyResponse;
|
|
3
7
|
/**
|
|
4
8
|
* Stream text content word by word to simulate streaming
|
|
5
9
|
* This ensures consistent SSE format for all responses
|
|
@@ -16,7 +20,15 @@ export declare class ResponseStreamingService {
|
|
|
16
20
|
document_uuid: string;
|
|
17
21
|
document_title: string;
|
|
18
22
|
chunk_indices: number[];
|
|
19
|
-
}>, knowledgeResults?: string | null
|
|
23
|
+
}>, knowledgeResults?: string | null, validationCallback?: ((response: string, query: string) => Promise<{
|
|
24
|
+
confidence: number;
|
|
25
|
+
valid: boolean;
|
|
26
|
+
status: string;
|
|
27
|
+
accuracy: any;
|
|
28
|
+
context: any;
|
|
29
|
+
hallucination: any;
|
|
30
|
+
warnings: string[];
|
|
31
|
+
} | null>) | null, query?: string): Promise<string>;
|
|
20
32
|
/**
|
|
21
33
|
* Send completion event
|
|
22
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseStreamingService.d.ts","sourceRoot":"","sources":["../../../src/services/ResponseStreamingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,qBAAa,wBAAwB;IACnC;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtE;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAC7F,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,EACF,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ResponseStreamingService.d.ts","sourceRoot":"","sources":["../../../src/services/ResponseStreamingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,qBAAa,wBAAwB;IACnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtE;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAC7F,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,EACF,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,EAChC,kBAAkB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QACjE,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,GAAG,CAAC;QACd,OAAO,EAAE,GAAG,CAAC;QACb,aAAa,EAAE,GAAG,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAuElB;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI;IAWrH;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IASpE;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;CAMrC"}
|
|
@@ -6,6 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ResponseStreamingService = void 0;
|
|
7
7
|
const logger_1 = __importDefault(require("../config/logger"));
|
|
8
8
|
class ResponseStreamingService {
|
|
9
|
+
/**
|
|
10
|
+
* Detect if AI response is an apology (couldn't find information)
|
|
11
|
+
*/
|
|
12
|
+
isApologyResponse(response) {
|
|
13
|
+
const apologyPhrases = [
|
|
14
|
+
"i'm sorry",
|
|
15
|
+
"i am sorry",
|
|
16
|
+
"i couldn't find",
|
|
17
|
+
"i could not find",
|
|
18
|
+
"i don't have",
|
|
19
|
+
"i do not have",
|
|
20
|
+
"no relevant information",
|
|
21
|
+
"couldn't find the requested information",
|
|
22
|
+
"could not find the requested information",
|
|
23
|
+
"contact support",
|
|
24
|
+
"please contact"
|
|
25
|
+
];
|
|
26
|
+
const lowerResponse = response.toLowerCase();
|
|
27
|
+
return apologyPhrases.some(phrase => lowerResponse.includes(phrase));
|
|
28
|
+
}
|
|
9
29
|
/**
|
|
10
30
|
* Stream text content word by word to simulate streaming
|
|
11
31
|
* This ensures consistent SSE format for all responses
|
|
@@ -36,20 +56,45 @@ class ResponseStreamingService {
|
|
|
36
56
|
/**
|
|
37
57
|
* Stream AI response chunks with source handling
|
|
38
58
|
*/
|
|
39
|
-
async streamAIResponse(stream, res, sources, knowledgeResults) {
|
|
59
|
+
async streamAIResponse(stream, res, sources, knowledgeResults, validationCallback, query) {
|
|
40
60
|
let accumulatedContent = '';
|
|
41
61
|
let chunkCount = 0;
|
|
42
62
|
logger_1.default.info('🔄 Starting OpenAI stream...');
|
|
43
63
|
for await (const { chunk, done, fullContent } of stream) {
|
|
44
64
|
chunkCount++;
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
|
|
65
|
+
// Update accumulated content first
|
|
66
|
+
if (chunk) {
|
|
67
|
+
accumulatedContent += chunk;
|
|
68
|
+
}
|
|
69
|
+
// On last chunk, determine if we should include sources
|
|
70
|
+
let shouldIncludeSources = false;
|
|
71
|
+
let validation = null;
|
|
72
|
+
if (done && sources && sources.length > 0 && knowledgeResults && knowledgeResults.trim().length > 0) {
|
|
73
|
+
const finalContent = fullContent || accumulatedContent;
|
|
74
|
+
// Check if AI apologized (couldn't find info)
|
|
75
|
+
const isApology = this.isApologyResponse(finalContent);
|
|
76
|
+
if (!isApology) {
|
|
77
|
+
// Run validation if callback provided
|
|
78
|
+
if (validationCallback && query) {
|
|
79
|
+
validation = await validationCallback(finalContent, query);
|
|
80
|
+
// Include sources only if validation passed OR validation not enabled
|
|
81
|
+
shouldIncludeSources = !validation || validation.valid !== false;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// No validation enabled, include sources
|
|
85
|
+
shouldIncludeSources = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
logger_1.default.info('⚠️ Apology response detected - sources not sent');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
48
92
|
const chunkData = JSON.stringify({
|
|
49
93
|
type: 'chunk',
|
|
50
94
|
content: chunk,
|
|
51
95
|
done: done || false,
|
|
52
|
-
sources: shouldIncludeSources ? sources : undefined
|
|
96
|
+
sources: shouldIncludeSources ? sources : undefined,
|
|
97
|
+
validation: shouldIncludeSources && validation ? validation : undefined
|
|
53
98
|
});
|
|
54
99
|
// Log sources on last chunk for debugging
|
|
55
100
|
if (shouldIncludeSources) {
|
|
@@ -61,10 +106,6 @@ class ResponseStreamingService {
|
|
|
61
106
|
res.write(`data: ${chunkData}\n\n`);
|
|
62
107
|
if (res.flush)
|
|
63
108
|
res.flush();
|
|
64
|
-
// Update accumulated content
|
|
65
|
-
if (chunk) {
|
|
66
|
-
accumulatedContent += chunk;
|
|
67
|
-
}
|
|
68
109
|
// Log first and last chunks
|
|
69
110
|
if (chunkCount === 1) {
|
|
70
111
|
logger_1.default.info(`📤 First chunk sent: "${chunk.substring(0, 30)}..."`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseStreamingService.js","sourceRoot":"","sources":["../../../src/services/ResponseStreamingService.ts"],"names":[],"mappings":";;;;;;AACA,8DAAsC;AAEtC,MAAa,wBAAwB;IACnC;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,GAAa;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,mDAAmD;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,UAAU,KAAK,WAAW,CAAC;YAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,WAAW,EAAE,kCAAkC;gBACrD,OAAO,EAAE,SAAS,CAAC,mCAAmC;aACvD,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,CAAC;YAEpC,2DAA2D;YAC3D,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;YAED,iEAAiE;YACjE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAA6F,EAC7F,GAAa,EACb,OAIE,EACF,gBAAgC;
|
|
1
|
+
{"version":3,"file":"ResponseStreamingService.js","sourceRoot":"","sources":["../../../src/services/ResponseStreamingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ValidationResult } from '@vezlo/ai-validator';
|
|
2
|
+
export interface ValidationMetadata extends ValidationResult {
|
|
3
|
+
status: 'validated' | 'warning' | 'failed';
|
|
4
|
+
}
|
|
5
|
+
export declare class ValidationService {
|
|
6
|
+
private validator;
|
|
7
|
+
private enabled;
|
|
8
|
+
constructor(enabled: boolean);
|
|
9
|
+
validateResponse(query: string, response: string, chunks: Array<{
|
|
10
|
+
chunk_text: string;
|
|
11
|
+
document_title: string;
|
|
12
|
+
document_uuid: string;
|
|
13
|
+
embedding?: number[];
|
|
14
|
+
}>): Promise<ValidationMetadata | null>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ValidationService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidationService.d.ts","sourceRoot":"","sources":["../../../src/services/ValidationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGpE,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5C;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,OAAO;IAiCtB,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GACzG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CA0CtC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ValidationService = void 0;
|
|
7
|
+
const ai_validator_1 = require("@vezlo/ai-validator");
|
|
8
|
+
const logger_1 = __importDefault(require("../config/logger"));
|
|
9
|
+
class ValidationService {
|
|
10
|
+
constructor(enabled) {
|
|
11
|
+
this.validator = null;
|
|
12
|
+
this.enabled = enabled;
|
|
13
|
+
if (enabled) {
|
|
14
|
+
const openaiApiKey = process.env.OPENAI_API_KEY;
|
|
15
|
+
const developerMode = process.env.DEVELOPER_MODE === 'true';
|
|
16
|
+
if (!openaiApiKey) {
|
|
17
|
+
logger_1.default.warn('⚠️ AI Validation enabled but OPENAI_API_KEY not set - validation disabled');
|
|
18
|
+
this.enabled = false;
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
this.validator = new ai_validator_1.AIValidator({
|
|
23
|
+
openaiApiKey,
|
|
24
|
+
llmProvider: 'openai',
|
|
25
|
+
confidenceThreshold: 0.7,
|
|
26
|
+
enableQueryClassification: true,
|
|
27
|
+
enableContextValidation: true,
|
|
28
|
+
useLLMJudge: true,
|
|
29
|
+
developerMode: developerMode,
|
|
30
|
+
enableAccuracyCheck: true,
|
|
31
|
+
enableHallucinationDetection: true
|
|
32
|
+
});
|
|
33
|
+
logger_1.default.info(`✅ AI Validation service initialized (LLM Judge, ${developerMode ? 'Developer' : 'User'} Mode)`);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
logger_1.default.error('Failed to initialize AI Validation:', error);
|
|
37
|
+
this.enabled = false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async validateResponse(query, response, chunks) {
|
|
42
|
+
if (!this.validator) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
// Map chunks to validator format
|
|
47
|
+
const sources = chunks.map(chunk => ({
|
|
48
|
+
content: chunk.chunk_text,
|
|
49
|
+
title: chunk.document_title,
|
|
50
|
+
id: chunk.document_uuid,
|
|
51
|
+
embedding: chunk.embedding
|
|
52
|
+
}));
|
|
53
|
+
// Run validation
|
|
54
|
+
const result = await this.validator.validate({
|
|
55
|
+
query,
|
|
56
|
+
response,
|
|
57
|
+
sources
|
|
58
|
+
});
|
|
59
|
+
// Determine status
|
|
60
|
+
let status;
|
|
61
|
+
if (result.confidence >= 0.8) {
|
|
62
|
+
status = 'validated';
|
|
63
|
+
}
|
|
64
|
+
else if (result.confidence >= 0.5) {
|
|
65
|
+
status = 'warning';
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
status = 'failed';
|
|
69
|
+
}
|
|
70
|
+
logger_1.default.info(`🔍 Validation: ${status} (confidence: ${(result.confidence * 100).toFixed(1)}%)`);
|
|
71
|
+
return {
|
|
72
|
+
...result,
|
|
73
|
+
status
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
logger_1.default.error('Validation error:', error);
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ValidationService = ValidationService;
|
|
83
|
+
//# sourceMappingURL=ValidationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidationService.js","sourceRoot":"","sources":["../../../src/services/ValidationService.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAoE;AACpE,8DAAsC;AAMtC,MAAa,iBAAiB;IAI5B,YAAY,OAAgB;QAHpB,cAAS,GAAuB,IAAI,CAAC;QAI3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;YAE5D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,gBAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;gBACzF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAW,CAAC;oBAC/B,YAAY;oBACZ,WAAW,EAAE,QAAQ;oBACrB,mBAAmB,EAAE,GAAG;oBACxB,yBAAyB,EAAE,IAAI;oBAC/B,uBAAuB,EAAE,IAAI;oBAC7B,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,aAAa;oBAC5B,mBAAmB,EAAE,IAAI;oBACzB,4BAA4B,EAAE,IAAI;iBACnC,CAAC,CAAC;gBACH,gBAAM,CAAC,IAAI,CAAC,mDAAmD,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC/G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,QAAgB,EAChB,MAA0G;QAE1G,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO,EAAE,KAAK,CAAC,UAAU;gBACzB,KAAK,EAAE,KAAK,CAAC,cAAc;gBAC3B,EAAE,EAAE,KAAK,CAAC,aAAa;gBACvB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC,CAAC;YAEJ,iBAAiB;YACjB,MAAM,MAAM,GAAqB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAC7D,KAAK;gBACL,QAAQ;gBACR,OAAO;aACR,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,MAA0C,CAAC;YAC/C,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,WAAW,CAAC;YACvB,CAAC;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBACpC,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,QAAQ,CAAC;YACpB,CAAC;YAED,gBAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,iBAAiB,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE/F,OAAO;gBACL,GAAG,MAAM;gBACT,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAnFD,8CAmFC"}
|
package/env.example
CHANGED
|
@@ -55,3 +55,12 @@ MIGRATION_SECRET_KEY=your-secure-migration-key-here
|
|
|
55
55
|
# Get these from: https://api.slack.com/apps
|
|
56
56
|
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
|
|
57
57
|
SLACK_SIGNING_SECRET=your-slack-signing-secret
|
|
58
|
+
|
|
59
|
+
# AI Response Validation (Optional)
|
|
60
|
+
# Enables LLM-as-Judge for context validation (requires OPENAI_API_KEY)
|
|
61
|
+
AI_VALIDATION_ENABLED=false
|
|
62
|
+
|
|
63
|
+
# Developer Mode (Optional)
|
|
64
|
+
# true = Strict code grounding (for developers/PMs querying codebase)
|
|
65
|
+
# false = Friendly generic responses (for end users)
|
|
66
|
+
DEVELOPER_MODE=true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vezlo/assistant-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.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",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"@supabase/supabase-js": "^2.38.0",
|
|
47
47
|
"@types/bcryptjs": "^2.4.6",
|
|
48
48
|
"@types/jsonwebtoken": "^9.0.10",
|
|
49
|
+
"@vezlo/ai-validator": "^1.2.0",
|
|
49
50
|
"bcryptjs": "^3.0.2",
|
|
50
51
|
"compression": "^1.7.4",
|
|
51
52
|
"cors": "^2.8.5",
|