@solidxai/core 0.1.10-beta.25 → 0.1.10-beta.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-interaction-cleanup.sql +53 -0
- package/dist/controllers/action-metadata.controller.d.ts +1 -20
- package/dist/controllers/action-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/agent-event.controller.d.ts +1 -20
- package/dist/controllers/agent-event.controller.d.ts.map +1 -1
- package/dist/controllers/agent-session.controller.d.ts +1 -20
- package/dist/controllers/agent-session.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message-details.controller.d.ts +1 -20
- package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message.controller.d.ts +1 -20
- package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
- package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -20
- package/dist/controllers/dashboard-user-layout.controller.d.ts.map +1 -1
- package/dist/controllers/email-template.controller.d.ts +1 -20
- package/dist/controllers/email-template.controller.d.ts.map +1 -1
- package/dist/controllers/export-template.controller.d.ts +1 -20
- package/dist/controllers/export-template.controller.d.ts.map +1 -1
- package/dist/controllers/export-transaction.controller.d.ts +1 -20
- package/dist/controllers/export-transaction.controller.d.ts.map +1 -1
- package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -20
- package/dist/controllers/import-transaction-error-log.controller.d.ts.map +1 -1
- package/dist/controllers/import-transaction.controller.d.ts +1 -20
- package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
- package/dist/controllers/list-of-values.controller.d.ts +1 -20
- package/dist/controllers/list-of-values.controller.d.ts.map +1 -1
- package/dist/controllers/locale.controller.d.ts +1 -20
- package/dist/controllers/locale.controller.d.ts.map +1 -1
- package/dist/controllers/mcp-audit-log.controller.d.ts +1 -20
- package/dist/controllers/mcp-audit-log.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.d.ts +1 -20
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.d.ts +1 -20
- package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/model-metadata.controller.d.ts +10 -30
- package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/model-metadata.controller.js +2 -2
- package/dist/controllers/model-sequence.controller.d.ts +1 -20
- package/dist/controllers/model-sequence.controller.d.ts.map +1 -1
- package/dist/controllers/module-metadata-explorer.controller.d.ts +171 -0
- package/dist/controllers/module-metadata-explorer.controller.d.ts.map +1 -0
- package/dist/controllers/module-metadata-explorer.controller.js +143 -0
- package/dist/controllers/module-metadata-explorer.controller.js.map +1 -0
- package/dist/controllers/module-metadata.controller.d.ts +5 -0
- package/dist/controllers/module-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/module-metadata.controller.js +12 -0
- package/dist/controllers/module-metadata.controller.js.map +1 -1
- package/dist/controllers/module-package.controller.d.ts +622 -0
- package/dist/controllers/module-package.controller.d.ts.map +1 -0
- package/dist/controllers/module-package.controller.js +150 -0
- package/dist/controllers/module-package.controller.js.map +1 -0
- package/dist/controllers/mq-message-queue.controller.d.ts +1 -20
- package/dist/controllers/mq-message-queue.controller.d.ts.map +1 -1
- package/dist/controllers/mq-message.controller.d.ts +1 -20
- package/dist/controllers/mq-message.controller.d.ts.map +1 -1
- package/dist/controllers/permission-metadata.controller.d.ts +1 -20
- package/dist/controllers/permission-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/role-metadata.controller.d.ts +1 -20
- package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/saved-filters.controller.d.ts +1 -20
- package/dist/controllers/saved-filters.controller.d.ts.map +1 -1
- package/dist/controllers/scheduled-job.controller.d.ts +1 -20
- package/dist/controllers/scheduled-job.controller.d.ts.map +1 -1
- package/dist/controllers/security-rule.controller.d.ts +1 -20
- package/dist/controllers/security-rule.controller.d.ts.map +1 -1
- package/dist/controllers/service.controller.d.ts +1 -5
- package/dist/controllers/service.controller.d.ts.map +1 -1
- package/dist/controllers/service.controller.js +6 -11
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/controllers/sms-template.controller.d.ts +1 -20
- package/dist/controllers/sms-template.controller.d.ts.map +1 -1
- package/dist/controllers/test.controller.d.ts +1 -6
- package/dist/controllers/test.controller.d.ts.map +1 -1
- package/dist/controllers/test.controller.js +2 -20
- package/dist/controllers/test.controller.js.map +1 -1
- package/dist/controllers/user-activity-history.controller.d.ts +1 -20
- package/dist/controllers/user-activity-history.controller.d.ts.map +1 -1
- package/dist/controllers/user-view-metadata.controller.d.ts +1 -20
- package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/user.controller.d.ts +1 -20
- package/dist/controllers/user.controller.d.ts.map +1 -1
- package/dist/controllers/view-metadata.controller.d.ts +1 -20
- package/dist/controllers/view-metadata.controller.d.ts.map +1 -1
- package/dist/dtos/confirm-module-package-import.dto.d.ts +4 -0
- package/dist/dtos/confirm-module-package-import.dto.d.ts.map +1 -0
- package/dist/dtos/confirm-module-package-import.dto.js +34 -0
- package/dist/dtos/confirm-module-package-import.dto.js.map +1 -0
- package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-permission-metadata.dto.js +2 -0
- package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +13 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/import-instructions.dto.d.ts +2 -0
- package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
- package/dist/dtos/import-instructions.dto.js +15 -1
- package/dist/dtos/import-instructions.dto.js.map +1 -1
- package/dist/dtos/metadata-explorer-references-query.dto.d.ts +10 -0
- package/dist/dtos/metadata-explorer-references-query.dto.d.ts.map +1 -0
- package/dist/dtos/metadata-explorer-references-query.dto.js +69 -0
- package/dist/dtos/metadata-explorer-references-query.dto.js.map +1 -0
- package/dist/dtos/metadata-explorer-search-query.dto.d.ts +8 -0
- package/dist/dtos/metadata-explorer-search-query.dto.d.ts.map +1 -0
- package/dist/dtos/metadata-explorer-search-query.dto.js +55 -0
- package/dist/dtos/metadata-explorer-search-query.dto.js.map +1 -0
- package/dist/dtos/metadata-explorer-write.dto.d.ts +4 -0
- package/dist/dtos/metadata-explorer-write.dto.d.ts.map +1 -0
- package/dist/dtos/{invoke-ai-prompt.dto.js → metadata-explorer-write.dto.js} +12 -12
- package/dist/dtos/metadata-explorer-write.dto.js.map +1 -0
- package/dist/dtos/run-module-package-build.dto.d.ts +5 -0
- package/dist/dtos/run-module-package-build.dto.d.ts.map +1 -0
- package/dist/dtos/run-module-package-build.dto.js +38 -0
- package/dist/dtos/run-module-package-build.dto.js.map +1 -0
- package/dist/dtos/run-module-package-seed.dto.d.ts +4 -0
- package/dist/dtos/run-module-package-seed.dto.d.ts.map +1 -0
- package/dist/dtos/run-module-package-seed.dto.js +34 -0
- package/dist/dtos/run-module-package-seed.dto.js.map +1 -0
- package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/update-permission-metadata.dto.js +3 -1
- package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
- package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
- package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/update-role-metadata.dto.js +13 -1
- package/dist/dtos/update-role-metadata.dto.js.map +1 -1
- package/dist/entities/action-metadata.entity.d.ts.map +1 -1
- package/dist/entities/action-metadata.entity.js +1 -0
- package/dist/entities/action-metadata.entity.js.map +1 -1
- package/dist/entities/agent-event.entity.d.ts.map +1 -1
- package/dist/entities/agent-event.entity.js +1 -0
- package/dist/entities/agent-event.entity.js.map +1 -1
- package/dist/entities/agent-session.entity.d.ts.map +1 -1
- package/dist/entities/agent-session.entity.js +1 -0
- package/dist/entities/agent-session.entity.js.map +1 -1
- package/dist/entities/chatter-message.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message.entity.js +2 -0
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/email-template.entity.d.ts.map +1 -1
- package/dist/entities/email-template.entity.js +1 -0
- package/dist/entities/email-template.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.d.ts.map +1 -1
- package/dist/entities/field-metadata.entity.js +4 -0
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/list-of-values.entity.d.ts.map +1 -1
- package/dist/entities/list-of-values.entity.js +4 -0
- package/dist/entities/list-of-values.entity.js.map +1 -1
- package/dist/entities/locale.entity.d.ts.map +1 -1
- package/dist/entities/locale.entity.js +1 -0
- package/dist/entities/locale.entity.js.map +1 -1
- package/dist/entities/media.entity.d.ts.map +1 -1
- package/dist/entities/media.entity.js +1 -0
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
- package/dist/entities/menu-item-metadata.entity.js +2 -0
- package/dist/entities/menu-item-metadata.entity.js.map +1 -1
- package/dist/entities/model-metadata.entity.d.ts.map +1 -1
- package/dist/entities/model-metadata.entity.js +3 -0
- package/dist/entities/model-metadata.entity.js.map +1 -1
- package/dist/entities/module-metadata.entity.d.ts.map +1 -1
- package/dist/entities/module-metadata.entity.js +2 -0
- package/dist/entities/module-metadata.entity.js.map +1 -1
- package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
- package/dist/entities/permission-metadata.entity.js.map +1 -1
- package/dist/entities/role-metadata.entity.d.ts +2 -0
- package/dist/entities/role-metadata.entity.d.ts.map +1 -1
- package/dist/entities/role-metadata.entity.js +10 -2
- package/dist/entities/role-metadata.entity.js.map +1 -1
- package/dist/entities/saved-filters.entity.d.ts.map +1 -1
- package/dist/entities/saved-filters.entity.js +3 -0
- package/dist/entities/saved-filters.entity.js.map +1 -1
- package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
- package/dist/entities/scheduled-job.entity.js +2 -0
- package/dist/entities/scheduled-job.entity.js.map +1 -1
- package/dist/entities/security-rule.entity.d.ts.map +1 -1
- package/dist/entities/security-rule.entity.js +1 -0
- package/dist/entities/security-rule.entity.js.map +1 -1
- package/dist/entities/sms-template.entity.d.ts.map +1 -1
- package/dist/entities/sms-template.entity.js +2 -0
- package/dist/entities/sms-template.entity.js.map +1 -1
- package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
- package/dist/entities/user-activity-history.entity.js +1 -0
- package/dist/entities/user-activity-history.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +2 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.d.ts.map +1 -1
- package/dist/entities/view-metadata.entity.js +2 -0
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/helpers/command.service.js +1 -1
- package/dist/helpers/command.service.js.map +1 -1
- package/dist/helpers/module-metadata-helper.service.d.ts +2 -0
- package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/module-metadata-helper.service.js +14 -12
- package/dist/helpers/module-metadata-helper.service.js.map +1 -1
- package/dist/helpers/module.helper.d.ts.map +1 -1
- package/dist/helpers/module.helper.js +6 -6
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/typeorm-migration-helpers.d.ts +12 -0
- package/dist/helpers/typeorm-migration-helpers.d.ts.map +1 -0
- package/dist/helpers/typeorm-migration-helpers.js +119 -0
- package/dist/helpers/typeorm-migration-helpers.js.map +1 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +0 -8
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +1 -0
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +57 -38
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/module-test-data.service.js +1 -1
- package/dist/seeders/module-test-data.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +2674 -1913
- package/dist/services/crud-helper.service.d.ts +18 -0
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +70 -3
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +1 -21
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +9 -75
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +6 -0
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/media.service.d.ts +1 -20
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +31 -2
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js +5 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +15 -30
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +249 -29
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/module-metadata-explorer.service.d.ts +161 -0
- package/dist/services/module-metadata-explorer.service.d.ts.map +1 -0
- package/dist/services/module-metadata-explorer.service.js +485 -0
- package/dist/services/module-metadata-explorer.service.js.map +1 -0
- package/dist/services/module-metadata.service.d.ts +7 -0
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +121 -2
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/module-package.service.d.ts +266 -0
- package/dist/services/module-package.service.d.ts.map +1 -0
- package/dist/services/module-package.service.js +980 -0
- package/dist/services/module-package.service.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +10 -31
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/scheduled-job.subscriber.js +1 -1
- package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
- package/dist/subscribers/security-rule.subscriber.js +1 -1
- package/dist/subscribers/security-rule.subscriber.js.map +1 -1
- package/package.json +5 -4
- package/src/controllers/module-metadata-explorer.controller.ts +83 -0
- package/src/controllers/module-metadata.controller.ts +6 -0
- package/src/controllers/module-package.controller.ts +102 -0
- package/src/controllers/service.controller.ts +4 -7
- package/src/controllers/test.controller.ts +0 -9
- package/src/dtos/confirm-module-package-import.dto.ts +12 -0
- package/src/dtos/create-permission-metadata.dto.ts +3 -0
- package/src/dtos/create-role-metadata.dto.ts +11 -1
- package/src/dtos/import-instructions.dto.ts +11 -1
- package/src/dtos/metadata-explorer-references-query.dto.ts +39 -0
- package/src/dtos/metadata-explorer-search-query.dto.ts +28 -0
- package/src/dtos/metadata-explorer-write.dto.ts +11 -0
- package/src/dtos/run-module-package-build.dto.ts +14 -0
- package/src/dtos/run-module-package-seed.dto.ts +12 -0
- package/src/dtos/update-permission-metadata.dto.ts +4 -1
- package/src/dtos/update-role-metadata.dto.ts +21 -1
- package/src/entities/action-metadata.entity.ts +1 -0
- package/src/entities/agent-event.entity.ts +1 -0
- package/src/entities/agent-session.entity.ts +1 -0
- package/src/entities/chatter-message.entity.ts +2 -0
- package/src/entities/email-template.entity.ts +1 -0
- package/src/entities/field-metadata.entity.ts +4 -1
- package/src/entities/list-of-values.entity.ts +5 -1
- package/src/entities/locale.entity.ts +1 -0
- package/src/entities/media.entity.ts +1 -0
- package/src/entities/menu-item-metadata.entity.ts +2 -0
- package/src/entities/model-metadata.entity.ts +3 -0
- package/src/entities/module-metadata.entity.ts +2 -0
- package/src/entities/permission-metadata.entity.ts +2 -2
- package/src/entities/role-metadata.entity.ts +11 -3
- package/src/entities/saved-filters.entity.ts +3 -0
- package/src/entities/scheduled-job.entity.ts +2 -0
- package/src/entities/security-rule.entity.ts +1 -0
- package/src/entities/sms-template.entity.ts +2 -0
- package/src/entities/user-activity-history.entity.ts +1 -0
- package/src/entities/user.entity.ts +2 -0
- package/src/entities/view-metadata.entity.ts +2 -0
- package/src/helpers/command.service.ts +1 -1
- package/src/helpers/module-metadata-helper.service.ts +19 -21
- package/src/helpers/module.helper.ts +12 -9
- package/src/helpers/typeorm-migration-helpers.ts +163 -0
- package/src/index.ts +8 -5
- package/src/interfaces.ts +0 -8
- package/src/seeders/module-metadata-seeder.service.ts +63 -38
- package/src/seeders/module-test-data.service.ts +1 -1
- package/src/seeders/seed-data/solid-core-metadata.json +2675 -1914
- package/src/services/crud-helper.service.ts +81 -3
- package/src/services/crud.service.ts +11 -104
- package/src/services/dashboard-providers/README.md +1 -1
- package/src/services/import-transaction.service.ts +11 -1
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +37 -2
- package/src/services/mediaStorageProviders/file-storage-provider.ts +5 -1
- package/src/services/model-metadata.service.ts +302 -98
- package/src/services/module-metadata-explorer.service.ts +670 -0
- package/src/services/module-metadata.service.ts +136 -10
- package/src/services/module-package.service.ts +1171 -0
- package/src/solid-core.module.ts +10 -33
- package/src/subscribers/scheduled-job.subscriber.ts +1 -1
- package/src/subscribers/security-rule.subscriber.ts +1 -1
- package/dist/commands/ingest.command.d.ts +0 -16
- package/dist/commands/ingest.command.d.ts.map +0 -1
- package/dist/commands/ingest.command.js +0 -50
- package/dist/commands/ingest.command.js.map +0 -1
- package/dist/controllers/ai-interaction.controller.d.ts +0 -48
- package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
- package/dist/controllers/ai-interaction.controller.js +0 -218
- package/dist/controllers/ai-interaction.controller.js.map +0 -1
- package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
- package/dist/dtos/create-ai-interaction.dto.js +0 -149
- package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
- package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
- package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
- package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
- package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
- package/dist/dtos/update-ai-interaction.dto.js +0 -150
- package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
- package/dist/entities/ai-interaction.entity.d.ts +0 -24
- package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
- package/dist/entities/ai-interaction.entity.js +0 -116
- package/dist/entities/ai-interaction.entity.js.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
- package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -25
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -222
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
- package/dist/repository/ai-interaction.repository.d.ts +0 -12
- package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
- package/dist/repository/ai-interaction.repository.js +0 -34
- package/dist/repository/ai-interaction.repository.js.map +0 -1
- package/dist/services/ai-interaction.service.d.ts +0 -23
- package/dist/services/ai-interaction.service.d.ts.map +0 -1
- package/dist/services/ai-interaction.service.js +0 -217
- package/dist/services/ai-interaction.service.js.map +0 -1
- package/dist/services/database/database-bootstrap.service.d.ts +0 -12
- package/dist/services/database/database-bootstrap.service.d.ts.map +0 -1
- package/dist/services/database/database-bootstrap.service.js +0 -115
- package/dist/services/database/database-bootstrap.service.js.map +0 -1
- package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
- package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
- package/dist/services/genai/ingest-metadata.service.js +0 -542
- package/dist/services/genai/ingest-metadata.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
- package/dist/services/genai/r2r-helper.service.d.ts +0 -9
- package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
- package/dist/services/genai/r2r-helper.service.js +0 -40
- package/dist/services/genai/r2r-helper.service.js.map +0 -1
- package/sql/default/mariadb/proc_CleanupModelMetadata.sql +0 -153
- package/sql/default/mariadb/proc_CleanupModuleMetadata.sql +0 -56
- package/sql/default/mssql/proc_CleanupModuleMetadata.sql +0 -78
- package/sql/default/mysql/proc_CleanupModelMetadata.sql +0 -153
- package/sql/default/mysql/proc_CleanupModuleMetadata.sql +0 -56
- package/sql/default/postgres/proc_CleanupModelMetadata.sql +0 -148
- package/sql/default/postgres/proc_CleanupModuleMetadata.sql +0 -50
- package/sql/default/postgres/scratchpad.sql.txt +0 -12
- package/src/commands/ingest.command.ts +0 -36
- package/src/controllers/ai-interaction.controller.ts +0 -112
- package/src/dtos/create-ai-interaction.dto.ts +0 -89
- package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
- package/src/dtos/update-ai-interaction.dto.ts +0 -93
- package/src/entities/ai-interaction.entity.ts +0 -71
- package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
- package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -278
- package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
- package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
- package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
- package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
- package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
- package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
- package/src/repository/ai-interaction.repository.ts +0 -17
- package/src/services/ai-interaction.service.ts +0 -239
- package/src/services/database/database-bootstrap.service.ts +0 -91
- package/src/services/genai/ingest-metadata.service.ts +0 -798
- package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
- package/src/services/genai/r2r-helper.service.ts +0 -37
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-subscriber-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/trigger-mcp-client-subscriber-database.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE,qBACa,kCAAmC,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IAI3F,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa;IATlC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAuD;gBAG3F,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa,EACrB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAClC,aAAa,EAAE,aAAa;IAMjD,OAAO,IAAI,mBAAmB;IAM9B,mBAAmB,CAAC,UAAU,EAAE,WAAW;IA8BrC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC;CAmNjE"}
|
|
@@ -1,222 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
var TriggerMcpClientSubscriberDatabase_1;
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.TriggerMcpClientSubscriberDatabase = void 0;
|
|
17
|
-
const common_1 = require("@nestjs/common");
|
|
18
|
-
const model_metadata_service_1 = require("../../services/model-metadata.service");
|
|
19
|
-
const solid_registry_1 = require("../../helpers/solid-registry");
|
|
20
|
-
const ai_interaction_service_1 = require("../../services/ai-interaction.service");
|
|
21
|
-
const module_metadata_service_1 = require("../../services/module-metadata.service");
|
|
22
|
-
const poller_service_1 = require("../../services/poller.service");
|
|
23
|
-
const database_subscriber_service_1 = require("../../services/queues/database-subscriber.service");
|
|
24
|
-
const mq_message_queue_service_1 = require("../../services/mq-message-queue.service");
|
|
25
|
-
const mq_message_service_1 = require("../../services/mq-message.service");
|
|
26
|
-
const trigger_mcp_client_queue_options_1 = __importDefault(require("./trigger-mcp-client-queue-options"));
|
|
27
|
-
let TriggerMcpClientSubscriberDatabase = TriggerMcpClientSubscriberDatabase_1 = class TriggerMcpClientSubscriberDatabase extends database_subscriber_service_1.DatabaseSubscriber {
|
|
28
|
-
constructor(mqMessageService, mqMessageQueueService, poller, aiInteractionService, moduleMetadataService, modelMetadataService, solidRegistry) {
|
|
29
|
-
super(mqMessageService, mqMessageQueueService, poller);
|
|
30
|
-
this.mqMessageService = mqMessageService;
|
|
31
|
-
this.mqMessageQueueService = mqMessageQueueService;
|
|
32
|
-
this.poller = poller;
|
|
33
|
-
this.aiInteractionService = aiInteractionService;
|
|
34
|
-
this.moduleMetadataService = moduleMetadataService;
|
|
35
|
-
this.modelMetadataService = modelMetadataService;
|
|
36
|
-
this.solidRegistry = solidRegistry;
|
|
37
|
-
this.triggerMcpClientSubscriberLogger = new common_1.Logger(TriggerMcpClientSubscriberDatabase_1.name);
|
|
38
|
-
}
|
|
39
|
-
options() {
|
|
40
|
-
return {
|
|
41
|
-
...trigger_mcp_client_queue_options_1.default
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
cleanNestedResponse(aiResponse) {
|
|
45
|
-
let nestedResponse;
|
|
46
|
-
try {
|
|
47
|
-
let raw = aiResponse.response;
|
|
48
|
-
if (typeof raw === "string") {
|
|
49
|
-
raw = raw.trim();
|
|
50
|
-
try {
|
|
51
|
-
nestedResponse = JSON.parse(raw);
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
nestedResponse = raw;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else if (typeof raw === "object" && raw !== null) {
|
|
58
|
-
nestedResponse = raw;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
nestedResponse = String(raw);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
this.triggerMcpClientSubscriberLogger.error("Error processing AI response:", err);
|
|
66
|
-
nestedResponse = `Error handling response: ${err?.message || String(err)}`;
|
|
67
|
-
}
|
|
68
|
-
return nestedResponse;
|
|
69
|
-
}
|
|
70
|
-
async subscribe(message) {
|
|
71
|
-
this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);
|
|
72
|
-
const codeGnerationOptions = message.payload;
|
|
73
|
-
const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {
|
|
74
|
-
populate: ['user']
|
|
75
|
-
});
|
|
76
|
-
if (!aiInteraction) {
|
|
77
|
-
const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`;
|
|
78
|
-
this.triggerMcpClientSubscriberLogger.log(m);
|
|
79
|
-
throw new Error(m);
|
|
80
|
-
}
|
|
81
|
-
const prompt = aiInteraction.message;
|
|
82
|
-
const genAiInteraction = await this.aiInteractionService.create({
|
|
83
|
-
userId: aiInteraction.user.id,
|
|
84
|
-
threadId: aiInteraction.threadId,
|
|
85
|
-
parentInteractionId: aiInteraction.id,
|
|
86
|
-
role: 'gen-ai',
|
|
87
|
-
message: '...',
|
|
88
|
-
contentType: '',
|
|
89
|
-
errorMessage: '',
|
|
90
|
-
modelUsed: '',
|
|
91
|
-
responseTimeMs: 0,
|
|
92
|
-
metadata: '',
|
|
93
|
-
isApplied: false,
|
|
94
|
-
status: 'pending'
|
|
95
|
-
});
|
|
96
|
-
const existingComputationProviders = this.solidRegistry.getComputedFieldProviders();
|
|
97
|
-
const { records: existingModules } = await this.moduleMetadataService.findMany({
|
|
98
|
-
filters: {
|
|
99
|
-
name: { $ne: 'solid-core' }
|
|
100
|
-
},
|
|
101
|
-
fields: ['id', 'name', 'displayName', 'description'],
|
|
102
|
-
limit: 1000
|
|
103
|
-
});
|
|
104
|
-
const { records: existingModels } = await this.modelMetadataService.findMany({
|
|
105
|
-
filters: {
|
|
106
|
-
module: {
|
|
107
|
-
name: {
|
|
108
|
-
$ne: 'solid-core',
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
limit: 1000,
|
|
113
|
-
populate: ['module']
|
|
114
|
-
});
|
|
115
|
-
const existingControllerAndTheirMethods = this.solidRegistry.getControllers();
|
|
116
|
-
const modulesSection = (existingModules ?? [])
|
|
117
|
-
.map(m => [
|
|
118
|
-
`### ${m.displayName}`,
|
|
119
|
-
`- name: ${m.name}`,
|
|
120
|
-
`- description: ${m.description ?? ""}`,
|
|
121
|
-
].join('\n'))
|
|
122
|
-
.join('\n\n');
|
|
123
|
-
const modelsSection = (existingModels ?? [])
|
|
124
|
-
.map(m => [
|
|
125
|
-
`### ${m.displayName}`,
|
|
126
|
-
`- singularName: ${m.singularName}`,
|
|
127
|
-
`- description: ${m.description ?? ""}`,
|
|
128
|
-
`- moduleName: ${m.module.name}`,
|
|
129
|
-
].join('\n'))
|
|
130
|
-
.join('\n\n');
|
|
131
|
-
const computationProvidersSection = (existingComputationProviders ?? [])
|
|
132
|
-
.map(m => [
|
|
133
|
-
`### ${m.instance.name()}`,
|
|
134
|
-
`- name: ${m.instance.name()}`,
|
|
135
|
-
`- description: ${m.instance.help() ?? ""}`,
|
|
136
|
-
].join('\n'))
|
|
137
|
-
.join('\n\n');
|
|
138
|
-
const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])
|
|
139
|
-
.map(m => [
|
|
140
|
-
`### ${m.name}`,
|
|
141
|
-
`- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n') : '- No methods found'}`,
|
|
142
|
-
].join('\n'))
|
|
143
|
-
.join('\n\n');
|
|
144
|
-
const finalPrompt = `
|
|
145
|
-
# User Prompt:
|
|
146
|
-
${prompt}
|
|
147
|
-
|
|
148
|
-
# System Instructions:
|
|
149
|
-
- aiInteractionId: ${genAiInteraction.id}
|
|
150
|
-
- You will be invoking tools if needed, hence you will have to choose the applicable tools based on the tool context given to you.
|
|
151
|
-
- If a tool is invoked, you must return **exactly** the raw output from the tool, without any json envelopes, additional formatting, commentary, or text.
|
|
152
|
-
- Do not wrap the result in quotes, JSON, or markdown fences.
|
|
153
|
-
- Do not explain what the result means.
|
|
154
|
-
|
|
155
|
-
# LISTS FOR REFERENCE AND VALIDATIONS
|
|
156
|
-
|
|
157
|
-
## LIST OF EXISTING MODULES
|
|
158
|
-
Use the below list of modules to infer which module the user is referring to, .
|
|
159
|
-
|
|
160
|
-
${modulesSection}
|
|
161
|
-
|
|
162
|
-
## LIST OF EXISTING MODELS
|
|
163
|
-
Use the below list of models to infer which model the user is referring to.
|
|
164
|
-
You need to pull out the singularName for the model from the user prompt to match against the below list.
|
|
165
|
-
|
|
166
|
-
${modelsSection}
|
|
167
|
-
|
|
168
|
-
## LIST OF EXISTING COMPUTED FIELD PROVIDERS
|
|
169
|
-
Use the below list of computed field providers to infer which provider the user is referring to.
|
|
170
|
-
|
|
171
|
-
${computationProvidersSection}
|
|
172
|
-
`.trim();
|
|
173
|
-
const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);
|
|
174
|
-
this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
|
|
175
|
-
this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));
|
|
176
|
-
if (!aiResponse.success) {
|
|
177
|
-
this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);
|
|
178
|
-
const errorsStr = aiResponse.errors?.join('\n ');
|
|
179
|
-
const errorTrace = aiResponse.error_trace?.join('\n');
|
|
180
|
-
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
181
|
-
contentType: aiResponse.content_type,
|
|
182
|
-
errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
183
|
-
modelUsed: aiResponse.model,
|
|
184
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
185
|
-
isApplied: aiInteraction.isApplied,
|
|
186
|
-
status: aiResponse.success ? 'succeeded' : 'failed'
|
|
187
|
-
}, [], true);
|
|
188
|
-
throw new Error(errorsStr);
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
let nestedResponse = this.cleanNestedResponse(aiResponse);
|
|
192
|
-
const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
|
|
193
|
-
const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
|
|
194
|
-
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
195
|
-
errorMessage: nestedResponse.status == "error" ? `${errorsStr}\n\n${errorTrace}` : "",
|
|
196
|
-
contentType: aiResponse.content_type,
|
|
197
|
-
message: JSON.stringify(nestedResponse),
|
|
198
|
-
modelUsed: aiResponse.model,
|
|
199
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
200
|
-
metadata: JSON.stringify(aiResponse, null, 2),
|
|
201
|
-
isApplied: aiInteraction.isApplied,
|
|
202
|
-
status: aiResponse.success && nestedResponse.status == "success" ? 'succeeded' : 'failed'
|
|
203
|
-
}, [], true);
|
|
204
|
-
if (aiInteraction.isAutoApply) {
|
|
205
|
-
this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return aiResponse;
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
exports.TriggerMcpClientSubscriberDatabase = TriggerMcpClientSubscriberDatabase;
|
|
212
|
-
exports.TriggerMcpClientSubscriberDatabase = TriggerMcpClientSubscriberDatabase = TriggerMcpClientSubscriberDatabase_1 = __decorate([
|
|
213
|
-
(0, common_1.Injectable)(),
|
|
214
|
-
__metadata("design:paramtypes", [mq_message_service_1.MqMessageService,
|
|
215
|
-
mq_message_queue_service_1.MqMessageQueueService,
|
|
216
|
-
poller_service_1.PollerService,
|
|
217
|
-
ai_interaction_service_1.AiInteractionService,
|
|
218
|
-
module_metadata_service_1.ModuleMetadataService,
|
|
219
|
-
model_metadata_service_1.ModelMetadataService,
|
|
220
|
-
solid_registry_1.SolidRegistry])
|
|
221
|
-
], TriggerMcpClientSubscriberDatabase);
|
|
222
|
-
//# sourceMappingURL=trigger-mcp-client-subscriber-database.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/trigger-mcp-client-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,kFAA6E;AAC7E,iEAA2D;AAE3D,kFAA2E;AAC3E,oFAA6E;AAC7E,kEAA4D;AAC5D,mGAAqF;AAErF,sFAAgF;AAChF,0EAAqE;AACrE,0GAA8E;AAGvE,IAAM,kCAAkC,0CAAxC,MAAM,kCAAmC,SAAQ,gDAA2C;IAG/F,YACa,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB,EACrB,oBAA0C,EAC1C,qBAA4C,EAC5C,oBAA0C,EAClC,aAA4B;QAG7C,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAT9C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;QACrB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,yBAAoB,GAApB,oBAAoB,CAAsB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAThC,qCAAgC,GAAG,IAAI,eAAM,CAAC,oCAAkC,CAAC,IAAI,CAAC,CAAC;IAaxG,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,0CAA4B;SAClC,CAAA;IACL,CAAC;IAED,mBAAmB,CAAC,UAAuB;QACvC,IAAI,cAAmB,CAAC;QAExB,IAAI,CAAC;YACD,IAAI,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;YAE9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC;oBAED,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBAEL,cAAc,GAAG,GAAG,CAAC;gBACzB,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAEjD,cAAc,GAAG,GAAG,CAAC;YACzB,CAAC;iBAAM,CAAC;gBAEJ,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;YAClF,cAAc,GAAG,4BAA4B,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA8C;QAC1D,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE5F,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;QAE7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,eAAe,EAAE;YAChG,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,qFAAqF,oBAAoB,CAAC,eAAe,EAAE,CAAA;YACrI,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAGD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;QAOrC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAC5D,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE;YAC7B,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,mBAAmB,EAAE,aAAa,CAAC,EAAE;YACrC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,MAAM,4BAA4B,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC;QAEpF,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YAC3E,OAAO,EAAE;gBACL,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;aAC9B;YACD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC;YACpD,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YACzE,OAAO,EAAE;gBACL,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,GAAG,EAAE,YAAY;qBACpB;iBACJ;aACJ;YACD,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,iCAAiC,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAK9E,MAAM,cAAc,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,WAAW,EAAE;YACtB,WAAW,CAAC,CAAC,IAAI,EAAE;YACnB,kBAAkB,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE;SAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACZ,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,aAAa,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,WAAW,EAAE;YACtB,mBAAmB,CAAC,CAAC,YAAY,EAAE;YACnC,kBAAkB,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE;YACvC,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACZ,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,2BAA2B,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YAC1B,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YAC9B,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;SAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACZ,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,0BAA0B,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC;aACvE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,IAAI,EAAE;YACf,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE;SACpG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACZ,IAAI,CAAC,MAAM,CAAC,CAAC;QAIlB,MAAM,WAAW,GAAG;;EAE1B,MAAM;;;qBAGa,gBAAgB,CAAC,EAAE;;;;;;;;;;;EAWtC,cAAc;;;;;;EAMd,aAAa;;;;;EAKb,2BAA2B;CAC5B,CAAC,IAAI,EAAE,CAAC;QAOD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC7E,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAE1F,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAkBtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;gBACxD,WAAW,EAAE,UAAU,CAAC,YAAY;gBACpC,YAAY,EAAE,GAAG,SAAS,OAAO,UAAU,EAAE;gBAC7C,SAAS,EAAE,UAAU,CAAC,KAAK;gBAC3B,cAAc,EAAE,UAAU,CAAC,WAAW;gBACtC,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;aACtD,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAGb,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;aACI,CAAC;YACF,IAAI,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAG1D,MAAM,SAAS,GAAG,cAAc,EAAE,MAAM,IAAI,OAAO,IAAI,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1F,MAAM,UAAU,GAAG,cAAc,EAAE,MAAM,IAAI,OAAO,IAAI,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAiBhG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;gBACxD,YAAY,EAAE,cAAc,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;gBACrF,WAAW,EAAE,UAAU,CAAC,YAAY;gBACpC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBACvC,SAAS,EAAE,UAAU,CAAC,KAAK;gBAC3B,cAAc,EAAE,UAAU,CAAC,WAAW;gBACtC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;aAC5F,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAGb,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ,CAAA;AAvQY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;QACC,6CAAoB;QACnB,+CAAqB;QACtB,6CAAoB;QACnB,8BAAa;GAVxC,kCAAkC,CAuQ9C","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { ModelMetadataService } from '../../services/model-metadata.service';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { AiInteractionService } from 'src/services/ai-interaction.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { PollerService } from 'src/services/poller.service';\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from \"../../interfaces\";\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport triggerMcpClientQueueOptions from \"./trigger-mcp-client-queue-options\";\n\n@Injectable()\nexport class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {\n private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberDatabase.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n readonly aiInteractionService: AiInteractionService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly modelMetadataService: ModelMetadataService,\n private readonly solidRegistry: SolidRegistry\n\n ) {\n super(mqMessageService, mqMessageQueueService, poller);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...triggerMcpClientQueueOptions\n }\n }\n\n cleanNestedResponse(aiResponse: McpResponse) {\n let nestedResponse: any;\n\n try {\n let raw = aiResponse.response;\n\n if (typeof raw === \"string\") {\n raw = raw.trim();\n try {\n // Try to parse as JSON\n nestedResponse = JSON.parse(raw);\n } catch {\n // Not JSON, just keep as string\n nestedResponse = raw;\n }\n } else if (typeof raw === \"object\" && raw !== null) {\n // Already JSON\n nestedResponse = raw;\n } else {\n // Fallback\n nestedResponse = String(raw);\n }\n } catch (err: any) {\n this.triggerMcpClientSubscriberLogger.error(\"Error processing AI response:\", err);\n nestedResponse = `Error handling response: ${err?.message || String(err)}`;\n }\n\n return nestedResponse;\n }\n\n async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {\n this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);\n\n const codeGnerationOptions = message.payload;\n\n const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {\n populate: ['user']\n });\n if (!aiInteraction) {\n const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`\n this.triggerMcpClientSubscriberLogger.log(m);\n throw new Error(m);\n }\n\n // The message contains the users prompt.\n const prompt = aiInteraction.message;\n\n // Use this to invoke our mcp client\n // TODO: try / catch ... \n // Handle the rejection gracefully...\n\n // We create the aiInteraction entry first \n const genAiInteraction = await this.aiInteractionService.create({\n userId: aiInteraction.user.id,\n threadId: aiInteraction.threadId,\n parentInteractionId: aiInteraction.id,\n role: 'gen-ai',\n message: '...', // Updated in the tool\n contentType: '', // Updated in the tool\n errorMessage: '', // Updated after we receive the response\n modelUsed: '', // Updated after we receive the response\n responseTimeMs: 0, // Updated after we receive the response\n metadata: '', // Updated in the tool\n isApplied: false, // Updated after we receive the response\n status: 'pending' // Updated after we receive the response\n });\n\n const existingComputationProviders = this.solidRegistry.getComputedFieldProviders();\n\n const { records: existingModules } = await this.moduleMetadataService.findMany({\n filters: {\n name: { $ne: 'solid-core' }\n },\n fields: ['id', 'name', 'displayName', 'description'],\n limit: 1000\n });\n const { records: existingModels } = await this.modelMetadataService.findMany({\n filters: {\n module: {\n name: {\n $ne: 'solid-core',\n }\n }\n },\n limit: 1000,\n populate: ['module']\n });\n\n const existingControllerAndTheirMethods = this.solidRegistry.getControllers();\n\n\n\n // Build markdown sections using template interpolation\n const modulesSection = (existingModules ?? [])\n .map(m => [\n `### ${m.displayName}`,\n `- name: ${m.name}`,\n `- description: ${m.description ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const modelsSection = (existingModels ?? [])\n .map(m => [\n `### ${m.displayName}`,\n `- singularName: ${m.singularName}`,\n `- description: ${m.description ?? \"\"}`,\n `- moduleName: ${m.module.name}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const computationProvidersSection = (existingComputationProviders ?? [])\n .map(m => [\n `### ${m.instance.name()}`,\n `- name: ${m.instance.name()}`,\n `- description: ${m.instance.help() ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])\n .map(m => [\n `### ${m.name}`,\n `- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\\n') : '- No methods found'}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n\n\n const finalPrompt = `\n# User Prompt: \n${prompt}\n\n# System Instructions:\n- aiInteractionId: ${genAiInteraction.id}\n- You will be invoking tools if needed, hence you will have to choose the applicable tools based on the tool context given to you.\n- If a tool is invoked, you must return **exactly** the raw output from the tool, without any json envelopes, additional formatting, commentary, or text.\n- Do not wrap the result in quotes, JSON, or markdown fences.\n- Do not explain what the result means.\n\n# LISTS FOR REFERENCE AND VALIDATIONS\n\n## LIST OF EXISTING MODULES\nUse the below list of modules to infer which module the user is referring to, .\n\n${modulesSection}\n\n## LIST OF EXISTING MODELS\nUse the below list of models to infer which model the user is referring to.\nYou need to pull out the singularName for the model from the user prompt to match against the below list.\n\n${modelsSection}\n\n## LIST OF EXISTING COMPUTED FIELD PROVIDERS\nUse the below list of computed field providers to infer which provider the user is referring to.\n\n${computationProvidersSection}\n`.trim();\n\n // ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS\n // Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.\n\n // ${controllersAndTheirMethods}\n\n const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);\n this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);\n this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));\n\n if (!aiResponse.success) {\n this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);\n\n const errorsStr = aiResponse.errors?.join('\\n ');\n const errorTrace = aiResponse.error_trace?.join('\\n');\n\n // await this.aiInteractionService.create({\n // userId: aiInteraction.user.id,\n // threadId: aiInteraction.threadId,\n // parentInteractionId: aiInteraction.id,\n // role: 'gen-ai',\n // message: '-',\n // contentType: aiResponse.content_type,\n // errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n // modelUsed: aiResponse.model,\n // responseTimeMs: aiResponse.duration_ms,\n // metadata: JSON.stringify(aiResponse, null, 2),\n // isApplied: aiInteraction.isApplied,\n // status: aiResponse.success ? 'succeeded' : 'failed'\n // });\n\n // TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB\n await this.aiInteractionService.update(genAiInteraction.id, {\n contentType: aiResponse.content_type,\n errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success ? 'succeeded' : 'failed'\n }, [], true);\n\n // update the job entry with failure... raising an error will lead the job to be marked as failed...\n throw new Error(errorsStr);\n }\n else {\n let nestedResponse = this.cleanNestedResponse(aiResponse);\n\n // TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB\n const errorsStr = nestedResponse?.status == \"error\" && nestedResponse?.errors.join('\\n ');\n const errorTrace = nestedResponse?.status == \"error\" && nestedResponse?.error_trace?.join('\\n');\n\n // const genAiInteraction = await this.aiInteractionService.create({\n // userId: aiInteraction.user.id,\n // threadId: aiInteraction.threadId,\n // parentInteractionId: aiInteraction.id,\n // role: 'gen-ai',\n // message: nestedResponse,\n // contentType: aiResponse.content_type,\n // errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n // modelUsed: aiResponse.model,\n // responseTimeMs: aiResponse.duration_ms,\n // metadata: JSON.stringify(aiResponse, null, 2),\n // isApplied: aiInteraction.isApplied,\n // status: aiResponse.success ? 'succeeded' : 'failed'\n // });\n\n await this.aiInteractionService.update(genAiInteraction.id, {\n errorMessage: nestedResponse.status == \"error\" ? `${errorsStr}\\n\\n${errorTrace}` : \"\",\n contentType: aiResponse.content_type,\n message: JSON.stringify(nestedResponse),\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n metadata: JSON.stringify(aiResponse, null, 2),\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success && nestedResponse.status == \"success\" ? 'succeeded' : 'failed'\n }, [], true);\n\n // If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.\n if (aiInteraction.isAutoApply) {\n this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);\n }\n }\n\n return aiResponse;\n }\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
|
|
2
|
-
import { MqMessageQueueService } from "../../services/mq-message-queue.service";
|
|
3
|
-
import { MqMessageService } from "../../services/mq-message.service";
|
|
4
|
-
import { RabbitMqPublisher } from "../../services/queues/rabbitmq-publisher.service";
|
|
5
|
-
export declare class TriggerMcpClientPublisherRabbitmq extends RabbitMqPublisher<TriggerMcpClientOptions> {
|
|
6
|
-
protected readonly mqMessageService: MqMessageService;
|
|
7
|
-
protected readonly mqMessageQueueService: MqMessageQueueService;
|
|
8
|
-
constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
9
|
-
options(): QueuesModuleOptions;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=trigger-mcp-client-publisher.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-publisher.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAGnF,qBACa,iCAAkC,SAAQ,iBAAiB,CAAC,uBAAuB,CAAC;IAEzF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAD5C,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKnE,OAAO,IAAI,mBAAmB;CAKjC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.TriggerMcpClientPublisherRabbitmq = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const mq_message_queue_service_1 = require("../../services/mq-message-queue.service");
|
|
18
|
-
const mq_message_service_1 = require("../../services/mq-message.service");
|
|
19
|
-
const rabbitmq_publisher_service_1 = require("../../services/queues/rabbitmq-publisher.service");
|
|
20
|
-
const trigger_mcp_client_queue_options_1 = __importDefault(require("./trigger-mcp-client-queue-options"));
|
|
21
|
-
let TriggerMcpClientPublisherRabbitmq = class TriggerMcpClientPublisherRabbitmq extends rabbitmq_publisher_service_1.RabbitMqPublisher {
|
|
22
|
-
constructor(mqMessageService, mqMessageQueueService) {
|
|
23
|
-
super(mqMessageService, mqMessageQueueService);
|
|
24
|
-
this.mqMessageService = mqMessageService;
|
|
25
|
-
this.mqMessageQueueService = mqMessageQueueService;
|
|
26
|
-
}
|
|
27
|
-
options() {
|
|
28
|
-
return {
|
|
29
|
-
...trigger_mcp_client_queue_options_1.default
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
exports.TriggerMcpClientPublisherRabbitmq = TriggerMcpClientPublisherRabbitmq;
|
|
34
|
-
exports.TriggerMcpClientPublisherRabbitmq = TriggerMcpClientPublisherRabbitmq = __decorate([
|
|
35
|
-
(0, common_1.Injectable)(),
|
|
36
|
-
__metadata("design:paramtypes", [mq_message_service_1.MqMessageService,
|
|
37
|
-
mq_message_queue_service_1.MqMessageQueueService])
|
|
38
|
-
], TriggerMcpClientPublisherRabbitmq);
|
|
39
|
-
//# sourceMappingURL=trigger-mcp-client-publisher.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-publisher.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,sFAA8E;AAC9E,0EAAmE;AACnE,iGAAmF;AACnF,0GAA8E;AAGvE,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,8CAA0C;IAC7F,YACuB,gBAAkC,EAClC,qBAA4C;QAE/D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAH5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGnE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,0CAA4B;SAClC,CAAC;IACN,CAAC;CACJ,CAAA;AAbY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,mBAAU,GAAE;qCAGgC,qCAAgB;QACX,gDAAqB;GAH1D,iCAAiC,CAa7C","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { QueuesModuleOptions, TriggerMcpClientOptions } from \"../../interfaces\";\nimport { MqMessageQueueService } from \"src/services/mq-message-queue.service\";\nimport { MqMessageService } from \"src/services/mq-message.service\";\nimport { RabbitMqPublisher } from \"src/services/queues/rabbitmq-publisher.service\";\nimport triggerMcpClientQueueOptions from \"./trigger-mcp-client-queue-options\";\n\n@Injectable()\nexport class TriggerMcpClientPublisherRabbitmq extends RabbitMqPublisher<TriggerMcpClientOptions> {\n constructor(\n protected readonly mqMessageService: MqMessageService,\n protected readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...triggerMcpClientQueueOptions\n };\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-queue-options.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;;;;;;AAI9C,wBAIE"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const interfaces_1 = require("../../interfaces");
|
|
4
|
-
const TRIGGER_MCP_CLIENT_QUEUE_NAME = 'solid_trigger_mcp_client_queue_rabbitmq';
|
|
5
|
-
exports.default = {
|
|
6
|
-
name: TRIGGER_MCP_CLIENT_QUEUE_NAME,
|
|
7
|
-
type: interfaces_1.BrokerType.RabbitMQ,
|
|
8
|
-
queueName: TRIGGER_MCP_CLIENT_QUEUE_NAME,
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=trigger-mcp-client-queue-options.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-queue-options.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,MAAM,6BAA6B,GAAG,yCAAyC,CAAC;AAEhF,kBAAe;IACX,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,uBAAU,CAAC,QAAQ;IACzB,SAAS,EAAE,6BAA6B;CAC3C,CAAC","sourcesContent":["import { BrokerType } from \"../../interfaces\";\n\nconst TRIGGER_MCP_CLIENT_QUEUE_NAME = 'solid_trigger_mcp_client_queue_rabbitmq';\n\nexport default {\n name: TRIGGER_MCP_CLIENT_QUEUE_NAME,\n type: BrokerType.RabbitMQ,\n queueName: TRIGGER_MCP_CLIENT_QUEUE_NAME,\n};\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { QueueMessage } from '../../interfaces/mq';
|
|
2
|
-
import { AiInteractionService } from '../../services/ai-interaction.service';
|
|
3
|
-
import { PollerService } from '../../services/poller.service';
|
|
4
|
-
import { TriggerMcpClientOptions, QueuesModuleOptions } from '../../interfaces';
|
|
5
|
-
import { MqMessageQueueService } from '../../services/mq-message-queue.service';
|
|
6
|
-
import { MqMessageService } from '../../services/mq-message.service';
|
|
7
|
-
import { RabbitMqSubscriber } from '../../services/queues/rabbitmq-subscriber.service';
|
|
8
|
-
export declare class TriggerMcpClientSubscriberRabbitmq extends RabbitMqSubscriber<TriggerMcpClientOptions> {
|
|
9
|
-
readonly mqMessageService: MqMessageService;
|
|
10
|
-
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
|
-
readonly poller: PollerService;
|
|
12
|
-
readonly aiInteractionService: AiInteractionService;
|
|
13
|
-
private readonly triggerMcpClientSubscriberLogger;
|
|
14
|
-
constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService, poller: PollerService, aiInteractionService: AiInteractionService);
|
|
15
|
-
options(): QueuesModuleOptions;
|
|
16
|
-
subscribe(message: QueueMessage<TriggerMcpClientOptions>): Promise<import("../../interfaces").McpResponse>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=trigger-mcp-client-subscriber.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,qBACa,kCAAmC,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IAI3F,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IANvD,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAuD;gBAG3F,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa,EACrB,oBAAoB,EAAE,oBAAoB;IAKvD,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC;CAyEjE"}
|
|
@@ -1,103 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
var TriggerMcpClientSubscriberRabbitmq_1;
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.TriggerMcpClientSubscriberRabbitmq = void 0;
|
|
17
|
-
const common_1 = require("@nestjs/common");
|
|
18
|
-
const trigger_mcp_client_queue_options_1 = __importDefault(require("./trigger-mcp-client-queue-options"));
|
|
19
|
-
const ai_interaction_service_1 = require("../../services/ai-interaction.service");
|
|
20
|
-
const poller_service_1 = require("../../services/poller.service");
|
|
21
|
-
const mq_message_queue_service_1 = require("../../services/mq-message-queue.service");
|
|
22
|
-
const mq_message_service_1 = require("../../services/mq-message.service");
|
|
23
|
-
const rabbitmq_subscriber_service_1 = require("../../services/queues/rabbitmq-subscriber.service");
|
|
24
|
-
let TriggerMcpClientSubscriberRabbitmq = TriggerMcpClientSubscriberRabbitmq_1 = class TriggerMcpClientSubscriberRabbitmq extends rabbitmq_subscriber_service_1.RabbitMqSubscriber {
|
|
25
|
-
constructor(mqMessageService, mqMessageQueueService, poller, aiInteractionService) {
|
|
26
|
-
super(mqMessageService, mqMessageQueueService);
|
|
27
|
-
this.mqMessageService = mqMessageService;
|
|
28
|
-
this.mqMessageQueueService = mqMessageQueueService;
|
|
29
|
-
this.poller = poller;
|
|
30
|
-
this.aiInteractionService = aiInteractionService;
|
|
31
|
-
this.triggerMcpClientSubscriberLogger = new common_1.Logger(TriggerMcpClientSubscriberRabbitmq_1.name);
|
|
32
|
-
}
|
|
33
|
-
options() {
|
|
34
|
-
return {
|
|
35
|
-
...trigger_mcp_client_queue_options_1.default
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
async subscribe(message) {
|
|
39
|
-
this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);
|
|
40
|
-
const codeGnerationOptions = message.payload;
|
|
41
|
-
const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {
|
|
42
|
-
populate: ['user']
|
|
43
|
-
});
|
|
44
|
-
if (!aiInteraction) {
|
|
45
|
-
const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`;
|
|
46
|
-
this.triggerMcpClientSubscriberLogger.log(m);
|
|
47
|
-
throw new Error(m);
|
|
48
|
-
}
|
|
49
|
-
const prompt = aiInteraction.message;
|
|
50
|
-
const aiResponse = await this.aiInteractionService.runMcpPrompt(prompt);
|
|
51
|
-
this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
|
|
52
|
-
this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));
|
|
53
|
-
if (!aiResponse.success) {
|
|
54
|
-
this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);
|
|
55
|
-
const errorsStr = aiResponse.errors.join('; ');
|
|
56
|
-
await this.aiInteractionService.create({
|
|
57
|
-
userId: aiInteraction.user.id,
|
|
58
|
-
threadId: aiInteraction.threadId,
|
|
59
|
-
parentInteractionId: aiInteraction.id,
|
|
60
|
-
role: 'gen-ai',
|
|
61
|
-
message: '-',
|
|
62
|
-
contentType: aiResponse.content_type,
|
|
63
|
-
errorMessage: errorsStr,
|
|
64
|
-
modelUsed: aiResponse.model,
|
|
65
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
66
|
-
metadata: JSON.stringify(aiResponse),
|
|
67
|
-
isApplied: aiInteraction.isApplied,
|
|
68
|
-
status: aiResponse.success ? 'succeeded' : 'failed'
|
|
69
|
-
});
|
|
70
|
-
throw new Error(errorsStr);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
let nestedResponse = aiResponse.response.trim();
|
|
74
|
-
const genAiInteraction = await this.aiInteractionService.create({
|
|
75
|
-
userId: aiInteraction.user.id,
|
|
76
|
-
threadId: aiInteraction.threadId,
|
|
77
|
-
parentInteractionId: aiInteraction.id,
|
|
78
|
-
role: 'gen-ai',
|
|
79
|
-
message: nestedResponse,
|
|
80
|
-
contentType: aiResponse.content_type,
|
|
81
|
-
errorMessage: '',
|
|
82
|
-
modelUsed: aiResponse.model,
|
|
83
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
84
|
-
metadata: JSON.stringify(aiResponse),
|
|
85
|
-
isApplied: aiInteraction.isApplied,
|
|
86
|
-
status: aiResponse.success ? 'succeeded' : 'failed'
|
|
87
|
-
});
|
|
88
|
-
if (aiInteraction.isAutoApply) {
|
|
89
|
-
this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return aiResponse;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
exports.TriggerMcpClientSubscriberRabbitmq = TriggerMcpClientSubscriberRabbitmq;
|
|
96
|
-
exports.TriggerMcpClientSubscriberRabbitmq = TriggerMcpClientSubscriberRabbitmq = TriggerMcpClientSubscriberRabbitmq_1 = __decorate([
|
|
97
|
-
(0, common_1.Injectable)(),
|
|
98
|
-
__metadata("design:paramtypes", [mq_message_service_1.MqMessageService,
|
|
99
|
-
mq_message_queue_service_1.MqMessageQueueService,
|
|
100
|
-
poller_service_1.PollerService,
|
|
101
|
-
ai_interaction_service_1.AiInteractionService])
|
|
102
|
-
], TriggerMcpClientSubscriberRabbitmq);
|
|
103
|
-
//# sourceMappingURL=trigger-mcp-client-subscriber.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { QueueMessage } from 'src/interfaces/mq';\nimport triggerMcpClientQueueOptions from \"./trigger-mcp-client-queue-options\";\nimport { AiInteractionService } from 'src/services/ai-interaction.service';\nimport { PollerService } from 'src/services/poller.service';\nimport { TriggerMcpClientOptions, QueuesModuleOptions } from '../../interfaces';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\n\n@Injectable()\nexport class TriggerMcpClientSubscriberRabbitmq extends RabbitMqSubscriber<TriggerMcpClientOptions> {\n private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberRabbitmq.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n readonly aiInteractionService: AiInteractionService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...triggerMcpClientQueueOptions\n }\n }\n\n async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {\n this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);\n\n const codeGnerationOptions = message.payload;\n\n const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {\n populate: ['user']\n });\n if (!aiInteraction) {\n const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`\n this.triggerMcpClientSubscriberLogger.log(m);\n throw new Error(m);\n }\n\n // The message contains the users prompt.\n const prompt = aiInteraction.message;\n\n // Use this to invoke our mcp client\n // TODO: try / catch ...\n // Handle the rejection gracefully...\n const aiResponse = await this.aiInteractionService.runMcpPrompt(prompt);\n this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);\n this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));\n\n if (!aiResponse.success) {\n this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);\n\n const errorsStr = aiResponse.errors.join('; ');\n\n await this.aiInteractionService.create({\n userId: aiInteraction.user.id,\n threadId: aiInteraction.threadId,\n parentInteractionId: aiInteraction.id,\n role: 'gen-ai',\n message: '-',\n contentType: aiResponse.content_type,\n errorMessage: errorsStr,\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n metadata: JSON.stringify(aiResponse),\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success ? 'succeeded' : 'failed'\n });\n\n // update the job entry with failure... raising an error will lead the job to be marked as failed...\n throw new Error(errorsStr);\n }\n else {\n let nestedResponse = aiResponse.response.trim();\n\n const genAiInteraction = await this.aiInteractionService.create({\n userId: aiInteraction.user.id,\n threadId: aiInteraction.threadId,\n parentInteractionId: aiInteraction.id,\n role: 'gen-ai',\n message: nestedResponse,\n contentType: aiResponse.content_type,\n errorMessage: '',\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n metadata: JSON.stringify(aiResponse),\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success ? 'succeeded' : 'failed'\n });\n\n // If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.\n if (aiInteraction.isAutoApply) {\n this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);\n }\n }\n\n return aiResponse;\n }\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { RedisPublisher } from '../../services/queues/redis-publisher.service';
|
|
2
|
-
import { MqMessageQueueService } from '../../services/mq-message-queue.service';
|
|
3
|
-
import { MqMessageService } from '../../services/mq-message.service';
|
|
4
|
-
import { TriggerMcpClientOptions, QueuesModuleOptions } from "../../interfaces";
|
|
5
|
-
export declare class TriggerMcpClientPublisherRedis extends RedisPublisher<TriggerMcpClientOptions> {
|
|
6
|
-
protected readonly mqMessageService: MqMessageService;
|
|
7
|
-
protected readonly mqMessageQueueService: MqMessageQueueService;
|
|
8
|
-
constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
9
|
-
options(): QueuesModuleOptions;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=trigger-mcp-client-publisher-redis.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-publisher-redis.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,qBACa,8BAA+B,SAAQ,cAAc,CAAC,uBAAuB,CAAC;IAEnF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAD5C,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKnE,OAAO,IAAI,mBAAmB;CAKjC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.TriggerMcpClientPublisherRedis = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const redis_publisher_service_1 = require("../../services/queues/redis-publisher.service");
|
|
18
|
-
const trigger_mcp_client_queue_options_redis_1 = __importDefault(require("./trigger-mcp-client-queue-options-redis"));
|
|
19
|
-
const mq_message_queue_service_1 = require("../../services/mq-message-queue.service");
|
|
20
|
-
const mq_message_service_1 = require("../../services/mq-message.service");
|
|
21
|
-
let TriggerMcpClientPublisherRedis = class TriggerMcpClientPublisherRedis extends redis_publisher_service_1.RedisPublisher {
|
|
22
|
-
constructor(mqMessageService, mqMessageQueueService) {
|
|
23
|
-
super(mqMessageService, mqMessageQueueService);
|
|
24
|
-
this.mqMessageService = mqMessageService;
|
|
25
|
-
this.mqMessageQueueService = mqMessageQueueService;
|
|
26
|
-
}
|
|
27
|
-
options() {
|
|
28
|
-
return {
|
|
29
|
-
...trigger_mcp_client_queue_options_redis_1.default
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
exports.TriggerMcpClientPublisherRedis = TriggerMcpClientPublisherRedis;
|
|
34
|
-
exports.TriggerMcpClientPublisherRedis = TriggerMcpClientPublisherRedis = __decorate([
|
|
35
|
-
(0, common_1.Injectable)(),
|
|
36
|
-
__metadata("design:paramtypes", [mq_message_service_1.MqMessageService,
|
|
37
|
-
mq_message_queue_service_1.MqMessageQueueService])
|
|
38
|
-
], TriggerMcpClientPublisherRedis);
|
|
39
|
-
//# sourceMappingURL=trigger-mcp-client-publisher-redis.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-publisher-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2FAA6E;AAC7E,sHAAmF;AACnF,sFAAgF;AAChF,0EAAqE;AAI9D,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,wCAAuC;IACvF,YACuB,gBAAkC,EAClC,qBAA4C;QAE/D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAH5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGnE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,gDAA2B;SACjC,CAAA;IACL,CAAC;CACJ,CAAA;AAbY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAGgC,qCAAgB;QACX,gDAAqB;GAH1D,8BAA8B,CAa1C","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RedisPublisher } from 'src/services/queues/redis-publisher.service';\nimport triggerMcpClientQueueConfig from './trigger-mcp-client-queue-options-redis';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { TriggerMcpClientOptions, QueuesModuleOptions } from \"../../interfaces\";\n\n@Injectable()\nexport class TriggerMcpClientPublisherRedis extends RedisPublisher<TriggerMcpClientOptions> {\n constructor(\n protected readonly mqMessageService: MqMessageService,\n protected readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...triggerMcpClientQueueConfig\n }\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-queue-options-redis.d.ts","sourceRoot":"","sources":["../../../src/jobs/redis/trigger-mcp-client-queue-options-redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;;;;;;AAI9C,wBAIE"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const interfaces_1 = require("../../interfaces");
|
|
4
|
-
const QUEUE_NAME = 'solid_trigger_mcp_client_queue_redis';
|
|
5
|
-
exports.default = {
|
|
6
|
-
name: QUEUE_NAME,
|
|
7
|
-
type: interfaces_1.BrokerType.Redis,
|
|
8
|
-
queueName: QUEUE_NAME,
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=trigger-mcp-client-queue-options-redis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-mcp-client-queue-options-redis.js","sourceRoot":"","sources":["../../../src/jobs/redis/trigger-mcp-client-queue-options-redis.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAE1D,kBAAe;IACX,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,uBAAU,CAAC,KAAK;IACtB,SAAS,EAAE,UAAU;CACxB,CAAC","sourcesContent":["import { BrokerType } from \"../../interfaces\";\n\nconst QUEUE_NAME = 'solid_trigger_mcp_client_queue_redis';\n\nexport default {\n name: QUEUE_NAME,\n type: BrokerType.Redis,\n queueName: QUEUE_NAME,\n};\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { RedisSubscriber } from '../../services/queues/redis-subscriber.service';
|
|
2
|
-
import { QueueMessage } from '../../interfaces/mq';
|
|
3
|
-
import { MqMessageService } from '../../services/mq-message.service';
|
|
4
|
-
import { MqMessageQueueService } from '../../services/mq-message-queue.service';
|
|
5
|
-
import { TriggerMcpClientOptions, QueuesModuleOptions } from "../../interfaces";
|
|
6
|
-
import { AiInteractionService } from '../../services/ai-interaction.service';
|
|
7
|
-
import { PollerService } from '../../services/poller.service';
|
|
8
|
-
export declare class TriggerMcpClientSubscriberRedis extends RedisSubscriber<TriggerMcpClientOptions> {
|
|
9
|
-
readonly mqMessageService: MqMessageService;
|
|
10
|
-
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
|
-
readonly poller: PollerService;
|
|
12
|
-
readonly aiInteractionService: AiInteractionService;
|
|
13
|
-
private readonly triggerMcpClientSubscriberLogger;
|
|
14
|
-
constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService, poller: PollerService, aiInteractionService: AiInteractionService);
|
|
15
|
-
options(): QueuesModuleOptions;
|
|
16
|
-
subscribe(message: QueueMessage<TriggerMcpClientOptions>): Promise<import("../../interfaces").McpResponse>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=trigger-mcp-client-subscriber-redis.service.d.ts.map
|