@vezlo/assistant-server 1.3.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.
- package/README.md +140 -43
- package/bin/vezlo-server.js +1 -1
- package/database-schema.sql +193 -33
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +17 -8
- package/dist/knexfile.js.map +1 -1
- package/dist/src/config/database.d.ts.map +1 -1
- package/dist/src/config/database.js +9 -1
- package/dist/src/config/database.js.map +1 -1
- package/dist/src/config/global.d.ts.map +1 -1
- package/dist/src/config/global.js +5 -2
- package/dist/src/config/global.js.map +1 -1
- package/dist/src/config/knex.d.ts.map +1 -1
- package/dist/src/config/knex.js +22 -2
- package/dist/src/config/knex.js.map +1 -1
- package/dist/src/config/swagger.d.ts.map +1 -1
- package/dist/src/config/swagger.js +34 -73
- package/dist/src/config/swagger.js.map +1 -1
- package/dist/src/controllers/ApiKeyController.d.ts +17 -0
- package/dist/src/controllers/ApiKeyController.d.ts.map +1 -0
- package/dist/src/controllers/ApiKeyController.js +84 -0
- package/dist/src/controllers/ApiKeyController.js.map +1 -0
- package/dist/src/controllers/AuthController.d.ts +14 -0
- package/dist/src/controllers/AuthController.d.ts.map +1 -0
- package/dist/src/controllers/AuthController.js +212 -0
- package/dist/src/controllers/AuthController.js.map +1 -0
- package/dist/src/controllers/ChatController.d.ts +8 -5
- package/dist/src/controllers/ChatController.d.ts.map +1 -1
- package/dist/src/controllers/ChatController.js +139 -31
- package/dist/src/controllers/ChatController.js.map +1 -1
- package/dist/src/controllers/KnowledgeController.d.ts +5 -4
- package/dist/src/controllers/KnowledgeController.d.ts.map +1 -1
- package/dist/src/controllers/KnowledgeController.js +54 -16
- package/dist/src/controllers/KnowledgeController.js.map +1 -1
- package/dist/src/middleware/auth.d.ts +51 -0
- package/dist/src/middleware/auth.d.ts.map +1 -0
- package/dist/src/middleware/auth.js +232 -0
- package/dist/src/middleware/auth.js.map +1 -0
- package/dist/src/middleware/errorHandler.d.ts.map +1 -1
- package/dist/src/middleware/errorHandler.js +13 -19
- package/dist/src/middleware/errorHandler.js.map +1 -1
- package/dist/src/migrations/001_initial_schema.d.ts.map +1 -1
- package/dist/src/migrations/001_initial_schema.js +39 -64
- package/dist/src/migrations/001_initial_schema.js.map +1 -1
- package/dist/src/migrations/002_multitenancy_schema.d.ts +4 -0
- package/dist/src/migrations/002_multitenancy_schema.d.ts.map +1 -0
- package/dist/src/migrations/002_multitenancy_schema.js +119 -0
- package/dist/src/migrations/002_multitenancy_schema.js.map +1 -0
- package/dist/src/schemas/AuthSchemas.d.ts +89 -0
- package/dist/src/schemas/AuthSchemas.d.ts.map +1 -0
- package/dist/src/schemas/AuthSchemas.js +63 -0
- package/dist/src/schemas/AuthSchemas.js.map +1 -0
- package/dist/src/schemas/CommonSchemas.d.ts +62 -0
- package/dist/src/schemas/CommonSchemas.d.ts.map +1 -0
- package/dist/src/schemas/CommonSchemas.js +65 -0
- package/dist/src/schemas/CommonSchemas.js.map +1 -0
- package/dist/src/schemas/ConversationSchemas.d.ts +64 -27
- package/dist/src/schemas/ConversationSchemas.d.ts.map +1 -1
- package/dist/src/schemas/ConversationSchemas.js +28 -9
- package/dist/src/schemas/ConversationSchemas.js.map +1 -1
- package/dist/src/schemas/FeedbackSchemas.d.ts +43 -5
- package/dist/src/schemas/FeedbackSchemas.d.ts.map +1 -1
- package/dist/src/schemas/FeedbackSchemas.js +20 -2
- package/dist/src/schemas/FeedbackSchemas.js.map +1 -1
- package/dist/src/schemas/KnowledgeSchemas.d.ts +114 -35
- package/dist/src/schemas/KnowledgeSchemas.d.ts.map +1 -1
- package/dist/src/schemas/KnowledgeSchemas.js +58 -16
- package/dist/src/schemas/KnowledgeSchemas.js.map +1 -1
- package/dist/src/schemas/MessageSchemas.d.ts +57 -8
- package/dist/src/schemas/MessageSchemas.d.ts.map +1 -1
- package/dist/src/schemas/MessageSchemas.js +22 -3
- package/dist/src/schemas/MessageSchemas.js.map +1 -1
- package/dist/src/schemas/index.d.ts +410 -68
- package/dist/src/schemas/index.d.ts.map +1 -1
- package/dist/src/schemas/index.js +8 -2
- package/dist/src/schemas/index.js.map +1 -1
- package/dist/src/server.js +1047 -615
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/AIService.d.ts +1 -2
- package/dist/src/services/AIService.d.ts.map +1 -1
- package/dist/src/services/AIService.js +6 -32
- package/dist/src/services/AIService.js.map +1 -1
- package/dist/src/services/ApiKeyService.d.ts +38 -0
- package/dist/src/services/ApiKeyService.d.ts.map +1 -0
- package/dist/src/services/ApiKeyService.js +123 -0
- package/dist/src/services/ApiKeyService.js.map +1 -0
- package/dist/src/services/KnowledgeBaseService.d.ts +2 -2
- package/dist/src/services/KnowledgeBaseService.d.ts.map +1 -1
- package/dist/src/services/KnowledgeBaseService.js +9 -2
- package/dist/src/services/KnowledgeBaseService.js.map +1 -1
- package/dist/src/services/MigrationService.d.ts +1 -1
- package/dist/src/services/MigrationService.d.ts.map +1 -1
- package/dist/src/services/MigrationService.js +4 -8
- package/dist/src/services/MigrationService.js.map +1 -1
- package/dist/src/services/SetupService.d.ts +102 -0
- package/dist/src/services/SetupService.d.ts.map +1 -0
- package/dist/src/services/SetupService.js +343 -0
- package/dist/src/services/SetupService.js.map +1 -0
- package/dist/src/storage/ConversationRepository.d.ts.map +1 -1
- package/dist/src/storage/ConversationRepository.js +42 -8
- package/dist/src/storage/ConversationRepository.js.map +1 -1
- package/dist/src/storage/MessageRepository.d.ts.map +1 -1
- package/dist/src/storage/MessageRepository.js +23 -27
- package/dist/src/storage/MessageRepository.js.map +1 -1
- package/dist/src/types/index.d.ts +0 -8
- package/dist/src/types/index.d.ts.map +1 -1
- package/env.example +7 -5
- package/knexfile.ts +17 -8
- package/package.json +25 -16
- package/scripts/generate-key.js +124 -0
- package/scripts/seed-default.js +72 -0
- package/scripts/setup.js +410 -149
- package/scripts/validate-db.js +46 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageRepository.js","sourceRoot":"","sources":["../../../src/storage/MessageRepository.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAI5B,YAAY,QAAwB,EAAE,cAAsB,EAAE;QAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA0B;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,0BAA0B;YAC1B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ;iBACxC,IAAI,CAAC,SAAS,CAAC;iBACf,MAAM,CAAC;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC9E,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;iBACD,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;iBACtB,MAAM,EAAE;iBACR,MAAM,EAAE,CAAC;YAEZ,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAEvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,IAAI;gBACb,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,QAAQ,CAAC,UAAU;gBAC9B,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,eAAe,EAAE,IAAI,CAAC,iBAAiB;gBACvC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ;iBAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;iBACxC,MAAM,CAAC,IAAI,CAAC;iBACZ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;iBAClC,MAAM,EAAE,CAAC;YAEZ,IAAI,iBAAiB,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAEhH,gEAAgE;YAChE,IAAI,uBAAuB,GAAG,IAAI,CAAC;YACnC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,QAAQ;qBAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;qBACnC,MAAM,CAAC,IAAI,CAAC;qBACZ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC;qBACnC,MAAM,EAAE,CAAC;gBAEZ,IAAI,kBAAkB,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBACzD,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ;iBACxC,IAAI,CAAC,SAAS,CAAC;iBACf,MAAM,CAAC;gBACN,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE;gBAC1C,iBAAiB,EAAE,uBAAuB;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC9E,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;aAC5C,CAAC;iBACD,MAAM,EAAE;iBACR,MAAM,EAAE,CAAC;YAEZ,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAEvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,IAAI;gBACb,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,QAAQ,CAAC,UAAU;gBAC9B,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEhD,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ;aAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;aACxC,MAAM,CAAC,IAAI,CAAC;aACZ,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;aAC1B,MAAM,EAAE,CAAC;QAEZ,IAAI,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ;aACxC,IAAI,CAAC,SAAS,CAAC;aACf,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aAChD,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACxC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpC,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,IAAI;gBACZ,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,cAAc;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,QAAQ,CAAC,UAAU;gBAC9B,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,eAAe,EAAE,GAAG,CAAC,iBAAiB;gBACtC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;gBACnC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aACjE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ;aAClC,IAAI,CAAC,SAAS,CAAC;aACf,MAAM,EAAE;aACR,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEzB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageRepository.js","sourceRoot":"","sources":["../../../src/storage/MessageRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export interface AIServiceConfig {
|
|
|
8
8
|
temperature?: number;
|
|
9
9
|
maxTokens?: number;
|
|
10
10
|
enableDatabaseSearch?: boolean;
|
|
11
|
-
enableFeedbackDetection?: boolean;
|
|
12
11
|
navigationLinks?: NavigationLink[];
|
|
13
12
|
existingFeatures?: string[];
|
|
14
13
|
missingFeatures?: string[];
|
|
@@ -34,7 +33,6 @@ export interface ChatMessage {
|
|
|
34
33
|
export interface AIResponse {
|
|
35
34
|
content: string;
|
|
36
35
|
toolResults: DatabaseSearchResult[];
|
|
37
|
-
feedbackDetection: FeedbackDetection | null;
|
|
38
36
|
suggestedLinks: NavigationLink[];
|
|
39
37
|
}
|
|
40
38
|
export interface DatabaseSearchResult {
|
|
@@ -52,12 +50,6 @@ export interface DatabaseSearchResult {
|
|
|
52
50
|
count?: number;
|
|
53
51
|
data?: any;
|
|
54
52
|
}
|
|
55
|
-
export interface FeedbackDetection {
|
|
56
|
-
type: 'bug_report' | 'feature_request' | 'general_feedback' | 'not_feedback';
|
|
57
|
-
confidence: number;
|
|
58
|
-
keyPoints: string[];
|
|
59
|
-
suggestedAction: string;
|
|
60
|
-
}
|
|
61
53
|
export interface NavigationLink {
|
|
62
54
|
label: string;
|
|
63
55
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/env.example
CHANGED
|
@@ -6,6 +6,9 @@ LOG_LEVEL=info
|
|
|
6
6
|
# CORS Configuration
|
|
7
7
|
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
|
|
8
8
|
|
|
9
|
+
# Swagger Base URL
|
|
10
|
+
BASE_URL=http://localhost:3000
|
|
11
|
+
|
|
9
12
|
# Rate Limiting
|
|
10
13
|
RATE_LIMIT_WINDOW=60000
|
|
11
14
|
RATE_LIMIT_MAX=100
|
|
@@ -35,11 +38,10 @@ AI_MAX_TOKENS=1000
|
|
|
35
38
|
ORGANIZATION_NAME=Vezlo
|
|
36
39
|
ASSISTANT_NAME=Vezlo Assistant
|
|
37
40
|
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
ENABLE_HUMAN_HANDOFF=true
|
|
41
|
+
# Authentication
|
|
42
|
+
JWT_SECRET=your-super-secret-jwt-key-here-change-this-in-production
|
|
43
|
+
DEFAULT_ADMIN_EMAIL=admin@vezlo.org
|
|
44
|
+
DEFAULT_ADMIN_PASSWORD=admin123
|
|
43
45
|
|
|
44
46
|
# Knowledge Base
|
|
45
47
|
CHUNK_SIZE=1000
|
package/knexfile.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Knex } from 'knex';
|
|
2
2
|
import dotenv from 'dotenv';
|
|
3
|
+
const path = require('path');
|
|
3
4
|
|
|
4
5
|
// Load environment variables
|
|
5
6
|
dotenv.config();
|
|
@@ -53,13 +54,14 @@ const config: { [key: string]: Knex.Config } = {
|
|
|
53
54
|
max: 20
|
|
54
55
|
},
|
|
55
56
|
migrations: {
|
|
56
|
-
|
|
57
|
+
// Use absolute path based on __dirname (knexfile.js location in dist/)
|
|
58
|
+
directory: path.join(__dirname, 'src/migrations'),
|
|
57
59
|
tableName: 'knex_migrations',
|
|
58
|
-
extension: '
|
|
60
|
+
extension: 'js'
|
|
59
61
|
},
|
|
60
62
|
seeds: {
|
|
61
|
-
directory: '
|
|
62
|
-
extension: '
|
|
63
|
+
directory: path.join(__dirname, 'src/seeds'),
|
|
64
|
+
extension: 'js'
|
|
63
65
|
}
|
|
64
66
|
},
|
|
65
67
|
|
|
@@ -79,13 +81,20 @@ const config: { [key: string]: Knex.Config } = {
|
|
|
79
81
|
max: 10
|
|
80
82
|
},
|
|
81
83
|
migrations: {
|
|
82
|
-
|
|
84
|
+
// In production (Vercel), knexfile.js is in dist/, so use absolute path
|
|
85
|
+
// In development, use relative path
|
|
86
|
+
directory: process.env.NODE_ENV === 'production'
|
|
87
|
+
? path.join(__dirname, 'src/migrations')
|
|
88
|
+
: path.join(process.cwd(), 'src/migrations'),
|
|
83
89
|
tableName: 'knex_migrations',
|
|
84
|
-
extension: 'ts'
|
|
90
|
+
extension: process.env.NODE_ENV === 'production' ? 'js' : 'ts',
|
|
91
|
+
loadExtensions: process.env.NODE_ENV === 'production' ? ['.js'] : ['.ts']
|
|
85
92
|
},
|
|
86
93
|
seeds: {
|
|
87
|
-
directory: '
|
|
88
|
-
|
|
94
|
+
directory: process.env.NODE_ENV === 'production'
|
|
95
|
+
? path.join(__dirname, 'src/seeds')
|
|
96
|
+
: path.join(process.cwd(), 'src/seeds'),
|
|
97
|
+
extension: process.env.NODE_ENV === 'production' ? 'js' : 'ts'
|
|
89
98
|
}
|
|
90
99
|
}
|
|
91
100
|
};
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vezlo/assistant-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Production-ready AI Assistant Server with vector search, conversation management, and real-time communication",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"types": "dist/server.d.ts",
|
|
7
7
|
"bin": {
|
|
8
8
|
"vezlo-server": "./bin/vezlo-server.js",
|
|
9
9
|
"vezlo-setup": "./scripts/setup.js",
|
|
10
|
-
"vezlo-validate": "./scripts/validate-db.js"
|
|
10
|
+
"vezlo-validate": "./scripts/validate-db.js",
|
|
11
|
+
"vezlo-seed-default": "./scripts/seed-default.js",
|
|
12
|
+
"vezlo-generate-key": "./scripts/generate-key.js"
|
|
11
13
|
},
|
|
12
14
|
"files": [
|
|
13
15
|
"dist/",
|
|
@@ -27,6 +29,8 @@
|
|
|
27
29
|
"start": "node dist/src/server.js",
|
|
28
30
|
"prepublishOnly": "npm run build",
|
|
29
31
|
"setup": "node scripts/setup.js",
|
|
32
|
+
"seed-default": "node scripts/seed-default.js",
|
|
33
|
+
"generate-key": "node scripts/generate-key.js",
|
|
30
34
|
"validate": "node scripts/validate-db.js",
|
|
31
35
|
"migrate:make": "knex migrate:make",
|
|
32
36
|
"migrate:latest": "knex migrate:latest",
|
|
@@ -39,30 +43,35 @@
|
|
|
39
43
|
},
|
|
40
44
|
"dependencies": {
|
|
41
45
|
"@supabase/supabase-js": "^2.38.0",
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
46
|
+
"@types/bcryptjs": "^2.4.6",
|
|
47
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
48
|
+
"bcryptjs": "^3.0.2",
|
|
45
49
|
"compression": "^1.7.4",
|
|
46
|
-
"
|
|
47
|
-
"socket.io": "^4.7.4",
|
|
50
|
+
"cors": "^2.8.5",
|
|
48
51
|
"dotenv": "^16.3.1",
|
|
49
|
-
"
|
|
52
|
+
"express": "^4.18.2",
|
|
53
|
+
"express-rate-limit": "^7.1.5",
|
|
54
|
+
"helmet": "^7.1.0",
|
|
55
|
+
"jsonwebtoken": "^9.0.2",
|
|
56
|
+
"knex": "^3.1.0",
|
|
50
57
|
"openai": "^4.20.1",
|
|
51
|
-
"
|
|
58
|
+
"pg": "^8.11.3",
|
|
59
|
+
"socket.io": "^4.7.4",
|
|
52
60
|
"swagger-jsdoc": "^6.2.8",
|
|
53
61
|
"swagger-ui-express": "^5.0.0",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
62
|
+
"tslib": "^2.8.1",
|
|
63
|
+
"uuid": "^9.0.1",
|
|
64
|
+
"winston": "^3.11.0"
|
|
56
65
|
},
|
|
57
66
|
"devDependencies": {
|
|
58
|
-
"@types/node": "^20.10.0",
|
|
59
|
-
"@types/express": "^4.17.20",
|
|
60
|
-
"@types/cors": "^2.8.15",
|
|
61
67
|
"@types/compression": "^1.7.4",
|
|
62
|
-
"@types/
|
|
68
|
+
"@types/cors": "^2.8.15",
|
|
69
|
+
"@types/express": "^4.17.20",
|
|
70
|
+
"@types/node": "^20.10.0",
|
|
71
|
+
"@types/pg": "^8.10.9",
|
|
63
72
|
"@types/swagger-jsdoc": "^6.0.4",
|
|
64
73
|
"@types/swagger-ui-express": "^4.1.6",
|
|
65
|
-
"@types/
|
|
74
|
+
"@types/uuid": "^9.0.6",
|
|
66
75
|
"@vercel/node": "^3.0.0",
|
|
67
76
|
"typescript": "^5.2.2"
|
|
68
77
|
},
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generate API Key Script for Vezlo Assistant Server
|
|
5
|
+
* Creates an API key for the default admin's company
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { config } = require('dotenv');
|
|
9
|
+
const { initializeSupabase } = require('../dist/src/config/database.js');
|
|
10
|
+
const { SetupService } = require('../dist/src/services/SetupService.js');
|
|
11
|
+
const { ApiKeyService } = require('../dist/src/services/ApiKeyService.js');
|
|
12
|
+
const logger = require('../dist/src/config/logger.js');
|
|
13
|
+
|
|
14
|
+
// Load environment variables
|
|
15
|
+
config();
|
|
16
|
+
|
|
17
|
+
async function generateApiKey(options = { quiet: false }) {
|
|
18
|
+
try {
|
|
19
|
+
if (!options.quiet) console.log('š Starting API Key Generation...\n');
|
|
20
|
+
|
|
21
|
+
// Initialize Supabase
|
|
22
|
+
const supabase = initializeSupabase();
|
|
23
|
+
|
|
24
|
+
// Wait for schema cache to refresh
|
|
25
|
+
if (!options.quiet) console.log('ā³ Waiting for schema cache to refresh...');
|
|
26
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
27
|
+
|
|
28
|
+
// Get default credentials from environment
|
|
29
|
+
const credentials = SetupService.getDefaultCredentials();
|
|
30
|
+
if (!options.quiet) console.log(`š Using admin email: ${credentials.adminEmail}`);
|
|
31
|
+
|
|
32
|
+
// Check if default company and admin exist
|
|
33
|
+
if (!options.quiet) console.log('š Checking for default company and admin...');
|
|
34
|
+
|
|
35
|
+
// Find the admin user
|
|
36
|
+
const { data: user, error: userError } = await supabase
|
|
37
|
+
.from('vezlo_users')
|
|
38
|
+
.select('id, uuid, name')
|
|
39
|
+
.eq('email', credentials.adminEmail)
|
|
40
|
+
.single();
|
|
41
|
+
|
|
42
|
+
if (userError || !user) {
|
|
43
|
+
throw new Error(`Admin user not found (${credentials.adminEmail}). Run seed-default first.`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (!options.quiet) console.log(`ā
Found admin user: ${user.name} (${user.uuid})`);
|
|
47
|
+
|
|
48
|
+
// Find the admin's company profile
|
|
49
|
+
const { data: profile, error: profileError } = await supabase
|
|
50
|
+
.from('vezlo_user_company_profiles')
|
|
51
|
+
.select(`
|
|
52
|
+
id,
|
|
53
|
+
role,
|
|
54
|
+
company_id,
|
|
55
|
+
companies:company_id(
|
|
56
|
+
id,
|
|
57
|
+
uuid,
|
|
58
|
+
name,
|
|
59
|
+
domain
|
|
60
|
+
)
|
|
61
|
+
`)
|
|
62
|
+
.eq('user_id', user.id)
|
|
63
|
+
.eq('role', 'admin')
|
|
64
|
+
.single();
|
|
65
|
+
|
|
66
|
+
if (profileError || !profile) {
|
|
67
|
+
throw new Error(`Admin profile not found. Run seed-default first.`);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (!options.quiet) console.log(`ā
Found company: ${profile.companies.name} (${profile.companies.uuid})`);
|
|
71
|
+
|
|
72
|
+
// Generate the API key - use joined company ID with fallback to direct company_id
|
|
73
|
+
const apiKeyService = new ApiKeyService(supabase);
|
|
74
|
+
const companyId = profile.companies?.id || profile.company_id;
|
|
75
|
+
if (!companyId) {
|
|
76
|
+
throw new Error('Could not determine company ID from profile');
|
|
77
|
+
}
|
|
78
|
+
const { uuid, apiKey } = await apiKeyService.generateApiKey(companyId);
|
|
79
|
+
|
|
80
|
+
if (!options.quiet) {
|
|
81
|
+
// Display success summary
|
|
82
|
+
console.log('\nš API Key Generated Successfully!');
|
|
83
|
+
console.log('=====================================');
|
|
84
|
+
console.log('š API Key Details:');
|
|
85
|
+
console.log(` Company: ${profile.companies.name}`);
|
|
86
|
+
console.log(` API Key: ${apiKey}`);
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log('ā ļø IMPORTANT: Save this key securely. It will not be shown again.');
|
|
89
|
+
console.log('');
|
|
90
|
+
console.log('š§ Usage Example:');
|
|
91
|
+
console.log(' curl -X POST https://your-server/api/knowledge/items \\');
|
|
92
|
+
console.log(' -H "X-API-Key: ' + apiKey + '" \\');
|
|
93
|
+
console.log(' -H "Content-Type: application/json" \\');
|
|
94
|
+
console.log(' -d \'{"title": "Example", "type": "document", "content": "Example content"}\'');
|
|
95
|
+
console.log('');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Return the generated API key details
|
|
99
|
+
return {
|
|
100
|
+
success: true,
|
|
101
|
+
uuid,
|
|
102
|
+
apiKey,
|
|
103
|
+
company: profile.companies.name,
|
|
104
|
+
user: {
|
|
105
|
+
name: user.name,
|
|
106
|
+
uuid: user.uuid
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
} catch (error) {
|
|
111
|
+
console.error('ā API key generation failed:', error.message);
|
|
112
|
+
if (!options.quiet) {
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
return { success: false, error: error.message };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Run if called directly
|
|
120
|
+
if (require.main === module) {
|
|
121
|
+
generateApiKey();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
module.exports = { generateApiKey };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Default Data Setup Script for Vezlo Assistant Server
|
|
5
|
+
* Creates default company and admin user
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { config } = require('dotenv');
|
|
9
|
+
const { initializeSupabase } = require('../dist/src/config/database.js');
|
|
10
|
+
const { SetupService } = require('../dist/src/services/SetupService.js');
|
|
11
|
+
const logger = require('../dist/src/config/logger.js');
|
|
12
|
+
|
|
13
|
+
// Load environment variables
|
|
14
|
+
config();
|
|
15
|
+
|
|
16
|
+
async function runDefaultSetup() {
|
|
17
|
+
try {
|
|
18
|
+
console.log('š Starting Default Data Setup...\n');
|
|
19
|
+
|
|
20
|
+
// Initialize Supabase
|
|
21
|
+
const supabase = initializeSupabase();
|
|
22
|
+
|
|
23
|
+
// Wait for schema cache to refresh (Supabase needs time after migrations)
|
|
24
|
+
console.log('ā³ Waiting for schema cache to refresh...');
|
|
25
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
26
|
+
|
|
27
|
+
const setupService = new SetupService(supabase);
|
|
28
|
+
|
|
29
|
+
// Check if setup is already completed
|
|
30
|
+
const status = await setupService.getSetupStatus();
|
|
31
|
+
if (status.completed) {
|
|
32
|
+
console.log('ā
Default data already exists!');
|
|
33
|
+
console.log(`š¢ Company: ${status.company?.name}`);
|
|
34
|
+
console.log(`š¤ Admin User: ${status.adminUser?.email}`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Get setup parameters from service (already required at top)
|
|
39
|
+
const credentials = SetupService.getDefaultCredentials();
|
|
40
|
+
|
|
41
|
+
console.log('š Setup Configuration:');
|
|
42
|
+
console.log(` Company Name: ${credentials.companyName}`);
|
|
43
|
+
console.log(` Admin Email: ${credentials.adminEmail}`);
|
|
44
|
+
console.log(` Admin Password: ${credentials.adminPassword}`);
|
|
45
|
+
console.log('');
|
|
46
|
+
|
|
47
|
+
// Create default data
|
|
48
|
+
const result = await setupService.createDefaultData(credentials);
|
|
49
|
+
|
|
50
|
+
// Display success summary
|
|
51
|
+
console.log('\nš Default Data Setup Completed!');
|
|
52
|
+
console.log('=====================================');
|
|
53
|
+
console.log('š Default Admin Credentials:');
|
|
54
|
+
console.log('');
|
|
55
|
+
console.log(` Company Name: ${result.company.name}`);
|
|
56
|
+
console.log(` Admin Email: ${result.user.email}`);
|
|
57
|
+
console.log(` Admin Password: ${credentials.adminPassword}`);
|
|
58
|
+
console.log(` Admin Name: ${result.user.name}`);
|
|
59
|
+
console.log('');
|
|
60
|
+
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error('ā Setup failed:', error);
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Run setup if called directly
|
|
68
|
+
if (require.main === module) {
|
|
69
|
+
runDefaultSetup();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
module.exports = { runDefaultSetup };
|