@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraphContinuationDeliverer.js","sourceRoot":"","sources":["../../src/services/TaskGraphContinuationDeliverer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskGraphContinuationDeliverer.js","sourceRoot":"","sources":["../../src/services/TaskGraphContinuationDeliverer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAyC,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,8FAA8F;AAC9F,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,8BAA8B;IACvC;;;;OAIG;IACH,YACqB,eAAgC,EAChC,WAAqB,EACrB,MAAqB;QAFrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAU;QACrB,WAAM,GAAN,MAAM,CAAe;IACvC,CAAC;IAEJ;;;;;;;OAOG;IACI,KAAK,CAAC,WAAW,CAAC,MAA8B;QACnD,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,qFAAqF;gBACrF,iFAAiF;gBACjF,SAAS,CAAC,qCAAqC,MAAM,CAAC,YAAY,6CAA6C,CAAC,CAAC;gBACjH,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,QAAQ,CACJ,wDAAwD,MAAM,CAAC,oBAAoB,yBAAyB;oBAC5G,IAAI,MAAM,CAAC,YAAY,oCAAoC,CAC9D,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,mFAAmF;gBACnF,iFAAiF;gBACjF,yCAAyC;gBACzC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;gBACxC,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,eAAe,CAAC;gBAC9C,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACtC,QAAQ,CACJ,0EAA0E,MAAM,CAAC,YAAY,KAAK;wBAClG,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAC5E,CAAC;oBACF,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAClB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,qBAAqB,IAAI,YAAY,EAC5C,IAAI,CACP,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA6B,0BAA0B,EAAE,UAAU,CAAC,CAAC;YAClH,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YAC9C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAClC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;YAC3B,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;YAEjC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzB,QAAQ,CACJ,mEAAmE,MAAM,CAAC,YAAY,KAAK;oBAC3F,GAAG,MAAM,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAC/D,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAE/E,IAAI,CAAC,iBAAiB,CAClB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,oBAAoB,EACxC,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,qBAAqB,IAAI,YAAY,EAC5C,IAAI,CACP,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,4DAA4D,MAAM,CAAC,YAAY,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACrH,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,QAAQ,CAAC,MAA8B;QAChD,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAChC,+EAA+E;gBAC/E,6DAA6D;gBAC7D,SAAS,CAAC,qCAAqC,MAAM,CAAC,YAAY,4EAA4E,CAAC,CAAC;gBAChJ,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAqB,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3G,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;gBACvD,QAAQ,CAAC,mDAAmD,MAAM,CAAC,qBAAqB,mCAAmC,MAAM,CAAC,YAAY,YAAY,CAAC,CAAC;gBAC5J,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO;YACX,CAAC;YAED,yFAAyF;YACzF,wFAAwF;YACxF,8CAA8C;YAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC;YACjF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBACjH,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAqB,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5G,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9C,SAAS,GAAG,SAAS,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,MAAM;gBACV,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA0B,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACzC,QAAQ,CAAC,0CAA0C,SAAS,CAAC,OAAO,mCAAmC,MAAM,CAAC,YAAY,YAAY,CAAC,CAAC;gBACxI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO;YACX,CAAC;YAED,uFAAuF;YACvF,uEAAuE;YACvE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB;gBACtC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,EAAE,SAAS,CAAC;gBAC5E,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,WAAW,GAAG,SAAS,IAAI,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEvD,qBAAqB;YACrB,0FAA0F;YAC1F,2FAA2F;YAC3F,uEAAuE;YACvE,4FAA4F;YAC5F,2FAA2F;YAC3F,yEAAyE;YACzE,IAAI,WAAW,GAAsC,IAAI,CAAC;YAC1D,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAClB,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;oBAClC,UAAU,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACJ,WAAW,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA6B,0BAA0B,EAAE,UAAU,CAAC,CAAC;oBACjH,WAAW,CAAC,SAAS,EAAE,CAAC;oBACxB,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;oBACnD,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACvC,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;oBACnD,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;oBACxB,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC;oBACnC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;oBACjC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;oBAC/B,WAAW,CAAC,OAAO,GAAG,iCAAiC,MAAM,CAAC,YAAY,OAAO,CAAC;oBAClF,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,EAAE,QAAQ;gBACnC,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,IAAI,WAAW,EAAE,EAAE,IAAI,SAAS,CAAC;gBAC/D,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;oBAC5C,CAAC,CAAC,WAAW,CAAC,EAAE;oBAChB,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,IAAI,SAAS,CAAC,CAAC,CAAC;YAEtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3E,MAAM,2BAA2B,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACjC,KAAK;gBACL,QAAQ;gBACR,oBAAoB,EAAE,CAAC;wBACnB,IAAI,EAAE,eAAe,CAAC,IAAI;wBAC1B,OAAO,EACH,GAAG,2BAA2B,MAAM;4BACpC,6UAA6U;qBACpV,CAAC;gBACF,oFAAoF;gBACpF,kFAAkF;gBAClF,cAAc,EAAE,EAAE;gBAClB,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,SAAS,CAAC,EAAE;gBACvB,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,SAAS;gBACnD,oBAAoB,EAAE,cAAc;gBACpC,oBAAoB,EAAE,MAAM,EAAE,QAAQ,IAAI,SAAS;gBACnD,kFAAkF;gBAClF,yCAAyC;gBACzC,iBAAiB,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC;aAC9C,CAAC,CAAC;YAEH,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;gBAC5C,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,WAAW,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,2BAA2B,CAAC;gBAC/E,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;oBACvB,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,MAAM,EAAE,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrE,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnE,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;gBAEzB,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;oBAC5C,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnF,CAAC;gBAED,MAAM,sBAAsB,GAAG,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC;gBAChE,MAAM,kBAAkB,GACpB,MAAM,EAAE,OAAO,IAAI,IAAI;oBACvB,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;wBAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAkC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3E,IACI,SAAS;oBACT,kBAAkB;oBAClB,sBAAsB;oBACtB,MAAM,CAAC,iBAAiB,EAAE,QAAQ,KAAK,UAAU;oBACjD,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU,EACpD,CAAC;oBACC,IAAI,CAAC;wBACD,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACxG,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACnB,QAAQ,CACJ,2DAA2D,MAAM,CAAC,YAAY,sBAAsB,EACpG,SAAS,EACT,WAAW,CACd,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACT,6EAA6E;gBAC7E,oFAAoF;gBACpF,mFAAmF;gBACnF,0CAA0C;gBAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;oBACnC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,qBAAqB,CAAC;oBACxE,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,CAClB,WAAW,EACX,cAAc,IAAI,MAAM,CAAC,oBAAoB,IAAI,EAAE,EACnD,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,cAAc,EACrB,eAAe,EACf,MAAM,EAAE,OAAO,KAAK,KAAK,CAC5B,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,wFAAwF;YACxF,uFAAuF;YACvF,sFAAsF;YACtF,uFAAuF;YACvF,4EAA4E;YAC5E,QAAQ,CAAC,oDAAoD,MAAM,CAAC,YAAY,2BAA2B,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3H,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACrB,QAAQ,CAAC,2DAA2D,MAAM,CAAC,YAAY,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YACtI,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,iBAAiB,CACrB,WAAmB,EACnB,aAAqB,EACrB,cAA6B,EAC7B,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;YAAE,OAAO;QACzC,IAAI,CAAC;YACD,IAAI,cAAc,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;gBACrD,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC7B,SAAS,EAAE,GAAG;oBACd,WAAW;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpB,QAAQ,EAAE,oBAAoB;wBAC9B,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE;4BACF,IAAI,EAAE,UAAU;4BAChB,oBAAoB,EAAE,cAAc;4BACpC,cAAc;4BACd,UAAU;4BACV,OAAO;4BACP,SAAS,EAAE,IAAI,IAAI,EAAE;yBACxB;qBACJ,CAAC;iBACL,CAAC,CAAC;YACP,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAChB,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC7B,SAAS,EAAE,GAAG;oBACd,WAAW;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpB,QAAQ,EAAE,oBAAoB;wBAC9B,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE;4BACF,IAAI,EAAE,UAAU;4BAChB,oBAAoB,EAAE,aAAa;4BACnC,0BAA0B,EAAE,cAAc;4BAC1C,cAAc;4BACd,UAAU;4BACV,OAAO;4BACP,SAAS,EAAE,IAAI,IAAI,EAAE;yBACxB;qBACJ,CAAC;iBACL,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,sFAAsF,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACrH,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CACvB,oBAA4B,EAC5B,QAA2B,EAC3B,mBAAmC;QAQnC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA6B,0BAA0B,EAAE,WAAW,CAAC,CAAC;QACjH,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,WAAW,GAAG,mBAAmB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;QAC/D,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxC,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,mBAAmB,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC/D,4FAA4F;QAC5F,wFAAwF;QACxF,+FAA+F;QAC/F,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA6B,0BAA0B,EAAE,UAAU,CAAC,CAAC;YAC1H,IAAI,MAAM,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAClD,MAAM,GAAG,cAAc,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc;YAClC,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC;YACzG,CAAC,CAAC,KAAK,CAAC;QACZ,OAAO;YACH,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,mBAAmB;YAChC,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,QAAQ;SACrB,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,2BAA2B,CACrC,cAAsB,EACtB,QAAuB,EACvB,cAAsB,EACtB,QAA2B;QAE3B,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,eAAe,GAAG,QAAQ;gBAC5B,CAAC,CAAC,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;gBAC9C,CAAC,CAAC,kBAAkB,CAAC;YACzB,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CACxB;gBACI,UAAU,EAAE,0BAA0B;gBACtC,WAAW,EAAE,mBAAmB,UAAU,SAAS,eAAe,iDAAiD;gBACnH,MAAM,EAAE,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI;aACpB,EACD,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC5E,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,kDAAkD;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB,CACnC,YAAwC,EACxC,YAAoB;QAEpB,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,SAAS,YAAY,oDAAoD,CAAC;YACjG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,UAAU;qBACrB,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC;qBACzD,IAAI,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,GAAG,OAAO;oBAC1B,CAAC,CAAC,GAAG,OAAO,OAAO,cAAc,EAAE;oBACnC,CAAC,CAAC,cAAc,CAAC;gBACrB,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;gBACjC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,gDAAgD;QACpD,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB,CACnC,cAAsB,EACtB,QAA2B;QAE3B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CACxB;gBACI,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,OAAO,MAAM,GAAG;gBAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,UAAU,EAAE,QAAQ;aACvB,EACD,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAChF,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACjC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wFAAwF;QAC5F,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,WAAsC;QAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,8DAA8D;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB,CAChC,MAA8B,EAC9B,QAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CACxB;gBACI,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,aAAa,YAAY,GAAG;gBACzC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC;gBACvC,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI;aACpB,EACD,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBAClC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACT,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;wBACX,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;oBACD,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;wBACpB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC7C,CAAC;gBACL,CAAC;YACL,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC9D,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;YAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrF,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACxD,OAAO;gBACH,GAAG,MAAM;gBACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClD,IAAI,UAAU,EAAE,CAAC;4BACb,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;wBAC5C,CAAC;oBACL,CAAC;oBACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;oBACtF,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;oBAC5F,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBACxB,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACvD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,CAAC,CAAC;aACL,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB,CACnC,MAA8B,EAC9B,EAAW,EACX,QAA6B;QAE7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,YAAY;iBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;iBAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAK3B;gBACI,UAAU,EAAE,uBAAuB;gBACnC,WAAW,EAAE,cAAc,SAAS,GAAG;gBACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC;gBAClD,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI;aACpB,EACD,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwE,CAAC;YACnG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,SAAS;gBAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACf,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oBAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC/C,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxC,KAAK,CAAC,IAAI,CACN,UAAU;4BACN,CAAC,CAAC,sBAAsB,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,UAAU,sBAAsB;4BACtF,CAAC,CAAC,sBAAsB,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,uBAAuB,CAC1E,CAAC;oBACN,CAAC;yBAAM,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACjE,KAAK,CAAC,IAAI,CACN,UAAU;4BACN,CAAC,CAAC,iBAAiB,UAAU,SAAS,YAAY,EAAE;4BACpD,CAAC,CAAC,yBAAyB,YAAY,EAAE,CAChD,CAAC;oBACN,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,GAAG,CACP,KAAK,EACL,KAAK,CAAC,MAAM,GAAG,CAAC;oBACZ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,CAAC,CAAC,kDAAkD,CAC3D,CAAC;YACN,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,2DAA2D;QAC/D,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAC9B,SAAiB,EACjB,qBAA0C;QAE1C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAA4B,CAAC;YACvE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjE,MAAM,KAAK,GAA4B,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,aAAa,EAAE,CAAC;wBACnD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACvB,CAAC;oBACD,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,SAAiB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;YAC9D,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC;gBAC5E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpD,QAAQ,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,cAAc,CAAC;gBAClF,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChE,QAAQ,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;gBAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChD,QAAQ,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;gBAED,oEAAoE;gBACpE,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrH,CAAC,CAAE,MAAM,CAAC,SAAqC;oBAC/C,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,QAAQ,IAAI,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;wBACtF,QAAQ,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3E,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzF,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnF,QAAQ,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChG,CAAC;gBACL,CAAC;gBAED,sDAAsD;gBACtD,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzG,CAAC,CAAE,MAAM,CAAC,MAAkC;oBAC5C,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;wBACtE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI;6BAC9B,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC;6BACzC,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC;6BAC3C,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;6BACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;6BACpB,IAAI,EAAE,CAAC;wBACZ,IAAI,eAAe,EAAE,CAAC;4BAClB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBACvE,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,0DAA0D;gBAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;gBACrF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACtD,MAAM,qBAAqB,GAAG,OAAO,YAAY,KAAK,QAAQ;wBAC1D,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE;wBACrB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBACnC,IAAI,qBAAqB,EAAE,CAAC;wBACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,qBAAqB,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5G,CAAC;gBAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvF,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpE,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACvC,OAAO,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrF,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wEAAwE;QAC5E,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,MAA8B;QAChD,MAAM,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,YAAY,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpH,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,OAAO,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,UAAU,CAAC,MAAc;QAC7B,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC;YAC5B,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC;YAC1B,KAAK,WAAW,CAAC,CAAC,OAAO,GAAG,CAAC;YAC7B,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC;YAC5B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;QACxB,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { CacheChangedEvent, LocalCacheManagerConfig, ProviderBase } from '@memberjunction/core';
|
|
2
|
+
import type { CacheSettingsConfig } from './config.js';
|
|
3
|
+
import { RedisLocalStorageProvider } from '@memberjunction/redis-provider';
|
|
4
|
+
import type { CachePublishMode } from '@memberjunction/redis-provider';
|
|
5
|
+
/**
|
|
6
|
+
* What an MJAPI process publishes, per category.
|
|
7
|
+
*
|
|
8
|
+
* - RunView slots carry their rows: engines on other servers apply them directly.
|
|
9
|
+
* - Writes without a category (the provider's metadata snapshot, ~2 MB compressed) publish a
|
|
10
|
+
* notice only: other servers re-check their metadata against the database and adopt the shared
|
|
11
|
+
* snapshot, so the value never needs to travel.
|
|
12
|
+
* - Everything else (dataset slots, query slots, registry) has no subscriber and publishes nothing.
|
|
13
|
+
* Category clears are always published.
|
|
14
|
+
*/
|
|
15
|
+
export declare const MJAPI_PUBLISH_MODES: Readonly<Record<string, CachePublishMode>>;
|
|
16
|
+
/** Options for {@link CreateSharedCacheProvider}. */
|
|
17
|
+
export interface SharedCacheProviderOptions {
|
|
18
|
+
Url: string;
|
|
19
|
+
KeyPrefix: string;
|
|
20
|
+
DefaultTTLSeconds?: number;
|
|
21
|
+
EnableLogging: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Expiry for the shared Redis cache: `REDIS_TTL_SECONDS` when it holds a non-negative integer,
|
|
25
|
+
* otherwise `cacheSettings.sharedCacheTTLSeconds`, otherwise `undefined` (the provider's default).
|
|
26
|
+
*/
|
|
27
|
+
export declare function ResolveSharedCacheTTLSeconds(configured: number | undefined, env?: NodeJS.ProcessEnv): number | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* The shared cache the environment asks for (`REDIS_URL`, `REDIS_KEY_PREFIX`, `REDIS_TTL_SECONDS`),
|
|
30
|
+
* or null. Built before the database provider so metadata and startup engines use it from the
|
|
31
|
+
* first read.
|
|
32
|
+
*/
|
|
33
|
+
export declare function CreateSharedCacheFromEnvironment(settings: CacheSettingsConfig | undefined, env?: NodeJS.ProcessEnv): RedisLocalStorageProvider | null;
|
|
34
|
+
/**
|
|
35
|
+
* The warm-up lease MJAPI hands to `StartupManager`, in milliseconds, from
|
|
36
|
+
* `cacheSettings.startupWarmupLeaseSeconds` (default 30).
|
|
37
|
+
*/
|
|
38
|
+
export declare function WarmupLeaseMsFromSettings(settings: CacheSettingsConfig | undefined): number;
|
|
39
|
+
/** `LocalCacheManager` settings from `cacheSettings` in mj.config.cjs. */
|
|
40
|
+
export declare function CacheManagerConfigFromSettings(settings: CacheSettingsConfig | undefined): Partial<LocalCacheManagerConfig>;
|
|
41
|
+
/**
|
|
42
|
+
* Starts the periodic engine-vs-database sweep (plan Phase 3.1) at
|
|
43
|
+
* `cacheSettings.engineSweepIntervalSeconds` (default 300; 0 leaves it off).
|
|
44
|
+
* @returns The interval in milliseconds, 0 when disabled.
|
|
45
|
+
*/
|
|
46
|
+
export declare function StartEngineSweeper(settings: CacheSettingsConfig | undefined): number;
|
|
47
|
+
/**
|
|
48
|
+
* Starts the periodic metadata-vs-database sweep at `cacheSettings.metadataSweepIntervalSeconds`
|
|
49
|
+
* (default 300; 0 leaves it off).
|
|
50
|
+
*
|
|
51
|
+
* The sweep asks the database **nothing** unless one of the entities the metadata is built from
|
|
52
|
+
* declares `TrustServerCacheCompletely = false` — see `ProviderBase.SweepMetadataAgainstDatabase`.
|
|
53
|
+
* On a stock installation no metadata entity declares it, so the timer ticks and costs nothing. It
|
|
54
|
+
* exists for installations that write metadata tables directly, where no event is ever raised and
|
|
55
|
+
* nothing else would notice.
|
|
56
|
+
*
|
|
57
|
+
* One process per interval does the work, via a shared lease: a process that refreshes writes a new
|
|
58
|
+
* snapshot and publishes a notice, which the others act on, so there is no value in each of them
|
|
59
|
+
* asking the database the same question.
|
|
60
|
+
*
|
|
61
|
+
* @returns The interval in milliseconds, 0 when disabled.
|
|
62
|
+
*/
|
|
63
|
+
export declare function StartMetadataSweep(settings: CacheSettingsConfig | undefined, metadataProvider: () => ProviderBase | undefined): number;
|
|
64
|
+
/**
|
|
65
|
+
* Starts the periodic user-cache staleness check at `cacheSettings.userCacheCheckIntervalSeconds`
|
|
66
|
+
* (default 300; 0 leaves it off). The cache refreshes on MJ writes by itself — this covers users
|
|
67
|
+
* and roles changed outside MJ.
|
|
68
|
+
* @returns The interval in milliseconds, 0 when disabled.
|
|
69
|
+
*/
|
|
70
|
+
export declare function StartUserCacheChecks(settings: CacheSettingsConfig | undefined): number;
|
|
71
|
+
/** Builds the Redis provider MJAPI uses as its shared cache. Pub/sub starts with {@link WireSharedCacheEvents}. */
|
|
72
|
+
export declare function CreateSharedCacheProvider(options: SharedCacheProviderOptions): RedisLocalStorageProvider;
|
|
73
|
+
/**
|
|
74
|
+
* Subscribes to other servers' cache events and routes them. Called before the database provider
|
|
75
|
+
* exists (so engines hear peers while they load); `metadataProvider` is resolved per event.
|
|
76
|
+
* 1. a metadata-snapshot notice → a metadata staleness check on this process's provider, and
|
|
77
|
+
* nothing further (a consumed notice returns here);
|
|
78
|
+
* 2. every other event → `LocalCacheManager.DispatchCacheChange` (engines, the user cache, and
|
|
79
|
+
* RunView callbacks);
|
|
80
|
+
* 3. RunView slot changes → an entity-level invalidation to connected browsers.
|
|
81
|
+
*/
|
|
82
|
+
export declare function WireSharedCacheEvents(redis: RedisLocalStorageProvider, metadataProvider: () => ProviderBase | undefined): Promise<void>;
|
|
83
|
+
/** One incoming event, routed as described on {@link WireSharedCacheEvents}. */
|
|
84
|
+
export declare function RouteSharedCacheEvent(event: CacheChangedEvent, metadataProvider: ProviderBase | undefined): void;
|
|
85
|
+
/**
|
|
86
|
+
* Replicate push-status updates across server instances over Redis (MJ #4222).
|
|
87
|
+
*
|
|
88
|
+
* Outbound: every locally-published update is forwarded on a shared channel. Inbound: a message
|
|
89
|
+
* from another instance is republished onto THIS instance's local topic, where the normal
|
|
90
|
+
* subscription filter decides who receives it — so the identity gate (`ownerUserId` vs. the
|
|
91
|
+
* connection's authenticated user) still applies to a replicated message exactly as it does to a
|
|
92
|
+
* local one. The replica has no say in who sees what.
|
|
93
|
+
*
|
|
94
|
+
* Republishing goes straight to `PubSubManager`, never back through `publishStatusUpdate`, so an
|
|
95
|
+
* inbound message cannot be re-broadcast and loop. `SourceServerId` guards the remaining case: a
|
|
96
|
+
* publisher also receives its own message from Redis.
|
|
97
|
+
*
|
|
98
|
+
* The channel rides the same connection and subscriber as cache invalidation, and is namespaced
|
|
99
|
+
* with the provider's key prefix — so replicas configured with different `REDIS_KEY_PREFIX`
|
|
100
|
+
* values stop replicating to each other, exactly as their caches do.
|
|
101
|
+
*
|
|
102
|
+
* @param redis The shared cache provider, already built by {@link CreateSharedCacheFromEnvironment}.
|
|
103
|
+
*/
|
|
104
|
+
export declare function WirePushStatusFanOut(redis: RedisLocalStorageProvider): Promise<void>;
|
|
105
|
+
//# sourceMappingURL=sharedCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedCache.d.ts","sourceRoot":"","sources":["../src/sharedCache.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAOvE;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAG1E,CAAC;AAEF,qDAAqD;AACrD,MAAM,WAAW,0BAA0B;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAUrI;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,yBAAyB,GAAG,IAAI,CAUlK;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAE3F;AAED,0EAA0E;AAC1E,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAW1H;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAIpF;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAgBtI;AA0BD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAItF;AAED,mHAAmH;AACnH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,yBAAyB,CAWxG;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7I;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAShH;AA2BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC1F"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything an MJAPI process does with its shared (Redis) connection: which provider to build,
|
|
3
|
+
* what it publishes, what it does with events from other servers, and which periodic jobs the
|
|
4
|
+
* connection's leases coordinate.
|
|
5
|
+
*
|
|
6
|
+
* Two independent consumers share the one connection and its one subscriber:
|
|
7
|
+
* {@link WireSharedCacheEvents} for cache invalidation, and {@link WirePushStatusFanOut} for
|
|
8
|
+
* cross-instance push-status delivery (MJ #4222). Both live here rather than at the call site so
|
|
9
|
+
* that "what is our Redis used for" has a single answer.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
import { BaseEngineSweeper, CacheCategory, LocalCacheManager, LogError, LogStatusEx } from '@memberjunction/core';
|
|
13
|
+
import { RedisLocalStorageProvider } from '@memberjunction/redis-provider';
|
|
14
|
+
import { MJGlobal } from '@memberjunction/global';
|
|
15
|
+
import { PubSubManager } from './generic/PubSubManager.js';
|
|
16
|
+
import { PUSH_STATUS_UPDATES_TOPIC, SetPushStatusPublishHook, ParseReplicatedStatusUpdate } from './generic/PushStatusResolver.js';
|
|
17
|
+
import { CACHE_INVALIDATION_TOPIC } from './generic/CacheInvalidationResolver.js';
|
|
18
|
+
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
19
|
+
/**
|
|
20
|
+
* What an MJAPI process publishes, per category.
|
|
21
|
+
*
|
|
22
|
+
* - RunView slots carry their rows: engines on other servers apply them directly.
|
|
23
|
+
* - Writes without a category (the provider's metadata snapshot, ~2 MB compressed) publish a
|
|
24
|
+
* notice only: other servers re-check their metadata against the database and adopt the shared
|
|
25
|
+
* snapshot, so the value never needs to travel.
|
|
26
|
+
* - Everything else (dataset slots, query slots, registry) has no subscriber and publishes nothing.
|
|
27
|
+
* Category clears are always published.
|
|
28
|
+
*/
|
|
29
|
+
export const MJAPI_PUBLISH_MODES = {
|
|
30
|
+
[CacheCategory.RunViewCache]: 'full',
|
|
31
|
+
[CacheCategory.Default]: 'notice',
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Expiry for the shared Redis cache: `REDIS_TTL_SECONDS` when it holds a non-negative integer,
|
|
35
|
+
* otherwise `cacheSettings.sharedCacheTTLSeconds`, otherwise `undefined` (the provider's default).
|
|
36
|
+
*/
|
|
37
|
+
export function ResolveSharedCacheTTLSeconds(configured, env = process.env) {
|
|
38
|
+
const fromEnv = env.REDIS_TTL_SECONDS;
|
|
39
|
+
if (fromEnv !== undefined && fromEnv.trim() !== '') {
|
|
40
|
+
const parsed = Number(fromEnv);
|
|
41
|
+
if (Number.isInteger(parsed) && parsed >= 0) {
|
|
42
|
+
return parsed;
|
|
43
|
+
}
|
|
44
|
+
console.warn(`REDIS_TTL_SECONDS="${fromEnv}" is not a non-negative integer; ignoring it`);
|
|
45
|
+
}
|
|
46
|
+
return configured;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The shared cache the environment asks for (`REDIS_URL`, `REDIS_KEY_PREFIX`, `REDIS_TTL_SECONDS`),
|
|
50
|
+
* or null. Built before the database provider so metadata and startup engines use it from the
|
|
51
|
+
* first read.
|
|
52
|
+
*/
|
|
53
|
+
export function CreateSharedCacheFromEnvironment(settings, env = process.env) {
|
|
54
|
+
if (!env.REDIS_URL) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return CreateSharedCacheProvider({
|
|
58
|
+
Url: env.REDIS_URL,
|
|
59
|
+
KeyPrefix: env.REDIS_KEY_PREFIX || 'mj',
|
|
60
|
+
DefaultTTLSeconds: ResolveSharedCacheTTLSeconds(settings?.sharedCacheTTLSeconds, env),
|
|
61
|
+
EnableLogging: settings?.verboseLogging ?? false,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The warm-up lease MJAPI hands to `StartupManager`, in milliseconds, from
|
|
66
|
+
* `cacheSettings.startupWarmupLeaseSeconds` (default 30).
|
|
67
|
+
*/
|
|
68
|
+
export function WarmupLeaseMsFromSettings(settings) {
|
|
69
|
+
return (settings?.startupWarmupLeaseSeconds ?? 30) * 1000;
|
|
70
|
+
}
|
|
71
|
+
/** `LocalCacheManager` settings from `cacheSettings` in mj.config.cjs. */
|
|
72
|
+
export function CacheManagerConfigFromSettings(settings) {
|
|
73
|
+
return {
|
|
74
|
+
maxSizeBytes: (settings?.maxMemoryMB ?? 150) * 1024 * 1024,
|
|
75
|
+
maxPercentOfCachePerEntity: settings?.maxPercentOfCachePerEntity ?? 50,
|
|
76
|
+
// Passed through so the per-entry ceiling is reachable from mj.config.cjs at all. It was
|
|
77
|
+
// not, which is what made it a hardcoded fraction in every deployment.
|
|
78
|
+
maxEntryPercentOfCache: settings?.maxEntryPercentOfCache ?? 'auto',
|
|
79
|
+
defaultTTLMs: (settings?.defaultTTLSeconds ?? 0) * 1000,
|
|
80
|
+
evictionSweepIntervalMs: (settings?.evictionSweepIntervalSeconds ?? 300) * 1000,
|
|
81
|
+
verboseLogging: settings?.verboseLogging ?? false,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Starts the periodic engine-vs-database sweep (plan Phase 3.1) at
|
|
86
|
+
* `cacheSettings.engineSweepIntervalSeconds` (default 300; 0 leaves it off).
|
|
87
|
+
* @returns The interval in milliseconds, 0 when disabled.
|
|
88
|
+
*/
|
|
89
|
+
export function StartEngineSweeper(settings) {
|
|
90
|
+
const intervalMs = (settings?.engineSweepIntervalSeconds ?? 300) * 1000;
|
|
91
|
+
BaseEngineSweeper.Instance.Start(intervalMs);
|
|
92
|
+
return intervalMs;
|
|
93
|
+
}
|
|
94
|
+
/** The periodic metadata sweep, so a restart or a config change can replace it. @internal */
|
|
95
|
+
let metadataSweepTimer = null;
|
|
96
|
+
/**
|
|
97
|
+
* Starts the periodic metadata-vs-database sweep at `cacheSettings.metadataSweepIntervalSeconds`
|
|
98
|
+
* (default 300; 0 leaves it off).
|
|
99
|
+
*
|
|
100
|
+
* The sweep asks the database **nothing** unless one of the entities the metadata is built from
|
|
101
|
+
* declares `TrustServerCacheCompletely = false` — see `ProviderBase.SweepMetadataAgainstDatabase`.
|
|
102
|
+
* On a stock installation no metadata entity declares it, so the timer ticks and costs nothing. It
|
|
103
|
+
* exists for installations that write metadata tables directly, where no event is ever raised and
|
|
104
|
+
* nothing else would notice.
|
|
105
|
+
*
|
|
106
|
+
* One process per interval does the work, via a shared lease: a process that refreshes writes a new
|
|
107
|
+
* snapshot and publishes a notice, which the others act on, so there is no value in each of them
|
|
108
|
+
* asking the database the same question.
|
|
109
|
+
*
|
|
110
|
+
* @returns The interval in milliseconds, 0 when disabled.
|
|
111
|
+
*/
|
|
112
|
+
export function StartMetadataSweep(settings, metadataProvider) {
|
|
113
|
+
if (metadataSweepTimer) {
|
|
114
|
+
clearInterval(metadataSweepTimer);
|
|
115
|
+
metadataSweepTimer = null;
|
|
116
|
+
}
|
|
117
|
+
const intervalMs = (settings?.metadataSweepIntervalSeconds ?? 300) * 1000;
|
|
118
|
+
if (intervalMs <= 0) {
|
|
119
|
+
return 0;
|
|
120
|
+
}
|
|
121
|
+
const leaseMs = Math.max(5_000, intervalMs - 5_000);
|
|
122
|
+
const timer = setInterval(() => void runMetadataSweep(metadataProvider(), leaseMs), intervalMs);
|
|
123
|
+
if (typeof timer === 'object' && timer !== null && 'unref' in timer) {
|
|
124
|
+
timer.unref();
|
|
125
|
+
}
|
|
126
|
+
metadataSweepTimer = timer;
|
|
127
|
+
return intervalMs;
|
|
128
|
+
}
|
|
129
|
+
/** One sweep: take the fleet lease only when there is something to check. @internal */
|
|
130
|
+
async function runMetadataSweep(provider, leaseMs) {
|
|
131
|
+
if (!provider) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
// The lease is taken only when an entity declares drift, so a stock installation costs no
|
|
136
|
+
// Redis round trip either — the provider answers from its own membership set.
|
|
137
|
+
const declared = provider.MetadataMembersDeclaringDrift();
|
|
138
|
+
if (declared.length === 0) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (!(await LocalCacheManager.Instance.TryAcquireSharedLease('metadata-sweep', leaseMs))) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const result = await provider.SweepMetadataAgainstDatabase();
|
|
145
|
+
if (result.Refreshed) {
|
|
146
|
+
LogStatusEx({ message: `[MJAPI] metadata sweep reloaded metadata; entities declaring drift: ${result.Declared.join(', ')}`, verboseOnly: false });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (e) {
|
|
150
|
+
LogError(`[MJAPI] metadata sweep failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Starts the periodic user-cache staleness check at `cacheSettings.userCacheCheckIntervalSeconds`
|
|
155
|
+
* (default 300; 0 leaves it off). The cache refreshes on MJ writes by itself — this covers users
|
|
156
|
+
* and roles changed outside MJ.
|
|
157
|
+
* @returns The interval in milliseconds, 0 when disabled.
|
|
158
|
+
*/
|
|
159
|
+
export function StartUserCacheChecks(settings) {
|
|
160
|
+
const intervalMs = (settings?.userCacheCheckIntervalSeconds ?? 300) * 1000;
|
|
161
|
+
UserCache.Instance.StartStalenessChecks(intervalMs);
|
|
162
|
+
return intervalMs;
|
|
163
|
+
}
|
|
164
|
+
/** Builds the Redis provider MJAPI uses as its shared cache. Pub/sub starts with {@link WireSharedCacheEvents}. */
|
|
165
|
+
export function CreateSharedCacheProvider(options) {
|
|
166
|
+
// The provider's own config keys stay as the package declares them.
|
|
167
|
+
return new RedisLocalStorageProvider({
|
|
168
|
+
url: options.Url,
|
|
169
|
+
keyPrefix: options.KeyPrefix,
|
|
170
|
+
defaultTTLSeconds: options.DefaultTTLSeconds,
|
|
171
|
+
enablePubSub: true,
|
|
172
|
+
enableLogging: options.EnableLogging,
|
|
173
|
+
publishModes: MJAPI_PUBLISH_MODES,
|
|
174
|
+
defaultPublishMode: 'none',
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Subscribes to other servers' cache events and routes them. Called before the database provider
|
|
179
|
+
* exists (so engines hear peers while they load); `metadataProvider` is resolved per event.
|
|
180
|
+
* 1. a metadata-snapshot notice → a metadata staleness check on this process's provider, and
|
|
181
|
+
* nothing further (a consumed notice returns here);
|
|
182
|
+
* 2. every other event → `LocalCacheManager.DispatchCacheChange` (engines, the user cache, and
|
|
183
|
+
* RunView callbacks);
|
|
184
|
+
* 3. RunView slot changes → an entity-level invalidation to connected browsers.
|
|
185
|
+
*/
|
|
186
|
+
export async function WireSharedCacheEvents(redis, metadataProvider) {
|
|
187
|
+
await redis.StartListening();
|
|
188
|
+
redis.OnCacheChanged((event) => RouteSharedCacheEvent(event, metadataProvider()));
|
|
189
|
+
}
|
|
190
|
+
/** One incoming event, routed as described on {@link WireSharedCacheEvents}. */
|
|
191
|
+
export function RouteSharedCacheEvent(event, metadataProvider) {
|
|
192
|
+
const source = event.SourceServerId ? event.SourceServerId.substring(0, 8) : 'unknown';
|
|
193
|
+
LogStatusEx({ message: `[MJAPI] shared cache event: ${event.Category}/${event.Action} "${event.CacheKey}" from ${source}`, verboseOnly: true });
|
|
194
|
+
if (metadataProvider?.HandlePeerMetadataNotice(event)) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
LocalCacheManager.Instance.DispatchCacheChange(event);
|
|
198
|
+
relayRunViewChangeToBrowsers(event);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Browsers only care about entity data. A RunView slot key starts with the entity name
|
|
202
|
+
* (`Entity|Filter|…`); other categories' keys are not entity names and used to reach browsers as
|
|
203
|
+
* invalidations for "entities" such as `___MJCore_Metadata_AllMetadata`.
|
|
204
|
+
*/
|
|
205
|
+
function relayRunViewChangeToBrowsers(event) {
|
|
206
|
+
if (event.Category !== CacheCategory.RunViewCache || event.Action === 'category_cleared') {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const entityName = event.CacheKey ? event.CacheKey.split('|')[0] : '';
|
|
210
|
+
if (!entityName) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
PubSubManager.Instance.Publish(CACHE_INVALIDATION_TOPIC, {
|
|
214
|
+
entityName,
|
|
215
|
+
primaryKeyValues: null, // entity-level invalidation
|
|
216
|
+
action: event.Action,
|
|
217
|
+
sourceServerId: event.SourceServerId || 'unknown',
|
|
218
|
+
timestamp: new Date(),
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
/** Redis channel carrying replicated push-status updates between server instances. */
|
|
222
|
+
const PUSH_STATUS_FANOUT_CHANNEL = 'push-status-updates';
|
|
223
|
+
/**
|
|
224
|
+
* Replicate push-status updates across server instances over Redis (MJ #4222).
|
|
225
|
+
*
|
|
226
|
+
* Outbound: every locally-published update is forwarded on a shared channel. Inbound: a message
|
|
227
|
+
* from another instance is republished onto THIS instance's local topic, where the normal
|
|
228
|
+
* subscription filter decides who receives it — so the identity gate (`ownerUserId` vs. the
|
|
229
|
+
* connection's authenticated user) still applies to a replicated message exactly as it does to a
|
|
230
|
+
* local one. The replica has no say in who sees what.
|
|
231
|
+
*
|
|
232
|
+
* Republishing goes straight to `PubSubManager`, never back through `publishStatusUpdate`, so an
|
|
233
|
+
* inbound message cannot be re-broadcast and loop. `SourceServerId` guards the remaining case: a
|
|
234
|
+
* publisher also receives its own message from Redis.
|
|
235
|
+
*
|
|
236
|
+
* The channel rides the same connection and subscriber as cache invalidation, and is namespaced
|
|
237
|
+
* with the provider's key prefix — so replicas configured with different `REDIS_KEY_PREFIX`
|
|
238
|
+
* values stop replicating to each other, exactly as their caches do.
|
|
239
|
+
*
|
|
240
|
+
* @param redis The shared cache provider, already built by {@link CreateSharedCacheFromEnvironment}.
|
|
241
|
+
*/
|
|
242
|
+
export async function WirePushStatusFanOut(redis) {
|
|
243
|
+
try {
|
|
244
|
+
await redis.SubscribeToChannel(PUSH_STATUS_FANOUT_CHANNEL, (raw) => {
|
|
245
|
+
try {
|
|
246
|
+
const payload = ParseReplicatedStatusUpdate(raw, MJGlobal.Instance.ProcessUUID);
|
|
247
|
+
if (!payload) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
// Rebuilt as a plain record: the topic's publish signature takes an index-signature
|
|
251
|
+
// type, and listing the fields keeps the wire shape explicit at the one place it
|
|
252
|
+
// crosses hosts.
|
|
253
|
+
PubSubManager.Instance.Publish(PUSH_STATUS_UPDATES_TOPIC, {
|
|
254
|
+
sessionId: payload.sessionId,
|
|
255
|
+
ownerUserId: payload.ownerUserId,
|
|
256
|
+
message: payload.message,
|
|
257
|
+
SourceServerId: payload.SourceServerId,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
// A malformed message on a shared channel must not take down the subscriber.
|
|
262
|
+
LogError('Error processing push-status fan-out message', undefined, err);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
SetPushStatusPublishHook((payload) => {
|
|
266
|
+
redis.PublishMessage(PUSH_STATUS_FANOUT_CHANNEL, JSON.stringify(payload));
|
|
267
|
+
});
|
|
268
|
+
// Printed unconditionally, not verbose-gated. "Is fan-out actually on?" is the first
|
|
269
|
+
// question anyone debugging a hung conversation behind a load balancer asks, and a silent
|
|
270
|
+
// default left no way to answer it.
|
|
271
|
+
console.log('[MJAPI] Push-status updates: cross-instance fan-out enabled via Redis');
|
|
272
|
+
}
|
|
273
|
+
catch (err) {
|
|
274
|
+
// Single-instance delivery still works, and the durable tail query covers the rest.
|
|
275
|
+
// Degraded, not broken — so this must not stop the server from starting.
|
|
276
|
+
console.warn(`Push-status fan-out unavailable: ${err.message}`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=sharedCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedCache.js","sourceRoot":"","sources":["../src/sharedCache.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export type AppContext = {
|
|
|
48
48
|
* Per-request DatabaseProviderBase instances
|
|
49
49
|
*/
|
|
50
50
|
providers: Array<ProviderInfo>;
|
|
51
|
+
/**
|
|
52
|
+
* The caller's network address as Express resolved it (`req.ip`, which honours the app's
|
|
53
|
+
* `trust proxy` setting). Present for HTTP requests; absent on WebSocket (subscription) contexts.
|
|
54
|
+
* Used only to key abuse limits (e.g. realtime verification sends) — never as an identity.
|
|
55
|
+
*/
|
|
56
|
+
ClientIp?: string;
|
|
51
57
|
};
|
|
52
58
|
export declare class ProviderInfo {
|
|
53
59
|
provider: DatabaseProviderBase;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,GAAG,MAAM,OAAO,CAAC;AAIxB;;GAEG;AACH,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,OAAO;QACf,yEAAyE;QACzE,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B;CACF;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,cAAc,EAAE,CAAC;IAE9B;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AA4DxE,MAAM,OAAO,YAAY;CAGxB;AAED,MAAM,OAAO,cAAc;IASzB,YAAY,IAA4J;QACtK,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;CACF;AAAA,CAAC;AAmDF,MAAM,OAAO,aAAa;CAKzB;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAA2B,EAAE,WAA6B,EAAE,WAAwB,EAAE,SAAe;IACpI,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,KAAK,CAAC,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;IAEzC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;IACjB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC;IACvC,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAA2B,EAAE,WAA6B,EAAE,WAAwB,EAAE,SAAe;IACpI,OAAO,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC"}
|