@memberjunction/server 6.2.0-edge.0 → 6.2.0-edge.2
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/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.d.ts +2 -0
- package/dist/agentSessions/ReturningVisitorRecap.d.ts.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.js +5 -1
- package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
- package/dist/agentSessions/SessionManager.js +2 -2
- package/dist/agentSessions/remoteBrowserGoalEngine.d.ts +8 -0
- package/dist/agentSessions/remoteBrowserGoalEngine.d.ts.map +1 -1
- package/dist/agentSessions/remoteBrowserGoalEngine.js +21 -5
- package/dist/agentSessions/remoteBrowserGoalEngine.js.map +1 -1
- package/dist/auth/AuthProviderCatalogRouter.d.ts +2 -0
- package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
- package/dist/auth/AuthProviderCatalogRouter.js +5 -1
- package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
- package/dist/auth/index.d.ts +20 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +20 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/initializeProviders.d.ts +8 -0
- package/dist/auth/initializeProviders.d.ts.map +1 -1
- package/dist/auth/initializeProviders.js +21 -5
- package/dist/auth/initializeProviders.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.d.ts +9 -0
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.js +22 -10
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.d.ts +17 -15
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +65 -51
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/magicLink/index.d.ts +2 -2
- package/dist/auth/magicLink/index.d.ts.map +1 -1
- package/dist/auth/magicLink/index.js +2 -2
- package/dist/auth/magicLink/index.js.map +1 -1
- package/dist/auth/magicLink/magicLinkCore.d.ts +54 -33
- package/dist/auth/magicLink/magicLinkCore.d.ts.map +1 -1
- package/dist/auth/magicLink/magicLinkCore.js +61 -61
- package/dist/auth/magicLink/magicLinkCore.js.map +1 -1
- package/dist/auth/magicLink/redeemLanding.d.ts +4 -0
- package/dist/auth/magicLink/redeemLanding.d.ts.map +1 -1
- package/dist/auth/magicLink/redeemLanding.js +12 -4
- package/dist/auth/magicLink/redeemLanding.js.map +1 -1
- package/dist/auth/magicLink/types.d.ts +4 -4
- package/dist/auth/principals.d.ts +2 -0
- package/dist/auth/principals.d.ts.map +1 -1
- package/dist/auth/principals.js +6 -2
- package/dist/auth/principals.js.map +1 -1
- package/dist/cache.d.ts +2 -0
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +3 -1
- package/dist/cache.js.map +1 -1
- package/dist/config.d.ts +346 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -4
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +20 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +27 -19
- package/dist/context.js.map +1 -1
- package/dist/directives/Public.d.ts +2 -0
- package/dist/directives/Public.d.ts.map +1 -1
- package/dist/directives/Public.js +3 -1
- package/dist/directives/Public.js.map +1 -1
- package/dist/directives/RequireSystemUser.d.ts +2 -0
- package/dist/directives/RequireSystemUser.d.ts.map +1 -1
- package/dist/directives/RequireSystemUser.js +3 -1
- package/dist/directives/RequireSystemUser.js.map +1 -1
- package/dist/generated/graphql-schemas/__mj.d.ts +1021 -0
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +7368 -2145
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/CacheInvalidationResolver.d.ts +94 -4
- package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
- package/dist/generic/CacheInvalidationResolver.js +122 -3
- package/dist/generic/CacheInvalidationResolver.js.map +1 -1
- package/dist/generic/DeleteOptionsInput.d.ts +8 -1
- package/dist/generic/DeleteOptionsInput.d.ts.map +1 -1
- package/dist/generic/DeleteOptionsInput.js +1 -1
- package/dist/generic/DeleteOptionsInput.js.map +1 -1
- package/dist/generic/FireAndForgetHeartbeat.d.ts +18 -2
- package/dist/generic/FireAndForgetHeartbeat.d.ts.map +1 -1
- package/dist/generic/FireAndForgetHeartbeat.js +24 -6
- package/dist/generic/FireAndForgetHeartbeat.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts +31 -0
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -0
- package/dist/generic/OrphanedConversationDetailReconciler.js +215 -0
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -0
- package/dist/generic/PushStatusResolver.d.ts +48 -1
- package/dist/generic/PushStatusResolver.d.ts.map +1 -1
- package/dist/generic/PushStatusResolver.js +95 -4
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +18 -2
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +64 -55
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +120 -11
- package/dist/index.js.map +1 -1
- package/dist/integration/CustomColumnPromoter.d.ts +2 -0
- package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
- package/dist/integration/CustomColumnPromoter.js +5 -1
- package/dist/integration/CustomColumnPromoter.js.map +1 -1
- package/dist/integration/EntityMapLifecycle.d.ts +4 -0
- package/dist/integration/EntityMapLifecycle.d.ts.map +1 -1
- package/dist/integration/EntityMapLifecycle.js +10 -2
- package/dist/integration/EntityMapLifecycle.js.map +1 -1
- package/dist/logging/NoLog.d.ts +4 -0
- package/dist/logging/NoLog.d.ts.map +1 -1
- package/dist/logging/NoLog.js +10 -2
- package/dist/logging/NoLog.js.map +1 -1
- package/dist/logging/StartupLogger.d.ts +2 -0
- package/dist/logging/StartupLogger.d.ts.map +1 -1
- package/dist/logging/StartupLogger.js +5 -1
- package/dist/logging/StartupLogger.js.map +1 -1
- package/dist/logging/bootAudit.d.ts +11 -7
- package/dist/logging/bootAudit.d.ts.map +1 -1
- package/dist/logging/bootAudit.js +15 -7
- package/dist/logging/bootAudit.js.map +1 -1
- package/dist/logging/boundaryLogPayload.d.ts +4 -0
- package/dist/logging/boundaryLogPayload.d.ts.map +1 -1
- package/dist/logging/boundaryLogPayload.js +5 -1
- package/dist/logging/boundaryLogPayload.js.map +1 -1
- package/dist/logging/secretRedactor.d.ts +2 -0
- package/dist/logging/secretRedactor.d.ts.map +1 -1
- package/dist/logging/secretRedactor.js +8 -4
- package/dist/logging/secretRedactor.js.map +1 -1
- package/dist/logging/shortenForLog.d.ts +2 -0
- package/dist/logging/shortenForLog.d.ts.map +1 -1
- package/dist/logging/shortenForLog.js +7 -3
- package/dist/logging/shortenForLog.js.map +1 -1
- package/dist/logging/variablesLoggingMiddleware.d.ts +2 -0
- package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
- package/dist/logging/variablesLoggingMiddleware.js +8 -6
- package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
- package/dist/metadataRefreshSignal.d.ts +19 -0
- package/dist/metadataRefreshSignal.d.ts.map +1 -0
- package/dist/metadataRefreshSignal.js +45 -0
- package/dist/metadataRefreshSignal.js.map +1 -0
- package/dist/middleware/MJTenantFilterMiddleware.js +4 -4
- package/dist/multiTenancy/index.d.ts +8 -0
- package/dist/multiTenancy/index.d.ts.map +1 -1
- package/dist/multiTenancy/index.js +21 -5
- package/dist/multiTenancy/index.js.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.d.ts +5 -0
- package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.js +14 -10
- package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.d.ts +6 -6
- package/dist/realtimeWidget/WidgetSessionService.js +27 -27
- package/dist/realtimeWidget/host-identity.d.ts +5 -1
- package/dist/realtimeWidget/host-identity.d.ts.map +1 -1
- package/dist/realtimeWidget/host-identity.js +11 -3
- package/dist/realtimeWidget/host-identity.js.map +1 -1
- package/dist/realtimeWidget/index.d.ts +2 -2
- package/dist/realtimeWidget/index.d.ts.map +1 -1
- package/dist/realtimeWidget/index.js +2 -2
- package/dist/realtimeWidget/index.js.map +1 -1
- package/dist/realtimeWidget/visitorIdentity.d.ts +21 -1
- package/dist/realtimeWidget/visitorIdentity.d.ts.map +1 -1
- package/dist/realtimeWidget/visitorIdentity.js +16 -4
- package/dist/realtimeWidget/visitorIdentity.js.map +1 -1
- package/dist/realtimeWidget/widgetCore.d.ts +48 -0
- package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetCore.js +38 -10
- package/dist/realtimeWidget/widgetCore.js.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.d.ts +10 -6
- package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +14 -6
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +3 -3
- package/dist/resolvers/AgentRunStatusPublisher.d.ts +55 -0
- package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -0
- package/dist/resolvers/AgentRunStatusPublisher.js +141 -0
- package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -0
- package/dist/resolvers/ConversationRunEventsResolver.d.ts +90 -0
- package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -0
- package/dist/resolvers/ConversationRunEventsResolver.js +283 -0
- package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.d.ts +98 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.d.ts.map +1 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.js +227 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.js.map +1 -0
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +2 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.js +3 -3
- package/dist/resolvers/GeoResolver.d.ts +2 -2
- package/dist/resolvers/GeoResolver.js +4 -4
- package/dist/resolvers/GetDataResolver.d.ts +14 -0
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +43 -15
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +2 -2
- package/dist/resolvers/ListOperationsResolver.d.ts +20 -0
- package/dist/resolvers/ListOperationsResolver.d.ts.map +1 -1
- package/dist/resolvers/ListOperationsResolver.js +68 -28
- package/dist/resolvers/ListOperationsResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts +11 -1
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +7 -3
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts +7 -0
- package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +16 -2
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +3 -3
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +44 -6
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +93 -37
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +5 -5
- package/dist/resolvers/RunAIAgentResolver.d.ts +8 -18
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +85 -184
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts +1 -1
- package/dist/resolvers/RunAIPromptResolver.js +2 -2
- package/dist/resolvers/RunDecisionResolver.d.ts +149 -0
- package/dist/resolvers/RunDecisionResolver.d.ts.map +1 -0
- package/dist/resolvers/RunDecisionResolver.js +396 -0
- package/dist/resolvers/RunDecisionResolver.js.map +1 -0
- package/dist/resolvers/RunTestResolver.js +5 -5
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts +8 -4
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +5 -5
- package/dist/resolvers/TaskGraphFrameResolver.d.ts +8 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.js +6 -2
- package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
- package/dist/resolvers/VectorizeEntityResolver.d.ts +1 -1
- package/dist/resolvers/VectorizeEntityResolver.d.ts.map +1 -1
- package/dist/resolvers/VectorizeEntityResolver.js +14 -10
- package/dist/resolvers/VectorizeEntityResolver.js.map +1 -1
- package/dist/resolvers/adhoc-query-helpers.d.ts +6 -0
- package/dist/resolvers/adhoc-query-helpers.d.ts.map +1 -1
- package/dist/resolvers/adhoc-query-helpers.js +10 -2
- package/dist/resolvers/adhoc-query-helpers.js.map +1 -1
- package/dist/resolvers/artifact-routing.d.ts +8 -8
- package/dist/resolvers/artifact-routing.js +2 -2
- package/dist/resolvers/artifact-routing.js.map +1 -1
- package/dist/resolvers/meetingRecordingRegistration.d.ts +10 -2
- package/dist/resolvers/meetingRecordingRegistration.d.ts.map +1 -1
- package/dist/resolvers/meetingRecordingRegistration.js +24 -8
- package/dist/resolvers/meetingRecordingRegistration.js.map +1 -1
- package/dist/resolvers/peaksSidecar.d.ts +4 -0
- package/dist/resolvers/peaksSidecar.d.ts.map +1 -1
- package/dist/resolvers/peaksSidecar.js +10 -2
- package/dist/resolvers/peaksSidecar.js.map +1 -1
- package/dist/rest/EntityCRUDHandler.d.ts +28 -0
- package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +20 -4
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/MediaStreamHandler.d.ts +2 -0
- package/dist/rest/MediaStreamHandler.d.ts.map +1 -1
- package/dist/rest/MediaStreamHandler.js +10 -6
- package/dist/rest/MediaStreamHandler.js.map +1 -1
- package/dist/rest/OAuthCallbackHandler.d.ts +9 -0
- package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
- package/dist/rest/OAuthCallbackHandler.js +15 -3
- package/dist/rest/OAuthCallbackHandler.js.map +1 -1
- package/dist/rest/RESTEndpointHandler.d.ts +6 -4
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +15 -11
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/RealtimeSdpBrokerHandler.d.ts +5 -1
- package/dist/rest/RealtimeSdpBrokerHandler.d.ts.map +1 -1
- package/dist/rest/RealtimeSdpBrokerHandler.js +12 -4
- package/dist/rest/RealtimeSdpBrokerHandler.js.map +1 -1
- package/dist/rest/SignatureWebhookHandler.d.ts +2 -0
- package/dist/rest/SignatureWebhookHandler.d.ts.map +1 -1
- package/dist/rest/SignatureWebhookHandler.js +5 -1
- package/dist/rest/SignatureWebhookHandler.js.map +1 -1
- package/dist/rest/UploadTokenManager.d.ts +24 -8
- package/dist/rest/UploadTokenManager.d.ts.map +1 -1
- package/dist/rest/UploadTokenManager.js +53 -21
- package/dist/rest/UploadTokenManager.js.map +1 -1
- package/dist/rest/ViewOperationsHandler.d.ts +20 -0
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +20 -4
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/mediaRange.d.ts +4 -0
- package/dist/rest/mediaRange.d.ts.map +1 -1
- package/dist/rest/mediaRange.js +10 -2
- package/dist/rest/mediaRange.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +4 -0
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +13 -7
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/serverExtensionReservedRoots.d.ts +2 -0
- package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
- package/dist/serverExtensionReservedRoots.js +5 -1
- package/dist/serverExtensionReservedRoots.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +13 -8
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +16 -15
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -3
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +6 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +13 -5
- package/dist/util.js.map +1 -1
- package/package.json +94 -92
- package/src/__tests__/AgentRunStatusPublisher.test.ts +175 -0
- package/src/__tests__/DeleteOptionsInput.wireShape.test.ts +62 -0
- package/src/__tests__/DuplicateEntryCheckResolver.test.ts +300 -0
- package/src/__tests__/FileResolverPeaks.test.ts +13 -13
- package/src/__tests__/ListOperationsResolver.test.ts +17 -17
- package/src/__tests__/MediaStreamHandler.test.ts +28 -28
- package/src/__tests__/NoLog.test.ts +11 -11
- package/src/__tests__/PrimaryKeyAlwaysMapped.test.ts +10 -10
- package/src/__tests__/RESTEndpointHandler.test.ts +14 -14
- package/src/__tests__/RealtimeBridgeResolver.test.ts +4 -2
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +216 -2
- package/src/__tests__/RealtimeSdpBrokerHandler.test.ts +6 -6
- package/src/__tests__/RefreshAdoptsNewColumns.test.ts +8 -8
- package/src/__tests__/RemoteBrowserActionRecovery.test.ts +7 -1
- package/src/__tests__/RemoteBrowserAudioStream.test.ts +7 -1
- package/src/__tests__/RemoteBrowserGoalEngine.test.ts +18 -18
- package/src/__tests__/RemoteBrowserSnapshot.test.ts +7 -1
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +52 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +398 -0
- package/src/__tests__/RunAIAgentResolver.streaming.test.ts +18 -27
- package/src/__tests__/RunDecisionResolver.test.ts +699 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +131 -0
- package/src/__tests__/TaskGraphFrameResolver.test.ts +2 -2
- package/src/__tests__/VectorizeEntityResolver.test.ts +106 -0
- package/src/__tests__/WidgetSessionService.test.ts +8 -4
- package/src/__tests__/adhoc-query-helpers.test.ts +21 -21
- package/src/__tests__/bootAudit.test.ts +11 -11
- package/src/__tests__/boundaryLogPayload.test.ts +6 -6
- package/src/__tests__/cacheInvalidationRecordData.test.ts +177 -0
- package/src/__tests__/conversationRunEvents.test.ts +399 -0
- package/src/__tests__/databaseAbstraction.test.ts +12 -6
- package/src/__tests__/getDataTokenRedaction.test.ts +7 -7
- package/src/__tests__/initializeProviders.refresh.test.ts +4 -4
- package/src/__tests__/magicLink.test.ts +73 -134
- package/src/__tests__/magicLinkService.consume.test.ts +224 -0
- package/src/__tests__/meetingRecordingRegistration.test.ts +12 -12
- package/src/__tests__/metadataRefreshSignal.test.ts +78 -0
- package/src/__tests__/multiTenancy.security.test.ts +40 -40
- package/src/__tests__/multiTenancy.test.ts +18 -18
- package/src/__tests__/newUsers.test.ts +24 -23
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +283 -0
- package/src/__tests__/principals.test.ts +22 -22
- package/src/__tests__/pushStatusFanOut.test.ts +206 -0
- package/src/__tests__/pushStatusResolver.filter.test.ts +8 -8
- package/src/__tests__/secretRedactor.failOpen.test.ts +12 -12
- package/src/__tests__/secretRedactor.test.ts +12 -12
- package/src/__tests__/serverExtensionReservedRoots.test.ts +7 -7
- package/src/__tests__/subscriptionRedaction.test.ts +5 -5
- package/src/__tests__/unifiedAuth.test.ts +15 -9
- package/src/__tests__/visitorIdentity.resolve.test.ts +6 -6
- package/src/__tests__/widget.test.ts +45 -45
- package/src/__tests__/widgetGuestElevation.test.ts +7 -7
- package/src/__tests__/widgetHostIdentity.test.ts +14 -14
- package/src/agentSessions/ReturningVisitorRecap.ts +12 -1
- package/src/agentSessions/SessionManager.ts +2 -2
- package/src/agentSessions/remoteBrowserGoalEngine.ts +30 -5
- package/src/auth/AuthProviderCatalogRouter.ts +6 -1
- package/src/auth/__tests__/backward-compatibility.test.ts +4 -3
- package/src/auth/index.ts +43 -28
- package/src/auth/initializeProviders.ts +25 -5
- package/src/auth/magicLink/MagicLinkRouter.ts +28 -10
- package/src/auth/magicLink/MagicLinkService.ts +71 -52
- package/src/auth/magicLink/index.ts +7 -7
- package/src/auth/magicLink/magicLinkCore.ts +96 -64
- package/src/auth/magicLink/redeemLanding.ts +14 -4
- package/src/auth/magicLink/types.ts +54 -54
- package/src/auth/newUsers.ts +1 -1
- package/src/auth/principals.ts +11 -2
- package/src/cache.ts +4 -1
- package/src/config.ts +37 -4
- package/src/context.ts +37 -24
- package/src/directives/Public.ts +4 -1
- package/src/directives/RequireSystemUser.ts +4 -1
- package/src/generated/graphql-schemas/__mj.ts +3674 -4
- package/src/generic/CacheInvalidationResolver.ts +148 -4
- package/src/generic/DeleteOptionsInput.ts +9 -2
- package/src/generic/FireAndForgetHeartbeat.ts +35 -16
- package/src/generic/OrphanedConversationDetailReconciler.ts +267 -0
- package/src/generic/PushStatusResolver.ts +118 -8
- package/src/generic/ResolverBase.ts +65 -57
- package/src/generic/RunViewResolver.ts +22 -22
- package/src/generic/__tests__/FireAndForgetHeartbeat.test.ts +7 -7
- package/src/index.ts +137 -11
- package/src/integration/CustomColumnPromoter.ts +6 -1
- package/src/integration/EntityMapLifecycle.ts +20 -2
- package/src/logging/NoLog.ts +16 -2
- package/src/logging/StartupLogger.ts +6 -1
- package/src/logging/bootAudit.ts +26 -16
- package/src/logging/boundaryLogPayload.ts +8 -1
- package/src/logging/secretRedactor.ts +14 -9
- package/src/logging/shortenForLog.ts +8 -3
- package/src/logging/variablesLoggingMiddleware.ts +9 -6
- package/src/metadataRefreshSignal.ts +45 -0
- package/src/middleware/MJTenantFilterMiddleware.ts +4 -4
- package/src/multiTenancy/index.ts +29 -5
- package/src/realtimeWidget/WidgetRouter.ts +15 -10
- package/src/realtimeWidget/WidgetSessionService.ts +76 -76
- package/src/realtimeWidget/host-identity.ts +24 -10
- package/src/realtimeWidget/index.ts +3 -3
- package/src/realtimeWidget/visitorIdentity.ts +39 -8
- package/src/realtimeWidget/widgetCore.ts +75 -10
- package/src/realtimeWidget/widgetGuestElevation.ts +25 -12
- package/src/resolvers/AdhocQueryResolver.ts +3 -3
- package/src/resolvers/AgentRunStatusPublisher.ts +175 -0
- package/src/resolvers/AgentSessionResolver.ts +3 -3
- package/src/resolvers/ColorResolver.ts +6 -6
- package/src/resolvers/ComponentRegistryResolver.ts +36 -36
- package/src/resolvers/ConversationRunEventsResolver.ts +308 -0
- package/src/resolvers/DuplicateEntryCheckResolver.ts +232 -0
- package/src/resolvers/EntityCommunicationsResolver.ts +4 -4
- package/src/resolvers/ExecuteRemoteOperationResolver.ts +9 -9
- package/src/resolvers/FetchEntityVectorsResolver.ts +2 -1
- package/src/resolvers/FileResolver.ts +42 -42
- package/src/resolvers/GeoResolver.ts +4 -4
- package/src/resolvers/GetDataResolver.ts +50 -15
- package/src/resolvers/IntegrationDiscoveryResolver.ts +2 -2
- package/src/resolvers/ListOperationsResolver.ts +78 -28
- package/src/resolvers/MCPResolver.ts +30 -15
- package/src/resolvers/MergeRecordsResolver.ts +14 -2
- package/src/resolvers/QueryResolver.ts +13 -13
- package/src/resolvers/RealtimeBridgeResolver.ts +3 -3
- package/src/resolvers/RealtimeClientSessionResolver.ts +96 -38
- package/src/resolvers/RemoteBrowserActionResolver.ts +5 -5
- package/src/resolvers/RunAIAgentResolver.ts +134 -239
- package/src/resolvers/RunAIPromptResolver.ts +22 -22
- package/src/resolvers/RunDecisionResolver.ts +435 -0
- package/src/resolvers/RunTemplateResolver.ts +4 -4
- package/src/resolvers/RunTestResolver.ts +25 -25
- package/src/resolvers/SqlLoggingConfigResolver.ts +56 -56
- package/src/resolvers/TaskGraphFrameResolver.ts +37 -28
- package/src/resolvers/TelemetryResolver.ts +79 -79
- package/src/resolvers/VectorizeEntityResolver.ts +16 -11
- package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +40 -38
- package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +93 -0
- package/src/resolvers/__tests__/artifact-routing.test.ts +23 -23
- package/src/resolvers/adhoc-query-helpers.ts +19 -2
- package/src/resolvers/artifact-routing.ts +19 -19
- package/src/resolvers/meetingRecordingRegistration.ts +44 -10
- package/src/resolvers/peaksSidecar.ts +12 -2
- package/src/rest/EntityCRUDHandler.ts +24 -4
- package/src/rest/MediaStreamHandler.ts +11 -6
- package/src/rest/OAuthCallbackHandler.ts +25 -7
- package/src/rest/RESTEndpointHandler.ts +20 -15
- package/src/rest/RealtimeSdpBrokerHandler.ts +14 -4
- package/src/rest/SignatureWebhookHandler.ts +6 -1
- package/src/rest/UploadTokenManager.ts +66 -30
- package/src/rest/ViewOperationsHandler.ts +24 -4
- package/src/rest/mediaRange.ts +16 -6
- package/src/rest/setupRESTEndpoints.ts +24 -12
- package/src/serverExtensionReservedRoots.ts +6 -1
- package/src/services/TaskGraphActionRunner.ts +16 -15
- package/src/types.ts +21 -16
- package/src/util.ts +16 -6
|
@@ -96,11 +96,11 @@ export interface MintGuestSessionResult {
|
|
|
96
96
|
/** Input to resolve a returning visitor's identity after they verify (RV4, magic-link upgrade path). */
|
|
97
97
|
export interface ResolveVisitorIdentityInput {
|
|
98
98
|
/** The widget's public embed key. */
|
|
99
|
-
|
|
99
|
+
WidgetKey: string;
|
|
100
100
|
/** The durable returning-visitor anchor whose trail should be promoted to the verified identity. */
|
|
101
|
-
|
|
101
|
+
VisitorKey: string;
|
|
102
102
|
/** The verified visitor's email (from the authenticated session) — resolved to a record via config. */
|
|
103
|
-
|
|
103
|
+
VerifiedEmail: string;
|
|
104
104
|
/** The request's Origin header — enforced against the instance allowlist. */
|
|
105
105
|
origin?: string;
|
|
106
106
|
}
|
|
@@ -117,9 +117,9 @@ export interface ResolveVisitorIdentityResult {
|
|
|
117
117
|
/** Input to a "forget me" request (RV5). */
|
|
118
118
|
export interface ForgetVisitorInput {
|
|
119
119
|
/** The widget's public embed key. */
|
|
120
|
-
|
|
120
|
+
WidgetKey: string;
|
|
121
121
|
/** The durable returning-visitor anchor to forget. */
|
|
122
|
-
|
|
122
|
+
VisitorKey: string;
|
|
123
123
|
/** The request's Origin header — enforced against the instance allowlist. */
|
|
124
124
|
origin?: string;
|
|
125
125
|
}
|
|
@@ -136,7 +136,7 @@ export interface ForgetVisitorResult {
|
|
|
136
136
|
/** Input to request a magic-link identity upgrade for a live guest session (W5). */
|
|
137
137
|
export interface UpgradeGuestSessionInput {
|
|
138
138
|
/** The widget's public embed key. */
|
|
139
|
-
|
|
139
|
+
WidgetKey: string;
|
|
140
140
|
/** The email to send the verification link to (becomes the provisioned user's email). */
|
|
141
141
|
email: string;
|
|
142
142
|
/** The request's Origin header — enforced against the instance allowlist. */
|
|
@@ -17,13 +17,13 @@ import { Metadata, RunView, LogError, LogStatus } from '@memberjunction/core';
|
|
|
17
17
|
import { MJLruCache, UUIDsEqual } from '@memberjunction/global';
|
|
18
18
|
import { ResolveConfiguredPrincipal } from '../auth/principals.js';
|
|
19
19
|
import { MagicLinkKeyManager } from '../auth/magicLink/MagicLinkKeys.js';
|
|
20
|
-
import {
|
|
20
|
+
import { GenerateSessionId } from '../auth/magicLink/magicLinkCore.js';
|
|
21
21
|
import { MagicLinkService } from '../auth/magicLink/MagicLinkService.js';
|
|
22
22
|
import { configInfo } from '../config.js';
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
23
|
+
import { BuildWidgetGuestClaims, EvaluateWidgetMint, ParseEnabledChannels } from './widgetCore.js';
|
|
24
|
+
import { VerifyHostAssertion } from './host-identity.js';
|
|
25
|
+
import { WriteReturningVisitorRecap } from '../agentSessions/ReturningVisitorRecap.js';
|
|
26
|
+
import { ResolveIdentityByEmail, MergeVisitorIdentity, ForgetVisitor } from './visitorIdentity.js';
|
|
27
27
|
const WIDGET_ENTITY = 'MJ: Conversation Widget Instances';
|
|
28
28
|
const CONVERSATIONS_ENTITY = 'MJ: Conversations';
|
|
29
29
|
/** Shape of the durable visitor anchor key (opaque base64url, same alphabet as generateSessionId). */
|
|
@@ -69,7 +69,7 @@ export class WidgetSessionService {
|
|
|
69
69
|
if (!widget) {
|
|
70
70
|
return this.audited({ success: false, errorCode: 'not_found', error: 'Unknown widget key.' }, input, undefined);
|
|
71
71
|
}
|
|
72
|
-
const eligibility =
|
|
72
|
+
const eligibility = EvaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, input.origin);
|
|
73
73
|
if (!eligibility.ok) {
|
|
74
74
|
return this.audited({ success: false, errorCode: eligibility.errorCode, error: 'Widget mint rejected.' }, input, widget);
|
|
75
75
|
}
|
|
@@ -172,11 +172,11 @@ export class WidgetSessionService {
|
|
|
172
172
|
if (!contextUser) {
|
|
173
173
|
return { success: false, errorCode: 'server_error', error: 'Server not configured for widget sessions.' };
|
|
174
174
|
}
|
|
175
|
-
const widget = await this.loadWidgetByKey(input.
|
|
175
|
+
const widget = await this.loadWidgetByKey(input.WidgetKey, contextUser);
|
|
176
176
|
if (!widget) {
|
|
177
177
|
return { success: false, errorCode: 'not_found', error: 'Unknown widget key.' };
|
|
178
178
|
}
|
|
179
|
-
const eligibility =
|
|
179
|
+
const eligibility = EvaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, input.origin);
|
|
180
180
|
if (!eligibility.ok) {
|
|
181
181
|
return { success: false, errorCode: eligibility.errorCode, error: 'Widget upgrade rejected.' };
|
|
182
182
|
}
|
|
@@ -189,7 +189,7 @@ export class WidgetSessionService {
|
|
|
189
189
|
return { success: false, errorCode: 'server_error', error: 'Identity verification is not configured.' };
|
|
190
190
|
}
|
|
191
191
|
const service = new MagicLinkService(this.publicUrl, magicLinkConfig);
|
|
192
|
-
const result = await service.CreateInvite({ email,
|
|
192
|
+
const result = await service.CreateInvite({ email, ApplicationId: widget.ApplicationID }, contextUser);
|
|
193
193
|
if (!result.success) {
|
|
194
194
|
LogError(`[Widget] Upgrade invite failed for widget ${widget.ID}: ${result.error ?? result.errorCode ?? 'unknown'}`);
|
|
195
195
|
return { success: false, errorCode: 'server_error', error: 'Could not start identity verification.' };
|
|
@@ -212,9 +212,9 @@ export class WidgetSessionService {
|
|
|
212
212
|
// Prefer the per-instance HostPublicKey column (Phase 3 — no config-resident keys); fall back to the
|
|
213
213
|
// interim config map (keyed by PublicKey) for deployments that haven't migrated their key yet.
|
|
214
214
|
const hostKey = widget.HostPublicKey ?? this.config.hostPublicKeys?.[widget.PublicKey];
|
|
215
|
-
const result =
|
|
216
|
-
if (result.ok && result.
|
|
217
|
-
return result.
|
|
215
|
+
const result = VerifyHostAssertion(assertion, hostKey, widget.PublicKey);
|
|
216
|
+
if (result.ok && result.Identity) {
|
|
217
|
+
return result.Identity;
|
|
218
218
|
}
|
|
219
219
|
LogError(`[Widget] Host assertion rejected for widget ${widget.ID}: ${result.errorCode ?? 'unknown'}`);
|
|
220
220
|
return null;
|
|
@@ -225,8 +225,8 @@ export class WidgetSessionService {
|
|
|
225
225
|
const ttlMinutes = widget.SessionTTLMinutes || this.config.defaultSessionTtlMinutes;
|
|
226
226
|
// Generated once and returned to the client: the widget stamps Conversation.ExternalID with
|
|
227
227
|
// this id so the Widget Guest RLS filters ({{ScopeResourceID}}) isolate this guest's rows.
|
|
228
|
-
const sessionId =
|
|
229
|
-
const claims =
|
|
228
|
+
const sessionId = GenerateSessionId();
|
|
229
|
+
const claims = BuildWidgetGuestClaims({
|
|
230
230
|
issuer: this.publicUrl,
|
|
231
231
|
audience: this.config.audience,
|
|
232
232
|
widgetId: widget.ID,
|
|
@@ -260,7 +260,7 @@ export class WidgetSessionService {
|
|
|
260
260
|
sessionId,
|
|
261
261
|
// Phase 2: which interactive channels this widget may attach during a voice session. Read from the
|
|
262
262
|
// per-instance EnabledChannels column (added by the Widget_Public_Hardening migration + CodeGen).
|
|
263
|
-
enabledChannels:
|
|
263
|
+
enabledChannels: ParseEnabledChannels(widget.EnabledChannels),
|
|
264
264
|
voiceMaxSessionMinutes: widget.VoiceMaxSessionMinutes ?? undefined,
|
|
265
265
|
rememberReturningVisitors: !!returningVisitor,
|
|
266
266
|
visitorKey: returningVisitor?.visitorKey,
|
|
@@ -279,11 +279,11 @@ export class WidgetSessionService {
|
|
|
279
279
|
if (!widget.RememberReturningVisitors || !hostIdentity?.email || !returningVisitor?.visitorKey) {
|
|
280
280
|
return undefined;
|
|
281
281
|
}
|
|
282
|
-
const identity = await
|
|
282
|
+
const identity = await ResolveIdentityByEmail(hostIdentity.email, contextUser, Metadata.Provider, this.config.identityResolution); // global-provider-ok: server-side mint under the single default provider
|
|
283
283
|
if (!identity) {
|
|
284
284
|
return undefined;
|
|
285
285
|
}
|
|
286
|
-
await
|
|
286
|
+
await MergeVisitorIdentity({
|
|
287
287
|
visitorKey: returningVisitor.visitorKey,
|
|
288
288
|
applicationId: widget.ApplicationID,
|
|
289
289
|
identity,
|
|
@@ -300,17 +300,17 @@ export class WidgetSessionService {
|
|
|
300
300
|
*/
|
|
301
301
|
async ResolveVisitorIdentity(input) {
|
|
302
302
|
try {
|
|
303
|
-
const gate = await this.gateVisitorPrivacyRequest(input.
|
|
303
|
+
const gate = await this.gateVisitorPrivacyRequest(input.WidgetKey, input.VisitorKey, input.origin);
|
|
304
304
|
if (!gate.ok) {
|
|
305
305
|
return { success: false, errorCode: gate.errorCode, error: gate.error };
|
|
306
306
|
}
|
|
307
|
-
const identity = await
|
|
307
|
+
const identity = await ResolveIdentityByEmail(input.VerifiedEmail, gate.contextUser, Metadata.Provider, this.config.identityResolution); // global-provider-ok: server-side mint under the single default provider
|
|
308
308
|
if (!identity) {
|
|
309
309
|
// Verified, but no record matches the email under the configured target — nothing to merge.
|
|
310
310
|
return { success: true, mergedConversations: 0 };
|
|
311
311
|
}
|
|
312
|
-
const mergedConversations = await
|
|
313
|
-
visitorKey: input.
|
|
312
|
+
const mergedConversations = await MergeVisitorIdentity({
|
|
313
|
+
visitorKey: input.VisitorKey,
|
|
314
314
|
applicationId: gate.widget.ApplicationID,
|
|
315
315
|
identity,
|
|
316
316
|
contextUser: gate.contextUser,
|
|
@@ -330,12 +330,12 @@ export class WidgetSessionService {
|
|
|
330
330
|
*/
|
|
331
331
|
async ForgetVisitor(input) {
|
|
332
332
|
try {
|
|
333
|
-
const gate = await this.gateVisitorPrivacyRequest(input.
|
|
333
|
+
const gate = await this.gateVisitorPrivacyRequest(input.WidgetKey, input.VisitorKey, input.origin);
|
|
334
334
|
if (!gate.ok) {
|
|
335
335
|
return { success: false, errorCode: gate.errorCode, error: gate.error };
|
|
336
336
|
}
|
|
337
|
-
const { notesArchived, conversationsCleared } = await
|
|
338
|
-
visitorKey: input.
|
|
337
|
+
const { notesArchived, conversationsCleared } = await ForgetVisitor({
|
|
338
|
+
visitorKey: input.VisitorKey,
|
|
339
339
|
applicationId: gate.widget.ApplicationID,
|
|
340
340
|
contextUser: gate.contextUser,
|
|
341
341
|
provider: Metadata.Provider, // global-provider-ok: server-side mint under the single default provider
|
|
@@ -361,7 +361,7 @@ export class WidgetSessionService {
|
|
|
361
361
|
if (!widget) {
|
|
362
362
|
return { ok: false, errorCode: 'not_found', error: 'Unknown widget key.' };
|
|
363
363
|
}
|
|
364
|
-
const eligibility =
|
|
364
|
+
const eligibility = EvaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, origin);
|
|
365
365
|
if (!eligibility.ok) {
|
|
366
366
|
return { ok: false, errorCode: eligibility.errorCode ?? 'server_error', error: 'Widget request rejected.' };
|
|
367
367
|
}
|
|
@@ -386,7 +386,7 @@ export class WidgetSessionService {
|
|
|
386
386
|
}
|
|
387
387
|
const presented = (presentedKey ?? '').trim();
|
|
388
388
|
const isReturning = VISITOR_KEY_PATTERN.test(presented);
|
|
389
|
-
const visitorKey = isReturning ? presented :
|
|
389
|
+
const visitorKey = isReturning ? presented : GenerateSessionId();
|
|
390
390
|
const lastConversationId = isReturning
|
|
391
391
|
? await this.findPreviousConversationByVisitorKey(visitorKey, widget.ApplicationID, contextUser)
|
|
392
392
|
: undefined;
|
|
@@ -406,7 +406,7 @@ export class WidgetSessionService {
|
|
|
406
406
|
return;
|
|
407
407
|
}
|
|
408
408
|
// global-provider-ok: server-side mint under the single default provider (same rationale as resolveGuestRoleName).
|
|
409
|
-
await
|
|
409
|
+
await WriteReturningVisitorRecap(priorConversationId, widget.PinnedAgentID, contextUser, Metadata.Provider, // global-provider-ok: server-side mint under the single default provider
|
|
410
410
|
widget.VisitorMemoryRetentionDays);
|
|
411
411
|
}
|
|
412
412
|
/**
|
|
@@ -26,7 +26,7 @@ export interface HostAssertedIdentity {
|
|
|
26
26
|
/** Result of verifying a host assertion. `identity` is present iff `ok` is true. */
|
|
27
27
|
export interface HostAssertionResult {
|
|
28
28
|
ok: boolean;
|
|
29
|
-
|
|
29
|
+
Identity?: HostAssertedIdentity;
|
|
30
30
|
errorCode?: HostAssertionError;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -34,7 +34,11 @@ export interface HostAssertionResult {
|
|
|
34
34
|
* asserted visitor identity. Thin adapter over {@link HostIdentityProvider.VerifyHostAssertion} (the single
|
|
35
35
|
* implementation, registered in the AuthProviderFactory) preserving this module's result shape. Never throws.
|
|
36
36
|
*/
|
|
37
|
+
export declare function VerifyHostAssertion(assertion: string | undefined, hostPublicKeyPem: string | undefined, expectedAudience: string): HostAssertionResult;
|
|
38
|
+
/** @deprecated Use {@link VerifyHostAssertion}. */
|
|
37
39
|
export declare function verifyHostAssertion(assertion: string | undefined, hostPublicKeyPem: string | undefined, expectedAudience: string): HostAssertionResult;
|
|
38
40
|
/** Pulls the visitor identity from a verified host-assertion payload (delegates to the provider). */
|
|
41
|
+
export declare function ExtractHostIdentity(payload: jwt.JwtPayload): HostAssertedIdentity;
|
|
42
|
+
/** @deprecated Use {@link ExtractHostIdentity}. */
|
|
39
43
|
export declare function extractHostIdentity(payload: jwt.JwtPayload): HostAssertedIdentity;
|
|
40
44
|
//# sourceMappingURL=host-identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-identity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,6FAA6F;AAC7F,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAeD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,gBAAgB,EAAE,MAAM,GACzB,mBAAmB,CAcrB;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAQjF"}
|
|
1
|
+
{"version":3,"file":"host-identity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,6FAA6F;AAC7F,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAeD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,gBAAgB,EAAE,MAAM,GACzB,mBAAmB,CAcrB;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,gBAAgB,EAAE,MAAM,GACzB,mBAAmB,CAErB;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAQjF;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAEjF"}
|
|
@@ -30,14 +30,14 @@ const hostIdentityProvider = new HostIdentityProvider({
|
|
|
30
30
|
* asserted visitor identity. Thin adapter over {@link HostIdentityProvider.VerifyHostAssertion} (the single
|
|
31
31
|
* implementation, registered in the AuthProviderFactory) preserving this module's result shape. Never throws.
|
|
32
32
|
*/
|
|
33
|
-
export function
|
|
33
|
+
export function VerifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience) {
|
|
34
34
|
const result = hostIdentityProvider.VerifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience);
|
|
35
35
|
if (!result.ok || !result.userInfo?.email) {
|
|
36
36
|
return { ok: false, errorCode: result.errorCode };
|
|
37
37
|
}
|
|
38
38
|
return {
|
|
39
39
|
ok: true,
|
|
40
|
-
|
|
40
|
+
Identity: {
|
|
41
41
|
email: result.userInfo.email,
|
|
42
42
|
firstName: result.userInfo.firstName,
|
|
43
43
|
lastName: result.userInfo.lastName,
|
|
@@ -45,8 +45,12 @@ export function verifyHostAssertion(assertion, hostPublicKeyPem, expectedAudienc
|
|
|
45
45
|
},
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
+
/** @deprecated Use {@link VerifyHostAssertion}. */
|
|
49
|
+
export function verifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience) {
|
|
50
|
+
return VerifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience);
|
|
51
|
+
}
|
|
48
52
|
/** Pulls the visitor identity from a verified host-assertion payload (delegates to the provider). */
|
|
49
|
-
export function
|
|
53
|
+
export function ExtractHostIdentity(payload) {
|
|
50
54
|
const info = hostIdentityProvider.extractUserInfo(payload);
|
|
51
55
|
return {
|
|
52
56
|
email: info.email ?? '',
|
|
@@ -55,4 +59,8 @@ export function extractHostIdentity(payload) {
|
|
|
55
59
|
hostUserId: typeof payload.sub === 'string' ? payload.sub : undefined,
|
|
56
60
|
};
|
|
57
61
|
}
|
|
62
|
+
/** @deprecated Use {@link ExtractHostIdentity}. */
|
|
63
|
+
export function extractHostIdentity(payload) {
|
|
64
|
+
return ExtractHostIdentity(payload);
|
|
65
|
+
}
|
|
58
66
|
//# sourceMappingURL=host-identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-identity.js","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAA2B,MAAM,gCAAgC,CAAC;AAoB/F;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;IAClD,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,oCAAoC;CAChD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,SAA6B,EAC7B,gBAAoC,EACpC,gBAAwB;IAExB,MAAM,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;IACD,OAAO;QACH,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;YAC5B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC;KACJ,CAAC;AACN,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"host-identity.js","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAA2B,MAAM,gCAAgC,CAAC;AAoB/F;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;IAClD,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,oCAAoC;CAChD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,SAA6B,EAC7B,gBAAoC,EACpC,gBAAwB;IAExB,MAAM,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;IACD,OAAO;QACH,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;YAC5B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC;KACJ,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAC/B,SAA6B,EAC7B,gBAAoC,EACpC,gBAAwB;IAExB,OAAO,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC9E,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* @module @memberjunction/server/widget
|
|
4
4
|
*/
|
|
5
5
|
export * from './widgetCore.js';
|
|
6
|
-
export { verifyHostAssertion, extractHostIdentity, type HostAssertedIdentity, type HostAssertionResult, type HostAssertionError, } from './host-identity.js';
|
|
6
|
+
export { VerifyHostAssertion, verifyHostAssertion, ExtractHostIdentity, extractHostIdentity, type HostAssertedIdentity, type HostAssertionResult, type HostAssertionError, } from './host-identity.js';
|
|
7
7
|
export { WidgetSessionService } from './WidgetSessionService.js';
|
|
8
8
|
export type { MintGuestSessionInput, MintGuestSessionResult, WidgetMintAuditContext } from './WidgetSessionService.js';
|
|
9
|
-
export { createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
|
|
9
|
+
export { CreateWidgetHandler, createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module @memberjunction/server/widget
|
|
4
4
|
*/
|
|
5
5
|
export * from './widgetCore.js';
|
|
6
|
-
export { verifyHostAssertion, extractHostIdentity, } from './host-identity.js';
|
|
6
|
+
export { VerifyHostAssertion, verifyHostAssertion, ExtractHostIdentity, extractHostIdentity, } from './host-identity.js';
|
|
7
7
|
export { WidgetSessionService } from './WidgetSessionService.js';
|
|
8
|
-
export { createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
|
|
8
|
+
export { CreateWidgetHandler, createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,GAIzC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -32,13 +32,15 @@ export interface ResolvedVisitorIdentity {
|
|
|
32
32
|
/** The deployment-configurable resolution target (defaults to the core `Users` entity keyed by `Email`). */
|
|
33
33
|
export interface IdentityResolutionTarget {
|
|
34
34
|
entityName?: string;
|
|
35
|
-
|
|
35
|
+
EmailField?: string;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Resolves a verified email to a polymorphic `(entityId, recordId)` pair via the deployment-configured
|
|
39
39
|
* target (default: the `Users` entity keyed by `Email`). Returns undefined when no record matches — the
|
|
40
40
|
* visitor simply stays anonymous. Never throws; email is escaped for the filter literal.
|
|
41
41
|
*/
|
|
42
|
+
export declare function ResolveIdentityByEmail(email: string, contextUser: UserInfo, provider: IMetadataProvider, target?: IdentityResolutionTarget): Promise<ResolvedVisitorIdentity | undefined>;
|
|
43
|
+
/** @deprecated Use {@link ResolveIdentityByEmail}. */
|
|
42
44
|
export declare function resolveIdentityByEmail(email: string, contextUser: UserInfo, provider: IMetadataProvider, target?: IdentityResolutionTarget): Promise<ResolvedVisitorIdentity | undefined>;
|
|
43
45
|
/**
|
|
44
46
|
* Promotes a visitor's anonymous trail to a resolved identity (RV4): stamps the resolved pair on every
|
|
@@ -48,6 +50,14 @@ export declare function resolveIdentityByEmail(email: string, contextUser: UserI
|
|
|
48
50
|
*
|
|
49
51
|
* @returns the number of conversations stamped (0 when nothing matched the key).
|
|
50
52
|
*/
|
|
53
|
+
export declare function MergeVisitorIdentity(args: {
|
|
54
|
+
visitorKey: string;
|
|
55
|
+
applicationId: string;
|
|
56
|
+
identity: ResolvedVisitorIdentity;
|
|
57
|
+
contextUser: UserInfo;
|
|
58
|
+
provider: IMetadataProvider;
|
|
59
|
+
}): Promise<number>;
|
|
60
|
+
/** @deprecated Use {@link MergeVisitorIdentity}. */
|
|
51
61
|
export declare function mergeVisitorIdentity(args: {
|
|
52
62
|
visitorKey: string;
|
|
53
63
|
applicationId: string;
|
|
@@ -64,6 +74,16 @@ export declare function mergeVisitorIdentity(args: {
|
|
|
64
74
|
*
|
|
65
75
|
* @returns a summary of what was archived/cleared.
|
|
66
76
|
*/
|
|
77
|
+
export declare function ForgetVisitor(args: {
|
|
78
|
+
visitorKey: string;
|
|
79
|
+
applicationId: string;
|
|
80
|
+
contextUser: UserInfo;
|
|
81
|
+
provider: IMetadataProvider;
|
|
82
|
+
}): Promise<{
|
|
83
|
+
notesArchived: number;
|
|
84
|
+
conversationsCleared: number;
|
|
85
|
+
}>;
|
|
86
|
+
/** @deprecated Use {@link ForgetVisitor}. */
|
|
67
87
|
export declare function forgetVisitor(args: {
|
|
68
88
|
visitorKey: string;
|
|
69
89
|
applicationId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitorIdentity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAyB,QAAQ,EAAuB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMpH,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4GAA4G;AAC5G,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAiD9C;AAyBD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAgDnE"}
|
|
1
|
+
{"version":3,"file":"visitorIdentity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAyB,QAAQ,EAAuB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMpH,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4GAA4G;AAC5G,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAiD9C;AAED,sDAAsD;AACtD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAE9C;AAyBD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAED,oDAAoD;AACpD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAElB;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAgDnE;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAEnE"}
|
|
@@ -31,14 +31,14 @@ const AGENT_NOTES_ENTITY = 'MJ: AI Agent Notes';
|
|
|
31
31
|
* target (default: the `Users` entity keyed by `Email`). Returns undefined when no record matches — the
|
|
32
32
|
* visitor simply stays anonymous. Never throws; email is escaped for the filter literal.
|
|
33
33
|
*/
|
|
34
|
-
export async function
|
|
34
|
+
export async function ResolveIdentityByEmail(email, contextUser, provider, target) {
|
|
35
35
|
try {
|
|
36
36
|
const trimmed = (email ?? '').trim();
|
|
37
37
|
if (!trimmed) {
|
|
38
38
|
return undefined;
|
|
39
39
|
}
|
|
40
40
|
const entityName = target?.entityName?.trim() || 'Users';
|
|
41
|
-
const emailField = target?.
|
|
41
|
+
const emailField = target?.EmailField?.trim() || 'Email';
|
|
42
42
|
const entityInfo = provider.EntityByName(entityName);
|
|
43
43
|
if (!entityInfo) {
|
|
44
44
|
LogError(`[VisitorIdentity] identity-resolution entity '${entityName}' not found in metadata.`);
|
|
@@ -79,6 +79,10 @@ export async function resolveIdentityByEmail(email, contextUser, provider, targe
|
|
|
79
79
|
return undefined;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
+
/** @deprecated Use {@link ResolveIdentityByEmail}. */
|
|
83
|
+
export async function resolveIdentityByEmail(email, contextUser, provider, target) {
|
|
84
|
+
return ResolveIdentityByEmail(email, contextUser, provider, target);
|
|
85
|
+
}
|
|
82
86
|
/** Loads every conversation sharing a VisitorKey within one application (entity objects, for mutation). */
|
|
83
87
|
async function loadVisitorConversations(visitorKey, applicationId, contextUser) {
|
|
84
88
|
const rv = new RunView();
|
|
@@ -102,7 +106,7 @@ async function loadVisitorConversations(visitorKey, applicationId, contextUser)
|
|
|
102
106
|
*
|
|
103
107
|
* @returns the number of conversations stamped (0 when nothing matched the key).
|
|
104
108
|
*/
|
|
105
|
-
export async function
|
|
109
|
+
export async function MergeVisitorIdentity(args) {
|
|
106
110
|
try {
|
|
107
111
|
const conversations = await loadVisitorConversations(args.visitorKey, args.applicationId, args.contextUser);
|
|
108
112
|
if (conversations.length === 0) {
|
|
@@ -134,6 +138,10 @@ export async function mergeVisitorIdentity(args) {
|
|
|
134
138
|
return 0;
|
|
135
139
|
}
|
|
136
140
|
}
|
|
141
|
+
/** @deprecated Use {@link MergeVisitorIdentity}. */
|
|
142
|
+
export async function mergeVisitorIdentity(args) {
|
|
143
|
+
return MergeVisitorIdentity(args);
|
|
144
|
+
}
|
|
137
145
|
/** Re-keys notes scoped to `(Conversations entity, conversationId)` onto the resolved pair. */
|
|
138
146
|
async function rekeyAnonymousNotes(conversationIds, conversationsEntityId, identity, contextUser, provider) {
|
|
139
147
|
if (conversationIds.length === 0) {
|
|
@@ -167,7 +175,7 @@ async function rekeyAnonymousNotes(conversationIds, conversationsEntityId, ident
|
|
|
167
175
|
*
|
|
168
176
|
* @returns a summary of what was archived/cleared.
|
|
169
177
|
*/
|
|
170
|
-
export async function
|
|
178
|
+
export async function ForgetVisitor(args) {
|
|
171
179
|
let notesArchived = 0;
|
|
172
180
|
let conversationsCleared = 0;
|
|
173
181
|
try {
|
|
@@ -214,4 +222,8 @@ export async function forgetVisitor(args) {
|
|
|
214
222
|
}
|
|
215
223
|
return { notesArchived, conversationsCleared };
|
|
216
224
|
}
|
|
225
|
+
/** @deprecated Use {@link ForgetVisitor}. */
|
|
226
|
+
export async function forgetVisitor(args) {
|
|
227
|
+
return ForgetVisitor(args);
|
|
228
|
+
}
|
|
217
229
|
//# sourceMappingURL=visitorIdentity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitorIdentity.js","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visitorIdentity.js","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,20 +32,28 @@ export interface WidgetInstanceEligibilityInput {
|
|
|
32
32
|
* comma-separated string (tolerated). Returns an empty array for null/blank/garbage
|
|
33
33
|
* — which makes the allowlist FAIL-CLOSED (no origin is allowed) by construction.
|
|
34
34
|
*/
|
|
35
|
+
export declare function ParseAllowedOrigins(allowedOrigins: string | null | undefined): string[];
|
|
36
|
+
/** @deprecated Use {@link ParseAllowedOrigins}. */
|
|
35
37
|
export declare function parseAllowedOrigins(allowedOrigins: string | null | undefined): string[];
|
|
36
38
|
/**
|
|
37
39
|
* Parses the widget's `EnabledChannels` column into a clean list of channel names (Phase 2). Accepts a
|
|
38
40
|
* JSON array (preferred, e.g. `["Whiteboard"]`) or a comma-separated string (tolerated). Returns an
|
|
39
41
|
* empty array for null/blank/garbage — the backwards-compatible default (no channels attached).
|
|
40
42
|
*/
|
|
43
|
+
export declare function ParseEnabledChannels(enabledChannels: string | null | undefined): string[];
|
|
44
|
+
/** @deprecated Use {@link ParseEnabledChannels}. */
|
|
41
45
|
export declare function parseEnabledChannels(enabledChannels: string | null | undefined): string[];
|
|
42
46
|
/**
|
|
43
47
|
* FAIL-CLOSED origin check. The request's `Origin` header must exactly match one of
|
|
44
48
|
* the widget's allowed origins (after normalization). A missing request origin, or
|
|
45
49
|
* an empty allowlist, is rejected — a public mint endpoint must never accept "*".
|
|
46
50
|
*/
|
|
51
|
+
export declare function IsOriginAllowed(requestOrigin: string | null | undefined, allowedOrigins: readonly string[]): boolean;
|
|
52
|
+
/** @deprecated Use {@link IsOriginAllowed}. */
|
|
47
53
|
export declare function isOriginAllowed(requestOrigin: string | null | undefined, allowedOrigins: readonly string[]): boolean;
|
|
48
54
|
/** True when the requested modality (or the widget's default render) is enabled by the instance. */
|
|
55
|
+
export declare function IsModalityEnabled(widgetModality: string, requested: 'Text' | 'Voice'): boolean;
|
|
56
|
+
/** @deprecated Use {@link IsModalityEnabled}. */
|
|
49
57
|
export declare function isModalityEnabled(widgetModality: string, requested: 'Text' | 'Voice'): boolean;
|
|
50
58
|
/**
|
|
51
59
|
* Pure eligibility check for a mint: the widget must be Active and the request's
|
|
@@ -53,6 +61,11 @@ export declare function isModalityEnabled(widgetModality: string, requested: 'Te
|
|
|
53
61
|
* router can map it to a precise HTTP status. Modality is checked separately by the
|
|
54
62
|
* voice path (W4) since a text mint is always permitted for an enabled widget.
|
|
55
63
|
*/
|
|
64
|
+
export declare function EvaluateWidgetMint(widget: WidgetInstanceEligibilityInput, requestOrigin: string | null | undefined): {
|
|
65
|
+
ok: boolean;
|
|
66
|
+
errorCode?: WidgetMintErrorCode;
|
|
67
|
+
};
|
|
68
|
+
/** @deprecated Use {@link EvaluateWidgetMint}. */
|
|
56
69
|
export declare function evaluateWidgetMint(widget: WidgetInstanceEligibilityInput, requestOrigin: string | null | undefined): {
|
|
57
70
|
ok: boolean;
|
|
58
71
|
errorCode?: WidgetMintErrorCode;
|
|
@@ -63,6 +76,8 @@ export declare function evaluateWidgetMint(widget: WidgetInstanceEligibilityInpu
|
|
|
63
76
|
* known automation marker. Deliberately conservative to avoid false positives on real browsers; pair
|
|
64
77
|
* with the origin allowlist + rate limits, which are the hard controls.
|
|
65
78
|
*/
|
|
79
|
+
export declare function LooksLikeBot(userAgent: string | null | undefined): boolean;
|
|
80
|
+
/** @deprecated Use {@link LooksLikeBot}. */
|
|
66
81
|
export declare function looksLikeBot(userAgent: string | null | undefined): boolean;
|
|
67
82
|
/**
|
|
68
83
|
* Builds the guest-session JWT claims for a widget visitor. Reuses magic-link's
|
|
@@ -71,6 +86,39 @@ export declare function looksLikeBot(userAgent: string | null | undefined): bool
|
|
|
71
86
|
* principal is locked to one widget instance. The role name carried here is the
|
|
72
87
|
* widget's restricted guest role (D5 backstop).
|
|
73
88
|
*/
|
|
89
|
+
export declare function BuildWidgetGuestClaims(args: {
|
|
90
|
+
issuer: string;
|
|
91
|
+
audience: string;
|
|
92
|
+
widgetId: string;
|
|
93
|
+
sessionId: string;
|
|
94
|
+
anonymousEmail: string;
|
|
95
|
+
applicationId: string;
|
|
96
|
+
guestRoleName: string;
|
|
97
|
+
nowSeconds: number;
|
|
98
|
+
ttlSeconds: number;
|
|
99
|
+
/**
|
|
100
|
+
* Host-asserted identity for a `host-identity` session. Its email/name are carried as
|
|
101
|
+
* INFORMATIONAL claims only — the principal-resolving `email`/`sub` remain the shared
|
|
102
|
+
* Anonymous principal, so a host can never escalate a guest into a real account.
|
|
103
|
+
*/
|
|
104
|
+
hostIdentity?: {
|
|
105
|
+
email: string;
|
|
106
|
+
firstName?: string;
|
|
107
|
+
lastName?: string;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Returning-visitor anchor + linked identity (RV1/RV2/RV4) carried as claims so the VOICE path
|
|
111
|
+
* (server-created conversation) stamps the same fields the text path stamps client-side. Set only
|
|
112
|
+
* when the widget remembers returning visitors. Omitted ⇒ no returning-visitor claims (default off).
|
|
113
|
+
*/
|
|
114
|
+
returningVisitor?: {
|
|
115
|
+
visitorKey?: string;
|
|
116
|
+
lastConversationId?: string;
|
|
117
|
+
linkedEntityId?: string;
|
|
118
|
+
linkedRecordId?: string;
|
|
119
|
+
};
|
|
120
|
+
}): MagicLinkJWTClaims;
|
|
121
|
+
/** @deprecated Use {@link BuildWidgetGuestClaims}. */
|
|
74
122
|
export declare function buildWidgetGuestClaims(args: {
|
|
75
123
|
issuer: string;
|
|
76
124
|
audience: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetCore.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/widgetCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GACzB,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,sBAAsB,GACtB,wBAAwB,GACxB,qBAAqB,GACrB,eAAe,GACf,cAAc,CAAC;AAErB,2FAA2F;AAC3F,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAgBvF;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAazF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAMpH;AAED,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAM9F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,8BAA8B,EACtC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAQlD;AAcD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAM1E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,GAAG,kBAAkB,CAsCrB"}
|
|
1
|
+
{"version":3,"file":"widgetCore.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/widgetCore.ts"],"names":[],"mappings":"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"}
|