@vezlo/assistant-server 2.9.0 → 2.11.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 (56) hide show
  1. package/README.md +10 -0
  2. package/database-schema.sql +44 -0
  3. package/dist/src/bootstrap/initializeServices.d.ts +7 -0
  4. package/dist/src/bootstrap/initializeServices.d.ts.map +1 -1
  5. package/dist/src/bootstrap/initializeServices.js +25 -4
  6. package/dist/src/bootstrap/initializeServices.js.map +1 -1
  7. package/dist/src/controllers/ChatController.d.ts +6 -0
  8. package/dist/src/controllers/ChatController.d.ts.map +1 -1
  9. package/dist/src/controllers/ChatController.js +91 -17
  10. package/dist/src/controllers/ChatController.js.map +1 -1
  11. package/dist/src/controllers/DatabaseToolConfigController.d.ts +81 -0
  12. package/dist/src/controllers/DatabaseToolConfigController.d.ts.map +1 -0
  13. package/dist/src/controllers/DatabaseToolConfigController.js +524 -0
  14. package/dist/src/controllers/DatabaseToolConfigController.js.map +1 -0
  15. package/dist/src/controllers/KnowledgeController.js +4 -4
  16. package/dist/src/controllers/KnowledgeController.js.map +1 -1
  17. package/dist/src/migrations/011_create_database_tool_configs.d.ts +4 -0
  18. package/dist/src/migrations/011_create_database_tool_configs.d.ts.map +1 -0
  19. package/dist/src/migrations/011_create_database_tool_configs.js +49 -0
  20. package/dist/src/migrations/011_create_database_tool_configs.js.map +1 -0
  21. package/dist/src/server.js +399 -0
  22. package/dist/src/server.js.map +1 -1
  23. package/dist/src/services/AIService.d.ts +6 -0
  24. package/dist/src/services/AIService.d.ts.map +1 -1
  25. package/dist/src/services/AIService.js +30 -2
  26. package/dist/src/services/AIService.js.map +1 -1
  27. package/dist/src/services/DatabaseToolConfigService.d.ts +133 -0
  28. package/dist/src/services/DatabaseToolConfigService.d.ts.map +1 -0
  29. package/dist/src/services/DatabaseToolConfigService.js +442 -0
  30. package/dist/src/services/DatabaseToolConfigService.js.map +1 -0
  31. package/dist/src/services/DatabaseToolService.d.ts +75 -0
  32. package/dist/src/services/DatabaseToolService.d.ts.map +1 -0
  33. package/dist/src/services/DatabaseToolService.js +299 -0
  34. package/dist/src/services/DatabaseToolService.js.map +1 -0
  35. package/dist/src/services/IntentService.d.ts +12 -1
  36. package/dist/src/services/IntentService.d.ts.map +1 -1
  37. package/dist/src/services/IntentService.js +36 -5
  38. package/dist/src/services/IntentService.js.map +1 -1
  39. package/dist/src/services/KnowledgeBaseService.d.ts +4 -0
  40. package/dist/src/services/KnowledgeBaseService.d.ts.map +1 -1
  41. package/dist/src/services/KnowledgeBaseService.js +5 -1
  42. package/dist/src/services/KnowledgeBaseService.js.map +1 -1
  43. package/dist/src/services/ResponseGenerationService.d.ts +11 -4
  44. package/dist/src/services/ResponseGenerationService.d.ts.map +1 -1
  45. package/dist/src/services/ResponseGenerationService.js +51 -7
  46. package/dist/src/services/ResponseGenerationService.js.map +1 -1
  47. package/dist/src/services/ResponseStreamingService.d.ts +13 -1
  48. package/dist/src/services/ResponseStreamingService.d.ts.map +1 -1
  49. package/dist/src/services/ResponseStreamingService.js +50 -9
  50. package/dist/src/services/ResponseStreamingService.js.map +1 -1
  51. package/dist/src/services/ValidationService.d.ts +16 -0
  52. package/dist/src/services/ValidationService.d.ts.map +1 -0
  53. package/dist/src/services/ValidationService.js +83 -0
  54. package/dist/src/services/ValidationService.js.map +1 -0
  55. package/env.example +9 -0
  56. package/package.json +2 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.up = up;
4
+ exports.down = down;
5
+ async function up(knex) {
6
+ // Table for storing external database configurations
7
+ await knex.schema.createTable('vezlo_database_tool_configs', (table) => {
8
+ table.uuid('id').primary().defaultTo(knex.raw('gen_random_uuid()'));
9
+ table.integer('company_id').notNullable().references('id').inTable('vezlo_companies').onDelete('CASCADE');
10
+ table.text('db_url_encrypted').notNullable(); // Encrypted database URL
11
+ table.text('db_key_encrypted').notNullable(); // Encrypted database key
12
+ table.boolean('enabled').defaultTo(true);
13
+ table.timestamp('created_at').defaultTo(knex.fn.now());
14
+ table.timestamp('updated_at').defaultTo(knex.fn.now());
15
+ // Index for quick lookups by company
16
+ table.index('company_id');
17
+ });
18
+ // Table for storing individual tool configurations per table
19
+ await knex.schema.createTable('vezlo_database_tools', (table) => {
20
+ table.uuid('id').primary().defaultTo(knex.raw('gen_random_uuid()'));
21
+ table.uuid('config_id').notNullable().references('id').inTable('vezlo_database_tool_configs').onDelete('CASCADE');
22
+ table.text('table_name').notNullable(); // Database table name
23
+ table.text('tool_name').notNullable(); // Generated tool name (e.g., 'get_user_details')
24
+ table.text('tool_description'); // Description for LLM
25
+ table.jsonb('columns').notNullable(); // Array of accessible column names
26
+ table.text('id_column').notNullable().defaultTo('id'); // Primary key column name
27
+ table.text('id_column_type').notNullable().defaultTo('integer'); // 'integer', 'uuid', 'string'
28
+ table.boolean('enabled').defaultTo(true);
29
+ // User filtering columns
30
+ table.boolean('requires_user_context').defaultTo(false); // Whether tool needs user filtering
31
+ table.text('user_filter_column').nullable(); // Column to filter by (e.g., 'uuid', 'company_id')
32
+ table.text('user_filter_type').nullable(); // 'uuid', 'integer', 'string'
33
+ table.text('user_context_key').nullable(); // Key from user_context (e.g., 'user_uuid', 'company_id')
34
+ table.timestamp('created_at').defaultTo(knex.fn.now());
35
+ table.timestamp('updated_at').defaultTo(knex.fn.now());
36
+ // Index for quick lookups
37
+ table.index('config_id');
38
+ table.index('enabled');
39
+ // Unique constraint: one tool per table per config
40
+ table.unique(['config_id', 'table_name']);
41
+ });
42
+ console.log('✅ Created vezlo_database_tool_configs and vezlo_database_tools tables');
43
+ }
44
+ async function down(knex) {
45
+ await knex.schema.dropTableIfExists('vezlo_database_tools');
46
+ await knex.schema.dropTableIfExists('vezlo_database_tool_configs');
47
+ console.log('✅ Dropped vezlo_database_tool_configs and vezlo_database_tools tables');
48
+ }
49
+ //# sourceMappingURL=011_create_database_tool_configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"011_create_database_tool_configs.js","sourceRoot":"","sources":["../../../src/migrations/011_create_database_tool_configs.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,7 @@ let authController;
115
115
  let apiKeyController;
116
116
  let companyController;
117
117
  let slackController;
118
+ let databaseToolConfigController;
118
119
  async function initializeServices() {
119
120
  try {
120
121
  logger_1.default.info('Initializing Vezlo services...');
@@ -130,6 +131,7 @@ async function initializeServices() {
130
131
  apiKeyController = controllers.apiKeyController;
131
132
  companyController = controllers.companyController;
132
133
  slackController = controllers.slackController;
134
+ databaseToolConfigController = controllers.databaseToolConfigController;
133
135
  logger_1.default.info('All services initialized successfully');
134
136
  }
135
137
  catch (error) {
@@ -379,6 +381,403 @@ function setupRoutes() {
379
381
  * description: Internal server error
380
382
  */
381
383
  app.get('/api/company/analytics', (0, auth_1.authenticateUser)(supabase), (req, res) => companyController.getAnalytics(req, res));
384
+ // Database Tool Configuration API Routes
385
+ /**
386
+ * @swagger
387
+ * /api/database-tools/config:
388
+ * post:
389
+ * summary: Create database configuration
390
+ * description: Create external database configuration for tool integration (Admin only)
391
+ * tags: [Database Tools]
392
+ * security:
393
+ * - bearerAuth: []
394
+ * requestBody:
395
+ * required: true
396
+ * content:
397
+ * application/json:
398
+ * schema:
399
+ * type: object
400
+ * required:
401
+ * - db_url
402
+ * - db_key
403
+ * properties:
404
+ * db_url:
405
+ * type: string
406
+ * description: External database URL (Supabase)
407
+ * db_key:
408
+ * type: string
409
+ * description: Database API key
410
+ * responses:
411
+ * 201:
412
+ * description: Configuration created successfully
413
+ * 409:
414
+ * description: Configuration already exists
415
+ * 401:
416
+ * description: Not authenticated
417
+ */
418
+ app.post('/api/database-tools/config', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.createConfig(req, res));
419
+ /**
420
+ * @swagger
421
+ * /api/database-tools/config:
422
+ * get:
423
+ * summary: Get database configuration
424
+ * description: Get current company's database configuration
425
+ * tags: [Database Tools]
426
+ * security:
427
+ * - bearerAuth: []
428
+ * responses:
429
+ * 200:
430
+ * description: Configuration retrieved successfully
431
+ * 404:
432
+ * description: No configuration found
433
+ */
434
+ app.get('/api/database-tools/config', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.getConfig(req, res));
435
+ /**
436
+ * @swagger
437
+ * /api/database-tools/config/{configId}:
438
+ * put:
439
+ * summary: Update database configuration
440
+ * description: Update database configuration
441
+ * tags: [Database Tools]
442
+ * security:
443
+ * - bearerAuth: []
444
+ * parameters:
445
+ * - in: path
446
+ * name: configId
447
+ * required: true
448
+ * schema:
449
+ * type: string
450
+ * requestBody:
451
+ * content:
452
+ * application/json:
453
+ * schema:
454
+ * type: object
455
+ * properties:
456
+ * db_url:
457
+ * type: string
458
+ * db_key:
459
+ * type: string
460
+ * enabled:
461
+ * type: boolean
462
+ * responses:
463
+ * 200:
464
+ * description: Configuration updated successfully
465
+ */
466
+ app.put('/api/database-tools/config/:configId', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.updateConfig(req, res));
467
+ /**
468
+ * @swagger
469
+ * /api/database-tools/config/{configId}:
470
+ * delete:
471
+ * summary: Delete database configuration
472
+ * description: Delete database configuration and all associated tools
473
+ * tags: [Database Tools]
474
+ * security:
475
+ * - bearerAuth: []
476
+ * parameters:
477
+ * - in: path
478
+ * name: configId
479
+ * required: true
480
+ * schema:
481
+ * type: string
482
+ * responses:
483
+ * 200:
484
+ * description: Configuration deleted successfully
485
+ */
486
+ app.delete('/api/database-tools/config/:configId', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.deleteConfig(req, res));
487
+ /**
488
+ * @swagger
489
+ * /api/database-tools/validate:
490
+ * post:
491
+ * summary: Validate database connection
492
+ * description: Test database connection and credentials
493
+ * tags: [Database Tools]
494
+ * security:
495
+ * - bearerAuth: []
496
+ * requestBody:
497
+ * required: true
498
+ * content:
499
+ * application/json:
500
+ * schema:
501
+ * type: object
502
+ * required:
503
+ * - db_url
504
+ * - db_key
505
+ * properties:
506
+ * db_url:
507
+ * type: string
508
+ * db_key:
509
+ * type: string
510
+ * responses:
511
+ * 200:
512
+ * description: Validation result
513
+ */
514
+ app.post('/api/database-tools/validate', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.validateConnection(req, res));
515
+ /**
516
+ * @swagger
517
+ * /api/database-tools/tables:
518
+ * post:
519
+ * summary: Get database tables
520
+ * description: Introspect database and get list of available tables
521
+ * tags: [Database Tools]
522
+ * security:
523
+ * - bearerAuth: []
524
+ * requestBody:
525
+ * required: true
526
+ * content:
527
+ * application/json:
528
+ * schema:
529
+ * type: object
530
+ * required:
531
+ * - db_url
532
+ * - db_key
533
+ * properties:
534
+ * db_url:
535
+ * type: string
536
+ * db_key:
537
+ * type: string
538
+ * responses:
539
+ * 200:
540
+ * description: List of tables
541
+ */
542
+ app.post('/api/database-tools/tables', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.getTables(req, res));
543
+ /**
544
+ * @swagger
545
+ * /api/database-tools/tables/{tableName}/schema:
546
+ * post:
547
+ * summary: Get table schema
548
+ * description: Get columns and types for a specific table
549
+ * tags: [Database Tools]
550
+ * security:
551
+ * - bearerAuth: []
552
+ * parameters:
553
+ * - in: path
554
+ * name: tableName
555
+ * required: true
556
+ * schema:
557
+ * type: string
558
+ * requestBody:
559
+ * required: true
560
+ * content:
561
+ * application/json:
562
+ * schema:
563
+ * type: object
564
+ * required:
565
+ * - db_url
566
+ * - db_key
567
+ * properties:
568
+ * db_url:
569
+ * type: string
570
+ * db_key:
571
+ * type: string
572
+ * responses:
573
+ * 200:
574
+ * description: Table schema with columns
575
+ */
576
+ app.post('/api/database-tools/tables/:tableName/schema', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.getTableSchema(req, res));
577
+ /**
578
+ * @swagger
579
+ * /api/database-tools/config/{configId}/tables:
580
+ * get:
581
+ * summary: Get available tables from saved config
582
+ * description: Retrieve tables from existing database configuration
583
+ * tags: [Database Tools]
584
+ * security:
585
+ * - bearerAuth: []
586
+ * parameters:
587
+ * - in: path
588
+ * name: configId
589
+ * required: true
590
+ * schema:
591
+ * type: string
592
+ * responses:
593
+ * 200:
594
+ * description: List of tables
595
+ */
596
+ app.get('/api/database-tools/config/:configId/tables', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.getTablesFromConfig(req, res));
597
+ /**
598
+ * @swagger
599
+ * /api/database-tools/config/{configId}/tables/{tableName}/schema:
600
+ * get:
601
+ * summary: Get table schema from saved config
602
+ * description: Get table columns from existing database configuration
603
+ * tags: [Database Tools]
604
+ * security:
605
+ * - bearerAuth: []
606
+ * parameters:
607
+ * - in: path
608
+ * name: configId
609
+ * required: true
610
+ * schema:
611
+ * type: string
612
+ * - in: path
613
+ * name: tableName
614
+ * required: true
615
+ * schema:
616
+ * type: string
617
+ * responses:
618
+ * 200:
619
+ * description: Table schema with columns
620
+ */
621
+ app.get('/api/database-tools/config/:configId/tables/:tableName/schema', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.getTableSchemaFromConfig(req, res));
622
+ /**
623
+ * @swagger
624
+ * /api/database-tools/tools:
625
+ * post:
626
+ * summary: Create a database tool
627
+ * description: Create a tool for a specific table with optional user-specific filtering
628
+ * tags: [Database Tools]
629
+ * security:
630
+ * - bearerAuth: []
631
+ * requestBody:
632
+ * required: true
633
+ * content:
634
+ * application/json:
635
+ * schema:
636
+ * type: object
637
+ * required:
638
+ * - config_id
639
+ * - table_name
640
+ * - tool_name
641
+ * - columns
642
+ * - id_column
643
+ * properties:
644
+ * config_id:
645
+ * type: string
646
+ * description: Database configuration UUID
647
+ * table_name:
648
+ * type: string
649
+ * description: Name of the database table
650
+ * tool_name:
651
+ * type: string
652
+ * description: Name of the AI tool (function name)
653
+ * tool_description:
654
+ * type: string
655
+ * description: Description of what the tool does
656
+ * columns:
657
+ * type: array
658
+ * items:
659
+ * type: string
660
+ * description: List of column names to include
661
+ * id_column:
662
+ * type: string
663
+ * description: Primary key column name
664
+ * id_column_type:
665
+ * type: string
666
+ * enum: [integer, uuid, string]
667
+ * description: Data type of the primary key
668
+ * requires_user_context:
669
+ * type: boolean
670
+ * description: Enable user-specific data filtering
671
+ * user_filter_column:
672
+ * type: string
673
+ * description: Column to filter by (e.g., user_uuid)
674
+ * user_filter_type:
675
+ * type: string
676
+ * enum: [integer, uuid, string]
677
+ * description: Data type of the filter column
678
+ * user_context_key:
679
+ * type: string
680
+ * description: Key from widget userContext (e.g., user_uuid, company_uuid)
681
+ * responses:
682
+ * 201:
683
+ * description: Tool created successfully
684
+ */
685
+ app.post('/api/database-tools/tools', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.createTool(req, res));
686
+ /**
687
+ * @swagger
688
+ * /api/database-tools/tools:
689
+ * get:
690
+ * summary: Get all tools
691
+ * description: Get all enabled database tools for current company
692
+ * tags: [Database Tools]
693
+ * security:
694
+ * - bearerAuth: []
695
+ * responses:
696
+ * 200:
697
+ * description: List of tools
698
+ */
699
+ app.get('/api/database-tools/tools', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.getTools(req, res));
700
+ /**
701
+ * @swagger
702
+ * /api/database-tools/tools/{toolId}:
703
+ * put:
704
+ * summary: Update a tool
705
+ * description: Update tool configuration including user filtering settings
706
+ * tags: [Database Tools]
707
+ * security:
708
+ * - bearerAuth: []
709
+ * parameters:
710
+ * - in: path
711
+ * name: toolId
712
+ * required: true
713
+ * schema:
714
+ * type: string
715
+ * description: Tool UUID
716
+ * requestBody:
717
+ * content:
718
+ * application/json:
719
+ * schema:
720
+ * type: object
721
+ * properties:
722
+ * tool_name:
723
+ * type: string
724
+ * description: Name of the AI tool
725
+ * tool_description:
726
+ * type: string
727
+ * description: Description of the tool
728
+ * columns:
729
+ * type: array
730
+ * items:
731
+ * type: string
732
+ * description: List of column names
733
+ * id_column:
734
+ * type: string
735
+ * description: Primary key column name
736
+ * id_column_type:
737
+ * type: string
738
+ * enum: [integer, uuid, string]
739
+ * description: Data type of primary key
740
+ * enabled:
741
+ * type: boolean
742
+ * description: Enable or disable the tool
743
+ * requires_user_context:
744
+ * type: boolean
745
+ * description: Enable user-specific filtering
746
+ * user_filter_column:
747
+ * type: string
748
+ * description: Column to filter by
749
+ * user_filter_type:
750
+ * type: string
751
+ * enum: [integer, uuid, string]
752
+ * description: Data type of filter column
753
+ * user_context_key:
754
+ * type: string
755
+ * description: Key from widget userContext
756
+ * responses:
757
+ * 200:
758
+ * description: Tool updated successfully
759
+ */
760
+ app.put('/api/database-tools/tools/:toolId', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.updateTool(req, res));
761
+ /**
762
+ * @swagger
763
+ * /api/database-tools/tools/{toolId}:
764
+ * delete:
765
+ * summary: Delete a tool
766
+ * description: Delete database tool
767
+ * tags: [Database Tools]
768
+ * security:
769
+ * - bearerAuth: []
770
+ * parameters:
771
+ * - in: path
772
+ * name: toolId
773
+ * required: true
774
+ * schema:
775
+ * type: string
776
+ * responses:
777
+ * 200:
778
+ * description: Tool deleted successfully
779
+ */
780
+ app.delete('/api/database-tools/tools/:toolId', (0, auth_1.authenticateUser)(supabase), (req, res) => databaseToolConfigController.deleteTool(req, res));
382
781
  // Chat API Routes
383
782
  /**
384
783
  * @swagger
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import { AIServiceConfig, ChatContext, AIResponse } from '../types';
2
2
  import { KnowledgeBaseService } from './KnowledgeBaseService';
3
+ import { DatabaseToolService } from './DatabaseToolService';
3
4
  export declare class AIService {
4
5
  private openai;
5
6
  private systemPrompt;
@@ -7,8 +8,10 @@ export declare class AIService {
7
8
  private navigationLinks;
8
9
  private knowledgeBase;
9
10
  private knowledgeBaseService?;
11
+ private databaseToolService?;
10
12
  constructor(config: AIServiceConfig);
11
13
  setKnowledgeBaseService(service: KnowledgeBaseService): void;
14
+ setDatabaseToolService(service: DatabaseToolService): void;
12
15
  private buildSystemPrompt;
13
16
  private buildKnowledgeBaseSection;
14
17
  private buildGuardrailsPrompt;
@@ -16,6 +19,9 @@ export declare class AIService {
16
19
  /**
17
20
  * Generate streaming response from OpenAI
18
21
  * Returns an async generator that yields content chunks and final response
22
+ *
23
+ * Note: Tool calling is not supported in streaming mode.
24
+ * If tools are needed, the system will fall back to non-streaming mode.
19
25
  */
20
26
  generateResponseStream(message: string, context?: ChatContext | any): AsyncGenerator<{
21
27
  chunk: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AIService.d.ts","sourceRoot":"","sources":["../../../src/services/AIService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAuB;gBAExC,MAAM,EAAE,eAAe;IAenC,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAM5D,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,qBAAqB;IASvB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAqFzF;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAAG,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAuHlK,OAAO,CAAC,iBAAiB;CAsB1B"}
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;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,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;IACpD,OAAO,CAAC,mBAAmB,CAAC,CAAsB;gBAEtC,MAAM,EAAE,eAAe;IAenC,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAK5D,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAO1D,OAAO,CAAC,iBAAiB;IAuDzB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,qBAAqB;IASvB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAqFzF;;;;;;OAMG;IACI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAAG,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAwHlK,OAAO,CAAC,iBAAiB;CAsB1B"}
@@ -23,13 +23,25 @@ class AIService {
23
23
  this.knowledgeBaseService = service;
24
24
  this.systemPrompt = this.buildSystemPrompt();
25
25
  }
26
+ setDatabaseToolService(service) {
27
+ this.databaseToolService = service;
28
+ logger_1.default.info('🔌 Database tool service attached to AI Service');
29
+ }
26
30
  buildSystemPrompt() {
27
31
  const orgName = this.config.organizationName || 'Your Organization';
28
32
  const assistantName = this.config.assistantName || `${orgName} AI Assistant`;
33
+ const developerMode = process.env.DEVELOPER_MODE === 'true';
29
34
  const introduction = `You are ${assistantName}, the primary AI guide for the ${orgName} platform and its knowledge base.
30
35
 
31
36
  ${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:
37
+ const capabilities = developerMode
38
+ ? `## Core Capabilities (Developer Mode):
39
+ 1. Analyze and explain code structure, functions, components, and implementation details.
40
+ 2. Reference specific files, functions, classes, and code patterns from the knowledge base.
41
+ 3. Provide technical guidance grounded STRICTLY in the actual codebase implementation.
42
+ 4. Highlight code dependencies, function calls, and architectural patterns.
43
+ 5. NEVER provide generic advice—always cite specific code elements from the sources.`
44
+ : `## Core Capabilities:
33
45
  1. Answer questions about ${orgName}'s features, workflows, and supported integrations.
34
46
  2. Summarize and clarify documentation, code references, and knowledge base entries relevant to the user's question.
35
47
  3. Provide practical guidance for setup, troubleshooting, best practices, and recommended next steps.
@@ -37,7 +49,19 @@ ${this.config.platformDescription || `${orgName} helps teams capture product kno
37
49
  5. Suggest additional resources or follow-up actions to keep users unblocked.`;
38
50
  const knowledgeBaseSection = this.buildKnowledgeBaseSection();
39
51
  const guardrails = this.buildGuardrailsPrompt();
40
- const guidelines = `## Conversational Guidelines:
52
+ const guidelines = developerMode
53
+ ? `## Conversational Guidelines (Developer Mode - STRICT):
54
+ 1. **MANDATORY**: Reference specific code files, functions, components, and variables from knowledge base.
55
+ 2. **CODE GROUNDING**: Every statement must cite actual code implementation details.
56
+ 3. **NO GENERIC ANSWERS**: Never give general programming advice. Only explain what EXISTS in the codebase.
57
+ 4. **FORMAT**: Start with "Based on [FileName.ext], the [function/component] implements..."
58
+ 5. **CRITICAL**: If knowledge base contains code, explain HOW it works, not generic "how to" steps.
59
+ 6. If no relevant code found, respond: "I couldn't find implementation details for this in the codebase. Please verify the code exists or contact the development team."
60
+ 7. **Example Good Response**: "Based on RewardOrderDetailDialog.js, the handleRedemption() function processes rewards by calling rewardService.redeem() with the reward ID..."
61
+ 8. **Example Bad Response**: "To redeem a reward, follow these steps: 1. Navigate to rewards section..."
62
+
63
+ **Remember**: You are analyzing an existing codebase for developers/PMs. Always ground responses in actual code.`
64
+ : `## Conversational Guidelines:
41
65
  1. Be professional, concise, and oriented toward practical guidance.
42
66
  2. **CRITICAL**: Answer ONLY using the "Relevant information from knowledge base" section provided above. Do NOT use your general training knowledge.
43
67
  3. **Context Usage**: Use conversation history ONLY for context (pronouns, continuity). Use knowledge base chunks for answers.
@@ -145,9 +169,13 @@ The knowledge base contains curated content ingested through the src-to-kb pipel
145
169
  /**
146
170
  * Generate streaming response from OpenAI
147
171
  * Returns an async generator that yields content chunks and final response
172
+ *
173
+ * Note: Tool calling is not supported in streaming mode.
174
+ * If tools are needed, the system will fall back to non-streaming mode.
148
175
  */
149
176
  async *generateResponseStream(message, context) {
150
177
  try {
178
+ // Note: Database tools are handled separately in ChatController before streaming
151
179
  let knowledgeResults = '';
152
180
  let hasKnowledgeContext = false;
153
181
  // Check if knowledge results are already provided in context