@memberjunction/server 6.2.0-edge.3 → 6.2.0-edge.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentSessions/BridgeHostInstance.d.ts +25 -0
- package/dist/agentSessions/BridgeHostInstance.d.ts.map +1 -0
- package/dist/agentSessions/BridgeHostInstance.js +30 -0
- package/dist/agentSessions/BridgeHostInstance.js.map +1 -0
- package/dist/agentSessions/HostInstance.d.ts +75 -11
- package/dist/agentSessions/HostInstance.d.ts.map +1 -1
- package/dist/agentSessions/HostInstance.js +99 -28
- package/dist/agentSessions/HostInstance.js.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.d.ts.map +1 -1
- package/dist/agentSessions/ReturningVisitorRecap.js +7 -3
- package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
- package/dist/agentSessions/SessionJanitor.d.ts +236 -27
- package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
- package/dist/agentSessions/SessionJanitor.js +682 -54
- package/dist/agentSessions/SessionJanitor.js.map +1 -1
- package/dist/agentSessions/SessionManager.d.ts +48 -3
- package/dist/agentSessions/SessionManager.d.ts.map +1 -1
- package/dist/agentSessions/SessionManager.js +112 -9
- package/dist/agentSessions/SessionManager.js.map +1 -1
- package/dist/agentSessions/SessionRunIDVerifier.d.ts +63 -0
- package/dist/agentSessions/SessionRunIDVerifier.d.ts.map +1 -0
- package/dist/agentSessions/SessionRunIDVerifier.js +129 -0
- package/dist/agentSessions/SessionRunIDVerifier.js.map +1 -0
- package/dist/agentSessions/index.d.ts +2 -0
- package/dist/agentSessions/index.d.ts.map +1 -1
- package/dist/agentSessions/index.js +10 -3
- package/dist/agentSessions/index.js.map +1 -1
- package/dist/apiRoot.d.ts +32 -0
- package/dist/apiRoot.d.ts.map +1 -0
- package/dist/apiRoot.js +67 -0
- package/dist/apiRoot.js.map +1 -0
- package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
- package/dist/auth/AuthProviderCatalogRouter.js +25 -0
- package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
- package/dist/auth/LoginScreenEngine.d.ts +22 -0
- package/dist/auth/LoginScreenEngine.d.ts.map +1 -0
- package/dist/auth/LoginScreenEngine.js +57 -0
- package/dist/auth/LoginScreenEngine.js.map +1 -0
- package/dist/auth/actionAuthorization.d.ts +40 -0
- package/dist/auth/actionAuthorization.d.ts.map +1 -0
- package/dist/auth/actionAuthorization.js +94 -0
- package/dist/auth/actionAuthorization.js.map +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +4 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.js +3 -2
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +6 -3
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/newUsers.d.ts +10 -0
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +80 -11
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/config.d.ts +2514 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +166 -4
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +14 -11
- package/dist/context.js.map +1 -1
- package/dist/coreRoutes.d.ts +29 -0
- package/dist/coreRoutes.d.ts.map +1 -0
- package/dist/coreRoutes.js +142 -0
- package/dist/coreRoutes.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj.d.ts +504 -3
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +2456 -7
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/CacheInvalidationResolver.d.ts +43 -8
- package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
- package/dist/generic/CacheInvalidationResolver.js +59 -19
- package/dist/generic/CacheInvalidationResolver.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.js +3 -3
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
- package/dist/generic/PushStatusResolver.js +1 -1
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +123 -48
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +293 -305
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +16 -0
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/globalCors.d.ts +33 -0
- package/dist/globalCors.d.ts.map +1 -0
- package/dist/globalCors.js +58 -0
- package/dist/globalCors.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +219 -278
- package/dist/index.js.map +1 -1
- package/dist/isolatedProvider.d.ts +20 -0
- package/dist/isolatedProvider.d.ts.map +1 -0
- package/dist/isolatedProvider.js +22 -0
- package/dist/isolatedProvider.js.map +1 -0
- package/dist/multiTenancy/index.d.ts.map +1 -1
- package/dist/multiTenancy/index.js +22 -2
- package/dist/multiTenancy/index.js.map +1 -1
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts +44 -4
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts.map +1 -1
- package/dist/realtimeProxy/RealtimeProxyServer.js +121 -16
- package/dist/realtimeProxy/RealtimeProxyServer.js.map +1 -1
- package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts +171 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts.map +1 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.js +532 -0
- package/dist/realtimeProxy/RealtimeRelayTunnel.js.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.d.ts +148 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.js +191 -0
- package/dist/realtimeSessions/RealtimeSessionEventService.js.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts +66 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js +139 -0
- package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts +38 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.js +99 -0
- package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts +100 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts.map +1 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.js +173 -0
- package/dist/realtimeSessions/RecordingAssemblyScheduler.js.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts +61 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js +149 -0
- package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts +57 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts.map +1 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.js +69 -0
- package/dist/realtimeSessions/SlidingWindowRateLimiter.js.map +1 -0
- package/dist/realtimeSessions/index.d.ts +19 -0
- package/dist/realtimeSessions/index.d.ts.map +1 -0
- package/dist/realtimeSessions/index.js +19 -0
- package/dist/realtimeSessions/index.js.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts +30 -0
- package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js +47 -0
- package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -0
- package/dist/realtimeSessions/sessionAccess.d.ts +92 -0
- package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -0
- package/dist/realtimeSessions/sessionAccess.js +94 -0
- package/dist/realtimeSessions/sessionAccess.js.map +1 -0
- package/dist/realtimeSessions/sessionConfigStamps.d.ts +70 -0
- package/dist/realtimeSessions/sessionConfigStamps.d.ts.map +1 -0
- package/dist/realtimeSessions/sessionConfigStamps.js +93 -0
- package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -0
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts +65 -0
- package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -0
- package/dist/realtimeSessions/subscriptionAuthorization.js +71 -0
- package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -0
- package/dist/realtimeSessions/verificationCore.d.ts +243 -0
- package/dist/realtimeSessions/verificationCore.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationCore.js +356 -0
- package/dist/realtimeSessions/verificationCore.js.map +1 -0
- package/dist/realtimeSessions/verificationPages.d.ts +66 -0
- package/dist/realtimeSessions/verificationPages.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationPages.js +110 -0
- package/dist/realtimeSessions/verificationPages.js.map +1 -0
- package/dist/realtimeSessions/verificationPolicy.d.ts +147 -0
- package/dist/realtimeSessions/verificationPolicy.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationPolicy.js +249 -0
- package/dist/realtimeSessions/verificationPolicy.js.map +1 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts +263 -0
- package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -0
- package/dist/realtimeSessions/verificationWorkflow.js +435 -0
- package/dist/realtimeSessions/verificationWorkflow.js.map +1 -0
- package/dist/realtimeWidget/widgetGuestElevation.d.ts +20 -2
- package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +31 -2
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +31 -5
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +75 -14
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts +14 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +21 -5
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/ArtifactFileResolver.d.ts +5 -1
- package/dist/resolvers/ArtifactFileResolver.d.ts.map +1 -1
- package/dist/resolvers/ArtifactFileResolver.js +9 -7
- package/dist/resolvers/ArtifactFileResolver.js.map +1 -1
- package/dist/resolvers/CacheStatsResolver.d.ts +27 -0
- package/dist/resolvers/CacheStatsResolver.d.ts.map +1 -1
- package/dist/resolvers/CacheStatsResolver.js +113 -2
- package/dist/resolvers/CacheStatsResolver.js.map +1 -1
- package/dist/resolvers/ClientToolRequestResolver.d.ts +4 -2
- package/dist/resolvers/ClientToolRequestResolver.d.ts.map +1 -1
- package/dist/resolvers/ClientToolRequestResolver.js +28 -10
- package/dist/resolvers/ClientToolRequestResolver.js.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.d.ts +8 -4
- package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
- package/dist/resolvers/ConversationRunEventsResolver.js +6 -6
- package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.d.ts +24 -3
- package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
- package/dist/resolvers/DatasetResolver.js +57 -8
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +2 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +3 -2
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts +27 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +148 -2
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts +82 -11
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +279 -101
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts +33 -7
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +117 -38
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +6 -3
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/HumanHandoffResolver.d.ts.map +1 -1
- package/dist/resolvers/HumanHandoffResolver.js +7 -1
- package/dist/resolvers/HumanHandoffResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +4 -2
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +9 -4
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts +2 -0
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +13 -0
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.d.ts +54 -2
- package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +155 -10
- package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +157 -33
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +404 -116
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RealtimeSessionEventsResolver.d.ts +61 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.d.ts.map +1 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.js +130 -0
- package/dist/resolvers/RealtimeSessionEventsResolver.js.map +1 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts +85 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts.map +1 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.js +188 -0
- package/dist/resolvers/RealtimeSessionVerificationResolver.js.map +1 -0
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts +2 -0
- package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js +5 -1
- package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +10 -0
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +100 -14
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +12 -11
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts +12 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts.map +1 -1
- package/dist/resolvers/SearchKnowledgeStreamResolver.js +15 -2
- package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +2 -3
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +6 -2
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +2 -0
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +23 -6
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts +2 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.js +28 -1
- package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
- package/dist/resolvers/TestQuerySQLResolver.d.ts +24 -0
- package/dist/resolvers/TestQuerySQLResolver.d.ts.map +1 -1
- package/dist/resolvers/TestQuerySQLResolver.js +65 -13
- package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts +19 -2
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +102 -24
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserAvatarResolver.d.ts +16 -0
- package/dist/resolvers/UserAvatarResolver.d.ts.map +1 -0
- package/dist/resolvers/UserAvatarResolver.js +124 -0
- package/dist/resolvers/UserAvatarResolver.js.map +1 -0
- package/dist/resolvers/UserResolver.d.ts.map +1 -1
- package/dist/resolvers/UserResolver.js +2 -17
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/resolvers/agent-run-data-guard.d.ts +31 -0
- package/dist/resolvers/agent-run-data-guard.d.ts.map +1 -0
- package/dist/resolvers/agent-run-data-guard.js +72 -0
- package/dist/resolvers/agent-run-data-guard.js.map +1 -0
- package/dist/resolvers/agentVisionConsentAudit.d.ts +37 -0
- package/dist/resolvers/agentVisionConsentAudit.d.ts.map +1 -0
- package/dist/resolvers/agentVisionConsentAudit.js +63 -0
- package/dist/resolvers/agentVisionConsentAudit.js.map +1 -0
- package/dist/resolvers/avatarInputValidation.d.ts +40 -0
- package/dist/resolvers/avatarInputValidation.d.ts.map +1 -0
- package/dist/resolvers/avatarInputValidation.js +97 -0
- package/dist/resolvers/avatarInputValidation.js.map +1 -0
- package/dist/resolvers/currentUserRoles.d.ts +29 -0
- package/dist/resolvers/currentUserRoles.d.ts.map +1 -1
- package/dist/resolvers/currentUserRoles.js +30 -0
- package/dist/resolvers/currentUserRoles.js.map +1 -1
- package/dist/resolvers/meetings/meetingMutations.d.ts +6 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts.map +1 -1
- package/dist/resolvers/meetings/meetingMutations.js +21 -0
- package/dist/resolvers/meetings/meetingMutations.js.map +1 -1
- package/dist/rest/RealtimeRecordingHandler.d.ts +49 -0
- package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -0
- package/dist/rest/RealtimeRecordingHandler.js +383 -0
- package/dist/rest/RealtimeRecordingHandler.js.map +1 -0
- package/dist/rest/ViewOperationsHandler.d.ts +3 -1
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +21 -12
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +6 -0
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +6 -0
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/serverExtensionReservedRoots.d.ts +12 -10
- package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
- package/dist/serverExtensionReservedRoots.js +14 -17
- package/dist/serverExtensionReservedRoots.js.map +1 -1
- package/dist/services/MJStorageBlobStore.d.ts +8 -1
- package/dist/services/MJStorageBlobStore.d.ts.map +1 -1
- package/dist/services/MJStorageBlobStore.js +25 -19
- package/dist/services/MJStorageBlobStore.js.map +1 -1
- package/dist/services/StartTaskGraphDispatcher.js +2 -2
- package/dist/services/StartTaskGraphDispatcher.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +5 -3
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +27 -5
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/TaskGraphAgentRunner.d.ts +14 -2
- package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphAgentRunner.js +157 -9
- package/dist/services/TaskGraphAgentRunner.js.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.d.ts +57 -4
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
- package/dist/services/TaskGraphContinuationDeliverer.js +607 -18
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
- package/dist/sharedCache.d.ts +105 -0
- package/dist/sharedCache.d.ts.map +1 -0
- package/dist/sharedCache.js +279 -0
- package/dist/sharedCache.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +99 -96
- package/src/__tests__/ActionResolver.authorization.test.ts +353 -0
- package/src/__tests__/AdhocQueryResolver.sqlAuthorizer.test.ts +104 -0
- package/src/__tests__/BridgeHostInstance.test.ts +232 -0
- package/src/__tests__/ClientToolRequestResolver.test.ts +116 -0
- package/src/__tests__/DatasetResolver.itemFilters.test.ts +201 -0
- package/src/__tests__/EntityRecordNameResolver.rowSecurity.test.ts +152 -0
- package/src/__tests__/FetchEntityVectorsResolver.test.ts +433 -0
- package/src/__tests__/FileResolver.storageAccess.test.ts +562 -0
- package/src/__tests__/GetDataContextDataResolver.sqlItems.test.ts +416 -0
- package/src/__tests__/HostInstance.test.ts +84 -0
- package/src/__tests__/HumanHandoffResolver.test.ts +17 -0
- package/src/__tests__/ListOperationsResolver.adhocScreen.test.ts +137 -0
- package/src/__tests__/LoginScreenEngine.test.ts +86 -0
- package/src/__tests__/MJStorageBlobStore.storageGate.test.ts +63 -0
- package/src/__tests__/MeetingResolver.test.ts +75 -1
- package/src/__tests__/RealtimeBridgeResolver.test.ts +415 -6
- package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +383 -0
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +682 -58
- package/src/__tests__/RealtimeProxyServer.test.ts +16 -1
- package/src/__tests__/RealtimeRelay.test.ts +876 -0
- package/src/__tests__/RecordingAssemblyScheduler.test.ts +178 -0
- package/src/__tests__/RemoteBrowserActionResolver.goalRunLink.test.ts +129 -0
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +133 -2
- package/src/__tests__/ResolverBase.aggregateScreen.test.ts +174 -0
- package/src/__tests__/ResolverBase.balancedClause.test.ts +155 -0
- package/src/__tests__/ResolverBase.clauseUnscopedRead.test.ts +127 -0
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +212 -6
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +5 -2
- package/src/__tests__/ReturningVisitorRecap.test.ts +115 -0
- package/src/__tests__/RunAIAgentResolver.branch.test.ts +170 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +6 -4
- package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +258 -0
- package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +166 -0
- package/src/__tests__/RunTemplateResolver.test.ts +132 -0
- package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +63 -0
- package/src/__tests__/RunViewResolver.cacheCheckScreen.test.ts +165 -0
- package/src/__tests__/SearchKnowledgeStreamResolver.test.ts +161 -0
- package/src/__tests__/SessionJanitor.test.ts +1203 -21
- package/src/__tests__/SessionManager.test.ts +240 -17
- package/src/__tests__/SessionRunIDVerifier.test.ts +251 -0
- package/src/__tests__/SyncRolesUsersResolver.userRoles.test.ts +97 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +25 -0
- package/src/__tests__/TaskGraphAgentRunner.test.ts +266 -0
- package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +403 -22
- package/src/__tests__/TaskGraphFrameResolver.test.ts +22 -0
- package/src/__tests__/TestQuerySQLResolver.test.ts +274 -0
- package/src/__tests__/TransactionGroupResolver.refusals.test.ts +98 -1
- package/src/__tests__/UpdateMJDataContextItem.oldValues.test.ts +220 -0
- package/src/__tests__/UserAvatarResolver.test.ts +255 -0
- package/src/__tests__/UserResolver.currentUser.test.ts +16 -1
- package/src/__tests__/ViewOperationsHandler.clauseScreen.test.ts +157 -0
- package/src/__tests__/actionAuthorization.test.ts +130 -0
- package/src/__tests__/agent-run-data-guard.test.ts +130 -0
- package/src/__tests__/agentVisionConsentAudit.test.ts +118 -0
- package/src/__tests__/apiRootBoot.test.ts +202 -0
- package/src/__tests__/avatarInputValidation.test.ts +160 -0
- package/src/__tests__/cacheInvalidationRecordData.test.ts +64 -0
- package/src/__tests__/conversationRunEvents.test.ts +56 -14
- package/src/__tests__/globalCors.test.ts +217 -0
- package/src/__tests__/isolatedProviderTransactions.test.ts +169 -0
- package/src/__tests__/magicLinkService.consume.test.ts +6 -0
- package/src/__tests__/magicLinkService.provisionLog.test.ts +5 -0
- package/src/__tests__/multiTenancy.postgresRewrite.test.ts +181 -0
- package/src/__tests__/multiTenancy.security.test.ts +51 -0
- package/src/__tests__/multiTenancy.test.ts +1 -1
- package/src/__tests__/newUsers.template.test.ts +151 -0
- package/src/__tests__/newUsers.test.ts +74 -5
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +17 -2
- package/src/__tests__/ownedRealtimeSession.test.ts +39 -0
- package/src/__tests__/pushStatusResolver.filter.test.ts +7 -0
- package/src/__tests__/realtimeRecordingHandler.test.ts +652 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventService.test.ts +201 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +215 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionVerificationResolver.test.ts +102 -0
- package/src/__tests__/realtimeSessions/RealtimeSessionVerificationService.test.ts +349 -0
- package/src/__tests__/realtimeSessions/RealtimeVerifyRouter.test.ts +131 -0
- package/src/__tests__/realtimeSessions/SlidingWindowRateLimiter.test.ts +56 -0
- package/src/__tests__/realtimeSessions/helpers.ts +4 -0
- package/src/__tests__/realtimeSessions/sessionAccess.test.ts +129 -0
- package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +124 -0
- package/src/__tests__/realtimeSessions/verificationCore.test.ts +355 -0
- package/src/__tests__/realtimeSessions/verificationPages.test.ts +84 -0
- package/src/__tests__/realtimeSessions/verificationPolicy.test.ts +226 -0
- package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +633 -0
- package/src/__tests__/resolverBase.fls.test.ts +87 -4
- package/src/__tests__/serverExtensionHostOverlay.test.ts +66 -0
- package/src/__tests__/serverExtensionReservedRoots.test.ts +11 -96
- package/src/__tests__/sharedCache.test.ts +312 -0
- package/src/__tests__/widgetGuestElevation.test.ts +44 -0
- package/src/agentSessions/BridgeHostInstance.ts +32 -0
- package/src/agentSessions/HostInstance.ts +124 -28
- package/src/agentSessions/ReturningVisitorRecap.ts +7 -3
- package/src/agentSessions/SessionJanitor.ts +821 -59
- package/src/agentSessions/SessionManager.ts +138 -26
- package/src/agentSessions/SessionRunIDVerifier.ts +171 -0
- package/src/agentSessions/index.ts +10 -3
- package/src/apiRoot.ts +78 -0
- package/src/auth/AuthProviderCatalogRouter.ts +26 -0
- package/src/auth/LoginScreenEngine.ts +50 -0
- package/src/auth/actionAuthorization.ts +116 -0
- package/src/auth/index.ts +4 -8
- package/src/auth/magicLink/MagicLinkRouter.ts +3 -2
- package/src/auth/magicLink/MagicLinkService.ts +6 -3
- package/src/auth/newUsers.ts +99 -11
- package/src/config.ts +171 -5
- package/src/context.ts +15 -10
- package/src/coreRoutes.ts +166 -0
- package/src/generated/graphql-schemas/__mj.ts +1815 -57
- package/src/generic/CacheInvalidationResolver.ts +73 -18
- package/src/generic/OrphanedConversationDetailReconciler.ts +3 -3
- package/src/generic/PushStatusResolver.ts +1 -1
- package/src/generic/ResolverBase.ts +335 -326
- package/src/generic/RunViewResolver.ts +21 -0
- package/src/globalCors.ts +71 -0
- package/src/index.ts +231 -300
- package/src/isolatedProvider.ts +22 -0
- package/src/multiTenancy/index.ts +24 -2
- package/src/realtimeProxy/RealtimeProxyServer.ts +148 -16
- package/src/realtimeProxy/RealtimeRelayTunnel.ts +645 -0
- package/src/realtimeSessions/README.md +179 -0
- package/src/realtimeSessions/RealtimeSessionEventService.ts +274 -0
- package/src/realtimeSessions/RealtimeSessionVerificationService.ts +168 -0
- package/src/realtimeSessions/RealtimeVerifyRouter.ts +109 -0
- package/src/realtimeSessions/RecordingAssemblyScheduler.ts +234 -0
- package/src/realtimeSessions/SessionVerificationPortsBase.ts +189 -0
- package/src/realtimeSessions/SlidingWindowRateLimiter.ts +92 -0
- package/src/realtimeSessions/index.ts +18 -0
- package/src/realtimeSessions/ownedRealtimeSession.ts +55 -0
- package/src/realtimeSessions/sessionAccess.ts +145 -0
- package/src/realtimeSessions/sessionConfigStamps.ts +123 -0
- package/src/realtimeSessions/subscriptionAuthorization.ts +116 -0
- package/src/realtimeSessions/verificationCore.ts +502 -0
- package/src/realtimeSessions/verificationPages.ts +149 -0
- package/src/realtimeSessions/verificationPolicy.ts +321 -0
- package/src/realtimeSessions/verificationWorkflow.ts +702 -0
- package/src/realtimeWidget/widgetGuestElevation.ts +34 -2
- package/src/resolvers/ActionResolver.ts +84 -21
- package/src/resolvers/AdhocQueryResolver.ts +24 -6
- package/src/resolvers/ArtifactFileResolver.ts +9 -8
- package/src/resolvers/CacheStatsResolver.ts +89 -2
- package/src/resolvers/ClientToolRequestResolver.ts +25 -7
- package/src/resolvers/ConversationRunEventsResolver.ts +15 -11
- package/src/resolvers/DatasetResolver.ts +70 -10
- package/src/resolvers/EntityRecordNameResolver.ts +3 -2
- package/src/resolvers/FetchEntityVectorsResolver.ts +179 -2
- package/src/resolvers/FileResolver.ts +321 -106
- package/src/resolvers/GetDataContextDataResolver.ts +139 -41
- package/src/resolvers/GetDataResolver.ts +6 -3
- package/src/resolvers/HumanHandoffResolver.ts +8 -0
- package/src/resolvers/IntegrationDiscoveryResolver.ts +4 -2
- package/src/resolvers/MCPResolver.ts +8 -5
- package/src/resolvers/QueryResolver.ts +11 -0
- package/src/resolvers/RealtimeBridgeResolver.ts +163 -11
- package/src/resolvers/RealtimeClientSessionResolver.ts +511 -129
- package/src/resolvers/RealtimeSessionEventsResolver.ts +133 -0
- package/src/resolvers/RealtimeSessionVerificationResolver.ts +174 -0
- package/src/resolvers/RemoteBrowserActionResolver.ts +11 -1
- package/src/resolvers/RunAIAgentResolver.ts +116 -14
- package/src/resolvers/RunTemplateResolver.ts +13 -12
- package/src/resolvers/SearchKnowledgeStreamResolver.ts +19 -3
- package/src/resolvers/SqlLoggingConfigResolver.ts +2 -4
- package/src/resolvers/SyncDataResolver.ts +6 -2
- package/src/resolvers/SyncRolesUsersResolver.ts +24 -6
- package/src/resolvers/TaskGraphFrameResolver.ts +33 -1
- package/src/resolvers/TestQuerySQLResolver.ts +68 -13
- package/src/resolvers/TransactionGroupResolver.ts +131 -27
- package/src/resolvers/UserAvatarResolver.ts +111 -0
- package/src/resolvers/UserResolver.ts +2 -16
- package/src/resolvers/__tests__/GetDataResolver.validation.test.ts +95 -0
- package/src/resolvers/agent-run-data-guard.ts +89 -0
- package/src/resolvers/agentVisionConsentAudit.ts +82 -0
- package/src/resolvers/avatarInputValidation.ts +123 -0
- package/src/resolvers/currentUserRoles.ts +32 -1
- package/src/resolvers/meetings/meetingMutations.ts +21 -0
- package/src/rest/RealtimeRecordingHandler.ts +464 -0
- package/src/rest/ViewOperationsHandler.ts +29 -13
- package/src/rest/setupRESTEndpoints.ts +6 -0
- package/src/serverExtensionReservedRoots.ts +14 -17
- package/src/services/MJStorageBlobStore.ts +31 -30
- package/src/services/StartTaskGraphDispatcher.ts +2 -2
- package/src/services/TaskGraphActionRunner.ts +25 -5
- package/src/services/TaskGraphAgentRunner.ts +188 -11
- package/src/services/TaskGraphContinuationDeliverer.ts +713 -17
- package/src/sharedCache.ts +305 -0
- package/src/types.ts +7 -0
package/dist/config.d.ts
CHANGED
|
@@ -29,6 +29,23 @@ declare const userHandlingInfoSchema: z.ZodObject<{
|
|
|
29
29
|
contextUserForNewUserCreation: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
30
30
|
CreateUserApplicationRecords: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
31
31
|
UserApplications: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
32
|
+
/**
|
|
33
|
+
* Build each auto-created user as a copy of a template user (`User.IsTemplate`), so new people start
|
|
34
|
+
* with its pinned apps, views, settings, dashboards and conversations. `email` names the template;
|
|
35
|
+
* `preset` is the `MJ: Users` clone preset to apply (default `template`). The copy takes the roles
|
|
36
|
+
* and apps of the template, so `newUserRoles`, `CreateUserApplicationRecords` and `UserApplications`
|
|
37
|
+
* apply only when the template can't be used, in which case a plain user is created as before.
|
|
38
|
+
*/
|
|
39
|
+
newUserTemplate: z.ZodOptional<z.ZodObject<{
|
|
40
|
+
email: z.ZodString;
|
|
41
|
+
preset: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
email?: string;
|
|
44
|
+
preset?: string;
|
|
45
|
+
}, {
|
|
46
|
+
email?: string;
|
|
47
|
+
preset?: string;
|
|
48
|
+
}>>;
|
|
32
49
|
}, "strip", z.ZodTypeAny, {
|
|
33
50
|
autoCreateNewUsers?: boolean;
|
|
34
51
|
newUserLimitedToAuthorizedDomains?: boolean;
|
|
@@ -39,6 +56,10 @@ declare const userHandlingInfoSchema: z.ZodObject<{
|
|
|
39
56
|
contextUserForNewUserCreation?: string;
|
|
40
57
|
CreateUserApplicationRecords?: boolean;
|
|
41
58
|
UserApplications?: string[];
|
|
59
|
+
newUserTemplate?: {
|
|
60
|
+
email?: string;
|
|
61
|
+
preset?: string;
|
|
62
|
+
};
|
|
42
63
|
}, {
|
|
43
64
|
autoCreateNewUsers?: boolean;
|
|
44
65
|
newUserLimitedToAuthorizedDomains?: boolean;
|
|
@@ -49,6 +70,10 @@ declare const userHandlingInfoSchema: z.ZodObject<{
|
|
|
49
70
|
contextUserForNewUserCreation?: string;
|
|
50
71
|
CreateUserApplicationRecords?: boolean;
|
|
51
72
|
UserApplications?: string[];
|
|
73
|
+
newUserTemplate?: {
|
|
74
|
+
email?: string;
|
|
75
|
+
preset?: string;
|
|
76
|
+
};
|
|
52
77
|
}>;
|
|
53
78
|
declare const databaseSettingsInfoSchema: z.ZodObject<{
|
|
54
79
|
connectionTimeout: z.ZodNumber;
|
|
@@ -444,20 +469,29 @@ declare const telemetrySchema: z.ZodObject<{
|
|
|
444
469
|
enabled?: string | number | boolean;
|
|
445
470
|
level?: "minimal" | "standard" | "verbose" | "debug";
|
|
446
471
|
}>;
|
|
447
|
-
|
|
448
|
-
|
|
472
|
+
/**
|
|
473
|
+
* A host `mj.config.cjs` `serverExtensions[]` entry. Only `DriverClass` is required: an entry whose
|
|
474
|
+
* DriverClass an Open App package already publishes is an OVERLAY (MergeServerExtensionConfigs) and
|
|
475
|
+
* may set just the fields it overrides — `{ DriverClass: 'X', OwnsCORS: false }` — without repeating
|
|
476
|
+
* `RootPath`. `Enabled` has no schema default for the same reason: a defaulted `true` would silently
|
|
477
|
+
* re-enable an extension the package ships disabled. Whether the MERGED entry is complete (a valid
|
|
478
|
+
* `RootPath`; `Enabled` defaults to true) is validated after the merge, by prepareServerExtensionConfigs,
|
|
479
|
+
* which reports an incomplete host-only entry instead of mounting it.
|
|
480
|
+
*/
|
|
481
|
+
export declare const ServerExtensionSchema: z.ZodObject<{
|
|
482
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
449
483
|
DriverClass: z.ZodString;
|
|
450
|
-
RootPath: z.ZodString
|
|
484
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
451
485
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
452
486
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
453
|
-
Enabled: z.
|
|
487
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
454
488
|
DriverClass: z.ZodString;
|
|
455
|
-
RootPath: z.ZodString
|
|
489
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
456
490
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
457
491
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
458
|
-
Enabled: z.
|
|
492
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
459
493
|
DriverClass: z.ZodString;
|
|
460
|
-
RootPath: z.ZodString
|
|
494
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
461
495
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
462
496
|
}, z.ZodTypeAny, "passthrough">>;
|
|
463
497
|
declare const cacheSettingsSchema: z.ZodObject<{
|
|
@@ -465,6 +499,14 @@ declare const cacheSettingsSchema: z.ZodObject<{
|
|
|
465
499
|
maxMemoryMB: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
466
500
|
/** Maximum percentage of total cache memory that any single entity can occupy. Default: 50. Set to 0 to disable. */
|
|
467
501
|
maxPercentOfCachePerEntity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
502
|
+
/**
|
|
503
|
+
* Ceiling on any ONE cache entry. 'auto' (the default) derives it from maxMemoryMB, so the
|
|
504
|
+
* largest entity the server caches scales with the memory the cache was given; a number is an
|
|
505
|
+
* explicit stricter percentage of maxMemoryMB; 0 removes the ceiling. Leave it on 'auto' unless
|
|
506
|
+
* a specific entry must be kept out of the cache — an entry declined by the ceiling is re-read
|
|
507
|
+
* from the database on every call, and the server logs which maxMemoryMB would admit it.
|
|
508
|
+
*/
|
|
509
|
+
maxEntryPercentOfCache: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"auto">]>>>;
|
|
468
510
|
/** Default TTL in seconds. 0 = no TTL, rely on event-based invalidation. Default: 0. */
|
|
469
511
|
defaultTTLSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
470
512
|
/** Interval in seconds for periodic eviction sweep. 0 = disabled. Default: 300 (5 minutes). */
|
|
@@ -494,20 +536,64 @@ declare const cacheSettingsSchema: z.ZodObject<{
|
|
|
494
536
|
* every signed-in user may read every row of every entity.
|
|
495
537
|
*/
|
|
496
538
|
recordDataBroadcastEntities: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
539
|
+
/**
|
|
540
|
+
* Expiry, in seconds, of entries in the shared Redis cache (used when REDIS_URL is set). The
|
|
541
|
+
* REDIS_TTL_SECONDS environment variable overrides it. 0 stores entries without expiry. When
|
|
542
|
+
* neither is set, the Redis provider's default applies (one hour).
|
|
543
|
+
*/
|
|
544
|
+
sharedCacheTTLSeconds: z.ZodOptional<z.ZodNumber>;
|
|
545
|
+
/**
|
|
546
|
+
* How often, in seconds, loaded engines compare their rows with the database and reload what
|
|
547
|
+
* changed without an MJ event (direct SQL, other applications). With a shared cache one server
|
|
548
|
+
* does it per interval. 0 = disabled. Default: 300 (5 minutes).
|
|
549
|
+
*/
|
|
550
|
+
engineSweepIntervalSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
551
|
+
/**
|
|
552
|
+
* How often, in seconds, the user cache compares two row counts and the newest update timestamp
|
|
553
|
+
* with the database and reloads only when they differ. The cache already refreshes on MJ writes
|
|
554
|
+
* (locally and, with a shared cache, on other servers); this covers changes made outside MJ.
|
|
555
|
+
* 0 = disabled. Default: 300 (5 minutes).
|
|
556
|
+
*/
|
|
557
|
+
userCacheCheckIntervalSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
558
|
+
/**
|
|
559
|
+
* How often to compare this process's metadata with the database, in seconds (0 disables).
|
|
560
|
+
* Costs nothing unless an entity the metadata is built from declares
|
|
561
|
+
* `TrustServerCacheCompletely = false`; see `ProviderBase.SweepMetadataAgainstDatabase`.
|
|
562
|
+
*/
|
|
563
|
+
metadataSweepIntervalSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
564
|
+
/**
|
|
565
|
+
* How long, in seconds, a server holds the shared warm-up turn while it loads its engines, so
|
|
566
|
+
* servers starting together load one at a time and the rest find the cache warm. The lease is
|
|
567
|
+
* renewed while the load runs; this value is both its expiry and how long another server waits
|
|
568
|
+
* for it. 0 disables the turn-taking. Default: 30.
|
|
569
|
+
*/
|
|
570
|
+
startupWarmupLeaseSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
497
571
|
}, "strip", z.ZodTypeAny, {
|
|
498
572
|
maxMemoryMB?: number;
|
|
499
573
|
maxPercentOfCachePerEntity?: number;
|
|
574
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
500
575
|
defaultTTLSeconds?: number;
|
|
501
576
|
evictionSweepIntervalSeconds?: number;
|
|
502
577
|
verboseLogging?: boolean;
|
|
503
578
|
recordDataBroadcastEntities?: string[];
|
|
579
|
+
sharedCacheTTLSeconds?: number;
|
|
580
|
+
engineSweepIntervalSeconds?: number;
|
|
581
|
+
userCacheCheckIntervalSeconds?: number;
|
|
582
|
+
metadataSweepIntervalSeconds?: number;
|
|
583
|
+
startupWarmupLeaseSeconds?: number;
|
|
504
584
|
}, {
|
|
505
585
|
maxMemoryMB?: number;
|
|
506
586
|
maxPercentOfCachePerEntity?: number;
|
|
587
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
507
588
|
defaultTTLSeconds?: number;
|
|
508
589
|
evictionSweepIntervalSeconds?: number;
|
|
509
590
|
verboseLogging?: boolean;
|
|
510
591
|
recordDataBroadcastEntities?: string[];
|
|
592
|
+
sharedCacheTTLSeconds?: number;
|
|
593
|
+
engineSweepIntervalSeconds?: number;
|
|
594
|
+
userCacheCheckIntervalSeconds?: number;
|
|
595
|
+
metadataSweepIntervalSeconds?: number;
|
|
596
|
+
startupWarmupLeaseSeconds?: number;
|
|
511
597
|
}>;
|
|
512
598
|
declare const loggingSettingsSchema: z.ZodObject<{
|
|
513
599
|
graphql: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
@@ -535,6 +621,18 @@ declare const loggingSettingsSchema: z.ZodObject<{
|
|
|
535
621
|
logVariables?: boolean;
|
|
536
622
|
};
|
|
537
623
|
}>;
|
|
624
|
+
declare const aiPromptRunsSchema: z.ZodObject<{
|
|
625
|
+
/**
|
|
626
|
+
* Server default for which template inputs prompt runs store in AIPromptRun.Messages:
|
|
627
|
+
* 'None' (key sizes only), 'Referenced' (keys the templates read) or 'Full'.
|
|
628
|
+
* AIPrompt.TemplateDataCapture and AIPromptParams.TemplateDataCapture override it.
|
|
629
|
+
*/
|
|
630
|
+
templateDataCapture: z.ZodOptional<z.ZodEnum<["None", "Referenced", "Full"]>>;
|
|
631
|
+
}, "strip", z.ZodTypeAny, {
|
|
632
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
633
|
+
}, {
|
|
634
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
635
|
+
}>;
|
|
538
636
|
declare const corsSchema: z.ZodObject<{
|
|
539
637
|
/** Allowed origins for CORS. Default ['*'] preserves backward-compatible "allow all" behavior. */
|
|
540
638
|
allowedOrigins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -2856,15 +2954,1225 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
2856
2954
|
modelSampleRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2857
2955
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2858
2956
|
}, z.ZodTypeAny, "passthrough">>;
|
|
2957
|
+
/**
|
|
2958
|
+
* Mid-session identity verification for realtime sessions (see `src/realtimeSessions/README.md`).
|
|
2959
|
+
*
|
|
2960
|
+
* A person talking to an agent proves they control an email address WITHOUT leaving the conversation:
|
|
2961
|
+
* the server emails a one-time link plus a short code, records the verification on the session, extends
|
|
2962
|
+
* the session's limits, and tells the live session through a session event. The session's principal is
|
|
2963
|
+
* never changed.
|
|
2964
|
+
*
|
|
2965
|
+
* Off by default: nothing is emailed and `/realtime/verify` is not mounted until `enabled` is true AND a
|
|
2966
|
+
* `communicationProvider` is configured. Policy set here is the BASE layer; the config cascade
|
|
2967
|
+
* (`channels.config.IdentityVerification`) snapshotted onto each session at mint overrides it per knob.
|
|
2968
|
+
*/
|
|
2969
|
+
declare const identityVerificationSchema: z.ZodObject<{
|
|
2970
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
2971
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
2972
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
2973
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
2974
|
+
/** From address of the verification email. */
|
|
2975
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
2976
|
+
/**
|
|
2977
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
2978
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
2979
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
2980
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
2981
|
+
*/
|
|
2982
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
2983
|
+
/**
|
|
2984
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
2985
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
2986
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
2987
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
2988
|
+
*/
|
|
2989
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
2990
|
+
/**
|
|
2991
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
2992
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
2993
|
+
*/
|
|
2994
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
2995
|
+
/**
|
|
2996
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
2997
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
2998
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
2999
|
+
*/
|
|
3000
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3001
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3002
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3003
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3004
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3005
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3006
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3007
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3008
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3009
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3010
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3011
|
+
}, "strip", z.ZodTypeAny, {
|
|
3012
|
+
requireBusinessDomain?: boolean;
|
|
3013
|
+
blockedDomains?: string[];
|
|
3014
|
+
consumerDomains?: string[];
|
|
3015
|
+
linkTtlMinutes?: number;
|
|
3016
|
+
maxSendsPerSession?: number;
|
|
3017
|
+
maxCodeAttempts?: number;
|
|
3018
|
+
unverifiedMaxSeconds?: number;
|
|
3019
|
+
verifiedMaxSeconds?: number;
|
|
3020
|
+
}, {
|
|
3021
|
+
requireBusinessDomain?: boolean;
|
|
3022
|
+
blockedDomains?: string[];
|
|
3023
|
+
consumerDomains?: string[];
|
|
3024
|
+
linkTtlMinutes?: number;
|
|
3025
|
+
maxSendsPerSession?: number;
|
|
3026
|
+
maxCodeAttempts?: number;
|
|
3027
|
+
unverifiedMaxSeconds?: number;
|
|
3028
|
+
verifiedMaxSeconds?: number;
|
|
3029
|
+
}>>>;
|
|
3030
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3031
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3032
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3033
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3034
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3035
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3036
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3037
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3038
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3039
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3040
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3041
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3042
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3043
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3044
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3045
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3046
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3047
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3048
|
+
}, "strip", z.ZodTypeAny, {
|
|
3049
|
+
sendWindowMs?: number;
|
|
3050
|
+
perIpSends?: number;
|
|
3051
|
+
perEmailDomainSends?: number;
|
|
3052
|
+
perEmailSends?: number;
|
|
3053
|
+
codeAttemptWindowMs?: number;
|
|
3054
|
+
perSessionCodeAttempts?: number;
|
|
3055
|
+
redeemWindowMs?: number;
|
|
3056
|
+
redeemPerIp?: number;
|
|
3057
|
+
}, {
|
|
3058
|
+
sendWindowMs?: number;
|
|
3059
|
+
perIpSends?: number;
|
|
3060
|
+
perEmailDomainSends?: number;
|
|
3061
|
+
perEmailSends?: number;
|
|
3062
|
+
codeAttemptWindowMs?: number;
|
|
3063
|
+
perSessionCodeAttempts?: number;
|
|
3064
|
+
redeemWindowMs?: number;
|
|
3065
|
+
redeemPerIp?: number;
|
|
3066
|
+
}>>>;
|
|
3067
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3068
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3069
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3070
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3071
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3072
|
+
/** From address of the verification email. */
|
|
3073
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3074
|
+
/**
|
|
3075
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3076
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3077
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3078
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3079
|
+
*/
|
|
3080
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3081
|
+
/**
|
|
3082
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3083
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3084
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3085
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3086
|
+
*/
|
|
3087
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3088
|
+
/**
|
|
3089
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3090
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3091
|
+
*/
|
|
3092
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3093
|
+
/**
|
|
3094
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3095
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3096
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3097
|
+
*/
|
|
3098
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3099
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3100
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3101
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3102
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3103
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3104
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3105
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3106
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3107
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3108
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3109
|
+
}, "strip", z.ZodTypeAny, {
|
|
3110
|
+
requireBusinessDomain?: boolean;
|
|
3111
|
+
blockedDomains?: string[];
|
|
3112
|
+
consumerDomains?: string[];
|
|
3113
|
+
linkTtlMinutes?: number;
|
|
3114
|
+
maxSendsPerSession?: number;
|
|
3115
|
+
maxCodeAttempts?: number;
|
|
3116
|
+
unverifiedMaxSeconds?: number;
|
|
3117
|
+
verifiedMaxSeconds?: number;
|
|
3118
|
+
}, {
|
|
3119
|
+
requireBusinessDomain?: boolean;
|
|
3120
|
+
blockedDomains?: string[];
|
|
3121
|
+
consumerDomains?: string[];
|
|
3122
|
+
linkTtlMinutes?: number;
|
|
3123
|
+
maxSendsPerSession?: number;
|
|
3124
|
+
maxCodeAttempts?: number;
|
|
3125
|
+
unverifiedMaxSeconds?: number;
|
|
3126
|
+
verifiedMaxSeconds?: number;
|
|
3127
|
+
}>>>;
|
|
3128
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3129
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3130
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3131
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3132
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3133
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3134
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3135
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3136
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3137
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3138
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3139
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3140
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3141
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3142
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3143
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3144
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3145
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3146
|
+
}, "strip", z.ZodTypeAny, {
|
|
3147
|
+
sendWindowMs?: number;
|
|
3148
|
+
perIpSends?: number;
|
|
3149
|
+
perEmailDomainSends?: number;
|
|
3150
|
+
perEmailSends?: number;
|
|
3151
|
+
codeAttemptWindowMs?: number;
|
|
3152
|
+
perSessionCodeAttempts?: number;
|
|
3153
|
+
redeemWindowMs?: number;
|
|
3154
|
+
redeemPerIp?: number;
|
|
3155
|
+
}, {
|
|
3156
|
+
sendWindowMs?: number;
|
|
3157
|
+
perIpSends?: number;
|
|
3158
|
+
perEmailDomainSends?: number;
|
|
3159
|
+
perEmailSends?: number;
|
|
3160
|
+
codeAttemptWindowMs?: number;
|
|
3161
|
+
perSessionCodeAttempts?: number;
|
|
3162
|
+
redeemWindowMs?: number;
|
|
3163
|
+
redeemPerIp?: number;
|
|
3164
|
+
}>>>;
|
|
3165
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
3166
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3167
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3168
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3169
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3170
|
+
/** From address of the verification email. */
|
|
3171
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3172
|
+
/**
|
|
3173
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3174
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3175
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3176
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3177
|
+
*/
|
|
3178
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3179
|
+
/**
|
|
3180
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3181
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3182
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3183
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3184
|
+
*/
|
|
3185
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3186
|
+
/**
|
|
3187
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3188
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3189
|
+
*/
|
|
3190
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3191
|
+
/**
|
|
3192
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3193
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3194
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3195
|
+
*/
|
|
3196
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3197
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3198
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3199
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3200
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3201
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3202
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3203
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3204
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3205
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3206
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3207
|
+
}, "strip", z.ZodTypeAny, {
|
|
3208
|
+
requireBusinessDomain?: boolean;
|
|
3209
|
+
blockedDomains?: string[];
|
|
3210
|
+
consumerDomains?: string[];
|
|
3211
|
+
linkTtlMinutes?: number;
|
|
3212
|
+
maxSendsPerSession?: number;
|
|
3213
|
+
maxCodeAttempts?: number;
|
|
3214
|
+
unverifiedMaxSeconds?: number;
|
|
3215
|
+
verifiedMaxSeconds?: number;
|
|
3216
|
+
}, {
|
|
3217
|
+
requireBusinessDomain?: boolean;
|
|
3218
|
+
blockedDomains?: string[];
|
|
3219
|
+
consumerDomains?: string[];
|
|
3220
|
+
linkTtlMinutes?: number;
|
|
3221
|
+
maxSendsPerSession?: number;
|
|
3222
|
+
maxCodeAttempts?: number;
|
|
3223
|
+
unverifiedMaxSeconds?: number;
|
|
3224
|
+
verifiedMaxSeconds?: number;
|
|
3225
|
+
}>>>;
|
|
3226
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3227
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3228
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3229
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3230
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3231
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3232
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3233
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3234
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3235
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3236
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3237
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3238
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3239
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3240
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3241
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3242
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3243
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3244
|
+
}, "strip", z.ZodTypeAny, {
|
|
3245
|
+
sendWindowMs?: number;
|
|
3246
|
+
perIpSends?: number;
|
|
3247
|
+
perEmailDomainSends?: number;
|
|
3248
|
+
perEmailSends?: number;
|
|
3249
|
+
codeAttemptWindowMs?: number;
|
|
3250
|
+
perSessionCodeAttempts?: number;
|
|
3251
|
+
redeemWindowMs?: number;
|
|
3252
|
+
redeemPerIp?: number;
|
|
3253
|
+
}, {
|
|
3254
|
+
sendWindowMs?: number;
|
|
3255
|
+
perIpSends?: number;
|
|
3256
|
+
perEmailDomainSends?: number;
|
|
3257
|
+
perEmailSends?: number;
|
|
3258
|
+
codeAttemptWindowMs?: number;
|
|
3259
|
+
perSessionCodeAttempts?: number;
|
|
3260
|
+
redeemWindowMs?: number;
|
|
3261
|
+
redeemPerIp?: number;
|
|
3262
|
+
}>>>;
|
|
3263
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
2859
3264
|
declare const realtimeSchema: z.ZodObject<{
|
|
2860
3265
|
/** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
|
|
2861
3266
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3267
|
+
/** Mid-session identity verification (off by default). */
|
|
3268
|
+
identityVerification: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3269
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3270
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3271
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3272
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3273
|
+
/** From address of the verification email. */
|
|
3274
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3275
|
+
/**
|
|
3276
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3277
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3278
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3279
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3280
|
+
*/
|
|
3281
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3282
|
+
/**
|
|
3283
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3284
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3285
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3286
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3287
|
+
*/
|
|
3288
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3289
|
+
/**
|
|
3290
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3291
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3292
|
+
*/
|
|
3293
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3294
|
+
/**
|
|
3295
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3296
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3297
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3298
|
+
*/
|
|
3299
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3300
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3301
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3302
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3303
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3304
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3305
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3306
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3307
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3308
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3309
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3310
|
+
}, "strip", z.ZodTypeAny, {
|
|
3311
|
+
requireBusinessDomain?: boolean;
|
|
3312
|
+
blockedDomains?: string[];
|
|
3313
|
+
consumerDomains?: string[];
|
|
3314
|
+
linkTtlMinutes?: number;
|
|
3315
|
+
maxSendsPerSession?: number;
|
|
3316
|
+
maxCodeAttempts?: number;
|
|
3317
|
+
unverifiedMaxSeconds?: number;
|
|
3318
|
+
verifiedMaxSeconds?: number;
|
|
3319
|
+
}, {
|
|
3320
|
+
requireBusinessDomain?: boolean;
|
|
3321
|
+
blockedDomains?: string[];
|
|
3322
|
+
consumerDomains?: string[];
|
|
3323
|
+
linkTtlMinutes?: number;
|
|
3324
|
+
maxSendsPerSession?: number;
|
|
3325
|
+
maxCodeAttempts?: number;
|
|
3326
|
+
unverifiedMaxSeconds?: number;
|
|
3327
|
+
verifiedMaxSeconds?: number;
|
|
3328
|
+
}>>>;
|
|
3329
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3330
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3331
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3332
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3333
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3334
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3335
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3336
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3337
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3338
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3339
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3340
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3341
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3342
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3343
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3344
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3345
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3346
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3347
|
+
}, "strip", z.ZodTypeAny, {
|
|
3348
|
+
sendWindowMs?: number;
|
|
3349
|
+
perIpSends?: number;
|
|
3350
|
+
perEmailDomainSends?: number;
|
|
3351
|
+
perEmailSends?: number;
|
|
3352
|
+
codeAttemptWindowMs?: number;
|
|
3353
|
+
perSessionCodeAttempts?: number;
|
|
3354
|
+
redeemWindowMs?: number;
|
|
3355
|
+
redeemPerIp?: number;
|
|
3356
|
+
}, {
|
|
3357
|
+
sendWindowMs?: number;
|
|
3358
|
+
perIpSends?: number;
|
|
3359
|
+
perEmailDomainSends?: number;
|
|
3360
|
+
perEmailSends?: number;
|
|
3361
|
+
codeAttemptWindowMs?: number;
|
|
3362
|
+
perSessionCodeAttempts?: number;
|
|
3363
|
+
redeemWindowMs?: number;
|
|
3364
|
+
redeemPerIp?: number;
|
|
3365
|
+
}>>>;
|
|
3366
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3367
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3368
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3369
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3370
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3371
|
+
/** From address of the verification email. */
|
|
3372
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3373
|
+
/**
|
|
3374
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3375
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3376
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3377
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3378
|
+
*/
|
|
3379
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3380
|
+
/**
|
|
3381
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3382
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3383
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3384
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3385
|
+
*/
|
|
3386
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3387
|
+
/**
|
|
3388
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3389
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3390
|
+
*/
|
|
3391
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3392
|
+
/**
|
|
3393
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3394
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3395
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3396
|
+
*/
|
|
3397
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3398
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3399
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3400
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3401
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3402
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3403
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3404
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3405
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3406
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3407
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3408
|
+
}, "strip", z.ZodTypeAny, {
|
|
3409
|
+
requireBusinessDomain?: boolean;
|
|
3410
|
+
blockedDomains?: string[];
|
|
3411
|
+
consumerDomains?: string[];
|
|
3412
|
+
linkTtlMinutes?: number;
|
|
3413
|
+
maxSendsPerSession?: number;
|
|
3414
|
+
maxCodeAttempts?: number;
|
|
3415
|
+
unverifiedMaxSeconds?: number;
|
|
3416
|
+
verifiedMaxSeconds?: number;
|
|
3417
|
+
}, {
|
|
3418
|
+
requireBusinessDomain?: boolean;
|
|
3419
|
+
blockedDomains?: string[];
|
|
3420
|
+
consumerDomains?: string[];
|
|
3421
|
+
linkTtlMinutes?: number;
|
|
3422
|
+
maxSendsPerSession?: number;
|
|
3423
|
+
maxCodeAttempts?: number;
|
|
3424
|
+
unverifiedMaxSeconds?: number;
|
|
3425
|
+
verifiedMaxSeconds?: number;
|
|
3426
|
+
}>>>;
|
|
3427
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3428
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3429
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3430
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3431
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3432
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3433
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3434
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3435
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3436
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3437
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3438
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3439
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3440
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3441
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3442
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3443
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3444
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3445
|
+
}, "strip", z.ZodTypeAny, {
|
|
3446
|
+
sendWindowMs?: number;
|
|
3447
|
+
perIpSends?: number;
|
|
3448
|
+
perEmailDomainSends?: number;
|
|
3449
|
+
perEmailSends?: number;
|
|
3450
|
+
codeAttemptWindowMs?: number;
|
|
3451
|
+
perSessionCodeAttempts?: number;
|
|
3452
|
+
redeemWindowMs?: number;
|
|
3453
|
+
redeemPerIp?: number;
|
|
3454
|
+
}, {
|
|
3455
|
+
sendWindowMs?: number;
|
|
3456
|
+
perIpSends?: number;
|
|
3457
|
+
perEmailDomainSends?: number;
|
|
3458
|
+
perEmailSends?: number;
|
|
3459
|
+
codeAttemptWindowMs?: number;
|
|
3460
|
+
perSessionCodeAttempts?: number;
|
|
3461
|
+
redeemWindowMs?: number;
|
|
3462
|
+
redeemPerIp?: number;
|
|
3463
|
+
}>>>;
|
|
3464
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
3465
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3466
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3467
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3468
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3469
|
+
/** From address of the verification email. */
|
|
3470
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3471
|
+
/**
|
|
3472
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3473
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3474
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3475
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3476
|
+
*/
|
|
3477
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3478
|
+
/**
|
|
3479
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3480
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3481
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3482
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3483
|
+
*/
|
|
3484
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3485
|
+
/**
|
|
3486
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3487
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3488
|
+
*/
|
|
3489
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3490
|
+
/**
|
|
3491
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3492
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3493
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3494
|
+
*/
|
|
3495
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3496
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3497
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3498
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3499
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3500
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3501
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3502
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3503
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3504
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3505
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3506
|
+
}, "strip", z.ZodTypeAny, {
|
|
3507
|
+
requireBusinessDomain?: boolean;
|
|
3508
|
+
blockedDomains?: string[];
|
|
3509
|
+
consumerDomains?: string[];
|
|
3510
|
+
linkTtlMinutes?: number;
|
|
3511
|
+
maxSendsPerSession?: number;
|
|
3512
|
+
maxCodeAttempts?: number;
|
|
3513
|
+
unverifiedMaxSeconds?: number;
|
|
3514
|
+
verifiedMaxSeconds?: number;
|
|
3515
|
+
}, {
|
|
3516
|
+
requireBusinessDomain?: boolean;
|
|
3517
|
+
blockedDomains?: string[];
|
|
3518
|
+
consumerDomains?: string[];
|
|
3519
|
+
linkTtlMinutes?: number;
|
|
3520
|
+
maxSendsPerSession?: number;
|
|
3521
|
+
maxCodeAttempts?: number;
|
|
3522
|
+
unverifiedMaxSeconds?: number;
|
|
3523
|
+
verifiedMaxSeconds?: number;
|
|
3524
|
+
}>>>;
|
|
3525
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3526
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3527
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3528
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3529
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3530
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3531
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3532
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3533
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3534
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3535
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3536
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3537
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3538
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3539
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3540
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3541
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3542
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3543
|
+
}, "strip", z.ZodTypeAny, {
|
|
3544
|
+
sendWindowMs?: number;
|
|
3545
|
+
perIpSends?: number;
|
|
3546
|
+
perEmailDomainSends?: number;
|
|
3547
|
+
perEmailSends?: number;
|
|
3548
|
+
codeAttemptWindowMs?: number;
|
|
3549
|
+
perSessionCodeAttempts?: number;
|
|
3550
|
+
redeemWindowMs?: number;
|
|
3551
|
+
redeemPerIp?: number;
|
|
3552
|
+
}, {
|
|
3553
|
+
sendWindowMs?: number;
|
|
3554
|
+
perIpSends?: number;
|
|
3555
|
+
perEmailDomainSends?: number;
|
|
3556
|
+
perEmailSends?: number;
|
|
3557
|
+
codeAttemptWindowMs?: number;
|
|
3558
|
+
perSessionCodeAttempts?: number;
|
|
3559
|
+
redeemWindowMs?: number;
|
|
3560
|
+
redeemPerIp?: number;
|
|
3561
|
+
}>>>;
|
|
3562
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
3563
|
+
/**
|
|
3564
|
+
* Seconds a client-direct call's recording waits for missing shards after its terminal signal before it
|
|
3565
|
+
* is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
|
|
3566
|
+
*/
|
|
3567
|
+
recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2862
3568
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2863
3569
|
/** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
|
|
2864
3570
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3571
|
+
/** Mid-session identity verification (off by default). */
|
|
3572
|
+
identityVerification: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3573
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3574
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3575
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3576
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3577
|
+
/** From address of the verification email. */
|
|
3578
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3579
|
+
/**
|
|
3580
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3581
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3582
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3583
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3584
|
+
*/
|
|
3585
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3586
|
+
/**
|
|
3587
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3588
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3589
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3590
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3591
|
+
*/
|
|
3592
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3593
|
+
/**
|
|
3594
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3595
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3596
|
+
*/
|
|
3597
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3598
|
+
/**
|
|
3599
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3600
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3601
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3602
|
+
*/
|
|
3603
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3604
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3605
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3606
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3607
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3608
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3609
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3610
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3611
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3612
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3613
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3614
|
+
}, "strip", z.ZodTypeAny, {
|
|
3615
|
+
requireBusinessDomain?: boolean;
|
|
3616
|
+
blockedDomains?: string[];
|
|
3617
|
+
consumerDomains?: string[];
|
|
3618
|
+
linkTtlMinutes?: number;
|
|
3619
|
+
maxSendsPerSession?: number;
|
|
3620
|
+
maxCodeAttempts?: number;
|
|
3621
|
+
unverifiedMaxSeconds?: number;
|
|
3622
|
+
verifiedMaxSeconds?: number;
|
|
3623
|
+
}, {
|
|
3624
|
+
requireBusinessDomain?: boolean;
|
|
3625
|
+
blockedDomains?: string[];
|
|
3626
|
+
consumerDomains?: string[];
|
|
3627
|
+
linkTtlMinutes?: number;
|
|
3628
|
+
maxSendsPerSession?: number;
|
|
3629
|
+
maxCodeAttempts?: number;
|
|
3630
|
+
unverifiedMaxSeconds?: number;
|
|
3631
|
+
verifiedMaxSeconds?: number;
|
|
3632
|
+
}>>>;
|
|
3633
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3634
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3635
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3636
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3637
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3638
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3639
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3640
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3641
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3642
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3643
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3644
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3645
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3646
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3647
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3648
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3649
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3650
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3651
|
+
}, "strip", z.ZodTypeAny, {
|
|
3652
|
+
sendWindowMs?: number;
|
|
3653
|
+
perIpSends?: number;
|
|
3654
|
+
perEmailDomainSends?: number;
|
|
3655
|
+
perEmailSends?: number;
|
|
3656
|
+
codeAttemptWindowMs?: number;
|
|
3657
|
+
perSessionCodeAttempts?: number;
|
|
3658
|
+
redeemWindowMs?: number;
|
|
3659
|
+
redeemPerIp?: number;
|
|
3660
|
+
}, {
|
|
3661
|
+
sendWindowMs?: number;
|
|
3662
|
+
perIpSends?: number;
|
|
3663
|
+
perEmailDomainSends?: number;
|
|
3664
|
+
perEmailSends?: number;
|
|
3665
|
+
codeAttemptWindowMs?: number;
|
|
3666
|
+
perSessionCodeAttempts?: number;
|
|
3667
|
+
redeemWindowMs?: number;
|
|
3668
|
+
redeemPerIp?: number;
|
|
3669
|
+
}>>>;
|
|
3670
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3671
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3672
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3673
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3674
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3675
|
+
/** From address of the verification email. */
|
|
3676
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3677
|
+
/**
|
|
3678
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3679
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3680
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3681
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3682
|
+
*/
|
|
3683
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3684
|
+
/**
|
|
3685
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3686
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3687
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3688
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3689
|
+
*/
|
|
3690
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3691
|
+
/**
|
|
3692
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3693
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3694
|
+
*/
|
|
3695
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3696
|
+
/**
|
|
3697
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3698
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3699
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3700
|
+
*/
|
|
3701
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3702
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3703
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3704
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3705
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3706
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3707
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3708
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3709
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3710
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3711
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3712
|
+
}, "strip", z.ZodTypeAny, {
|
|
3713
|
+
requireBusinessDomain?: boolean;
|
|
3714
|
+
blockedDomains?: string[];
|
|
3715
|
+
consumerDomains?: string[];
|
|
3716
|
+
linkTtlMinutes?: number;
|
|
3717
|
+
maxSendsPerSession?: number;
|
|
3718
|
+
maxCodeAttempts?: number;
|
|
3719
|
+
unverifiedMaxSeconds?: number;
|
|
3720
|
+
verifiedMaxSeconds?: number;
|
|
3721
|
+
}, {
|
|
3722
|
+
requireBusinessDomain?: boolean;
|
|
3723
|
+
blockedDomains?: string[];
|
|
3724
|
+
consumerDomains?: string[];
|
|
3725
|
+
linkTtlMinutes?: number;
|
|
3726
|
+
maxSendsPerSession?: number;
|
|
3727
|
+
maxCodeAttempts?: number;
|
|
3728
|
+
unverifiedMaxSeconds?: number;
|
|
3729
|
+
verifiedMaxSeconds?: number;
|
|
3730
|
+
}>>>;
|
|
3731
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3732
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3733
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3734
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3735
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3736
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3737
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3738
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3739
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3740
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3741
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3742
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3743
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3744
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3745
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3746
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3747
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3748
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3749
|
+
}, "strip", z.ZodTypeAny, {
|
|
3750
|
+
sendWindowMs?: number;
|
|
3751
|
+
perIpSends?: number;
|
|
3752
|
+
perEmailDomainSends?: number;
|
|
3753
|
+
perEmailSends?: number;
|
|
3754
|
+
codeAttemptWindowMs?: number;
|
|
3755
|
+
perSessionCodeAttempts?: number;
|
|
3756
|
+
redeemWindowMs?: number;
|
|
3757
|
+
redeemPerIp?: number;
|
|
3758
|
+
}, {
|
|
3759
|
+
sendWindowMs?: number;
|
|
3760
|
+
perIpSends?: number;
|
|
3761
|
+
perEmailDomainSends?: number;
|
|
3762
|
+
perEmailSends?: number;
|
|
3763
|
+
codeAttemptWindowMs?: number;
|
|
3764
|
+
perSessionCodeAttempts?: number;
|
|
3765
|
+
redeemWindowMs?: number;
|
|
3766
|
+
redeemPerIp?: number;
|
|
3767
|
+
}>>>;
|
|
3768
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
3769
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3770
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3771
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3772
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3773
|
+
/** From address of the verification email. */
|
|
3774
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3775
|
+
/**
|
|
3776
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3777
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3778
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3779
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3780
|
+
*/
|
|
3781
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3782
|
+
/**
|
|
3783
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3784
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3785
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3786
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3787
|
+
*/
|
|
3788
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3789
|
+
/**
|
|
3790
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3791
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3792
|
+
*/
|
|
3793
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3794
|
+
/**
|
|
3795
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3796
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3797
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3798
|
+
*/
|
|
3799
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3800
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3801
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3802
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3803
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3804
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3805
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3806
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3807
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3808
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3809
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3810
|
+
}, "strip", z.ZodTypeAny, {
|
|
3811
|
+
requireBusinessDomain?: boolean;
|
|
3812
|
+
blockedDomains?: string[];
|
|
3813
|
+
consumerDomains?: string[];
|
|
3814
|
+
linkTtlMinutes?: number;
|
|
3815
|
+
maxSendsPerSession?: number;
|
|
3816
|
+
maxCodeAttempts?: number;
|
|
3817
|
+
unverifiedMaxSeconds?: number;
|
|
3818
|
+
verifiedMaxSeconds?: number;
|
|
3819
|
+
}, {
|
|
3820
|
+
requireBusinessDomain?: boolean;
|
|
3821
|
+
blockedDomains?: string[];
|
|
3822
|
+
consumerDomains?: string[];
|
|
3823
|
+
linkTtlMinutes?: number;
|
|
3824
|
+
maxSendsPerSession?: number;
|
|
3825
|
+
maxCodeAttempts?: number;
|
|
3826
|
+
unverifiedMaxSeconds?: number;
|
|
3827
|
+
verifiedMaxSeconds?: number;
|
|
3828
|
+
}>>>;
|
|
3829
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3830
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3831
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3832
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3833
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3834
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3835
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3836
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3837
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3838
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3839
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3840
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3841
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3842
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3843
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3844
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3845
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3846
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3847
|
+
}, "strip", z.ZodTypeAny, {
|
|
3848
|
+
sendWindowMs?: number;
|
|
3849
|
+
perIpSends?: number;
|
|
3850
|
+
perEmailDomainSends?: number;
|
|
3851
|
+
perEmailSends?: number;
|
|
3852
|
+
codeAttemptWindowMs?: number;
|
|
3853
|
+
perSessionCodeAttempts?: number;
|
|
3854
|
+
redeemWindowMs?: number;
|
|
3855
|
+
redeemPerIp?: number;
|
|
3856
|
+
}, {
|
|
3857
|
+
sendWindowMs?: number;
|
|
3858
|
+
perIpSends?: number;
|
|
3859
|
+
perEmailDomainSends?: number;
|
|
3860
|
+
perEmailSends?: number;
|
|
3861
|
+
codeAttemptWindowMs?: number;
|
|
3862
|
+
perSessionCodeAttempts?: number;
|
|
3863
|
+
redeemWindowMs?: number;
|
|
3864
|
+
redeemPerIp?: number;
|
|
3865
|
+
}>>>;
|
|
3866
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
3867
|
+
/**
|
|
3868
|
+
* Seconds a client-direct call's recording waits for missing shards after its terminal signal before it
|
|
3869
|
+
* is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
|
|
3870
|
+
*/
|
|
3871
|
+
recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2865
3872
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2866
3873
|
/** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
|
|
2867
3874
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3875
|
+
/** Mid-session identity verification (off by default). */
|
|
3876
|
+
identityVerification: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3877
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3878
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3879
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3880
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3881
|
+
/** From address of the verification email. */
|
|
3882
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3883
|
+
/**
|
|
3884
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3885
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3886
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3887
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3888
|
+
*/
|
|
3889
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3890
|
+
/**
|
|
3891
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3892
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3893
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3894
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3895
|
+
*/
|
|
3896
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3897
|
+
/**
|
|
3898
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3899
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3900
|
+
*/
|
|
3901
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
3902
|
+
/**
|
|
3903
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
3904
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
3905
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
3906
|
+
*/
|
|
3907
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
3908
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
3909
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3910
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
3911
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3912
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3913
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
3914
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
3915
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
3916
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3917
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
3918
|
+
}, "strip", z.ZodTypeAny, {
|
|
3919
|
+
requireBusinessDomain?: boolean;
|
|
3920
|
+
blockedDomains?: string[];
|
|
3921
|
+
consumerDomains?: string[];
|
|
3922
|
+
linkTtlMinutes?: number;
|
|
3923
|
+
maxSendsPerSession?: number;
|
|
3924
|
+
maxCodeAttempts?: number;
|
|
3925
|
+
unverifiedMaxSeconds?: number;
|
|
3926
|
+
verifiedMaxSeconds?: number;
|
|
3927
|
+
}, {
|
|
3928
|
+
requireBusinessDomain?: boolean;
|
|
3929
|
+
blockedDomains?: string[];
|
|
3930
|
+
consumerDomains?: string[];
|
|
3931
|
+
linkTtlMinutes?: number;
|
|
3932
|
+
maxSendsPerSession?: number;
|
|
3933
|
+
maxCodeAttempts?: number;
|
|
3934
|
+
unverifiedMaxSeconds?: number;
|
|
3935
|
+
verifiedMaxSeconds?: number;
|
|
3936
|
+
}>>>;
|
|
3937
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
3938
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3939
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
3940
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3941
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
3942
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3943
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
3944
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3945
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
3946
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3947
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
3948
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3949
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
3950
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3951
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
3952
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3953
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
3954
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3955
|
+
}, "strip", z.ZodTypeAny, {
|
|
3956
|
+
sendWindowMs?: number;
|
|
3957
|
+
perIpSends?: number;
|
|
3958
|
+
perEmailDomainSends?: number;
|
|
3959
|
+
perEmailSends?: number;
|
|
3960
|
+
codeAttemptWindowMs?: number;
|
|
3961
|
+
perSessionCodeAttempts?: number;
|
|
3962
|
+
redeemWindowMs?: number;
|
|
3963
|
+
redeemPerIp?: number;
|
|
3964
|
+
}, {
|
|
3965
|
+
sendWindowMs?: number;
|
|
3966
|
+
perIpSends?: number;
|
|
3967
|
+
perEmailDomainSends?: number;
|
|
3968
|
+
perEmailSends?: number;
|
|
3969
|
+
codeAttemptWindowMs?: number;
|
|
3970
|
+
perSessionCodeAttempts?: number;
|
|
3971
|
+
redeemWindowMs?: number;
|
|
3972
|
+
redeemPerIp?: number;
|
|
3973
|
+
}>>>;
|
|
3974
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3975
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
3976
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3977
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
3978
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
3979
|
+
/** From address of the verification email. */
|
|
3980
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
3981
|
+
/**
|
|
3982
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
3983
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
3984
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
3985
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
3986
|
+
*/
|
|
3987
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
3988
|
+
/**
|
|
3989
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
3990
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
3991
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
3992
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
3993
|
+
*/
|
|
3994
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
3995
|
+
/**
|
|
3996
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
3997
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
3998
|
+
*/
|
|
3999
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
4000
|
+
/**
|
|
4001
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
4002
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
4003
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
4004
|
+
*/
|
|
4005
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
4006
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
4007
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4008
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
4009
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4010
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4011
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
4012
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
4013
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
4014
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
4015
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
4016
|
+
}, "strip", z.ZodTypeAny, {
|
|
4017
|
+
requireBusinessDomain?: boolean;
|
|
4018
|
+
blockedDomains?: string[];
|
|
4019
|
+
consumerDomains?: string[];
|
|
4020
|
+
linkTtlMinutes?: number;
|
|
4021
|
+
maxSendsPerSession?: number;
|
|
4022
|
+
maxCodeAttempts?: number;
|
|
4023
|
+
unverifiedMaxSeconds?: number;
|
|
4024
|
+
verifiedMaxSeconds?: number;
|
|
4025
|
+
}, {
|
|
4026
|
+
requireBusinessDomain?: boolean;
|
|
4027
|
+
blockedDomains?: string[];
|
|
4028
|
+
consumerDomains?: string[];
|
|
4029
|
+
linkTtlMinutes?: number;
|
|
4030
|
+
maxSendsPerSession?: number;
|
|
4031
|
+
maxCodeAttempts?: number;
|
|
4032
|
+
unverifiedMaxSeconds?: number;
|
|
4033
|
+
verifiedMaxSeconds?: number;
|
|
4034
|
+
}>>>;
|
|
4035
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
4036
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4037
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
4038
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4039
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
4040
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4041
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
4042
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4043
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
4044
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4045
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
4046
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4047
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
4048
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4049
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
4050
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4051
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
4052
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4053
|
+
}, "strip", z.ZodTypeAny, {
|
|
4054
|
+
sendWindowMs?: number;
|
|
4055
|
+
perIpSends?: number;
|
|
4056
|
+
perEmailDomainSends?: number;
|
|
4057
|
+
perEmailSends?: number;
|
|
4058
|
+
codeAttemptWindowMs?: number;
|
|
4059
|
+
perSessionCodeAttempts?: number;
|
|
4060
|
+
redeemWindowMs?: number;
|
|
4061
|
+
redeemPerIp?: number;
|
|
4062
|
+
}, {
|
|
4063
|
+
sendWindowMs?: number;
|
|
4064
|
+
perIpSends?: number;
|
|
4065
|
+
perEmailDomainSends?: number;
|
|
4066
|
+
perEmailSends?: number;
|
|
4067
|
+
codeAttemptWindowMs?: number;
|
|
4068
|
+
perSessionCodeAttempts?: number;
|
|
4069
|
+
redeemWindowMs?: number;
|
|
4070
|
+
redeemPerIp?: number;
|
|
4071
|
+
}>>>;
|
|
4072
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
4073
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
4074
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
4075
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
4076
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
4077
|
+
/** From address of the verification email. */
|
|
4078
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
4079
|
+
/**
|
|
4080
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
4081
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
4082
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
4083
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
4084
|
+
*/
|
|
4085
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
4086
|
+
/**
|
|
4087
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
4088
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
4089
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
4090
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
4091
|
+
*/
|
|
4092
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
4093
|
+
/**
|
|
4094
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
4095
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
4096
|
+
*/
|
|
4097
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
4098
|
+
/**
|
|
4099
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
4100
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
4101
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
4102
|
+
*/
|
|
4103
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
4104
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
4105
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4106
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
4107
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4108
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4109
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
4110
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
4111
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
4112
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
4113
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
4114
|
+
}, "strip", z.ZodTypeAny, {
|
|
4115
|
+
requireBusinessDomain?: boolean;
|
|
4116
|
+
blockedDomains?: string[];
|
|
4117
|
+
consumerDomains?: string[];
|
|
4118
|
+
linkTtlMinutes?: number;
|
|
4119
|
+
maxSendsPerSession?: number;
|
|
4120
|
+
maxCodeAttempts?: number;
|
|
4121
|
+
unverifiedMaxSeconds?: number;
|
|
4122
|
+
verifiedMaxSeconds?: number;
|
|
4123
|
+
}, {
|
|
4124
|
+
requireBusinessDomain?: boolean;
|
|
4125
|
+
blockedDomains?: string[];
|
|
4126
|
+
consumerDomains?: string[];
|
|
4127
|
+
linkTtlMinutes?: number;
|
|
4128
|
+
maxSendsPerSession?: number;
|
|
4129
|
+
maxCodeAttempts?: number;
|
|
4130
|
+
unverifiedMaxSeconds?: number;
|
|
4131
|
+
verifiedMaxSeconds?: number;
|
|
4132
|
+
}>>>;
|
|
4133
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
4134
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4135
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
4136
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4137
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
4138
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4139
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
4140
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4141
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
4142
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4143
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
4144
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4145
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
4146
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4147
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
4148
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4149
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
4150
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4151
|
+
}, "strip", z.ZodTypeAny, {
|
|
4152
|
+
sendWindowMs?: number;
|
|
4153
|
+
perIpSends?: number;
|
|
4154
|
+
perEmailDomainSends?: number;
|
|
4155
|
+
perEmailSends?: number;
|
|
4156
|
+
codeAttemptWindowMs?: number;
|
|
4157
|
+
perSessionCodeAttempts?: number;
|
|
4158
|
+
redeemWindowMs?: number;
|
|
4159
|
+
redeemPerIp?: number;
|
|
4160
|
+
}, {
|
|
4161
|
+
sendWindowMs?: number;
|
|
4162
|
+
perIpSends?: number;
|
|
4163
|
+
perEmailDomainSends?: number;
|
|
4164
|
+
perEmailSends?: number;
|
|
4165
|
+
codeAttemptWindowMs?: number;
|
|
4166
|
+
perSessionCodeAttempts?: number;
|
|
4167
|
+
redeemWindowMs?: number;
|
|
4168
|
+
redeemPerIp?: number;
|
|
4169
|
+
}>>>;
|
|
4170
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
4171
|
+
/**
|
|
4172
|
+
* Seconds a client-direct call's recording waits for missing shards after its terminal signal before it
|
|
4173
|
+
* is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
|
|
4174
|
+
*/
|
|
4175
|
+
recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2868
4176
|
}, z.ZodTypeAny, "passthrough">>;
|
|
2869
4177
|
declare const configInfoSchema: z.ZodObject<{
|
|
2870
4178
|
userHandling: z.ZodObject<{
|
|
@@ -2897,6 +4205,23 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2897
4205
|
contextUserForNewUserCreation: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
2898
4206
|
CreateUserApplicationRecords: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
2899
4207
|
UserApplications: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
4208
|
+
/**
|
|
4209
|
+
* Build each auto-created user as a copy of a template user (`User.IsTemplate`), so new people start
|
|
4210
|
+
* with its pinned apps, views, settings, dashboards and conversations. `email` names the template;
|
|
4211
|
+
* `preset` is the `MJ: Users` clone preset to apply (default `template`). The copy takes the roles
|
|
4212
|
+
* and apps of the template, so `newUserRoles`, `CreateUserApplicationRecords` and `UserApplications`
|
|
4213
|
+
* apply only when the template can't be used, in which case a plain user is created as before.
|
|
4214
|
+
*/
|
|
4215
|
+
newUserTemplate: z.ZodOptional<z.ZodObject<{
|
|
4216
|
+
email: z.ZodString;
|
|
4217
|
+
preset: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
4218
|
+
}, "strip", z.ZodTypeAny, {
|
|
4219
|
+
email?: string;
|
|
4220
|
+
preset?: string;
|
|
4221
|
+
}, {
|
|
4222
|
+
email?: string;
|
|
4223
|
+
preset?: string;
|
|
4224
|
+
}>>;
|
|
2900
4225
|
}, "strip", z.ZodTypeAny, {
|
|
2901
4226
|
autoCreateNewUsers?: boolean;
|
|
2902
4227
|
newUserLimitedToAuthorizedDomains?: boolean;
|
|
@@ -2907,6 +4232,10 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2907
4232
|
contextUserForNewUserCreation?: string;
|
|
2908
4233
|
CreateUserApplicationRecords?: boolean;
|
|
2909
4234
|
UserApplications?: string[];
|
|
4235
|
+
newUserTemplate?: {
|
|
4236
|
+
email?: string;
|
|
4237
|
+
preset?: string;
|
|
4238
|
+
};
|
|
2910
4239
|
}, {
|
|
2911
4240
|
autoCreateNewUsers?: boolean;
|
|
2912
4241
|
newUserLimitedToAuthorizedDomains?: boolean;
|
|
@@ -2917,6 +4246,10 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2917
4246
|
contextUserForNewUserCreation?: string;
|
|
2918
4247
|
CreateUserApplicationRecords?: boolean;
|
|
2919
4248
|
UserApplications?: string[];
|
|
4249
|
+
newUserTemplate?: {
|
|
4250
|
+
email?: string;
|
|
4251
|
+
preset?: string;
|
|
4252
|
+
};
|
|
2920
4253
|
}>;
|
|
2921
4254
|
magicLink: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
2922
4255
|
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
@@ -4658,12 +5991,915 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
4658
5991
|
realtime: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4659
5992
|
/** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
|
|
4660
5993
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
5994
|
+
/** Mid-session identity verification (off by default). */
|
|
5995
|
+
identityVerification: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
5996
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
5997
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
5998
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
5999
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6000
|
+
/** From address of the verification email. */
|
|
6001
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6002
|
+
/**
|
|
6003
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6004
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6005
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6006
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6007
|
+
*/
|
|
6008
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6009
|
+
/**
|
|
6010
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6011
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6012
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6013
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6014
|
+
*/
|
|
6015
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6016
|
+
/**
|
|
6017
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6018
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6019
|
+
*/
|
|
6020
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6021
|
+
/**
|
|
6022
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6023
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6024
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6025
|
+
*/
|
|
6026
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6027
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6028
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6029
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6030
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6031
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6032
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6033
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6034
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6035
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6036
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6037
|
+
}, "strip", z.ZodTypeAny, {
|
|
6038
|
+
requireBusinessDomain?: boolean;
|
|
6039
|
+
blockedDomains?: string[];
|
|
6040
|
+
consumerDomains?: string[];
|
|
6041
|
+
linkTtlMinutes?: number;
|
|
6042
|
+
maxSendsPerSession?: number;
|
|
6043
|
+
maxCodeAttempts?: number;
|
|
6044
|
+
unverifiedMaxSeconds?: number;
|
|
6045
|
+
verifiedMaxSeconds?: number;
|
|
6046
|
+
}, {
|
|
6047
|
+
requireBusinessDomain?: boolean;
|
|
6048
|
+
blockedDomains?: string[];
|
|
6049
|
+
consumerDomains?: string[];
|
|
6050
|
+
linkTtlMinutes?: number;
|
|
6051
|
+
maxSendsPerSession?: number;
|
|
6052
|
+
maxCodeAttempts?: number;
|
|
6053
|
+
unverifiedMaxSeconds?: number;
|
|
6054
|
+
verifiedMaxSeconds?: number;
|
|
6055
|
+
}>>>;
|
|
6056
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6057
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6058
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6059
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6060
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6061
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6062
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6063
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6064
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6065
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6066
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6067
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6068
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6069
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6070
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6071
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6072
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6073
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6074
|
+
}, "strip", z.ZodTypeAny, {
|
|
6075
|
+
sendWindowMs?: number;
|
|
6076
|
+
perIpSends?: number;
|
|
6077
|
+
perEmailDomainSends?: number;
|
|
6078
|
+
perEmailSends?: number;
|
|
6079
|
+
codeAttemptWindowMs?: number;
|
|
6080
|
+
perSessionCodeAttempts?: number;
|
|
6081
|
+
redeemWindowMs?: number;
|
|
6082
|
+
redeemPerIp?: number;
|
|
6083
|
+
}, {
|
|
6084
|
+
sendWindowMs?: number;
|
|
6085
|
+
perIpSends?: number;
|
|
6086
|
+
perEmailDomainSends?: number;
|
|
6087
|
+
perEmailSends?: number;
|
|
6088
|
+
codeAttemptWindowMs?: number;
|
|
6089
|
+
perSessionCodeAttempts?: number;
|
|
6090
|
+
redeemWindowMs?: number;
|
|
6091
|
+
redeemPerIp?: number;
|
|
6092
|
+
}>>>;
|
|
6093
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
6094
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6095
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6096
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6097
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6098
|
+
/** From address of the verification email. */
|
|
6099
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6100
|
+
/**
|
|
6101
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6102
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6103
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6104
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6105
|
+
*/
|
|
6106
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6107
|
+
/**
|
|
6108
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6109
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6110
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6111
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6112
|
+
*/
|
|
6113
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6114
|
+
/**
|
|
6115
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6116
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6117
|
+
*/
|
|
6118
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6119
|
+
/**
|
|
6120
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6121
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6122
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6123
|
+
*/
|
|
6124
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6125
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6126
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6127
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6128
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6129
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6130
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6131
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6132
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6133
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6134
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6135
|
+
}, "strip", z.ZodTypeAny, {
|
|
6136
|
+
requireBusinessDomain?: boolean;
|
|
6137
|
+
blockedDomains?: string[];
|
|
6138
|
+
consumerDomains?: string[];
|
|
6139
|
+
linkTtlMinutes?: number;
|
|
6140
|
+
maxSendsPerSession?: number;
|
|
6141
|
+
maxCodeAttempts?: number;
|
|
6142
|
+
unverifiedMaxSeconds?: number;
|
|
6143
|
+
verifiedMaxSeconds?: number;
|
|
6144
|
+
}, {
|
|
6145
|
+
requireBusinessDomain?: boolean;
|
|
6146
|
+
blockedDomains?: string[];
|
|
6147
|
+
consumerDomains?: string[];
|
|
6148
|
+
linkTtlMinutes?: number;
|
|
6149
|
+
maxSendsPerSession?: number;
|
|
6150
|
+
maxCodeAttempts?: number;
|
|
6151
|
+
unverifiedMaxSeconds?: number;
|
|
6152
|
+
verifiedMaxSeconds?: number;
|
|
6153
|
+
}>>>;
|
|
6154
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6155
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6156
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6157
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6158
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6159
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6160
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6161
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6162
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6163
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6164
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6165
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6166
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6167
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6168
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6169
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6170
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6171
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6172
|
+
}, "strip", z.ZodTypeAny, {
|
|
6173
|
+
sendWindowMs?: number;
|
|
6174
|
+
perIpSends?: number;
|
|
6175
|
+
perEmailDomainSends?: number;
|
|
6176
|
+
perEmailSends?: number;
|
|
6177
|
+
codeAttemptWindowMs?: number;
|
|
6178
|
+
perSessionCodeAttempts?: number;
|
|
6179
|
+
redeemWindowMs?: number;
|
|
6180
|
+
redeemPerIp?: number;
|
|
6181
|
+
}, {
|
|
6182
|
+
sendWindowMs?: number;
|
|
6183
|
+
perIpSends?: number;
|
|
6184
|
+
perEmailDomainSends?: number;
|
|
6185
|
+
perEmailSends?: number;
|
|
6186
|
+
codeAttemptWindowMs?: number;
|
|
6187
|
+
perSessionCodeAttempts?: number;
|
|
6188
|
+
redeemWindowMs?: number;
|
|
6189
|
+
redeemPerIp?: number;
|
|
6190
|
+
}>>>;
|
|
6191
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
6192
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6193
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6194
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6195
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6196
|
+
/** From address of the verification email. */
|
|
6197
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6198
|
+
/**
|
|
6199
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6200
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6201
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6202
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6203
|
+
*/
|
|
6204
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6205
|
+
/**
|
|
6206
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6207
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6208
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6209
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6210
|
+
*/
|
|
6211
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6212
|
+
/**
|
|
6213
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6214
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6215
|
+
*/
|
|
6216
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6217
|
+
/**
|
|
6218
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6219
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6220
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6221
|
+
*/
|
|
6222
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6223
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6224
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6225
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6226
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6227
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6228
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6229
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6230
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6231
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6232
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6233
|
+
}, "strip", z.ZodTypeAny, {
|
|
6234
|
+
requireBusinessDomain?: boolean;
|
|
6235
|
+
blockedDomains?: string[];
|
|
6236
|
+
consumerDomains?: string[];
|
|
6237
|
+
linkTtlMinutes?: number;
|
|
6238
|
+
maxSendsPerSession?: number;
|
|
6239
|
+
maxCodeAttempts?: number;
|
|
6240
|
+
unverifiedMaxSeconds?: number;
|
|
6241
|
+
verifiedMaxSeconds?: number;
|
|
6242
|
+
}, {
|
|
6243
|
+
requireBusinessDomain?: boolean;
|
|
6244
|
+
blockedDomains?: string[];
|
|
6245
|
+
consumerDomains?: string[];
|
|
6246
|
+
linkTtlMinutes?: number;
|
|
6247
|
+
maxSendsPerSession?: number;
|
|
6248
|
+
maxCodeAttempts?: number;
|
|
6249
|
+
unverifiedMaxSeconds?: number;
|
|
6250
|
+
verifiedMaxSeconds?: number;
|
|
6251
|
+
}>>>;
|
|
6252
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6253
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6254
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6255
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6256
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6257
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6258
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6259
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6260
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6261
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6262
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6263
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6264
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6265
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6266
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6267
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6268
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6269
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6270
|
+
}, "strip", z.ZodTypeAny, {
|
|
6271
|
+
sendWindowMs?: number;
|
|
6272
|
+
perIpSends?: number;
|
|
6273
|
+
perEmailDomainSends?: number;
|
|
6274
|
+
perEmailSends?: number;
|
|
6275
|
+
codeAttemptWindowMs?: number;
|
|
6276
|
+
perSessionCodeAttempts?: number;
|
|
6277
|
+
redeemWindowMs?: number;
|
|
6278
|
+
redeemPerIp?: number;
|
|
6279
|
+
}, {
|
|
6280
|
+
sendWindowMs?: number;
|
|
6281
|
+
perIpSends?: number;
|
|
6282
|
+
perEmailDomainSends?: number;
|
|
6283
|
+
perEmailSends?: number;
|
|
6284
|
+
codeAttemptWindowMs?: number;
|
|
6285
|
+
perSessionCodeAttempts?: number;
|
|
6286
|
+
redeemWindowMs?: number;
|
|
6287
|
+
redeemPerIp?: number;
|
|
6288
|
+
}>>>;
|
|
6289
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
6290
|
+
/**
|
|
6291
|
+
* Seconds a client-direct call's recording waits for missing shards after its terminal signal before it
|
|
6292
|
+
* is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
|
|
6293
|
+
*/
|
|
6294
|
+
recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4661
6295
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
4662
6296
|
/** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
|
|
4663
6297
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6298
|
+
/** Mid-session identity verification (off by default). */
|
|
6299
|
+
identityVerification: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6300
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6301
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6302
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6303
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6304
|
+
/** From address of the verification email. */
|
|
6305
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6306
|
+
/**
|
|
6307
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6308
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6309
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6310
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6311
|
+
*/
|
|
6312
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6313
|
+
/**
|
|
6314
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6315
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6316
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6317
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6318
|
+
*/
|
|
6319
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6320
|
+
/**
|
|
6321
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6322
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6323
|
+
*/
|
|
6324
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6325
|
+
/**
|
|
6326
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6327
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6328
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6329
|
+
*/
|
|
6330
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6331
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6332
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6333
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6334
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6335
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6336
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6337
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6338
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6339
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6340
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6341
|
+
}, "strip", z.ZodTypeAny, {
|
|
6342
|
+
requireBusinessDomain?: boolean;
|
|
6343
|
+
blockedDomains?: string[];
|
|
6344
|
+
consumerDomains?: string[];
|
|
6345
|
+
linkTtlMinutes?: number;
|
|
6346
|
+
maxSendsPerSession?: number;
|
|
6347
|
+
maxCodeAttempts?: number;
|
|
6348
|
+
unverifiedMaxSeconds?: number;
|
|
6349
|
+
verifiedMaxSeconds?: number;
|
|
6350
|
+
}, {
|
|
6351
|
+
requireBusinessDomain?: boolean;
|
|
6352
|
+
blockedDomains?: string[];
|
|
6353
|
+
consumerDomains?: string[];
|
|
6354
|
+
linkTtlMinutes?: number;
|
|
6355
|
+
maxSendsPerSession?: number;
|
|
6356
|
+
maxCodeAttempts?: number;
|
|
6357
|
+
unverifiedMaxSeconds?: number;
|
|
6358
|
+
verifiedMaxSeconds?: number;
|
|
6359
|
+
}>>>;
|
|
6360
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6361
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6362
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6363
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6364
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6365
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6366
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6367
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6368
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6369
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6370
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6371
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6372
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6373
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6374
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6375
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6376
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6377
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6378
|
+
}, "strip", z.ZodTypeAny, {
|
|
6379
|
+
sendWindowMs?: number;
|
|
6380
|
+
perIpSends?: number;
|
|
6381
|
+
perEmailDomainSends?: number;
|
|
6382
|
+
perEmailSends?: number;
|
|
6383
|
+
codeAttemptWindowMs?: number;
|
|
6384
|
+
perSessionCodeAttempts?: number;
|
|
6385
|
+
redeemWindowMs?: number;
|
|
6386
|
+
redeemPerIp?: number;
|
|
6387
|
+
}, {
|
|
6388
|
+
sendWindowMs?: number;
|
|
6389
|
+
perIpSends?: number;
|
|
6390
|
+
perEmailDomainSends?: number;
|
|
6391
|
+
perEmailSends?: number;
|
|
6392
|
+
codeAttemptWindowMs?: number;
|
|
6393
|
+
perSessionCodeAttempts?: number;
|
|
6394
|
+
redeemWindowMs?: number;
|
|
6395
|
+
redeemPerIp?: number;
|
|
6396
|
+
}>>>;
|
|
6397
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
6398
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6399
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6400
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6401
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6402
|
+
/** From address of the verification email. */
|
|
6403
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6404
|
+
/**
|
|
6405
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6406
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6407
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6408
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6409
|
+
*/
|
|
6410
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6411
|
+
/**
|
|
6412
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6413
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6414
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6415
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6416
|
+
*/
|
|
6417
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6418
|
+
/**
|
|
6419
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6420
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6421
|
+
*/
|
|
6422
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6423
|
+
/**
|
|
6424
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6425
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6426
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6427
|
+
*/
|
|
6428
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6429
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6430
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6431
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6432
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6433
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6434
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6435
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6436
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6437
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6438
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6439
|
+
}, "strip", z.ZodTypeAny, {
|
|
6440
|
+
requireBusinessDomain?: boolean;
|
|
6441
|
+
blockedDomains?: string[];
|
|
6442
|
+
consumerDomains?: string[];
|
|
6443
|
+
linkTtlMinutes?: number;
|
|
6444
|
+
maxSendsPerSession?: number;
|
|
6445
|
+
maxCodeAttempts?: number;
|
|
6446
|
+
unverifiedMaxSeconds?: number;
|
|
6447
|
+
verifiedMaxSeconds?: number;
|
|
6448
|
+
}, {
|
|
6449
|
+
requireBusinessDomain?: boolean;
|
|
6450
|
+
blockedDomains?: string[];
|
|
6451
|
+
consumerDomains?: string[];
|
|
6452
|
+
linkTtlMinutes?: number;
|
|
6453
|
+
maxSendsPerSession?: number;
|
|
6454
|
+
maxCodeAttempts?: number;
|
|
6455
|
+
unverifiedMaxSeconds?: number;
|
|
6456
|
+
verifiedMaxSeconds?: number;
|
|
6457
|
+
}>>>;
|
|
6458
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6459
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6460
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6461
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6462
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6463
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6464
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6465
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6466
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6467
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6468
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6469
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6470
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6471
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6472
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6473
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6474
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6475
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6476
|
+
}, "strip", z.ZodTypeAny, {
|
|
6477
|
+
sendWindowMs?: number;
|
|
6478
|
+
perIpSends?: number;
|
|
6479
|
+
perEmailDomainSends?: number;
|
|
6480
|
+
perEmailSends?: number;
|
|
6481
|
+
codeAttemptWindowMs?: number;
|
|
6482
|
+
perSessionCodeAttempts?: number;
|
|
6483
|
+
redeemWindowMs?: number;
|
|
6484
|
+
redeemPerIp?: number;
|
|
6485
|
+
}, {
|
|
6486
|
+
sendWindowMs?: number;
|
|
6487
|
+
perIpSends?: number;
|
|
6488
|
+
perEmailDomainSends?: number;
|
|
6489
|
+
perEmailSends?: number;
|
|
6490
|
+
codeAttemptWindowMs?: number;
|
|
6491
|
+
perSessionCodeAttempts?: number;
|
|
6492
|
+
redeemWindowMs?: number;
|
|
6493
|
+
redeemPerIp?: number;
|
|
6494
|
+
}>>>;
|
|
6495
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
6496
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6497
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6498
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6499
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6500
|
+
/** From address of the verification email. */
|
|
6501
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6502
|
+
/**
|
|
6503
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6504
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6505
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6506
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6507
|
+
*/
|
|
6508
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6509
|
+
/**
|
|
6510
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6511
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6512
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6513
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6514
|
+
*/
|
|
6515
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6516
|
+
/**
|
|
6517
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6518
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6519
|
+
*/
|
|
6520
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6521
|
+
/**
|
|
6522
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6523
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6524
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6525
|
+
*/
|
|
6526
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6527
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6528
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6529
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6530
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6531
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6532
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6533
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6534
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6535
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6536
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6537
|
+
}, "strip", z.ZodTypeAny, {
|
|
6538
|
+
requireBusinessDomain?: boolean;
|
|
6539
|
+
blockedDomains?: string[];
|
|
6540
|
+
consumerDomains?: string[];
|
|
6541
|
+
linkTtlMinutes?: number;
|
|
6542
|
+
maxSendsPerSession?: number;
|
|
6543
|
+
maxCodeAttempts?: number;
|
|
6544
|
+
unverifiedMaxSeconds?: number;
|
|
6545
|
+
verifiedMaxSeconds?: number;
|
|
6546
|
+
}, {
|
|
6547
|
+
requireBusinessDomain?: boolean;
|
|
6548
|
+
blockedDomains?: string[];
|
|
6549
|
+
consumerDomains?: string[];
|
|
6550
|
+
linkTtlMinutes?: number;
|
|
6551
|
+
maxSendsPerSession?: number;
|
|
6552
|
+
maxCodeAttempts?: number;
|
|
6553
|
+
unverifiedMaxSeconds?: number;
|
|
6554
|
+
verifiedMaxSeconds?: number;
|
|
6555
|
+
}>>>;
|
|
6556
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6557
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6558
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6559
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6560
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6561
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6562
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6563
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6564
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6565
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6566
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6567
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6568
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6569
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6570
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6571
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6572
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6573
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6574
|
+
}, "strip", z.ZodTypeAny, {
|
|
6575
|
+
sendWindowMs?: number;
|
|
6576
|
+
perIpSends?: number;
|
|
6577
|
+
perEmailDomainSends?: number;
|
|
6578
|
+
perEmailSends?: number;
|
|
6579
|
+
codeAttemptWindowMs?: number;
|
|
6580
|
+
perSessionCodeAttempts?: number;
|
|
6581
|
+
redeemWindowMs?: number;
|
|
6582
|
+
redeemPerIp?: number;
|
|
6583
|
+
}, {
|
|
6584
|
+
sendWindowMs?: number;
|
|
6585
|
+
perIpSends?: number;
|
|
6586
|
+
perEmailDomainSends?: number;
|
|
6587
|
+
perEmailSends?: number;
|
|
6588
|
+
codeAttemptWindowMs?: number;
|
|
6589
|
+
perSessionCodeAttempts?: number;
|
|
6590
|
+
redeemWindowMs?: number;
|
|
6591
|
+
redeemPerIp?: number;
|
|
6592
|
+
}>>>;
|
|
6593
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
6594
|
+
/**
|
|
6595
|
+
* Seconds a client-direct call's recording waits for missing shards after its terminal signal before it
|
|
6596
|
+
* is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
|
|
6597
|
+
*/
|
|
6598
|
+
recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4664
6599
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
4665
6600
|
/** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
|
|
4666
6601
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6602
|
+
/** Mid-session identity verification (off by default). */
|
|
6603
|
+
identityVerification: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6604
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6605
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6606
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6607
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6608
|
+
/** From address of the verification email. */
|
|
6609
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6610
|
+
/**
|
|
6611
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6612
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6613
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6614
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6615
|
+
*/
|
|
6616
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6617
|
+
/**
|
|
6618
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6619
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6620
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6621
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6622
|
+
*/
|
|
6623
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6624
|
+
/**
|
|
6625
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6626
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6627
|
+
*/
|
|
6628
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6629
|
+
/**
|
|
6630
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6631
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6632
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6633
|
+
*/
|
|
6634
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6635
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6636
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6637
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6638
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6639
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6640
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6641
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6642
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6643
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6644
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6645
|
+
}, "strip", z.ZodTypeAny, {
|
|
6646
|
+
requireBusinessDomain?: boolean;
|
|
6647
|
+
blockedDomains?: string[];
|
|
6648
|
+
consumerDomains?: string[];
|
|
6649
|
+
linkTtlMinutes?: number;
|
|
6650
|
+
maxSendsPerSession?: number;
|
|
6651
|
+
maxCodeAttempts?: number;
|
|
6652
|
+
unverifiedMaxSeconds?: number;
|
|
6653
|
+
verifiedMaxSeconds?: number;
|
|
6654
|
+
}, {
|
|
6655
|
+
requireBusinessDomain?: boolean;
|
|
6656
|
+
blockedDomains?: string[];
|
|
6657
|
+
consumerDomains?: string[];
|
|
6658
|
+
linkTtlMinutes?: number;
|
|
6659
|
+
maxSendsPerSession?: number;
|
|
6660
|
+
maxCodeAttempts?: number;
|
|
6661
|
+
unverifiedMaxSeconds?: number;
|
|
6662
|
+
verifiedMaxSeconds?: number;
|
|
6663
|
+
}>>>;
|
|
6664
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6665
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6666
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6667
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6668
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6669
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6670
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6671
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6672
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6673
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6674
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6675
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6676
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6677
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6678
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6679
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6680
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6681
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6682
|
+
}, "strip", z.ZodTypeAny, {
|
|
6683
|
+
sendWindowMs?: number;
|
|
6684
|
+
perIpSends?: number;
|
|
6685
|
+
perEmailDomainSends?: number;
|
|
6686
|
+
perEmailSends?: number;
|
|
6687
|
+
codeAttemptWindowMs?: number;
|
|
6688
|
+
perSessionCodeAttempts?: number;
|
|
6689
|
+
redeemWindowMs?: number;
|
|
6690
|
+
redeemPerIp?: number;
|
|
6691
|
+
}, {
|
|
6692
|
+
sendWindowMs?: number;
|
|
6693
|
+
perIpSends?: number;
|
|
6694
|
+
perEmailDomainSends?: number;
|
|
6695
|
+
perEmailSends?: number;
|
|
6696
|
+
codeAttemptWindowMs?: number;
|
|
6697
|
+
perSessionCodeAttempts?: number;
|
|
6698
|
+
redeemWindowMs?: number;
|
|
6699
|
+
redeemPerIp?: number;
|
|
6700
|
+
}>>>;
|
|
6701
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
6702
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6703
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6704
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6705
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6706
|
+
/** From address of the verification email. */
|
|
6707
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6708
|
+
/**
|
|
6709
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6710
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6711
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6712
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6713
|
+
*/
|
|
6714
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6715
|
+
/**
|
|
6716
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6717
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6718
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6719
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6720
|
+
*/
|
|
6721
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6722
|
+
/**
|
|
6723
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6724
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6725
|
+
*/
|
|
6726
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6727
|
+
/**
|
|
6728
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6729
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6730
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6731
|
+
*/
|
|
6732
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6733
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6734
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6735
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6736
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6737
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6738
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6739
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6740
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6741
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6742
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6743
|
+
}, "strip", z.ZodTypeAny, {
|
|
6744
|
+
requireBusinessDomain?: boolean;
|
|
6745
|
+
blockedDomains?: string[];
|
|
6746
|
+
consumerDomains?: string[];
|
|
6747
|
+
linkTtlMinutes?: number;
|
|
6748
|
+
maxSendsPerSession?: number;
|
|
6749
|
+
maxCodeAttempts?: number;
|
|
6750
|
+
unverifiedMaxSeconds?: number;
|
|
6751
|
+
verifiedMaxSeconds?: number;
|
|
6752
|
+
}, {
|
|
6753
|
+
requireBusinessDomain?: boolean;
|
|
6754
|
+
blockedDomains?: string[];
|
|
6755
|
+
consumerDomains?: string[];
|
|
6756
|
+
linkTtlMinutes?: number;
|
|
6757
|
+
maxSendsPerSession?: number;
|
|
6758
|
+
maxCodeAttempts?: number;
|
|
6759
|
+
unverifiedMaxSeconds?: number;
|
|
6760
|
+
verifiedMaxSeconds?: number;
|
|
6761
|
+
}>>>;
|
|
6762
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6763
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6764
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6765
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6766
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6767
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6768
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6769
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6770
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6771
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6772
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6773
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6774
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6775
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6776
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6777
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6778
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6779
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6780
|
+
}, "strip", z.ZodTypeAny, {
|
|
6781
|
+
sendWindowMs?: number;
|
|
6782
|
+
perIpSends?: number;
|
|
6783
|
+
perEmailDomainSends?: number;
|
|
6784
|
+
perEmailSends?: number;
|
|
6785
|
+
codeAttemptWindowMs?: number;
|
|
6786
|
+
perSessionCodeAttempts?: number;
|
|
6787
|
+
redeemWindowMs?: number;
|
|
6788
|
+
redeemPerIp?: number;
|
|
6789
|
+
}, {
|
|
6790
|
+
sendWindowMs?: number;
|
|
6791
|
+
perIpSends?: number;
|
|
6792
|
+
perEmailDomainSends?: number;
|
|
6793
|
+
perEmailSends?: number;
|
|
6794
|
+
codeAttemptWindowMs?: number;
|
|
6795
|
+
perSessionCodeAttempts?: number;
|
|
6796
|
+
redeemWindowMs?: number;
|
|
6797
|
+
redeemPerIp?: number;
|
|
6798
|
+
}>>>;
|
|
6799
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
6800
|
+
/** Master switch. When false the verify routes are not mounted and the GraphQL operations refuse. */
|
|
6801
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
6802
|
+
/** CommunicationEngine provider that delivers the verification email (e.g. 'SendGrid', 'Microsoft Graph'). Required to send. */
|
|
6803
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
6804
|
+
/** From address of the verification email. */
|
|
6805
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
6806
|
+
/**
|
|
6807
|
+
* Server-only secret the typed verification code is HMAC'd under before it is stored on the session
|
|
6808
|
+
* (at least 16 characters; 32+ random characters recommended). REQUIRED: without it verification is
|
|
6809
|
+
* unavailable, because a session's owner can read their own session row and a bare hash of a six-digit
|
|
6810
|
+
* code can be reversed offline. Never exposed to clients. Rotating it voids pending verifications only.
|
|
6811
|
+
*/
|
|
6812
|
+
hmacSecret: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
6813
|
+
/**
|
|
6814
|
+
* `send` (default) delivers the email. `dry-run` builds and logs the message through the communication
|
|
6815
|
+
* provider WITHOUT delivering it — for rehearsal and integration environments, where a test reads the
|
|
6816
|
+
* emailed link and code from the `MJ: Communication Logs` row. Never use `dry-run` in production: the
|
|
6817
|
+
* Communication Log then holds live credentials and no one is emailed.
|
|
6818
|
+
*/
|
|
6819
|
+
deliveryMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "dry-run"]>>>;
|
|
6820
|
+
/**
|
|
6821
|
+
* Base URL the emailed link is built from (`<publicBaseUrl>/realtime/verify/<token>`). Defaults to the
|
|
6822
|
+
* server's `publicUrl`, or `baseUrl:graphqlPort` when that is unset — the same derivation magic links use.
|
|
6823
|
+
*/
|
|
6824
|
+
publicBaseUrl: z.ZodOptional<z.ZodString>;
|
|
6825
|
+
/**
|
|
6826
|
+
* The internal user the server acts as to read/write the session, send the email and write the audit
|
|
6827
|
+
* row, matched against `User.Name` then `User.Email` (falls back to the system user, then the lowest-ID
|
|
6828
|
+
* active Owner). The verify link is public, so it has no caller identity of its own.
|
|
6829
|
+
*/
|
|
6830
|
+
contextUserForVerification: z.ZodOptional<z.ZodString>;
|
|
6831
|
+
/** Base policy layer; each knob here is overridden by the per-session cascade layer. */
|
|
6832
|
+
policy: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6833
|
+
requireBusinessDomain: z.ZodOptional<z.ZodBoolean>;
|
|
6834
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6835
|
+
consumerDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6836
|
+
linkTtlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
6837
|
+
maxSendsPerSession: z.ZodOptional<z.ZodNumber>;
|
|
6838
|
+
maxCodeAttempts: z.ZodOptional<z.ZodNumber>;
|
|
6839
|
+
unverifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6840
|
+
verifiedMaxSeconds: z.ZodOptional<z.ZodNumber>;
|
|
6841
|
+
}, "strip", z.ZodTypeAny, {
|
|
6842
|
+
requireBusinessDomain?: boolean;
|
|
6843
|
+
blockedDomains?: string[];
|
|
6844
|
+
consumerDomains?: string[];
|
|
6845
|
+
linkTtlMinutes?: number;
|
|
6846
|
+
maxSendsPerSession?: number;
|
|
6847
|
+
maxCodeAttempts?: number;
|
|
6848
|
+
unverifiedMaxSeconds?: number;
|
|
6849
|
+
verifiedMaxSeconds?: number;
|
|
6850
|
+
}, {
|
|
6851
|
+
requireBusinessDomain?: boolean;
|
|
6852
|
+
blockedDomains?: string[];
|
|
6853
|
+
consumerDomains?: string[];
|
|
6854
|
+
linkTtlMinutes?: number;
|
|
6855
|
+
maxSendsPerSession?: number;
|
|
6856
|
+
maxCodeAttempts?: number;
|
|
6857
|
+
unverifiedMaxSeconds?: number;
|
|
6858
|
+
verifiedMaxSeconds?: number;
|
|
6859
|
+
}>>>;
|
|
6860
|
+
/** Send-side and attempt-side limits (per instance, in memory; per-session limits are persisted and exact). */
|
|
6861
|
+
rateLimits: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
6862
|
+
/** Window (ms) for the three send limits. Default 1 hour. */
|
|
6863
|
+
sendWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6864
|
+
/** Verification emails per client IP per window. Default 10. 0 disables. */
|
|
6865
|
+
perIpSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6866
|
+
/** Verification emails per recipient domain per window. Default 30. 0 disables. */
|
|
6867
|
+
perEmailDomainSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6868
|
+
/** Verification emails per recipient address per window — stops the feature being used to mail-bomb one inbox. Default 3. 0 disables. */
|
|
6869
|
+
perEmailSends: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6870
|
+
/** Window (ms) for code attempts. Default 10 minutes. */
|
|
6871
|
+
codeAttemptWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6872
|
+
/** Code submissions per session per window. Default 10. 0 disables. */
|
|
6873
|
+
perSessionCodeAttempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6874
|
+
/** Window (ms) of the public `/realtime/verify` route limiter. Default 60s. */
|
|
6875
|
+
redeemWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6876
|
+
/** `/realtime/verify` requests per IP per window. Default 30. */
|
|
6877
|
+
redeemPerIp: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6878
|
+
}, "strip", z.ZodTypeAny, {
|
|
6879
|
+
sendWindowMs?: number;
|
|
6880
|
+
perIpSends?: number;
|
|
6881
|
+
perEmailDomainSends?: number;
|
|
6882
|
+
perEmailSends?: number;
|
|
6883
|
+
codeAttemptWindowMs?: number;
|
|
6884
|
+
perSessionCodeAttempts?: number;
|
|
6885
|
+
redeemWindowMs?: number;
|
|
6886
|
+
redeemPerIp?: number;
|
|
6887
|
+
}, {
|
|
6888
|
+
sendWindowMs?: number;
|
|
6889
|
+
perIpSends?: number;
|
|
6890
|
+
perEmailDomainSends?: number;
|
|
6891
|
+
perEmailSends?: number;
|
|
6892
|
+
codeAttemptWindowMs?: number;
|
|
6893
|
+
perSessionCodeAttempts?: number;
|
|
6894
|
+
redeemWindowMs?: number;
|
|
6895
|
+
redeemPerIp?: number;
|
|
6896
|
+
}>>>;
|
|
6897
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
6898
|
+
/**
|
|
6899
|
+
* Seconds a client-direct call's recording waits for missing shards after its terminal signal before it
|
|
6900
|
+
* is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
|
|
6901
|
+
*/
|
|
6902
|
+
recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4667
6903
|
}, z.ZodTypeAny, "passthrough">>>>;
|
|
4668
6904
|
databaseSettings: z.ZodObject<{
|
|
4669
6905
|
connectionTimeout: z.ZodNumber;
|
|
@@ -5091,19 +7327,19 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5091
7327
|
writeProtection?: "strict" | "log" | "off";
|
|
5092
7328
|
}>>>;
|
|
5093
7329
|
serverExtensions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5094
|
-
Enabled: z.
|
|
7330
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
5095
7331
|
DriverClass: z.ZodString;
|
|
5096
|
-
RootPath: z.ZodString
|
|
7332
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
5097
7333
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5098
7334
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
5099
|
-
Enabled: z.
|
|
7335
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
5100
7336
|
DriverClass: z.ZodString;
|
|
5101
|
-
RootPath: z.ZodString
|
|
7337
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
5102
7338
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5103
7339
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
5104
|
-
Enabled: z.
|
|
7340
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
5105
7341
|
DriverClass: z.ZodString;
|
|
5106
|
-
RootPath: z.ZodString
|
|
7342
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
5107
7343
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5108
7344
|
}, z.ZodTypeAny, "passthrough">>, "many">>>;
|
|
5109
7345
|
cacheSettings: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
@@ -5111,6 +7347,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5111
7347
|
maxMemoryMB: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
5112
7348
|
/** Maximum percentage of total cache memory that any single entity can occupy. Default: 50. Set to 0 to disable. */
|
|
5113
7349
|
maxPercentOfCachePerEntity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7350
|
+
/**
|
|
7351
|
+
* Ceiling on any ONE cache entry. 'auto' (the default) derives it from maxMemoryMB, so the
|
|
7352
|
+
* largest entity the server caches scales with the memory the cache was given; a number is an
|
|
7353
|
+
* explicit stricter percentage of maxMemoryMB; 0 removes the ceiling. Leave it on 'auto' unless
|
|
7354
|
+
* a specific entry must be kept out of the cache — an entry declined by the ceiling is re-read
|
|
7355
|
+
* from the database on every call, and the server logs which maxMemoryMB would admit it.
|
|
7356
|
+
*/
|
|
7357
|
+
maxEntryPercentOfCache: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"auto">]>>>;
|
|
5114
7358
|
/** Default TTL in seconds. 0 = no TTL, rely on event-based invalidation. Default: 0. */
|
|
5115
7359
|
defaultTTLSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
5116
7360
|
/** Interval in seconds for periodic eviction sweep. 0 = disabled. Default: 300 (5 minutes). */
|
|
@@ -5140,20 +7384,64 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5140
7384
|
* every signed-in user may read every row of every entity.
|
|
5141
7385
|
*/
|
|
5142
7386
|
recordDataBroadcastEntities: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
7387
|
+
/**
|
|
7388
|
+
* Expiry, in seconds, of entries in the shared Redis cache (used when REDIS_URL is set). The
|
|
7389
|
+
* REDIS_TTL_SECONDS environment variable overrides it. 0 stores entries without expiry. When
|
|
7390
|
+
* neither is set, the Redis provider's default applies (one hour).
|
|
7391
|
+
*/
|
|
7392
|
+
sharedCacheTTLSeconds: z.ZodOptional<z.ZodNumber>;
|
|
7393
|
+
/**
|
|
7394
|
+
* How often, in seconds, loaded engines compare their rows with the database and reload what
|
|
7395
|
+
* changed without an MJ event (direct SQL, other applications). With a shared cache one server
|
|
7396
|
+
* does it per interval. 0 = disabled. Default: 300 (5 minutes).
|
|
7397
|
+
*/
|
|
7398
|
+
engineSweepIntervalSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7399
|
+
/**
|
|
7400
|
+
* How often, in seconds, the user cache compares two row counts and the newest update timestamp
|
|
7401
|
+
* with the database and reloads only when they differ. The cache already refreshes on MJ writes
|
|
7402
|
+
* (locally and, with a shared cache, on other servers); this covers changes made outside MJ.
|
|
7403
|
+
* 0 = disabled. Default: 300 (5 minutes).
|
|
7404
|
+
*/
|
|
7405
|
+
userCacheCheckIntervalSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7406
|
+
/**
|
|
7407
|
+
* How often to compare this process's metadata with the database, in seconds (0 disables).
|
|
7408
|
+
* Costs nothing unless an entity the metadata is built from declares
|
|
7409
|
+
* `TrustServerCacheCompletely = false`; see `ProviderBase.SweepMetadataAgainstDatabase`.
|
|
7410
|
+
*/
|
|
7411
|
+
metadataSweepIntervalSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7412
|
+
/**
|
|
7413
|
+
* How long, in seconds, a server holds the shared warm-up turn while it loads its engines, so
|
|
7414
|
+
* servers starting together load one at a time and the rest find the cache warm. The lease is
|
|
7415
|
+
* renewed while the load runs; this value is both its expiry and how long another server waits
|
|
7416
|
+
* for it. 0 disables the turn-taking. Default: 30.
|
|
7417
|
+
*/
|
|
7418
|
+
startupWarmupLeaseSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
5143
7419
|
}, "strip", z.ZodTypeAny, {
|
|
5144
7420
|
maxMemoryMB?: number;
|
|
5145
7421
|
maxPercentOfCachePerEntity?: number;
|
|
7422
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
5146
7423
|
defaultTTLSeconds?: number;
|
|
5147
7424
|
evictionSweepIntervalSeconds?: number;
|
|
5148
7425
|
verboseLogging?: boolean;
|
|
5149
7426
|
recordDataBroadcastEntities?: string[];
|
|
7427
|
+
sharedCacheTTLSeconds?: number;
|
|
7428
|
+
engineSweepIntervalSeconds?: number;
|
|
7429
|
+
userCacheCheckIntervalSeconds?: number;
|
|
7430
|
+
metadataSweepIntervalSeconds?: number;
|
|
7431
|
+
startupWarmupLeaseSeconds?: number;
|
|
5150
7432
|
}, {
|
|
5151
7433
|
maxMemoryMB?: number;
|
|
5152
7434
|
maxPercentOfCachePerEntity?: number;
|
|
7435
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
5153
7436
|
defaultTTLSeconds?: number;
|
|
5154
7437
|
evictionSweepIntervalSeconds?: number;
|
|
5155
7438
|
verboseLogging?: boolean;
|
|
5156
7439
|
recordDataBroadcastEntities?: string[];
|
|
7440
|
+
sharedCacheTTLSeconds?: number;
|
|
7441
|
+
engineSweepIntervalSeconds?: number;
|
|
7442
|
+
userCacheCheckIntervalSeconds?: number;
|
|
7443
|
+
metadataSweepIntervalSeconds?: number;
|
|
7444
|
+
startupWarmupLeaseSeconds?: number;
|
|
5157
7445
|
}>>>;
|
|
5158
7446
|
loggingSettings: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
5159
7447
|
graphql: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
@@ -5181,6 +7469,18 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5181
7469
|
logVariables?: boolean;
|
|
5182
7470
|
};
|
|
5183
7471
|
}>>>;
|
|
7472
|
+
aiPromptRuns: z.ZodOptional<z.ZodObject<{
|
|
7473
|
+
/**
|
|
7474
|
+
* Server default for which template inputs prompt runs store in AIPromptRun.Messages:
|
|
7475
|
+
* 'None' (key sizes only), 'Referenced' (keys the templates read) or 'Full'.
|
|
7476
|
+
* AIPrompt.TemplateDataCapture and AIPromptParams.TemplateDataCapture override it.
|
|
7477
|
+
*/
|
|
7478
|
+
templateDataCapture: z.ZodOptional<z.ZodEnum<["None", "Referenced", "Full"]>>;
|
|
7479
|
+
}, "strip", z.ZodTypeAny, {
|
|
7480
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
7481
|
+
}, {
|
|
7482
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
7483
|
+
}>>;
|
|
5184
7484
|
feedbackSettings: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
5185
7485
|
/** Org-level kill switch for the in-app feedback feature. Defaults to true (enabled). */
|
|
5186
7486
|
enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -5350,6 +7650,12 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5350
7650
|
___codeGenAPIPort: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
5351
7651
|
___codeGenAPISubmissionDelay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
5352
7652
|
graphqlRootPath: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
7653
|
+
/**
|
|
7654
|
+
* Path prefix MJAPI mounts every route it serves under (core routes and server extensions), on its own
|
|
7655
|
+
* listener. `/` unless a proxy forwards a prefix WITHOUT stripping it (e.g. CloudFront `/api/*` → MJAPI):
|
|
7656
|
+
* then set `MJAPI_BASE_PATH=/api`. Independent of `graphqlRootPath`, which is only Apollo's path. MJ #5674.
|
|
7657
|
+
*/
|
|
7658
|
+
apiBasePath: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
5353
7659
|
enableIntrospection: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
5354
7660
|
websiteRunFromPackage: z.ZodOptional<z.ZodNumber>;
|
|
5355
7661
|
userEmailMap: z.ZodOptional<z.ZodEffects<z.ZodString, Record<string, string>, string>>;
|
|
@@ -5368,6 +7674,10 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5368
7674
|
contextUserForNewUserCreation?: string;
|
|
5369
7675
|
CreateUserApplicationRecords?: boolean;
|
|
5370
7676
|
UserApplications?: string[];
|
|
7677
|
+
newUserTemplate?: {
|
|
7678
|
+
email?: string;
|
|
7679
|
+
preset?: string;
|
|
7680
|
+
};
|
|
5371
7681
|
};
|
|
5372
7682
|
magicLink?: {
|
|
5373
7683
|
enabled?: boolean;
|
|
@@ -5501,6 +7811,38 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5501
7811
|
};
|
|
5502
7812
|
realtime?: {
|
|
5503
7813
|
enabled?: boolean;
|
|
7814
|
+
identityVerification?: {
|
|
7815
|
+
enabled?: boolean;
|
|
7816
|
+
communicationProvider?: string;
|
|
7817
|
+
fromAddress?: string;
|
|
7818
|
+
hmacSecret?: string;
|
|
7819
|
+
deliveryMode?: "send" | "dry-run";
|
|
7820
|
+
publicBaseUrl?: string;
|
|
7821
|
+
contextUserForVerification?: string;
|
|
7822
|
+
policy?: {
|
|
7823
|
+
requireBusinessDomain?: boolean;
|
|
7824
|
+
blockedDomains?: string[];
|
|
7825
|
+
consumerDomains?: string[];
|
|
7826
|
+
linkTtlMinutes?: number;
|
|
7827
|
+
maxSendsPerSession?: number;
|
|
7828
|
+
maxCodeAttempts?: number;
|
|
7829
|
+
unverifiedMaxSeconds?: number;
|
|
7830
|
+
verifiedMaxSeconds?: number;
|
|
7831
|
+
};
|
|
7832
|
+
rateLimits?: {
|
|
7833
|
+
sendWindowMs?: number;
|
|
7834
|
+
perIpSends?: number;
|
|
7835
|
+
perEmailDomainSends?: number;
|
|
7836
|
+
perEmailSends?: number;
|
|
7837
|
+
codeAttemptWindowMs?: number;
|
|
7838
|
+
perSessionCodeAttempts?: number;
|
|
7839
|
+
redeemWindowMs?: number;
|
|
7840
|
+
redeemPerIp?: number;
|
|
7841
|
+
};
|
|
7842
|
+
} & {
|
|
7843
|
+
[k: string]: unknown;
|
|
7844
|
+
};
|
|
7845
|
+
recordingAssemblyGraceSeconds?: number;
|
|
5504
7846
|
} & {
|
|
5505
7847
|
[k: string]: unknown;
|
|
5506
7848
|
};
|
|
@@ -5627,24 +7969,33 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5627
7969
|
writeProtection?: "strict" | "log" | "off";
|
|
5628
7970
|
};
|
|
5629
7971
|
serverExtensions?: z.objectOutputType<{
|
|
5630
|
-
Enabled: z.
|
|
7972
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
5631
7973
|
DriverClass: z.ZodString;
|
|
5632
|
-
RootPath: z.ZodString
|
|
7974
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
5633
7975
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5634
7976
|
}, z.ZodTypeAny, "passthrough">[];
|
|
5635
7977
|
cacheSettings?: {
|
|
5636
7978
|
maxMemoryMB?: number;
|
|
5637
7979
|
maxPercentOfCachePerEntity?: number;
|
|
7980
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
5638
7981
|
defaultTTLSeconds?: number;
|
|
5639
7982
|
evictionSweepIntervalSeconds?: number;
|
|
5640
7983
|
verboseLogging?: boolean;
|
|
5641
7984
|
recordDataBroadcastEntities?: string[];
|
|
7985
|
+
sharedCacheTTLSeconds?: number;
|
|
7986
|
+
engineSweepIntervalSeconds?: number;
|
|
7987
|
+
userCacheCheckIntervalSeconds?: number;
|
|
7988
|
+
metadataSweepIntervalSeconds?: number;
|
|
7989
|
+
startupWarmupLeaseSeconds?: number;
|
|
5642
7990
|
};
|
|
5643
7991
|
loggingSettings?: {
|
|
5644
7992
|
graphql?: {
|
|
5645
7993
|
logVariables?: boolean;
|
|
5646
7994
|
};
|
|
5647
7995
|
};
|
|
7996
|
+
aiPromptRuns?: {
|
|
7997
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
7998
|
+
};
|
|
5648
7999
|
feedbackSettings?: {
|
|
5649
8000
|
enabled?: boolean;
|
|
5650
8001
|
github?: {
|
|
@@ -5694,6 +8045,7 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5694
8045
|
___codeGenAPIPort?: number;
|
|
5695
8046
|
___codeGenAPISubmissionDelay?: number;
|
|
5696
8047
|
graphqlRootPath?: string;
|
|
8048
|
+
apiBasePath?: string;
|
|
5697
8049
|
enableIntrospection?: boolean;
|
|
5698
8050
|
websiteRunFromPackage?: number;
|
|
5699
8051
|
userEmailMap?: Record<string, string>;
|
|
@@ -5712,6 +8064,10 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5712
8064
|
contextUserForNewUserCreation?: string;
|
|
5713
8065
|
CreateUserApplicationRecords?: boolean;
|
|
5714
8066
|
UserApplications?: string[];
|
|
8067
|
+
newUserTemplate?: {
|
|
8068
|
+
email?: string;
|
|
8069
|
+
preset?: string;
|
|
8070
|
+
};
|
|
5715
8071
|
};
|
|
5716
8072
|
magicLink?: {
|
|
5717
8073
|
enabled?: string | number | boolean;
|
|
@@ -5845,6 +8201,38 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5845
8201
|
};
|
|
5846
8202
|
realtime?: {
|
|
5847
8203
|
enabled?: string | number | boolean;
|
|
8204
|
+
identityVerification?: {
|
|
8205
|
+
enabled?: string | number | boolean;
|
|
8206
|
+
communicationProvider?: string;
|
|
8207
|
+
fromAddress?: string;
|
|
8208
|
+
hmacSecret?: string;
|
|
8209
|
+
deliveryMode?: "send" | "dry-run";
|
|
8210
|
+
publicBaseUrl?: string;
|
|
8211
|
+
contextUserForVerification?: string;
|
|
8212
|
+
policy?: {
|
|
8213
|
+
requireBusinessDomain?: boolean;
|
|
8214
|
+
blockedDomains?: string[];
|
|
8215
|
+
consumerDomains?: string[];
|
|
8216
|
+
linkTtlMinutes?: number;
|
|
8217
|
+
maxSendsPerSession?: number;
|
|
8218
|
+
maxCodeAttempts?: number;
|
|
8219
|
+
unverifiedMaxSeconds?: number;
|
|
8220
|
+
verifiedMaxSeconds?: number;
|
|
8221
|
+
};
|
|
8222
|
+
rateLimits?: {
|
|
8223
|
+
sendWindowMs?: number;
|
|
8224
|
+
perIpSends?: number;
|
|
8225
|
+
perEmailDomainSends?: number;
|
|
8226
|
+
perEmailSends?: number;
|
|
8227
|
+
codeAttemptWindowMs?: number;
|
|
8228
|
+
perSessionCodeAttempts?: number;
|
|
8229
|
+
redeemWindowMs?: number;
|
|
8230
|
+
redeemPerIp?: number;
|
|
8231
|
+
};
|
|
8232
|
+
} & {
|
|
8233
|
+
[k: string]: unknown;
|
|
8234
|
+
};
|
|
8235
|
+
recordingAssemblyGraceSeconds?: number;
|
|
5848
8236
|
} & {
|
|
5849
8237
|
[k: string]: unknown;
|
|
5850
8238
|
};
|
|
@@ -5971,24 +8359,33 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
5971
8359
|
writeProtection?: "strict" | "log" | "off";
|
|
5972
8360
|
};
|
|
5973
8361
|
serverExtensions?: z.objectInputType<{
|
|
5974
|
-
Enabled: z.
|
|
8362
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
5975
8363
|
DriverClass: z.ZodString;
|
|
5976
|
-
RootPath: z.ZodString
|
|
8364
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
5977
8365
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5978
8366
|
}, z.ZodTypeAny, "passthrough">[];
|
|
5979
8367
|
cacheSettings?: {
|
|
5980
8368
|
maxMemoryMB?: number;
|
|
5981
8369
|
maxPercentOfCachePerEntity?: number;
|
|
8370
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
5982
8371
|
defaultTTLSeconds?: number;
|
|
5983
8372
|
evictionSweepIntervalSeconds?: number;
|
|
5984
8373
|
verboseLogging?: boolean;
|
|
5985
8374
|
recordDataBroadcastEntities?: string[];
|
|
8375
|
+
sharedCacheTTLSeconds?: number;
|
|
8376
|
+
engineSweepIntervalSeconds?: number;
|
|
8377
|
+
userCacheCheckIntervalSeconds?: number;
|
|
8378
|
+
metadataSweepIntervalSeconds?: number;
|
|
8379
|
+
startupWarmupLeaseSeconds?: number;
|
|
5986
8380
|
};
|
|
5987
8381
|
loggingSettings?: {
|
|
5988
8382
|
graphql?: {
|
|
5989
8383
|
logVariables?: boolean;
|
|
5990
8384
|
};
|
|
5991
8385
|
};
|
|
8386
|
+
aiPromptRuns?: {
|
|
8387
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
8388
|
+
};
|
|
5992
8389
|
feedbackSettings?: {
|
|
5993
8390
|
enabled?: boolean;
|
|
5994
8391
|
github?: {
|
|
@@ -6038,6 +8435,7 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
6038
8435
|
___codeGenAPIPort?: number;
|
|
6039
8436
|
___codeGenAPISubmissionDelay?: number;
|
|
6040
8437
|
graphqlRootPath?: string;
|
|
8438
|
+
apiBasePath?: string;
|
|
6041
8439
|
enableIntrospection?: boolean;
|
|
6042
8440
|
websiteRunFromPackage?: number;
|
|
6043
8441
|
userEmailMap?: string;
|
|
@@ -6048,6 +8446,7 @@ export type MagicLinkConfig = z.infer<typeof magicLinkSchema>;
|
|
|
6048
8446
|
export type WidgetConfig = z.infer<typeof widgetSchema>;
|
|
6049
8447
|
export type TelephonyConfig = z.infer<typeof telephonySchema>;
|
|
6050
8448
|
export type RealtimeConfig = z.infer<typeof realtimeSchema>;
|
|
8449
|
+
export type IdentityVerificationConfig = z.infer<typeof identityVerificationSchema>;
|
|
6051
8450
|
export type TwilioTelephonyConfig = z.infer<typeof twilioTelephonySchema>;
|
|
6052
8451
|
export type VonageTelephonyConfig = z.infer<typeof vonageTelephonySchema>;
|
|
6053
8452
|
export type RingCentralTelephonyConfig = z.infer<typeof ringcentralTelephonySchema>;
|
|
@@ -6066,9 +8465,10 @@ export type { WorkQueueConfig } from './services/workQueueConfig.js';
|
|
|
6066
8465
|
export type TelemetryConfig = z.infer<typeof telemetrySchema>;
|
|
6067
8466
|
export type QueryDialectConfig = z.infer<typeof queryDialectSchema>;
|
|
6068
8467
|
export type MultiTenancyConfig = z.infer<typeof multiTenancySchema>;
|
|
6069
|
-
export type ServerExtensionConfig = z.infer<typeof
|
|
8468
|
+
export type ServerExtensionConfig = z.infer<typeof ServerExtensionSchema>;
|
|
6070
8469
|
export type CacheSettingsConfig = z.infer<typeof cacheSettingsSchema>;
|
|
6071
8470
|
export type LoggingSettingsConfig = z.infer<typeof loggingSettingsSchema>;
|
|
8471
|
+
export type AIPromptRunsConfig = z.infer<typeof aiPromptRunsSchema>;
|
|
6072
8472
|
export type FeedbackGithubSettingsConfig = z.infer<typeof feedbackGithubSettingsSchema>;
|
|
6073
8473
|
export type FeedbackSettingsConfig = z.infer<typeof feedbackSettingsSchema>;
|
|
6074
8474
|
export type CorsConfig = z.infer<typeof corsSchema>;
|
|
@@ -6120,6 +8520,10 @@ export declare function LoadConfig(): {
|
|
|
6120
8520
|
contextUserForNewUserCreation?: string;
|
|
6121
8521
|
CreateUserApplicationRecords?: boolean;
|
|
6122
8522
|
UserApplications?: string[];
|
|
8523
|
+
newUserTemplate?: {
|
|
8524
|
+
email?: string;
|
|
8525
|
+
preset?: string;
|
|
8526
|
+
};
|
|
6123
8527
|
};
|
|
6124
8528
|
magicLink?: {
|
|
6125
8529
|
enabled?: boolean;
|
|
@@ -6253,6 +8657,38 @@ export declare function LoadConfig(): {
|
|
|
6253
8657
|
};
|
|
6254
8658
|
realtime?: {
|
|
6255
8659
|
enabled?: boolean;
|
|
8660
|
+
identityVerification?: {
|
|
8661
|
+
enabled?: boolean;
|
|
8662
|
+
communicationProvider?: string;
|
|
8663
|
+
fromAddress?: string;
|
|
8664
|
+
hmacSecret?: string;
|
|
8665
|
+
deliveryMode?: "send" | "dry-run";
|
|
8666
|
+
publicBaseUrl?: string;
|
|
8667
|
+
contextUserForVerification?: string;
|
|
8668
|
+
policy?: {
|
|
8669
|
+
requireBusinessDomain?: boolean;
|
|
8670
|
+
blockedDomains?: string[];
|
|
8671
|
+
consumerDomains?: string[];
|
|
8672
|
+
linkTtlMinutes?: number;
|
|
8673
|
+
maxSendsPerSession?: number;
|
|
8674
|
+
maxCodeAttempts?: number;
|
|
8675
|
+
unverifiedMaxSeconds?: number;
|
|
8676
|
+
verifiedMaxSeconds?: number;
|
|
8677
|
+
};
|
|
8678
|
+
rateLimits?: {
|
|
8679
|
+
sendWindowMs?: number;
|
|
8680
|
+
perIpSends?: number;
|
|
8681
|
+
perEmailDomainSends?: number;
|
|
8682
|
+
perEmailSends?: number;
|
|
8683
|
+
codeAttemptWindowMs?: number;
|
|
8684
|
+
perSessionCodeAttempts?: number;
|
|
8685
|
+
redeemWindowMs?: number;
|
|
8686
|
+
redeemPerIp?: number;
|
|
8687
|
+
};
|
|
8688
|
+
} & {
|
|
8689
|
+
[k: string]: unknown;
|
|
8690
|
+
};
|
|
8691
|
+
recordingAssemblyGraceSeconds?: number;
|
|
6256
8692
|
} & {
|
|
6257
8693
|
[k: string]: unknown;
|
|
6258
8694
|
};
|
|
@@ -6379,24 +8815,33 @@ export declare function LoadConfig(): {
|
|
|
6379
8815
|
writeProtection?: "strict" | "log" | "off";
|
|
6380
8816
|
};
|
|
6381
8817
|
serverExtensions?: z.objectOutputType<{
|
|
6382
|
-
Enabled: z.
|
|
8818
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
6383
8819
|
DriverClass: z.ZodString;
|
|
6384
|
-
RootPath: z.ZodString
|
|
8820
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
6385
8821
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6386
8822
|
}, z.ZodTypeAny, "passthrough">[];
|
|
6387
8823
|
cacheSettings?: {
|
|
6388
8824
|
maxMemoryMB?: number;
|
|
6389
8825
|
maxPercentOfCachePerEntity?: number;
|
|
8826
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
6390
8827
|
defaultTTLSeconds?: number;
|
|
6391
8828
|
evictionSweepIntervalSeconds?: number;
|
|
6392
8829
|
verboseLogging?: boolean;
|
|
6393
8830
|
recordDataBroadcastEntities?: string[];
|
|
8831
|
+
sharedCacheTTLSeconds?: number;
|
|
8832
|
+
engineSweepIntervalSeconds?: number;
|
|
8833
|
+
userCacheCheckIntervalSeconds?: number;
|
|
8834
|
+
metadataSweepIntervalSeconds?: number;
|
|
8835
|
+
startupWarmupLeaseSeconds?: number;
|
|
6394
8836
|
};
|
|
6395
8837
|
loggingSettings?: {
|
|
6396
8838
|
graphql?: {
|
|
6397
8839
|
logVariables?: boolean;
|
|
6398
8840
|
};
|
|
6399
8841
|
};
|
|
8842
|
+
aiPromptRuns?: {
|
|
8843
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
8844
|
+
};
|
|
6400
8845
|
feedbackSettings?: {
|
|
6401
8846
|
enabled?: boolean;
|
|
6402
8847
|
github?: {
|
|
@@ -6446,6 +8891,7 @@ export declare function LoadConfig(): {
|
|
|
6446
8891
|
___codeGenAPIPort?: number;
|
|
6447
8892
|
___codeGenAPISubmissionDelay?: number;
|
|
6448
8893
|
graphqlRootPath?: string;
|
|
8894
|
+
apiBasePath?: string;
|
|
6449
8895
|
enableIntrospection?: boolean;
|
|
6450
8896
|
websiteRunFromPackage?: number;
|
|
6451
8897
|
userEmailMap?: Record<string, string>;
|
|
@@ -6466,6 +8912,10 @@ export declare function loadConfig(): {
|
|
|
6466
8912
|
contextUserForNewUserCreation?: string;
|
|
6467
8913
|
CreateUserApplicationRecords?: boolean;
|
|
6468
8914
|
UserApplications?: string[];
|
|
8915
|
+
newUserTemplate?: {
|
|
8916
|
+
email?: string;
|
|
8917
|
+
preset?: string;
|
|
8918
|
+
};
|
|
6469
8919
|
};
|
|
6470
8920
|
magicLink?: {
|
|
6471
8921
|
enabled?: boolean;
|
|
@@ -6599,6 +9049,38 @@ export declare function loadConfig(): {
|
|
|
6599
9049
|
};
|
|
6600
9050
|
realtime?: {
|
|
6601
9051
|
enabled?: boolean;
|
|
9052
|
+
identityVerification?: {
|
|
9053
|
+
enabled?: boolean;
|
|
9054
|
+
communicationProvider?: string;
|
|
9055
|
+
fromAddress?: string;
|
|
9056
|
+
hmacSecret?: string;
|
|
9057
|
+
deliveryMode?: "send" | "dry-run";
|
|
9058
|
+
publicBaseUrl?: string;
|
|
9059
|
+
contextUserForVerification?: string;
|
|
9060
|
+
policy?: {
|
|
9061
|
+
requireBusinessDomain?: boolean;
|
|
9062
|
+
blockedDomains?: string[];
|
|
9063
|
+
consumerDomains?: string[];
|
|
9064
|
+
linkTtlMinutes?: number;
|
|
9065
|
+
maxSendsPerSession?: number;
|
|
9066
|
+
maxCodeAttempts?: number;
|
|
9067
|
+
unverifiedMaxSeconds?: number;
|
|
9068
|
+
verifiedMaxSeconds?: number;
|
|
9069
|
+
};
|
|
9070
|
+
rateLimits?: {
|
|
9071
|
+
sendWindowMs?: number;
|
|
9072
|
+
perIpSends?: number;
|
|
9073
|
+
perEmailDomainSends?: number;
|
|
9074
|
+
perEmailSends?: number;
|
|
9075
|
+
codeAttemptWindowMs?: number;
|
|
9076
|
+
perSessionCodeAttempts?: number;
|
|
9077
|
+
redeemWindowMs?: number;
|
|
9078
|
+
redeemPerIp?: number;
|
|
9079
|
+
};
|
|
9080
|
+
} & {
|
|
9081
|
+
[k: string]: unknown;
|
|
9082
|
+
};
|
|
9083
|
+
recordingAssemblyGraceSeconds?: number;
|
|
6602
9084
|
} & {
|
|
6603
9085
|
[k: string]: unknown;
|
|
6604
9086
|
};
|
|
@@ -6725,24 +9207,33 @@ export declare function loadConfig(): {
|
|
|
6725
9207
|
writeProtection?: "strict" | "log" | "off";
|
|
6726
9208
|
};
|
|
6727
9209
|
serverExtensions?: z.objectOutputType<{
|
|
6728
|
-
Enabled: z.
|
|
9210
|
+
Enabled: z.ZodOptional<z.ZodBoolean>;
|
|
6729
9211
|
DriverClass: z.ZodString;
|
|
6730
|
-
RootPath: z.ZodString
|
|
9212
|
+
RootPath: z.ZodOptional<z.ZodString>;
|
|
6731
9213
|
Settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6732
9214
|
}, z.ZodTypeAny, "passthrough">[];
|
|
6733
9215
|
cacheSettings?: {
|
|
6734
9216
|
maxMemoryMB?: number;
|
|
6735
9217
|
maxPercentOfCachePerEntity?: number;
|
|
9218
|
+
maxEntryPercentOfCache?: number | "auto";
|
|
6736
9219
|
defaultTTLSeconds?: number;
|
|
6737
9220
|
evictionSweepIntervalSeconds?: number;
|
|
6738
9221
|
verboseLogging?: boolean;
|
|
6739
9222
|
recordDataBroadcastEntities?: string[];
|
|
9223
|
+
sharedCacheTTLSeconds?: number;
|
|
9224
|
+
engineSweepIntervalSeconds?: number;
|
|
9225
|
+
userCacheCheckIntervalSeconds?: number;
|
|
9226
|
+
metadataSweepIntervalSeconds?: number;
|
|
9227
|
+
startupWarmupLeaseSeconds?: number;
|
|
6740
9228
|
};
|
|
6741
9229
|
loggingSettings?: {
|
|
6742
9230
|
graphql?: {
|
|
6743
9231
|
logVariables?: boolean;
|
|
6744
9232
|
};
|
|
6745
9233
|
};
|
|
9234
|
+
aiPromptRuns?: {
|
|
9235
|
+
templateDataCapture?: "None" | "Referenced" | "Full";
|
|
9236
|
+
};
|
|
6746
9237
|
feedbackSettings?: {
|
|
6747
9238
|
enabled?: boolean;
|
|
6748
9239
|
github?: {
|
|
@@ -6792,6 +9283,7 @@ export declare function loadConfig(): {
|
|
|
6792
9283
|
___codeGenAPIPort?: number;
|
|
6793
9284
|
___codeGenAPISubmissionDelay?: number;
|
|
6794
9285
|
graphqlRootPath?: string;
|
|
9286
|
+
apiBasePath?: string;
|
|
6795
9287
|
enableIntrospection?: boolean;
|
|
6796
9288
|
websiteRunFromPackage?: number;
|
|
6797
9289
|
userEmailMap?: Record<string, string>;
|