@memberjunction/server 6.2.0-edge.4 → 6.2.0-edge.6
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/README.md +47 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/SessionJanitor.d.ts +91 -30
- package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
- package/dist/agentSessions/SessionJanitor.js +311 -81
- package/dist/agentSessions/SessionJanitor.js.map +1 -1
- package/dist/agentSessions/SessionManager.d.ts +17 -3
- package/dist/agentSessions/SessionManager.d.ts.map +1 -1
- package/dist/agentSessions/SessionManager.js +44 -10
- package/dist/agentSessions/SessionManager.js.map +1 -1
- package/dist/apiRoot.d.ts +32 -0
- package/dist/apiRoot.d.ts.map +1 -0
- package/dist/apiRoot.js +67 -0
- package/dist/apiRoot.js.map +1 -0
- package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
- package/dist/auth/AuthProviderCatalogRouter.js +27 -0
- package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
- package/dist/auth/LoginScreenEngine.d.ts +22 -0
- package/dist/auth/LoginScreenEngine.d.ts.map +1 -0
- package/dist/auth/LoginScreenEngine.js +57 -0
- package/dist/auth/LoginScreenEngine.js.map +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +52 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/initializeProviders.d.ts +10 -0
- package/dist/auth/initializeProviders.d.ts.map +1 -1
- package/dist/auth/initializeProviders.js +37 -1
- package/dist/auth/initializeProviders.js.map +1 -1
- package/dist/auth/localDevAuth.d.ts +79 -0
- package/dist/auth/localDevAuth.d.ts.map +1 -0
- package/dist/auth/localDevAuth.js +439 -0
- package/dist/auth/localDevAuth.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkKeys.d.ts +2 -2
- package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.js +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.js +3 -2
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
- package/dist/auth/magicLink/types.d.ts +12 -0
- package/dist/auth/magicLink/types.d.ts.map +1 -1
- package/dist/auth/sessionUserClone.d.ts +1 -1
- package/dist/auth/sessionUserClone.d.ts.map +1 -1
- package/dist/auth/sessionUserClone.js +3 -2
- package/dist/auth/sessionUserClone.js.map +1 -1
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts +292 -0
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js +442 -0
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js.map +1 -0
- package/dist/broadcast/index.d.ts +6 -0
- package/dist/broadcast/index.d.ts.map +1 -0
- package/dist/broadcast/index.js +6 -0
- package/dist/broadcast/index.js.map +1 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts +43 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js +144 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js.map +1 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts +46 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js +149 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js.map +1 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts +49 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js +131 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js.map +1 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts +24 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js +51 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js.map +1 -0
- package/dist/cache.d.ts +3 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js.map +1 -1
- package/dist/config.d.ts +632 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +104 -4
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +3 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +29 -8
- package/dist/context.js.map +1 -1
- package/dist/coreRoutes.d.ts +29 -0
- package/dist/coreRoutes.d.ts.map +1 -0
- package/dist/coreRoutes.js +156 -0
- package/dist/coreRoutes.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj.d.ts +1016 -29
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +5125 -434
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/CacheInvalidationResolver.d.ts +85 -30
- package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
- package/dist/generic/CacheInvalidationResolver.js +175 -60
- package/dist/generic/CacheInvalidationResolver.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js +2 -0
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
- package/dist/generic/PubSubManager.d.ts +10 -0
- package/dist/generic/PubSubManager.d.ts.map +1 -1
- package/dist/generic/PubSubManager.js +44 -1
- package/dist/generic/PubSubManager.js.map +1 -1
- package/dist/generic/PushStatusResolver.d.ts +39 -6
- package/dist/generic/PushStatusResolver.d.ts.map +1 -1
- package/dist/generic/PushStatusResolver.js +94 -12
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +168 -69
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +464 -405
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +11 -3
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +91 -13
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/generic/actionOutputFieldSecurity.d.ts +26 -0
- package/dist/generic/actionOutputFieldSecurity.d.ts.map +1 -0
- package/dist/generic/actionOutputFieldSecurity.js +47 -0
- package/dist/generic/actionOutputFieldSecurity.js.map +1 -0
- package/dist/generic/fieldSecurityTransport.d.ts +30 -0
- package/dist/generic/fieldSecurityTransport.d.ts.map +1 -0
- package/dist/generic/fieldSecurityTransport.js +30 -0
- package/dist/generic/fieldSecurityTransport.js.map +1 -0
- package/dist/globalCors.d.ts +33 -0
- package/dist/globalCors.d.ts.map +1 -0
- package/dist/globalCors.js +58 -0
- package/dist/globalCors.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +230 -222
- package/dist/index.js.map +1 -1
- package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
- package/dist/integration/CustomColumnPromoter.js +6 -1
- package/dist/integration/CustomColumnPromoter.js.map +1 -1
- package/dist/logging/variablesLoggingMiddleware.d.ts +12 -0
- package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
- package/dist/logging/variablesLoggingMiddleware.js +50 -1
- package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
- package/dist/multiTenancy/index.d.ts.map +1 -1
- package/dist/multiTenancy/index.js +22 -2
- package/dist/multiTenancy/index.js.map +1 -1
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -1
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js +2 -1
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -1
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -1
- package/dist/realtimeSessions/RealtimeVerifyRouter.js +2 -1
- package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -1
- package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts +100 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts.map +1 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.js +173 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.js.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -1
- package/dist/realtimeSessions/SessionVerificationPortsBase.js +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -1
- package/dist/realtimeSessions/index.d.ts +2 -0
- package/dist/realtimeSessions/index.d.ts.map +1 -1
- package/dist/realtimeSessions/index.js +2 -0
- package/dist/realtimeSessions/index.js.map +1 -1
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts +32 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js +56 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -0
- package/dist/realtimeSessions/sessionAccess.d.ts +91 -8
- package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -1
- package/dist/realtimeSessions/sessionAccess.js +127 -20
- package/dist/realtimeSessions/sessionAccess.js.map +1 -1
- package/dist/realtimeSessions/sessionConfigStamps.js +1 -1
- package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -1
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -1
- package/dist/realtimeSessions/subscriptionAuthorization.js +5 -2
- package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -1
- package/dist/realtimeSessions/verificationWorkflow.d.ts +2 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -1
- package/dist/realtimeSessions/verificationWorkflow.js +1 -1
- package/dist/realtimeSessions/verificationWorkflow.js.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.js +19 -3
- package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.d.ts +67 -7
- package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.js +201 -19
- package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
- package/dist/realtimeWidget/host-identity.d.ts +1 -1
- package/dist/realtimeWidget/host-identity.js +1 -1
- package/dist/realtimeWidget/widgetCore.d.ts +20 -1
- package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetCore.js +17 -1
- package/dist/realtimeWidget/widgetCore.js.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.d.ts +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +2 -1
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +19 -1
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +63 -12
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +1 -0
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/AgentRunStatusPublisher.d.ts +18 -4
- package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -1
- package/dist/resolvers/AgentRunStatusPublisher.js +32 -8
- package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -1
- package/dist/resolvers/AgentSessionResolver.d.ts +10 -4
- package/dist/resolvers/AgentSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/AgentSessionResolver.js +40 -17
- package/dist/resolvers/AgentSessionResolver.js.map +1 -1
- package/dist/resolvers/ArtifactFileResolver.d.ts +5 -1
- package/dist/resolvers/ArtifactFileResolver.d.ts.map +1 -1
- package/dist/resolvers/ArtifactFileResolver.js +9 -7
- package/dist/resolvers/ArtifactFileResolver.js.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.d.ts +8 -4
- package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.js +6 -6
- package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.d.ts +24 -3
- package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
- package/dist/resolvers/DatasetResolver.js +57 -8
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts +13 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.js +50 -14
- package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +2 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +3 -2
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts +46 -3
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +211 -50
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
- package/dist/resolvers/FileCategoryResolver.js +1 -0
- package/dist/resolvers/FileCategoryResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts +87 -11
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +292 -105
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts +33 -7
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +117 -38
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +6 -3
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +49 -9
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts +8 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +31 -3
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/PipelineProgressResolver.d.ts +6 -0
- package/dist/resolvers/PipelineProgressResolver.d.ts.map +1 -1
- package/dist/resolvers/PipelineProgressResolver.js +5 -3
- package/dist/resolvers/PipelineProgressResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts +2 -0
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +33 -6
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/QuerySystemUserResolver.d.ts +2 -0
- package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
- package/dist/resolvers/QuerySystemUserResolver.js +15 -6
- package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
- package/dist/resolvers/RSUResolver.d.ts.map +1 -1
- package/dist/resolvers/RSUResolver.js +12 -0
- package/dist/resolvers/RSUResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +18 -10
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +92 -54
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +11 -9
- package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +56 -8
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +241 -67
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +4 -4
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTestResolver.js +3 -1
- package/dist/resolvers/RunTestResolver.js.map +1 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts +12 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts.map +1 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.js +15 -2
- package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +2 -3
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +4 -0
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts +2 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.js +28 -1
- package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
- package/dist/resolvers/TestQuerySQLResolver.d.ts +24 -0
- package/dist/resolvers/TestQuerySQLResolver.d.ts.map +1 -1
- package/dist/resolvers/TestQuerySQLResolver.js +66 -13
- package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts +34 -2
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +150 -27
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.d.ts +1 -1
- package/dist/resolvers/UserViewResolver.d.ts.map +1 -1
- package/dist/resolvers/UserViewResolver.js +2 -1
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/resolvers/agent-run-data-guard.d.ts +31 -0
- package/dist/resolvers/agent-run-data-guard.d.ts.map +1 -0
- package/dist/resolvers/agent-run-data-guard.js +72 -0
- package/dist/resolvers/agent-run-data-guard.js.map +1 -0
- package/dist/rest/EntityCRUDHandler.d.ts +6 -0
- package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +19 -5
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +8 -5
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/RealtimeRecordingHandler.d.ts +49 -0
- package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -0
- package/dist/rest/RealtimeRecordingHandler.js +383 -0
- package/dist/rest/RealtimeRecordingHandler.js.map +1 -0
- package/dist/rest/ViewOperationsHandler.d.ts +9 -1
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +43 -17
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +6 -0
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +6 -0
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/serverExtensionReservedRoots.d.ts +12 -10
- package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
- package/dist/serverExtensionReservedRoots.js +14 -17
- package/dist/serverExtensionReservedRoots.js.map +1 -1
- package/dist/serverRoleConfigUnits.d.ts +29 -0
- package/dist/serverRoleConfigUnits.d.ts.map +1 -0
- package/dist/serverRoleConfigUnits.js +33 -0
- package/dist/serverRoleConfigUnits.js.map +1 -0
- package/dist/services/MJStorageBlobStore.d.ts +8 -1
- package/dist/services/MJStorageBlobStore.d.ts.map +1 -1
- package/dist/services/MJStorageBlobStore.js +25 -19
- package/dist/services/MJStorageBlobStore.js.map +1 -1
- package/dist/services/StartTaskGraphDispatcher.js +2 -2
- package/dist/services/StartTaskGraphDispatcher.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +5 -3
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +27 -5
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/TaskGraphAgentRunner.d.ts +14 -2
- package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphAgentRunner.js +157 -9
- package/dist/services/TaskGraphAgentRunner.js.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.d.ts +59 -2
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.js +626 -16
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
- package/dist/sharedCache.d.ts.map +1 -1
- package/dist/sharedCache.js +3 -0
- package/dist/sharedCache.js.map +1 -1
- package/dist/types.d.ts +23 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +99 -98
- package/src/__tests__/ActionResolver.fieldSecurity.test.ts +237 -0
- package/src/__tests__/AdhocQueryResolver.dialect.test.ts +137 -0
- package/src/__tests__/AgentRunStatusPublisher.test.ts +49 -0
- package/src/__tests__/AgentSessionResolver.ownership.test.ts +137 -0
- package/src/__tests__/CustomColumnPromoterOnePass.test.ts +15 -1
- package/src/__tests__/DatasetResolver.itemFilters.test.ts +201 -0
- package/src/__tests__/EntityCommunicationsResolver.actingUser.test.ts +151 -0
- package/src/__tests__/EntityRecordNameResolver.rowSecurity.test.ts +152 -0
- package/src/__tests__/EvolutionActsOnWhatItDetects.test.ts +113 -0
- package/src/__tests__/FetchEntityVectorsResolver.test.ts +369 -18
- package/src/__tests__/FileResolver.fieldSecurity.test.ts +82 -0
- package/src/__tests__/FileResolver.storageAccess.test.ts +562 -0
- package/src/__tests__/GetDataContextDataResolver.sqlItems.test.ts +416 -0
- package/src/__tests__/ListOperationsResolver.adhocScreen.test.ts +137 -0
- package/src/__tests__/LoginScreenEngine.test.ts +86 -0
- package/src/__tests__/MJStorageBlobStore.storageGate.test.ts +63 -0
- package/src/__tests__/PipelineProgressResolver.filter.test.ts +58 -0
- package/src/__tests__/QuerySystemUserResolver.fieldSecurity.test.ts +49 -0
- package/src/__tests__/RESTEndpointHandler.test.ts +25 -0
- package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +23 -3
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +324 -46
- package/src/__tests__/RecordingAssemblyScheduler.test.ts +178 -0
- package/src/__tests__/RemoteBrowserActionResolver.ownership.test.ts +98 -0
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +133 -2
- package/src/__tests__/ResolverBase.balancedClause.test.ts +155 -0
- package/src/__tests__/ResolverBase.clauseUnscopedRead.test.ts +127 -0
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +243 -7
- package/src/__tests__/ResolverBase.deleteReturnProjection.test.ts +52 -0
- package/src/__tests__/ResolverBase.entityMessageRelay.test.ts +176 -0
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +5 -2
- package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +23 -1
- package/src/__tests__/ResolverBase.publishStatusUpdate.test.ts +68 -0
- package/src/__tests__/ResolverBase.userViewCacheAndDedup.test.ts +130 -0
- package/src/__tests__/RunAIAgentResolver.branch.test.ts +69 -13
- package/src/__tests__/RunAIAgentResolver.conversationWriter.test.ts +210 -0
- package/src/__tests__/RunAIAgentResolver.fireAndForgetCompletion.test.ts +209 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +20 -28
- package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +264 -0
- package/src/__tests__/RunAIAgentResolver.serverReply.test.ts +358 -0
- package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +4 -1
- package/src/__tests__/RunTemplateResolver.test.ts +35 -2
- package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +11 -0
- package/src/__tests__/RunViewResolver.cacheCheckScreen.test.ts +165 -0
- package/src/__tests__/SearchKnowledgeStreamResolver.test.ts +161 -0
- package/src/__tests__/SessionJanitor.test.ts +365 -10
- package/src/__tests__/SessionManager.test.ts +122 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +25 -0
- package/src/__tests__/TaskGraphAgentRunner.test.ts +266 -0
- package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +468 -23
- package/src/__tests__/TaskGraphFrameResolver.test.ts +22 -0
- package/src/__tests__/TestQuerySQLResolver.test.ts +274 -0
- package/src/__tests__/TransactionGroupResolver.fieldSecurity.test.ts +199 -0
- package/src/__tests__/TransactionGroupResolver.refusals.test.ts +98 -1
- package/src/__tests__/UpdateMJDataContextItem.oldValues.test.ts +220 -0
- package/src/__tests__/UserViewResolver.updateWhereClause.test.ts +15 -0
- package/src/__tests__/ViewOperationsHandler.clauseScreen.test.ts +157 -0
- package/src/__tests__/ViewOperationsHandler.test.ts +7 -2
- package/src/__tests__/WidgetSessionService.test.ts +583 -4
- package/src/__tests__/agent-run-data-guard.test.ts +130 -0
- package/src/__tests__/apiRootBoot.test.ts +202 -0
- package/src/__tests__/buildMagicLinkSessionUser.test.ts +96 -0
- package/src/__tests__/cacheBroadcastProviders.test.ts +403 -0
- package/src/__tests__/cacheInvalidationRecordData.test.ts +109 -0
- package/src/__tests__/conversationRunEvents.test.ts +56 -14
- package/src/__tests__/fieldSecurityFixtures.ts +91 -0
- package/src/__tests__/globalCors.test.ts +217 -0
- package/src/__tests__/localDevAuth.test.ts +196 -0
- package/src/__tests__/multiTenancy.postgresRewrite.test.ts +181 -0
- package/src/__tests__/multiTenancy.security.test.ts +51 -0
- package/src/__tests__/multiTenancy.test.ts +1 -1
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +10 -0
- package/src/__tests__/ownedRealtimeSession.test.ts +39 -0
- package/src/__tests__/pushStatusResolver.filter.test.ts +64 -1
- package/src/__tests__/realtimeRecordingHandler.test.ts +669 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +29 -1
- package/src/__tests__/realtimeSessions/ownedRealtimeSession.anonymous.test.ts +31 -0
- package/src/__tests__/realtimeSessions/ownedRealtimeSession.namedScoped.test.ts +37 -0
- package/src/__tests__/realtimeSessions/sessionAccess.test.ts +146 -7
- package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +1 -1
- package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +25 -4
- package/src/__tests__/resolverBase.cloudEventChangedFields.test.ts +157 -0
- package/src/__tests__/resolverBase.fieldSecurityTransport.test.ts +222 -0
- package/src/__tests__/resolverBase.fls.test.ts +146 -97
- package/src/__tests__/restTransport.fieldSecurity.test.ts +148 -0
- package/src/__tests__/runParamsTimeZone.test.ts +179 -0
- package/src/__tests__/runStreams.fieldSecurity.test.ts +100 -0
- package/src/__tests__/runViewProperties.test.ts +114 -0
- package/src/__tests__/scalabilityBenchmarks.test.ts +765 -0
- package/src/__tests__/scalabilityDatabaseIntegration.test.ts +207 -0
- package/src/__tests__/serverExtensionHostOverlay.test.ts +66 -0
- package/src/__tests__/serverExtensionReservedRoots.test.ts +11 -98
- package/src/__tests__/sessionUserClone.test.ts +5 -1
- package/src/__tests__/sharedCache.test.ts +5 -3
- package/src/__tests__/startupSweepOrder.test.ts +40 -0
- package/src/__tests__/unifiedAuth.test.ts +28 -0
- package/src/__tests__/widgetGuestElevation.test.ts +2 -0
- package/src/agentSessions/SessionJanitor.ts +369 -93
- package/src/agentSessions/SessionManager.ts +45 -10
- package/src/apiRoot.ts +78 -0
- package/src/auth/AuthProviderCatalogRouter.ts +29 -0
- package/src/auth/LoginScreenEngine.ts +50 -0
- package/src/auth/index.ts +57 -12
- package/src/auth/initializeProviders.ts +43 -1
- package/src/auth/localDevAuth.ts +528 -0
- package/src/auth/magicLink/MagicLinkKeys.ts +2 -2
- package/src/auth/magicLink/MagicLinkRouter.ts +3 -2
- package/src/auth/magicLink/types.ts +10 -0
- package/src/auth/sessionUserClone.ts +3 -2
- package/src/broadcast/BaseCacheInvalidationBroadcastProvider.ts +674 -0
- package/src/broadcast/index.ts +5 -0
- package/src/broadcast/providers/AWSIoTCoreBroadcastProvider.ts +180 -0
- package/src/broadcast/providers/AzureWebPubSubBroadcastProvider.ts +182 -0
- package/src/broadcast/providers/GCPPubSubBroadcastProvider.ts +169 -0
- package/src/broadcast/providers/SequencedRoleBucketBroadcastProvider.ts +57 -0
- package/src/cache.ts +2 -1
- package/src/config.ts +115 -5
- package/src/context.ts +32 -8
- package/src/coreRoutes.ts +181 -0
- package/src/generated/graphql-schemas/__mj.ts +3684 -284
- package/src/generic/CacheInvalidationResolver.ts +172 -60
- package/src/generic/OrphanedConversationDetailReconciler.ts +4 -2
- package/src/generic/PubSubManager.ts +54 -1
- package/src/generic/PushStatusResolver.ts +109 -12
- package/src/generic/ResolverBase.ts +540 -431
- package/src/generic/RunViewResolver.ts +97 -15
- package/src/generic/actionOutputFieldSecurity.ts +75 -0
- package/src/generic/fieldSecurityTransport.ts +62 -0
- package/src/globalCors.ts +71 -0
- package/src/index.ts +239 -238
- package/src/integration/CustomColumnPromoter.ts +6 -1
- package/src/logging/variablesLoggingMiddleware.ts +59 -3
- package/src/multiTenancy/index.ts +24 -2
- package/src/realtimeSessions/README.md +7 -3
- package/src/realtimeSessions/RealtimeSessionVerificationService.ts +2 -1
- package/src/realtimeSessions/RealtimeVerifyRouter.ts +2 -1
- package/src/realtimeSessions/RecordingAssemblyScheduler.ts +234 -0
- package/src/realtimeSessions/SessionVerificationPortsBase.ts +1 -0
- package/src/realtimeSessions/index.ts +2 -0
- package/src/realtimeSessions/ownedRealtimeSession.ts +69 -0
- package/src/realtimeSessions/sessionAccess.ts +183 -23
- package/src/realtimeSessions/sessionConfigStamps.ts +1 -1
- package/src/realtimeSessions/subscriptionAuthorization.ts +4 -2
- package/src/realtimeSessions/verificationWorkflow.ts +3 -1
- package/src/realtimeWidget/WidgetRouter.ts +22 -4
- package/src/realtimeWidget/WidgetSessionService.ts +252 -17
- package/src/realtimeWidget/host-identity.ts +1 -1
- package/src/realtimeWidget/widgetCore.ts +30 -1
- package/src/realtimeWidget/widgetGuestElevation.ts +2 -1
- package/src/resolvers/ActionResolver.ts +78 -15
- package/src/resolvers/AdhocQueryResolver.ts +1 -0
- package/src/resolvers/AgentRunStatusPublisher.ts +36 -8
- package/src/resolvers/AgentSessionResolver.ts +46 -18
- package/src/resolvers/ArtifactFileResolver.ts +9 -8
- package/src/resolvers/ConversationRunEventsResolver.ts +15 -11
- package/src/resolvers/DatasetResolver.ts +70 -10
- package/src/resolvers/EntityCommunicationsResolver.ts +56 -15
- package/src/resolvers/EntityRecordNameResolver.ts +3 -2
- package/src/resolvers/FetchEntityVectorsResolver.ts +248 -55
- package/src/resolvers/FileCategoryResolver.ts +1 -0
- package/src/resolvers/FileResolver.ts +334 -109
- package/src/resolvers/GetDataContextDataResolver.ts +139 -41
- package/src/resolvers/GetDataResolver.ts +6 -3
- package/src/resolvers/IntegrationDiscoveryResolver.ts +53 -9
- package/src/resolvers/MergeRecordsResolver.ts +23 -2
- package/src/resolvers/PipelineProgressResolver.ts +12 -3
- package/src/resolvers/QueryResolver.ts +31 -6
- package/src/resolvers/QuerySystemUserResolver.ts +15 -6
- package/src/resolvers/RSUResolver.ts +12 -0
- package/src/resolvers/RealtimeClientSessionResolver.ts +114 -66
- package/src/resolvers/RemoteBrowserActionResolver.ts +15 -10
- package/src/resolvers/RunAIAgentResolver.ts +296 -85
- package/src/resolvers/RunTemplateResolver.ts +6 -4
- package/src/resolvers/RunTestResolver.ts +3 -1
- package/src/resolvers/SearchKnowledgeStreamResolver.ts +19 -3
- package/src/resolvers/SqlLoggingConfigResolver.ts +2 -4
- package/src/resolvers/SyncDataResolver.ts +4 -0
- package/src/resolvers/TaskGraphFrameResolver.ts +33 -1
- package/src/resolvers/TestQuerySQLResolver.ts +69 -13
- package/src/resolvers/TransactionGroupResolver.ts +185 -30
- package/src/resolvers/UserViewResolver.ts +2 -1
- package/src/resolvers/__tests__/GetDataResolver.validation.test.ts +95 -0
- package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +43 -0
- package/src/resolvers/agent-run-data-guard.ts +89 -0
- package/src/rest/EntityCRUDHandler.ts +22 -5
- package/src/rest/RESTEndpointHandler.ts +8 -5
- package/src/rest/RealtimeRecordingHandler.ts +467 -0
- package/src/rest/ViewOperationsHandler.ts +52 -18
- package/src/rest/setupRESTEndpoints.ts +6 -0
- package/src/serverExtensionReservedRoots.ts +14 -17
- package/src/serverRoleConfigUnits.ts +48 -0
- package/src/services/MJStorageBlobStore.ts +31 -30
- package/src/services/StartTaskGraphDispatcher.ts +2 -2
- package/src/services/TaskGraphActionRunner.ts +25 -5
- package/src/services/TaskGraphAgentRunner.ts +188 -11
- package/src/services/TaskGraphContinuationDeliverer.ts +738 -16
- package/src/sharedCache.ts +3 -0
- package/src/types.ts +23 -1
|
@@ -18,7 +18,7 @@ import { mj_core_schema } from '../../config.js';
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
import { MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentArtifactTypeEntity, MJAIAgentCategoryEntity, MJAIAgentChannelEntity, MJAIAgentClientToolEntity, MJAIAgentCoAgentEntity, MJAIAgentConfigurationEntity, MJAIAgentCredentialEntity, MJAIAgentDataSourceEntity, MJAIAgentExampleEntity, MJAIAgentHarnessEntity, MJAIAgentLearningCycleEntity, MJAIAgentModalityEntity, MJAIAgentModelEntity, MJAIAgentNoteTypeEntity, MJAIAgentNoteEntity, MJAIAgentPermissionEntity, MJAIAgentPersonaEntity, MJAIAgentPromptEntity, MJAIAgentRelationshipEntity, MJAIAgentRequestTypeEntity, MJAIAgentRequestEntity, MJAIAgentRubricEntity, MJAIAgentRunMediaEntity, MJAIAgentRunStepEntity, MJAIAgentRunEntity, MJAIAgentSearchScopeEntity, MJAIAgentSessionBridgeParticipantEntity, MJAIAgentSessionBridgeEntity, MJAIAgentSessionChannelEntity, MJAIAgentSessionEntity, MJAIAgentSkillEntity, MJAIAgentStepPathEntity, MJAIAgentStepEntity, MJAIAgentTypeEntity, MJAIAgentEntity, MJAIArchitectureEntity, MJAIBridgeAgentIdentityEntity, MJAIBridgeProviderChannelEntity, MJAIBridgeProviderEntity, MJAIClientToolDefinitionEntity, MJAIConfigurationParamEntity, MJAIConfigurationEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIModelActionEntity, MJAIModelArchitectureEntity, MJAIModelCostEntity, MJAIModelModalityEntity, MJAIModelPersonaEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIModelTypeEntity, MJAIModelVendorEntity, MJAIModelEntity, MJAIPersonaVendorEntity, MJAIPersonaEntity, MJAIPromptCategoryEntity, MJAIPromptModelEntity, MJAIPromptRunMediaEntity, MJAIPromptRunEntity, MJAIPromptTypeEntity, MJAIPromptEntity, MJAIRemoteBrowserProviderEntity, MJAIResultCacheEntity, MJAISkillActionEntity, MJAISkillPermissionEntity, MJAISkillSearchScopeEntity, MJAISkillSubAgentEntity, MJAISkillEntity, MJAIUsageTypeEntity, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeEntity, MJAIVendorEntity, MJAPIApplicationScopeEntity, MJAPIApplicationEntity, MJAPIKeyApplicationEntity, MJAPIKeyScopeEntity, MJAPIKeyUsageLogEntity, MJAPIKeyEntity, MJAPIScopeEntity, MJAccessControlRuleEntity, MJActionAuthorizationEntity, MJActionCategoryEntity, MJActionContextTypeEntity, MJActionContextEntity, MJActionExecutionLogEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity, MJActionEntity, MJApplicationEntityEntity, MJApplicationRoleEntity, MJApplicationSettingEntity, MJApplicationEntity, MJArchiveConfigurationEntityEntity, MJArchiveConfigurationEntity, MJArchiveRunDetailEntity, MJArchiveRunEntity, MJArtifactPermissionEntity, MJArtifactTypeEntity, MJArtifactUseEntity, MJArtifactVersionAttributeEntity, MJArtifactVersionEntity, MJArtifactEntity, MJAuditLogTypeEntity, MJAuditLogEntity, MJAuthenticationProviderEntity, MJAuthorizationRoleEntity, MJAuthorizationEntity, MJClusterAnalysisEntity, MJClusterAnalysisClusterEntity, MJCollectionArtifactEntity, MJCollectionPermissionEntity, MJCollectionEntity, MJCommunicationBaseMessageTypeEntity, MJCommunicationLogEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderEntity, MJCommunicationRunEntity, MJCompanyEntity, MJCompanyIntegrationEntityMapEntity, MJCompanyIntegrationFieldMapEntity, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunEntity, MJCompanyIntegrationSyncWatermarkEntity, MJCompanyIntegrationEntity, MJComponentDependencyEntity, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentRegistryEntity, MJComponentEntity, MJContentFileTypeEntity, MJContentItemAttributeEntity, MJContentItemChunkEntity, MJContentItemDuplicateEntity, MJContentItemTagEntity, MJContentItemEntity, MJContentProcessRunDetailEntity, MJContentProcessRunPromptRunEntity, MJContentProcessRunEntity, MJContentSourceParamEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeEntity, MJContentSourceEntity, MJContentTypeAttributeEntity, MJContentTypeEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactVersionEntity, MJConversationArtifactEntity, MJConversationBranchEntity, MJConversationCompactionRunEntity, MJConversationDetailArtifactEntity, MJConversationDetailAttachmentEntity, MJConversationDetailRatingEntity, MJConversationDetailEntity, MJConversationSkillEntity, MJConversationWidgetInstanceEntity, MJConversationEntity, MJCountryEntity, 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, MJEntityAIActionEntity, MJEntityActionFilterEntity, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationEntity, MJEntityActionParamEntity, MJEntityActionEntity, MJEntityCommunicationFieldEntity, MJEntityCommunicationMessageTypeEntity, MJEntityDocumentRunEntity, MJEntityDocumentSettingEntity, MJEntityDocumentTypeEntity, MJEntityDocumentEntity, MJEntityFieldPermissionEntity, MJEntityFieldValueEntity, MJEntityFieldEntity, MJEntityFormContributionEntity, MJEntityFormOverrideEntity, MJEntityOrganicKeyRelatedEntityEntity, MJEntityOrganicKeyEntity, MJEntityPermissionEntity, MJEntityRecordDocumentEntity, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipEntity, MJEntitySettingEntity, MJEnvironmentEntity, MJErrorLogEntity, MJExperimentSessionIterationEntity, MJExperimentSessionEntity, MJExperimentEntity, MJExplorerNavigationItemEntity, MJExternalDataSourceTypeEntity, MJExternalDataSourceEntity, MJFeaturePipelineTypeEntity, MJFeatureValueCacheEntity, MJFeatureValueEntity, MJFileCategoryEntity, MJFileEntityRecordLinkEntity, MJFileStorageAccountPermissionEntity, MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileEntity, MJFormChromeRuleEntity, MJGeneratedCodeCategoryEntity, MJGeneratedCodeEntity, MJIdentityClaimTypeEntity, MJIdentityClaimEntity, MJInstanceConfigurationEntity, MJIntegrationObjectFieldEntity, MJIntegrationObjectEntity, MJIntegrationSourceTypeEntity, MJIntegrationURLFormatEntity, MJIntegrationEntity, MJInteractionEventEntity, MJInteractionLinkEntity, MJInteractionOfferEntity, MJInteractionEntity, MJKnowledgeHubSavedSearchEntity, MJLibraryEntity, MJLibraryItemEntity, MJListCategoryEntity, MJListDetailEntity, MJListInvitationEntity, MJListShareEntity, MJListEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionToolEntity, MJMCPServerConnectionEntity, MJMCPServerToolEntity, MJMCPServerEntity, MJMCPToolExecutionLogEntity, MJMCPToolFavoriteEntity, MJMLAlgorithmUseCaseRankingEntity, MJMLAlgorithmUseCaseEntity, MJMLAlgorithmEntity, MJMLModelScoringBindingEntity, MJMLModelEntity, MJMLTrainingPipelineEntity, MJMLTrainingRunEntity, MJMagicLinkInviteAllowedDomainEntity, MJMagicLinkInviteAllowedPathEntity, MJMagicLinkInviteApplicationEntity, MJMagicLinkInviteRoleEntity, MJMagicLinkInviteEntity, MJMagicLinkRedemptionEntity, MJMaterializedResultQueryEntity, MJMaterializedResultEntity, MJMeetingParticipantEntity, MJMeetingEntity, MJNumberPoolEntity, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthorizationStateEntity, MJOAuthClientRegistrationEntity, MJOAuthTokenEntity, MJOpenAppDependencyEntity, MJOpenAppInstallHistoryEntity, MJOpenAppEntity, MJOutputDeliveryTypeEntity, MJOutputFormatTypeEntity, MJPermissionDomainEntity, MJPhoneNumberEntity, MJProcessRunDetailEntity, MJProcessRunEntity, MJProjectEntity, MJPublicLinkEntity, MJQueryEntity, MJQueryCategoryEntity, MJQueryDependencyEntity, MJQueryEntityEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryPermissionEntity, MJQuerySQLEntity, MJQueueTaskEntity, MJQueueTypeEntity, MJQueueEntity, MJRSUPendingWorkEntity, MJRecommendationItemEntity, MJRecommendationProviderEntity, MJRecommendationRunEntity, MJRecommendationEntity, MJRecordChangeReplayRunEntity, MJRecordChangeEntity, MJRecordCloneLogItemEntity, MJRecordCloneLogEntity, MJRecordGeoCodeEntity, MJRecordLinkEntity, MJRecordMergeDeletionLogEntity, MJRecordMergeLogEntity, MJRecordProcessCategoryEntity, MJRecordProcessWatermarkEntity, MJRecordProcessEntity, MJRemoteOperationCategoryEntity, MJRemoteOperationEntity, MJResourceLinkEntity, MJResourcePermissionEntity, MJResourceTypeEntity, MJRoleEntity, MJRowLevelSecurityFilterEntity, MJRubricBandEntity, MJRubricCategoryEntity, MJRubricCriterionEntity, MJRubricCriterionLevelEntity, MJRubricEvaluationScoreEntity, MJRubricEvaluationEntity, MJRubricScaleLevelEntity, MJRubricScaleEntity, MJRubricVersionEntity, MJRubricEntity, MJSQLDialectEntity, MJScheduledJobRunEntity, MJScheduledJobTypeEntity, MJScheduledJobEntity, MJSchemaInfoEntity, MJScopedNotificationConfigEntity, MJScopedPromptConfigEntity, MJScopedPromptPartEntity, MJSearchExecutionLogEntity, MJSearchProviderEntity, MJSearchScopeEntityEntity, MJSearchScopeExternalIndexEntity, MJSearchScopePermissionEntity, MJSearchScopeProviderEntity, MJSearchScopeStorageAccountEntity, MJSearchScopeTestQueryEntity, MJSearchScopeEntity, MJSignatureAccountEntity, MJSignatureProviderEntity, MJSignatureRequestDocumentEntity, MJSignatureRequestLogEntity, MJSignatureRequestRecipientEntity, MJSignatureRequestEntity, MJSkillEntity, MJStateProvinceEntity, MJTagAuditLogEntity, MJTagCoOccurrenceEntity, MJTagScopeEntity, MJTagSuggestionEntity, MJTagSynonymEntity, MJTaggedItemEntity, MJTagEntity, MJTaskDependencyEntity, MJTaskTypeEntity, MJTaskEntity, MJTemplateCategoryEntity, MJTemplateContentTypeEntity, MJTemplateContentEntity, MJTemplateParamEntity, MJTemplateEntity, MJTestRubricEntity, MJTestRunFeedbackEntity, MJTestRunOutputTypeEntity, MJTestRunOutputEntity, MJTestRunEntity, MJTestSuiteRunEntity, MJTestSuiteTestEntity, MJTestSuiteEntity, MJTestTypeEntity, MJTestEntity, MJThemeEntity, MJUserApplicationEntityEntity, MJUserApplicationEntity, MJUserFavoriteEntity, MJUserNotificationPreferenceEntity, MJUserNotificationTypeEntity, MJUserNotificationEntity, MJUserRecordLogEntity, MJUserRoleEntity, MJUserRoutineRecipientEntity, MJUserRoutineRunEntity, MJUserRoutineEntity, MJUserSettingEntity, MJUserViewCategoryEntity, MJUserViewRunDetailEntity, MJUserViewRunEntity, MJUserViewEntity, MJUserEntity, MJVectorDatabaseEntity, MJVectorIndexEntity, MJVersionInstallationEntity, MJVersionLabelItemEntity, MJVersionLabelRestoreEntity, MJVersionLabelEntity, MJViewTypeEntity, MJWebSearchProviderEntity, MJWorkQueueDeduplicationEntity, MJWorkQueueDeliveryEntity, MJWorkQueueMessageEntity, MJWorkQueueSubscriptionEntity, MJWorkQueueTopicEntity, MJWorkQueueTransportEntity, MJWorkspaceItemEntity, MJWorkspaceEntity } from '@memberjunction/core-entities';
|
|
21
|
+
import { MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentArtifactTypeEntity, MJAIAgentCategoryEntity, MJAIAgentChannelEntity, MJAIAgentClientToolEntity, MJAIAgentCoAgentEntity, MJAIAgentConfigurationEntity, MJAIAgentCredentialEntity, MJAIAgentDataSourceEntity, MJAIAgentExampleEntity, MJAIAgentHarnessEntity, MJAIAgentLearningCycleEntity, MJAIAgentModalityEntity, MJAIAgentModelEntity, MJAIAgentNoteTypeEntity, MJAIAgentNoteEntity, MJAIAgentPermissionEntity, MJAIAgentPersonaEntity, MJAIAgentPromptEntity, MJAIAgentRelationshipEntity, MJAIAgentRequestTypeEntity, MJAIAgentRequestEntity, MJAIAgentRubricEntity, MJAIAgentRunMediaEntity, MJAIAgentRunStepEntity, MJAIAgentRunEntity, MJAIAgentSearchScopeEntity, MJAIAgentSessionBridgeParticipantEntity, MJAIAgentSessionBridgeEntity, MJAIAgentSessionChannelEntity, MJAIAgentSessionRecordingShardEntity, MJAIAgentSessionEntity, MJAIAgentSkillEntity, MJAIAgentStepPathEntity, MJAIAgentStepEntity, MJAIAgentTypeEntity, MJAIAgentUserPolicyEntity, MJAIAgentEntity, MJAIArchitectureEntity, MJAIBridgeAgentIdentityEntity, MJAIBridgeProviderChannelEntity, MJAIBridgeProviderEntity, MJAIClientToolDefinitionEntity, MJAIConfigurationParamEntity, MJAIConfigurationEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIModelActionEntity, MJAIModelArchitectureEntity, MJAIModelCostEntity, MJAIModelModalityEntity, MJAIModelPersonaEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIModelTypeEntity, MJAIModelVendorEntity, MJAIModelEntity, MJAIPersonaVendorEntity, MJAIPersonaEntity, MJAIPromptCategoryEntity, MJAIPromptModelEntity, MJAIPromptRunMediaEntity, MJAIPromptRunEntity, MJAIPromptTypeEntity, MJAIPromptEntity, MJAIRemoteBrowserProviderEntity, MJAIResultCacheEntity, MJAISkillActionEntity, MJAISkillPermissionEntity, MJAISkillSearchScopeEntity, MJAISkillSubAgentEntity, MJAISkillEntity, MJAIUsageTypeEntity, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeEntity, MJAIVendorEntity, MJAPIApplicationScopeEntity, MJAPIApplicationEntity, MJAPIKeyApplicationEntity, MJAPIKeyScopeEntity, MJAPIKeyUsageLogEntity, MJAPIKeyEntity, MJAPIScopeEntity, MJAccessControlRuleEntity, MJActionAuthorizationEntity, MJActionCategoryEntity, MJActionContextTypeEntity, MJActionContextEntity, MJActionExecutionLogEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity, MJActionEntity, MJApplicationEntityEntity, MJApplicationRoleEntity, MJApplicationSettingEntity, MJApplicationEntity, MJArchiveConfigurationEntityEntity, MJArchiveConfigurationEntity, MJArchiveRunDetailEntity, MJArchiveRunEntity, MJArtifactPermissionEntity, MJArtifactTypeEntity, MJArtifactUseEntity, MJArtifactVersionAttributeEntity, MJArtifactVersionEntity, MJArtifactEntity, MJAuditLogTypeEntity, MJAuditLogEntity, MJAuthenticationProviderEntity, MJAuthorizationRoleEntity, MJAuthorizationEntity, MJCalendarEventLinkEntity, MJCalendarSyncStateEntity, MJClusterAnalysisEntity, MJClusterAnalysisClusterEntity, MJCollectionArtifactEntity, MJCollectionPermissionEntity, MJCollectionEntity, MJCommunicationBaseMessageTypeEntity, MJCommunicationLogEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderEntity, MJCommunicationRunEntity, MJCompanyEntity, MJCompanyIntegrationEntityMapEntity, MJCompanyIntegrationFieldMapEntity, MJCompanyIntegrationObjectFieldEntity, MJCompanyIntegrationObjectEntity, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunEntity, MJCompanyIntegrationSyncWatermarkEntity, MJCompanyIntegrationEntity, MJComponentDependencyEntity, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentRegistryEntity, MJComponentEntity, MJContentFileTypeEntity, MJContentItemAttributeEntity, MJContentItemChunkEntity, MJContentItemDuplicateEntity, MJContentItemTagEntity, MJContentItemEntity, MJContentProcessRunDetailEntity, MJContentProcessRunPromptRunEntity, MJContentProcessRunEntity, MJContentSourceParamEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeEntity, MJContentSourceEntity, MJContentTypeAttributeEntity, MJContentTypeEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactVersionEntity, MJConversationArtifactEntity, MJConversationBranchEntity, MJConversationCompactionRunEntity, MJConversationDetailArtifactEntity, MJConversationDetailAttachmentEntity, MJConversationDetailRatingEntity, MJConversationDetailEntity, MJConversationSkillEntity, MJConversationWidgetInstanceEntity, MJConversationEntity, MJCountryEntity, 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, MJEntityAIActionEntity, MJEntityActionFilterEntity, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationEntity, MJEntityActionParamEntity, MJEntityActionEntity, MJEntityAlternateBaseViewEntity, MJEntityCommunicationFieldEntity, MJEntityCommunicationMessageTypeEntity, MJEntityDocumentRunEntity, MJEntityDocumentSettingEntity, MJEntityDocumentTypeEntity, MJEntityDocumentEntity, MJEntityFieldPermissionEntity, MJEntityFieldValueEntity, MJEntityFieldEntity, MJEntityFormContributionEntity, MJEntityFormOverrideEntity, MJEntityOrganicKeyRelatedEntityEntity, MJEntityOrganicKeyEntity, MJEntityPermissionEntity, MJEntityRecordDocumentEntity, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipEntity, MJEntitySettingEntity, MJEnvironmentEntity, MJErrorLogEntity, MJExperimentSessionIterationEntity, MJExperimentSessionEntity, MJExperimentEntity, MJExplorerNavigationItemEntity, MJExternalDataSourceTypeEntity, MJExternalDataSourceEntity, MJFeaturePipelineTypeEntity, MJFeaturePipelineVersionEntity, MJFeatureValueCacheEntity, MJFeatureValueEntity, MJFileCategoryEntity, MJFileEntityRecordLinkEntity, MJFileStorageAccountPermissionEntity, MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileEntity, MJFormChromeRuleEntity, MJGeneratedCodeCategoryEntity, MJGeneratedCodeEntity, MJIdentityClaimTypeEntity, MJIdentityClaimEntity, MJInstanceConfigurationEntity, MJIntegrationObjectFieldEntity, MJIntegrationObjectEntity, MJIntegrationSourceTypeEntity, MJIntegrationURLFormatEntity, MJIntegrationEntity, MJInteractionEventEntity, MJInteractionLinkEntity, MJInteractionOfferEntity, MJInteractionEntity, MJKnowledgeHubSavedSearchEntity, MJLibraryEntity, MJLibraryItemEntity, MJListCategoryEntity, MJListDetailEntity, MJListInvitationEntity, MJListShareEntity, MJListEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionToolEntity, MJMCPServerConnectionEntity, MJMCPServerToolEntity, MJMCPServerEntity, MJMCPToolExecutionLogEntity, MJMCPToolFavoriteEntity, MJMLAlgorithmUseCaseRankingEntity, MJMLAlgorithmUseCaseEntity, MJMLAlgorithmEntity, MJMLModelScoringBindingEntity, MJMLModelEntity, MJMLTrainingPipelineEntity, MJMLTrainingRunEntity, MJMagicLinkInviteAllowedDomainEntity, MJMagicLinkInviteAllowedPathEntity, MJMagicLinkInviteApplicationEntity, MJMagicLinkInviteRoleEntity, MJMagicLinkInviteEntity, MJMagicLinkRedemptionEntity, MJMaterializedResultQueryEntity, MJMaterializedResultEntity, MJMeetingParticipantEntity, MJMeetingEntity, MJNumberPoolEntity, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthorizationStateEntity, MJOAuthClientRegistrationEntity, MJOAuthTokenEntity, MJOpenAppDependencyEntity, MJOpenAppInstallHistoryEntity, MJOpenAppEntity, MJOutputDeliveryTypeEntity, MJOutputFormatTypeEntity, MJPermissionDomainEntity, MJPhoneNumberEntity, MJProcessRunDetailEntity, MJProcessRunEntity, MJProjectEntity, MJPublicLinkEntity, MJQueryEntity, MJQueryCategoryEntity, MJQueryDependencyEntity, MJQueryEntityEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryPermissionEntity, MJQuerySQLEntity, MJQueueTaskEntity, MJQueueTypeEntity, MJQueueEntity, MJRSUPendingWorkEntity, MJRecommendationItemEntity, MJRecommendationProviderEntity, MJRecommendationRunEntity, MJRecommendationEntity, MJRecordChangeReplayRunEntity, MJRecordChangeEntity, MJRecordCloneLogItemEntity, MJRecordCloneLogEntity, MJRecordGeoCodeEntity, MJRecordLinkEntity, MJRecordMergeDeletionLogEntity, MJRecordMergeLogEntity, MJRecordProcessCategoryEntity, MJRecordProcessWatermarkEntity, MJRecordProcessEntity, MJRemoteOperationCategoryEntity, MJRemoteOperationEntity, MJResourceLinkEntity, MJResourcePermissionEntity, MJResourceTypeEntity, MJRoleEntity, MJRowLevelSecurityFilterEntity, MJRubricBandEntity, MJRubricCategoryEntity, MJRubricCriterionEntity, MJRubricCriterionLevelEntity, MJRubricEvaluationScoreEntity, MJRubricEvaluationEntity, MJRubricScaleLevelEntity, MJRubricScaleEntity, MJRubricVersionEntity, MJRubricEntity, MJSQLDialectEntity, MJScheduledJobRunEntity, MJScheduledJobTypeEntity, MJScheduledJobEntity, MJSchemaInfoEntity, MJScopedNotificationConfigEntity, MJScopedPromptConfigEntity, MJScopedPromptPartEntity, MJSearchExecutionLogEntity, MJSearchProviderEntity, MJSearchScopeEntityEntity, MJSearchScopeExternalIndexEntity, MJSearchScopePermissionEntity, MJSearchScopeProviderEntity, MJSearchScopeStorageAccountEntity, MJSearchScopeTestQueryEntity, MJSearchScopeEntity, MJSignatureAccountEntity, MJSignatureProviderEntity, MJSignatureRequestDocumentEntity, MJSignatureRequestLogEntity, MJSignatureRequestRecipientEntity, MJSignatureRequestEntity, MJSkillEntity, MJStateProvinceEntity, MJTagAuditLogEntity, MJTagCoOccurrenceEntity, MJTagScopeEntity, MJTagSuggestionEntity, MJTagSynonymEntity, MJTaggedItemEntity, MJTagEntity, MJTaskDependencyEntity, MJTaskTypeEntity, MJTaskEntity, MJTemplateCategoryEntity, MJTemplateContentTypeEntity, MJTemplateContentEntity, MJTemplateParamEntity, MJTemplateEntity, MJTestRubricEntity, MJTestRunFeedbackEntity, MJTestRunOutputTypeEntity, MJTestRunOutputEntity, MJTestRunEntity, MJTestSuiteRunEntity, MJTestSuiteTestEntity, MJTestSuiteEntity, MJTestTypeEntity, MJTestEntity, MJThemeEntity, MJUserApplicationEntityEntity, MJUserApplicationEntity, MJUserFavoriteEntity, MJUserNotificationPreferenceEntity, MJUserNotificationTypeEntity, MJUserNotificationEntity, MJUserRecordLogEntity, MJUserRoleEntity, MJUserRoutineRecipientEntity, MJUserRoutineRunEntity, MJUserRoutineEntity, MJUserSettingEntity, MJUserViewCategoryEntity, MJUserViewRunDetailEntity, MJUserViewRunEntity, MJUserViewEntity, MJUserEntity, MJVectorDatabaseEntity, MJVectorIndexEntity, MJVersionInstallationEntity, MJVersionLabelItemEntity, MJVersionLabelRestoreEntity, MJVersionLabelEntity, MJViewTypeEntity, MJWebSearchProviderEntity, MJWorkQueueDeduplicationEntity, MJWorkQueueDeliveryEntity, MJWorkQueueMessageEntity, MJWorkQueueSubscriptionEntity, MJWorkQueueTopicEntity, MJWorkQueueTransportEntity, MJWorkspaceItemEntity, MJWorkspaceEntity } from '@memberjunction/core-entities';
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
//****************************************************************************
|
|
@@ -5994,10 +5994,10 @@ export class MJAIAgentRunStep_ {
|
|
|
5994
5994
|
@MaxLength(36)
|
|
5995
5995
|
TargetLogID?: string;
|
|
5996
5996
|
|
|
5997
|
-
@Field({nullable: true, description: "JSON serialization of the Payload state at the start of this step"})
|
|
5997
|
+
@Field({nullable: true, description: "JSON serialization of the Payload state at the start of this step. NULL when PayloadAtStartSourceStepID is set; the starting payload is then the PayloadAtEnd of that step."})
|
|
5998
5998
|
PayloadAtStart?: string;
|
|
5999
5999
|
|
|
6000
|
-
@Field({nullable: true, description: "JSON serialization of the Payload state at the end of this step"})
|
|
6000
|
+
@Field({nullable: true, description: "JSON serialization of the Payload state at the end of this step. NULL when PayloadAtEndSourceStepID is set; the ending payload is then the PayloadAtEnd of that step."})
|
|
6001
6001
|
PayloadAtEnd?: string;
|
|
6002
6002
|
|
|
6003
6003
|
@Field({nullable: true, description: "Result of the final payload validation for this step. Pass indicates successful\nvalidation, Retry means validation failed but will retry, Fail means validation failed\npermanently, Warn means validation failed but execution continues."})
|
|
@@ -6030,6 +6030,14 @@ export class MJAIAgentRunStep_ {
|
|
|
6030
6030
|
@Field(() => Boolean, {nullable: true, description: "For native tool-calling steps: 1 = the results of this step's tool calls were returned to the model as native tool-result turns, 0 = as the markdown action-results user message. NULL for envelope steps and for rows predating the feature."})
|
|
6031
6031
|
NativeToolResultsSent?: boolean;
|
|
6032
6032
|
|
|
6033
|
+
@Field({nullable: true, description: "When set, PayloadAtStart is not stored on this row because it equals the PayloadAtEnd of the referenced step in the same run. Read that step's PayloadAtEnd to get this step's starting payload."})
|
|
6034
|
+
@MaxLength(36)
|
|
6035
|
+
PayloadAtStartSourceStepID?: string;
|
|
6036
|
+
|
|
6037
|
+
@Field({nullable: true, description: "When set, PayloadAtEnd is not stored on this row because it equals the PayloadAtEnd of the referenced step in the same run. Read that step's PayloadAtEnd to get this step's ending payload."})
|
|
6038
|
+
@MaxLength(36)
|
|
6039
|
+
PayloadAtEndSourceStepID?: string;
|
|
6040
|
+
|
|
6033
6041
|
@Field({nullable: true})
|
|
6034
6042
|
@MaxLength(255)
|
|
6035
6043
|
AgentRun?: string;
|
|
@@ -6038,6 +6046,14 @@ export class MJAIAgentRunStep_ {
|
|
|
6038
6046
|
@MaxLength(255)
|
|
6039
6047
|
Parent?: string;
|
|
6040
6048
|
|
|
6049
|
+
@Field({nullable: true})
|
|
6050
|
+
@MaxLength(255)
|
|
6051
|
+
PayloadAtStartSourceStep?: string;
|
|
6052
|
+
|
|
6053
|
+
@Field({nullable: true})
|
|
6054
|
+
@MaxLength(255)
|
|
6055
|
+
PayloadAtEndSourceStep?: string;
|
|
6056
|
+
|
|
6041
6057
|
@Field({nullable: true})
|
|
6042
6058
|
@MaxLength(36)
|
|
6043
6059
|
RootParentID?: string;
|
|
@@ -6139,6 +6155,12 @@ export class CreateMJAIAgentRunStepInput {
|
|
|
6139
6155
|
@Field(() => Boolean, { nullable: true })
|
|
6140
6156
|
NativeToolResultsSent: boolean | null;
|
|
6141
6157
|
|
|
6158
|
+
@Field({ nullable: true })
|
|
6159
|
+
PayloadAtStartSourceStepID: string | null;
|
|
6160
|
+
|
|
6161
|
+
@Field({ nullable: true })
|
|
6162
|
+
PayloadAtEndSourceStepID: string | null;
|
|
6163
|
+
|
|
6142
6164
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
6143
6165
|
RestoreContext___?: RestoreContextInput;
|
|
6144
6166
|
}
|
|
@@ -6224,6 +6246,12 @@ export class UpdateMJAIAgentRunStepInput {
|
|
|
6224
6246
|
@Field(() => Boolean, { nullable: true })
|
|
6225
6247
|
NativeToolResultsSent?: boolean | null;
|
|
6226
6248
|
|
|
6249
|
+
@Field({ nullable: true })
|
|
6250
|
+
PayloadAtStartSourceStepID?: string | null;
|
|
6251
|
+
|
|
6252
|
+
@Field({ nullable: true })
|
|
6253
|
+
PayloadAtEndSourceStepID?: string | null;
|
|
6254
|
+
|
|
6227
6255
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
6228
6256
|
OldValues___?: KeyValuePairInput[];
|
|
6229
6257
|
|
|
@@ -6358,7 +6386,7 @@ export class MJAIAgentRun_ {
|
|
|
6358
6386
|
@MaxLength(36)
|
|
6359
6387
|
UserID?: string;
|
|
6360
6388
|
|
|
6361
|
-
@Field({nullable: true, description: "
|
|
6389
|
+
@Field({nullable: true, description: "Deprecated. No longer written by agent runs; use FinalPayload, which holds the same value. Kept for existing rows and external readers."})
|
|
6362
6390
|
Result?: string;
|
|
6363
6391
|
|
|
6364
6392
|
@Field({nullable: true, description: "JSON serialization of the complete agent state, including conversation context, variables, and execution state. Enables pause/resume functionality."})
|
|
@@ -6503,6 +6531,9 @@ export class MJAIAgentRun_ {
|
|
|
6503
6531
|
@Field(() => Int, {nullable: true, description: "How many task-graph continuations led to this run. 0 (the default, and the value every ordinary run carries) means the run was not started by a finished graph. A run started because a graph declared continuation='reinvoke' records its source graph's depth plus one, and any graph that run subsequently submits inherits that value — which is what allows MAX_REINVOKE_DEPTH to bound a chain of graph-reinvokes-agent-emits-graph. Without a durable value here the cap could never fire, because a reinvoked agent has no other way to learn it was a continuation. Distinct from ParentRunID, which tracks sub-agent lineage within a single turn; a continuation is a NEW top-level turn caused by work that already completed."})
|
|
6504
6532
|
ContinuationDepth?: number;
|
|
6505
6533
|
|
|
6534
|
+
@Field({nullable: true, description: "The run's bound action parameters (ExecuteAgentParams.boundActionParams) as JSON, keyed by Action ID and then parameter name. Written when the run starts, so a run resumed from a stored request applies the same bindings. Null when the run had none."})
|
|
6535
|
+
BoundActionParams?: string;
|
|
6536
|
+
|
|
6506
6537
|
@Field({nullable: true})
|
|
6507
6538
|
@MaxLength(255)
|
|
6508
6539
|
Agent?: string;
|
|
@@ -6730,6 +6761,9 @@ export class CreateMJAIAgentRunInput {
|
|
|
6730
6761
|
@Field(() => Int, { nullable: true })
|
|
6731
6762
|
ContinuationDepth?: number;
|
|
6732
6763
|
|
|
6764
|
+
@Field({ nullable: true })
|
|
6765
|
+
BoundActionParams: string | null;
|
|
6766
|
+
|
|
6733
6767
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
6734
6768
|
RestoreContext___?: RestoreContextInput;
|
|
6735
6769
|
}
|
|
@@ -6893,6 +6927,9 @@ export class UpdateMJAIAgentRunInput {
|
|
|
6893
6927
|
@Field(() => Int, { nullable: true })
|
|
6894
6928
|
ContinuationDepth?: number;
|
|
6895
6929
|
|
|
6930
|
+
@Field({ nullable: true })
|
|
6931
|
+
BoundActionParams?: string | null;
|
|
6932
|
+
|
|
6896
6933
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
6897
6934
|
OldValues___?: KeyValuePairInput[];
|
|
6898
6935
|
|
|
@@ -7963,6 +8000,214 @@ export class MJAIAgentSessionChannelResolver extends ResolverBase {
|
|
|
7963
8000
|
|
|
7964
8001
|
}
|
|
7965
8002
|
|
|
8003
|
+
//****************************************************************************
|
|
8004
|
+
// ENTITY CLASS for MJ: AI Agent Session Recording Shards
|
|
8005
|
+
//****************************************************************************
|
|
8006
|
+
@ObjectType({ description: "One 5-second Opus recording shard (MJOPUS1 format) uploaded by the browser during a client-direct realtime call, staged here until the server assembles the session recording. Deleted once the recording is Complete, or by the session janitor after its lookback window." })
|
|
8007
|
+
export class MJAIAgentSessionRecordingShard_ {
|
|
8008
|
+
@Field()
|
|
8009
|
+
@MaxLength(36)
|
|
8010
|
+
ID: string;
|
|
8011
|
+
|
|
8012
|
+
@Field({nullable: true})
|
|
8013
|
+
@MaxLength(36)
|
|
8014
|
+
AgentSessionID?: string;
|
|
8015
|
+
|
|
8016
|
+
@Field(() => Int, {nullable: true, description: "Zero-based position of the shard in the recording. Unique per session; a retry of the same index with the same bytes is acknowledged, with different bytes it is refused."})
|
|
8017
|
+
Index?: number;
|
|
8018
|
+
|
|
8019
|
+
@Field(() => Int, {nullable: true, description: "Sample position (48 kHz) where this shard's audio starts in the recording."})
|
|
8020
|
+
StartSample?: number;
|
|
8021
|
+
|
|
8022
|
+
@Field(() => Int, {nullable: true, description: "Number of audio samples (48 kHz) the shard covers."})
|
|
8023
|
+
SampleCount?: number;
|
|
8024
|
+
|
|
8025
|
+
@Field(() => Int, {nullable: true, description: "Size of Data in bytes."})
|
|
8026
|
+
Bytes?: number;
|
|
8027
|
+
|
|
8028
|
+
@Field({nullable: true, description: "Lowercase hex SHA-256 of Data; decides whether a repeated upload of the same index is a retry or a conflict."})
|
|
8029
|
+
@MaxLength(64)
|
|
8030
|
+
Sha256?: string;
|
|
8031
|
+
|
|
8032
|
+
@Field({nullable: true, description: "The shard bytes as uploaded (MJOPUS1 header followed by length-prefixed Opus packets)."})
|
|
8033
|
+
Data?: string;
|
|
8034
|
+
|
|
8035
|
+
@Field({nullable: true, description: "When the server first stored this shard."})
|
|
8036
|
+
ReceivedAt?: Date;
|
|
8037
|
+
|
|
8038
|
+
@Field()
|
|
8039
|
+
_mj__CreatedAt: Date;
|
|
8040
|
+
|
|
8041
|
+
@Field()
|
|
8042
|
+
_mj__UpdatedAt: Date;
|
|
8043
|
+
|
|
8044
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
8045
|
+
ReadableFields___?: string[];
|
|
8046
|
+
|
|
8047
|
+
}
|
|
8048
|
+
|
|
8049
|
+
//****************************************************************************
|
|
8050
|
+
// INPUT TYPE for MJ: AI Agent Session Recording Shards
|
|
8051
|
+
//****************************************************************************
|
|
8052
|
+
@InputType()
|
|
8053
|
+
export class CreateMJAIAgentSessionRecordingShardInput {
|
|
8054
|
+
@Field({ nullable: true })
|
|
8055
|
+
ID?: string;
|
|
8056
|
+
|
|
8057
|
+
@Field({ nullable: true })
|
|
8058
|
+
AgentSessionID?: string;
|
|
8059
|
+
|
|
8060
|
+
@Field(() => Int, { nullable: true })
|
|
8061
|
+
Index?: number;
|
|
8062
|
+
|
|
8063
|
+
@Field(() => Int, { nullable: true })
|
|
8064
|
+
StartSample?: number;
|
|
8065
|
+
|
|
8066
|
+
@Field(() => Int, { nullable: true })
|
|
8067
|
+
SampleCount?: number;
|
|
8068
|
+
|
|
8069
|
+
@Field(() => Int, { nullable: true })
|
|
8070
|
+
Bytes?: number;
|
|
8071
|
+
|
|
8072
|
+
@Field({ nullable: true })
|
|
8073
|
+
Sha256?: string;
|
|
8074
|
+
|
|
8075
|
+
@Field({ nullable: true })
|
|
8076
|
+
Data?: string;
|
|
8077
|
+
|
|
8078
|
+
@Field({ nullable: true })
|
|
8079
|
+
ReceivedAt?: Date;
|
|
8080
|
+
|
|
8081
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
8082
|
+
RestoreContext___?: RestoreContextInput;
|
|
8083
|
+
}
|
|
8084
|
+
|
|
8085
|
+
|
|
8086
|
+
//****************************************************************************
|
|
8087
|
+
// INPUT TYPE for MJ: AI Agent Session Recording Shards
|
|
8088
|
+
//****************************************************************************
|
|
8089
|
+
@InputType()
|
|
8090
|
+
export class UpdateMJAIAgentSessionRecordingShardInput {
|
|
8091
|
+
@Field()
|
|
8092
|
+
ID: string;
|
|
8093
|
+
|
|
8094
|
+
@Field({ nullable: true })
|
|
8095
|
+
AgentSessionID?: string;
|
|
8096
|
+
|
|
8097
|
+
@Field(() => Int, { nullable: true })
|
|
8098
|
+
Index?: number;
|
|
8099
|
+
|
|
8100
|
+
@Field(() => Int, { nullable: true })
|
|
8101
|
+
StartSample?: number;
|
|
8102
|
+
|
|
8103
|
+
@Field(() => Int, { nullable: true })
|
|
8104
|
+
SampleCount?: number;
|
|
8105
|
+
|
|
8106
|
+
@Field(() => Int, { nullable: true })
|
|
8107
|
+
Bytes?: number;
|
|
8108
|
+
|
|
8109
|
+
@Field({ nullable: true })
|
|
8110
|
+
Sha256?: string;
|
|
8111
|
+
|
|
8112
|
+
@Field({ nullable: true })
|
|
8113
|
+
Data?: string;
|
|
8114
|
+
|
|
8115
|
+
@Field({ nullable: true })
|
|
8116
|
+
ReceivedAt?: Date;
|
|
8117
|
+
|
|
8118
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
8119
|
+
OldValues___?: KeyValuePairInput[];
|
|
8120
|
+
|
|
8121
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
8122
|
+
RestoreContext___?: RestoreContextInput;
|
|
8123
|
+
}
|
|
8124
|
+
|
|
8125
|
+
//****************************************************************************
|
|
8126
|
+
// RESOLVER for MJ: AI Agent Session Recording Shards
|
|
8127
|
+
//****************************************************************************
|
|
8128
|
+
@ObjectType()
|
|
8129
|
+
export class RunMJAIAgentSessionRecordingShardViewResult {
|
|
8130
|
+
@Field(() => [MJAIAgentSessionRecordingShard_])
|
|
8131
|
+
Results: MJAIAgentSessionRecordingShard_[];
|
|
8132
|
+
|
|
8133
|
+
@Field(() => String, {nullable: true})
|
|
8134
|
+
UserViewRunID?: string;
|
|
8135
|
+
|
|
8136
|
+
@Field(() => Int, {nullable: true})
|
|
8137
|
+
RowCount: number;
|
|
8138
|
+
|
|
8139
|
+
@Field(() => Int, {nullable: true})
|
|
8140
|
+
TotalRowCount: number;
|
|
8141
|
+
|
|
8142
|
+
@Field(() => Int, {nullable: true})
|
|
8143
|
+
ExecutionTime: number;
|
|
8144
|
+
|
|
8145
|
+
@Field({nullable: true})
|
|
8146
|
+
ErrorMessage?: string;
|
|
8147
|
+
|
|
8148
|
+
@Field(() => Boolean, {nullable: false})
|
|
8149
|
+
Success: boolean;
|
|
8150
|
+
}
|
|
8151
|
+
|
|
8152
|
+
@Resolver(MJAIAgentSessionRecordingShard_)
|
|
8153
|
+
export class MJAIAgentSessionRecordingShardResolver extends ResolverBase {
|
|
8154
|
+
@Query(() => RunMJAIAgentSessionRecordingShardViewResult)
|
|
8155
|
+
async RunMJAIAgentSessionRecordingShardViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8156
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8157
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
8158
|
+
}
|
|
8159
|
+
|
|
8160
|
+
@Query(() => RunMJAIAgentSessionRecordingShardViewResult)
|
|
8161
|
+
async RunMJAIAgentSessionRecordingShardViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8162
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8163
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
8164
|
+
}
|
|
8165
|
+
|
|
8166
|
+
@Query(() => RunMJAIAgentSessionRecordingShardViewResult)
|
|
8167
|
+
async RunMJAIAgentSessionRecordingShardDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8168
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8169
|
+
input.EntityName = 'MJ: AI Agent Session Recording Shards';
|
|
8170
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
8171
|
+
}
|
|
8172
|
+
@Query(() => MJAIAgentSessionRecordingShard_, { nullable: true })
|
|
8173
|
+
async MJAIAgentSessionRecordingShard(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJAIAgentSessionRecordingShard_ | null> {
|
|
8174
|
+
this.CheckUserReadPermissions('MJ: AI Agent Session Recording Shards', userPayload);
|
|
8175
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8176
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwAIAgentSessionRecordingShards')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: AI Agent Session Recording Shards', userPayload, EntityPermissionType.Read, 'AND');
|
|
8177
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
8178
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: AI Agent Session Recording Shards', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
8179
|
+
return result;
|
|
8180
|
+
}
|
|
8181
|
+
|
|
8182
|
+
@Mutation(() => MJAIAgentSessionRecordingShard_)
|
|
8183
|
+
async CreateMJAIAgentSessionRecordingShard(
|
|
8184
|
+
@Arg('input', () => CreateMJAIAgentSessionRecordingShardInput) input: CreateMJAIAgentSessionRecordingShardInput,
|
|
8185
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
8186
|
+
@PubSub() pubSub: PubSubEngine
|
|
8187
|
+
) {
|
|
8188
|
+
const provider = GetReadWriteProvider(providers);
|
|
8189
|
+
return this.CreateRecord('MJ: AI Agent Session Recording Shards', input, provider, userPayload, pubSub)
|
|
8190
|
+
}
|
|
8191
|
+
|
|
8192
|
+
@Mutation(() => MJAIAgentSessionRecordingShard_)
|
|
8193
|
+
async UpdateMJAIAgentSessionRecordingShard(
|
|
8194
|
+
@Arg('input', () => UpdateMJAIAgentSessionRecordingShardInput) input: UpdateMJAIAgentSessionRecordingShardInput,
|
|
8195
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
8196
|
+
@PubSub() pubSub: PubSubEngine
|
|
8197
|
+
) {
|
|
8198
|
+
const provider = GetReadWriteProvider(providers);
|
|
8199
|
+
return this.UpdateRecord('MJ: AI Agent Session Recording Shards', input, provider, userPayload, pubSub);
|
|
8200
|
+
}
|
|
8201
|
+
|
|
8202
|
+
@Mutation(() => MJAIAgentSessionRecordingShard_)
|
|
8203
|
+
async DeleteMJAIAgentSessionRecordingShard(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8204
|
+
const provider = GetReadWriteProvider(providers);
|
|
8205
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
8206
|
+
return this.DeleteRecord('MJ: AI Agent Session Recording Shards', key, options, provider, userPayload, pubSub);
|
|
8207
|
+
}
|
|
8208
|
+
|
|
8209
|
+
}
|
|
8210
|
+
|
|
7966
8211
|
//****************************************************************************
|
|
7967
8212
|
// ENTITY CLASS for MJ: AI Agent Sessions
|
|
7968
8213
|
//****************************************************************************
|
|
@@ -8034,6 +8279,22 @@ export class MJAIAgentSession_ {
|
|
|
8034
8279
|
@MaxLength(500)
|
|
8035
8280
|
LinkedRecordID?: string;
|
|
8036
8281
|
|
|
8282
|
+
@Field({nullable: true, description: "State of the server-side recording assembly for a client-direct session recorded as Opus shards: Pending (shards or a terminal signal are waiting to be assembled), Assembling (claimed by one server instance), Complete (recording.wav holds every captured sample), Partial (assembled with silent gaps, listed in RecordingGaps), Failed (a shard conflict or an assembly error needs a human). NULL when the session was not recorded this way."})
|
|
8283
|
+
@MaxLength(20)
|
|
8284
|
+
RecordingStatus?: string;
|
|
8285
|
+
|
|
8286
|
+
@Field(() => Int, {nullable: true, description: "Number of recording shards the browser reported in its terminal signal (last shard index + 1). NULL until a terminal signal arrives."})
|
|
8287
|
+
RecordingExpectedShards?: number;
|
|
8288
|
+
|
|
8289
|
+
@Field(() => Int, {nullable: true, description: "Total audio samples (48 kHz mono) the browser captured, from its terminal signal. The assembled recording.wav is exactly this long. NULL until a terminal signal arrives."})
|
|
8290
|
+
RecordingCapturedSamples?: number;
|
|
8291
|
+
|
|
8292
|
+
@Field({nullable: true, description: "JSON array of the silent gaps in a Partial recording: [{startSample, sampleCount, indexes}], sample positions at 48 kHz and the shard indexes that were missing. Empty or NULL when nothing is missing."})
|
|
8293
|
+
RecordingGaps?: string;
|
|
8294
|
+
|
|
8295
|
+
@Field(() => Int, {nullable: true, description: "Incremented by every assembly claim. The assembler finishes only if the version is still the one it claimed, so a newer assembly always wins over a slower older one."})
|
|
8296
|
+
RecordingAssemblyVersion?: number;
|
|
8297
|
+
|
|
8037
8298
|
@Field({nullable: true})
|
|
8038
8299
|
@MaxLength(255)
|
|
8039
8300
|
Agent?: string;
|
|
@@ -8097,15 +8358,9 @@ export class CreateMJAIAgentSessionInput {
|
|
|
8097
8358
|
@Field({ nullable: true })
|
|
8098
8359
|
CloseReason: string | null;
|
|
8099
8360
|
|
|
8100
|
-
@Field({ nullable: true })
|
|
8101
|
-
RecordingMedia: string | null;
|
|
8102
|
-
|
|
8103
8361
|
@Field({ nullable: true })
|
|
8104
8362
|
RecordingStartedAt: Date | null;
|
|
8105
8363
|
|
|
8106
|
-
@Field({ nullable: true })
|
|
8107
|
-
RecordingFileID: string | null;
|
|
8108
|
-
|
|
8109
8364
|
@Field({ nullable: true })
|
|
8110
8365
|
LinkedEntityID: string | null;
|
|
8111
8366
|
|
|
@@ -8155,15 +8410,9 @@ export class UpdateMJAIAgentSessionInput {
|
|
|
8155
8410
|
@Field({ nullable: true })
|
|
8156
8411
|
CloseReason?: string | null;
|
|
8157
8412
|
|
|
8158
|
-
@Field({ nullable: true })
|
|
8159
|
-
RecordingMedia?: string | null;
|
|
8160
|
-
|
|
8161
8413
|
@Field({ nullable: true })
|
|
8162
8414
|
RecordingStartedAt?: Date | null;
|
|
8163
8415
|
|
|
8164
|
-
@Field({ nullable: true })
|
|
8165
|
-
RecordingFileID?: string | null;
|
|
8166
|
-
|
|
8167
8416
|
@Field({ nullable: true })
|
|
8168
8417
|
LinkedEntityID?: string | null;
|
|
8169
8418
|
|
|
@@ -9321,6 +9570,353 @@ export class MJAIAgentTypeResolver extends ResolverBase {
|
|
|
9321
9570
|
|
|
9322
9571
|
}
|
|
9323
9572
|
|
|
9573
|
+
//****************************************************************************
|
|
9574
|
+
// ENTITY CLASS for MJ: AI Agent User Policies
|
|
9575
|
+
//****************************************************************************
|
|
9576
|
+
@ObjectType({ description: "Per-(Agent, User) policy and personalization record. The owning user's MJ permissions (Entity CRUD, Role RLS, Role FLS) form the hard ceiling; this table defines strict narrowing rules, channel modes, time windows, and approval gates." })
|
|
9577
|
+
export class MJAIAgentUserPolicy_ {
|
|
9578
|
+
@Field()
|
|
9579
|
+
@MaxLength(36)
|
|
9580
|
+
ID: string;
|
|
9581
|
+
|
|
9582
|
+
@Field({nullable: true, description: "The AI Agent governed by this user policy."})
|
|
9583
|
+
@MaxLength(36)
|
|
9584
|
+
AgentID?: string;
|
|
9585
|
+
|
|
9586
|
+
@Field({nullable: true, description: "The MJ User who owns this policy and under whose security principal the agent executes."})
|
|
9587
|
+
@MaxLength(36)
|
|
9588
|
+
UserID?: string;
|
|
9589
|
+
|
|
9590
|
+
@Field({nullable: true, description: "Optional user-personalized display name for this agent (e.g., \"Maya\" for a user's Chief of Staff)."})
|
|
9591
|
+
@MaxLength(100)
|
|
9592
|
+
DisplayNameOverride?: string;
|
|
9593
|
+
|
|
9594
|
+
@Field({nullable: true, description: "Optional AI Persona selected by the user for this agent's voice and communication style."})
|
|
9595
|
+
@MaxLength(36)
|
|
9596
|
+
PreferredPersonaID?: string;
|
|
9597
|
+
|
|
9598
|
+
@Field({nullable: true, description: "Policy lifecycle status: Active, Paused (autonomous wakes suspended), or Disabled."})
|
|
9599
|
+
@MaxLength(20)
|
|
9600
|
+
Status?: string;
|
|
9601
|
+
|
|
9602
|
+
@Field({nullable: true, description: "Onboarding progression for this user-agent pair: NotStarted, InProgress, or Completed."})
|
|
9603
|
+
@MaxLength(20)
|
|
9604
|
+
OnboardingStatus?: string;
|
|
9605
|
+
|
|
9606
|
+
@Field({nullable: true, description: "Timestamp when the user completed onboarding for this agent."})
|
|
9607
|
+
OnboardedAt?: Date;
|
|
9608
|
+
|
|
9609
|
+
@Field({nullable: true, description: "Operating posture: Observer (tracks and reports only; never nudges others), Coordinator (nudges internal task/priority owners and peer CoS agents), or Autonomous (proactively coordinates within approval boundaries)."})
|
|
9610
|
+
@MaxLength(20)
|
|
9611
|
+
CoordinationMode?: string;
|
|
9612
|
+
|
|
9613
|
+
@Field({nullable: true, description: "Default entity access ceiling when no explicit rule in EntityAccessRules matches: UserCeiling (inherit user's MJ permissions), ReadOnly (read permitted entities, block all writes unless explicitly allowed), or AllowListOnly (deny all entities not listed in EntityAccessRules)."})
|
|
9614
|
+
@MaxLength(20)
|
|
9615
|
+
DefaultDataAccessMode?: string;
|
|
9616
|
+
|
|
9617
|
+
@Field({nullable: true, description: "Email channel permission level: Disabled, ReadOnly, DraftOnly, SendAsAgent, or SendAsUser."})
|
|
9618
|
+
@MaxLength(20)
|
|
9619
|
+
EmailChannelMode?: string;
|
|
9620
|
+
|
|
9621
|
+
@Field({nullable: true, description: "Telephony channel permission level: Disabled, InboundOnly, OutboundWithApproval, or OutboundAutonomous."})
|
|
9622
|
+
@MaxLength(20)
|
|
9623
|
+
PhoneChannelMode?: string;
|
|
9624
|
+
|
|
9625
|
+
@Field({nullable: true, description: "Messaging channel permission level (Slack/Teams/In-App): Disabled or Enabled."})
|
|
9626
|
+
@MaxLength(20)
|
|
9627
|
+
MessagingChannelMode?: string;
|
|
9628
|
+
|
|
9629
|
+
@Field({nullable: true, description: "Calendar channel permission level: Disabled, ReadOnly (check events & free/busy only), ProposeWithApproval (create/modify events or send invites only with explicit user approval), or Autonomous."})
|
|
9630
|
+
@MaxLength(30)
|
|
9631
|
+
CalendarChannelMode?: string;
|
|
9632
|
+
|
|
9633
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this user's agent may send or respond to structured coordination requests from other users' Chief of Staff agents."})
|
|
9634
|
+
AllowInterAgentCoordination?: boolean;
|
|
9635
|
+
|
|
9636
|
+
@Field(() => Boolean, {nullable: true, description: "When 1, any external email, message, or outbound call to non-internal recipients requires explicit user approval via AIAgentRequest."})
|
|
9637
|
+
RequireApprovalForExternalComms?: boolean;
|
|
9638
|
+
|
|
9639
|
+
@Field(() => Boolean, {nullable: true, description: "When 1, financial commitments, purchases, or accounting/order approvals require explicit user approval."})
|
|
9640
|
+
RequireApprovalForFinancials?: boolean;
|
|
9641
|
+
|
|
9642
|
+
@Field(() => Boolean, {nullable: true, description: "When 1, deleting records or cancelling active workflows requires explicit user approval."})
|
|
9643
|
+
RequireApprovalForDestructiveActions?: boolean;
|
|
9644
|
+
|
|
9645
|
+
@Field(() => Float, {nullable: true, description: "Optional monetary threshold below which low-risk financial actions may proceed when RequireApprovalForFinancials is 0. NULL means no automatic monetary threshold."})
|
|
9646
|
+
AutoApproveAmountThreshold?: number;
|
|
9647
|
+
|
|
9648
|
+
@Field({nullable: true, description: "JSON array of IAgentUserEntityAccessRule objects defining per-entity or wildcard CRUD narrowing, additional Row-Level Security (RLS) filters, additional Field-Level Security (FLS) field masks, and allowed time windows."})
|
|
9649
|
+
EntityAccessRules?: string;
|
|
9650
|
+
|
|
9651
|
+
@Field({nullable: true, description: "JSON array of IAgentUserActionPolicyRule objects defining per-action Allow/RequireApproval/Deny policies, SafeExpressionEvaluator parameter conditions, and allowed time windows."})
|
|
9652
|
+
ActionPolicyRules?: string;
|
|
9653
|
+
|
|
9654
|
+
@Field({nullable: true, description: "Optional user-specific standing instructions injected into the agent's system context on every run."})
|
|
9655
|
+
InstructionsOverride?: string;
|
|
9656
|
+
|
|
9657
|
+
@Field()
|
|
9658
|
+
_mj__CreatedAt: Date;
|
|
9659
|
+
|
|
9660
|
+
@Field()
|
|
9661
|
+
_mj__UpdatedAt: Date;
|
|
9662
|
+
|
|
9663
|
+
@Field({nullable: true})
|
|
9664
|
+
@MaxLength(255)
|
|
9665
|
+
Agent?: string;
|
|
9666
|
+
|
|
9667
|
+
@Field({nullable: true})
|
|
9668
|
+
@MaxLength(100)
|
|
9669
|
+
User?: string;
|
|
9670
|
+
|
|
9671
|
+
@Field({nullable: true})
|
|
9672
|
+
@MaxLength(100)
|
|
9673
|
+
PreferredPersona?: string;
|
|
9674
|
+
|
|
9675
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
9676
|
+
ReadableFields___?: string[];
|
|
9677
|
+
|
|
9678
|
+
}
|
|
9679
|
+
|
|
9680
|
+
//****************************************************************************
|
|
9681
|
+
// INPUT TYPE for MJ: AI Agent User Policies
|
|
9682
|
+
//****************************************************************************
|
|
9683
|
+
@InputType()
|
|
9684
|
+
export class CreateMJAIAgentUserPolicyInput {
|
|
9685
|
+
@Field({ nullable: true })
|
|
9686
|
+
ID?: string;
|
|
9687
|
+
|
|
9688
|
+
@Field({ nullable: true })
|
|
9689
|
+
AgentID?: string;
|
|
9690
|
+
|
|
9691
|
+
@Field({ nullable: true })
|
|
9692
|
+
UserID?: string;
|
|
9693
|
+
|
|
9694
|
+
@Field({ nullable: true })
|
|
9695
|
+
DisplayNameOverride: string | null;
|
|
9696
|
+
|
|
9697
|
+
@Field({ nullable: true })
|
|
9698
|
+
PreferredPersonaID: string | null;
|
|
9699
|
+
|
|
9700
|
+
@Field({ nullable: true })
|
|
9701
|
+
Status?: string;
|
|
9702
|
+
|
|
9703
|
+
@Field({ nullable: true })
|
|
9704
|
+
OnboardingStatus?: string;
|
|
9705
|
+
|
|
9706
|
+
@Field({ nullable: true })
|
|
9707
|
+
OnboardedAt: Date | null;
|
|
9708
|
+
|
|
9709
|
+
@Field({ nullable: true })
|
|
9710
|
+
CoordinationMode?: string;
|
|
9711
|
+
|
|
9712
|
+
@Field({ nullable: true })
|
|
9713
|
+
DefaultDataAccessMode?: string;
|
|
9714
|
+
|
|
9715
|
+
@Field({ nullable: true })
|
|
9716
|
+
EmailChannelMode?: string;
|
|
9717
|
+
|
|
9718
|
+
@Field({ nullable: true })
|
|
9719
|
+
PhoneChannelMode?: string;
|
|
9720
|
+
|
|
9721
|
+
@Field({ nullable: true })
|
|
9722
|
+
MessagingChannelMode?: string;
|
|
9723
|
+
|
|
9724
|
+
@Field({ nullable: true })
|
|
9725
|
+
CalendarChannelMode?: string;
|
|
9726
|
+
|
|
9727
|
+
@Field(() => Boolean, { nullable: true })
|
|
9728
|
+
AllowInterAgentCoordination?: boolean;
|
|
9729
|
+
|
|
9730
|
+
@Field(() => Boolean, { nullable: true })
|
|
9731
|
+
RequireApprovalForExternalComms?: boolean;
|
|
9732
|
+
|
|
9733
|
+
@Field(() => Boolean, { nullable: true })
|
|
9734
|
+
RequireApprovalForFinancials?: boolean;
|
|
9735
|
+
|
|
9736
|
+
@Field(() => Boolean, { nullable: true })
|
|
9737
|
+
RequireApprovalForDestructiveActions?: boolean;
|
|
9738
|
+
|
|
9739
|
+
@Field(() => Float, { nullable: true })
|
|
9740
|
+
AutoApproveAmountThreshold: number | null;
|
|
9741
|
+
|
|
9742
|
+
@Field({ nullable: true })
|
|
9743
|
+
EntityAccessRules: string | null;
|
|
9744
|
+
|
|
9745
|
+
@Field({ nullable: true })
|
|
9746
|
+
ActionPolicyRules: string | null;
|
|
9747
|
+
|
|
9748
|
+
@Field({ nullable: true })
|
|
9749
|
+
InstructionsOverride: string | null;
|
|
9750
|
+
|
|
9751
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
9752
|
+
RestoreContext___?: RestoreContextInput;
|
|
9753
|
+
}
|
|
9754
|
+
|
|
9755
|
+
|
|
9756
|
+
//****************************************************************************
|
|
9757
|
+
// INPUT TYPE for MJ: AI Agent User Policies
|
|
9758
|
+
//****************************************************************************
|
|
9759
|
+
@InputType()
|
|
9760
|
+
export class UpdateMJAIAgentUserPolicyInput {
|
|
9761
|
+
@Field()
|
|
9762
|
+
ID: string;
|
|
9763
|
+
|
|
9764
|
+
@Field({ nullable: true })
|
|
9765
|
+
AgentID?: string;
|
|
9766
|
+
|
|
9767
|
+
@Field({ nullable: true })
|
|
9768
|
+
UserID?: string;
|
|
9769
|
+
|
|
9770
|
+
@Field({ nullable: true })
|
|
9771
|
+
DisplayNameOverride?: string | null;
|
|
9772
|
+
|
|
9773
|
+
@Field({ nullable: true })
|
|
9774
|
+
PreferredPersonaID?: string | null;
|
|
9775
|
+
|
|
9776
|
+
@Field({ nullable: true })
|
|
9777
|
+
Status?: string;
|
|
9778
|
+
|
|
9779
|
+
@Field({ nullable: true })
|
|
9780
|
+
OnboardingStatus?: string;
|
|
9781
|
+
|
|
9782
|
+
@Field({ nullable: true })
|
|
9783
|
+
OnboardedAt?: Date | null;
|
|
9784
|
+
|
|
9785
|
+
@Field({ nullable: true })
|
|
9786
|
+
CoordinationMode?: string;
|
|
9787
|
+
|
|
9788
|
+
@Field({ nullable: true })
|
|
9789
|
+
DefaultDataAccessMode?: string;
|
|
9790
|
+
|
|
9791
|
+
@Field({ nullable: true })
|
|
9792
|
+
EmailChannelMode?: string;
|
|
9793
|
+
|
|
9794
|
+
@Field({ nullable: true })
|
|
9795
|
+
PhoneChannelMode?: string;
|
|
9796
|
+
|
|
9797
|
+
@Field({ nullable: true })
|
|
9798
|
+
MessagingChannelMode?: string;
|
|
9799
|
+
|
|
9800
|
+
@Field({ nullable: true })
|
|
9801
|
+
CalendarChannelMode?: string;
|
|
9802
|
+
|
|
9803
|
+
@Field(() => Boolean, { nullable: true })
|
|
9804
|
+
AllowInterAgentCoordination?: boolean;
|
|
9805
|
+
|
|
9806
|
+
@Field(() => Boolean, { nullable: true })
|
|
9807
|
+
RequireApprovalForExternalComms?: boolean;
|
|
9808
|
+
|
|
9809
|
+
@Field(() => Boolean, { nullable: true })
|
|
9810
|
+
RequireApprovalForFinancials?: boolean;
|
|
9811
|
+
|
|
9812
|
+
@Field(() => Boolean, { nullable: true })
|
|
9813
|
+
RequireApprovalForDestructiveActions?: boolean;
|
|
9814
|
+
|
|
9815
|
+
@Field(() => Float, { nullable: true })
|
|
9816
|
+
AutoApproveAmountThreshold?: number | null;
|
|
9817
|
+
|
|
9818
|
+
@Field({ nullable: true })
|
|
9819
|
+
EntityAccessRules?: string | null;
|
|
9820
|
+
|
|
9821
|
+
@Field({ nullable: true })
|
|
9822
|
+
ActionPolicyRules?: string | null;
|
|
9823
|
+
|
|
9824
|
+
@Field({ nullable: true })
|
|
9825
|
+
InstructionsOverride?: string | null;
|
|
9826
|
+
|
|
9827
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
9828
|
+
OldValues___?: KeyValuePairInput[];
|
|
9829
|
+
|
|
9830
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
9831
|
+
RestoreContext___?: RestoreContextInput;
|
|
9832
|
+
}
|
|
9833
|
+
|
|
9834
|
+
//****************************************************************************
|
|
9835
|
+
// RESOLVER for MJ: AI Agent User Policies
|
|
9836
|
+
//****************************************************************************
|
|
9837
|
+
@ObjectType()
|
|
9838
|
+
export class RunMJAIAgentUserPolicyViewResult {
|
|
9839
|
+
@Field(() => [MJAIAgentUserPolicy_])
|
|
9840
|
+
Results: MJAIAgentUserPolicy_[];
|
|
9841
|
+
|
|
9842
|
+
@Field(() => String, {nullable: true})
|
|
9843
|
+
UserViewRunID?: string;
|
|
9844
|
+
|
|
9845
|
+
@Field(() => Int, {nullable: true})
|
|
9846
|
+
RowCount: number;
|
|
9847
|
+
|
|
9848
|
+
@Field(() => Int, {nullable: true})
|
|
9849
|
+
TotalRowCount: number;
|
|
9850
|
+
|
|
9851
|
+
@Field(() => Int, {nullable: true})
|
|
9852
|
+
ExecutionTime: number;
|
|
9853
|
+
|
|
9854
|
+
@Field({nullable: true})
|
|
9855
|
+
ErrorMessage?: string;
|
|
9856
|
+
|
|
9857
|
+
@Field(() => Boolean, {nullable: false})
|
|
9858
|
+
Success: boolean;
|
|
9859
|
+
}
|
|
9860
|
+
|
|
9861
|
+
@Resolver(MJAIAgentUserPolicy_)
|
|
9862
|
+
export class MJAIAgentUserPolicyResolver extends ResolverBase {
|
|
9863
|
+
@Query(() => RunMJAIAgentUserPolicyViewResult)
|
|
9864
|
+
async RunMJAIAgentUserPolicyViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9865
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9866
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
9867
|
+
}
|
|
9868
|
+
|
|
9869
|
+
@Query(() => RunMJAIAgentUserPolicyViewResult)
|
|
9870
|
+
async RunMJAIAgentUserPolicyViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9871
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9872
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
9873
|
+
}
|
|
9874
|
+
|
|
9875
|
+
@Query(() => RunMJAIAgentUserPolicyViewResult)
|
|
9876
|
+
async RunMJAIAgentUserPolicyDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9877
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9878
|
+
input.EntityName = 'MJ: AI Agent User Policies';
|
|
9879
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
9880
|
+
}
|
|
9881
|
+
@Query(() => MJAIAgentUserPolicy_, { nullable: true })
|
|
9882
|
+
async MJAIAgentUserPolicy(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJAIAgentUserPolicy_ | null> {
|
|
9883
|
+
this.CheckUserReadPermissions('MJ: AI Agent User Policies', userPayload);
|
|
9884
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9885
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwAIAgentUserPolicies')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: AI Agent User Policies', userPayload, EntityPermissionType.Read, 'AND');
|
|
9886
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
9887
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: AI Agent User Policies', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
9888
|
+
return result;
|
|
9889
|
+
}
|
|
9890
|
+
|
|
9891
|
+
@Mutation(() => MJAIAgentUserPolicy_)
|
|
9892
|
+
async CreateMJAIAgentUserPolicy(
|
|
9893
|
+
@Arg('input', () => CreateMJAIAgentUserPolicyInput) input: CreateMJAIAgentUserPolicyInput,
|
|
9894
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
9895
|
+
@PubSub() pubSub: PubSubEngine
|
|
9896
|
+
) {
|
|
9897
|
+
const provider = GetReadWriteProvider(providers);
|
|
9898
|
+
return this.CreateRecord('MJ: AI Agent User Policies', input, provider, userPayload, pubSub)
|
|
9899
|
+
}
|
|
9900
|
+
|
|
9901
|
+
@Mutation(() => MJAIAgentUserPolicy_)
|
|
9902
|
+
async UpdateMJAIAgentUserPolicy(
|
|
9903
|
+
@Arg('input', () => UpdateMJAIAgentUserPolicyInput) input: UpdateMJAIAgentUserPolicyInput,
|
|
9904
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
9905
|
+
@PubSub() pubSub: PubSubEngine
|
|
9906
|
+
) {
|
|
9907
|
+
const provider = GetReadWriteProvider(providers);
|
|
9908
|
+
return this.UpdateRecord('MJ: AI Agent User Policies', input, provider, userPayload, pubSub);
|
|
9909
|
+
}
|
|
9910
|
+
|
|
9911
|
+
@Mutation(() => MJAIAgentUserPolicy_)
|
|
9912
|
+
async DeleteMJAIAgentUserPolicy(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9913
|
+
const provider = GetReadWriteProvider(providers);
|
|
9914
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
9915
|
+
return this.DeleteRecord('MJ: AI Agent User Policies', key, options, provider, userPayload, pubSub);
|
|
9916
|
+
}
|
|
9917
|
+
|
|
9918
|
+
}
|
|
9919
|
+
|
|
9324
9920
|
//****************************************************************************
|
|
9325
9921
|
// ENTITY CLASS for MJ: AI Agents
|
|
9326
9922
|
//****************************************************************************
|
|
@@ -10516,6 +11112,10 @@ export class MJAIBridgeAgentIdentity_ {
|
|
|
10516
11112
|
@Field()
|
|
10517
11113
|
_mj__UpdatedAt: Date;
|
|
10518
11114
|
|
|
11115
|
+
@Field({nullable: true, description: "Optional owning MJ User when this email address, phone DID, or platform account identity is dedicated to a specific user's personal agent instance (such as their Chief of Staff). NULL for shared/org-wide agent identities."})
|
|
11116
|
+
@MaxLength(36)
|
|
11117
|
+
UserID?: string;
|
|
11118
|
+
|
|
10519
11119
|
@Field({nullable: true})
|
|
10520
11120
|
@MaxLength(255)
|
|
10521
11121
|
Agent?: string;
|
|
@@ -10524,6 +11124,10 @@ export class MJAIBridgeAgentIdentity_ {
|
|
|
10524
11124
|
@MaxLength(100)
|
|
10525
11125
|
Provider?: string;
|
|
10526
11126
|
|
|
11127
|
+
@Field({nullable: true})
|
|
11128
|
+
@MaxLength(100)
|
|
11129
|
+
User?: string;
|
|
11130
|
+
|
|
10527
11131
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
10528
11132
|
ReadableFields___?: string[];
|
|
10529
11133
|
|
|
@@ -10558,6 +11162,9 @@ export class CreateMJAIBridgeAgentIdentityInput {
|
|
|
10558
11162
|
@Field({ nullable: true })
|
|
10559
11163
|
Configuration: string | null;
|
|
10560
11164
|
|
|
11165
|
+
@Field({ nullable: true })
|
|
11166
|
+
UserID: string | null;
|
|
11167
|
+
|
|
10561
11168
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
10562
11169
|
RestoreContext___?: RestoreContextInput;
|
|
10563
11170
|
}
|
|
@@ -10592,6 +11199,9 @@ export class UpdateMJAIBridgeAgentIdentityInput {
|
|
|
10592
11199
|
@Field({ nullable: true })
|
|
10593
11200
|
Configuration?: string | null;
|
|
10594
11201
|
|
|
11202
|
+
@Field({ nullable: true })
|
|
11203
|
+
UserID?: string | null;
|
|
11204
|
+
|
|
10595
11205
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
10596
11206
|
OldValues___?: KeyValuePairInput[];
|
|
10597
11207
|
|
|
@@ -17016,6 +17626,10 @@ export class MJAIPrompt_ {
|
|
|
17016
17626
|
@Field({nullable: true, description: "Per-prompt call-time configuration bag (JSON, IAIPromptConfiguration shape: LLM / Realtime / Vision / Audio sections). Base layer of the prompt Configuration cascade — AIPromptModel rows inherit from it per key and may override — and itself layered on top of the resolved AIModel/AIModelVendor ModelConfiguration. NULL = contributes nothing."})
|
|
17017
17627
|
PromptConfiguration?: string;
|
|
17018
17628
|
|
|
17629
|
+
@Field({nullable: true, description: "Which template inputs (data, templateData) prompt runs store in Messages: None (shape only), Referenced (only keys the template uses) or Full. NULL uses the server default."})
|
|
17630
|
+
@MaxLength(20)
|
|
17631
|
+
TemplateDataCapture?: string;
|
|
17632
|
+
|
|
17019
17633
|
@Field({nullable: true})
|
|
17020
17634
|
@MaxLength(255)
|
|
17021
17635
|
Template?: string;
|
|
@@ -17205,6 +17819,9 @@ export class CreateMJAIPromptInput {
|
|
|
17205
17819
|
@Field({ nullable: true })
|
|
17206
17820
|
PromptConfiguration: string | null;
|
|
17207
17821
|
|
|
17822
|
+
@Field({ nullable: true })
|
|
17823
|
+
TemplateDataCapture: string | null;
|
|
17824
|
+
|
|
17208
17825
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
17209
17826
|
RestoreContext___?: RestoreContextInput;
|
|
17210
17827
|
}
|
|
@@ -17374,6 +17991,9 @@ export class UpdateMJAIPromptInput {
|
|
|
17374
17991
|
@Field({ nullable: true })
|
|
17375
17992
|
PromptConfiguration?: string | null;
|
|
17376
17993
|
|
|
17994
|
+
@Field({ nullable: true })
|
|
17995
|
+
TemplateDataCapture?: string | null;
|
|
17996
|
+
|
|
17377
17997
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
17378
17998
|
OldValues___?: KeyValuePairInput[];
|
|
17379
17999
|
|
|
@@ -22716,6 +23336,9 @@ export class MJActionParam_ {
|
|
|
22716
23336
|
@Field(() => Boolean, {nullable: true, description: "Whether this parameter's VALUE may be written to ActionExecutionLog.Params. Default 1. Set to 0 for parameters that carry records, credentials or personal data - for example the Data payload of Execute Agent. Independent of the hard rule that Entity Action params of ValueType 'Entity Object' or 'Entity Object Data' are never logged regardless of this flag. When logging is suppressed the log records the parameter name, its type and a redaction marker, never the value."})
|
|
22717
23337
|
LogValue?: boolean;
|
|
22718
23338
|
|
|
23339
|
+
@Field({nullable: true, description: "Optional JSON Schema fragment describing this parameter's value, limited to the cross-provider subset: type, description, enum, items, properties and required. When set, the native tool builder declares it to the model in place of the coarse ValueType mapping, and argument coercion follows it. For an IsArray parameter it describes one element. When NULL, the schema is derived from ValueType."})
|
|
23340
|
+
ValueSchema?: string;
|
|
23341
|
+
|
|
22719
23342
|
@Field({nullable: true})
|
|
22720
23343
|
@MaxLength(425)
|
|
22721
23344
|
Action?: string;
|
|
@@ -22763,6 +23386,9 @@ export class CreateMJActionParamInput {
|
|
|
22763
23386
|
@Field(() => Boolean, { nullable: true })
|
|
22764
23387
|
LogValue?: boolean;
|
|
22765
23388
|
|
|
23389
|
+
@Field({ nullable: true })
|
|
23390
|
+
ValueSchema: string | null;
|
|
23391
|
+
|
|
22766
23392
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
22767
23393
|
RestoreContext___?: RestoreContextInput;
|
|
22768
23394
|
}
|
|
@@ -22806,6 +23432,9 @@ export class UpdateMJActionParamInput {
|
|
|
22806
23432
|
@Field(() => Boolean, { nullable: true })
|
|
22807
23433
|
LogValue?: boolean;
|
|
22808
23434
|
|
|
23435
|
+
@Field({ nullable: true })
|
|
23436
|
+
ValueSchema?: string | null;
|
|
23437
|
+
|
|
22809
23438
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
22810
23439
|
OldValues___?: KeyValuePairInput[];
|
|
22811
23440
|
|
|
@@ -24640,6 +25269,10 @@ export class MJArchiveConfiguration_ {
|
|
|
24640
25269
|
@Field()
|
|
24641
25270
|
_mj__UpdatedAt: Date;
|
|
24642
25271
|
|
|
25272
|
+
@Field({nullable: true, description: "Whether runs keep a copy of the data they remove. Store (default): each record's archive document is written to the storage account before the mode changes the source row. Purge: the mode is applied with no copy written, StorageAccountID is not needed, and cleared data cannot be restored. A Purge run refuses entities in ArchiveOnly mode, entities missing from metadata, entities that track Record Changes, entities whose driver is not registered or does not support purge, and HardDelete entities that use soft delete or whose delete cascade reaches an entity that tracks Record Changes or uses soft delete."})
|
|
25273
|
+
@MaxLength(20)
|
|
25274
|
+
StorageMode?: string;
|
|
25275
|
+
|
|
24643
25276
|
@Field({nullable: true})
|
|
24644
25277
|
@MaxLength(200)
|
|
24645
25278
|
StorageAccount?: string;
|
|
@@ -24697,6 +25330,9 @@ export class CreateMJArchiveConfigurationInput {
|
|
|
24697
25330
|
@Field({ nullable: true })
|
|
24698
25331
|
CreatedByUserID?: string;
|
|
24699
25332
|
|
|
25333
|
+
@Field({ nullable: true })
|
|
25334
|
+
StorageMode?: string;
|
|
25335
|
+
|
|
24700
25336
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
24701
25337
|
RestoreContext___?: RestoreContextInput;
|
|
24702
25338
|
}
|
|
@@ -24746,6 +25382,9 @@ export class UpdateMJArchiveConfigurationInput {
|
|
|
24746
25382
|
@Field({ nullable: true })
|
|
24747
25383
|
CreatedByUserID?: string;
|
|
24748
25384
|
|
|
25385
|
+
@Field({ nullable: true })
|
|
25386
|
+
StorageMode?: string;
|
|
25387
|
+
|
|
24749
25388
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
24750
25389
|
OldValues___?: KeyValuePairInput[];
|
|
24751
25390
|
|
|
@@ -24900,7 +25539,8 @@ export class MJArchiveRunDetail_ {
|
|
|
24900
25539
|
_mj__UpdatedAt: Date;
|
|
24901
25540
|
|
|
24902
25541
|
@Field({nullable: true})
|
|
24903
|
-
|
|
25542
|
+
@MaxLength(255)
|
|
25543
|
+
ArchiveRun?: string;
|
|
24904
25544
|
|
|
24905
25545
|
@Field({nullable: true})
|
|
24906
25546
|
@MaxLength(255)
|
|
@@ -25146,6 +25786,10 @@ export class MJArchiveRun_ {
|
|
|
25146
25786
|
@Field()
|
|
25147
25787
|
_mj__UpdatedAt: Date;
|
|
25148
25788
|
|
|
25789
|
+
@Field({nullable: true, description: "The configuration's StorageMode when this run started: Store (copies written to storage) or Purge (no copies kept; only failed records get an ArchiveRunDetail row)."})
|
|
25790
|
+
@MaxLength(20)
|
|
25791
|
+
StorageMode?: string;
|
|
25792
|
+
|
|
25149
25793
|
@Field({nullable: true})
|
|
25150
25794
|
@MaxLength(255)
|
|
25151
25795
|
ArchiveConfiguration?: string;
|
|
@@ -25200,6 +25844,9 @@ export class CreateMJArchiveRunInput {
|
|
|
25200
25844
|
@Field({ nullable: true })
|
|
25201
25845
|
UserID?: string;
|
|
25202
25846
|
|
|
25847
|
+
@Field({ nullable: true })
|
|
25848
|
+
StorageMode?: string;
|
|
25849
|
+
|
|
25203
25850
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
25204
25851
|
RestoreContext___?: RestoreContextInput;
|
|
25205
25852
|
}
|
|
@@ -25246,6 +25893,9 @@ export class UpdateMJArchiveRunInput {
|
|
|
25246
25893
|
@Field({ nullable: true })
|
|
25247
25894
|
UserID?: string;
|
|
25248
25895
|
|
|
25896
|
+
@Field({ nullable: true })
|
|
25897
|
+
StorageMode?: string;
|
|
25898
|
+
|
|
25249
25899
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
25250
25900
|
OldValues___?: KeyValuePairInput[];
|
|
25251
25901
|
|
|
@@ -27851,6 +28501,433 @@ export class MJAuthorizationResolver extends ResolverBase {
|
|
|
27851
28501
|
|
|
27852
28502
|
}
|
|
27853
28503
|
|
|
28504
|
+
//****************************************************************************
|
|
28505
|
+
// ENTITY CLASS for MJ: Calendar Event Links
|
|
28506
|
+
//****************************************************************************
|
|
28507
|
+
@ObjectType({ description: "Ties a record to an event in an external calendar (MS Graph, Google Calendar), so any record can be linked to an event without a calendar column on its own table." })
|
|
28508
|
+
export class MJCalendarEventLink_ {
|
|
28509
|
+
@Field()
|
|
28510
|
+
@MaxLength(36)
|
|
28511
|
+
ID: string;
|
|
28512
|
+
|
|
28513
|
+
@Field({nullable: true})
|
|
28514
|
+
@MaxLength(36)
|
|
28515
|
+
CommunicationProviderID?: string;
|
|
28516
|
+
|
|
28517
|
+
@Field({nullable: true, description: "The calendar account the event lives in: a mailbox address for MS Graph, the account for Google. Later syncs and changes go to the same account."})
|
|
28518
|
+
@MaxLength(255)
|
|
28519
|
+
AccountIdentifier?: string;
|
|
28520
|
+
|
|
28521
|
+
@Field({nullable: true, description: "The calendar within the account. Null means the account's default calendar."})
|
|
28522
|
+
@MaxLength(500)
|
|
28523
|
+
CalendarID?: string;
|
|
28524
|
+
|
|
28525
|
+
@Field({nullable: true, description: "The provider's ID for the event in this account. It differs between attendees' calendars; match across calendars on ICalUID."})
|
|
28526
|
+
@MaxLength(500)
|
|
28527
|
+
ExternalEventID?: string;
|
|
28528
|
+
|
|
28529
|
+
@Field({nullable: true, description: "The provider's ID for the recurring series this event belongs to, when it is an occurrence or exception of one."})
|
|
28530
|
+
@MaxLength(500)
|
|
28531
|
+
ExternalSeriesID?: string;
|
|
28532
|
+
|
|
28533
|
+
@Field({nullable: true, description: "The event's iCalendar UID (Graph iCalUId, Google iCalUID). The same in every attendee's calendar, so other apps match an imported event to this link by it."})
|
|
28534
|
+
@MaxLength(1000)
|
|
28535
|
+
ICalUID?: string;
|
|
28536
|
+
|
|
28537
|
+
@Field({nullable: true, description: "The entity of the linked record."})
|
|
28538
|
+
@MaxLength(36)
|
|
28539
|
+
EntityID?: string;
|
|
28540
|
+
|
|
28541
|
+
@Field({nullable: true, description: "The linked record's primary key, in the compact URL-segment form (a bare value for a single-column key)."})
|
|
28542
|
+
@MaxLength(450)
|
|
28543
|
+
RecordID?: string;
|
|
28544
|
+
|
|
28545
|
+
@Field({nullable: true, description: "Active, or Cancelled once the event is cancelled, in the calendar or through MemberJunction."})
|
|
28546
|
+
@MaxLength(20)
|
|
28547
|
+
Status?: string;
|
|
28548
|
+
|
|
28549
|
+
@Field({nullable: true, description: "When a change to this event was last read from or written to the calendar."})
|
|
28550
|
+
LastSyncedAt?: Date;
|
|
28551
|
+
|
|
28552
|
+
@Field()
|
|
28553
|
+
_mj__CreatedAt: Date;
|
|
28554
|
+
|
|
28555
|
+
@Field()
|
|
28556
|
+
_mj__UpdatedAt: Date;
|
|
28557
|
+
|
|
28558
|
+
@Field({nullable: true})
|
|
28559
|
+
@MaxLength(255)
|
|
28560
|
+
CommunicationProvider?: string;
|
|
28561
|
+
|
|
28562
|
+
@Field({nullable: true})
|
|
28563
|
+
@MaxLength(255)
|
|
28564
|
+
Entity?: string;
|
|
28565
|
+
|
|
28566
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
28567
|
+
ReadableFields___?: string[];
|
|
28568
|
+
|
|
28569
|
+
}
|
|
28570
|
+
|
|
28571
|
+
//****************************************************************************
|
|
28572
|
+
// INPUT TYPE for MJ: Calendar Event Links
|
|
28573
|
+
//****************************************************************************
|
|
28574
|
+
@InputType()
|
|
28575
|
+
export class CreateMJCalendarEventLinkInput {
|
|
28576
|
+
@Field({ nullable: true })
|
|
28577
|
+
ID?: string;
|
|
28578
|
+
|
|
28579
|
+
@Field({ nullable: true })
|
|
28580
|
+
CommunicationProviderID?: string;
|
|
28581
|
+
|
|
28582
|
+
@Field({ nullable: true })
|
|
28583
|
+
AccountIdentifier?: string;
|
|
28584
|
+
|
|
28585
|
+
@Field({ nullable: true })
|
|
28586
|
+
CalendarID: string | null;
|
|
28587
|
+
|
|
28588
|
+
@Field({ nullable: true })
|
|
28589
|
+
ExternalEventID?: string;
|
|
28590
|
+
|
|
28591
|
+
@Field({ nullable: true })
|
|
28592
|
+
ExternalSeriesID: string | null;
|
|
28593
|
+
|
|
28594
|
+
@Field({ nullable: true })
|
|
28595
|
+
ICalUID: string | null;
|
|
28596
|
+
|
|
28597
|
+
@Field({ nullable: true })
|
|
28598
|
+
EntityID?: string;
|
|
28599
|
+
|
|
28600
|
+
@Field({ nullable: true })
|
|
28601
|
+
RecordID?: string;
|
|
28602
|
+
|
|
28603
|
+
@Field({ nullable: true })
|
|
28604
|
+
Status?: string;
|
|
28605
|
+
|
|
28606
|
+
@Field({ nullable: true })
|
|
28607
|
+
LastSyncedAt: Date | null;
|
|
28608
|
+
|
|
28609
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
28610
|
+
RestoreContext___?: RestoreContextInput;
|
|
28611
|
+
}
|
|
28612
|
+
|
|
28613
|
+
|
|
28614
|
+
//****************************************************************************
|
|
28615
|
+
// INPUT TYPE for MJ: Calendar Event Links
|
|
28616
|
+
//****************************************************************************
|
|
28617
|
+
@InputType()
|
|
28618
|
+
export class UpdateMJCalendarEventLinkInput {
|
|
28619
|
+
@Field()
|
|
28620
|
+
ID: string;
|
|
28621
|
+
|
|
28622
|
+
@Field({ nullable: true })
|
|
28623
|
+
CommunicationProviderID?: string;
|
|
28624
|
+
|
|
28625
|
+
@Field({ nullable: true })
|
|
28626
|
+
AccountIdentifier?: string;
|
|
28627
|
+
|
|
28628
|
+
@Field({ nullable: true })
|
|
28629
|
+
CalendarID?: string | null;
|
|
28630
|
+
|
|
28631
|
+
@Field({ nullable: true })
|
|
28632
|
+
ExternalEventID?: string;
|
|
28633
|
+
|
|
28634
|
+
@Field({ nullable: true })
|
|
28635
|
+
ExternalSeriesID?: string | null;
|
|
28636
|
+
|
|
28637
|
+
@Field({ nullable: true })
|
|
28638
|
+
ICalUID?: string | null;
|
|
28639
|
+
|
|
28640
|
+
@Field({ nullable: true })
|
|
28641
|
+
EntityID?: string;
|
|
28642
|
+
|
|
28643
|
+
@Field({ nullable: true })
|
|
28644
|
+
RecordID?: string;
|
|
28645
|
+
|
|
28646
|
+
@Field({ nullable: true })
|
|
28647
|
+
Status?: string;
|
|
28648
|
+
|
|
28649
|
+
@Field({ nullable: true })
|
|
28650
|
+
LastSyncedAt?: Date | null;
|
|
28651
|
+
|
|
28652
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
28653
|
+
OldValues___?: KeyValuePairInput[];
|
|
28654
|
+
|
|
28655
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
28656
|
+
RestoreContext___?: RestoreContextInput;
|
|
28657
|
+
}
|
|
28658
|
+
|
|
28659
|
+
//****************************************************************************
|
|
28660
|
+
// RESOLVER for MJ: Calendar Event Links
|
|
28661
|
+
//****************************************************************************
|
|
28662
|
+
@ObjectType()
|
|
28663
|
+
export class RunMJCalendarEventLinkViewResult {
|
|
28664
|
+
@Field(() => [MJCalendarEventLink_])
|
|
28665
|
+
Results: MJCalendarEventLink_[];
|
|
28666
|
+
|
|
28667
|
+
@Field(() => String, {nullable: true})
|
|
28668
|
+
UserViewRunID?: string;
|
|
28669
|
+
|
|
28670
|
+
@Field(() => Int, {nullable: true})
|
|
28671
|
+
RowCount: number;
|
|
28672
|
+
|
|
28673
|
+
@Field(() => Int, {nullable: true})
|
|
28674
|
+
TotalRowCount: number;
|
|
28675
|
+
|
|
28676
|
+
@Field(() => Int, {nullable: true})
|
|
28677
|
+
ExecutionTime: number;
|
|
28678
|
+
|
|
28679
|
+
@Field({nullable: true})
|
|
28680
|
+
ErrorMessage?: string;
|
|
28681
|
+
|
|
28682
|
+
@Field(() => Boolean, {nullable: false})
|
|
28683
|
+
Success: boolean;
|
|
28684
|
+
}
|
|
28685
|
+
|
|
28686
|
+
@Resolver(MJCalendarEventLink_)
|
|
28687
|
+
export class MJCalendarEventLinkResolver extends ResolverBase {
|
|
28688
|
+
@Query(() => RunMJCalendarEventLinkViewResult)
|
|
28689
|
+
async RunMJCalendarEventLinkViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28690
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28691
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
28692
|
+
}
|
|
28693
|
+
|
|
28694
|
+
@Query(() => RunMJCalendarEventLinkViewResult)
|
|
28695
|
+
async RunMJCalendarEventLinkViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28696
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28697
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
28698
|
+
}
|
|
28699
|
+
|
|
28700
|
+
@Query(() => RunMJCalendarEventLinkViewResult)
|
|
28701
|
+
async RunMJCalendarEventLinkDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28702
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28703
|
+
input.EntityName = 'MJ: Calendar Event Links';
|
|
28704
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
28705
|
+
}
|
|
28706
|
+
@Query(() => MJCalendarEventLink_, { nullable: true })
|
|
28707
|
+
async MJCalendarEventLink(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCalendarEventLink_ | null> {
|
|
28708
|
+
this.CheckUserReadPermissions('MJ: Calendar Event Links', userPayload);
|
|
28709
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28710
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCalendarEventLinks')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Calendar Event Links', userPayload, EntityPermissionType.Read, 'AND');
|
|
28711
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
28712
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Calendar Event Links', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
28713
|
+
return result;
|
|
28714
|
+
}
|
|
28715
|
+
|
|
28716
|
+
@Mutation(() => MJCalendarEventLink_)
|
|
28717
|
+
async CreateMJCalendarEventLink(
|
|
28718
|
+
@Arg('input', () => CreateMJCalendarEventLinkInput) input: CreateMJCalendarEventLinkInput,
|
|
28719
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
28720
|
+
@PubSub() pubSub: PubSubEngine
|
|
28721
|
+
) {
|
|
28722
|
+
const provider = GetReadWriteProvider(providers);
|
|
28723
|
+
return this.CreateRecord('MJ: Calendar Event Links', input, provider, userPayload, pubSub)
|
|
28724
|
+
}
|
|
28725
|
+
|
|
28726
|
+
@Mutation(() => MJCalendarEventLink_)
|
|
28727
|
+
async UpdateMJCalendarEventLink(
|
|
28728
|
+
@Arg('input', () => UpdateMJCalendarEventLinkInput) input: UpdateMJCalendarEventLinkInput,
|
|
28729
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
28730
|
+
@PubSub() pubSub: PubSubEngine
|
|
28731
|
+
) {
|
|
28732
|
+
const provider = GetReadWriteProvider(providers);
|
|
28733
|
+
return this.UpdateRecord('MJ: Calendar Event Links', input, provider, userPayload, pubSub);
|
|
28734
|
+
}
|
|
28735
|
+
|
|
28736
|
+
@Mutation(() => MJCalendarEventLink_)
|
|
28737
|
+
async DeleteMJCalendarEventLink(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28738
|
+
const provider = GetReadWriteProvider(providers);
|
|
28739
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
28740
|
+
return this.DeleteRecord('MJ: Calendar Event Links', key, options, provider, userPayload, pubSub);
|
|
28741
|
+
}
|
|
28742
|
+
|
|
28743
|
+
}
|
|
28744
|
+
|
|
28745
|
+
//****************************************************************************
|
|
28746
|
+
// ENTITY CLASS for MJ: Calendar Sync States
|
|
28747
|
+
//****************************************************************************
|
|
28748
|
+
@ObjectType({ description: "One sync cursor per external calendar, so an incremental sync reads only what changed since the last one." })
|
|
28749
|
+
export class MJCalendarSyncState_ {
|
|
28750
|
+
@Field()
|
|
28751
|
+
@MaxLength(36)
|
|
28752
|
+
ID: string;
|
|
28753
|
+
|
|
28754
|
+
@Field({nullable: true})
|
|
28755
|
+
@MaxLength(36)
|
|
28756
|
+
CommunicationProviderID?: string;
|
|
28757
|
+
|
|
28758
|
+
@Field({nullable: true, description: "The calendar account: a mailbox address for MS Graph, the account for Google."})
|
|
28759
|
+
@MaxLength(255)
|
|
28760
|
+
AccountIdentifier?: string;
|
|
28761
|
+
|
|
28762
|
+
@Field({nullable: true, description: "The calendar within the account. Null means the account's default calendar."})
|
|
28763
|
+
@MaxLength(500)
|
|
28764
|
+
CalendarID?: string;
|
|
28765
|
+
|
|
28766
|
+
@Field({nullable: true, description: "The provider's cursor for the next incremental sync: a Graph delta link or a Google sync token. Null until the first sync."})
|
|
28767
|
+
SyncToken?: string;
|
|
28768
|
+
|
|
28769
|
+
@Field({nullable: true, description: "When this calendar was last synced."})
|
|
28770
|
+
LastSyncedAt?: Date;
|
|
28771
|
+
|
|
28772
|
+
@Field()
|
|
28773
|
+
_mj__CreatedAt: Date;
|
|
28774
|
+
|
|
28775
|
+
@Field()
|
|
28776
|
+
_mj__UpdatedAt: Date;
|
|
28777
|
+
|
|
28778
|
+
@Field({nullable: true})
|
|
28779
|
+
@MaxLength(255)
|
|
28780
|
+
CommunicationProvider?: string;
|
|
28781
|
+
|
|
28782
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
28783
|
+
ReadableFields___?: string[];
|
|
28784
|
+
|
|
28785
|
+
}
|
|
28786
|
+
|
|
28787
|
+
//****************************************************************************
|
|
28788
|
+
// INPUT TYPE for MJ: Calendar Sync States
|
|
28789
|
+
//****************************************************************************
|
|
28790
|
+
@InputType()
|
|
28791
|
+
export class CreateMJCalendarSyncStateInput {
|
|
28792
|
+
@Field({ nullable: true })
|
|
28793
|
+
ID?: string;
|
|
28794
|
+
|
|
28795
|
+
@Field({ nullable: true })
|
|
28796
|
+
CommunicationProviderID?: string;
|
|
28797
|
+
|
|
28798
|
+
@Field({ nullable: true })
|
|
28799
|
+
AccountIdentifier?: string;
|
|
28800
|
+
|
|
28801
|
+
@Field({ nullable: true })
|
|
28802
|
+
CalendarID: string | null;
|
|
28803
|
+
|
|
28804
|
+
@Field({ nullable: true })
|
|
28805
|
+
SyncToken: string | null;
|
|
28806
|
+
|
|
28807
|
+
@Field({ nullable: true })
|
|
28808
|
+
LastSyncedAt: Date | null;
|
|
28809
|
+
|
|
28810
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
28811
|
+
RestoreContext___?: RestoreContextInput;
|
|
28812
|
+
}
|
|
28813
|
+
|
|
28814
|
+
|
|
28815
|
+
//****************************************************************************
|
|
28816
|
+
// INPUT TYPE for MJ: Calendar Sync States
|
|
28817
|
+
//****************************************************************************
|
|
28818
|
+
@InputType()
|
|
28819
|
+
export class UpdateMJCalendarSyncStateInput {
|
|
28820
|
+
@Field()
|
|
28821
|
+
ID: string;
|
|
28822
|
+
|
|
28823
|
+
@Field({ nullable: true })
|
|
28824
|
+
CommunicationProviderID?: string;
|
|
28825
|
+
|
|
28826
|
+
@Field({ nullable: true })
|
|
28827
|
+
AccountIdentifier?: string;
|
|
28828
|
+
|
|
28829
|
+
@Field({ nullable: true })
|
|
28830
|
+
CalendarID?: string | null;
|
|
28831
|
+
|
|
28832
|
+
@Field({ nullable: true })
|
|
28833
|
+
SyncToken?: string | null;
|
|
28834
|
+
|
|
28835
|
+
@Field({ nullable: true })
|
|
28836
|
+
LastSyncedAt?: Date | null;
|
|
28837
|
+
|
|
28838
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
28839
|
+
OldValues___?: KeyValuePairInput[];
|
|
28840
|
+
|
|
28841
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
28842
|
+
RestoreContext___?: RestoreContextInput;
|
|
28843
|
+
}
|
|
28844
|
+
|
|
28845
|
+
//****************************************************************************
|
|
28846
|
+
// RESOLVER for MJ: Calendar Sync States
|
|
28847
|
+
//****************************************************************************
|
|
28848
|
+
@ObjectType()
|
|
28849
|
+
export class RunMJCalendarSyncStateViewResult {
|
|
28850
|
+
@Field(() => [MJCalendarSyncState_])
|
|
28851
|
+
Results: MJCalendarSyncState_[];
|
|
28852
|
+
|
|
28853
|
+
@Field(() => String, {nullable: true})
|
|
28854
|
+
UserViewRunID?: string;
|
|
28855
|
+
|
|
28856
|
+
@Field(() => Int, {nullable: true})
|
|
28857
|
+
RowCount: number;
|
|
28858
|
+
|
|
28859
|
+
@Field(() => Int, {nullable: true})
|
|
28860
|
+
TotalRowCount: number;
|
|
28861
|
+
|
|
28862
|
+
@Field(() => Int, {nullable: true})
|
|
28863
|
+
ExecutionTime: number;
|
|
28864
|
+
|
|
28865
|
+
@Field({nullable: true})
|
|
28866
|
+
ErrorMessage?: string;
|
|
28867
|
+
|
|
28868
|
+
@Field(() => Boolean, {nullable: false})
|
|
28869
|
+
Success: boolean;
|
|
28870
|
+
}
|
|
28871
|
+
|
|
28872
|
+
@Resolver(MJCalendarSyncState_)
|
|
28873
|
+
export class MJCalendarSyncStateResolver extends ResolverBase {
|
|
28874
|
+
@Query(() => RunMJCalendarSyncStateViewResult)
|
|
28875
|
+
async RunMJCalendarSyncStateViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28876
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28877
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
28878
|
+
}
|
|
28879
|
+
|
|
28880
|
+
@Query(() => RunMJCalendarSyncStateViewResult)
|
|
28881
|
+
async RunMJCalendarSyncStateViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28882
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28883
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
28884
|
+
}
|
|
28885
|
+
|
|
28886
|
+
@Query(() => RunMJCalendarSyncStateViewResult)
|
|
28887
|
+
async RunMJCalendarSyncStateDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28888
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28889
|
+
input.EntityName = 'MJ: Calendar Sync States';
|
|
28890
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
28891
|
+
}
|
|
28892
|
+
@Query(() => MJCalendarSyncState_, { nullable: true })
|
|
28893
|
+
async MJCalendarSyncState(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCalendarSyncState_ | null> {
|
|
28894
|
+
this.CheckUserReadPermissions('MJ: Calendar Sync States', userPayload);
|
|
28895
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
28896
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCalendarSyncStates')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Calendar Sync States', userPayload, EntityPermissionType.Read, 'AND');
|
|
28897
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
28898
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Calendar Sync States', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
28899
|
+
return result;
|
|
28900
|
+
}
|
|
28901
|
+
|
|
28902
|
+
@Mutation(() => MJCalendarSyncState_)
|
|
28903
|
+
async CreateMJCalendarSyncState(
|
|
28904
|
+
@Arg('input', () => CreateMJCalendarSyncStateInput) input: CreateMJCalendarSyncStateInput,
|
|
28905
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
28906
|
+
@PubSub() pubSub: PubSubEngine
|
|
28907
|
+
) {
|
|
28908
|
+
const provider = GetReadWriteProvider(providers);
|
|
28909
|
+
return this.CreateRecord('MJ: Calendar Sync States', input, provider, userPayload, pubSub)
|
|
28910
|
+
}
|
|
28911
|
+
|
|
28912
|
+
@Mutation(() => MJCalendarSyncState_)
|
|
28913
|
+
async UpdateMJCalendarSyncState(
|
|
28914
|
+
@Arg('input', () => UpdateMJCalendarSyncStateInput) input: UpdateMJCalendarSyncStateInput,
|
|
28915
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
28916
|
+
@PubSub() pubSub: PubSubEngine
|
|
28917
|
+
) {
|
|
28918
|
+
const provider = GetReadWriteProvider(providers);
|
|
28919
|
+
return this.UpdateRecord('MJ: Calendar Sync States', input, provider, userPayload, pubSub);
|
|
28920
|
+
}
|
|
28921
|
+
|
|
28922
|
+
@Mutation(() => MJCalendarSyncState_)
|
|
28923
|
+
async DeleteMJCalendarSyncState(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
28924
|
+
const provider = GetReadWriteProvider(providers);
|
|
28925
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
28926
|
+
return this.DeleteRecord('MJ: Calendar Sync States', key, options, provider, userPayload, pubSub);
|
|
28927
|
+
}
|
|
28928
|
+
|
|
28929
|
+
}
|
|
28930
|
+
|
|
27854
28931
|
//****************************************************************************
|
|
27855
28932
|
// ENTITY CLASS for MJ: Cluster Analysis
|
|
27856
28933
|
//****************************************************************************
|
|
@@ -29562,6 +30639,35 @@ export class MJCommunicationProvider_ {
|
|
|
29562
30639
|
@Field(() => Boolean, {nullable: true, description: "Whether or not the provider supports creating draft messages"})
|
|
29563
30640
|
SupportsDrafts?: boolean;
|
|
29564
30641
|
|
|
30642
|
+
@Field(() => Boolean, {nullable: true, description: "Whether the provider supports calendar event reading, creation, updating, and invitation responses."})
|
|
30643
|
+
SupportsCalendar?: boolean;
|
|
30644
|
+
|
|
30645
|
+
@Field(() => Boolean, {nullable: true, description: "Whether the provider supports checking free/busy schedules and finding optimal meeting times."})
|
|
30646
|
+
SupportsFreeBusy?: boolean;
|
|
30647
|
+
|
|
30648
|
+
@Field({nullable: true, description: "Enterprise mailbox scope posture for this provider: UtilityMailboxesOnly (restricted to shared/agent utility mailboxes), SecurityGroupScoped (Exchange RBAC / Workspace group-scoped user mailboxes), or TenantWide."})
|
|
30649
|
+
@MaxLength(40)
|
|
30650
|
+
EnterpriseScopeMode?: string;
|
|
30651
|
+
|
|
30652
|
+
@Field({nullable: true, description: "Optional comma-separated list of corporate email domains permitted for user-scoped mailbox and calendar operations (e.g., \"company.com,subsidiary.com\")."})
|
|
30653
|
+
@MaxLength(500)
|
|
30654
|
+
AllowedEmailDomains?: string;
|
|
30655
|
+
|
|
30656
|
+
@Field({nullable: true, description: "Optional default MJ Credential used by this communication provider when no per-request credential override is supplied."})
|
|
30657
|
+
@MaxLength(36)
|
|
30658
|
+
DefaultCredentialID?: string;
|
|
30659
|
+
|
|
30660
|
+
@Field(() => Boolean, {nullable: true, description: "Posture 3 master switch (Gate 1). When 1, users may connect their own mailbox/calendar to this provider through per-user delegated OAuth 2.0 (3LO) with PKCE, subject to AllowedEmailDomains and AllowedOAuthTenantIDs. Default 0: no user can initiate a personal OAuth flow."})
|
|
30661
|
+
AllowUserDelegatedOAuth?: boolean;
|
|
30662
|
+
|
|
30663
|
+
@Field({nullable: true, description: "Optional comma-separated allowlist of identity tenant identifiers (Gate 3) that a user-delegated OAuth token must carry: Azure AD tenant IDs (tid) or Google Workspace hosted domains (hd). NULL means no tenant restriction beyond AllowedEmailDomains."})
|
|
30664
|
+
@MaxLength(1000)
|
|
30665
|
+
AllowedOAuthTenantIDs?: string;
|
|
30666
|
+
|
|
30667
|
+
@Field({nullable: true})
|
|
30668
|
+
@MaxLength(200)
|
|
30669
|
+
DefaultCredential?: string;
|
|
30670
|
+
|
|
29565
30671
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
29566
30672
|
ReadableFields___?: string[];
|
|
29567
30673
|
|
|
@@ -29602,6 +30708,27 @@ export class CreateMJCommunicationProviderInput {
|
|
|
29602
30708
|
@Field(() => Boolean, { nullable: true })
|
|
29603
30709
|
SupportsDrafts?: boolean;
|
|
29604
30710
|
|
|
30711
|
+
@Field(() => Boolean, { nullable: true })
|
|
30712
|
+
SupportsCalendar?: boolean;
|
|
30713
|
+
|
|
30714
|
+
@Field(() => Boolean, { nullable: true })
|
|
30715
|
+
SupportsFreeBusy?: boolean;
|
|
30716
|
+
|
|
30717
|
+
@Field({ nullable: true })
|
|
30718
|
+
EnterpriseScopeMode?: string;
|
|
30719
|
+
|
|
30720
|
+
@Field({ nullable: true })
|
|
30721
|
+
AllowedEmailDomains: string | null;
|
|
30722
|
+
|
|
30723
|
+
@Field({ nullable: true })
|
|
30724
|
+
DefaultCredentialID: string | null;
|
|
30725
|
+
|
|
30726
|
+
@Field(() => Boolean, { nullable: true })
|
|
30727
|
+
AllowUserDelegatedOAuth?: boolean;
|
|
30728
|
+
|
|
30729
|
+
@Field({ nullable: true })
|
|
30730
|
+
AllowedOAuthTenantIDs: string | null;
|
|
30731
|
+
|
|
29605
30732
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
29606
30733
|
RestoreContext___?: RestoreContextInput;
|
|
29607
30734
|
}
|
|
@@ -29642,6 +30769,27 @@ export class UpdateMJCommunicationProviderInput {
|
|
|
29642
30769
|
@Field(() => Boolean, { nullable: true })
|
|
29643
30770
|
SupportsDrafts?: boolean;
|
|
29644
30771
|
|
|
30772
|
+
@Field(() => Boolean, { nullable: true })
|
|
30773
|
+
SupportsCalendar?: boolean;
|
|
30774
|
+
|
|
30775
|
+
@Field(() => Boolean, { nullable: true })
|
|
30776
|
+
SupportsFreeBusy?: boolean;
|
|
30777
|
+
|
|
30778
|
+
@Field({ nullable: true })
|
|
30779
|
+
EnterpriseScopeMode?: string;
|
|
30780
|
+
|
|
30781
|
+
@Field({ nullable: true })
|
|
30782
|
+
AllowedEmailDomains?: string | null;
|
|
30783
|
+
|
|
30784
|
+
@Field({ nullable: true })
|
|
30785
|
+
DefaultCredentialID?: string | null;
|
|
30786
|
+
|
|
30787
|
+
@Field(() => Boolean, { nullable: true })
|
|
30788
|
+
AllowUserDelegatedOAuth?: boolean;
|
|
30789
|
+
|
|
30790
|
+
@Field({ nullable: true })
|
|
30791
|
+
AllowedOAuthTenantIDs?: string | null;
|
|
30792
|
+
|
|
29645
30793
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
29646
30794
|
OldValues___?: KeyValuePairInput[];
|
|
29647
30795
|
|
|
@@ -30205,49 +31353,1242 @@ export class MJCompanyIntegrationEntityMap_ {
|
|
|
30205
31353
|
|
|
30206
31354
|
}
|
|
30207
31355
|
|
|
30208
|
-
//****************************************************************************
|
|
30209
|
-
// INPUT TYPE for MJ: Company Integration Entity Maps
|
|
30210
|
-
//****************************************************************************
|
|
30211
|
-
@InputType()
|
|
30212
|
-
export class CreateMJCompanyIntegrationEntityMapInput {
|
|
31356
|
+
//****************************************************************************
|
|
31357
|
+
// INPUT TYPE for MJ: Company Integration Entity Maps
|
|
31358
|
+
//****************************************************************************
|
|
31359
|
+
@InputType()
|
|
31360
|
+
export class CreateMJCompanyIntegrationEntityMapInput {
|
|
31361
|
+
@Field({ nullable: true })
|
|
31362
|
+
ID?: string;
|
|
31363
|
+
|
|
31364
|
+
@Field({ nullable: true })
|
|
31365
|
+
CompanyIntegrationID?: string;
|
|
31366
|
+
|
|
31367
|
+
@Field({ nullable: true })
|
|
31368
|
+
ExternalObjectName?: string;
|
|
31369
|
+
|
|
31370
|
+
@Field({ nullable: true })
|
|
31371
|
+
ExternalObjectLabel: string | null;
|
|
31372
|
+
|
|
31373
|
+
@Field({ nullable: true })
|
|
31374
|
+
EntityID?: string;
|
|
31375
|
+
|
|
31376
|
+
@Field({ nullable: true })
|
|
31377
|
+
SyncDirection?: string;
|
|
31378
|
+
|
|
31379
|
+
@Field(() => Boolean, { nullable: true })
|
|
31380
|
+
SyncEnabled?: boolean;
|
|
31381
|
+
|
|
31382
|
+
@Field({ nullable: true })
|
|
31383
|
+
MatchStrategy: string | null;
|
|
31384
|
+
|
|
31385
|
+
@Field({ nullable: true })
|
|
31386
|
+
ConflictResolution?: string;
|
|
31387
|
+
|
|
31388
|
+
@Field(() => Int, { nullable: true })
|
|
31389
|
+
Priority?: number;
|
|
31390
|
+
|
|
31391
|
+
@Field({ nullable: true })
|
|
31392
|
+
DeleteBehavior?: string;
|
|
31393
|
+
|
|
31394
|
+
@Field({ nullable: true })
|
|
31395
|
+
Status?: string;
|
|
31396
|
+
|
|
31397
|
+
@Field({ nullable: true })
|
|
31398
|
+
Configuration: string | null;
|
|
31399
|
+
|
|
31400
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
31401
|
+
RestoreContext___?: RestoreContextInput;
|
|
31402
|
+
}
|
|
31403
|
+
|
|
31404
|
+
|
|
31405
|
+
//****************************************************************************
|
|
31406
|
+
// INPUT TYPE for MJ: Company Integration Entity Maps
|
|
31407
|
+
//****************************************************************************
|
|
31408
|
+
@InputType()
|
|
31409
|
+
export class UpdateMJCompanyIntegrationEntityMapInput {
|
|
31410
|
+
@Field()
|
|
31411
|
+
ID: string;
|
|
31412
|
+
|
|
31413
|
+
@Field({ nullable: true })
|
|
31414
|
+
CompanyIntegrationID?: string;
|
|
31415
|
+
|
|
31416
|
+
@Field({ nullable: true })
|
|
31417
|
+
ExternalObjectName?: string;
|
|
31418
|
+
|
|
31419
|
+
@Field({ nullable: true })
|
|
31420
|
+
ExternalObjectLabel?: string | null;
|
|
31421
|
+
|
|
31422
|
+
@Field({ nullable: true })
|
|
31423
|
+
EntityID?: string;
|
|
31424
|
+
|
|
31425
|
+
@Field({ nullable: true })
|
|
31426
|
+
SyncDirection?: string;
|
|
31427
|
+
|
|
31428
|
+
@Field(() => Boolean, { nullable: true })
|
|
31429
|
+
SyncEnabled?: boolean;
|
|
31430
|
+
|
|
31431
|
+
@Field({ nullable: true })
|
|
31432
|
+
MatchStrategy?: string | null;
|
|
31433
|
+
|
|
31434
|
+
@Field({ nullable: true })
|
|
31435
|
+
ConflictResolution?: string;
|
|
31436
|
+
|
|
31437
|
+
@Field(() => Int, { nullable: true })
|
|
31438
|
+
Priority?: number;
|
|
31439
|
+
|
|
31440
|
+
@Field({ nullable: true })
|
|
31441
|
+
DeleteBehavior?: string;
|
|
31442
|
+
|
|
31443
|
+
@Field({ nullable: true })
|
|
31444
|
+
Status?: string;
|
|
31445
|
+
|
|
31446
|
+
@Field({ nullable: true })
|
|
31447
|
+
Configuration?: string | null;
|
|
31448
|
+
|
|
31449
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
31450
|
+
OldValues___?: KeyValuePairInput[];
|
|
31451
|
+
|
|
31452
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
31453
|
+
RestoreContext___?: RestoreContextInput;
|
|
31454
|
+
}
|
|
31455
|
+
|
|
31456
|
+
//****************************************************************************
|
|
31457
|
+
// RESOLVER for MJ: Company Integration Entity Maps
|
|
31458
|
+
//****************************************************************************
|
|
31459
|
+
@ObjectType()
|
|
31460
|
+
export class RunMJCompanyIntegrationEntityMapViewResult {
|
|
31461
|
+
@Field(() => [MJCompanyIntegrationEntityMap_])
|
|
31462
|
+
Results: MJCompanyIntegrationEntityMap_[];
|
|
31463
|
+
|
|
31464
|
+
@Field(() => String, {nullable: true})
|
|
31465
|
+
UserViewRunID?: string;
|
|
31466
|
+
|
|
31467
|
+
@Field(() => Int, {nullable: true})
|
|
31468
|
+
RowCount: number;
|
|
31469
|
+
|
|
31470
|
+
@Field(() => Int, {nullable: true})
|
|
31471
|
+
TotalRowCount: number;
|
|
31472
|
+
|
|
31473
|
+
@Field(() => Int, {nullable: true})
|
|
31474
|
+
ExecutionTime: number;
|
|
31475
|
+
|
|
31476
|
+
@Field({nullable: true})
|
|
31477
|
+
ErrorMessage?: string;
|
|
31478
|
+
|
|
31479
|
+
@Field(() => Boolean, {nullable: false})
|
|
31480
|
+
Success: boolean;
|
|
31481
|
+
}
|
|
31482
|
+
|
|
31483
|
+
@Resolver(MJCompanyIntegrationEntityMap_)
|
|
31484
|
+
export class MJCompanyIntegrationEntityMapResolver extends ResolverBase {
|
|
31485
|
+
@Query(() => RunMJCompanyIntegrationEntityMapViewResult)
|
|
31486
|
+
async RunMJCompanyIntegrationEntityMapViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31487
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31488
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
31489
|
+
}
|
|
31490
|
+
|
|
31491
|
+
@Query(() => RunMJCompanyIntegrationEntityMapViewResult)
|
|
31492
|
+
async RunMJCompanyIntegrationEntityMapViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31493
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31494
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
31495
|
+
}
|
|
31496
|
+
|
|
31497
|
+
@Query(() => RunMJCompanyIntegrationEntityMapViewResult)
|
|
31498
|
+
async RunMJCompanyIntegrationEntityMapDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31499
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31500
|
+
input.EntityName = 'MJ: Company Integration Entity Maps';
|
|
31501
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
31502
|
+
}
|
|
31503
|
+
@Query(() => MJCompanyIntegrationEntityMap_, { nullable: true })
|
|
31504
|
+
async MJCompanyIntegrationEntityMap(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCompanyIntegrationEntityMap_ | null> {
|
|
31505
|
+
this.CheckUserReadPermissions('MJ: Company Integration Entity Maps', userPayload);
|
|
31506
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31507
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationEntityMaps')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Entity Maps', userPayload, EntityPermissionType.Read, 'AND');
|
|
31508
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
31509
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration Entity Maps', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
31510
|
+
return result;
|
|
31511
|
+
}
|
|
31512
|
+
|
|
31513
|
+
@Mutation(() => MJCompanyIntegrationEntityMap_)
|
|
31514
|
+
async CreateMJCompanyIntegrationEntityMap(
|
|
31515
|
+
@Arg('input', () => CreateMJCompanyIntegrationEntityMapInput) input: CreateMJCompanyIntegrationEntityMapInput,
|
|
31516
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
31517
|
+
@PubSub() pubSub: PubSubEngine
|
|
31518
|
+
) {
|
|
31519
|
+
const provider = GetReadWriteProvider(providers);
|
|
31520
|
+
return this.CreateRecord('MJ: Company Integration Entity Maps', input, provider, userPayload, pubSub)
|
|
31521
|
+
}
|
|
31522
|
+
|
|
31523
|
+
@Mutation(() => MJCompanyIntegrationEntityMap_)
|
|
31524
|
+
async UpdateMJCompanyIntegrationEntityMap(
|
|
31525
|
+
@Arg('input', () => UpdateMJCompanyIntegrationEntityMapInput) input: UpdateMJCompanyIntegrationEntityMapInput,
|
|
31526
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
31527
|
+
@PubSub() pubSub: PubSubEngine
|
|
31528
|
+
) {
|
|
31529
|
+
const provider = GetReadWriteProvider(providers);
|
|
31530
|
+
return this.UpdateRecord('MJ: Company Integration Entity Maps', input, provider, userPayload, pubSub);
|
|
31531
|
+
}
|
|
31532
|
+
|
|
31533
|
+
@Mutation(() => MJCompanyIntegrationEntityMap_)
|
|
31534
|
+
async DeleteMJCompanyIntegrationEntityMap(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31535
|
+
const provider = GetReadWriteProvider(providers);
|
|
31536
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
31537
|
+
return this.DeleteRecord('MJ: Company Integration Entity Maps', key, options, provider, userPayload, pubSub);
|
|
31538
|
+
}
|
|
31539
|
+
|
|
31540
|
+
}
|
|
31541
|
+
|
|
31542
|
+
//****************************************************************************
|
|
31543
|
+
// ENTITY CLASS for MJ: Company Integration Field Maps
|
|
31544
|
+
//****************************************************************************
|
|
31545
|
+
@ObjectType({ description: "Maps individual fields between an external source object and a MemberJunction entity, with optional transform pipeline." })
|
|
31546
|
+
export class MJCompanyIntegrationFieldMap_ {
|
|
31547
|
+
@Field()
|
|
31548
|
+
@MaxLength(36)
|
|
31549
|
+
ID: string;
|
|
31550
|
+
|
|
31551
|
+
@Field({nullable: true})
|
|
31552
|
+
@MaxLength(36)
|
|
31553
|
+
EntityMapID?: string;
|
|
31554
|
+
|
|
31555
|
+
@Field({nullable: true, description: "The field/column name in the external source system."})
|
|
31556
|
+
@MaxLength(500)
|
|
31557
|
+
SourceFieldName?: string;
|
|
31558
|
+
|
|
31559
|
+
@Field({nullable: true, description: "Optional human-friendly label for the source field."})
|
|
31560
|
+
@MaxLength(500)
|
|
31561
|
+
SourceFieldLabel?: string;
|
|
31562
|
+
|
|
31563
|
+
@Field({nullable: true, description: "The MJ entity field name this source field maps to."})
|
|
31564
|
+
@MaxLength(500)
|
|
31565
|
+
DestinationFieldName?: string;
|
|
31566
|
+
|
|
31567
|
+
@Field({nullable: true, description: "Optional human-friendly label for the destination field."})
|
|
31568
|
+
@MaxLength(500)
|
|
31569
|
+
DestinationFieldLabel?: string;
|
|
31570
|
+
|
|
31571
|
+
@Field({nullable: true, description: "Direction of field mapping: SourceToDest, DestToSource, or Both."})
|
|
31572
|
+
@MaxLength(50)
|
|
31573
|
+
Direction?: string;
|
|
31574
|
+
|
|
31575
|
+
@Field({nullable: true, description: "JSON array of transform names to apply in order (e.g. [\"trim\", \"uppercase\"]). See FieldMappingEngine for available transforms."})
|
|
31576
|
+
TransformPipeline?: string;
|
|
31577
|
+
|
|
31578
|
+
@Field(() => Boolean, {nullable: true, description: "When true, this field is used by the MatchEngine to find existing records during sync."})
|
|
31579
|
+
IsKeyField?: boolean;
|
|
31580
|
+
|
|
31581
|
+
@Field(() => Boolean, {nullable: true, description: "When true, a sync record is rejected if this field has no value."})
|
|
31582
|
+
IsRequired?: boolean;
|
|
31583
|
+
|
|
31584
|
+
@Field({nullable: true, description: "Default value to use when the source field is null or missing."})
|
|
31585
|
+
DefaultValue?: string;
|
|
31586
|
+
|
|
31587
|
+
@Field(() => Int, {nullable: true, description: "Processing order for this field mapping within the entity map."})
|
|
31588
|
+
Priority?: number;
|
|
31589
|
+
|
|
31590
|
+
@Field({nullable: true, description: "Whether this field mapping is Active or Inactive."})
|
|
31591
|
+
@MaxLength(50)
|
|
31592
|
+
Status?: string;
|
|
31593
|
+
|
|
31594
|
+
@Field()
|
|
31595
|
+
_mj__CreatedAt: Date;
|
|
31596
|
+
|
|
31597
|
+
@Field()
|
|
31598
|
+
_mj__UpdatedAt: Date;
|
|
31599
|
+
|
|
31600
|
+
@Field({nullable: true})
|
|
31601
|
+
@MaxLength(500)
|
|
31602
|
+
EntityMap?: string;
|
|
31603
|
+
|
|
31604
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
31605
|
+
ReadableFields___?: string[];
|
|
31606
|
+
|
|
31607
|
+
}
|
|
31608
|
+
|
|
31609
|
+
//****************************************************************************
|
|
31610
|
+
// INPUT TYPE for MJ: Company Integration Field Maps
|
|
31611
|
+
//****************************************************************************
|
|
31612
|
+
@InputType()
|
|
31613
|
+
export class CreateMJCompanyIntegrationFieldMapInput {
|
|
31614
|
+
@Field({ nullable: true })
|
|
31615
|
+
ID?: string;
|
|
31616
|
+
|
|
31617
|
+
@Field({ nullable: true })
|
|
31618
|
+
EntityMapID?: string;
|
|
31619
|
+
|
|
31620
|
+
@Field({ nullable: true })
|
|
31621
|
+
SourceFieldName?: string;
|
|
31622
|
+
|
|
31623
|
+
@Field({ nullable: true })
|
|
31624
|
+
SourceFieldLabel: string | null;
|
|
31625
|
+
|
|
31626
|
+
@Field({ nullable: true })
|
|
31627
|
+
DestinationFieldName?: string;
|
|
31628
|
+
|
|
31629
|
+
@Field({ nullable: true })
|
|
31630
|
+
DestinationFieldLabel: string | null;
|
|
31631
|
+
|
|
31632
|
+
@Field({ nullable: true })
|
|
31633
|
+
Direction?: string;
|
|
31634
|
+
|
|
31635
|
+
@Field({ nullable: true })
|
|
31636
|
+
TransformPipeline: string | null;
|
|
31637
|
+
|
|
31638
|
+
@Field(() => Boolean, { nullable: true })
|
|
31639
|
+
IsKeyField?: boolean;
|
|
31640
|
+
|
|
31641
|
+
@Field(() => Boolean, { nullable: true })
|
|
31642
|
+
IsRequired?: boolean;
|
|
31643
|
+
|
|
31644
|
+
@Field({ nullable: true })
|
|
31645
|
+
DefaultValue: string | null;
|
|
31646
|
+
|
|
31647
|
+
@Field(() => Int, { nullable: true })
|
|
31648
|
+
Priority?: number;
|
|
31649
|
+
|
|
31650
|
+
@Field({ nullable: true })
|
|
31651
|
+
Status?: string;
|
|
31652
|
+
|
|
31653
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
31654
|
+
RestoreContext___?: RestoreContextInput;
|
|
31655
|
+
}
|
|
31656
|
+
|
|
31657
|
+
|
|
31658
|
+
//****************************************************************************
|
|
31659
|
+
// INPUT TYPE for MJ: Company Integration Field Maps
|
|
31660
|
+
//****************************************************************************
|
|
31661
|
+
@InputType()
|
|
31662
|
+
export class UpdateMJCompanyIntegrationFieldMapInput {
|
|
31663
|
+
@Field()
|
|
31664
|
+
ID: string;
|
|
31665
|
+
|
|
31666
|
+
@Field({ nullable: true })
|
|
31667
|
+
EntityMapID?: string;
|
|
31668
|
+
|
|
31669
|
+
@Field({ nullable: true })
|
|
31670
|
+
SourceFieldName?: string;
|
|
31671
|
+
|
|
31672
|
+
@Field({ nullable: true })
|
|
31673
|
+
SourceFieldLabel?: string | null;
|
|
31674
|
+
|
|
31675
|
+
@Field({ nullable: true })
|
|
31676
|
+
DestinationFieldName?: string;
|
|
31677
|
+
|
|
31678
|
+
@Field({ nullable: true })
|
|
31679
|
+
DestinationFieldLabel?: string | null;
|
|
31680
|
+
|
|
31681
|
+
@Field({ nullable: true })
|
|
31682
|
+
Direction?: string;
|
|
31683
|
+
|
|
31684
|
+
@Field({ nullable: true })
|
|
31685
|
+
TransformPipeline?: string | null;
|
|
31686
|
+
|
|
31687
|
+
@Field(() => Boolean, { nullable: true })
|
|
31688
|
+
IsKeyField?: boolean;
|
|
31689
|
+
|
|
31690
|
+
@Field(() => Boolean, { nullable: true })
|
|
31691
|
+
IsRequired?: boolean;
|
|
31692
|
+
|
|
31693
|
+
@Field({ nullable: true })
|
|
31694
|
+
DefaultValue?: string | null;
|
|
31695
|
+
|
|
31696
|
+
@Field(() => Int, { nullable: true })
|
|
31697
|
+
Priority?: number;
|
|
31698
|
+
|
|
31699
|
+
@Field({ nullable: true })
|
|
31700
|
+
Status?: string;
|
|
31701
|
+
|
|
31702
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
31703
|
+
OldValues___?: KeyValuePairInput[];
|
|
31704
|
+
|
|
31705
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
31706
|
+
RestoreContext___?: RestoreContextInput;
|
|
31707
|
+
}
|
|
31708
|
+
|
|
31709
|
+
//****************************************************************************
|
|
31710
|
+
// RESOLVER for MJ: Company Integration Field Maps
|
|
31711
|
+
//****************************************************************************
|
|
31712
|
+
@ObjectType()
|
|
31713
|
+
export class RunMJCompanyIntegrationFieldMapViewResult {
|
|
31714
|
+
@Field(() => [MJCompanyIntegrationFieldMap_])
|
|
31715
|
+
Results: MJCompanyIntegrationFieldMap_[];
|
|
31716
|
+
|
|
31717
|
+
@Field(() => String, {nullable: true})
|
|
31718
|
+
UserViewRunID?: string;
|
|
31719
|
+
|
|
31720
|
+
@Field(() => Int, {nullable: true})
|
|
31721
|
+
RowCount: number;
|
|
31722
|
+
|
|
31723
|
+
@Field(() => Int, {nullable: true})
|
|
31724
|
+
TotalRowCount: number;
|
|
31725
|
+
|
|
31726
|
+
@Field(() => Int, {nullable: true})
|
|
31727
|
+
ExecutionTime: number;
|
|
31728
|
+
|
|
31729
|
+
@Field({nullable: true})
|
|
31730
|
+
ErrorMessage?: string;
|
|
31731
|
+
|
|
31732
|
+
@Field(() => Boolean, {nullable: false})
|
|
31733
|
+
Success: boolean;
|
|
31734
|
+
}
|
|
31735
|
+
|
|
31736
|
+
@Resolver(MJCompanyIntegrationFieldMap_)
|
|
31737
|
+
export class MJCompanyIntegrationFieldMapResolver extends ResolverBase {
|
|
31738
|
+
@Query(() => RunMJCompanyIntegrationFieldMapViewResult)
|
|
31739
|
+
async RunMJCompanyIntegrationFieldMapViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31740
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31741
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
31742
|
+
}
|
|
31743
|
+
|
|
31744
|
+
@Query(() => RunMJCompanyIntegrationFieldMapViewResult)
|
|
31745
|
+
async RunMJCompanyIntegrationFieldMapViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31746
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31747
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
31748
|
+
}
|
|
31749
|
+
|
|
31750
|
+
@Query(() => RunMJCompanyIntegrationFieldMapViewResult)
|
|
31751
|
+
async RunMJCompanyIntegrationFieldMapDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31752
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31753
|
+
input.EntityName = 'MJ: Company Integration Field Maps';
|
|
31754
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
31755
|
+
}
|
|
31756
|
+
@Query(() => MJCompanyIntegrationFieldMap_, { nullable: true })
|
|
31757
|
+
async MJCompanyIntegrationFieldMap(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCompanyIntegrationFieldMap_ | null> {
|
|
31758
|
+
this.CheckUserReadPermissions('MJ: Company Integration Field Maps', userPayload);
|
|
31759
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
31760
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationFieldMaps')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Field Maps', userPayload, EntityPermissionType.Read, 'AND');
|
|
31761
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
31762
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration Field Maps', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
31763
|
+
return result;
|
|
31764
|
+
}
|
|
31765
|
+
|
|
31766
|
+
@Mutation(() => MJCompanyIntegrationFieldMap_)
|
|
31767
|
+
async CreateMJCompanyIntegrationFieldMap(
|
|
31768
|
+
@Arg('input', () => CreateMJCompanyIntegrationFieldMapInput) input: CreateMJCompanyIntegrationFieldMapInput,
|
|
31769
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
31770
|
+
@PubSub() pubSub: PubSubEngine
|
|
31771
|
+
) {
|
|
31772
|
+
const provider = GetReadWriteProvider(providers);
|
|
31773
|
+
return this.CreateRecord('MJ: Company Integration Field Maps', input, provider, userPayload, pubSub)
|
|
31774
|
+
}
|
|
31775
|
+
|
|
31776
|
+
@Mutation(() => MJCompanyIntegrationFieldMap_)
|
|
31777
|
+
async UpdateMJCompanyIntegrationFieldMap(
|
|
31778
|
+
@Arg('input', () => UpdateMJCompanyIntegrationFieldMapInput) input: UpdateMJCompanyIntegrationFieldMapInput,
|
|
31779
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
31780
|
+
@PubSub() pubSub: PubSubEngine
|
|
31781
|
+
) {
|
|
31782
|
+
const provider = GetReadWriteProvider(providers);
|
|
31783
|
+
return this.UpdateRecord('MJ: Company Integration Field Maps', input, provider, userPayload, pubSub);
|
|
31784
|
+
}
|
|
31785
|
+
|
|
31786
|
+
@Mutation(() => MJCompanyIntegrationFieldMap_)
|
|
31787
|
+
async DeleteMJCompanyIntegrationFieldMap(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
31788
|
+
const provider = GetReadWriteProvider(providers);
|
|
31789
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
31790
|
+
return this.DeleteRecord('MJ: Company Integration Field Maps', key, options, provider, userPayload, pubSub);
|
|
31791
|
+
}
|
|
31792
|
+
|
|
31793
|
+
}
|
|
31794
|
+
|
|
31795
|
+
//****************************************************************************
|
|
31796
|
+
// ENTITY CLASS for MJ: Company Integration Object Fields
|
|
31797
|
+
//****************************************************************************
|
|
31798
|
+
@ObjectType({ description: "A field of a CompanyIntegrationObject: the declared field definition rebased with this connection's own discovery and sampling (observed width, provenance), with selection separate from Status." })
|
|
31799
|
+
export class MJCompanyIntegrationObjectField_ {
|
|
31800
|
+
@Field()
|
|
31801
|
+
@MaxLength(36)
|
|
31802
|
+
ID: string;
|
|
31803
|
+
|
|
31804
|
+
@Field({nullable: true, description: "Field name as returned by the external API"})
|
|
31805
|
+
@MaxLength(255)
|
|
31806
|
+
Name?: string;
|
|
31807
|
+
|
|
31808
|
+
@Field({nullable: true, description: "Human-friendly display label for the field"})
|
|
31809
|
+
@MaxLength(255)
|
|
31810
|
+
DisplayName?: string;
|
|
31811
|
+
|
|
31812
|
+
@Field({nullable: true, description: "Description of what this field represents"})
|
|
31813
|
+
Description?: string;
|
|
31814
|
+
|
|
31815
|
+
@Field({nullable: true, description: "UI grouping category within the object"})
|
|
31816
|
+
@MaxLength(100)
|
|
31817
|
+
Category?: string;
|
|
31818
|
+
|
|
31819
|
+
@Field({nullable: true, description: "Data type of the field (e.g., nvarchar, int, datetime, decimal, bit). Uses same type vocabulary as EntityField."})
|
|
31820
|
+
@MaxLength(100)
|
|
31821
|
+
Type?: string;
|
|
31822
|
+
|
|
31823
|
+
@Field(() => Int, {nullable: true, description: "Maximum length for string types"})
|
|
31824
|
+
Length?: number;
|
|
31825
|
+
|
|
31826
|
+
@Field(() => Int, {nullable: true, description: "Numeric precision"})
|
|
31827
|
+
Precision?: number;
|
|
31828
|
+
|
|
31829
|
+
@Field(() => Int, {nullable: true, description: "Numeric scale"})
|
|
31830
|
+
Scale?: number;
|
|
31831
|
+
|
|
31832
|
+
@Field(() => Boolean, {nullable: true, description: "Whether the field can contain NULL values"})
|
|
31833
|
+
AllowsNull?: boolean;
|
|
31834
|
+
|
|
31835
|
+
@Field({nullable: true, description: "Default value from the source system"})
|
|
31836
|
+
@MaxLength(255)
|
|
31837
|
+
DefaultValue?: string;
|
|
31838
|
+
|
|
31839
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this field is part of the object primary key"})
|
|
31840
|
+
IsPrimaryKey?: boolean;
|
|
31841
|
+
|
|
31842
|
+
@Field(() => Boolean, {nullable: true, description: "Whether values must be unique across all records"})
|
|
31843
|
+
IsUniqueKey?: boolean;
|
|
31844
|
+
|
|
31845
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this field cannot be written back to the source system"})
|
|
31846
|
+
IsReadOnly?: boolean;
|
|
31847
|
+
|
|
31848
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this field is required for create/update operations"})
|
|
31849
|
+
IsRequired?: boolean;
|
|
31850
|
+
|
|
31851
|
+
@Field({nullable: true, description: "The field name on the related IntegrationObject that this FK points to (typically the PK field)"})
|
|
31852
|
+
@MaxLength(255)
|
|
31853
|
+
RelatedIntegrationObjectFieldName?: string;
|
|
31854
|
+
|
|
31855
|
+
@Field(() => Int, {nullable: true, description: "Display and processing order within the object. Lower numbers appear first."})
|
|
31856
|
+
Sequence?: number;
|
|
31857
|
+
|
|
31858
|
+
@Field({nullable: true, description: "Freeform JSON for connector-specific field configuration"})
|
|
31859
|
+
Configuration?: string;
|
|
31860
|
+
|
|
31861
|
+
@Field({nullable: true, description: "Active, Deprecated, or Disabled. Mirrors EntityField status values."})
|
|
31862
|
+
@MaxLength(25)
|
|
31863
|
+
Status?: string;
|
|
31864
|
+
|
|
31865
|
+
@Field(() => Boolean, {nullable: true, description: "When true, this field was dynamically discovered by IntrospectSchema and is not defined in static connector metadata."})
|
|
31866
|
+
IsCustom?: boolean;
|
|
31867
|
+
|
|
31868
|
+
@Field({nullable: true, description: "Provenance of this CompanyIntegrationObjectField row: Declared (from static research/docs), Discovered (from runtime API introspection), Custom (customer-defined custom field, e.g., HubSpot custom property on standard object). Drives merge precedence — discovered/runtime wins for type/constraints; declared wins for description/label/sequence/category."})
|
|
31869
|
+
@MaxLength(20)
|
|
31870
|
+
MetadataSource?: string;
|
|
31871
|
+
|
|
31872
|
+
@Field({nullable: true})
|
|
31873
|
+
@MaxLength(36)
|
|
31874
|
+
CompanyIntegrationObjectID?: string;
|
|
31875
|
+
|
|
31876
|
+
@Field({nullable: true})
|
|
31877
|
+
@MaxLength(36)
|
|
31878
|
+
RelatedCompanyIntegrationObjectID?: string;
|
|
31879
|
+
|
|
31880
|
+
@Field({nullable: true})
|
|
31881
|
+
@MaxLength(36)
|
|
31882
|
+
IntegrationObjectFieldID?: string;
|
|
31883
|
+
|
|
31884
|
+
@Field(() => Int, {nullable: true, description: "The longest value sampling actually saw, kept SEPARATE from Length. Length carries the padded width the schema builder will use; this carries the evidence. Without both, a width cannot be audited and a truncation cannot be distinguished from a bad guess."})
|
|
31885
|
+
ObservedMaxLength?: number;
|
|
31886
|
+
|
|
31887
|
+
@Field({nullable: true, description: "Where this row came from: Declared (the connector shipped catalog), Endpoint (the source listed it) or Sampled (only streaming records revealed it). Answers \"whose is this\" for a connection whose catalog no longer matches the connector default."})
|
|
31888
|
+
@MaxLength(20)
|
|
31889
|
+
Provenance?: string;
|
|
31890
|
+
|
|
31891
|
+
@Field({nullable: true, description: "The per-attribute merge log for this row: which side won each overlay decision and why. The persist already computes this and throws it away, so the operator has never been able to see why a width or a key looks the way it does."})
|
|
31892
|
+
ProvenanceDetail?: string;
|
|
31893
|
+
|
|
31894
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this connection syncs this item. THE AXIS THAT MAKES THE CONTRACT SATISFIABLE: Status says whether the item is in the catalog at all, IsSelected says whether the customer chose it. Conflating the two is why a newly discovered object had to arrive ENABLED — a disabled object was excluded from schema introspection, so it never reached key inference and never reached a migration."})
|
|
31895
|
+
IsSelected?: boolean;
|
|
31896
|
+
|
|
31897
|
+
@Field({nullable: true, description: "When the selection last changed. Lets the UI distinguish \"never chosen\" from \"deliberately deselected\"."})
|
|
31898
|
+
SelectedAt?: Date;
|
|
31899
|
+
|
|
31900
|
+
@Field({nullable: true, description: "When this connection first observed this item. Set once and never updated, so a catalog can be read as a history of what the source exposed and when."})
|
|
31901
|
+
FirstSeenAt?: Date;
|
|
31902
|
+
|
|
31903
|
+
@Field({nullable: true, description: "When this connection most recently observed this item. A row whose LastSeenAt is older than the connection last discovery is what \"absent from the source\" means."})
|
|
31904
|
+
LastSeenAt?: Date;
|
|
31905
|
+
|
|
31906
|
+
@Field({nullable: true, description: "When sampling last streamed records for this item. Distinct from LastSeenAt: an item can be listed by an endpoint without ever being sampled, and unsampled items are exactly the ones whose widths and keys came from the declared catalog rather than from data."})
|
|
31907
|
+
LastSampledAt?: Date;
|
|
31908
|
+
|
|
31909
|
+
@Field()
|
|
31910
|
+
_mj__CreatedAt: Date;
|
|
31911
|
+
|
|
31912
|
+
@Field()
|
|
31913
|
+
_mj__UpdatedAt: Date;
|
|
31914
|
+
|
|
31915
|
+
@Field({nullable: true})
|
|
31916
|
+
@MaxLength(255)
|
|
31917
|
+
CompanyIntegrationObject?: string;
|
|
31918
|
+
|
|
31919
|
+
@Field({nullable: true})
|
|
31920
|
+
@MaxLength(255)
|
|
31921
|
+
RelatedCompanyIntegrationObject?: string;
|
|
31922
|
+
|
|
31923
|
+
@Field({nullable: true})
|
|
31924
|
+
@MaxLength(255)
|
|
31925
|
+
IntegrationObjectField?: string;
|
|
31926
|
+
|
|
31927
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
31928
|
+
ReadableFields___?: string[];
|
|
31929
|
+
|
|
31930
|
+
}
|
|
31931
|
+
|
|
31932
|
+
//****************************************************************************
|
|
31933
|
+
// INPUT TYPE for MJ: Company Integration Object Fields
|
|
31934
|
+
//****************************************************************************
|
|
31935
|
+
@InputType()
|
|
31936
|
+
export class CreateMJCompanyIntegrationObjectFieldInput {
|
|
31937
|
+
@Field({ nullable: true })
|
|
31938
|
+
ID?: string;
|
|
31939
|
+
|
|
31940
|
+
@Field({ nullable: true })
|
|
31941
|
+
Name?: string;
|
|
31942
|
+
|
|
31943
|
+
@Field({ nullable: true })
|
|
31944
|
+
DisplayName: string | null;
|
|
31945
|
+
|
|
31946
|
+
@Field({ nullable: true })
|
|
31947
|
+
Description: string | null;
|
|
31948
|
+
|
|
31949
|
+
@Field({ nullable: true })
|
|
31950
|
+
Category: string | null;
|
|
31951
|
+
|
|
31952
|
+
@Field({ nullable: true })
|
|
31953
|
+
Type?: string;
|
|
31954
|
+
|
|
31955
|
+
@Field(() => Int, { nullable: true })
|
|
31956
|
+
Length: number | null;
|
|
31957
|
+
|
|
31958
|
+
@Field(() => Int, { nullable: true })
|
|
31959
|
+
Precision: number | null;
|
|
31960
|
+
|
|
31961
|
+
@Field(() => Int, { nullable: true })
|
|
31962
|
+
Scale: number | null;
|
|
31963
|
+
|
|
31964
|
+
@Field(() => Boolean, { nullable: true })
|
|
31965
|
+
AllowsNull?: boolean;
|
|
31966
|
+
|
|
31967
|
+
@Field({ nullable: true })
|
|
31968
|
+
DefaultValue: string | null;
|
|
31969
|
+
|
|
31970
|
+
@Field(() => Boolean, { nullable: true })
|
|
31971
|
+
IsPrimaryKey?: boolean;
|
|
31972
|
+
|
|
31973
|
+
@Field(() => Boolean, { nullable: true })
|
|
31974
|
+
IsUniqueKey?: boolean;
|
|
31975
|
+
|
|
31976
|
+
@Field(() => Boolean, { nullable: true })
|
|
31977
|
+
IsReadOnly?: boolean;
|
|
31978
|
+
|
|
31979
|
+
@Field(() => Boolean, { nullable: true })
|
|
31980
|
+
IsRequired?: boolean;
|
|
31981
|
+
|
|
31982
|
+
@Field({ nullable: true })
|
|
31983
|
+
RelatedIntegrationObjectFieldName: string | null;
|
|
31984
|
+
|
|
31985
|
+
@Field(() => Int, { nullable: true })
|
|
31986
|
+
Sequence?: number;
|
|
31987
|
+
|
|
31988
|
+
@Field({ nullable: true })
|
|
31989
|
+
Configuration: string | null;
|
|
31990
|
+
|
|
31991
|
+
@Field({ nullable: true })
|
|
31992
|
+
Status?: string;
|
|
31993
|
+
|
|
31994
|
+
@Field(() => Boolean, { nullable: true })
|
|
31995
|
+
IsCustom?: boolean;
|
|
31996
|
+
|
|
31997
|
+
@Field({ nullable: true })
|
|
31998
|
+
MetadataSource?: string;
|
|
31999
|
+
|
|
32000
|
+
@Field({ nullable: true })
|
|
32001
|
+
CompanyIntegrationObjectID?: string;
|
|
32002
|
+
|
|
32003
|
+
@Field({ nullable: true })
|
|
32004
|
+
RelatedCompanyIntegrationObjectID: string | null;
|
|
32005
|
+
|
|
32006
|
+
@Field({ nullable: true })
|
|
32007
|
+
IntegrationObjectFieldID: string | null;
|
|
32008
|
+
|
|
32009
|
+
@Field(() => Int, { nullable: true })
|
|
32010
|
+
ObservedMaxLength: number | null;
|
|
32011
|
+
|
|
32012
|
+
@Field({ nullable: true })
|
|
32013
|
+
Provenance?: string;
|
|
32014
|
+
|
|
32015
|
+
@Field({ nullable: true })
|
|
32016
|
+
ProvenanceDetail: string | null;
|
|
32017
|
+
|
|
32018
|
+
@Field(() => Boolean, { nullable: true })
|
|
32019
|
+
IsSelected?: boolean;
|
|
32020
|
+
|
|
32021
|
+
@Field({ nullable: true })
|
|
32022
|
+
SelectedAt: Date | null;
|
|
32023
|
+
|
|
32024
|
+
@Field({ nullable: true })
|
|
32025
|
+
FirstSeenAt: Date | null;
|
|
32026
|
+
|
|
32027
|
+
@Field({ nullable: true })
|
|
32028
|
+
LastSeenAt: Date | null;
|
|
32029
|
+
|
|
32030
|
+
@Field({ nullable: true })
|
|
32031
|
+
LastSampledAt: Date | null;
|
|
32032
|
+
|
|
32033
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
32034
|
+
RestoreContext___?: RestoreContextInput;
|
|
32035
|
+
}
|
|
32036
|
+
|
|
32037
|
+
|
|
32038
|
+
//****************************************************************************
|
|
32039
|
+
// INPUT TYPE for MJ: Company Integration Object Fields
|
|
32040
|
+
//****************************************************************************
|
|
32041
|
+
@InputType()
|
|
32042
|
+
export class UpdateMJCompanyIntegrationObjectFieldInput {
|
|
32043
|
+
@Field()
|
|
32044
|
+
ID: string;
|
|
32045
|
+
|
|
32046
|
+
@Field({ nullable: true })
|
|
32047
|
+
Name?: string;
|
|
32048
|
+
|
|
32049
|
+
@Field({ nullable: true })
|
|
32050
|
+
DisplayName?: string | null;
|
|
32051
|
+
|
|
32052
|
+
@Field({ nullable: true })
|
|
32053
|
+
Description?: string | null;
|
|
32054
|
+
|
|
32055
|
+
@Field({ nullable: true })
|
|
32056
|
+
Category?: string | null;
|
|
32057
|
+
|
|
32058
|
+
@Field({ nullable: true })
|
|
32059
|
+
Type?: string;
|
|
32060
|
+
|
|
32061
|
+
@Field(() => Int, { nullable: true })
|
|
32062
|
+
Length?: number | null;
|
|
32063
|
+
|
|
32064
|
+
@Field(() => Int, { nullable: true })
|
|
32065
|
+
Precision?: number | null;
|
|
32066
|
+
|
|
32067
|
+
@Field(() => Int, { nullable: true })
|
|
32068
|
+
Scale?: number | null;
|
|
32069
|
+
|
|
32070
|
+
@Field(() => Boolean, { nullable: true })
|
|
32071
|
+
AllowsNull?: boolean;
|
|
32072
|
+
|
|
32073
|
+
@Field({ nullable: true })
|
|
32074
|
+
DefaultValue?: string | null;
|
|
32075
|
+
|
|
32076
|
+
@Field(() => Boolean, { nullable: true })
|
|
32077
|
+
IsPrimaryKey?: boolean;
|
|
32078
|
+
|
|
32079
|
+
@Field(() => Boolean, { nullable: true })
|
|
32080
|
+
IsUniqueKey?: boolean;
|
|
32081
|
+
|
|
32082
|
+
@Field(() => Boolean, { nullable: true })
|
|
32083
|
+
IsReadOnly?: boolean;
|
|
32084
|
+
|
|
32085
|
+
@Field(() => Boolean, { nullable: true })
|
|
32086
|
+
IsRequired?: boolean;
|
|
32087
|
+
|
|
32088
|
+
@Field({ nullable: true })
|
|
32089
|
+
RelatedIntegrationObjectFieldName?: string | null;
|
|
32090
|
+
|
|
32091
|
+
@Field(() => Int, { nullable: true })
|
|
32092
|
+
Sequence?: number;
|
|
32093
|
+
|
|
32094
|
+
@Field({ nullable: true })
|
|
32095
|
+
Configuration?: string | null;
|
|
32096
|
+
|
|
32097
|
+
@Field({ nullable: true })
|
|
32098
|
+
Status?: string;
|
|
32099
|
+
|
|
32100
|
+
@Field(() => Boolean, { nullable: true })
|
|
32101
|
+
IsCustom?: boolean;
|
|
32102
|
+
|
|
32103
|
+
@Field({ nullable: true })
|
|
32104
|
+
MetadataSource?: string;
|
|
32105
|
+
|
|
32106
|
+
@Field({ nullable: true })
|
|
32107
|
+
CompanyIntegrationObjectID?: string;
|
|
32108
|
+
|
|
32109
|
+
@Field({ nullable: true })
|
|
32110
|
+
RelatedCompanyIntegrationObjectID?: string | null;
|
|
32111
|
+
|
|
32112
|
+
@Field({ nullable: true })
|
|
32113
|
+
IntegrationObjectFieldID?: string | null;
|
|
32114
|
+
|
|
32115
|
+
@Field(() => Int, { nullable: true })
|
|
32116
|
+
ObservedMaxLength?: number | null;
|
|
32117
|
+
|
|
32118
|
+
@Field({ nullable: true })
|
|
32119
|
+
Provenance?: string;
|
|
32120
|
+
|
|
32121
|
+
@Field({ nullable: true })
|
|
32122
|
+
ProvenanceDetail?: string | null;
|
|
32123
|
+
|
|
32124
|
+
@Field(() => Boolean, { nullable: true })
|
|
32125
|
+
IsSelected?: boolean;
|
|
32126
|
+
|
|
32127
|
+
@Field({ nullable: true })
|
|
32128
|
+
SelectedAt?: Date | null;
|
|
32129
|
+
|
|
32130
|
+
@Field({ nullable: true })
|
|
32131
|
+
FirstSeenAt?: Date | null;
|
|
32132
|
+
|
|
32133
|
+
@Field({ nullable: true })
|
|
32134
|
+
LastSeenAt?: Date | null;
|
|
32135
|
+
|
|
32136
|
+
@Field({ nullable: true })
|
|
32137
|
+
LastSampledAt?: Date | null;
|
|
32138
|
+
|
|
32139
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
32140
|
+
OldValues___?: KeyValuePairInput[];
|
|
32141
|
+
|
|
32142
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
32143
|
+
RestoreContext___?: RestoreContextInput;
|
|
32144
|
+
}
|
|
32145
|
+
|
|
32146
|
+
//****************************************************************************
|
|
32147
|
+
// RESOLVER for MJ: Company Integration Object Fields
|
|
32148
|
+
//****************************************************************************
|
|
32149
|
+
@ObjectType()
|
|
32150
|
+
export class RunMJCompanyIntegrationObjectFieldViewResult {
|
|
32151
|
+
@Field(() => [MJCompanyIntegrationObjectField_])
|
|
32152
|
+
Results: MJCompanyIntegrationObjectField_[];
|
|
32153
|
+
|
|
32154
|
+
@Field(() => String, {nullable: true})
|
|
32155
|
+
UserViewRunID?: string;
|
|
32156
|
+
|
|
32157
|
+
@Field(() => Int, {nullable: true})
|
|
32158
|
+
RowCount: number;
|
|
32159
|
+
|
|
32160
|
+
@Field(() => Int, {nullable: true})
|
|
32161
|
+
TotalRowCount: number;
|
|
32162
|
+
|
|
32163
|
+
@Field(() => Int, {nullable: true})
|
|
32164
|
+
ExecutionTime: number;
|
|
32165
|
+
|
|
32166
|
+
@Field({nullable: true})
|
|
32167
|
+
ErrorMessage?: string;
|
|
32168
|
+
|
|
32169
|
+
@Field(() => Boolean, {nullable: false})
|
|
32170
|
+
Success: boolean;
|
|
32171
|
+
}
|
|
32172
|
+
|
|
32173
|
+
@Resolver(MJCompanyIntegrationObjectField_)
|
|
32174
|
+
export class MJCompanyIntegrationObjectFieldResolver extends ResolverBase {
|
|
32175
|
+
@Query(() => RunMJCompanyIntegrationObjectFieldViewResult)
|
|
32176
|
+
async RunMJCompanyIntegrationObjectFieldViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
32177
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
32178
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
32179
|
+
}
|
|
32180
|
+
|
|
32181
|
+
@Query(() => RunMJCompanyIntegrationObjectFieldViewResult)
|
|
32182
|
+
async RunMJCompanyIntegrationObjectFieldViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
32183
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
32184
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
32185
|
+
}
|
|
32186
|
+
|
|
32187
|
+
@Query(() => RunMJCompanyIntegrationObjectFieldViewResult)
|
|
32188
|
+
async RunMJCompanyIntegrationObjectFieldDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
32189
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
32190
|
+
input.EntityName = 'MJ: Company Integration Object Fields';
|
|
32191
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
32192
|
+
}
|
|
32193
|
+
@Query(() => MJCompanyIntegrationObjectField_, { nullable: true })
|
|
32194
|
+
async MJCompanyIntegrationObjectField(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCompanyIntegrationObjectField_ | null> {
|
|
32195
|
+
this.CheckUserReadPermissions('MJ: Company Integration Object Fields', userPayload);
|
|
32196
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
32197
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationObjectFields')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Object Fields', userPayload, EntityPermissionType.Read, 'AND');
|
|
32198
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
32199
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration Object Fields', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
32200
|
+
return result;
|
|
32201
|
+
}
|
|
32202
|
+
|
|
32203
|
+
@Mutation(() => MJCompanyIntegrationObjectField_)
|
|
32204
|
+
async CreateMJCompanyIntegrationObjectField(
|
|
32205
|
+
@Arg('input', () => CreateMJCompanyIntegrationObjectFieldInput) input: CreateMJCompanyIntegrationObjectFieldInput,
|
|
32206
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
32207
|
+
@PubSub() pubSub: PubSubEngine
|
|
32208
|
+
) {
|
|
32209
|
+
const provider = GetReadWriteProvider(providers);
|
|
32210
|
+
return this.CreateRecord('MJ: Company Integration Object Fields', input, provider, userPayload, pubSub)
|
|
32211
|
+
}
|
|
32212
|
+
|
|
32213
|
+
@Mutation(() => MJCompanyIntegrationObjectField_)
|
|
32214
|
+
async UpdateMJCompanyIntegrationObjectField(
|
|
32215
|
+
@Arg('input', () => UpdateMJCompanyIntegrationObjectFieldInput) input: UpdateMJCompanyIntegrationObjectFieldInput,
|
|
32216
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
32217
|
+
@PubSub() pubSub: PubSubEngine
|
|
32218
|
+
) {
|
|
32219
|
+
const provider = GetReadWriteProvider(providers);
|
|
32220
|
+
return this.UpdateRecord('MJ: Company Integration Object Fields', input, provider, userPayload, pubSub);
|
|
32221
|
+
}
|
|
32222
|
+
|
|
32223
|
+
@Mutation(() => MJCompanyIntegrationObjectField_)
|
|
32224
|
+
async DeleteMJCompanyIntegrationObjectField(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
32225
|
+
const provider = GetReadWriteProvider(providers);
|
|
32226
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
32227
|
+
return this.DeleteRecord('MJ: Company Integration Object Fields', key, options, provider, userPayload, pubSub);
|
|
32228
|
+
}
|
|
32229
|
+
|
|
32230
|
+
}
|
|
32231
|
+
|
|
32232
|
+
//****************************************************************************
|
|
32233
|
+
// ENTITY CLASS for MJ: Company Integration Objects
|
|
32234
|
+
//****************************************************************************
|
|
32235
|
+
@ObjectType({ description: "One connection's (CompanyIntegration's) own copy of an integration object: the vendor's declared definition rebased with what THIS connection discovered and sampled, with provenance, and with selection (IsSelected) as an axis separate from Status. Replaces reading IntegrationObject directly so two connections of one connector no longer overwrite each other." })
|
|
32236
|
+
export class MJCompanyIntegrationObject_ {
|
|
32237
|
+
@Field()
|
|
32238
|
+
@MaxLength(36)
|
|
32239
|
+
ID: string;
|
|
32240
|
+
|
|
32241
|
+
@Field({nullable: true, description: "The integration (connector) this object belongs to. Always the IntegrationID of the owning CompanyIntegration, copied onto the row by the catalog writer so the per-connection catalog can be read through the same projection as the shared IntegrationObject catalog."})
|
|
32242
|
+
@MaxLength(36)
|
|
32243
|
+
IntegrationID?: string;
|
|
32244
|
+
|
|
32245
|
+
@Field({nullable: true, description: "Internal/programmatic name of the external object (e.g., Members, Events)"})
|
|
32246
|
+
@MaxLength(255)
|
|
32247
|
+
Name?: string;
|
|
32248
|
+
|
|
32249
|
+
@Field({nullable: true, description: "Human-friendly display label"})
|
|
32250
|
+
@MaxLength(255)
|
|
32251
|
+
DisplayName?: string;
|
|
32252
|
+
|
|
32253
|
+
@Field({nullable: true, description: "Description of what this external object represents"})
|
|
32254
|
+
Description?: string;
|
|
32255
|
+
|
|
32256
|
+
@Field({nullable: true, description: "UI grouping category (e.g., Membership, Events, Finance)"})
|
|
32257
|
+
@MaxLength(100)
|
|
32258
|
+
Category?: string;
|
|
32259
|
+
|
|
32260
|
+
@Field({nullable: true, description: "API endpoint path, may include template variables like {ProfileID} that are resolved at runtime from parent object records"})
|
|
32261
|
+
@MaxLength(500)
|
|
32262
|
+
APIPath?: string;
|
|
32263
|
+
|
|
32264
|
+
@Field({nullable: true, description: "JSON key used to extract the data array from the API response envelope. NULL means the response is a root-level array."})
|
|
32265
|
+
@MaxLength(255)
|
|
32266
|
+
ResponseDataKey?: string;
|
|
32267
|
+
|
|
32268
|
+
@Field(() => Int, {nullable: true, description: "Number of records to request per page from the API"})
|
|
32269
|
+
DefaultPageSize?: number;
|
|
32270
|
+
|
|
32271
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this endpoint supports paginated fetching"})
|
|
32272
|
+
SupportsPagination?: boolean;
|
|
32273
|
+
|
|
32274
|
+
@Field({nullable: true, description: "Pagination strategy: PageNumber (page index), Offset (record offset), Cursor (opaque token), or None"})
|
|
32275
|
+
@MaxLength(20)
|
|
32276
|
+
PaginationType?: string;
|
|
32277
|
+
|
|
32278
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this object supports watermark-based incremental sync"})
|
|
32279
|
+
SupportsIncrementalSync?: boolean;
|
|
32280
|
+
|
|
32281
|
+
@Field(() => Boolean, {nullable: true, description: "Whether data can be pushed back to this object via the API"})
|
|
32282
|
+
SupportsWrite?: boolean;
|
|
32283
|
+
|
|
32284
|
+
@Field({nullable: true, description: "JSON object of default query parameters to include with every API request for this object"})
|
|
32285
|
+
DefaultQueryParams?: string;
|
|
32286
|
+
|
|
32287
|
+
@Field({nullable: true, description: "Freeform JSON for connector-specific configuration not covered by standard columns"})
|
|
32288
|
+
Configuration?: string;
|
|
32289
|
+
|
|
32290
|
+
@Field(() => Int, {nullable: true, description: "Processing and display order. Lower numbers are processed first."})
|
|
32291
|
+
Sequence?: number;
|
|
32292
|
+
|
|
32293
|
+
@Field({nullable: true, description: "Active, Deprecated, or Disabled. Mirrors EntityField status values."})
|
|
32294
|
+
@MaxLength(25)
|
|
32295
|
+
Status?: string;
|
|
32296
|
+
|
|
32297
|
+
@Field({nullable: true, description: "API path for create/update operations when different from the read APIPath. If NULL, the read APIPath is used for writes as well."})
|
|
32298
|
+
@MaxLength(500)
|
|
32299
|
+
WriteAPIPath?: string;
|
|
32300
|
+
|
|
32301
|
+
@Field({nullable: true, description: "HTTP method for create operations. Defaults to POST."})
|
|
32302
|
+
@MaxLength(10)
|
|
32303
|
+
WriteMethod?: string;
|
|
32304
|
+
|
|
32305
|
+
@Field({nullable: true, description: "HTTP method for delete operations. Defaults to DELETE."})
|
|
32306
|
+
@MaxLength(10)
|
|
32307
|
+
DeleteMethod?: string;
|
|
32308
|
+
|
|
32309
|
+
@Field(() => Boolean, {nullable: true, description: "When true, this object was dynamically discovered by IntrospectSchema and is not defined in static connector metadata."})
|
|
32310
|
+
IsCustom?: boolean;
|
|
32311
|
+
|
|
32312
|
+
@Field({nullable: true, description: "HTTP path template for create operations. Generic CRUD in BaseRESTIntegrationConnector substitutes parent IDs into {var} placeholders. NULL means create not supported via metadata-driven path."})
|
|
32313
|
+
CreateAPIPath?: string;
|
|
32314
|
+
|
|
32315
|
+
@Field({nullable: true, description: "HTTP method for create (typically POST). NULL means create not supported via metadata-driven path."})
|
|
32316
|
+
@MaxLength(20)
|
|
32317
|
+
CreateMethod?: string;
|
|
32318
|
+
|
|
32319
|
+
@Field({nullable: true, description: "Request body shape for create: flat (top-level fields), wrapped (under CreateBodyKey), or literal (connector overrides CreateRecord and supplies own body)."})
|
|
32320
|
+
@MaxLength(50)
|
|
32321
|
+
CreateBodyShape?: string;
|
|
32322
|
+
|
|
32323
|
+
@Field({nullable: true, description: "Wrapper key for create body when CreateBodyShape=wrapped. Example: 'member' for YourMembership which wraps body as {member:{...}}."})
|
|
32324
|
+
@MaxLength(100)
|
|
32325
|
+
CreateBodyKey?: string;
|
|
32326
|
+
|
|
32327
|
+
@Field({nullable: true, description: "Where the created record ID is found in the create response: path (URL of returned Location header), body (parsed from JSON response), header (specific named header)."})
|
|
32328
|
+
@MaxLength(20)
|
|
32329
|
+
CreateIDLocation?: string;
|
|
32330
|
+
|
|
32331
|
+
@Field({nullable: true, description: "HTTP path template for update operations. Typically contains {ID} placeholder substituted with the record ExternalID at runtime."})
|
|
32332
|
+
UpdateAPIPath?: string;
|
|
32333
|
+
|
|
32334
|
+
@Field({nullable: true, description: "HTTP method for update (typically PATCH or PUT)."})
|
|
32335
|
+
@MaxLength(20)
|
|
32336
|
+
UpdateMethod?: string;
|
|
32337
|
+
|
|
32338
|
+
@Field({nullable: true, description: "Request body shape for update: flat | wrapped | literal. See CreateBodyShape."})
|
|
32339
|
+
@MaxLength(50)
|
|
32340
|
+
UpdateBodyShape?: string;
|
|
32341
|
+
|
|
32342
|
+
@Field({nullable: true, description: "Wrapper key for update body when UpdateBodyShape=wrapped."})
|
|
32343
|
+
@MaxLength(100)
|
|
32344
|
+
UpdateBodyKey?: string;
|
|
32345
|
+
|
|
32346
|
+
@Field({nullable: true, description: "For update: where the target record ID is located in the request — typically 'path' (substituted into UpdateAPIPath URL template)."})
|
|
32347
|
+
@MaxLength(20)
|
|
32348
|
+
UpdateIDLocation?: string;
|
|
32349
|
+
|
|
32350
|
+
@Field({nullable: true, description: "HTTP path template for delete operations. Typically contains {ID} placeholder. NULL means delete not supported via metadata-driven path. (Existing DeleteMethod column carries the verb.)"})
|
|
32351
|
+
DeleteAPIPath?: string;
|
|
32352
|
+
|
|
32353
|
+
@Field({nullable: true, description: "For delete: where the target record ID is located — typically 'path'."})
|
|
32354
|
+
@MaxLength(20)
|
|
32355
|
+
DeleteIDLocation?: string;
|
|
32356
|
+
|
|
32357
|
+
@Field({nullable: true, description: "Vendor field name marking \"last changed\" — drives incremental sync filter when SupportsIncrementalSync=1. The exact filter syntax (e.g., $filter=Modified gt {value} or modified_since={value}) lives in Configuration.incrementalFilterFormat. Provable-only: leave NULL if docs do not name a watermark field."})
|
|
32358
|
+
@MaxLength(255)
|
|
32359
|
+
IncrementalWatermarkField?: string;
|
|
32360
|
+
|
|
32361
|
+
@Field({nullable: true, description: "Provenance of this CompanyIntegrationObject row: Declared (from static research/docs), Discovered (from runtime API introspection like Salesforce /describe), Custom (genuinely customer-created, e.g., HubSpot custom objects). Drives merge precedence in IntegrationSchemaSync."})
|
|
32362
|
+
@MaxLength(20)
|
|
32363
|
+
MetadataSource?: string;
|
|
32364
|
+
|
|
32365
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this object supports record creation in the external system (per-operation granularity beyond SupportsWrite). Drives whether the generic CreateRecord path is wired and whether the object is offered for write-back create."})
|
|
32366
|
+
SupportsCreate?: boolean;
|
|
32367
|
+
|
|
32368
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this object supports record updates in the external system (per-operation granularity beyond SupportsWrite)."})
|
|
32369
|
+
SupportsUpdate?: boolean;
|
|
32370
|
+
|
|
32371
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this object supports record deletion/tombstoning in the external system (per-operation granularity beyond SupportsWrite)."})
|
|
32372
|
+
SupportsDelete?: boolean;
|
|
32373
|
+
|
|
32374
|
+
@Field({nullable: true, description: "Declared incremental sync strategy for this object (e.g. WatermarkIncremental, ContentHash, FullSnapshot). Informs how the engine narrows subsequent syncs."})
|
|
32375
|
+
@MaxLength(50)
|
|
32376
|
+
SyncStrategy?: string;
|
|
32377
|
+
|
|
32378
|
+
@Field(() => Boolean, {nullable: true, description: "Whether per-record content hashing is meaningful for this object (false for append-only/event streams where every row is new). Controls whether the engine uses content-hash to skip unchanged-row writes."})
|
|
32379
|
+
ContentHashApplicable?: boolean;
|
|
32380
|
+
|
|
32381
|
+
@Field({nullable: true, description: "Stable, monotonic ordering column (usually the PK) used for keyset/no-watermark resume of a scan. Null when the object has no stable key."})
|
|
32382
|
+
@MaxLength(255)
|
|
32383
|
+
StableOrderingKey?: string;
|
|
32384
|
+
|
|
32385
|
+
@Field({nullable: true})
|
|
32386
|
+
@MaxLength(36)
|
|
32387
|
+
CompanyIntegrationID?: string;
|
|
32388
|
+
|
|
32389
|
+
@Field({nullable: true})
|
|
32390
|
+
@MaxLength(36)
|
|
32391
|
+
IntegrationObjectID?: string;
|
|
32392
|
+
|
|
32393
|
+
@Field({nullable: true, description: "Where this row came from: Declared (the connector shipped catalog), Endpoint (the source listed it) or Sampled (only streaming records revealed it). Answers \"whose is this\" for a connection whose catalog no longer matches the connector default."})
|
|
32394
|
+
@MaxLength(20)
|
|
32395
|
+
Provenance?: string;
|
|
32396
|
+
|
|
32397
|
+
@Field({nullable: true, description: "The per-attribute merge log for this row: which side won each overlay decision and why. The persist already computes this and throws it away, so the operator has never been able to see why a width or a key looks the way it does."})
|
|
32398
|
+
ProvenanceDetail?: string;
|
|
32399
|
+
|
|
32400
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this connection syncs this item. THE AXIS THAT MAKES THE CONTRACT SATISFIABLE: Status says whether the item is in the catalog at all, IsSelected says whether the customer chose it. Conflating the two is why a newly discovered object had to arrive ENABLED — a disabled object was excluded from schema introspection, so it never reached key inference and never reached a migration."})
|
|
32401
|
+
IsSelected?: boolean;
|
|
32402
|
+
|
|
32403
|
+
@Field({nullable: true, description: "When the selection last changed. Lets the UI distinguish \"never chosen\" from \"deliberately deselected\"."})
|
|
32404
|
+
SelectedAt?: Date;
|
|
32405
|
+
|
|
32406
|
+
@Field({nullable: true, description: "When this connection first observed this item. Set once and never updated, so a catalog can be read as a history of what the source exposed and when."})
|
|
32407
|
+
FirstSeenAt?: Date;
|
|
32408
|
+
|
|
32409
|
+
@Field({nullable: true, description: "When this connection most recently observed this item. A row whose LastSeenAt is older than the connection last discovery is what \"absent from the source\" means."})
|
|
32410
|
+
LastSeenAt?: Date;
|
|
32411
|
+
|
|
32412
|
+
@Field({nullable: true, description: "When sampling last streamed records for this item. Distinct from LastSeenAt: an item can be listed by an endpoint without ever being sampled, and unsampled items are exactly the ones whose widths and keys came from the declared catalog rather than from data."})
|
|
32413
|
+
LastSampledAt?: Date;
|
|
32414
|
+
|
|
32415
|
+
@Field()
|
|
32416
|
+
_mj__CreatedAt: Date;
|
|
32417
|
+
|
|
32418
|
+
@Field()
|
|
32419
|
+
_mj__UpdatedAt: Date;
|
|
32420
|
+
|
|
32421
|
+
@Field({nullable: true})
|
|
32422
|
+
@MaxLength(100)
|
|
32423
|
+
Integration?: string;
|
|
32424
|
+
|
|
32425
|
+
@Field({nullable: true})
|
|
32426
|
+
@MaxLength(255)
|
|
32427
|
+
CompanyIntegration?: string;
|
|
32428
|
+
|
|
32429
|
+
@Field({nullable: true})
|
|
32430
|
+
@MaxLength(255)
|
|
32431
|
+
IntegrationObject?: string;
|
|
32432
|
+
|
|
32433
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
32434
|
+
ReadableFields___?: string[];
|
|
32435
|
+
|
|
32436
|
+
}
|
|
32437
|
+
|
|
32438
|
+
//****************************************************************************
|
|
32439
|
+
// INPUT TYPE for MJ: Company Integration Objects
|
|
32440
|
+
//****************************************************************************
|
|
32441
|
+
@InputType()
|
|
32442
|
+
export class CreateMJCompanyIntegrationObjectInput {
|
|
32443
|
+
@Field({ nullable: true })
|
|
32444
|
+
ID?: string;
|
|
32445
|
+
|
|
32446
|
+
@Field({ nullable: true })
|
|
32447
|
+
IntegrationID?: string;
|
|
32448
|
+
|
|
32449
|
+
@Field({ nullable: true })
|
|
32450
|
+
Name?: string;
|
|
32451
|
+
|
|
32452
|
+
@Field({ nullable: true })
|
|
32453
|
+
DisplayName: string | null;
|
|
32454
|
+
|
|
32455
|
+
@Field({ nullable: true })
|
|
32456
|
+
Description: string | null;
|
|
32457
|
+
|
|
32458
|
+
@Field({ nullable: true })
|
|
32459
|
+
Category: string | null;
|
|
32460
|
+
|
|
32461
|
+
@Field({ nullable: true })
|
|
32462
|
+
APIPath?: string;
|
|
32463
|
+
|
|
32464
|
+
@Field({ nullable: true })
|
|
32465
|
+
ResponseDataKey: string | null;
|
|
32466
|
+
|
|
32467
|
+
@Field(() => Int, { nullable: true })
|
|
32468
|
+
DefaultPageSize?: number;
|
|
32469
|
+
|
|
32470
|
+
@Field(() => Boolean, { nullable: true })
|
|
32471
|
+
SupportsPagination?: boolean;
|
|
32472
|
+
|
|
32473
|
+
@Field({ nullable: true })
|
|
32474
|
+
PaginationType?: string;
|
|
32475
|
+
|
|
32476
|
+
@Field(() => Boolean, { nullable: true })
|
|
32477
|
+
SupportsIncrementalSync?: boolean;
|
|
32478
|
+
|
|
32479
|
+
@Field(() => Boolean, { nullable: true })
|
|
32480
|
+
SupportsWrite?: boolean;
|
|
32481
|
+
|
|
32482
|
+
@Field({ nullable: true })
|
|
32483
|
+
DefaultQueryParams: string | null;
|
|
32484
|
+
|
|
32485
|
+
@Field({ nullable: true })
|
|
32486
|
+
Configuration: string | null;
|
|
32487
|
+
|
|
32488
|
+
@Field(() => Int, { nullable: true })
|
|
32489
|
+
Sequence?: number;
|
|
32490
|
+
|
|
32491
|
+
@Field({ nullable: true })
|
|
32492
|
+
Status?: string;
|
|
32493
|
+
|
|
32494
|
+
@Field({ nullable: true })
|
|
32495
|
+
WriteAPIPath: string | null;
|
|
32496
|
+
|
|
32497
|
+
@Field({ nullable: true })
|
|
32498
|
+
WriteMethod?: string | null;
|
|
32499
|
+
|
|
32500
|
+
@Field({ nullable: true })
|
|
32501
|
+
DeleteMethod?: string | null;
|
|
32502
|
+
|
|
32503
|
+
@Field(() => Boolean, { nullable: true })
|
|
32504
|
+
IsCustom?: boolean;
|
|
32505
|
+
|
|
32506
|
+
@Field({ nullable: true })
|
|
32507
|
+
CreateAPIPath: string | null;
|
|
32508
|
+
|
|
32509
|
+
@Field({ nullable: true })
|
|
32510
|
+
CreateMethod: string | null;
|
|
32511
|
+
|
|
32512
|
+
@Field({ nullable: true })
|
|
32513
|
+
CreateBodyShape: string | null;
|
|
32514
|
+
|
|
32515
|
+
@Field({ nullable: true })
|
|
32516
|
+
CreateBodyKey: string | null;
|
|
32517
|
+
|
|
32518
|
+
@Field({ nullable: true })
|
|
32519
|
+
CreateIDLocation: string | null;
|
|
32520
|
+
|
|
30213
32521
|
@Field({ nullable: true })
|
|
30214
|
-
|
|
32522
|
+
UpdateAPIPath: string | null;
|
|
30215
32523
|
|
|
30216
32524
|
@Field({ nullable: true })
|
|
30217
|
-
|
|
32525
|
+
UpdateMethod: string | null;
|
|
30218
32526
|
|
|
30219
32527
|
@Field({ nullable: true })
|
|
30220
|
-
|
|
32528
|
+
UpdateBodyShape: string | null;
|
|
30221
32529
|
|
|
30222
32530
|
@Field({ nullable: true })
|
|
30223
|
-
|
|
32531
|
+
UpdateBodyKey: string | null;
|
|
30224
32532
|
|
|
30225
32533
|
@Field({ nullable: true })
|
|
30226
|
-
|
|
32534
|
+
UpdateIDLocation: string | null;
|
|
30227
32535
|
|
|
30228
32536
|
@Field({ nullable: true })
|
|
30229
|
-
|
|
32537
|
+
DeleteAPIPath: string | null;
|
|
32538
|
+
|
|
32539
|
+
@Field({ nullable: true })
|
|
32540
|
+
DeleteIDLocation: string | null;
|
|
32541
|
+
|
|
32542
|
+
@Field({ nullable: true })
|
|
32543
|
+
IncrementalWatermarkField: string | null;
|
|
32544
|
+
|
|
32545
|
+
@Field({ nullable: true })
|
|
32546
|
+
MetadataSource?: string;
|
|
30230
32547
|
|
|
30231
32548
|
@Field(() => Boolean, { nullable: true })
|
|
30232
|
-
|
|
32549
|
+
SupportsCreate?: boolean;
|
|
32550
|
+
|
|
32551
|
+
@Field(() => Boolean, { nullable: true })
|
|
32552
|
+
SupportsUpdate?: boolean;
|
|
32553
|
+
|
|
32554
|
+
@Field(() => Boolean, { nullable: true })
|
|
32555
|
+
SupportsDelete?: boolean;
|
|
30233
32556
|
|
|
30234
32557
|
@Field({ nullable: true })
|
|
30235
|
-
|
|
32558
|
+
SyncStrategy: string | null;
|
|
32559
|
+
|
|
32560
|
+
@Field(() => Boolean, { nullable: true })
|
|
32561
|
+
ContentHashApplicable?: boolean;
|
|
30236
32562
|
|
|
30237
32563
|
@Field({ nullable: true })
|
|
30238
|
-
|
|
32564
|
+
StableOrderingKey: string | null;
|
|
30239
32565
|
|
|
30240
|
-
@Field(
|
|
30241
|
-
|
|
32566
|
+
@Field({ nullable: true })
|
|
32567
|
+
CompanyIntegrationID?: string;
|
|
30242
32568
|
|
|
30243
32569
|
@Field({ nullable: true })
|
|
30244
|
-
|
|
32570
|
+
IntegrationObjectID: string | null;
|
|
30245
32571
|
|
|
30246
32572
|
@Field({ nullable: true })
|
|
30247
|
-
|
|
32573
|
+
Provenance?: string;
|
|
30248
32574
|
|
|
30249
32575
|
@Field({ nullable: true })
|
|
30250
|
-
|
|
32576
|
+
ProvenanceDetail: string | null;
|
|
32577
|
+
|
|
32578
|
+
@Field(() => Boolean, { nullable: true })
|
|
32579
|
+
IsSelected?: boolean;
|
|
32580
|
+
|
|
32581
|
+
@Field({ nullable: true })
|
|
32582
|
+
SelectedAt: Date | null;
|
|
32583
|
+
|
|
32584
|
+
@Field({ nullable: true })
|
|
32585
|
+
FirstSeenAt: Date | null;
|
|
32586
|
+
|
|
32587
|
+
@Field({ nullable: true })
|
|
32588
|
+
LastSeenAt: Date | null;
|
|
32589
|
+
|
|
32590
|
+
@Field({ nullable: true })
|
|
32591
|
+
LastSampledAt: Date | null;
|
|
30251
32592
|
|
|
30252
32593
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
30253
32594
|
RestoreContext___?: RestoreContextInput;
|
|
@@ -30255,301 +32596,159 @@ export class CreateMJCompanyIntegrationEntityMapInput {
|
|
|
30255
32596
|
|
|
30256
32597
|
|
|
30257
32598
|
//****************************************************************************
|
|
30258
|
-
// INPUT TYPE for MJ: Company Integration
|
|
32599
|
+
// INPUT TYPE for MJ: Company Integration Objects
|
|
30259
32600
|
//****************************************************************************
|
|
30260
32601
|
@InputType()
|
|
30261
|
-
export class
|
|
32602
|
+
export class UpdateMJCompanyIntegrationObjectInput {
|
|
30262
32603
|
@Field()
|
|
30263
32604
|
ID: string;
|
|
30264
32605
|
|
|
30265
32606
|
@Field({ nullable: true })
|
|
30266
|
-
|
|
32607
|
+
IntegrationID?: string;
|
|
30267
32608
|
|
|
30268
32609
|
@Field({ nullable: true })
|
|
30269
|
-
|
|
32610
|
+
Name?: string;
|
|
30270
32611
|
|
|
30271
32612
|
@Field({ nullable: true })
|
|
30272
|
-
|
|
32613
|
+
DisplayName?: string | null;
|
|
30273
32614
|
|
|
30274
32615
|
@Field({ nullable: true })
|
|
30275
|
-
|
|
32616
|
+
Description?: string | null;
|
|
30276
32617
|
|
|
30277
32618
|
@Field({ nullable: true })
|
|
30278
|
-
|
|
30279
|
-
|
|
30280
|
-
@Field(() => Boolean, { nullable: true })
|
|
30281
|
-
SyncEnabled?: boolean;
|
|
32619
|
+
Category?: string | null;
|
|
30282
32620
|
|
|
30283
32621
|
@Field({ nullable: true })
|
|
30284
|
-
|
|
32622
|
+
APIPath?: string;
|
|
30285
32623
|
|
|
30286
32624
|
@Field({ nullable: true })
|
|
30287
|
-
|
|
32625
|
+
ResponseDataKey?: string | null;
|
|
30288
32626
|
|
|
30289
32627
|
@Field(() => Int, { nullable: true })
|
|
30290
|
-
|
|
32628
|
+
DefaultPageSize?: number;
|
|
32629
|
+
|
|
32630
|
+
@Field(() => Boolean, { nullable: true })
|
|
32631
|
+
SupportsPagination?: boolean;
|
|
30291
32632
|
|
|
30292
32633
|
@Field({ nullable: true })
|
|
30293
|
-
|
|
32634
|
+
PaginationType?: string;
|
|
32635
|
+
|
|
32636
|
+
@Field(() => Boolean, { nullable: true })
|
|
32637
|
+
SupportsIncrementalSync?: boolean;
|
|
32638
|
+
|
|
32639
|
+
@Field(() => Boolean, { nullable: true })
|
|
32640
|
+
SupportsWrite?: boolean;
|
|
30294
32641
|
|
|
30295
32642
|
@Field({ nullable: true })
|
|
30296
|
-
|
|
32643
|
+
DefaultQueryParams?: string | null;
|
|
30297
32644
|
|
|
30298
32645
|
@Field({ nullable: true })
|
|
30299
32646
|
Configuration?: string | null;
|
|
30300
32647
|
|
|
30301
|
-
@Field(() =>
|
|
30302
|
-
|
|
32648
|
+
@Field(() => Int, { nullable: true })
|
|
32649
|
+
Sequence?: number;
|
|
30303
32650
|
|
|
30304
|
-
@Field(
|
|
30305
|
-
|
|
30306
|
-
}
|
|
30307
|
-
|
|
30308
|
-
//****************************************************************************
|
|
30309
|
-
// RESOLVER for MJ: Company Integration Entity Maps
|
|
30310
|
-
//****************************************************************************
|
|
30311
|
-
@ObjectType()
|
|
30312
|
-
export class RunMJCompanyIntegrationEntityMapViewResult {
|
|
30313
|
-
@Field(() => [MJCompanyIntegrationEntityMap_])
|
|
30314
|
-
Results: MJCompanyIntegrationEntityMap_[];
|
|
32651
|
+
@Field({ nullable: true })
|
|
32652
|
+
Status?: string;
|
|
30315
32653
|
|
|
30316
|
-
@Field(
|
|
30317
|
-
|
|
32654
|
+
@Field({ nullable: true })
|
|
32655
|
+
WriteAPIPath?: string | null;
|
|
30318
32656
|
|
|
30319
|
-
@Field(
|
|
30320
|
-
|
|
32657
|
+
@Field({ nullable: true })
|
|
32658
|
+
WriteMethod?: string | null;
|
|
30321
32659
|
|
|
30322
|
-
@Field(
|
|
30323
|
-
|
|
32660
|
+
@Field({ nullable: true })
|
|
32661
|
+
DeleteMethod?: string | null;
|
|
30324
32662
|
|
|
30325
|
-
@Field(() =>
|
|
30326
|
-
|
|
32663
|
+
@Field(() => Boolean, { nullable: true })
|
|
32664
|
+
IsCustom?: boolean;
|
|
30327
32665
|
|
|
30328
|
-
@Field({nullable: true})
|
|
30329
|
-
|
|
32666
|
+
@Field({ nullable: true })
|
|
32667
|
+
CreateAPIPath?: string | null;
|
|
30330
32668
|
|
|
30331
|
-
@Field(
|
|
30332
|
-
|
|
30333
|
-
}
|
|
32669
|
+
@Field({ nullable: true })
|
|
32670
|
+
CreateMethod?: string | null;
|
|
30334
32671
|
|
|
30335
|
-
@
|
|
30336
|
-
|
|
30337
|
-
@Query(() => RunMJCompanyIntegrationEntityMapViewResult)
|
|
30338
|
-
async RunMJCompanyIntegrationEntityMapViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
30339
|
-
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30340
|
-
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
30341
|
-
}
|
|
32672
|
+
@Field({ nullable: true })
|
|
32673
|
+
CreateBodyShape?: string | null;
|
|
30342
32674
|
|
|
30343
|
-
@
|
|
30344
|
-
|
|
30345
|
-
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30346
|
-
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
30347
|
-
}
|
|
32675
|
+
@Field({ nullable: true })
|
|
32676
|
+
CreateBodyKey?: string | null;
|
|
30348
32677
|
|
|
30349
|
-
@
|
|
30350
|
-
|
|
30351
|
-
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30352
|
-
input.EntityName = 'MJ: Company Integration Entity Maps';
|
|
30353
|
-
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
30354
|
-
}
|
|
30355
|
-
@Query(() => MJCompanyIntegrationEntityMap_, { nullable: true })
|
|
30356
|
-
async MJCompanyIntegrationEntityMap(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCompanyIntegrationEntityMap_ | null> {
|
|
30357
|
-
this.CheckUserReadPermissions('MJ: Company Integration Entity Maps', userPayload);
|
|
30358
|
-
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30359
|
-
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationEntityMaps')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Entity Maps', userPayload, EntityPermissionType.Read, 'AND');
|
|
30360
|
-
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
30361
|
-
const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration Entity Maps', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
30362
|
-
return result;
|
|
30363
|
-
}
|
|
30364
|
-
|
|
30365
|
-
@Mutation(() => MJCompanyIntegrationEntityMap_)
|
|
30366
|
-
async CreateMJCompanyIntegrationEntityMap(
|
|
30367
|
-
@Arg('input', () => CreateMJCompanyIntegrationEntityMapInput) input: CreateMJCompanyIntegrationEntityMapInput,
|
|
30368
|
-
@Ctx() { providers, userPayload }: AppContext,
|
|
30369
|
-
@PubSub() pubSub: PubSubEngine
|
|
30370
|
-
) {
|
|
30371
|
-
const provider = GetReadWriteProvider(providers);
|
|
30372
|
-
return this.CreateRecord('MJ: Company Integration Entity Maps', input, provider, userPayload, pubSub)
|
|
30373
|
-
}
|
|
30374
|
-
|
|
30375
|
-
@Mutation(() => MJCompanyIntegrationEntityMap_)
|
|
30376
|
-
async UpdateMJCompanyIntegrationEntityMap(
|
|
30377
|
-
@Arg('input', () => UpdateMJCompanyIntegrationEntityMapInput) input: UpdateMJCompanyIntegrationEntityMapInput,
|
|
30378
|
-
@Ctx() { providers, userPayload }: AppContext,
|
|
30379
|
-
@PubSub() pubSub: PubSubEngine
|
|
30380
|
-
) {
|
|
30381
|
-
const provider = GetReadWriteProvider(providers);
|
|
30382
|
-
return this.UpdateRecord('MJ: Company Integration Entity Maps', input, provider, userPayload, pubSub);
|
|
30383
|
-
}
|
|
30384
|
-
|
|
30385
|
-
@Mutation(() => MJCompanyIntegrationEntityMap_)
|
|
30386
|
-
async DeleteMJCompanyIntegrationEntityMap(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
30387
|
-
const provider = GetReadWriteProvider(providers);
|
|
30388
|
-
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
30389
|
-
return this.DeleteRecord('MJ: Company Integration Entity Maps', key, options, provider, userPayload, pubSub);
|
|
30390
|
-
}
|
|
30391
|
-
|
|
30392
|
-
}
|
|
32678
|
+
@Field({ nullable: true })
|
|
32679
|
+
CreateIDLocation?: string | null;
|
|
30393
32680
|
|
|
30394
|
-
|
|
30395
|
-
|
|
30396
|
-
//****************************************************************************
|
|
30397
|
-
@ObjectType({ description: "Maps individual fields between an external source object and a MemberJunction entity, with optional transform pipeline." })
|
|
30398
|
-
export class MJCompanyIntegrationFieldMap_ {
|
|
30399
|
-
@Field()
|
|
30400
|
-
@MaxLength(36)
|
|
30401
|
-
ID: string;
|
|
30402
|
-
|
|
30403
|
-
@Field({nullable: true})
|
|
30404
|
-
@MaxLength(36)
|
|
30405
|
-
EntityMapID?: string;
|
|
30406
|
-
|
|
30407
|
-
@Field({nullable: true, description: "The field/column name in the external source system."})
|
|
30408
|
-
@MaxLength(500)
|
|
30409
|
-
SourceFieldName?: string;
|
|
30410
|
-
|
|
30411
|
-
@Field({nullable: true, description: "Optional human-friendly label for the source field."})
|
|
30412
|
-
@MaxLength(500)
|
|
30413
|
-
SourceFieldLabel?: string;
|
|
30414
|
-
|
|
30415
|
-
@Field({nullable: true, description: "The MJ entity field name this source field maps to."})
|
|
30416
|
-
@MaxLength(500)
|
|
30417
|
-
DestinationFieldName?: string;
|
|
30418
|
-
|
|
30419
|
-
@Field({nullable: true, description: "Optional human-friendly label for the destination field."})
|
|
30420
|
-
@MaxLength(500)
|
|
30421
|
-
DestinationFieldLabel?: string;
|
|
30422
|
-
|
|
30423
|
-
@Field({nullable: true, description: "Direction of field mapping: SourceToDest, DestToSource, or Both."})
|
|
30424
|
-
@MaxLength(50)
|
|
30425
|
-
Direction?: string;
|
|
30426
|
-
|
|
30427
|
-
@Field({nullable: true, description: "JSON array of transform names to apply in order (e.g. [\"trim\", \"uppercase\"]). See FieldMappingEngine for available transforms."})
|
|
30428
|
-
TransformPipeline?: string;
|
|
30429
|
-
|
|
30430
|
-
@Field(() => Boolean, {nullable: true, description: "When true, this field is used by the MatchEngine to find existing records during sync."})
|
|
30431
|
-
IsKeyField?: boolean;
|
|
30432
|
-
|
|
30433
|
-
@Field(() => Boolean, {nullable: true, description: "When true, a sync record is rejected if this field has no value."})
|
|
30434
|
-
IsRequired?: boolean;
|
|
30435
|
-
|
|
30436
|
-
@Field({nullable: true, description: "Default value to use when the source field is null or missing."})
|
|
30437
|
-
DefaultValue?: string;
|
|
30438
|
-
|
|
30439
|
-
@Field(() => Int, {nullable: true, description: "Processing order for this field mapping within the entity map."})
|
|
30440
|
-
Priority?: number;
|
|
30441
|
-
|
|
30442
|
-
@Field({nullable: true, description: "Whether this field mapping is Active or Inactive."})
|
|
30443
|
-
@MaxLength(50)
|
|
30444
|
-
Status?: string;
|
|
30445
|
-
|
|
30446
|
-
@Field()
|
|
30447
|
-
_mj__CreatedAt: Date;
|
|
30448
|
-
|
|
30449
|
-
@Field()
|
|
30450
|
-
_mj__UpdatedAt: Date;
|
|
30451
|
-
|
|
30452
|
-
@Field({nullable: true})
|
|
30453
|
-
@MaxLength(500)
|
|
30454
|
-
EntityMap?: string;
|
|
30455
|
-
|
|
30456
|
-
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
30457
|
-
ReadableFields___?: string[];
|
|
30458
|
-
|
|
30459
|
-
}
|
|
32681
|
+
@Field({ nullable: true })
|
|
32682
|
+
UpdateAPIPath?: string | null;
|
|
30460
32683
|
|
|
30461
|
-
//****************************************************************************
|
|
30462
|
-
// INPUT TYPE for MJ: Company Integration Field Maps
|
|
30463
|
-
//****************************************************************************
|
|
30464
|
-
@InputType()
|
|
30465
|
-
export class CreateMJCompanyIntegrationFieldMapInput {
|
|
30466
32684
|
@Field({ nullable: true })
|
|
30467
|
-
|
|
32685
|
+
UpdateMethod?: string | null;
|
|
30468
32686
|
|
|
30469
32687
|
@Field({ nullable: true })
|
|
30470
|
-
|
|
32688
|
+
UpdateBodyShape?: string | null;
|
|
30471
32689
|
|
|
30472
32690
|
@Field({ nullable: true })
|
|
30473
|
-
|
|
32691
|
+
UpdateBodyKey?: string | null;
|
|
30474
32692
|
|
|
30475
32693
|
@Field({ nullable: true })
|
|
30476
|
-
|
|
32694
|
+
UpdateIDLocation?: string | null;
|
|
30477
32695
|
|
|
30478
32696
|
@Field({ nullable: true })
|
|
30479
|
-
|
|
32697
|
+
DeleteAPIPath?: string | null;
|
|
30480
32698
|
|
|
30481
32699
|
@Field({ nullable: true })
|
|
30482
|
-
|
|
32700
|
+
DeleteIDLocation?: string | null;
|
|
30483
32701
|
|
|
30484
32702
|
@Field({ nullable: true })
|
|
30485
|
-
|
|
32703
|
+
IncrementalWatermarkField?: string | null;
|
|
30486
32704
|
|
|
30487
32705
|
@Field({ nullable: true })
|
|
30488
|
-
|
|
32706
|
+
MetadataSource?: string;
|
|
30489
32707
|
|
|
30490
32708
|
@Field(() => Boolean, { nullable: true })
|
|
30491
|
-
|
|
32709
|
+
SupportsCreate?: boolean;
|
|
30492
32710
|
|
|
30493
32711
|
@Field(() => Boolean, { nullable: true })
|
|
30494
|
-
|
|
30495
|
-
|
|
30496
|
-
@Field({ nullable: true })
|
|
30497
|
-
DefaultValue: string | null;
|
|
30498
|
-
|
|
30499
|
-
@Field(() => Int, { nullable: true })
|
|
30500
|
-
Priority?: number;
|
|
30501
|
-
|
|
30502
|
-
@Field({ nullable: true })
|
|
30503
|
-
Status?: string;
|
|
30504
|
-
|
|
30505
|
-
@Field(() => RestoreContextInput, { nullable: true })
|
|
30506
|
-
RestoreContext___?: RestoreContextInput;
|
|
30507
|
-
}
|
|
30508
|
-
|
|
32712
|
+
SupportsUpdate?: boolean;
|
|
30509
32713
|
|
|
30510
|
-
|
|
30511
|
-
|
|
30512
|
-
//****************************************************************************
|
|
30513
|
-
@InputType()
|
|
30514
|
-
export class UpdateMJCompanyIntegrationFieldMapInput {
|
|
30515
|
-
@Field()
|
|
30516
|
-
ID: string;
|
|
32714
|
+
@Field(() => Boolean, { nullable: true })
|
|
32715
|
+
SupportsDelete?: boolean;
|
|
30517
32716
|
|
|
30518
32717
|
@Field({ nullable: true })
|
|
30519
|
-
|
|
32718
|
+
SyncStrategy?: string | null;
|
|
30520
32719
|
|
|
30521
|
-
@Field({ nullable: true })
|
|
30522
|
-
|
|
32720
|
+
@Field(() => Boolean, { nullable: true })
|
|
32721
|
+
ContentHashApplicable?: boolean;
|
|
30523
32722
|
|
|
30524
32723
|
@Field({ nullable: true })
|
|
30525
|
-
|
|
32724
|
+
StableOrderingKey?: string | null;
|
|
30526
32725
|
|
|
30527
32726
|
@Field({ nullable: true })
|
|
30528
|
-
|
|
32727
|
+
CompanyIntegrationID?: string;
|
|
30529
32728
|
|
|
30530
32729
|
@Field({ nullable: true })
|
|
30531
|
-
|
|
32730
|
+
IntegrationObjectID?: string | null;
|
|
30532
32731
|
|
|
30533
32732
|
@Field({ nullable: true })
|
|
30534
|
-
|
|
32733
|
+
Provenance?: string;
|
|
30535
32734
|
|
|
30536
32735
|
@Field({ nullable: true })
|
|
30537
|
-
|
|
32736
|
+
ProvenanceDetail?: string | null;
|
|
30538
32737
|
|
|
30539
32738
|
@Field(() => Boolean, { nullable: true })
|
|
30540
|
-
|
|
32739
|
+
IsSelected?: boolean;
|
|
30541
32740
|
|
|
30542
|
-
@Field(
|
|
30543
|
-
|
|
32741
|
+
@Field({ nullable: true })
|
|
32742
|
+
SelectedAt?: Date | null;
|
|
30544
32743
|
|
|
30545
32744
|
@Field({ nullable: true })
|
|
30546
|
-
|
|
32745
|
+
FirstSeenAt?: Date | null;
|
|
30547
32746
|
|
|
30548
|
-
@Field(
|
|
30549
|
-
|
|
32747
|
+
@Field({ nullable: true })
|
|
32748
|
+
LastSeenAt?: Date | null;
|
|
30550
32749
|
|
|
30551
32750
|
@Field({ nullable: true })
|
|
30552
|
-
|
|
32751
|
+
LastSampledAt?: Date | null;
|
|
30553
32752
|
|
|
30554
32753
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
30555
32754
|
OldValues___?: KeyValuePairInput[];
|
|
@@ -30559,12 +32758,12 @@ export class UpdateMJCompanyIntegrationFieldMapInput {
|
|
|
30559
32758
|
}
|
|
30560
32759
|
|
|
30561
32760
|
//****************************************************************************
|
|
30562
|
-
// RESOLVER for MJ: Company Integration
|
|
32761
|
+
// RESOLVER for MJ: Company Integration Objects
|
|
30563
32762
|
//****************************************************************************
|
|
30564
32763
|
@ObjectType()
|
|
30565
|
-
export class
|
|
30566
|
-
@Field(() => [
|
|
30567
|
-
Results:
|
|
32764
|
+
export class RunMJCompanyIntegrationObjectViewResult {
|
|
32765
|
+
@Field(() => [MJCompanyIntegrationObject_])
|
|
32766
|
+
Results: MJCompanyIntegrationObject_[];
|
|
30568
32767
|
|
|
30569
32768
|
@Field(() => String, {nullable: true})
|
|
30570
32769
|
UserViewRunID?: string;
|
|
@@ -30585,61 +32784,61 @@ export class RunMJCompanyIntegrationFieldMapViewResult {
|
|
|
30585
32784
|
Success: boolean;
|
|
30586
32785
|
}
|
|
30587
32786
|
|
|
30588
|
-
@Resolver(
|
|
30589
|
-
export class
|
|
30590
|
-
@Query(() =>
|
|
30591
|
-
async
|
|
32787
|
+
@Resolver(MJCompanyIntegrationObject_)
|
|
32788
|
+
export class MJCompanyIntegrationObjectResolver extends ResolverBase {
|
|
32789
|
+
@Query(() => RunMJCompanyIntegrationObjectViewResult)
|
|
32790
|
+
async RunMJCompanyIntegrationObjectViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
30592
32791
|
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30593
32792
|
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
30594
32793
|
}
|
|
30595
32794
|
|
|
30596
|
-
@Query(() =>
|
|
30597
|
-
async
|
|
32795
|
+
@Query(() => RunMJCompanyIntegrationObjectViewResult)
|
|
32796
|
+
async RunMJCompanyIntegrationObjectViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
30598
32797
|
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30599
32798
|
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
30600
32799
|
}
|
|
30601
32800
|
|
|
30602
|
-
@Query(() =>
|
|
30603
|
-
async
|
|
32801
|
+
@Query(() => RunMJCompanyIntegrationObjectViewResult)
|
|
32802
|
+
async RunMJCompanyIntegrationObjectDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
30604
32803
|
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30605
|
-
input.EntityName = 'MJ: Company Integration
|
|
32804
|
+
input.EntityName = 'MJ: Company Integration Objects';
|
|
30606
32805
|
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
30607
32806
|
}
|
|
30608
|
-
@Query(() =>
|
|
30609
|
-
async
|
|
30610
|
-
this.CheckUserReadPermissions('MJ: Company Integration
|
|
32807
|
+
@Query(() => MJCompanyIntegrationObject_, { nullable: true })
|
|
32808
|
+
async MJCompanyIntegrationObject(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJCompanyIntegrationObject_ | null> {
|
|
32809
|
+
this.CheckUserReadPermissions('MJ: Company Integration Objects', userPayload);
|
|
30611
32810
|
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
30612
|
-
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, '
|
|
32811
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationObjects')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Objects', userPayload, EntityPermissionType.Read, 'AND');
|
|
30613
32812
|
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
30614
|
-
const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration
|
|
32813
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration Objects', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
30615
32814
|
return result;
|
|
30616
32815
|
}
|
|
30617
32816
|
|
|
30618
|
-
@Mutation(() =>
|
|
30619
|
-
async
|
|
30620
|
-
@Arg('input', () =>
|
|
32817
|
+
@Mutation(() => MJCompanyIntegrationObject_)
|
|
32818
|
+
async CreateMJCompanyIntegrationObject(
|
|
32819
|
+
@Arg('input', () => CreateMJCompanyIntegrationObjectInput) input: CreateMJCompanyIntegrationObjectInput,
|
|
30621
32820
|
@Ctx() { providers, userPayload }: AppContext,
|
|
30622
32821
|
@PubSub() pubSub: PubSubEngine
|
|
30623
32822
|
) {
|
|
30624
32823
|
const provider = GetReadWriteProvider(providers);
|
|
30625
|
-
return this.CreateRecord('MJ: Company Integration
|
|
32824
|
+
return this.CreateRecord('MJ: Company Integration Objects', input, provider, userPayload, pubSub)
|
|
30626
32825
|
}
|
|
30627
32826
|
|
|
30628
|
-
@Mutation(() =>
|
|
30629
|
-
async
|
|
30630
|
-
@Arg('input', () =>
|
|
32827
|
+
@Mutation(() => MJCompanyIntegrationObject_)
|
|
32828
|
+
async UpdateMJCompanyIntegrationObject(
|
|
32829
|
+
@Arg('input', () => UpdateMJCompanyIntegrationObjectInput) input: UpdateMJCompanyIntegrationObjectInput,
|
|
30631
32830
|
@Ctx() { providers, userPayload }: AppContext,
|
|
30632
32831
|
@PubSub() pubSub: PubSubEngine
|
|
30633
32832
|
) {
|
|
30634
32833
|
const provider = GetReadWriteProvider(providers);
|
|
30635
|
-
return this.UpdateRecord('MJ: Company Integration
|
|
32834
|
+
return this.UpdateRecord('MJ: Company Integration Objects', input, provider, userPayload, pubSub);
|
|
30636
32835
|
}
|
|
30637
32836
|
|
|
30638
|
-
@Mutation(() =>
|
|
30639
|
-
async
|
|
32837
|
+
@Mutation(() => MJCompanyIntegrationObject_)
|
|
32838
|
+
async DeleteMJCompanyIntegrationObject(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
30640
32839
|
const provider = GetReadWriteProvider(providers);
|
|
30641
32840
|
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
30642
|
-
return this.DeleteRecord('MJ: Company Integration
|
|
32841
|
+
return this.DeleteRecord('MJ: Company Integration Objects', key, options, provider, userPayload, pubSub);
|
|
30643
32842
|
}
|
|
30644
32843
|
|
|
30645
32844
|
}
|
|
@@ -33026,10 +35225,32 @@ export class MJComponent_ {
|
|
|
33026
35225
|
@Field({nullable: true, description: "The technical-design embedding as little-endian IEEE-754 float32 bytes (4 bytes per dimension): the compact form of TechnicalDesignVector. Written alongside TechnicalDesignVector; readers prefer it and fall back to TechnicalDesignVector when it is NULL."})
|
|
33027
35226
|
TechnicalDesignVectorBinary?: string;
|
|
33028
35227
|
|
|
35228
|
+
@Field({nullable: true, description: "Whether this component version's definition is approved: Pending, Approved or Rejected. Separate from Status, which is publication. An approval is current only while ApprovedFingerprint matches the current definition."})
|
|
35229
|
+
@MaxLength(20)
|
|
35230
|
+
ApprovalStatus?: string;
|
|
35231
|
+
|
|
35232
|
+
@Field({nullable: true, description: "Reviewer comments recorded with the approval decision, such as the tests the definition passed."})
|
|
35233
|
+
ApprovalComments?: string;
|
|
35234
|
+
|
|
35235
|
+
@Field({nullable: true, description: "The user who approved this component version."})
|
|
35236
|
+
@MaxLength(36)
|
|
35237
|
+
ApprovedByUserID?: string;
|
|
35238
|
+
|
|
35239
|
+
@Field({nullable: true, description: "When this component version was approved."})
|
|
35240
|
+
ApprovedAt?: Date;
|
|
35241
|
+
|
|
35242
|
+
@Field({nullable: true, description: "SHA-256 fingerprint of the definition that was approved: the component's specification for this version. The approval is current only while this matches the fingerprint of the current definition."})
|
|
35243
|
+
@MaxLength(100)
|
|
35244
|
+
ApprovedFingerprint?: string;
|
|
35245
|
+
|
|
33029
35246
|
@Field({nullable: true})
|
|
33030
35247
|
@MaxLength(255)
|
|
33031
35248
|
SourceRegistry?: string;
|
|
33032
35249
|
|
|
35250
|
+
@Field({nullable: true})
|
|
35251
|
+
@MaxLength(100)
|
|
35252
|
+
ApprovedByUser?: string;
|
|
35253
|
+
|
|
33033
35254
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
33034
35255
|
ReadableFields___?: string[];
|
|
33035
35256
|
|
|
@@ -33127,6 +35348,21 @@ export class CreateMJComponentInput {
|
|
|
33127
35348
|
@Field({ nullable: true })
|
|
33128
35349
|
TechnicalDesignVectorBinary: string | null;
|
|
33129
35350
|
|
|
35351
|
+
@Field({ nullable: true })
|
|
35352
|
+
ApprovalStatus?: string;
|
|
35353
|
+
|
|
35354
|
+
@Field({ nullable: true })
|
|
35355
|
+
ApprovalComments: string | null;
|
|
35356
|
+
|
|
35357
|
+
@Field({ nullable: true })
|
|
35358
|
+
ApprovedByUserID: string | null;
|
|
35359
|
+
|
|
35360
|
+
@Field({ nullable: true })
|
|
35361
|
+
ApprovedAt: Date | null;
|
|
35362
|
+
|
|
35363
|
+
@Field({ nullable: true })
|
|
35364
|
+
ApprovedFingerprint: string | null;
|
|
35365
|
+
|
|
33130
35366
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
33131
35367
|
RestoreContext___?: RestoreContextInput;
|
|
33132
35368
|
}
|
|
@@ -33224,6 +35460,21 @@ export class UpdateMJComponentInput {
|
|
|
33224
35460
|
@Field({ nullable: true })
|
|
33225
35461
|
TechnicalDesignVectorBinary?: string | null;
|
|
33226
35462
|
|
|
35463
|
+
@Field({ nullable: true })
|
|
35464
|
+
ApprovalStatus?: string;
|
|
35465
|
+
|
|
35466
|
+
@Field({ nullable: true })
|
|
35467
|
+
ApprovalComments?: string | null;
|
|
35468
|
+
|
|
35469
|
+
@Field({ nullable: true })
|
|
35470
|
+
ApprovedByUserID?: string | null;
|
|
35471
|
+
|
|
35472
|
+
@Field({ nullable: true })
|
|
35473
|
+
ApprovedAt?: Date | null;
|
|
35474
|
+
|
|
35475
|
+
@Field({ nullable: true })
|
|
35476
|
+
ApprovedFingerprint?: string | null;
|
|
35477
|
+
|
|
33227
35478
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
33228
35479
|
OldValues___?: KeyValuePairInput[];
|
|
33229
35480
|
|
|
@@ -33340,6 +35591,16 @@ export class MJContentFileType_ {
|
|
|
33340
35591
|
@Field()
|
|
33341
35592
|
_mj__UpdatedAt: Date;
|
|
33342
35593
|
|
|
35594
|
+
@Field({nullable: true, description: "How this file type is recognised from its own content, as JSON. Either magic bytes - {\"Magic\":[37,80,68,70],\"Offset\":0,\"Unambiguous\":true} - or, for a text format, the characters it opens with: {\"TextPrefix\":[\"<!doctype html\",\"<html\"]}, matched after a byte-order mark and leading whitespace are stripped and case is folded. Unambiguous means a match may override a declared type; a container format such as zip recognises without identifying, so it may not."})
|
|
35595
|
+
ByteSignature?: string;
|
|
35596
|
+
|
|
35597
|
+
@Field(() => Boolean, {nullable: true, description: "Whether this file type is text. Decides whether an unrecognised file is attempted as plain text or routed down the multi-modal path. NULL means unknown, and the pipeline falls back to inspecting the bytes."})
|
|
35598
|
+
IsText?: boolean;
|
|
35599
|
+
|
|
35600
|
+
@Field({nullable: true, description: "The registered content extractor that reads this file type. Lets a deployment add support for a format by pointing its file type at an extractor, rather than editing the extractor's own list of what it supports."})
|
|
35601
|
+
@MaxLength(100)
|
|
35602
|
+
ExtractorKey?: string;
|
|
35603
|
+
|
|
33343
35604
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
33344
35605
|
ReadableFields___?: string[];
|
|
33345
35606
|
|
|
@@ -33359,6 +35620,15 @@ export class CreateMJContentFileTypeInput {
|
|
|
33359
35620
|
@Field({ nullable: true })
|
|
33360
35621
|
FileExtension: string | null;
|
|
33361
35622
|
|
|
35623
|
+
@Field({ nullable: true })
|
|
35624
|
+
ByteSignature: string | null;
|
|
35625
|
+
|
|
35626
|
+
@Field(() => Boolean, { nullable: true })
|
|
35627
|
+
IsText: boolean | null;
|
|
35628
|
+
|
|
35629
|
+
@Field({ nullable: true })
|
|
35630
|
+
ExtractorKey: string | null;
|
|
35631
|
+
|
|
33362
35632
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
33363
35633
|
RestoreContext___?: RestoreContextInput;
|
|
33364
35634
|
}
|
|
@@ -33378,6 +35648,15 @@ export class UpdateMJContentFileTypeInput {
|
|
|
33378
35648
|
@Field({ nullable: true })
|
|
33379
35649
|
FileExtension?: string | null;
|
|
33380
35650
|
|
|
35651
|
+
@Field({ nullable: true })
|
|
35652
|
+
ByteSignature?: string | null;
|
|
35653
|
+
|
|
35654
|
+
@Field(() => Boolean, { nullable: true })
|
|
35655
|
+
IsText?: boolean | null;
|
|
35656
|
+
|
|
35657
|
+
@Field({ nullable: true })
|
|
35658
|
+
ExtractorKey?: string | null;
|
|
35659
|
+
|
|
33381
35660
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
33382
35661
|
OldValues___?: KeyValuePairInput[];
|
|
33383
35662
|
|
|
@@ -33725,6 +36004,12 @@ export class MJContentItemChunk_ {
|
|
|
33725
36004
|
@MaxLength(36)
|
|
33726
36005
|
ParentChunkID?: string;
|
|
33727
36006
|
|
|
36007
|
+
@Field({nullable: true, description: "Per-field provenance for the pipeline: for each well-known field, the confidence the winning stage had and which stage set it."})
|
|
36008
|
+
FieldConfidence?: string;
|
|
36009
|
+
|
|
36010
|
+
@Field({nullable: true, description: "Text that accompanies this chunk so it still makes sense retrieved on its own — normally inherited from its parent item. Kept as its own field rather than prefixed into Text so it stays separately searchable and can be revised without rewriting the chunk."})
|
|
36011
|
+
Decorator?: string;
|
|
36012
|
+
|
|
33728
36013
|
@Field({nullable: true})
|
|
33729
36014
|
@MaxLength(250)
|
|
33730
36015
|
ContentItem?: string;
|
|
@@ -33825,6 +36110,12 @@ export class CreateMJContentItemChunkInput {
|
|
|
33825
36110
|
@Field({ nullable: true })
|
|
33826
36111
|
ParentChunkID: string | null;
|
|
33827
36112
|
|
|
36113
|
+
@Field({ nullable: true })
|
|
36114
|
+
FieldConfidence: string | null;
|
|
36115
|
+
|
|
36116
|
+
@Field({ nullable: true })
|
|
36117
|
+
Decorator: string | null;
|
|
36118
|
+
|
|
33828
36119
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
33829
36120
|
RestoreContext___?: RestoreContextInput;
|
|
33830
36121
|
}
|
|
@@ -33901,6 +36192,12 @@ export class UpdateMJContentItemChunkInput {
|
|
|
33901
36192
|
@Field({ nullable: true })
|
|
33902
36193
|
ParentChunkID?: string | null;
|
|
33903
36194
|
|
|
36195
|
+
@Field({ nullable: true })
|
|
36196
|
+
FieldConfidence?: string | null;
|
|
36197
|
+
|
|
36198
|
+
@Field({ nullable: true })
|
|
36199
|
+
Decorator?: string | null;
|
|
36200
|
+
|
|
33904
36201
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
33905
36202
|
OldValues___?: KeyValuePairInput[];
|
|
33906
36203
|
|
|
@@ -34505,6 +36802,43 @@ export class MJContentItem_ {
|
|
|
34505
36802
|
@MaxLength(2000)
|
|
34506
36803
|
DisplayLink?: string;
|
|
34507
36804
|
|
|
36805
|
+
@Field({nullable: true, description: "Per-field provenance for the pipeline: for each well-known field, the confidence the winning stage had and which stage set it. Lets two stages that know nothing about each other resolve a shared field on merit rather than by running order."})
|
|
36806
|
+
FieldConfidence?: string;
|
|
36807
|
+
|
|
36808
|
+
@Field({nullable: true, description: "Status of the Extract stage for this item: Pending, Processing, Complete, Failed or Skipped."})
|
|
36809
|
+
@MaxLength(40)
|
|
36810
|
+
ExtractionStatus?: string;
|
|
36811
|
+
|
|
36812
|
+
@Field({nullable: true, description: "Status of the Segment stage for this item: Pending, Processing, Complete, Failed or Skipped."})
|
|
36813
|
+
@MaxLength(40)
|
|
36814
|
+
SegmentationStatus?: string;
|
|
36815
|
+
|
|
36816
|
+
@Field({nullable: true, description: "Soft-delete marker: Pending once something has been removed at the source, Deleted once the Delete stage has cleaned up everything downstream of it. Marking rather than deleting keeps the outside-system cleanup in one place and makes it retryable."})
|
|
36817
|
+
@MaxLength(20)
|
|
36818
|
+
DeleteStatus?: string;
|
|
36819
|
+
|
|
36820
|
+
@Field({nullable: true, description: "The registered content extractor that actually read this item, recorded as a receipt of what ran. Distinct from the defaults on Content Type and in the source configuration, which say what should run."})
|
|
36821
|
+
@MaxLength(100)
|
|
36822
|
+
ExtractorKey?: string;
|
|
36823
|
+
|
|
36824
|
+
@Field({nullable: true, description: "Forces a specific content extractor for this item, overriding every default in the cascade. Set by a splitting extractor that already knows what one of its own children is, and by an operator correcting a misrouted item."})
|
|
36825
|
+
@MaxLength(100)
|
|
36826
|
+
ExtractorKeyOverride?: string;
|
|
36827
|
+
|
|
36828
|
+
@Field({nullable: true, description: "What kind of content this item holds: text, image, audio, video or multimodal. Determines whether the item can be embedded without extracted text."})
|
|
36829
|
+
@MaxLength(20)
|
|
36830
|
+
Modality?: string;
|
|
36831
|
+
|
|
36832
|
+
@Field({nullable: true, description: "The date the content itself carries — published, issued or authored — as opposed to when this row was created."})
|
|
36833
|
+
Date?: Date;
|
|
36834
|
+
|
|
36835
|
+
@Field({nullable: true, description: "Text that accompanies this item so it still makes sense retrieved on its own. Kept as its own field rather than prefixed into Text so it stays separately searchable and can be revised without rewriting the content."})
|
|
36836
|
+
Decorator?: string;
|
|
36837
|
+
|
|
36838
|
+
@Field({nullable: true, description: "The durable copy of the fetched artifact, held as an MJ File so the bytes live in whichever storage provider the source is configured for rather than in this database."})
|
|
36839
|
+
@MaxLength(36)
|
|
36840
|
+
FileID?: string;
|
|
36841
|
+
|
|
34508
36842
|
@Field({nullable: true})
|
|
34509
36843
|
@MaxLength(255)
|
|
34510
36844
|
ContentSource?: string;
|
|
@@ -34533,6 +36867,10 @@ export class MJContentItem_ {
|
|
|
34533
36867
|
@MaxLength(250)
|
|
34534
36868
|
Parent?: string;
|
|
34535
36869
|
|
|
36870
|
+
@Field({nullable: true})
|
|
36871
|
+
@MaxLength(500)
|
|
36872
|
+
File?: string;
|
|
36873
|
+
|
|
34536
36874
|
@Field({nullable: true})
|
|
34537
36875
|
@MaxLength(36)
|
|
34538
36876
|
RootParentID?: string;
|
|
@@ -34616,6 +36954,36 @@ export class CreateMJContentItemInput {
|
|
|
34616
36954
|
@Field({ nullable: true })
|
|
34617
36955
|
DisplayLink: string | null;
|
|
34618
36956
|
|
|
36957
|
+
@Field({ nullable: true })
|
|
36958
|
+
FieldConfidence: string | null;
|
|
36959
|
+
|
|
36960
|
+
@Field({ nullable: true })
|
|
36961
|
+
ExtractionStatus: string | null;
|
|
36962
|
+
|
|
36963
|
+
@Field({ nullable: true })
|
|
36964
|
+
SegmentationStatus: string | null;
|
|
36965
|
+
|
|
36966
|
+
@Field({ nullable: true })
|
|
36967
|
+
DeleteStatus: string | null;
|
|
36968
|
+
|
|
36969
|
+
@Field({ nullable: true })
|
|
36970
|
+
ExtractorKey: string | null;
|
|
36971
|
+
|
|
36972
|
+
@Field({ nullable: true })
|
|
36973
|
+
ExtractorKeyOverride: string | null;
|
|
36974
|
+
|
|
36975
|
+
@Field({ nullable: true })
|
|
36976
|
+
Modality: string | null;
|
|
36977
|
+
|
|
36978
|
+
@Field({ nullable: true })
|
|
36979
|
+
Date: Date | null;
|
|
36980
|
+
|
|
36981
|
+
@Field({ nullable: true })
|
|
36982
|
+
Decorator: string | null;
|
|
36983
|
+
|
|
36984
|
+
@Field({ nullable: true })
|
|
36985
|
+
FileID: string | null;
|
|
36986
|
+
|
|
34619
36987
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
34620
36988
|
RestoreContext___?: RestoreContextInput;
|
|
34621
36989
|
}
|
|
@@ -34683,6 +37051,36 @@ export class UpdateMJContentItemInput {
|
|
|
34683
37051
|
@Field({ nullable: true })
|
|
34684
37052
|
DisplayLink?: string | null;
|
|
34685
37053
|
|
|
37054
|
+
@Field({ nullable: true })
|
|
37055
|
+
FieldConfidence?: string | null;
|
|
37056
|
+
|
|
37057
|
+
@Field({ nullable: true })
|
|
37058
|
+
ExtractionStatus?: string | null;
|
|
37059
|
+
|
|
37060
|
+
@Field({ nullable: true })
|
|
37061
|
+
SegmentationStatus?: string | null;
|
|
37062
|
+
|
|
37063
|
+
@Field({ nullable: true })
|
|
37064
|
+
DeleteStatus?: string | null;
|
|
37065
|
+
|
|
37066
|
+
@Field({ nullable: true })
|
|
37067
|
+
ExtractorKey?: string | null;
|
|
37068
|
+
|
|
37069
|
+
@Field({ nullable: true })
|
|
37070
|
+
ExtractorKeyOverride?: string | null;
|
|
37071
|
+
|
|
37072
|
+
@Field({ nullable: true })
|
|
37073
|
+
Modality?: string | null;
|
|
37074
|
+
|
|
37075
|
+
@Field({ nullable: true })
|
|
37076
|
+
Date?: Date | null;
|
|
37077
|
+
|
|
37078
|
+
@Field({ nullable: true })
|
|
37079
|
+
Decorator?: string | null;
|
|
37080
|
+
|
|
37081
|
+
@Field({ nullable: true })
|
|
37082
|
+
FileID?: string | null;
|
|
37083
|
+
|
|
34686
37084
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
34687
37085
|
OldValues___?: KeyValuePairInput[];
|
|
34688
37086
|
|
|
@@ -36060,6 +38458,18 @@ export class MJContentSource_ {
|
|
|
36060
38458
|
@MaxLength(36)
|
|
36061
38459
|
ScheduledJobID?: string;
|
|
36062
38460
|
|
|
38461
|
+
@Field({nullable: true, description: "Per-field provenance for the pipeline: for each well-known field, the confidence the winning stage had and which stage set it."})
|
|
38462
|
+
FieldConfidence?: string;
|
|
38463
|
+
|
|
38464
|
+
@Field(() => Boolean, {nullable: true, description: "Walk this source on the next pass regardless of its schedule. A one-shot: the Discover stage clears it when the walk completes. Scheduling is deployment-owned and the shipped Discover process selects ForceDiscovery = 1, which is why there is no discovery status column to re-arm."})
|
|
38465
|
+
ForceDiscovery?: boolean;
|
|
38466
|
+
|
|
38467
|
+
@Field({nullable: true, description: "When this source was last walked by the Discover stage. Stamped with the time a completed walk started, and passed back as Since on subsequent incremental walks."})
|
|
38468
|
+
LastDiscoveredAt?: Date;
|
|
38469
|
+
|
|
38470
|
+
@Field({nullable: true, description: "When this source last completed a full Sync walk (reconciling removals). Stamped with the time a completed sync walk started. The shipped Sync Record Process selects sources by LastSyncedAt (LastSyncedAt IS NULL OR LastSyncedAt < DATEADD(day, -30, GETUTCDATE())), never by ForceDiscovery; to force a sync, set LastSyncedAt back or to NULL."})
|
|
38471
|
+
LastSyncedAt?: Date;
|
|
38472
|
+
|
|
36063
38473
|
@Field({nullable: true})
|
|
36064
38474
|
@MaxLength(255)
|
|
36065
38475
|
ContentType?: string;
|
|
@@ -36144,6 +38554,18 @@ export class CreateMJContentSourceInput {
|
|
|
36144
38554
|
@Field({ nullable: true })
|
|
36145
38555
|
ScheduledJobID: string | null;
|
|
36146
38556
|
|
|
38557
|
+
@Field({ nullable: true })
|
|
38558
|
+
FieldConfidence: string | null;
|
|
38559
|
+
|
|
38560
|
+
@Field(() => Boolean, { nullable: true })
|
|
38561
|
+
ForceDiscovery?: boolean;
|
|
38562
|
+
|
|
38563
|
+
@Field({ nullable: true })
|
|
38564
|
+
LastDiscoveredAt: Date | null;
|
|
38565
|
+
|
|
38566
|
+
@Field({ nullable: true })
|
|
38567
|
+
LastSyncedAt: Date | null;
|
|
38568
|
+
|
|
36147
38569
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
36148
38570
|
RestoreContext___?: RestoreContextInput;
|
|
36149
38571
|
}
|
|
@@ -36196,6 +38618,18 @@ export class UpdateMJContentSourceInput {
|
|
|
36196
38618
|
@Field({ nullable: true })
|
|
36197
38619
|
ScheduledJobID?: string | null;
|
|
36198
38620
|
|
|
38621
|
+
@Field({ nullable: true })
|
|
38622
|
+
FieldConfidence?: string | null;
|
|
38623
|
+
|
|
38624
|
+
@Field(() => Boolean, { nullable: true })
|
|
38625
|
+
ForceDiscovery?: boolean;
|
|
38626
|
+
|
|
38627
|
+
@Field({ nullable: true })
|
|
38628
|
+
LastDiscoveredAt?: Date | null;
|
|
38629
|
+
|
|
38630
|
+
@Field({ nullable: true })
|
|
38631
|
+
LastSyncedAt?: Date | null;
|
|
38632
|
+
|
|
36199
38633
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
36200
38634
|
OldValues___?: KeyValuePairInput[];
|
|
36201
38635
|
|
|
@@ -36512,6 +38946,10 @@ export class MJContentType_ {
|
|
|
36512
38946
|
@MaxLength(100)
|
|
36513
38947
|
CleanerKey?: string;
|
|
36514
38948
|
|
|
38949
|
+
@Field({nullable: true, description: "The default content extractor for items of this content type, beside SegmenterKey and CleanerKey. A per-type default has no home in a source's Configuration, and reading it from a run's Options would make it per-run."})
|
|
38950
|
+
@MaxLength(100)
|
|
38951
|
+
ExtractorKey?: string;
|
|
38952
|
+
|
|
36515
38953
|
@Field({nullable: true})
|
|
36516
38954
|
@MaxLength(50)
|
|
36517
38955
|
AIModel?: string;
|
|
@@ -36567,6 +39005,9 @@ export class CreateMJContentTypeInput {
|
|
|
36567
39005
|
@Field({ nullable: true })
|
|
36568
39006
|
CleanerKey: string | null;
|
|
36569
39007
|
|
|
39008
|
+
@Field({ nullable: true })
|
|
39009
|
+
ExtractorKey: string | null;
|
|
39010
|
+
|
|
36570
39011
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
36571
39012
|
RestoreContext___?: RestoreContextInput;
|
|
36572
39013
|
}
|
|
@@ -36610,6 +39051,9 @@ export class UpdateMJContentTypeInput {
|
|
|
36610
39051
|
@Field({ nullable: true })
|
|
36611
39052
|
CleanerKey?: string | null;
|
|
36612
39053
|
|
|
39054
|
+
@Field({ nullable: true })
|
|
39055
|
+
ExtractorKey?: string | null;
|
|
39056
|
+
|
|
36613
39057
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
36614
39058
|
OldValues___?: KeyValuePairInput[];
|
|
36615
39059
|
|
|
@@ -41917,6 +44361,24 @@ export class MJDashboard_ {
|
|
|
41917
44361
|
@MaxLength(36)
|
|
41918
44362
|
EnvironmentID?: string;
|
|
41919
44363
|
|
|
44364
|
+
@Field({nullable: true, description: "Whether this dashboard's definition is approved: Pending, Approved or Rejected. An approval is current only while ApprovedFingerprint matches the current definition."})
|
|
44365
|
+
@MaxLength(20)
|
|
44366
|
+
ApprovalStatus?: string;
|
|
44367
|
+
|
|
44368
|
+
@Field({nullable: true, description: "Reviewer comments recorded with the approval decision, such as the tests the definition passed."})
|
|
44369
|
+
ApprovalComments?: string;
|
|
44370
|
+
|
|
44371
|
+
@Field({nullable: true, description: "The user who approved this dashboard."})
|
|
44372
|
+
@MaxLength(36)
|
|
44373
|
+
ApprovedByUserID?: string;
|
|
44374
|
+
|
|
44375
|
+
@Field({nullable: true, description: "When this dashboard was approved."})
|
|
44376
|
+
ApprovedAt?: Date;
|
|
44377
|
+
|
|
44378
|
+
@Field({nullable: true, description: "SHA-256 fingerprint of the definition that was approved: its layout, parts, property mappings, wires and code. The approval is current only while this matches the fingerprint of the current definition."})
|
|
44379
|
+
@MaxLength(100)
|
|
44380
|
+
ApprovedFingerprint?: string;
|
|
44381
|
+
|
|
41920
44382
|
@Field({nullable: true})
|
|
41921
44383
|
@MaxLength(100)
|
|
41922
44384
|
User?: string;
|
|
@@ -41933,6 +44395,10 @@ export class MJDashboard_ {
|
|
|
41933
44395
|
@MaxLength(255)
|
|
41934
44396
|
Environment?: string;
|
|
41935
44397
|
|
|
44398
|
+
@Field({nullable: true})
|
|
44399
|
+
@MaxLength(100)
|
|
44400
|
+
ApprovedByUser?: string;
|
|
44401
|
+
|
|
41936
44402
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
41937
44403
|
ReadableFields___?: string[];
|
|
41938
44404
|
|
|
@@ -41982,6 +44448,21 @@ export class CreateMJDashboardInput {
|
|
|
41982
44448
|
@Field({ nullable: true })
|
|
41983
44449
|
EnvironmentID?: string;
|
|
41984
44450
|
|
|
44451
|
+
@Field({ nullable: true })
|
|
44452
|
+
ApprovalStatus?: string;
|
|
44453
|
+
|
|
44454
|
+
@Field({ nullable: true })
|
|
44455
|
+
ApprovalComments: string | null;
|
|
44456
|
+
|
|
44457
|
+
@Field({ nullable: true })
|
|
44458
|
+
ApprovedByUserID: string | null;
|
|
44459
|
+
|
|
44460
|
+
@Field({ nullable: true })
|
|
44461
|
+
ApprovedAt: Date | null;
|
|
44462
|
+
|
|
44463
|
+
@Field({ nullable: true })
|
|
44464
|
+
ApprovedFingerprint: string | null;
|
|
44465
|
+
|
|
41985
44466
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
41986
44467
|
RestoreContext___?: RestoreContextInput;
|
|
41987
44468
|
}
|
|
@@ -42031,6 +44512,21 @@ export class UpdateMJDashboardInput {
|
|
|
42031
44512
|
@Field({ nullable: true })
|
|
42032
44513
|
EnvironmentID?: string;
|
|
42033
44514
|
|
|
44515
|
+
@Field({ nullable: true })
|
|
44516
|
+
ApprovalStatus?: string;
|
|
44517
|
+
|
|
44518
|
+
@Field({ nullable: true })
|
|
44519
|
+
ApprovalComments?: string | null;
|
|
44520
|
+
|
|
44521
|
+
@Field({ nullable: true })
|
|
44522
|
+
ApprovedByUserID?: string | null;
|
|
44523
|
+
|
|
44524
|
+
@Field({ nullable: true })
|
|
44525
|
+
ApprovedAt?: Date | null;
|
|
44526
|
+
|
|
44527
|
+
@Field({ nullable: true })
|
|
44528
|
+
ApprovedFingerprint?: string | null;
|
|
44529
|
+
|
|
42034
44530
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
42035
44531
|
OldValues___?: KeyValuePairInput[];
|
|
42036
44532
|
|
|
@@ -43548,6 +46044,10 @@ export class MJDuplicateRun_ {
|
|
|
43548
46044
|
@Field(() => Boolean, {nullable: true, description: "When set to 1, duplicate detection stops after the current batch. Used for pause/cancel."})
|
|
43549
46045
|
CancellationRequested?: boolean;
|
|
43550
46046
|
|
|
46047
|
+
@Field({nullable: true, description: "The Entity Document this run used: its template, vectors, match thresholds and LLM reasoning settings produced the run's matches."})
|
|
46048
|
+
@MaxLength(36)
|
|
46049
|
+
EntityDocumentID?: string;
|
|
46050
|
+
|
|
43551
46051
|
@Field({nullable: true})
|
|
43552
46052
|
@MaxLength(255)
|
|
43553
46053
|
Entity?: string;
|
|
@@ -43564,6 +46064,10 @@ export class MJDuplicateRun_ {
|
|
|
43564
46064
|
@MaxLength(100)
|
|
43565
46065
|
ApprovedByUser?: string;
|
|
43566
46066
|
|
|
46067
|
+
@Field({nullable: true})
|
|
46068
|
+
@MaxLength(250)
|
|
46069
|
+
EntityDocument?: string;
|
|
46070
|
+
|
|
43567
46071
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
43568
46072
|
ReadableFields___?: string[];
|
|
43569
46073
|
|
|
@@ -43622,6 +46126,9 @@ export class CreateMJDuplicateRunInput {
|
|
|
43622
46126
|
@Field(() => Boolean, { nullable: true })
|
|
43623
46127
|
CancellationRequested?: boolean;
|
|
43624
46128
|
|
|
46129
|
+
@Field({ nullable: true })
|
|
46130
|
+
EntityDocumentID?: string;
|
|
46131
|
+
|
|
43625
46132
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
43626
46133
|
RestoreContext___?: RestoreContextInput;
|
|
43627
46134
|
}
|
|
@@ -43680,6 +46187,9 @@ export class UpdateMJDuplicateRunInput {
|
|
|
43680
46187
|
@Field(() => Boolean, { nullable: true })
|
|
43681
46188
|
CancellationRequested?: boolean;
|
|
43682
46189
|
|
|
46190
|
+
@Field({ nullable: true })
|
|
46191
|
+
EntityDocumentID?: string;
|
|
46192
|
+
|
|
43683
46193
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
43684
46194
|
OldValues___?: KeyValuePairInput[];
|
|
43685
46195
|
|
|
@@ -47208,6 +49718,246 @@ export class MJEntityActionResolver extends ResolverBase {
|
|
|
47208
49718
|
|
|
47209
49719
|
}
|
|
47210
49720
|
|
|
49721
|
+
//****************************************************************************
|
|
49722
|
+
// ENTITY CLASS for MJ: Entity Alternate Base Views
|
|
49723
|
+
//****************************************************************************
|
|
49724
|
+
@ObjectType({ description: "Registers alternate base views for an entity: SQL views that expose the same columns as the entity's BaseView while returning a canonical row subset (such as Active Members or Open Orders)." })
|
|
49725
|
+
export class MJEntityAlternateBaseView_ {
|
|
49726
|
+
@Field()
|
|
49727
|
+
@MaxLength(36)
|
|
49728
|
+
ID: string;
|
|
49729
|
+
|
|
49730
|
+
@Field({nullable: true, description: "Owning entity whose column contract this alternate base view shares."})
|
|
49731
|
+
@MaxLength(36)
|
|
49732
|
+
EntityID?: string;
|
|
49733
|
+
|
|
49734
|
+
@Field({nullable: true, description: "Optional parent alternate base view on the same entity that this view derives from (e.g. an Active Auto-Renew Members view built on top of Active Members). NULL when the view selects directly from the entity's BaseView. Automatically populated on save via SQL AST extraction when the view's FROM clause references another registered alternate base view."})
|
|
49735
|
+
@MaxLength(36)
|
|
49736
|
+
ParentID?: string;
|
|
49737
|
+
|
|
49738
|
+
@Field({nullable: true, description: "Logical name of the alternate base view, unique per entity (case-insensitive). Cannot contain pipe (|) or colon (:) characters. Callers pass this name via RunViewParams.AlternateBaseView or pin it on a User View."})
|
|
49739
|
+
@MaxLength(100)
|
|
49740
|
+
Name?: string;
|
|
49741
|
+
|
|
49742
|
+
@Field({nullable: true, description: "Human-friendly label shown in UI pickers and badges. Falls back to Name when NULL."})
|
|
49743
|
+
@MaxLength(255)
|
|
49744
|
+
DisplayName?: string;
|
|
49745
|
+
|
|
49746
|
+
@Field({nullable: true, description: "Plain-language definition of which rows this alternate base view includes. Surfaced as help text in pickers and in agent and QueryGen discovery context."})
|
|
49747
|
+
Description?: string;
|
|
49748
|
+
|
|
49749
|
+
@Field({nullable: true, description: "Database schema of ViewName. When NULL, defaults to the owning entity's SchemaName. Cross-schema views allow an Open App to register an alternate view in its own schema on an upstream entity."})
|
|
49750
|
+
@MaxLength(255)
|
|
49751
|
+
SchemaName?: string;
|
|
49752
|
+
|
|
49753
|
+
@Field({nullable: true, description: "Physical SQL view name in the database. Must select all columns from the owning entity's BaseView."})
|
|
49754
|
+
@MaxLength(255)
|
|
49755
|
+
ViewName?: string;
|
|
49756
|
+
|
|
49757
|
+
@Field({nullable: true, description: "Controls RunView caching for this alternate view: Default caches results under an isolated abv: fingerprint segment and invalidates on entity writes; Bypass disables caching for views whose predicates depend on the clock or other tables."})
|
|
49758
|
+
@MaxLength(20)
|
|
49759
|
+
CachePolicy?: string;
|
|
49760
|
+
|
|
49761
|
+
@Field({nullable: true, description: "Lifecycle status of the alternate view: Active (selectable and shown in pickers and agent context), Deprecated (executable with a warning, hidden from pickers and agents), or Disabled (rejected at runtime)."})
|
|
49762
|
+
@MaxLength(20)
|
|
49763
|
+
Status?: string;
|
|
49764
|
+
|
|
49765
|
+
@Field(() => Int, {nullable: true, description: "Display ordering of this alternate view within its owning entity (lower numbers appear first)."})
|
|
49766
|
+
Sequence?: number;
|
|
49767
|
+
|
|
49768
|
+
@Field()
|
|
49769
|
+
_mj__CreatedAt: Date;
|
|
49770
|
+
|
|
49771
|
+
@Field()
|
|
49772
|
+
_mj__UpdatedAt: Date;
|
|
49773
|
+
|
|
49774
|
+
@Field({nullable: true})
|
|
49775
|
+
@MaxLength(255)
|
|
49776
|
+
Entity?: string;
|
|
49777
|
+
|
|
49778
|
+
@Field({nullable: true})
|
|
49779
|
+
@MaxLength(100)
|
|
49780
|
+
Parent?: string;
|
|
49781
|
+
|
|
49782
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
49783
|
+
ReadableFields___?: string[];
|
|
49784
|
+
|
|
49785
|
+
}
|
|
49786
|
+
|
|
49787
|
+
//****************************************************************************
|
|
49788
|
+
// INPUT TYPE for MJ: Entity Alternate Base Views
|
|
49789
|
+
//****************************************************************************
|
|
49790
|
+
@InputType()
|
|
49791
|
+
export class CreateMJEntityAlternateBaseViewInput {
|
|
49792
|
+
@Field({ nullable: true })
|
|
49793
|
+
ID?: string;
|
|
49794
|
+
|
|
49795
|
+
@Field({ nullable: true })
|
|
49796
|
+
EntityID?: string;
|
|
49797
|
+
|
|
49798
|
+
@Field({ nullable: true })
|
|
49799
|
+
ParentID: string | null;
|
|
49800
|
+
|
|
49801
|
+
@Field({ nullable: true })
|
|
49802
|
+
Name?: string;
|
|
49803
|
+
|
|
49804
|
+
@Field({ nullable: true })
|
|
49805
|
+
DisplayName: string | null;
|
|
49806
|
+
|
|
49807
|
+
@Field({ nullable: true })
|
|
49808
|
+
Description?: string;
|
|
49809
|
+
|
|
49810
|
+
@Field({ nullable: true })
|
|
49811
|
+
SchemaName: string | null;
|
|
49812
|
+
|
|
49813
|
+
@Field({ nullable: true })
|
|
49814
|
+
ViewName?: string;
|
|
49815
|
+
|
|
49816
|
+
@Field({ nullable: true })
|
|
49817
|
+
CachePolicy?: string;
|
|
49818
|
+
|
|
49819
|
+
@Field({ nullable: true })
|
|
49820
|
+
Status?: string;
|
|
49821
|
+
|
|
49822
|
+
@Field(() => Int, { nullable: true })
|
|
49823
|
+
Sequence?: number;
|
|
49824
|
+
|
|
49825
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
49826
|
+
RestoreContext___?: RestoreContextInput;
|
|
49827
|
+
}
|
|
49828
|
+
|
|
49829
|
+
|
|
49830
|
+
//****************************************************************************
|
|
49831
|
+
// INPUT TYPE for MJ: Entity Alternate Base Views
|
|
49832
|
+
//****************************************************************************
|
|
49833
|
+
@InputType()
|
|
49834
|
+
export class UpdateMJEntityAlternateBaseViewInput {
|
|
49835
|
+
@Field()
|
|
49836
|
+
ID: string;
|
|
49837
|
+
|
|
49838
|
+
@Field({ nullable: true })
|
|
49839
|
+
EntityID?: string;
|
|
49840
|
+
|
|
49841
|
+
@Field({ nullable: true })
|
|
49842
|
+
ParentID?: string | null;
|
|
49843
|
+
|
|
49844
|
+
@Field({ nullable: true })
|
|
49845
|
+
Name?: string;
|
|
49846
|
+
|
|
49847
|
+
@Field({ nullable: true })
|
|
49848
|
+
DisplayName?: string | null;
|
|
49849
|
+
|
|
49850
|
+
@Field({ nullable: true })
|
|
49851
|
+
Description?: string;
|
|
49852
|
+
|
|
49853
|
+
@Field({ nullable: true })
|
|
49854
|
+
SchemaName?: string | null;
|
|
49855
|
+
|
|
49856
|
+
@Field({ nullable: true })
|
|
49857
|
+
ViewName?: string;
|
|
49858
|
+
|
|
49859
|
+
@Field({ nullable: true })
|
|
49860
|
+
CachePolicy?: string;
|
|
49861
|
+
|
|
49862
|
+
@Field({ nullable: true })
|
|
49863
|
+
Status?: string;
|
|
49864
|
+
|
|
49865
|
+
@Field(() => Int, { nullable: true })
|
|
49866
|
+
Sequence?: number;
|
|
49867
|
+
|
|
49868
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
49869
|
+
OldValues___?: KeyValuePairInput[];
|
|
49870
|
+
|
|
49871
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
49872
|
+
RestoreContext___?: RestoreContextInput;
|
|
49873
|
+
}
|
|
49874
|
+
|
|
49875
|
+
//****************************************************************************
|
|
49876
|
+
// RESOLVER for MJ: Entity Alternate Base Views
|
|
49877
|
+
//****************************************************************************
|
|
49878
|
+
@ObjectType()
|
|
49879
|
+
export class RunMJEntityAlternateBaseViewViewResult {
|
|
49880
|
+
@Field(() => [MJEntityAlternateBaseView_])
|
|
49881
|
+
Results: MJEntityAlternateBaseView_[];
|
|
49882
|
+
|
|
49883
|
+
@Field(() => String, {nullable: true})
|
|
49884
|
+
UserViewRunID?: string;
|
|
49885
|
+
|
|
49886
|
+
@Field(() => Int, {nullable: true})
|
|
49887
|
+
RowCount: number;
|
|
49888
|
+
|
|
49889
|
+
@Field(() => Int, {nullable: true})
|
|
49890
|
+
TotalRowCount: number;
|
|
49891
|
+
|
|
49892
|
+
@Field(() => Int, {nullable: true})
|
|
49893
|
+
ExecutionTime: number;
|
|
49894
|
+
|
|
49895
|
+
@Field({nullable: true})
|
|
49896
|
+
ErrorMessage?: string;
|
|
49897
|
+
|
|
49898
|
+
@Field(() => Boolean, {nullable: false})
|
|
49899
|
+
Success: boolean;
|
|
49900
|
+
}
|
|
49901
|
+
|
|
49902
|
+
@Resolver(MJEntityAlternateBaseView_)
|
|
49903
|
+
export class MJEntityAlternateBaseViewResolver extends ResolverBase {
|
|
49904
|
+
@Query(() => RunMJEntityAlternateBaseViewViewResult)
|
|
49905
|
+
async RunMJEntityAlternateBaseViewViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
49906
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
49907
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
49908
|
+
}
|
|
49909
|
+
|
|
49910
|
+
@Query(() => RunMJEntityAlternateBaseViewViewResult)
|
|
49911
|
+
async RunMJEntityAlternateBaseViewViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
49912
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
49913
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
49914
|
+
}
|
|
49915
|
+
|
|
49916
|
+
@Query(() => RunMJEntityAlternateBaseViewViewResult)
|
|
49917
|
+
async RunMJEntityAlternateBaseViewDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
49918
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
49919
|
+
input.EntityName = 'MJ: Entity Alternate Base Views';
|
|
49920
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
49921
|
+
}
|
|
49922
|
+
@Query(() => MJEntityAlternateBaseView_, { nullable: true })
|
|
49923
|
+
async MJEntityAlternateBaseView(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJEntityAlternateBaseView_ | null> {
|
|
49924
|
+
this.CheckUserReadPermissions('MJ: Entity Alternate Base Views', userPayload);
|
|
49925
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
49926
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwEntityAlternateBaseViews')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Entity Alternate Base Views', userPayload, EntityPermissionType.Read, 'AND');
|
|
49927
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
49928
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Entity Alternate Base Views', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
49929
|
+
return result;
|
|
49930
|
+
}
|
|
49931
|
+
|
|
49932
|
+
@Mutation(() => MJEntityAlternateBaseView_)
|
|
49933
|
+
async CreateMJEntityAlternateBaseView(
|
|
49934
|
+
@Arg('input', () => CreateMJEntityAlternateBaseViewInput) input: CreateMJEntityAlternateBaseViewInput,
|
|
49935
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
49936
|
+
@PubSub() pubSub: PubSubEngine
|
|
49937
|
+
) {
|
|
49938
|
+
const provider = GetReadWriteProvider(providers);
|
|
49939
|
+
return this.CreateRecord('MJ: Entity Alternate Base Views', input, provider, userPayload, pubSub)
|
|
49940
|
+
}
|
|
49941
|
+
|
|
49942
|
+
@Mutation(() => MJEntityAlternateBaseView_)
|
|
49943
|
+
async UpdateMJEntityAlternateBaseView(
|
|
49944
|
+
@Arg('input', () => UpdateMJEntityAlternateBaseViewInput) input: UpdateMJEntityAlternateBaseViewInput,
|
|
49945
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
49946
|
+
@PubSub() pubSub: PubSubEngine
|
|
49947
|
+
) {
|
|
49948
|
+
const provider = GetReadWriteProvider(providers);
|
|
49949
|
+
return this.UpdateRecord('MJ: Entity Alternate Base Views', input, provider, userPayload, pubSub);
|
|
49950
|
+
}
|
|
49951
|
+
|
|
49952
|
+
@Mutation(() => MJEntityAlternateBaseView_)
|
|
49953
|
+
async DeleteMJEntityAlternateBaseView(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
49954
|
+
const provider = GetReadWriteProvider(providers);
|
|
49955
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
49956
|
+
return this.DeleteRecord('MJ: Entity Alternate Base Views', key, options, provider, userPayload, pubSub);
|
|
49957
|
+
}
|
|
49958
|
+
|
|
49959
|
+
}
|
|
49960
|
+
|
|
47211
49961
|
//****************************************************************************
|
|
47212
49962
|
// ENTITY CLASS for MJ: Entity Communication Fields
|
|
47213
49963
|
//****************************************************************************
|
|
@@ -53822,6 +56572,383 @@ export class MJFeaturePipelineTypeResolver extends ResolverBase {
|
|
|
53822
56572
|
|
|
53823
56573
|
}
|
|
53824
56574
|
|
|
56575
|
+
//****************************************************************************
|
|
56576
|
+
// ENTITY CLASS for MJ: Feature Pipeline Versions
|
|
56577
|
+
//****************************************************************************
|
|
56578
|
+
@ObjectType({ description: "One version of a Feature Pipeline: a distinct pin (spec hash, prompt version hash, primary AI model, parameters hash). A gated pipeline runs only under an Active version, and a version becomes Active only with a stored golden-set result at or above its declared threshold." })
|
|
56579
|
+
export class MJFeaturePipelineVersion_ {
|
|
56580
|
+
@Field()
|
|
56581
|
+
@MaxLength(36)
|
|
56582
|
+
ID: string;
|
|
56583
|
+
|
|
56584
|
+
@Field({nullable: true})
|
|
56585
|
+
@MaxLength(36)
|
|
56586
|
+
RecordProcessID?: string;
|
|
56587
|
+
|
|
56588
|
+
@Field(() => Int, {nullable: true, description: "Monotonic version number within the pipeline (1, 2, ...)."})
|
|
56589
|
+
Version?: number;
|
|
56590
|
+
|
|
56591
|
+
@Field({nullable: true, description: "SHA-256 of the pin (SpecHash, PromptVersionHash, AIModelID, ParametersHash). Unique per pipeline."})
|
|
56592
|
+
@MaxLength(64)
|
|
56593
|
+
PinHash?: string;
|
|
56594
|
+
|
|
56595
|
+
@Field({nullable: true, description: "SHA-256 of the output-affecting parts of the DataFeatureSpec (Context, Outputs, PipelineType, Escalation, PromptID, ProcessorExtensionKey) and the OutputMapping."})
|
|
56596
|
+
@MaxLength(64)
|
|
56597
|
+
SpecHash?: string;
|
|
56598
|
+
|
|
56599
|
+
@Field({nullable: true, description: "The pipeline prompt this version runs."})
|
|
56600
|
+
@MaxLength(36)
|
|
56601
|
+
PromptID?: string;
|
|
56602
|
+
|
|
56603
|
+
@Field({nullable: true, description: "Prompt version hash (template text, outputs, constraint block, pipeline type, escalation) of this version."})
|
|
56604
|
+
@MaxLength(64)
|
|
56605
|
+
PromptVersionHash?: string;
|
|
56606
|
+
|
|
56607
|
+
@Field({nullable: true, description: "Primary AI model of the prompt for this version."})
|
|
56608
|
+
@MaxLength(36)
|
|
56609
|
+
AIModelID?: string;
|
|
56610
|
+
|
|
56611
|
+
@Field({nullable: true, description: "SHA-256 of the prompt inference parameters for this version."})
|
|
56612
|
+
@MaxLength(64)
|
|
56613
|
+
ParametersHash?: string;
|
|
56614
|
+
|
|
56615
|
+
@Field({nullable: true, description: "Candidate (registered, not yet allowed to write), Active (the version runs write), Refused (golden-set result below threshold), Retired (superseded by a later Active version)."})
|
|
56616
|
+
@MaxLength(20)
|
|
56617
|
+
Status?: string;
|
|
56618
|
+
|
|
56619
|
+
@Field(() => Boolean, {nullable: true, description: "True when the pipeline declares DataFeatureSpec.Activation: the version can become Active only through a stored golden-set result at or above Threshold."})
|
|
56620
|
+
Gated?: boolean;
|
|
56621
|
+
|
|
56622
|
+
@Field({nullable: true, description: "The MJ: Tests row holding the golden set this version was evaluated on."})
|
|
56623
|
+
@MaxLength(36)
|
|
56624
|
+
GoldenSetTestID?: string;
|
|
56625
|
+
|
|
56626
|
+
@Field({nullable: true, description: "The MJ: Test Runs row of the evaluation whose result is stored here."})
|
|
56627
|
+
@MaxLength(36)
|
|
56628
|
+
GoldenSetTestRunID?: string;
|
|
56629
|
+
|
|
56630
|
+
@Field({nullable: true, description: "Metric of the stored result: accuracy."})
|
|
56631
|
+
@MaxLength(20)
|
|
56632
|
+
Metric?: string;
|
|
56633
|
+
|
|
56634
|
+
@Field(() => Float, {nullable: true, description: "Declared activation threshold copied from DataFeatureSpec.Activation at evaluation time."})
|
|
56635
|
+
Threshold?: number;
|
|
56636
|
+
|
|
56637
|
+
@Field(() => Float, {nullable: true, description: "Point estimate of the metric (the lowest per-output value when the pipeline has several outputs)."})
|
|
56638
|
+
ResultValue?: number;
|
|
56639
|
+
|
|
56640
|
+
@Field(() => Float, {nullable: true, description: "Lower bound of the 95% Wilson interval of ResultValue."})
|
|
56641
|
+
ResultLower?: number;
|
|
56642
|
+
|
|
56643
|
+
@Field(() => Float, {nullable: true, description: "Upper bound of the 95% Wilson interval of ResultValue."})
|
|
56644
|
+
ResultUpper?: number;
|
|
56645
|
+
|
|
56646
|
+
@Field(() => Int, {nullable: true, description: "Number of golden cases scored."})
|
|
56647
|
+
ResultN?: number;
|
|
56648
|
+
|
|
56649
|
+
@Field({nullable: true, description: "JSON per-output results (correct, n, value, interval) and the per-case answers of the evaluation."})
|
|
56650
|
+
ResultDetails?: string;
|
|
56651
|
+
|
|
56652
|
+
@Field({nullable: true, description: "When the version became Active."})
|
|
56653
|
+
ActivatedAt?: Date;
|
|
56654
|
+
|
|
56655
|
+
@Field({nullable: true, description: "The user whose run activated the version (for an unattended activation, the Feature Pipeline Version Steward job's user)."})
|
|
56656
|
+
@MaxLength(36)
|
|
56657
|
+
ApprovedByUserID?: string;
|
|
56658
|
+
|
|
56659
|
+
@Field({nullable: true, description: "When a later Active version superseded this one."})
|
|
56660
|
+
RetiredAt?: Date;
|
|
56661
|
+
|
|
56662
|
+
@Field({nullable: true, description: "When the Feature Pipeline Version Steward finished the one backfill run of this activation of the version."})
|
|
56663
|
+
BackfilledAt?: Date;
|
|
56664
|
+
|
|
56665
|
+
@Field()
|
|
56666
|
+
_mj__CreatedAt: Date;
|
|
56667
|
+
|
|
56668
|
+
@Field()
|
|
56669
|
+
_mj__UpdatedAt: Date;
|
|
56670
|
+
|
|
56671
|
+
@Field({nullable: true})
|
|
56672
|
+
@MaxLength(255)
|
|
56673
|
+
RecordProcess?: string;
|
|
56674
|
+
|
|
56675
|
+
@Field({nullable: true})
|
|
56676
|
+
@MaxLength(255)
|
|
56677
|
+
Prompt?: string;
|
|
56678
|
+
|
|
56679
|
+
@Field({nullable: true})
|
|
56680
|
+
@MaxLength(50)
|
|
56681
|
+
AIModel?: string;
|
|
56682
|
+
|
|
56683
|
+
@Field({nullable: true})
|
|
56684
|
+
@MaxLength(255)
|
|
56685
|
+
GoldenSetTest?: string;
|
|
56686
|
+
|
|
56687
|
+
@Field({nullable: true})
|
|
56688
|
+
@MaxLength(255)
|
|
56689
|
+
GoldenSetTestRun?: string;
|
|
56690
|
+
|
|
56691
|
+
@Field({nullable: true})
|
|
56692
|
+
@MaxLength(100)
|
|
56693
|
+
ApprovedByUser?: string;
|
|
56694
|
+
|
|
56695
|
+
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
56696
|
+
ReadableFields___?: string[];
|
|
56697
|
+
|
|
56698
|
+
}
|
|
56699
|
+
|
|
56700
|
+
//****************************************************************************
|
|
56701
|
+
// INPUT TYPE for MJ: Feature Pipeline Versions
|
|
56702
|
+
//****************************************************************************
|
|
56703
|
+
@InputType()
|
|
56704
|
+
export class CreateMJFeaturePipelineVersionInput {
|
|
56705
|
+
@Field({ nullable: true })
|
|
56706
|
+
ID?: string;
|
|
56707
|
+
|
|
56708
|
+
@Field({ nullable: true })
|
|
56709
|
+
RecordProcessID?: string;
|
|
56710
|
+
|
|
56711
|
+
@Field(() => Int, { nullable: true })
|
|
56712
|
+
Version?: number;
|
|
56713
|
+
|
|
56714
|
+
@Field({ nullable: true })
|
|
56715
|
+
PinHash?: string;
|
|
56716
|
+
|
|
56717
|
+
@Field({ nullable: true })
|
|
56718
|
+
SpecHash?: string;
|
|
56719
|
+
|
|
56720
|
+
@Field({ nullable: true })
|
|
56721
|
+
PromptID: string | null;
|
|
56722
|
+
|
|
56723
|
+
@Field({ nullable: true })
|
|
56724
|
+
PromptVersionHash: string | null;
|
|
56725
|
+
|
|
56726
|
+
@Field({ nullable: true })
|
|
56727
|
+
AIModelID: string | null;
|
|
56728
|
+
|
|
56729
|
+
@Field({ nullable: true })
|
|
56730
|
+
ParametersHash: string | null;
|
|
56731
|
+
|
|
56732
|
+
@Field({ nullable: true })
|
|
56733
|
+
Status?: string;
|
|
56734
|
+
|
|
56735
|
+
@Field(() => Boolean, { nullable: true })
|
|
56736
|
+
Gated?: boolean;
|
|
56737
|
+
|
|
56738
|
+
@Field({ nullable: true })
|
|
56739
|
+
GoldenSetTestID: string | null;
|
|
56740
|
+
|
|
56741
|
+
@Field({ nullable: true })
|
|
56742
|
+
GoldenSetTestRunID: string | null;
|
|
56743
|
+
|
|
56744
|
+
@Field({ nullable: true })
|
|
56745
|
+
Metric: string | null;
|
|
56746
|
+
|
|
56747
|
+
@Field(() => Float, { nullable: true })
|
|
56748
|
+
Threshold: number | null;
|
|
56749
|
+
|
|
56750
|
+
@Field(() => Float, { nullable: true })
|
|
56751
|
+
ResultValue: number | null;
|
|
56752
|
+
|
|
56753
|
+
@Field(() => Float, { nullable: true })
|
|
56754
|
+
ResultLower: number | null;
|
|
56755
|
+
|
|
56756
|
+
@Field(() => Float, { nullable: true })
|
|
56757
|
+
ResultUpper: number | null;
|
|
56758
|
+
|
|
56759
|
+
@Field(() => Int, { nullable: true })
|
|
56760
|
+
ResultN: number | null;
|
|
56761
|
+
|
|
56762
|
+
@Field({ nullable: true })
|
|
56763
|
+
ResultDetails: string | null;
|
|
56764
|
+
|
|
56765
|
+
@Field({ nullable: true })
|
|
56766
|
+
ActivatedAt: Date | null;
|
|
56767
|
+
|
|
56768
|
+
@Field({ nullable: true })
|
|
56769
|
+
ApprovedByUserID: string | null;
|
|
56770
|
+
|
|
56771
|
+
@Field({ nullable: true })
|
|
56772
|
+
RetiredAt: Date | null;
|
|
56773
|
+
|
|
56774
|
+
@Field({ nullable: true })
|
|
56775
|
+
BackfilledAt: Date | null;
|
|
56776
|
+
|
|
56777
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
56778
|
+
RestoreContext___?: RestoreContextInput;
|
|
56779
|
+
}
|
|
56780
|
+
|
|
56781
|
+
|
|
56782
|
+
//****************************************************************************
|
|
56783
|
+
// INPUT TYPE for MJ: Feature Pipeline Versions
|
|
56784
|
+
//****************************************************************************
|
|
56785
|
+
@InputType()
|
|
56786
|
+
export class UpdateMJFeaturePipelineVersionInput {
|
|
56787
|
+
@Field()
|
|
56788
|
+
ID: string;
|
|
56789
|
+
|
|
56790
|
+
@Field({ nullable: true })
|
|
56791
|
+
RecordProcessID?: string;
|
|
56792
|
+
|
|
56793
|
+
@Field(() => Int, { nullable: true })
|
|
56794
|
+
Version?: number;
|
|
56795
|
+
|
|
56796
|
+
@Field({ nullable: true })
|
|
56797
|
+
PinHash?: string;
|
|
56798
|
+
|
|
56799
|
+
@Field({ nullable: true })
|
|
56800
|
+
SpecHash?: string;
|
|
56801
|
+
|
|
56802
|
+
@Field({ nullable: true })
|
|
56803
|
+
PromptID?: string | null;
|
|
56804
|
+
|
|
56805
|
+
@Field({ nullable: true })
|
|
56806
|
+
PromptVersionHash?: string | null;
|
|
56807
|
+
|
|
56808
|
+
@Field({ nullable: true })
|
|
56809
|
+
AIModelID?: string | null;
|
|
56810
|
+
|
|
56811
|
+
@Field({ nullable: true })
|
|
56812
|
+
ParametersHash?: string | null;
|
|
56813
|
+
|
|
56814
|
+
@Field({ nullable: true })
|
|
56815
|
+
Status?: string;
|
|
56816
|
+
|
|
56817
|
+
@Field(() => Boolean, { nullable: true })
|
|
56818
|
+
Gated?: boolean;
|
|
56819
|
+
|
|
56820
|
+
@Field({ nullable: true })
|
|
56821
|
+
GoldenSetTestID?: string | null;
|
|
56822
|
+
|
|
56823
|
+
@Field({ nullable: true })
|
|
56824
|
+
GoldenSetTestRunID?: string | null;
|
|
56825
|
+
|
|
56826
|
+
@Field({ nullable: true })
|
|
56827
|
+
Metric?: string | null;
|
|
56828
|
+
|
|
56829
|
+
@Field(() => Float, { nullable: true })
|
|
56830
|
+
Threshold?: number | null;
|
|
56831
|
+
|
|
56832
|
+
@Field(() => Float, { nullable: true })
|
|
56833
|
+
ResultValue?: number | null;
|
|
56834
|
+
|
|
56835
|
+
@Field(() => Float, { nullable: true })
|
|
56836
|
+
ResultLower?: number | null;
|
|
56837
|
+
|
|
56838
|
+
@Field(() => Float, { nullable: true })
|
|
56839
|
+
ResultUpper?: number | null;
|
|
56840
|
+
|
|
56841
|
+
@Field(() => Int, { nullable: true })
|
|
56842
|
+
ResultN?: number | null;
|
|
56843
|
+
|
|
56844
|
+
@Field({ nullable: true })
|
|
56845
|
+
ResultDetails?: string | null;
|
|
56846
|
+
|
|
56847
|
+
@Field({ nullable: true })
|
|
56848
|
+
ActivatedAt?: Date | null;
|
|
56849
|
+
|
|
56850
|
+
@Field({ nullable: true })
|
|
56851
|
+
ApprovedByUserID?: string | null;
|
|
56852
|
+
|
|
56853
|
+
@Field({ nullable: true })
|
|
56854
|
+
RetiredAt?: Date | null;
|
|
56855
|
+
|
|
56856
|
+
@Field({ nullable: true })
|
|
56857
|
+
BackfilledAt?: Date | null;
|
|
56858
|
+
|
|
56859
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
56860
|
+
OldValues___?: KeyValuePairInput[];
|
|
56861
|
+
|
|
56862
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
56863
|
+
RestoreContext___?: RestoreContextInput;
|
|
56864
|
+
}
|
|
56865
|
+
|
|
56866
|
+
//****************************************************************************
|
|
56867
|
+
// RESOLVER for MJ: Feature Pipeline Versions
|
|
56868
|
+
//****************************************************************************
|
|
56869
|
+
@ObjectType()
|
|
56870
|
+
export class RunMJFeaturePipelineVersionViewResult {
|
|
56871
|
+
@Field(() => [MJFeaturePipelineVersion_])
|
|
56872
|
+
Results: MJFeaturePipelineVersion_[];
|
|
56873
|
+
|
|
56874
|
+
@Field(() => String, {nullable: true})
|
|
56875
|
+
UserViewRunID?: string;
|
|
56876
|
+
|
|
56877
|
+
@Field(() => Int, {nullable: true})
|
|
56878
|
+
RowCount: number;
|
|
56879
|
+
|
|
56880
|
+
@Field(() => Int, {nullable: true})
|
|
56881
|
+
TotalRowCount: number;
|
|
56882
|
+
|
|
56883
|
+
@Field(() => Int, {nullable: true})
|
|
56884
|
+
ExecutionTime: number;
|
|
56885
|
+
|
|
56886
|
+
@Field({nullable: true})
|
|
56887
|
+
ErrorMessage?: string;
|
|
56888
|
+
|
|
56889
|
+
@Field(() => Boolean, {nullable: false})
|
|
56890
|
+
Success: boolean;
|
|
56891
|
+
}
|
|
56892
|
+
|
|
56893
|
+
@Resolver(MJFeaturePipelineVersion_)
|
|
56894
|
+
export class MJFeaturePipelineVersionResolver extends ResolverBase {
|
|
56895
|
+
@Query(() => RunMJFeaturePipelineVersionViewResult)
|
|
56896
|
+
async RunMJFeaturePipelineVersionViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
56897
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
56898
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
56899
|
+
}
|
|
56900
|
+
|
|
56901
|
+
@Query(() => RunMJFeaturePipelineVersionViewResult)
|
|
56902
|
+
async RunMJFeaturePipelineVersionViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
56903
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
56904
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
56905
|
+
}
|
|
56906
|
+
|
|
56907
|
+
@Query(() => RunMJFeaturePipelineVersionViewResult)
|
|
56908
|
+
async RunMJFeaturePipelineVersionDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
56909
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
56910
|
+
input.EntityName = 'MJ: Feature Pipeline Versions';
|
|
56911
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
56912
|
+
}
|
|
56913
|
+
@Query(() => MJFeaturePipelineVersion_, { nullable: true })
|
|
56914
|
+
async MJFeaturePipelineVersion(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJFeaturePipelineVersion_ | null> {
|
|
56915
|
+
this.CheckUserReadPermissions('MJ: Feature Pipeline Versions', userPayload);
|
|
56916
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
56917
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwFeaturePipelineVersions')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Feature Pipeline Versions', userPayload, EntityPermissionType.Read, 'AND');
|
|
56918
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
56919
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Feature Pipeline Versions', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
56920
|
+
return result;
|
|
56921
|
+
}
|
|
56922
|
+
|
|
56923
|
+
@Mutation(() => MJFeaturePipelineVersion_)
|
|
56924
|
+
async CreateMJFeaturePipelineVersion(
|
|
56925
|
+
@Arg('input', () => CreateMJFeaturePipelineVersionInput) input: CreateMJFeaturePipelineVersionInput,
|
|
56926
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
56927
|
+
@PubSub() pubSub: PubSubEngine
|
|
56928
|
+
) {
|
|
56929
|
+
const provider = GetReadWriteProvider(providers);
|
|
56930
|
+
return this.CreateRecord('MJ: Feature Pipeline Versions', input, provider, userPayload, pubSub)
|
|
56931
|
+
}
|
|
56932
|
+
|
|
56933
|
+
@Mutation(() => MJFeaturePipelineVersion_)
|
|
56934
|
+
async UpdateMJFeaturePipelineVersion(
|
|
56935
|
+
@Arg('input', () => UpdateMJFeaturePipelineVersionInput) input: UpdateMJFeaturePipelineVersionInput,
|
|
56936
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
56937
|
+
@PubSub() pubSub: PubSubEngine
|
|
56938
|
+
) {
|
|
56939
|
+
const provider = GetReadWriteProvider(providers);
|
|
56940
|
+
return this.UpdateRecord('MJ: Feature Pipeline Versions', input, provider, userPayload, pubSub);
|
|
56941
|
+
}
|
|
56942
|
+
|
|
56943
|
+
@Mutation(() => MJFeaturePipelineVersion_)
|
|
56944
|
+
async DeleteMJFeaturePipelineVersion(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
56945
|
+
const provider = GetReadWriteProvider(providers);
|
|
56946
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
56947
|
+
return this.DeleteRecord('MJ: Feature Pipeline Versions', key, options, provider, userPayload, pubSub);
|
|
56948
|
+
}
|
|
56949
|
+
|
|
56950
|
+
}
|
|
56951
|
+
|
|
53825
56952
|
//****************************************************************************
|
|
53826
56953
|
// ENTITY CLASS for MJ: Feature Value Caches
|
|
53827
56954
|
//****************************************************************************
|
|
@@ -53886,6 +57013,14 @@ export class MJFeatureValueCache_ {
|
|
|
53886
57013
|
@Field({description: "Timestamp when this record was last updated."})
|
|
53887
57014
|
_mj__UpdatedAt: Date;
|
|
53888
57015
|
|
|
57016
|
+
@Field({nullable: true, description: "Primary AI model of the prompt that computed this cached result. Part of the cache key."})
|
|
57017
|
+
@MaxLength(36)
|
|
57018
|
+
AIModelID?: string;
|
|
57019
|
+
|
|
57020
|
+
@Field({nullable: true, description: "SHA-256 of the prompt's inference parameters when this result was computed. Part of the cache key."})
|
|
57021
|
+
@MaxLength(64)
|
|
57022
|
+
ParametersHash?: string;
|
|
57023
|
+
|
|
53889
57024
|
@Field({nullable: true})
|
|
53890
57025
|
@MaxLength(255)
|
|
53891
57026
|
RecordProcess?: string;
|
|
@@ -53894,6 +57029,10 @@ export class MJFeatureValueCache_ {
|
|
|
53894
57029
|
@MaxLength(255)
|
|
53895
57030
|
Prompt?: string;
|
|
53896
57031
|
|
|
57032
|
+
@Field({nullable: true})
|
|
57033
|
+
@MaxLength(50)
|
|
57034
|
+
AIModel?: string;
|
|
57035
|
+
|
|
53897
57036
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
53898
57037
|
ReadableFields___?: string[];
|
|
53899
57038
|
|
|
@@ -53949,6 +57088,12 @@ export class CreateMJFeatureValueCacheInput {
|
|
|
53949
57088
|
@Field({ nullable: true })
|
|
53950
57089
|
ExpiresAt: Date | null;
|
|
53951
57090
|
|
|
57091
|
+
@Field({ nullable: true })
|
|
57092
|
+
AIModelID: string | null;
|
|
57093
|
+
|
|
57094
|
+
@Field({ nullable: true })
|
|
57095
|
+
ParametersHash: string | null;
|
|
57096
|
+
|
|
53952
57097
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
53953
57098
|
RestoreContext___?: RestoreContextInput;
|
|
53954
57099
|
}
|
|
@@ -54004,6 +57149,12 @@ export class UpdateMJFeatureValueCacheInput {
|
|
|
54004
57149
|
@Field({ nullable: true })
|
|
54005
57150
|
ExpiresAt?: Date | null;
|
|
54006
57151
|
|
|
57152
|
+
@Field({ nullable: true })
|
|
57153
|
+
AIModelID?: string | null;
|
|
57154
|
+
|
|
57155
|
+
@Field({ nullable: true })
|
|
57156
|
+
ParametersHash?: string | null;
|
|
57157
|
+
|
|
54007
57158
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
54008
57159
|
OldValues___?: KeyValuePairInput[];
|
|
54009
57160
|
|
|
@@ -54100,7 +57251,7 @@ export class MJFeatureValueCacheResolver extends ResolverBase {
|
|
|
54100
57251
|
//****************************************************************************
|
|
54101
57252
|
// ENTITY CLASS for MJ: Feature Values
|
|
54102
57253
|
//****************************************************************************
|
|
54103
|
-
@ObjectType({ description: "
|
|
57254
|
+
@ObjectType({ description: "Feature values computed by Feature Pipelines (or entered by people), one row per Feature Value key, updated in place when the same key is recomputed." })
|
|
54104
57255
|
export class MJFeatureValue_ {
|
|
54105
57256
|
@Field({description: "Unique identifier for this feature value history record."})
|
|
54106
57257
|
@MaxLength(36)
|
|
@@ -54180,6 +57331,29 @@ export class MJFeatureValue_ {
|
|
|
54180
57331
|
@Field({description: "Timestamp when this record was last updated."})
|
|
54181
57332
|
_mj__UpdatedAt: Date;
|
|
54182
57333
|
|
|
57334
|
+
@Field(() => Int, {nullable: true, description: "Version of the Feature Pipeline (MJ: Feature Pipeline Versions.Version) that computed this value; part of the FeatureValueKey."})
|
|
57335
|
+
PipelineVersion?: number;
|
|
57336
|
+
|
|
57337
|
+
@Field({nullable: true, description: "Primary AI model the pipeline's prompt is configured to run (highest-priority Active AI Prompt Model). Part of the FeatureValueKey; the model that actually answered is on the linked AI Prompt Run."})
|
|
57338
|
+
@MaxLength(36)
|
|
57339
|
+
AIModelID?: string;
|
|
57340
|
+
|
|
57341
|
+
@Field({nullable: true, description: "SHA-256 of the prompt's inference parameters (temperature, topP, topK, minP, penalties, seed, response format, effort level, model parameters). Part of the FeatureValueKey."})
|
|
57342
|
+
@MaxLength(64)
|
|
57343
|
+
ParametersHash?: string;
|
|
57344
|
+
|
|
57345
|
+
@Field({nullable: true, description: "SHA-256 of the normalized input the value was computed from (the Dedup Cache key hash when the pipeline caches). Part of the FeatureValueKey."})
|
|
57346
|
+
@MaxLength(64)
|
|
57347
|
+
InputHash?: string;
|
|
57348
|
+
|
|
57349
|
+
@Field({nullable: true, description: "SHA-256 of the canonical FeatureValueKey (entity, record, feature, pipeline version, prompt version hash, AI model, parameters hash, input hash, source). Unique per pipeline: re-computing the same key updates the row instead of inserting a duplicate."})
|
|
57350
|
+
@MaxLength(64)
|
|
57351
|
+
ValueKeyHash?: string;
|
|
57352
|
+
|
|
57353
|
+
@Field({nullable: true, description: "Who produced the value: Pipeline (computed by the Feature Pipeline) or Human (entered by a person, which write-back leaves in place)."})
|
|
57354
|
+
@MaxLength(20)
|
|
57355
|
+
Source?: string;
|
|
57356
|
+
|
|
54183
57357
|
@Field({nullable: true})
|
|
54184
57358
|
@MaxLength(255)
|
|
54185
57359
|
RecordProcess?: string;
|
|
@@ -54200,6 +57374,10 @@ export class MJFeatureValue_ {
|
|
|
54200
57374
|
@MaxLength(500)
|
|
54201
57375
|
FeatureValueCache?: string;
|
|
54202
57376
|
|
|
57377
|
+
@Field({nullable: true})
|
|
57378
|
+
@MaxLength(50)
|
|
57379
|
+
AIModel?: string;
|
|
57380
|
+
|
|
54203
57381
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
54204
57382
|
ReadableFields___?: string[];
|
|
54205
57383
|
|
|
@@ -54270,6 +57448,24 @@ export class CreateMJFeatureValueInput {
|
|
|
54270
57448
|
@Field({ nullable: true })
|
|
54271
57449
|
ComputedAt?: Date;
|
|
54272
57450
|
|
|
57451
|
+
@Field(() => Int, { nullable: true })
|
|
57452
|
+
PipelineVersion: number | null;
|
|
57453
|
+
|
|
57454
|
+
@Field({ nullable: true })
|
|
57455
|
+
AIModelID: string | null;
|
|
57456
|
+
|
|
57457
|
+
@Field({ nullable: true })
|
|
57458
|
+
ParametersHash: string | null;
|
|
57459
|
+
|
|
57460
|
+
@Field({ nullable: true })
|
|
57461
|
+
InputHash: string | null;
|
|
57462
|
+
|
|
57463
|
+
@Field({ nullable: true })
|
|
57464
|
+
ValueKeyHash: string | null;
|
|
57465
|
+
|
|
57466
|
+
@Field({ nullable: true })
|
|
57467
|
+
Source?: string;
|
|
57468
|
+
|
|
54273
57469
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
54274
57470
|
RestoreContext___?: RestoreContextInput;
|
|
54275
57471
|
}
|
|
@@ -54340,6 +57536,24 @@ export class UpdateMJFeatureValueInput {
|
|
|
54340
57536
|
@Field({ nullable: true })
|
|
54341
57537
|
ComputedAt?: Date;
|
|
54342
57538
|
|
|
57539
|
+
@Field(() => Int, { nullable: true })
|
|
57540
|
+
PipelineVersion?: number | null;
|
|
57541
|
+
|
|
57542
|
+
@Field({ nullable: true })
|
|
57543
|
+
AIModelID?: string | null;
|
|
57544
|
+
|
|
57545
|
+
@Field({ nullable: true })
|
|
57546
|
+
ParametersHash?: string | null;
|
|
57547
|
+
|
|
57548
|
+
@Field({ nullable: true })
|
|
57549
|
+
InputHash?: string | null;
|
|
57550
|
+
|
|
57551
|
+
@Field({ nullable: true })
|
|
57552
|
+
ValueKeyHash?: string | null;
|
|
57553
|
+
|
|
57554
|
+
@Field({ nullable: true })
|
|
57555
|
+
Source?: string;
|
|
57556
|
+
|
|
54343
57557
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
54344
57558
|
OldValues___?: KeyValuePairInput[];
|
|
54345
57559
|
|
|
@@ -69269,6 +72483,9 @@ export class MJProcessRunDetail_ {
|
|
|
69269
72483
|
@Field()
|
|
69270
72484
|
_mj__UpdatedAt: Date;
|
|
69271
72485
|
|
|
72486
|
+
@Field({nullable: true, description: "JSON array of the record's non-fatal problems (for example, its Dedup Cache entry could not be stored) on a record that otherwise succeeded. NULL when there were none. Failures are in ErrorMessage, never here."})
|
|
72487
|
+
Warnings?: string;
|
|
72488
|
+
|
|
69272
72489
|
@Field({nullable: true})
|
|
69273
72490
|
@MaxLength(255)
|
|
69274
72491
|
Entity?: string;
|
|
@@ -69330,6 +72547,9 @@ export class CreateMJProcessRunDetailInput {
|
|
|
69330
72547
|
@Field({ nullable: true })
|
|
69331
72548
|
AIAgentRunID: string | null;
|
|
69332
72549
|
|
|
72550
|
+
@Field({ nullable: true })
|
|
72551
|
+
Warnings: string | null;
|
|
72552
|
+
|
|
69333
72553
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
69334
72554
|
RestoreContext___?: RestoreContextInput;
|
|
69335
72555
|
}
|
|
@@ -69379,6 +72599,9 @@ export class UpdateMJProcessRunDetailInput {
|
|
|
69379
72599
|
@Field({ nullable: true })
|
|
69380
72600
|
AIAgentRunID?: string | null;
|
|
69381
72601
|
|
|
72602
|
+
@Field({ nullable: true })
|
|
72603
|
+
Warnings?: string | null;
|
|
72604
|
+
|
|
69382
72605
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
69383
72606
|
OldValues___?: KeyValuePairInput[];
|
|
69384
72607
|
|
|
@@ -69565,6 +72788,9 @@ export class MJProcessRun_ {
|
|
|
69565
72788
|
@Field(() => Boolean, {nullable: true, description: "When 1, this run was a dry-run (compute-only) preview: the per-record diffs were computed and persisted as Process Run Details, but no changes were written back to the target records. When 0, the run applied its changes."})
|
|
69566
72789
|
DryRun?: boolean;
|
|
69567
72790
|
|
|
72791
|
+
@Field({nullable: true, description: "JSON summary of a Feature Pipeline run (FeaturePipelineRunResult); NULL for other work types."})
|
|
72792
|
+
ResultSummary?: string;
|
|
72793
|
+
|
|
69568
72794
|
@Field({nullable: true})
|
|
69569
72795
|
@MaxLength(255)
|
|
69570
72796
|
RecordProcess?: string;
|
|
@@ -69663,6 +72889,9 @@ export class CreateMJProcessRunInput {
|
|
|
69663
72889
|
@Field(() => Boolean, { nullable: true })
|
|
69664
72890
|
DryRun?: boolean;
|
|
69665
72891
|
|
|
72892
|
+
@Field({ nullable: true })
|
|
72893
|
+
ResultSummary: string | null;
|
|
72894
|
+
|
|
69666
72895
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
69667
72896
|
RestoreContext___?: RestoreContextInput;
|
|
69668
72897
|
}
|
|
@@ -69745,6 +72974,9 @@ export class UpdateMJProcessRunInput {
|
|
|
69745
72974
|
@Field(() => Boolean, { nullable: true })
|
|
69746
72975
|
DryRun?: boolean;
|
|
69747
72976
|
|
|
72977
|
+
@Field({ nullable: true })
|
|
72978
|
+
ResultSummary?: string | null;
|
|
72979
|
+
|
|
69748
72980
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
69749
72981
|
OldValues___?: KeyValuePairInput[];
|
|
69750
72982
|
|
|
@@ -70398,6 +73630,20 @@ export class MJQuery_ {
|
|
|
70398
73630
|
@Field({nullable: true, description: "The query embedding as little-endian IEEE-754 float32 bytes (4 bytes per dimension): the compact form of EmbeddingVector. Written alongside EmbeddingVector; readers prefer it and fall back to EmbeddingVector when it is NULL."})
|
|
70399
73631
|
EmbeddingVectorBinary?: string;
|
|
70400
73632
|
|
|
73633
|
+
@Field({nullable: true, description: "Reviewer comments recorded with the approval decision, such as the tests the definition passed."})
|
|
73634
|
+
ApprovalComments?: string;
|
|
73635
|
+
|
|
73636
|
+
@Field({nullable: true, description: "The user who approved this query."})
|
|
73637
|
+
@MaxLength(36)
|
|
73638
|
+
ApprovedByUserID?: string;
|
|
73639
|
+
|
|
73640
|
+
@Field({nullable: true, description: "When this query was approved."})
|
|
73641
|
+
ApprovedAt?: Date;
|
|
73642
|
+
|
|
73643
|
+
@Field({nullable: true, description: "SHA-256 fingerprint of the definition that was approved: its SQL, dialect variants and parameter contract. The approval is current only while this matches the fingerprint of the current definition."})
|
|
73644
|
+
@MaxLength(100)
|
|
73645
|
+
ApprovedFingerprint?: string;
|
|
73646
|
+
|
|
70401
73647
|
@Field({nullable: true})
|
|
70402
73648
|
@MaxLength(50)
|
|
70403
73649
|
Category?: string;
|
|
@@ -70414,6 +73660,10 @@ export class MJQuery_ {
|
|
|
70414
73660
|
@MaxLength(100)
|
|
70415
73661
|
ExternalDataSource?: string;
|
|
70416
73662
|
|
|
73663
|
+
@Field({nullable: true})
|
|
73664
|
+
@MaxLength(100)
|
|
73665
|
+
ApprovedByUser?: string;
|
|
73666
|
+
|
|
70417
73667
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
70418
73668
|
ReadableFields___?: string[];
|
|
70419
73669
|
|
|
@@ -70502,6 +73752,18 @@ export class CreateMJQueryInput {
|
|
|
70502
73752
|
@Field({ nullable: true })
|
|
70503
73753
|
EmbeddingVectorBinary: string | null;
|
|
70504
73754
|
|
|
73755
|
+
@Field({ nullable: true })
|
|
73756
|
+
ApprovalComments: string | null;
|
|
73757
|
+
|
|
73758
|
+
@Field({ nullable: true })
|
|
73759
|
+
ApprovedByUserID: string | null;
|
|
73760
|
+
|
|
73761
|
+
@Field({ nullable: true })
|
|
73762
|
+
ApprovedAt: Date | null;
|
|
73763
|
+
|
|
73764
|
+
@Field({ nullable: true })
|
|
73765
|
+
ApprovedFingerprint: string | null;
|
|
73766
|
+
|
|
70505
73767
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
70506
73768
|
RestoreContext___?: RestoreContextInput;
|
|
70507
73769
|
}
|
|
@@ -70590,6 +73852,18 @@ export class UpdateMJQueryInput {
|
|
|
70590
73852
|
@Field({ nullable: true })
|
|
70591
73853
|
EmbeddingVectorBinary?: string | null;
|
|
70592
73854
|
|
|
73855
|
+
@Field({ nullable: true })
|
|
73856
|
+
ApprovalComments?: string | null;
|
|
73857
|
+
|
|
73858
|
+
@Field({ nullable: true })
|
|
73859
|
+
ApprovedByUserID?: string | null;
|
|
73860
|
+
|
|
73861
|
+
@Field({ nullable: true })
|
|
73862
|
+
ApprovedAt?: Date | null;
|
|
73863
|
+
|
|
73864
|
+
@Field({ nullable: true })
|
|
73865
|
+
ApprovedFingerprint?: string | null;
|
|
73866
|
+
|
|
70593
73867
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
70594
73868
|
OldValues___?: KeyValuePairInput[];
|
|
70595
73869
|
|
|
@@ -71147,6 +74421,10 @@ export class MJQueryEntity_ {
|
|
|
71147
74421
|
@Field(() => Float, {nullable: true, description: "Confidence score (0.00-1.00) indicating how certain the AI was that this entity is actually used in the query. Only populated when DetectionMethod=\"AI\". Considers factors like: direct table references vs indirect joins, clear entity names vs ambiguous aliases, and context from the query purpose. Lower scores might indicate the entity is only peripherally involved or the detection was uncertain."})
|
|
71148
74422
|
AutoDetectConfidenceScore?: number;
|
|
71149
74423
|
|
|
74424
|
+
@Field({nullable: true, description: "When this query references an alternate base view rather than the entity's primary BaseView, records the specific MJ: Entity Alternate Base Views row while EntityID continues to reference the owning entity."})
|
|
74425
|
+
@MaxLength(36)
|
|
74426
|
+
AlternateBaseViewID?: string;
|
|
74427
|
+
|
|
71150
74428
|
@Field({nullable: true})
|
|
71151
74429
|
@MaxLength(255)
|
|
71152
74430
|
Query?: string;
|
|
@@ -71155,6 +74433,10 @@ export class MJQueryEntity_ {
|
|
|
71155
74433
|
@MaxLength(255)
|
|
71156
74434
|
Entity?: string;
|
|
71157
74435
|
|
|
74436
|
+
@Field({nullable: true})
|
|
74437
|
+
@MaxLength(100)
|
|
74438
|
+
AlternateBaseView?: string;
|
|
74439
|
+
|
|
71158
74440
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
71159
74441
|
ReadableFields___?: string[];
|
|
71160
74442
|
|
|
@@ -71180,6 +74462,9 @@ export class CreateMJQueryEntityInput {
|
|
|
71180
74462
|
@Field(() => Float, { nullable: true })
|
|
71181
74463
|
AutoDetectConfidenceScore: number | null;
|
|
71182
74464
|
|
|
74465
|
+
@Field({ nullable: true })
|
|
74466
|
+
AlternateBaseViewID: string | null;
|
|
74467
|
+
|
|
71183
74468
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
71184
74469
|
RestoreContext___?: RestoreContextInput;
|
|
71185
74470
|
}
|
|
@@ -71205,6 +74490,9 @@ export class UpdateMJQueryEntityInput {
|
|
|
71205
74490
|
@Field(() => Float, { nullable: true })
|
|
71206
74491
|
AutoDetectConfidenceScore?: number | null;
|
|
71207
74492
|
|
|
74493
|
+
@Field({ nullable: true })
|
|
74494
|
+
AlternateBaseViewID?: string | null;
|
|
74495
|
+
|
|
71208
74496
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
71209
74497
|
OldValues___?: KeyValuePairInput[];
|
|
71210
74498
|
|
|
@@ -71622,6 +74910,9 @@ export class MJQueryParameter_ {
|
|
|
71622
74910
|
@Field()
|
|
71623
74911
|
_mj__UpdatedAt: Date;
|
|
71624
74912
|
|
|
74913
|
+
@Field(() => Boolean, {nullable: true, description: "When true, only server code may supply this parameter's value (RunQueryParams.ServerParameters). A value for it from a client is refused."})
|
|
74914
|
+
IsServerSet?: boolean;
|
|
74915
|
+
|
|
71625
74916
|
@Field({nullable: true})
|
|
71626
74917
|
@MaxLength(255)
|
|
71627
74918
|
Query?: string;
|
|
@@ -71669,6 +74960,9 @@ export class CreateMJQueryParameterInput {
|
|
|
71669
74960
|
@Field(() => Float, { nullable: true })
|
|
71670
74961
|
AutoDetectConfidenceScore: number | null;
|
|
71671
74962
|
|
|
74963
|
+
@Field(() => Boolean, { nullable: true })
|
|
74964
|
+
IsServerSet?: boolean;
|
|
74965
|
+
|
|
71672
74966
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
71673
74967
|
RestoreContext___?: RestoreContextInput;
|
|
71674
74968
|
}
|
|
@@ -71712,6 +75006,9 @@ export class UpdateMJQueryParameterInput {
|
|
|
71712
75006
|
@Field(() => Float, { nullable: true })
|
|
71713
75007
|
AutoDetectConfidenceScore?: number | null;
|
|
71714
75008
|
|
|
75009
|
+
@Field(() => Boolean, { nullable: true })
|
|
75010
|
+
IsServerSet?: boolean;
|
|
75011
|
+
|
|
71715
75012
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
71716
75013
|
OldValues___?: KeyValuePairInput[];
|
|
71717
75014
|
|
|
@@ -92343,6 +95640,12 @@ export class MJTheme_ {
|
|
|
92343
95640
|
@Field()
|
|
92344
95641
|
_mj__UpdatedAt: Date;
|
|
92345
95642
|
|
|
95643
|
+
@Field({nullable: true, description: "The published sign-in page design as JSON (the LoginDesign shape from @memberjunction/theme-engine): layout, background, colors and the blocks in each login-screen region. The default Active theme's value is served unauthenticated to draw the Explorer login screen. NULL means the stock login screen."})
|
|
95644
|
+
LoginScreen?: string;
|
|
95645
|
+
|
|
95646
|
+
@Field({nullable: true, description: "The sign-in page design being edited in Login Studio, as JSON in the same shape as LoginScreen. Never served publicly; publishing copies it to LoginScreen. NULL means no draft."})
|
|
95647
|
+
LoginScreenDraft?: string;
|
|
95648
|
+
|
|
92346
95649
|
@Field(() => [String], { nullable: true, description: `Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.` })
|
|
92347
95650
|
ReadableFields___?: string[];
|
|
92348
95651
|
|
|
@@ -92389,6 +95692,12 @@ export class CreateMJThemeInput {
|
|
|
92389
95692
|
@Field({ nullable: true })
|
|
92390
95693
|
CustomCSS: string | null;
|
|
92391
95694
|
|
|
95695
|
+
@Field({ nullable: true })
|
|
95696
|
+
LoginScreen: string | null;
|
|
95697
|
+
|
|
95698
|
+
@Field({ nullable: true })
|
|
95699
|
+
LoginScreenDraft: string | null;
|
|
95700
|
+
|
|
92392
95701
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
92393
95702
|
RestoreContext___?: RestoreContextInput;
|
|
92394
95703
|
}
|
|
@@ -92435,6 +95744,12 @@ export class UpdateMJThemeInput {
|
|
|
92435
95744
|
@Field({ nullable: true })
|
|
92436
95745
|
CustomCSS?: string | null;
|
|
92437
95746
|
|
|
95747
|
+
@Field({ nullable: true })
|
|
95748
|
+
LoginScreen?: string | null;
|
|
95749
|
+
|
|
95750
|
+
@Field({ nullable: true })
|
|
95751
|
+
LoginScreenDraft?: string | null;
|
|
95752
|
+
|
|
92438
95753
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
92439
95754
|
OldValues___?: KeyValuePairInput[];
|
|
92440
95755
|
|
|
@@ -94606,7 +97921,7 @@ export class MJUserRoutine_ {
|
|
|
94606
97921
|
@MaxLength(20)
|
|
94607
97922
|
Status?: string;
|
|
94608
97923
|
|
|
94609
|
-
@Field({nullable: true, description: "Scheduled (
|
|
97924
|
+
@Field({nullable: true, description: "Scheduled (user cron routine), Monitoring (OnChange detection via result hashing), or AgentWake (autonomous agent self-scheduled wake/monitor entry, hidden from the default user cron list)."})
|
|
94610
97925
|
@MaxLength(20)
|
|
94611
97926
|
RoutineType?: string;
|
|
94612
97927
|
|
|
@@ -94627,7 +97942,7 @@ export class MJUserRoutine_ {
|
|
|
94627
97942
|
@Field({nullable: true, description: "Optional JSON array of MJ: AI Skills IDs to pre-activate when the routine target is an Agent — threaded as ExecuteAgentParams.requestedSkillIDs so the agent starts each scheduled run with the requested skills' instructions and tools in effect (subject to all availability gates; ActivationMode does not gate this explicit-request path). Ignored for Action/Prompt targets."})
|
|
94628
97943
|
RequestedSkillIDs?: string;
|
|
94629
97944
|
|
|
94630
|
-
@Field({nullable: true, description: "Standard cron expression evaluated by the dispatcher
|
|
97945
|
+
@Field({nullable: true, description: "Standard cron expression evaluated by the dispatcher for Recurring and Adaptive routines. NULL when ScheduleMode is OneShot."})
|
|
94631
97946
|
@MaxLength(100)
|
|
94632
97947
|
CronExpression?: string;
|
|
94633
97948
|
|
|
@@ -94679,6 +97994,16 @@ export class MJUserRoutine_ {
|
|
|
94679
97994
|
@MaxLength(36)
|
|
94680
97995
|
ConversationID?: string;
|
|
94681
97996
|
|
|
97997
|
+
@Field({nullable: true, description: "Scheduling mode: Recurring (fixed cron schedule), OneShot (single future wake at NextRunAt, auto-disables after firing unless rescheduled by the agent), or Adaptive (fallback CronExpression combined with agent-set NextRunAt and event/condition wake gates)."})
|
|
97998
|
+
@MaxLength(20)
|
|
97999
|
+
ScheduleMode?: string;
|
|
98000
|
+
|
|
98001
|
+
@Field({nullable: true, description: "Optional JSON configuration (IRoutineWakeConfiguration) specifying watchedEntities for durable watermark/RecordChange polling and the 3-tier wake gate (Tier 1 SafeExpressionEvaluator, Tier 2 AIDecisionRunner fast decision model, Tier 3 AIPromptRunner metadata prompt)."})
|
|
98002
|
+
WakeConfiguration?: string;
|
|
98003
|
+
|
|
98004
|
+
@Field({nullable: true, description: "Timestamp when the dispatcher last evaluated this routine's watched entities and wake gate conditions."})
|
|
98005
|
+
LastCheckedAt?: Date;
|
|
98006
|
+
|
|
94682
98007
|
@Field({nullable: true})
|
|
94683
98008
|
@MaxLength(100)
|
|
94684
98009
|
User?: string;
|
|
@@ -94742,7 +98067,7 @@ export class CreateMJUserRoutineInput {
|
|
|
94742
98067
|
RequestedSkillIDs: string | null;
|
|
94743
98068
|
|
|
94744
98069
|
@Field({ nullable: true })
|
|
94745
|
-
CronExpression
|
|
98070
|
+
CronExpression: string | null;
|
|
94746
98071
|
|
|
94747
98072
|
@Field({ nullable: true })
|
|
94748
98073
|
StartAt: Date | null;
|
|
@@ -94780,6 +98105,15 @@ export class CreateMJUserRoutineInput {
|
|
|
94780
98105
|
@Field({ nullable: true })
|
|
94781
98106
|
ConversationID: string | null;
|
|
94782
98107
|
|
|
98108
|
+
@Field({ nullable: true })
|
|
98109
|
+
ScheduleMode?: string;
|
|
98110
|
+
|
|
98111
|
+
@Field({ nullable: true })
|
|
98112
|
+
WakeConfiguration: string | null;
|
|
98113
|
+
|
|
98114
|
+
@Field({ nullable: true })
|
|
98115
|
+
LastCheckedAt: Date | null;
|
|
98116
|
+
|
|
94783
98117
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
94784
98118
|
RestoreContext___?: RestoreContextInput;
|
|
94785
98119
|
}
|
|
@@ -94827,7 +98161,7 @@ export class UpdateMJUserRoutineInput {
|
|
|
94827
98161
|
RequestedSkillIDs?: string | null;
|
|
94828
98162
|
|
|
94829
98163
|
@Field({ nullable: true })
|
|
94830
|
-
CronExpression?: string;
|
|
98164
|
+
CronExpression?: string | null;
|
|
94831
98165
|
|
|
94832
98166
|
@Field({ nullable: true })
|
|
94833
98167
|
StartAt?: Date | null;
|
|
@@ -94865,6 +98199,15 @@ export class UpdateMJUserRoutineInput {
|
|
|
94865
98199
|
@Field({ nullable: true })
|
|
94866
98200
|
ConversationID?: string | null;
|
|
94867
98201
|
|
|
98202
|
+
@Field({ nullable: true })
|
|
98203
|
+
ScheduleMode?: string;
|
|
98204
|
+
|
|
98205
|
+
@Field({ nullable: true })
|
|
98206
|
+
WakeConfiguration?: string | null;
|
|
98207
|
+
|
|
98208
|
+
@Field({ nullable: true })
|
|
98209
|
+
LastCheckedAt?: Date | null;
|
|
98210
|
+
|
|
94868
98211
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
94869
98212
|
OldValues___?: KeyValuePairInput[];
|
|
94870
98213
|
|
|
@@ -95756,6 +99099,27 @@ export class MJUserView_ {
|
|
|
95756
99099
|
@MaxLength(36)
|
|
95757
99100
|
ViewTypeID?: string;
|
|
95758
99101
|
|
|
99102
|
+
@Field({nullable: true, description: "JSON array of the view's declared properties: named, typed inputs, each of which adds one predicate on a target field when a run gives it a value or it has a default. A property with AllowOverride false may be set only by server code. Null for a view with no properties."})
|
|
99103
|
+
Properties?: string;
|
|
99104
|
+
|
|
99105
|
+
@Field({nullable: true, description: "Whether this view's definition is approved: Pending, Approved or Rejected. An approval is current only while ApprovedFingerprint matches the current definition."})
|
|
99106
|
+
@MaxLength(20)
|
|
99107
|
+
ApprovalStatus?: string;
|
|
99108
|
+
|
|
99109
|
+
@Field({nullable: true, description: "Reviewer comments recorded with the approval decision, such as the tests the definition passed."})
|
|
99110
|
+
ApprovalComments?: string;
|
|
99111
|
+
|
|
99112
|
+
@Field({nullable: true, description: "The user who approved this view."})
|
|
99113
|
+
@MaxLength(36)
|
|
99114
|
+
ApprovedByUserID?: string;
|
|
99115
|
+
|
|
99116
|
+
@Field({nullable: true, description: "When this view was approved."})
|
|
99117
|
+
ApprovedAt?: Date;
|
|
99118
|
+
|
|
99119
|
+
@Field({nullable: true, description: "SHA-256 fingerprint of the definition that was approved: its entity, filters and properties. The approval is current only while this matches the fingerprint of the current definition."})
|
|
99120
|
+
@MaxLength(100)
|
|
99121
|
+
ApprovedFingerprint?: string;
|
|
99122
|
+
|
|
95759
99123
|
@Field({nullable: true})
|
|
95760
99124
|
@MaxLength(100)
|
|
95761
99125
|
UserName?: string;
|
|
@@ -95856,6 +99220,24 @@ export class CreateMJUserViewInput {
|
|
|
95856
99220
|
@Field({ nullable: true })
|
|
95857
99221
|
ViewTypeID: string | null;
|
|
95858
99222
|
|
|
99223
|
+
@Field({ nullable: true })
|
|
99224
|
+
Properties: string | null;
|
|
99225
|
+
|
|
99226
|
+
@Field({ nullable: true })
|
|
99227
|
+
ApprovalStatus?: string;
|
|
99228
|
+
|
|
99229
|
+
@Field({ nullable: true })
|
|
99230
|
+
ApprovalComments: string | null;
|
|
99231
|
+
|
|
99232
|
+
@Field({ nullable: true })
|
|
99233
|
+
ApprovedByUserID: string | null;
|
|
99234
|
+
|
|
99235
|
+
@Field({ nullable: true })
|
|
99236
|
+
ApprovedAt: Date | null;
|
|
99237
|
+
|
|
99238
|
+
@Field({ nullable: true })
|
|
99239
|
+
ApprovedFingerprint: string | null;
|
|
99240
|
+
|
|
95859
99241
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
95860
99242
|
RestoreContext___?: RestoreContextInput;
|
|
95861
99243
|
}
|
|
@@ -95932,6 +99314,24 @@ export class UpdateMJUserViewInput {
|
|
|
95932
99314
|
@Field({ nullable: true })
|
|
95933
99315
|
ViewTypeID?: string | null;
|
|
95934
99316
|
|
|
99317
|
+
@Field({ nullable: true })
|
|
99318
|
+
Properties?: string | null;
|
|
99319
|
+
|
|
99320
|
+
@Field({ nullable: true })
|
|
99321
|
+
ApprovalStatus?: string;
|
|
99322
|
+
|
|
99323
|
+
@Field({ nullable: true })
|
|
99324
|
+
ApprovalComments?: string | null;
|
|
99325
|
+
|
|
99326
|
+
@Field({ nullable: true })
|
|
99327
|
+
ApprovedByUserID?: string | null;
|
|
99328
|
+
|
|
99329
|
+
@Field({ nullable: true })
|
|
99330
|
+
ApprovedAt?: Date | null;
|
|
99331
|
+
|
|
99332
|
+
@Field({ nullable: true })
|
|
99333
|
+
ApprovedFingerprint?: string | null;
|
|
99334
|
+
|
|
95935
99335
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
95936
99336
|
OldValues___?: KeyValuePairInput[];
|
|
95937
99337
|
|