@memberjunction/server 6.2.0-edge.5 → 6.2.0-edge.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/README.md +96 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/agentSessions/BridgeHostInstance.d.ts +8 -3
  4. package/dist/agentSessions/BridgeHostInstance.d.ts.map +1 -1
  5. package/dist/agentSessions/BridgeHostInstance.js +14 -4
  6. package/dist/agentSessions/BridgeHostInstance.js.map +1 -1
  7. package/dist/agentSessions/HandoffOfferExpiry.d.ts +10 -0
  8. package/dist/agentSessions/HandoffOfferExpiry.d.ts.map +1 -0
  9. package/dist/agentSessions/HandoffOfferExpiry.js +18 -0
  10. package/dist/agentSessions/HandoffOfferExpiry.js.map +1 -0
  11. package/dist/agentSessions/ReturningVisitorRecap.js +1 -0
  12. package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
  13. package/dist/agentSessions/SessionJanitor.d.ts +34 -11
  14. package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
  15. package/dist/agentSessions/SessionJanitor.js +88 -44
  16. package/dist/agentSessions/SessionJanitor.js.map +1 -1
  17. package/dist/agentSessions/SessionManager.d.ts +29 -9
  18. package/dist/agentSessions/SessionManager.d.ts.map +1 -1
  19. package/dist/agentSessions/SessionManager.js +62 -16
  20. package/dist/agentSessions/SessionManager.js.map +1 -1
  21. package/dist/agentSessions/conversationBrowsers.d.ts +61 -0
  22. package/dist/agentSessions/conversationBrowsers.d.ts.map +1 -0
  23. package/dist/agentSessions/conversationBrowsers.js +118 -0
  24. package/dist/agentSessions/conversationBrowsers.js.map +1 -0
  25. package/dist/agentSessions/sessionDeadline.d.ts +43 -0
  26. package/dist/agentSessions/sessionDeadline.d.ts.map +1 -0
  27. package/dist/agentSessions/sessionDeadline.js +68 -0
  28. package/dist/agentSessions/sessionDeadline.js.map +1 -0
  29. package/dist/auth/APIKeyScopeAuth.d.ts.map +1 -1
  30. package/dist/auth/APIKeyScopeAuth.js +5 -4
  31. package/dist/auth/APIKeyScopeAuth.js.map +1 -1
  32. package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
  33. package/dist/auth/AuthProviderCatalogRouter.js +2 -0
  34. package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
  35. package/dist/auth/index.d.ts.map +1 -1
  36. package/dist/auth/index.js +51 -10
  37. package/dist/auth/index.js.map +1 -1
  38. package/dist/auth/initializeProviders.d.ts +10 -0
  39. package/dist/auth/initializeProviders.d.ts.map +1 -1
  40. package/dist/auth/initializeProviders.js +37 -1
  41. package/dist/auth/initializeProviders.js.map +1 -1
  42. package/dist/auth/localDevAuth.d.ts +79 -0
  43. package/dist/auth/localDevAuth.d.ts.map +1 -0
  44. package/dist/auth/localDevAuth.js +439 -0
  45. package/dist/auth/localDevAuth.js.map +1 -0
  46. package/dist/auth/loginEmailResolution.d.ts +41 -0
  47. package/dist/auth/loginEmailResolution.d.ts.map +1 -0
  48. package/dist/auth/loginEmailResolution.js +47 -0
  49. package/dist/auth/loginEmailResolution.js.map +1 -0
  50. package/dist/auth/magicLink/MagicLinkKeys.d.ts +51 -3
  51. package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
  52. package/dist/auth/magicLink/MagicLinkKeys.js +130 -13
  53. package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
  54. package/dist/auth/magicLink/MagicLinkRouter.d.ts +3 -0
  55. package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
  56. package/dist/auth/magicLink/MagicLinkRouter.js +23 -5
  57. package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
  58. package/dist/auth/magicLink/MagicLinkService.d.ts +39 -5
  59. package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
  60. package/dist/auth/magicLink/MagicLinkService.js +221 -9
  61. package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
  62. package/dist/auth/magicLink/index.d.ts +1 -1
  63. package/dist/auth/magicLink/index.d.ts.map +1 -1
  64. package/dist/auth/magicLink/index.js +1 -1
  65. package/dist/auth/magicLink/index.js.map +1 -1
  66. package/dist/auth/magicLink/redeemLanding.d.ts +2 -2
  67. package/dist/auth/magicLink/redeemLanding.d.ts.map +1 -1
  68. package/dist/auth/magicLink/redeemLanding.js +7 -4
  69. package/dist/auth/magicLink/redeemLanding.js.map +1 -1
  70. package/dist/auth/magicLink/types.d.ts +39 -3
  71. package/dist/auth/magicLink/types.d.ts.map +1 -1
  72. package/dist/auth/magicLink/types.js +0 -4
  73. package/dist/auth/magicLink/types.js.map +1 -1
  74. package/dist/auth/newUsers.d.ts.map +1 -1
  75. package/dist/auth/newUsers.js +1 -0
  76. package/dist/auth/newUsers.js.map +1 -1
  77. package/dist/auth/sessionUserClone.d.ts +1 -1
  78. package/dist/auth/sessionUserClone.d.ts.map +1 -1
  79. package/dist/auth/sessionUserClone.js +3 -2
  80. package/dist/auth/sessionUserClone.js.map +1 -1
  81. package/dist/backgroundSweepConfigUnits.d.ts +231 -0
  82. package/dist/backgroundSweepConfigUnits.d.ts.map +1 -0
  83. package/dist/backgroundSweepConfigUnits.js +180 -0
  84. package/dist/backgroundSweepConfigUnits.js.map +1 -0
  85. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts +292 -0
  86. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts.map +1 -0
  87. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js +442 -0
  88. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js.map +1 -0
  89. package/dist/broadcast/index.d.ts +6 -0
  90. package/dist/broadcast/index.d.ts.map +1 -0
  91. package/dist/broadcast/index.js +6 -0
  92. package/dist/broadcast/index.js.map +1 -0
  93. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts +43 -0
  94. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts.map +1 -0
  95. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js +144 -0
  96. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js.map +1 -0
  97. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts +46 -0
  98. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts.map +1 -0
  99. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js +149 -0
  100. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js.map +1 -0
  101. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts +49 -0
  102. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts.map +1 -0
  103. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js +131 -0
  104. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js.map +1 -0
  105. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts +24 -0
  106. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts.map +1 -0
  107. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js +51 -0
  108. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js.map +1 -0
  109. package/dist/cache.d.ts +3 -2
  110. package/dist/cache.d.ts.map +1 -1
  111. package/dist/cache.js.map +1 -1
  112. package/dist/config.d.ts +1402 -8
  113. package/dist/config.d.ts.map +1 -1
  114. package/dist/config.js +120 -0
  115. package/dist/config.js.map +1 -1
  116. package/dist/context.d.ts +5 -1
  117. package/dist/context.d.ts.map +1 -1
  118. package/dist/context.js +64 -12
  119. package/dist/context.js.map +1 -1
  120. package/dist/coreRoutes.d.ts +3 -1
  121. package/dist/coreRoutes.d.ts.map +1 -1
  122. package/dist/coreRoutes.js +20 -4
  123. package/dist/coreRoutes.js.map +1 -1
  124. package/dist/generated/graphql-schemas/__mj.d.ts +863 -14
  125. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  126. package/dist/generated/graphql-schemas/__mj.js +4167 -62
  127. package/dist/generated/graphql-schemas/__mj.js.map +1 -1
  128. package/dist/generic/CacheInvalidationResolver.d.ts +50 -30
  129. package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
  130. package/dist/generic/CacheInvalidationResolver.js +154 -79
  131. package/dist/generic/CacheInvalidationResolver.js.map +1 -1
  132. package/dist/generic/OrphanedConversationDetailReconciler.d.ts +11 -0
  133. package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -1
  134. package/dist/generic/OrphanedConversationDetailReconciler.js +29 -1
  135. package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
  136. package/dist/generic/PubSubManager.d.ts +10 -0
  137. package/dist/generic/PubSubManager.d.ts.map +1 -1
  138. package/dist/generic/PubSubManager.js +44 -1
  139. package/dist/generic/PubSubManager.js.map +1 -1
  140. package/dist/generic/PushStatusResolver.d.ts +39 -6
  141. package/dist/generic/PushStatusResolver.d.ts.map +1 -1
  142. package/dist/generic/PushStatusResolver.js +93 -11
  143. package/dist/generic/PushStatusResolver.js.map +1 -1
  144. package/dist/generic/ResolverBase.d.ts +114 -29
  145. package/dist/generic/ResolverBase.d.ts.map +1 -1
  146. package/dist/generic/ResolverBase.js +509 -220
  147. package/dist/generic/ResolverBase.js.map +1 -1
  148. package/dist/generic/RunViewResolver.d.ts +15 -3
  149. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  150. package/dist/generic/RunViewResolver.js +126 -20
  151. package/dist/generic/RunViewResolver.js.map +1 -1
  152. package/dist/generic/actionOutputFieldSecurity.d.ts +26 -0
  153. package/dist/generic/actionOutputFieldSecurity.d.ts.map +1 -0
  154. package/dist/generic/actionOutputFieldSecurity.js +47 -0
  155. package/dist/generic/actionOutputFieldSecurity.js.map +1 -0
  156. package/dist/generic/fieldSecurityTransport.d.ts +30 -0
  157. package/dist/generic/fieldSecurityTransport.d.ts.map +1 -0
  158. package/dist/generic/fieldSecurityTransport.js +30 -0
  159. package/dist/generic/fieldSecurityTransport.js.map +1 -0
  160. package/dist/index.d.ts +4 -0
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +262 -84
  163. package/dist/index.js.map +1 -1
  164. package/dist/integration/ConnectionPause.d.ts +121 -0
  165. package/dist/integration/ConnectionPause.d.ts.map +1 -0
  166. package/dist/integration/ConnectionPause.js +183 -0
  167. package/dist/integration/ConnectionPause.js.map +1 -0
  168. package/dist/integration/CustomColumnPromoter.d.ts +72 -6
  169. package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
  170. package/dist/integration/CustomColumnPromoter.js +93 -47
  171. package/dist/integration/CustomColumnPromoter.js.map +1 -1
  172. package/dist/integration/EntityMapLifecycle.d.ts +78 -4
  173. package/dist/integration/EntityMapLifecycle.d.ts.map +1 -1
  174. package/dist/integration/EntityMapLifecycle.js +199 -5
  175. package/dist/integration/EntityMapLifecycle.js.map +1 -1
  176. package/dist/integration/InactiveRowWarnings.d.ts +31 -0
  177. package/dist/integration/InactiveRowWarnings.d.ts.map +1 -1
  178. package/dist/integration/InactiveRowWarnings.js +29 -0
  179. package/dist/integration/InactiveRowWarnings.js.map +1 -1
  180. package/dist/integration/ObjectNamesByID.d.ts +28 -0
  181. package/dist/integration/ObjectNamesByID.d.ts.map +1 -0
  182. package/dist/integration/ObjectNamesByID.js +87 -0
  183. package/dist/integration/ObjectNamesByID.js.map +1 -0
  184. package/dist/integration/PostRestartIntrospect.d.ts +26 -0
  185. package/dist/integration/PostRestartIntrospect.d.ts.map +1 -0
  186. package/dist/integration/PostRestartIntrospect.js +27 -0
  187. package/dist/integration/PostRestartIntrospect.js.map +1 -0
  188. package/dist/integration/RSUPostRestartProgress.d.ts +176 -0
  189. package/dist/integration/RSUPostRestartProgress.d.ts.map +1 -0
  190. package/dist/integration/RSUPostRestartProgress.js +323 -0
  191. package/dist/integration/RSUPostRestartProgress.js.map +1 -0
  192. package/dist/integration/RSUProgressBridge.d.ts +41 -2
  193. package/dist/integration/RSUProgressBridge.d.ts.map +1 -1
  194. package/dist/integration/RSUProgressBridge.js +84 -1
  195. package/dist/integration/RSUProgressBridge.js.map +1 -1
  196. package/dist/integration/RunArtifactAuthorization.d.ts +39 -0
  197. package/dist/integration/RunArtifactAuthorization.d.ts.map +1 -0
  198. package/dist/integration/RunArtifactAuthorization.js +45 -0
  199. package/dist/integration/RunArtifactAuthorization.js.map +1 -0
  200. package/dist/integration/SchemaRefreshLaunch.d.ts +9 -0
  201. package/dist/integration/SchemaRefreshLaunch.d.ts.map +1 -1
  202. package/dist/integration/SchemaRefreshLaunch.js +3 -2
  203. package/dist/integration/SchemaRefreshLaunch.js.map +1 -1
  204. package/dist/integration/ScopedFieldsForBuild.d.ts +46 -0
  205. package/dist/integration/ScopedFieldsForBuild.d.ts.map +1 -0
  206. package/dist/integration/ScopedFieldsForBuild.js +91 -0
  207. package/dist/integration/ScopedFieldsForBuild.js.map +1 -0
  208. package/dist/integration/TargetConfigGuard.d.ts +40 -0
  209. package/dist/integration/TargetConfigGuard.d.ts.map +1 -0
  210. package/dist/integration/TargetConfigGuard.js +40 -0
  211. package/dist/integration/TargetConfigGuard.js.map +1 -0
  212. package/dist/logging/variablesLoggingMiddleware.d.ts +12 -0
  213. package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
  214. package/dist/logging/variablesLoggingMiddleware.js +50 -1
  215. package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
  216. package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -1
  217. package/dist/realtimeSessions/SessionVerificationPortsBase.js +1 -0
  218. package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -1
  219. package/dist/realtimeSessions/ownedRealtimeSession.d.ts +8 -6
  220. package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -1
  221. package/dist/realtimeSessions/ownedRealtimeSession.js +14 -6
  222. package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -1
  223. package/dist/realtimeSessions/sessionAccess.d.ts +103 -11
  224. package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -1
  225. package/dist/realtimeSessions/sessionAccess.js +147 -22
  226. package/dist/realtimeSessions/sessionAccess.js.map +1 -1
  227. package/dist/realtimeSessions/sessionConfigStamps.js +1 -1
  228. package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -1
  229. package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -1
  230. package/dist/realtimeSessions/subscriptionAuthorization.js +5 -2
  231. package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -1
  232. package/dist/realtimeSessions/verificationWorkflow.d.ts +2 -0
  233. package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -1
  234. package/dist/realtimeSessions/verificationWorkflow.js +1 -1
  235. package/dist/realtimeSessions/verificationWorkflow.js.map +1 -1
  236. package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
  237. package/dist/realtimeWidget/WidgetRouter.js +19 -3
  238. package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
  239. package/dist/realtimeWidget/WidgetSessionService.d.ts +67 -7
  240. package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
  241. package/dist/realtimeWidget/WidgetSessionService.js +203 -19
  242. package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
  243. package/dist/realtimeWidget/host-identity.d.ts +1 -1
  244. package/dist/realtimeWidget/host-identity.js +1 -1
  245. package/dist/realtimeWidget/visitorIdentity.d.ts.map +1 -1
  246. package/dist/realtimeWidget/visitorIdentity.js +1 -0
  247. package/dist/realtimeWidget/visitorIdentity.js.map +1 -1
  248. package/dist/realtimeWidget/widgetCore.d.ts +20 -1
  249. package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
  250. package/dist/realtimeWidget/widgetCore.js +21 -8
  251. package/dist/realtimeWidget/widgetCore.js.map +1 -1
  252. package/dist/realtimeWidget/widgetGuestElevation.d.ts +1 -1
  253. package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
  254. package/dist/realtimeWidget/widgetGuestElevation.js +3 -1
  255. package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
  256. package/dist/requestOrigin.d.ts +22 -0
  257. package/dist/requestOrigin.d.ts.map +1 -0
  258. package/dist/requestOrigin.js +60 -0
  259. package/dist/requestOrigin.js.map +1 -0
  260. package/dist/resolvers/ActionResolver.d.ts +19 -1
  261. package/dist/resolvers/ActionResolver.d.ts.map +1 -1
  262. package/dist/resolvers/ActionResolver.js +63 -12
  263. package/dist/resolvers/ActionResolver.js.map +1 -1
  264. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
  265. package/dist/resolvers/AdhocQueryResolver.js +1 -0
  266. package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
  267. package/dist/resolvers/AgentRunStatusPublisher.d.ts +18 -4
  268. package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -1
  269. package/dist/resolvers/AgentRunStatusPublisher.js +32 -8
  270. package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -1
  271. package/dist/resolvers/AgentSessionResolver.d.ts +10 -4
  272. package/dist/resolvers/AgentSessionResolver.d.ts.map +1 -1
  273. package/dist/resolvers/AgentSessionResolver.js +44 -17
  274. package/dist/resolvers/AgentSessionResolver.js.map +1 -1
  275. package/dist/resolvers/AutotagPipelineResolver.d.ts.map +1 -1
  276. package/dist/resolvers/AutotagPipelineResolver.js +2 -1
  277. package/dist/resolvers/AutotagPipelineResolver.js.map +1 -1
  278. package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
  279. package/dist/resolvers/ConversationRunEventsResolver.js +2 -0
  280. package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
  281. package/dist/resolvers/EntityCommunicationsResolver.d.ts +13 -1
  282. package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
  283. package/dist/resolvers/EntityCommunicationsResolver.js +50 -14
  284. package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
  285. package/dist/resolvers/ExecuteRemoteOperationResolver.d.ts +6 -0
  286. package/dist/resolvers/ExecuteRemoteOperationResolver.d.ts.map +1 -1
  287. package/dist/resolvers/ExecuteRemoteOperationResolver.js +30 -7
  288. package/dist/resolvers/ExecuteRemoteOperationResolver.js.map +1 -1
  289. package/dist/resolvers/FetchEntityVectorsResolver.d.ts +28 -0
  290. package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
  291. package/dist/resolvers/FetchEntityVectorsResolver.js +117 -21
  292. package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
  293. package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
  294. package/dist/resolvers/FileCategoryResolver.js +1 -0
  295. package/dist/resolvers/FileCategoryResolver.js.map +1 -1
  296. package/dist/resolvers/FileResolver.d.ts +5 -0
  297. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  298. package/dist/resolvers/FileResolver.js +13 -4
  299. package/dist/resolvers/FileResolver.js.map +1 -1
  300. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  301. package/dist/resolvers/GetDataResolver.js +34 -13
  302. package/dist/resolvers/GetDataResolver.js.map +1 -1
  303. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +401 -11
  304. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  305. package/dist/resolvers/IntegrationDiscoveryResolver.js +2713 -1290
  306. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  307. package/dist/resolvers/MCPResolver.d.ts.map +1 -1
  308. package/dist/resolvers/MCPResolver.js +13 -2
  309. package/dist/resolvers/MCPResolver.js.map +1 -1
  310. package/dist/resolvers/MergeRecordsResolver.d.ts +8 -1
  311. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
  312. package/dist/resolvers/MergeRecordsResolver.js +31 -3
  313. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  314. package/dist/resolvers/PipelineProgressResolver.d.ts +6 -0
  315. package/dist/resolvers/PipelineProgressResolver.d.ts.map +1 -1
  316. package/dist/resolvers/PipelineProgressResolver.js +5 -3
  317. package/dist/resolvers/PipelineProgressResolver.js.map +1 -1
  318. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  319. package/dist/resolvers/QueryResolver.js +20 -6
  320. package/dist/resolvers/QueryResolver.js.map +1 -1
  321. package/dist/resolvers/QuerySystemUserResolver.d.ts +38 -0
  322. package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
  323. package/dist/resolvers/QuerySystemUserResolver.js +184 -88
  324. package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
  325. package/dist/resolvers/RSUResolver.d.ts.map +1 -1
  326. package/dist/resolvers/RSUResolver.js +12 -0
  327. package/dist/resolvers/RSUResolver.js.map +1 -1
  328. package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
  329. package/dist/resolvers/RealtimeBridgeResolver.js +1 -0
  330. package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
  331. package/dist/resolvers/RealtimeClientSessionResolver.d.ts +22 -2
  332. package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
  333. package/dist/resolvers/RealtimeClientSessionResolver.js +118 -33
  334. package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
  335. package/dist/resolvers/RemoteBrowserActionResolver.d.ts +62 -10
  336. package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
  337. package/dist/resolvers/RemoteBrowserActionResolver.js +224 -39
  338. package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
  339. package/dist/resolvers/RunAIAgentResolver.d.ts +80 -16
  340. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  341. package/dist/resolvers/RunAIAgentResolver.js +388 -125
  342. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  343. package/dist/resolvers/RunAIPromptResolver.d.ts +5 -3
  344. package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
  345. package/dist/resolvers/RunAIPromptResolver.js +19 -18
  346. package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
  347. package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
  348. package/dist/resolvers/RunTemplateResolver.js +7 -5
  349. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  350. package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
  351. package/dist/resolvers/RunTestResolver.js +3 -1
  352. package/dist/resolvers/RunTestResolver.js.map +1 -1
  353. package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
  354. package/dist/resolvers/SyncDataResolver.js +4 -0
  355. package/dist/resolvers/SyncDataResolver.js.map +1 -1
  356. package/dist/resolvers/TestQuerySQLResolver.d.ts.map +1 -1
  357. package/dist/resolvers/TestQuerySQLResolver.js +1 -0
  358. package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
  359. package/dist/resolvers/TransactionGroupResolver.d.ts +17 -2
  360. package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
  361. package/dist/resolvers/TransactionGroupResolver.js +60 -15
  362. package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
  363. package/dist/resolvers/UserViewResolver.d.ts +1 -1
  364. package/dist/resolvers/UserViewResolver.d.ts.map +1 -1
  365. package/dist/resolvers/UserViewResolver.js +2 -1
  366. package/dist/resolvers/UserViewResolver.js.map +1 -1
  367. package/dist/resolvers/meetingRecordingRegistration.d.ts.map +1 -1
  368. package/dist/resolvers/meetingRecordingRegistration.js +2 -0
  369. package/dist/resolvers/meetingRecordingRegistration.js.map +1 -1
  370. package/dist/rest/EntityCRUDHandler.d.ts +6 -0
  371. package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
  372. package/dist/rest/EntityCRUDHandler.js +19 -5
  373. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  374. package/dist/rest/MediaAccessKeys.d.ts.map +1 -1
  375. package/dist/rest/MediaAccessKeys.js +6 -2
  376. package/dist/rest/MediaAccessKeys.js.map +1 -1
  377. package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
  378. package/dist/rest/OAuthCallbackHandler.js +11 -5
  379. package/dist/rest/OAuthCallbackHandler.js.map +1 -1
  380. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  381. package/dist/rest/RESTEndpointHandler.js +8 -5
  382. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  383. package/dist/rest/RealtimeRecordingHandler.d.ts +3 -3
  384. package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -1
  385. package/dist/rest/RealtimeRecordingHandler.js +6 -8
  386. package/dist/rest/RealtimeRecordingHandler.js.map +1 -1
  387. package/dist/rest/ViewOperationsHandler.d.ts +6 -0
  388. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  389. package/dist/rest/ViewOperationsHandler.js +24 -6
  390. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  391. package/dist/rest/setupRESTEndpoints.d.ts +3 -1
  392. package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
  393. package/dist/rest/setupRESTEndpoints.js +11 -2
  394. package/dist/rest/setupRESTEndpoints.js.map +1 -1
  395. package/dist/serverRoleConfigUnits.d.ts +29 -0
  396. package/dist/serverRoleConfigUnits.d.ts.map +1 -0
  397. package/dist/serverRoleConfigUnits.js +33 -0
  398. package/dist/serverRoleConfigUnits.js.map +1 -0
  399. package/dist/services/DurableEntityActionTaskSubmitter.d.ts.map +1 -1
  400. package/dist/services/DurableEntityActionTaskSubmitter.js +6 -1
  401. package/dist/services/DurableEntityActionTaskSubmitter.js.map +1 -1
  402. package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
  403. package/dist/services/TaskGraphActionRunner.js +2 -26
  404. package/dist/services/TaskGraphActionRunner.js.map +1 -1
  405. package/dist/services/TaskGraphAgentRunner.d.ts +6 -0
  406. package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
  407. package/dist/services/TaskGraphAgentRunner.js +38 -0
  408. package/dist/services/TaskGraphAgentRunner.js.map +1 -1
  409. package/dist/services/TaskGraphContinuationDeliverer.d.ts +5 -0
  410. package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
  411. package/dist/services/TaskGraphContinuationDeliverer.js +43 -15
  412. package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
  413. package/dist/services/WorkQueueHostService.d.ts +2 -1
  414. package/dist/services/WorkQueueHostService.d.ts.map +1 -1
  415. package/dist/services/WorkQueueHostService.js +19 -4
  416. package/dist/services/WorkQueueHostService.js.map +1 -1
  417. package/dist/services/workQueueConfig.d.ts +2 -2
  418. package/dist/services/workQueueConfig.js +5 -5
  419. package/dist/services/workQueueConfig.js.map +1 -1
  420. package/dist/sharedCache.js +1 -1
  421. package/dist/sharedCache.js.map +1 -1
  422. package/dist/types.d.ts +40 -1
  423. package/dist/types.d.ts.map +1 -1
  424. package/dist/types.js.map +1 -1
  425. package/package.json +98 -98
  426. package/src/__tests__/APIKeyScopeAuth.test.ts +4 -8
  427. package/src/__tests__/ActionResolver.fieldSecurity.test.ts +237 -0
  428. package/src/__tests__/ActiveOperations.test.ts +68 -0
  429. package/src/__tests__/AdhocQueryResolver.dialect.test.ts +137 -0
  430. package/src/__tests__/AgentRunStatusPublisher.test.ts +49 -0
  431. package/src/__tests__/AgentSessionResolver.ownership.test.ts +150 -0
  432. package/src/__tests__/AssertTargetConfigs.test.ts +75 -0
  433. package/src/__tests__/BatchApplyParity.test.ts +109 -0
  434. package/src/__tests__/BridgeHostInstance.test.ts +42 -0
  435. package/src/__tests__/CollectInactiveRowWarnings.test.ts +115 -0
  436. package/src/__tests__/ConnectionPause.test.ts +192 -0
  437. package/src/__tests__/ConnectionPauseResolver.test.ts +166 -0
  438. package/src/__tests__/ConnectionPauseSave.test.ts +143 -0
  439. package/src/__tests__/CustomColumnPromoterCompletion.test.ts +142 -0
  440. package/src/__tests__/CustomColumnPromoterOnePass.test.ts +15 -1
  441. package/src/__tests__/DeleteConnectionRemovesPerConnectionCatalog.test.ts +51 -0
  442. package/src/__tests__/DetachedDiscoveryStart.test.ts +65 -0
  443. package/src/__tests__/DurableEntityActionTaskSubmitter.test.ts +73 -0
  444. package/src/__tests__/EntityCommunicationsResolver.actingUser.test.ts +151 -0
  445. package/src/__tests__/EntityMapLifecycle.rekey.test.ts +252 -0
  446. package/src/__tests__/EvolutionActsOnWhatItDetects.test.ts +113 -0
  447. package/src/__tests__/ExecuteRemoteOperationResolver.test.ts +213 -0
  448. package/src/__tests__/FetchEntityVectorsResolver.test.ts +206 -3
  449. package/src/__tests__/FileResolver.fieldSecurity.test.ts +82 -0
  450. package/src/__tests__/HandoffOfferExpiry.test.ts +40 -0
  451. package/src/__tests__/IntegrationRunArtifactAuthorization.test.ts +126 -0
  452. package/src/__tests__/MagicLinkKeys.test.ts +102 -0
  453. package/src/__tests__/MediaAccessKeys.test.ts +57 -10
  454. package/src/__tests__/NewArrivalsDefaultDisabled.test.ts +50 -0
  455. package/src/__tests__/ObjectNamesByID.test.ts +176 -0
  456. package/src/__tests__/PipelineProgressResolver.filter.test.ts +58 -0
  457. package/src/__tests__/PostRestartMapsInCatalogScope.test.ts +146 -0
  458. package/src/__tests__/QuerySystemUserResolver.childRows.test.ts +80 -0
  459. package/src/__tests__/QuerySystemUserResolver.collision.test.ts +200 -0
  460. package/src/__tests__/QuerySystemUserResolver.fieldSecurity.test.ts +49 -0
  461. package/src/__tests__/QuerySystemUserResolver.permissions.test.ts +132 -0
  462. package/src/__tests__/RESTEndpointHandler.test.ts +25 -0
  463. package/src/__tests__/RSUPostRestartProgress.test.ts +343 -0
  464. package/src/__tests__/RSUProgressBridge.test.ts +188 -5
  465. package/src/__tests__/RSUStartupSweepWiring.test.ts +30 -0
  466. package/src/__tests__/ReactivateRefreshMessage.test.ts +10 -3
  467. package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +23 -3
  468. package/src/__tests__/RealtimeClientSessionResolver.test.ts +346 -46
  469. package/src/__tests__/{RefreshAdoptsNewColumns.test.ts → RefreshReportsNewColumns.test.ts} +25 -16
  470. package/src/__tests__/RemoteBrowserActionRecovery.test.ts +287 -0
  471. package/src/__tests__/RemoteBrowserActionResolver.goalRunLink.test.ts +3 -0
  472. package/src/__tests__/RemoteBrowserActionResolver.ownership.test.ts +100 -0
  473. package/src/__tests__/RemoteBrowserAudioStream.test.ts +3 -0
  474. package/src/__tests__/RemoteBrowserSnapshot.test.ts +3 -0
  475. package/src/__tests__/ResolverBase.clientOldValues.test.ts +344 -14
  476. package/src/__tests__/ResolverBase.deleteReturnProjection.test.ts +52 -0
  477. package/src/__tests__/ResolverBase.encryptedApiZeroReencrypt.test.ts +307 -0
  478. package/src/__tests__/ResolverBase.entityMessageRelay.test.ts +227 -0
  479. package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +83 -1
  480. package/src/__tests__/ResolverBase.publishStatusUpdate.test.ts +68 -0
  481. package/src/__tests__/ResolverBase.userViewCacheAndDedup.test.ts +130 -0
  482. package/src/__tests__/RunAIAgentResolver.branch.test.ts +72 -13
  483. package/src/__tests__/RunAIAgentResolver.consultPredecessor.test.ts +289 -0
  484. package/src/__tests__/RunAIAgentResolver.conversationWriter.test.ts +210 -0
  485. package/src/__tests__/RunAIAgentResolver.fireAndForgetCompletion.test.ts +209 -0
  486. package/src/__tests__/RunAIAgentResolver.handoff.test.ts +649 -0
  487. package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +19 -27
  488. package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +10 -2
  489. package/src/__tests__/RunAIAgentResolver.serverReply.test.ts +358 -0
  490. package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +91 -13
  491. package/src/__tests__/RunTemplateResolver.test.ts +35 -2
  492. package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +11 -0
  493. package/src/__tests__/SchemaEvolutionCustomColumns.test.ts +119 -0
  494. package/src/__tests__/SchemaRefreshLaunch.test.ts +24 -2
  495. package/src/__tests__/ScopedFieldsForBuild.test.ts +192 -0
  496. package/src/__tests__/SessionJanitor.test.ts +195 -4
  497. package/src/__tests__/SessionManager.test.ts +164 -0
  498. package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +2 -2
  499. package/src/__tests__/TaskGraphAgentRunner.test.ts +272 -16
  500. package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +114 -3
  501. package/src/__tests__/TransactionGroupResolver.fieldSecurity.test.ts +199 -0
  502. package/src/__tests__/UserViewResolver.updateWhereClause.test.ts +15 -0
  503. package/src/__tests__/ViewOperationsHandler.test.ts +9 -7
  504. package/src/__tests__/WidgetSessionService.test.ts +583 -4
  505. package/src/__tests__/WorkQueueHostService.test.ts +25 -7
  506. package/src/__tests__/apiRootBoot.test.ts +1 -1
  507. package/src/__tests__/backgroundSweepConfigUnits.test.ts +153 -0
  508. package/src/__tests__/buildMagicLinkSessionUser.test.ts +96 -0
  509. package/src/__tests__/cacheBroadcastProviders.test.ts +403 -0
  510. package/src/__tests__/cacheInvalidationRecordData.test.ts +45 -0
  511. package/src/__tests__/contextRequestOrigin.test.ts +105 -0
  512. package/src/__tests__/conversationBrowsers.test.ts +62 -0
  513. package/src/__tests__/fieldSecurityFixtures.ts +91 -0
  514. package/src/__tests__/globalCors.test.ts +3 -3
  515. package/src/__tests__/localDevAuth.test.ts +196 -0
  516. package/src/__tests__/magicLinkExtensionCapabilities.test.ts +413 -0
  517. package/src/__tests__/orphanedConversationDetailReconciler.start.test.ts +82 -0
  518. package/src/__tests__/orphanedConversationDetailReconciler.test.ts +10 -0
  519. package/src/__tests__/ownedRealtimeSession.test.ts +14 -0
  520. package/src/__tests__/pushStatusResolver.filter.test.ts +57 -1
  521. package/src/__tests__/realtimeRecordingHandler.test.ts +24 -2
  522. package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +29 -1
  523. package/src/__tests__/realtimeSessions/ownedRealtimeSession.anonymous.test.ts +31 -0
  524. package/src/__tests__/realtimeSessions/ownedRealtimeSession.namedScoped.test.ts +37 -0
  525. package/src/__tests__/realtimeSessions/sessionAccess.test.ts +224 -7
  526. package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +1 -1
  527. package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +25 -4
  528. package/src/__tests__/requestOrigin.test.ts +104 -0
  529. package/src/__tests__/resolverBase.cloudEventChangedFields.test.ts +157 -0
  530. package/src/__tests__/resolverBase.fieldSecurityTransport.test.ts +222 -0
  531. package/src/__tests__/resolverBase.fls.test.ts +146 -97
  532. package/src/__tests__/restTransport.fieldSecurity.test.ts +148 -0
  533. package/src/__tests__/runParamsTimeZone.test.ts +179 -0
  534. package/src/__tests__/runStreams.fieldSecurity.test.ts +100 -0
  535. package/src/__tests__/runViewProperties.test.ts +114 -0
  536. package/src/__tests__/scalabilityBenchmarks.test.ts +765 -0
  537. package/src/__tests__/scalabilityDatabaseIntegration.test.ts +207 -0
  538. package/src/__tests__/securityHardeningPr6034.test.ts +120 -0
  539. package/src/__tests__/sessionDeadline.test.ts +51 -0
  540. package/src/__tests__/sessionUserClone.test.ts +5 -1
  541. package/src/__tests__/sharedCache.test.ts +11 -0
  542. package/src/__tests__/startupSweepOrder.test.ts +40 -0
  543. package/src/__tests__/unifiedAuth.test.ts +101 -1
  544. package/src/__tests__/widgetGuestElevation.test.ts +2 -0
  545. package/src/agentSessions/BridgeHostInstance.ts +20 -5
  546. package/src/agentSessions/HandoffOfferExpiry.ts +18 -0
  547. package/src/agentSessions/ReturningVisitorRecap.ts +1 -0
  548. package/src/agentSessions/SessionJanitor.ts +95 -45
  549. package/src/agentSessions/SessionManager.ts +73 -20
  550. package/src/agentSessions/conversationBrowsers.ts +143 -0
  551. package/src/agentSessions/sessionDeadline.ts +81 -0
  552. package/src/auth/APIKeyScopeAuth.ts +5 -4
  553. package/src/auth/AuthProviderCatalogRouter.ts +3 -0
  554. package/src/auth/__tests__/loginEmailResolution.test.ts +67 -0
  555. package/src/auth/index.ts +56 -12
  556. package/src/auth/initializeProviders.ts +43 -1
  557. package/src/auth/localDevAuth.ts +528 -0
  558. package/src/auth/loginEmailResolution.ts +67 -0
  559. package/src/auth/magicLink/MagicLinkKeys.ts +147 -15
  560. package/src/auth/magicLink/MagicLinkRouter.ts +33 -6
  561. package/src/auth/magicLink/MagicLinkService.ts +250 -10
  562. package/src/auth/magicLink/index.ts +1 -1
  563. package/src/auth/magicLink/redeemLanding.ts +7 -4
  564. package/src/auth/magicLink/types.ts +38 -3
  565. package/src/auth/newUsers.ts +1 -0
  566. package/src/auth/sessionUserClone.ts +3 -2
  567. package/src/backgroundSweepConfigUnits.ts +213 -0
  568. package/src/broadcast/BaseCacheInvalidationBroadcastProvider.ts +674 -0
  569. package/src/broadcast/index.ts +5 -0
  570. package/src/broadcast/providers/AWSIoTCoreBroadcastProvider.ts +180 -0
  571. package/src/broadcast/providers/AzureWebPubSubBroadcastProvider.ts +182 -0
  572. package/src/broadcast/providers/GCPPubSubBroadcastProvider.ts +169 -0
  573. package/src/broadcast/providers/SequencedRoleBucketBroadcastProvider.ts +57 -0
  574. package/src/cache.ts +2 -1
  575. package/src/config.ts +138 -0
  576. package/src/context.ts +71 -14
  577. package/src/coreRoutes.ts +29 -7
  578. package/src/generated/graphql-schemas/__mj.ts +4145 -1193
  579. package/src/generic/CacheInvalidationResolver.ts +135 -78
  580. package/src/generic/OrphanedConversationDetailReconciler.ts +36 -3
  581. package/src/generic/PubSubManager.ts +54 -1
  582. package/src/generic/PushStatusResolver.ts +108 -11
  583. package/src/generic/ResolverBase.ts +635 -234
  584. package/src/generic/RunViewResolver.ts +176 -64
  585. package/src/generic/actionOutputFieldSecurity.ts +75 -0
  586. package/src/generic/fieldSecurityTransport.ts +62 -0
  587. package/src/index.ts +310 -85
  588. package/src/integration/ConnectionPause.ts +222 -0
  589. package/src/integration/CustomColumnPromoter.ts +129 -54
  590. package/src/integration/EntityMapLifecycle.ts +229 -6
  591. package/src/integration/InactiveRowWarnings.ts +50 -0
  592. package/src/integration/ObjectNamesByID.ts +97 -0
  593. package/src/integration/PostRestartIntrospect.ts +49 -0
  594. package/src/integration/RSUPostRestartProgress.ts +359 -0
  595. package/src/integration/RSUProgressBridge.ts +85 -2
  596. package/src/integration/RunArtifactAuthorization.ts +65 -0
  597. package/src/integration/SchemaRefreshLaunch.ts +12 -2
  598. package/src/integration/ScopedFieldsForBuild.ts +113 -0
  599. package/src/integration/TargetConfigGuard.ts +71 -0
  600. package/src/logging/variablesLoggingMiddleware.ts +59 -3
  601. package/src/realtimeSessions/README.md +7 -3
  602. package/src/realtimeSessions/SessionVerificationPortsBase.ts +1 -0
  603. package/src/realtimeSessions/ownedRealtimeSession.ts +16 -6
  604. package/src/realtimeSessions/sessionAccess.ts +211 -25
  605. package/src/realtimeSessions/sessionConfigStamps.ts +1 -1
  606. package/src/realtimeSessions/subscriptionAuthorization.ts +4 -2
  607. package/src/realtimeSessions/verificationWorkflow.ts +3 -1
  608. package/src/realtimeWidget/WidgetRouter.ts +22 -4
  609. package/src/realtimeWidget/WidgetSessionService.ts +254 -17
  610. package/src/realtimeWidget/host-identity.ts +1 -1
  611. package/src/realtimeWidget/visitorIdentity.ts +1 -0
  612. package/src/realtimeWidget/widgetCore.ts +34 -9
  613. package/src/realtimeWidget/widgetGuestElevation.ts +3 -1
  614. package/src/requestOrigin.ts +64 -0
  615. package/src/resolvers/ActionResolver.ts +78 -15
  616. package/src/resolvers/AdhocQueryResolver.ts +1 -0
  617. package/src/resolvers/AgentRunStatusPublisher.ts +36 -8
  618. package/src/resolvers/AgentSessionResolver.ts +50 -18
  619. package/src/resolvers/AutotagPipelineResolver.ts +2 -1
  620. package/src/resolvers/ConversationRunEventsResolver.ts +2 -0
  621. package/src/resolvers/EntityCommunicationsResolver.ts +56 -15
  622. package/src/resolvers/ExecuteRemoteOperationResolver.ts +41 -9
  623. package/src/resolvers/FetchEntityVectorsResolver.ts +132 -21
  624. package/src/resolvers/FileCategoryResolver.ts +1 -0
  625. package/src/resolvers/FileResolver.ts +14 -4
  626. package/src/resolvers/GetDataResolver.ts +35 -13
  627. package/src/resolvers/IntegrationDiscoveryResolver.ts +1570 -209
  628. package/src/resolvers/MCPResolver.ts +15 -2
  629. package/src/resolvers/MergeRecordsResolver.ts +23 -2
  630. package/src/resolvers/PipelineProgressResolver.ts +12 -3
  631. package/src/resolvers/QueryResolver.ts +20 -6
  632. package/src/resolvers/QuerySystemUserResolver.ts +207 -99
  633. package/src/resolvers/RSUResolver.ts +12 -0
  634. package/src/resolvers/RealtimeBridgeResolver.ts +1 -0
  635. package/src/resolvers/RealtimeClientSessionResolver.ts +144 -40
  636. package/src/resolvers/RemoteBrowserActionResolver.ts +252 -37
  637. package/src/resolvers/RunAIAgentResolver.ts +518 -163
  638. package/src/resolvers/RunAIPromptResolver.ts +18 -18
  639. package/src/resolvers/RunTemplateResolver.ts +9 -5
  640. package/src/resolvers/RunTestResolver.ts +3 -1
  641. package/src/resolvers/SyncDataResolver.ts +4 -0
  642. package/src/resolvers/TestQuerySQLResolver.ts +1 -0
  643. package/src/resolvers/TransactionGroupResolver.ts +66 -15
  644. package/src/resolvers/UserViewResolver.ts +2 -1
  645. package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +52 -0
  646. package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +43 -0
  647. package/src/resolvers/meetingRecordingRegistration.ts +2 -0
  648. package/src/rest/EntityCRUDHandler.ts +22 -5
  649. package/src/rest/MediaAccessKeys.ts +6 -2
  650. package/src/rest/OAuthCallbackHandler.ts +13 -5
  651. package/src/rest/RESTEndpointHandler.ts +8 -5
  652. package/src/rest/RealtimeRecordingHandler.ts +9 -10
  653. package/src/rest/ViewOperationsHandler.ts +26 -7
  654. package/src/rest/setupRESTEndpoints.ts +11 -2
  655. package/src/serverRoleConfigUnits.ts +48 -0
  656. package/src/services/DurableEntityActionTaskSubmitter.ts +10 -2
  657. package/src/services/TaskGraphActionRunner.ts +2 -23
  658. package/src/services/TaskGraphAgentRunner.ts +43 -0
  659. package/src/services/TaskGraphContinuationDeliverer.ts +53 -20
  660. package/src/services/WorkQueueHostService.ts +26 -4
  661. package/src/services/workQueueConfig.ts +5 -5
  662. package/src/sharedCache.ts +1 -1
  663. package/src/types.ts +41 -1
  664. package/src/services/TaskOrchestration-Integration.md +0 -188
package/dist/config.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { type ServerRole } from './serverRoleConfigUnits.js';
2
3
  declare const userHandlingInfoSchema: z.ZodObject<{
3
4
  autoCreateNewUsers: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
4
5
  /** When true, auto-provisioning is restricted to the domains in `newUserAuthorizedDomains`. */
@@ -446,7 +447,7 @@ declare const multiTenancySchema: z.ZodObject<{
446
447
  defaultTenantColumn?: string;
447
448
  entityColumnMappings?: Record<string, string>;
448
449
  adminRoles?: string[];
449
- writeProtection?: "strict" | "log" | "off";
450
+ writeProtection?: "off" | "strict" | "log";
450
451
  }, {
451
452
  enabled?: string | number | boolean;
452
453
  contextSource?: "header" | "linkedEntity" | "custom";
@@ -457,7 +458,7 @@ declare const multiTenancySchema: z.ZodObject<{
457
458
  defaultTenantColumn?: string;
458
459
  entityColumnMappings?: Record<string, string>;
459
460
  adminRoles?: string[];
460
- writeProtection?: "strict" | "log" | "off";
461
+ writeProtection?: "off" | "strict" | "log";
461
462
  }>;
462
463
  declare const telemetrySchema: z.ZodObject<{
463
464
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -568,6 +569,123 @@ declare const cacheSettingsSchema: z.ZodObject<{
568
569
  * for it. 0 disables the turn-taking. Default: 30.
569
570
  */
570
571
  startupWarmupLeaseSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
572
+ /**
573
+ * Pluggable cache invalidation broadcast topology configuration.
574
+ * Defaults to `'SequencedRoleBucket'` (Topology 1 Monotonic Sequence Ring Buffer + Topology 2
575
+ * Role-Fingerprint $O(\text{Roles})$ evaluation & shaping memoizer).
576
+ */
577
+ broadcast: z.ZodOptional<z.ZodObject<{
578
+ provider: z.ZodDefault<z.ZodOptional<z.ZodString>>;
579
+ ringBufferSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
580
+ excludedEntities: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
581
+ azureWebPubSub: z.ZodOptional<z.ZodObject<{
582
+ endpoint: z.ZodOptional<z.ZodString>;
583
+ hubName: z.ZodOptional<z.ZodString>;
584
+ accessKey: z.ZodOptional<z.ZodString>;
585
+ tokenTtlMinutes: z.ZodOptional<z.ZodNumber>;
586
+ }, "strip", z.ZodTypeAny, {
587
+ endpoint?: string;
588
+ hubName?: string;
589
+ accessKey?: string;
590
+ tokenTtlMinutes?: number;
591
+ }, {
592
+ endpoint?: string;
593
+ hubName?: string;
594
+ accessKey?: string;
595
+ tokenTtlMinutes?: number;
596
+ }>>;
597
+ awsIoTCore: z.ZodOptional<z.ZodObject<{
598
+ endpoint: z.ZodOptional<z.ZodString>;
599
+ region: z.ZodOptional<z.ZodString>;
600
+ topicPrefix: z.ZodOptional<z.ZodString>;
601
+ accessKeyId: z.ZodOptional<z.ZodString>;
602
+ secretAccessKey: z.ZodOptional<z.ZodString>;
603
+ tokenTtlSeconds: z.ZodOptional<z.ZodNumber>;
604
+ }, "strip", z.ZodTypeAny, {
605
+ endpoint?: string;
606
+ region?: string;
607
+ topicPrefix?: string;
608
+ accessKeyId?: string;
609
+ secretAccessKey?: string;
610
+ tokenTtlSeconds?: number;
611
+ }, {
612
+ endpoint?: string;
613
+ region?: string;
614
+ topicPrefix?: string;
615
+ accessKeyId?: string;
616
+ secretAccessKey?: string;
617
+ tokenTtlSeconds?: number;
618
+ }>>;
619
+ gcpPubSub: z.ZodOptional<z.ZodObject<{
620
+ projectId: z.ZodOptional<z.ZodString>;
621
+ topicPrefix: z.ZodOptional<z.ZodString>;
622
+ gatewayUrl: z.ZodOptional<z.ZodString>;
623
+ signingSecret: z.ZodOptional<z.ZodString>;
624
+ tokenTtlSeconds: z.ZodOptional<z.ZodNumber>;
625
+ }, "strip", z.ZodTypeAny, {
626
+ topicPrefix?: string;
627
+ tokenTtlSeconds?: number;
628
+ projectId?: string;
629
+ gatewayUrl?: string;
630
+ signingSecret?: string;
631
+ }, {
632
+ topicPrefix?: string;
633
+ tokenTtlSeconds?: number;
634
+ projectId?: string;
635
+ gatewayUrl?: string;
636
+ signingSecret?: string;
637
+ }>>;
638
+ }, "strip", z.ZodTypeAny, {
639
+ provider?: string;
640
+ ringBufferSize?: number;
641
+ excludedEntities?: string[];
642
+ azureWebPubSub?: {
643
+ endpoint?: string;
644
+ hubName?: string;
645
+ accessKey?: string;
646
+ tokenTtlMinutes?: number;
647
+ };
648
+ awsIoTCore?: {
649
+ endpoint?: string;
650
+ region?: string;
651
+ topicPrefix?: string;
652
+ accessKeyId?: string;
653
+ secretAccessKey?: string;
654
+ tokenTtlSeconds?: number;
655
+ };
656
+ gcpPubSub?: {
657
+ topicPrefix?: string;
658
+ tokenTtlSeconds?: number;
659
+ projectId?: string;
660
+ gatewayUrl?: string;
661
+ signingSecret?: string;
662
+ };
663
+ }, {
664
+ provider?: string;
665
+ ringBufferSize?: number;
666
+ excludedEntities?: string[];
667
+ azureWebPubSub?: {
668
+ endpoint?: string;
669
+ hubName?: string;
670
+ accessKey?: string;
671
+ tokenTtlMinutes?: number;
672
+ };
673
+ awsIoTCore?: {
674
+ endpoint?: string;
675
+ region?: string;
676
+ topicPrefix?: string;
677
+ accessKeyId?: string;
678
+ secretAccessKey?: string;
679
+ tokenTtlSeconds?: number;
680
+ };
681
+ gcpPubSub?: {
682
+ topicPrefix?: string;
683
+ tokenTtlSeconds?: number;
684
+ projectId?: string;
685
+ gatewayUrl?: string;
686
+ signingSecret?: string;
687
+ };
688
+ }>>;
571
689
  }, "strip", z.ZodTypeAny, {
572
690
  maxMemoryMB?: number;
573
691
  maxPercentOfCachePerEntity?: number;
@@ -581,6 +699,32 @@ declare const cacheSettingsSchema: z.ZodObject<{
581
699
  userCacheCheckIntervalSeconds?: number;
582
700
  metadataSweepIntervalSeconds?: number;
583
701
  startupWarmupLeaseSeconds?: number;
702
+ broadcast?: {
703
+ provider?: string;
704
+ ringBufferSize?: number;
705
+ excludedEntities?: string[];
706
+ azureWebPubSub?: {
707
+ endpoint?: string;
708
+ hubName?: string;
709
+ accessKey?: string;
710
+ tokenTtlMinutes?: number;
711
+ };
712
+ awsIoTCore?: {
713
+ endpoint?: string;
714
+ region?: string;
715
+ topicPrefix?: string;
716
+ accessKeyId?: string;
717
+ secretAccessKey?: string;
718
+ tokenTtlSeconds?: number;
719
+ };
720
+ gcpPubSub?: {
721
+ topicPrefix?: string;
722
+ tokenTtlSeconds?: number;
723
+ projectId?: string;
724
+ gatewayUrl?: string;
725
+ signingSecret?: string;
726
+ };
727
+ };
584
728
  }, {
585
729
  maxMemoryMB?: number;
586
730
  maxPercentOfCachePerEntity?: number;
@@ -594,6 +738,32 @@ declare const cacheSettingsSchema: z.ZodObject<{
594
738
  userCacheCheckIntervalSeconds?: number;
595
739
  metadataSweepIntervalSeconds?: number;
596
740
  startupWarmupLeaseSeconds?: number;
741
+ broadcast?: {
742
+ provider?: string;
743
+ ringBufferSize?: number;
744
+ excludedEntities?: string[];
745
+ azureWebPubSub?: {
746
+ endpoint?: string;
747
+ hubName?: string;
748
+ accessKey?: string;
749
+ tokenTtlMinutes?: number;
750
+ };
751
+ awsIoTCore?: {
752
+ endpoint?: string;
753
+ region?: string;
754
+ topicPrefix?: string;
755
+ accessKeyId?: string;
756
+ secretAccessKey?: string;
757
+ tokenTtlSeconds?: number;
758
+ };
759
+ gcpPubSub?: {
760
+ topicPrefix?: string;
761
+ tokenTtlSeconds?: number;
762
+ projectId?: string;
763
+ gatewayUrl?: string;
764
+ signingSecret?: string;
765
+ };
766
+ };
597
767
  }>;
598
768
  declare const loggingSettingsSchema: z.ZodObject<{
599
769
  graphql: z.ZodDefault<z.ZodOptional<z.ZodObject<{
@@ -869,6 +1039,13 @@ declare const magicLinkSchema: z.ZodObject<{
869
1039
  * returns the token as JSON. Append `?format=json` to force JSON regardless.
870
1040
  */
871
1041
  explorerUrl: z.ZodOptional<z.ZodString>;
1042
+ /**
1043
+ * Explicit frontend origins permitted for per-invite `RedirectUrl` targets (in addition to
1044
+ * `explorerUrl` and concrete non-wildcard entries in `cors.allowedOrigins`). Wildcard `'*'`
1045
+ * entries are always ignored so deployments using the default `cors.allowedOrigins: ['*']`
1046
+ * never expose an open redirect carrying session tokens.
1047
+ */
1048
+ allowedRedirectOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
872
1049
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
873
1050
  /** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
874
1051
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -931,6 +1108,13 @@ declare const magicLinkSchema: z.ZodObject<{
931
1108
  * returns the token as JSON. Append `?format=json` to force JSON regardless.
932
1109
  */
933
1110
  explorerUrl: z.ZodOptional<z.ZodString>;
1111
+ /**
1112
+ * Explicit frontend origins permitted for per-invite `RedirectUrl` targets (in addition to
1113
+ * `explorerUrl` and concrete non-wildcard entries in `cors.allowedOrigins`). Wildcard `'*'`
1114
+ * entries are always ignored so deployments using the default `cors.allowedOrigins: ['*']`
1115
+ * never expose an open redirect carrying session tokens.
1116
+ */
1117
+ allowedRedirectOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
934
1118
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
935
1119
  /** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
936
1120
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -993,6 +1177,13 @@ declare const magicLinkSchema: z.ZodObject<{
993
1177
  * returns the token as JSON. Append `?format=json` to force JSON regardless.
994
1178
  */
995
1179
  explorerUrl: z.ZodOptional<z.ZodString>;
1180
+ /**
1181
+ * Explicit frontend origins permitted for per-invite `RedirectUrl` targets (in addition to
1182
+ * `explorerUrl` and concrete non-wildcard entries in `cors.allowedOrigins`). Wildcard `'*'`
1183
+ * entries are always ignored so deployments using the default `cors.allowedOrigins: ['*']`
1184
+ * never expose an open redirect carrying session tokens.
1185
+ */
1186
+ allowedRedirectOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
996
1187
  }, z.ZodTypeAny, "passthrough">>;
997
1188
  /**
998
1189
  * Public web widget config (plans/realtime/bridges-and-widget/public-web-widget.md).
@@ -3261,6 +3452,101 @@ declare const identityVerificationSchema: z.ZodObject<{
3261
3452
  redeemPerIp?: number;
3262
3453
  }>>>;
3263
3454
  }, z.ZodTypeAny, "passthrough">>;
3455
+ /**
3456
+ * Remote browsers a TEXT conversation opens (`<mj-conversation-chat-area [AllowRemoteBrowser]>`), whose
3457
+ * agents drive them through the `browser_*` tools. Realtime calls' browsers are not affected.
3458
+ *
3459
+ * Off by default: until `enabled` is true, every remote-browser operation on a conversation is refused,
3460
+ * since each browser is a server Chromium process or a billed hosted session.
3461
+ */
3462
+ declare const conversationBrowserSchema: z.ZodObject<{
3463
+ /** Master switch. When false, no conversation can open a browser. */
3464
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3465
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
3466
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3467
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
3468
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3469
+ /**
3470
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
3471
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
3472
+ */
3473
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3474
+ /**
3475
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
3476
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
3477
+ * pushed screencast with nothing else happening counts as unused. Default 15.
3478
+ */
3479
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3480
+ /**
3481
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
3482
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
3483
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
3484
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
3485
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
3486
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
3487
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
3488
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
3489
+ */
3490
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3491
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3492
+ /** Master switch. When false, no conversation can open a browser. */
3493
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3494
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
3495
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3496
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
3497
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3498
+ /**
3499
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
3500
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
3501
+ */
3502
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3503
+ /**
3504
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
3505
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
3506
+ * pushed screencast with nothing else happening counts as unused. Default 15.
3507
+ */
3508
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3509
+ /**
3510
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
3511
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
3512
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
3513
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
3514
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
3515
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
3516
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
3517
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
3518
+ */
3519
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3520
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3521
+ /** Master switch. When false, no conversation can open a browser. */
3522
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3523
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
3524
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3525
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
3526
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3527
+ /**
3528
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
3529
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
3530
+ */
3531
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3532
+ /**
3533
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
3534
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
3535
+ * pushed screencast with nothing else happening counts as unused. Default 15.
3536
+ */
3537
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3538
+ /**
3539
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
3540
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
3541
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
3542
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
3543
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
3544
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
3545
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
3546
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
3547
+ */
3548
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3549
+ }, z.ZodTypeAny, "passthrough">>;
3264
3550
  declare const realtimeSchema: z.ZodObject<{
3265
3551
  /** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
3266
3552
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -3565,6 +3851,95 @@ declare const realtimeSchema: z.ZodObject<{
3565
3851
  * is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
3566
3852
  */
3567
3853
  recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3854
+ /** Remote browsers that text conversations open (off by default). */
3855
+ conversationBrowser: z.ZodDefault<z.ZodOptional<z.ZodObject<{
3856
+ /** Master switch. When false, no conversation can open a browser. */
3857
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3858
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
3859
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3860
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
3861
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3862
+ /**
3863
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
3864
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
3865
+ */
3866
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3867
+ /**
3868
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
3869
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
3870
+ * pushed screencast with nothing else happening counts as unused. Default 15.
3871
+ */
3872
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3873
+ /**
3874
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
3875
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
3876
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
3877
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
3878
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
3879
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
3880
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
3881
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
3882
+ */
3883
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3884
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3885
+ /** Master switch. When false, no conversation can open a browser. */
3886
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3887
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
3888
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3889
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
3890
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3891
+ /**
3892
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
3893
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
3894
+ */
3895
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3896
+ /**
3897
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
3898
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
3899
+ * pushed screencast with nothing else happening counts as unused. Default 15.
3900
+ */
3901
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3902
+ /**
3903
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
3904
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
3905
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
3906
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
3907
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
3908
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
3909
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
3910
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
3911
+ */
3912
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3913
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3914
+ /** Master switch. When false, no conversation can open a browser. */
3915
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3916
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
3917
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
3918
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
3919
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3920
+ /**
3921
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
3922
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
3923
+ */
3924
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3925
+ /**
3926
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
3927
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
3928
+ * pushed screencast with nothing else happening counts as unused. Default 15.
3929
+ */
3930
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3931
+ /**
3932
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
3933
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
3934
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
3935
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
3936
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
3937
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
3938
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
3939
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
3940
+ */
3941
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3942
+ }, z.ZodTypeAny, "passthrough">>>>;
3568
3943
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3569
3944
  /** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
3570
3945
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -3869,6 +4244,95 @@ declare const realtimeSchema: z.ZodObject<{
3869
4244
  * is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
3870
4245
  */
3871
4246
  recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4247
+ /** Remote browsers that text conversations open (off by default). */
4248
+ conversationBrowser: z.ZodDefault<z.ZodOptional<z.ZodObject<{
4249
+ /** Master switch. When false, no conversation can open a browser. */
4250
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4251
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
4252
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4253
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
4254
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4255
+ /**
4256
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
4257
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
4258
+ */
4259
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4260
+ /**
4261
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
4262
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
4263
+ * pushed screencast with nothing else happening counts as unused. Default 15.
4264
+ */
4265
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4266
+ /**
4267
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
4268
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
4269
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
4270
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
4271
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
4272
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
4273
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
4274
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
4275
+ */
4276
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4277
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
4278
+ /** Master switch. When false, no conversation can open a browser. */
4279
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4280
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
4281
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4282
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
4283
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4284
+ /**
4285
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
4286
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
4287
+ */
4288
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4289
+ /**
4290
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
4291
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
4292
+ * pushed screencast with nothing else happening counts as unused. Default 15.
4293
+ */
4294
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4295
+ /**
4296
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
4297
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
4298
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
4299
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
4300
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
4301
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
4302
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
4303
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
4304
+ */
4305
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4306
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
4307
+ /** Master switch. When false, no conversation can open a browser. */
4308
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4309
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
4310
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4311
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
4312
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4313
+ /**
4314
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
4315
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
4316
+ */
4317
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4318
+ /**
4319
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
4320
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
4321
+ * pushed screencast with nothing else happening counts as unused. Default 15.
4322
+ */
4323
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4324
+ /**
4325
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
4326
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
4327
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
4328
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
4329
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
4330
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
4331
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
4332
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
4333
+ */
4334
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4335
+ }, z.ZodTypeAny, "passthrough">>>>;
3872
4336
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3873
4337
  /** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
3874
4338
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -4173,6 +4637,95 @@ declare const realtimeSchema: z.ZodObject<{
4173
4637
  * is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
4174
4638
  */
4175
4639
  recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4640
+ /** Remote browsers that text conversations open (off by default). */
4641
+ conversationBrowser: z.ZodDefault<z.ZodOptional<z.ZodObject<{
4642
+ /** Master switch. When false, no conversation can open a browser. */
4643
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4644
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
4645
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4646
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
4647
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4648
+ /**
4649
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
4650
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
4651
+ */
4652
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4653
+ /**
4654
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
4655
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
4656
+ * pushed screencast with nothing else happening counts as unused. Default 15.
4657
+ */
4658
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4659
+ /**
4660
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
4661
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
4662
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
4663
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
4664
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
4665
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
4666
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
4667
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
4668
+ */
4669
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4670
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
4671
+ /** Master switch. When false, no conversation can open a browser. */
4672
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4673
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
4674
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4675
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
4676
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4677
+ /**
4678
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
4679
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
4680
+ */
4681
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4682
+ /**
4683
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
4684
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
4685
+ * pushed screencast with nothing else happening counts as unused. Default 15.
4686
+ */
4687
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4688
+ /**
4689
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
4690
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
4691
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
4692
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
4693
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
4694
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
4695
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
4696
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
4697
+ */
4698
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4699
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
4700
+ /** Master switch. When false, no conversation can open a browser. */
4701
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4702
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
4703
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
4704
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
4705
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4706
+ /**
4707
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
4708
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
4709
+ */
4710
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4711
+ /**
4712
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
4713
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
4714
+ * pushed screencast with nothing else happening counts as unused. Default 15.
4715
+ */
4716
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4717
+ /**
4718
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
4719
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
4720
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
4721
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
4722
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
4723
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
4724
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
4725
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
4726
+ */
4727
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4728
+ }, z.ZodTypeAny, "passthrough">>>>;
4176
4729
  }, z.ZodTypeAny, "passthrough">>;
4177
4730
  declare const configInfoSchema: z.ZodObject<{
4178
4731
  userHandling: z.ZodObject<{
@@ -4313,6 +4866,13 @@ declare const configInfoSchema: z.ZodObject<{
4313
4866
  * returns the token as JSON. Append `?format=json` to force JSON regardless.
4314
4867
  */
4315
4868
  explorerUrl: z.ZodOptional<z.ZodString>;
4869
+ /**
4870
+ * Explicit frontend origins permitted for per-invite `RedirectUrl` targets (in addition to
4871
+ * `explorerUrl` and concrete non-wildcard entries in `cors.allowedOrigins`). Wildcard `'*'`
4872
+ * entries are always ignored so deployments using the default `cors.allowedOrigins: ['*']`
4873
+ * never expose an open redirect carrying session tokens.
4874
+ */
4875
+ allowedRedirectOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4316
4876
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
4317
4877
  /** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
4318
4878
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -4375,6 +4935,13 @@ declare const configInfoSchema: z.ZodObject<{
4375
4935
  * returns the token as JSON. Append `?format=json` to force JSON regardless.
4376
4936
  */
4377
4937
  explorerUrl: z.ZodOptional<z.ZodString>;
4938
+ /**
4939
+ * Explicit frontend origins permitted for per-invite `RedirectUrl` targets (in addition to
4940
+ * `explorerUrl` and concrete non-wildcard entries in `cors.allowedOrigins`). Wildcard `'*'`
4941
+ * entries are always ignored so deployments using the default `cors.allowedOrigins: ['*']`
4942
+ * never expose an open redirect carrying session tokens.
4943
+ */
4944
+ allowedRedirectOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4378
4945
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
4379
4946
  /** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
4380
4947
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -4437,6 +5004,29 @@ declare const configInfoSchema: z.ZodObject<{
4437
5004
  * returns the token as JSON. Append `?format=json` to force JSON regardless.
4438
5005
  */
4439
5006
  explorerUrl: z.ZodOptional<z.ZodString>;
5007
+ /**
5008
+ * Explicit frontend origins permitted for per-invite `RedirectUrl` targets (in addition to
5009
+ * `explorerUrl` and concrete non-wildcard entries in `cors.allowedOrigins`). Wildcard `'*'`
5010
+ * entries are always ignored so deployments using the default `cors.allowedOrigins: ['*']`
5011
+ * never expose an open redirect carrying session tokens.
5012
+ */
5013
+ allowedRedirectOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5014
+ }, z.ZodTypeAny, "passthrough">>>>;
5015
+ devAuth: z.ZodDefault<z.ZodOptional<z.ZodObject<{
5016
+ /** Master switch for local-only development JWT auth (`MJ_DEV_AUTH_ENABLED=true`). Forbidden when NODE_ENV=production. */
5017
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
5018
+ /** Optional default email for `/auth/dev-login` when no email is specified in the request body. */
5019
+ defaultEmail: z.ZodOptional<z.ZodString>;
5020
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
5021
+ /** Master switch for local-only development JWT auth (`MJ_DEV_AUTH_ENABLED=true`). Forbidden when NODE_ENV=production. */
5022
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
5023
+ /** Optional default email for `/auth/dev-login` when no email is specified in the request body. */
5024
+ defaultEmail: z.ZodOptional<z.ZodString>;
5025
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
5026
+ /** Master switch for local-only development JWT auth (`MJ_DEV_AUTH_ENABLED=true`). Forbidden when NODE_ENV=production. */
5027
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
5028
+ /** Optional default email for `/auth/dev-login` when no email is specified in the request body. */
5029
+ defaultEmail: z.ZodOptional<z.ZodString>;
4440
5030
  }, z.ZodTypeAny, "passthrough">>>>;
4441
5031
  widget: z.ZodDefault<z.ZodOptional<z.ZodObject<{
4442
5032
  /** Master switch. When false, the /widget routes are not mounted. */
@@ -6292,6 +6882,95 @@ declare const configInfoSchema: z.ZodObject<{
6292
6882
  * is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
6293
6883
  */
6294
6884
  recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6885
+ /** Remote browsers that text conversations open (off by default). */
6886
+ conversationBrowser: z.ZodDefault<z.ZodOptional<z.ZodObject<{
6887
+ /** Master switch. When false, no conversation can open a browser. */
6888
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
6889
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
6890
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
6891
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
6892
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6893
+ /**
6894
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
6895
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
6896
+ */
6897
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6898
+ /**
6899
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
6900
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
6901
+ * pushed screencast with nothing else happening counts as unused. Default 15.
6902
+ */
6903
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6904
+ /**
6905
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
6906
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
6907
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
6908
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
6909
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
6910
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
6911
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
6912
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
6913
+ */
6914
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
6915
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
6916
+ /** Master switch. When false, no conversation can open a browser. */
6917
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
6918
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
6919
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
6920
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
6921
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6922
+ /**
6923
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
6924
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
6925
+ */
6926
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6927
+ /**
6928
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
6929
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
6930
+ * pushed screencast with nothing else happening counts as unused. Default 15.
6931
+ */
6932
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6933
+ /**
6934
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
6935
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
6936
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
6937
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
6938
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
6939
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
6940
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
6941
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
6942
+ */
6943
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
6944
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
6945
+ /** Master switch. When false, no conversation can open a browser. */
6946
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
6947
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
6948
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
6949
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
6950
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6951
+ /**
6952
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
6953
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
6954
+ */
6955
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6956
+ /**
6957
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
6958
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
6959
+ * pushed screencast with nothing else happening counts as unused. Default 15.
6960
+ */
6961
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6962
+ /**
6963
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
6964
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
6965
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
6966
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
6967
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
6968
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
6969
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
6970
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
6971
+ */
6972
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
6973
+ }, z.ZodTypeAny, "passthrough">>>>;
6295
6974
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
6296
6975
  /** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
6297
6976
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -6596,6 +7275,95 @@ declare const configInfoSchema: z.ZodObject<{
6596
7275
  * is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
6597
7276
  */
6598
7277
  recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7278
+ /** Remote browsers that text conversations open (off by default). */
7279
+ conversationBrowser: z.ZodDefault<z.ZodOptional<z.ZodObject<{
7280
+ /** Master switch. When false, no conversation can open a browser. */
7281
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7282
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
7283
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7284
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
7285
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7286
+ /**
7287
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
7288
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
7289
+ */
7290
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7291
+ /**
7292
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
7293
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
7294
+ * pushed screencast with nothing else happening counts as unused. Default 15.
7295
+ */
7296
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7297
+ /**
7298
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
7299
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
7300
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
7301
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
7302
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
7303
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
7304
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
7305
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
7306
+ */
7307
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7308
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
7309
+ /** Master switch. When false, no conversation can open a browser. */
7310
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7311
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
7312
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7313
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
7314
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7315
+ /**
7316
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
7317
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
7318
+ */
7319
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7320
+ /**
7321
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
7322
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
7323
+ * pushed screencast with nothing else happening counts as unused. Default 15.
7324
+ */
7325
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7326
+ /**
7327
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
7328
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
7329
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
7330
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
7331
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
7332
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
7333
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
7334
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
7335
+ */
7336
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7337
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
7338
+ /** Master switch. When false, no conversation can open a browser. */
7339
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7340
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
7341
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7342
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
7343
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7344
+ /**
7345
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
7346
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
7347
+ */
7348
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7349
+ /**
7350
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
7351
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
7352
+ * pushed screencast with nothing else happening counts as unused. Default 15.
7353
+ */
7354
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7355
+ /**
7356
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
7357
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
7358
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
7359
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
7360
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
7361
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
7362
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
7363
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
7364
+ */
7365
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7366
+ }, z.ZodTypeAny, "passthrough">>>>;
6599
7367
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
6600
7368
  /** Master switch. When false, the WebRTC SDP broker router is not mounted. Defaults to true. */
6601
7369
  enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
@@ -6900,6 +7668,95 @@ declare const configInfoSchema: z.ZodObject<{
6900
7668
  * is assembled anyway as `Partial` (gaps become silence). Defaults to 90.
6901
7669
  */
6902
7670
  recordingAssemblyGraceSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7671
+ /** Remote browsers that text conversations open (off by default). */
7672
+ conversationBrowser: z.ZodDefault<z.ZodOptional<z.ZodObject<{
7673
+ /** Master switch. When false, no conversation can open a browser. */
7674
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7675
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
7676
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7677
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
7678
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7679
+ /**
7680
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
7681
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
7682
+ */
7683
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7684
+ /**
7685
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
7686
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
7687
+ * pushed screencast with nothing else happening counts as unused. Default 15.
7688
+ */
7689
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7690
+ /**
7691
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
7692
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
7693
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
7694
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
7695
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
7696
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
7697
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
7698
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
7699
+ */
7700
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7701
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
7702
+ /** Master switch. When false, no conversation can open a browser. */
7703
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7704
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
7705
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7706
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
7707
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7708
+ /**
7709
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
7710
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
7711
+ */
7712
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7713
+ /**
7714
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
7715
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
7716
+ * pushed screencast with nothing else happening counts as unused. Default 15.
7717
+ */
7718
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7719
+ /**
7720
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
7721
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
7722
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
7723
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
7724
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
7725
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
7726
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
7727
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
7728
+ */
7729
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7730
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
7731
+ /** Master switch. When false, no conversation can open a browser. */
7732
+ enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7733
+ /** Also let anonymous principals (public widget guests, anonymous magic links) open one. */
7734
+ allowAnonymous: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
7735
+ /** Most conversation browsers one user (or one anonymous guest) may hold at once. Default 2. */
7736
+ maxPerUser: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7737
+ /**
7738
+ * Most conversation browsers all anonymous guests together may hold at once, since a guest can start a
7739
+ * new guest scope cheaply (limited only by the per-IP rate limit). Applies only with `allowAnonymous`. Default 4.
7740
+ */
7741
+ maxAnonymousTotal: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7742
+ /**
7743
+ * Minutes unused after which a conversation browser is ended (a reloaded or closed tab never ends its own).
7744
+ * Used means an agent or the user acts on it, or its open drawer polls for a snapshot; a drawer showing a
7745
+ * pushed screencast with nothing else happening counts as unused. Default 15.
7746
+ */
7747
+ idleMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7748
+ /**
7749
+ * Private hosts a conversation browser may still reach, as `host` or `host:port` (e.g. `localhost:4200`).
7750
+ * Every other loopback, link-local or private-network HOSTNAME is refused (private IPv4 and IPv6 ranges,
7751
+ * `localhost`, names under `.local`, `.localdomain`, `.internal`, `.intranet`, `.lan`, `.corp`, `.home`,
7752
+ * `.home.arpa`, `.private` and `.svc`, and the Docker, Kubernetes and cloud-metadata names), including where
7753
+ * a main-frame redirect lands, and in popups the page opens. This is a best-effort hostname check. Gets through: a public name that resolves to a
7754
+ * private address, WebSockets, service-worker fetches, an iframe whose source redirects to a private
7755
+ * host, redirects of the page's own requests, and the redirect request itself (only where it lands is
7756
+ * refused). For real isolation, run the browsers under network egress rules. Default none.
7757
+ */
7758
+ allowedPrivateHosts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7759
+ }, z.ZodTypeAny, "passthrough">>>>;
6903
7760
  }, z.ZodTypeAny, "passthrough">>>>;
6904
7761
  databaseSettings: z.ZodObject<{
6905
7762
  connectionTimeout: z.ZodNumber;
@@ -7168,6 +8025,92 @@ declare const configInfoSchema: z.ZodObject<{
7168
8025
  defaultLockTimeout?: number;
7169
8026
  staleLockCleanupInterval?: number;
7170
8027
  }>>>;
8028
+ agentSessions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
8029
+ janitor: z.ZodDefault<z.ZodOptional<z.ZodObject<{
8030
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8031
+ sweepIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8032
+ closeThresholdMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8033
+ }, "strip", z.ZodTypeAny, {
8034
+ enabled?: boolean;
8035
+ sweepIntervalMs?: number;
8036
+ closeThresholdMinutes?: number;
8037
+ }, {
8038
+ enabled?: boolean;
8039
+ sweepIntervalMs?: number;
8040
+ closeThresholdMinutes?: number;
8041
+ }>>>;
8042
+ bridgeReconciler: z.ZodDefault<z.ZodOptional<z.ZodObject<{
8043
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8044
+ sweepIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8045
+ }, "strip", z.ZodTypeAny, {
8046
+ enabled?: boolean;
8047
+ sweepIntervalMs?: number;
8048
+ }, {
8049
+ enabled?: boolean;
8050
+ sweepIntervalMs?: number;
8051
+ }>>>;
8052
+ handoffOfferExpiry: z.ZodDefault<z.ZodOptional<z.ZodObject<{
8053
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8054
+ sweepIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8055
+ }, "strip", z.ZodTypeAny, {
8056
+ enabled?: boolean;
8057
+ sweepIntervalMs?: number;
8058
+ }, {
8059
+ enabled?: boolean;
8060
+ sweepIntervalMs?: number;
8061
+ }>>>;
8062
+ }, "strip", z.ZodTypeAny, {
8063
+ janitor?: {
8064
+ enabled?: boolean;
8065
+ sweepIntervalMs?: number;
8066
+ closeThresholdMinutes?: number;
8067
+ };
8068
+ bridgeReconciler?: {
8069
+ enabled?: boolean;
8070
+ sweepIntervalMs?: number;
8071
+ };
8072
+ handoffOfferExpiry?: {
8073
+ enabled?: boolean;
8074
+ sweepIntervalMs?: number;
8075
+ };
8076
+ }, {
8077
+ janitor?: {
8078
+ enabled?: boolean;
8079
+ sweepIntervalMs?: number;
8080
+ closeThresholdMinutes?: number;
8081
+ };
8082
+ bridgeReconciler?: {
8083
+ enabled?: boolean;
8084
+ sweepIntervalMs?: number;
8085
+ };
8086
+ handoffOfferExpiry?: {
8087
+ enabled?: boolean;
8088
+ sweepIntervalMs?: number;
8089
+ };
8090
+ }>>>;
8091
+ agentRunWatchdog: z.ZodDefault<z.ZodOptional<z.ZodObject<{
8092
+ sweepIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8093
+ heartbeatIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8094
+ staleThresholdMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8095
+ }, "strip", z.ZodTypeAny, {
8096
+ sweepIntervalMs?: number;
8097
+ heartbeatIntervalMs?: number;
8098
+ staleThresholdMinutes?: number;
8099
+ }, {
8100
+ sweepIntervalMs?: number;
8101
+ heartbeatIntervalMs?: number;
8102
+ staleThresholdMinutes?: number;
8103
+ }>>>;
8104
+ conversationDetailReconciler: z.ZodDefault<z.ZodOptional<z.ZodObject<{
8105
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8106
+ sweepIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8107
+ }, "strip", z.ZodTypeAny, {
8108
+ enabled?: boolean;
8109
+ sweepIntervalMs?: number;
8110
+ }, {
8111
+ enabled?: boolean;
8112
+ sweepIntervalMs?: number;
8113
+ }>>>;
7171
8114
  integrationSyncWorker: z.ZodDefault<z.ZodOptional<z.ZodObject<{
7172
8115
  /** Master switch — off by default so existing deployments keep running syncs inline. */
7173
8116
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -7313,7 +8256,7 @@ declare const configInfoSchema: z.ZodObject<{
7313
8256
  defaultTenantColumn?: string;
7314
8257
  entityColumnMappings?: Record<string, string>;
7315
8258
  adminRoles?: string[];
7316
- writeProtection?: "strict" | "log" | "off";
8259
+ writeProtection?: "off" | "strict" | "log";
7317
8260
  }, {
7318
8261
  enabled?: string | number | boolean;
7319
8262
  contextSource?: "header" | "linkedEntity" | "custom";
@@ -7324,7 +8267,7 @@ declare const configInfoSchema: z.ZodObject<{
7324
8267
  defaultTenantColumn?: string;
7325
8268
  entityColumnMappings?: Record<string, string>;
7326
8269
  adminRoles?: string[];
7327
- writeProtection?: "strict" | "log" | "off";
8270
+ writeProtection?: "off" | "strict" | "log";
7328
8271
  }>>>;
7329
8272
  serverExtensions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
7330
8273
  Enabled: z.ZodOptional<z.ZodBoolean>;
@@ -7416,6 +8359,123 @@ declare const configInfoSchema: z.ZodObject<{
7416
8359
  * for it. 0 disables the turn-taking. Default: 30.
7417
8360
  */
7418
8361
  startupWarmupLeaseSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8362
+ /**
8363
+ * Pluggable cache invalidation broadcast topology configuration.
8364
+ * Defaults to `'SequencedRoleBucket'` (Topology 1 Monotonic Sequence Ring Buffer + Topology 2
8365
+ * Role-Fingerprint $O(\text{Roles})$ evaluation & shaping memoizer).
8366
+ */
8367
+ broadcast: z.ZodOptional<z.ZodObject<{
8368
+ provider: z.ZodDefault<z.ZodOptional<z.ZodString>>;
8369
+ ringBufferSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8370
+ excludedEntities: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
8371
+ azureWebPubSub: z.ZodOptional<z.ZodObject<{
8372
+ endpoint: z.ZodOptional<z.ZodString>;
8373
+ hubName: z.ZodOptional<z.ZodString>;
8374
+ accessKey: z.ZodOptional<z.ZodString>;
8375
+ tokenTtlMinutes: z.ZodOptional<z.ZodNumber>;
8376
+ }, "strip", z.ZodTypeAny, {
8377
+ endpoint?: string;
8378
+ hubName?: string;
8379
+ accessKey?: string;
8380
+ tokenTtlMinutes?: number;
8381
+ }, {
8382
+ endpoint?: string;
8383
+ hubName?: string;
8384
+ accessKey?: string;
8385
+ tokenTtlMinutes?: number;
8386
+ }>>;
8387
+ awsIoTCore: z.ZodOptional<z.ZodObject<{
8388
+ endpoint: z.ZodOptional<z.ZodString>;
8389
+ region: z.ZodOptional<z.ZodString>;
8390
+ topicPrefix: z.ZodOptional<z.ZodString>;
8391
+ accessKeyId: z.ZodOptional<z.ZodString>;
8392
+ secretAccessKey: z.ZodOptional<z.ZodString>;
8393
+ tokenTtlSeconds: z.ZodOptional<z.ZodNumber>;
8394
+ }, "strip", z.ZodTypeAny, {
8395
+ endpoint?: string;
8396
+ region?: string;
8397
+ topicPrefix?: string;
8398
+ accessKeyId?: string;
8399
+ secretAccessKey?: string;
8400
+ tokenTtlSeconds?: number;
8401
+ }, {
8402
+ endpoint?: string;
8403
+ region?: string;
8404
+ topicPrefix?: string;
8405
+ accessKeyId?: string;
8406
+ secretAccessKey?: string;
8407
+ tokenTtlSeconds?: number;
8408
+ }>>;
8409
+ gcpPubSub: z.ZodOptional<z.ZodObject<{
8410
+ projectId: z.ZodOptional<z.ZodString>;
8411
+ topicPrefix: z.ZodOptional<z.ZodString>;
8412
+ gatewayUrl: z.ZodOptional<z.ZodString>;
8413
+ signingSecret: z.ZodOptional<z.ZodString>;
8414
+ tokenTtlSeconds: z.ZodOptional<z.ZodNumber>;
8415
+ }, "strip", z.ZodTypeAny, {
8416
+ topicPrefix?: string;
8417
+ tokenTtlSeconds?: number;
8418
+ projectId?: string;
8419
+ gatewayUrl?: string;
8420
+ signingSecret?: string;
8421
+ }, {
8422
+ topicPrefix?: string;
8423
+ tokenTtlSeconds?: number;
8424
+ projectId?: string;
8425
+ gatewayUrl?: string;
8426
+ signingSecret?: string;
8427
+ }>>;
8428
+ }, "strip", z.ZodTypeAny, {
8429
+ provider?: string;
8430
+ ringBufferSize?: number;
8431
+ excludedEntities?: string[];
8432
+ azureWebPubSub?: {
8433
+ endpoint?: string;
8434
+ hubName?: string;
8435
+ accessKey?: string;
8436
+ tokenTtlMinutes?: number;
8437
+ };
8438
+ awsIoTCore?: {
8439
+ endpoint?: string;
8440
+ region?: string;
8441
+ topicPrefix?: string;
8442
+ accessKeyId?: string;
8443
+ secretAccessKey?: string;
8444
+ tokenTtlSeconds?: number;
8445
+ };
8446
+ gcpPubSub?: {
8447
+ topicPrefix?: string;
8448
+ tokenTtlSeconds?: number;
8449
+ projectId?: string;
8450
+ gatewayUrl?: string;
8451
+ signingSecret?: string;
8452
+ };
8453
+ }, {
8454
+ provider?: string;
8455
+ ringBufferSize?: number;
8456
+ excludedEntities?: string[];
8457
+ azureWebPubSub?: {
8458
+ endpoint?: string;
8459
+ hubName?: string;
8460
+ accessKey?: string;
8461
+ tokenTtlMinutes?: number;
8462
+ };
8463
+ awsIoTCore?: {
8464
+ endpoint?: string;
8465
+ region?: string;
8466
+ topicPrefix?: string;
8467
+ accessKeyId?: string;
8468
+ secretAccessKey?: string;
8469
+ tokenTtlSeconds?: number;
8470
+ };
8471
+ gcpPubSub?: {
8472
+ topicPrefix?: string;
8473
+ tokenTtlSeconds?: number;
8474
+ projectId?: string;
8475
+ gatewayUrl?: string;
8476
+ signingSecret?: string;
8477
+ };
8478
+ }>>;
7419
8479
  }, "strip", z.ZodTypeAny, {
7420
8480
  maxMemoryMB?: number;
7421
8481
  maxPercentOfCachePerEntity?: number;
@@ -7429,6 +8489,32 @@ declare const configInfoSchema: z.ZodObject<{
7429
8489
  userCacheCheckIntervalSeconds?: number;
7430
8490
  metadataSweepIntervalSeconds?: number;
7431
8491
  startupWarmupLeaseSeconds?: number;
8492
+ broadcast?: {
8493
+ provider?: string;
8494
+ ringBufferSize?: number;
8495
+ excludedEntities?: string[];
8496
+ azureWebPubSub?: {
8497
+ endpoint?: string;
8498
+ hubName?: string;
8499
+ accessKey?: string;
8500
+ tokenTtlMinutes?: number;
8501
+ };
8502
+ awsIoTCore?: {
8503
+ endpoint?: string;
8504
+ region?: string;
8505
+ topicPrefix?: string;
8506
+ accessKeyId?: string;
8507
+ secretAccessKey?: string;
8508
+ tokenTtlSeconds?: number;
8509
+ };
8510
+ gcpPubSub?: {
8511
+ topicPrefix?: string;
8512
+ tokenTtlSeconds?: number;
8513
+ projectId?: string;
8514
+ gatewayUrl?: string;
8515
+ signingSecret?: string;
8516
+ };
8517
+ };
7432
8518
  }, {
7433
8519
  maxMemoryMB?: number;
7434
8520
  maxPercentOfCachePerEntity?: number;
@@ -7442,6 +8528,32 @@ declare const configInfoSchema: z.ZodObject<{
7442
8528
  userCacheCheckIntervalSeconds?: number;
7443
8529
  metadataSweepIntervalSeconds?: number;
7444
8530
  startupWarmupLeaseSeconds?: number;
8531
+ broadcast?: {
8532
+ provider?: string;
8533
+ ringBufferSize?: number;
8534
+ excludedEntities?: string[];
8535
+ azureWebPubSub?: {
8536
+ endpoint?: string;
8537
+ hubName?: string;
8538
+ accessKey?: string;
8539
+ tokenTtlMinutes?: number;
8540
+ };
8541
+ awsIoTCore?: {
8542
+ endpoint?: string;
8543
+ region?: string;
8544
+ topicPrefix?: string;
8545
+ accessKeyId?: string;
8546
+ secretAccessKey?: string;
8547
+ tokenTtlSeconds?: number;
8548
+ };
8549
+ gcpPubSub?: {
8550
+ topicPrefix?: string;
8551
+ tokenTtlSeconds?: number;
8552
+ projectId?: string;
8553
+ gatewayUrl?: string;
8554
+ signingSecret?: string;
8555
+ };
8556
+ };
7445
8557
  }>>>;
7446
8558
  loggingSettings: z.ZodDefault<z.ZodOptional<z.ZodObject<{
7447
8559
  graphql: z.ZodDefault<z.ZodOptional<z.ZodObject<{
@@ -7660,6 +8772,14 @@ declare const configInfoSchema: z.ZodObject<{
7660
8772
  websiteRunFromPackage: z.ZodOptional<z.ZodNumber>;
7661
8773
  userEmailMap: z.ZodOptional<z.ZodEffects<z.ZodString, Record<string, string>, string>>;
7662
8774
  mjCoreSchema: z.ZodString;
8775
+ /**
8776
+ * Server execution role for horizontal scaling:
8777
+ * - `'all'` (default): runs both interactive HTTP/GraphQL/WebSocket handlers and background worker loops.
8778
+ * - `'api'`: runs interactive HTTP/GraphQL/WebSocket handlers only; background worker loops are skipped.
8779
+ * - `'worker'`: runs background worker loops (`ScheduledJobsService`, `IntegrationSyncWorkerService`,
8780
+ * `StartTaskGraphDispatcher`, `StartWorkQueueHost`, `SessionJanitor`, reconcilers).
8781
+ */
8782
+ serverRole: z.ZodDefault<z.ZodOptional<z.ZodEnum<["all", "api", "worker"]>>>;
7663
8783
  }, "strip", z.ZodTypeAny, {
7664
8784
  dbReadOnlyUsername?: string;
7665
8785
  dbReadOnlyPassword?: string;
@@ -7696,6 +8816,13 @@ declare const configInfoSchema: z.ZodObject<{
7696
8816
  redeemRateLimitMax?: number;
7697
8817
  createRateLimitMax?: number;
7698
8818
  explorerUrl?: string;
8819
+ allowedRedirectOrigins?: string[];
8820
+ } & {
8821
+ [k: string]: unknown;
8822
+ };
8823
+ devAuth?: {
8824
+ enabled?: boolean;
8825
+ defaultEmail?: string;
7699
8826
  } & {
7700
8827
  [k: string]: unknown;
7701
8828
  };
@@ -7843,6 +8970,16 @@ declare const configInfoSchema: z.ZodObject<{
7843
8970
  [k: string]: unknown;
7844
8971
  };
7845
8972
  recordingAssemblyGraceSeconds?: number;
8973
+ conversationBrowser?: {
8974
+ enabled?: boolean;
8975
+ allowAnonymous?: boolean;
8976
+ maxPerUser?: number;
8977
+ maxAnonymousTotal?: number;
8978
+ idleMinutes?: number;
8979
+ allowedPrivateHosts?: string[];
8980
+ } & {
8981
+ [k: string]: unknown;
8982
+ };
7846
8983
  } & {
7847
8984
  [k: string]: unknown;
7848
8985
  };
@@ -7928,6 +9065,30 @@ declare const configInfoSchema: z.ZodObject<{
7928
9065
  defaultLockTimeout?: number;
7929
9066
  staleLockCleanupInterval?: number;
7930
9067
  };
9068
+ agentSessions?: {
9069
+ janitor?: {
9070
+ enabled?: boolean;
9071
+ sweepIntervalMs?: number;
9072
+ closeThresholdMinutes?: number;
9073
+ };
9074
+ bridgeReconciler?: {
9075
+ enabled?: boolean;
9076
+ sweepIntervalMs?: number;
9077
+ };
9078
+ handoffOfferExpiry?: {
9079
+ enabled?: boolean;
9080
+ sweepIntervalMs?: number;
9081
+ };
9082
+ };
9083
+ agentRunWatchdog?: {
9084
+ sweepIntervalMs?: number;
9085
+ heartbeatIntervalMs?: number;
9086
+ staleThresholdMinutes?: number;
9087
+ };
9088
+ conversationDetailReconciler?: {
9089
+ enabled?: boolean;
9090
+ sweepIntervalMs?: number;
9091
+ };
7931
9092
  integrationSyncWorker?: {
7932
9093
  enabled?: boolean;
7933
9094
  systemUserEmail?: string;
@@ -7966,7 +9127,7 @@ declare const configInfoSchema: z.ZodObject<{
7966
9127
  defaultTenantColumn?: string;
7967
9128
  entityColumnMappings?: Record<string, string>;
7968
9129
  adminRoles?: string[];
7969
- writeProtection?: "strict" | "log" | "off";
9130
+ writeProtection?: "off" | "strict" | "log";
7970
9131
  };
7971
9132
  serverExtensions?: z.objectOutputType<{
7972
9133
  Enabled: z.ZodOptional<z.ZodBoolean>;
@@ -7987,6 +9148,32 @@ declare const configInfoSchema: z.ZodObject<{
7987
9148
  userCacheCheckIntervalSeconds?: number;
7988
9149
  metadataSweepIntervalSeconds?: number;
7989
9150
  startupWarmupLeaseSeconds?: number;
9151
+ broadcast?: {
9152
+ provider?: string;
9153
+ ringBufferSize?: number;
9154
+ excludedEntities?: string[];
9155
+ azureWebPubSub?: {
9156
+ endpoint?: string;
9157
+ hubName?: string;
9158
+ accessKey?: string;
9159
+ tokenTtlMinutes?: number;
9160
+ };
9161
+ awsIoTCore?: {
9162
+ endpoint?: string;
9163
+ region?: string;
9164
+ topicPrefix?: string;
9165
+ accessKeyId?: string;
9166
+ secretAccessKey?: string;
9167
+ tokenTtlSeconds?: number;
9168
+ };
9169
+ gcpPubSub?: {
9170
+ topicPrefix?: string;
9171
+ tokenTtlSeconds?: number;
9172
+ projectId?: string;
9173
+ gatewayUrl?: string;
9174
+ signingSecret?: string;
9175
+ };
9176
+ };
7990
9177
  };
7991
9178
  loggingSettings?: {
7992
9179
  graphql?: {
@@ -8050,6 +9237,7 @@ declare const configInfoSchema: z.ZodObject<{
8050
9237
  websiteRunFromPackage?: number;
8051
9238
  userEmailMap?: Record<string, string>;
8052
9239
  mjCoreSchema?: string;
9240
+ serverRole?: "all" | "api" | "worker";
8053
9241
  }, {
8054
9242
  dbReadOnlyUsername?: string;
8055
9243
  dbReadOnlyPassword?: string;
@@ -8086,6 +9274,13 @@ declare const configInfoSchema: z.ZodObject<{
8086
9274
  redeemRateLimitMax?: number;
8087
9275
  createRateLimitMax?: number;
8088
9276
  explorerUrl?: string;
9277
+ allowedRedirectOrigins?: string[];
9278
+ } & {
9279
+ [k: string]: unknown;
9280
+ };
9281
+ devAuth?: {
9282
+ enabled?: string | number | boolean;
9283
+ defaultEmail?: string;
8089
9284
  } & {
8090
9285
  [k: string]: unknown;
8091
9286
  };
@@ -8233,6 +9428,16 @@ declare const configInfoSchema: z.ZodObject<{
8233
9428
  [k: string]: unknown;
8234
9429
  };
8235
9430
  recordingAssemblyGraceSeconds?: number;
9431
+ conversationBrowser?: {
9432
+ enabled?: string | number | boolean;
9433
+ allowAnonymous?: string | number | boolean;
9434
+ maxPerUser?: number;
9435
+ maxAnonymousTotal?: number;
9436
+ idleMinutes?: number;
9437
+ allowedPrivateHosts?: string[];
9438
+ } & {
9439
+ [k: string]: unknown;
9440
+ };
8236
9441
  } & {
8237
9442
  [k: string]: unknown;
8238
9443
  };
@@ -8318,6 +9523,30 @@ declare const configInfoSchema: z.ZodObject<{
8318
9523
  defaultLockTimeout?: number;
8319
9524
  staleLockCleanupInterval?: number;
8320
9525
  };
9526
+ agentSessions?: {
9527
+ janitor?: {
9528
+ enabled?: boolean;
9529
+ sweepIntervalMs?: number;
9530
+ closeThresholdMinutes?: number;
9531
+ };
9532
+ bridgeReconciler?: {
9533
+ enabled?: boolean;
9534
+ sweepIntervalMs?: number;
9535
+ };
9536
+ handoffOfferExpiry?: {
9537
+ enabled?: boolean;
9538
+ sweepIntervalMs?: number;
9539
+ };
9540
+ };
9541
+ agentRunWatchdog?: {
9542
+ sweepIntervalMs?: number;
9543
+ heartbeatIntervalMs?: number;
9544
+ staleThresholdMinutes?: number;
9545
+ };
9546
+ conversationDetailReconciler?: {
9547
+ enabled?: boolean;
9548
+ sweepIntervalMs?: number;
9549
+ };
8321
9550
  integrationSyncWorker?: {
8322
9551
  enabled?: boolean;
8323
9552
  systemUserEmail?: string;
@@ -8356,7 +9585,7 @@ declare const configInfoSchema: z.ZodObject<{
8356
9585
  defaultTenantColumn?: string;
8357
9586
  entityColumnMappings?: Record<string, string>;
8358
9587
  adminRoles?: string[];
8359
- writeProtection?: "strict" | "log" | "off";
9588
+ writeProtection?: "off" | "strict" | "log";
8360
9589
  };
8361
9590
  serverExtensions?: z.objectInputType<{
8362
9591
  Enabled: z.ZodOptional<z.ZodBoolean>;
@@ -8377,6 +9606,32 @@ declare const configInfoSchema: z.ZodObject<{
8377
9606
  userCacheCheckIntervalSeconds?: number;
8378
9607
  metadataSweepIntervalSeconds?: number;
8379
9608
  startupWarmupLeaseSeconds?: number;
9609
+ broadcast?: {
9610
+ provider?: string;
9611
+ ringBufferSize?: number;
9612
+ excludedEntities?: string[];
9613
+ azureWebPubSub?: {
9614
+ endpoint?: string;
9615
+ hubName?: string;
9616
+ accessKey?: string;
9617
+ tokenTtlMinutes?: number;
9618
+ };
9619
+ awsIoTCore?: {
9620
+ endpoint?: string;
9621
+ region?: string;
9622
+ topicPrefix?: string;
9623
+ accessKeyId?: string;
9624
+ secretAccessKey?: string;
9625
+ tokenTtlSeconds?: number;
9626
+ };
9627
+ gcpPubSub?: {
9628
+ topicPrefix?: string;
9629
+ tokenTtlSeconds?: number;
9630
+ projectId?: string;
9631
+ gatewayUrl?: string;
9632
+ signingSecret?: string;
9633
+ };
9634
+ };
8380
9635
  };
8381
9636
  loggingSettings?: {
8382
9637
  graphql?: {
@@ -8440,12 +9695,15 @@ declare const configInfoSchema: z.ZodObject<{
8440
9695
  websiteRunFromPackage?: number;
8441
9696
  userEmailMap?: string;
8442
9697
  mjCoreSchema?: string;
9698
+ serverRole?: "all" | "api" | "worker";
8443
9699
  }>;
9700
+ export type { ServerRole };
8444
9701
  export type UserHandlingInfo = z.infer<typeof userHandlingInfoSchema>;
8445
9702
  export type MagicLinkConfig = z.infer<typeof magicLinkSchema>;
8446
9703
  export type WidgetConfig = z.infer<typeof widgetSchema>;
8447
9704
  export type TelephonyConfig = z.infer<typeof telephonySchema>;
8448
9705
  export type RealtimeConfig = z.infer<typeof realtimeSchema>;
9706
+ export type ConversationBrowserConfig = z.infer<typeof conversationBrowserSchema>;
8449
9707
  export type IdentityVerificationConfig = z.infer<typeof identityVerificationSchema>;
8450
9708
  export type TwilioTelephonyConfig = z.infer<typeof twilioTelephonySchema>;
8451
9709
  export type VonageTelephonyConfig = z.infer<typeof vonageTelephonySchema>;
@@ -8542,6 +9800,13 @@ export declare function LoadConfig(): {
8542
9800
  redeemRateLimitMax?: number;
8543
9801
  createRateLimitMax?: number;
8544
9802
  explorerUrl?: string;
9803
+ allowedRedirectOrigins?: string[];
9804
+ } & {
9805
+ [k: string]: unknown;
9806
+ };
9807
+ devAuth?: {
9808
+ enabled?: boolean;
9809
+ defaultEmail?: string;
8545
9810
  } & {
8546
9811
  [k: string]: unknown;
8547
9812
  };
@@ -8689,6 +9954,16 @@ export declare function LoadConfig(): {
8689
9954
  [k: string]: unknown;
8690
9955
  };
8691
9956
  recordingAssemblyGraceSeconds?: number;
9957
+ conversationBrowser?: {
9958
+ enabled?: boolean;
9959
+ allowAnonymous?: boolean;
9960
+ maxPerUser?: number;
9961
+ maxAnonymousTotal?: number;
9962
+ idleMinutes?: number;
9963
+ allowedPrivateHosts?: string[];
9964
+ } & {
9965
+ [k: string]: unknown;
9966
+ };
8692
9967
  } & {
8693
9968
  [k: string]: unknown;
8694
9969
  };
@@ -8774,6 +10049,30 @@ export declare function LoadConfig(): {
8774
10049
  defaultLockTimeout?: number;
8775
10050
  staleLockCleanupInterval?: number;
8776
10051
  };
10052
+ agentSessions?: {
10053
+ janitor?: {
10054
+ enabled?: boolean;
10055
+ sweepIntervalMs?: number;
10056
+ closeThresholdMinutes?: number;
10057
+ };
10058
+ bridgeReconciler?: {
10059
+ enabled?: boolean;
10060
+ sweepIntervalMs?: number;
10061
+ };
10062
+ handoffOfferExpiry?: {
10063
+ enabled?: boolean;
10064
+ sweepIntervalMs?: number;
10065
+ };
10066
+ };
10067
+ agentRunWatchdog?: {
10068
+ sweepIntervalMs?: number;
10069
+ heartbeatIntervalMs?: number;
10070
+ staleThresholdMinutes?: number;
10071
+ };
10072
+ conversationDetailReconciler?: {
10073
+ enabled?: boolean;
10074
+ sweepIntervalMs?: number;
10075
+ };
8777
10076
  integrationSyncWorker?: {
8778
10077
  enabled?: boolean;
8779
10078
  systemUserEmail?: string;
@@ -8812,7 +10111,7 @@ export declare function LoadConfig(): {
8812
10111
  defaultTenantColumn?: string;
8813
10112
  entityColumnMappings?: Record<string, string>;
8814
10113
  adminRoles?: string[];
8815
- writeProtection?: "strict" | "log" | "off";
10114
+ writeProtection?: "off" | "strict" | "log";
8816
10115
  };
8817
10116
  serverExtensions?: z.objectOutputType<{
8818
10117
  Enabled: z.ZodOptional<z.ZodBoolean>;
@@ -8833,6 +10132,32 @@ export declare function LoadConfig(): {
8833
10132
  userCacheCheckIntervalSeconds?: number;
8834
10133
  metadataSweepIntervalSeconds?: number;
8835
10134
  startupWarmupLeaseSeconds?: number;
10135
+ broadcast?: {
10136
+ provider?: string;
10137
+ ringBufferSize?: number;
10138
+ excludedEntities?: string[];
10139
+ azureWebPubSub?: {
10140
+ endpoint?: string;
10141
+ hubName?: string;
10142
+ accessKey?: string;
10143
+ tokenTtlMinutes?: number;
10144
+ };
10145
+ awsIoTCore?: {
10146
+ endpoint?: string;
10147
+ region?: string;
10148
+ topicPrefix?: string;
10149
+ accessKeyId?: string;
10150
+ secretAccessKey?: string;
10151
+ tokenTtlSeconds?: number;
10152
+ };
10153
+ gcpPubSub?: {
10154
+ topicPrefix?: string;
10155
+ tokenTtlSeconds?: number;
10156
+ projectId?: string;
10157
+ gatewayUrl?: string;
10158
+ signingSecret?: string;
10159
+ };
10160
+ };
8836
10161
  };
8837
10162
  loggingSettings?: {
8838
10163
  graphql?: {
@@ -8896,6 +10221,7 @@ export declare function LoadConfig(): {
8896
10221
  websiteRunFromPackage?: number;
8897
10222
  userEmailMap?: Record<string, string>;
8898
10223
  mjCoreSchema?: string;
10224
+ serverRole?: "all" | "api" | "worker";
8899
10225
  };
8900
10226
  /** @deprecated Use {@link LoadConfig}. */
8901
10227
  export declare function loadConfig(): {
@@ -8934,6 +10260,13 @@ export declare function loadConfig(): {
8934
10260
  redeemRateLimitMax?: number;
8935
10261
  createRateLimitMax?: number;
8936
10262
  explorerUrl?: string;
10263
+ allowedRedirectOrigins?: string[];
10264
+ } & {
10265
+ [k: string]: unknown;
10266
+ };
10267
+ devAuth?: {
10268
+ enabled?: boolean;
10269
+ defaultEmail?: string;
8937
10270
  } & {
8938
10271
  [k: string]: unknown;
8939
10272
  };
@@ -9081,6 +10414,16 @@ export declare function loadConfig(): {
9081
10414
  [k: string]: unknown;
9082
10415
  };
9083
10416
  recordingAssemblyGraceSeconds?: number;
10417
+ conversationBrowser?: {
10418
+ enabled?: boolean;
10419
+ allowAnonymous?: boolean;
10420
+ maxPerUser?: number;
10421
+ maxAnonymousTotal?: number;
10422
+ idleMinutes?: number;
10423
+ allowedPrivateHosts?: string[];
10424
+ } & {
10425
+ [k: string]: unknown;
10426
+ };
9084
10427
  } & {
9085
10428
  [k: string]: unknown;
9086
10429
  };
@@ -9166,6 +10509,30 @@ export declare function loadConfig(): {
9166
10509
  defaultLockTimeout?: number;
9167
10510
  staleLockCleanupInterval?: number;
9168
10511
  };
10512
+ agentSessions?: {
10513
+ janitor?: {
10514
+ enabled?: boolean;
10515
+ sweepIntervalMs?: number;
10516
+ closeThresholdMinutes?: number;
10517
+ };
10518
+ bridgeReconciler?: {
10519
+ enabled?: boolean;
10520
+ sweepIntervalMs?: number;
10521
+ };
10522
+ handoffOfferExpiry?: {
10523
+ enabled?: boolean;
10524
+ sweepIntervalMs?: number;
10525
+ };
10526
+ };
10527
+ agentRunWatchdog?: {
10528
+ sweepIntervalMs?: number;
10529
+ heartbeatIntervalMs?: number;
10530
+ staleThresholdMinutes?: number;
10531
+ };
10532
+ conversationDetailReconciler?: {
10533
+ enabled?: boolean;
10534
+ sweepIntervalMs?: number;
10535
+ };
9169
10536
  integrationSyncWorker?: {
9170
10537
  enabled?: boolean;
9171
10538
  systemUserEmail?: string;
@@ -9204,7 +10571,7 @@ export declare function loadConfig(): {
9204
10571
  defaultTenantColumn?: string;
9205
10572
  entityColumnMappings?: Record<string, string>;
9206
10573
  adminRoles?: string[];
9207
- writeProtection?: "strict" | "log" | "off";
10574
+ writeProtection?: "off" | "strict" | "log";
9208
10575
  };
9209
10576
  serverExtensions?: z.objectOutputType<{
9210
10577
  Enabled: z.ZodOptional<z.ZodBoolean>;
@@ -9225,6 +10592,32 @@ export declare function loadConfig(): {
9225
10592
  userCacheCheckIntervalSeconds?: number;
9226
10593
  metadataSweepIntervalSeconds?: number;
9227
10594
  startupWarmupLeaseSeconds?: number;
10595
+ broadcast?: {
10596
+ provider?: string;
10597
+ ringBufferSize?: number;
10598
+ excludedEntities?: string[];
10599
+ azureWebPubSub?: {
10600
+ endpoint?: string;
10601
+ hubName?: string;
10602
+ accessKey?: string;
10603
+ tokenTtlMinutes?: number;
10604
+ };
10605
+ awsIoTCore?: {
10606
+ endpoint?: string;
10607
+ region?: string;
10608
+ topicPrefix?: string;
10609
+ accessKeyId?: string;
10610
+ secretAccessKey?: string;
10611
+ tokenTtlSeconds?: number;
10612
+ };
10613
+ gcpPubSub?: {
10614
+ topicPrefix?: string;
10615
+ tokenTtlSeconds?: number;
10616
+ projectId?: string;
10617
+ gatewayUrl?: string;
10618
+ signingSecret?: string;
10619
+ };
10620
+ };
9228
10621
  };
9229
10622
  loggingSettings?: {
9230
10623
  graphql?: {
@@ -9288,5 +10681,6 @@ export declare function loadConfig(): {
9288
10681
  websiteRunFromPackage?: number;
9289
10682
  userEmailMap?: Record<string, string>;
9290
10683
  mjCoreSchema?: string;
10684
+ serverRole?: "all" | "api" | "worker";
9291
10685
  };
9292
10686
  //# sourceMappingURL=config.d.ts.map