@vezlo/assistant-server 1.4.0 → 2.0.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 (107) hide show
  1. package/README.md +56 -4
  2. package/database-schema.sql +193 -33
  3. package/dist/knexfile.d.ts.map +1 -1
  4. package/dist/knexfile.js +17 -8
  5. package/dist/knexfile.js.map +1 -1
  6. package/dist/src/config/database.d.ts.map +1 -1
  7. package/dist/src/config/database.js +9 -1
  8. package/dist/src/config/database.js.map +1 -1
  9. package/dist/src/config/knex.d.ts.map +1 -1
  10. package/dist/src/config/knex.js +22 -2
  11. package/dist/src/config/knex.js.map +1 -1
  12. package/dist/src/config/swagger.d.ts.map +1 -1
  13. package/dist/src/config/swagger.js +18 -71
  14. package/dist/src/config/swagger.js.map +1 -1
  15. package/dist/src/controllers/ApiKeyController.d.ts +17 -0
  16. package/dist/src/controllers/ApiKeyController.d.ts.map +1 -0
  17. package/dist/src/controllers/ApiKeyController.js +84 -0
  18. package/dist/src/controllers/ApiKeyController.js.map +1 -0
  19. package/dist/src/controllers/AuthController.d.ts +14 -0
  20. package/dist/src/controllers/AuthController.d.ts.map +1 -0
  21. package/dist/src/controllers/AuthController.js +212 -0
  22. package/dist/src/controllers/AuthController.js.map +1 -0
  23. package/dist/src/controllers/ChatController.d.ts +8 -5
  24. package/dist/src/controllers/ChatController.d.ts.map +1 -1
  25. package/dist/src/controllers/ChatController.js +139 -31
  26. package/dist/src/controllers/ChatController.js.map +1 -1
  27. package/dist/src/controllers/KnowledgeController.d.ts +5 -4
  28. package/dist/src/controllers/KnowledgeController.d.ts.map +1 -1
  29. package/dist/src/controllers/KnowledgeController.js +54 -16
  30. package/dist/src/controllers/KnowledgeController.js.map +1 -1
  31. package/dist/src/middleware/auth.d.ts +51 -0
  32. package/dist/src/middleware/auth.d.ts.map +1 -0
  33. package/dist/src/middleware/auth.js +232 -0
  34. package/dist/src/middleware/auth.js.map +1 -0
  35. package/dist/src/middleware/errorHandler.d.ts.map +1 -1
  36. package/dist/src/middleware/errorHandler.js +13 -19
  37. package/dist/src/middleware/errorHandler.js.map +1 -1
  38. package/dist/src/migrations/001_initial_schema.d.ts.map +1 -1
  39. package/dist/src/migrations/001_initial_schema.js +39 -64
  40. package/dist/src/migrations/001_initial_schema.js.map +1 -1
  41. package/dist/src/migrations/002_multitenancy_schema.d.ts +4 -0
  42. package/dist/src/migrations/002_multitenancy_schema.d.ts.map +1 -0
  43. package/dist/src/migrations/002_multitenancy_schema.js +119 -0
  44. package/dist/src/migrations/002_multitenancy_schema.js.map +1 -0
  45. package/dist/src/schemas/AuthSchemas.d.ts +89 -0
  46. package/dist/src/schemas/AuthSchemas.d.ts.map +1 -0
  47. package/dist/src/schemas/AuthSchemas.js +63 -0
  48. package/dist/src/schemas/AuthSchemas.js.map +1 -0
  49. package/dist/src/schemas/CommonSchemas.d.ts +62 -0
  50. package/dist/src/schemas/CommonSchemas.d.ts.map +1 -0
  51. package/dist/src/schemas/CommonSchemas.js +65 -0
  52. package/dist/src/schemas/CommonSchemas.js.map +1 -0
  53. package/dist/src/schemas/ConversationSchemas.d.ts +64 -27
  54. package/dist/src/schemas/ConversationSchemas.d.ts.map +1 -1
  55. package/dist/src/schemas/ConversationSchemas.js +28 -9
  56. package/dist/src/schemas/ConversationSchemas.js.map +1 -1
  57. package/dist/src/schemas/FeedbackSchemas.d.ts +43 -5
  58. package/dist/src/schemas/FeedbackSchemas.d.ts.map +1 -1
  59. package/dist/src/schemas/FeedbackSchemas.js +20 -2
  60. package/dist/src/schemas/FeedbackSchemas.js.map +1 -1
  61. package/dist/src/schemas/KnowledgeSchemas.d.ts +114 -35
  62. package/dist/src/schemas/KnowledgeSchemas.d.ts.map +1 -1
  63. package/dist/src/schemas/KnowledgeSchemas.js +58 -16
  64. package/dist/src/schemas/KnowledgeSchemas.js.map +1 -1
  65. package/dist/src/schemas/MessageSchemas.d.ts +57 -8
  66. package/dist/src/schemas/MessageSchemas.d.ts.map +1 -1
  67. package/dist/src/schemas/MessageSchemas.js +22 -3
  68. package/dist/src/schemas/MessageSchemas.js.map +1 -1
  69. package/dist/src/schemas/index.d.ts +410 -68
  70. package/dist/src/schemas/index.d.ts.map +1 -1
  71. package/dist/src/schemas/index.js +8 -2
  72. package/dist/src/schemas/index.js.map +1 -1
  73. package/dist/src/server.js +1047 -613
  74. package/dist/src/server.js.map +1 -1
  75. package/dist/src/services/AIService.d.ts +1 -1
  76. package/dist/src/services/AIService.d.ts.map +1 -1
  77. package/dist/src/services/AIService.js +6 -2
  78. package/dist/src/services/AIService.js.map +1 -1
  79. package/dist/src/services/ApiKeyService.d.ts +38 -0
  80. package/dist/src/services/ApiKeyService.d.ts.map +1 -0
  81. package/dist/src/services/ApiKeyService.js +123 -0
  82. package/dist/src/services/ApiKeyService.js.map +1 -0
  83. package/dist/src/services/KnowledgeBaseService.d.ts +2 -2
  84. package/dist/src/services/KnowledgeBaseService.d.ts.map +1 -1
  85. package/dist/src/services/KnowledgeBaseService.js +9 -2
  86. package/dist/src/services/KnowledgeBaseService.js.map +1 -1
  87. package/dist/src/services/MigrationService.d.ts +1 -1
  88. package/dist/src/services/MigrationService.d.ts.map +1 -1
  89. package/dist/src/services/MigrationService.js +4 -8
  90. package/dist/src/services/MigrationService.js.map +1 -1
  91. package/dist/src/services/SetupService.d.ts +102 -0
  92. package/dist/src/services/SetupService.d.ts.map +1 -0
  93. package/dist/src/services/SetupService.js +343 -0
  94. package/dist/src/services/SetupService.js.map +1 -0
  95. package/dist/src/storage/ConversationRepository.d.ts.map +1 -1
  96. package/dist/src/storage/ConversationRepository.js +42 -8
  97. package/dist/src/storage/ConversationRepository.js.map +1 -1
  98. package/dist/src/storage/MessageRepository.d.ts.map +1 -1
  99. package/dist/src/storage/MessageRepository.js +23 -27
  100. package/dist/src/storage/MessageRepository.js.map +1 -1
  101. package/env.example +5 -0
  102. package/knexfile.ts +17 -8
  103. package/package.json +10 -2
  104. package/scripts/generate-key.js +124 -0
  105. package/scripts/seed-default.js +72 -0
  106. package/scripts/setup.js +148 -13
  107. package/scripts/validate-db.js +22 -6
@@ -0,0 +1,232 @@
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.authenticateUserOrApiKey = exports.requireRole = exports.authenticateApiKey = exports.authenticateUser = exports.JWTUtils = exports.PasswordUtils = void 0;
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
+ const bcryptjs_1 = __importDefault(require("bcryptjs"));
9
+ const errorHandler_1 = require("./errorHandler");
10
+ const logger_1 = __importDefault(require("../config/logger"));
11
+ // Password utilities
12
+ exports.PasswordUtils = {
13
+ async hash(password) {
14
+ return bcryptjs_1.default.hash(password, 12);
15
+ },
16
+ async compare(password, hash) {
17
+ return bcryptjs_1.default.compare(password, hash);
18
+ }
19
+ };
20
+ // JWT utilities
21
+ exports.JWTUtils = {
22
+ generateToken(profileId, userId, companyId, tokenUpdatedAt, role) {
23
+ const payload = {
24
+ user_company_profile_id: profileId,
25
+ user_id: userId,
26
+ company_id: companyId,
27
+ user_token_updated_at: tokenUpdatedAt,
28
+ role: role
29
+ };
30
+ return jsonwebtoken_1.default.sign(payload, process.env.JWT_SECRET, {
31
+ // No expiration - token is invalidated via token_updated_at check
32
+ issuer: 'vezlo-assistant'
33
+ });
34
+ },
35
+ generateRefreshToken(profileId, userId, companyId, tokenUpdatedAt, role) {
36
+ const payload = {
37
+ user_company_profile_id: profileId,
38
+ user_id: userId,
39
+ company_id: companyId,
40
+ user_token_updated_at: tokenUpdatedAt,
41
+ role: role,
42
+ type: 'refresh'
43
+ };
44
+ return jsonwebtoken_1.default.sign(payload, process.env.JWT_SECRET, {
45
+ expiresIn: '7d',
46
+ issuer: 'vezlo-assistant'
47
+ });
48
+ },
49
+ verifyToken(token) {
50
+ try {
51
+ return jsonwebtoken_1.default.verify(token, process.env.JWT_SECRET);
52
+ }
53
+ catch (error) {
54
+ throw new errorHandler_1.UnauthorizedError('Invalid or expired token');
55
+ }
56
+ }
57
+ };
58
+ // User authentication middleware
59
+ const authenticateUser = (supabase) => {
60
+ return async (req, res, next) => {
61
+ try {
62
+ const authHeader = req.headers.authorization;
63
+ if (!authHeader || !authHeader.startsWith('Bearer ')) {
64
+ throw new errorHandler_1.UnauthorizedError('No token provided');
65
+ }
66
+ const token = authHeader.substring(7);
67
+ const decoded = exports.JWTUtils.verifyToken(token);
68
+ // Get user data
69
+ const { data: user, error: userError } = await supabase
70
+ .from('vezlo_users')
71
+ .select('*')
72
+ .eq('id', decoded.user_id)
73
+ .single();
74
+ if (userError || !user) {
75
+ throw new errorHandler_1.UnauthorizedError('User not found');
76
+ }
77
+ // Check if token is still valid (not logged out)
78
+ if (user.token_updated_at !== decoded.user_token_updated_at) {
79
+ throw new errorHandler_1.UnauthorizedError('Token has been invalidated');
80
+ }
81
+ // Get profile data
82
+ const { data: profile, error: profileError } = await supabase
83
+ .from('vezlo_user_company_profiles')
84
+ .select(`
85
+ *,
86
+ companies:company_id (
87
+ id,
88
+ uuid,
89
+ name,
90
+ domain
91
+ )
92
+ `)
93
+ .eq('id', decoded.user_company_profile_id)
94
+ .single();
95
+ if (profileError || !profile) {
96
+ throw new errorHandler_1.UnauthorizedError('Profile not found');
97
+ }
98
+ // Check if profile is active
99
+ if (profile.status !== 'active') {
100
+ throw new errorHandler_1.UnauthorizedError('Profile is inactive');
101
+ }
102
+ // Attach user and profile data to request
103
+ req.user = {
104
+ id: user.id.toString(),
105
+ uuid: user.uuid,
106
+ email: user.email,
107
+ name: user.name,
108
+ tokenUpdatedAt: user.token_updated_at
109
+ };
110
+ req.profile = {
111
+ id: profile.id.toString(),
112
+ uuid: profile.uuid,
113
+ companyId: profile.company_id.toString(),
114
+ companyUuid: profile.companies.uuid,
115
+ companyName: profile.companies.name,
116
+ role: profile.role,
117
+ status: profile.status
118
+ };
119
+ next();
120
+ }
121
+ catch (error) {
122
+ next(error);
123
+ }
124
+ };
125
+ };
126
+ exports.authenticateUser = authenticateUser;
127
+ // API Key authentication middleware
128
+ const authenticateApiKey = (supabase) => {
129
+ return async (req, res, next) => {
130
+ try {
131
+ const apiKey = req.headers['x-api-key']?.trim();
132
+ if (!apiKey) {
133
+ throw new errorHandler_1.UnauthorizedError('API key required');
134
+ }
135
+ // We'll use a different approach - store API keys as SHA-256 hashes instead of bcrypt
136
+ // This is appropriate for API keys since they are random and we need exact comparison
137
+ // Convert the API key to a SHA-256 hash
138
+ const crypto = require('crypto');
139
+ const hashedKey = crypto.createHash('sha256').update(apiKey).digest('hex');
140
+ // Find the API key by its hash
141
+ const { data: apiKeyData, error: apiKeyError } = await supabase
142
+ .from('vezlo_api_keys')
143
+ .select(`
144
+ *,
145
+ companies:company_id (
146
+ id,
147
+ uuid,
148
+ name,
149
+ domain
150
+ )
151
+ `)
152
+ .eq('key_hash', hashedKey)
153
+ .single();
154
+ if (apiKeyError || !apiKeyData) {
155
+ logger_1.default.warn(`API key validation failed. Key length: ${apiKey.length}, Hash: ${hashedKey.substring(0, 20)}...`);
156
+ if (apiKeyError) {
157
+ logger_1.default.warn(`Supabase error code: ${apiKeyError.code}, message: ${apiKeyError.message}`);
158
+ // Check if it's a permission error
159
+ if (apiKeyError.code === 'PGRST301' || apiKeyError.message?.includes('permission') || apiKeyError.message?.includes('RLS')) {
160
+ logger_1.default.error('API key lookup failed due to permissions. Ensure SUPABASE_SERVICE_KEY is used instead of SUPABASE_ANON_KEY');
161
+ }
162
+ }
163
+ throw new errorHandler_1.UnauthorizedError('Invalid API key');
164
+ }
165
+ // Check if API key is expired
166
+ if (apiKeyData.expires_at && new Date(apiKeyData.expires_at) < new Date()) {
167
+ throw new errorHandler_1.UnauthorizedError('API key has expired');
168
+ }
169
+ // Get admin user for the company (for created_by attribution)
170
+ const companyId = apiKeyData.companies.id;
171
+ const { data: adminProfile } = await supabase
172
+ .from('vezlo_user_company_profiles')
173
+ .select('user_id')
174
+ .eq('company_id', companyId)
175
+ .eq('role', 'admin')
176
+ .eq('status', 'active')
177
+ .order('created_at', { ascending: true })
178
+ .limit(1)
179
+ .single();
180
+ // Attach company data to request
181
+ req.company = {
182
+ id: apiKeyData.companies.id.toString(),
183
+ uuid: apiKeyData.companies.uuid,
184
+ name: apiKeyData.companies.name,
185
+ domain: apiKeyData.companies.domain,
186
+ adminUserId: adminProfile?.user_id || null
187
+ };
188
+ next();
189
+ }
190
+ catch (error) {
191
+ next(error);
192
+ }
193
+ };
194
+ };
195
+ exports.authenticateApiKey = authenticateApiKey;
196
+ // Role-based authorization helper
197
+ const requireRole = (allowedRoles) => {
198
+ return (req, res, next) => {
199
+ if (!req.profile) {
200
+ throw new errorHandler_1.UnauthorizedError('Authentication required');
201
+ }
202
+ if (!allowedRoles.includes(req.profile.role)) {
203
+ throw new errorHandler_1.ForbiddenError(`Required role: ${allowedRoles.join(' or ')}`);
204
+ }
205
+ next();
206
+ };
207
+ };
208
+ exports.requireRole = requireRole;
209
+ // Combined authentication middleware that accepts either JWT or API key
210
+ const authenticateUserOrApiKey = (supabase) => {
211
+ return async (req, res, next) => {
212
+ try {
213
+ // Try JWT authentication first
214
+ const authHeader = req.headers.authorization;
215
+ if (authHeader && authHeader.startsWith('Bearer ')) {
216
+ return (0, exports.authenticateUser)(supabase)(req, res, next);
217
+ }
218
+ // If no JWT, try API key authentication
219
+ const apiKey = req.headers['x-api-key']?.trim();
220
+ if (apiKey) {
221
+ return (0, exports.authenticateApiKey)(supabase)(req, res, next);
222
+ }
223
+ // Neither found
224
+ throw new errorHandler_1.UnauthorizedError('No authentication provided. Use either Bearer token or X-API-Key header');
225
+ }
226
+ catch (error) {
227
+ next(error);
228
+ }
229
+ };
230
+ };
231
+ exports.authenticateUserOrApiKey = authenticateUserOrApiKey;
232
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/middleware/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/middleware/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACjC,UAAU,SAAO;IACjB,IAAI,SAAsB;IAC1B,OAAO,EAAE,GAAG,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAK3C;AAED,qBAAa,aAAc,SAAQ,KAAK;IAC/B,UAAU,SAAO;IACjB,IAAI,SAAe;gBAEd,QAAQ,GAAE,MAAmB;CAI1C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACnC,UAAU,SAAO;IACjB,IAAI,SAAkB;gBAEjB,OAAO,GAAE,MAA8B;CAIpD;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,UAAU,SAAO;IACjB,IAAI,SAAe;gBAEd,OAAO,GAAE,MAA2B;CAIjD;AAED,qBAAa,aAAc,SAAQ,KAAK;IAC/B,UAAU,SAAO;IACjB,IAAI,SAAc;gBAEb,OAAO,GAAE,MAA4B;CAIlD;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,UAAU,SAAO;IACjB,IAAI,SAAyB;gBAExB,OAAO,GAAE,MAA8B;CAIpD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACrC,UAAU,SAAO;IACjB,IAAI,SAA2B;gBAE1B,OAAO,GAAE,MAAgC;CAItD;AAgBD,eAAO,MAAM,YAAY,GACvB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAwFF,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,IAa7D,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,IAAI,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAE7F,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,MAAM,GAAG,EAAE,gBAAgB,MAAM,EAAE,KAAG,IAYtE,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IAmB7E,CAAC;;wBAtJK,QAAQ,OACR,OAAO,OACP,QAAQ,QACP,YAAY,KACjB,IAAI;2BA2F8B,OAAO,OAAO,QAAQ,KAAG,IAAI;uBAgBjC,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;6BAKvD,GAAG,kBAAkB,MAAM,EAAE,KAAG,IAAI;0BAevC,GAAG,cAAc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IAAI;;;;;;;;;AAqBlF,wBAaE"}
1
+ {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/middleware/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACjC,UAAU,SAAO;IACjB,IAAI,SAAsB;IAC1B,OAAO,EAAE,GAAG,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAK3C;AAED,qBAAa,aAAc,SAAQ,KAAK;IAC/B,UAAU,SAAO;IACjB,IAAI,SAAe;gBAEd,QAAQ,GAAE,MAAmB;CAI1C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACnC,UAAU,SAAO;IACjB,IAAI,SAAkB;gBAEjB,OAAO,GAAE,MAA8B;CAIpD;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,UAAU,SAAO;IACjB,IAAI,SAAe;gBAEd,OAAO,GAAE,MAA2B;CAIjD;AAED,qBAAa,aAAc,SAAQ,KAAK;IAC/B,UAAU,SAAO;IACjB,IAAI,SAAc;gBAEb,OAAO,GAAE,MAA4B;CAIlD;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,UAAU,SAAO;IACjB,IAAI,SAAyB;gBAExB,OAAO,GAAE,MAA8B;CAIpD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACrC,UAAU,SAAO;IACjB,IAAI,SAA2B;gBAE1B,OAAO,GAAE,MAAgC;CAItD;AAGD,eAAO,MAAM,YAAY,GACvB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAyFF,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,IAM7D,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,IAAI,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAE7F,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,MAAM,GAAG,EAAE,gBAAgB,MAAM,EAAE,KAAG,IAYtE,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IAmB7E,CAAC;;wBAhJK,QAAQ,OACR,OAAO,OACP,QAAQ,QACP,YAAY,KACjB,IAAI;2BA4F8B,OAAO,OAAO,QAAQ,KAAG,IAAI;uBASjC,QAAQ,MAAM,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;6BAKvD,GAAG,kBAAkB,MAAM,EAAE,KAAG,IAAI;0BAevC,GAAG,cAAc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IAAI;;;;;;;;;AAqBlF,wBAaE"}
@@ -116,23 +116,24 @@ const errorHandler = (err, req, res, next) => {
116
116
  code = 'INVALID_REFERENCE';
117
117
  message = 'Referenced resource does not exist';
118
118
  }
119
- // Prepare error response
119
+ // Prepare error response - simplified to just the message
120
120
  const errorResponse = {
121
- error: {
122
- code,
123
- message,
124
- timestamp: new Date().toISOString(),
125
- path: req.path,
126
- method: req.method
127
- },
128
- success: false
121
+ error: message
129
122
  };
130
- // Add details in development/detailed error mode
123
+ // Log details in development/detailed error mode (but don't send to client)
131
124
  if (global_1.config.validation.returnDetailedErrors) {
132
- errorResponse.error.details = details || {
125
+ const errorDetails = details || {
133
126
  stack: err.stack,
134
127
  originalError: err.message
135
128
  };
129
+ console.error('Error details:', {
130
+ code,
131
+ message,
132
+ timestamp: new Date().toISOString(),
133
+ path: req.path,
134
+ method: req.method,
135
+ details: errorDetails
136
+ });
136
137
  }
137
138
  // Log error (but not for client errors like 400, 401, 403, 404)
138
139
  if (statusCode >= 500 && global_1.config.logging.enableErrorLogging) {
@@ -158,14 +159,7 @@ exports.errorHandler = errorHandler;
158
159
  // 404 handler for undefined routes
159
160
  const notFoundHandler = (req, res) => {
160
161
  const errorResponse = {
161
- error: {
162
- code: 'ENDPOINT_NOT_FOUND',
163
- message: `Endpoint ${req.method} ${req.path} not found`,
164
- timestamp: new Date().toISOString(),
165
- path: req.path,
166
- method: req.method
167
- },
168
- success: false
162
+ error: `Endpoint ${req.method} ${req.path} not found`
169
163
  };
170
164
  res.status(404).json(errorResponse);
171
165
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../src/middleware/errorHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../src/middleware/errorHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"001_initial_schema.d.ts","sourceRoot":"","sources":["../../../src/migrations/001_initial_schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsJlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpD"}
1
+ {"version":3,"file":"001_initial_schema.d.ts","sourceRoot":"","sources":["../../../src/migrations/001_initial_schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpD"}
@@ -9,7 +9,7 @@ async function up(knex) {
9
9
  // CONVERSATIONS & MESSAGES SCHEMA (Modern 2-API Flow)
10
10
  // ============================================================================
11
11
  // Conversations table (renamed from chat_sessions)
12
- await knex.schema.createTable('conversations', (table) => {
12
+ await knex.schema.createTable('vezlo_conversations', (table) => {
13
13
  table.bigIncrements('id').primary();
14
14
  table.uuid('uuid').defaultTo(knex.raw('gen_random_uuid()')).unique().notNullable();
15
15
  table.bigInteger('company_id').comment('Multi-tenancy support');
@@ -20,11 +20,11 @@ async function up(knex) {
20
20
  table.timestamp('deleted_at', { useTz: true }).comment('Soft delete');
21
21
  });
22
22
  // Messages table (supports parent-child relationships for regeneration)
23
- await knex.schema.createTable('messages', (table) => {
23
+ await knex.schema.createTable('vezlo_messages', (table) => {
24
24
  table.bigIncrements('id').primary();
25
25
  table.uuid('uuid').defaultTo(knex.raw('gen_random_uuid()')).unique().notNullable();
26
- table.bigInteger('conversation_id').notNullable().references('id').inTable('conversations').onDelete('CASCADE');
27
- table.bigInteger('parent_message_id').references('id').inTable('messages').comment('For regeneration chains');
26
+ table.bigInteger('conversation_id').notNullable().references('id').inTable('vezlo_conversations').onDelete('CASCADE');
27
+ table.bigInteger('parent_message_id').references('id').inTable('vezlo_messages').comment('For regeneration chains');
28
28
  table.text('type').notNullable().comment('user, assistant, system');
29
29
  table.text('content').notNullable();
30
30
  table.text('status').defaultTo('completed').comment('generating, completed, stopped, failed');
@@ -32,10 +32,10 @@ async function up(knex) {
32
32
  table.timestamps(true, true); // created_at, updated_at with timezone
33
33
  });
34
34
  // Message feedback table
35
- await knex.schema.createTable('message_feedback', (table) => {
35
+ await knex.schema.createTable('vezlo_message_feedback', (table) => {
36
36
  table.bigIncrements('id').primary();
37
37
  table.uuid('uuid').defaultTo(knex.raw('gen_random_uuid()')).unique().notNullable();
38
- table.bigInteger('message_id').notNullable().references('id').inTable('messages').onDelete('CASCADE');
38
+ table.bigInteger('message_id').notNullable().references('id').inTable('vezlo_messages').onDelete('CASCADE');
39
39
  table.bigInteger('user_id').notNullable();
40
40
  table.text('rating').notNullable().comment('positive, negative');
41
41
  table.text('category');
@@ -47,10 +47,10 @@ async function up(knex) {
47
47
  // KNOWLEDGE BASE SCHEMA (Unified Single Table)
48
48
  // ============================================================================
49
49
  // Knowledge items table (folders, documents, files, URLs - everything)
50
- await knex.schema.createTable('knowledge_items', (table) => {
50
+ await knex.schema.createTable('vezlo_knowledge_items', (table) => {
51
51
  table.bigIncrements('id').primary();
52
52
  table.uuid('uuid').defaultTo(knex.raw('gen_random_uuid()')).unique().notNullable();
53
- table.bigInteger('parent_id').references('id').inTable('knowledge_items').comment('Hierarchical structure');
53
+ table.bigInteger('parent_id').references('id').inTable('vezlo_knowledge_items').comment('Hierarchical structure');
54
54
  table.bigInteger('company_id').comment('Multi-tenancy support');
55
55
  table.text('title').notNullable();
56
56
  table.text('description');
@@ -69,76 +69,51 @@ async function up(knex) {
69
69
  // INDEXES FOR PERFORMANCE
70
70
  // ============================================================================
71
71
  // Conversations indexes
72
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_conversations_uuid ON conversations(uuid)');
73
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_conversations_company_id ON conversations(company_id)');
74
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_conversations_creator_id ON conversations(creator_id)');
75
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_conversations_deleted ON conversations(deleted_at) WHERE deleted_at IS NULL');
76
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_conversations_updated_at ON conversations(updated_at DESC)');
72
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_conversations_uuid ON vezlo_conversations(uuid)');
73
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_conversations_company_id ON vezlo_conversations(company_id)');
74
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_conversations_creator_id ON vezlo_conversations(creator_id)');
75
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_conversations_deleted ON vezlo_conversations(deleted_at) WHERE deleted_at IS NULL');
76
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_conversations_updated_at ON vezlo_conversations(updated_at DESC)');
77
77
  // Messages indexes
78
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_messages_uuid ON messages(uuid)');
79
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_messages_conversation_id ON messages(conversation_id)');
80
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_messages_parent_id ON messages(parent_message_id)');
81
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_messages_type ON messages(type)');
82
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_messages_status ON messages(status)');
83
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_messages_created_at ON messages(created_at DESC)');
78
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_messages_uuid ON vezlo_messages(uuid)');
79
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_messages_conversation_id ON vezlo_messages(conversation_id)');
80
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_messages_parent_id ON vezlo_messages(parent_message_id)');
81
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_messages_type ON vezlo_messages(type)');
82
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_messages_status ON vezlo_messages(status)');
83
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_messages_created_at ON vezlo_messages(created_at DESC)');
84
84
  // Message feedback indexes
85
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_feedback_uuid ON message_feedback(uuid)');
86
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_feedback_message_id ON message_feedback(message_id)');
87
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_feedback_user_id ON message_feedback(user_id)');
88
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_feedback_rating ON message_feedback(rating)');
85
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_feedback_uuid ON vezlo_message_feedback(uuid)');
86
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_feedback_message_id ON vezlo_message_feedback(message_id)');
87
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_feedback_user_id ON vezlo_message_feedback(user_id)');
88
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_feedback_rating ON vezlo_message_feedback(rating)');
89
89
  // Knowledge items indexes
90
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_uuid ON knowledge_items(uuid)');
91
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_company_id ON knowledge_items(company_id)');
92
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_parent_id ON knowledge_items(parent_id)');
93
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_type ON knowledge_items(type)');
94
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_created_by ON knowledge_items(created_by)');
95
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_created_at ON knowledge_items(created_at DESC)');
90
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_uuid ON vezlo_knowledge_items(uuid)');
91
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_company_id ON vezlo_knowledge_items(company_id)');
92
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_parent_id ON vezlo_knowledge_items(parent_id)');
93
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_type ON vezlo_knowledge_items(type)');
94
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_created_by ON vezlo_knowledge_items(created_by)');
95
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_created_at ON vezlo_knowledge_items(created_at DESC)');
96
96
  // Full-text search index for knowledge items
97
97
  await knex.schema.raw(`
98
- CREATE INDEX IF NOT EXISTS idx_knowledge_search
99
- ON knowledge_items USING gin(to_tsvector('english', title || ' ' || COALESCE(description, '') || ' ' || COALESCE(content, '')))
98
+ CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_search
99
+ ON vezlo_knowledge_items USING gin(to_tsvector('english', title || ' ' || COALESCE(description, '') || ' ' || COALESCE(content, '')))
100
100
  `);
101
101
  // Vector similarity index for semantic search (only for items with content)
102
102
  await knex.schema.raw(`
103
- CREATE INDEX IF NOT EXISTS idx_knowledge_embedding
104
- ON knowledge_items USING ivfflat (embedding vector_cosine_ops)
103
+ CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_embedding
104
+ ON vezlo_knowledge_items USING ivfflat (embedding vector_cosine_ops)
105
105
  WHERE embedding IS NOT NULL
106
106
  `);
107
107
  // Sparse indexes for better performance
108
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_content ON knowledge_items(content) WHERE content IS NOT NULL');
109
- await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_knowledge_file_url ON knowledge_items(file_url) WHERE file_url IS NOT NULL');
110
- // ============================================================================
111
- // ROW LEVEL SECURITY (Optional but Recommended)
112
- // ============================================================================
113
- // Enable RLS on all tables
114
- await knex.schema.raw('ALTER TABLE conversations ENABLE ROW LEVEL SECURITY');
115
- await knex.schema.raw('ALTER TABLE messages ENABLE ROW LEVEL SECURITY');
116
- await knex.schema.raw('ALTER TABLE message_feedback ENABLE ROW LEVEL SECURITY');
117
- await knex.schema.raw('ALTER TABLE knowledge_items ENABLE ROW LEVEL SECURITY');
118
- // Policies for service role access (full access)
119
- await knex.schema.raw(`
120
- CREATE POLICY "Service role can access all conversations" ON conversations
121
- FOR ALL USING (auth.role() = 'service_role')
122
- `);
123
- await knex.schema.raw(`
124
- CREATE POLICY "Service role can access all messages" ON messages
125
- FOR ALL USING (auth.role() = 'service_role')
126
- `);
127
- await knex.schema.raw(`
128
- CREATE POLICY "Service role can access all feedback" ON message_feedback
129
- FOR ALL USING (auth.role() = 'service_role')
130
- `);
131
- await knex.schema.raw(`
132
- CREATE POLICY "Service role can access all knowledge items" ON knowledge_items
133
- FOR ALL USING (auth.role() = 'service_role')
134
- `);
108
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_content ON vezlo_knowledge_items(content) WHERE content IS NOT NULL');
109
+ await knex.schema.raw('CREATE INDEX IF NOT EXISTS idx_vezlo_knowledge_file_url ON vezlo_knowledge_items(file_url) WHERE file_url IS NOT NULL');
135
110
  }
136
111
  async function down(knex) {
137
112
  // Drop tables in reverse order due to foreign key constraints
138
- await knex.schema.dropTableIfExists('message_feedback');
139
- await knex.schema.dropTableIfExists('messages');
140
- await knex.schema.dropTableIfExists('knowledge_items');
141
- await knex.schema.dropTableIfExists('conversations');
113
+ await knex.schema.dropTableIfExists('vezlo_message_feedback');
114
+ await knex.schema.dropTableIfExists('vezlo_messages');
115
+ await knex.schema.dropTableIfExists('vezlo_knowledge_items');
116
+ await knex.schema.dropTableIfExists('vezlo_conversations');
142
117
  // Note: We don't drop the vector extension as it might be used by other tables
143
118
  }
144
119
  //# sourceMappingURL=001_initial_schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"001_initial_schema.js","sourceRoot":"","sources":["../../../src/migrations/001_initial_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"001_initial_schema.js","sourceRoot":"","sources":["../../../src/migrations/001_initial_schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Knex } from 'knex';
2
+ export declare function up(knex: Knex): Promise<void>;
3
+ export declare function down(knex: Knex): Promise<void>;
4
+ //# sourceMappingURL=002_multitenancy_schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002_multitenancy_schema.d.ts","sourceRoot":"","sources":["../../../src/migrations/002_multitenancy_schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4GlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpD"}