@memberjunction/server 5.3.0 → 5.4.0
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/dist/generated/generated.d.ts +111 -0
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +631 -0
- package/dist/generated/generated.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +2 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +15 -2
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunTestResolver.d.ts +49 -5
- package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTestResolver.js +249 -141
- package/dist/resolvers/RunTestResolver.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +3 -2
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/package.json +53 -53
- package/src/generated/generated.ts +433 -1
- package/src/index.ts +3 -0
- package/src/resolvers/RunAIAgentResolver.ts +23 -1
- package/src/resolvers/RunTestResolver.ts +369 -174
- package/src/rest/setupRESTEndpoints.ts +3 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/server",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0",
|
|
4
4
|
"description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -26,58 +26,58 @@
|
|
|
26
26
|
"@apollo/server": "^4.9.1",
|
|
27
27
|
"@graphql-tools/schema": "latest",
|
|
28
28
|
"@graphql-tools/utils": "^11.0.0",
|
|
29
|
-
"@memberjunction/actions": "5.
|
|
30
|
-
"@memberjunction/actions-base": "5.
|
|
31
|
-
"@memberjunction/actions-apollo": "5.
|
|
32
|
-
"@memberjunction/actions-bizapps-accounting": "5.
|
|
33
|
-
"@memberjunction/actions-bizapps-crm": "5.
|
|
34
|
-
"@memberjunction/actions-bizapps-formbuilders": "5.
|
|
35
|
-
"@memberjunction/actions-bizapps-lms": "5.
|
|
36
|
-
"@memberjunction/actions-bizapps-social": "5.
|
|
37
|
-
"@memberjunction/ai": "5.
|
|
38
|
-
"@memberjunction/ai-mcp-client": "5.
|
|
39
|
-
"@memberjunction/ai-agent-manager": "5.
|
|
40
|
-
"@memberjunction/ai-agent-manager-actions": "5.
|
|
41
|
-
"@memberjunction/ai-agents": "5.
|
|
42
|
-
"@memberjunction/ai-core-plus": "5.
|
|
43
|
-
"@memberjunction/ai-prompts": "5.
|
|
44
|
-
"@memberjunction/ai-provider-bundle": "5.
|
|
45
|
-
"@memberjunction/ai-vectors-pinecone": "5.
|
|
46
|
-
"@memberjunction/aiengine": "5.
|
|
47
|
-
"@memberjunction/communication-ms-graph": "5.
|
|
48
|
-
"@memberjunction/communication-sendgrid": "5.
|
|
49
|
-
"@memberjunction/communication-types": "5.
|
|
50
|
-
"@memberjunction/component-registry-client-sdk": "5.
|
|
51
|
-
"@memberjunction/config": "5.
|
|
52
|
-
"@memberjunction/core": "5.
|
|
53
|
-
"@memberjunction/core-actions": "5.
|
|
54
|
-
"@memberjunction/core-entities": "5.
|
|
55
|
-
"@memberjunction/core-entities-server": "5.
|
|
56
|
-
"@memberjunction/data-context": "5.
|
|
57
|
-
"@memberjunction/data-context-server": "5.
|
|
58
|
-
"@memberjunction/doc-utils": "5.
|
|
59
|
-
"@memberjunction/api-keys": "5.
|
|
60
|
-
"@memberjunction/encryption": "5.
|
|
61
|
-
"@memberjunction/entity-communications-base": "5.
|
|
62
|
-
"@memberjunction/entity-communications-server": "5.
|
|
63
|
-
"@memberjunction/external-change-detection": "5.
|
|
64
|
-
"@memberjunction/global": "5.
|
|
65
|
-
"@memberjunction/graphql-dataprovider": "5.
|
|
66
|
-
"@memberjunction/interactive-component-types": "5.
|
|
67
|
-
"@memberjunction/computer-use-engine": "5.
|
|
68
|
-
"@memberjunction/notifications": "5.
|
|
69
|
-
"@memberjunction/queue": "5.
|
|
70
|
-
"@memberjunction/scheduling-actions": "5.
|
|
71
|
-
"@memberjunction/scheduling-base-types": "5.
|
|
72
|
-
"@memberjunction/scheduling-engine": "5.
|
|
73
|
-
"@memberjunction/scheduling-engine-base": "5.
|
|
74
|
-
"@memberjunction/skip-types": "5.
|
|
75
|
-
"@memberjunction/sqlserver-dataprovider": "5.
|
|
76
|
-
"@memberjunction/storage": "5.
|
|
77
|
-
"@memberjunction/templates": "5.
|
|
78
|
-
"@memberjunction/testing-engine": "5.
|
|
79
|
-
"@memberjunction/testing-engine-base": "5.
|
|
80
|
-
"@memberjunction/version-history": "5.
|
|
29
|
+
"@memberjunction/actions": "5.4.0",
|
|
30
|
+
"@memberjunction/actions-base": "5.4.0",
|
|
31
|
+
"@memberjunction/actions-apollo": "5.4.0",
|
|
32
|
+
"@memberjunction/actions-bizapps-accounting": "5.4.0",
|
|
33
|
+
"@memberjunction/actions-bizapps-crm": "5.4.0",
|
|
34
|
+
"@memberjunction/actions-bizapps-formbuilders": "5.4.0",
|
|
35
|
+
"@memberjunction/actions-bizapps-lms": "5.4.0",
|
|
36
|
+
"@memberjunction/actions-bizapps-social": "5.4.0",
|
|
37
|
+
"@memberjunction/ai": "5.4.0",
|
|
38
|
+
"@memberjunction/ai-mcp-client": "5.4.0",
|
|
39
|
+
"@memberjunction/ai-agent-manager": "5.4.0",
|
|
40
|
+
"@memberjunction/ai-agent-manager-actions": "5.4.0",
|
|
41
|
+
"@memberjunction/ai-agents": "5.4.0",
|
|
42
|
+
"@memberjunction/ai-core-plus": "5.4.0",
|
|
43
|
+
"@memberjunction/ai-prompts": "5.4.0",
|
|
44
|
+
"@memberjunction/ai-provider-bundle": "5.4.0",
|
|
45
|
+
"@memberjunction/ai-vectors-pinecone": "5.4.0",
|
|
46
|
+
"@memberjunction/aiengine": "5.4.0",
|
|
47
|
+
"@memberjunction/communication-ms-graph": "5.4.0",
|
|
48
|
+
"@memberjunction/communication-sendgrid": "5.4.0",
|
|
49
|
+
"@memberjunction/communication-types": "5.4.0",
|
|
50
|
+
"@memberjunction/component-registry-client-sdk": "5.4.0",
|
|
51
|
+
"@memberjunction/config": "5.4.0",
|
|
52
|
+
"@memberjunction/core": "5.4.0",
|
|
53
|
+
"@memberjunction/core-actions": "5.4.0",
|
|
54
|
+
"@memberjunction/core-entities": "5.4.0",
|
|
55
|
+
"@memberjunction/core-entities-server": "5.4.0",
|
|
56
|
+
"@memberjunction/data-context": "5.4.0",
|
|
57
|
+
"@memberjunction/data-context-server": "5.4.0",
|
|
58
|
+
"@memberjunction/doc-utils": "5.4.0",
|
|
59
|
+
"@memberjunction/api-keys": "5.4.0",
|
|
60
|
+
"@memberjunction/encryption": "5.4.0",
|
|
61
|
+
"@memberjunction/entity-communications-base": "5.4.0",
|
|
62
|
+
"@memberjunction/entity-communications-server": "5.4.0",
|
|
63
|
+
"@memberjunction/external-change-detection": "5.4.0",
|
|
64
|
+
"@memberjunction/global": "5.4.0",
|
|
65
|
+
"@memberjunction/graphql-dataprovider": "5.4.0",
|
|
66
|
+
"@memberjunction/interactive-component-types": "5.4.0",
|
|
67
|
+
"@memberjunction/computer-use-engine": "5.4.0",
|
|
68
|
+
"@memberjunction/notifications": "5.4.0",
|
|
69
|
+
"@memberjunction/queue": "5.4.0",
|
|
70
|
+
"@memberjunction/scheduling-actions": "5.4.0",
|
|
71
|
+
"@memberjunction/scheduling-base-types": "5.4.0",
|
|
72
|
+
"@memberjunction/scheduling-engine": "5.4.0",
|
|
73
|
+
"@memberjunction/scheduling-engine-base": "5.4.0",
|
|
74
|
+
"@memberjunction/skip-types": "5.4.0",
|
|
75
|
+
"@memberjunction/sqlserver-dataprovider": "5.4.0",
|
|
76
|
+
"@memberjunction/storage": "5.4.0",
|
|
77
|
+
"@memberjunction/templates": "5.4.0",
|
|
78
|
+
"@memberjunction/testing-engine": "5.4.0",
|
|
79
|
+
"@memberjunction/testing-engine-base": "5.4.0",
|
|
80
|
+
"@memberjunction/version-history": "5.4.0",
|
|
81
81
|
"@types/compression": "^1.8.1",
|
|
82
82
|
"@types/cors": "^2.8.19",
|
|
83
83
|
"@types/jsonwebtoken": "9.0.10",
|
|
@@ -19,7 +19,7 @@ import { mj_core_schema } from '../config.js';
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
import { MJAccessControlRuleEntity, MJActionAuthorizationEntity, MJActionCategoryEntity, MJActionContextTypeEntity, MJActionContextEntity, MJActionExecutionLogEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity, MJActionEntity, MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentArtifactTypeEntity, MJAIAgentConfigurationEntity, MJAIAgentDataSourceEntity, MJAIAgentExampleEntity, MJAIAgentLearningCycleEntity, MJAIAgentModalityEntity, MJAIAgentModelEntity, MJAIAgentNoteTypeEntity, MJAIAgentNoteEntity, MJAIAgentPermissionEntity, MJAIAgentPromptEntity, MJAIAgentRelationshipEntity, MJAIAgentRequestEntity, MJAIAgentRunMediaEntity, MJAIAgentRunStepEntity, MJAIAgentRunEntity, MJAIAgentStepPathEntity, MJAIAgentStepEntity, MJAIAgentTypeEntity, MJAIAgentEntity, MJAIArchitectureEntity, MJAIConfigurationParamEntity, MJAIConfigurationEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIModelActionEntity, MJAIModelArchitectureEntity, MJAIModelCostEntity, MJAIModelModalityEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIModelTypeEntity, MJAIModelVendorEntity, MJAIModelEntity, MJAIPromptCategoryEntity, MJAIPromptModelEntity, MJAIPromptRunMediaEntity, MJAIPromptRunEntity, MJAIPromptTypeEntity, MJAIPromptEntity, MJAIResultCacheEntity, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeEntity, MJAIVendorEntity, MJAPIApplicationScopeEntity, MJAPIApplicationEntity, MJAPIKeyApplicationEntity, MJAPIKeyScopeEntity, MJAPIKeyUsageLogEntity, MJAPIKeyEntity, MJAPIScopeEntity, MJApplicationEntityEntity, MJApplicationSettingEntity, MJApplicationEntity, MJArtifactPermissionEntity, MJArtifactTypeEntity, MJArtifactUseEntity, MJArtifactVersionAttributeEntity, MJArtifactVersionEntity, MJArtifactEntity, MJAuditLogTypeEntity, MJAuditLogEntity, MJAuthorizationRoleEntity, MJAuthorizationEntity, MJCollectionArtifactEntity, MJCollectionPermissionEntity, MJCollectionEntity, MJCommunicationBaseMessageTypeEntity, MJCommunicationLogEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderEntity, MJCommunicationRunEntity, MJCompanyEntity, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunEntity, MJCompanyIntegrationEntity, MJComponentDependencyEntity, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentRegistryEntity, MJComponentEntity, MJContentFileTypeEntity, MJContentItemAttributeEntity, MJContentItemTagEntity, MJContentItemEntity, MJContentProcessRunEntity, MJContentSourceParamEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeEntity, MJContentSourceEntity, MJContentTypeAttributeEntity, MJContentTypeEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactVersionEntity, MJConversationArtifactEntity, MJConversationDetailArtifactEntity, MJConversationDetailAttachmentEntity, MJConversationDetailRatingEntity, MJConversationDetailEntity, MJConversationEntity, MJCredentialCategoryEntity, MJCredentialTypeEntity, MJCredentialEntity, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryPermissionEntity, MJDashboardPartTypeEntity, MJDashboardPermissionEntity, MJDashboardUserPreferenceEntity, MJDashboardUserStateEntity, MJDashboardEntity, MJDataContextItemEntity, MJDataContextEntity, MJDatasetItemEntity, MJDatasetEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailEntity, MJDuplicateRunEntity, MJEmployeeCompanyIntegrationEntity, MJEmployeeRoleEntity, MJEmployeeSkillEntity, MJEmployeeEntity, MJEncryptionAlgorithmEntity, MJEncryptionKeySourceEntity, MJEncryptionKeyEntity, MJEntityEntity, MJEntityActionFilterEntity, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationEntity, MJEntityActionParamEntity, MJEntityActionEntity, MJEntityAIActionEntity, MJEntityCommunicationFieldEntity, MJEntityCommunicationMessageTypeEntity, MJEntityDocumentRunEntity, MJEntityDocumentSettingEntity, MJEntityDocumentTypeEntity, MJEntityDocumentEntity, MJEntityFieldValueEntity, MJEntityFieldEntity, MJEntityPermissionEntity, MJEntityRecordDocumentEntity, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipEntity, MJEntitySettingEntity, MJEnvironmentEntity, MJErrorLogEntity, MJExplorerNavigationItemEntity, MJFileCategoryEntity, MJFileEntityRecordLinkEntity, MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileEntity, MJGeneratedCodeCategoryEntity, MJGeneratedCodeEntity, MJIntegrationURLFormatEntity, MJIntegrationEntity, MJLibraryEntity, MJLibraryItemEntity, MJListCategoryEntity, MJListDetailEntity, MJListInvitationEntity, MJListShareEntity, MJListEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionToolEntity, MJMCPServerConnectionEntity, MJMCPServerToolEntity, MJMCPServerEntity, MJMCPToolExecutionLogEntity, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthorizationStateEntity, MJOAuthClientRegistrationEntity, MJOAuthTokenEntity, MJOpenAppDependencyEntity, MJOpenAppInstallHistoryEntity, MJOpenAppEntity, MJOutputDeliveryTypeEntity, MJOutputFormatTypeEntity, MJOutputTriggerTypeEntity, MJProjectEntity, MJPublicLinkEntity, MJQueryEntity, MJQueryCategoryEntity, MJQueryEntityEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryPermissionEntity, MJQueueTaskEntity, MJQueueTypeEntity, MJQueueEntity, MJRecommendationItemEntity, MJRecommendationProviderEntity, MJRecommendationRunEntity, MJRecommendationEntity, MJRecordChangeReplayRunEntity, MJRecordChangeEntity, MJRecordLinkEntity, MJRecordMergeDeletionLogEntity, MJRecordMergeLogEntity, MJReportCategoryEntity, MJReportSnapshotEntity, MJReportUserStateEntity, MJReportVersionEntity, MJReportEntity, MJResourceLinkEntity, MJResourcePermissionEntity, MJResourceTypeEntity, MJRoleEntity, MJRowLevelSecurityFilterEntity, MJScheduledActionParamEntity, MJScheduledActionEntity, MJScheduledJobRunEntity, MJScheduledJobTypeEntity, MJScheduledJobEntity, MJSchemaInfoEntity, MJSkillEntity, MJTaggedItemEntity, MJTagEntity, MJTaskDependencyEntity, MJTaskTypeEntity, MJTaskEntity, MJTemplateCategoryEntity, MJTemplateContentTypeEntity, MJTemplateContentEntity, MJTemplateParamEntity, MJTemplateEntity, MJTestRubricEntity, MJTestRunFeedbackEntity, MJTestRunEntity, MJTestSuiteRunEntity, MJTestSuiteTestEntity, MJTestSuiteEntity, MJTestTypeEntity, MJTestEntity, MJUserApplicationEntityEntity, MJUserApplicationEntity, MJUserFavoriteEntity, MJUserNotificationPreferenceEntity, MJUserNotificationTypeEntity, MJUserNotificationEntity, MJUserRecordLogEntity, MJUserRoleEntity, MJUserSettingEntity, MJUserViewCategoryEntity, MJUserViewRunDetailEntity, MJUserViewRunEntity, MJUserViewEntity, MJUserEntity, MJVectorDatabaseEntity, MJVectorIndexEntity, MJVersionInstallationEntity, MJVersionLabelItemEntity, MJVersionLabelRestoreEntity, MJVersionLabelEntity, MJWorkflowEngineEntity, MJWorkflowRunEntity, MJWorkflowEntity, MJWorkspaceItemEntity, MJWorkspaceEntity } from '@memberjunction/core-entities';
|
|
22
|
+
import { MJAccessControlRuleEntity, MJActionAuthorizationEntity, MJActionCategoryEntity, MJActionContextTypeEntity, MJActionContextEntity, MJActionExecutionLogEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity, MJActionEntity, MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentArtifactTypeEntity, MJAIAgentConfigurationEntity, MJAIAgentDataSourceEntity, MJAIAgentExampleEntity, MJAIAgentLearningCycleEntity, MJAIAgentModalityEntity, MJAIAgentModelEntity, MJAIAgentNoteTypeEntity, MJAIAgentNoteEntity, MJAIAgentPermissionEntity, MJAIAgentPromptEntity, MJAIAgentRelationshipEntity, MJAIAgentRequestEntity, MJAIAgentRunMediaEntity, MJAIAgentRunStepEntity, MJAIAgentRunEntity, MJAIAgentStepPathEntity, MJAIAgentStepEntity, MJAIAgentTypeEntity, MJAIAgentEntity, MJAIArchitectureEntity, MJAIConfigurationParamEntity, MJAIConfigurationEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIModelActionEntity, MJAIModelArchitectureEntity, MJAIModelCostEntity, MJAIModelModalityEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIModelTypeEntity, MJAIModelVendorEntity, MJAIModelEntity, MJAIPromptCategoryEntity, MJAIPromptModelEntity, MJAIPromptRunMediaEntity, MJAIPromptRunEntity, MJAIPromptTypeEntity, MJAIPromptEntity, MJAIResultCacheEntity, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeEntity, MJAIVendorEntity, MJAPIApplicationScopeEntity, MJAPIApplicationEntity, MJAPIKeyApplicationEntity, MJAPIKeyScopeEntity, MJAPIKeyUsageLogEntity, MJAPIKeyEntity, MJAPIScopeEntity, MJApplicationEntityEntity, MJApplicationSettingEntity, MJApplicationEntity, MJArtifactPermissionEntity, MJArtifactTypeEntity, MJArtifactUseEntity, MJArtifactVersionAttributeEntity, MJArtifactVersionEntity, MJArtifactEntity, MJAuditLogTypeEntity, MJAuditLogEntity, MJAuthorizationRoleEntity, MJAuthorizationEntity, MJCollectionArtifactEntity, MJCollectionPermissionEntity, MJCollectionEntity, MJCommunicationBaseMessageTypeEntity, MJCommunicationLogEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderEntity, MJCommunicationRunEntity, MJCompanyEntity, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunEntity, MJCompanyIntegrationEntity, MJComponentDependencyEntity, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentRegistryEntity, MJComponentEntity, MJContentFileTypeEntity, MJContentItemAttributeEntity, MJContentItemTagEntity, MJContentItemEntity, MJContentProcessRunEntity, MJContentSourceParamEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeEntity, MJContentSourceEntity, MJContentTypeAttributeEntity, MJContentTypeEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactVersionEntity, MJConversationArtifactEntity, MJConversationDetailArtifactEntity, MJConversationDetailAttachmentEntity, MJConversationDetailRatingEntity, MJConversationDetailEntity, MJConversationEntity, MJCredentialCategoryEntity, MJCredentialTypeEntity, MJCredentialEntity, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryPermissionEntity, MJDashboardPartTypeEntity, MJDashboardPermissionEntity, MJDashboardUserPreferenceEntity, MJDashboardUserStateEntity, MJDashboardEntity, MJDataContextItemEntity, MJDataContextEntity, MJDatasetItemEntity, MJDatasetEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailEntity, MJDuplicateRunEntity, MJEmployeeCompanyIntegrationEntity, MJEmployeeRoleEntity, MJEmployeeSkillEntity, MJEmployeeEntity, MJEncryptionAlgorithmEntity, MJEncryptionKeySourceEntity, MJEncryptionKeyEntity, MJEntityEntity, MJEntityActionFilterEntity, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationEntity, MJEntityActionParamEntity, MJEntityActionEntity, MJEntityAIActionEntity, MJEntityCommunicationFieldEntity, MJEntityCommunicationMessageTypeEntity, MJEntityDocumentRunEntity, MJEntityDocumentSettingEntity, MJEntityDocumentTypeEntity, MJEntityDocumentEntity, MJEntityFieldValueEntity, MJEntityFieldEntity, MJEntityPermissionEntity, MJEntityRecordDocumentEntity, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipEntity, MJEntitySettingEntity, MJEnvironmentEntity, MJErrorLogEntity, MJExplorerNavigationItemEntity, MJFileCategoryEntity, MJFileEntityRecordLinkEntity, MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileEntity, MJGeneratedCodeCategoryEntity, MJGeneratedCodeEntity, MJIntegrationURLFormatEntity, MJIntegrationEntity, MJLibraryEntity, MJLibraryItemEntity, MJListCategoryEntity, MJListDetailEntity, MJListInvitationEntity, MJListShareEntity, MJListEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionToolEntity, MJMCPServerConnectionEntity, MJMCPServerToolEntity, MJMCPServerEntity, MJMCPToolExecutionLogEntity, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthorizationStateEntity, MJOAuthClientRegistrationEntity, MJOAuthTokenEntity, MJOpenAppDependencyEntity, MJOpenAppInstallHistoryEntity, MJOpenAppEntity, MJOutputDeliveryTypeEntity, MJOutputFormatTypeEntity, MJOutputTriggerTypeEntity, MJProjectEntity, MJPublicLinkEntity, MJQueryEntity, MJQueryCategoryEntity, MJQueryEntityEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryPermissionEntity, MJQueueTaskEntity, MJQueueTypeEntity, MJQueueEntity, MJRecommendationItemEntity, MJRecommendationProviderEntity, MJRecommendationRunEntity, MJRecommendationEntity, MJRecordChangeReplayRunEntity, MJRecordChangeEntity, MJRecordLinkEntity, MJRecordMergeDeletionLogEntity, MJRecordMergeLogEntity, MJReportCategoryEntity, MJReportSnapshotEntity, MJReportUserStateEntity, MJReportVersionEntity, MJReportEntity, MJResourceLinkEntity, MJResourcePermissionEntity, MJResourceTypeEntity, MJRoleEntity, MJRowLevelSecurityFilterEntity, MJScheduledActionParamEntity, MJScheduledActionEntity, MJScheduledJobRunEntity, MJScheduledJobTypeEntity, MJScheduledJobEntity, MJSchemaInfoEntity, MJSkillEntity, MJTaggedItemEntity, MJTagEntity, MJTaskDependencyEntity, MJTaskTypeEntity, MJTaskEntity, MJTemplateCategoryEntity, MJTemplateContentTypeEntity, MJTemplateContentEntity, MJTemplateParamEntity, MJTemplateEntity, MJTestRubricEntity, MJTestRunFeedbackEntity, MJTestRunOutputTypeEntity, MJTestRunOutputEntity, MJTestRunEntity, MJTestSuiteRunEntity, MJTestSuiteTestEntity, MJTestSuiteEntity, MJTestTypeEntity, MJTestEntity, MJUserApplicationEntityEntity, MJUserApplicationEntity, MJUserFavoriteEntity, MJUserNotificationPreferenceEntity, MJUserNotificationTypeEntity, MJUserNotificationEntity, MJUserRecordLogEntity, MJUserRoleEntity, MJUserSettingEntity, MJUserViewCategoryEntity, MJUserViewRunDetailEntity, MJUserViewRunEntity, MJUserViewEntity, MJUserEntity, MJVectorDatabaseEntity, MJVectorIndexEntity, MJVersionInstallationEntity, MJVersionLabelItemEntity, MJVersionLabelRestoreEntity, MJVersionLabelEntity, MJWorkflowEngineEntity, MJWorkflowRunEntity, MJWorkflowEntity, MJWorkspaceItemEntity, MJWorkspaceEntity } from '@memberjunction/core-entities';
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
//****************************************************************************
|
|
@@ -59182,6 +59182,424 @@ export class MJTestRunFeedbackResolver extends ResolverBase {
|
|
|
59182
59182
|
|
|
59183
59183
|
}
|
|
59184
59184
|
|
|
59185
|
+
//****************************************************************************
|
|
59186
|
+
// ENTITY CLASS for MJ: Test Run Output Types
|
|
59187
|
+
//****************************************************************************
|
|
59188
|
+
@ObjectType()
|
|
59189
|
+
export class MJTestRunOutputType_ {
|
|
59190
|
+
@Field()
|
|
59191
|
+
@MaxLength(16)
|
|
59192
|
+
ID: string;
|
|
59193
|
+
|
|
59194
|
+
@Field({description: `Unique name identifying this output type (e.g., Screenshot, Log, Data, Video)`})
|
|
59195
|
+
@MaxLength(200)
|
|
59196
|
+
Name: string;
|
|
59197
|
+
|
|
59198
|
+
@Field({nullable: true, description: `Description of what this output type represents and when it is used`})
|
|
59199
|
+
Description?: string;
|
|
59200
|
+
|
|
59201
|
+
@Field()
|
|
59202
|
+
@MaxLength(10)
|
|
59203
|
+
_mj__CreatedAt: Date;
|
|
59204
|
+
|
|
59205
|
+
@Field()
|
|
59206
|
+
@MaxLength(10)
|
|
59207
|
+
_mj__UpdatedAt: Date;
|
|
59208
|
+
|
|
59209
|
+
@Field(() => [MJTestRunOutput_])
|
|
59210
|
+
MJTestRunOutputs_OutputTypeIDArray: MJTestRunOutput_[]; // Link to MJTestRunOutputs
|
|
59211
|
+
|
|
59212
|
+
}
|
|
59213
|
+
|
|
59214
|
+
//****************************************************************************
|
|
59215
|
+
// INPUT TYPE for MJ: Test Run Output Types
|
|
59216
|
+
//****************************************************************************
|
|
59217
|
+
@InputType()
|
|
59218
|
+
export class CreateMJTestRunOutputTypeInput {
|
|
59219
|
+
@Field({ nullable: true })
|
|
59220
|
+
ID?: string;
|
|
59221
|
+
|
|
59222
|
+
@Field({ nullable: true })
|
|
59223
|
+
Name?: string;
|
|
59224
|
+
|
|
59225
|
+
@Field({ nullable: true })
|
|
59226
|
+
Description: string | null;
|
|
59227
|
+
}
|
|
59228
|
+
|
|
59229
|
+
|
|
59230
|
+
//****************************************************************************
|
|
59231
|
+
// INPUT TYPE for MJ: Test Run Output Types
|
|
59232
|
+
//****************************************************************************
|
|
59233
|
+
@InputType()
|
|
59234
|
+
export class UpdateMJTestRunOutputTypeInput {
|
|
59235
|
+
@Field()
|
|
59236
|
+
ID: string;
|
|
59237
|
+
|
|
59238
|
+
@Field({ nullable: true })
|
|
59239
|
+
Name?: string;
|
|
59240
|
+
|
|
59241
|
+
@Field({ nullable: true })
|
|
59242
|
+
Description?: string | null;
|
|
59243
|
+
|
|
59244
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
59245
|
+
OldValues___?: KeyValuePairInput[];
|
|
59246
|
+
}
|
|
59247
|
+
|
|
59248
|
+
//****************************************************************************
|
|
59249
|
+
// RESOLVER for MJ: Test Run Output Types
|
|
59250
|
+
//****************************************************************************
|
|
59251
|
+
@ObjectType()
|
|
59252
|
+
export class RunMJTestRunOutputTypeViewResult {
|
|
59253
|
+
@Field(() => [MJTestRunOutputType_])
|
|
59254
|
+
Results: MJTestRunOutputType_[];
|
|
59255
|
+
|
|
59256
|
+
@Field(() => String, {nullable: true})
|
|
59257
|
+
UserViewRunID?: string;
|
|
59258
|
+
|
|
59259
|
+
@Field(() => Int, {nullable: true})
|
|
59260
|
+
RowCount: number;
|
|
59261
|
+
|
|
59262
|
+
@Field(() => Int, {nullable: true})
|
|
59263
|
+
TotalRowCount: number;
|
|
59264
|
+
|
|
59265
|
+
@Field(() => Int, {nullable: true})
|
|
59266
|
+
ExecutionTime: number;
|
|
59267
|
+
|
|
59268
|
+
@Field({nullable: true})
|
|
59269
|
+
ErrorMessage?: string;
|
|
59270
|
+
|
|
59271
|
+
@Field(() => Boolean, {nullable: false})
|
|
59272
|
+
Success: boolean;
|
|
59273
|
+
}
|
|
59274
|
+
|
|
59275
|
+
@Resolver(MJTestRunOutputType_)
|
|
59276
|
+
export class MJTestRunOutputTypeResolver extends ResolverBase {
|
|
59277
|
+
@Query(() => RunMJTestRunOutputTypeViewResult)
|
|
59278
|
+
async RunMJTestRunOutputTypeViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59279
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59280
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
59281
|
+
}
|
|
59282
|
+
|
|
59283
|
+
@Query(() => RunMJTestRunOutputTypeViewResult)
|
|
59284
|
+
async RunMJTestRunOutputTypeViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59285
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59286
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
59287
|
+
}
|
|
59288
|
+
|
|
59289
|
+
@Query(() => RunMJTestRunOutputTypeViewResult)
|
|
59290
|
+
async RunMJTestRunOutputTypeDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59291
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59292
|
+
input.EntityName = 'MJ: Test Run Output Types';
|
|
59293
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
59294
|
+
}
|
|
59295
|
+
@Query(() => MJTestRunOutputType_, { nullable: true })
|
|
59296
|
+
async MJTestRunOutputType(@Arg('ID', () => String) ID: string, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJTestRunOutputType_ | null> {
|
|
59297
|
+
this.CheckUserReadPermissions('MJ: Test Run Output Types', userPayload);
|
|
59298
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59299
|
+
const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
|
|
59300
|
+
const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwTestRunOutputTypes] WHERE [ID]='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Test Run Output Types', userPayload, EntityPermissionType.Read, 'AND');
|
|
59301
|
+
const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
|
|
59302
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Test Run Output Types', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
|
|
59303
|
+
return result;
|
|
59304
|
+
}
|
|
59305
|
+
|
|
59306
|
+
@FieldResolver(() => [MJTestRunOutput_])
|
|
59307
|
+
async MJTestRunOutputs_OutputTypeIDArray(@Root() mjtestrunoutputtype_: MJTestRunOutputType_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59308
|
+
this.CheckUserReadPermissions('MJ: Test Run Outputs', userPayload);
|
|
59309
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59310
|
+
const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
|
|
59311
|
+
const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwTestRunOutputs] WHERE [OutputTypeID]='${mjtestrunoutputtype_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Test Run Outputs', userPayload, EntityPermissionType.Read, 'AND');
|
|
59312
|
+
const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
|
|
59313
|
+
const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Test Run Outputs', rows, this.GetUserFromPayload(userPayload));
|
|
59314
|
+
return result;
|
|
59315
|
+
}
|
|
59316
|
+
|
|
59317
|
+
@Mutation(() => MJTestRunOutputType_)
|
|
59318
|
+
async CreateMJTestRunOutputType(
|
|
59319
|
+
@Arg('input', () => CreateMJTestRunOutputTypeInput) input: CreateMJTestRunOutputTypeInput,
|
|
59320
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
59321
|
+
@PubSub() pubSub: PubSubEngine
|
|
59322
|
+
) {
|
|
59323
|
+
const provider = GetReadWriteProvider(providers);
|
|
59324
|
+
return this.CreateRecord('MJ: Test Run Output Types', input, provider, userPayload, pubSub)
|
|
59325
|
+
}
|
|
59326
|
+
|
|
59327
|
+
@Mutation(() => MJTestRunOutputType_)
|
|
59328
|
+
async UpdateMJTestRunOutputType(
|
|
59329
|
+
@Arg('input', () => UpdateMJTestRunOutputTypeInput) input: UpdateMJTestRunOutputTypeInput,
|
|
59330
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
59331
|
+
@PubSub() pubSub: PubSubEngine
|
|
59332
|
+
) {
|
|
59333
|
+
const provider = GetReadWriteProvider(providers);
|
|
59334
|
+
return this.UpdateRecord('MJ: Test Run Output Types', input, provider, userPayload, pubSub);
|
|
59335
|
+
}
|
|
59336
|
+
|
|
59337
|
+
@Mutation(() => MJTestRunOutputType_)
|
|
59338
|
+
async DeleteMJTestRunOutputType(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59339
|
+
const provider = GetReadWriteProvider(providers);
|
|
59340
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
59341
|
+
return this.DeleteRecord('MJ: Test Run Output Types', key, options, provider, userPayload, pubSub);
|
|
59342
|
+
}
|
|
59343
|
+
|
|
59344
|
+
}
|
|
59345
|
+
|
|
59346
|
+
//****************************************************************************
|
|
59347
|
+
// ENTITY CLASS for MJ: Test Run Outputs
|
|
59348
|
+
//****************************************************************************
|
|
59349
|
+
@ObjectType()
|
|
59350
|
+
export class MJTestRunOutput_ {
|
|
59351
|
+
@Field()
|
|
59352
|
+
@MaxLength(16)
|
|
59353
|
+
ID: string;
|
|
59354
|
+
|
|
59355
|
+
@Field({description: `Foreign key to the parent test run that produced this output`})
|
|
59356
|
+
@MaxLength(16)
|
|
59357
|
+
TestRunID: string;
|
|
59358
|
+
|
|
59359
|
+
@Field({description: `Foreign key to the output type category (Screenshot, Log, Video, etc.)`})
|
|
59360
|
+
@MaxLength(16)
|
|
59361
|
+
OutputTypeID: string;
|
|
59362
|
+
|
|
59363
|
+
@Field(() => Int, {description: `Chronological ordering for storyboarding outputs across steps`})
|
|
59364
|
+
Sequence: number;
|
|
59365
|
+
|
|
59366
|
+
@Field(() => Int, {nullable: true, description: `Which step produced this output, for step-based tests like Computer Use`})
|
|
59367
|
+
StepNumber?: number;
|
|
59368
|
+
|
|
59369
|
+
@Field({nullable: true, description: `Human-readable label for this output (e.g., Step 3 Screenshot)`})
|
|
59370
|
+
@MaxLength(510)
|
|
59371
|
+
Name?: string;
|
|
59372
|
+
|
|
59373
|
+
@Field({nullable: true, description: `Additional context about this output`})
|
|
59374
|
+
Description?: string;
|
|
59375
|
+
|
|
59376
|
+
@Field({nullable: true, description: `MIME type of the output data (e.g., image/png, text/plain, application/json, video/mp4)`})
|
|
59377
|
+
@MaxLength(200)
|
|
59378
|
+
MimeType?: string;
|
|
59379
|
+
|
|
59380
|
+
@Field({nullable: true, description: `Base64-encoded binary data (images, audio, video) or text content (logs, JSON, HTML)`})
|
|
59381
|
+
InlineData?: string;
|
|
59382
|
+
|
|
59383
|
+
@Field(() => Int, {nullable: true, description: `Size of the output data in bytes`})
|
|
59384
|
+
FileSizeBytes?: number;
|
|
59385
|
+
|
|
59386
|
+
@Field(() => Int, {nullable: true, description: `Width in pixels for image or video outputs`})
|
|
59387
|
+
Width?: number;
|
|
59388
|
+
|
|
59389
|
+
@Field(() => Int, {nullable: true, description: `Height in pixels for image or video outputs`})
|
|
59390
|
+
Height?: number;
|
|
59391
|
+
|
|
59392
|
+
@Field(() => Float, {nullable: true, description: `Duration in seconds for audio or video outputs`})
|
|
59393
|
+
DurationSeconds?: number;
|
|
59394
|
+
|
|
59395
|
+
@Field({nullable: true, description: `JSON object with additional metadata about this output (e.g., URL at time of capture, tool calls, error info)`})
|
|
59396
|
+
Metadata?: string;
|
|
59397
|
+
|
|
59398
|
+
@Field()
|
|
59399
|
+
@MaxLength(10)
|
|
59400
|
+
_mj__CreatedAt: Date;
|
|
59401
|
+
|
|
59402
|
+
@Field()
|
|
59403
|
+
@MaxLength(10)
|
|
59404
|
+
_mj__UpdatedAt: Date;
|
|
59405
|
+
|
|
59406
|
+
@Field()
|
|
59407
|
+
@MaxLength(510)
|
|
59408
|
+
TestRun: string;
|
|
59409
|
+
|
|
59410
|
+
@Field()
|
|
59411
|
+
@MaxLength(200)
|
|
59412
|
+
OutputType: string;
|
|
59413
|
+
|
|
59414
|
+
}
|
|
59415
|
+
|
|
59416
|
+
//****************************************************************************
|
|
59417
|
+
// INPUT TYPE for MJ: Test Run Outputs
|
|
59418
|
+
//****************************************************************************
|
|
59419
|
+
@InputType()
|
|
59420
|
+
export class CreateMJTestRunOutputInput {
|
|
59421
|
+
@Field({ nullable: true })
|
|
59422
|
+
ID?: string;
|
|
59423
|
+
|
|
59424
|
+
@Field({ nullable: true })
|
|
59425
|
+
TestRunID?: string;
|
|
59426
|
+
|
|
59427
|
+
@Field({ nullable: true })
|
|
59428
|
+
OutputTypeID?: string;
|
|
59429
|
+
|
|
59430
|
+
@Field(() => Int, { nullable: true })
|
|
59431
|
+
Sequence?: number;
|
|
59432
|
+
|
|
59433
|
+
@Field(() => Int, { nullable: true })
|
|
59434
|
+
StepNumber: number | null;
|
|
59435
|
+
|
|
59436
|
+
@Field({ nullable: true })
|
|
59437
|
+
Name: string | null;
|
|
59438
|
+
|
|
59439
|
+
@Field({ nullable: true })
|
|
59440
|
+
Description: string | null;
|
|
59441
|
+
|
|
59442
|
+
@Field({ nullable: true })
|
|
59443
|
+
MimeType: string | null;
|
|
59444
|
+
|
|
59445
|
+
@Field({ nullable: true })
|
|
59446
|
+
InlineData: string | null;
|
|
59447
|
+
|
|
59448
|
+
@Field(() => Int, { nullable: true })
|
|
59449
|
+
FileSizeBytes: number | null;
|
|
59450
|
+
|
|
59451
|
+
@Field(() => Int, { nullable: true })
|
|
59452
|
+
Width: number | null;
|
|
59453
|
+
|
|
59454
|
+
@Field(() => Int, { nullable: true })
|
|
59455
|
+
Height: number | null;
|
|
59456
|
+
|
|
59457
|
+
@Field(() => Float, { nullable: true })
|
|
59458
|
+
DurationSeconds: number | null;
|
|
59459
|
+
|
|
59460
|
+
@Field({ nullable: true })
|
|
59461
|
+
Metadata: string | null;
|
|
59462
|
+
}
|
|
59463
|
+
|
|
59464
|
+
|
|
59465
|
+
//****************************************************************************
|
|
59466
|
+
// INPUT TYPE for MJ: Test Run Outputs
|
|
59467
|
+
//****************************************************************************
|
|
59468
|
+
@InputType()
|
|
59469
|
+
export class UpdateMJTestRunOutputInput {
|
|
59470
|
+
@Field()
|
|
59471
|
+
ID: string;
|
|
59472
|
+
|
|
59473
|
+
@Field({ nullable: true })
|
|
59474
|
+
TestRunID?: string;
|
|
59475
|
+
|
|
59476
|
+
@Field({ nullable: true })
|
|
59477
|
+
OutputTypeID?: string;
|
|
59478
|
+
|
|
59479
|
+
@Field(() => Int, { nullable: true })
|
|
59480
|
+
Sequence?: number;
|
|
59481
|
+
|
|
59482
|
+
@Field(() => Int, { nullable: true })
|
|
59483
|
+
StepNumber?: number | null;
|
|
59484
|
+
|
|
59485
|
+
@Field({ nullable: true })
|
|
59486
|
+
Name?: string | null;
|
|
59487
|
+
|
|
59488
|
+
@Field({ nullable: true })
|
|
59489
|
+
Description?: string | null;
|
|
59490
|
+
|
|
59491
|
+
@Field({ nullable: true })
|
|
59492
|
+
MimeType?: string | null;
|
|
59493
|
+
|
|
59494
|
+
@Field({ nullable: true })
|
|
59495
|
+
InlineData?: string | null;
|
|
59496
|
+
|
|
59497
|
+
@Field(() => Int, { nullable: true })
|
|
59498
|
+
FileSizeBytes?: number | null;
|
|
59499
|
+
|
|
59500
|
+
@Field(() => Int, { nullable: true })
|
|
59501
|
+
Width?: number | null;
|
|
59502
|
+
|
|
59503
|
+
@Field(() => Int, { nullable: true })
|
|
59504
|
+
Height?: number | null;
|
|
59505
|
+
|
|
59506
|
+
@Field(() => Float, { nullable: true })
|
|
59507
|
+
DurationSeconds?: number | null;
|
|
59508
|
+
|
|
59509
|
+
@Field({ nullable: true })
|
|
59510
|
+
Metadata?: string | null;
|
|
59511
|
+
|
|
59512
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
59513
|
+
OldValues___?: KeyValuePairInput[];
|
|
59514
|
+
}
|
|
59515
|
+
|
|
59516
|
+
//****************************************************************************
|
|
59517
|
+
// RESOLVER for MJ: Test Run Outputs
|
|
59518
|
+
//****************************************************************************
|
|
59519
|
+
@ObjectType()
|
|
59520
|
+
export class RunMJTestRunOutputViewResult {
|
|
59521
|
+
@Field(() => [MJTestRunOutput_])
|
|
59522
|
+
Results: MJTestRunOutput_[];
|
|
59523
|
+
|
|
59524
|
+
@Field(() => String, {nullable: true})
|
|
59525
|
+
UserViewRunID?: string;
|
|
59526
|
+
|
|
59527
|
+
@Field(() => Int, {nullable: true})
|
|
59528
|
+
RowCount: number;
|
|
59529
|
+
|
|
59530
|
+
@Field(() => Int, {nullable: true})
|
|
59531
|
+
TotalRowCount: number;
|
|
59532
|
+
|
|
59533
|
+
@Field(() => Int, {nullable: true})
|
|
59534
|
+
ExecutionTime: number;
|
|
59535
|
+
|
|
59536
|
+
@Field({nullable: true})
|
|
59537
|
+
ErrorMessage?: string;
|
|
59538
|
+
|
|
59539
|
+
@Field(() => Boolean, {nullable: false})
|
|
59540
|
+
Success: boolean;
|
|
59541
|
+
}
|
|
59542
|
+
|
|
59543
|
+
@Resolver(MJTestRunOutput_)
|
|
59544
|
+
export class MJTestRunOutputResolver extends ResolverBase {
|
|
59545
|
+
@Query(() => RunMJTestRunOutputViewResult)
|
|
59546
|
+
async RunMJTestRunOutputViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59547
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59548
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
59549
|
+
}
|
|
59550
|
+
|
|
59551
|
+
@Query(() => RunMJTestRunOutputViewResult)
|
|
59552
|
+
async RunMJTestRunOutputViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59553
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59554
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
59555
|
+
}
|
|
59556
|
+
|
|
59557
|
+
@Query(() => RunMJTestRunOutputViewResult)
|
|
59558
|
+
async RunMJTestRunOutputDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59559
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59560
|
+
input.EntityName = 'MJ: Test Run Outputs';
|
|
59561
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
59562
|
+
}
|
|
59563
|
+
@Query(() => MJTestRunOutput_, { nullable: true })
|
|
59564
|
+
async MJTestRunOutput(@Arg('ID', () => String) ID: string, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJTestRunOutput_ | null> {
|
|
59565
|
+
this.CheckUserReadPermissions('MJ: Test Run Outputs', userPayload);
|
|
59566
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
59567
|
+
const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
|
|
59568
|
+
const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwTestRunOutputs] WHERE [ID]='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Test Run Outputs', userPayload, EntityPermissionType.Read, 'AND');
|
|
59569
|
+
const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
|
|
59570
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Test Run Outputs', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
|
|
59571
|
+
return result;
|
|
59572
|
+
}
|
|
59573
|
+
|
|
59574
|
+
@Mutation(() => MJTestRunOutput_)
|
|
59575
|
+
async CreateMJTestRunOutput(
|
|
59576
|
+
@Arg('input', () => CreateMJTestRunOutputInput) input: CreateMJTestRunOutputInput,
|
|
59577
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
59578
|
+
@PubSub() pubSub: PubSubEngine
|
|
59579
|
+
) {
|
|
59580
|
+
const provider = GetReadWriteProvider(providers);
|
|
59581
|
+
return this.CreateRecord('MJ: Test Run Outputs', input, provider, userPayload, pubSub)
|
|
59582
|
+
}
|
|
59583
|
+
|
|
59584
|
+
@Mutation(() => MJTestRunOutput_)
|
|
59585
|
+
async UpdateMJTestRunOutput(
|
|
59586
|
+
@Arg('input', () => UpdateMJTestRunOutputInput) input: UpdateMJTestRunOutputInput,
|
|
59587
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
59588
|
+
@PubSub() pubSub: PubSubEngine
|
|
59589
|
+
) {
|
|
59590
|
+
const provider = GetReadWriteProvider(providers);
|
|
59591
|
+
return this.UpdateRecord('MJ: Test Run Outputs', input, provider, userPayload, pubSub);
|
|
59592
|
+
}
|
|
59593
|
+
|
|
59594
|
+
@Mutation(() => MJTestRunOutput_)
|
|
59595
|
+
async DeleteMJTestRunOutput(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59596
|
+
const provider = GetReadWriteProvider(providers);
|
|
59597
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
59598
|
+
return this.DeleteRecord('MJ: Test Run Outputs', key, options, provider, userPayload, pubSub);
|
|
59599
|
+
}
|
|
59600
|
+
|
|
59601
|
+
}
|
|
59602
|
+
|
|
59185
59603
|
//****************************************************************************
|
|
59186
59604
|
// ENTITY CLASS for MJ: Test Runs
|
|
59187
59605
|
//****************************************************************************
|
|
@@ -59315,6 +59733,9 @@ export class MJTestRun_ {
|
|
|
59315
59733
|
@MaxLength(510)
|
|
59316
59734
|
TargetLogEntity?: string;
|
|
59317
59735
|
|
|
59736
|
+
@Field(() => [MJTestRunOutput_])
|
|
59737
|
+
MJTestRunOutputs_TestRunIDArray: MJTestRunOutput_[]; // Link to MJTestRunOutputs
|
|
59738
|
+
|
|
59318
59739
|
@Field(() => [MJTestRunFeedback_])
|
|
59319
59740
|
MJTestRunFeedbacks_TestRunIDArray: MJTestRunFeedback_[]; // Link to MJTestRunFeedbacks
|
|
59320
59741
|
|
|
@@ -59586,6 +60007,17 @@ export class MJTestRunResolver extends ResolverBase {
|
|
|
59586
60007
|
return result;
|
|
59587
60008
|
}
|
|
59588
60009
|
|
|
60010
|
+
@FieldResolver(() => [MJTestRunOutput_])
|
|
60011
|
+
async MJTestRunOutputs_TestRunIDArray(@Root() mjtestrun_: MJTestRun_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
60012
|
+
this.CheckUserReadPermissions('MJ: Test Run Outputs', userPayload);
|
|
60013
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
60014
|
+
const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
|
|
60015
|
+
const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwTestRunOutputs] WHERE [TestRunID]='${mjtestrun_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Test Run Outputs', userPayload, EntityPermissionType.Read, 'AND');
|
|
60016
|
+
const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
|
|
60017
|
+
const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Test Run Outputs', rows, this.GetUserFromPayload(userPayload));
|
|
60018
|
+
return result;
|
|
60019
|
+
}
|
|
60020
|
+
|
|
59589
60021
|
@FieldResolver(() => [MJTestRunFeedback_])
|
|
59590
60022
|
async MJTestRunFeedbacks_TestRunIDArray(@Root() mjtestrun_: MJTestRun_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
59591
60023
|
this.CheckUserReadPermissions('MJ: Test Run Feedbacks', userPayload);
|
package/src/index.ts
CHANGED
|
@@ -369,6 +369,9 @@ export const serve = async (resolverPaths: Array<string>, app: Application = cre
|
|
|
369
369
|
graphqlRootPath,
|
|
370
370
|
cors<cors.CorsRequest>(),
|
|
371
371
|
BodyParser.json({ limit: '50mb' }),
|
|
372
|
+
// Express 5 leaves req.body as undefined for non-JSON or empty bodies;
|
|
373
|
+
// Apollo Server's expressMiddleware requires req.body to be defined.
|
|
374
|
+
(req, _res, next) => { if (req.body === undefined) req.body = {}; next(); },
|
|
372
375
|
expressMiddleware(apolloServer, {
|
|
373
376
|
context: contextFunction({
|
|
374
377
|
setupComplete$,
|
|
@@ -544,6 +544,7 @@ export class RunAIAgentResolver extends ResolverBase {
|
|
|
544
544
|
|
|
545
545
|
/**
|
|
546
546
|
* Public mutation for regular users to run AI agents with authentication.
|
|
547
|
+
* Supports fire-and-forget mode to avoid Azure proxy timeouts on long-running agent executions.
|
|
547
548
|
*/
|
|
548
549
|
@Mutation(() => AIAgentRunResult)
|
|
549
550
|
async RunAIAgent(
|
|
@@ -562,12 +563,33 @@ export class RunAIAgentResolver extends ResolverBase {
|
|
|
562
563
|
@Arg('createArtifacts', { nullable: true }) createArtifacts?: boolean,
|
|
563
564
|
@Arg('createNotification', { nullable: true }) createNotification?: boolean,
|
|
564
565
|
@Arg('sourceArtifactId', { nullable: true }) sourceArtifactId?: string,
|
|
565
|
-
@Arg('sourceArtifactVersionId', { nullable: true }) sourceArtifactVersionId?: string
|
|
566
|
+
@Arg('sourceArtifactVersionId', { nullable: true }) sourceArtifactVersionId?: string,
|
|
567
|
+
@Arg('fireAndForget', { nullable: true }) fireAndForget?: boolean
|
|
566
568
|
): Promise<AIAgentRunResult> {
|
|
567
569
|
// Check API key scope authorization for agent execution
|
|
568
570
|
await this.CheckAPIKeyScopeAuthorization('agent:execute', agentId, userPayload);
|
|
569
571
|
|
|
570
572
|
const p = GetReadWriteProvider(providers);
|
|
573
|
+
|
|
574
|
+
if (fireAndForget) {
|
|
575
|
+
// Fire-and-forget mode: start execution in background, return immediately.
|
|
576
|
+
// The client will receive the result via WebSocket PubSub completion event.
|
|
577
|
+
this.executeAgentInBackground(
|
|
578
|
+
p, dataSource, agentId, userPayload, messagesJson, sessionId, pubSub,
|
|
579
|
+
data, payload, lastRunId, autoPopulateLastRunPayload, configurationId,
|
|
580
|
+
conversationDetailId, createArtifacts || false, createNotification || false,
|
|
581
|
+
sourceArtifactId, sourceArtifactVersionId
|
|
582
|
+
);
|
|
583
|
+
|
|
584
|
+
LogStatus(`🔥 Fire-and-forget: Agent ${agentId} execution started in background for session ${sessionId}`);
|
|
585
|
+
|
|
586
|
+
return {
|
|
587
|
+
success: true,
|
|
588
|
+
result: JSON.stringify({ accepted: true, fireAndForget: true })
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
// Synchronous mode (default): wait for execution to complete
|
|
571
593
|
return this.executeAIAgent(
|
|
572
594
|
p,
|
|
573
595
|
dataSource,
|