@memberjunction/server 6.2.0-edge.3 → 6.2.0-edge.5
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 +20 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/BridgeHostInstance.d.ts +25 -0
- package/dist/agentSessions/BridgeHostInstance.d.ts.map +1 -0
- package/dist/agentSessions/BridgeHostInstance.js +30 -0
- package/dist/agentSessions/BridgeHostInstance.js.map +1 -0
- package/dist/agentSessions/HostInstance.d.ts +75 -11
- package/dist/agentSessions/HostInstance.d.ts.map +1 -1
- package/dist/agentSessions/HostInstance.js +99 -28
- package/dist/agentSessions/HostInstance.js.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.d.ts.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.js +7 -3
- package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
- package/dist/agentSessions/SessionJanitor.d.ts +236 -27
- package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
- package/dist/agentSessions/SessionJanitor.js +682 -54
- package/dist/agentSessions/SessionJanitor.js.map +1 -1
- package/dist/agentSessions/SessionManager.d.ts +48 -3
- package/dist/agentSessions/SessionManager.d.ts.map +1 -1
- package/dist/agentSessions/SessionManager.js +112 -9
- package/dist/agentSessions/SessionManager.js.map +1 -1
- package/dist/agentSessions/SessionRunIDVerifier.d.ts +63 -0
- package/dist/agentSessions/SessionRunIDVerifier.d.ts.map +1 -0
- package/dist/agentSessions/SessionRunIDVerifier.js +129 -0
- package/dist/agentSessions/SessionRunIDVerifier.js.map +1 -0
- package/dist/agentSessions/index.d.ts +2 -0
- package/dist/agentSessions/index.d.ts.map +1 -1
- package/dist/agentSessions/index.js +10 -3
- package/dist/agentSessions/index.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 +25 -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/actionAuthorization.d.ts +40 -0
- package/dist/auth/actionAuthorization.d.ts.map +1 -0
- package/dist/auth/actionAuthorization.js +94 -0
- package/dist/auth/actionAuthorization.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 +4 -10
- package/dist/auth/index.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/MagicLinkService.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +6 -3
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/newUsers.d.ts +10 -0
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +80 -11
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/config.d.ts +2514 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +166 -4
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +14 -11
- 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 +142 -0
- package/dist/coreRoutes.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj.d.ts +504 -3
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +2456 -7
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/CacheInvalidationResolver.d.ts +43 -8
- package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
- package/dist/generic/CacheInvalidationResolver.js +59 -19
- package/dist/generic/CacheInvalidationResolver.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js +3 -3
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
- package/dist/generic/PushStatusResolver.js +1 -1
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +123 -48
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +293 -305
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +16 -0
- package/dist/generic/RunViewResolver.js.map +1 -1
- 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 +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +219 -278
- package/dist/index.js.map +1 -1
- package/dist/isolatedProvider.d.ts +20 -0
- package/dist/isolatedProvider.d.ts.map +1 -0
- package/dist/isolatedProvider.js +22 -0
- package/dist/isolatedProvider.js.map +1 -0
- 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/realtimeProxy/RealtimeProxyServer.d.ts +44 -4
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts.map +1 -1
- package/dist/realtimeProxy/RealtimeProxyServer.js +121 -16
- package/dist/realtimeProxy/RealtimeProxyServer.js.map +1 -1
- package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts +171 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts.map +1 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.js +532 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.js.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.d.ts +148 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.js +191 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.js.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts +66 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js +139 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts +38 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.js +99 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -0
- 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 +61 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js +149 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts +57 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts.map +1 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.js +69 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.js.map +1 -0
- package/dist/realtimeSessions/index.d.ts +19 -0
- package/dist/realtimeSessions/index.d.ts.map +1 -0
- package/dist/realtimeSessions/index.js +19 -0
- package/dist/realtimeSessions/index.js.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts +30 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js +47 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -0
- package/dist/realtimeSessions/sessionAccess.d.ts +92 -0
- package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -0
- package/dist/realtimeSessions/sessionAccess.js +94 -0
- package/dist/realtimeSessions/sessionAccess.js.map +1 -0
- package/dist/realtimeSessions/sessionConfigStamps.d.ts +70 -0
- package/dist/realtimeSessions/sessionConfigStamps.d.ts.map +1 -0
- package/dist/realtimeSessions/sessionConfigStamps.js +93 -0
- package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -0
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts +65 -0
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -0
- package/dist/realtimeSessions/subscriptionAuthorization.js +71 -0
- package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -0
- package/dist/realtimeSessions/verificationCore.d.ts +243 -0
- package/dist/realtimeSessions/verificationCore.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationCore.js +356 -0
- package/dist/realtimeSessions/verificationCore.js.map +1 -0
- package/dist/realtimeSessions/verificationPages.d.ts +66 -0
- package/dist/realtimeSessions/verificationPages.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationPages.js +110 -0
- package/dist/realtimeSessions/verificationPages.js.map +1 -0
- package/dist/realtimeSessions/verificationPolicy.d.ts +147 -0
- package/dist/realtimeSessions/verificationPolicy.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationPolicy.js +249 -0
- package/dist/realtimeSessions/verificationPolicy.js.map +1 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts +263 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationWorkflow.js +435 -0
- package/dist/realtimeSessions/verificationWorkflow.js.map +1 -0
- package/dist/realtimeWidget/widgetGuestElevation.d.ts +20 -2
- package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +31 -2
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +31 -5
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +75 -14
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts +14 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +21 -5
- package/dist/resolvers/AdhocQueryResolver.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/CacheStatsResolver.d.ts +27 -0
- package/dist/resolvers/CacheStatsResolver.d.ts.map +1 -1
- package/dist/resolvers/CacheStatsResolver.js +113 -2
- package/dist/resolvers/CacheStatsResolver.js.map +1 -1
- package/dist/resolvers/ClientToolRequestResolver.d.ts +4 -2
- package/dist/resolvers/ClientToolRequestResolver.d.ts.map +1 -1
- package/dist/resolvers/ClientToolRequestResolver.js +28 -10
- package/dist/resolvers/ClientToolRequestResolver.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/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 +27 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +148 -2
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts +82 -11
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +279 -101
- 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/HumanHandoffResolver.d.ts.map +1 -1
- package/dist/resolvers/HumanHandoffResolver.js +7 -1
- package/dist/resolvers/HumanHandoffResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +4 -2
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +9 -4
- package/dist/resolvers/MCPResolver.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 +13 -0
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.d.ts +54 -2
- package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +155 -10
- package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +157 -33
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +404 -116
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RealtimeSessionEventsResolver.d.ts +61 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.d.ts.map +1 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.js +130 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.js.map +1 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts +85 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts.map +1 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.js +188 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.js.map +1 -0
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts +2 -0
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +5 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +10 -0
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +100 -14
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +12 -11
- package/dist/resolvers/RunTemplateResolver.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 +6 -2
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +2 -0
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +23 -6
- package/dist/resolvers/SyncRolesUsersResolver.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 +65 -13
- package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts +19 -2
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +102 -24
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserAvatarResolver.d.ts +16 -0
- package/dist/resolvers/UserAvatarResolver.d.ts.map +1 -0
- package/dist/resolvers/UserAvatarResolver.js +124 -0
- package/dist/resolvers/UserAvatarResolver.js.map +1 -0
- package/dist/resolvers/UserResolver.d.ts.map +1 -1
- package/dist/resolvers/UserResolver.js +2 -17
- package/dist/resolvers/UserResolver.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/resolvers/agentVisionConsentAudit.d.ts +37 -0
- package/dist/resolvers/agentVisionConsentAudit.d.ts.map +1 -0
- package/dist/resolvers/agentVisionConsentAudit.js +63 -0
- package/dist/resolvers/agentVisionConsentAudit.js.map +1 -0
- package/dist/resolvers/avatarInputValidation.d.ts +40 -0
- package/dist/resolvers/avatarInputValidation.d.ts.map +1 -0
- package/dist/resolvers/avatarInputValidation.js +97 -0
- package/dist/resolvers/avatarInputValidation.js.map +1 -0
- package/dist/resolvers/currentUserRoles.d.ts +29 -0
- package/dist/resolvers/currentUserRoles.d.ts.map +1 -1
- package/dist/resolvers/currentUserRoles.js +30 -0
- package/dist/resolvers/currentUserRoles.js.map +1 -1
- package/dist/resolvers/meetings/meetingMutations.d.ts +6 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts.map +1 -1
- package/dist/resolvers/meetings/meetingMutations.js +21 -0
- package/dist/resolvers/meetings/meetingMutations.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 +3 -1
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +21 -12
- 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/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 +57 -4
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.js +607 -18
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
- package/dist/sharedCache.d.ts +105 -0
- package/dist/sharedCache.d.ts.map +1 -0
- package/dist/sharedCache.js +279 -0
- package/dist/sharedCache.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +99 -96
- package/src/__tests__/ActionResolver.authorization.test.ts +353 -0
- package/src/__tests__/AdhocQueryResolver.sqlAuthorizer.test.ts +104 -0
- package/src/__tests__/BridgeHostInstance.test.ts +232 -0
- package/src/__tests__/ClientToolRequestResolver.test.ts +116 -0
- package/src/__tests__/DatasetResolver.itemFilters.test.ts +201 -0
- package/src/__tests__/EntityRecordNameResolver.rowSecurity.test.ts +152 -0
- package/src/__tests__/FetchEntityVectorsResolver.test.ts +433 -0
- package/src/__tests__/FileResolver.storageAccess.test.ts +562 -0
- package/src/__tests__/GetDataContextDataResolver.sqlItems.test.ts +416 -0
- package/src/__tests__/HostInstance.test.ts +84 -0
- package/src/__tests__/HumanHandoffResolver.test.ts +17 -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__/MeetingResolver.test.ts +75 -1
- package/src/__tests__/RealtimeBridgeResolver.test.ts +415 -6
- package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +383 -0
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +682 -58
- package/src/__tests__/RealtimeProxyServer.test.ts +16 -1
- package/src/__tests__/RealtimeRelay.test.ts +876 -0
- package/src/__tests__/RecordingAssemblyScheduler.test.ts +178 -0
- package/src/__tests__/RemoteBrowserActionResolver.goalRunLink.test.ts +129 -0
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +133 -2
- package/src/__tests__/ResolverBase.aggregateScreen.test.ts +174 -0
- 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 +212 -6
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +5 -2
- package/src/__tests__/ReturningVisitorRecap.test.ts +115 -0
- package/src/__tests__/RunAIAgentResolver.branch.test.ts +170 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +6 -4
- package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +258 -0
- package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +166 -0
- package/src/__tests__/RunTemplateResolver.test.ts +132 -0
- package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +63 -0
- package/src/__tests__/RunViewResolver.cacheCheckScreen.test.ts +165 -0
- package/src/__tests__/SearchKnowledgeStreamResolver.test.ts +161 -0
- package/src/__tests__/SessionJanitor.test.ts +1203 -21
- package/src/__tests__/SessionManager.test.ts +240 -17
- package/src/__tests__/SessionRunIDVerifier.test.ts +251 -0
- package/src/__tests__/SyncRolesUsersResolver.userRoles.test.ts +97 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +25 -0
- package/src/__tests__/TaskGraphAgentRunner.test.ts +266 -0
- package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +403 -22
- package/src/__tests__/TaskGraphFrameResolver.test.ts +22 -0
- package/src/__tests__/TestQuerySQLResolver.test.ts +274 -0
- package/src/__tests__/TransactionGroupResolver.refusals.test.ts +98 -1
- package/src/__tests__/UpdateMJDataContextItem.oldValues.test.ts +220 -0
- package/src/__tests__/UserAvatarResolver.test.ts +255 -0
- package/src/__tests__/UserResolver.currentUser.test.ts +16 -1
- package/src/__tests__/ViewOperationsHandler.clauseScreen.test.ts +157 -0
- package/src/__tests__/actionAuthorization.test.ts +130 -0
- package/src/__tests__/agent-run-data-guard.test.ts +130 -0
- package/src/__tests__/agentVisionConsentAudit.test.ts +118 -0
- package/src/__tests__/apiRootBoot.test.ts +202 -0
- package/src/__tests__/avatarInputValidation.test.ts +160 -0
- package/src/__tests__/cacheInvalidationRecordData.test.ts +64 -0
- package/src/__tests__/conversationRunEvents.test.ts +56 -14
- package/src/__tests__/globalCors.test.ts +217 -0
- package/src/__tests__/isolatedProviderTransactions.test.ts +169 -0
- package/src/__tests__/magicLinkService.consume.test.ts +6 -0
- package/src/__tests__/magicLinkService.provisionLog.test.ts +5 -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__/newUsers.template.test.ts +151 -0
- package/src/__tests__/newUsers.test.ts +74 -5
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +17 -2
- package/src/__tests__/ownedRealtimeSession.test.ts +39 -0
- package/src/__tests__/pushStatusResolver.filter.test.ts +7 -0
- package/src/__tests__/realtimeRecordingHandler.test.ts +652 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventService.test.ts +201 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +215 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionVerificationResolver.test.ts +102 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionVerificationService.test.ts +349 -0
- package/src/__tests__/realtimeSessions/RealtimeVerifyRouter.test.ts +131 -0
- package/src/__tests__/realtimeSessions/SlidingWindowRateLimiter.test.ts +56 -0
- package/src/__tests__/realtimeSessions/helpers.ts +4 -0
- package/src/__tests__/realtimeSessions/sessionAccess.test.ts +129 -0
- package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +124 -0
- package/src/__tests__/realtimeSessions/verificationCore.test.ts +355 -0
- package/src/__tests__/realtimeSessions/verificationPages.test.ts +84 -0
- package/src/__tests__/realtimeSessions/verificationPolicy.test.ts +226 -0
- package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +633 -0
- package/src/__tests__/resolverBase.fls.test.ts +87 -4
- package/src/__tests__/serverExtensionHostOverlay.test.ts +66 -0
- package/src/__tests__/serverExtensionReservedRoots.test.ts +11 -96
- package/src/__tests__/sharedCache.test.ts +312 -0
- package/src/__tests__/widgetGuestElevation.test.ts +44 -0
- package/src/agentSessions/BridgeHostInstance.ts +32 -0
- package/src/agentSessions/HostInstance.ts +124 -28
- package/src/agentSessions/ReturningVisitorRecap.ts +7 -3
- package/src/agentSessions/SessionJanitor.ts +821 -59
- package/src/agentSessions/SessionManager.ts +138 -26
- package/src/agentSessions/SessionRunIDVerifier.ts +171 -0
- package/src/agentSessions/index.ts +10 -3
- package/src/apiRoot.ts +78 -0
- package/src/auth/AuthProviderCatalogRouter.ts +26 -0
- package/src/auth/LoginScreenEngine.ts +50 -0
- package/src/auth/actionAuthorization.ts +116 -0
- package/src/auth/index.ts +4 -8
- package/src/auth/magicLink/MagicLinkRouter.ts +3 -2
- package/src/auth/magicLink/MagicLinkService.ts +6 -3
- package/src/auth/newUsers.ts +99 -11
- package/src/config.ts +171 -5
- package/src/context.ts +15 -10
- package/src/coreRoutes.ts +166 -0
- package/src/generated/graphql-schemas/__mj.ts +1815 -57
- package/src/generic/CacheInvalidationResolver.ts +73 -18
- package/src/generic/OrphanedConversationDetailReconciler.ts +3 -3
- package/src/generic/PushStatusResolver.ts +1 -1
- package/src/generic/ResolverBase.ts +335 -326
- package/src/generic/RunViewResolver.ts +21 -0
- package/src/globalCors.ts +71 -0
- package/src/index.ts +231 -300
- package/src/isolatedProvider.ts +22 -0
- package/src/multiTenancy/index.ts +24 -2
- package/src/realtimeProxy/RealtimeProxyServer.ts +148 -16
- package/src/realtimeProxy/RealtimeRelayTunnel.ts +645 -0
- package/src/realtimeSessions/README.md +179 -0
- package/src/realtimeSessions/RealtimeSessionEventService.ts +274 -0
- package/src/realtimeSessions/RealtimeSessionVerificationService.ts +168 -0
- package/src/realtimeSessions/RealtimeVerifyRouter.ts +109 -0
- package/src/realtimeSessions/RecordingAssemblyScheduler.ts +234 -0
- package/src/realtimeSessions/SessionVerificationPortsBase.ts +189 -0
- package/src/realtimeSessions/SlidingWindowRateLimiter.ts +92 -0
- package/src/realtimeSessions/index.ts +18 -0
- package/src/realtimeSessions/ownedRealtimeSession.ts +55 -0
- package/src/realtimeSessions/sessionAccess.ts +145 -0
- package/src/realtimeSessions/sessionConfigStamps.ts +123 -0
- package/src/realtimeSessions/subscriptionAuthorization.ts +116 -0
- package/src/realtimeSessions/verificationCore.ts +502 -0
- package/src/realtimeSessions/verificationPages.ts +149 -0
- package/src/realtimeSessions/verificationPolicy.ts +321 -0
- package/src/realtimeSessions/verificationWorkflow.ts +702 -0
- package/src/realtimeWidget/widgetGuestElevation.ts +34 -2
- package/src/resolvers/ActionResolver.ts +84 -21
- package/src/resolvers/AdhocQueryResolver.ts +24 -6
- package/src/resolvers/ArtifactFileResolver.ts +9 -8
- package/src/resolvers/CacheStatsResolver.ts +89 -2
- package/src/resolvers/ClientToolRequestResolver.ts +25 -7
- package/src/resolvers/ConversationRunEventsResolver.ts +15 -11
- package/src/resolvers/DatasetResolver.ts +70 -10
- package/src/resolvers/EntityRecordNameResolver.ts +3 -2
- package/src/resolvers/FetchEntityVectorsResolver.ts +179 -2
- package/src/resolvers/FileResolver.ts +321 -106
- package/src/resolvers/GetDataContextDataResolver.ts +139 -41
- package/src/resolvers/GetDataResolver.ts +6 -3
- package/src/resolvers/HumanHandoffResolver.ts +8 -0
- package/src/resolvers/IntegrationDiscoveryResolver.ts +4 -2
- package/src/resolvers/MCPResolver.ts +8 -5
- package/src/resolvers/QueryResolver.ts +11 -0
- package/src/resolvers/RealtimeBridgeResolver.ts +163 -11
- package/src/resolvers/RealtimeClientSessionResolver.ts +511 -129
- package/src/resolvers/RealtimeSessionEventsResolver.ts +133 -0
- package/src/resolvers/RealtimeSessionVerificationResolver.ts +174 -0
- package/src/resolvers/RemoteBrowserActionResolver.ts +11 -1
- package/src/resolvers/RunAIAgentResolver.ts +116 -14
- package/src/resolvers/RunTemplateResolver.ts +13 -12
- package/src/resolvers/SearchKnowledgeStreamResolver.ts +19 -3
- package/src/resolvers/SqlLoggingConfigResolver.ts +2 -4
- package/src/resolvers/SyncDataResolver.ts +6 -2
- package/src/resolvers/SyncRolesUsersResolver.ts +24 -6
- package/src/resolvers/TaskGraphFrameResolver.ts +33 -1
- package/src/resolvers/TestQuerySQLResolver.ts +68 -13
- package/src/resolvers/TransactionGroupResolver.ts +131 -27
- package/src/resolvers/UserAvatarResolver.ts +111 -0
- package/src/resolvers/UserResolver.ts +2 -16
- package/src/resolvers/__tests__/GetDataResolver.validation.test.ts +95 -0
- package/src/resolvers/agent-run-data-guard.ts +89 -0
- package/src/resolvers/agentVisionConsentAudit.ts +82 -0
- package/src/resolvers/avatarInputValidation.ts +123 -0
- package/src/resolvers/currentUserRoles.ts +32 -1
- package/src/resolvers/meetings/meetingMutations.ts +21 -0
- package/src/rest/RealtimeRecordingHandler.ts +464 -0
- package/src/rest/ViewOperationsHandler.ts +29 -13
- package/src/rest/setupRESTEndpoints.ts +6 -0
- package/src/serverExtensionReservedRoots.ts +14 -17
- 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 +713 -17
- package/src/sharedCache.ts +305 -0
- package/src/types.ts +7 -0
|
@@ -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, 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, 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, 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, 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."})
|
|
@@ -7963,6 +7991,214 @@ export class MJAIAgentSessionChannelResolver extends ResolverBase {
|
|
|
7963
7991
|
|
|
7964
7992
|
}
|
|
7965
7993
|
|
|
7994
|
+
//****************************************************************************
|
|
7995
|
+
// ENTITY CLASS for MJ: AI Agent Session Recording Shards
|
|
7996
|
+
//****************************************************************************
|
|
7997
|
+
@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." })
|
|
7998
|
+
export class MJAIAgentSessionRecordingShard_ {
|
|
7999
|
+
@Field()
|
|
8000
|
+
@MaxLength(36)
|
|
8001
|
+
ID: string;
|
|
8002
|
+
|
|
8003
|
+
@Field({nullable: true})
|
|
8004
|
+
@MaxLength(36)
|
|
8005
|
+
AgentSessionID?: string;
|
|
8006
|
+
|
|
8007
|
+
@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."})
|
|
8008
|
+
Index?: number;
|
|
8009
|
+
|
|
8010
|
+
@Field(() => Int, {nullable: true, description: "Sample position (48 kHz) where this shard's audio starts in the recording."})
|
|
8011
|
+
StartSample?: number;
|
|
8012
|
+
|
|
8013
|
+
@Field(() => Int, {nullable: true, description: "Number of audio samples (48 kHz) the shard covers."})
|
|
8014
|
+
SampleCount?: number;
|
|
8015
|
+
|
|
8016
|
+
@Field(() => Int, {nullable: true, description: "Size of Data in bytes."})
|
|
8017
|
+
Bytes?: number;
|
|
8018
|
+
|
|
8019
|
+
@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."})
|
|
8020
|
+
@MaxLength(64)
|
|
8021
|
+
Sha256?: string;
|
|
8022
|
+
|
|
8023
|
+
@Field({nullable: true, description: "The shard bytes as uploaded (MJOPUS1 header followed by length-prefixed Opus packets)."})
|
|
8024
|
+
Data?: string;
|
|
8025
|
+
|
|
8026
|
+
@Field({nullable: true, description: "When the server first stored this shard."})
|
|
8027
|
+
ReceivedAt?: Date;
|
|
8028
|
+
|
|
8029
|
+
@Field()
|
|
8030
|
+
_mj__CreatedAt: Date;
|
|
8031
|
+
|
|
8032
|
+
@Field()
|
|
8033
|
+
_mj__UpdatedAt: Date;
|
|
8034
|
+
|
|
8035
|
+
@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.` })
|
|
8036
|
+
ReadableFields___?: string[];
|
|
8037
|
+
|
|
8038
|
+
}
|
|
8039
|
+
|
|
8040
|
+
//****************************************************************************
|
|
8041
|
+
// INPUT TYPE for MJ: AI Agent Session Recording Shards
|
|
8042
|
+
//****************************************************************************
|
|
8043
|
+
@InputType()
|
|
8044
|
+
export class CreateMJAIAgentSessionRecordingShardInput {
|
|
8045
|
+
@Field({ nullable: true })
|
|
8046
|
+
ID?: string;
|
|
8047
|
+
|
|
8048
|
+
@Field({ nullable: true })
|
|
8049
|
+
AgentSessionID?: string;
|
|
8050
|
+
|
|
8051
|
+
@Field(() => Int, { nullable: true })
|
|
8052
|
+
Index?: number;
|
|
8053
|
+
|
|
8054
|
+
@Field(() => Int, { nullable: true })
|
|
8055
|
+
StartSample?: number;
|
|
8056
|
+
|
|
8057
|
+
@Field(() => Int, { nullable: true })
|
|
8058
|
+
SampleCount?: number;
|
|
8059
|
+
|
|
8060
|
+
@Field(() => Int, { nullable: true })
|
|
8061
|
+
Bytes?: number;
|
|
8062
|
+
|
|
8063
|
+
@Field({ nullable: true })
|
|
8064
|
+
Sha256?: string;
|
|
8065
|
+
|
|
8066
|
+
@Field({ nullable: true })
|
|
8067
|
+
Data?: string;
|
|
8068
|
+
|
|
8069
|
+
@Field({ nullable: true })
|
|
8070
|
+
ReceivedAt?: Date;
|
|
8071
|
+
|
|
8072
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
8073
|
+
RestoreContext___?: RestoreContextInput;
|
|
8074
|
+
}
|
|
8075
|
+
|
|
8076
|
+
|
|
8077
|
+
//****************************************************************************
|
|
8078
|
+
// INPUT TYPE for MJ: AI Agent Session Recording Shards
|
|
8079
|
+
//****************************************************************************
|
|
8080
|
+
@InputType()
|
|
8081
|
+
export class UpdateMJAIAgentSessionRecordingShardInput {
|
|
8082
|
+
@Field()
|
|
8083
|
+
ID: string;
|
|
8084
|
+
|
|
8085
|
+
@Field({ nullable: true })
|
|
8086
|
+
AgentSessionID?: string;
|
|
8087
|
+
|
|
8088
|
+
@Field(() => Int, { nullable: true })
|
|
8089
|
+
Index?: number;
|
|
8090
|
+
|
|
8091
|
+
@Field(() => Int, { nullable: true })
|
|
8092
|
+
StartSample?: number;
|
|
8093
|
+
|
|
8094
|
+
@Field(() => Int, { nullable: true })
|
|
8095
|
+
SampleCount?: number;
|
|
8096
|
+
|
|
8097
|
+
@Field(() => Int, { nullable: true })
|
|
8098
|
+
Bytes?: number;
|
|
8099
|
+
|
|
8100
|
+
@Field({ nullable: true })
|
|
8101
|
+
Sha256?: string;
|
|
8102
|
+
|
|
8103
|
+
@Field({ nullable: true })
|
|
8104
|
+
Data?: string;
|
|
8105
|
+
|
|
8106
|
+
@Field({ nullable: true })
|
|
8107
|
+
ReceivedAt?: Date;
|
|
8108
|
+
|
|
8109
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
8110
|
+
OldValues___?: KeyValuePairInput[];
|
|
8111
|
+
|
|
8112
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
8113
|
+
RestoreContext___?: RestoreContextInput;
|
|
8114
|
+
}
|
|
8115
|
+
|
|
8116
|
+
//****************************************************************************
|
|
8117
|
+
// RESOLVER for MJ: AI Agent Session Recording Shards
|
|
8118
|
+
//****************************************************************************
|
|
8119
|
+
@ObjectType()
|
|
8120
|
+
export class RunMJAIAgentSessionRecordingShardViewResult {
|
|
8121
|
+
@Field(() => [MJAIAgentSessionRecordingShard_])
|
|
8122
|
+
Results: MJAIAgentSessionRecordingShard_[];
|
|
8123
|
+
|
|
8124
|
+
@Field(() => String, {nullable: true})
|
|
8125
|
+
UserViewRunID?: string;
|
|
8126
|
+
|
|
8127
|
+
@Field(() => Int, {nullable: true})
|
|
8128
|
+
RowCount: number;
|
|
8129
|
+
|
|
8130
|
+
@Field(() => Int, {nullable: true})
|
|
8131
|
+
TotalRowCount: number;
|
|
8132
|
+
|
|
8133
|
+
@Field(() => Int, {nullable: true})
|
|
8134
|
+
ExecutionTime: number;
|
|
8135
|
+
|
|
8136
|
+
@Field({nullable: true})
|
|
8137
|
+
ErrorMessage?: string;
|
|
8138
|
+
|
|
8139
|
+
@Field(() => Boolean, {nullable: false})
|
|
8140
|
+
Success: boolean;
|
|
8141
|
+
}
|
|
8142
|
+
|
|
8143
|
+
@Resolver(MJAIAgentSessionRecordingShard_)
|
|
8144
|
+
export class MJAIAgentSessionRecordingShardResolver extends ResolverBase {
|
|
8145
|
+
@Query(() => RunMJAIAgentSessionRecordingShardViewResult)
|
|
8146
|
+
async RunMJAIAgentSessionRecordingShardViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8147
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8148
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
8149
|
+
}
|
|
8150
|
+
|
|
8151
|
+
@Query(() => RunMJAIAgentSessionRecordingShardViewResult)
|
|
8152
|
+
async RunMJAIAgentSessionRecordingShardViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8153
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8154
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
8155
|
+
}
|
|
8156
|
+
|
|
8157
|
+
@Query(() => RunMJAIAgentSessionRecordingShardViewResult)
|
|
8158
|
+
async RunMJAIAgentSessionRecordingShardDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8159
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8160
|
+
input.EntityName = 'MJ: AI Agent Session Recording Shards';
|
|
8161
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
8162
|
+
}
|
|
8163
|
+
@Query(() => MJAIAgentSessionRecordingShard_, { nullable: true })
|
|
8164
|
+
async MJAIAgentSessionRecordingShard(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJAIAgentSessionRecordingShard_ | null> {
|
|
8165
|
+
this.CheckUserReadPermissions('MJ: AI Agent Session Recording Shards', userPayload);
|
|
8166
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
8167
|
+
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');
|
|
8168
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
8169
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: AI Agent Session Recording Shards', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
8170
|
+
return result;
|
|
8171
|
+
}
|
|
8172
|
+
|
|
8173
|
+
@Mutation(() => MJAIAgentSessionRecordingShard_)
|
|
8174
|
+
async CreateMJAIAgentSessionRecordingShard(
|
|
8175
|
+
@Arg('input', () => CreateMJAIAgentSessionRecordingShardInput) input: CreateMJAIAgentSessionRecordingShardInput,
|
|
8176
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
8177
|
+
@PubSub() pubSub: PubSubEngine
|
|
8178
|
+
) {
|
|
8179
|
+
const provider = GetReadWriteProvider(providers);
|
|
8180
|
+
return this.CreateRecord('MJ: AI Agent Session Recording Shards', input, provider, userPayload, pubSub)
|
|
8181
|
+
}
|
|
8182
|
+
|
|
8183
|
+
@Mutation(() => MJAIAgentSessionRecordingShard_)
|
|
8184
|
+
async UpdateMJAIAgentSessionRecordingShard(
|
|
8185
|
+
@Arg('input', () => UpdateMJAIAgentSessionRecordingShardInput) input: UpdateMJAIAgentSessionRecordingShardInput,
|
|
8186
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
8187
|
+
@PubSub() pubSub: PubSubEngine
|
|
8188
|
+
) {
|
|
8189
|
+
const provider = GetReadWriteProvider(providers);
|
|
8190
|
+
return this.UpdateRecord('MJ: AI Agent Session Recording Shards', input, provider, userPayload, pubSub);
|
|
8191
|
+
}
|
|
8192
|
+
|
|
8193
|
+
@Mutation(() => MJAIAgentSessionRecordingShard_)
|
|
8194
|
+
async DeleteMJAIAgentSessionRecordingShard(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
8195
|
+
const provider = GetReadWriteProvider(providers);
|
|
8196
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
8197
|
+
return this.DeleteRecord('MJ: AI Agent Session Recording Shards', key, options, provider, userPayload, pubSub);
|
|
8198
|
+
}
|
|
8199
|
+
|
|
8200
|
+
}
|
|
8201
|
+
|
|
7966
8202
|
//****************************************************************************
|
|
7967
8203
|
// ENTITY CLASS for MJ: AI Agent Sessions
|
|
7968
8204
|
//****************************************************************************
|
|
@@ -8034,6 +8270,22 @@ export class MJAIAgentSession_ {
|
|
|
8034
8270
|
@MaxLength(500)
|
|
8035
8271
|
LinkedRecordID?: string;
|
|
8036
8272
|
|
|
8273
|
+
@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."})
|
|
8274
|
+
@MaxLength(20)
|
|
8275
|
+
RecordingStatus?: string;
|
|
8276
|
+
|
|
8277
|
+
@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."})
|
|
8278
|
+
RecordingExpectedShards?: number;
|
|
8279
|
+
|
|
8280
|
+
@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."})
|
|
8281
|
+
RecordingCapturedSamples?: number;
|
|
8282
|
+
|
|
8283
|
+
@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."})
|
|
8284
|
+
RecordingGaps?: string;
|
|
8285
|
+
|
|
8286
|
+
@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."})
|
|
8287
|
+
RecordingAssemblyVersion?: number;
|
|
8288
|
+
|
|
8037
8289
|
@Field({nullable: true})
|
|
8038
8290
|
@MaxLength(255)
|
|
8039
8291
|
Agent?: string;
|
|
@@ -8112,6 +8364,21 @@ export class CreateMJAIAgentSessionInput {
|
|
|
8112
8364
|
@Field({ nullable: true })
|
|
8113
8365
|
LinkedRecordID: string | null;
|
|
8114
8366
|
|
|
8367
|
+
@Field({ nullable: true })
|
|
8368
|
+
RecordingStatus: string | null;
|
|
8369
|
+
|
|
8370
|
+
@Field(() => Int, { nullable: true })
|
|
8371
|
+
RecordingExpectedShards: number | null;
|
|
8372
|
+
|
|
8373
|
+
@Field(() => Int, { nullable: true })
|
|
8374
|
+
RecordingCapturedSamples: number | null;
|
|
8375
|
+
|
|
8376
|
+
@Field({ nullable: true })
|
|
8377
|
+
RecordingGaps: string | null;
|
|
8378
|
+
|
|
8379
|
+
@Field(() => Int, { nullable: true })
|
|
8380
|
+
RecordingAssemblyVersion?: number;
|
|
8381
|
+
|
|
8115
8382
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
8116
8383
|
RestoreContext___?: RestoreContextInput;
|
|
8117
8384
|
}
|
|
@@ -8170,6 +8437,21 @@ export class UpdateMJAIAgentSessionInput {
|
|
|
8170
8437
|
@Field({ nullable: true })
|
|
8171
8438
|
LinkedRecordID?: string | null;
|
|
8172
8439
|
|
|
8440
|
+
@Field({ nullable: true })
|
|
8441
|
+
RecordingStatus?: string | null;
|
|
8442
|
+
|
|
8443
|
+
@Field(() => Int, { nullable: true })
|
|
8444
|
+
RecordingExpectedShards?: number | null;
|
|
8445
|
+
|
|
8446
|
+
@Field(() => Int, { nullable: true })
|
|
8447
|
+
RecordingCapturedSamples?: number | null;
|
|
8448
|
+
|
|
8449
|
+
@Field({ nullable: true })
|
|
8450
|
+
RecordingGaps?: string | null;
|
|
8451
|
+
|
|
8452
|
+
@Field(() => Int, { nullable: true })
|
|
8453
|
+
RecordingAssemblyVersion?: number;
|
|
8454
|
+
|
|
8173
8455
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
8174
8456
|
OldValues___?: KeyValuePairInput[];
|
|
8175
8457
|
|
|
@@ -9321,6 +9603,353 @@ export class MJAIAgentTypeResolver extends ResolverBase {
|
|
|
9321
9603
|
|
|
9322
9604
|
}
|
|
9323
9605
|
|
|
9606
|
+
//****************************************************************************
|
|
9607
|
+
// ENTITY CLASS for MJ: AI Agent User Policies
|
|
9608
|
+
//****************************************************************************
|
|
9609
|
+
@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." })
|
|
9610
|
+
export class MJAIAgentUserPolicy_ {
|
|
9611
|
+
@Field()
|
|
9612
|
+
@MaxLength(36)
|
|
9613
|
+
ID: string;
|
|
9614
|
+
|
|
9615
|
+
@Field({nullable: true, description: "The AI Agent governed by this user policy."})
|
|
9616
|
+
@MaxLength(36)
|
|
9617
|
+
AgentID?: string;
|
|
9618
|
+
|
|
9619
|
+
@Field({nullable: true, description: "The MJ User who owns this policy and under whose security principal the agent executes."})
|
|
9620
|
+
@MaxLength(36)
|
|
9621
|
+
UserID?: string;
|
|
9622
|
+
|
|
9623
|
+
@Field({nullable: true, description: "Optional user-personalized display name for this agent (e.g., \"Maya\" for a user's Chief of Staff)."})
|
|
9624
|
+
@MaxLength(100)
|
|
9625
|
+
DisplayNameOverride?: string;
|
|
9626
|
+
|
|
9627
|
+
@Field({nullable: true, description: "Optional AI Persona selected by the user for this agent's voice and communication style."})
|
|
9628
|
+
@MaxLength(36)
|
|
9629
|
+
PreferredPersonaID?: string;
|
|
9630
|
+
|
|
9631
|
+
@Field({nullable: true, description: "Policy lifecycle status: Active, Paused (autonomous wakes suspended), or Disabled."})
|
|
9632
|
+
@MaxLength(20)
|
|
9633
|
+
Status?: string;
|
|
9634
|
+
|
|
9635
|
+
@Field({nullable: true, description: "Onboarding progression for this user-agent pair: NotStarted, InProgress, or Completed."})
|
|
9636
|
+
@MaxLength(20)
|
|
9637
|
+
OnboardingStatus?: string;
|
|
9638
|
+
|
|
9639
|
+
@Field({nullable: true, description: "Timestamp when the user completed onboarding for this agent."})
|
|
9640
|
+
OnboardedAt?: Date;
|
|
9641
|
+
|
|
9642
|
+
@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)."})
|
|
9643
|
+
@MaxLength(20)
|
|
9644
|
+
CoordinationMode?: string;
|
|
9645
|
+
|
|
9646
|
+
@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)."})
|
|
9647
|
+
@MaxLength(20)
|
|
9648
|
+
DefaultDataAccessMode?: string;
|
|
9649
|
+
|
|
9650
|
+
@Field({nullable: true, description: "Email channel permission level: Disabled, ReadOnly, DraftOnly, SendAsAgent, or SendAsUser."})
|
|
9651
|
+
@MaxLength(20)
|
|
9652
|
+
EmailChannelMode?: string;
|
|
9653
|
+
|
|
9654
|
+
@Field({nullable: true, description: "Telephony channel permission level: Disabled, InboundOnly, OutboundWithApproval, or OutboundAutonomous."})
|
|
9655
|
+
@MaxLength(20)
|
|
9656
|
+
PhoneChannelMode?: string;
|
|
9657
|
+
|
|
9658
|
+
@Field({nullable: true, description: "Messaging channel permission level (Slack/Teams/In-App): Disabled or Enabled."})
|
|
9659
|
+
@MaxLength(20)
|
|
9660
|
+
MessagingChannelMode?: string;
|
|
9661
|
+
|
|
9662
|
+
@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."})
|
|
9663
|
+
@MaxLength(30)
|
|
9664
|
+
CalendarChannelMode?: string;
|
|
9665
|
+
|
|
9666
|
+
@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."})
|
|
9667
|
+
AllowInterAgentCoordination?: boolean;
|
|
9668
|
+
|
|
9669
|
+
@Field(() => Boolean, {nullable: true, description: "When 1, any external email, message, or outbound call to non-internal recipients requires explicit user approval via AIAgentRequest."})
|
|
9670
|
+
RequireApprovalForExternalComms?: boolean;
|
|
9671
|
+
|
|
9672
|
+
@Field(() => Boolean, {nullable: true, description: "When 1, financial commitments, purchases, or accounting/order approvals require explicit user approval."})
|
|
9673
|
+
RequireApprovalForFinancials?: boolean;
|
|
9674
|
+
|
|
9675
|
+
@Field(() => Boolean, {nullable: true, description: "When 1, deleting records or cancelling active workflows requires explicit user approval."})
|
|
9676
|
+
RequireApprovalForDestructiveActions?: boolean;
|
|
9677
|
+
|
|
9678
|
+
@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."})
|
|
9679
|
+
AutoApproveAmountThreshold?: number;
|
|
9680
|
+
|
|
9681
|
+
@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."})
|
|
9682
|
+
EntityAccessRules?: string;
|
|
9683
|
+
|
|
9684
|
+
@Field({nullable: true, description: "JSON array of IAgentUserActionPolicyRule objects defining per-action Allow/RequireApproval/Deny policies, SafeExpressionEvaluator parameter conditions, and allowed time windows."})
|
|
9685
|
+
ActionPolicyRules?: string;
|
|
9686
|
+
|
|
9687
|
+
@Field({nullable: true, description: "Optional user-specific standing instructions injected into the agent's system context on every run."})
|
|
9688
|
+
InstructionsOverride?: string;
|
|
9689
|
+
|
|
9690
|
+
@Field()
|
|
9691
|
+
_mj__CreatedAt: Date;
|
|
9692
|
+
|
|
9693
|
+
@Field()
|
|
9694
|
+
_mj__UpdatedAt: Date;
|
|
9695
|
+
|
|
9696
|
+
@Field({nullable: true})
|
|
9697
|
+
@MaxLength(255)
|
|
9698
|
+
Agent?: string;
|
|
9699
|
+
|
|
9700
|
+
@Field({nullable: true})
|
|
9701
|
+
@MaxLength(100)
|
|
9702
|
+
User?: string;
|
|
9703
|
+
|
|
9704
|
+
@Field({nullable: true})
|
|
9705
|
+
@MaxLength(100)
|
|
9706
|
+
PreferredPersona?: string;
|
|
9707
|
+
|
|
9708
|
+
@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.` })
|
|
9709
|
+
ReadableFields___?: string[];
|
|
9710
|
+
|
|
9711
|
+
}
|
|
9712
|
+
|
|
9713
|
+
//****************************************************************************
|
|
9714
|
+
// INPUT TYPE for MJ: AI Agent User Policies
|
|
9715
|
+
//****************************************************************************
|
|
9716
|
+
@InputType()
|
|
9717
|
+
export class CreateMJAIAgentUserPolicyInput {
|
|
9718
|
+
@Field({ nullable: true })
|
|
9719
|
+
ID?: string;
|
|
9720
|
+
|
|
9721
|
+
@Field({ nullable: true })
|
|
9722
|
+
AgentID?: string;
|
|
9723
|
+
|
|
9724
|
+
@Field({ nullable: true })
|
|
9725
|
+
UserID?: string;
|
|
9726
|
+
|
|
9727
|
+
@Field({ nullable: true })
|
|
9728
|
+
DisplayNameOverride: string | null;
|
|
9729
|
+
|
|
9730
|
+
@Field({ nullable: true })
|
|
9731
|
+
PreferredPersonaID: string | null;
|
|
9732
|
+
|
|
9733
|
+
@Field({ nullable: true })
|
|
9734
|
+
Status?: string;
|
|
9735
|
+
|
|
9736
|
+
@Field({ nullable: true })
|
|
9737
|
+
OnboardingStatus?: string;
|
|
9738
|
+
|
|
9739
|
+
@Field({ nullable: true })
|
|
9740
|
+
OnboardedAt: Date | null;
|
|
9741
|
+
|
|
9742
|
+
@Field({ nullable: true })
|
|
9743
|
+
CoordinationMode?: string;
|
|
9744
|
+
|
|
9745
|
+
@Field({ nullable: true })
|
|
9746
|
+
DefaultDataAccessMode?: string;
|
|
9747
|
+
|
|
9748
|
+
@Field({ nullable: true })
|
|
9749
|
+
EmailChannelMode?: string;
|
|
9750
|
+
|
|
9751
|
+
@Field({ nullable: true })
|
|
9752
|
+
PhoneChannelMode?: string;
|
|
9753
|
+
|
|
9754
|
+
@Field({ nullable: true })
|
|
9755
|
+
MessagingChannelMode?: string;
|
|
9756
|
+
|
|
9757
|
+
@Field({ nullable: true })
|
|
9758
|
+
CalendarChannelMode?: string;
|
|
9759
|
+
|
|
9760
|
+
@Field(() => Boolean, { nullable: true })
|
|
9761
|
+
AllowInterAgentCoordination?: boolean;
|
|
9762
|
+
|
|
9763
|
+
@Field(() => Boolean, { nullable: true })
|
|
9764
|
+
RequireApprovalForExternalComms?: boolean;
|
|
9765
|
+
|
|
9766
|
+
@Field(() => Boolean, { nullable: true })
|
|
9767
|
+
RequireApprovalForFinancials?: boolean;
|
|
9768
|
+
|
|
9769
|
+
@Field(() => Boolean, { nullable: true })
|
|
9770
|
+
RequireApprovalForDestructiveActions?: boolean;
|
|
9771
|
+
|
|
9772
|
+
@Field(() => Float, { nullable: true })
|
|
9773
|
+
AutoApproveAmountThreshold: number | null;
|
|
9774
|
+
|
|
9775
|
+
@Field({ nullable: true })
|
|
9776
|
+
EntityAccessRules: string | null;
|
|
9777
|
+
|
|
9778
|
+
@Field({ nullable: true })
|
|
9779
|
+
ActionPolicyRules: string | null;
|
|
9780
|
+
|
|
9781
|
+
@Field({ nullable: true })
|
|
9782
|
+
InstructionsOverride: string | null;
|
|
9783
|
+
|
|
9784
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
9785
|
+
RestoreContext___?: RestoreContextInput;
|
|
9786
|
+
}
|
|
9787
|
+
|
|
9788
|
+
|
|
9789
|
+
//****************************************************************************
|
|
9790
|
+
// INPUT TYPE for MJ: AI Agent User Policies
|
|
9791
|
+
//****************************************************************************
|
|
9792
|
+
@InputType()
|
|
9793
|
+
export class UpdateMJAIAgentUserPolicyInput {
|
|
9794
|
+
@Field()
|
|
9795
|
+
ID: string;
|
|
9796
|
+
|
|
9797
|
+
@Field({ nullable: true })
|
|
9798
|
+
AgentID?: string;
|
|
9799
|
+
|
|
9800
|
+
@Field({ nullable: true })
|
|
9801
|
+
UserID?: string;
|
|
9802
|
+
|
|
9803
|
+
@Field({ nullable: true })
|
|
9804
|
+
DisplayNameOverride?: string | null;
|
|
9805
|
+
|
|
9806
|
+
@Field({ nullable: true })
|
|
9807
|
+
PreferredPersonaID?: string | null;
|
|
9808
|
+
|
|
9809
|
+
@Field({ nullable: true })
|
|
9810
|
+
Status?: string;
|
|
9811
|
+
|
|
9812
|
+
@Field({ nullable: true })
|
|
9813
|
+
OnboardingStatus?: string;
|
|
9814
|
+
|
|
9815
|
+
@Field({ nullable: true })
|
|
9816
|
+
OnboardedAt?: Date | null;
|
|
9817
|
+
|
|
9818
|
+
@Field({ nullable: true })
|
|
9819
|
+
CoordinationMode?: string;
|
|
9820
|
+
|
|
9821
|
+
@Field({ nullable: true })
|
|
9822
|
+
DefaultDataAccessMode?: string;
|
|
9823
|
+
|
|
9824
|
+
@Field({ nullable: true })
|
|
9825
|
+
EmailChannelMode?: string;
|
|
9826
|
+
|
|
9827
|
+
@Field({ nullable: true })
|
|
9828
|
+
PhoneChannelMode?: string;
|
|
9829
|
+
|
|
9830
|
+
@Field({ nullable: true })
|
|
9831
|
+
MessagingChannelMode?: string;
|
|
9832
|
+
|
|
9833
|
+
@Field({ nullable: true })
|
|
9834
|
+
CalendarChannelMode?: string;
|
|
9835
|
+
|
|
9836
|
+
@Field(() => Boolean, { nullable: true })
|
|
9837
|
+
AllowInterAgentCoordination?: boolean;
|
|
9838
|
+
|
|
9839
|
+
@Field(() => Boolean, { nullable: true })
|
|
9840
|
+
RequireApprovalForExternalComms?: boolean;
|
|
9841
|
+
|
|
9842
|
+
@Field(() => Boolean, { nullable: true })
|
|
9843
|
+
RequireApprovalForFinancials?: boolean;
|
|
9844
|
+
|
|
9845
|
+
@Field(() => Boolean, { nullable: true })
|
|
9846
|
+
RequireApprovalForDestructiveActions?: boolean;
|
|
9847
|
+
|
|
9848
|
+
@Field(() => Float, { nullable: true })
|
|
9849
|
+
AutoApproveAmountThreshold?: number | null;
|
|
9850
|
+
|
|
9851
|
+
@Field({ nullable: true })
|
|
9852
|
+
EntityAccessRules?: string | null;
|
|
9853
|
+
|
|
9854
|
+
@Field({ nullable: true })
|
|
9855
|
+
ActionPolicyRules?: string | null;
|
|
9856
|
+
|
|
9857
|
+
@Field({ nullable: true })
|
|
9858
|
+
InstructionsOverride?: string | null;
|
|
9859
|
+
|
|
9860
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
9861
|
+
OldValues___?: KeyValuePairInput[];
|
|
9862
|
+
|
|
9863
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
9864
|
+
RestoreContext___?: RestoreContextInput;
|
|
9865
|
+
}
|
|
9866
|
+
|
|
9867
|
+
//****************************************************************************
|
|
9868
|
+
// RESOLVER for MJ: AI Agent User Policies
|
|
9869
|
+
//****************************************************************************
|
|
9870
|
+
@ObjectType()
|
|
9871
|
+
export class RunMJAIAgentUserPolicyViewResult {
|
|
9872
|
+
@Field(() => [MJAIAgentUserPolicy_])
|
|
9873
|
+
Results: MJAIAgentUserPolicy_[];
|
|
9874
|
+
|
|
9875
|
+
@Field(() => String, {nullable: true})
|
|
9876
|
+
UserViewRunID?: string;
|
|
9877
|
+
|
|
9878
|
+
@Field(() => Int, {nullable: true})
|
|
9879
|
+
RowCount: number;
|
|
9880
|
+
|
|
9881
|
+
@Field(() => Int, {nullable: true})
|
|
9882
|
+
TotalRowCount: number;
|
|
9883
|
+
|
|
9884
|
+
@Field(() => Int, {nullable: true})
|
|
9885
|
+
ExecutionTime: number;
|
|
9886
|
+
|
|
9887
|
+
@Field({nullable: true})
|
|
9888
|
+
ErrorMessage?: string;
|
|
9889
|
+
|
|
9890
|
+
@Field(() => Boolean, {nullable: false})
|
|
9891
|
+
Success: boolean;
|
|
9892
|
+
}
|
|
9893
|
+
|
|
9894
|
+
@Resolver(MJAIAgentUserPolicy_)
|
|
9895
|
+
export class MJAIAgentUserPolicyResolver extends ResolverBase {
|
|
9896
|
+
@Query(() => RunMJAIAgentUserPolicyViewResult)
|
|
9897
|
+
async RunMJAIAgentUserPolicyViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9898
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9899
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
9900
|
+
}
|
|
9901
|
+
|
|
9902
|
+
@Query(() => RunMJAIAgentUserPolicyViewResult)
|
|
9903
|
+
async RunMJAIAgentUserPolicyViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9904
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9905
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
9906
|
+
}
|
|
9907
|
+
|
|
9908
|
+
@Query(() => RunMJAIAgentUserPolicyViewResult)
|
|
9909
|
+
async RunMJAIAgentUserPolicyDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9910
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9911
|
+
input.EntityName = 'MJ: AI Agent User Policies';
|
|
9912
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
9913
|
+
}
|
|
9914
|
+
@Query(() => MJAIAgentUserPolicy_, { nullable: true })
|
|
9915
|
+
async MJAIAgentUserPolicy(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJAIAgentUserPolicy_ | null> {
|
|
9916
|
+
this.CheckUserReadPermissions('MJ: AI Agent User Policies', userPayload);
|
|
9917
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
9918
|
+
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');
|
|
9919
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
9920
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: AI Agent User Policies', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
9921
|
+
return result;
|
|
9922
|
+
}
|
|
9923
|
+
|
|
9924
|
+
@Mutation(() => MJAIAgentUserPolicy_)
|
|
9925
|
+
async CreateMJAIAgentUserPolicy(
|
|
9926
|
+
@Arg('input', () => CreateMJAIAgentUserPolicyInput) input: CreateMJAIAgentUserPolicyInput,
|
|
9927
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
9928
|
+
@PubSub() pubSub: PubSubEngine
|
|
9929
|
+
) {
|
|
9930
|
+
const provider = GetReadWriteProvider(providers);
|
|
9931
|
+
return this.CreateRecord('MJ: AI Agent User Policies', input, provider, userPayload, pubSub)
|
|
9932
|
+
}
|
|
9933
|
+
|
|
9934
|
+
@Mutation(() => MJAIAgentUserPolicy_)
|
|
9935
|
+
async UpdateMJAIAgentUserPolicy(
|
|
9936
|
+
@Arg('input', () => UpdateMJAIAgentUserPolicyInput) input: UpdateMJAIAgentUserPolicyInput,
|
|
9937
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
9938
|
+
@PubSub() pubSub: PubSubEngine
|
|
9939
|
+
) {
|
|
9940
|
+
const provider = GetReadWriteProvider(providers);
|
|
9941
|
+
return this.UpdateRecord('MJ: AI Agent User Policies', input, provider, userPayload, pubSub);
|
|
9942
|
+
}
|
|
9943
|
+
|
|
9944
|
+
@Mutation(() => MJAIAgentUserPolicy_)
|
|
9945
|
+
async DeleteMJAIAgentUserPolicy(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
9946
|
+
const provider = GetReadWriteProvider(providers);
|
|
9947
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
9948
|
+
return this.DeleteRecord('MJ: AI Agent User Policies', key, options, provider, userPayload, pubSub);
|
|
9949
|
+
}
|
|
9950
|
+
|
|
9951
|
+
}
|
|
9952
|
+
|
|
9324
9953
|
//****************************************************************************
|
|
9325
9954
|
// ENTITY CLASS for MJ: AI Agents
|
|
9326
9955
|
//****************************************************************************
|
|
@@ -10516,6 +11145,10 @@ export class MJAIBridgeAgentIdentity_ {
|
|
|
10516
11145
|
@Field()
|
|
10517
11146
|
_mj__UpdatedAt: Date;
|
|
10518
11147
|
|
|
11148
|
+
@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."})
|
|
11149
|
+
@MaxLength(36)
|
|
11150
|
+
UserID?: string;
|
|
11151
|
+
|
|
10519
11152
|
@Field({nullable: true})
|
|
10520
11153
|
@MaxLength(255)
|
|
10521
11154
|
Agent?: string;
|
|
@@ -10524,6 +11157,10 @@ export class MJAIBridgeAgentIdentity_ {
|
|
|
10524
11157
|
@MaxLength(100)
|
|
10525
11158
|
Provider?: string;
|
|
10526
11159
|
|
|
11160
|
+
@Field({nullable: true})
|
|
11161
|
+
@MaxLength(100)
|
|
11162
|
+
User?: string;
|
|
11163
|
+
|
|
10527
11164
|
@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
11165
|
ReadableFields___?: string[];
|
|
10529
11166
|
|
|
@@ -10558,6 +11195,9 @@ export class CreateMJAIBridgeAgentIdentityInput {
|
|
|
10558
11195
|
@Field({ nullable: true })
|
|
10559
11196
|
Configuration: string | null;
|
|
10560
11197
|
|
|
11198
|
+
@Field({ nullable: true })
|
|
11199
|
+
UserID: string | null;
|
|
11200
|
+
|
|
10561
11201
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
10562
11202
|
RestoreContext___?: RestoreContextInput;
|
|
10563
11203
|
}
|
|
@@ -10592,6 +11232,9 @@ export class UpdateMJAIBridgeAgentIdentityInput {
|
|
|
10592
11232
|
@Field({ nullable: true })
|
|
10593
11233
|
Configuration?: string | null;
|
|
10594
11234
|
|
|
11235
|
+
@Field({ nullable: true })
|
|
11236
|
+
UserID?: string | null;
|
|
11237
|
+
|
|
10595
11238
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
10596
11239
|
OldValues___?: KeyValuePairInput[];
|
|
10597
11240
|
|
|
@@ -17016,6 +17659,10 @@ export class MJAIPrompt_ {
|
|
|
17016
17659
|
@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
17660
|
PromptConfiguration?: string;
|
|
17018
17661
|
|
|
17662
|
+
@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."})
|
|
17663
|
+
@MaxLength(20)
|
|
17664
|
+
TemplateDataCapture?: string;
|
|
17665
|
+
|
|
17019
17666
|
@Field({nullable: true})
|
|
17020
17667
|
@MaxLength(255)
|
|
17021
17668
|
Template?: string;
|
|
@@ -17205,6 +17852,9 @@ export class CreateMJAIPromptInput {
|
|
|
17205
17852
|
@Field({ nullable: true })
|
|
17206
17853
|
PromptConfiguration: string | null;
|
|
17207
17854
|
|
|
17855
|
+
@Field({ nullable: true })
|
|
17856
|
+
TemplateDataCapture: string | null;
|
|
17857
|
+
|
|
17208
17858
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
17209
17859
|
RestoreContext___?: RestoreContextInput;
|
|
17210
17860
|
}
|
|
@@ -17374,6 +18024,9 @@ export class UpdateMJAIPromptInput {
|
|
|
17374
18024
|
@Field({ nullable: true })
|
|
17375
18025
|
PromptConfiguration?: string | null;
|
|
17376
18026
|
|
|
18027
|
+
@Field({ nullable: true })
|
|
18028
|
+
TemplateDataCapture?: string | null;
|
|
18029
|
+
|
|
17377
18030
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
17378
18031
|
OldValues___?: KeyValuePairInput[];
|
|
17379
18032
|
|
|
@@ -22716,6 +23369,9 @@ export class MJActionParam_ {
|
|
|
22716
23369
|
@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
23370
|
LogValue?: boolean;
|
|
22718
23371
|
|
|
23372
|
+
@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."})
|
|
23373
|
+
ValueSchema?: string;
|
|
23374
|
+
|
|
22719
23375
|
@Field({nullable: true})
|
|
22720
23376
|
@MaxLength(425)
|
|
22721
23377
|
Action?: string;
|
|
@@ -22763,6 +23419,9 @@ export class CreateMJActionParamInput {
|
|
|
22763
23419
|
@Field(() => Boolean, { nullable: true })
|
|
22764
23420
|
LogValue?: boolean;
|
|
22765
23421
|
|
|
23422
|
+
@Field({ nullable: true })
|
|
23423
|
+
ValueSchema: string | null;
|
|
23424
|
+
|
|
22766
23425
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
22767
23426
|
RestoreContext___?: RestoreContextInput;
|
|
22768
23427
|
}
|
|
@@ -22806,6 +23465,9 @@ export class UpdateMJActionParamInput {
|
|
|
22806
23465
|
@Field(() => Boolean, { nullable: true })
|
|
22807
23466
|
LogValue?: boolean;
|
|
22808
23467
|
|
|
23468
|
+
@Field({ nullable: true })
|
|
23469
|
+
ValueSchema?: string | null;
|
|
23470
|
+
|
|
22809
23471
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
22810
23472
|
OldValues___?: KeyValuePairInput[];
|
|
22811
23473
|
|
|
@@ -24640,6 +25302,10 @@ export class MJArchiveConfiguration_ {
|
|
|
24640
25302
|
@Field()
|
|
24641
25303
|
_mj__UpdatedAt: Date;
|
|
24642
25304
|
|
|
25305
|
+
@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."})
|
|
25306
|
+
@MaxLength(20)
|
|
25307
|
+
StorageMode?: string;
|
|
25308
|
+
|
|
24643
25309
|
@Field({nullable: true})
|
|
24644
25310
|
@MaxLength(200)
|
|
24645
25311
|
StorageAccount?: string;
|
|
@@ -24697,54 +25363,60 @@ export class CreateMJArchiveConfigurationInput {
|
|
|
24697
25363
|
@Field({ nullable: true })
|
|
24698
25364
|
CreatedByUserID?: string;
|
|
24699
25365
|
|
|
24700
|
-
@Field(() => RestoreContextInput, { nullable: true })
|
|
24701
|
-
RestoreContext___?: RestoreContextInput;
|
|
24702
|
-
}
|
|
24703
|
-
|
|
24704
|
-
|
|
24705
|
-
//****************************************************************************
|
|
24706
|
-
// INPUT TYPE for MJ: Archive Configurations
|
|
24707
|
-
//****************************************************************************
|
|
24708
|
-
@InputType()
|
|
24709
|
-
export class UpdateMJArchiveConfigurationInput {
|
|
24710
|
-
@Field()
|
|
24711
|
-
ID: string;
|
|
24712
|
-
|
|
24713
|
-
@Field({ nullable: true })
|
|
24714
|
-
Name?: string;
|
|
24715
|
-
|
|
24716
|
-
@Field({ nullable: true })
|
|
24717
|
-
Description?: string | null;
|
|
24718
|
-
|
|
24719
|
-
@Field({ nullable: true })
|
|
24720
|
-
StorageAccountID?: string | null;
|
|
24721
|
-
|
|
24722
|
-
@Field({ nullable: true })
|
|
24723
|
-
RootPath?: string;
|
|
24724
|
-
|
|
24725
|
-
@Field({ nullable: true })
|
|
24726
|
-
ArchiveFormat?: string;
|
|
24727
|
-
|
|
24728
|
-
@Field(() => Boolean, { nullable: true })
|
|
24729
|
-
IsActive?: boolean;
|
|
24730
|
-
|
|
24731
|
-
@Field(() => Int, { nullable: true })
|
|
24732
|
-
DefaultRetentionDays?: number;
|
|
24733
|
-
|
|
24734
25366
|
@Field({ nullable: true })
|
|
24735
|
-
|
|
24736
|
-
|
|
24737
|
-
@Field(() =>
|
|
24738
|
-
|
|
24739
|
-
|
|
24740
|
-
|
|
24741
|
-
|
|
24742
|
-
|
|
24743
|
-
|
|
24744
|
-
|
|
24745
|
-
|
|
24746
|
-
|
|
24747
|
-
|
|
25367
|
+
StorageMode?: string;
|
|
25368
|
+
|
|
25369
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
25370
|
+
RestoreContext___?: RestoreContextInput;
|
|
25371
|
+
}
|
|
25372
|
+
|
|
25373
|
+
|
|
25374
|
+
//****************************************************************************
|
|
25375
|
+
// INPUT TYPE for MJ: Archive Configurations
|
|
25376
|
+
//****************************************************************************
|
|
25377
|
+
@InputType()
|
|
25378
|
+
export class UpdateMJArchiveConfigurationInput {
|
|
25379
|
+
@Field()
|
|
25380
|
+
ID: string;
|
|
25381
|
+
|
|
25382
|
+
@Field({ nullable: true })
|
|
25383
|
+
Name?: string;
|
|
25384
|
+
|
|
25385
|
+
@Field({ nullable: true })
|
|
25386
|
+
Description?: string | null;
|
|
25387
|
+
|
|
25388
|
+
@Field({ nullable: true })
|
|
25389
|
+
StorageAccountID?: string | null;
|
|
25390
|
+
|
|
25391
|
+
@Field({ nullable: true })
|
|
25392
|
+
RootPath?: string;
|
|
25393
|
+
|
|
25394
|
+
@Field({ nullable: true })
|
|
25395
|
+
ArchiveFormat?: string;
|
|
25396
|
+
|
|
25397
|
+
@Field(() => Boolean, { nullable: true })
|
|
25398
|
+
IsActive?: boolean;
|
|
25399
|
+
|
|
25400
|
+
@Field(() => Int, { nullable: true })
|
|
25401
|
+
DefaultRetentionDays?: number;
|
|
25402
|
+
|
|
25403
|
+
@Field({ nullable: true })
|
|
25404
|
+
DefaultMode?: string;
|
|
25405
|
+
|
|
25406
|
+
@Field(() => Int, { nullable: true })
|
|
25407
|
+
DefaultBatchSize?: number;
|
|
25408
|
+
|
|
25409
|
+
@Field(() => Boolean, { nullable: true })
|
|
25410
|
+
ArchiveRelatedRecordChanges?: boolean;
|
|
25411
|
+
|
|
25412
|
+
@Field({ nullable: true })
|
|
25413
|
+
Status?: string;
|
|
25414
|
+
|
|
25415
|
+
@Field({ nullable: true })
|
|
25416
|
+
CreatedByUserID?: string;
|
|
25417
|
+
|
|
25418
|
+
@Field({ nullable: true })
|
|
25419
|
+
StorageMode?: string;
|
|
24748
25420
|
|
|
24749
25421
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
24750
25422
|
OldValues___?: KeyValuePairInput[];
|
|
@@ -24900,7 +25572,8 @@ export class MJArchiveRunDetail_ {
|
|
|
24900
25572
|
_mj__UpdatedAt: Date;
|
|
24901
25573
|
|
|
24902
25574
|
@Field({nullable: true})
|
|
24903
|
-
|
|
25575
|
+
@MaxLength(255)
|
|
25576
|
+
ArchiveRun?: string;
|
|
24904
25577
|
|
|
24905
25578
|
@Field({nullable: true})
|
|
24906
25579
|
@MaxLength(255)
|
|
@@ -25146,6 +25819,10 @@ export class MJArchiveRun_ {
|
|
|
25146
25819
|
@Field()
|
|
25147
25820
|
_mj__UpdatedAt: Date;
|
|
25148
25821
|
|
|
25822
|
+
@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)."})
|
|
25823
|
+
@MaxLength(20)
|
|
25824
|
+
StorageMode?: string;
|
|
25825
|
+
|
|
25149
25826
|
@Field({nullable: true})
|
|
25150
25827
|
@MaxLength(255)
|
|
25151
25828
|
ArchiveConfiguration?: string;
|
|
@@ -25200,6 +25877,9 @@ export class CreateMJArchiveRunInput {
|
|
|
25200
25877
|
@Field({ nullable: true })
|
|
25201
25878
|
UserID?: string;
|
|
25202
25879
|
|
|
25880
|
+
@Field({ nullable: true })
|
|
25881
|
+
StorageMode?: string;
|
|
25882
|
+
|
|
25203
25883
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
25204
25884
|
RestoreContext___?: RestoreContextInput;
|
|
25205
25885
|
}
|
|
@@ -25246,6 +25926,9 @@ export class UpdateMJArchiveRunInput {
|
|
|
25246
25926
|
@Field({ nullable: true })
|
|
25247
25927
|
UserID?: string;
|
|
25248
25928
|
|
|
25929
|
+
@Field({ nullable: true })
|
|
25930
|
+
StorageMode?: string;
|
|
25931
|
+
|
|
25249
25932
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
25250
25933
|
OldValues___?: KeyValuePairInput[];
|
|
25251
25934
|
|
|
@@ -29562,6 +30245,28 @@ export class MJCommunicationProvider_ {
|
|
|
29562
30245
|
@Field(() => Boolean, {nullable: true, description: "Whether or not the provider supports creating draft messages"})
|
|
29563
30246
|
SupportsDrafts?: boolean;
|
|
29564
30247
|
|
|
30248
|
+
@Field(() => Boolean, {nullable: true, description: "Whether the provider supports calendar event reading, creation, updating, and invitation responses."})
|
|
30249
|
+
SupportsCalendar?: boolean;
|
|
30250
|
+
|
|
30251
|
+
@Field(() => Boolean, {nullable: true, description: "Whether the provider supports checking free/busy schedules and finding optimal meeting times."})
|
|
30252
|
+
SupportsFreeBusy?: boolean;
|
|
30253
|
+
|
|
30254
|
+
@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."})
|
|
30255
|
+
@MaxLength(40)
|
|
30256
|
+
EnterpriseScopeMode?: string;
|
|
30257
|
+
|
|
30258
|
+
@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\")."})
|
|
30259
|
+
@MaxLength(500)
|
|
30260
|
+
AllowedEmailDomains?: string;
|
|
30261
|
+
|
|
30262
|
+
@Field({nullable: true, description: "Optional default MJ Credential used by this communication provider when no per-request credential override is supplied."})
|
|
30263
|
+
@MaxLength(36)
|
|
30264
|
+
DefaultCredentialID?: string;
|
|
30265
|
+
|
|
30266
|
+
@Field({nullable: true})
|
|
30267
|
+
@MaxLength(200)
|
|
30268
|
+
DefaultCredential?: string;
|
|
30269
|
+
|
|
29565
30270
|
@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
30271
|
ReadableFields___?: string[];
|
|
29567
30272
|
|
|
@@ -29602,6 +30307,21 @@ export class CreateMJCommunicationProviderInput {
|
|
|
29602
30307
|
@Field(() => Boolean, { nullable: true })
|
|
29603
30308
|
SupportsDrafts?: boolean;
|
|
29604
30309
|
|
|
30310
|
+
@Field(() => Boolean, { nullable: true })
|
|
30311
|
+
SupportsCalendar?: boolean;
|
|
30312
|
+
|
|
30313
|
+
@Field(() => Boolean, { nullable: true })
|
|
30314
|
+
SupportsFreeBusy?: boolean;
|
|
30315
|
+
|
|
30316
|
+
@Field({ nullable: true })
|
|
30317
|
+
EnterpriseScopeMode?: string;
|
|
30318
|
+
|
|
30319
|
+
@Field({ nullable: true })
|
|
30320
|
+
AllowedEmailDomains: string | null;
|
|
30321
|
+
|
|
30322
|
+
@Field({ nullable: true })
|
|
30323
|
+
DefaultCredentialID: string | null;
|
|
30324
|
+
|
|
29605
30325
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
29606
30326
|
RestoreContext___?: RestoreContextInput;
|
|
29607
30327
|
}
|
|
@@ -29642,6 +30362,21 @@ export class UpdateMJCommunicationProviderInput {
|
|
|
29642
30362
|
@Field(() => Boolean, { nullable: true })
|
|
29643
30363
|
SupportsDrafts?: boolean;
|
|
29644
30364
|
|
|
30365
|
+
@Field(() => Boolean, { nullable: true })
|
|
30366
|
+
SupportsCalendar?: boolean;
|
|
30367
|
+
|
|
30368
|
+
@Field(() => Boolean, { nullable: true })
|
|
30369
|
+
SupportsFreeBusy?: boolean;
|
|
30370
|
+
|
|
30371
|
+
@Field({ nullable: true })
|
|
30372
|
+
EnterpriseScopeMode?: string;
|
|
30373
|
+
|
|
30374
|
+
@Field({ nullable: true })
|
|
30375
|
+
AllowedEmailDomains?: string | null;
|
|
30376
|
+
|
|
30377
|
+
@Field({ nullable: true })
|
|
30378
|
+
DefaultCredentialID?: string | null;
|
|
30379
|
+
|
|
29645
30380
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
29646
30381
|
OldValues___?: KeyValuePairInput[];
|
|
29647
30382
|
|
|
@@ -37255,6 +37990,221 @@ export class MJConversationArtifactResolver extends ResolverBase {
|
|
|
37255
37990
|
|
|
37256
37991
|
}
|
|
37257
37992
|
|
|
37993
|
+
//****************************************************************************
|
|
37994
|
+
// ENTITY CLASS for MJ: Conversation Branches
|
|
37995
|
+
//****************************************************************************
|
|
37996
|
+
@ObjectType({ description: "A fork of a conversation: another path that starts at a message. Main (the trunk) is the messages with no branch. A fork's path is its own messages plus each ancestor's messages up to that ancestor's ForkFromSequence." })
|
|
37997
|
+
export class MJConversationBranch_ {
|
|
37998
|
+
@Field()
|
|
37999
|
+
@MaxLength(36)
|
|
38000
|
+
ID: string;
|
|
38001
|
+
|
|
38002
|
+
@Field({nullable: true, description: "The conversation this fork belongs to."})
|
|
38003
|
+
@MaxLength(36)
|
|
38004
|
+
ConversationID?: string;
|
|
38005
|
+
|
|
38006
|
+
@Field({nullable: true, description: "The fork this one started from. NULL means it started from Main, or before the first message when ForkFromSequence is also NULL."})
|
|
38007
|
+
@MaxLength(36)
|
|
38008
|
+
ParentBranchID?: string;
|
|
38009
|
+
|
|
38010
|
+
@Field(() => Int, {nullable: true, description: "Sequence of the last message shared with the parent path. NULL means the fork starts before the first message, in which case ParentBranchID is also NULL."})
|
|
38011
|
+
ForkFromSequence?: number;
|
|
38012
|
+
|
|
38013
|
+
@Field({nullable: true, description: "Optional name of the fork. With no name, the UI shows a default label from Kind: a Fork is named from its first message."})
|
|
38014
|
+
@MaxLength(255)
|
|
38015
|
+
Name?: string;
|
|
38016
|
+
|
|
38017
|
+
@Field({nullable: true, description: "How the fork started: Fork (Fork from here), Edit (a sent message was edited) or Regenerate (an answer was regenerated)."})
|
|
38018
|
+
@MaxLength(20)
|
|
38019
|
+
Kind?: string;
|
|
38020
|
+
|
|
38021
|
+
@Field({nullable: true, description: "The edited message (Kind Edit) or the replaced answer (Kind Regenerate); NULL otherwise. Not a foreign key, to avoid a CodeGen cascade cycle with ConversationDetail."})
|
|
38022
|
+
@MaxLength(36)
|
|
38023
|
+
SourceDetailID?: string;
|
|
38024
|
+
|
|
38025
|
+
@Field({nullable: true, description: "The person who started the fork."})
|
|
38026
|
+
@MaxLength(36)
|
|
38027
|
+
UserID?: string;
|
|
38028
|
+
|
|
38029
|
+
@Field()
|
|
38030
|
+
_mj__CreatedAt: Date;
|
|
38031
|
+
|
|
38032
|
+
@Field()
|
|
38033
|
+
_mj__UpdatedAt: Date;
|
|
38034
|
+
|
|
38035
|
+
@Field({nullable: true})
|
|
38036
|
+
@MaxLength(255)
|
|
38037
|
+
Conversation?: string;
|
|
38038
|
+
|
|
38039
|
+
@Field({nullable: true})
|
|
38040
|
+
@MaxLength(255)
|
|
38041
|
+
ParentBranch?: string;
|
|
38042
|
+
|
|
38043
|
+
@Field({nullable: true})
|
|
38044
|
+
@MaxLength(100)
|
|
38045
|
+
User?: string;
|
|
38046
|
+
|
|
38047
|
+
@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.` })
|
|
38048
|
+
ReadableFields___?: string[];
|
|
38049
|
+
|
|
38050
|
+
}
|
|
38051
|
+
|
|
38052
|
+
//****************************************************************************
|
|
38053
|
+
// INPUT TYPE for MJ: Conversation Branches
|
|
38054
|
+
//****************************************************************************
|
|
38055
|
+
@InputType()
|
|
38056
|
+
export class CreateMJConversationBranchInput {
|
|
38057
|
+
@Field({ nullable: true })
|
|
38058
|
+
ID?: string;
|
|
38059
|
+
|
|
38060
|
+
@Field({ nullable: true })
|
|
38061
|
+
ConversationID?: string;
|
|
38062
|
+
|
|
38063
|
+
@Field({ nullable: true })
|
|
38064
|
+
ParentBranchID: string | null;
|
|
38065
|
+
|
|
38066
|
+
@Field(() => Int, { nullable: true })
|
|
38067
|
+
ForkFromSequence: number | null;
|
|
38068
|
+
|
|
38069
|
+
@Field({ nullable: true })
|
|
38070
|
+
Name: string | null;
|
|
38071
|
+
|
|
38072
|
+
@Field({ nullable: true })
|
|
38073
|
+
Kind?: string;
|
|
38074
|
+
|
|
38075
|
+
@Field({ nullable: true })
|
|
38076
|
+
SourceDetailID: string | null;
|
|
38077
|
+
|
|
38078
|
+
@Field({ nullable: true })
|
|
38079
|
+
UserID?: string;
|
|
38080
|
+
|
|
38081
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
38082
|
+
RestoreContext___?: RestoreContextInput;
|
|
38083
|
+
}
|
|
38084
|
+
|
|
38085
|
+
|
|
38086
|
+
//****************************************************************************
|
|
38087
|
+
// INPUT TYPE for MJ: Conversation Branches
|
|
38088
|
+
//****************************************************************************
|
|
38089
|
+
@InputType()
|
|
38090
|
+
export class UpdateMJConversationBranchInput {
|
|
38091
|
+
@Field()
|
|
38092
|
+
ID: string;
|
|
38093
|
+
|
|
38094
|
+
@Field({ nullable: true })
|
|
38095
|
+
ConversationID?: string;
|
|
38096
|
+
|
|
38097
|
+
@Field({ nullable: true })
|
|
38098
|
+
ParentBranchID?: string | null;
|
|
38099
|
+
|
|
38100
|
+
@Field(() => Int, { nullable: true })
|
|
38101
|
+
ForkFromSequence?: number | null;
|
|
38102
|
+
|
|
38103
|
+
@Field({ nullable: true })
|
|
38104
|
+
Name?: string | null;
|
|
38105
|
+
|
|
38106
|
+
@Field({ nullable: true })
|
|
38107
|
+
Kind?: string;
|
|
38108
|
+
|
|
38109
|
+
@Field({ nullable: true })
|
|
38110
|
+
SourceDetailID?: string | null;
|
|
38111
|
+
|
|
38112
|
+
@Field({ nullable: true })
|
|
38113
|
+
UserID?: string;
|
|
38114
|
+
|
|
38115
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
38116
|
+
OldValues___?: KeyValuePairInput[];
|
|
38117
|
+
|
|
38118
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
38119
|
+
RestoreContext___?: RestoreContextInput;
|
|
38120
|
+
}
|
|
38121
|
+
|
|
38122
|
+
//****************************************************************************
|
|
38123
|
+
// RESOLVER for MJ: Conversation Branches
|
|
38124
|
+
//****************************************************************************
|
|
38125
|
+
@ObjectType()
|
|
38126
|
+
export class RunMJConversationBranchViewResult {
|
|
38127
|
+
@Field(() => [MJConversationBranch_])
|
|
38128
|
+
Results: MJConversationBranch_[];
|
|
38129
|
+
|
|
38130
|
+
@Field(() => String, {nullable: true})
|
|
38131
|
+
UserViewRunID?: string;
|
|
38132
|
+
|
|
38133
|
+
@Field(() => Int, {nullable: true})
|
|
38134
|
+
RowCount: number;
|
|
38135
|
+
|
|
38136
|
+
@Field(() => Int, {nullable: true})
|
|
38137
|
+
TotalRowCount: number;
|
|
38138
|
+
|
|
38139
|
+
@Field(() => Int, {nullable: true})
|
|
38140
|
+
ExecutionTime: number;
|
|
38141
|
+
|
|
38142
|
+
@Field({nullable: true})
|
|
38143
|
+
ErrorMessage?: string;
|
|
38144
|
+
|
|
38145
|
+
@Field(() => Boolean, {nullable: false})
|
|
38146
|
+
Success: boolean;
|
|
38147
|
+
}
|
|
38148
|
+
|
|
38149
|
+
@Resolver(MJConversationBranch_)
|
|
38150
|
+
export class MJConversationBranchResolver extends ResolverBase {
|
|
38151
|
+
@Query(() => RunMJConversationBranchViewResult)
|
|
38152
|
+
async RunMJConversationBranchViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
38153
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
38154
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
38155
|
+
}
|
|
38156
|
+
|
|
38157
|
+
@Query(() => RunMJConversationBranchViewResult)
|
|
38158
|
+
async RunMJConversationBranchViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
38159
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
38160
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
38161
|
+
}
|
|
38162
|
+
|
|
38163
|
+
@Query(() => RunMJConversationBranchViewResult)
|
|
38164
|
+
async RunMJConversationBranchDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
38165
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
38166
|
+
input.EntityName = 'MJ: Conversation Branches';
|
|
38167
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
38168
|
+
}
|
|
38169
|
+
@Query(() => MJConversationBranch_, { nullable: true })
|
|
38170
|
+
async MJConversationBranch(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJConversationBranch_ | null> {
|
|
38171
|
+
this.CheckUserReadPermissions('MJ: Conversation Branches', userPayload);
|
|
38172
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
38173
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwConversationBranches')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Conversation Branches', userPayload, EntityPermissionType.Read, 'AND');
|
|
38174
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
38175
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Conversation Branches', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
38176
|
+
return result;
|
|
38177
|
+
}
|
|
38178
|
+
|
|
38179
|
+
@Mutation(() => MJConversationBranch_)
|
|
38180
|
+
async CreateMJConversationBranch(
|
|
38181
|
+
@Arg('input', () => CreateMJConversationBranchInput) input: CreateMJConversationBranchInput,
|
|
38182
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
38183
|
+
@PubSub() pubSub: PubSubEngine
|
|
38184
|
+
) {
|
|
38185
|
+
const provider = GetReadWriteProvider(providers);
|
|
38186
|
+
return this.CreateRecord('MJ: Conversation Branches', input, provider, userPayload, pubSub)
|
|
38187
|
+
}
|
|
38188
|
+
|
|
38189
|
+
@Mutation(() => MJConversationBranch_)
|
|
38190
|
+
async UpdateMJConversationBranch(
|
|
38191
|
+
@Arg('input', () => UpdateMJConversationBranchInput) input: UpdateMJConversationBranchInput,
|
|
38192
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
38193
|
+
@PubSub() pubSub: PubSubEngine
|
|
38194
|
+
) {
|
|
38195
|
+
const provider = GetReadWriteProvider(providers);
|
|
38196
|
+
return this.UpdateRecord('MJ: Conversation Branches', input, provider, userPayload, pubSub);
|
|
38197
|
+
}
|
|
38198
|
+
|
|
38199
|
+
@Mutation(() => MJConversationBranch_)
|
|
38200
|
+
async DeleteMJConversationBranch(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
38201
|
+
const provider = GetReadWriteProvider(providers);
|
|
38202
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
38203
|
+
return this.DeleteRecord('MJ: Conversation Branches', key, options, provider, userPayload, pubSub);
|
|
38204
|
+
}
|
|
38205
|
+
|
|
38206
|
+
}
|
|
38207
|
+
|
|
37258
38208
|
//****************************************************************************
|
|
37259
38209
|
// ENTITY CLASS for MJ: Conversation Compaction Runs
|
|
37260
38210
|
//****************************************************************************
|
|
@@ -38168,6 +39118,13 @@ export class MJConversationDetail_ {
|
|
|
38168
39118
|
@Field(() => Int, {nullable: true, description: "Monotonic, per-conversation ordinal assigned on insert (1-based). Provides a stable symbolic handle used by conversation-history retrieval tools and by the sequence markers embedded in compaction summaries. A summary stored in SummaryOfEarlierConversation on a given row covers all rows with a lower Sequence in the same conversation."})
|
|
38169
39119
|
Sequence?: number;
|
|
38170
39120
|
|
|
39121
|
+
@Field({nullable: true, description: "The fork this message belongs to. NULL means Main (the trunk). Every writer sets it explicitly."})
|
|
39122
|
+
@MaxLength(36)
|
|
39123
|
+
BranchID?: string;
|
|
39124
|
+
|
|
39125
|
+
@Field({nullable: true, description: "When a rerun of this message's turn replaced it (Regenerate or Save and resend while forking is off). A replaced row is kept for audit, is hidden from the user and is never sent to an agent. NULL means the row is live."})
|
|
39126
|
+
ReplacedAt?: Date;
|
|
39127
|
+
|
|
38171
39128
|
@Field({nullable: true})
|
|
38172
39129
|
@MaxLength(255)
|
|
38173
39130
|
Conversation?: string;
|
|
@@ -38196,6 +39153,10 @@ export class MJConversationDetail_ {
|
|
|
38196
39153
|
@MaxLength(255)
|
|
38197
39154
|
TestRun?: string;
|
|
38198
39155
|
|
|
39156
|
+
@Field({nullable: true})
|
|
39157
|
+
@MaxLength(255)
|
|
39158
|
+
Branch?: string;
|
|
39159
|
+
|
|
38199
39160
|
@Field({nullable: true})
|
|
38200
39161
|
@MaxLength(36)
|
|
38201
39162
|
RootParentID?: string;
|
|
@@ -38312,6 +39273,12 @@ export class CreateMJConversationDetailInput {
|
|
|
38312
39273
|
@Field({ nullable: true })
|
|
38313
39274
|
MediaType: string | null;
|
|
38314
39275
|
|
|
39276
|
+
@Field({ nullable: true })
|
|
39277
|
+
BranchID: string | null;
|
|
39278
|
+
|
|
39279
|
+
@Field({ nullable: true })
|
|
39280
|
+
ReplacedAt: Date | null;
|
|
39281
|
+
|
|
38315
39282
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
38316
39283
|
RestoreContext___?: RestoreContextInput;
|
|
38317
39284
|
}
|
|
@@ -38412,6 +39379,12 @@ export class UpdateMJConversationDetailInput {
|
|
|
38412
39379
|
@Field({ nullable: true })
|
|
38413
39380
|
MediaType?: string | null;
|
|
38414
39381
|
|
|
39382
|
+
@Field({ nullable: true })
|
|
39383
|
+
BranchID?: string | null;
|
|
39384
|
+
|
|
39385
|
+
@Field({ nullable: true })
|
|
39386
|
+
ReplacedAt?: Date | null;
|
|
39387
|
+
|
|
38415
39388
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
38416
39389
|
OldValues___?: KeyValuePairInput[];
|
|
38417
39390
|
|
|
@@ -53584,6 +54557,383 @@ export class MJFeaturePipelineTypeResolver extends ResolverBase {
|
|
|
53584
54557
|
|
|
53585
54558
|
}
|
|
53586
54559
|
|
|
54560
|
+
//****************************************************************************
|
|
54561
|
+
// ENTITY CLASS for MJ: Feature Pipeline Versions
|
|
54562
|
+
//****************************************************************************
|
|
54563
|
+
@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." })
|
|
54564
|
+
export class MJFeaturePipelineVersion_ {
|
|
54565
|
+
@Field()
|
|
54566
|
+
@MaxLength(36)
|
|
54567
|
+
ID: string;
|
|
54568
|
+
|
|
54569
|
+
@Field({nullable: true})
|
|
54570
|
+
@MaxLength(36)
|
|
54571
|
+
RecordProcessID?: string;
|
|
54572
|
+
|
|
54573
|
+
@Field(() => Int, {nullable: true, description: "Monotonic version number within the pipeline (1, 2, ...)."})
|
|
54574
|
+
Version?: number;
|
|
54575
|
+
|
|
54576
|
+
@Field({nullable: true, description: "SHA-256 of the pin (SpecHash, PromptVersionHash, AIModelID, ParametersHash). Unique per pipeline."})
|
|
54577
|
+
@MaxLength(64)
|
|
54578
|
+
PinHash?: string;
|
|
54579
|
+
|
|
54580
|
+
@Field({nullable: true, description: "SHA-256 of the output-affecting parts of the DataFeatureSpec (Context, Outputs, PipelineType, Escalation, PromptID, ProcessorExtensionKey) and the OutputMapping."})
|
|
54581
|
+
@MaxLength(64)
|
|
54582
|
+
SpecHash?: string;
|
|
54583
|
+
|
|
54584
|
+
@Field({nullable: true, description: "The pipeline prompt this version runs."})
|
|
54585
|
+
@MaxLength(36)
|
|
54586
|
+
PromptID?: string;
|
|
54587
|
+
|
|
54588
|
+
@Field({nullable: true, description: "Prompt version hash (template text, outputs, constraint block, pipeline type, escalation) of this version."})
|
|
54589
|
+
@MaxLength(64)
|
|
54590
|
+
PromptVersionHash?: string;
|
|
54591
|
+
|
|
54592
|
+
@Field({nullable: true, description: "Primary AI model of the prompt for this version."})
|
|
54593
|
+
@MaxLength(36)
|
|
54594
|
+
AIModelID?: string;
|
|
54595
|
+
|
|
54596
|
+
@Field({nullable: true, description: "SHA-256 of the prompt inference parameters for this version."})
|
|
54597
|
+
@MaxLength(64)
|
|
54598
|
+
ParametersHash?: string;
|
|
54599
|
+
|
|
54600
|
+
@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)."})
|
|
54601
|
+
@MaxLength(20)
|
|
54602
|
+
Status?: string;
|
|
54603
|
+
|
|
54604
|
+
@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."})
|
|
54605
|
+
Gated?: boolean;
|
|
54606
|
+
|
|
54607
|
+
@Field({nullable: true, description: "The MJ: Tests row holding the golden set this version was evaluated on."})
|
|
54608
|
+
@MaxLength(36)
|
|
54609
|
+
GoldenSetTestID?: string;
|
|
54610
|
+
|
|
54611
|
+
@Field({nullable: true, description: "The MJ: Test Runs row of the evaluation whose result is stored here."})
|
|
54612
|
+
@MaxLength(36)
|
|
54613
|
+
GoldenSetTestRunID?: string;
|
|
54614
|
+
|
|
54615
|
+
@Field({nullable: true, description: "Metric of the stored result: accuracy."})
|
|
54616
|
+
@MaxLength(20)
|
|
54617
|
+
Metric?: string;
|
|
54618
|
+
|
|
54619
|
+
@Field(() => Float, {nullable: true, description: "Declared activation threshold copied from DataFeatureSpec.Activation at evaluation time."})
|
|
54620
|
+
Threshold?: number;
|
|
54621
|
+
|
|
54622
|
+
@Field(() => Float, {nullable: true, description: "Point estimate of the metric (the lowest per-output value when the pipeline has several outputs)."})
|
|
54623
|
+
ResultValue?: number;
|
|
54624
|
+
|
|
54625
|
+
@Field(() => Float, {nullable: true, description: "Lower bound of the 95% Wilson interval of ResultValue."})
|
|
54626
|
+
ResultLower?: number;
|
|
54627
|
+
|
|
54628
|
+
@Field(() => Float, {nullable: true, description: "Upper bound of the 95% Wilson interval of ResultValue."})
|
|
54629
|
+
ResultUpper?: number;
|
|
54630
|
+
|
|
54631
|
+
@Field(() => Int, {nullable: true, description: "Number of golden cases scored."})
|
|
54632
|
+
ResultN?: number;
|
|
54633
|
+
|
|
54634
|
+
@Field({nullable: true, description: "JSON per-output results (correct, n, value, interval) and the per-case answers of the evaluation."})
|
|
54635
|
+
ResultDetails?: string;
|
|
54636
|
+
|
|
54637
|
+
@Field({nullable: true, description: "When the version became Active."})
|
|
54638
|
+
ActivatedAt?: Date;
|
|
54639
|
+
|
|
54640
|
+
@Field({nullable: true, description: "The user whose run activated the version (for an unattended activation, the Feature Pipeline Version Steward job's user)."})
|
|
54641
|
+
@MaxLength(36)
|
|
54642
|
+
ApprovedByUserID?: string;
|
|
54643
|
+
|
|
54644
|
+
@Field({nullable: true, description: "When a later Active version superseded this one."})
|
|
54645
|
+
RetiredAt?: Date;
|
|
54646
|
+
|
|
54647
|
+
@Field({nullable: true, description: "When the Feature Pipeline Version Steward finished the one backfill run of this activation of the version."})
|
|
54648
|
+
BackfilledAt?: Date;
|
|
54649
|
+
|
|
54650
|
+
@Field()
|
|
54651
|
+
_mj__CreatedAt: Date;
|
|
54652
|
+
|
|
54653
|
+
@Field()
|
|
54654
|
+
_mj__UpdatedAt: Date;
|
|
54655
|
+
|
|
54656
|
+
@Field({nullable: true})
|
|
54657
|
+
@MaxLength(255)
|
|
54658
|
+
RecordProcess?: string;
|
|
54659
|
+
|
|
54660
|
+
@Field({nullable: true})
|
|
54661
|
+
@MaxLength(255)
|
|
54662
|
+
Prompt?: string;
|
|
54663
|
+
|
|
54664
|
+
@Field({nullable: true})
|
|
54665
|
+
@MaxLength(50)
|
|
54666
|
+
AIModel?: string;
|
|
54667
|
+
|
|
54668
|
+
@Field({nullable: true})
|
|
54669
|
+
@MaxLength(255)
|
|
54670
|
+
GoldenSetTest?: string;
|
|
54671
|
+
|
|
54672
|
+
@Field({nullable: true})
|
|
54673
|
+
@MaxLength(255)
|
|
54674
|
+
GoldenSetTestRun?: string;
|
|
54675
|
+
|
|
54676
|
+
@Field({nullable: true})
|
|
54677
|
+
@MaxLength(100)
|
|
54678
|
+
ApprovedByUser?: string;
|
|
54679
|
+
|
|
54680
|
+
@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.` })
|
|
54681
|
+
ReadableFields___?: string[];
|
|
54682
|
+
|
|
54683
|
+
}
|
|
54684
|
+
|
|
54685
|
+
//****************************************************************************
|
|
54686
|
+
// INPUT TYPE for MJ: Feature Pipeline Versions
|
|
54687
|
+
//****************************************************************************
|
|
54688
|
+
@InputType()
|
|
54689
|
+
export class CreateMJFeaturePipelineVersionInput {
|
|
54690
|
+
@Field({ nullable: true })
|
|
54691
|
+
ID?: string;
|
|
54692
|
+
|
|
54693
|
+
@Field({ nullable: true })
|
|
54694
|
+
RecordProcessID?: string;
|
|
54695
|
+
|
|
54696
|
+
@Field(() => Int, { nullable: true })
|
|
54697
|
+
Version?: number;
|
|
54698
|
+
|
|
54699
|
+
@Field({ nullable: true })
|
|
54700
|
+
PinHash?: string;
|
|
54701
|
+
|
|
54702
|
+
@Field({ nullable: true })
|
|
54703
|
+
SpecHash?: string;
|
|
54704
|
+
|
|
54705
|
+
@Field({ nullable: true })
|
|
54706
|
+
PromptID: string | null;
|
|
54707
|
+
|
|
54708
|
+
@Field({ nullable: true })
|
|
54709
|
+
PromptVersionHash: string | null;
|
|
54710
|
+
|
|
54711
|
+
@Field({ nullable: true })
|
|
54712
|
+
AIModelID: string | null;
|
|
54713
|
+
|
|
54714
|
+
@Field({ nullable: true })
|
|
54715
|
+
ParametersHash: string | null;
|
|
54716
|
+
|
|
54717
|
+
@Field({ nullable: true })
|
|
54718
|
+
Status?: string;
|
|
54719
|
+
|
|
54720
|
+
@Field(() => Boolean, { nullable: true })
|
|
54721
|
+
Gated?: boolean;
|
|
54722
|
+
|
|
54723
|
+
@Field({ nullable: true })
|
|
54724
|
+
GoldenSetTestID: string | null;
|
|
54725
|
+
|
|
54726
|
+
@Field({ nullable: true })
|
|
54727
|
+
GoldenSetTestRunID: string | null;
|
|
54728
|
+
|
|
54729
|
+
@Field({ nullable: true })
|
|
54730
|
+
Metric: string | null;
|
|
54731
|
+
|
|
54732
|
+
@Field(() => Float, { nullable: true })
|
|
54733
|
+
Threshold: number | null;
|
|
54734
|
+
|
|
54735
|
+
@Field(() => Float, { nullable: true })
|
|
54736
|
+
ResultValue: number | null;
|
|
54737
|
+
|
|
54738
|
+
@Field(() => Float, { nullable: true })
|
|
54739
|
+
ResultLower: number | null;
|
|
54740
|
+
|
|
54741
|
+
@Field(() => Float, { nullable: true })
|
|
54742
|
+
ResultUpper: number | null;
|
|
54743
|
+
|
|
54744
|
+
@Field(() => Int, { nullable: true })
|
|
54745
|
+
ResultN: number | null;
|
|
54746
|
+
|
|
54747
|
+
@Field({ nullable: true })
|
|
54748
|
+
ResultDetails: string | null;
|
|
54749
|
+
|
|
54750
|
+
@Field({ nullable: true })
|
|
54751
|
+
ActivatedAt: Date | null;
|
|
54752
|
+
|
|
54753
|
+
@Field({ nullable: true })
|
|
54754
|
+
ApprovedByUserID: string | null;
|
|
54755
|
+
|
|
54756
|
+
@Field({ nullable: true })
|
|
54757
|
+
RetiredAt: Date | null;
|
|
54758
|
+
|
|
54759
|
+
@Field({ nullable: true })
|
|
54760
|
+
BackfilledAt: Date | null;
|
|
54761
|
+
|
|
54762
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
54763
|
+
RestoreContext___?: RestoreContextInput;
|
|
54764
|
+
}
|
|
54765
|
+
|
|
54766
|
+
|
|
54767
|
+
//****************************************************************************
|
|
54768
|
+
// INPUT TYPE for MJ: Feature Pipeline Versions
|
|
54769
|
+
//****************************************************************************
|
|
54770
|
+
@InputType()
|
|
54771
|
+
export class UpdateMJFeaturePipelineVersionInput {
|
|
54772
|
+
@Field()
|
|
54773
|
+
ID: string;
|
|
54774
|
+
|
|
54775
|
+
@Field({ nullable: true })
|
|
54776
|
+
RecordProcessID?: string;
|
|
54777
|
+
|
|
54778
|
+
@Field(() => Int, { nullable: true })
|
|
54779
|
+
Version?: number;
|
|
54780
|
+
|
|
54781
|
+
@Field({ nullable: true })
|
|
54782
|
+
PinHash?: string;
|
|
54783
|
+
|
|
54784
|
+
@Field({ nullable: true })
|
|
54785
|
+
SpecHash?: string;
|
|
54786
|
+
|
|
54787
|
+
@Field({ nullable: true })
|
|
54788
|
+
PromptID?: string | null;
|
|
54789
|
+
|
|
54790
|
+
@Field({ nullable: true })
|
|
54791
|
+
PromptVersionHash?: string | null;
|
|
54792
|
+
|
|
54793
|
+
@Field({ nullable: true })
|
|
54794
|
+
AIModelID?: string | null;
|
|
54795
|
+
|
|
54796
|
+
@Field({ nullable: true })
|
|
54797
|
+
ParametersHash?: string | null;
|
|
54798
|
+
|
|
54799
|
+
@Field({ nullable: true })
|
|
54800
|
+
Status?: string;
|
|
54801
|
+
|
|
54802
|
+
@Field(() => Boolean, { nullable: true })
|
|
54803
|
+
Gated?: boolean;
|
|
54804
|
+
|
|
54805
|
+
@Field({ nullable: true })
|
|
54806
|
+
GoldenSetTestID?: string | null;
|
|
54807
|
+
|
|
54808
|
+
@Field({ nullable: true })
|
|
54809
|
+
GoldenSetTestRunID?: string | null;
|
|
54810
|
+
|
|
54811
|
+
@Field({ nullable: true })
|
|
54812
|
+
Metric?: string | null;
|
|
54813
|
+
|
|
54814
|
+
@Field(() => Float, { nullable: true })
|
|
54815
|
+
Threshold?: number | null;
|
|
54816
|
+
|
|
54817
|
+
@Field(() => Float, { nullable: true })
|
|
54818
|
+
ResultValue?: number | null;
|
|
54819
|
+
|
|
54820
|
+
@Field(() => Float, { nullable: true })
|
|
54821
|
+
ResultLower?: number | null;
|
|
54822
|
+
|
|
54823
|
+
@Field(() => Float, { nullable: true })
|
|
54824
|
+
ResultUpper?: number | null;
|
|
54825
|
+
|
|
54826
|
+
@Field(() => Int, { nullable: true })
|
|
54827
|
+
ResultN?: number | null;
|
|
54828
|
+
|
|
54829
|
+
@Field({ nullable: true })
|
|
54830
|
+
ResultDetails?: string | null;
|
|
54831
|
+
|
|
54832
|
+
@Field({ nullable: true })
|
|
54833
|
+
ActivatedAt?: Date | null;
|
|
54834
|
+
|
|
54835
|
+
@Field({ nullable: true })
|
|
54836
|
+
ApprovedByUserID?: string | null;
|
|
54837
|
+
|
|
54838
|
+
@Field({ nullable: true })
|
|
54839
|
+
RetiredAt?: Date | null;
|
|
54840
|
+
|
|
54841
|
+
@Field({ nullable: true })
|
|
54842
|
+
BackfilledAt?: Date | null;
|
|
54843
|
+
|
|
54844
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
54845
|
+
OldValues___?: KeyValuePairInput[];
|
|
54846
|
+
|
|
54847
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
54848
|
+
RestoreContext___?: RestoreContextInput;
|
|
54849
|
+
}
|
|
54850
|
+
|
|
54851
|
+
//****************************************************************************
|
|
54852
|
+
// RESOLVER for MJ: Feature Pipeline Versions
|
|
54853
|
+
//****************************************************************************
|
|
54854
|
+
@ObjectType()
|
|
54855
|
+
export class RunMJFeaturePipelineVersionViewResult {
|
|
54856
|
+
@Field(() => [MJFeaturePipelineVersion_])
|
|
54857
|
+
Results: MJFeaturePipelineVersion_[];
|
|
54858
|
+
|
|
54859
|
+
@Field(() => String, {nullable: true})
|
|
54860
|
+
UserViewRunID?: string;
|
|
54861
|
+
|
|
54862
|
+
@Field(() => Int, {nullable: true})
|
|
54863
|
+
RowCount: number;
|
|
54864
|
+
|
|
54865
|
+
@Field(() => Int, {nullable: true})
|
|
54866
|
+
TotalRowCount: number;
|
|
54867
|
+
|
|
54868
|
+
@Field(() => Int, {nullable: true})
|
|
54869
|
+
ExecutionTime: number;
|
|
54870
|
+
|
|
54871
|
+
@Field({nullable: true})
|
|
54872
|
+
ErrorMessage?: string;
|
|
54873
|
+
|
|
54874
|
+
@Field(() => Boolean, {nullable: false})
|
|
54875
|
+
Success: boolean;
|
|
54876
|
+
}
|
|
54877
|
+
|
|
54878
|
+
@Resolver(MJFeaturePipelineVersion_)
|
|
54879
|
+
export class MJFeaturePipelineVersionResolver extends ResolverBase {
|
|
54880
|
+
@Query(() => RunMJFeaturePipelineVersionViewResult)
|
|
54881
|
+
async RunMJFeaturePipelineVersionViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
54882
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
54883
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
54884
|
+
}
|
|
54885
|
+
|
|
54886
|
+
@Query(() => RunMJFeaturePipelineVersionViewResult)
|
|
54887
|
+
async RunMJFeaturePipelineVersionViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
54888
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
54889
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
54890
|
+
}
|
|
54891
|
+
|
|
54892
|
+
@Query(() => RunMJFeaturePipelineVersionViewResult)
|
|
54893
|
+
async RunMJFeaturePipelineVersionDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
54894
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
54895
|
+
input.EntityName = 'MJ: Feature Pipeline Versions';
|
|
54896
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
54897
|
+
}
|
|
54898
|
+
@Query(() => MJFeaturePipelineVersion_, { nullable: true })
|
|
54899
|
+
async MJFeaturePipelineVersion(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJFeaturePipelineVersion_ | null> {
|
|
54900
|
+
this.CheckUserReadPermissions('MJ: Feature Pipeline Versions', userPayload);
|
|
54901
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
54902
|
+
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');
|
|
54903
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
54904
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Feature Pipeline Versions', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
54905
|
+
return result;
|
|
54906
|
+
}
|
|
54907
|
+
|
|
54908
|
+
@Mutation(() => MJFeaturePipelineVersion_)
|
|
54909
|
+
async CreateMJFeaturePipelineVersion(
|
|
54910
|
+
@Arg('input', () => CreateMJFeaturePipelineVersionInput) input: CreateMJFeaturePipelineVersionInput,
|
|
54911
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
54912
|
+
@PubSub() pubSub: PubSubEngine
|
|
54913
|
+
) {
|
|
54914
|
+
const provider = GetReadWriteProvider(providers);
|
|
54915
|
+
return this.CreateRecord('MJ: Feature Pipeline Versions', input, provider, userPayload, pubSub)
|
|
54916
|
+
}
|
|
54917
|
+
|
|
54918
|
+
@Mutation(() => MJFeaturePipelineVersion_)
|
|
54919
|
+
async UpdateMJFeaturePipelineVersion(
|
|
54920
|
+
@Arg('input', () => UpdateMJFeaturePipelineVersionInput) input: UpdateMJFeaturePipelineVersionInput,
|
|
54921
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
54922
|
+
@PubSub() pubSub: PubSubEngine
|
|
54923
|
+
) {
|
|
54924
|
+
const provider = GetReadWriteProvider(providers);
|
|
54925
|
+
return this.UpdateRecord('MJ: Feature Pipeline Versions', input, provider, userPayload, pubSub);
|
|
54926
|
+
}
|
|
54927
|
+
|
|
54928
|
+
@Mutation(() => MJFeaturePipelineVersion_)
|
|
54929
|
+
async DeleteMJFeaturePipelineVersion(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
54930
|
+
const provider = GetReadWriteProvider(providers);
|
|
54931
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
54932
|
+
return this.DeleteRecord('MJ: Feature Pipeline Versions', key, options, provider, userPayload, pubSub);
|
|
54933
|
+
}
|
|
54934
|
+
|
|
54935
|
+
}
|
|
54936
|
+
|
|
53587
54937
|
//****************************************************************************
|
|
53588
54938
|
// ENTITY CLASS for MJ: Feature Value Caches
|
|
53589
54939
|
//****************************************************************************
|
|
@@ -53648,6 +54998,14 @@ export class MJFeatureValueCache_ {
|
|
|
53648
54998
|
@Field({description: "Timestamp when this record was last updated."})
|
|
53649
54999
|
_mj__UpdatedAt: Date;
|
|
53650
55000
|
|
|
55001
|
+
@Field({nullable: true, description: "Primary AI model of the prompt that computed this cached result. Part of the cache key."})
|
|
55002
|
+
@MaxLength(36)
|
|
55003
|
+
AIModelID?: string;
|
|
55004
|
+
|
|
55005
|
+
@Field({nullable: true, description: "SHA-256 of the prompt's inference parameters when this result was computed. Part of the cache key."})
|
|
55006
|
+
@MaxLength(64)
|
|
55007
|
+
ParametersHash?: string;
|
|
55008
|
+
|
|
53651
55009
|
@Field({nullable: true})
|
|
53652
55010
|
@MaxLength(255)
|
|
53653
55011
|
RecordProcess?: string;
|
|
@@ -53656,6 +55014,10 @@ export class MJFeatureValueCache_ {
|
|
|
53656
55014
|
@MaxLength(255)
|
|
53657
55015
|
Prompt?: string;
|
|
53658
55016
|
|
|
55017
|
+
@Field({nullable: true})
|
|
55018
|
+
@MaxLength(50)
|
|
55019
|
+
AIModel?: string;
|
|
55020
|
+
|
|
53659
55021
|
@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.` })
|
|
53660
55022
|
ReadableFields___?: string[];
|
|
53661
55023
|
|
|
@@ -53711,6 +55073,12 @@ export class CreateMJFeatureValueCacheInput {
|
|
|
53711
55073
|
@Field({ nullable: true })
|
|
53712
55074
|
ExpiresAt: Date | null;
|
|
53713
55075
|
|
|
55076
|
+
@Field({ nullable: true })
|
|
55077
|
+
AIModelID: string | null;
|
|
55078
|
+
|
|
55079
|
+
@Field({ nullable: true })
|
|
55080
|
+
ParametersHash: string | null;
|
|
55081
|
+
|
|
53714
55082
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
53715
55083
|
RestoreContext___?: RestoreContextInput;
|
|
53716
55084
|
}
|
|
@@ -53766,6 +55134,12 @@ export class UpdateMJFeatureValueCacheInput {
|
|
|
53766
55134
|
@Field({ nullable: true })
|
|
53767
55135
|
ExpiresAt?: Date | null;
|
|
53768
55136
|
|
|
55137
|
+
@Field({ nullable: true })
|
|
55138
|
+
AIModelID?: string | null;
|
|
55139
|
+
|
|
55140
|
+
@Field({ nullable: true })
|
|
55141
|
+
ParametersHash?: string | null;
|
|
55142
|
+
|
|
53769
55143
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
53770
55144
|
OldValues___?: KeyValuePairInput[];
|
|
53771
55145
|
|
|
@@ -53862,7 +55236,7 @@ export class MJFeatureValueCacheResolver extends ResolverBase {
|
|
|
53862
55236
|
//****************************************************************************
|
|
53863
55237
|
// ENTITY CLASS for MJ: Feature Values
|
|
53864
55238
|
//****************************************************************************
|
|
53865
|
-
@ObjectType({ description: "
|
|
55239
|
+
@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." })
|
|
53866
55240
|
export class MJFeatureValue_ {
|
|
53867
55241
|
@Field({description: "Unique identifier for this feature value history record."})
|
|
53868
55242
|
@MaxLength(36)
|
|
@@ -53942,6 +55316,29 @@ export class MJFeatureValue_ {
|
|
|
53942
55316
|
@Field({description: "Timestamp when this record was last updated."})
|
|
53943
55317
|
_mj__UpdatedAt: Date;
|
|
53944
55318
|
|
|
55319
|
+
@Field(() => Int, {nullable: true, description: "Version of the Feature Pipeline (MJ: Feature Pipeline Versions.Version) that computed this value; part of the FeatureValueKey."})
|
|
55320
|
+
PipelineVersion?: number;
|
|
55321
|
+
|
|
55322
|
+
@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."})
|
|
55323
|
+
@MaxLength(36)
|
|
55324
|
+
AIModelID?: string;
|
|
55325
|
+
|
|
55326
|
+
@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."})
|
|
55327
|
+
@MaxLength(64)
|
|
55328
|
+
ParametersHash?: string;
|
|
55329
|
+
|
|
55330
|
+
@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."})
|
|
55331
|
+
@MaxLength(64)
|
|
55332
|
+
InputHash?: string;
|
|
55333
|
+
|
|
55334
|
+
@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."})
|
|
55335
|
+
@MaxLength(64)
|
|
55336
|
+
ValueKeyHash?: string;
|
|
55337
|
+
|
|
55338
|
+
@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)."})
|
|
55339
|
+
@MaxLength(20)
|
|
55340
|
+
Source?: string;
|
|
55341
|
+
|
|
53945
55342
|
@Field({nullable: true})
|
|
53946
55343
|
@MaxLength(255)
|
|
53947
55344
|
RecordProcess?: string;
|
|
@@ -53962,6 +55359,10 @@ export class MJFeatureValue_ {
|
|
|
53962
55359
|
@MaxLength(500)
|
|
53963
55360
|
FeatureValueCache?: string;
|
|
53964
55361
|
|
|
55362
|
+
@Field({nullable: true})
|
|
55363
|
+
@MaxLength(50)
|
|
55364
|
+
AIModel?: string;
|
|
55365
|
+
|
|
53965
55366
|
@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.` })
|
|
53966
55367
|
ReadableFields___?: string[];
|
|
53967
55368
|
|
|
@@ -54032,6 +55433,24 @@ export class CreateMJFeatureValueInput {
|
|
|
54032
55433
|
@Field({ nullable: true })
|
|
54033
55434
|
ComputedAt?: Date;
|
|
54034
55435
|
|
|
55436
|
+
@Field(() => Int, { nullable: true })
|
|
55437
|
+
PipelineVersion: number | null;
|
|
55438
|
+
|
|
55439
|
+
@Field({ nullable: true })
|
|
55440
|
+
AIModelID: string | null;
|
|
55441
|
+
|
|
55442
|
+
@Field({ nullable: true })
|
|
55443
|
+
ParametersHash: string | null;
|
|
55444
|
+
|
|
55445
|
+
@Field({ nullable: true })
|
|
55446
|
+
InputHash: string | null;
|
|
55447
|
+
|
|
55448
|
+
@Field({ nullable: true })
|
|
55449
|
+
ValueKeyHash: string | null;
|
|
55450
|
+
|
|
55451
|
+
@Field({ nullable: true })
|
|
55452
|
+
Source?: string;
|
|
55453
|
+
|
|
54035
55454
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
54036
55455
|
RestoreContext___?: RestoreContextInput;
|
|
54037
55456
|
}
|
|
@@ -54102,6 +55521,24 @@ export class UpdateMJFeatureValueInput {
|
|
|
54102
55521
|
@Field({ nullable: true })
|
|
54103
55522
|
ComputedAt?: Date;
|
|
54104
55523
|
|
|
55524
|
+
@Field(() => Int, { nullable: true })
|
|
55525
|
+
PipelineVersion?: number | null;
|
|
55526
|
+
|
|
55527
|
+
@Field({ nullable: true })
|
|
55528
|
+
AIModelID?: string | null;
|
|
55529
|
+
|
|
55530
|
+
@Field({ nullable: true })
|
|
55531
|
+
ParametersHash?: string | null;
|
|
55532
|
+
|
|
55533
|
+
@Field({ nullable: true })
|
|
55534
|
+
InputHash?: string | null;
|
|
55535
|
+
|
|
55536
|
+
@Field({ nullable: true })
|
|
55537
|
+
ValueKeyHash?: string | null;
|
|
55538
|
+
|
|
55539
|
+
@Field({ nullable: true })
|
|
55540
|
+
Source?: string;
|
|
55541
|
+
|
|
54105
55542
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
54106
55543
|
OldValues___?: KeyValuePairInput[];
|
|
54107
55544
|
|
|
@@ -69031,6 +70468,9 @@ export class MJProcessRunDetail_ {
|
|
|
69031
70468
|
@Field()
|
|
69032
70469
|
_mj__UpdatedAt: Date;
|
|
69033
70470
|
|
|
70471
|
+
@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."})
|
|
70472
|
+
Warnings?: string;
|
|
70473
|
+
|
|
69034
70474
|
@Field({nullable: true})
|
|
69035
70475
|
@MaxLength(255)
|
|
69036
70476
|
Entity?: string;
|
|
@@ -69092,6 +70532,9 @@ export class CreateMJProcessRunDetailInput {
|
|
|
69092
70532
|
@Field({ nullable: true })
|
|
69093
70533
|
AIAgentRunID: string | null;
|
|
69094
70534
|
|
|
70535
|
+
@Field({ nullable: true })
|
|
70536
|
+
Warnings: string | null;
|
|
70537
|
+
|
|
69095
70538
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
69096
70539
|
RestoreContext___?: RestoreContextInput;
|
|
69097
70540
|
}
|
|
@@ -69141,6 +70584,9 @@ export class UpdateMJProcessRunDetailInput {
|
|
|
69141
70584
|
@Field({ nullable: true })
|
|
69142
70585
|
AIAgentRunID?: string | null;
|
|
69143
70586
|
|
|
70587
|
+
@Field({ nullable: true })
|
|
70588
|
+
Warnings?: string | null;
|
|
70589
|
+
|
|
69144
70590
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
69145
70591
|
OldValues___?: KeyValuePairInput[];
|
|
69146
70592
|
|
|
@@ -69327,6 +70773,9 @@ export class MJProcessRun_ {
|
|
|
69327
70773
|
@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."})
|
|
69328
70774
|
DryRun?: boolean;
|
|
69329
70775
|
|
|
70776
|
+
@Field({nullable: true, description: "JSON summary of a Feature Pipeline run (FeaturePipelineRunResult); NULL for other work types."})
|
|
70777
|
+
ResultSummary?: string;
|
|
70778
|
+
|
|
69330
70779
|
@Field({nullable: true})
|
|
69331
70780
|
@MaxLength(255)
|
|
69332
70781
|
RecordProcess?: string;
|
|
@@ -69425,6 +70874,9 @@ export class CreateMJProcessRunInput {
|
|
|
69425
70874
|
@Field(() => Boolean, { nullable: true })
|
|
69426
70875
|
DryRun?: boolean;
|
|
69427
70876
|
|
|
70877
|
+
@Field({ nullable: true })
|
|
70878
|
+
ResultSummary: string | null;
|
|
70879
|
+
|
|
69428
70880
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
69429
70881
|
RestoreContext___?: RestoreContextInput;
|
|
69430
70882
|
}
|
|
@@ -69507,6 +70959,9 @@ export class UpdateMJProcessRunInput {
|
|
|
69507
70959
|
@Field(() => Boolean, { nullable: true })
|
|
69508
70960
|
DryRun?: boolean;
|
|
69509
70961
|
|
|
70962
|
+
@Field({ nullable: true })
|
|
70963
|
+
ResultSummary?: string | null;
|
|
70964
|
+
|
|
69510
70965
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
69511
70966
|
OldValues___?: KeyValuePairInput[];
|
|
69512
70967
|
|
|
@@ -81676,6 +83131,254 @@ export class MJSchemaInfoResolver extends ResolverBase {
|
|
|
81676
83131
|
|
|
81677
83132
|
}
|
|
81678
83133
|
|
|
83134
|
+
//****************************************************************************
|
|
83135
|
+
// ENTITY CLASS for MJ: Scoped Notification Configs
|
|
83136
|
+
//****************************************************************************
|
|
83137
|
+
@ObjectType({ description: "A notification config at one scope: the level between a notification type's defaults and a recipient's preference where an application, a role, a user or the notice's origin can allow or deny a channel. Scoped by the same primary record + secondary dimensions as Scoped Prompt Configs. Resolution: most specific in-scope row wins per channel; at equal specificity Deny beats Allow; a locked Deny caps every level below it, the recipient's preference included." })
|
|
83138
|
+
export class MJScopedNotificationConfig_ {
|
|
83139
|
+
@Field()
|
|
83140
|
+
@MaxLength(36)
|
|
83141
|
+
ID: string;
|
|
83142
|
+
|
|
83143
|
+
@Field({nullable: true, description: "The notification type this config is for."})
|
|
83144
|
+
@MaxLength(36)
|
|
83145
|
+
NotificationTypeID?: string;
|
|
83146
|
+
|
|
83147
|
+
@Field({nullable: true, description: "Why the row exists, for the administrator who finds it."})
|
|
83148
|
+
Description?: string;
|
|
83149
|
+
|
|
83150
|
+
@Field({nullable: true, description: "The entity of the primary scope record (Applications, Roles, Users, Companies, ...). NULL with PrimaryScopeRecordID NULL = a global row."})
|
|
83151
|
+
@MaxLength(36)
|
|
83152
|
+
PrimaryScopeEntityID?: string;
|
|
83153
|
+
|
|
83154
|
+
@Field({nullable: true, description: "The record ID within the primary scope entity this config is scoped to. NULL = global. In scope when it is the caller's primary scope record, the recipient, or a role the recipient holds."})
|
|
83155
|
+
@MaxLength(100)
|
|
83156
|
+
PrimaryScopeRecordID?: string;
|
|
83157
|
+
|
|
83158
|
+
@Field({nullable: true, description: "JSON object of additional scope dimensions, e.g. {\"origin\":\"System\"}. Every dimension named must match the notice's scope for the row to apply. origin is Person, System (the Owner-type user) or Automation."})
|
|
83159
|
+
SecondaryScopes?: string;
|
|
83160
|
+
|
|
83161
|
+
@Field({nullable: true, description: "The in-app channel: Allow, Deny, or NULL to leave it to the next row."})
|
|
83162
|
+
@MaxLength(20)
|
|
83163
|
+
InApp?: string;
|
|
83164
|
+
|
|
83165
|
+
@Field({nullable: true, description: "The email channel: Allow, Deny, or NULL to leave it to the next row."})
|
|
83166
|
+
@MaxLength(20)
|
|
83167
|
+
Email?: string;
|
|
83168
|
+
|
|
83169
|
+
@Field({nullable: true, description: "The SMS channel: Allow, Deny, or NULL to leave it to the next row."})
|
|
83170
|
+
@MaxLength(20)
|
|
83171
|
+
SMS?: string;
|
|
83172
|
+
|
|
83173
|
+
@Field(() => Boolean, {nullable: true, description: "When set, a Deny on this row is absorbing: no less specific row and no recipient preference may turn the channel on. The way a notification type's AllowUserPreference caps the recipient today."})
|
|
83174
|
+
IsLocked?: boolean;
|
|
83175
|
+
|
|
83176
|
+
@Field(() => Int, {nullable: true, description: "Tie-break for resolution. Higher wins when two rows tie on scope specificity and neither denies. Default 0."})
|
|
83177
|
+
Priority?: number;
|
|
83178
|
+
|
|
83179
|
+
@Field({nullable: true, description: "Lifecycle: Active (live), Provisional (staged; eligible), Archived (excluded from resolution)."})
|
|
83180
|
+
@MaxLength(20)
|
|
83181
|
+
Status?: string;
|
|
83182
|
+
|
|
83183
|
+
@Field()
|
|
83184
|
+
_mj__CreatedAt: Date;
|
|
83185
|
+
|
|
83186
|
+
@Field()
|
|
83187
|
+
_mj__UpdatedAt: Date;
|
|
83188
|
+
|
|
83189
|
+
@Field({nullable: true})
|
|
83190
|
+
@MaxLength(100)
|
|
83191
|
+
NotificationType?: string;
|
|
83192
|
+
|
|
83193
|
+
@Field({nullable: true})
|
|
83194
|
+
@MaxLength(255)
|
|
83195
|
+
PrimaryScopeEntity?: string;
|
|
83196
|
+
|
|
83197
|
+
@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.` })
|
|
83198
|
+
ReadableFields___?: string[];
|
|
83199
|
+
|
|
83200
|
+
}
|
|
83201
|
+
|
|
83202
|
+
//****************************************************************************
|
|
83203
|
+
// INPUT TYPE for MJ: Scoped Notification Configs
|
|
83204
|
+
//****************************************************************************
|
|
83205
|
+
@InputType()
|
|
83206
|
+
export class CreateMJScopedNotificationConfigInput {
|
|
83207
|
+
@Field({ nullable: true })
|
|
83208
|
+
ID?: string;
|
|
83209
|
+
|
|
83210
|
+
@Field({ nullable: true })
|
|
83211
|
+
NotificationTypeID?: string;
|
|
83212
|
+
|
|
83213
|
+
@Field({ nullable: true })
|
|
83214
|
+
Description: string | null;
|
|
83215
|
+
|
|
83216
|
+
@Field({ nullable: true })
|
|
83217
|
+
PrimaryScopeEntityID: string | null;
|
|
83218
|
+
|
|
83219
|
+
@Field({ nullable: true })
|
|
83220
|
+
PrimaryScopeRecordID: string | null;
|
|
83221
|
+
|
|
83222
|
+
@Field({ nullable: true })
|
|
83223
|
+
SecondaryScopes: string | null;
|
|
83224
|
+
|
|
83225
|
+
@Field({ nullable: true })
|
|
83226
|
+
InApp: string | null;
|
|
83227
|
+
|
|
83228
|
+
@Field({ nullable: true })
|
|
83229
|
+
Email: string | null;
|
|
83230
|
+
|
|
83231
|
+
@Field({ nullable: true })
|
|
83232
|
+
SMS: string | null;
|
|
83233
|
+
|
|
83234
|
+
@Field(() => Boolean, { nullable: true })
|
|
83235
|
+
IsLocked?: boolean;
|
|
83236
|
+
|
|
83237
|
+
@Field(() => Int, { nullable: true })
|
|
83238
|
+
Priority?: number;
|
|
83239
|
+
|
|
83240
|
+
@Field({ nullable: true })
|
|
83241
|
+
Status?: string;
|
|
83242
|
+
|
|
83243
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
83244
|
+
RestoreContext___?: RestoreContextInput;
|
|
83245
|
+
}
|
|
83246
|
+
|
|
83247
|
+
|
|
83248
|
+
//****************************************************************************
|
|
83249
|
+
// INPUT TYPE for MJ: Scoped Notification Configs
|
|
83250
|
+
//****************************************************************************
|
|
83251
|
+
@InputType()
|
|
83252
|
+
export class UpdateMJScopedNotificationConfigInput {
|
|
83253
|
+
@Field()
|
|
83254
|
+
ID: string;
|
|
83255
|
+
|
|
83256
|
+
@Field({ nullable: true })
|
|
83257
|
+
NotificationTypeID?: string;
|
|
83258
|
+
|
|
83259
|
+
@Field({ nullable: true })
|
|
83260
|
+
Description?: string | null;
|
|
83261
|
+
|
|
83262
|
+
@Field({ nullable: true })
|
|
83263
|
+
PrimaryScopeEntityID?: string | null;
|
|
83264
|
+
|
|
83265
|
+
@Field({ nullable: true })
|
|
83266
|
+
PrimaryScopeRecordID?: string | null;
|
|
83267
|
+
|
|
83268
|
+
@Field({ nullable: true })
|
|
83269
|
+
SecondaryScopes?: string | null;
|
|
83270
|
+
|
|
83271
|
+
@Field({ nullable: true })
|
|
83272
|
+
InApp?: string | null;
|
|
83273
|
+
|
|
83274
|
+
@Field({ nullable: true })
|
|
83275
|
+
Email?: string | null;
|
|
83276
|
+
|
|
83277
|
+
@Field({ nullable: true })
|
|
83278
|
+
SMS?: string | null;
|
|
83279
|
+
|
|
83280
|
+
@Field(() => Boolean, { nullable: true })
|
|
83281
|
+
IsLocked?: boolean;
|
|
83282
|
+
|
|
83283
|
+
@Field(() => Int, { nullable: true })
|
|
83284
|
+
Priority?: number;
|
|
83285
|
+
|
|
83286
|
+
@Field({ nullable: true })
|
|
83287
|
+
Status?: string;
|
|
83288
|
+
|
|
83289
|
+
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
83290
|
+
OldValues___?: KeyValuePairInput[];
|
|
83291
|
+
|
|
83292
|
+
@Field(() => RestoreContextInput, { nullable: true })
|
|
83293
|
+
RestoreContext___?: RestoreContextInput;
|
|
83294
|
+
}
|
|
83295
|
+
|
|
83296
|
+
//****************************************************************************
|
|
83297
|
+
// RESOLVER for MJ: Scoped Notification Configs
|
|
83298
|
+
//****************************************************************************
|
|
83299
|
+
@ObjectType()
|
|
83300
|
+
export class RunMJScopedNotificationConfigViewResult {
|
|
83301
|
+
@Field(() => [MJScopedNotificationConfig_])
|
|
83302
|
+
Results: MJScopedNotificationConfig_[];
|
|
83303
|
+
|
|
83304
|
+
@Field(() => String, {nullable: true})
|
|
83305
|
+
UserViewRunID?: string;
|
|
83306
|
+
|
|
83307
|
+
@Field(() => Int, {nullable: true})
|
|
83308
|
+
RowCount: number;
|
|
83309
|
+
|
|
83310
|
+
@Field(() => Int, {nullable: true})
|
|
83311
|
+
TotalRowCount: number;
|
|
83312
|
+
|
|
83313
|
+
@Field(() => Int, {nullable: true})
|
|
83314
|
+
ExecutionTime: number;
|
|
83315
|
+
|
|
83316
|
+
@Field({nullable: true})
|
|
83317
|
+
ErrorMessage?: string;
|
|
83318
|
+
|
|
83319
|
+
@Field(() => Boolean, {nullable: false})
|
|
83320
|
+
Success: boolean;
|
|
83321
|
+
}
|
|
83322
|
+
|
|
83323
|
+
@Resolver(MJScopedNotificationConfig_)
|
|
83324
|
+
export class MJScopedNotificationConfigResolver extends ResolverBase {
|
|
83325
|
+
@Query(() => RunMJScopedNotificationConfigViewResult)
|
|
83326
|
+
async RunMJScopedNotificationConfigViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
83327
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
83328
|
+
return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
|
|
83329
|
+
}
|
|
83330
|
+
|
|
83331
|
+
@Query(() => RunMJScopedNotificationConfigViewResult)
|
|
83332
|
+
async RunMJScopedNotificationConfigViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
83333
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
83334
|
+
return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
|
|
83335
|
+
}
|
|
83336
|
+
|
|
83337
|
+
@Query(() => RunMJScopedNotificationConfigViewResult)
|
|
83338
|
+
async RunMJScopedNotificationConfigDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
83339
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
83340
|
+
input.EntityName = 'MJ: Scoped Notification Configs';
|
|
83341
|
+
return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
|
|
83342
|
+
}
|
|
83343
|
+
@Query(() => MJScopedNotificationConfig_, { nullable: true })
|
|
83344
|
+
async MJScopedNotificationConfig(@Arg('ID', () => String) ID: string, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJScopedNotificationConfig_ | null> {
|
|
83345
|
+
this.CheckUserReadPermissions('MJ: Scoped Notification Configs', userPayload);
|
|
83346
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
83347
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwScopedNotificationConfigs')} WHERE ${provider.QuoteIdentifier('ID')}=${provider.BuildParameterPlaceholder(0)} ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Scoped Notification Configs', userPayload, EntityPermissionType.Read, 'AND');
|
|
83348
|
+
const rows = await provider.ExecuteSQL(sSQL, [ID], undefined, this.GetUserFromPayload(userPayload));
|
|
83349
|
+
const result = await this.MapFieldNamesToCodeNames('MJ: Scoped Notification Configs', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
|
|
83350
|
+
return result;
|
|
83351
|
+
}
|
|
83352
|
+
|
|
83353
|
+
@Mutation(() => MJScopedNotificationConfig_)
|
|
83354
|
+
async CreateMJScopedNotificationConfig(
|
|
83355
|
+
@Arg('input', () => CreateMJScopedNotificationConfigInput) input: CreateMJScopedNotificationConfigInput,
|
|
83356
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
83357
|
+
@PubSub() pubSub: PubSubEngine
|
|
83358
|
+
) {
|
|
83359
|
+
const provider = GetReadWriteProvider(providers);
|
|
83360
|
+
return this.CreateRecord('MJ: Scoped Notification Configs', input, provider, userPayload, pubSub)
|
|
83361
|
+
}
|
|
83362
|
+
|
|
83363
|
+
@Mutation(() => MJScopedNotificationConfig_)
|
|
83364
|
+
async UpdateMJScopedNotificationConfig(
|
|
83365
|
+
@Arg('input', () => UpdateMJScopedNotificationConfigInput) input: UpdateMJScopedNotificationConfigInput,
|
|
83366
|
+
@Ctx() { providers, userPayload }: AppContext,
|
|
83367
|
+
@PubSub() pubSub: PubSubEngine
|
|
83368
|
+
) {
|
|
83369
|
+
const provider = GetReadWriteProvider(providers);
|
|
83370
|
+
return this.UpdateRecord('MJ: Scoped Notification Configs', input, provider, userPayload, pubSub);
|
|
83371
|
+
}
|
|
83372
|
+
|
|
83373
|
+
@Mutation(() => MJScopedNotificationConfig_)
|
|
83374
|
+
async DeleteMJScopedNotificationConfig(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
83375
|
+
const provider = GetReadWriteProvider(providers);
|
|
83376
|
+
const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
|
|
83377
|
+
return this.DeleteRecord('MJ: Scoped Notification Configs', key, options, provider, userPayload, pubSub);
|
|
83378
|
+
}
|
|
83379
|
+
|
|
83380
|
+
}
|
|
83381
|
+
|
|
81679
83382
|
//****************************************************************************
|
|
81680
83383
|
// ENTITY CLASS for MJ: Scoped Prompt Configs
|
|
81681
83384
|
//****************************************************************************
|
|
@@ -91857,6 +93560,12 @@ export class MJTheme_ {
|
|
|
91857
93560
|
@Field()
|
|
91858
93561
|
_mj__UpdatedAt: Date;
|
|
91859
93562
|
|
|
93563
|
+
@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."})
|
|
93564
|
+
LoginScreen?: string;
|
|
93565
|
+
|
|
93566
|
+
@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."})
|
|
93567
|
+
LoginScreenDraft?: string;
|
|
93568
|
+
|
|
91860
93569
|
@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.` })
|
|
91861
93570
|
ReadableFields___?: string[];
|
|
91862
93571
|
|
|
@@ -91903,6 +93612,12 @@ export class CreateMJThemeInput {
|
|
|
91903
93612
|
@Field({ nullable: true })
|
|
91904
93613
|
CustomCSS: string | null;
|
|
91905
93614
|
|
|
93615
|
+
@Field({ nullable: true })
|
|
93616
|
+
LoginScreen: string | null;
|
|
93617
|
+
|
|
93618
|
+
@Field({ nullable: true })
|
|
93619
|
+
LoginScreenDraft: string | null;
|
|
93620
|
+
|
|
91906
93621
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
91907
93622
|
RestoreContext___?: RestoreContextInput;
|
|
91908
93623
|
}
|
|
@@ -91949,6 +93664,12 @@ export class UpdateMJThemeInput {
|
|
|
91949
93664
|
@Field({ nullable: true })
|
|
91950
93665
|
CustomCSS?: string | null;
|
|
91951
93666
|
|
|
93667
|
+
@Field({ nullable: true })
|
|
93668
|
+
LoginScreen?: string | null;
|
|
93669
|
+
|
|
93670
|
+
@Field({ nullable: true })
|
|
93671
|
+
LoginScreenDraft?: string | null;
|
|
93672
|
+
|
|
91952
93673
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
91953
93674
|
OldValues___?: KeyValuePairInput[];
|
|
91954
93675
|
|
|
@@ -94120,7 +95841,7 @@ export class MJUserRoutine_ {
|
|
|
94120
95841
|
@MaxLength(20)
|
|
94121
95842
|
Status?: string;
|
|
94122
95843
|
|
|
94123
|
-
@Field({nullable: true, description: "Scheduled (
|
|
95844
|
+
@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)."})
|
|
94124
95845
|
@MaxLength(20)
|
|
94125
95846
|
RoutineType?: string;
|
|
94126
95847
|
|
|
@@ -94141,7 +95862,7 @@ export class MJUserRoutine_ {
|
|
|
94141
95862
|
@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."})
|
|
94142
95863
|
RequestedSkillIDs?: string;
|
|
94143
95864
|
|
|
94144
|
-
@Field({nullable: true, description: "Standard cron expression evaluated by the dispatcher
|
|
95865
|
+
@Field({nullable: true, description: "Standard cron expression evaluated by the dispatcher for Recurring and Adaptive routines. NULL when ScheduleMode is OneShot."})
|
|
94145
95866
|
@MaxLength(100)
|
|
94146
95867
|
CronExpression?: string;
|
|
94147
95868
|
|
|
@@ -94193,6 +95914,16 @@ export class MJUserRoutine_ {
|
|
|
94193
95914
|
@MaxLength(36)
|
|
94194
95915
|
ConversationID?: string;
|
|
94195
95916
|
|
|
95917
|
+
@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)."})
|
|
95918
|
+
@MaxLength(20)
|
|
95919
|
+
ScheduleMode?: string;
|
|
95920
|
+
|
|
95921
|
+
@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)."})
|
|
95922
|
+
WakeConfiguration?: string;
|
|
95923
|
+
|
|
95924
|
+
@Field({nullable: true, description: "Timestamp when the dispatcher last evaluated this routine's watched entities and wake gate conditions."})
|
|
95925
|
+
LastCheckedAt?: Date;
|
|
95926
|
+
|
|
94196
95927
|
@Field({nullable: true})
|
|
94197
95928
|
@MaxLength(100)
|
|
94198
95929
|
User?: string;
|
|
@@ -94256,7 +95987,7 @@ export class CreateMJUserRoutineInput {
|
|
|
94256
95987
|
RequestedSkillIDs: string | null;
|
|
94257
95988
|
|
|
94258
95989
|
@Field({ nullable: true })
|
|
94259
|
-
CronExpression
|
|
95990
|
+
CronExpression: string | null;
|
|
94260
95991
|
|
|
94261
95992
|
@Field({ nullable: true })
|
|
94262
95993
|
StartAt: Date | null;
|
|
@@ -94294,6 +96025,15 @@ export class CreateMJUserRoutineInput {
|
|
|
94294
96025
|
@Field({ nullable: true })
|
|
94295
96026
|
ConversationID: string | null;
|
|
94296
96027
|
|
|
96028
|
+
@Field({ nullable: true })
|
|
96029
|
+
ScheduleMode?: string;
|
|
96030
|
+
|
|
96031
|
+
@Field({ nullable: true })
|
|
96032
|
+
WakeConfiguration: string | null;
|
|
96033
|
+
|
|
96034
|
+
@Field({ nullable: true })
|
|
96035
|
+
LastCheckedAt: Date | null;
|
|
96036
|
+
|
|
94297
96037
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
94298
96038
|
RestoreContext___?: RestoreContextInput;
|
|
94299
96039
|
}
|
|
@@ -94341,7 +96081,7 @@ export class UpdateMJUserRoutineInput {
|
|
|
94341
96081
|
RequestedSkillIDs?: string | null;
|
|
94342
96082
|
|
|
94343
96083
|
@Field({ nullable: true })
|
|
94344
|
-
CronExpression?: string;
|
|
96084
|
+
CronExpression?: string | null;
|
|
94345
96085
|
|
|
94346
96086
|
@Field({ nullable: true })
|
|
94347
96087
|
StartAt?: Date | null;
|
|
@@ -94379,6 +96119,15 @@ export class UpdateMJUserRoutineInput {
|
|
|
94379
96119
|
@Field({ nullable: true })
|
|
94380
96120
|
ConversationID?: string | null;
|
|
94381
96121
|
|
|
96122
|
+
@Field({ nullable: true })
|
|
96123
|
+
ScheduleMode?: string;
|
|
96124
|
+
|
|
96125
|
+
@Field({ nullable: true })
|
|
96126
|
+
WakeConfiguration?: string | null;
|
|
96127
|
+
|
|
96128
|
+
@Field({ nullable: true })
|
|
96129
|
+
LastCheckedAt?: Date | null;
|
|
96130
|
+
|
|
94382
96131
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
94383
96132
|
OldValues___?: KeyValuePairInput[];
|
|
94384
96133
|
|
|
@@ -95614,6 +97363,9 @@ export class MJUser_ {
|
|
|
95614
97363
|
@MaxLength(100)
|
|
95615
97364
|
UserImageIconClass?: string;
|
|
95616
97365
|
|
|
97366
|
+
@Field(() => Boolean, {nullable: true, description: "When true, this user is a template: its configuration (pinned apps, views, settings, dashboards, conversations) is copied to new users through the template clone preset or userHandling.newUserTemplate. Template users are for setting things up, not for everyday use; Explorer shows a banner while one is signed in."})
|
|
97367
|
+
IsTemplate?: boolean;
|
|
97368
|
+
|
|
95617
97369
|
@Field({nullable: true})
|
|
95618
97370
|
@MaxLength(101)
|
|
95619
97371
|
FirstLast?: string;
|
|
@@ -95690,6 +97442,9 @@ export class CreateMJUserInput {
|
|
|
95690
97442
|
@Field({ nullable: true })
|
|
95691
97443
|
UserImageIconClass: string | null;
|
|
95692
97444
|
|
|
97445
|
+
@Field(() => Boolean, { nullable: true })
|
|
97446
|
+
IsTemplate?: boolean;
|
|
97447
|
+
|
|
95693
97448
|
@Field(() => RestoreContextInput, { nullable: true })
|
|
95694
97449
|
RestoreContext___?: RestoreContextInput;
|
|
95695
97450
|
}
|
|
@@ -95742,6 +97497,9 @@ export class UpdateMJUserInput {
|
|
|
95742
97497
|
@Field({ nullable: true })
|
|
95743
97498
|
UserImageIconClass?: string | null;
|
|
95744
97499
|
|
|
97500
|
+
@Field(() => Boolean, { nullable: true })
|
|
97501
|
+
IsTemplate?: boolean;
|
|
97502
|
+
|
|
95745
97503
|
@Field(() => [KeyValuePairInput], { nullable: true })
|
|
95746
97504
|
OldValues___?: KeyValuePairInput[];
|
|
95747
97505
|
|