@solidstarters/solid-core 1.2.134 → 1.2.135

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 (264) hide show
  1. package/dist/controllers/ai-interaction.controller.d.ts +45 -0
  2. package/dist/controllers/ai-interaction.controller.d.ts.map +1 -0
  3. package/dist/controllers/ai-interaction.controller.js +192 -0
  4. package/dist/controllers/ai-interaction.controller.js.map +1 -0
  5. package/dist/controllers/dashboard-variable.controller.d.ts +43 -0
  6. package/dist/controllers/dashboard-variable.controller.d.ts.map +1 -0
  7. package/dist/controllers/dashboard-variable.controller.js +179 -0
  8. package/dist/controllers/dashboard-variable.controller.js.map +1 -0
  9. package/dist/controllers/dashboard.controller.d.ts +45 -0
  10. package/dist/controllers/dashboard.controller.d.ts.map +1 -0
  11. package/dist/controllers/dashboard.controller.js +192 -0
  12. package/dist/controllers/dashboard.controller.js.map +1 -0
  13. package/dist/controllers/question-sql-dataset-config.controller.d.ts +43 -0
  14. package/dist/controllers/question-sql-dataset-config.controller.d.ts.map +1 -0
  15. package/dist/controllers/question-sql-dataset-config.controller.js +179 -0
  16. package/dist/controllers/question-sql-dataset-config.controller.js.map +1 -0
  17. package/dist/controllers/question.controller.d.ts +45 -0
  18. package/dist/controllers/question.controller.d.ts.map +1 -0
  19. package/dist/controllers/question.controller.js +194 -0
  20. package/dist/controllers/question.controller.js.map +1 -0
  21. package/dist/controllers/test.controller.d.ts.map +1 -1
  22. package/dist/controllers/test.controller.js.map +1 -1
  23. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts +3 -0
  24. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -0
  25. package/dist/decorators/dashboard-question-data-provider.decorator.js +11 -0
  26. package/dist/decorators/dashboard-question-data-provider.decorator.js.map +1 -0
  27. package/dist/decorators/dashboard-selection-provider.decorator.d.ts +3 -0
  28. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -0
  29. package/dist/decorators/dashboard-selection-provider.decorator.js +11 -0
  30. package/dist/decorators/dashboard-selection-provider.decorator.js.map +1 -0
  31. package/dist/dtos/create-ai-interaction.dto.d.ts +14 -0
  32. package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -0
  33. package/dist/dtos/create-ai-interaction.dto.js +90 -0
  34. package/dist/dtos/create-ai-interaction.dto.js.map +1 -0
  35. package/dist/dtos/create-dashboard-variable.dto.d.ts +18 -0
  36. package/dist/dtos/create-dashboard-variable.dto.d.ts.map +1 -0
  37. package/dist/dtos/create-dashboard-variable.dto.js +97 -0
  38. package/dist/dtos/create-dashboard-variable.dto.js.map +1 -0
  39. package/dist/dtos/create-dashboard.dto.d.ts +15 -0
  40. package/dist/dtos/create-dashboard.dto.d.ts.map +1 -0
  41. package/dist/dtos/create-dashboard.dto.js +90 -0
  42. package/dist/dtos/create-dashboard.dto.js.map +1 -0
  43. package/dist/dtos/create-question-sql-dataset-config.dto.d.ts +12 -0
  44. package/dist/dtos/create-question-sql-dataset-config.dto.d.ts.map +1 -0
  45. package/dist/dtos/create-question-sql-dataset-config.dto.js +77 -0
  46. package/dist/dtos/create-question-sql-dataset-config.dto.js.map +1 -0
  47. package/dist/dtos/create-question.dto.d.ts +16 -0
  48. package/dist/dtos/create-question.dto.d.ts.map +1 -0
  49. package/dist/dtos/create-question.dto.js +99 -0
  50. package/dist/dtos/create-question.dto.js.map +1 -0
  51. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +8 -0
  52. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts.map +1 -0
  53. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js +52 -0
  54. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js.map +1 -0
  55. package/dist/dtos/invoke-ai-prompt.dto.d.ts +4 -0
  56. package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +1 -0
  57. package/dist/dtos/invoke-ai-prompt.dto.js +25 -0
  58. package/dist/dtos/invoke-ai-prompt.dto.js.map +1 -0
  59. package/dist/dtos/update-ai-interaction.dto.d.ts +15 -0
  60. package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -0
  61. package/dist/dtos/update-ai-interaction.dto.js +96 -0
  62. package/dist/dtos/update-ai-interaction.dto.js.map +1 -0
  63. package/dist/dtos/update-dashboard-variable.dto.d.ts +15 -0
  64. package/dist/dtos/update-dashboard-variable.dto.d.ts.map +1 -0
  65. package/dist/dtos/update-dashboard-variable.dto.js +95 -0
  66. package/dist/dtos/update-dashboard-variable.dto.js.map +1 -0
  67. package/dist/dtos/update-dashboard.dto.d.ts +16 -0
  68. package/dist/dtos/update-dashboard.dto.d.ts.map +1 -0
  69. package/dist/dtos/update-dashboard.dto.js +96 -0
  70. package/dist/dtos/update-dashboard.dto.js.map +1 -0
  71. package/dist/dtos/update-question-sql-dataset-config.dto.d.ts +13 -0
  72. package/dist/dtos/update-question-sql-dataset-config.dto.d.ts.map +1 -0
  73. package/dist/dtos/update-question-sql-dataset-config.dto.js +86 -0
  74. package/dist/dtos/update-question-sql-dataset-config.dto.js.map +1 -0
  75. package/dist/dtos/update-question.dto.d.ts +17 -0
  76. package/dist/dtos/update-question.dto.d.ts.map +1 -0
  77. package/dist/dtos/update-question.dto.js +106 -0
  78. package/dist/dtos/update-question.dto.js.map +1 -0
  79. package/dist/entities/ai-interaction.entity.d.ts +15 -0
  80. package/dist/entities/ai-interaction.entity.d.ts.map +1 -0
  81. package/dist/entities/ai-interaction.entity.js +70 -0
  82. package/dist/entities/ai-interaction.entity.js.map +1 -0
  83. package/dist/entities/dashboard-variable.entity.d.ts +15 -0
  84. package/dist/entities/dashboard-variable.entity.d.ts.map +1 -0
  85. package/dist/entities/dashboard-variable.entity.js +73 -0
  86. package/dist/entities/dashboard-variable.entity.js.map +1 -0
  87. package/dist/entities/dashboard.entity.d.ts +12 -0
  88. package/dist/entities/dashboard.entity.d.ts.map +1 -0
  89. package/dist/entities/dashboard.entity.js +50 -0
  90. package/dist/entities/dashboard.entity.js.map +1 -0
  91. package/dist/entities/question-sql-dataset-config.entity.d.ts +13 -0
  92. package/dist/entities/question-sql-dataset-config.entity.d.ts.map +1 -0
  93. package/dist/entities/question-sql-dataset-config.entity.js +60 -0
  94. package/dist/entities/question-sql-dataset-config.entity.js.map +1 -0
  95. package/dist/entities/question.entity.d.ts +15 -0
  96. package/dist/entities/question.entity.d.ts.map +1 -0
  97. package/dist/entities/question.entity.js +67 -0
  98. package/dist/entities/question.entity.js.map +1 -0
  99. package/dist/helpers/solid-registry.d.ts +9 -1
  100. package/dist/helpers/solid-registry.d.ts.map +1 -1
  101. package/dist/helpers/solid-registry.js +32 -0
  102. package/dist/helpers/solid-registry.js.map +1 -1
  103. package/dist/index.d.ts +5 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +5 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/interfaces.d.ts +12 -1
  108. package/dist/interfaces.d.ts.map +1 -1
  109. package/dist/interfaces.js.map +1 -1
  110. package/dist/mappers/dashboard-mapper.d.ts +6 -0
  111. package/dist/mappers/dashboard-mapper.d.ts.map +1 -0
  112. package/dist/mappers/dashboard-mapper.js +60 -0
  113. package/dist/mappers/dashboard-mapper.js.map +1 -0
  114. package/dist/repository/dashboard.repository.d.ts +11 -0
  115. package/dist/repository/dashboard.repository.d.ts.map +1 -0
  116. package/dist/repository/dashboard.repository.js +93 -0
  117. package/dist/repository/dashboard.repository.js.map +1 -0
  118. package/dist/seeders/module-metadata-seeder.service.d.ts +5 -1
  119. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  120. package/dist/seeders/module-metadata-seeder.service.js +18 -2
  121. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  122. package/dist/seeders/seed-data/solid-core-metadata.json +4222 -2418
  123. package/dist/services/ai-interaction.service.d.ts +23 -0
  124. package/dist/services/ai-interaction.service.d.ts.map +1 -0
  125. package/dist/services/ai-interaction.service.js +147 -0
  126. package/dist/services/ai-interaction.service.js.map +1 -0
  127. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts +12 -0
  128. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts.map +1 -0
  129. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js +55 -0
  130. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js.map +1 -0
  131. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts +11 -0
  132. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts.map +1 -0
  133. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js +45 -0
  134. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js.map +1 -0
  135. package/dist/services/dashboard-variable.service.d.ts +23 -0
  136. package/dist/services/dashboard-variable.service.d.ts.map +1 -0
  137. package/dist/services/dashboard-variable.service.js +57 -0
  138. package/dist/services/dashboard-variable.service.js.map +1 -0
  139. package/dist/services/dashboard.service.d.ts +38 -0
  140. package/dist/services/dashboard.service.d.ts.map +1 -0
  141. package/dist/services/dashboard.service.js +179 -0
  142. package/dist/services/dashboard.service.js.map +1 -0
  143. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  144. package/dist/services/menu-item-metadata.service.js +1 -1
  145. package/dist/services/menu-item-metadata.service.js.map +1 -1
  146. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +36 -0
  147. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +1 -0
  148. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +85 -0
  149. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +1 -0
  150. package/dist/services/question-data-providers/helpers.d.ts +4 -0
  151. package/dist/services/question-data-providers/helpers.d.ts.map +1 -0
  152. package/dist/services/question-data-providers/helpers.js +10 -0
  153. package/dist/services/question-data-providers/helpers.js.map +1 -0
  154. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +17 -0
  155. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +1 -0
  156. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +64 -0
  157. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +1 -0
  158. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +19 -0
  159. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +1 -0
  160. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +84 -0
  161. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +1 -0
  162. package/dist/services/question-sql-dataset-config.service.d.ts +22 -0
  163. package/dist/services/question-sql-dataset-config.service.d.ts.map +1 -0
  164. package/dist/services/question-sql-dataset-config.service.js +56 -0
  165. package/dist/services/question-sql-dataset-config.service.js.map +1 -0
  166. package/dist/services/question.service.d.ts +29 -0
  167. package/dist/services/question.service.d.ts.map +1 -0
  168. package/dist/services/question.service.js +117 -0
  169. package/dist/services/question.service.js.map +1 -0
  170. package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
  171. package/dist/services/scheduled-jobs/scheduler.service.js +22 -11
  172. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
  173. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +11 -0
  174. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts.map +1 -0
  175. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js +46 -0
  176. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js.map +1 -0
  177. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +11 -0
  178. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts.map +1 -0
  179. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js +47 -0
  180. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js.map +1 -0
  181. package/dist/services/solid-introspect.service.d.ts +2 -0
  182. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  183. package/dist/services/solid-introspect.service.js +28 -0
  184. package/dist/services/solid-introspect.service.js.map +1 -1
  185. package/dist/services/sql-expression-resolver.service.d.ts +9 -0
  186. package/dist/services/sql-expression-resolver.service.d.ts.map +1 -0
  187. package/dist/services/sql-expression-resolver.service.js +105 -0
  188. package/dist/services/sql-expression-resolver.service.js.map +1 -0
  189. package/dist/solid-core.module.d.ts.map +1 -1
  190. package/dist/solid-core.module.js +61 -0
  191. package/dist/solid-core.module.js.map +1 -1
  192. package/dist/subscribers/dashboard-variable.subscriber.d.ts +16 -0
  193. package/dist/subscribers/dashboard-variable.subscriber.d.ts.map +1 -0
  194. package/dist/subscribers/dashboard-variable.subscriber.js +72 -0
  195. package/dist/subscribers/dashboard-variable.subscriber.js.map +1 -0
  196. package/dist/subscribers/dashboard.subscriber.d.ts +15 -0
  197. package/dist/subscribers/dashboard.subscriber.d.ts.map +1 -0
  198. package/dist/subscribers/dashboard.subscriber.js +56 -0
  199. package/dist/subscribers/dashboard.subscriber.js.map +1 -0
  200. package/dist/subscribers/question-sql-dataset-config.subscriber.d.ts +16 -0
  201. package/dist/subscribers/question-sql-dataset-config.subscriber.d.ts.map +1 -0
  202. package/dist/subscribers/question-sql-dataset-config.subscriber.js +72 -0
  203. package/dist/subscribers/question-sql-dataset-config.subscriber.js.map +1 -0
  204. package/dist/subscribers/question.subscriber.d.ts +16 -0
  205. package/dist/subscribers/question.subscriber.d.ts.map +1 -0
  206. package/dist/subscribers/question.subscriber.js +72 -0
  207. package/dist/subscribers/question.subscriber.js.map +1 -0
  208. package/dist/tsconfig.tsbuildinfo +1 -1
  209. package/package.json +1 -1
  210. package/src/controllers/ai-interaction.controller.ts +98 -0
  211. package/src/controllers/dashboard-variable.controller.ts +93 -0
  212. package/src/controllers/dashboard.controller.ts +99 -0
  213. package/src/controllers/question-sql-dataset-config.controller.ts +93 -0
  214. package/src/controllers/question.controller.ts +104 -0
  215. package/src/controllers/test.controller.ts +1 -2
  216. package/src/decorators/dashboard-question-data-provider.decorator.ts +7 -0
  217. package/src/decorators/dashboard-selection-provider.decorator.ts +7 -0
  218. package/src/dtos/create-ai-interaction.dto.ts +60 -0
  219. package/src/dtos/create-dashboard-variable.dto.ts +56 -0
  220. package/src/dtos/create-dashboard.dto.ts +53 -0
  221. package/src/dtos/create-question-sql-dataset-config.dto.ts +42 -0
  222. package/src/dtos/create-question.dto.ts +58 -0
  223. package/src/dtos/dashboard-variable-selection-dynamic-query.dto.ts +29 -0
  224. package/src/dtos/invoke-ai-prompt.dto.ts +6 -0
  225. package/src/dtos/update-ai-interaction.dto.ts +65 -0
  226. package/src/dtos/update-dashboard-variable.dto.ts +54 -0
  227. package/src/dtos/update-dashboard.dto.ts +57 -0
  228. package/src/dtos/update-question-sql-dataset-config.dto.ts +49 -0
  229. package/src/dtos/update-question.dto.ts +63 -0
  230. package/src/entities/ai-interaction.entity.ts +39 -0
  231. package/src/entities/dashboard-variable.entity.ts +30 -0
  232. package/src/entities/dashboard.entity.ts +21 -0
  233. package/src/entities/question-sql-dataset-config.entity.ts +25 -0
  234. package/src/entities/question.entity.ts +30 -0
  235. package/src/helpers/solid-registry.ts +44 -2
  236. package/src/index.ts +5 -0
  237. package/src/interfaces.ts +41 -29
  238. package/src/mappers/dashboard-mapper.ts +52 -0
  239. package/src/repository/dashboard.repository.ts +100 -0
  240. package/src/seeders/module-metadata-seeder.service.ts +21 -1
  241. package/src/seeders/seed-data/solid-core-metadata.json +4225 -2421
  242. package/src/services/1. Create a context menu option i.py +12 -0
  243. package/src/services/ai-interaction.service.ts +127 -0
  244. package/src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts +56 -0
  245. package/src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts +37 -0
  246. package/src/services/dashboard-variable.service.ts +36 -0
  247. package/src/services/dashboard.service.ts +147 -0
  248. package/src/services/menu-item-metadata.service.ts +2 -1
  249. package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +121 -0
  250. package/src/services/question-data-providers/helpers.ts +11 -0
  251. package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +72 -0
  252. package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +110 -0
  253. package/src/services/question-sql-dataset-config.service.ts +34 -0
  254. package/src/services/question.service.ts +115 -0
  255. package/src/services/scheduled-jobs/scheduler.service.ts +32 -64
  256. package/src/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.ts +41 -0
  257. package/src/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.ts +41 -0
  258. package/src/services/solid-introspect.service.ts +42 -0
  259. package/src/services/sql-expression-resolver.service.ts +125 -0
  260. package/src/solid-core.module.ts +61 -1
  261. package/src/subscribers/dashboard-variable.subscriber.ts +63 -0
  262. package/src/subscribers/dashboard.subscriber.ts +43 -0
  263. package/src/subscribers/question-sql-dataset-config.subscriber.ts +63 -0
  264. package/src/subscribers/question.subscriber.ts +65 -0
@@ -0,0 +1,23 @@
1
+ import { DiscoveryService, ModuleRef } from "@nestjs/core";
2
+ import { EntityManager, Repository } from 'typeorm';
3
+ import { CRUDService } from 'src/services/crud.service';
4
+ import { ModelMetadataService } from 'src/services/model-metadata.service';
5
+ import { ModuleMetadataService } from 'src/services/module-metadata.service';
6
+ import { ConfigService } from '@nestjs/config';
7
+ import { FileService } from 'src/services/file.service';
8
+ import { CrudHelperService } from 'src/services/crud-helper.service';
9
+ import { AiInteraction } from '../entities/ai-interaction.entity';
10
+ export declare class AiInteractionService extends CRUDService<AiInteraction> {
11
+ readonly modelMetadataService: ModelMetadataService;
12
+ readonly moduleMetadataService: ModuleMetadataService;
13
+ readonly configService: ConfigService;
14
+ readonly fileService: FileService;
15
+ readonly discoveryService: DiscoveryService;
16
+ readonly crudHelperService: CrudHelperService;
17
+ readonly entityManager: EntityManager;
18
+ readonly repo: Repository<AiInteraction>;
19
+ readonly moduleRef: ModuleRef;
20
+ constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<AiInteraction>, moduleRef: ModuleRef);
21
+ runMcpPrompt(prompt: string): Promise<any>;
22
+ }
23
+ //# sourceMappingURL=ai-interaction.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-interaction.service.d.ts","sourceRoot":"","sources":["../../src/services/ai-interaction.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAgBlE,qBACa,oBAAqB,SAAQ,WAAW,CAAC,aAAa,CAAC;IAEhE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAVpB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,EAC/B,SAAS,EAAE,SAAS;IAWzB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA0EjD"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
45
+ return function (target, key) { decorator(target, key, paramIndex); }
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.AiInteractionService = void 0;
49
+ const common_1 = require("@nestjs/common");
50
+ const typeorm_1 = require("@nestjs/typeorm");
51
+ const core_1 = require("@nestjs/core");
52
+ const typeorm_2 = require("typeorm");
53
+ const crud_service_1 = require("./crud.service");
54
+ const model_metadata_service_1 = require("./model-metadata.service");
55
+ const module_metadata_service_1 = require("./module-metadata.service");
56
+ const config_1 = require("@nestjs/config");
57
+ const file_service_1 = require("./file.service");
58
+ const crud_helper_service_1 = require("./crud-helper.service");
59
+ const child_process_1 = require("child_process");
60
+ const ai_interaction_entity_1 = require("../entities/ai-interaction.entity");
61
+ const fs = __importStar(require("fs/promises"));
62
+ let AiInteractionService = class AiInteractionService extends crud_service_1.CRUDService {
63
+ constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
64
+ super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'aiInteraction', 'solid-core', moduleRef);
65
+ this.modelMetadataService = modelMetadataService;
66
+ this.moduleMetadataService = moduleMetadataService;
67
+ this.configService = configService;
68
+ this.fileService = fileService;
69
+ this.discoveryService = discoveryService;
70
+ this.crudHelperService = crudHelperService;
71
+ this.entityManager = entityManager;
72
+ this.repo = repo;
73
+ this.moduleRef = moduleRef;
74
+ }
75
+ async runMcpPrompt(prompt) {
76
+ const pythonExecutable = process.env.MCP_PYTHON_EXECUTABLE;
77
+ const mcpClient = process.env.MCP_CLIENT;
78
+ if (!pythonExecutable || !mcpClient) {
79
+ throw new common_1.BadRequestException('SolidX AI MCP python executable or client path not configured.');
80
+ }
81
+ try {
82
+ const [pyStat, clientStat] = await Promise.all([
83
+ fs.stat(pythonExecutable),
84
+ fs.stat(mcpClient),
85
+ ]);
86
+ if (!pyStat.isFile()) {
87
+ throw new common_1.BadRequestException(`MCP_PYTHON_EXECUTABLE path is not a file: ${pythonExecutable}`);
88
+ }
89
+ if (!clientStat.isFile()) {
90
+ throw new common_1.BadRequestException(`MCP_CLIENT path is not a file: ${mcpClient}`);
91
+ }
92
+ }
93
+ catch (err) {
94
+ throw new common_1.BadRequestException(`Invalid MCP executable or client path: ${err.message}`);
95
+ }
96
+ return new Promise((resolve, reject) => {
97
+ const python = (0, child_process_1.spawn)(pythonExecutable, [mcpClient, prompt]);
98
+ let stdout = '';
99
+ let stderr = '';
100
+ python.stdout.on('data', (data) => {
101
+ stdout += data.toString();
102
+ });
103
+ python.stderr.on('data', (data) => {
104
+ stderr += data.toString();
105
+ });
106
+ python.on('close', (code) => {
107
+ if (code !== 0) {
108
+ return reject(new Error(`Python script exited with code ${code}: ${stderr}`));
109
+ }
110
+ try {
111
+ const raw = JSON.parse(stdout);
112
+ if (!raw.success) {
113
+ return reject(new Error(`MCP error: ${raw.errors?.join(', ')}`));
114
+ }
115
+ let cleaned = raw.response.trim();
116
+ if (cleaned.startsWith('```json')) {
117
+ cleaned = cleaned.replace(/^```json/, '').trim();
118
+ }
119
+ if (cleaned.endsWith('```')) {
120
+ cleaned = cleaned.replace(/```$/, '').trim();
121
+ }
122
+ const parsed = JSON.parse(cleaned);
123
+ resolve(parsed);
124
+ }
125
+ catch (err) {
126
+ reject(new Error(`Failed to parse JSON: ${err.message}`));
127
+ }
128
+ });
129
+ });
130
+ }
131
+ };
132
+ exports.AiInteractionService = AiInteractionService;
133
+ exports.AiInteractionService = AiInteractionService = __decorate([
134
+ (0, common_1.Injectable)(),
135
+ __param(6, (0, typeorm_1.InjectEntityManager)()),
136
+ __param(7, (0, typeorm_1.InjectRepository)(ai_interaction_entity_1.AiInteraction, 'default')),
137
+ __metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
138
+ module_metadata_service_1.ModuleMetadataService,
139
+ config_1.ConfigService,
140
+ file_service_1.FileService,
141
+ core_1.DiscoveryService,
142
+ crud_helper_service_1.CrudHelperService,
143
+ typeorm_2.EntityManager,
144
+ typeorm_2.Repository,
145
+ core_1.ModuleRef])
146
+ ], AiInteractionService);
147
+ //# sourceMappingURL=ai-interaction.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-interaction.service.js","sourceRoot":"","sources":["../../src/services/ai-interaction.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from 'src/services/file.service';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { spawn } from 'child_process';\nimport { AiInteraction } from '../entities/ai-interaction.entity';\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\n\ninterface McpResponse {\n success: boolean;\n request: string;\n response: string;\n model?: string;\n tools_invoked?: string[];\n tool_calls?: any[];\n duration_ms?: number;\n errors?: string[];\n trace?: string[];\n}\n\n@Injectable()\nexport class AiInteractionService extends CRUDService<AiInteraction> {\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(AiInteraction, 'default')\n readonly repo: Repository<AiInteraction>,\n readonly moduleRef: ModuleRef\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'aiInteraction', 'solid-core', moduleRef);\n }\n\n /**\n * Runs the Python MCP client with a prompt and returns the parsed JSON embedded in the 'response'.\n * @param prompt - The question or instruction to send to the MCP client.\n * @returns The parsed object inside the 'response' field of the JSON output.\n */\n async runMcpPrompt(prompt: string): Promise<any> {\n const pythonExecutable = process.env.MCP_PYTHON_EXECUTABLE;\n const mcpClient = process.env.MCP_CLIENT;\n\n // TODO: We can return an error if the above env variables are not properly setup...\n if (!pythonExecutable || !mcpClient) {\n throw new BadRequestException('SolidX AI MCP python executable or client path not configured.');\n }\n\n // Check if both paths are valid and accessible\n try {\n const [pyStat, clientStat] = await Promise.all([\n fs.stat(pythonExecutable),\n fs.stat(mcpClient),\n ]);\n\n if (!pyStat.isFile()) {\n throw new BadRequestException(`MCP_PYTHON_EXECUTABLE path is not a file: ${pythonExecutable}`);\n }\n\n if (!clientStat.isFile()) {\n throw new BadRequestException(`MCP_CLIENT path is not a file: ${mcpClient}`);\n }\n\n } catch (err: any) {\n throw new BadRequestException(`Invalid MCP executable or client path: ${err.message}`);\n }\n\n return new Promise((resolve, reject) => {\n\n const python = spawn(pythonExecutable, [mcpClient, prompt]);\n\n let stdout = '';\n let stderr = '';\n\n python.stdout.on('data', (data) => {\n stdout += data.toString();\n });\n\n python.stderr.on('data', (data) => {\n stderr += data.toString();\n });\n\n python.on('close', (code) => {\n if (code !== 0) {\n return reject(new Error(`Python script exited with code ${code}: ${stderr}`));\n }\n\n try {\n const raw: McpResponse = JSON.parse(stdout);\n\n if (!raw.success) {\n return reject(new Error(`MCP error: ${raw.errors?.join(', ')}`));\n }\n\n let cleaned = raw.response.trim();\n\n // Remove markdown-style code block wrapper\n if (cleaned.startsWith('```json')) {\n cleaned = cleaned.replace(/^```json/, '').trim();\n }\n if (cleaned.endsWith('```')) {\n cleaned = cleaned.replace(/```$/, '').trim();\n }\n\n const parsed = JSON.parse(cleaned);\n resolve(parsed);\n } catch (err: any) {\n reject(new Error(`Failed to parse JSON: ${err.message}`));\n }\n });\n });\n }\n\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
2
+ import { EntityManager } from "typeorm";
3
+ export declare class DashboardVariableSQLDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {
4
+ private readonly entityManager;
5
+ constructor(entityManager: EntityManager);
6
+ help(): string;
7
+ name(): string;
8
+ value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any>;
9
+ values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]>;
10
+ appendLimitOffset(sql: string): string;
11
+ }
12
+ //# sourceMappingURL=dashboard-variable-sql-dynamic-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-variable-sql-dynamic-provider.service.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,qBAEa,mCAAoC,YAAW,mCAAmC,CAAC,yBAAyB,CAAC;IAE1G,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGzD,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAIR,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,GAAG,GAAG,CAAC;IAIpG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;IAqB1G,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CASzC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DashboardVariableSQLDynamicProvider = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const typeorm_1 = require("typeorm");
15
+ const dashboard_selection_provider_decorator_1 = require("../../decorators/dashboard-selection-provider.decorator");
16
+ let DashboardVariableSQLDynamicProvider = class DashboardVariableSQLDynamicProvider {
17
+ constructor(entityManager) {
18
+ this.entityManager = entityManager;
19
+ }
20
+ help() {
21
+ return "# Get the dashboard variable after executing the SQL query configured for the dashboard variable.\n";
22
+ }
23
+ name() {
24
+ return 'DashboardVariableSQLDynamicProvider';
25
+ }
26
+ async value(optionValue, ctxt) {
27
+ throw new Error("DashboardVariableSQLDynamicProvider does not support value method. Use values method instead.");
28
+ }
29
+ async values(query, ctxt) {
30
+ const { sql, limit, offset } = ctxt;
31
+ if (!sql) {
32
+ throw new Error("DashboardVariableSQLDynamicProvider requires a SQL query to be provided in the context.");
33
+ }
34
+ const results = await this.entityManager.query(this.appendLimitOffset(sql), [limit, offset]);
35
+ return results.map((result) => {
36
+ const transformedResult = {
37
+ value: result.value,
38
+ label: result.label,
39
+ };
40
+ return transformedResult;
41
+ });
42
+ }
43
+ appendLimitOffset(sql) {
44
+ const trimmedSql = sql.trim().replace(/;$/, '');
45
+ const finalSql = `${trimmedSql} LIMIT $1 OFFSET $2`;
46
+ return finalSql;
47
+ }
48
+ };
49
+ exports.DashboardVariableSQLDynamicProvider = DashboardVariableSQLDynamicProvider;
50
+ exports.DashboardVariableSQLDynamicProvider = DashboardVariableSQLDynamicProvider = __decorate([
51
+ (0, dashboard_selection_provider_decorator_1.DashboardVariableSelectionProvider)(),
52
+ (0, common_1.Injectable)(),
53
+ __metadata("design:paramtypes", [typeorm_1.EntityManager])
54
+ ], DashboardVariableSQLDynamicProvider);
55
+ //# sourceMappingURL=dashboard-variable-sql-dynamic-provider.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-variable-sql-dynamic-provider.service.js","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,qCAAwC;AACxC,oHAA2G;AAIpG,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAE5C,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IACzD,CAAC;IAED,IAAI;QACA,OAAO,qGAAqG,CAAC;IACjH,CAAC;IAED,IAAI;QACA,OAAO,qCAAqC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,IAA+B;QAC5D,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAA+B;QACvD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAmE,CAAC;QACnG,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC/G,CAAC;QAID,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAG7F,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;YAC/B,MAAM,iBAAiB,GAA6B;gBAChD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aAEtB,CAAC;YACF,OAAO,iBAAiB,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAGhD,MAAM,QAAQ,GAAG,GAAG,UAAU,qBAAqB,CAAC;QAEpD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAA;AA/CY,kFAAmC;8CAAnC,mCAAmC;IAF/C,IAAA,2EAAkC,GAAE;IACpC,IAAA,mBAAU,GAAE;qCAGmC,uBAAa;GAFhD,mCAAmC,CA+C/C","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from \"../../interfaces\";\n// import localeCodes from 'locale-codes';\nimport { EntityManager } from \"typeorm\";\nimport { DashboardVariableSelectionProvider } from \"src/decorators/dashboard-selection-provider.decorator\";\n\n@DashboardVariableSelectionProvider()\n@Injectable()\nexport class DashboardVariableSQLDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {\n\n constructor(private readonly entityManager: EntityManager) {\n }\n\n help(): string {\n return \"# Get the dashboard variable after executing the SQL query configured for the dashboard variable.\\n\";\n }\n\n name(): string {\n return 'DashboardVariableSQLDynamicProvider';\n }\n\n async value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any> {\n throw new Error(\"DashboardVariableSQLDynamicProvider does not support value method. Use values method instead.\");\n }\n\n async values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]> {\n const { sql, limit, offset } = ctxt as unknown as { sql: string, limit?: number, offset?: number };\n if (!sql) {\n throw new Error(\"DashboardVariableSQLDynamicProvider requires a SQL query to be provided in the context.\");\n }\n\n // Here you would execute the SQL query against your database\n // For demonstration, let's assume we have a mock database function that executes the SQL query\n const results = await this.entityManager.query(this.appendLimitOffset(sql), [limit, offset]);\n\n // Transform the results into the expected format\n return results.map((result: any) => {\n const transformedResult: ISelectionProviderValues = {\n value: result.value, // Assuming the result has a 'value' field\n label: result.label, // Assuming the result has a 'label' field\n // Add any other fields you need to transform here\n };\n return transformedResult;\n });\n }\n\n appendLimitOffset(sql: string): string {\n // Strip trailing semicolon if present\n const trimmedSql = sql.trim().replace(/;$/, '');\n\n // Append the LIMIT/OFFSET\n const finalSql = `${trimmedSql} LIMIT $1 OFFSET $2`; // FIXME This works with PostgreSQL. for mysql use ?. For this we will need to identify the datasource using the model for the particular dashboard variable\n\n return finalSql;\n }\n}"]}
@@ -0,0 +1,11 @@
1
+ import { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
2
+ import { EntityManager } from "typeorm";
3
+ export declare class DasbhoardVariableTestDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {
4
+ private readonly entityManager;
5
+ constructor(entityManager: EntityManager);
6
+ help(): string;
7
+ name(): string;
8
+ value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any>;
9
+ values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]>;
10
+ }
11
+ //# sourceMappingURL=dashboard-variable-test-dynamic-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-variable-test-dynamic-provider.service.d.ts","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,qBAEa,oCAAqC,YAAW,mCAAmC,CAAC,yBAAyB,CAAC;IAE3G,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGzD,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAIR,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,GAAG,GAAG,CAAC;IAIpG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;CAW7G"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DasbhoardVariableTestDynamicProvider = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const typeorm_1 = require("typeorm");
15
+ const dashboard_selection_provider_decorator_1 = require("../../decorators/dashboard-selection-provider.decorator");
16
+ let DasbhoardVariableTestDynamicProvider = class DasbhoardVariableTestDynamicProvider {
17
+ constructor(entityManager) {
18
+ this.entityManager = entityManager;
19
+ }
20
+ help() {
21
+ return "# Get the dashboard variable values.\n";
22
+ }
23
+ name() {
24
+ return 'DasbhoardVariableTestDynamicProvider';
25
+ }
26
+ async value(optionValue, ctxt) {
27
+ throw new Error("DasbhoardVariableTestDynamicProvider does not support value method. Use values method instead.");
28
+ }
29
+ async values(query, ctxt) {
30
+ const { sql, limit, offset } = ctxt;
31
+ return [
32
+ { value: '1', label: 'Option 1' },
33
+ { value: '2', label: 'Option 2' },
34
+ { value: '3', label: 'Option 3' },
35
+ { value: '4', label: 'Option 4' },
36
+ ];
37
+ }
38
+ };
39
+ exports.DasbhoardVariableTestDynamicProvider = DasbhoardVariableTestDynamicProvider;
40
+ exports.DasbhoardVariableTestDynamicProvider = DasbhoardVariableTestDynamicProvider = __decorate([
41
+ (0, dashboard_selection_provider_decorator_1.DashboardVariableSelectionProvider)(),
42
+ (0, common_1.Injectable)(),
43
+ __metadata("design:paramtypes", [typeorm_1.EntityManager])
44
+ ], DasbhoardVariableTestDynamicProvider);
45
+ //# sourceMappingURL=dashboard-variable-test-dynamic-provider.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-variable-test-dynamic-provider.service.js","sourceRoot":"","sources":["../../../src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,qCAAwC;AACxC,oHAA2G;AAIpG,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAE7C,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IACzD,CAAC;IAED,IAAI;QACA,OAAO,wCAAwC,CAAC;IACpD,CAAC;IAED,IAAI;QACA,OAAO,sCAAsC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,IAA+B;QAC5D,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACtH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAA+B;QAEvD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAmE,CAAC;QACnG,OAAO;YACH,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;YACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;SACpC,CAAC;IACN,CAAC;CAEJ,CAAA;AA5BY,oFAAoC;+CAApC,oCAAoC;IAFhD,IAAA,2EAAkC,GAAE;IACpC,IAAA,mBAAU,GAAE;qCAGmC,uBAAa;GAFhD,oCAAoC,CA4BhD","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { IDashboardVariableSelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from \"../../interfaces\";\n// import localeCodes from 'locale-codes';\nimport { EntityManager } from \"typeorm\";\nimport { DashboardVariableSelectionProvider } from \"src/decorators/dashboard-selection-provider.decorator\";\n\n@DashboardVariableSelectionProvider()\n@Injectable()\nexport class DasbhoardVariableTestDynamicProvider implements IDashboardVariableSelectionProvider<ISelectionProviderContext> {\n\n constructor(private readonly entityManager: EntityManager) {\n }\n\n help(): string {\n return \"# Get the dashboard variable values.\\n\";\n }\n\n name(): string {\n return 'DasbhoardVariableTestDynamicProvider';\n }\n\n async value(optionValue: string, ctxt: ISelectionProviderContext): Promise<ISelectionProviderValues | any> {\n throw new Error(\"DasbhoardVariableTestDynamicProvider does not support value method. Use values method instead.\");\n }\n\n async values(query: string, ctxt: ISelectionProviderContext): Promise<readonly ISelectionProviderValues[]> {\n // Return some dummy data for testing\n const { sql, limit, offset } = ctxt as unknown as { sql: string, limit?: number, offset?: number };\n return [\n { value: '1', label: 'Option 1' },\n { value: '2', label: 'Option 2' },\n { value: '3', label: 'Option 3' },\n { value: '4', label: 'Option 4' },\n ]; \n }\n\n}"]}
@@ -0,0 +1,23 @@
1
+ import { DiscoveryService, ModuleRef } from "@nestjs/core";
2
+ import { EntityManager, Repository } from 'typeorm';
3
+ import { ConfigService } from '@nestjs/config';
4
+ import { CrudHelperService } from 'src/services/crud-helper.service';
5
+ import { CRUDService } from 'src/services/crud.service';
6
+ import { FileService } from 'src/services/file.service';
7
+ import { ModelMetadataService } from 'src/services/model-metadata.service';
8
+ import { ModuleMetadataService } from 'src/services/module-metadata.service';
9
+ import { DashboardVariable } from '../entities/dashboard-variable.entity';
10
+ export declare class DashboardVariableService extends CRUDService<DashboardVariable> {
11
+ readonly modelMetadataService: ModelMetadataService;
12
+ readonly moduleMetadataService: ModuleMetadataService;
13
+ readonly configService: ConfigService;
14
+ readonly fileService: FileService;
15
+ readonly discoveryService: DiscoveryService;
16
+ readonly crudHelperService: CrudHelperService;
17
+ readonly entityManager: EntityManager;
18
+ readonly repo: Repository<DashboardVariable>;
19
+ readonly moduleRef: ModuleRef;
20
+ private readonly logger;
21
+ constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<DashboardVariable>, moduleRef: ModuleRef);
22
+ }
23
+ //# sourceMappingURL=dashboard-variable.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-variable.service.d.ts","sourceRoot":"","sources":["../../src/services/dashboard-variable.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBACa,wBAAyB,SAAQ,WAAW,CAAC,iBAAiB,CAAC;IAGxE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS;IAZ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,EACnC,SAAS,EAAE,SAAS;CAMhC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DashboardVariableService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const core_1 = require("@nestjs/core");
18
+ const typeorm_1 = require("@nestjs/typeorm");
19
+ const typeorm_2 = require("typeorm");
20
+ const config_1 = require("@nestjs/config");
21
+ const crud_helper_service_1 = require("./crud-helper.service");
22
+ const crud_service_1 = require("./crud.service");
23
+ const file_service_1 = require("./file.service");
24
+ const model_metadata_service_1 = require("./model-metadata.service");
25
+ const module_metadata_service_1 = require("./module-metadata.service");
26
+ const dashboard_variable_entity_1 = require("../entities/dashboard-variable.entity");
27
+ let DashboardVariableService = class DashboardVariableService extends crud_service_1.CRUDService {
28
+ constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
29
+ super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboardVariable', 'solid-core', moduleRef);
30
+ this.modelMetadataService = modelMetadataService;
31
+ this.moduleMetadataService = moduleMetadataService;
32
+ this.configService = configService;
33
+ this.fileService = fileService;
34
+ this.discoveryService = discoveryService;
35
+ this.crudHelperService = crudHelperService;
36
+ this.entityManager = entityManager;
37
+ this.repo = repo;
38
+ this.moduleRef = moduleRef;
39
+ this.logger = new common_1.Logger(this.constructor.name);
40
+ }
41
+ };
42
+ exports.DashboardVariableService = DashboardVariableService;
43
+ exports.DashboardVariableService = DashboardVariableService = __decorate([
44
+ (0, common_1.Injectable)(),
45
+ __param(6, (0, typeorm_1.InjectEntityManager)()),
46
+ __param(7, (0, typeorm_1.InjectRepository)(dashboard_variable_entity_1.DashboardVariable, 'default')),
47
+ __metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
48
+ module_metadata_service_1.ModuleMetadataService,
49
+ config_1.ConfigService,
50
+ file_service_1.FileService,
51
+ core_1.DiscoveryService,
52
+ crud_helper_service_1.CrudHelperService,
53
+ typeorm_2.EntityManager,
54
+ typeorm_2.Repository,
55
+ core_1.ModuleRef])
56
+ ], DashboardVariableService);
57
+ //# sourceMappingURL=dashboard-variable.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-variable.service.js","sourceRoot":"","sources":["../../src/services/dashboard-variable.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAA2D;AAC3D,6CAAwE;AACxE,qCAAoD;AAEpD,2CAA+C;AAC/C,+DAAqE;AACrE,iDAAwD;AACxD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAG7E,qFAA0E;AAGnE,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,0BAA8B;IAE1E,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAE7C,aAAqC,EAErC,IAA4C,EACnC,SAAoB;QAE7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAZ9K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAA+B;QACnC,cAAS,GAAT,SAAS,CAAW;QAZd,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAe5D,CAAC;CAGF,CAAA;AAnBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,6CAAiB,EAAE,SAAS,CAAC,CAAA;qCARhB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAbpB,wBAAwB,CAmBpC","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { DashboardVariable } from '../entities/dashboard-variable.entity';\n\n@Injectable()\nexport class DashboardVariableService extends CRUDService<DashboardVariable> {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(DashboardVariable, 'default')\n readonly repo: Repository<DashboardVariable>,\n readonly moduleRef: ModuleRef,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'dashboardVariable', 'solid-core', moduleRef);\n }\n\n\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import { DiscoveryService, ModuleRef } from "@nestjs/core";
2
+ import { EntityManager } from 'typeorm';
3
+ import { ConfigService } from '@nestjs/config';
4
+ import { CrudHelperService } from 'src/services/crud-helper.service';
5
+ import { CRUDService } from 'src/services/crud.service';
6
+ import { FileService } from 'src/services/file.service';
7
+ import { ModelMetadataService } from 'src/services/model-metadata.service';
8
+ import { ModuleMetadataService } from 'src/services/module-metadata.service';
9
+ import { DashboardVariableSelectionDynamicQueryDto } from 'src/dtos/dashboard-variable-selection-dynamic-query.dto';
10
+ import { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';
11
+ import { SolidRegistry } from 'src/helpers/solid-registry';
12
+ import { DashboardMapper } from 'src/mappers/dashboard-mapper';
13
+ import { DashboardRepository } from 'src/repository/dashboard.repository';
14
+ import { Dashboard } from '../entities/dashboard.entity';
15
+ export declare const SQL_DYNAMIC_PROVIDER_NAME = "DashboardVariableSQLDynamicProvider";
16
+ export declare class DashboardService extends CRUDService<Dashboard> {
17
+ readonly modelMetadataService: ModelMetadataService;
18
+ readonly moduleMetadataService: ModuleMetadataService;
19
+ readonly configService: ConfigService;
20
+ readonly fileService: FileService;
21
+ readonly discoveryService: DiscoveryService;
22
+ readonly crudHelperService: CrudHelperService;
23
+ readonly entityManager: EntityManager;
24
+ readonly repo: DashboardRepository;
25
+ readonly moduleRef: ModuleRef;
26
+ readonly solidRegistry: SolidRegistry;
27
+ readonly moduleMetadataHelperService: ModuleMetadataHelperService;
28
+ readonly dashboardMapper: DashboardMapper;
29
+ private readonly logger;
30
+ constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: DashboardRepository, moduleRef: ModuleRef, solidRegistry: SolidRegistry, moduleMetadataHelperService: ModuleMetadataHelperService, dashboardMapper: DashboardMapper);
31
+ getSelectionDynamicValues(query: DashboardVariableSelectionDynamicQueryDto): Promise<readonly import("..").ISelectionProviderValues[]>;
32
+ private getProviderNameAndContext;
33
+ private loadDashboardVariable;
34
+ saveDashboardToConfig(entity: Dashboard): Promise<void>;
35
+ private getConfigFileDetails;
36
+ private writeToConfig;
37
+ }
38
+ //# sourceMappingURL=dashboard.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/services/dashboard.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAK7E,OAAO,EAAE,yCAAyC,EAAE,MAAM,yDAAyD,CAAC;AAEpH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAC/E,qBACa,gBAAiB,SAAQ,WAAW,CAAC,SAAS,CAAC;IAGxD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B;IACjE,QAAQ,CAAC,eAAe,EAAE,eAAe;IAd3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,2BAA2B,EAAE,2BAA2B,EACxD,eAAe,EAAE,eAAe;IAKrC,yBAAyB,CAAC,KAAK,EAAE,yCAAyC;IAkBhF,OAAO,CAAC,yBAAyB;YAoBnB,qBAAqB;IAY7B,qBAAqB,CAAC,MAAM,EAAE,SAAS;YAuB/B,oBAAoB;YAWpB,aAAa;CAgB5B"}