@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,93 +0,0 @@
|
|
|
1
|
-
import { IsInt,IsOptional, IsString, IsNotEmpty, IsJSON, IsBoolean } from 'class-validator';
|
|
2
|
-
import { ApiProperty } from '@nestjs/swagger';
|
|
3
|
-
|
|
4
|
-
export class UpdateAiInteractionDto {
|
|
5
|
-
@IsOptional()
|
|
6
|
-
@IsInt()
|
|
7
|
-
id: number;
|
|
8
|
-
@IsOptional()
|
|
9
|
-
@IsInt()
|
|
10
|
-
@ApiProperty()
|
|
11
|
-
userId: number;
|
|
12
|
-
@IsString()
|
|
13
|
-
@IsOptional()
|
|
14
|
-
@ApiProperty()
|
|
15
|
-
userUserKey: string;
|
|
16
|
-
@IsNotEmpty()
|
|
17
|
-
@IsOptional()
|
|
18
|
-
@IsString()
|
|
19
|
-
@ApiProperty()
|
|
20
|
-
threadId: string;
|
|
21
|
-
@IsNotEmpty()
|
|
22
|
-
@IsOptional()
|
|
23
|
-
@IsString()
|
|
24
|
-
@ApiProperty()
|
|
25
|
-
role: string;
|
|
26
|
-
@IsNotEmpty()
|
|
27
|
-
@IsOptional()
|
|
28
|
-
@IsString()
|
|
29
|
-
@ApiProperty()
|
|
30
|
-
message: string;
|
|
31
|
-
@IsOptional()
|
|
32
|
-
@IsString()
|
|
33
|
-
@ApiProperty()
|
|
34
|
-
contentType: string;
|
|
35
|
-
@IsOptional()
|
|
36
|
-
@IsString()
|
|
37
|
-
@ApiProperty()
|
|
38
|
-
status: string;
|
|
39
|
-
@IsOptional()
|
|
40
|
-
@IsString()
|
|
41
|
-
@ApiProperty()
|
|
42
|
-
errorMessage: string;
|
|
43
|
-
@IsOptional()
|
|
44
|
-
@IsString()
|
|
45
|
-
@ApiProperty()
|
|
46
|
-
modelUsed: string;
|
|
47
|
-
@IsOptional()
|
|
48
|
-
@IsInt()
|
|
49
|
-
@ApiProperty()
|
|
50
|
-
responseTimeMs: number;
|
|
51
|
-
@IsOptional()
|
|
52
|
-
@IsJSON()
|
|
53
|
-
@ApiProperty()
|
|
54
|
-
metadata: any;
|
|
55
|
-
@IsOptional()
|
|
56
|
-
@IsBoolean()
|
|
57
|
-
@ApiProperty()
|
|
58
|
-
isApplied: boolean;
|
|
59
|
-
@IsOptional()
|
|
60
|
-
@IsInt()
|
|
61
|
-
@ApiProperty()
|
|
62
|
-
parentInteractionId: number;
|
|
63
|
-
@IsString()
|
|
64
|
-
@IsOptional()
|
|
65
|
-
@ApiProperty()
|
|
66
|
-
parentInteractionUserKey: string;
|
|
67
|
-
@IsOptional()
|
|
68
|
-
@IsBoolean()
|
|
69
|
-
@ApiProperty()
|
|
70
|
-
isAutoApply: boolean;
|
|
71
|
-
@IsOptional()
|
|
72
|
-
@IsInt()
|
|
73
|
-
@ApiProperty()
|
|
74
|
-
inputTokens: number;
|
|
75
|
-
@IsOptional()
|
|
76
|
-
@IsInt()
|
|
77
|
-
@ApiProperty()
|
|
78
|
-
outputTokens: number;
|
|
79
|
-
@IsOptional()
|
|
80
|
-
@IsInt()
|
|
81
|
-
@ApiProperty()
|
|
82
|
-
totalTokens: number;
|
|
83
|
-
|
|
84
|
-
@IsOptional()
|
|
85
|
-
@IsString()
|
|
86
|
-
@ApiProperty()
|
|
87
|
-
originalMessage: string;
|
|
88
|
-
|
|
89
|
-
@IsOptional()
|
|
90
|
-
@IsBoolean()
|
|
91
|
-
@ApiProperty()
|
|
92
|
-
isEdited: boolean;
|
|
93
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { CommonEntity } from 'src/entities/common.entity'
|
|
2
|
-
import { Entity, JoinColumn, ManyToOne, Index, Column } from 'typeorm';
|
|
3
|
-
import { User } from 'src/entities/user.entity'
|
|
4
|
-
import { getColumnType } from 'src/helpers/typeorm-db-helper';
|
|
5
|
-
|
|
6
|
-
@Entity("ss_ai_interactions")
|
|
7
|
-
export class AiInteraction extends CommonEntity {
|
|
8
|
-
@Index()
|
|
9
|
-
@ManyToOne(() => User, { nullable: true })
|
|
10
|
-
@JoinColumn()
|
|
11
|
-
user: User;
|
|
12
|
-
|
|
13
|
-
@Index()
|
|
14
|
-
@Column({ type: "varchar" })
|
|
15
|
-
threadId: string;
|
|
16
|
-
|
|
17
|
-
@Column({ type: "varchar" })
|
|
18
|
-
role: string;
|
|
19
|
-
|
|
20
|
-
@Column({ ...getColumnType('longText'), nullable: true })
|
|
21
|
-
message: string;
|
|
22
|
-
|
|
23
|
-
@Column({ type: "varchar", nullable: true })
|
|
24
|
-
contentType: string;
|
|
25
|
-
|
|
26
|
-
@Index()
|
|
27
|
-
@Column({ type: "varchar", nullable: true })
|
|
28
|
-
status: string;
|
|
29
|
-
|
|
30
|
-
@Column({ nullable: true, ...getColumnType('longText') })
|
|
31
|
-
errorMessage: string;
|
|
32
|
-
|
|
33
|
-
@Column({ type: "varchar", nullable: true })
|
|
34
|
-
modelUsed: string;
|
|
35
|
-
|
|
36
|
-
@Column({ type: "integer", nullable: true })
|
|
37
|
-
responseTimeMs: number;
|
|
38
|
-
|
|
39
|
-
@Column({ type: "simple-json", nullable: true, ...getColumnType('simpleJsonLargeText') })
|
|
40
|
-
metadata: any;
|
|
41
|
-
|
|
42
|
-
@Column({ nullable: true, default: false })
|
|
43
|
-
isApplied: boolean = false;
|
|
44
|
-
|
|
45
|
-
@Index()
|
|
46
|
-
@ManyToOne(() => AiInteraction, { nullable: true })
|
|
47
|
-
@JoinColumn()
|
|
48
|
-
parentInteraction: AiInteraction;
|
|
49
|
-
|
|
50
|
-
@Index({ unique: true })
|
|
51
|
-
@Column({ type: "varchar" })
|
|
52
|
-
externalId: string;
|
|
53
|
-
|
|
54
|
-
@Column({ nullable: true, default: false })
|
|
55
|
-
isAutoApply: boolean = false;
|
|
56
|
-
|
|
57
|
-
@Column({ type: "integer", nullable: true })
|
|
58
|
-
inputTokens: number;
|
|
59
|
-
|
|
60
|
-
@Column({ type: "integer", nullable: true })
|
|
61
|
-
outputTokens: number;
|
|
62
|
-
|
|
63
|
-
@Column({ type: "integer", nullable: true })
|
|
64
|
-
totalTokens: number;
|
|
65
|
-
|
|
66
|
-
@Column({ nullable: true, ...getColumnType('longText') })
|
|
67
|
-
originalMessage: string;
|
|
68
|
-
|
|
69
|
-
@Column({ nullable: true, default: false })
|
|
70
|
-
isEdited: boolean = false;
|
|
71
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@nestjs/common";
|
|
2
|
-
import { QueuesModuleOptions, TriggerMcpClientOptions } from "src/interfaces";
|
|
3
|
-
import { MqMessageQueueService } from "src/services/mq-message-queue.service";
|
|
4
|
-
import { MqMessageService } from "src/services/mq-message.service";
|
|
5
|
-
import { DatabasePublisher } from "src/services/queues/database-publisher.service";
|
|
6
|
-
import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class TriggerMcpClientPublisherDatabase extends DatabasePublisher<TriggerMcpClientOptions> {
|
|
10
|
-
constructor(
|
|
11
|
-
protected readonly mqMessageService: MqMessageService,
|
|
12
|
-
protected readonly mqMessageQueueService: MqMessageQueueService,
|
|
13
|
-
) {
|
|
14
|
-
super(mqMessageService, mqMessageQueueService);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
options(): QueuesModuleOptions {
|
|
18
|
-
return {
|
|
19
|
-
...triggerMcpClientQueueOptions
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
import { Injectable, Logger } from '@nestjs/common';
|
|
2
|
-
import { ModelMetadataService } from '../../services/model-metadata.service';
|
|
3
|
-
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
4
|
-
import { QueueMessage } from 'src/interfaces/mq';
|
|
5
|
-
import { AiInteractionService } from 'src/services/ai-interaction.service';
|
|
6
|
-
import { ModuleMetadataService } from 'src/services/module-metadata.service';
|
|
7
|
-
import { PollerService } from 'src/services/poller.service';
|
|
8
|
-
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
9
|
-
import { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
|
|
10
|
-
import { MqMessageQueueService } from '../../services/mq-message-queue.service';
|
|
11
|
-
import { MqMessageService } from '../../services/mq-message.service';
|
|
12
|
-
import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
|
|
13
|
-
|
|
14
|
-
@Injectable()
|
|
15
|
-
export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {
|
|
16
|
-
private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberDatabase.name);
|
|
17
|
-
|
|
18
|
-
constructor(
|
|
19
|
-
readonly mqMessageService: MqMessageService,
|
|
20
|
-
readonly mqMessageQueueService: MqMessageQueueService,
|
|
21
|
-
readonly poller: PollerService,
|
|
22
|
-
readonly aiInteractionService: AiInteractionService,
|
|
23
|
-
readonly moduleMetadataService: ModuleMetadataService,
|
|
24
|
-
readonly modelMetadataService: ModelMetadataService,
|
|
25
|
-
private readonly solidRegistry: SolidRegistry
|
|
26
|
-
|
|
27
|
-
) {
|
|
28
|
-
super(mqMessageService, mqMessageQueueService, poller);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
options(): QueuesModuleOptions {
|
|
32
|
-
return {
|
|
33
|
-
...triggerMcpClientQueueOptions
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
cleanNestedResponse(aiResponse: McpResponse) {
|
|
38
|
-
let nestedResponse: any;
|
|
39
|
-
|
|
40
|
-
try {
|
|
41
|
-
let raw = aiResponse.response;
|
|
42
|
-
|
|
43
|
-
if (typeof raw === "string") {
|
|
44
|
-
raw = raw.trim();
|
|
45
|
-
try {
|
|
46
|
-
// Try to parse as JSON
|
|
47
|
-
nestedResponse = JSON.parse(raw);
|
|
48
|
-
} catch {
|
|
49
|
-
// Not JSON, just keep as string
|
|
50
|
-
nestedResponse = raw;
|
|
51
|
-
}
|
|
52
|
-
} else if (typeof raw === "object" && raw !== null) {
|
|
53
|
-
// Already JSON
|
|
54
|
-
nestedResponse = raw;
|
|
55
|
-
} else {
|
|
56
|
-
// Fallback
|
|
57
|
-
nestedResponse = String(raw);
|
|
58
|
-
}
|
|
59
|
-
} catch (err: any) {
|
|
60
|
-
this.triggerMcpClientSubscriberLogger.error("Error processing AI response:", err);
|
|
61
|
-
nestedResponse = `Error handling response: ${err?.message || String(err)}`;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return nestedResponse;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {
|
|
68
|
-
this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);
|
|
69
|
-
|
|
70
|
-
const codeGnerationOptions = message.payload;
|
|
71
|
-
|
|
72
|
-
const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {
|
|
73
|
-
populate: ['user']
|
|
74
|
-
});
|
|
75
|
-
if (!aiInteraction) {
|
|
76
|
-
const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`
|
|
77
|
-
this.triggerMcpClientSubscriberLogger.log(m);
|
|
78
|
-
throw new Error(m);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// The message contains the users prompt.
|
|
82
|
-
const prompt = aiInteraction.message;
|
|
83
|
-
|
|
84
|
-
// Use this to invoke our mcp client
|
|
85
|
-
// TODO: try / catch ...
|
|
86
|
-
// Handle the rejection gracefully...
|
|
87
|
-
|
|
88
|
-
// We create the aiInteraction entry first
|
|
89
|
-
const genAiInteraction = await this.aiInteractionService.create({
|
|
90
|
-
userId: aiInteraction.user.id,
|
|
91
|
-
threadId: aiInteraction.threadId,
|
|
92
|
-
parentInteractionId: aiInteraction.id,
|
|
93
|
-
role: 'gen-ai',
|
|
94
|
-
message: '...', // Updated in the tool
|
|
95
|
-
contentType: '', // Updated in the tool
|
|
96
|
-
errorMessage: '', // Updated after we receive the response
|
|
97
|
-
modelUsed: '', // Updated after we receive the response
|
|
98
|
-
responseTimeMs: 0, // Updated after we receive the response
|
|
99
|
-
metadata: '', // Updated in the tool
|
|
100
|
-
isApplied: false, // Updated after we receive the response
|
|
101
|
-
status: 'pending' // Updated after we receive the response
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
const existingComputationProviders = this.solidRegistry.getComputedFieldProviders();
|
|
105
|
-
|
|
106
|
-
const { records: existingModules } = await this.moduleMetadataService.findMany({
|
|
107
|
-
filters: {
|
|
108
|
-
name: { $ne: 'solid-core' }
|
|
109
|
-
},
|
|
110
|
-
fields: ['id', 'name', 'displayName', 'description'],
|
|
111
|
-
limit: 1000
|
|
112
|
-
});
|
|
113
|
-
const { records: existingModels } = await this.modelMetadataService.findMany({
|
|
114
|
-
filters: {
|
|
115
|
-
module: {
|
|
116
|
-
name: {
|
|
117
|
-
$ne: 'solid-core',
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
limit: 1000,
|
|
122
|
-
populate: ['module']
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
const existingControllerAndTheirMethods = this.solidRegistry.getControllers();
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// Build markdown sections using template interpolation
|
|
130
|
-
const modulesSection = (existingModules ?? [])
|
|
131
|
-
.map(m => [
|
|
132
|
-
`### ${m.displayName}`,
|
|
133
|
-
`- name: ${m.name}`,
|
|
134
|
-
`- description: ${m.description ?? ""}`,
|
|
135
|
-
].join('\n'))
|
|
136
|
-
.join('\n\n');
|
|
137
|
-
|
|
138
|
-
const modelsSection = (existingModels ?? [])
|
|
139
|
-
.map(m => [
|
|
140
|
-
`### ${m.displayName}`,
|
|
141
|
-
`- singularName: ${m.singularName}`,
|
|
142
|
-
`- description: ${m.description ?? ""}`,
|
|
143
|
-
`- moduleName: ${m.module.name}`,
|
|
144
|
-
].join('\n'))
|
|
145
|
-
.join('\n\n');
|
|
146
|
-
|
|
147
|
-
const computationProvidersSection = (existingComputationProviders ?? [])
|
|
148
|
-
.map(m => [
|
|
149
|
-
`### ${m.instance.name()}`,
|
|
150
|
-
`- name: ${m.instance.name()}`,
|
|
151
|
-
`- description: ${m.instance.help() ?? ""}`,
|
|
152
|
-
].join('\n'))
|
|
153
|
-
.join('\n\n');
|
|
154
|
-
|
|
155
|
-
const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])
|
|
156
|
-
.map(m => [
|
|
157
|
-
`### ${m.name}`,
|
|
158
|
-
`- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n') : '- No methods found'}`,
|
|
159
|
-
].join('\n'))
|
|
160
|
-
.join('\n\n');
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
const finalPrompt = `
|
|
165
|
-
# User Prompt:
|
|
166
|
-
${prompt}
|
|
167
|
-
|
|
168
|
-
# System Instructions:
|
|
169
|
-
- aiInteractionId: ${genAiInteraction.id}
|
|
170
|
-
- You will be invoking tools if needed, hence you will have to choose the applicable tools based on the tool context given to you.
|
|
171
|
-
- If a tool is invoked, you must return **exactly** the raw output from the tool, without any json envelopes, additional formatting, commentary, or text.
|
|
172
|
-
- Do not wrap the result in quotes, JSON, or markdown fences.
|
|
173
|
-
- Do not explain what the result means.
|
|
174
|
-
|
|
175
|
-
# LISTS FOR REFERENCE AND VALIDATIONS
|
|
176
|
-
|
|
177
|
-
## LIST OF EXISTING MODULES
|
|
178
|
-
Use the below list of modules to infer which module the user is referring to, .
|
|
179
|
-
|
|
180
|
-
${modulesSection}
|
|
181
|
-
|
|
182
|
-
## LIST OF EXISTING MODELS
|
|
183
|
-
Use the below list of models to infer which model the user is referring to.
|
|
184
|
-
You need to pull out the singularName for the model from the user prompt to match against the below list.
|
|
185
|
-
|
|
186
|
-
${modelsSection}
|
|
187
|
-
|
|
188
|
-
## LIST OF EXISTING COMPUTED FIELD PROVIDERS
|
|
189
|
-
Use the below list of computed field providers to infer which provider the user is referring to.
|
|
190
|
-
|
|
191
|
-
${computationProvidersSection}
|
|
192
|
-
`.trim();
|
|
193
|
-
|
|
194
|
-
// ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS
|
|
195
|
-
// Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.
|
|
196
|
-
|
|
197
|
-
// ${controllersAndTheirMethods}
|
|
198
|
-
|
|
199
|
-
const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);
|
|
200
|
-
this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
|
|
201
|
-
this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));
|
|
202
|
-
|
|
203
|
-
if (!aiResponse.success) {
|
|
204
|
-
this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);
|
|
205
|
-
|
|
206
|
-
const errorsStr = aiResponse.errors?.join('\n ');
|
|
207
|
-
const errorTrace = aiResponse.error_trace?.join('\n');
|
|
208
|
-
|
|
209
|
-
// await this.aiInteractionService.create({
|
|
210
|
-
// userId: aiInteraction.user.id,
|
|
211
|
-
// threadId: aiInteraction.threadId,
|
|
212
|
-
// parentInteractionId: aiInteraction.id,
|
|
213
|
-
// role: 'gen-ai',
|
|
214
|
-
// message: '-',
|
|
215
|
-
// contentType: aiResponse.content_type,
|
|
216
|
-
// errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
217
|
-
// modelUsed: aiResponse.model,
|
|
218
|
-
// responseTimeMs: aiResponse.duration_ms,
|
|
219
|
-
// metadata: JSON.stringify(aiResponse, null, 2),
|
|
220
|
-
// isApplied: aiInteraction.isApplied,
|
|
221
|
-
// status: aiResponse.success ? 'succeeded' : 'failed'
|
|
222
|
-
// });
|
|
223
|
-
|
|
224
|
-
// TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB
|
|
225
|
-
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
226
|
-
contentType: aiResponse.content_type,
|
|
227
|
-
errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
228
|
-
modelUsed: aiResponse.model,
|
|
229
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
230
|
-
isApplied: aiInteraction.isApplied,
|
|
231
|
-
status: aiResponse.success ? 'succeeded' : 'failed'
|
|
232
|
-
}, [], true);
|
|
233
|
-
|
|
234
|
-
// update the job entry with failure... raising an error will lead the job to be marked as failed...
|
|
235
|
-
throw new Error(errorsStr);
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
let nestedResponse = this.cleanNestedResponse(aiResponse);
|
|
239
|
-
|
|
240
|
-
// TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB
|
|
241
|
-
const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
|
|
242
|
-
const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
|
|
243
|
-
|
|
244
|
-
// const genAiInteraction = await this.aiInteractionService.create({
|
|
245
|
-
// userId: aiInteraction.user.id,
|
|
246
|
-
// threadId: aiInteraction.threadId,
|
|
247
|
-
// parentInteractionId: aiInteraction.id,
|
|
248
|
-
// role: 'gen-ai',
|
|
249
|
-
// message: nestedResponse,
|
|
250
|
-
// contentType: aiResponse.content_type,
|
|
251
|
-
// errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
252
|
-
// modelUsed: aiResponse.model,
|
|
253
|
-
// responseTimeMs: aiResponse.duration_ms,
|
|
254
|
-
// metadata: JSON.stringify(aiResponse, null, 2),
|
|
255
|
-
// isApplied: aiInteraction.isApplied,
|
|
256
|
-
// status: aiResponse.success ? 'succeeded' : 'failed'
|
|
257
|
-
// });
|
|
258
|
-
|
|
259
|
-
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
260
|
-
errorMessage: nestedResponse.status == "error" ? `${errorsStr}\n\n${errorTrace}` : "",
|
|
261
|
-
contentType: aiResponse.content_type,
|
|
262
|
-
message: JSON.stringify(nestedResponse),
|
|
263
|
-
modelUsed: aiResponse.model,
|
|
264
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
265
|
-
metadata: JSON.stringify(aiResponse, null, 2),
|
|
266
|
-
isApplied: aiInteraction.isApplied,
|
|
267
|
-
status: aiResponse.success && nestedResponse.status == "success" ? 'succeeded' : 'failed'
|
|
268
|
-
}, [], true);
|
|
269
|
-
|
|
270
|
-
// If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.
|
|
271
|
-
if (aiInteraction.isAutoApply) {
|
|
272
|
-
this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
return aiResponse;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@nestjs/common";
|
|
2
|
-
import { QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
|
|
3
|
-
import { MqMessageQueueService } from "src/services/mq-message-queue.service";
|
|
4
|
-
import { MqMessageService } from "src/services/mq-message.service";
|
|
5
|
-
import { RabbitMqPublisher } from "src/services/queues/rabbitmq-publisher.service";
|
|
6
|
-
import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class TriggerMcpClientPublisherRabbitmq extends RabbitMqPublisher<TriggerMcpClientOptions> {
|
|
10
|
-
constructor(
|
|
11
|
-
protected readonly mqMessageService: MqMessageService,
|
|
12
|
-
protected readonly mqMessageQueueService: MqMessageQueueService,
|
|
13
|
-
) {
|
|
14
|
-
super(mqMessageService, mqMessageQueueService);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
options(): QueuesModuleOptions {
|
|
18
|
-
return {
|
|
19
|
-
...triggerMcpClientQueueOptions
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BrokerType } from "../../interfaces";
|
|
2
|
-
|
|
3
|
-
const TRIGGER_MCP_CLIENT_QUEUE_NAME = 'solid_trigger_mcp_client_queue_rabbitmq';
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
name: TRIGGER_MCP_CLIENT_QUEUE_NAME,
|
|
7
|
-
type: BrokerType.RabbitMQ,
|
|
8
|
-
queueName: TRIGGER_MCP_CLIENT_QUEUE_NAME,
|
|
9
|
-
};
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { Injectable, Logger } from '@nestjs/common';
|
|
2
|
-
|
|
3
|
-
import { QueueMessage } from 'src/interfaces/mq';
|
|
4
|
-
import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
|
|
5
|
-
import { AiInteractionService } from 'src/services/ai-interaction.service';
|
|
6
|
-
import { PollerService } from 'src/services/poller.service';
|
|
7
|
-
import { TriggerMcpClientOptions, QueuesModuleOptions } from '../../interfaces';
|
|
8
|
-
import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
9
|
-
import { MqMessageService } from 'src/services/mq-message.service';
|
|
10
|
-
import { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';
|
|
11
|
-
|
|
12
|
-
@Injectable()
|
|
13
|
-
export class TriggerMcpClientSubscriberRabbitmq extends RabbitMqSubscriber<TriggerMcpClientOptions> {
|
|
14
|
-
private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberRabbitmq.name);
|
|
15
|
-
|
|
16
|
-
constructor(
|
|
17
|
-
readonly mqMessageService: MqMessageService,
|
|
18
|
-
readonly mqMessageQueueService: MqMessageQueueService,
|
|
19
|
-
readonly poller: PollerService,
|
|
20
|
-
readonly aiInteractionService: AiInteractionService,
|
|
21
|
-
) {
|
|
22
|
-
super(mqMessageService, mqMessageQueueService);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
options(): QueuesModuleOptions {
|
|
26
|
-
return {
|
|
27
|
-
...triggerMcpClientQueueOptions
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {
|
|
32
|
-
this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);
|
|
33
|
-
|
|
34
|
-
const codeGnerationOptions = message.payload;
|
|
35
|
-
|
|
36
|
-
const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {
|
|
37
|
-
populate: ['user']
|
|
38
|
-
});
|
|
39
|
-
if (!aiInteraction) {
|
|
40
|
-
const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`
|
|
41
|
-
this.triggerMcpClientSubscriberLogger.log(m);
|
|
42
|
-
throw new Error(m);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// The message contains the users prompt.
|
|
46
|
-
const prompt = aiInteraction.message;
|
|
47
|
-
|
|
48
|
-
// Use this to invoke our mcp client
|
|
49
|
-
// TODO: try / catch ...
|
|
50
|
-
// Handle the rejection gracefully...
|
|
51
|
-
const aiResponse = await this.aiInteractionService.runMcpPrompt(prompt);
|
|
52
|
-
this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
|
|
53
|
-
this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));
|
|
54
|
-
|
|
55
|
-
if (!aiResponse.success) {
|
|
56
|
-
this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);
|
|
57
|
-
|
|
58
|
-
const errorsStr = aiResponse.errors.join('; ');
|
|
59
|
-
|
|
60
|
-
await this.aiInteractionService.create({
|
|
61
|
-
userId: aiInteraction.user.id,
|
|
62
|
-
threadId: aiInteraction.threadId,
|
|
63
|
-
parentInteractionId: aiInteraction.id,
|
|
64
|
-
role: 'gen-ai',
|
|
65
|
-
message: '-',
|
|
66
|
-
contentType: aiResponse.content_type,
|
|
67
|
-
errorMessage: errorsStr,
|
|
68
|
-
modelUsed: aiResponse.model,
|
|
69
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
70
|
-
metadata: JSON.stringify(aiResponse),
|
|
71
|
-
isApplied: aiInteraction.isApplied,
|
|
72
|
-
status: aiResponse.success ? 'succeeded' : 'failed'
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
// update the job entry with failure... raising an error will lead the job to be marked as failed...
|
|
76
|
-
throw new Error(errorsStr);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
let nestedResponse = aiResponse.response.trim();
|
|
80
|
-
|
|
81
|
-
const genAiInteraction = await this.aiInteractionService.create({
|
|
82
|
-
userId: aiInteraction.user.id,
|
|
83
|
-
threadId: aiInteraction.threadId,
|
|
84
|
-
parentInteractionId: aiInteraction.id,
|
|
85
|
-
role: 'gen-ai',
|
|
86
|
-
message: nestedResponse,
|
|
87
|
-
contentType: aiResponse.content_type,
|
|
88
|
-
errorMessage: '',
|
|
89
|
-
modelUsed: aiResponse.model,
|
|
90
|
-
responseTimeMs: aiResponse.duration_ms,
|
|
91
|
-
metadata: JSON.stringify(aiResponse),
|
|
92
|
-
isApplied: aiInteraction.isApplied,
|
|
93
|
-
status: aiResponse.success ? 'succeeded' : 'failed'
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.
|
|
97
|
-
if (aiInteraction.isAutoApply) {
|
|
98
|
-
this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return aiResponse;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
|
|
3
|
-
import { RedisPublisher } from 'src/services/queues/redis-publisher.service';
|
|
4
|
-
import triggerMcpClientQueueConfig from './trigger-mcp-client-queue-options-redis';
|
|
5
|
-
import { MqMessageQueueService } from '../../services/mq-message-queue.service';
|
|
6
|
-
import { MqMessageService } from '../../services/mq-message.service';
|
|
7
|
-
import { TriggerMcpClientOptions, QueuesModuleOptions } from "../../interfaces";
|
|
8
|
-
|
|
9
|
-
@Injectable()
|
|
10
|
-
export class TriggerMcpClientPublisherRedis extends RedisPublisher<TriggerMcpClientOptions> {
|
|
11
|
-
constructor(
|
|
12
|
-
protected readonly mqMessageService: MqMessageService,
|
|
13
|
-
protected readonly mqMessageQueueService: MqMessageQueueService,
|
|
14
|
-
) {
|
|
15
|
-
super(mqMessageService, mqMessageQueueService);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
options(): QueuesModuleOptions {
|
|
19
|
-
return {
|
|
20
|
-
...triggerMcpClientQueueConfig
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|