@vezlo/assistant-server 2.11.0 → 2.12.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.
Files changed (60) hide show
  1. package/README.md +11 -1
  2. package/database-schema.sql +33 -7
  3. package/dist/src/bootstrap/initializeServices.d.ts +4 -0
  4. package/dist/src/bootstrap/initializeServices.d.ts.map +1 -1
  5. package/dist/src/bootstrap/initializeServices.js +13 -5
  6. package/dist/src/bootstrap/initializeServices.js.map +1 -1
  7. package/dist/src/config/defaultAISettings.d.ts +20 -0
  8. package/dist/src/config/defaultAISettings.d.ts.map +1 -0
  9. package/dist/src/config/defaultAISettings.js +52 -0
  10. package/dist/src/config/defaultAISettings.js.map +1 -0
  11. package/dist/src/controllers/AISettingsController.d.ts +22 -0
  12. package/dist/src/controllers/AISettingsController.d.ts.map +1 -0
  13. package/dist/src/controllers/AISettingsController.js +119 -0
  14. package/dist/src/controllers/AISettingsController.js.map +1 -0
  15. package/dist/src/controllers/ChatController.d.ts +3 -0
  16. package/dist/src/controllers/ChatController.d.ts.map +1 -1
  17. package/dist/src/controllers/ChatController.js +60 -4
  18. package/dist/src/controllers/ChatController.js.map +1 -1
  19. package/dist/src/controllers/DatabaseToolConfigController.d.ts.map +1 -1
  20. package/dist/src/controllers/DatabaseToolConfigController.js +61 -12
  21. package/dist/src/controllers/DatabaseToolConfigController.js.map +1 -1
  22. package/dist/src/migrations/011_create_database_tool_configs.d.ts.map +1 -1
  23. package/dist/src/migrations/011_create_database_tool_configs.js +11 -9
  24. package/dist/src/migrations/011_create_database_tool_configs.js.map +1 -1
  25. package/dist/src/migrations/012_create_ai_settings.d.ts +4 -0
  26. package/dist/src/migrations/012_create_ai_settings.d.ts.map +1 -0
  27. package/dist/src/migrations/012_create_ai_settings.js +36 -0
  28. package/dist/src/migrations/012_create_ai_settings.js.map +1 -0
  29. package/dist/src/server.js +130 -0
  30. package/dist/src/server.js.map +1 -1
  31. package/dist/src/services/AIService.d.ts +7 -2
  32. package/dist/src/services/AIService.d.ts.map +1 -1
  33. package/dist/src/services/AIService.js +43 -66
  34. package/dist/src/services/AIService.js.map +1 -1
  35. package/dist/src/services/AISettingsService.d.ts +45 -0
  36. package/dist/src/services/AISettingsService.d.ts.map +1 -0
  37. package/dist/src/services/AISettingsService.js +162 -0
  38. package/dist/src/services/AISettingsService.js.map +1 -0
  39. package/dist/src/services/DatabaseToolConfigService.d.ts +19 -17
  40. package/dist/src/services/DatabaseToolConfigService.d.ts.map +1 -1
  41. package/dist/src/services/DatabaseToolConfigService.js +34 -25
  42. package/dist/src/services/DatabaseToolConfigService.js.map +1 -1
  43. package/dist/src/services/IntentService.d.ts +7 -2
  44. package/dist/src/services/IntentService.d.ts.map +1 -1
  45. package/dist/src/services/IntentService.js +51 -28
  46. package/dist/src/services/IntentService.js.map +1 -1
  47. package/dist/src/services/PromptService.d.ts +59 -0
  48. package/dist/src/services/PromptService.d.ts.map +1 -0
  49. package/dist/src/services/PromptService.js +199 -0
  50. package/dist/src/services/PromptService.js.map +1 -0
  51. package/dist/src/services/ResponseGenerationService.d.ts +13 -0
  52. package/dist/src/services/ResponseGenerationService.d.ts.map +1 -1
  53. package/dist/src/services/ResponseGenerationService.js +10 -2
  54. package/dist/src/services/ResponseGenerationService.js.map +1 -1
  55. package/dist/src/services/SetupService.d.ts.map +1 -1
  56. package/dist/src/services/SetupService.js +10 -0
  57. package/dist/src/services/SetupService.js.map +1 -1
  58. package/env.example +2 -0
  59. package/package.json +3 -1
  60. package/scripts/seed-ai-settings.js +120 -0
@@ -0,0 +1,120 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Seed AI Settings Script for Vezlo Assistant Server
5
+ * Seeds or updates AI settings for all existing companies
6
+ */
7
+
8
+ const { config } = require('dotenv');
9
+ const { initializeSupabase } = require('../dist/src/config/database.js');
10
+ const { AISettingsService } = require('../dist/src/services/AISettingsService.js');
11
+ const { DEFAULT_AI_SETTINGS } = require('../dist/src/config/defaultAISettings.js');
12
+ const logger = require('../dist/src/config/logger.js');
13
+
14
+ // Load environment variables
15
+ config();
16
+
17
+ async function seedAISettings() {
18
+ try {
19
+ console.log('šŸš€ Starting AI Settings Seed...\n');
20
+
21
+ // Initialize Supabase
22
+ const supabase = initializeSupabase();
23
+
24
+ // Wait for schema cache to refresh
25
+ console.log('ā³ Waiting for schema cache to refresh...');
26
+ await new Promise(resolve => setTimeout(resolve, 2000));
27
+
28
+ const aiSettingsService = new AISettingsService(supabase);
29
+
30
+ // Get all companies
31
+ const { data: companies, error: companiesError } = await supabase
32
+ .from('vezlo_companies')
33
+ .select('id, uuid, name');
34
+
35
+ if (companiesError) {
36
+ throw new Error(`Failed to fetch companies: ${companiesError.message}`);
37
+ }
38
+
39
+ if (!companies || companies.length === 0) {
40
+ console.log('āš ļø No companies found in database');
41
+ return;
42
+ }
43
+
44
+ console.log(`šŸ“‹ Found ${companies.length} company(ies)\n`);
45
+
46
+ let seededCount = 0;
47
+ let updatedCount = 0;
48
+ let skippedCount = 0;
49
+
50
+ for (const company of companies) {
51
+ try {
52
+ // Check if AI settings already exist
53
+ const { data: existing, error: checkError } = await supabase
54
+ .from('vezlo_ai_settings')
55
+ .select('id, settings')
56
+ .eq('company_id', company.id)
57
+ .single();
58
+
59
+ if (checkError && checkError.code !== 'PGRST116') {
60
+ // PGRST116 = not found error (expected if no settings exist)
61
+ console.log(` āš ļø Error checking settings for ${company.name}: ${checkError.message}`);
62
+ skippedCount++;
63
+ continue;
64
+ }
65
+
66
+ if (existing) {
67
+ // Settings exist - update with defaults
68
+ console.log(` šŸ”„ Updating AI settings for: ${company.name}`);
69
+
70
+ const { error: updateError } = await supabase
71
+ .from('vezlo_ai_settings')
72
+ .update({
73
+ settings: DEFAULT_AI_SETTINGS,
74
+ updated_at: new Date().toISOString()
75
+ })
76
+ .eq('company_id', company.id);
77
+
78
+ if (updateError) {
79
+ console.log(` āŒ Failed to update for ${company.name}: ${updateError.message}`);
80
+ skippedCount++;
81
+ } else {
82
+ console.log(` āœ… Updated AI settings for: ${company.name}`);
83
+ updatedCount++;
84
+ }
85
+ } else {
86
+ // Settings don't exist - create new
87
+ console.log(` šŸ†• Creating AI settings for: ${company.name}`);
88
+
89
+ await aiSettingsService.createDefaultSettings(company.id);
90
+
91
+ console.log(` āœ… Created AI settings for: ${company.name}`);
92
+ seededCount++;
93
+ }
94
+ } catch (companyError) {
95
+ console.log(` āŒ Error processing ${company.name}:`, companyError.message);
96
+ skippedCount++;
97
+ }
98
+ }
99
+
100
+ // Display summary
101
+ console.log('\nšŸŽ‰ AI Settings Seed Completed!');
102
+ console.log('=====================================');
103
+ console.log(` Total Companies: ${companies.length}`);
104
+ console.log(` āœ… Created: ${seededCount}`);
105
+ console.log(` šŸ”„ Updated: ${updatedCount}`);
106
+ console.log(` āš ļø Skipped: ${skippedCount}`);
107
+ console.log('');
108
+
109
+ } catch (error) {
110
+ console.error('āŒ Seed failed:', error);
111
+ process.exit(1);
112
+ }
113
+ }
114
+
115
+ // Run seed if called directly
116
+ if (require.main === module) {
117
+ seedAISettings();
118
+ }
119
+
120
+ module.exports = { seedAISettings };