@oxyhq/services 22.12.4 → 22.13.0

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 (446) hide show
  1. package/README.md +16 -46
  2. package/lib/commonjs/index.js +18 -12
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
  5. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  6. package/lib/commonjs/ui/client.js +0 -13
  7. package/lib/commonjs/ui/client.js.map +1 -1
  8. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
  9. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyAuthChooser.js +72 -1123
  11. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
  13. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyProvider.js +4 -4
  15. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
  17. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
  19. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  20. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
  21. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
  22. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +144 -0
  23. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
  24. package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
  25. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
  26. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +63 -0
  27. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  28. package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
  29. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
  30. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +149 -0
  31. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
  32. package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
  33. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
  34. package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  35. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
  36. package/lib/commonjs/ui/components/authChooser/types.js +59 -0
  37. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
  38. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
  39. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  40. package/lib/commonjs/ui/context/OxyContext.js +205 -30
  41. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  42. package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
  43. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  44. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
  45. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  46. package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
  47. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  48. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
  49. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  50. package/lib/commonjs/ui/index.js +0 -13
  51. package/lib/commonjs/ui/index.js.map +1 -1
  52. package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
  53. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
  54. package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
  55. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
  56. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
  57. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
  58. package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
  59. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
  60. package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
  61. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
  62. package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
  63. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
  64. package/lib/commonjs/ui/oauth/types.js +2 -0
  65. package/lib/commonjs/ui/oauth/types.js.map +1 -0
  66. package/lib/commonjs/ui/server.js +2 -5
  67. package/lib/commonjs/ui/server.js.map +1 -1
  68. package/lib/commonjs/ui/session/authStore.js +6 -75
  69. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  70. package/lib/commonjs/ui/session/createSessionClient.js +11 -3
  71. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  72. package/lib/commonjs/ui/session/identityBinding.js +95 -0
  73. package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
  74. package/lib/commonjs/ui/session/index.js +13 -0
  75. package/lib/commonjs/ui/session/index.js.map +1 -1
  76. package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
  77. package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
  78. package/lib/commonjs/ui/session/tokenTransport.js +11 -1
  79. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  80. package/lib/commonjs/ui/utils/crossOriginRestore.js +5 -4
  81. package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
  82. package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
  83. package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
  84. package/lib/commonjs/ui/utils/oauthReturn.js +72 -46
  85. package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
  86. package/lib/module/index.js +9 -4
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
  89. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  90. package/lib/module/ui/client.js +0 -1
  91. package/lib/module/ui/client.js.map +1 -1
  92. package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
  93. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  94. package/lib/module/ui/components/OxyAuthChooser.js +76 -1128
  95. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  96. package/lib/module/ui/components/OxyConsentScreen.js +50 -12
  97. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  98. package/lib/module/ui/components/OxyProvider.js +4 -4
  99. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  100. package/lib/module/ui/components/OxySignInButton.js +76 -42
  101. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  102. package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
  103. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  104. package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
  105. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
  106. package/lib/module/ui/components/authChooser/SignInRequestView.js +139 -0
  107. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
  108. package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
  109. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
  110. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +59 -0
  111. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  112. package/lib/module/ui/components/authChooser/primitives.js +163 -0
  113. package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
  114. package/lib/module/ui/components/authChooser/requestSurfaces.js +139 -0
  115. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
  116. package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
  117. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
  118. package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  119. package/lib/module/ui/components/authChooser/styles.js.map +1 -0
  120. package/lib/module/ui/components/authChooser/types.js +55 -0
  121. package/lib/module/ui/components/authChooser/types.js.map +1 -0
  122. package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
  123. package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  124. package/lib/module/ui/context/OxyContext.js +208 -33
  125. package/lib/module/ui/context/OxyContext.js.map +1 -1
  126. package/lib/module/ui/context/commitSessionFlow.js +45 -0
  127. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  128. package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
  129. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  130. package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
  131. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  132. package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
  133. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  134. package/lib/module/ui/index.js +0 -1
  135. package/lib/module/ui/index.js.map +1 -1
  136. package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
  137. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
  138. package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
  139. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
  140. package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
  141. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
  142. package/lib/module/ui/oauth/oauthHandshake.js +50 -0
  143. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
  144. package/lib/module/ui/oauth/oauthPopup.js +268 -0
  145. package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
  146. package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
  147. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
  148. package/lib/module/ui/oauth/types.js +2 -0
  149. package/lib/module/ui/oauth/types.js.map +1 -0
  150. package/lib/module/ui/server.js +0 -2
  151. package/lib/module/ui/server.js.map +1 -1
  152. package/lib/module/ui/session/authStore.js +5 -75
  153. package/lib/module/ui/session/authStore.js.map +1 -1
  154. package/lib/module/ui/session/createSessionClient.js +11 -3
  155. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  156. package/lib/module/ui/session/identityBinding.js +89 -0
  157. package/lib/module/ui/session/identityBinding.js.map +1 -0
  158. package/lib/module/ui/session/index.js +5 -2
  159. package/lib/module/ui/session/index.js.map +1 -1
  160. package/lib/module/ui/session/nativeSecureStorage.js +88 -0
  161. package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
  162. package/lib/module/ui/session/tokenTransport.js +11 -1
  163. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  164. package/lib/module/ui/utils/crossOriginRestore.js +6 -5
  165. package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
  166. package/lib/module/ui/utils/deliveryPlatform.js +55 -0
  167. package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
  168. package/lib/module/ui/utils/oauthReturn.js +73 -47
  169. package/lib/module/ui/utils/oauthReturn.js.map +1 -1
  170. package/lib/typescript/commonjs/index.d.ts +4 -1
  171. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
  173. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ui/client.d.ts +0 -1
  175. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +21 -29
  178. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
  182. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  184. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  186. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  188. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
  190. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  192. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
  194. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  196. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
  198. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  199. package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
  200. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +85 -0
  202. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  204. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
  207. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
  209. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
  211. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
  213. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/index.d.ts +0 -1
  216. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
  218. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
  220. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  222. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
  224. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
  226. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
  228. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
  230. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  232. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
  234. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
  236. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
  238. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
  240. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
  242. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
  244. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
  246. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
  249. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
  251. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
  252. package/lib/typescript/module/index.d.ts +4 -1
  253. package/lib/typescript/module/index.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
  255. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/client.d.ts +0 -1
  257. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +21 -29
  260. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  262. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
  264. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  265. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  266. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  267. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  268. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  269. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  270. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  271. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
  272. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  273. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  274. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  275. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
  276. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
  277. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  278. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  279. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
  280. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  281. package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
  282. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
  283. package/lib/typescript/module/ui/components/authChooser/types.d.ts +85 -0
  284. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
  285. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  286. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  287. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
  289. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
  291. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
  293. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  294. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
  295. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  297. package/lib/typescript/module/ui/index.d.ts +0 -1
  298. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  299. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
  300. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  301. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
  302. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  303. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  304. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  305. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
  306. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
  307. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
  308. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
  309. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
  310. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  311. package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
  312. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
  313. package/lib/typescript/module/ui/server.d.ts +0 -2
  314. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  315. package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
  316. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  317. package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
  318. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
  320. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
  321. package/lib/typescript/module/ui/session/index.d.ts +6 -2
  322. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
  324. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
  325. package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
  326. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
  328. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
  331. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
  333. package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
  334. package/package.json +6 -8
  335. package/src/index.ts +19 -5
  336. package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
  337. package/src/ui/boot/runProviderColdBoot.ts +83 -13
  338. package/src/ui/client.ts +0 -1
  339. package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
  340. package/src/ui/components/OxyAuthChooser.tsx +100 -1230
  341. package/src/ui/components/OxyConsentScreen.tsx +56 -13
  342. package/src/ui/components/OxyProvider.tsx +4 -4
  343. package/src/ui/components/OxySignInButton.tsx +119 -78
  344. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
  345. package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
  346. package/src/ui/components/authChooser/SignInEntryView.tsx +115 -0
  347. package/src/ui/components/authChooser/SignInRequestView.tsx +163 -0
  348. package/src/ui/components/authChooser/SignUpView.tsx +174 -0
  349. package/src/ui/components/authChooser/TroubleDisclosure.tsx +81 -0
  350. package/src/ui/components/authChooser/primitives.tsx +144 -0
  351. package/src/ui/components/authChooser/requestSurfaces.tsx +116 -0
  352. package/src/ui/components/authChooser/signInProgress.ts +54 -0
  353. package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
  354. package/src/ui/components/authChooser/types.ts +101 -0
  355. package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
  356. package/src/ui/context/OxyContext.tsx +226 -24
  357. package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
  358. package/src/ui/context/commitSessionFlow.ts +64 -0
  359. package/src/ui/context/hooks/useAuthOperations.ts +26 -1
  360. package/src/ui/context/oxyContextTypes.ts +45 -1
  361. package/src/ui/context/useOxyAccountGraph.ts +19 -5
  362. package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
  363. package/src/ui/index.ts +0 -1
  364. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
  365. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
  366. package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
  367. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
  368. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
  369. package/src/ui/oauth/browserAuthTransport.ts +193 -0
  370. package/src/ui/oauth/completeOAuthCode.ts +93 -0
  371. package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
  372. package/src/ui/oauth/oauthHandshake.ts +74 -0
  373. package/src/ui/oauth/oauthPopup.ts +277 -0
  374. package/src/ui/oauth/oauthPopupMessages.ts +136 -0
  375. package/src/ui/oauth/types.ts +150 -0
  376. package/src/ui/server.ts +0 -2
  377. package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
  378. package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
  379. package/src/ui/session/authStore.ts +5 -89
  380. package/src/ui/session/createSessionClient.ts +15 -2
  381. package/src/ui/session/identityBinding.ts +116 -0
  382. package/src/ui/session/index.ts +6 -2
  383. package/src/ui/session/nativeSecureStorage.ts +98 -0
  384. package/src/ui/session/tokenTransport.ts +14 -1
  385. package/src/ui/types/navigation.ts +44 -1
  386. package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
  387. package/src/ui/utils/crossOriginRestore.ts +9 -13
  388. package/src/ui/utils/deliveryPlatform.ts +65 -0
  389. package/src/ui/utils/oauthReturn.ts +79 -65
  390. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  391. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  392. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  393. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  394. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  395. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  396. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  397. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  398. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  399. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  400. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  401. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  402. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  403. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  404. package/lib/commonjs/ui/components/FontLoader.js +0 -35
  405. package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
  406. package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
  407. package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
  408. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
  409. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  410. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  411. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  412. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  413. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  414. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  415. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  416. package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  417. package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  418. package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  419. package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  420. package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  421. package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  422. package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  423. package/lib/module/ui/components/FontLoader.js +0 -29
  424. package/lib/module/ui/components/FontLoader.js.map +0 -1
  425. package/lib/module/ui/components/FontLoader.native.js +0 -83
  426. package/lib/module/ui/components/FontLoader.native.js.map +0 -1
  427. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
  428. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
  429. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
  430. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
  431. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
  432. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  433. package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
  434. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
  435. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
  436. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
  437. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  438. package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  439. package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  440. package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  441. package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  442. package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  443. package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  444. package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  445. package/src/ui/components/FontLoader.native.tsx +0 -88
  446. package/src/ui/components/FontLoader.tsx +0 -27
@@ -4,7 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.commitDeviceSetAndResolve = commitDeviceSetAndResolve;
7
+ exports.maybeSyncHubAfterCommit = maybeSyncHubAfterCommit;
7
8
  var _core = require("@oxyhq/core");
9
+ var _legacyRedirectLanes = require("../oauth/legacyRedirectLanes.js");
10
+ var _isWebBrowser = require("../utils/isWebBrowser.js");
8
11
  var _oxyContextHelpers = require("./oxyContextHelpers.js");
9
12
  const LOG_CONTEXT = {
10
13
  component: 'OxyContext',
@@ -74,6 +77,9 @@ async function commitDeviceSetAndResolve(deps) {
74
77
  }
75
78
  fullUser = fallbackUser;
76
79
  }
80
+ if (!fullUser) {
81
+ fullUser = fallbackUser;
82
+ }
77
83
  if (fullUser) {
78
84
  loginSuccess(fullUser);
79
85
  onAuthStateChange?.(fullUser);
@@ -98,4 +104,44 @@ async function commitDeviceSetAndResolve(deps) {
98
104
  await hydrateAndResolve();
99
105
  void reconcileDeviceSet().catch(logReconcileError);
100
106
  }
107
+ /**
108
+ * Post-sign-in hub sync: plant this device's credential on the IdP hub so OTHER
109
+ * official origins can silently restore a session on their next cold boot.
110
+ *
111
+ * The tail of the ONE commit funnel (`commitSession`), extracted so every gate
112
+ * on this legacy lane lives — and is tested — in one place. Returns whether the
113
+ * full-page redirect was started; a failure is non-fatal and never propagates
114
+ * (the sign-in itself already succeeded).
115
+ *
116
+ * Four gates, all of which must pass:
117
+ * 1. `activate` — only a deliberate sign-in syncs; a cold-boot restore never does.
118
+ * 2. `hubSyncRequested` — the in-place lanes (account switch, popup OAuth) opt out.
119
+ * 3. `hubSyncEnabled` — the provider-level `hubSync` prop.
120
+ * 4. `allowsAutomaticIdpRedirect(webAuthMode)` — hub sync REPLACES the document
121
+ * with `auth.oxy.so`, so `webAuthMode: 'popup'` forbids it: a redirect that
122
+ * bounces the tab defeats the entire point of the mode, no matter which
123
+ * commit path produced the session (issue #691, "Cold boot and cross-domain
124
+ * behavior"). Redirect mode — the default and the compatibility path — is
125
+ * unchanged, and this whole function disappears with it in phase 7b.
126
+ */
127
+ async function maybeSyncHubAfterCommit(deps) {
128
+ const {
129
+ activate,
130
+ hubSyncRequested,
131
+ hubSyncEnabled,
132
+ webAuthMode,
133
+ syncHub
134
+ } = deps;
135
+ if (!activate || !hubSyncRequested || !hubSyncEnabled) return false;
136
+ if (!(0, _legacyRedirectLanes.allowsAutomaticIdpRedirect)(webAuthMode)) return false;
137
+ if (!(0, _isWebBrowser.isWebBrowser)()) return false;
138
+ try {
139
+ return await syncHub();
140
+ } catch (hubError) {
141
+ if (__DEV__) {
142
+ _core.logger.debug('Hub sync after sign-in failed (non-fatal)', LOG_CONTEXT, hubError);
143
+ }
144
+ return false;
145
+ }
146
+ }
101
147
  //# sourceMappingURL=commitSessionFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_oxyContextHelpers","LOG_CONTEXT","component","method","commitDeviceSetAndResolve","deps","activate","userId","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","syncFromClient","getCurrentUser","loginSuccess","onAuthStateChange","markAuthResolved","reconcileDeviceSet","logReconcileError","registrationError","isUnauthorizedStatus","loggerUtil","debug","warn","hydrateAndResolve","fullUser","profileError","__DEV__","catch"],"sourceRoot":"../../../../src","sources":["ui/context/commitSessionFlow.ts"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,MAAME,WAAW,GAAG;EAAEC,SAAS,EAAE,YAAY;EAAEC,MAAM,EAAE;AAAgB,CAAU;AA6BjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,yBAAyBA,CAC7CC,IAAmC,EACpB;EACf,MAAM;IACJC,QAAQ;IACRC,MAAM;IACNC,YAAY;IACZC,mBAAmB;IACnBC,iBAAiB;IACjBC,WAAW;IACXC,cAAc;IACdC,cAAc;IACdC,YAAY;IACZC,iBAAiB;IACjBC;EACF,CAAC,GAAGX,IAAI;;EAER;EACA;EACA;EACA;EACA,MAAMY,kBAAkB,GAAG,MAAAA,CAAA,KAA2B;IACpD,IAAIX,QAAQ,EAAE;MACZ,MAAMG,mBAAmB,CAACF,MAAM,CAAC;IACnC,CAAC,MAAM;MACL,MAAMG,iBAAiB,CAAC,CAAC;IAC3B;IACA,MAAMC,WAAW,CAAC,CAAC;IACnB,MAAMC,cAAc,CAAC,CAAC;EACxB,CAAC;EAED,MAAMM,iBAAiB,GAAIC,iBAA0B,IAAW;IAC9D;IACA;IACA;IACA;IACA;IACA,IAAI,IAAAC,uCAAoB,EAACD,iBAAiB,CAAC,EAAE;MAC3CE,YAAU,CAACC,KAAK,CAAC,6DAA6D,EAAErB,WAAW,EAAEkB,iBAAiB,CAAC;MAC/G;IACF;IACAE,YAAU,CAACE,IAAI,CAAC,+CAA+C,EAAEtB,WAAW,EAAEkB,iBAAiB,CAAC;EAClG,CAAC;;EAED;EACA;EACA;EACA,MAAMK,iBAAiB,GAAG,MAAAA,CAAA,KAA2B;IACnD,IAAIC,QAAqB,GAAG,IAAI;IAChC,IAAI;MACFA,QAAQ,GAAG,MAAMZ,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOa,YAAY,EAAE;MACrB,IAAIC,OAAO,EAAE;QACXN,YAAU,CAACC,KAAK,CAAC,6DAA6D,EAAErB,WAAW,EAAEyB,YAAY,CAAC;MAC5G;MACAD,QAAQ,GAAGjB,YAAY;IACzB;IACA,IAAIiB,QAAQ,EAAE;MACZX,YAAY,CAACW,QAAQ,CAAC;MACtBV,iBAAiB,GAAGU,QAAQ,CAAC;IAC/B;IACAT,gBAAgB,CAAC,CAAC;EACpB,CAAC;EAED,IAAIV,QAAQ,EAAE;IACZ;IACA;IACA,IAAI;MACF,MAAMW,kBAAkB,CAAC,CAAC;IAC5B,CAAC,CAAC,OAAOE,iBAAiB,EAAE;MAC1BD,iBAAiB,CAACC,iBAAiB,CAAC;IACtC;IACA,MAAMK,iBAAiB,CAAC,CAAC;IACzB;EACF;;EAEA;EACA;EACA;EACA,MAAMA,iBAAiB,CAAC,CAAC;EACzB,KAAKP,kBAAkB,CAAC,CAAC,CAACW,KAAK,CAACV,iBAAiB,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_legacyRedirectLanes","_isWebBrowser","_oxyContextHelpers","LOG_CONTEXT","component","method","commitDeviceSetAndResolve","deps","activate","userId","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","syncFromClient","getCurrentUser","loginSuccess","onAuthStateChange","markAuthResolved","reconcileDeviceSet","logReconcileError","registrationError","isUnauthorizedStatus","loggerUtil","debug","warn","hydrateAndResolve","fullUser","profileError","__DEV__","catch","maybeSyncHubAfterCommit","hubSyncRequested","hubSyncEnabled","webAuthMode","syncHub","allowsAutomaticIdpRedirect","isWebBrowser","hubError"],"sourceRoot":"../../../../src","sources":["ui/context/commitSessionFlow.ts"],"mappings":"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","ignoreList":[]}
@@ -48,7 +48,9 @@ const useAuthOperations = ({
48
48
  loginFailure,
49
49
  logoutStore,
50
50
  setAuthState,
51
- logger
51
+ logger,
52
+ identityBinding,
53
+ refreshPinnedAccountId
52
54
  }) => {
53
55
  /**
54
56
  * Internal function to perform challenge-response sign in.
@@ -103,6 +105,17 @@ const useAuthOperations = ({
103
105
  logger?.('Failed to persist auth state after sign-in', persistError);
104
106
  }
105
107
  }
108
+ if (identityBinding) {
109
+ try {
110
+ await identityBinding.pinStore.save({
111
+ publicKey: publicKey.toLowerCase(),
112
+ accountId: sessionResponse.user.id
113
+ });
114
+ await refreshPinnedAccountId?.();
115
+ } catch (pinError) {
116
+ logger?.('Failed to persist identity pin after sign-in', pinError);
117
+ }
118
+ }
106
119
 
107
120
  // Register this recovered account+session into the server-authoritative
108
121
  // device-session set AND make it active: `registerAndActivate()` adds via
@@ -166,7 +179,7 @@ const useAuthOperations = ({
166
179
  loginSuccess(fullUser);
167
180
  onAuthStateChange?.(fullUser);
168
181
  return fullUser;
169
- }, [logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, sessionClient, setActiveSessionId, store, switchSession, syncFromClient, updateSessions]);
182
+ }, [logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, sessionClient, setActiveSessionId, store, switchSession, syncFromClient, updateSessions, identityBinding, refreshPinnedAccountId]);
170
183
 
171
184
  /**
172
185
  * Sign in with existing public key
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_core","_sessionHelpers","_errorHandlers","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","performSignIn","useCallback","publicKey","deviceFingerprintObj","DeviceManager","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","SignatureService","signChallenge","fullUser","sessionResponse","verifyChallenge","deviceSecret","deviceId","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","registerAndActivate","registrationError","getCurrentUser","allDeviceSessions","fetchSessionsWithFallback","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","handleAuthError","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","accountId","Error","signOut","remainingAccounts","length","isInvalid","isInvalidSessionError","status","undefined","logoutAll","all","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_core","_sessionHelpers","_errorHandlers","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","identityBinding","refreshPinnedAccountId","performSignIn","useCallback","publicKey","deviceFingerprintObj","DeviceManager","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","SignatureService","signChallenge","fullUser","sessionResponse","verifyChallenge","deviceSecret","deviceId","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","pinStore","toLowerCase","accountId","pinError","registerAndActivate","registrationError","getCurrentUser","allDeviceSessions","fetchSessionsWithFallback","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","handleAuthError","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","Error","signOut","remainingAccounts","length","isInvalid","isInvalidSessionError","status","undefined","logoutAll","all","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,12 @@ var _core = require("@oxyhq/core");
9
9
  var _oxyContextHelpers = require("./oxyContextHelpers.js");
10
10
  var _resetSessionScopedStores = require("../stores/resetSessionScopedStores.js");
11
11
  var _useResolvedFileUrls = require("../hooks/useResolvedFileUrls.js");
12
+ var _index = require("../session/index.js");
12
13
  function useOxyAccountGraph({
13
14
  isAuthenticated,
14
15
  tokenReady,
15
16
  initialized,
17
+ identityBound,
16
18
  oxyServices,
17
19
  sessionClient,
18
20
  syncFromClient,
@@ -23,7 +25,7 @@ function useOxyAccountGraph({
23
25
  }) {
24
26
  const [accounts, setAccounts] = (0, _react.useState)([]);
25
27
  const refreshAccounts = (0, _react.useCallback)(async () => {
26
- if (!isAuthenticated || !tokenReady || !oxyServices.getAccessToken()) {
28
+ if (identityBound || !isAuthenticated || !tokenReady || !oxyServices.getAccessToken()) {
27
29
  setAccounts([]);
28
30
  return;
29
31
  }
@@ -42,13 +44,13 @@ function useOxyAccountGraph({
42
44
  }, err);
43
45
  }
44
46
  }
45
- }, [isAuthenticated, oxyServices, tokenReady, clearSessionStateRef]);
47
+ }, [identityBound, isAuthenticated, oxyServices, tokenReady, clearSessionStateRef]);
46
48
  (0, _react.useEffect)(() => {
47
- if (isAuthenticated && initialized && tokenReady) {
49
+ if (!identityBound && isAuthenticated && initialized && tokenReady) {
48
50
  refreshAccounts();
49
51
  void accountDialogControllerRef.current?.refresh();
50
52
  }
51
- }, [isAuthenticated, initialized, tokenReady, refreshAccounts, accountDialogControllerRef]);
53
+ }, [identityBound, isAuthenticated, initialized, tokenReady, refreshAccounts, accountDialogControllerRef]);
52
54
  const runPostAccountSwitchSideEffects = (0, _react.useCallback)(async () => {
53
55
  (0, _resetSessionScopedStores.resetSessionScopedStores)();
54
56
  // Scoped media tokens are per-viewer — drop any cached URLs immediately so
@@ -61,6 +63,12 @@ function useOxyAccountGraph({
61
63
  queryClient.invalidateQueries();
62
64
  }, [refreshAccounts, queryClient]);
63
65
  const switchToAccount = (0, _react.useCallback)(async accountId => {
66
+ if (identityBound) {
67
+ // Loud rejection, never a silent no-op: a resolved promise here would
68
+ // read to the caller as a completed switch that simply left the user
69
+ // unchanged, which is exactly the confusion this mode must avoid.
70
+ throw new _index.IdentityBoundSessionError('switchToAccount');
71
+ }
64
72
  const deviceState = sessionClient.getState();
65
73
  if (deviceState?.accounts.some(account => account.accountId === accountId)) {
66
74
  await sessionClient.switchAccount(accountId);
@@ -88,7 +96,7 @@ function useOxyAccountGraph({
88
96
  hubSync: false
89
97
  });
90
98
  await runPostAccountSwitchSideEffects();
91
- }, [oxyServices, sessionClient, syncFromClient, commitSession, runPostAccountSwitchSideEffects]);
99
+ }, [identityBound, oxyServices, sessionClient, syncFromClient, commitSession, runPostAccountSwitchSideEffects]);
92
100
  const createAccount = (0, _react.useCallback)(async data => {
93
101
  const account = await oxyServices.createAccount(data);
94
102
  await refreshAccounts();
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_core","_oxyContextHelpers","_resetSessionScopedStores","_useResolvedFileUrls","useOxyAccountGraph","isAuthenticated","tokenReady","initialized","oxyServices","sessionClient","syncFromClient","commitSession","queryClient","accountDialogControllerRef","clearSessionStateRef","accounts","setAccounts","useState","refreshAccounts","useCallback","getAccessToken","list","listAccounts","err","isUnauthorizedStatus","current","__DEV__","loggerUtil","debug","component","useEffect","refresh","runPostAccountSwitchSideEffects","resetSessionScopedStores","removeQueries","queryKey","ASSET_DOWNLOAD_URLS_QUERY_KEY","invalidateQueries","switchToAccount","accountId","deviceState","getState","some","account","switchAccount","result","user","sessionId","Error","accessToken","deviceSecret","deviceId","expiresAt","userId","id","activate","hubSync","createAccount","data"],"sourceRoot":"../../../../src","sources":["ui/context/useOxyAccountGraph.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_core","_oxyContextHelpers","_resetSessionScopedStores","_useResolvedFileUrls","_index","useOxyAccountGraph","isAuthenticated","tokenReady","initialized","identityBound","oxyServices","sessionClient","syncFromClient","commitSession","queryClient","accountDialogControllerRef","clearSessionStateRef","accounts","setAccounts","useState","refreshAccounts","useCallback","getAccessToken","list","listAccounts","err","isUnauthorizedStatus","current","__DEV__","loggerUtil","debug","component","useEffect","refresh","runPostAccountSwitchSideEffects","resetSessionScopedStores","removeQueries","queryKey","ASSET_DOWNLOAD_URLS_QUERY_KEY","invalidateQueries","switchToAccount","accountId","IdentityBoundSessionError","deviceState","getState","some","account","switchAccount","result","user","sessionId","Error","accessToken","deviceSecret","deviceId","expiresAt","userId","id","activate","hubSync","createAccount","data"],"sourceRoot":"../../../../src","sources":["ui/context/useOxyAccountGraph.ts"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,12 @@ const EMPTY_SNAPSHOT = {
22
22
  authorizeCode: null,
23
23
  qrPayload: null,
24
24
  expiresAt: null,
25
- error: null
25
+ error: null,
26
+ route: null,
27
+ routeFailed: false,
28
+ pushSentAt: null,
29
+ openedAt: null,
30
+ progress: 'idle'
26
31
  },
27
32
  commonsAvailability: 'unknown'
28
33
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_OxyContext","EMPTY_SNAPSHOT","view","accounts","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","commonsAvailability","useSwitchableAccounts","accountDialogController","controller","useOxy","subscribe","useCallback","listener","undefined","getSnapshot","snapshot","useSyncExternalStore","currentSessionId","useMemo","active","find","account","accountId","sessionId","isLoading"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAWA;AACA;AACA;AACA;AACA,MAAME,cAAqC,GAAG;EAC1CC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,kBAAkB,EAAE,IAAI;EACxBC,MAAM,EAAE;IAAEC,KAAK,EAAE,MAAM;IAAEC,aAAa,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEN,KAAK,EAAE;EAAK,CAAC;EAC7FO,mBAAmB,EAAE;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAA,EAAgC;EACjE,MAAM;IAAEC,uBAAuB,EAAEC;EAAW,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAExD,MAAMC,SAAS,GAAG,IAAAC,kBAAW,EACxBC,QAAoB,IAAMJ,UAAU,GAAGA,UAAU,CAACE,SAAS,CAACE,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACL,UAAU,CACf,CAAC;EACD,MAAMM,WAAW,GAAG,IAAAH,kBAAW,EAC3B,MAAOH,UAAU,GAAGA,UAAU,CAACM,WAAW,CAAC,CAAC,GAAGrB,cAAe,EAC9D,CAACe,UAAU,CACf,CAAC;EACD,MAAMO,QAAQ,GAAG,IAAAC,2BAAoB,EAACN,SAAS,EAAEI,WAAW,EAAEA,WAAW,CAAC;EAE1E,MAAMG,gBAAgB,GAAG,IAAAC,cAAO,EAAgB,MAAM;IAClD,MAAMC,MAAM,GAAGJ,QAAQ,CAACpB,QAAQ,CAACyB,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKP,QAAQ,CAACnB,eAAe,CAAC;IAClG,OAAOuB,MAAM,EAAEI,SAAS,IAAI,IAAI;EACpC,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHpB,QAAQ,EAAEoB,QAAQ,CAACpB,QAAQ;IAC3B6B,SAAS,EAAET,QAAQ,CAAClB,OAAO;IAC3BoB;EACJ,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_OxyContext","EMPTY_SNAPSHOT","view","accounts","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","route","routeFailed","pushSentAt","openedAt","progress","commonsAvailability","useSwitchableAccounts","accountDialogController","controller","useOxy","subscribe","useCallback","listener","undefined","getSnapshot","snapshot","useSyncExternalStore","currentSessionId","useMemo","active","find","account","accountId","sessionId","isLoading"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAWA;AACA;AACA;AACA;AACA,MAAME,cAAqC,GAAG;EAC1CC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,kBAAkB,EAAE,IAAI;EACxBC,MAAM,EAAE;IACJC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,IAAI;IACfC,SAAS,EAAE,IAAI;IACfN,KAAK,EAAE,IAAI;IACXO,KAAK,EAAE,IAAI;IACXC,WAAW,EAAE,KAAK;IAClBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE;EACd,CAAC;EACDC,mBAAmB,EAAE;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAA,EAAgC;EACjE,MAAM;IAAEC,uBAAuB,EAAEC;EAAW,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAExD,MAAMC,SAAS,GAAG,IAAAC,kBAAW,EACxBC,QAAoB,IAAMJ,UAAU,GAAGA,UAAU,CAACE,SAAS,CAACE,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACL,UAAU,CACf,CAAC;EACD,MAAMM,WAAW,GAAG,IAAAH,kBAAW,EAC3B,MAAOH,UAAU,GAAGA,UAAU,CAACM,WAAW,CAAC,CAAC,GAAG1B,cAAe,EAC9D,CAACoB,UAAU,CACf,CAAC;EACD,MAAMO,QAAQ,GAAG,IAAAC,2BAAoB,EAACN,SAAS,EAAEI,WAAW,EAAEA,WAAW,CAAC;EAE1E,MAAMG,gBAAgB,GAAG,IAAAC,cAAO,EAAgB,MAAM;IAClD,MAAMC,MAAM,GAAGJ,QAAQ,CAACzB,QAAQ,CAAC8B,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKP,QAAQ,CAACxB,eAAe,CAAC;IAClG,OAAO4B,MAAM,EAAEI,SAAS,IAAI,IAAI;EACpC,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHzB,QAAQ,EAAEyB,QAAQ,CAACzB,QAAQ;IAC3BkC,SAAS,EAAET,QAAQ,CAACvB,OAAO;IAC3ByB;EACJ,CAAC;AACL","ignoreList":[]}
@@ -27,12 +27,6 @@ Object.defineProperty(exports, "FollowButton", {
27
27
  return _FollowButton.default;
28
28
  }
29
29
  });
30
- Object.defineProperty(exports, "FontLoader", {
31
- enumerable: true,
32
- get: function () {
33
- return _FontLoader.FontLoader;
34
- }
35
- });
36
30
  Object.defineProperty(exports, "LogoIcon", {
37
31
  enumerable: true,
38
32
  get: function () {
@@ -117,12 +111,6 @@ Object.defineProperty(exports, "isTimeoutOrNetworkError", {
117
111
  return _errorHandlers.isTimeoutOrNetworkError;
118
112
  }
119
113
  });
120
- Object.defineProperty(exports, "setupFonts", {
121
- enumerable: true,
122
- get: function () {
123
- return _FontLoader.setupFonts;
124
- }
125
- });
126
114
  Object.defineProperty(exports, "useAccountStore", {
127
115
  enumerable: true,
128
116
  get: function () {
@@ -173,7 +161,6 @@ var _LogoText = require("./components/logo/LogoText.js");
173
161
  var _RequireOxyAuth = require("./components/RequireOxyAuth.js");
174
162
  var _FollowButton = _interopRequireDefault(require("./components/FollowButton.js"));
175
163
  var _OxyPayButton = _interopRequireDefault(require("./components/OxyPayButton.js"));
176
- var _FontLoader = require("./components/FontLoader");
177
164
  var _ProfileButton = _interopRequireDefault(require("./components/ProfileButton.js"));
178
165
  var _OxyContext = require("./context/OxyContext.js");
179
166
  var _useAuth = require("./hooks/useAuth.js");
@@ -1 +1 @@
1
- {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_RequireOxyAuth","_FollowButton","_OxyPayButton","_FontLoader","_ProfileButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,aAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAV,sBAAA,CAAAC,OAAA;AAGA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AAIA,IAAAc,cAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,oBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,oBAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,qBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,sBAAA,GAAAnB,sBAAA,CAAAC,OAAA;AAGA,IAAAmB,UAAA,GAAAnB,OAAA;AACA,IAAAoB,aAAA,GAAApB,OAAA;AAGA,IAAAqB,cAAA,GAAArB,OAAA;AAK+B,SAAAD,uBAAAuB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_RequireOxyAuth","_FollowButton","_OxyPayButton","_ProfileButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,aAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,cAAA,GAAAT,sBAAA,CAAAC,OAAA;AAGA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAIA,IAAAa,cAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,oBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,oBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,qBAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,sBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAGA,IAAAkB,UAAA,GAAAlB,OAAA;AACA,IAAAmB,aAAA,GAAAnB,OAAA;AAGA,IAAAoB,cAAA,GAAApB,OAAA;AAK+B,SAAAD,uBAAAsB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startWebOAuthSignIn = startWebOAuthSignIn;
7
+ var _core = require("@oxyhq/core");
8
+ var _oauthNavigation = require("../components/oauthNavigation.js");
9
+ var _isWebBrowser = require("../utils/isWebBrowser.js");
10
+ var _completeOAuthCode = require("./completeOAuthCode.js");
11
+ var _oauthHandshake = require("./oauthHandshake.js");
12
+ var _oauthPopup = require("./oauthPopup.js");
13
+ /**
14
+ * The single web entry point for third-party "Sign in with Oxy".
15
+ *
16
+ * Picks the transport (`popup` or `redirect`), drives it, and returns ONE typed
17
+ * result — so callers (`OxySignInButton`, and any RP with its own button) never
18
+ * touch `window.open`, `postMessage`, or the token exchange themselves.
19
+ *
20
+ * Popup mode keeps the relying party mounted: its route, scroll position, and
21
+ * unsaved state survive because the tab never navigates. Redirect mode is the
22
+ * compatibility fallback, and is also where popup mode lands when the browser
23
+ * blocks the window — a blocked popup must still sign the user in, not dead-end.
24
+ *
25
+ * Native is NOT handled here: `openAuthorizeUrlNative` (an in-app auth session)
26
+ * remains the native lane and is untouched by this module.
27
+ */
28
+
29
+ /** Provider-owned wiring for a web sign-in — everything that is not per-press. */
30
+
31
+ /** Per-press inputs for {@link startWebOAuthSignIn}. */
32
+
33
+ async function startWebOAuthSignIn(context, options) {
34
+ if (!(0, _isWebBrowser.isWebBrowser)()) {
35
+ (0, _oauthPopup.closeOAuthPopup)(options.popup ?? null);
36
+ return {
37
+ status: 'unsupported',
38
+ reason: 'no-browser'
39
+ };
40
+ }
41
+ if (context.identityBound) {
42
+ (0, _oauthPopup.closeOAuthPopup)(options.popup ?? null);
43
+ return {
44
+ status: 'unsupported',
45
+ reason: 'identity-bound'
46
+ };
47
+ }
48
+ if (!context.clientId) {
49
+ (0, _oauthPopup.closeOAuthPopup)(options.popup ?? null);
50
+ return {
51
+ status: 'unsupported',
52
+ reason: 'missing-client-id'
53
+ };
54
+ }
55
+
56
+ // Claim the window BEFORE the first `await` below, so a caller that invoked us
57
+ // straight from the click still has gesture attribution. An explicit `null`
58
+ // means the caller already tried and was blocked.
59
+ const popup = context.mode === 'popup' && options.popup === undefined ? (0, _oauthPopup.openOAuthPopup)() : options.popup ?? null;
60
+ if (context.mode === 'redirect') {
61
+ (0, _oauthPopup.closeOAuthPopup)(popup);
62
+ return startRedirectSignIn(context, options, 'redirect-mode');
63
+ }
64
+ if (!popup) {
65
+ _core.logger.warn('OAuth sign-in popup was blocked; falling back to a full-page redirect', {
66
+ component: 'browserAuthTransport'
67
+ });
68
+ return startRedirectSignIn(context, options, 'popup-blocked');
69
+ }
70
+ try {
71
+ const prepared = await (0, _oauthHandshake.prepareAuthorizeRequest)({
72
+ clientId: context.clientId,
73
+ redirectUri: options.redirectUri,
74
+ authorizeBaseUrl: context.authorizeBaseUrl,
75
+ scope: options.scope,
76
+ responseMode: 'web_message'
77
+ });
78
+ if (!(0, _oauthPopup.navigateOAuthPopup)(popup, prepared.authorizeUrl)) {
79
+ return startRedirectSignIn(context, options, 'popup-navigation-failed');
80
+ }
81
+ const outcome = await (0, _oauthPopup.awaitOAuthPopupResult)({
82
+ popup,
83
+ expectedOrigin: prepared.authorizeOrigin,
84
+ expectedState: prepared.handshake.state,
85
+ redirectUri: options.redirectUri,
86
+ ...(options.timeoutMs !== undefined ? {
87
+ timeoutMs: options.timeoutMs
88
+ } : {})
89
+ });
90
+ switch (outcome.kind) {
91
+ case 'code':
92
+ {
93
+ const completion = await (0, _completeOAuthCode.completeOAuthCode)({
94
+ oxyServices: context.oxyServices,
95
+ clientId: context.clientId,
96
+ code: outcome.code,
97
+ returnedState: outcome.state,
98
+ handshake: prepared.handshake,
99
+ redirectUri: options.redirectUri,
100
+ commitSession: context.commitSession
101
+ });
102
+ return completion.ok ? {
103
+ status: 'signed-in'
104
+ } : {
105
+ status: 'failed',
106
+ reason: completion.reason
107
+ };
108
+ }
109
+ case 'oauth-error':
110
+ return {
111
+ status: 'failed',
112
+ reason: 'idp-error',
113
+ description: outcome.errorDescription ?? outcome.error
114
+ };
115
+ case 'state-mismatch':
116
+ return {
117
+ status: 'failed',
118
+ reason: 'state-mismatch'
119
+ };
120
+ case 'closed':
121
+ return {
122
+ status: 'cancelled'
123
+ };
124
+ case 'timed-out':
125
+ return {
126
+ status: 'timed-out'
127
+ };
128
+ case 'unsupported':
129
+ return {
130
+ status: 'unsupported',
131
+ reason: 'no-browser'
132
+ };
133
+ }
134
+ } finally {
135
+ // Covers throws after open (prepare/exchange/commit) and every settled outcome.
136
+ (0, _oauthPopup.closeOAuthPopup)(popup);
137
+ }
138
+ }
139
+
140
+ /**
141
+ * Full-page hand-off to the IdP. The document is destroyed by the navigation, so
142
+ * the handshake MUST reach `sessionStorage` first — without it the return trip
143
+ * cannot validate `state`, and starting the redirect anyway would strand the
144
+ * user at a callback that can only refuse them.
145
+ */
146
+ async function startRedirectSignIn(context, options, via) {
147
+ // Narrowed by the caller; repeated here so this helper is safe on its own.
148
+ if (!context.clientId) return {
149
+ status: 'unsupported',
150
+ reason: 'missing-client-id'
151
+ };
152
+ const prepared = await (0, _oauthHandshake.prepareAuthorizeRequest)({
153
+ clientId: context.clientId,
154
+ redirectUri: options.redirectUri,
155
+ authorizeBaseUrl: context.authorizeBaseUrl,
156
+ scope: options.scope
157
+ });
158
+ if (!(0, _core.persistOAuthHandshake)(prepared.handshake.state, prepared.handshake.codeVerifier, options.redirectUri)) {
159
+ return {
160
+ status: 'failed',
161
+ reason: 'handshake-storage'
162
+ };
163
+ }
164
+ (0, _oauthNavigation.redirectToAuthorize)(prepared.authorizeUrl);
165
+ return {
166
+ status: 'redirecting',
167
+ via
168
+ };
169
+ }
170
+ //# sourceMappingURL=browserAuthTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_oauthNavigation","_isWebBrowser","_completeOAuthCode","_oauthHandshake","_oauthPopup","startWebOAuthSignIn","context","options","isWebBrowser","closeOAuthPopup","popup","status","reason","identityBound","clientId","mode","undefined","openOAuthPopup","startRedirectSignIn","logger","warn","component","prepared","prepareAuthorizeRequest","redirectUri","authorizeBaseUrl","scope","responseMode","navigateOAuthPopup","authorizeUrl","outcome","awaitOAuthPopupResult","expectedOrigin","authorizeOrigin","expectedState","handshake","state","timeoutMs","kind","completion","completeOAuthCode","oxyServices","code","returnedState","commitSession","ok","description","errorDescription","error","via","persistOAuthHandshake","codeVerifier","redirectToAuthorize"],"sourceRoot":"../../../../src","sources":["ui/oauth/browserAuthTransport.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.completeOAuthCode = completeOAuthCode;
7
+ var _core = require("@oxyhq/core");
8
+ /**
9
+ * The ONE path from an OAuth authorization code to a committed session.
10
+ *
11
+ * Both web transports end here — the popup with an in-memory handshake, the
12
+ * redirect lane with one read back from `sessionStorage` — so state validation,
13
+ * the PKCE exchange, the session commit, and handshake cleanup exist exactly
14
+ * once. Duplicating any of those per transport is how the two lanes would drift
15
+ * apart on the security-critical steps.
16
+ *
17
+ * Ordering is deliberate and load-bearing:
18
+ * 1. validate `state` BEFORE anything is sent to the token endpoint,
19
+ * 2. exchange the code for a session,
20
+ * 3. run `cleanup` (drop the persisted handshake / strip `?code=` from the
21
+ * URL) BEFORE the commit, so a stale code can never re-enter the exchange,
22
+ * 4. commit the session.
23
+ *
24
+ * `cleanup` runs exactly once on EVERY exit path, including a state mismatch
25
+ * and a failed exchange.
26
+ */
27
+
28
+ /** Inputs for {@link completeOAuthCode}. */
29
+
30
+ async function completeOAuthCode(input) {
31
+ let cleaned = false;
32
+ const runCleanup = () => {
33
+ if (cleaned) return;
34
+ cleaned = true;
35
+ input.cleanup?.();
36
+ };
37
+ if (!input.handshake || !input.returnedState || input.handshake.state !== input.returnedState) {
38
+ _core.logger.warn('OAuth completion rejected: missing or mismatched state', {
39
+ component: 'completeOAuthCode'
40
+ });
41
+ runCleanup();
42
+ return {
43
+ ok: false,
44
+ reason: 'state-mismatch'
45
+ };
46
+ }
47
+ try {
48
+ const result = await input.oxyServices.exchangeOAuthCode({
49
+ code: input.code,
50
+ clientId: input.clientId,
51
+ redirectUri: input.redirectUri,
52
+ codeVerifier: input.handshake.codeVerifier
53
+ });
54
+ runCleanup();
55
+ await input.commitSession({
56
+ sessionId: result.sessionId,
57
+ accessToken: result.accessToken,
58
+ deviceId: result.deviceId,
59
+ deviceSecret: result.deviceSecret,
60
+ userId: result.user.id,
61
+ expiresAt: result.expiresAt,
62
+ user: result.user
63
+ });
64
+ return {
65
+ ok: true
66
+ };
67
+ } catch (error) {
68
+ _core.logger.warn('OAuth code exchange failed', {
69
+ component: 'completeOAuthCode'
70
+ }, error);
71
+ runCleanup();
72
+ return {
73
+ ok: false,
74
+ reason: 'exchange-failed'
75
+ };
76
+ }
77
+ }
78
+ //# sourceMappingURL=completeOAuthCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","completeOAuthCode","input","cleaned","runCleanup","cleanup","handshake","returnedState","state","logger","warn","component","ok","reason","result","oxyServices","exchangeOAuthCode","code","clientId","redirectUri","codeVerifier","commitSession","sessionId","accessToken","deviceId","deviceSecret","userId","user","id","expiresAt","error"],"sourceRoot":"../../../../src","sources":["ui/oauth/completeOAuthCode.ts"],"mappings":";;;;;;AAqBA,IAAAA,KAAA,GAAAC,OAAA;AArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;;AA2BO,eAAeC,iBAAiBA,CACrCC,KAA6B,EACG;EAChC,IAAIC,OAAO,GAAG,KAAK;EACnB,MAAMC,UAAU,GAAGA,CAAA,KAAY;IAC7B,IAAID,OAAO,EAAE;IACbA,OAAO,GAAG,IAAI;IACdD,KAAK,CAACG,OAAO,GAAG,CAAC;EACnB,CAAC;EAED,IAAI,CAACH,KAAK,CAACI,SAAS,IAAI,CAACJ,KAAK,CAACK,aAAa,IAAIL,KAAK,CAACI,SAAS,CAACE,KAAK,KAAKN,KAAK,CAACK,aAAa,EAAE;IAC7FE,YAAM,CAACC,IAAI,CAAC,wDAAwD,EAAE;MACpEC,SAAS,EAAE;IACb,CAAC,CAAC;IACFP,UAAU,CAAC,CAAC;IACZ,OAAO;MAAEQ,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAiB,CAAC;EAChD;EAEA,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMZ,KAAK,CAACa,WAAW,CAACC,iBAAiB,CAAC;MACvDC,IAAI,EAAEf,KAAK,CAACe,IAAI;MAChBC,QAAQ,EAAEhB,KAAK,CAACgB,QAAQ;MACxBC,WAAW,EAAEjB,KAAK,CAACiB,WAAW;MAC9BC,YAAY,EAAElB,KAAK,CAACI,SAAS,CAACc;IAChC,CAAC,CAAC;IACFhB,UAAU,CAAC,CAAC;IACZ,MAAMF,KAAK,CAACmB,aAAa,CAAC;MACxBC,SAAS,EAAER,MAAM,CAACQ,SAAS;MAC3BC,WAAW,EAAET,MAAM,CAACS,WAAW;MAC/BC,QAAQ,EAAEV,MAAM,CAACU,QAAQ;MACzBC,YAAY,EAAEX,MAAM,CAACW,YAAY;MACjCC,MAAM,EAAEZ,MAAM,CAACa,IAAI,CAACC,EAAE;MACtBC,SAAS,EAAEf,MAAM,CAACe,SAAS;MAC3BF,IAAI,EAAEb,MAAM,CAACa;IACf,CAAC,CAAC;IACF,OAAO;MAAEf,EAAE,EAAE;IAAK,CAAC;EACrB,CAAC,CAAC,OAAOkB,KAAK,EAAE;IACdrB,YAAM,CAACC,IAAI,CAAC,4BAA4B,EAAE;MAAEC,SAAS,EAAE;IAAoB,CAAC,EAAEmB,KAAK,CAAC;IACpF1B,UAAU,CAAC,CAAC;IACZ,OAAO;MAAEQ,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAkB,CAAC;EACjD;AACF","ignoreList":[]}