@solidstarters/solid-core 1.2.139 → 1.2.140

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 (41) hide show
  1. package/dist/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.d.ts +1 -1
  2. package/dist/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.d.ts.map +1 -1
  3. package/dist/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.js +1 -2
  4. package/dist/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.js.map +1 -1
  5. package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.d.ts +16 -0
  6. package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.d.ts.map +1 -0
  7. package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.js +48 -0
  8. package/dist/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.js.map +1 -0
  9. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.d.ts +12 -0
  10. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.d.ts.map +1 -0
  11. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.js +38 -0
  12. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.js.map +1 -0
  13. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.d.ts +12 -0
  14. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.d.ts.map +1 -0
  15. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.js +37 -0
  16. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.js.map +1 -0
  17. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.d.ts +12 -0
  18. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.d.ts.map +1 -0
  19. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.js +38 -0
  20. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.js.map +1 -0
  21. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.d.ts +12 -0
  22. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.d.ts.map +1 -0
  23. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.js +38 -0
  24. package/dist/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.js.map +1 -0
  25. package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.d.ts +16 -0
  26. package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.d.ts.map +1 -0
  27. package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.js +47 -0
  28. package/dist/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.js.map +1 -0
  29. package/dist/solid-core.module.d.ts.map +1 -1
  30. package/dist/solid-core.module.js +15 -3
  31. package/dist/solid-core.module.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +1 -1
  34. package/src/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.ts +2 -4
  35. package/src/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.ts +56 -0
  36. package/src/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.ts +39 -0
  37. package/src/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.ts +38 -0
  38. package/src/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.ts +40 -0
  39. package/src/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.ts +39 -0
  40. package/src/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.ts +46 -0
  41. package/src/solid-core.module.ts +16 -4
@@ -1,5 +1,5 @@
1
- import { SolidIntrospectService } from '../solid-introspect.service';
2
1
  import { IMcpToolResponseHandler } from 'src/interfaces';
2
+ import { SolidIntrospectService } from '../solid-introspect.service';
3
3
  export declare class McpToolResponseHandlerFactory {
4
4
  private readonly solidIntrospectionService;
5
5
  private readonly logger;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-response-handler-factory.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,qBACa,6BAA6B;IAIlC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;gBAGpD,yBAAyB,EAAE,sBAAsB;IAItE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB;CAiB5D"}
1
+ {"version":3,"file":"mcp-tool-response-handler-factory.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,qBACa,6BAA6B;IAIlC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;gBAGpD,yBAAyB,EAAE,sBAAsB;IAItE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB;CAiB5D"}
@@ -12,7 +12,6 @@ var McpToolResponseHandlerFactory_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.McpToolResponseHandlerFactory = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
- const common_2 = require("@nestjs/common");
16
15
  const strings_1 = require("@angular-devkit/core/src/utils/strings");
17
16
  const solid_introspect_service_1 = require("../solid-introspect.service");
18
17
  let McpToolResponseHandlerFactory = McpToolResponseHandlerFactory_1 = class McpToolResponseHandlerFactory {
@@ -34,7 +33,7 @@ let McpToolResponseHandlerFactory = McpToolResponseHandlerFactory_1 = class McpT
34
33
  };
35
34
  exports.McpToolResponseHandlerFactory = McpToolResponseHandlerFactory;
36
35
  exports.McpToolResponseHandlerFactory = McpToolResponseHandlerFactory = McpToolResponseHandlerFactory_1 = __decorate([
37
- (0, common_2.Injectable)(),
36
+ (0, common_1.Injectable)(),
38
37
  __metadata("design:paramtypes", [solid_introspect_service_1.SolidIntrospectService])
39
38
  ], McpToolResponseHandlerFactory);
40
39
  //# sourceMappingURL=mcp-tool-response-handler-factory.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-response-handler-factory.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,2CAA4C;AAG5C,oEAAkE;AAClE,0EAAqE;AAK9D,IAAM,6BAA6B,qCAAnC,MAAM,6BAA6B;IAGtC,YACqB,yBAAiD;QAAjD,8BAAyB,GAAzB,yBAAyB,CAAwB;QAHrD,WAAM,GAAG,IAAI,eAAM,CAAC,+BAA6B,CAAC,IAAI,CAAC,CAAC;IAKzE,CAAC;IAED,WAAW,CAAC,WAAmB;QAC3B,WAAW,GAAG,IAAA,kBAAQ,EAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,mBAAmB,GAAG,GAAG,WAAW,wBAAwB,CAAC;QAGjE,IAAI,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,mBAAmB,EAAE,CAAC,CAAC;QAC1F,CAAC;QAGD,MAAM,qBAAqB,GAA4B,aAAa,CAAC,QAAQ,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAExF,OAAO,qBAAqB,CAAC;IACjC,CAAC;CACJ,CAAA;AAzBY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,mBAAU,GAAE;qCAKuC,iDAAsB;GAJ7D,6BAA6B,CAyBzC","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common';\n\nimport { QueueMessage, QueuePublisher } from 'src/interfaces/mq';\nimport { classify } from '@angular-devkit/core/src/utils/strings';\nimport { SolidIntrospectService } from '../solid-introspect.service';\nimport { IMcpToolResponseHandler } from 'src/interfaces';\n\n\n@Injectable()\nexport class McpToolResponseHandlerFactory {\n private readonly logger = new Logger(McpToolResponseHandlerFactory.name);\n\n constructor(\n private readonly solidIntrospectionService: SolidIntrospectService\n ) {\n }\n\n getInstance(toolInvoked: string): IMcpToolResponseHandler {\n toolInvoked = classify(toolInvoked);\n\n let resolvedHandlerName = `${toolInvoked}McpToolResponseHandler`;\n\n // Register all ISolidDatabaseModules implementations\n let actualHandler = this.solidIntrospectionService.getProvider(resolvedHandlerName);\n if (!actualHandler) {\n throw new Error(`Unable to locate mcp tool handler with name ${resolvedHandlerName}`);\n }\n\n // type safe\n const actualHandlerInstance: IMcpToolResponseHandler = actualHandler.instance;\n this.logger.error(`Resolved mcp tool response handler with name ${actualHandler.name}`);\n\n return actualHandlerInstance;\n }\n}\n"]}
1
+ {"version":3,"file":"mcp-tool-response-handler-factory.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,oEAAkE;AAElE,0EAAqE;AAI9D,IAAM,6BAA6B,qCAAnC,MAAM,6BAA6B;IAGtC,YACqB,yBAAiD;QAAjD,8BAAyB,GAAzB,yBAAyB,CAAwB;QAHrD,WAAM,GAAG,IAAI,eAAM,CAAC,+BAA6B,CAAC,IAAI,CAAC,CAAC;IAKzE,CAAC;IAED,WAAW,CAAC,WAAmB;QAC3B,WAAW,GAAG,IAAA,kBAAQ,EAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,mBAAmB,GAAG,GAAG,WAAW,wBAAwB,CAAC;QAGjE,IAAI,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,mBAAmB,EAAE,CAAC,CAAC;QAC1F,CAAC;QAGD,MAAM,qBAAqB,GAA4B,aAAa,CAAC,QAAQ,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAExF,OAAO,qBAAqB,CAAC;IACjC,CAAC;CACJ,CAAA;AAzBY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,mBAAU,GAAE;qCAKuC,iDAAsB;GAJ7D,6BAA6B,CAyBzC","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { classify } from '@angular-devkit/core/src/utils/strings';\nimport { IMcpToolResponseHandler } from 'src/interfaces';\nimport { SolidIntrospectService } from '../solid-introspect.service';\n\n\n@Injectable()\nexport class McpToolResponseHandlerFactory {\n private readonly logger = new Logger(McpToolResponseHandlerFactory.name);\n\n constructor(\n private readonly solidIntrospectionService: SolidIntrospectService\n ) {\n }\n\n getInstance(toolInvoked: string): IMcpToolResponseHandler {\n toolInvoked = classify(toolInvoked);\n\n let resolvedHandlerName = `${toolInvoked}McpToolResponseHandler`;\n\n // Register all ISolidDatabaseModules implementations\n let actualHandler = this.solidIntrospectionService.getProvider(resolvedHandlerName);\n if (!actualHandler) {\n throw new Error(`Unable to locate mcp tool handler with name ${resolvedHandlerName}`);\n }\n\n // type safe\n const actualHandlerInstance: IMcpToolResponseHandler = actualHandler.instance;\n this.logger.error(`Resolved mcp tool response handler with name ${actualHandler.name}`);\n\n return actualHandlerInstance;\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import { AiInteraction } from "src/entities/ai-interaction.entity";
2
+ import { SolidRegistry } from "src/helpers/solid-registry";
3
+ import { IMcpToolResponseHandler } from "../../interfaces";
4
+ import { FieldMetadataService } from "../field-metadata.service";
5
+ import { ModelMetadataService } from "../model-metadata.service";
6
+ export declare class SolidAddFieldMcpToolResponseHandler implements IMcpToolResponseHandler {
7
+ private readonly modelMetadataService;
8
+ private readonly fieldMetadataService;
9
+ private readonly solidRegistry;
10
+ constructor(modelMetadataService: ModelMetadataService, fieldMetadataService: FieldMetadataService, solidRegistry: SolidRegistry);
11
+ apply(aiInteraction: AiInteraction): Promise<{
12
+ seedingRequired: boolean;
13
+ serverRebooting: boolean;
14
+ }>;
15
+ }
16
+ //# sourceMappingURL=solid-add-field-mcp-tool-response-handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-add-field-mcp-tool-response-handler.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,qBAEa,mCAAoC,YAAW,uBAAuB;IAG3E,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,oBAAoB,EAAE,oBAAoB,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa;IAI3C,KAAK,CAAC,aAAa,EAAE,aAAa;;;;CAmC3C"}
@@ -0,0 +1,48 @@
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.SolidAddFieldMcpToolResponseHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const solid_registry_1 = require("../../helpers/solid-registry");
15
+ const field_metadata_service_1 = require("../field-metadata.service");
16
+ const model_metadata_service_1 = require("../model-metadata.service");
17
+ let SolidAddFieldMcpToolResponseHandler = class SolidAddFieldMcpToolResponseHandler {
18
+ constructor(modelMetadataService, fieldMetadataService, solidRegistry) {
19
+ this.modelMetadataService = modelMetadataService;
20
+ this.fieldMetadataService = fieldMetadataService;
21
+ this.solidRegistry = solidRegistry;
22
+ }
23
+ async apply(aiInteraction) {
24
+ const escapedMessage = aiInteraction.message.replace(/\\'/g, "'");
25
+ const aiResponse = JSON.parse(escapedMessage);
26
+ const { modelUserKey, fieldSchema } = aiResponse;
27
+ const modelMetadata = await this.modelMetadataService.findOneByUserKey(modelUserKey, ['fields']);
28
+ if (!modelMetadata) {
29
+ throw new Error(`Model with user key ${modelUserKey} not found.`);
30
+ }
31
+ fieldSchema['modelId'] = modelMetadata.id;
32
+ modelMetadata.fields.push(fieldSchema);
33
+ const modelObj = await this.modelMetadataService.update(modelMetadata.id, modelMetadata);
34
+ await this.modelMetadataService.handleGenerateCode({ modelId: modelMetadata.id });
35
+ return {
36
+ seedingRequired: true,
37
+ serverRebooting: true,
38
+ };
39
+ }
40
+ };
41
+ exports.SolidAddFieldMcpToolResponseHandler = SolidAddFieldMcpToolResponseHandler;
42
+ exports.SolidAddFieldMcpToolResponseHandler = SolidAddFieldMcpToolResponseHandler = __decorate([
43
+ (0, common_1.Injectable)(),
44
+ __metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
45
+ field_metadata_service_1.FieldMetadataService,
46
+ solid_registry_1.SolidRegistry])
47
+ ], SolidAddFieldMcpToolResponseHandler);
48
+ //# sourceMappingURL=solid-add-field-mcp-tool-response-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-add-field-mcp-tool-response-handler.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAI5C,iEAA2D;AAE3D,sEAAiE;AACjE,sEAAiE;AAI1D,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAE5C,YACqB,oBAA0C,EAC1C,oBAA0C,EAC1C,aAA4B;QAF5B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,kBAAa,GAAb,aAAa,CAAe;IAEjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAA4B;QAEpC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QAKjD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,aAAa,CAAC,CAAC;QACtE,CAAC;QAGD,WAAW,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;QAC1C,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAA4B,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,aAAkD,CAAC,CAAC;QAO9H,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAGlF,OAAO;YACH,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,IAAI;SACxB,CAAA;IACL,CAAC;CAEJ,CAAA;AA5CY,kFAAmC;8CAAnC,mCAAmC;IAF/C,IAAA,mBAAU,GAAE;qCAKkC,6CAAoB;QACpB,6CAAoB;QAC3B,8BAAa;GALxC,mCAAmC,CA4C/C","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { UpdateModelMetaDataDto } from \"src/dtos/update-model-metadata.dto\";\nimport { AiInteraction } from \"src/entities/ai-interaction.entity\";\nimport { FieldMetadata } from \"src/entities/field-metadata.entity\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IMcpToolResponseHandler } from \"../../interfaces\";\nimport { FieldMetadataService } from \"../field-metadata.service\";\nimport { ModelMetadataService } from \"../model-metadata.service\";\n\n@Injectable()\n// solid_add_field\nexport class SolidAddFieldMcpToolResponseHandler implements IMcpToolResponseHandler {\n\n constructor(\n private readonly modelMetadataService: ModelMetadataService,\n private readonly fieldMetadataService: FieldMetadataService,\n private readonly solidRegistry: SolidRegistry,\n ) {\n }\n\n async apply(aiInteraction: AiInteraction) {\n // const aiResponse = JSON.parse(aiInteraction.message);\n const escapedMessage = aiInteraction.message.replace(/\\\\'/g, \"'\");\n const aiResponse = JSON.parse(escapedMessage);\n\n const { modelUserKey, fieldSchema } = aiResponse;\n\n // TODO: Validate if another field with same name exists, if it does then raise an error...\n\n // TODO: load the model with the fields.\n const modelMetadata = await this.modelMetadataService.findOneByUserKey(modelUserKey, ['fields']);\n if (!modelMetadata) {\n throw new Error(`Model with user key ${modelUserKey} not found.`);\n }\n\n // Add the fieldSchema to the model fields array\n fieldSchema['modelId'] = modelMetadata.id;\n modelMetadata.fields.push(fieldSchema as FieldMetadata);\n\n const modelObj = await this.modelMetadataService.update(modelMetadata.id, modelMetadata as unknown as UpdateModelMetaDataDto);\n\n\n // This creates the module-metadata.json file....\n // const modelObj = await this.fieldMetadataService.create(fieldSchema as CreateFieldMetadataDto);\n\n // Now we need to run solid seed & then solid refresh-model --name <module-name>\n await this.modelMetadataService.handleGenerateCode({ modelId: modelMetadata.id });\n\n // TODO: decide on some shape to return hre...\n return {\n seedingRequired: true,\n serverRebooting: true,\n }\n }\n\n}"]}
@@ -0,0 +1,12 @@
1
+ import { AiInteraction } from "src/entities/ai-interaction.entity";
2
+ import { IMcpToolResponseHandler } from "../../interfaces";
3
+ import { DashboardService } from "../dashboard.service";
4
+ export declare class SolidCreateDashboardMcpToolResponseHandler implements IMcpToolResponseHandler {
5
+ private readonly dashboardService;
6
+ constructor(dashboardService: DashboardService);
7
+ apply(aiInteraction: AiInteraction): Promise<{
8
+ seedingRequired: boolean;
9
+ serverRebooting: boolean;
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=solid-create-dashboard-mcp-tool-response-handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-mcp-tool-response-handler.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,qBACa,0CAA2C,YAAW,uBAAuB;IAGlF,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAIjD,KAAK,CAAC,aAAa,EAAE,aAAa;;;;CAuB3C"}
@@ -0,0 +1,38 @@
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.SolidCreateDashboardMcpToolResponseHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const create_dashboard_dto_1 = require("../../dtos/create-dashboard.dto");
16
+ const dashboard_service_1 = require("../dashboard.service");
17
+ let SolidCreateDashboardMcpToolResponseHandler = class SolidCreateDashboardMcpToolResponseHandler {
18
+ constructor(dashboardService) {
19
+ this.dashboardService = dashboardService;
20
+ }
21
+ async apply(aiInteraction) {
22
+ const escapedMessage = aiInteraction.message.replace(/\\'/g, "'");
23
+ const aiResponseMessage = JSON.parse(escapedMessage);
24
+ const dashboardDto = (0, class_transformer_1.plainToInstance)(create_dashboard_dto_1.CreateDashboardDto, aiResponseMessage);
25
+ dashboardDto['layoutJson'] = JSON.stringify(dashboardDto['layoutJson']);
26
+ const dashboard = await this.dashboardService.create(dashboardDto, []);
27
+ return {
28
+ seedingRequired: false,
29
+ serverRebooting: false,
30
+ };
31
+ }
32
+ };
33
+ exports.SolidCreateDashboardMcpToolResponseHandler = SolidCreateDashboardMcpToolResponseHandler;
34
+ exports.SolidCreateDashboardMcpToolResponseHandler = SolidCreateDashboardMcpToolResponseHandler = __decorate([
35
+ (0, common_1.Injectable)(),
36
+ __metadata("design:paramtypes", [dashboard_service_1.DashboardService])
37
+ ], SolidCreateDashboardMcpToolResponseHandler);
38
+ //# sourceMappingURL=solid-create-dashboard-mcp-tool-response-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-mcp-tool-response-handler.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAoD;AACpD,0EAAmE;AAGnE,4DAAwD;AAGjD,IAAM,0CAA0C,GAAhD,MAAM,0CAA0C;IAEnD,YACqB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAEvD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAA4B;QACpC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAQrD,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,yCAAkB,EAAE,iBAAiB,CAAC,CAAC;QAC5E,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QAGxE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAGvE,OAAO;YACH,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;SACzB,CAAA;IACL,CAAC;CAEJ,CAAA;AA9BY,gGAA0C;qDAA1C,0CAA0C;IADtD,IAAA,mBAAU,GAAE;qCAI8B,oCAAgB;GAH9C,0CAA0C,CA8BtD","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport { CreateDashboardDto } from \"src/dtos/create-dashboard.dto\";\nimport { AiInteraction } from \"src/entities/ai-interaction.entity\";\nimport { IMcpToolResponseHandler } from \"../../interfaces\";\nimport { DashboardService } from \"../dashboard.service\";\n\n@Injectable()\nexport class SolidCreateDashboardMcpToolResponseHandler implements IMcpToolResponseHandler {\n\n constructor(\n private readonly dashboardService: DashboardService,\n ) {\n }\n\n async apply(aiInteraction: AiInteraction) {\n const escapedMessage = aiInteraction.message.replace(/\\\\'/g, \"'\");\n const aiResponseMessage = JSON.parse(escapedMessage);\n\n // const aiResponse = JSON.parse(aiInteraction.message);\n\n //FIXME: Replace \\' with ' in the response, since the AI response seems to contain \\' which is invalid JSON.\n // This is a workaround for now, until we find a better solution.\n // const aiResponseMessageReplaced = aiResponse['message'].replace(/\\\\'/g, \"'\");\n\n const dashboardDto = plainToInstance(CreateDashboardDto, aiResponseMessage);\n dashboardDto['layoutJson'] = JSON.stringify(dashboardDto['layoutJson']);\n\n\n const dashboard = await this.dashboardService.create(dashboardDto, []);\n\n // TODO: decide on some shape to return hre...\n return {\n seedingRequired: false,\n serverRebooting: false,\n }\n }\n\n}"]}
@@ -0,0 +1,12 @@
1
+ import { AiInteraction } from "src/entities/ai-interaction.entity";
2
+ import { IMcpToolResponseHandler } from "../../interfaces";
3
+ import { DashboardQuestionService } from "../dashboard-question.service";
4
+ export declare class SolidCreateDashboardQuestionMcpToolResponseHandler implements IMcpToolResponseHandler {
5
+ private readonly dashboardQuestionService;
6
+ constructor(dashboardQuestionService: DashboardQuestionService);
7
+ apply(aiInteraction: AiInteraction): Promise<{
8
+ seedingRequired: boolean;
9
+ serverRebooting: boolean;
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=solid-create-dashboard-question-mcp-tool-response-handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-question-mcp-tool-response-handler.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,qBACa,kDAAmD,YAAW,uBAAuB;IAG1F,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAAxB,wBAAwB,EAAE,wBAAwB;IAIjE,KAAK,CAAC,aAAa,EAAE,aAAa;;;;CAsB3C"}
@@ -0,0 +1,37 @@
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.SolidCreateDashboardQuestionMcpToolResponseHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const create_dashboard_question_dto_1 = require("../../dtos/create-dashboard-question.dto");
16
+ const dashboard_question_service_1 = require("../dashboard-question.service");
17
+ let SolidCreateDashboardQuestionMcpToolResponseHandler = class SolidCreateDashboardQuestionMcpToolResponseHandler {
18
+ constructor(dashboardQuestionService) {
19
+ this.dashboardQuestionService = dashboardQuestionService;
20
+ }
21
+ async apply(aiInteraction) {
22
+ const escapedMessage = aiInteraction.message.replace(/\\'/g, "'");
23
+ const aiResponseMessage = JSON.parse(escapedMessage);
24
+ const dashboardQuestionDto = (0, class_transformer_1.plainToInstance)(create_dashboard_question_dto_1.CreateDashboardQuestionDto, aiResponseMessage);
25
+ const dashboardQuestion = await this.dashboardQuestionService.create(dashboardQuestionDto, []);
26
+ return {
27
+ seedingRequired: false,
28
+ serverRebooting: false,
29
+ };
30
+ }
31
+ };
32
+ exports.SolidCreateDashboardQuestionMcpToolResponseHandler = SolidCreateDashboardQuestionMcpToolResponseHandler;
33
+ exports.SolidCreateDashboardQuestionMcpToolResponseHandler = SolidCreateDashboardQuestionMcpToolResponseHandler = __decorate([
34
+ (0, common_1.Injectable)(),
35
+ __metadata("design:paramtypes", [dashboard_question_service_1.DashboardQuestionService])
36
+ ], SolidCreateDashboardQuestionMcpToolResponseHandler);
37
+ //# sourceMappingURL=solid-create-dashboard-question-mcp-tool-response-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-question-mcp-tool-response-handler.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAoD;AACpD,4FAAoF;AAGpF,8EAAyE;AAGlE,IAAM,kDAAkD,GAAxD,MAAM,kDAAkD;IAE3D,YACqB,wBAAkD;QAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;IAEvE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAA4B;QACpC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QASrD,MAAM,oBAAoB,GAAG,IAAA,mCAAe,EAAC,0DAA0B,EAAE,iBAAiB,CAAC,CAAC;QAE5F,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAG/F,OAAO;YACH,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;SACzB,CAAA;IACL,CAAC;CAEJ,CAAA;AA7BY,gHAAkD;6DAAlD,kDAAkD;IAD9D,IAAA,mBAAU,GAAE;qCAIsC,qDAAwB;GAH9D,kDAAkD,CA6B9D","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport { CreateDashboardQuestionDto } from \"src/dtos/create-dashboard-question.dto\";\nimport { AiInteraction } from \"src/entities/ai-interaction.entity\";\nimport { IMcpToolResponseHandler } from \"../../interfaces\";\nimport { DashboardQuestionService } from \"../dashboard-question.service\";\n\n@Injectable()\nexport class SolidCreateDashboardQuestionMcpToolResponseHandler implements IMcpToolResponseHandler {\n\n constructor(\n private readonly dashboardQuestionService: DashboardQuestionService,\n ) {\n }\n\n async apply(aiInteraction: AiInteraction) {\n const escapedMessage = aiInteraction.message.replace(/\\\\'/g, \"'\");\n const aiResponseMessage = JSON.parse(escapedMessage);\n\n //FIXME: Replace \\' with ' in the response, since the AI response seems to contain \\' which is invalid JSON.\n // This is a workaround for now, until we find a better solution.\n // const aiResponseMessageReplaced = aiResponseMessage['message'].replace(/\\\\'/g, \"'\");\n // const dashboardUserKey = aiResponseMessageReplaced['dashboardUserKey'];\n // if (!dashboardUserKey) {\n // throw new Error(\"Dashboard User Key is required to create a Dashboard Question.\");\n // }\n const dashboardQuestionDto = plainToInstance(CreateDashboardQuestionDto, aiResponseMessage);\n\n const dashboardQuestion = await this.dashboardQuestionService.create(dashboardQuestionDto, []);\n\n // TODO: decide on some shape to return hre...\n return {\n seedingRequired: false,\n serverRebooting: false,\n }\n }\n\n}"]}
@@ -0,0 +1,12 @@
1
+ import { AiInteraction } from "src/entities/ai-interaction.entity";
2
+ import { IMcpToolResponseHandler } from "../../interfaces";
3
+ import { DashboardQuestionSqlDatasetConfigService } from "../dashboard-question-sql-dataset-config.service";
4
+ export declare class SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler implements IMcpToolResponseHandler {
5
+ private readonly dashboardQuestionSqlDatasetConfigService;
6
+ constructor(dashboardQuestionSqlDatasetConfigService: DashboardQuestionSqlDatasetConfigService);
7
+ apply(aiInteraction: AiInteraction): Promise<{
8
+ seedingRequired: boolean;
9
+ serverRebooting: boolean;
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,wCAAwC,EAAE,MAAM,kDAAkD,CAAC;AAG5G,qBACa,kEAAmE,YAAW,uBAAuB;IAG1G,OAAO,CAAC,QAAQ,CAAC,wCAAwC;gBAAxC,wCAAwC,EAAE,wCAAwC;IAIjG,KAAK,CAAC,aAAa,EAAE,aAAa;;;;CAwB3C"}
@@ -0,0 +1,38 @@
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.SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const dashboard_question_sql_dataset_config_service_1 = require("../dashboard-question-sql-dataset-config.service");
16
+ const create_dashboard_question_sql_dataset_config_dto_1 = require("../../dtos/create-dashboard-question-sql-dataset-config.dto");
17
+ let SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler = class SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler {
18
+ constructor(dashboardQuestionSqlDatasetConfigService) {
19
+ this.dashboardQuestionSqlDatasetConfigService = dashboardQuestionSqlDatasetConfigService;
20
+ }
21
+ async apply(aiInteraction) {
22
+ const escapedMessage = aiInteraction.message.replace(/\\'/g, "'");
23
+ const aiResponseMessage = JSON.parse(escapedMessage);
24
+ const dto = (0, class_transformer_1.plainToInstance)(create_dashboard_question_sql_dataset_config_dto_1.CreateDashboardQuestionSqlDatasetConfigDto, aiResponseMessage);
25
+ dto['options'] = JSON.stringify(dto['options']);
26
+ const dashboardQuestion = await this.dashboardQuestionSqlDatasetConfigService.create(dto, []);
27
+ return {
28
+ seedingRequired: false,
29
+ serverRebooting: false,
30
+ };
31
+ }
32
+ };
33
+ exports.SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler = SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler;
34
+ exports.SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler = SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler = __decorate([
35
+ (0, common_1.Injectable)(),
36
+ __metadata("design:paramtypes", [dashboard_question_sql_dataset_config_service_1.DashboardQuestionSqlDatasetConfigService])
37
+ ], SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler);
38
+ //# sourceMappingURL=solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAoD;AAGpD,oHAA4G;AAC5G,kIAAuH;AAGhH,IAAM,kEAAkE,GAAxE,MAAM,kEAAkE;IAE3E,YACqB,wCAAkF;QAAlF,6CAAwC,GAAxC,wCAAwC,CAA0C;IAEvG,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAA4B;QAEpC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QASrD,MAAM,GAAG,GAAG,IAAA,mCAAe,EAAC,6FAA0C,EAAE,iBAAiB,CAAC,CAAC;QAC3F,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAG9F,OAAO;YACH,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;SACzB,CAAA;IACL,CAAC;CAEJ,CAAA;AA/BY,gJAAkE;6EAAlE,kEAAkE;IAD9E,IAAA,mBAAU,GAAE;qCAIsD,wFAAwC;GAH9F,kEAAkE,CA+B9E","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport { AiInteraction } from \"src/entities/ai-interaction.entity\";\nimport { IMcpToolResponseHandler } from \"../../interfaces\";\nimport { DashboardQuestionSqlDatasetConfigService } from \"../dashboard-question-sql-dataset-config.service\";\nimport { CreateDashboardQuestionSqlDatasetConfigDto } from \"src/dtos/create-dashboard-question-sql-dataset-config.dto\";\n\n@Injectable()\nexport class SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler implements IMcpToolResponseHandler {\n\n constructor(\n private readonly dashboardQuestionSqlDatasetConfigService: DashboardQuestionSqlDatasetConfigService,\n ) {\n }\n\n async apply(aiInteraction: AiInteraction) {\n // const aiResponse = JSON.parse(aiInteraction.message);\n const escapedMessage = aiInteraction.message.replace(/\\\\'/g, \"'\");\n const aiResponseMessage = JSON.parse(escapedMessage);\n\n // FIXME: Replace \\' with ' in the response, since the AI response seems to contain \\' which is invalid JSON.\n // This is a workaround for now, until we find a better solution.\n // const aiResponseMessageReplaced = aiResponse['message'].replace(/\\\\'/g, \"'\");\n // const dashboardUserKey = aiResponseMessageReplaced['dashboardUserKey'];\n // if (!dashboardUserKey) {\n // throw new Error(\"Dashboard User Key is required to create a Dashboard Question.\");\n // }\n const dto = plainToInstance(CreateDashboardQuestionSqlDatasetConfigDto, aiResponseMessage);\n dto['options'] = JSON.stringify(dto['options']);\n\n const dashboardQuestion = await this.dashboardQuestionSqlDatasetConfigService.create(dto, []);\n\n // TODO: decide on some shape to return hre...\n return {\n seedingRequired: false,\n serverRebooting: false,\n }\n }\n\n}"]}
@@ -0,0 +1,12 @@
1
+ import { AiInteraction } from "src/entities/ai-interaction.entity";
2
+ import { IMcpToolResponseHandler } from "../../interfaces";
3
+ import { DashboardQuestionService } from "../dashboard-question.service";
4
+ export declare class SolidCreateDashboardWidgetMcpToolResponseHandler implements IMcpToolResponseHandler {
5
+ private readonly dashboardQuestionService;
6
+ constructor(dashboardQuestionService: DashboardQuestionService);
7
+ apply(aiInteraction: AiInteraction): Promise<{
8
+ seedingRequired: boolean;
9
+ serverRebooting: boolean;
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=solid-create-dashboard-widget-mcp-tool-response-handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-widget-mcp-tool-response-handler.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,qBACa,gDAAiD,YAAW,uBAAuB;IAGxF,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAAxB,wBAAwB,EAAE,wBAAwB;IAIjE,KAAK,CAAC,aAAa,EAAE,aAAa;;;;CAuB3C"}
@@ -0,0 +1,38 @@
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.SolidCreateDashboardWidgetMcpToolResponseHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const create_dashboard_question_dto_1 = require("../../dtos/create-dashboard-question.dto");
16
+ const dashboard_question_service_1 = require("../dashboard-question.service");
17
+ let SolidCreateDashboardWidgetMcpToolResponseHandler = class SolidCreateDashboardWidgetMcpToolResponseHandler {
18
+ constructor(dashboardQuestionService) {
19
+ this.dashboardQuestionService = dashboardQuestionService;
20
+ }
21
+ async apply(aiInteraction) {
22
+ const escapedMessage = aiInteraction.message.replace(/\\'/g, "'");
23
+ const aiResponseMessage = JSON.parse(escapedMessage);
24
+ const dashboardQuestionDto = (0, class_transformer_1.plainToInstance)(create_dashboard_question_dto_1.CreateDashboardQuestionDto, aiResponseMessage);
25
+ dashboardQuestionDto['questionSqlDatasetConfigsCommand'] = "update";
26
+ const dashboardQuestion = await this.dashboardQuestionService.create(dashboardQuestionDto, []);
27
+ return {
28
+ seedingRequired: false,
29
+ serverRebooting: false,
30
+ };
31
+ }
32
+ };
33
+ exports.SolidCreateDashboardWidgetMcpToolResponseHandler = SolidCreateDashboardWidgetMcpToolResponseHandler;
34
+ exports.SolidCreateDashboardWidgetMcpToolResponseHandler = SolidCreateDashboardWidgetMcpToolResponseHandler = __decorate([
35
+ (0, common_1.Injectable)(),
36
+ __metadata("design:paramtypes", [dashboard_question_service_1.DashboardQuestionService])
37
+ ], SolidCreateDashboardWidgetMcpToolResponseHandler);
38
+ //# sourceMappingURL=solid-create-dashboard-widget-mcp-tool-response-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-dashboard-widget-mcp-tool-response-handler.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAoD;AACpD,4FAAoF;AAGpF,8EAAyE;AAGlE,IAAM,gDAAgD,GAAtD,MAAM,gDAAgD;IAEzD,YACqB,wBAAkD;QAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;IAEvE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAA4B;QACpC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QASrD,MAAM,oBAAoB,GAAG,IAAA,mCAAe,EAAC,0DAA0B,EAAE,iBAAiB,CAAC,CAAC;QAC5F,oBAAoB,CAAC,kCAAkC,CAAC,GAAG,QAAQ,CAAC;QAEpE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAG/F,OAAO;YACH,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;SACzB,CAAA;IACL,CAAC;CAEJ,CAAA;AA9BY,4GAAgD;2DAAhD,gDAAgD;IAD5D,IAAA,mBAAU,GAAE;qCAIsC,qDAAwB;GAH9D,gDAAgD,CA8B5D","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport { CreateDashboardQuestionDto } from \"src/dtos/create-dashboard-question.dto\";\nimport { AiInteraction } from \"src/entities/ai-interaction.entity\";\nimport { IMcpToolResponseHandler } from \"../../interfaces\";\nimport { DashboardQuestionService } from \"../dashboard-question.service\";\n\n@Injectable()\nexport class SolidCreateDashboardWidgetMcpToolResponseHandler implements IMcpToolResponseHandler {\n\n constructor(\n private readonly dashboardQuestionService: DashboardQuestionService,\n ) {\n }\n\n async apply(aiInteraction: AiInteraction) {\n const escapedMessage = aiInteraction.message.replace(/\\\\'/g, \"'\");\n const aiResponseMessage = JSON.parse(escapedMessage);\n\n //FIXME: Replace \\' with ' in the response, since the AI response seems to contain \\' which is invalid JSON.\n // This is a workaround for now, until we find a better solution.\n // const aiResponseMessageReplaced = aiResponseMessage['message'].replace(/\\\\'/g, \"'\");\n // const dashboardUserKey = aiResponseMessageReplaced['dashboardUserKey'];\n // if (!dashboardUserKey) {\n // throw new Error(\"Dashboard User Key is required to create a Dashboard Question.\");\n // }\n const dashboardQuestionDto = plainToInstance(CreateDashboardQuestionDto, aiResponseMessage);\n dashboardQuestionDto['questionSqlDatasetConfigsCommand'] = \"update\";\n\n const dashboardQuestion = await this.dashboardQuestionService.create(dashboardQuestionDto, []);\n\n // TODO: decide on some shape to return hre...\n return {\n seedingRequired: false,\n serverRebooting: false,\n }\n }\n\n}"]}
@@ -0,0 +1,16 @@
1
+ import { IMcpToolResponseHandler } from "../../interfaces";
2
+ import { AiInteraction } from "src/entities/ai-interaction.entity";
3
+ import { SolidRegistry } from "src/helpers/solid-registry";
4
+ import { ModelMetadataService } from "../model-metadata.service";
5
+ import { ModuleMetadataService } from "../module-metadata.service";
6
+ export declare class SolidCreateModelWithFieldsMcpToolResponseHandler implements IMcpToolResponseHandler {
7
+ private readonly moduleMetadataService;
8
+ private readonly modelMetadataService;
9
+ private readonly solidRegistry;
10
+ constructor(moduleMetadataService: ModuleMetadataService, modelMetadataService: ModelMetadataService, solidRegistry: SolidRegistry);
11
+ apply(aiInteraction: AiInteraction): Promise<{
12
+ seedingRequired: boolean;
13
+ serverRebooting: boolean;
14
+ }>;
15
+ }
16
+ //# sourceMappingURL=solid-create-model-with-fields-mcp-tool-response-handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-model-with-fields-mcp-tool-response-handler.service.d.ts","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,qBACa,gDAAiD,YAAW,uBAAuB;IAGxF,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa;IAI3C,KAAK,CAAC,aAAa,EAAE,aAAa;;;;CA2B3C"}
@@ -0,0 +1,47 @@
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.SolidCreateModelWithFieldsMcpToolResponseHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const solid_registry_1 = require("../../helpers/solid-registry");
15
+ const model_metadata_service_1 = require("../model-metadata.service");
16
+ const module_metadata_service_1 = require("../module-metadata.service");
17
+ let SolidCreateModelWithFieldsMcpToolResponseHandler = class SolidCreateModelWithFieldsMcpToolResponseHandler {
18
+ constructor(moduleMetadataService, modelMetadataService, solidRegistry) {
19
+ this.moduleMetadataService = moduleMetadataService;
20
+ this.modelMetadataService = modelMetadataService;
21
+ this.solidRegistry = solidRegistry;
22
+ }
23
+ async apply(aiInteraction) {
24
+ const escapedMessage = aiInteraction.message.replace(/\\'/g, "'");
25
+ const aiResponse = JSON.parse(escapedMessage);
26
+ const { moduleUserKey, modelSchema } = aiResponse;
27
+ const moduleMetadata = await this.moduleMetadataService.findOneByUserKey(moduleUserKey);
28
+ if (!moduleMetadata) {
29
+ throw new Error(`Module with user key ${moduleUserKey} not found.`);
30
+ }
31
+ modelSchema['moduleId'] = moduleMetadata.id;
32
+ const modelObj = await this.modelMetadataService.create(modelSchema);
33
+ await this.modelMetadataService.handleGenerateCode({ modelId: modelObj.id });
34
+ return {
35
+ seedingRequired: true,
36
+ serverRebooting: true,
37
+ };
38
+ }
39
+ };
40
+ exports.SolidCreateModelWithFieldsMcpToolResponseHandler = SolidCreateModelWithFieldsMcpToolResponseHandler;
41
+ exports.SolidCreateModelWithFieldsMcpToolResponseHandler = SolidCreateModelWithFieldsMcpToolResponseHandler = __decorate([
42
+ (0, common_1.Injectable)(),
43
+ __metadata("design:paramtypes", [module_metadata_service_1.ModuleMetadataService,
44
+ model_metadata_service_1.ModelMetadataService,
45
+ solid_registry_1.SolidRegistry])
46
+ ], SolidCreateModelWithFieldsMcpToolResponseHandler);
47
+ //# sourceMappingURL=solid-create-model-with-fields-mcp-tool-response-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-create-model-with-fields-mcp-tool-response-handler.service.js","sourceRoot":"","sources":["../../../src/services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,iEAA2D;AAC3D,sEAAiE;AAEjE,wEAAmE;AAG5D,IAAM,gDAAgD,GAAtD,MAAM,gDAAgD;IAEzD,YACqB,qBAA4C,EAC5C,oBAA0C,EAC1C,aAA4B;QAF5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,kBAAa,GAAb,aAAa,CAAe;IAEjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAA4B;QAEpC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QAClD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,aAAa,CAAC,CAAC;QACxE,CAAC;QACD,WAAW,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC;QAK5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAqC,CAAC,CAAC;QAG/F,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAG7E,OAAO;YACH,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,IAAI;SACxB,CAAA;IACL,CAAC;CAEJ,CAAA;AApCY,4GAAgD;2DAAhD,gDAAgD;IAD5D,IAAA,mBAAU,GAAE;qCAImC,+CAAqB;QACtB,6CAAoB;QAC3B,8BAAa;GALxC,gDAAgD,CAoC5D","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { IMcpToolResponseHandler } from \"../../interfaces\";\nimport { AiInteraction } from \"src/entities/ai-interaction.entity\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { ModelMetadataService } from \"../model-metadata.service\";\nimport { CreateModelMetadataDto } from \"src/dtos/create-model-metadata.dto\";\nimport { ModuleMetadataService } from \"../module-metadata.service\";\n\n@Injectable()\nexport class SolidCreateModelWithFieldsMcpToolResponseHandler implements IMcpToolResponseHandler {\n\n constructor(\n private readonly moduleMetadataService: ModuleMetadataService,\n private readonly modelMetadataService: ModelMetadataService,\n private readonly solidRegistry: SolidRegistry,\n ) {\n }\n\n async apply(aiInteraction: AiInteraction) {\n // const aiResponse = JSON.parse(aiInteraction.message);\n const escapedMessage = aiInteraction.message.replace(/\\\\'/g, \"'\");\n const aiResponse = JSON.parse(escapedMessage);\n\n const { moduleUserKey, modelSchema } = aiResponse;\n const moduleMetadata = await this.moduleMetadataService.findOneByUserKey(moduleUserKey);\n if (!moduleMetadata) {\n throw new Error(`Module with user key ${moduleUserKey} not found.`);\n }\n modelSchema['moduleId'] = moduleMetadata.id;\n\n // TODO: Validate if another model with same name exists, if it does then raise an error...\n\n // This creates the module-metadata.json file....\n const modelObj = await this.modelMetadataService.create(modelSchema as CreateModelMetadataDto);\n\n // Now we need to run solid seed & then solid refresh-model --name <module-name>\n await this.modelMetadataService.handleGenerateCode({ modelId: modelObj.id });\n\n // TODO: decide on some shape to return hre...\n return {\n seedingRequired: true,\n serverRebooting: true,\n }\n }\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AA6PA,qBA8Ta,eAAe;CAAI"}
1
+ {"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AAmQA,qBAoUa,eAAe;CAAI"}
@@ -198,6 +198,7 @@ const chatter_message_details_service_1 = require("./services/chatter-message-de
198
198
  const chatter_message_service_1 = require("./services/chatter-message.service");
199
199
  const concat_computed_field_provider_service_1 = require("./services/computed-fields/concat-computed-field-provider.service");
200
200
  const concat_entity_computed_field_provider_service_1 = require("./services/computed-fields/entity/concat-entity-computed-field-provider.service");
201
+ const crud_service_1 = require("./services/crud.service");
201
202
  const csv_service_1 = require("./services/csv.service");
202
203
  const dashboard_question_sql_dataset_config_service_1 = require("./services/dashboard-question-sql-dataset-config.service");
203
204
  const dashboard_question_service_1 = require("./services/dashboard-question.service");
@@ -211,6 +212,11 @@ const export_transaction_service_1 = require("./services/export-transaction.serv
211
212
  const import_transaction_error_log_service_1 = require("./services/import-transaction-error-log.service");
212
213
  const import_transaction_service_1 = require("./services/import-transaction.service");
213
214
  const locale_service_1 = require("./services/locale.service");
215
+ const mcp_tool_response_handler_factory_service_1 = require("./services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service");
216
+ const solid_create_dashboard_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-mcp-tool-response-handler.service");
217
+ const solid_create_dashboard_question_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-question-mcp-tool-response-handler.service");
218
+ const solid_create_dashboard_question_sql_dataset_config_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-tool-response-handler.service");
219
+ const solid_create_module_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service");
214
220
  const file_s3_storage_provider_1 = require("./services/mediaStorageProviders/file-s3-storage-provider");
215
221
  const file_storage_provider_1 = require("./services/mediaStorageProviders/file-storage-provider");
216
222
  const chartjs_sql_data_provider_service_1 = require("./services/question-data-providers/chartjs-sql-data-provider.service");
@@ -241,9 +247,9 @@ const dashboard_variable_subscriber_1 = require("./subscribers/dashboard-variabl
241
247
  const dashboard_subscriber_1 = require("./subscribers/dashboard.subscriber");
242
248
  const security_rule_subscriber_1 = require("./subscribers/security-rule.subscriber");
243
249
  const view_metadata_subscriber_1 = require("./subscribers/view-metadata.subscriber");
244
- const crud_service_1 = require("./services/crud.service");
245
- const mcp_tool_response_handler_factory_service_1 = require("./services/mcp-tool-response-handlers/mcp-tool-response-handler-factory.service");
246
- const solid_create_module_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-module-mcp-tool-response-handler.service");
250
+ const solid_create_dashboard_widget_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-dashboard-widget-mcp-tool-response-handler.service");
251
+ const solid_create_model_with_fields_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-create-model-with-fields-mcp-tool-response-handler.service");
252
+ const solid_add_field_mcp_tool_response_handler_service_1 = require("./services/mcp-tool-response-handlers/solid-add-field-mcp-tool-response-handler.service");
247
253
  let SolidCoreModule = class SolidCoreModule {
248
254
  };
249
255
  exports.SolidCoreModule = SolidCoreModule;
@@ -522,6 +528,12 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
522
528
  dashboard_variable_subscriber_1.DashboardVariableSubscriber,
523
529
  dashboard_question_subscriber_1.DashboardQuestionSubscriber,
524
530
  dashboard_question_sql_dataset_config_subscriber_1.DashboardQuestionSqlDatasetConfigSubscriber,
531
+ solid_create_dashboard_mcp_tool_response_handler_service_1.SolidCreateDashboardMcpToolResponseHandler,
532
+ solid_create_dashboard_question_mcp_tool_response_handler_service_1.SolidCreateDashboardQuestionMcpToolResponseHandler,
533
+ solid_create_dashboard_question_sql_dataset_config_mcp_tool_response_handler_service_1.SolidCreateDashboardQuestionSqlDatasetConfigMcpToolResponseHandler,
534
+ solid_create_dashboard_widget_mcp_tool_response_handler_service_1.SolidCreateDashboardWidgetMcpToolResponseHandler,
535
+ solid_create_model_with_fields_mcp_tool_response_handler_service_1.SolidCreateModelWithFieldsMcpToolResponseHandler,
536
+ solid_add_field_mcp_tool_response_handler_service_1.SolidAddFieldMcpToolResponseHandler,
525
537
  ],
526
538
  exports: [
527
539
  module_metadata_service_1.ModuleMetadataService,