@solidstarters/solid-core 1.2.161 → 1.2.163

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 (58) hide show
  1. package/dist/commands/ingest.command.d.ts +16 -0
  2. package/dist/commands/ingest.command.d.ts.map +1 -0
  3. package/dist/commands/ingest.command.js +50 -0
  4. package/dist/commands/ingest.command.js.map +1 -0
  5. package/dist/commands/refresh-module.command.d.ts.map +1 -1
  6. package/dist/commands/refresh-module.command.js.map +1 -1
  7. package/dist/controllers/service.controller.d.ts +16 -1
  8. package/dist/controllers/service.controller.d.ts.map +1 -1
  9. package/dist/controllers/service.controller.js +55 -2
  10. package/dist/controllers/service.controller.js.map +1 -1
  11. package/dist/controllers/test.controller.d.ts +6 -1
  12. package/dist/controllers/test.controller.d.ts.map +1 -1
  13. package/dist/controllers/test.controller.js +21 -3
  14. package/dist/controllers/test.controller.js.map +1 -1
  15. package/dist/entities/common.entity.d.ts.map +1 -1
  16. package/dist/entities/common.entity.js +14 -2
  17. package/dist/entities/common.entity.js.map +1 -1
  18. package/dist/entities/user.entity.d.ts.map +1 -1
  19. package/dist/entities/user.entity.js +11 -1
  20. package/dist/entities/user.entity.js.map +1 -1
  21. package/dist/helpers/error-mapper.service.d.ts +8 -0
  22. package/dist/helpers/error-mapper.service.d.ts.map +1 -0
  23. package/dist/helpers/error-mapper.service.js +108 -0
  24. package/dist/helpers/error-mapper.service.js.map +1 -0
  25. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  26. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +4 -2
  27. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  28. package/dist/seeders/seed-data/solid-core-metadata.json +21 -0
  29. package/dist/services/genai/ingest-metadata.service.d.ts +38 -0
  30. package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -0
  31. package/dist/services/genai/ingest-metadata.service.js +530 -0
  32. package/dist/services/genai/ingest-metadata.service.js.map +1 -0
  33. package/dist/services/genai/r2r-helper.service.d.ts +7 -0
  34. package/dist/services/genai/r2r-helper.service.d.ts.map +1 -0
  35. package/dist/services/genai/r2r-helper.service.js +36 -0
  36. package/dist/services/genai/r2r-helper.service.js.map +1 -0
  37. package/dist/services/setting.service.d.ts.map +1 -1
  38. package/dist/services/setting.service.js +38 -20
  39. package/dist/services/setting.service.js.map +1 -1
  40. package/dist/solid-core.module.d.ts.map +1 -1
  41. package/dist/solid-core.module.js +8 -0
  42. package/dist/solid-core.module.js.map +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +2 -1
  45. package/src/commands/ingest-rag-chunking-strategy-for.md +224 -0
  46. package/src/commands/ingest.command.ts +36 -0
  47. package/src/commands/refresh-module.command.ts +0 -1
  48. package/src/controllers/service.controller.ts +66 -3
  49. package/src/controllers/test.controller.ts +15 -3
  50. package/src/entities/common.entity.ts +10 -0
  51. package/src/entities/user.entity.ts +33 -1
  52. package/src/helpers/error-mapper.service.ts +214 -0
  53. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +4 -2
  54. package/src/seeders/seed-data/solid-core-metadata.json +21 -0
  55. package/src/services/genai/ingest-metadata.service.ts +695 -0
  56. package/src/services/genai/r2r-helper.service.ts +33 -0
  57. package/src/services/setting.service.ts +46 -22
  58. package/src/solid-core.module.ts +8 -0
@@ -0,0 +1,33 @@
1
+ import { Injectable, Logger } from '@nestjs/common';
2
+
3
+ import { r2rClient } from 'r2r-js';
4
+
5
+
6
+
7
+ @Injectable()
8
+ export class R2RHelperService {
9
+ private readonly logger = new Logger(R2RHelperService.name);
10
+
11
+ constructor() { }
12
+
13
+ async getClient() {
14
+ this.logger.debug(`Attempting to create RAG client with url: ${process.env.GENAI_RAG_SERVER_URL}`);
15
+ const client = new r2rClient(process.env.GENAI_RAG_SERVER_URL);
16
+
17
+ // @ts-ignore
18
+ this.logger.debug(`Attempting to login to our RAG server with user ${process.env.GENAI_RAG_SERVER_LOGIN}`)
19
+ await client.users.login({
20
+ email: process.env.GENAI_RAG_SERVER_LOGIN,
21
+ password: process.env.GENAI_RAG_SERVER_PASSWORD
22
+ });
23
+
24
+ return client;
25
+ }
26
+
27
+ // async checkHealth() {
28
+ // const client = new r2rClient('http://localhost:7272');
29
+
30
+ // return await client.health();
31
+ // }
32
+
33
+ }
@@ -73,6 +73,10 @@ export class SettingService extends CRUDService<Setting> {
73
73
  authScreenRightBackgroundImage: null,
74
74
  authScreenLeftBackgroundImage: null,
75
75
  authScreenCenterBackgroundImage: null,
76
+ solidXGenAiCodeBuilderConfig: JSON.stringify({
77
+ defaultProvider: "",
78
+ availableProviders: []
79
+ })
76
80
  };
77
81
 
78
82
  const existingSettings = await this.repo.find();
@@ -106,21 +110,34 @@ export class SettingService extends CRUDService<Setting> {
106
110
  for (const setting of settingsArray) {
107
111
  if (setting.key && setting.value !== undefined && setting.value !== null) {
108
112
  let value = setting.value;
109
-
110
- if (value === 'true' || value === 'false') {
111
- settingsMap[setting.key] = value === 'true';
112
- }
113
- else if (!isNaN(Number(value)) && value.trim() !== '') {
114
- settingsMap[setting.key] = Number(value);
115
- }
116
- else if (value.includes(',')) {
117
- settingsMap[setting.key] = value.split(',').map(item => item.trim());
118
- }
119
- else {
120
- settingsMap[setting.key] = value;
113
+ try {
114
+ settingsMap[setting.key] = JSON.parse(value);
115
+ } catch {
116
+ if (value === 'true' || value === 'false') {
117
+ settingsMap[setting.key] = value === 'true';
118
+ } else if (!isNaN(Number(value)) && value.trim() !== '') {
119
+ settingsMap[setting.key] = Number(value);
120
+ } else if (value.includes(',')) {
121
+ settingsMap[setting.key] = value.split(',').map(item => item.trim());
122
+ } else {
123
+ settingsMap[setting.key] = value;
124
+ }
121
125
  }
126
+
127
+ // if (value === 'true' || value === 'false') {
128
+ // settingsMap[setting.key] = value === 'true';
129
+ // }
130
+ // else if (!isNaN(Number(value)) && value.trim() !== '') {
131
+ // settingsMap[setting.key] = Number(value);
132
+ // }
133
+ // else if (value.includes(',')) {
134
+ // settingsMap[setting.key] = value.split(',').map(item => item.trim());
135
+ // }
136
+ // else {
137
+ // settingsMap[setting.key] = value;
138
+ // }
122
139
  }
123
- }
140
+ }
124
141
 
125
142
  const defaultSettings = this.getDefaultSettings();
126
143
 
@@ -166,6 +183,10 @@ export class SettingService extends CRUDService<Setting> {
166
183
  authScreenRightBackgroundImage: null,
167
184
  authScreenLeftBackgroundImage: null,
168
185
  authScreenCenterBackgroundImage: null,
186
+ solidXGenAiCodeBuilderConfig: JSON.stringify({
187
+ defaultProvider: "",
188
+ availableProviders: []
189
+ })
169
190
  };
170
191
  }
171
192
 
@@ -303,16 +324,19 @@ export class SettingService extends CRUDService<Setting> {
303
324
  const value = setting.value;
304
325
  let parsedValue: any;
305
326
 
306
- if (value === 'true' || value === 'false') {
307
- parsedValue = value === 'true';
308
- } else if (!isNaN(Number(value)) && value.trim() !== '') {
309
- parsedValue = Number(value);
310
- } else if (value.includes(',')) {
311
- parsedValue = value.split(',').map(item => item.trim());
312
- } else {
313
- parsedValue = value;
327
+ try {
328
+ parsedValue = JSON.parse(value);
329
+ } catch {
330
+ if (value === 'true' || value === 'false') {
331
+ parsedValue = value === 'true';
332
+ } else if (!isNaN(Number(value)) && value.trim() !== '') {
333
+ parsedValue = Number(value);
334
+ } else if (value.includes(',')) {
335
+ parsedValue = value.split(',').map(item => item.trim());
336
+ } else {
337
+ parsedValue = value;
338
+ }
314
339
  }
315
-
316
340
  if (setting.type === 'user') {
317
341
  user[setting.key] = parsedValue;
318
342
  } else {
@@ -284,6 +284,10 @@ import { Three60WhatsappService } from './services/whatsapp/Three60WhatsappServi
284
284
  import { ThrottlerStorageRedisService } from '@nest-lab/throttler-storage-redis/src/throttler-storage-redis.service';
285
285
  import { isRedisConfigured } from './helpers/environment.helper';
286
286
  import { UserRepository } from './repository/user.repository';
287
+ import { ErrorMapperService } from './helpers/error-mapper.service';
288
+ import { IngestCommand } from './commands/ingest.command';
289
+ import { R2RHelperService } from './services/genai/r2r-helper.service';
290
+ import { IngestMetadataService } from './services/genai/ingest-metadata.service';
287
291
 
288
292
 
289
293
  @Global()
@@ -447,6 +451,7 @@ import { UserRepository } from './repository/user.repository';
447
451
  RefreshModuleCommand,
448
452
  SolidIntrospectService,
449
453
  DiscoveryService,
454
+ R2RHelperService,
450
455
  CrudHelperService,
451
456
  CRUDService,
452
457
  Reflector,
@@ -470,6 +475,8 @@ import { UserRepository } from './repository/user.repository';
470
475
  TextractService,
471
476
  SolidRegistry,
472
477
  SeedCommand,
478
+ IngestCommand,
479
+ IngestMetadataService,
473
480
  SMTPEMailService,
474
481
  ElasticEmailService,
475
482
  Msg91SMSService,
@@ -480,6 +487,7 @@ import { UserRepository } from './repository/user.repository';
480
487
  EmailTemplateService,
481
488
  PublisherFactory,
482
489
  PollerService,
490
+ ErrorMapperService,
483
491
 
484
492
  McpToolResponseHandlerFactory,
485
493
  SolidCreateModuleMcpToolResponseHandler,