@memberjunction/server 6.2.0-edge.6 → 6.2.0-edge.7
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 +69 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/BridgeHostInstance.d.ts +8 -3
- package/dist/agentSessions/BridgeHostInstance.d.ts.map +1 -1
- package/dist/agentSessions/BridgeHostInstance.js +14 -4
- package/dist/agentSessions/BridgeHostInstance.js.map +1 -1
- package/dist/agentSessions/HandoffOfferExpiry.d.ts +10 -0
- package/dist/agentSessions/HandoffOfferExpiry.d.ts.map +1 -0
- package/dist/agentSessions/HandoffOfferExpiry.js +18 -0
- package/dist/agentSessions/HandoffOfferExpiry.js.map +1 -0
- package/dist/agentSessions/ReturningVisitorRecap.js +1 -0
- package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
- package/dist/agentSessions/SessionJanitor.d.ts +31 -8
- package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
- package/dist/agentSessions/SessionJanitor.js +85 -41
- package/dist/agentSessions/SessionJanitor.js.map +1 -1
- package/dist/agentSessions/SessionManager.d.ts +14 -4
- package/dist/agentSessions/SessionManager.d.ts.map +1 -1
- package/dist/agentSessions/SessionManager.js +28 -4
- package/dist/agentSessions/SessionManager.js.map +1 -1
- package/dist/agentSessions/conversationBrowsers.d.ts +61 -0
- package/dist/agentSessions/conversationBrowsers.d.ts.map +1 -0
- package/dist/agentSessions/conversationBrowsers.js +118 -0
- package/dist/agentSessions/conversationBrowsers.js.map +1 -0
- package/dist/agentSessions/sessionDeadline.d.ts +43 -0
- package/dist/agentSessions/sessionDeadline.d.ts.map +1 -0
- package/dist/agentSessions/sessionDeadline.js +68 -0
- package/dist/agentSessions/sessionDeadline.js.map +1 -0
- package/dist/auth/APIKeyScopeAuth.d.ts.map +1 -1
- package/dist/auth/APIKeyScopeAuth.js +5 -4
- package/dist/auth/APIKeyScopeAuth.js.map +1 -1
- package/dist/auth/loginEmailResolution.d.ts +41 -0
- package/dist/auth/loginEmailResolution.d.ts.map +1 -0
- package/dist/auth/loginEmailResolution.js +47 -0
- package/dist/auth/loginEmailResolution.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkKeys.d.ts +50 -2
- package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.js +129 -12
- package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.d.ts +3 -0
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.js +23 -5
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.d.ts +39 -5
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +221 -9
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/magicLink/index.d.ts +1 -1
- package/dist/auth/magicLink/index.d.ts.map +1 -1
- package/dist/auth/magicLink/index.js +1 -1
- package/dist/auth/magicLink/index.js.map +1 -1
- package/dist/auth/magicLink/redeemLanding.d.ts +2 -2
- package/dist/auth/magicLink/redeemLanding.d.ts.map +1 -1
- package/dist/auth/magicLink/redeemLanding.js +7 -4
- package/dist/auth/magicLink/redeemLanding.js.map +1 -1
- package/dist/auth/magicLink/types.d.ts +27 -3
- package/dist/auth/magicLink/types.d.ts.map +1 -1
- package/dist/auth/magicLink/types.js +0 -4
- package/dist/auth/magicLink/types.js.map +1 -1
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +1 -0
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/backgroundSweepConfigUnits.d.ts +231 -0
- package/dist/backgroundSweepConfigUnits.d.ts.map +1 -0
- package/dist/backgroundSweepConfigUnits.js +180 -0
- package/dist/backgroundSweepConfigUnits.js.map +1 -0
- package/dist/config.d.ts +906 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +59 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +35 -4
- package/dist/context.js.map +1 -1
- package/dist/coreRoutes.d.ts +3 -1
- package/dist/coreRoutes.d.ts.map +1 -1
- package/dist/coreRoutes.js +6 -4
- package/dist/coreRoutes.js.map +1 -1
- package/dist/generated/graphql-schemas/__mj.d.ts +228 -0
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +1163 -6
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts +11 -0
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js +27 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +50 -5
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +321 -132
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +4 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +47 -7
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +157 -35
- package/dist/index.js.map +1 -1
- package/dist/integration/ConnectionPause.d.ts +121 -0
- package/dist/integration/ConnectionPause.d.ts.map +1 -0
- package/dist/integration/ConnectionPause.js +183 -0
- package/dist/integration/ConnectionPause.js.map +1 -0
- package/dist/integration/CustomColumnPromoter.d.ts +72 -6
- package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
- package/dist/integration/CustomColumnPromoter.js +87 -46
- package/dist/integration/CustomColumnPromoter.js.map +1 -1
- package/dist/integration/EntityMapLifecycle.d.ts +78 -4
- package/dist/integration/EntityMapLifecycle.d.ts.map +1 -1
- package/dist/integration/EntityMapLifecycle.js +199 -5
- package/dist/integration/EntityMapLifecycle.js.map +1 -1
- package/dist/integration/InactiveRowWarnings.d.ts +31 -0
- package/dist/integration/InactiveRowWarnings.d.ts.map +1 -1
- package/dist/integration/InactiveRowWarnings.js +29 -0
- package/dist/integration/InactiveRowWarnings.js.map +1 -1
- package/dist/integration/ObjectNamesByID.d.ts +28 -0
- package/dist/integration/ObjectNamesByID.d.ts.map +1 -0
- package/dist/integration/ObjectNamesByID.js +87 -0
- package/dist/integration/ObjectNamesByID.js.map +1 -0
- package/dist/integration/PostRestartIntrospect.d.ts +26 -0
- package/dist/integration/PostRestartIntrospect.d.ts.map +1 -0
- package/dist/integration/PostRestartIntrospect.js +27 -0
- package/dist/integration/PostRestartIntrospect.js.map +1 -0
- package/dist/integration/RSUPostRestartProgress.d.ts +176 -0
- package/dist/integration/RSUPostRestartProgress.d.ts.map +1 -0
- package/dist/integration/RSUPostRestartProgress.js +323 -0
- package/dist/integration/RSUPostRestartProgress.js.map +1 -0
- package/dist/integration/RSUProgressBridge.d.ts +41 -2
- package/dist/integration/RSUProgressBridge.d.ts.map +1 -1
- package/dist/integration/RSUProgressBridge.js +84 -1
- package/dist/integration/RSUProgressBridge.js.map +1 -1
- package/dist/integration/RunArtifactAuthorization.d.ts +39 -0
- package/dist/integration/RunArtifactAuthorization.d.ts.map +1 -0
- package/dist/integration/RunArtifactAuthorization.js +45 -0
- package/dist/integration/RunArtifactAuthorization.js.map +1 -0
- package/dist/integration/SchemaRefreshLaunch.d.ts +9 -0
- package/dist/integration/SchemaRefreshLaunch.d.ts.map +1 -1
- package/dist/integration/SchemaRefreshLaunch.js +3 -2
- package/dist/integration/SchemaRefreshLaunch.js.map +1 -1
- package/dist/integration/ScopedFieldsForBuild.d.ts +46 -0
- package/dist/integration/ScopedFieldsForBuild.d.ts.map +1 -0
- package/dist/integration/ScopedFieldsForBuild.js +91 -0
- package/dist/integration/ScopedFieldsForBuild.js.map +1 -0
- package/dist/integration/TargetConfigGuard.d.ts +40 -0
- package/dist/integration/TargetConfigGuard.d.ts.map +1 -0
- package/dist/integration/TargetConfigGuard.js +40 -0
- package/dist/integration/TargetConfigGuard.js.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -1
- package/dist/realtimeSessions/ownedRealtimeSession.js +2 -3
- package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -1
- package/dist/realtimeSessions/sessionAccess.d.ts +15 -0
- package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -1
- package/dist/realtimeSessions/sessionAccess.js +22 -0
- package/dist/realtimeSessions/sessionAccess.js.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.js +2 -0
- package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
- package/dist/realtimeWidget/visitorIdentity.d.ts.map +1 -1
- package/dist/realtimeWidget/visitorIdentity.js +1 -0
- package/dist/realtimeWidget/visitorIdentity.js.map +1 -1
- package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetCore.js +4 -7
- package/dist/realtimeWidget/widgetCore.js.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +1 -0
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/requestOrigin.d.ts +22 -0
- package/dist/requestOrigin.d.ts.map +1 -0
- package/dist/requestOrigin.js +60 -0
- package/dist/requestOrigin.js.map +1 -0
- package/dist/resolvers/AgentSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/AgentSessionResolver.js +6 -2
- package/dist/resolvers/AgentSessionResolver.js.map +1 -1
- package/dist/resolvers/AutotagPipelineResolver.d.ts.map +1 -1
- package/dist/resolvers/AutotagPipelineResolver.js +2 -1
- package/dist/resolvers/AutotagPipelineResolver.js.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.js +2 -0
- package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
- package/dist/resolvers/ExecuteRemoteOperationResolver.d.ts +6 -0
- package/dist/resolvers/ExecuteRemoteOperationResolver.d.ts.map +1 -1
- package/dist/resolvers/ExecuteRemoteOperationResolver.js +30 -7
- package/dist/resolvers/ExecuteRemoteOperationResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +34 -13
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +401 -11
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +2690 -1305
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +13 -2
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/QuerySystemUserResolver.d.ts +36 -0
- package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
- package/dist/resolvers/QuerySystemUserResolver.js +174 -87
- package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +1 -0
- package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +6 -0
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +36 -5
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts +62 -10
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +217 -34
- package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +24 -8
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +185 -67
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts +5 -3
- package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.js +19 -18
- package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +3 -1
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/meetingRecordingRegistration.d.ts.map +1 -1
- package/dist/resolvers/meetingRecordingRegistration.js +2 -0
- package/dist/resolvers/meetingRecordingRegistration.js.map +1 -1
- package/dist/rest/MediaAccessKeys.d.ts.map +1 -1
- package/dist/rest/MediaAccessKeys.js +6 -2
- package/dist/rest/MediaAccessKeys.js.map +1 -1
- package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
- package/dist/rest/OAuthCallbackHandler.js +11 -5
- package/dist/rest/OAuthCallbackHandler.js.map +1 -1
- package/dist/rest/RealtimeRecordingHandler.d.ts +3 -3
- package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -1
- package/dist/rest/RealtimeRecordingHandler.js +2 -4
- package/dist/rest/RealtimeRecordingHandler.js.map +1 -1
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +2 -1
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +3 -1
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +11 -2
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/services/DurableEntityActionTaskSubmitter.d.ts.map +1 -1
- package/dist/services/DurableEntityActionTaskSubmitter.js +6 -1
- package/dist/services/DurableEntityActionTaskSubmitter.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +2 -26
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/TaskGraphAgentRunner.d.ts +6 -0
- package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphAgentRunner.js +38 -0
- package/dist/services/TaskGraphAgentRunner.js.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.js +1 -0
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
- package/dist/services/WorkQueueHostService.d.ts +2 -1
- package/dist/services/WorkQueueHostService.d.ts.map +1 -1
- package/dist/services/WorkQueueHostService.js +19 -4
- package/dist/services/WorkQueueHostService.js.map +1 -1
- package/dist/services/workQueueConfig.d.ts +2 -2
- package/dist/services/workQueueConfig.js +5 -5
- package/dist/services/workQueueConfig.js.map +1 -1
- package/dist/sharedCache.js +1 -1
- package/dist/sharedCache.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +98 -98
- package/src/__tests__/APIKeyScopeAuth.test.ts +4 -8
- package/src/__tests__/ActiveOperations.test.ts +68 -0
- package/src/__tests__/AgentSessionResolver.ownership.test.ts +13 -0
- package/src/__tests__/AssertTargetConfigs.test.ts +75 -0
- package/src/__tests__/BatchApplyParity.test.ts +109 -0
- package/src/__tests__/BridgeHostInstance.test.ts +42 -0
- package/src/__tests__/CollectInactiveRowWarnings.test.ts +115 -0
- package/src/__tests__/ConnectionPause.test.ts +192 -0
- package/src/__tests__/ConnectionPauseResolver.test.ts +166 -0
- package/src/__tests__/ConnectionPauseSave.test.ts +143 -0
- package/src/__tests__/CustomColumnPromoterCompletion.test.ts +142 -0
- package/src/__tests__/DeleteConnectionRemovesPerConnectionCatalog.test.ts +51 -0
- package/src/__tests__/DetachedDiscoveryStart.test.ts +65 -0
- package/src/__tests__/DurableEntityActionTaskSubmitter.test.ts +73 -0
- package/src/__tests__/EntityMapLifecycle.rekey.test.ts +252 -0
- package/src/__tests__/ExecuteRemoteOperationResolver.test.ts +213 -0
- package/src/__tests__/HandoffOfferExpiry.test.ts +40 -0
- package/src/__tests__/IntegrationRunArtifactAuthorization.test.ts +126 -0
- package/src/__tests__/MagicLinkKeys.test.ts +102 -0
- package/src/__tests__/MediaAccessKeys.test.ts +57 -10
- package/src/__tests__/NewArrivalsDefaultDisabled.test.ts +50 -0
- package/src/__tests__/ObjectNamesByID.test.ts +176 -0
- package/src/__tests__/PostRestartMapsInCatalogScope.test.ts +146 -0
- package/src/__tests__/QuerySystemUserResolver.childRows.test.ts +80 -0
- package/src/__tests__/QuerySystemUserResolver.collision.test.ts +200 -0
- package/src/__tests__/QuerySystemUserResolver.permissions.test.ts +132 -0
- package/src/__tests__/RSUPostRestartProgress.test.ts +343 -0
- package/src/__tests__/RSUProgressBridge.test.ts +188 -5
- package/src/__tests__/RSUStartupSweepWiring.test.ts +30 -0
- package/src/__tests__/ReactivateRefreshMessage.test.ts +10 -3
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +22 -0
- package/src/__tests__/{RefreshAdoptsNewColumns.test.ts → RefreshReportsNewColumns.test.ts} +25 -16
- package/src/__tests__/RemoteBrowserActionRecovery.test.ts +287 -0
- package/src/__tests__/RemoteBrowserActionResolver.goalRunLink.test.ts +3 -0
- package/src/__tests__/RemoteBrowserActionResolver.ownership.test.ts +6 -4
- package/src/__tests__/RemoteBrowserAudioStream.test.ts +3 -0
- package/src/__tests__/RemoteBrowserSnapshot.test.ts +3 -0
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +323 -26
- package/src/__tests__/ResolverBase.encryptedApiZeroReencrypt.test.ts +307 -0
- package/src/__tests__/ResolverBase.entityMessageRelay.test.ts +53 -2
- package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +60 -0
- package/src/__tests__/RunAIAgentResolver.branch.test.ts +4 -0
- package/src/__tests__/RunAIAgentResolver.consultPredecessor.test.ts +289 -0
- package/src/__tests__/RunAIAgentResolver.handoff.test.ts +649 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +2 -0
- package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +2 -0
- package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +87 -12
- package/src/__tests__/SchemaEvolutionCustomColumns.test.ts +119 -0
- package/src/__tests__/SchemaRefreshLaunch.test.ts +24 -2
- package/src/__tests__/ScopedFieldsForBuild.test.ts +192 -0
- package/src/__tests__/SessionJanitor.test.ts +195 -4
- package/src/__tests__/SessionManager.test.ts +69 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +2 -2
- package/src/__tests__/TaskGraphAgentRunner.test.ts +272 -16
- package/src/__tests__/ViewOperationsHandler.test.ts +2 -5
- package/src/__tests__/WorkQueueHostService.test.ts +25 -7
- package/src/__tests__/backgroundSweepConfigUnits.test.ts +153 -0
- package/src/__tests__/contextRequestOrigin.test.ts +105 -0
- package/src/__tests__/conversationBrowsers.test.ts +62 -0
- package/src/__tests__/magicLinkExtensionCapabilities.test.ts +413 -0
- package/src/__tests__/orphanedConversationDetailReconciler.start.test.ts +82 -0
- package/src/__tests__/ownedRealtimeSession.test.ts +14 -0
- package/src/__tests__/realtimeRecordingHandler.test.ts +7 -2
- package/src/__tests__/realtimeSessions/sessionAccess.test.ts +79 -1
- package/src/__tests__/requestOrigin.test.ts +104 -0
- package/src/__tests__/securityHardeningPr6034.test.ts +120 -0
- package/src/__tests__/sessionDeadline.test.ts +51 -0
- package/src/__tests__/sharedCache.test.ts +11 -0
- package/src/__tests__/unifiedAuth.test.ts +73 -1
- package/src/agentSessions/BridgeHostInstance.ts +20 -5
- package/src/agentSessions/HandoffOfferExpiry.ts +18 -0
- package/src/agentSessions/ReturningVisitorRecap.ts +1 -0
- package/src/agentSessions/SessionJanitor.ts +92 -42
- package/src/agentSessions/SessionManager.ts +38 -8
- package/src/agentSessions/conversationBrowsers.ts +143 -0
- package/src/agentSessions/sessionDeadline.ts +81 -0
- package/src/auth/APIKeyScopeAuth.ts +5 -4
- package/src/auth/__tests__/loginEmailResolution.test.ts +67 -0
- package/src/auth/loginEmailResolution.ts +67 -0
- package/src/auth/magicLink/MagicLinkKeys.ts +146 -14
- package/src/auth/magicLink/MagicLinkRouter.ts +33 -6
- package/src/auth/magicLink/MagicLinkService.ts +250 -10
- package/src/auth/magicLink/index.ts +1 -1
- package/src/auth/magicLink/redeemLanding.ts +7 -4
- package/src/auth/magicLink/types.ts +28 -3
- package/src/auth/newUsers.ts +1 -0
- package/src/backgroundSweepConfigUnits.ts +213 -0
- package/src/config.ts +69 -0
- package/src/context.ts +39 -6
- package/src/coreRoutes.ts +14 -7
- package/src/generated/graphql-schemas/__mj.ts +822 -7
- package/src/generic/OrphanedConversationDetailReconciler.ts +32 -1
- package/src/generic/ResolverBase.ts +414 -143
- package/src/generic/RunViewResolver.ts +96 -49
- package/src/index.ts +201 -35
- package/src/integration/ConnectionPause.ts +222 -0
- package/src/integration/CustomColumnPromoter.ts +123 -53
- package/src/integration/EntityMapLifecycle.ts +229 -6
- package/src/integration/InactiveRowWarnings.ts +50 -0
- package/src/integration/ObjectNamesByID.ts +97 -0
- package/src/integration/PostRestartIntrospect.ts +49 -0
- package/src/integration/RSUPostRestartProgress.ts +359 -0
- package/src/integration/RSUProgressBridge.ts +85 -2
- package/src/integration/RunArtifactAuthorization.ts +65 -0
- package/src/integration/SchemaRefreshLaunch.ts +12 -2
- package/src/integration/ScopedFieldsForBuild.ts +113 -0
- package/src/integration/TargetConfigGuard.ts +71 -0
- package/src/realtimeSessions/ownedRealtimeSession.ts +2 -6
- package/src/realtimeSessions/sessionAccess.ts +30 -0
- package/src/realtimeWidget/WidgetSessionService.ts +2 -0
- package/src/realtimeWidget/visitorIdentity.ts +1 -0
- package/src/realtimeWidget/widgetCore.ts +4 -8
- package/src/realtimeWidget/widgetGuestElevation.ts +1 -0
- package/src/requestOrigin.ts +64 -0
- package/src/resolvers/AgentSessionResolver.ts +6 -2
- package/src/resolvers/AutotagPipelineResolver.ts +2 -1
- package/src/resolvers/ConversationRunEventsResolver.ts +2 -0
- package/src/resolvers/ExecuteRemoteOperationResolver.ts +41 -9
- package/src/resolvers/GetDataResolver.ts +35 -13
- package/src/resolvers/IntegrationDiscoveryResolver.ts +1522 -203
- package/src/resolvers/MCPResolver.ts +15 -2
- package/src/resolvers/QuerySystemUserResolver.ts +197 -98
- package/src/resolvers/RealtimeBridgeResolver.ts +1 -0
- package/src/resolvers/RealtimeClientSessionResolver.ts +40 -7
- package/src/resolvers/RemoteBrowserActionResolver.ts +242 -32
- package/src/resolvers/RunAIAgentResolver.ts +265 -86
- package/src/resolvers/RunAIPromptResolver.ts +18 -18
- package/src/resolvers/RunTemplateResolver.ts +3 -1
- package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +52 -0
- package/src/resolvers/meetingRecordingRegistration.ts +2 -0
- package/src/rest/MediaAccessKeys.ts +6 -2
- package/src/rest/OAuthCallbackHandler.ts +13 -5
- package/src/rest/RealtimeRecordingHandler.ts +5 -9
- package/src/rest/ViewOperationsHandler.ts +2 -1
- package/src/rest/setupRESTEndpoints.ts +11 -2
- package/src/services/DurableEntityActionTaskSubmitter.ts +10 -2
- package/src/services/TaskGraphActionRunner.ts +2 -23
- package/src/services/TaskGraphAgentRunner.ts +43 -0
- package/src/services/TaskGraphContinuationDeliverer.ts +1 -0
- package/src/services/WorkQueueHostService.ts +26 -4
- package/src/services/workQueueConfig.ts +5 -5
- package/src/sharedCache.ts +1 -1
- package/src/types.ts +18 -0
- package/src/services/TaskOrchestration-Integration.md +0 -188
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Who may read an integration run artifact.
|
|
3
|
+
*
|
|
4
|
+
* A security boundary, kept in its own module so the rule is stated once, testable on its own, and
|
|
5
|
+
* not buried among a resolver's several thousand lines.
|
|
6
|
+
*/
|
|
7
|
+
import { IntegrationProgressReader } from '@memberjunction/integration-progress-artifacts';
|
|
8
|
+
/**
|
|
9
|
+
* Authorizes a caller for a run artifact against EVERY connection the run touched.
|
|
10
|
+
*
|
|
11
|
+
* ── The rule ───────────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
* A run is readable only if the caller is authorized for ALL of its connections. Not any — all.
|
|
13
|
+
*
|
|
14
|
+
* Most runs touch exactly one connection and the rule collapses to the obvious check. But a schema
|
|
15
|
+
* update (RSU) run is a BATCH: the pipeline takes N inputs, and those inputs may legitimately
|
|
16
|
+
* belong to different connectors. A run artifact is one undivided event stream — its migration
|
|
17
|
+
* descriptions, affected table names and error messages interleave every connection in the batch,
|
|
18
|
+
* and there is no mechanism to serve a caller a partial view of it. "Authorized for any one of
|
|
19
|
+
* them" would therefore hand connection A's schema-change descriptions to a user who only holds
|
|
20
|
+
* rights on connection B. AND is the only rule that cannot leak; a cross-tenant batch simply
|
|
21
|
+
* becomes readable to nobody but a caller holding rights to both, which is the correct conservative
|
|
22
|
+
* answer rather than a silent disclosure.
|
|
23
|
+
*
|
|
24
|
+
* A run with NO connection identity is denied: non-tenant-scoped artifacts are not exposed through
|
|
25
|
+
* the per-company endpoints, and that must not change as a side effect of runs gaining a set.
|
|
26
|
+
*
|
|
27
|
+
* Short-circuits on the first denial, so an unauthorized caller cannot use the number of permission
|
|
28
|
+
* lookups to probe which connections a run covers.
|
|
29
|
+
*/
|
|
30
|
+
export async function AuthorizeRunArtifact(manifest, canReadCompanyIntegration) {
|
|
31
|
+
// Reads the SET, not the singular field: a batch spanning connections leaves the singular field
|
|
32
|
+
// deliberately empty, and testing only that would make such a run look connection-less — and so
|
|
33
|
+
// unreadable to everyone, including its rightful owner.
|
|
34
|
+
const companyIntegrationIDs = IntegrationProgressReader.CompanyIntegrationIDsFor(manifest);
|
|
35
|
+
if (companyIntegrationIDs.length === 0) {
|
|
36
|
+
return { Authorized: false };
|
|
37
|
+
}
|
|
38
|
+
for (const companyIntegrationID of companyIntegrationIDs) {
|
|
39
|
+
if (!await canReadCompanyIntegration(companyIntegrationID)) {
|
|
40
|
+
return { Authorized: false, DeniedCompanyIntegrationID: companyIntegrationID };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { Authorized: true };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=RunArtifactAuthorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunArtifactAuthorization.js","sourceRoot":"","sources":["../../src/integration/RunArtifactAuthorization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAmB3F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,QAAgC,EAChC,yBAAsD;IAEtD,gGAAgG;IAChG,gGAAgG;IAChG,wDAAwD;IACxD,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC3F,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IACD,KAAK,MAAM,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,yBAAyB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,CAAC;QACnF,CAAC;IACL,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -29,6 +29,15 @@ export interface SchemaRefreshSummaryLike {
|
|
|
29
29
|
FailureMessage?: string;
|
|
30
30
|
ObjectsCreated: number;
|
|
31
31
|
ObjectsUpdated: number;
|
|
32
|
+
/**
|
|
33
|
+
* FIELD counts, not an optional nicety: a connector whose objects are PRESUPPOSED (declared in
|
|
34
|
+
* its own metadata) creates no objects on any run, so the object counts of a refresh that
|
|
35
|
+
* created 69 fields and updated 487 are "0 and 0" — which reads as "the refresh found nothing".
|
|
36
|
+
* Both counts were already carried on the pipeline result; only this type stopped them reaching
|
|
37
|
+
* the sentence.
|
|
38
|
+
*/
|
|
39
|
+
FieldsCreated: number;
|
|
40
|
+
FieldsUpdated: number;
|
|
32
41
|
UnresolvedObjects: string[];
|
|
33
42
|
}
|
|
34
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaRefreshLaunch.d.ts","sourceRoot":"","sources":["../../src/integration/SchemaRefreshLaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"SchemaRefreshLaunch.d.ts","sourceRoot":"","sources":["../../src/integration/SchemaRefreshLaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAYD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CACxC,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,wBAAwB,GAAG,SAAS,GAC9C,MAAM,CAMR;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAEtF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,GAAG,MAAM,CAK5F"}
|
|
@@ -14,8 +14,9 @@ function describeFinishedRefresh(summary) {
|
|
|
14
14
|
if (!summary.Succeeded) {
|
|
15
15
|
return `schema refresh FAILED (${summary.FailureMessage ?? 'no reason reported'}) — see run ${summary.RunID}`;
|
|
16
16
|
}
|
|
17
|
-
return `schema refresh: ${summary.ObjectsCreated} created, ` +
|
|
18
|
-
`${summary.ObjectsUpdated} updated, ${summary.
|
|
17
|
+
return `schema refresh: ${summary.ObjectsCreated} objects created, ` +
|
|
18
|
+
`${summary.ObjectsUpdated} updated, ${summary.FieldsCreated} fields created, ` +
|
|
19
|
+
`${summary.FieldsUpdated} updated, ${summary.UnresolvedObjects.length} PK-unresolved`;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
22
|
* Builds the human-facing `Message` for IntegrationCreateConnection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaRefreshLaunch.js","sourceRoot":"","sources":["../../src/integration/SchemaRefreshLaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"SchemaRefreshLaunch.js","sourceRoot":"","sources":["../../src/integration/SchemaRefreshLaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkCH,0FAA0F;AAC1F,SAAS,uBAAuB,CAAC,OAAiC;IAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,0BAA0B,OAAO,CAAC,cAAc,IAAI,oBAAoB,eAAe,OAAO,CAAC,KAAK,EAAE,CAAC;IAClH,CAAC;IACD,OAAO,mBAAmB,OAAO,CAAC,cAAc,oBAAoB;QAChE,GAAG,OAAO,CAAC,cAAc,aAAa,OAAO,CAAC,aAAa,mBAAmB;QAC9E,GAAG,OAAO,CAAC,aAAa,aAAa,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CACxC,cAAuB,EACvB,OAA6C;IAE7C,IAAI,CAAC,OAAO;QAAE,OAAO,oCAAoC,CAAC;IAC1D,MAAM,OAAO,GAAG,qBAAqB,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7E,kGAAkG;IAClG,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,GAAG,OAAO,uCAAuC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChG,OAAO,GAAG,OAAO,KAAK,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAiC;IAC1E,OAAO,YAAY,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACrD,OAAO,8CAA8C,KAAK,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA6C;IAChF,IAAI,CAAC,OAAO;QAAE,OAAO,aAAa,CAAC;IACnC,kGAAkG;IAClG,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,kDAAkD,OAAO,CAAC,KAAK,EAAE,CAAC;IACjG,OAAO,gBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The FIELD rows a schema build materializes, for a connection with its own catalog.
|
|
3
|
+
*
|
|
4
|
+
* A schema build (ApplySchema, ApplyAll, ApplyAllBatch, the connector build, schema evolution)
|
|
5
|
+
* reconstructs the source schema from persisted catalog rows and hands it to SchemaBuilder. It used
|
|
6
|
+
* to read each object's fields from the engine's in-memory catalog. Once a connection's field rows
|
|
7
|
+
* are no longer held resident — they are warmed per object on demand, and the only site that warms
|
|
8
|
+
* them is the sync loop — that read answers `[]` for every object of the connection, and an object
|
|
9
|
+
* with no fields materializes nothing. Observed on a per-connection catalog (364 objects, 7,230
|
|
10
|
+
* active fields): the apply logged "Reusing 364 persisted IOs", then ran a migration with an empty
|
|
11
|
+
* table list in 4 ms — no CREATE, no ALTER, no error.
|
|
12
|
+
*
|
|
13
|
+
* So the build reads the connection's field rows itself: one read per {@link SCOPED_FIELDS_CHUNK}
|
|
14
|
+
* objects, plain rows, bypassing the query cache (an answer cached before discovery's persist is the
|
|
15
|
+
* empty set), and without the row cap (one object can carry thousands of fields). A failed read
|
|
16
|
+
* THROWS: an empty answer here is exactly what produced the zero-table apply.
|
|
17
|
+
*
|
|
18
|
+
* Outside a per-connection scope — or for a connection without its own catalog — this returns
|
|
19
|
+
* `null`, and the build reads the shared catalog from memory exactly as before.
|
|
20
|
+
*/
|
|
21
|
+
import { type UserInfo } from '@memberjunction/core';
|
|
22
|
+
import type { MJIntegrationObjectFieldEntity } from '@memberjunction/core-entities';
|
|
23
|
+
import { IntegrationEngineBase, type CompanyIntegrationObjectFieldRow } from '@memberjunction/integration-engine-base';
|
|
24
|
+
/**
|
|
25
|
+
* What a schema build — and a refresh's re-key check — reads off a field row. The shared entity and
|
|
26
|
+
* the per-connection row both satisfy it.
|
|
27
|
+
*/
|
|
28
|
+
export type BuildFieldRow = Pick<MJIntegrationObjectFieldEntity, 'Name' | 'DisplayName' | 'Description' | 'Type' | 'IsRequired' | 'AllowsNull' | 'Length' | 'Precision' | 'Scale' | 'DefaultValue' | 'IsPrimaryKey' | 'IsUniqueKey' | 'IsReadOnly' | 'RelatedIntegrationObjectID' | 'Status' | 'Sequence'>;
|
|
29
|
+
/** A connection's field rows, keyed by lower-cased per-connection object id. */
|
|
30
|
+
export type ScopedBuildFields = Map<string, CompanyIntegrationObjectFieldRow[]>;
|
|
31
|
+
/** Objects per read. Each read is one `IN (…)` list, so this bounds the filter's length. */
|
|
32
|
+
export declare const SCOPED_FIELDS_CHUNK = 200;
|
|
33
|
+
/**
|
|
34
|
+
* Loads the field rows of the connection in catalog scope for a schema build, or returns `null`
|
|
35
|
+
* when the build should read the shared catalog (no scope, or no per-connection catalog).
|
|
36
|
+
*
|
|
37
|
+
* @throws PER_CONNECTION_FIELDS_UNREADABLE when a read fails — never an empty answer.
|
|
38
|
+
*/
|
|
39
|
+
export declare function LoadScopedFieldsForBuild(integrationID: string, user: UserInfo): Promise<ScopedBuildFields | null>;
|
|
40
|
+
/**
|
|
41
|
+
* The fields a build reads for one object: the connection's rows when they were loaded, the
|
|
42
|
+
* engine's catalog otherwise. With loaded rows the engine is not consulted at all, so a cold
|
|
43
|
+
* per-connection field cache cannot empty the build.
|
|
44
|
+
*/
|
|
45
|
+
export declare function FieldsForBuild(objectID: string, scoped: ScopedBuildFields | null | undefined, engine: IntegrationEngineBase): BuildFieldRow[];
|
|
46
|
+
//# sourceMappingURL=ScopedFieldsForBuild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopedFieldsForBuild.d.ts","sourceRoot":"","sources":["../../src/integration/ScopedFieldsForBuild.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EACH,qBAAqB,EAErB,KAAK,gCAAgC,EACxC,MAAM,yCAAyC,CAAC;AAGjD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC5B,8BAA8B,EAC9B,MAAM,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GACpG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,4BAA4B,GAAG,QAAQ,GAClH,UAAU,CACf,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAC;AAEhF,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAKvC;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA+BvH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,qBAAqB,GAAG,aAAa,EAAE,CAG7I"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The FIELD rows a schema build materializes, for a connection with its own catalog.
|
|
3
|
+
*
|
|
4
|
+
* A schema build (ApplySchema, ApplyAll, ApplyAllBatch, the connector build, schema evolution)
|
|
5
|
+
* reconstructs the source schema from persisted catalog rows and hands it to SchemaBuilder. It used
|
|
6
|
+
* to read each object's fields from the engine's in-memory catalog. Once a connection's field rows
|
|
7
|
+
* are no longer held resident — they are warmed per object on demand, and the only site that warms
|
|
8
|
+
* them is the sync loop — that read answers `[]` for every object of the connection, and an object
|
|
9
|
+
* with no fields materializes nothing. Observed on a per-connection catalog (364 objects, 7,230
|
|
10
|
+
* active fields): the apply logged "Reusing 364 persisted IOs", then ran a migration with an empty
|
|
11
|
+
* table list in 4 ms — no CREATE, no ALTER, no error.
|
|
12
|
+
*
|
|
13
|
+
* So the build reads the connection's field rows itself: one read per {@link SCOPED_FIELDS_CHUNK}
|
|
14
|
+
* objects, plain rows, bypassing the query cache (an answer cached before discovery's persist is the
|
|
15
|
+
* empty set), and without the row cap (one object can carry thousands of fields). A failed read
|
|
16
|
+
* THROWS: an empty answer here is exactly what produced the zero-table apply.
|
|
17
|
+
*
|
|
18
|
+
* Outside a per-connection scope — or for a connection without its own catalog — this returns
|
|
19
|
+
* `null`, and the build reads the shared catalog from memory exactly as before.
|
|
20
|
+
*/
|
|
21
|
+
import { RunView } from '@memberjunction/core';
|
|
22
|
+
import { IntegrationEngineBase, ENTITY_COMPANY_INTEGRATION_OBJECT_FIELDS, } from '@memberjunction/integration-engine-base';
|
|
23
|
+
import { CurrentCatalogCI } from '@memberjunction/integration-engine';
|
|
24
|
+
/** Objects per read. Each read is one `IN (…)` list, so this bounds the filter's length. */
|
|
25
|
+
export const SCOPED_FIELDS_CHUNK = 200;
|
|
26
|
+
/**
|
|
27
|
+
* Loads the field rows of the connection in catalog scope for a schema build, or returns `null`
|
|
28
|
+
* when the build should read the shared catalog (no scope, or no per-connection catalog).
|
|
29
|
+
*
|
|
30
|
+
* @throws PER_CONNECTION_FIELDS_UNREADABLE when a read fails — never an empty answer.
|
|
31
|
+
*/
|
|
32
|
+
export async function LoadScopedFieldsForBuild(integrationID, user) {
|
|
33
|
+
const ciID = CurrentCatalogCI();
|
|
34
|
+
if (!ciID)
|
|
35
|
+
return null;
|
|
36
|
+
const engine = IntegrationEngineBase.Instance;
|
|
37
|
+
if (!engine.HasCompanyIntegrationCatalog(ciID))
|
|
38
|
+
return null;
|
|
39
|
+
const objects = engine.GetActiveIntegrationObjects(integrationID);
|
|
40
|
+
const byObject = new Map();
|
|
41
|
+
const rv = new RunView();
|
|
42
|
+
for (let i = 0; i < objects.length; i += SCOPED_FIELDS_CHUNK) {
|
|
43
|
+
const chunk = objects.slice(i, i + SCOPED_FIELDS_CHUNK);
|
|
44
|
+
const ids = chunk.map(o => `'${String(o.ID).replace(/'/g, "''")}'`).join(',');
|
|
45
|
+
const res = await rv.RunView({
|
|
46
|
+
EntityName: ENTITY_COMPANY_INTEGRATION_OBJECT_FIELDS,
|
|
47
|
+
ExtraFilter: `CompanyIntegrationObjectID IN (${ids})`,
|
|
48
|
+
ResultType: 'simple',
|
|
49
|
+
BypassCache: true,
|
|
50
|
+
IgnoreMaxRows: true,
|
|
51
|
+
}, user);
|
|
52
|
+
if (!res?.Success) {
|
|
53
|
+
throw new Error(`PER_CONNECTION_FIELDS_UNREADABLE: could not read the field rows of connection ${ciID} ` +
|
|
54
|
+
`(objects ${i + 1}-${i + chunk.length} of ${objects.length}): ${res?.ErrorMessage ?? 'unknown error'}. ` +
|
|
55
|
+
`Refusing to build a schema from an empty field list.`);
|
|
56
|
+
}
|
|
57
|
+
for (const row of res.Results ?? [])
|
|
58
|
+
addRow(byObject, row);
|
|
59
|
+
}
|
|
60
|
+
const rowCount = [...byObject.values()].reduce((n, rows) => n + rows.length, 0);
|
|
61
|
+
console.log(`[LoadScopedFieldsForBuild] connection ${ciID}: ${rowCount} field rows for ${byObject.size} of ${objects.length} active objects`);
|
|
62
|
+
return byObject;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The fields a build reads for one object: the connection's rows when they were loaded, the
|
|
66
|
+
* engine's catalog otherwise. With loaded rows the engine is not consulted at all, so a cold
|
|
67
|
+
* per-connection field cache cannot empty the build.
|
|
68
|
+
*/
|
|
69
|
+
export function FieldsForBuild(objectID, scoped, engine) {
|
|
70
|
+
if (scoped)
|
|
71
|
+
return scoped.get(String(objectID).trim().toLowerCase()) ?? [];
|
|
72
|
+
return engine.GetIntegrationObjectFields(objectID);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Files one stored row under its object, deriving the two legacy names the build reads
|
|
76
|
+
* (`IntegrationObjectID`, `RelatedIntegrationObjectID`) exactly as the engine's projection does.
|
|
77
|
+
*/
|
|
78
|
+
function addRow(byObject, row) {
|
|
79
|
+
const key = String(row.CompanyIntegrationObjectID).trim().toLowerCase();
|
|
80
|
+
const projected = {
|
|
81
|
+
...row,
|
|
82
|
+
IntegrationObjectID: row.CompanyIntegrationObjectID,
|
|
83
|
+
RelatedIntegrationObjectID: row.RelatedCompanyIntegrationObjectID ?? null,
|
|
84
|
+
};
|
|
85
|
+
const bucket = byObject.get(key);
|
|
86
|
+
if (bucket)
|
|
87
|
+
bucket.push(projected);
|
|
88
|
+
else
|
|
89
|
+
byObject.set(key, [projected]);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=ScopedFieldsForBuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopedFieldsForBuild.js","sourceRoot":"","sources":["../../src/integration/ScopedFieldsForBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuses a schema build whose selected objects produced no target table.
|
|
3
|
+
*
|
|
4
|
+
* `buildTargetConfigs` drops a selected object that is not in the source schema, has no fields or
|
|
5
|
+
* has no primary key, and logs each drop — but every execution caller then built and ran a migration
|
|
6
|
+
* anyway. With nothing accepted that migration is a header-only file: RSU wrote it, opened and merged
|
|
7
|
+
* a PR, ran CodeGen, redeployed Explorer, and the sync "completed" over zero entity maps, every signal
|
|
8
|
+
* green. Seen 2026-10-29 on a PropFuel connection: three selections requested, three dropped as
|
|
9
|
+
* notInSchema, three empty migrations committed.
|
|
10
|
+
*
|
|
11
|
+
* A caller that asked for tables and gets none has failed, and should hear so with the names it asked
|
|
12
|
+
* for and why each was dropped — in the error itself, because an API or UI caller cannot read the
|
|
13
|
+
* server log line that used to be the only place the reasons appeared. Preview is deliberately not
|
|
14
|
+
* gated: an empty preview is an honest answer.
|
|
15
|
+
*/
|
|
16
|
+
import type { TargetTableConfig } from '@memberjunction/integration-schema-builder';
|
|
17
|
+
/** Why `buildTargetConfigs` left each selected object out. */
|
|
18
|
+
export interface TargetConfigDrops {
|
|
19
|
+
NotInSchema: string[];
|
|
20
|
+
NoFields: string[];
|
|
21
|
+
NoPrimaryKey: string[];
|
|
22
|
+
}
|
|
23
|
+
/** How many names one list in the error shows before summarising the rest — the summary log's cap. */
|
|
24
|
+
export declare const TARGET_CONFIG_NAME_SAMPLE = 5;
|
|
25
|
+
/** An empty set of drop lists, for `buildTargetConfigs` to fill. */
|
|
26
|
+
export declare function NewTargetConfigDrops(): TargetConfigDrops;
|
|
27
|
+
/** `a, b, c, d, e and 163 more` — so a large selection cannot make a multi-KB error. */
|
|
28
|
+
export declare function SampleNames(names: ReadonlyArray<string>): string;
|
|
29
|
+
/**
|
|
30
|
+
* Throws `NO_TARGET_TABLES` when objects were selected and none produced a target table.
|
|
31
|
+
*
|
|
32
|
+
* @param drops why each object was dropped; without it the error lists the three possible reasons.
|
|
33
|
+
* @param alreadyCommitted what the caller had already written before the build, for a caller that
|
|
34
|
+
* cannot honestly say "Nothing was applied" (schema evolution persists the catalog and disables the
|
|
35
|
+
* removed objects' maps first).
|
|
36
|
+
*/
|
|
37
|
+
export declare function AssertTargetConfigs(objects: ReadonlyArray<{
|
|
38
|
+
SourceObjectName: string;
|
|
39
|
+
}>, targetConfigs: ReadonlyArray<TargetTableConfig>, sourceType: string, drops?: TargetConfigDrops, alreadyCommitted?: string): void;
|
|
40
|
+
//# sourceMappingURL=TargetConfigGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TargetConfigGuard.d.ts","sourceRoot":"","sources":["../../src/integration/TargetConfigGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,oEAAoE;AACpE,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAIhE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,aAAa,CAAC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,EACpD,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC/C,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,iBAAiB,EACzB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,IAAI,CASN"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** How many names one list in the error shows before summarising the rest — the summary log's cap. */
|
|
2
|
+
export const TARGET_CONFIG_NAME_SAMPLE = 5;
|
|
3
|
+
/** An empty set of drop lists, for `buildTargetConfigs` to fill. */
|
|
4
|
+
export function NewTargetConfigDrops() {
|
|
5
|
+
return { NotInSchema: [], NoFields: [], NoPrimaryKey: [] };
|
|
6
|
+
}
|
|
7
|
+
/** `a, b, c, d, e and 163 more` — so a large selection cannot make a multi-KB error. */
|
|
8
|
+
export function SampleNames(names) {
|
|
9
|
+
const head = names.slice(0, TARGET_CONFIG_NAME_SAMPLE).join(', ');
|
|
10
|
+
const rest = names.length - TARGET_CONFIG_NAME_SAMPLE;
|
|
11
|
+
return rest > 0 ? `${head} and ${rest} more` : head;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Throws `NO_TARGET_TABLES` when objects were selected and none produced a target table.
|
|
15
|
+
*
|
|
16
|
+
* @param drops why each object was dropped; without it the error lists the three possible reasons.
|
|
17
|
+
* @param alreadyCommitted what the caller had already written before the build, for a caller that
|
|
18
|
+
* cannot honestly say "Nothing was applied" (schema evolution persists the catalog and disables the
|
|
19
|
+
* removed objects' maps first).
|
|
20
|
+
*/
|
|
21
|
+
export function AssertTargetConfigs(objects, targetConfigs, sourceType, drops, alreadyCommitted) {
|
|
22
|
+
if (objects.length === 0 || targetConfigs.length > 0)
|
|
23
|
+
return;
|
|
24
|
+
const reasons = drops ? describeDrops(drops) : '';
|
|
25
|
+
throw new Error(`NO_TARGET_TABLES: none of the ${objects.length} selected object(s) for ${sourceType} produced a target table ` +
|
|
26
|
+
`(${SampleNames(objects.map(o => o.SourceObjectName))}). ` +
|
|
27
|
+
(reasons || 'Each was dropped as not in the source schema, without fields, or without a primary key.') +
|
|
28
|
+
` ${alreadyCommitted ?? 'Nothing was applied.'} Re-run discovery for this connection and apply again.`);
|
|
29
|
+
}
|
|
30
|
+
function describeDrops(drops) {
|
|
31
|
+
const parts = [];
|
|
32
|
+
if (drops.NotInSchema.length > 0)
|
|
33
|
+
parts.push(`not in the source schema: ${SampleNames(drops.NotInSchema)}`);
|
|
34
|
+
if (drops.NoFields.length > 0)
|
|
35
|
+
parts.push(`no fields: ${SampleNames(drops.NoFields)}`);
|
|
36
|
+
if (drops.NoPrimaryKey.length > 0)
|
|
37
|
+
parts.push(`no primary key: ${SampleNames(drops.NoPrimaryKey)}`);
|
|
38
|
+
return parts.length > 0 ? `Dropped as ${parts.join('; ')}.` : '';
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=TargetConfigGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TargetConfigGuard.js","sourceRoot":"","sources":["../../src/integration/TargetConfigGuard.ts"],"names":[],"mappings":"AAwBA,sGAAsG;AACtG,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,oEAAoE;AACpE,MAAM,UAAU,oBAAoB;IAChC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,KAA4B;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC;IACtD,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAC/B,OAAoD,EACpD,aAA+C,EAC/C,UAAkB,EAClB,KAAyB,EACzB,gBAAyB;IAEzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,IAAI,KAAK,CACX,iCAAiC,OAAO,CAAC,MAAM,2BAA2B,UAAU,2BAA2B;QAC/G,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK;QAC1D,CAAC,OAAO,IAAI,yFAAyF,CAAC;QACtG,IAAI,gBAAgB,IAAI,sBAAsB,wDAAwD,CACzG,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,6BAA6B,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC5G,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvF,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACpG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownedRealtimeSession.d.ts","sourceRoot":"","sources":["../../src/realtimeSessions/ownedRealtimeSession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAK5E,gEAAgE;AAChE,qBAAa,4BAA6B,SAAQ,KAAK;aACvB,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAIrD;AAED,qKAAqK;AACrK,qBAAa,6BAA8B,SAAQ,KAAK;aACxB,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAIrD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"ownedRealtimeSession.d.ts","sourceRoot":"","sources":["../../src/realtimeSessions/ownedRealtimeSession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAK5E,gEAAgE;AAChE,qBAAa,4BAA6B,SAAQ,KAAK;aACvB,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAIrD;AAED,qKAAqK;AACrK,qBAAa,6BAA8B,SAAQ,KAAK;aACxB,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAIrD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAmBjC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { LogError } from '@memberjunction/core';
|
|
9
9
|
import { UUIDsEqual } from '@memberjunction/global';
|
|
10
|
-
import {
|
|
10
|
+
import { AuthorizeLoadedSession } from './sessionAccess.js';
|
|
11
11
|
const SESSION_ENTITY = 'MJ: AI Agent Sessions';
|
|
12
12
|
/** The session does not exist, or the caller cannot read it. */
|
|
13
13
|
export class RealtimeSessionNotFoundError extends Error {
|
|
@@ -45,8 +45,7 @@ export async function LoadOwnedRealtimeSession(agentSessionId, contextUser, prov
|
|
|
45
45
|
LogError(`LoadOwnedRealtimeSession: ownership check failed — user ${contextUser.ID} attempted to operate on session ${agentSessionId} owned by ${session.UserID}`);
|
|
46
46
|
throw new RealtimeSessionOwnershipError(agentSessionId);
|
|
47
47
|
}
|
|
48
|
-
const
|
|
49
|
-
const access = AuthorizeSessionAccess({ SessionUserID: session.UserID, ConversationExternalID: conversation.ExternalID, ConversationReadable: conversation.Readable }, contextUser);
|
|
48
|
+
const access = await AuthorizeLoadedSession(session, contextUser, provider);
|
|
50
49
|
if (!access.Allowed) {
|
|
51
50
|
LogError(`LoadOwnedRealtimeSession: session access refused (${access.Reason}) — user ${contextUser.ID} attempted to operate on session ${agentSessionId}`);
|
|
52
51
|
throw new RealtimeSessionOwnershipError(agentSessionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownedRealtimeSession.js","sourceRoot":"","sources":["../../src/realtimeSessions/ownedRealtimeSession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAqB,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"ownedRealtimeSession.js","sourceRoot":"","sources":["../../src/realtimeSessions/ownedRealtimeSession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAqB,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAE/C,gEAAgE;AAChE,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAA4B,cAAsB;QAC9C,KAAK,CAAC,oBAAoB,cAAc,YAAY,CAAC,CAAC;QAD9B,mBAAc,GAAd,cAAc,CAAQ;QAE9C,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC/C,CAAC;CACJ;AAED,qKAAqK;AACrK,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACpD,YAA4B,cAAsB;QAC9C,KAAK,CAAC,sDAAsD,CAAC,CAAC;QADtC,mBAAc,GAAd,cAAc,CAAQ;QAE9C,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAChD,CAAC;CACJ;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,cAAsB,EACtB,WAAqB,EACrB,QAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAyB,cAAc,EAAE,WAAW,CAAC,CAAC;IACpG,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9C,QAAQ,CACJ,2DAA2D,WAAW,CAAC,EAAE,oCAAoC,cAAc,aAAa,OAAO,CAAC,MAAM,EAAE,CAC3J,CAAC;QACF,MAAM,IAAI,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,QAAQ,CACJ,qDAAqD,MAAM,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE,oCAAoC,cAAc,EAAE,CACnJ,CAAC;QACF,MAAM,IAAI,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -130,6 +130,21 @@ export interface ConversationScope extends SessionConversationScope {
|
|
|
130
130
|
* {@link AuthorizeSessionAccess}'s subject.
|
|
131
131
|
*/
|
|
132
132
|
export declare function LoadSessionConversationScope(session: MJAIAgentSessionEntity, contextUser: UserInfo, provider: IMetadataProvider): Promise<SessionConversationScope>;
|
|
133
|
+
/**
|
|
134
|
+
* Decides whether `contextUser` may address an already-loaded `session`: the {@link AuthorizeSessionAccess}
|
|
135
|
+
* decision, reading the session's conversation only when that decision needs it.
|
|
136
|
+
*
|
|
137
|
+
* {@link AuthorizeSessionAccess} decides a principal without a scope identity — a named user with no magic-link
|
|
138
|
+
* scope, the usual signed-in caller — from the owner check alone, and refuses a non-owner before it looks at
|
|
139
|
+
* anything else, so neither needs the conversation read. This function and that one encode the same rule on
|
|
140
|
+
* purpose and live together for that reason: change the rule there, change the read here. The
|
|
141
|
+
* `AuthorizeLoadedSession` table test in `sessionAccess.test.ts` fails if the two ever disagree.
|
|
142
|
+
*
|
|
143
|
+
* @param session - the session, loaded through the caller's own gate
|
|
144
|
+
* @param contextUser - the authenticated caller; the conversation, when read, is read as this user (RLS applies)
|
|
145
|
+
* @param provider - the request-scoped provider
|
|
146
|
+
*/
|
|
147
|
+
export declare function AuthorizeLoadedSession(session: MJAIAgentSessionEntity, contextUser: UserInfo, provider: IMetadataProvider): Promise<SessionAccessDecision>;
|
|
133
148
|
/**
|
|
134
149
|
* Reads a conversation's owner and scope id under `contextUser` (so its row-level security applies), for a
|
|
135
150
|
* caller that addresses the conversation directly rather than through a session — a text agent turn, for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionAccess.d.ts","sourceRoot":"","sources":["../../src/realtimeSessions/sessionAccess.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionAccess.d.ts","sourceRoot":"","sources":["../../src/realtimeSessions/sessionAccess.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,6 +118,28 @@ export async function LoadSessionConversationScope(session, contextUser, provide
|
|
|
118
118
|
const { ExternalID, Readable } = await LoadConversationScope(session.ConversationID, contextUser, provider);
|
|
119
119
|
return { ExternalID, Readable };
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Decides whether `contextUser` may address an already-loaded `session`: the {@link AuthorizeSessionAccess}
|
|
123
|
+
* decision, reading the session's conversation only when that decision needs it.
|
|
124
|
+
*
|
|
125
|
+
* {@link AuthorizeSessionAccess} decides a principal without a scope identity — a named user with no magic-link
|
|
126
|
+
* scope, the usual signed-in caller — from the owner check alone, and refuses a non-owner before it looks at
|
|
127
|
+
* anything else, so neither needs the conversation read. This function and that one encode the same rule on
|
|
128
|
+
* purpose and live together for that reason: change the rule there, change the read here. The
|
|
129
|
+
* `AuthorizeLoadedSession` table test in `sessionAccess.test.ts` fails if the two ever disagree.
|
|
130
|
+
*
|
|
131
|
+
* @param session - the session, loaded through the caller's own gate
|
|
132
|
+
* @param contextUser - the authenticated caller; the conversation, when read, is read as this user (RLS applies)
|
|
133
|
+
* @param provider - the request-scoped provider
|
|
134
|
+
*/
|
|
135
|
+
export async function AuthorizeLoadedSession(session, contextUser, provider) {
|
|
136
|
+
const ownsSession = !!contextUser?.ID && !!session.UserID && UUIDsEqual(session.UserID, contextUser.ID);
|
|
137
|
+
if (!ownsSession || !ResolveSessionScopeIdentity(contextUser)) {
|
|
138
|
+
return AuthorizeSessionAccess({ SessionUserID: session.UserID, ConversationExternalID: null, ConversationReadable: false }, contextUser);
|
|
139
|
+
}
|
|
140
|
+
const conversation = await LoadSessionConversationScope(session, contextUser, provider);
|
|
141
|
+
return AuthorizeSessionAccess({ SessionUserID: session.UserID, ConversationExternalID: conversation.ExternalID, ConversationReadable: conversation.Readable }, contextUser);
|
|
142
|
+
}
|
|
121
143
|
/**
|
|
122
144
|
* Reads a conversation's owner and scope id under `contextUser` (so its row-level security applies), for a
|
|
123
145
|
* caller that addresses the conversation directly rather than through a session — a text agent turn, for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionAccess.js","sourceRoot":"","sources":["../../src/realtimeSessions/sessionAccess.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionAccess.js","sourceRoot":"","sources":["../../src/realtimeSessions/sessionAccess.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetSessionService.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/WidgetSessionService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WidgetSessionService.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/WidgetSessionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -586,6 +586,7 @@ export class WidgetSessionService {
|
|
|
586
586
|
ExtraFilter: `VisitorKey = '${visitorKey}' AND ApplicationID = '${applicationId.replace(/'/g, "''")}'`,
|
|
587
587
|
OrderBy: '__mj_CreatedAt DESC',
|
|
588
588
|
MaxRows: 1,
|
|
589
|
+
SkipTotalRowCount: true,
|
|
589
590
|
Fields: ['ID'],
|
|
590
591
|
ResultType: 'simple',
|
|
591
592
|
}, contextUser);
|
|
@@ -606,6 +607,7 @@ export class WidgetSessionService {
|
|
|
606
607
|
EntityName: WIDGET_ENTITY,
|
|
607
608
|
ExtraFilter: `PublicKey = '${key.replace(/'/g, "''")}'`,
|
|
608
609
|
MaxRows: 1,
|
|
610
|
+
SkipTotalRowCount: true,
|
|
609
611
|
ResultType: 'entity_object',
|
|
610
612
|
}, contextUser);
|
|
611
613
|
if (!result.Success) {
|