@memberjunction/server 6.2.0-edge.4 → 6.2.0-edge.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/SessionJanitor.d.ts +91 -30
- package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
- package/dist/agentSessions/SessionJanitor.js +311 -81
- package/dist/agentSessions/SessionJanitor.js.map +1 -1
- package/dist/agentSessions/SessionManager.d.ts +17 -3
- package/dist/agentSessions/SessionManager.d.ts.map +1 -1
- package/dist/agentSessions/SessionManager.js +44 -10
- package/dist/agentSessions/SessionManager.js.map +1 -1
- package/dist/apiRoot.d.ts +32 -0
- package/dist/apiRoot.d.ts.map +1 -0
- package/dist/apiRoot.js +67 -0
- package/dist/apiRoot.js.map +1 -0
- package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
- package/dist/auth/AuthProviderCatalogRouter.js +27 -0
- package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
- package/dist/auth/LoginScreenEngine.d.ts +22 -0
- package/dist/auth/LoginScreenEngine.d.ts.map +1 -0
- package/dist/auth/LoginScreenEngine.js +57 -0
- package/dist/auth/LoginScreenEngine.js.map +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +52 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/initializeProviders.d.ts +10 -0
- package/dist/auth/initializeProviders.d.ts.map +1 -1
- package/dist/auth/initializeProviders.js +37 -1
- package/dist/auth/initializeProviders.js.map +1 -1
- package/dist/auth/localDevAuth.d.ts +79 -0
- package/dist/auth/localDevAuth.d.ts.map +1 -0
- package/dist/auth/localDevAuth.js +439 -0
- package/dist/auth/localDevAuth.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkKeys.d.ts +2 -2
- package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.js +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.js +3 -2
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
- package/dist/auth/magicLink/types.d.ts +12 -0
- package/dist/auth/magicLink/types.d.ts.map +1 -1
- package/dist/auth/sessionUserClone.d.ts +1 -1
- package/dist/auth/sessionUserClone.d.ts.map +1 -1
- package/dist/auth/sessionUserClone.js +3 -2
- package/dist/auth/sessionUserClone.js.map +1 -1
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts +292 -0
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js +442 -0
- package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js.map +1 -0
- package/dist/broadcast/index.d.ts +6 -0
- package/dist/broadcast/index.d.ts.map +1 -0
- package/dist/broadcast/index.js +6 -0
- package/dist/broadcast/index.js.map +1 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts +43 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js +144 -0
- package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js.map +1 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts +46 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js +149 -0
- package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js.map +1 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts +49 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js +131 -0
- package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js.map +1 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts +24 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts.map +1 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js +51 -0
- package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js.map +1 -0
- package/dist/cache.d.ts +3 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js.map +1 -1
- package/dist/config.d.ts +632 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +104 -4
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +3 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +29 -8
- package/dist/context.js.map +1 -1
- package/dist/coreRoutes.d.ts +29 -0
- package/dist/coreRoutes.d.ts.map +1 -0
- package/dist/coreRoutes.js +156 -0
- package/dist/coreRoutes.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj.d.ts +1016 -29
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +5125 -434
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/CacheInvalidationResolver.d.ts +85 -30
- package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
- package/dist/generic/CacheInvalidationResolver.js +175 -60
- package/dist/generic/CacheInvalidationResolver.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js +2 -0
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
- package/dist/generic/PubSubManager.d.ts +10 -0
- package/dist/generic/PubSubManager.d.ts.map +1 -1
- package/dist/generic/PubSubManager.js +44 -1
- package/dist/generic/PubSubManager.js.map +1 -1
- package/dist/generic/PushStatusResolver.d.ts +39 -6
- package/dist/generic/PushStatusResolver.d.ts.map +1 -1
- package/dist/generic/PushStatusResolver.js +94 -12
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +168 -69
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +464 -405
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +11 -3
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +91 -13
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/generic/actionOutputFieldSecurity.d.ts +26 -0
- package/dist/generic/actionOutputFieldSecurity.d.ts.map +1 -0
- package/dist/generic/actionOutputFieldSecurity.js +47 -0
- package/dist/generic/actionOutputFieldSecurity.js.map +1 -0
- package/dist/generic/fieldSecurityTransport.d.ts +30 -0
- package/dist/generic/fieldSecurityTransport.d.ts.map +1 -0
- package/dist/generic/fieldSecurityTransport.js +30 -0
- package/dist/generic/fieldSecurityTransport.js.map +1 -0
- package/dist/globalCors.d.ts +33 -0
- package/dist/globalCors.d.ts.map +1 -0
- package/dist/globalCors.js +58 -0
- package/dist/globalCors.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +230 -222
- package/dist/index.js.map +1 -1
- package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
- package/dist/integration/CustomColumnPromoter.js +6 -1
- package/dist/integration/CustomColumnPromoter.js.map +1 -1
- package/dist/logging/variablesLoggingMiddleware.d.ts +12 -0
- package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
- package/dist/logging/variablesLoggingMiddleware.js +50 -1
- package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
- package/dist/multiTenancy/index.d.ts.map +1 -1
- package/dist/multiTenancy/index.js +22 -2
- package/dist/multiTenancy/index.js.map +1 -1
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -1
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js +2 -1
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -1
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -1
- package/dist/realtimeSessions/RealtimeVerifyRouter.js +2 -1
- package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -1
- package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts +100 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts.map +1 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.js +173 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.js.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -1
- package/dist/realtimeSessions/SessionVerificationPortsBase.js +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -1
- package/dist/realtimeSessions/index.d.ts +2 -0
- package/dist/realtimeSessions/index.d.ts.map +1 -1
- package/dist/realtimeSessions/index.js +2 -0
- package/dist/realtimeSessions/index.js.map +1 -1
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts +32 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js +56 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -0
- package/dist/realtimeSessions/sessionAccess.d.ts +91 -8
- package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -1
- package/dist/realtimeSessions/sessionAccess.js +127 -20
- package/dist/realtimeSessions/sessionAccess.js.map +1 -1
- package/dist/realtimeSessions/sessionConfigStamps.js +1 -1
- package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -1
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -1
- package/dist/realtimeSessions/subscriptionAuthorization.js +5 -2
- package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -1
- package/dist/realtimeSessions/verificationWorkflow.d.ts +2 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -1
- package/dist/realtimeSessions/verificationWorkflow.js +1 -1
- package/dist/realtimeSessions/verificationWorkflow.js.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.js +19 -3
- package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.d.ts +67 -7
- package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.js +201 -19
- package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
- package/dist/realtimeWidget/host-identity.d.ts +1 -1
- package/dist/realtimeWidget/host-identity.js +1 -1
- package/dist/realtimeWidget/widgetCore.d.ts +20 -1
- package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetCore.js +17 -1
- package/dist/realtimeWidget/widgetCore.js.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.d.ts +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +2 -1
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +19 -1
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +63 -12
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +1 -0
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/AgentRunStatusPublisher.d.ts +18 -4
- package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -1
- package/dist/resolvers/AgentRunStatusPublisher.js +32 -8
- package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -1
- package/dist/resolvers/AgentSessionResolver.d.ts +10 -4
- package/dist/resolvers/AgentSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/AgentSessionResolver.js +40 -17
- package/dist/resolvers/AgentSessionResolver.js.map +1 -1
- package/dist/resolvers/ArtifactFileResolver.d.ts +5 -1
- package/dist/resolvers/ArtifactFileResolver.d.ts.map +1 -1
- package/dist/resolvers/ArtifactFileResolver.js +9 -7
- package/dist/resolvers/ArtifactFileResolver.js.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.d.ts +8 -4
- package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.js +6 -6
- package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.d.ts +24 -3
- package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
- package/dist/resolvers/DatasetResolver.js +57 -8
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts +13 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.js +50 -14
- package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +2 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +3 -2
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts +46 -3
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +211 -50
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
- package/dist/resolvers/FileCategoryResolver.js +1 -0
- package/dist/resolvers/FileCategoryResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts +87 -11
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +292 -105
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts +33 -7
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +117 -38
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +6 -3
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +49 -9
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts +8 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +31 -3
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/PipelineProgressResolver.d.ts +6 -0
- package/dist/resolvers/PipelineProgressResolver.d.ts.map +1 -1
- package/dist/resolvers/PipelineProgressResolver.js +5 -3
- package/dist/resolvers/PipelineProgressResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts +2 -0
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +33 -6
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/QuerySystemUserResolver.d.ts +2 -0
- package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
- package/dist/resolvers/QuerySystemUserResolver.js +15 -6
- package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
- package/dist/resolvers/RSUResolver.d.ts.map +1 -1
- package/dist/resolvers/RSUResolver.js +12 -0
- package/dist/resolvers/RSUResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +18 -10
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +92 -54
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +11 -9
- package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +56 -8
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +241 -67
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +4 -4
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTestResolver.js +3 -1
- package/dist/resolvers/RunTestResolver.js.map +1 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts +12 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts.map +1 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.js +15 -2
- package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +2 -3
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +4 -0
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts +2 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.js +28 -1
- package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
- package/dist/resolvers/TestQuerySQLResolver.d.ts +24 -0
- package/dist/resolvers/TestQuerySQLResolver.d.ts.map +1 -1
- package/dist/resolvers/TestQuerySQLResolver.js +66 -13
- package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts +34 -2
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +150 -27
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.d.ts +1 -1
- package/dist/resolvers/UserViewResolver.d.ts.map +1 -1
- package/dist/resolvers/UserViewResolver.js +2 -1
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/resolvers/agent-run-data-guard.d.ts +31 -0
- package/dist/resolvers/agent-run-data-guard.d.ts.map +1 -0
- package/dist/resolvers/agent-run-data-guard.js +72 -0
- package/dist/resolvers/agent-run-data-guard.js.map +1 -0
- package/dist/rest/EntityCRUDHandler.d.ts +6 -0
- package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +19 -5
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +8 -5
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/RealtimeRecordingHandler.d.ts +49 -0
- package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -0
- package/dist/rest/RealtimeRecordingHandler.js +383 -0
- package/dist/rest/RealtimeRecordingHandler.js.map +1 -0
- package/dist/rest/ViewOperationsHandler.d.ts +9 -1
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +43 -17
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +6 -0
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +6 -0
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/serverExtensionReservedRoots.d.ts +12 -10
- package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
- package/dist/serverExtensionReservedRoots.js +14 -17
- package/dist/serverExtensionReservedRoots.js.map +1 -1
- package/dist/serverRoleConfigUnits.d.ts +29 -0
- package/dist/serverRoleConfigUnits.d.ts.map +1 -0
- package/dist/serverRoleConfigUnits.js +33 -0
- package/dist/serverRoleConfigUnits.js.map +1 -0
- package/dist/services/MJStorageBlobStore.d.ts +8 -1
- package/dist/services/MJStorageBlobStore.d.ts.map +1 -1
- package/dist/services/MJStorageBlobStore.js +25 -19
- package/dist/services/MJStorageBlobStore.js.map +1 -1
- package/dist/services/StartTaskGraphDispatcher.js +2 -2
- package/dist/services/StartTaskGraphDispatcher.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +5 -3
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +27 -5
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/TaskGraphAgentRunner.d.ts +14 -2
- package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphAgentRunner.js +157 -9
- package/dist/services/TaskGraphAgentRunner.js.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.d.ts +59 -2
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.js +626 -16
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
- package/dist/sharedCache.d.ts.map +1 -1
- package/dist/sharedCache.js +3 -0
- package/dist/sharedCache.js.map +1 -1
- package/dist/types.d.ts +23 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +99 -98
- package/src/__tests__/ActionResolver.fieldSecurity.test.ts +237 -0
- package/src/__tests__/AdhocQueryResolver.dialect.test.ts +137 -0
- package/src/__tests__/AgentRunStatusPublisher.test.ts +49 -0
- package/src/__tests__/AgentSessionResolver.ownership.test.ts +137 -0
- package/src/__tests__/CustomColumnPromoterOnePass.test.ts +15 -1
- package/src/__tests__/DatasetResolver.itemFilters.test.ts +201 -0
- package/src/__tests__/EntityCommunicationsResolver.actingUser.test.ts +151 -0
- package/src/__tests__/EntityRecordNameResolver.rowSecurity.test.ts +152 -0
- package/src/__tests__/EvolutionActsOnWhatItDetects.test.ts +113 -0
- package/src/__tests__/FetchEntityVectorsResolver.test.ts +369 -18
- package/src/__tests__/FileResolver.fieldSecurity.test.ts +82 -0
- package/src/__tests__/FileResolver.storageAccess.test.ts +562 -0
- package/src/__tests__/GetDataContextDataResolver.sqlItems.test.ts +416 -0
- package/src/__tests__/ListOperationsResolver.adhocScreen.test.ts +137 -0
- package/src/__tests__/LoginScreenEngine.test.ts +86 -0
- package/src/__tests__/MJStorageBlobStore.storageGate.test.ts +63 -0
- package/src/__tests__/PipelineProgressResolver.filter.test.ts +58 -0
- package/src/__tests__/QuerySystemUserResolver.fieldSecurity.test.ts +49 -0
- package/src/__tests__/RESTEndpointHandler.test.ts +25 -0
- package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +23 -3
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +324 -46
- package/src/__tests__/RecordingAssemblyScheduler.test.ts +178 -0
- package/src/__tests__/RemoteBrowserActionResolver.ownership.test.ts +98 -0
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +133 -2
- package/src/__tests__/ResolverBase.balancedClause.test.ts +155 -0
- package/src/__tests__/ResolverBase.clauseUnscopedRead.test.ts +127 -0
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +243 -7
- package/src/__tests__/ResolverBase.deleteReturnProjection.test.ts +52 -0
- package/src/__tests__/ResolverBase.entityMessageRelay.test.ts +176 -0
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +5 -2
- package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +23 -1
- package/src/__tests__/ResolverBase.publishStatusUpdate.test.ts +68 -0
- package/src/__tests__/ResolverBase.userViewCacheAndDedup.test.ts +130 -0
- package/src/__tests__/RunAIAgentResolver.branch.test.ts +69 -13
- package/src/__tests__/RunAIAgentResolver.conversationWriter.test.ts +210 -0
- package/src/__tests__/RunAIAgentResolver.fireAndForgetCompletion.test.ts +209 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +20 -28
- package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +264 -0
- package/src/__tests__/RunAIAgentResolver.serverReply.test.ts +358 -0
- package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +4 -1
- package/src/__tests__/RunTemplateResolver.test.ts +35 -2
- package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +11 -0
- package/src/__tests__/RunViewResolver.cacheCheckScreen.test.ts +165 -0
- package/src/__tests__/SearchKnowledgeStreamResolver.test.ts +161 -0
- package/src/__tests__/SessionJanitor.test.ts +365 -10
- package/src/__tests__/SessionManager.test.ts +122 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +25 -0
- package/src/__tests__/TaskGraphAgentRunner.test.ts +266 -0
- package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +468 -23
- package/src/__tests__/TaskGraphFrameResolver.test.ts +22 -0
- package/src/__tests__/TestQuerySQLResolver.test.ts +274 -0
- package/src/__tests__/TransactionGroupResolver.fieldSecurity.test.ts +199 -0
- package/src/__tests__/TransactionGroupResolver.refusals.test.ts +98 -1
- package/src/__tests__/UpdateMJDataContextItem.oldValues.test.ts +220 -0
- package/src/__tests__/UserViewResolver.updateWhereClause.test.ts +15 -0
- package/src/__tests__/ViewOperationsHandler.clauseScreen.test.ts +157 -0
- package/src/__tests__/ViewOperationsHandler.test.ts +7 -2
- package/src/__tests__/WidgetSessionService.test.ts +583 -4
- package/src/__tests__/agent-run-data-guard.test.ts +130 -0
- package/src/__tests__/apiRootBoot.test.ts +202 -0
- package/src/__tests__/buildMagicLinkSessionUser.test.ts +96 -0
- package/src/__tests__/cacheBroadcastProviders.test.ts +403 -0
- package/src/__tests__/cacheInvalidationRecordData.test.ts +109 -0
- package/src/__tests__/conversationRunEvents.test.ts +56 -14
- package/src/__tests__/fieldSecurityFixtures.ts +91 -0
- package/src/__tests__/globalCors.test.ts +217 -0
- package/src/__tests__/localDevAuth.test.ts +196 -0
- package/src/__tests__/multiTenancy.postgresRewrite.test.ts +181 -0
- package/src/__tests__/multiTenancy.security.test.ts +51 -0
- package/src/__tests__/multiTenancy.test.ts +1 -1
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +10 -0
- package/src/__tests__/ownedRealtimeSession.test.ts +39 -0
- package/src/__tests__/pushStatusResolver.filter.test.ts +64 -1
- package/src/__tests__/realtimeRecordingHandler.test.ts +669 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +29 -1
- package/src/__tests__/realtimeSessions/ownedRealtimeSession.anonymous.test.ts +31 -0
- package/src/__tests__/realtimeSessions/ownedRealtimeSession.namedScoped.test.ts +37 -0
- package/src/__tests__/realtimeSessions/sessionAccess.test.ts +146 -7
- package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +1 -1
- package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +25 -4
- package/src/__tests__/resolverBase.cloudEventChangedFields.test.ts +157 -0
- package/src/__tests__/resolverBase.fieldSecurityTransport.test.ts +222 -0
- package/src/__tests__/resolverBase.fls.test.ts +146 -97
- package/src/__tests__/restTransport.fieldSecurity.test.ts +148 -0
- package/src/__tests__/runParamsTimeZone.test.ts +179 -0
- package/src/__tests__/runStreams.fieldSecurity.test.ts +100 -0
- package/src/__tests__/runViewProperties.test.ts +114 -0
- package/src/__tests__/scalabilityBenchmarks.test.ts +765 -0
- package/src/__tests__/scalabilityDatabaseIntegration.test.ts +207 -0
- package/src/__tests__/serverExtensionHostOverlay.test.ts +66 -0
- package/src/__tests__/serverExtensionReservedRoots.test.ts +11 -98
- package/src/__tests__/sessionUserClone.test.ts +5 -1
- package/src/__tests__/sharedCache.test.ts +5 -3
- package/src/__tests__/startupSweepOrder.test.ts +40 -0
- package/src/__tests__/unifiedAuth.test.ts +28 -0
- package/src/__tests__/widgetGuestElevation.test.ts +2 -0
- package/src/agentSessions/SessionJanitor.ts +369 -93
- package/src/agentSessions/SessionManager.ts +45 -10
- package/src/apiRoot.ts +78 -0
- package/src/auth/AuthProviderCatalogRouter.ts +29 -0
- package/src/auth/LoginScreenEngine.ts +50 -0
- package/src/auth/index.ts +57 -12
- package/src/auth/initializeProviders.ts +43 -1
- package/src/auth/localDevAuth.ts +528 -0
- package/src/auth/magicLink/MagicLinkKeys.ts +2 -2
- package/src/auth/magicLink/MagicLinkRouter.ts +3 -2
- package/src/auth/magicLink/types.ts +10 -0
- package/src/auth/sessionUserClone.ts +3 -2
- package/src/broadcast/BaseCacheInvalidationBroadcastProvider.ts +674 -0
- package/src/broadcast/index.ts +5 -0
- package/src/broadcast/providers/AWSIoTCoreBroadcastProvider.ts +180 -0
- package/src/broadcast/providers/AzureWebPubSubBroadcastProvider.ts +182 -0
- package/src/broadcast/providers/GCPPubSubBroadcastProvider.ts +169 -0
- package/src/broadcast/providers/SequencedRoleBucketBroadcastProvider.ts +57 -0
- package/src/cache.ts +2 -1
- package/src/config.ts +115 -5
- package/src/context.ts +32 -8
- package/src/coreRoutes.ts +181 -0
- package/src/generated/graphql-schemas/__mj.ts +3684 -284
- package/src/generic/CacheInvalidationResolver.ts +172 -60
- package/src/generic/OrphanedConversationDetailReconciler.ts +4 -2
- package/src/generic/PubSubManager.ts +54 -1
- package/src/generic/PushStatusResolver.ts +109 -12
- package/src/generic/ResolverBase.ts +540 -431
- package/src/generic/RunViewResolver.ts +97 -15
- package/src/generic/actionOutputFieldSecurity.ts +75 -0
- package/src/generic/fieldSecurityTransport.ts +62 -0
- package/src/globalCors.ts +71 -0
- package/src/index.ts +239 -238
- package/src/integration/CustomColumnPromoter.ts +6 -1
- package/src/logging/variablesLoggingMiddleware.ts +59 -3
- package/src/multiTenancy/index.ts +24 -2
- package/src/realtimeSessions/README.md +7 -3
- package/src/realtimeSessions/RealtimeSessionVerificationService.ts +2 -1
- package/src/realtimeSessions/RealtimeVerifyRouter.ts +2 -1
- package/src/realtimeSessions/RecordingAssemblyScheduler.ts +234 -0
- package/src/realtimeSessions/SessionVerificationPortsBase.ts +1 -0
- package/src/realtimeSessions/index.ts +2 -0
- package/src/realtimeSessions/ownedRealtimeSession.ts +69 -0
- package/src/realtimeSessions/sessionAccess.ts +183 -23
- package/src/realtimeSessions/sessionConfigStamps.ts +1 -1
- package/src/realtimeSessions/subscriptionAuthorization.ts +4 -2
- package/src/realtimeSessions/verificationWorkflow.ts +3 -1
- package/src/realtimeWidget/WidgetRouter.ts +22 -4
- package/src/realtimeWidget/WidgetSessionService.ts +252 -17
- package/src/realtimeWidget/host-identity.ts +1 -1
- package/src/realtimeWidget/widgetCore.ts +30 -1
- package/src/realtimeWidget/widgetGuestElevation.ts +2 -1
- package/src/resolvers/ActionResolver.ts +78 -15
- package/src/resolvers/AdhocQueryResolver.ts +1 -0
- package/src/resolvers/AgentRunStatusPublisher.ts +36 -8
- package/src/resolvers/AgentSessionResolver.ts +46 -18
- package/src/resolvers/ArtifactFileResolver.ts +9 -8
- package/src/resolvers/ConversationRunEventsResolver.ts +15 -11
- package/src/resolvers/DatasetResolver.ts +70 -10
- package/src/resolvers/EntityCommunicationsResolver.ts +56 -15
- package/src/resolvers/EntityRecordNameResolver.ts +3 -2
- package/src/resolvers/FetchEntityVectorsResolver.ts +248 -55
- package/src/resolvers/FileCategoryResolver.ts +1 -0
- package/src/resolvers/FileResolver.ts +334 -109
- package/src/resolvers/GetDataContextDataResolver.ts +139 -41
- package/src/resolvers/GetDataResolver.ts +6 -3
- package/src/resolvers/IntegrationDiscoveryResolver.ts +53 -9
- package/src/resolvers/MergeRecordsResolver.ts +23 -2
- package/src/resolvers/PipelineProgressResolver.ts +12 -3
- package/src/resolvers/QueryResolver.ts +31 -6
- package/src/resolvers/QuerySystemUserResolver.ts +15 -6
- package/src/resolvers/RSUResolver.ts +12 -0
- package/src/resolvers/RealtimeClientSessionResolver.ts +114 -66
- package/src/resolvers/RemoteBrowserActionResolver.ts +15 -10
- package/src/resolvers/RunAIAgentResolver.ts +296 -85
- package/src/resolvers/RunTemplateResolver.ts +6 -4
- package/src/resolvers/RunTestResolver.ts +3 -1
- package/src/resolvers/SearchKnowledgeStreamResolver.ts +19 -3
- package/src/resolvers/SqlLoggingConfigResolver.ts +2 -4
- package/src/resolvers/SyncDataResolver.ts +4 -0
- package/src/resolvers/TaskGraphFrameResolver.ts +33 -1
- package/src/resolvers/TestQuerySQLResolver.ts +69 -13
- package/src/resolvers/TransactionGroupResolver.ts +185 -30
- package/src/resolvers/UserViewResolver.ts +2 -1
- package/src/resolvers/__tests__/GetDataResolver.validation.test.ts +95 -0
- package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +43 -0
- package/src/resolvers/agent-run-data-guard.ts +89 -0
- package/src/rest/EntityCRUDHandler.ts +22 -5
- package/src/rest/RESTEndpointHandler.ts +8 -5
- package/src/rest/RealtimeRecordingHandler.ts +467 -0
- package/src/rest/ViewOperationsHandler.ts +52 -18
- package/src/rest/setupRESTEndpoints.ts +6 -0
- package/src/serverExtensionReservedRoots.ts +14 -17
- package/src/serverRoleConfigUnits.ts +48 -0
- package/src/services/MJStorageBlobStore.ts +31 -30
- package/src/services/StartTaskGraphDispatcher.ts +2 -2
- package/src/services/TaskGraphActionRunner.ts +25 -5
- package/src/services/TaskGraphAgentRunner.ts +188 -11
- package/src/services/TaskGraphContinuationDeliverer.ts +738 -16
- package/src/sharedCache.ts +3 -0
- package/src/types.ts +23 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* concurrent session of the same user THE INSTANT it is written; this is
|
|
8
8
|
* same-moment cross-request aliasing, not a cache-staleness problem. The
|
|
9
9
|
* magic-link path has always cloned for exactly this reason (see
|
|
10
|
-
*
|
|
10
|
+
* BuildMagicLinkSessionUser in context.ts); this helper makes that rule a
|
|
11
11
|
* single shared primitive so every per-session stamp goes through the same
|
|
12
12
|
* clone.
|
|
13
13
|
*
|
|
@@ -29,7 +29,7 @@ import { Metadata, UserInfo } from '@memberjunction/core';
|
|
|
29
29
|
* state on the clone; never stamp the input itself.
|
|
30
30
|
*/
|
|
31
31
|
export function CloneUserForSessionContext(user) {
|
|
32
|
-
const md = Metadata.Provider; // global-provider-ok: server-side session construction under the server's single default provider, same as
|
|
32
|
+
const md = Metadata.Provider; // global-provider-ok: server-side session construction under the server's single default provider, same as BuildMagicLinkSessionUser
|
|
33
33
|
const clone = new UserInfo(md, {
|
|
34
34
|
...user,
|
|
35
35
|
_UserRoles: undefined,
|
|
@@ -43,6 +43,7 @@ export function CloneUserForSessionContext(user) {
|
|
|
43
43
|
clone.ReturningVisitorContext = user.ReturningVisitorContext;
|
|
44
44
|
clone.WidgetGuestContext = user.WidgetGuestContext;
|
|
45
45
|
clone.IsMagicLinkAnonymous = user.IsMagicLinkAnonymous;
|
|
46
|
+
clone.AnonymousVisitorID = user.AnonymousVisitorID;
|
|
46
47
|
clone.APIKeyActingContext = user.APIKeyActingContext;
|
|
47
48
|
clone.APIKeyRowFilters = user.APIKeyRowFilters;
|
|
48
49
|
return clone;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionUserClone.js","sourceRoot":"","sources":["../../src/auth/sessionUserClone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAc;IACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,qIAAqI;IACnK,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE;QAC7B,GAAG,IAAI;QACP,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,wEAAwE;IACxE,0EAA0E;IAC1E,6DAA6D;IAC7D,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;IAC7D,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnD,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACvD,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACrD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"sessionUserClone.js","sourceRoot":"","sources":["../../src/auth/sessionUserClone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAc;IACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,qIAAqI;IACnK,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE;QAC7B,GAAG,IAAI;QACP,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,wEAAwE;IACxE,0EAA0E;IAC1E,6DAA6D;IAC7D,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;IAC7D,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnD,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACvD,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnD,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACrD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { BaseSingleton } from '@memberjunction/global';
|
|
2
|
+
import { EntityInfo, UserInfo } from '@memberjunction/core';
|
|
3
|
+
import type { CacheInvalidationNotification, CacheInvalidationPayload, ReadPermissionRow, RoleHolder } from '../generic/CacheInvalidationResolver.js';
|
|
4
|
+
/**
|
|
5
|
+
* Supported cache invalidation broadcast topologies.
|
|
6
|
+
*/
|
|
7
|
+
export type CacheInvalidationBroadcastTopology = 'SequencedRoleBucket' | 'AzureWebPubSub' | 'AWSIoTCore' | 'GCPPubSub';
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options for the cache invalidation broadcast subsystem.
|
|
10
|
+
* Configured under `cacheSettings.broadcast` in `mj.config.cjs` or via `MJ_CACHE_BROADCAST_*` env vars.
|
|
11
|
+
*/
|
|
12
|
+
export interface CacheBroadcastProviderConfig {
|
|
13
|
+
/**
|
|
14
|
+
* Driver key registered with `@RegisterClass(BaseCacheInvalidationBroadcastProvider, key)`.
|
|
15
|
+
* Defaults to `'SequencedRoleBucket'`.
|
|
16
|
+
*/
|
|
17
|
+
provider?: CacheInvalidationBroadcastTopology | string;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum number of sequenced invalidation events retained in the in-memory ring buffer
|
|
20
|
+
* for catch-up delta queries (`GetCacheInvalidationsSince`). Defaults to 5000.
|
|
21
|
+
*/
|
|
22
|
+
ringBufferSize?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Optional list of entity names whose cache invalidation broadcasts should be suppressed
|
|
25
|
+
* (e.g., high-churn telemetry/audit tables never cached on the client).
|
|
26
|
+
*/
|
|
27
|
+
excludedEntities?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Azure Web PubSub configuration (used when `provider === 'AzureWebPubSub'`).
|
|
30
|
+
*/
|
|
31
|
+
azureWebPubSub?: {
|
|
32
|
+
endpoint?: string;
|
|
33
|
+
hubName?: string;
|
|
34
|
+
accessKey?: string;
|
|
35
|
+
tokenTtlMinutes?: number;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* AWS IoT Core MQTT over WebSockets configuration (used when `provider === 'AWSIoTCore'`).
|
|
39
|
+
*/
|
|
40
|
+
awsIoTCore?: {
|
|
41
|
+
endpoint?: string;
|
|
42
|
+
region?: string;
|
|
43
|
+
topicPrefix?: string;
|
|
44
|
+
accessKeyId?: string;
|
|
45
|
+
secretAccessKey?: string;
|
|
46
|
+
tokenTtlSeconds?: number;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Google Cloud Pub/Sub / Cloud Run WebSockets configuration (used when `provider === 'GCPPubSub'`).
|
|
50
|
+
*/
|
|
51
|
+
gcpPubSub?: {
|
|
52
|
+
projectId?: string;
|
|
53
|
+
topicPrefix?: string;
|
|
54
|
+
gatewayUrl?: string;
|
|
55
|
+
signingSecret?: string;
|
|
56
|
+
tokenTtlSeconds?: number;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Catch-up response returned by `GetChangesSince` when a client detects a sequence gap
|
|
61
|
+
* via `X-MJ-Cache-Seq` / `X-MJ-Server-ID` HTTP headers or WebSocket reconnection.
|
|
62
|
+
*/
|
|
63
|
+
export interface CacheInvalidationCatchUpResponse {
|
|
64
|
+
/**
|
|
65
|
+
* True when the requested `sinceSequence` has already been evicted from the ring buffer,
|
|
66
|
+
* belongs to a future sequence, or the server restarted. Instructs the client to evict
|
|
67
|
+
* its local dataset cache and re-fetch cleanly.
|
|
68
|
+
*/
|
|
69
|
+
RequiresFullRefresh: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Latest monotonic sequence number assigned by this server process.
|
|
72
|
+
*/
|
|
73
|
+
CurrentSequence: number;
|
|
74
|
+
/**
|
|
75
|
+
* Unique process identifier for this MJServer instance (`X-MJ-Server-ID`).
|
|
76
|
+
*/
|
|
77
|
+
ServerProcessID: string;
|
|
78
|
+
/**
|
|
79
|
+
* Ordered delta of permission-filtered, RLS-shaped invalidation events strictly after `sinceSequence`.
|
|
80
|
+
*/
|
|
81
|
+
Events: CacheInvalidationNotification[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Connection token and subscription metadata returned by `NegotiateClientConnection`
|
|
85
|
+
* for Topology 3 external cloud WebSocket multiplexers (or in-process GraphQL WS fallback).
|
|
86
|
+
*/
|
|
87
|
+
export interface CacheBroadcastNegotiationResult {
|
|
88
|
+
/**
|
|
89
|
+
* Active provider driver key (e.g. `'SequencedRoleBucket'`, `'AzureWebPubSub'`, `'AWSIoTCore'`, `'GCPPubSub'`).
|
|
90
|
+
*/
|
|
91
|
+
Provider: string;
|
|
92
|
+
/**
|
|
93
|
+
* WebSocket endpoint URL for the client to connect to.
|
|
94
|
+
*/
|
|
95
|
+
Url: string;
|
|
96
|
+
/**
|
|
97
|
+
* Signed token / credentials authorizing the client for its role-scoped broadcast groups.
|
|
98
|
+
*/
|
|
99
|
+
Token?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Role-scoped group/topic names the client is authorized to subscribe to.
|
|
102
|
+
*/
|
|
103
|
+
Groups: string[];
|
|
104
|
+
/**
|
|
105
|
+
* ISO-8601 expiration timestamp for the negotiated token.
|
|
106
|
+
*/
|
|
107
|
+
ExpiresAt: string;
|
|
108
|
+
/**
|
|
109
|
+
* Current server process ID for sequence continuity tracking.
|
|
110
|
+
*/
|
|
111
|
+
ServerProcessID: string;
|
|
112
|
+
/**
|
|
113
|
+
* Current server invalidation sequence at the moment of negotiation.
|
|
114
|
+
*/
|
|
115
|
+
CurrentSequence: number;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Result of evaluating an invalidation event against a single role fingerprint bucket.
|
|
119
|
+
*/
|
|
120
|
+
export interface RoleBucketEvaluationResult {
|
|
121
|
+
Allow: boolean;
|
|
122
|
+
WithholdKey: boolean;
|
|
123
|
+
Shaped: CacheInvalidationNotification;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* High-churn system telemetry/logging entities that can optionally be excluded from browser
|
|
127
|
+
* invalidation fan-out because browsers do not maintain live dataset caches for them.
|
|
128
|
+
*/
|
|
129
|
+
export declare const DEFAULT_HIGH_CHURN_SYSTEM_ENTITIES: readonly string[];
|
|
130
|
+
/**
|
|
131
|
+
* Abstract base class for MemberJunction's pluggable Cache Invalidation Broadcast Hierarchy.
|
|
132
|
+
*
|
|
133
|
+
* Provides the shared primitives used by all broadcast topologies:
|
|
134
|
+
* 1. **Monotonic Sequence Ring Buffer (Topology 1)**: Every invalidation event is stamped with a
|
|
135
|
+
* monotonically increasing `Sequence` integer and stored in a bounded circular buffer (`MaxRingBufferSize`),
|
|
136
|
+
* enabling HTTP `X-MJ-Cache-Seq` piggybacking and `GetCacheInvalidationsSince` delta catch-up.
|
|
137
|
+
* 2. **Role-Fingerprint $O(\text{Roles})$ Evaluation & Shaping Memoizer (Topology 2)**: Computes a canonical
|
|
138
|
+
* fingerprint of a user's sorted `RoleID`s (cached per `UserInfo` in a `WeakMap`) and memoizes
|
|
139
|
+
* entity read-permission checks (`CanRead`) and row-level security key-withholding (`ReadIsRowFiltered`)
|
|
140
|
+
* once per `(payload, entity, roleFingerprint)` tuple instead of once per connected WebSocket client.
|
|
141
|
+
* 3. **Cloud Multiplexer Extension Hooks (Topology 3)**: Subclasses (`AzureWebPubSubBroadcastProvider`,
|
|
142
|
+
* `AWSIoTCoreBroadcastProvider`, `GCPPubSubBroadcastProvider`) override `PublishInvalidation` and
|
|
143
|
+
* `NegotiateClientConnection` to offload WebSocket fan-out to managed cloud pub/sub infrastructure.
|
|
144
|
+
*/
|
|
145
|
+
export declare abstract class BaseCacheInvalidationBroadcastProvider {
|
|
146
|
+
private static readonly _serverProcessId;
|
|
147
|
+
private _currentSequence;
|
|
148
|
+
private _maxRingBufferSize;
|
|
149
|
+
private _ringBuffer;
|
|
150
|
+
private _ringHead;
|
|
151
|
+
private _ringCount;
|
|
152
|
+
private _excludedEntities;
|
|
153
|
+
protected _config: CacheBroadcastProviderConfig;
|
|
154
|
+
/**
|
|
155
|
+
* Memoizes canonical role fingerprints per `RoleHolder` / `UserInfo` object reference.
|
|
156
|
+
*/
|
|
157
|
+
private readonly _roleFingerprintCache;
|
|
158
|
+
/**
|
|
159
|
+
* Memoizes `Metadata.EntityByName` lookup per `CacheInvalidationPayload` object reference
|
|
160
|
+
* so `CacheInvalidationFilter` and `CacheInvalidationResolver` only look up the entity once per event.
|
|
161
|
+
*/
|
|
162
|
+
private readonly _payloadEntityCache;
|
|
163
|
+
/**
|
|
164
|
+
* Memoizes entity-level read permission (`CanRead`) per `(payload, roleFingerprint)`.
|
|
165
|
+
*/
|
|
166
|
+
private readonly _payloadFilterMemo;
|
|
167
|
+
/**
|
|
168
|
+
* Memoizes row-level security key-withholding and shaped `CacheInvalidationNotification`
|
|
169
|
+
* per `(payload, entity, roleFingerprint)`.
|
|
170
|
+
*/
|
|
171
|
+
private readonly _payloadShapeMemo;
|
|
172
|
+
/**
|
|
173
|
+
* Unique identifier of the running MJServer process, emitted in `X-MJ-Server-ID`.
|
|
174
|
+
*/
|
|
175
|
+
get ServerProcessID(): string;
|
|
176
|
+
/**
|
|
177
|
+
* Identifier for the active broadcast topology.
|
|
178
|
+
*/
|
|
179
|
+
abstract get Topology(): CacheInvalidationBroadcastTopology;
|
|
180
|
+
/**
|
|
181
|
+
* Latest monotonic sequence number assigned to a cache invalidation event in this process.
|
|
182
|
+
*/
|
|
183
|
+
get CurrentSequence(): number;
|
|
184
|
+
/**
|
|
185
|
+
* Maximum number of invalidation events held in the circular ring buffer.
|
|
186
|
+
*/
|
|
187
|
+
get MaxRingBufferSize(): number;
|
|
188
|
+
/**
|
|
189
|
+
* Number of invalidation events currently retained in the circular ring buffer.
|
|
190
|
+
*/
|
|
191
|
+
get BufferedEventCount(): number;
|
|
192
|
+
/**
|
|
193
|
+
* Configures the provider instance with buffer sizing, entity exclusions, and cloud settings.
|
|
194
|
+
*/
|
|
195
|
+
Configure(config?: CacheBroadcastProviderConfig): void;
|
|
196
|
+
/**
|
|
197
|
+
* Returns whether invalidation events for `entityName` should be broadcast to clients.
|
|
198
|
+
* Returns `false` for blank names or entities explicitly listed in `excludedEntities`.
|
|
199
|
+
*/
|
|
200
|
+
ShouldBroadcastEntity(entityName: string | undefined | null): boolean;
|
|
201
|
+
/**
|
|
202
|
+
* Computes a canonical, order-independent role fingerprint for a user (`RoleHolder`).
|
|
203
|
+
* Memoized per user object in a `WeakMap` so repeated evaluations across thousands of events are $O(1)$.
|
|
204
|
+
*/
|
|
205
|
+
GetRoleFingerprint(user: RoleHolder | undefined | null): string;
|
|
206
|
+
/**
|
|
207
|
+
* Resolves and caches the `EntityInfo` for a `CacheInvalidationPayload` so that
|
|
208
|
+
* `CacheInvalidationFilter` and `CacheInvalidationResolver` do not repeat metadata lookups.
|
|
209
|
+
*/
|
|
210
|
+
ResolveEntityForPayload(payload: CacheInvalidationPayload, entityLookup?: (entityName: string) => EntityInfo | undefined | null): EntityInfo | null;
|
|
211
|
+
/**
|
|
212
|
+
* Evaluates whether `user` has entity-level read permission for `payload`, memoized by
|
|
213
|
+
* `(payload, entityName, roleFingerprint)` so $N$ subscribers sharing $R$ role combinations
|
|
214
|
+
* only run `GetUserPermisions` $R$ times per event.
|
|
215
|
+
*/
|
|
216
|
+
EvaluateEntityReadAccess(payload: CacheInvalidationPayload, user: UserInfo | undefined, entityLookup?: (entityName: string) => EntityInfo | undefined | null): boolean;
|
|
217
|
+
/**
|
|
218
|
+
* Evaluates whether every read permission the user holds on `entity` is gated by a
|
|
219
|
+
* Row-Level Security filter (`ReadRLSFilterID`).
|
|
220
|
+
*/
|
|
221
|
+
ReadIsRowFiltered(entity: {
|
|
222
|
+
Permissions: ReadonlyArray<ReadPermissionRow>;
|
|
223
|
+
}, user: RoleHolder): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Shapes a `CacheInvalidationPayload` into a `CacheInvalidationNotification` for `user` and `entity`.
|
|
226
|
+
* When `user` and `entity` are present and `user.UserRoles` is populated, the shaped object is
|
|
227
|
+
* memoized per `(payload, entity, roleFingerprint)` so $N$ subscribers sharing $R$ role buckets
|
|
228
|
+
* only allocate and evaluate `ReadIsRowFiltered` $R$ times per event.
|
|
229
|
+
*/
|
|
230
|
+
ShapeEventForSubscriber(payload: CacheInvalidationPayload, user: RoleHolder | undefined, entity: {
|
|
231
|
+
Permissions: ReadonlyArray<ReadPermissionRow>;
|
|
232
|
+
} | null | undefined): CacheInvalidationNotification;
|
|
233
|
+
/**
|
|
234
|
+
* Assigns the next monotonic sequence number to `payload` (if not already stamped on this server),
|
|
235
|
+
* appends it to the bounded circular ring buffer, and invokes `OnInvalidationRecorded` for
|
|
236
|
+
* provider-specific fan-out.
|
|
237
|
+
*/
|
|
238
|
+
RecordInvalidation(payload: CacheInvalidationPayload): CacheInvalidationPayload;
|
|
239
|
+
/**
|
|
240
|
+
* Returns all permission-allowed, RLS-shaped invalidation events strictly after `sinceSequence`
|
|
241
|
+
* for `user`. If `sinceSequence` has already been evicted from the ring buffer (or lies in the
|
|
242
|
+
* future due to a server restart), sets `RequiresFullRefresh: true` and returns an empty `Events` list.
|
|
243
|
+
*/
|
|
244
|
+
GetChangesSince(sinceSequence: number, user: UserInfo | undefined): CacheInvalidationCatchUpResponse;
|
|
245
|
+
/**
|
|
246
|
+
* Resets the sequence counter and ring buffer. Intended for unit tests.
|
|
247
|
+
*/
|
|
248
|
+
ResetStateForTesting(): void;
|
|
249
|
+
/**
|
|
250
|
+
* Hook invoked after an invalidation event is sequenced and stored in the ring buffer.
|
|
251
|
+
* Cloud multiplexer providers override this to forward role-bucketed payloads to their
|
|
252
|
+
* external pub/sub infrastructure.
|
|
253
|
+
*/
|
|
254
|
+
protected abstract OnInvalidationRecorded(payload: CacheInvalidationPayload): Promise<void>;
|
|
255
|
+
/**
|
|
256
|
+
* Negotiates a client broadcast connection (URL, token, and authorized role-bucket groups)
|
|
257
|
+
* for the given authenticated user.
|
|
258
|
+
*/
|
|
259
|
+
abstract NegotiateClientConnection(user: UserInfo, defaultGraphQLWsUrl?: string): Promise<CacheBroadcastNegotiationResult>;
|
|
260
|
+
private buildNotification;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Process-wide singleton managing the active {@link BaseCacheInvalidationBroadcastProvider}.
|
|
264
|
+
*
|
|
265
|
+
* Uses `MJGlobal.Instance.ClassFactory` to instantiate the configured provider class
|
|
266
|
+
* (defaulting to `'SequencedRoleBucket'`).
|
|
267
|
+
*/
|
|
268
|
+
export declare class CacheInvalidationBroadcastManager extends BaseSingleton<CacheInvalidationBroadcastManager> {
|
|
269
|
+
private _provider;
|
|
270
|
+
private _fallbackFactory;
|
|
271
|
+
protected constructor();
|
|
272
|
+
static get Instance(): CacheInvalidationBroadcastManager;
|
|
273
|
+
/**
|
|
274
|
+
* Registers the default fallback provider factory so `Provider` is always available even
|
|
275
|
+
* before `Configure()` is explicitly called.
|
|
276
|
+
*/
|
|
277
|
+
RegisterDefaultProviderFactory(factory: () => BaseCacheInvalidationBroadcastProvider): void;
|
|
278
|
+
/**
|
|
279
|
+
* Returns the active broadcast provider, lazily instantiating the default
|
|
280
|
+
* `SequencedRoleBucketBroadcastProvider` if not yet configured.
|
|
281
|
+
*/
|
|
282
|
+
get Provider(): BaseCacheInvalidationBroadcastProvider;
|
|
283
|
+
/**
|
|
284
|
+
* Configures and activates a broadcast provider via `MJGlobal.Instance.ClassFactory`.
|
|
285
|
+
*/
|
|
286
|
+
Configure(config?: CacheBroadcastProviderConfig): BaseCacheInvalidationBroadcastProvider;
|
|
287
|
+
/**
|
|
288
|
+
* Explicitly sets the active provider instance (useful for testing or custom programmatic wiring).
|
|
289
|
+
*/
|
|
290
|
+
SetProvider(provider: BaseCacheInvalidationBroadcastProvider): void;
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=BaseCacheInvalidationBroadcastProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseCacheInvalidationBroadcastProvider.d.ts","sourceRoot":"","sources":["../../src/broadcast/BaseCacheInvalidationBroadcastProvider.ts"],"names":[],"mappings":"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"}
|