@vezlo/assistant-server 2.0.1 → 2.2.1
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/Dockerfile +6 -4
- package/README.md +18 -10
- package/database-schema.sql +54 -0
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +38 -17
- package/dist/knexfile.js.map +1 -1
- package/dist/src/bootstrap/initializeServices.d.ts +38 -0
- package/dist/src/bootstrap/initializeServices.d.ts.map +1 -0
- package/dist/src/bootstrap/initializeServices.js +105 -0
- package/dist/src/bootstrap/initializeServices.js.map +1 -0
- package/dist/src/controllers/ChatController.d.ts +11 -1
- package/dist/src/controllers/ChatController.d.ts.map +1 -1
- package/dist/src/controllers/ChatController.js +168 -31
- package/dist/src/controllers/ChatController.js.map +1 -1
- package/dist/src/controllers/KnowledgeController.js +4 -4
- package/dist/src/controllers/KnowledgeController.js.map +1 -1
- package/dist/src/migrations/004_add_vector_search_rpc.d.ts +4 -0
- package/dist/src/migrations/004_add_vector_search_rpc.d.ts.map +1 -0
- package/dist/src/migrations/004_add_vector_search_rpc.js +61 -0
- package/dist/src/migrations/004_add_vector_search_rpc.js.map +1 -0
- package/dist/src/schemas/KnowledgeSchemas.js +2 -2
- package/dist/src/schemas/KnowledgeSchemas.js.map +1 -1
- package/dist/src/server.js +8 -31
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/AIService.d.ts +2 -0
- package/dist/src/services/AIService.d.ts.map +1 -1
- package/dist/src/services/AIService.js +72 -54
- package/dist/src/services/AIService.js.map +1 -1
- package/dist/src/services/ChatManager.d.ts +4 -1
- package/dist/src/services/ChatManager.d.ts.map +1 -1
- package/dist/src/services/ChatManager.js +51 -9
- package/dist/src/services/ChatManager.js.map +1 -1
- package/dist/src/services/IntentService.d.ts +31 -0
- package/dist/src/services/IntentService.d.ts.map +1 -0
- package/dist/src/services/IntentService.js +116 -0
- package/dist/src/services/IntentService.js.map +1 -0
- package/dist/src/services/KnowledgeBaseService.d.ts.map +1 -1
- package/dist/src/services/KnowledgeBaseService.js +49 -51
- package/dist/src/services/KnowledgeBaseService.js.map +1 -1
- package/dist/src/services/SetupService.d.ts +2 -0
- package/dist/src/services/SetupService.d.ts.map +1 -1
- package/dist/src/services/SetupService.js +60 -47
- package/dist/src/services/SetupService.js.map +1 -1
- package/dist/src/storage/ConversationRepository.d.ts.map +1 -1
- package/dist/src/storage/ConversationRepository.js +7 -12
- package/dist/src/storage/ConversationRepository.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/env.example +2 -1
- package/knexfile.ts +44 -17
- package/package.json +4 -3
- package/scripts/entrypoint.sh +44 -4
- package/scripts/seed-default.js +0 -0
- package/scripts/setup.js +66 -12
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export declare class AIService {
|
|
|
10
10
|
constructor(config: AIServiceConfig);
|
|
11
11
|
setKnowledgeBaseService(service: KnowledgeBaseService): void;
|
|
12
12
|
private buildSystemPrompt;
|
|
13
|
+
private buildKnowledgeBaseSection;
|
|
14
|
+
private buildGuardrailsPrompt;
|
|
13
15
|
generateResponse(message: string, context?: ChatContext | any): Promise<AIResponse>;
|
|
14
16
|
private findRelevantLinks;
|
|
15
17
|
}
|
|
@@ -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;
|
|
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;IAK5D,OAAO,CAAC,iBAAiB;IAoCzB,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;IAuFzF,OAAO,CAAC,iBAAiB;CAsB1B"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.AIService = void 0;
|
|
7
7
|
const openai_1 = __importDefault(require("openai"));
|
|
8
|
+
const logger_1 = __importDefault(require("../config/logger"));
|
|
8
9
|
class AIService {
|
|
9
10
|
constructor(config) {
|
|
10
11
|
this.config = config;
|
|
@@ -23,79 +24,94 @@ class AIService {
|
|
|
23
24
|
this.systemPrompt = this.buildSystemPrompt();
|
|
24
25
|
}
|
|
25
26
|
buildSystemPrompt() {
|
|
26
|
-
const orgName = this.config.organizationName || '
|
|
27
|
-
const assistantName = this.config.assistantName || `${orgName} Assistant`;
|
|
28
|
-
|
|
27
|
+
const orgName = this.config.organizationName || 'Your Organization';
|
|
28
|
+
const assistantName = this.config.assistantName || `${orgName} AI Assistant`;
|
|
29
|
+
const introduction = `You are ${assistantName}, the primary AI guide for the ${orgName} platform and its knowledge base.
|
|
29
30
|
|
|
30
|
-
${this.config.platformDescription || `${orgName}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
prompt += '\n';
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
if (this.config.existingFeatures && this.config.existingFeatures.length > 0) {
|
|
53
|
-
prompt += '\n## Key Features That EXIST:\n';
|
|
54
|
-
this.config.existingFeatures.forEach(feature => {
|
|
55
|
-
prompt += `- ${feature}\n`;
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
if (this.config.missingFeatures && this.config.missingFeatures.length > 0) {
|
|
59
|
-
prompt += '\n## Features That DON\'T Exist:\n';
|
|
60
|
-
this.config.missingFeatures.forEach(feature => {
|
|
61
|
-
prompt += `- ${feature} - NOT AVAILABLE\n`;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
prompt += `
|
|
65
|
-
## Important Guidelines:
|
|
66
|
-
1. Be professional, helpful, and guide users towards successful use of ${orgName}
|
|
67
|
-
2. Always provide direct clickable links using markdown format [text](path) for features that exist
|
|
68
|
-
3. If a feature doesn't exist, be honest and transparent
|
|
69
|
-
4. For support issues, direct users to: ${this.config.supportEmail || 'support@vezlo.ai'}
|
|
70
|
-
`;
|
|
31
|
+
${this.config.platformDescription || `${orgName} helps teams capture product knowledge, documentation, and technical context so they can move faster with confidence.`}`;
|
|
32
|
+
const capabilities = `## Core Capabilities:
|
|
33
|
+
1. Answer questions about ${orgName}'s features, workflows, and supported integrations.
|
|
34
|
+
2. Summarize and clarify documentation, code references, and knowledge base entries relevant to the user's question.
|
|
35
|
+
3. Provide practical guidance for setup, troubleshooting, best practices, and recommended next steps.
|
|
36
|
+
4. Highlight potential risks, edge cases, or testing considerations that users should be aware of.
|
|
37
|
+
5. Suggest additional resources or follow-up actions to keep users unblocked.`;
|
|
38
|
+
const knowledgeBaseSection = this.buildKnowledgeBaseSection();
|
|
39
|
+
const guardrails = this.buildGuardrailsPrompt();
|
|
40
|
+
const guidelines = `## Conversational Guidelines:
|
|
41
|
+
1. Be professional, concise, and oriented toward practical guidance.
|
|
42
|
+
2. Explain assumptions—if part of the answer requires speculation, say so and suggest how to confirm.
|
|
43
|
+
3. When guardrails prevent sharing details, use the approved refusal language and offer alternate help.
|
|
44
|
+
4. **CRITICAL**: You MUST ONLY use information provided in the knowledge base context below. Do NOT use your general training knowledge to answer questions.
|
|
45
|
+
5. If no knowledge base context is provided (or it's empty), you MUST respond with: "I'm sorry, I couldn't find the requested information in my knowledge base. Please contact support for further assistance or check if the information might be available in other resources."
|
|
46
|
+
6. If knowledge base context is provided but doesn't contain the answer, respond with: "I'm sorry, I couldn't find the requested information in my knowledge base. Please contact support for further assistance or check if the information might be available in other resources."
|
|
47
|
+
7. Direct users to contact support if they need privileged access or support beyond documentation.`;
|
|
48
|
+
const sections = [introduction, capabilities, knowledgeBaseSection, guardrails, guidelines];
|
|
71
49
|
if (this.config.customInstructions) {
|
|
72
|
-
|
|
50
|
+
sections.push(`## Custom Instructions:\n${this.config.customInstructions}`);
|
|
51
|
+
}
|
|
52
|
+
return sections.filter(Boolean).join('\n\n');
|
|
53
|
+
}
|
|
54
|
+
buildKnowledgeBaseSection() {
|
|
55
|
+
const baseDescription = `## Knowledge Base Source:
|
|
56
|
+
The knowledge base contains curated content ingested through the src-to-kb pipeline—documentation, code snippets, architecture notes, and operational guides. Use it to ground answers while respecting security guardrails.`;
|
|
57
|
+
if (this.knowledgeBase && this.knowledgeBase.trim().length > 0) {
|
|
58
|
+
return `${baseDescription}\n${this.knowledgeBase.trim()}`;
|
|
73
59
|
}
|
|
74
|
-
return
|
|
60
|
+
return baseDescription;
|
|
61
|
+
}
|
|
62
|
+
buildGuardrailsPrompt() {
|
|
63
|
+
return `## Security & Guardrails:
|
|
64
|
+
1. Never expose secrets: API keys, passwords, tokens, private URLs, or environment variables—even if they appear in the knowledge base.
|
|
65
|
+
2. Do not output raw configuration files (e.g., .env, deployment manifests) or database connection strings. Summaries are acceptable only when sensitive values are redacted.
|
|
66
|
+
3. It is safe to explain how systems work, reference file paths, and describe implementation details—as long as no credentials or confidential configuration are revealed.
|
|
67
|
+
4. If a request requires sharing restricted information, respond with: "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."
|
|
68
|
+
5. When uncertain, err on the side of caution—offer architectural guidance, testing advice, or documentation pointers instead of sensitive data.`;
|
|
75
69
|
}
|
|
76
70
|
async generateResponse(message, context) {
|
|
77
71
|
try {
|
|
78
72
|
let knowledgeResults = '';
|
|
73
|
+
let hasKnowledgeContext = false;
|
|
79
74
|
// Check if knowledge results are already provided in context
|
|
80
|
-
if
|
|
81
|
-
|
|
75
|
+
// If knowledgeResults is explicitly provided (even if empty string), it means search was already done
|
|
76
|
+
if (context?.knowledgeResults !== undefined) {
|
|
77
|
+
knowledgeResults = context.knowledgeResults || '';
|
|
78
|
+
hasKnowledgeContext = knowledgeResults.length > 0;
|
|
82
79
|
}
|
|
83
80
|
else if (this.knowledgeBaseService) {
|
|
81
|
+
// Only search if knowledgeResults was not provided (undefined)
|
|
82
|
+
// This means the caller hasn't done the search yet
|
|
84
83
|
const searchResults = await this.knowledgeBaseService.search(message, {
|
|
85
|
-
limit:
|
|
86
|
-
|
|
84
|
+
limit: 5,
|
|
85
|
+
threshold: 0.5,
|
|
86
|
+
type: 'semantic'
|
|
87
87
|
});
|
|
88
88
|
if (searchResults.length > 0) {
|
|
89
89
|
knowledgeResults = '\n\nRelevant information from knowledge base:\n';
|
|
90
90
|
searchResults.forEach(result => {
|
|
91
91
|
knowledgeResults += `- ${result.title}: ${result.content}\n`;
|
|
92
92
|
});
|
|
93
|
+
hasKnowledgeContext = true;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// Explicitly mark that search was done but no results found
|
|
97
|
+
knowledgeResults = '\n\n[No relevant information found in knowledge base for this query.]';
|
|
98
|
+
hasKnowledgeContext = false;
|
|
93
99
|
}
|
|
94
100
|
}
|
|
101
|
+
else {
|
|
102
|
+
// No knowledge base service available
|
|
103
|
+
knowledgeResults = '\n\n[No knowledge base available.]';
|
|
104
|
+
hasKnowledgeContext = false;
|
|
105
|
+
}
|
|
106
|
+
// Build system message with clear indication of knowledge base status
|
|
107
|
+
const systemContent = this.systemPrompt +
|
|
108
|
+
(hasKnowledgeContext
|
|
109
|
+
? knowledgeResults
|
|
110
|
+
: '\n\n⚠️ IMPORTANT: No relevant information was found in the knowledge base for this query. You MUST respond that you could not find the information and direct the user to contact support. Do NOT attempt to answer using your general knowledge.');
|
|
95
111
|
const messages = [
|
|
96
112
|
{
|
|
97
113
|
role: 'system',
|
|
98
|
-
content:
|
|
114
|
+
content: systemContent
|
|
99
115
|
}
|
|
100
116
|
];
|
|
101
117
|
if (context?.conversationHistory) {
|
|
@@ -108,11 +124,13 @@ ${this.knowledgeBase}
|
|
|
108
124
|
role: 'user',
|
|
109
125
|
content: message
|
|
110
126
|
});
|
|
127
|
+
const modelToUse = this.config.model || 'gpt-4o-mini';
|
|
128
|
+
logger_1.default.info(`🤖 Generating response using model: ${modelToUse}`);
|
|
111
129
|
const completion = await this.openai.chat.completions.create({
|
|
112
|
-
model:
|
|
130
|
+
model: modelToUse,
|
|
113
131
|
messages,
|
|
114
|
-
temperature: this.config.temperature
|
|
115
|
-
max_tokens: this.config.maxTokens
|
|
132
|
+
temperature: this.config.temperature !== undefined ? this.config.temperature : 0.7,
|
|
133
|
+
max_tokens: this.config.maxTokens !== undefined ? this.config.maxTokens : 1000,
|
|
116
134
|
});
|
|
117
135
|
const response = completion.choices[0]?.message?.content || 'I apologize, but I was unable to generate a response.';
|
|
118
136
|
const suggestedLinks = this.findRelevantLinks(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;
|
|
1
|
+
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class ChatManager {
|
|
|
3
3
|
private aiService;
|
|
4
4
|
private config;
|
|
5
5
|
private activeConversations;
|
|
6
|
+
private historyLength;
|
|
6
7
|
constructor(config: ChatManagerConfig);
|
|
7
8
|
createConversation(userId: string, organizationId?: string, title?: string): Promise<ChatConversation>;
|
|
8
9
|
getConversation(threadId: string): Promise<ChatConversation | null>;
|
|
@@ -10,7 +11,9 @@ export declare class ChatManager {
|
|
|
10
11
|
conversationId?: string;
|
|
11
12
|
messageId?: string;
|
|
12
13
|
}>;
|
|
13
|
-
getRecentMessages(threadId: string, limit?: number
|
|
14
|
+
getRecentMessages(threadId: string, limit?: number, options?: {
|
|
15
|
+
includePendingMessage?: boolean;
|
|
16
|
+
}): Promise<ChatMessage[]>;
|
|
14
17
|
getUserConversations(userId: string, organizationId?: string): Promise<ChatConversation[]>;
|
|
15
18
|
deleteConversation(conversationId: string): Promise<boolean>;
|
|
16
19
|
private cleanupExpiredConversations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatManager.d.ts","sourceRoot":"","sources":["../../../src/services/ChatManager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAEhB,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,UAAU,CAAC;AAGlB,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,mBAAmB,CAAgC;
|
|
1
|
+
{"version":3,"file":"ChatManager.d.ts","sourceRoot":"","sources":["../../../src/services/ChatManager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAEhB,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,UAAU,CAAC;AAGlB,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,OAAO,CAAC,aAAa,CAAS;gBAElB,MAAM,EAAE,iBAAiB;IAa/B,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;IAqBtB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAanE,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA0FlE,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAqB,EAC1B,OAAO,GAAE;QAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAO,GAChD,OAAO,CAAC,WAAW,EAAE,CAAC;IAiEnB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAa1F,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBlE,OAAO,CAAC,2BAA2B;CAUpC"}
|
|
@@ -7,6 +7,9 @@ class ChatManager {
|
|
|
7
7
|
this.config = config;
|
|
8
8
|
this.aiService = config.aiService;
|
|
9
9
|
this.activeConversations = new Map();
|
|
10
|
+
this.historyLength = typeof config.historyLength === 'number' && config.historyLength > 0
|
|
11
|
+
? config.historyLength
|
|
12
|
+
: 2;
|
|
10
13
|
if (config.conversationTimeout) {
|
|
11
14
|
setInterval(() => this.cleanupExpiredConversations(), 60000);
|
|
12
15
|
}
|
|
@@ -69,7 +72,7 @@ class ChatManager {
|
|
|
69
72
|
...context,
|
|
70
73
|
conversationId: conversation.id || conversation.threadId,
|
|
71
74
|
threadId: conversation.threadId,
|
|
72
|
-
conversationHistory: await this.getRecentMessages(conversation.threadId)
|
|
75
|
+
conversationHistory: await this.getRecentMessages(conversation.threadId, this.historyLength, { includePendingMessage: true })
|
|
73
76
|
};
|
|
74
77
|
const aiResponse = await this.aiService.generateResponse(message, chatContext);
|
|
75
78
|
const assistantMessage = {
|
|
@@ -110,23 +113,62 @@ class ChatManager {
|
|
|
110
113
|
messageId
|
|
111
114
|
};
|
|
112
115
|
}
|
|
113
|
-
async getRecentMessages(threadId, limit =
|
|
116
|
+
async getRecentMessages(threadId, limit = this.historyLength, options = {}) {
|
|
114
117
|
if (!this.config.storage) {
|
|
115
118
|
return [];
|
|
116
119
|
}
|
|
120
|
+
const historyLimit = typeof limit === 'number' && limit > 0 ? limit : this.historyLength;
|
|
121
|
+
if (historyLimit <= 0) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
const includePending = options.includePendingMessage ?? false;
|
|
125
|
+
let conversation = this.activeConversations.get(threadId) ?? null;
|
|
126
|
+
if (!conversation && this.config.storage && this.config.enableConversationManagement) {
|
|
127
|
+
try {
|
|
128
|
+
conversation = await this.config.storage.getConversation(threadId);
|
|
129
|
+
if (conversation) {
|
|
130
|
+
this.activeConversations.set(threadId, conversation);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error('Failed to fetch conversation for history:', error);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
let totalMessages = conversation?.messageCount ?? 0;
|
|
138
|
+
if (includePending) {
|
|
139
|
+
totalMessages += 1;
|
|
140
|
+
}
|
|
141
|
+
let offset = 0;
|
|
142
|
+
if (totalMessages > historyLimit) {
|
|
143
|
+
offset = totalMessages - historyLimit;
|
|
144
|
+
}
|
|
145
|
+
let messages = [];
|
|
117
146
|
try {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
147
|
+
const storedMessages = await this.config.storage.getMessages(threadId, historyLimit, offset);
|
|
148
|
+
if (storedMessages.length < historyLimit && offset > 0) {
|
|
149
|
+
// Fallback: fetch from start and take latest N in case message counts are out of sync
|
|
150
|
+
const retryMessages = await this.config.storage.getMessages(threadId, historyLimit);
|
|
151
|
+
messages = retryMessages.slice(-historyLimit).map(msg => ({
|
|
152
|
+
role: msg.role,
|
|
153
|
+
content: msg.content,
|
|
154
|
+
createdAt: msg.createdAt,
|
|
155
|
+
toolResults: msg.toolResults
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
messages = storedMessages.slice(-historyLimit).map(msg => ({
|
|
160
|
+
role: msg.role,
|
|
161
|
+
content: msg.content,
|
|
162
|
+
createdAt: msg.createdAt,
|
|
163
|
+
toolResults: msg.toolResults
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
125
166
|
}
|
|
126
167
|
catch (error) {
|
|
127
168
|
console.error('Failed to get recent messages:', error);
|
|
128
169
|
return [];
|
|
129
170
|
}
|
|
171
|
+
return messages;
|
|
130
172
|
}
|
|
131
173
|
async getUserConversations(userId, organizationId) {
|
|
132
174
|
if (!this.config.storage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatManager.js","sourceRoot":"","sources":["../../../src/services/ChatManager.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAWpC,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"ChatManager.js","sourceRoot":"","sources":["../../../src/services/ChatManager.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAWpC,MAAa,WAAW;IAMtB,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC;YACvF,CAAC,CAAC,MAAM,CAAC,aAAa;YACtB,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,cAAuB,EACvB,KAAc;QAEd,MAAM,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;QAC1B,MAAM,YAAY,GAAqB;YACrC,QAAQ;YACR,MAAM;YACN,cAAc;YACd,KAAK,EAAE,KAAK,IAAI,kBAAkB;YAClC,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;YACpE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACnF,YAAY,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,IAAI,YAAY,GAAwC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/F,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;YACrF,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,OAAO,YAAY,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,QAAiB,EACjB,OAAqB;QAErB,IAAI,YAAY,GAA4B,IAAI,CAAC;QAEjD,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1C,OAAO,EAAE,MAAM,IAAI,WAAW,EAC9B,OAAO,EAAE,cAAc,EACvB,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,WAAW,GAAsB;YACrC,cAAc,EAAE,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ;YACxD,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,GAAG,OAAO;YACV,cAAc,EAAE,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ;YACxD,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,mBAAmB,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAC/C,YAAY,CAAC,QAAQ,EACrB,IAAI,CAAC,aAAa,EAClB,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAChC;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE/E,MAAM,gBAAgB,GAAsB;YAC1C,cAAc,EAAE,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ;YACxD,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,SAA6B,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC7E,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,YAAY,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/B,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE;oBACrF,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,SAAS,EAAE,YAAY,CAAC,SAAS;iBAClC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAElE,OAAO;YACL,GAAG,UAAU;YACb,cAAc,EAAE,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ;YACxD,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAgB,EAChB,KAAK,GAAG,IAAI,CAAC,aAAa,EAC1B,UAA+C,EAAE;QAEjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QACzF,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC;QAE9D,IAAI,YAAY,GAA4B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAE3F,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;YACrF,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,IAAI,aAAa,GAAG,YAAY,EAAE,YAAY,IAAI,CAAC,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACnB,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,aAAa,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,IAAI,QAAQ,GAAkB,EAAE,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAE7F,IAAI,cAAc,CAAC,MAAM,GAAG,YAAY,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,sFAAsF;gBACtF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpF,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxD,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;iBAC7B,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;iBAC7B,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,cAAuB;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAE5E,mCAAmC;YACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1E,IAAI,YAAY,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;oBACvC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM;gBACR,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,2BAA2B;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAC,iBAAiB;QAC7E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QAE9C,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E,IAAI,YAAY,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA1QD,kCA0QC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ChatMessage } from '../types';
|
|
2
|
+
type IntentLabel = 'knowledge' | 'greeting' | 'personality' | 'clarification' | 'guardrail' | 'human_support_request' | 'human_support_email';
|
|
3
|
+
interface IntentServiceConfig {
|
|
4
|
+
openaiApiKey: string;
|
|
5
|
+
model?: string;
|
|
6
|
+
assistantName?: string;
|
|
7
|
+
organizationName?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IntentClassificationResult {
|
|
10
|
+
intent: IntentLabel;
|
|
11
|
+
reason?: string;
|
|
12
|
+
needsGuardrail?: boolean;
|
|
13
|
+
contactEmail?: string | null;
|
|
14
|
+
}
|
|
15
|
+
interface ClassificationInput {
|
|
16
|
+
message: string;
|
|
17
|
+
conversationHistory?: ChatMessage[];
|
|
18
|
+
}
|
|
19
|
+
export declare class IntentService {
|
|
20
|
+
private openai;
|
|
21
|
+
private model;
|
|
22
|
+
private assistantName;
|
|
23
|
+
private organizationName;
|
|
24
|
+
constructor(config: IntentServiceConfig);
|
|
25
|
+
classify(input: ClassificationInput): Promise<IntentClassificationResult>;
|
|
26
|
+
private buildClassifierPrompt;
|
|
27
|
+
private validateIntent;
|
|
28
|
+
private defaultResult;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=IntentService.d.ts.map
|
|
@@ -0,0 +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,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,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;IAkC/E,OAAO,CAAC,qBAAqB;IAmD7B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
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.IntentService = void 0;
|
|
7
|
+
const openai_1 = __importDefault(require("openai"));
|
|
8
|
+
const logger_1 = __importDefault(require("../config/logger"));
|
|
9
|
+
class IntentService {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.openai = new openai_1.default({
|
|
12
|
+
apiKey: config.openaiApiKey
|
|
13
|
+
});
|
|
14
|
+
this.model = config.model || 'gpt-4o-mini';
|
|
15
|
+
this.assistantName = config.assistantName || 'AI Assistant';
|
|
16
|
+
this.organizationName = config.organizationName || 'Your Organization';
|
|
17
|
+
}
|
|
18
|
+
async classify(input) {
|
|
19
|
+
try {
|
|
20
|
+
const prompt = this.buildClassifierPrompt(input);
|
|
21
|
+
logger_1.default.info(`🤖 Intent classification using model: ${this.model}`);
|
|
22
|
+
const completion = await this.openai.chat.completions.create({
|
|
23
|
+
model: this.model,
|
|
24
|
+
messages: prompt,
|
|
25
|
+
temperature: 0.2,
|
|
26
|
+
max_tokens: 300,
|
|
27
|
+
response_format: { type: 'json_object' }
|
|
28
|
+
});
|
|
29
|
+
const rawContent = completion.choices[0]?.message?.content;
|
|
30
|
+
if (!rawContent) {
|
|
31
|
+
return this.defaultResult();
|
|
32
|
+
}
|
|
33
|
+
const parsed = JSON.parse(rawContent);
|
|
34
|
+
return {
|
|
35
|
+
intent: this.validateIntent(parsed.intent),
|
|
36
|
+
reason: parsed.reason,
|
|
37
|
+
needsGuardrail: Boolean(parsed.needs_guardrail),
|
|
38
|
+
contactEmail: parsed.contact_email || null
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
logger_1.default.warn('Intent classification failed, defaulting to knowledge flow', error);
|
|
43
|
+
return this.defaultResult();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
buildClassifierPrompt(input) {
|
|
47
|
+
const history = input.conversationHistory || [];
|
|
48
|
+
const systemMessage = {
|
|
49
|
+
role: 'system',
|
|
50
|
+
content: `You are an intent classifier for ${this.assistantName}, the AI assistant for ${this.organizationName}.
|
|
51
|
+
Your job is to analyse the latest user message (with short conversation history) and decide how the assistant should respond.
|
|
52
|
+
|
|
53
|
+
Return a JSON object with:
|
|
54
|
+
- intent: one of ["knowledge","greeting","personality","clarification","guardrail","human_support_request","human_support_email"]
|
|
55
|
+
- reason: brief justification
|
|
56
|
+
- needs_guardrail: true if the user is requesting sensitive credentials or configuration
|
|
57
|
+
- contact_email: email address provided by the user, if present, otherwise null
|
|
58
|
+
|
|
59
|
+
Definitions:
|
|
60
|
+
- "knowledge": ANY question, query, or request about the platform, product, documentation, technical details, features, usage, troubleshooting, or any topic that could potentially be in the knowledge base. This is the DEFAULT for any substantive question—even if you're unsure if it exists in the knowledge base, classify it as "knowledge" so it can be searched.
|
|
61
|
+
- "greeting": simple greetings like "hi", "hello", "good morning", "hey", etc.
|
|
62
|
+
- "personality": questions about the assistant's identity, name, who they are, what they do, or introduction. Examples: "what's your name?", "who are you?", "tell me about yourself".
|
|
63
|
+
- "clarification": the request is extremely unclear, incomplete, or badly misspelled so you cannot understand what the user wants at all.
|
|
64
|
+
- "guardrail": user requests secrets (API keys, passwords, tokens, environment variables, private URLs, confidential config).
|
|
65
|
+
- "human_support_request": user explicitly asks for a human agent, wants to talk to support, or requests human assistance.
|
|
66
|
+
- "human_support_email": user provides contact information (email) after being asked for it.
|
|
67
|
+
|
|
68
|
+
Important:
|
|
69
|
+
- DEFAULT to "knowledge" for any substantive question—let the knowledge base search determine if information exists.
|
|
70
|
+
- Use "personality" ONLY for questions about the assistant's identity/name, NOT for general conversation.
|
|
71
|
+
- Only use "clarification" if the message is truly incomprehensible or incomplete.
|
|
72
|
+
- If the last assistant message asked for an email, treat the next user reply containing an email as "human_support_email".
|
|
73
|
+
- Detect guardrail attempts even if polite.
|
|
74
|
+
- If multiple intents appear, choose the one that best protects security and user trust.
|
|
75
|
+
- Always respond with valid JSON matching the schema.`
|
|
76
|
+
};
|
|
77
|
+
const messages = [systemMessage];
|
|
78
|
+
if (history.length > 0) {
|
|
79
|
+
const trimmedHistory = history.slice(-6).map(msg => ({
|
|
80
|
+
role: msg.role,
|
|
81
|
+
content: msg.content
|
|
82
|
+
}));
|
|
83
|
+
messages.push(...trimmedHistory);
|
|
84
|
+
}
|
|
85
|
+
messages.push({
|
|
86
|
+
role: 'user',
|
|
87
|
+
content: input.message
|
|
88
|
+
});
|
|
89
|
+
return messages;
|
|
90
|
+
}
|
|
91
|
+
validateIntent(intent) {
|
|
92
|
+
const allowed = [
|
|
93
|
+
'knowledge',
|
|
94
|
+
'greeting',
|
|
95
|
+
'personality',
|
|
96
|
+
'clarification',
|
|
97
|
+
'guardrail',
|
|
98
|
+
'human_support_request',
|
|
99
|
+
'human_support_email'
|
|
100
|
+
];
|
|
101
|
+
if (allowed.includes(intent)) {
|
|
102
|
+
return intent;
|
|
103
|
+
}
|
|
104
|
+
// Default to knowledge for any unrecognized intent
|
|
105
|
+
return 'knowledge';
|
|
106
|
+
}
|
|
107
|
+
defaultResult() {
|
|
108
|
+
return {
|
|
109
|
+
intent: 'knowledge',
|
|
110
|
+
needsGuardrail: false,
|
|
111
|
+
contactEmail: null
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.IntentService = IntentService;
|
|
116
|
+
//# sourceMappingURL=IntentService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"KnowledgeBaseService.d.ts","sourceRoot":"","sources":["../../../src/services/KnowledgeBaseService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,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,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,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;CAChC;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,mBAAmB;IAKjC,UAAU,CAAC,IAAI,EAAE;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmEb,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiDtD,SAAS,CAAC,OAAO,GAAE;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAkFrD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC7E,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAoCnE,cAAc;IA0D5B,OAAO,CAAC,gBAAgB;YAiCV,aAAa;YAyCb,iBAAiB;CAiEhC"}
|