@vertesia/ui 1.6.0-dev.20260918.090710Z → 1.6.0-dev.20260923.085325Z

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 (288) hide show
  1. package/lib/boot/branding.d.ts +13 -0
  2. package/lib/boot/branding.d.ts.map +1 -1
  3. package/lib/boot/branding.js +7 -0
  4. package/lib/boot/branding.js.map +1 -1
  5. package/lib/boot/index.d.ts +1 -1
  6. package/lib/boot/index.d.ts.map +1 -1
  7. package/lib/boot/index.js +5 -23
  8. package/lib/boot/index.js.map +1 -1
  9. package/lib/boot/loading.d.ts +4 -0
  10. package/lib/boot/loading.d.ts.map +1 -0
  11. package/lib/boot/loading.js +28 -0
  12. package/lib/boot/loading.js.map +1 -0
  13. package/lib/core/components/SelectList.d.ts.map +1 -1
  14. package/lib/core/components/SelectList.js +3 -3
  15. package/lib/core/components/SelectList.js.map +1 -1
  16. package/lib/core/components/SidePanel.d.ts.map +1 -1
  17. package/lib/core/components/SidePanel.js +2 -1
  18. package/lib/core/components/SidePanel.js.map +1 -1
  19. package/lib/core/components/shadcn/theme/ThemeProvider.d.ts.map +1 -1
  20. package/lib/core/components/shadcn/theme/ThemeProvider.js +21 -5
  21. package/lib/core/components/shadcn/theme/ThemeProvider.js.map +1 -1
  22. package/lib/env/index.d.ts +11 -0
  23. package/lib/env/index.d.ts.map +1 -1
  24. package/lib/env/index.js +16 -3
  25. package/lib/env/index.js.map +1 -1
  26. package/lib/features/agent/chat/ModernAgentConversation.js +4 -1
  27. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  28. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +5 -1
  29. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  30. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +9 -2
  31. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  32. package/lib/features/magic-pdf/GroundedExtractionView.js +3 -3
  33. package/lib/features/magic-pdf/GroundedExtractionView.js.map +1 -1
  34. package/lib/features/media-viewer/AudioPanel.d.ts +10 -2
  35. package/lib/features/media-viewer/AudioPanel.d.ts.map +1 -1
  36. package/lib/features/media-viewer/AudioPanel.js +78 -13
  37. package/lib/features/media-viewer/AudioPanel.js.map +1 -1
  38. package/lib/features/oauth/McpConnectionsButton.d.ts +2 -2
  39. package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -1
  40. package/lib/features/oauth/McpConnectionsButton.js +9 -7
  41. package/lib/features/oauth/McpConnectionsButton.js.map +1 -1
  42. package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -1
  43. package/lib/features/oauth/McpConnectionsDialog.js +7 -3
  44. package/lib/features/oauth/McpConnectionsDialog.js.map +1 -1
  45. package/lib/features/oauth/useMcpConnections.d.ts +4 -2
  46. package/lib/features/oauth/useMcpConnections.d.ts.map +1 -1
  47. package/lib/features/oauth/useMcpConnections.js +15 -9
  48. package/lib/features/oauth/useMcpConnections.js.map +1 -1
  49. package/lib/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  50. package/lib/features/store/objects/selection/ObjectsActionContext.js +2 -0
  51. package/lib/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  52. package/lib/features/store/objects/selection/SelectionActions.d.ts +4 -2
  53. package/lib/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  54. package/lib/features/store/objects/selection/SelectionActions.js +6 -3
  55. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  56. package/lib/features/store/objects/selection/actions/StartWorkflowAction.d.ts +4 -0
  57. package/lib/features/store/objects/selection/actions/StartWorkflowAction.d.ts.map +1 -0
  58. package/lib/features/store/objects/selection/actions/StartWorkflowAction.js +81 -0
  59. package/lib/features/store/objects/selection/actions/StartWorkflowAction.js.map +1 -0
  60. package/lib/features/store/objects/selection/actions/index.d.ts +1 -0
  61. package/lib/features/store/objects/selection/actions/index.d.ts.map +1 -1
  62. package/lib/features/store/objects/selection/actions/index.js +1 -0
  63. package/lib/features/store/objects/selection/actions/index.js.map +1 -1
  64. package/lib/features/store/types/TypeRegistry.d.ts +345 -155
  65. package/lib/features/store/types/TypeRegistry.d.ts.map +1 -1
  66. package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts +345 -155
  67. package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts.map +1 -1
  68. package/lib/i18n/locales/ar.json +10 -2
  69. package/lib/i18n/locales/de.json +6 -2
  70. package/lib/i18n/locales/en.json +6 -2
  71. package/lib/i18n/locales/es.json +6 -2
  72. package/lib/i18n/locales/fr.json +7 -2
  73. package/lib/i18n/locales/it.json +6 -2
  74. package/lib/i18n/locales/ja.json +6 -2
  75. package/lib/i18n/locales/ko.json +6 -2
  76. package/lib/i18n/locales/pt.json +6 -2
  77. package/lib/i18n/locales/ru.json +8 -2
  78. package/lib/i18n/locales/tr.json +6 -2
  79. package/lib/i18n/locales/zh-TW.json +6 -2
  80. package/lib/i18n/locales/zh.json +6 -2
  81. package/lib/session/UserSession.d.ts +3 -0
  82. package/lib/session/UserSession.d.ts.map +1 -1
  83. package/lib/session/UserSession.js +18 -8
  84. package/lib/session/UserSession.js.map +1 -1
  85. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  86. package/lib/session/UserSessionProvider.js +34 -24
  87. package/lib/session/UserSessionProvider.js.map +1 -1
  88. package/lib/session/auth/authRoundTrip.d.ts +8 -0
  89. package/lib/session/auth/authRoundTrip.d.ts.map +1 -0
  90. package/lib/session/auth/authRoundTrip.js +22 -0
  91. package/lib/session/auth/authRoundTrip.js.map +1 -0
  92. package/lib/session/auth/composable.d.ts.map +1 -1
  93. package/lib/session/auth/composable.js +9 -7
  94. package/lib/session/auth/composable.js.map +1 -1
  95. package/lib/session/auth/domainRouting.d.ts +13 -6
  96. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  97. package/lib/session/auth/domainRouting.js +2 -21
  98. package/lib/session/auth/domainRouting.js.map +1 -1
  99. package/lib/session/auth/oauth.d.ts +6 -1
  100. package/lib/session/auth/oauth.d.ts.map +1 -1
  101. package/lib/session/auth/oauth.js +145 -8
  102. package/lib/session/auth/oauth.js.map +1 -1
  103. package/lib/session/auth/tokenIssuer.d.ts +3 -0
  104. package/lib/session/auth/tokenIssuer.d.ts.map +1 -0
  105. package/lib/session/auth/tokenIssuer.js +27 -0
  106. package/lib/session/auth/tokenIssuer.js.map +1 -0
  107. package/lib/session/auth/vertesiaHosts.d.ts +47 -0
  108. package/lib/session/auth/vertesiaHosts.d.ts.map +1 -0
  109. package/lib/session/auth/vertesiaHosts.js +79 -0
  110. package/lib/session/auth/vertesiaHosts.js.map +1 -0
  111. package/lib/session/index.d.ts +1 -0
  112. package/lib/session/index.d.ts.map +1 -1
  113. package/lib/session/index.js +1 -0
  114. package/lib/session/index.js.map +1 -1
  115. package/lib/shell/AuthScreenPreview.d.ts +1 -1
  116. package/lib/shell/AuthScreenPreview.d.ts.map +1 -1
  117. package/lib/shell/AuthScreenPreview.js +2 -5
  118. package/lib/shell/AuthScreenPreview.js.map +1 -1
  119. package/lib/shell/BrandedAuthScreens.d.ts +1 -4
  120. package/lib/shell/BrandedAuthScreens.d.ts.map +1 -1
  121. package/lib/shell/BrandedAuthScreens.js +5 -26
  122. package/lib/shell/BrandedAuthScreens.js.map +1 -1
  123. package/lib/shell/BrandedLoadingIndicator.d.ts +11 -0
  124. package/lib/shell/BrandedLoadingIndicator.d.ts.map +1 -0
  125. package/lib/shell/BrandedLoadingIndicator.js +27 -0
  126. package/lib/shell/BrandedLoadingIndicator.js.map +1 -0
  127. package/lib/shell/SplashScreen.d.ts.map +1 -1
  128. package/lib/shell/SplashScreen.js +2 -1
  129. package/lib/shell/SplashScreen.js.map +1 -1
  130. package/lib/shell/apps/AppInstallationProvider.d.ts +16 -4
  131. package/lib/shell/apps/AppInstallationProvider.d.ts.map +1 -1
  132. package/lib/shell/apps/iframe-auth.d.ts +2 -0
  133. package/lib/shell/apps/iframe-auth.d.ts.map +1 -1
  134. package/lib/shell/apps/iframe-auth.js +6 -2
  135. package/lib/shell/apps/iframe-auth.js.map +1 -1
  136. package/lib/shell/index.d.ts +1 -0
  137. package/lib/shell/index.d.ts.map +1 -1
  138. package/lib/shell/index.js +1 -0
  139. package/lib/shell/index.js.map +1 -1
  140. package/lib/shell/login/SignInAuthPending.js +2 -2
  141. package/lib/shell/login/SignInAuthPending.js.map +1 -1
  142. package/lib/shell/login/SignInEmailStep.d.ts.map +1 -1
  143. package/lib/shell/login/SignInEmailStep.js +2 -2
  144. package/lib/shell/login/SignInEmailStep.js.map +1 -1
  145. package/lib/shell/login/TerminalLogin.d.ts.map +1 -1
  146. package/lib/shell/login/TerminalLogin.js +28 -21
  147. package/lib/shell/login/TerminalLogin.js.map +1 -1
  148. package/lib/vertesia-ui-boot.js +33 -29
  149. package/lib/vertesia-ui-boot.js.map +1 -1
  150. package/lib/vertesia-ui-core.js +34 -34
  151. package/lib/vertesia-ui-core.js.map +1 -1
  152. package/lib/vertesia-ui-env.js +1 -1
  153. package/lib/vertesia-ui-env.js.map +1 -1
  154. package/lib/vertesia-ui-features.js +163 -163
  155. package/lib/vertesia-ui-features.js.map +1 -1
  156. package/lib/vertesia-ui-i18n.Bl8KeZUK.chunk.js +5 -0
  157. package/lib/vertesia-ui-i18n.Bl8KeZUK.chunk.js.map +1 -0
  158. package/lib/vertesia-ui-i18n.BmT06XFI.chunk.js +5 -0
  159. package/lib/vertesia-ui-i18n.BmT06XFI.chunk.js.map +1 -0
  160. package/lib/vertesia-ui-i18n.Ch-Jjj0L.chunk.js +5 -0
  161. package/lib/vertesia-ui-i18n.Ch-Jjj0L.chunk.js.map +1 -0
  162. package/lib/vertesia-ui-i18n.CjhloW9s.chunk.js +5 -0
  163. package/lib/vertesia-ui-i18n.CjhloW9s.chunk.js.map +1 -0
  164. package/lib/vertesia-ui-i18n.CkfHdQzY.chunk.js +5 -0
  165. package/lib/vertesia-ui-i18n.CkfHdQzY.chunk.js.map +1 -0
  166. package/lib/vertesia-ui-i18n.DFuKfTe1.chunk.js +5 -0
  167. package/lib/vertesia-ui-i18n.DFuKfTe1.chunk.js.map +1 -0
  168. package/lib/vertesia-ui-i18n.DHqNVekZ.chunk.js +5 -0
  169. package/lib/vertesia-ui-i18n.DHqNVekZ.chunk.js.map +1 -0
  170. package/lib/vertesia-ui-i18n.DOaKbmaj.chunk.js +5 -0
  171. package/lib/vertesia-ui-i18n.DOaKbmaj.chunk.js.map +1 -0
  172. package/lib/vertesia-ui-i18n.Dge3Gl-h.chunk.js +5 -0
  173. package/lib/vertesia-ui-i18n.Dge3Gl-h.chunk.js.map +1 -0
  174. package/lib/vertesia-ui-i18n.GLt-10Lx.chunk.js +5 -0
  175. package/lib/vertesia-ui-i18n.GLt-10Lx.chunk.js.map +1 -0
  176. package/lib/vertesia-ui-i18n.T-XtAGbw.chunk.js +5 -0
  177. package/lib/vertesia-ui-i18n.T-XtAGbw.chunk.js.map +1 -0
  178. package/lib/vertesia-ui-i18n.VOJyTpMM.chunk.js +5 -0
  179. package/lib/vertesia-ui-i18n.VOJyTpMM.chunk.js.map +1 -0
  180. package/lib/vertesia-ui-i18n.js +3 -3
  181. package/lib/vertesia-ui-i18n.js.map +1 -1
  182. package/lib/vertesia-ui-layout.js +15 -15
  183. package/lib/vertesia-ui-layout.js.map +1 -1
  184. package/lib/vertesia-ui-rich-text.js +44 -44
  185. package/lib/vertesia-ui-rich-text.js.map +1 -1
  186. package/lib/vertesia-ui-session.js +1 -1
  187. package/lib/vertesia-ui-session.js.map +1 -1
  188. package/lib/vertesia-ui-shell.js +72 -48
  189. package/lib/vertesia-ui-shell.js.map +1 -1
  190. package/lib/vertesia-ui-widgets.js +51 -51
  191. package/lib/vertesia-ui-widgets.js.map +1 -1
  192. package/package.json +19 -19
  193. package/src/boot/branding.ts +8 -0
  194. package/src/boot/index.ts +6 -23
  195. package/src/boot/loading.ts +27 -0
  196. package/src/core/components/SelectList.tsx +5 -2
  197. package/src/core/components/SidePanel.tsx +65 -60
  198. package/src/core/components/shadcn/theme/ThemeProvider.test.tsx +101 -0
  199. package/src/core/components/shadcn/theme/ThemeProvider.tsx +21 -9
  200. package/src/env/index.test.ts +21 -0
  201. package/src/env/index.ts +33 -2
  202. package/src/features/agent/chat/ModernAgentConversation.test.tsx +81 -0
  203. package/src/features/agent/chat/ModernAgentConversation.tsx +5 -0
  204. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +17 -1
  205. package/src/features/magic-pdf/GroundedExtractionView.tsx +3 -3
  206. package/src/features/media-viewer/AudioPanel.test.ts +84 -0
  207. package/src/features/media-viewer/AudioPanel.tsx +97 -14
  208. package/src/features/oauth/McpConnectionsButton.test.tsx +56 -0
  209. package/src/features/oauth/McpConnectionsButton.tsx +9 -6
  210. package/src/features/oauth/McpConnectionsDialog.tsx +14 -5
  211. package/src/features/oauth/useMcpConnections.test.ts +10 -0
  212. package/src/features/oauth/useMcpConnections.ts +18 -10
  213. package/src/features/store/objects/selection/ObjectsActionContext.tsx +2 -0
  214. package/src/features/store/objects/selection/SelectionActions.tsx +13 -6
  215. package/src/features/store/objects/selection/actions/StartWorkflowAction.tsx +162 -0
  216. package/src/features/store/objects/selection/actions/index.ts +1 -0
  217. package/src/i18n/locales/ar.json +10 -2
  218. package/src/i18n/locales/de.json +6 -2
  219. package/src/i18n/locales/en.json +6 -2
  220. package/src/i18n/locales/es.json +6 -2
  221. package/src/i18n/locales/fr.json +7 -2
  222. package/src/i18n/locales/it.json +6 -2
  223. package/src/i18n/locales/ja.json +6 -2
  224. package/src/i18n/locales/ko.json +6 -2
  225. package/src/i18n/locales/pt.json +6 -2
  226. package/src/i18n/locales/ru.json +8 -2
  227. package/src/i18n/locales/tr.json +6 -2
  228. package/src/i18n/locales/zh-TW.json +6 -2
  229. package/src/i18n/locales/zh.json +6 -2
  230. package/src/session/UserSession.test.ts +48 -3
  231. package/src/session/UserSession.ts +20 -8
  232. package/src/session/UserSessionProvider.handoff.test.tsx +103 -0
  233. package/src/session/UserSessionProvider.iframe.test.tsx +178 -0
  234. package/src/session/UserSessionProvider.state-mismatch.test.tsx +43 -0
  235. package/src/session/UserSessionProvider.tsx +35 -23
  236. package/src/session/auth/auth-flow.md +18 -5
  237. package/src/session/auth/authRoundTrip.ts +24 -0
  238. package/src/session/auth/composable.test.ts +23 -1
  239. package/src/session/auth/composable.ts +10 -8
  240. package/src/session/auth/domainRouting.ts +4 -25
  241. package/src/session/auth/oauth.test.ts +121 -4
  242. package/src/session/auth/oauth.ts +172 -11
  243. package/src/session/auth/tokenIssuer.test.ts +25 -0
  244. package/src/session/auth/tokenIssuer.ts +25 -0
  245. package/src/session/auth/vertesiaHosts.test.ts +26 -0
  246. package/src/session/auth/vertesiaHosts.ts +85 -0
  247. package/src/session/index.ts +1 -0
  248. package/src/shell/AuthScreenPreview.tsx +2 -6
  249. package/src/shell/BrandedAuthScreens.test.tsx +26 -0
  250. package/src/shell/BrandedAuthScreens.tsx +4 -40
  251. package/src/shell/BrandedLoadingIndicator.tsx +42 -0
  252. package/src/shell/SplashScreen.tsx +4 -4
  253. package/src/shell/apps/iframe-auth.test.ts +8 -11
  254. package/src/shell/apps/iframe-auth.ts +10 -1
  255. package/src/shell/index.tsx +1 -0
  256. package/src/shell/login/SignInAuthPending.tsx +2 -2
  257. package/src/shell/login/SignInEmailStep.tsx +4 -2
  258. package/src/shell/login/TerminalLogin.test.tsx +111 -0
  259. package/src/shell/login/TerminalLogin.tsx +61 -37
  260. package/lib/features/store/objects/selection/actions/StartWorkflowButton.d.ts +0 -7
  261. package/lib/features/store/objects/selection/actions/StartWorkflowButton.d.ts.map +0 -1
  262. package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +0 -51
  263. package/lib/features/store/objects/selection/actions/StartWorkflowButton.js.map +0 -1
  264. package/lib/vertesia-ui-i18n.B3NFclwl.chunk.js +0 -5
  265. package/lib/vertesia-ui-i18n.B3NFclwl.chunk.js.map +0 -1
  266. package/lib/vertesia-ui-i18n.BWSrNIxc.chunk.js +0 -5
  267. package/lib/vertesia-ui-i18n.BWSrNIxc.chunk.js.map +0 -1
  268. package/lib/vertesia-ui-i18n.BWvWeB1p.chunk.js +0 -5
  269. package/lib/vertesia-ui-i18n.BWvWeB1p.chunk.js.map +0 -1
  270. package/lib/vertesia-ui-i18n.BZCXvTC1.chunk.js +0 -5
  271. package/lib/vertesia-ui-i18n.BZCXvTC1.chunk.js.map +0 -1
  272. package/lib/vertesia-ui-i18n.BbJMvFZW.chunk.js +0 -5
  273. package/lib/vertesia-ui-i18n.BbJMvFZW.chunk.js.map +0 -1
  274. package/lib/vertesia-ui-i18n.CE5ldwpt.chunk.js +0 -5
  275. package/lib/vertesia-ui-i18n.CE5ldwpt.chunk.js.map +0 -1
  276. package/lib/vertesia-ui-i18n.CMC0IShY.chunk.js +0 -5
  277. package/lib/vertesia-ui-i18n.CMC0IShY.chunk.js.map +0 -1
  278. package/lib/vertesia-ui-i18n.CkcRqBKU.chunk.js +0 -5
  279. package/lib/vertesia-ui-i18n.CkcRqBKU.chunk.js.map +0 -1
  280. package/lib/vertesia-ui-i18n.D-Mq1sw_.chunk.js +0 -5
  281. package/lib/vertesia-ui-i18n.D-Mq1sw_.chunk.js.map +0 -1
  282. package/lib/vertesia-ui-i18n.DkK68-A-.chunk.js +0 -5
  283. package/lib/vertesia-ui-i18n.DkK68-A-.chunk.js.map +0 -1
  284. package/lib/vertesia-ui-i18n.XE_dcCg6.chunk.js +0 -5
  285. package/lib/vertesia-ui-i18n.XE_dcCg6.chunk.js.map +0 -1
  286. package/lib/vertesia-ui-i18n.qgNqMPvK.chunk.js +0 -5
  287. package/lib/vertesia-ui-i18n.qgNqMPvK.chunk.js.map +0 -1
  288. package/src/features/store/objects/selection/actions/StartWorkflowButton.tsx +0 -104
@@ -1,12 +1,35 @@
1
1
  import { Env } from '@vertesia/ui/env';
2
2
  import { jwtDecode } from 'jwt-decode';
3
+ import { markCentralAuthRoundTripStarted } from './authRoundTrip';
4
+ import { verifyAuthState } from './authState';
3
5
  import { usesGatewaySession } from './gateway';
6
+ import { isStsTokenIssuer } from './tokenIssuer';
4
7
  const TRANSACTION_KEY = 'vertesia.oauth.transaction';
5
8
  const TOKEN_KEY = 'vertesia.oauth.access';
6
9
  const MAX_TRANSACTION_AGE = 10 * 60_000;
7
10
  let pending;
11
+ // Long-lived credentials never enter browser storage. A reload resumes via the broker when access expires.
12
+ let refreshSession;
13
+ export class OAuthLoginError extends Error {
14
+ }
15
+ function hasVertesiaFragmentToken() {
16
+ try {
17
+ const fragment = new URLSearchParams(window.location.hash.slice(1));
18
+ const token = fragment.get('token');
19
+ if (!token || verifyAuthState(fragment.get('state')))
20
+ return false;
21
+ return isStsTokenIssuer(jwtDecode(token).iss, Env.endpoints.sts);
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ }
8
27
  export function usesAppOAuth() {
9
- return Boolean(Env.oauth && window.parent === window && window.AUTH_MODE !== 'firebase' && !usesGatewaySession());
28
+ return Boolean(Env.oauth &&
29
+ window.parent === window &&
30
+ window.AUTH_MODE !== 'firebase' &&
31
+ !usesGatewaySession() &&
32
+ !hasVertesiaFragmentToken());
10
33
  }
11
34
  function base64url(bytes) {
12
35
  return btoa(String.fromCharCode(...bytes))
@@ -24,11 +47,12 @@ function httpsUrl(value) {
24
47
  return url;
25
48
  }
26
49
  export function clearAppOAuth() {
50
+ refreshSession = undefined;
27
51
  sessionStorage.removeItem(TOKEN_KEY);
28
52
  sessionStorage.removeItem(TRANSACTION_KEY);
29
53
  }
30
54
  /** Public-client PKCE for independently hosted apps. No Firebase identity token or client secret. */
31
- async function acquireToken() {
55
+ async function acquireToken(forceRefresh = false) {
32
56
  const config = Env.oauth;
33
57
  if (!config)
34
58
  throw new Error('Application OAuth is not configured');
@@ -52,6 +76,7 @@ async function acquireToken() {
52
76
  const state = callback ? current.searchParams.get('state') : null;
53
77
  const code = callback ? current.searchParams.get('code') : null;
54
78
  const error = callback ? current.searchParams.get('error') : null;
79
+ let refreshCredential;
55
80
  let transaction;
56
81
  if (state || code || error) {
57
82
  const raw = sessionStorage.getItem(TRANSACTION_KEY);
@@ -74,9 +99,22 @@ async function acquireToken() {
74
99
  if (raw) {
75
100
  const cached = JSON.parse(raw);
76
101
  const claims = jwtDecode(cached.token);
102
+ if (config.offlineAccess &&
103
+ cached.clientId === clientId &&
104
+ cached.issuer === issuer &&
105
+ (!current.searchParams.get('p') || claims.project?.id === current.searchParams.get('p')) &&
106
+ (!current.searchParams.get('a') || claims.account?.id === current.searchParams.get('a')))
107
+ refreshCredential =
108
+ refreshSession?.clientId === clientId && refreshSession.issuer === issuer
109
+ ? refreshSession.token
110
+ : undefined;
111
+ // Discard credentials persisted by older SDK versions rather than loading them into the new session.
112
+ if (cached.refreshToken)
113
+ sessionStorage.removeItem(TOKEN_KEY);
77
114
  if (cached.clientId === clientId &&
78
115
  cached.issuer === issuer &&
79
- claims.exp > Date.now() / 1000 + 30 &&
116
+ !forceRefresh &&
117
+ claims.exp > Date.now() / 1000 + (config.offlineAccess ? 300 : 30) &&
80
118
  (!current.searchParams.get('p') || claims.project?.id === current.searchParams.get('p')) &&
81
119
  (!current.searchParams.get('a') || claims.account?.id === current.searchParams.get('a'))) {
82
120
  return cached.token;
@@ -91,12 +129,59 @@ async function acquireToken() {
91
129
  throw new Error('OAuth issuer mismatch');
92
130
  const authorize = httpsUrl(metadata.authorization_endpoint);
93
131
  const tokenEndpoint = httpsUrl(metadata.token_endpoint);
132
+ const revocationEndpoint = metadata.revocation_endpoint === undefined ? undefined : httpsUrl(metadata.revocation_endpoint).toString();
133
+ const resource = new URL(metadata.issuer).toString();
134
+ if (refreshCredential) {
135
+ try {
136
+ const response = await fetch(tokenEndpoint, {
137
+ method: 'POST',
138
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
139
+ body: new URLSearchParams({
140
+ grant_type: 'refresh_token',
141
+ client_id: clientId,
142
+ refresh_token: refreshCredential,
143
+ resource,
144
+ }),
145
+ });
146
+ if (response.ok) {
147
+ const grant = (await response.json());
148
+ if (!grant.access_token || grant.token_type?.toLowerCase() !== 'bearer')
149
+ throw new OAuthLoginError('Invalid OAuth refresh grant');
150
+ const claims = jwtDecode(grant.access_token);
151
+ if (claims.iss.replace(/\/+$/, '') !== issuer ||
152
+ claims.client_id !== clientId ||
153
+ claims.exp <= Date.now() / 1000 ||
154
+ (!!current.searchParams.get('a') && claims.account?.id !== current.searchParams.get('a')) ||
155
+ (!!current.searchParams.get('p') && claims.project?.id !== current.searchParams.get('p')))
156
+ throw new OAuthLoginError('Invalid OAuth refresh identity');
157
+ sessionStorage.setItem(TOKEN_KEY, JSON.stringify({
158
+ token: grant.access_token,
159
+ clientId,
160
+ issuer,
161
+ }));
162
+ refreshSession = {
163
+ token: grant.refresh_token ?? refreshCredential,
164
+ clientId,
165
+ issuer,
166
+ tokenEndpoint: tokenEndpoint.toString(),
167
+ revocationEndpoint,
168
+ };
169
+ return grant.access_token;
170
+ }
171
+ }
172
+ catch {
173
+ // A failed or invalid refresh starts a fresh authorization transaction.
174
+ }
175
+ refreshSession = undefined;
176
+ sessionStorage.removeItem(TOKEN_KEY);
177
+ }
94
178
  if (transaction && code) {
95
179
  const response = await fetch(tokenEndpoint, {
96
180
  method: 'POST',
97
181
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
98
182
  body: new URLSearchParams({
99
183
  grant_type: 'authorization_code',
184
+ resource,
100
185
  code,
101
186
  client_id: clientId,
102
187
  redirect_uri: redirectUri,
@@ -114,10 +199,34 @@ async function acquireToken() {
114
199
  claims.exp <= Date.now() / 1000) {
115
200
  throw new Error('OAuth grant does not match this application');
116
201
  }
117
- sessionStorage.setItem(TOKEN_KEY, JSON.stringify({ token: grant.access_token, clientId, issuer }));
202
+ sessionStorage.setItem(TOKEN_KEY, JSON.stringify({
203
+ token: grant.access_token,
204
+ clientId,
205
+ issuer,
206
+ }));
207
+ refreshSession =
208
+ config.offlineAccess && grant.refresh_token
209
+ ? {
210
+ token: grant.refresh_token,
211
+ clientId,
212
+ issuer,
213
+ tokenEndpoint: tokenEndpoint.toString(),
214
+ revocationEndpoint,
215
+ }
216
+ : undefined;
118
217
  const target = new URL(transaction.target);
119
218
  if (target.origin !== window.location.origin)
120
219
  throw new Error('Invalid OAuth return target');
220
+ if (claims.account?.id)
221
+ target.searchParams.set('a', claims.account.id);
222
+ else
223
+ target.searchParams.delete('a');
224
+ if (claims.project?.id)
225
+ target.searchParams.set('p', claims.project.id);
226
+ else
227
+ target.searchParams.delete('p');
228
+ if (target.pathname === '/auth/callback')
229
+ target.pathname = '/';
121
230
  window.history.replaceState(window.history.state, '', target);
122
231
  return grant.access_token;
123
232
  }
@@ -146,22 +255,50 @@ async function acquireToken() {
146
255
  authorize.searchParams.set('client_id', clientId);
147
256
  authorize.searchParams.set('redirect_uri', redirectUri);
148
257
  authorize.searchParams.set('response_type', 'code');
258
+ authorize.searchParams.set('resource', resource);
149
259
  authorize.searchParams.set('state', next.state);
150
260
  authorize.searchParams.set('code_challenge_method', 'S256');
151
261
  authorize.searchParams.set('code_challenge', base64url(new Uint8Array(digest)));
152
- // This browser client intentionally requests no refresh token.
153
- authorize.searchParams.set('scope', scopes.filter((s) => s !== 'offline_access').join(' '));
262
+ authorize.searchParams.set('scope', (config.offlineAccess
263
+ ? [...new Set([...scopes, 'offline_access'])]
264
+ : scopes.filter((s) => s !== 'offline_access')).join(' '));
265
+ const account = current.searchParams.get('a');
266
+ if (account)
267
+ authorize.searchParams.set('account_id', account);
154
268
  const project = current.searchParams.get('p');
155
269
  if (project)
156
270
  authorize.searchParams.set('project_id', project);
157
271
  sessionStorage.setItem(TRANSACTION_KEY, JSON.stringify(next));
272
+ markCentralAuthRoundTripStarted();
158
273
  window.location.replace(authorize.toString());
159
274
  return new Promise(() => { });
160
275
  }
161
- export function getAppOAuthToken() {
162
- pending ??= acquireToken().finally(() => {
276
+ export function getAppOAuthToken(forceRefresh = false) {
277
+ pending ??= acquireToken(forceRefresh).finally(() => {
163
278
  pending = undefined;
164
279
  });
165
280
  return pending;
166
281
  }
282
+ export function isAppOAuthLoginPending() {
283
+ return usesAppOAuth();
284
+ }
285
+ export const startAppOAuthLogin = getAppOAuthToken;
286
+ export async function revokeAppOAuthSession() {
287
+ const cached = refreshSession;
288
+ clearAppOAuth();
289
+ if (!cached)
290
+ return;
291
+ const revoke = httpsUrl(cached.revocationEndpoint ?? cached.tokenEndpoint);
292
+ if (cached.revocationEndpoint === undefined)
293
+ revoke.pathname = revoke.pathname.replace(/\/token$/, '/revoke');
294
+ await fetch(revoke, {
295
+ method: 'POST',
296
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
297
+ body: new URLSearchParams({
298
+ client_id: cached.clientId,
299
+ token: cached.token,
300
+ token_type_hint: 'refresh_token',
301
+ }),
302
+ });
303
+ }
167
304
  //# sourceMappingURL=oauth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/session/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/session/auth/oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,eAAe,GAAG,4BAA4B,CAAC;AACrD,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,EAAE,GAAG,MAAM,CAAC;AACxC,IAAI,OAAoC,CAAC;AACzC,2GAA2G;AAC3G,IAAI,cAEW,CAAC;AAEhB,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAE7C,SAAS,wBAAwB;IAC7B,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACnE,OAAO,gBAAgB,CAAC,SAAS,CAAmB,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY;IACxB,OAAO,OAAO,CACV,GAAG,CAAC,KAAK;QACL,MAAM,CAAC,MAAM,KAAK,MAAM;QACxB,MAAM,CAAC,SAAS,KAAK,UAAU;QAC/B,CAAC,kBAAkB,EAAE;QACrB,CAAC,wBAAwB,EAAE,CAClC,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;SACrC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AACD,SAAS,WAAW;IAChB,OAAO,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AACD,SAAS,QAAQ,CAAC,KAAa;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAChH,OAAO,GAAG,CAAC;AACf,CAAC;AAYD,MAAM,UAAU,aAAa;IACzB,cAAc,GAAG,SAAS,CAAC;IAC3B,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/C,CAAC;AAED,qGAAqG;AACrG,KAAK,UAAU,YAAY,CAAC,YAAY,GAAG,KAAK;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,QAAQ,GACV,QAAQ,CAAC,QAAQ,KAAK,WAAW;QACjC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,QAAQ,KAAK,OAAO;QAC7B,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAClH,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;IACnH,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,IAAI,iBAAqC,CAAC;IAC1C,IAAI,WAAoC,CAAC;IACzC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC3C,WAAW,GAAG,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,IACI,CAAC,WAAW;YACZ,WAAW,CAAC,KAAK,KAAK,KAAK;YAC3B,WAAW,CAAC,QAAQ,KAAK,QAAQ;YACjC,WAAW,CAAC,WAAW,KAAK,WAAW;YACvC,WAAW,CAAC,MAAM,KAAK,MAAM;YAC7B,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,GAAG,mBAAmB;YACtD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAClC,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,IAAI,cAAc,GAAG,CAAC,CAAC;IAC9G,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAK5B,CAAC;YACF,MAAM,MAAM,GAAG,SAAS,CAAmB,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,IACI,MAAM,CAAC,aAAa;gBACpB,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC5B,MAAM,CAAC,MAAM,KAAK,MAAM;gBACxB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAExF,iBAAiB;oBACb,cAAc,EAAE,QAAQ,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM;wBACrE,CAAC,CAAC,cAAc,CAAC,KAAK;wBACtB,CAAC,CAAC,SAAS,CAAC;YACxB,qGAAqG;YACrG,IAAI,MAAM,CAAC,YAAY;gBAAE,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC9D,IACI,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC5B,MAAM,CAAC,MAAM,KAAK,MAAM;gBACxB,CAAC,YAAY;gBACb,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxF,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC1F,CAAC;gBACC,OAAO,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,yCAAyC,CAAC,CAAC;IAClF,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACnF,MAAM,QAAQ,GAKV,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,kBAAkB,GACpB,QAAQ,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/G,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrD,IAAI,iBAAiB,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gBAChE,IAAI,EAAE,IAAI,eAAe,CAAC;oBACtB,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,QAAQ;oBACnB,aAAa,EAAE,iBAAiB;oBAChC,QAAQ;iBACX,CAAC;aACL,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAInC,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,QAAQ;oBACnE,MAAM,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,SAAS,CAA4C,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxF,IACI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM;oBACzC,MAAM,CAAC,SAAS,KAAK,QAAQ;oBAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;oBAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzF,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAEzF,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC;gBAChE,cAAc,CAAC,OAAO,CAClB,SAAS,EACT,IAAI,CAAC,SAAS,CAAC;oBACX,KAAK,EAAE,KAAK,CAAC,YAAY;oBACzB,QAAQ;oBACR,MAAM;iBACT,CAAC,CACL,CAAC;gBACF,cAAc,GAAG;oBACb,KAAK,EAAE,KAAK,CAAC,aAAa,IAAI,iBAAiB;oBAC/C,QAAQ;oBACR,MAAM;oBACN,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;oBACvC,kBAAkB;iBACrB,CAAC;gBACF,OAAO,KAAK,CAAC,YAAY,CAAC;YAC9B,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wEAAwE;QAC5E,CAAC;QACD,cAAc,GAAG,SAAS,CAAC;QAC3B,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,IAAI,eAAe,CAAC;gBACtB,UAAU,EAAE,oBAAoB;gBAChC,QAAQ;gBACR,IAAI;gBACJ,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,WAAW;gBACzB,aAAa,EAAE,WAAW,CAAC,QAAQ;aACtC,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACrF,MAAM,KAAK,GAA2E,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5G,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChH,MAAM,MAAM,GAAG,SAAS,CAA4C,KAAK,CAAC,YAAY,CAAC,CAAC;QACxF,IACI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM;YACzC,MAAM,CAAC,SAAS,KAAK,QAAQ;YAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EACjC,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,cAAc,CAAC,OAAO,CAClB,SAAS,EACT,IAAI,CAAC,SAAS,CAAC;YACX,KAAK,EAAE,KAAK,CAAC,YAAY;YACzB,QAAQ;YACR,MAAM;SACT,CAAC,CACL,CAAC;QACF,cAAc;YACV,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa;gBACvC,CAAC,CAAC;oBACI,KAAK,EAAE,KAAK,CAAC,aAAa;oBAC1B,QAAQ;oBACR,MAAM;oBACN,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;oBACvC,kBAAkB;iBACrB;gBACH,CAAC,CAAC,SAAS,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;YAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;YACnE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;YAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;YACnE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,QAAQ,KAAK,gBAAgB;YAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAiD,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK;YAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAgB;QACtB,KAAK,EAAE,WAAW,EAAE;QACpB,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC1B,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACxD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACpD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC5D,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF,SAAS,CAAC,YAAY,CAAC,GAAG,CACtB,OAAO,EACP,CAAC,MAAM,CAAC,aAAa;QACjB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,CACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/D,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,+BAA+B,EAAE,CAAC;IAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAAY,GAAG,KAAK;IACjD,OAAO,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAChD,OAAO,GAAG,SAAS,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,YAAY,EAAE,CAAC;AAC1B,CAAC;AACD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC;IAC9B,aAAa,EAAE,CAAC;IAChB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9G,MAAM,KAAK,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,eAAe,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,eAAe,EAAE,eAAe;SACnC,CAAC;KACL,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Classify legacy STS credentials for routing; API servers still verify their signatures and grants. */
2
+ export declare function isStsTokenIssuer(issuer: string | undefined, stsEndpoint: string): boolean;
3
+ //# sourceMappingURL=tokenIssuer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenIssuer.d.ts","sourceRoot":"","sources":["../../../src/session/auth/tokenIssuer.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAuBzF"}
@@ -0,0 +1,27 @@
1
+ /** Classify legacy STS credentials for routing; API servers still verify their signatures and grants. */
2
+ export function isStsTokenIssuer(issuer, stsEndpoint) {
3
+ if (!issuer)
4
+ return false;
5
+ const normalized = issuer.replace(/\/+$/, '');
6
+ if (normalized === stsEndpoint.replace(/\/+$/, ''))
7
+ return true;
8
+ try {
9
+ const endpoint = new URL(stsEndpoint);
10
+ // Branch STS uses a separate OAuth issuer but retains the regional issuer for legacy
11
+ // /token/issue and /token/sign credentials (including workload identity consumers).
12
+ const branch = /^token-server-dev-[a-z0-9-]+\.api\.(dev1|dev2)\.vertesia\.io$/.exec(endpoint.hostname);
13
+ return Boolean(branch &&
14
+ endpoint.protocol === 'https:' &&
15
+ !endpoint.port &&
16
+ !endpoint.username &&
17
+ !endpoint.password &&
18
+ endpoint.pathname === '/' &&
19
+ !endpoint.search &&
20
+ !endpoint.hash &&
21
+ normalized === `https://sts.${branch[1]}.vertesia.io`);
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ }
27
+ //# sourceMappingURL=tokenIssuer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenIssuer.js","sourceRoot":"","sources":["../../../src/session/auth/tokenIssuer.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,UAAU,gBAAgB,CAAC,MAA0B,EAAE,WAAmB;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,UAAU,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,qFAAqF;QACrF,oFAAoF;QACpF,MAAM,MAAM,GAAG,+DAA+D,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvG,OAAO,OAAO,CACV,MAAM;YACF,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAC9B,CAAC,QAAQ,CAAC,IAAI;YACd,CAAC,QAAQ,CAAC,QAAQ;YAClB,CAAC,QAAQ,CAAC,QAAQ;YAClB,QAAQ,CAAC,QAAQ,KAAK,GAAG;YACzB,CAAC,QAAQ,CAAC,MAAM;YAChB,CAAC,QAAQ,CAAC,IAAI;YACd,UAAU,KAAK,eAAe,MAAM,CAAC,CAAC,CAAC,cAAc,CAC5D,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1,47 @@
1
+ /** A single DNS label: alphanumeric, inner hyphens allowed. */
2
+ export declare const LABEL = "[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
3
+ /** The region label is optional throughout, because each regional host has a global US alias. */
4
+ export declare const REGION = "(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)?";
5
+ /**
6
+ * Hostnames served by the UI backend — Vertesia's own code, not merely a Vertesia-owned name:
7
+ * `cloud.vertesia.io`, `cloud.us1.vertesia.io` — the Cloud UI
8
+ * `preprod.cloud.vertesia.io`, `preview.cloud.us1.vertesia.io` — its preview/preprod tiers
9
+ * `acme.cloud.us1.vertesia.io` — per-IdP-tenant branded hosts
10
+ * `dev-feat-x.ui.dev1.vertesia.io` — dynamic per-branch dev envs
11
+ *
12
+ * Mirrors the load-balancer host rules (region-lb/main.tf: `cloud.${var.domain}`,
13
+ * `*.cloud.${var.domain}`, `*.ui.${var.domain}`) rather than the DNS zone, so a name we merely own
14
+ * is not trusted for what serves it.
15
+ */
16
+ export declare const FIRST_PARTY_HOST_PATTERNS: readonly RegExp[];
17
+ /**
18
+ * Public app-gateway origins. Stable tiers use the `apps*` browser-facing host, while development
19
+ * environments reach the gateway through its `*.api.*` Cloud Run route:
20
+ * `apps.us1.vertesia.io`, `apps-preview.us1.vertesia.io`
21
+ * `app-gateway-dev1.api.dev1.vertesia.io`, `app-gateway-us3.api.us3.vertesia.io`
22
+ *
23
+ * The second label is deliberately unconstrained. Branch environments do NOT each get a gateway —
24
+ * they share their region's (`detectGatewayUrl` in packages/server-common/src/env/ServerEnv.ts:444
25
+ * and `getAppgenServerBaseUrl` in packages/workflows/.../app_workspace/workspace-utils.ts), so the
26
+ * host published to browsers is region-scoped, while the per-branch `app-gateway-dev-<branch>`
27
+ * shape in the infrastructure README also exists. Matching `app-gateway-<anything>` covers both,
28
+ * and every Cloud Run service named that way *is* a gateway (region-compute/main.tf:373).
29
+ *
30
+ * These serve every tenant's published application from one shared origin, and published assets
31
+ * need no authentication — so this is generated, low-trust code sitting on a Vertesia-owned
32
+ * hostname. Owning the domain is not the test; which backend serves the origin is.
33
+ *
34
+ * Two load-balancer variables can map further hostnames onto the same backend —
35
+ * `appgen_host_aliases` and `appgen_preview_host_aliases` in
36
+ * infrastructure/terraform/modules/region-lb/variables.tf. Both are empty in every region today; if
37
+ * one is ever set, add the alias here too, or it silently falls through to the permissive branch of
38
+ * Policy L and becomes an origin that may receive a token at any path.
39
+ */
40
+ export declare const GATEWAY_HOST_PATTERNS: readonly RegExp[];
41
+ export declare function isLoopbackHostname(hostname: string): boolean;
42
+ export declare function normalizeHostname(hostname: string): string;
43
+ export declare const AUTH_BROKER_HOST_PATTERNS: readonly RegExp[];
44
+ export declare function isTrustedAuthBrokerUrl(value: string, options?: {
45
+ allowLoopback?: boolean;
46
+ }): boolean;
47
+ //# sourceMappingURL=vertesiaHosts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertesiaHosts.d.ts","sourceRoot":"","sources":["../../../src/session/auth/vertesiaHosts.ts"],"names":[],"mappings":"AACA,+DAA+D;AAC/D,eAAO,MAAM,KAAK,oCAAoC,CAAC;AAEvD,iGAAiG;AACjG,eAAO,MAAM,MAAM,4CAAqB,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAItD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAGlD,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ5D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAoD,CAAC;AAE5G,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAgBxG"}
@@ -0,0 +1,79 @@
1
+ const LOOPBACK_IPV4 = /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
2
+ /** A single DNS label: alphanumeric, inner hyphens allowed. */
3
+ export const LABEL = '[a-z0-9](?:[a-z0-9-]*[a-z0-9])?';
4
+ /** The region label is optional throughout, because each regional host has a global US alias. */
5
+ export const REGION = `(?:${LABEL}\\.)?`;
6
+ /**
7
+ * Hostnames served by the UI backend — Vertesia's own code, not merely a Vertesia-owned name:
8
+ * `cloud.vertesia.io`, `cloud.us1.vertesia.io` — the Cloud UI
9
+ * `preprod.cloud.vertesia.io`, `preview.cloud.us1.vertesia.io` — its preview/preprod tiers
10
+ * `acme.cloud.us1.vertesia.io` — per-IdP-tenant branded hosts
11
+ * `dev-feat-x.ui.dev1.vertesia.io` — dynamic per-branch dev envs
12
+ *
13
+ * Mirrors the load-balancer host rules (region-lb/main.tf: `cloud.${var.domain}`,
14
+ * `*.cloud.${var.domain}`, `*.ui.${var.domain}`) rather than the DNS zone, so a name we merely own
15
+ * is not trusted for what serves it.
16
+ */
17
+ export const FIRST_PARTY_HOST_PATTERNS = [
18
+ new RegExp(`^cloud\\.${REGION}vertesia\\.io$`),
19
+ new RegExp(`^${LABEL}\\.cloud\\.${REGION}vertesia\\.io$`),
20
+ new RegExp(`^${LABEL}\\.ui\\.${LABEL}\\.vertesia\\.io$`),
21
+ ];
22
+ /**
23
+ * Public app-gateway origins. Stable tiers use the `apps*` browser-facing host, while development
24
+ * environments reach the gateway through its `*.api.*` Cloud Run route:
25
+ * `apps.us1.vertesia.io`, `apps-preview.us1.vertesia.io`
26
+ * `app-gateway-dev1.api.dev1.vertesia.io`, `app-gateway-us3.api.us3.vertesia.io`
27
+ *
28
+ * The second label is deliberately unconstrained. Branch environments do NOT each get a gateway —
29
+ * they share their region's (`detectGatewayUrl` in packages/server-common/src/env/ServerEnv.ts:444
30
+ * and `getAppgenServerBaseUrl` in packages/workflows/.../app_workspace/workspace-utils.ts), so the
31
+ * host published to browsers is region-scoped, while the per-branch `app-gateway-dev-<branch>`
32
+ * shape in the infrastructure README also exists. Matching `app-gateway-<anything>` covers both,
33
+ * and every Cloud Run service named that way *is* a gateway (region-compute/main.tf:373).
34
+ *
35
+ * These serve every tenant's published application from one shared origin, and published assets
36
+ * need no authentication — so this is generated, low-trust code sitting on a Vertesia-owned
37
+ * hostname. Owning the domain is not the test; which backend serves the origin is.
38
+ *
39
+ * Two load-balancer variables can map further hostnames onto the same backend —
40
+ * `appgen_host_aliases` and `appgen_preview_host_aliases` in
41
+ * infrastructure/terraform/modules/region-lb/variables.tf. Both are empty in every region today; if
42
+ * one is ever set, add the alias here too, or it silently falls through to the permissive branch of
43
+ * Policy L and becomes an origin that may receive a token at any path.
44
+ */
45
+ export const GATEWAY_HOST_PATTERNS = [
46
+ new RegExp(`^apps(?:-preview|-preprod)?\\.${REGION}vertesia\\.io$`),
47
+ new RegExp(`^app-gateway-${LABEL}\\.api\\.${LABEL}\\.vertesia\\.io$`),
48
+ ];
49
+ export function isLoopbackHostname(hostname) {
50
+ if (hostname === 'localhost' || hostname.endsWith('.localhost')) {
51
+ return true;
52
+ }
53
+ if (hostname === '::1' || hostname === '[::1]') {
54
+ return true;
55
+ }
56
+ return LOOPBACK_IPV4.test(hostname);
57
+ }
58
+ export function normalizeHostname(hostname) {
59
+ return hostname.toLowerCase().replace(/\.$/, '');
60
+ }
61
+ export const AUTH_BROKER_HOST_PATTERNS = [new RegExp(`^auth\\.${REGION}vertesia\\.io$`)];
62
+ export function isTrustedAuthBrokerUrl(value, options = {}) {
63
+ try {
64
+ const url = new URL(value);
65
+ const hostname = normalizeHostname(url.hostname);
66
+ if (url.username || url.password || url.search || url.hash || url.pathname !== '/')
67
+ return false;
68
+ if (options.allowLoopback && isLoopbackHostname(hostname)) {
69
+ return url.protocol === 'http:' || url.protocol === 'https:';
70
+ }
71
+ return (url.protocol === 'https:' &&
72
+ !url.port &&
73
+ AUTH_BROKER_HOST_PATTERNS.some((pattern) => pattern.test(hostname)));
74
+ }
75
+ catch {
76
+ return false;
77
+ }
78
+ }
79
+ //# sourceMappingURL=vertesiaHosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertesiaHosts.js","sourceRoot":"","sources":["../../../src/session/auth/vertesiaHosts.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,kCAAkC,CAAC;AACzD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,KAAK,GAAG,iCAAiC,CAAC;AAEvD,iGAAiG;AACjG,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IACxD,IAAI,MAAM,CAAC,YAAY,MAAM,gBAAgB,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,MAAM,gBAAgB,CAAC;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,KAAK,mBAAmB,CAAC;CAC3D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACpD,IAAI,MAAM,CAAC,iCAAiC,MAAM,gBAAgB,CAAC;IACnE,IAAI,MAAM,CAAC,gBAAgB,KAAK,YAAY,KAAK,mBAAmB,CAAC;CACxE,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,IAAI,MAAM,CAAC,WAAW,MAAM,gBAAgB,CAAC,CAAC,CAAC;AAE5G,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,OAAO,GAAgC,EAAE;IAC3F,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACjG,IAAI,OAAO,CAAC,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACjE,CAAC;QACD,OAAO,CACH,GAAG,CAAC,QAAQ,KAAK,QAAQ;YACzB,CAAC,GAAG,CAAC,IAAI;YACT,yBAAyB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CACtE,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './auth/composable';
2
2
  export { clearCentralAuthRoundTripMarker, isCentralAuthRedirectPending, redirectToCentralAuth, } from './auth/domainRouting';
3
3
  export * from './auth/firebase';
4
+ export { isAppOAuthLoginPending, startAppOAuthLogin } from './auth/oauth';
4
5
  export * from './auth/useAuthState';
5
6
  export * from './auth/useCurrentTenant';
6
7
  export * from './DevSessionProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAIlC,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAIlC,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1E,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -4,6 +4,7 @@ export * from './auth/composable';
4
4
  // nothing. Only the boot-time entry points an app needs are published here.
5
5
  export { clearCentralAuthRoundTripMarker, isCentralAuthRedirectPending, redirectToCentralAuth, } from './auth/domainRouting';
6
6
  export * from './auth/firebase';
7
+ export { isAppOAuthLoginPending, startAppOAuthLogin } from './auth/oauth';
7
8
  export * from './auth/useAuthState';
8
9
  export * from './auth/useCurrentTenant';
9
10
  export * from './DevSessionProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,wFAAwF;AACxF,4FAA4F;AAC5F,4EAA4E;AAC5E,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,wFAAwF;AACxF,4FAA4F;AAC5F,4EAA4E;AAC5E,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1E,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AppBranding } from '../boot/branding.js';
1
+ import { type AppBranding } from '../boot/branding.js';
2
2
  import type { AuthScreens } from './VertesiaShell';
3
3
  export declare const AUTH_PREVIEW_SCREENS: readonly ['email', 'providers', 'tenant', 'returning', 'pending', 'blocked', 'signup', 'restricted', 'scope-project', 'scope-account', 'no-account', 'credentials', 'service', 'auth-error', 'loading', 'permissions', 'permission-retry', 'permission-error', 'permission-denied', 'permission-session-expired', 'boot'];
4
4
  export type AuthPreviewScreen = (typeof AUTH_PREVIEW_SCREENS)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"AuthScreenPreview.d.ts","sourceRoot":"","sources":["../../src/shell/AuthScreenPreview.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAavD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,YAC7B,OAAO,EACP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,MAAM,CACA,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAatE,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,OAAY,GACf,EAAE;IACC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB,+BAqJA;AAED,0GAA0G;AAC1G,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,WAIT,EACD,OAAO,GAAE,WAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIf"}
1
+ {"version":3,"file":"AuthScreenPreview.d.ts","sourceRoot":"","sources":["../../src/shell/AuthScreenPreview.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,qBAAqB,CAAC;AAazE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,YAC7B,OAAO,EACP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,MAAM,CACA,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAatE,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,OAAY,GACf,EAAE;IACC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB,+BAqJA;AAED,0GAA0G;AAC1G,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,WAA8B,EACxC,OAAO,GAAE,WAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /** Developer-only visual fixtures. Mount outside the authenticated application tree. */
3
3
  import { I18nProvider, useUITranslation } from '@vertesia/ui/i18n';
4
+ import { vertesiaBranding } from '../boot/branding.js';
4
5
  import { AppBrandingProvider, BrandedAuthLoadingScreen, BrandedPermissionLoadingScreen, BrandedSignInScreen, } from './BrandedAuthScreens';
5
6
  import { SignInFlowSteps } from './login/SignInFlow';
6
7
  import SignInRecoveryStep from './login/SignInRecoveryStep';
@@ -127,11 +128,7 @@ export function AuthScreenPreview({ screen, branding, screens = {}, }) {
127
128
  }), _jsx("a", { href: window.location.pathname, children: "Exit preview" })] })] })] }) }));
128
129
  }
129
130
  /** Hosts call this only from their import.meta.env.DEV branch, before mounting auth/session providers. */
130
- export async function mountAuthScreenPreview(container, screen, branding = {
131
- name: 'Vertesia',
132
- logo: { light: '/logo-light.png', dark: '/logo-dark.png' },
133
- loadingIcon: { light: '/icon.svg' },
134
- }, screens = {}) {
131
+ export async function mountAuthScreenPreview(container, screen, branding = vertesiaBranding, screens = {}) {
135
132
  if (screen === 'boot')
136
133
  return;
137
134
  const { createRoot } = await import('react-dom/client');
@@ -1 +1 @@
1
- {"version":3,"file":"AuthScreenPreview.js","sourceRoot":"","sources":["../../src/shell/AuthScreenPreview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthScreenPreview.js","sourceRoot":"","sources":["../../src/shell/AuthScreenPreview.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { type AppBranding } from '../boot/branding.js';
4
4
  import { type SignInScreenViewProps } from './login/SigninScreen';
5
5
  import { type AuthLoadingScreenProps } from './SplashScreen';
6
6
  import type { AuthScreens } from './VertesiaShell';
7
+ export { BrandedLoadingIndicator } from './BrandedLoadingIndicator';
7
8
  export declare function AppBrandingProvider({ branding, children }: {
8
9
  branding: AppBranding;
9
10
  children: ReactNode;
@@ -12,8 +13,4 @@ export declare function BrandedAuthLoadingScreen({ loadingIcon }: AuthLoadingScr
12
13
  export declare function BrandedSignInScreen({ children, notice, isNested, lightLogo, darkLogo }: SignInScreenViewProps): import("react").JSX.Element;
13
14
  export declare function BrandedPermissionLoadingScreen(props: PermissionLoadingScreenProps): import("react").JSX.Element;
14
15
  export declare const brandedAuthScreens: AuthScreens;
15
- /** Brand-aware loading indicator that stays inside its container instead of covering the app shell. */
16
- export declare function BrandedLoadingIndicator({ loadingIcon, delayMs }: AuthLoadingScreenProps & {
17
- delayMs?: number;
18
- }): import("react").JSX.Element | null;
19
16
  //# sourceMappingURL=BrandedAuthScreens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrandedAuthScreens.d.ts","sourceRoot":"","sources":["../../src/shell/BrandedAuthScreens.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAE1G,OAAO,EAAiB,KAAK,SAAS,EAAmD,MAAM,OAAO,CAAC;AACvG,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,KAAK,sBAAsB,EAA8C,MAAM,gBAAgB,CAAC;AACzG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAoBzG;AAgBD,wBAAgB,wBAAwB,CAAC,EAAE,WAAW,EAAE,EAAE,sBAAsB,+BAQ/E;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,qBAAqB,+BAc7G;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,+BAejF;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAC;AAEF,uGAAuG;AACvG,wBAAgB,uBAAuB,CAAC,EAAE,WAAW,EAAE,OAAW,EAAE,EAAE,sBAAsB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,sCAoBlH"}
1
+ {"version":3,"file":"BrandedAuthScreens.d.ts","sourceRoot":"","sources":["../../src/shell/BrandedAuthScreens.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAE1G,OAAO,EAAE,KAAK,SAAS,EAA8B,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,KAAK,sBAAsB,EAA4B,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAoBzG;AAED,wBAAgB,wBAAwB,CAAC,EAAE,WAAW,EAAE,EAAE,sBAAsB,+BAQ/E;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,qBAAqB,+BAc7G;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,+BAejF;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAC"}