@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,11 +4,13 @@ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, use
4
4
  import { Linking } from 'react-native';
5
5
  import { io } from 'socket.io-client';
6
6
  import { OxyServices, oxyClient } from '@oxyhq/core';
7
- import { KeyManager, installAuthRefreshHandler, startTokenRefreshScheduler, createAccountDialogController, logger as loggerUtil, syncHubAfterSignIn } from '@oxyhq/core';
7
+ import { KeyManager, establishIdentitySession, installAuthRefreshHandler, startTokenRefreshScheduler, createAccountDialogController, logger as loggerUtil, syncHubAfterSignIn } from '@oxyhq/core';
8
8
  import { registerAccountDialogControls, notifyAccountDialogVisibility } from "../navigation/accountDialogManager.js";
9
9
  import { redirectToAuthorize } from "../components/oauthNavigation.js";
10
10
  import { openPasskeyHubPopup } from "../components/passkeyHubPopup.js";
11
+ import { startWebOAuthSignIn } from "../oauth/browserAuthTransport.js";
11
12
  import { isWebBrowser } from "../utils/isWebBrowser.js";
13
+ import { resolveDeliveryPlatform } from "../utils/deliveryPlatform.js";
12
14
  import { runProviderColdBoot } from "../boot/runProviderColdBoot.js";
13
15
  import { loadPersistedDeviceCredential } from "../utils/deviceCredential.js";
14
16
  import { useAuthStore } from "../stores/authStore.js";
@@ -24,9 +26,9 @@ import { useQueryClient, onlineManager } from '@tanstack/react-query';
24
26
  import { clearQueryCache } from "../hooks/queryClient.js";
25
27
  import { useAvatarPicker } from "../hooks/useAvatarPicker.js";
26
28
  import { useAccountStore } from "../stores/accountStore.js";
27
- import { createSessionClient, createPlatformAuthStateStore, deviceStateToClientSessions, activeSessionIdOf, activeUserOf, accountIdsOf } from "../session/index.js";
29
+ import { createSessionClient, createIdentitySessionBinding, createPlatformAuthStateStore, deviceStateToClientSessions, activeSessionIdOf, activeUserOf, accountIdsOf, IdentityBoundSessionError } from "../session/index.js";
28
30
  import { DEFAULT_SESSION_VALIDITY_MS, loadUseFollowHook } from "./oxyContextHelpers.js";
29
- import { commitDeviceSetAndResolve } from "./commitSessionFlow.js";
31
+ import { commitDeviceSetAndResolve, maybeSyncHubAfterCommit } from "./commitSessionFlow.js";
30
32
  import { runPasskeyLogin, runPasskeyRegister, runPasskeyAdd } from "./passkeyFlow.js";
31
33
  import { isPasskeySupported, runRegistrationCeremony, runAuthenticationCeremony } from '../../webauthn/passkeyClient';
32
34
  import { queryKeys } from "../hooks/queries/queryKeys.js";
@@ -42,6 +44,8 @@ export const OxyProvider = ({
42
44
  authorizeBaseUrl,
43
45
  storageKeyPrefix = 'oxy_session',
44
46
  clientId: clientIdProp,
47
+ sessionMode = 'account',
48
+ webAuthMode = 'redirect',
45
49
  hubSync = true,
46
50
  onAuthStateChange,
47
51
  onError
@@ -72,6 +76,23 @@ export const OxyProvider = ({
72
76
  authStoreRef.current = createPlatformAuthStateStore();
73
77
  }
74
78
  const authStore = authStoreRef.current;
79
+
80
+ // Identity-bound session binding (`sessionMode: 'identity'`) — the platform pin
81
+ // store plus the memoised pinned account id every lane below binds to. Built
82
+ // ONCE per provider mount and ONLY in identity mode: an account-mode provider
83
+ // never constructs one, so `identity` is `null` there and every branch keyed on
84
+ // it collapses to today's behaviour.
85
+ //
86
+ // Like `oxyServices` / `baseURL`, `sessionMode` is mount-time configuration: it
87
+ // is read once and a later change does not re-bind the provider. Latching it
88
+ // this way also fails SAFE — a provider that started identity-bound can never
89
+ // be downgraded mid-flight into following the device's active account.
90
+ const identityRef = useRef(null);
91
+ if (sessionMode === 'identity' && !identityRef.current) {
92
+ identityRef.current = createIdentitySessionBinding();
93
+ }
94
+ const identity = identityRef.current;
95
+ const isIdentityBound = identity !== null;
75
96
  const {
76
97
  user,
77
98
  isAuthenticated,
@@ -258,13 +279,62 @@ export const OxyProvider = ({
258
279
  void clearSessionStateRef.current().catch(clearError => {
259
280
  logger('Failed to clear local state on remote sign-out', clearError);
260
281
  });
261
- });
282
+ },
283
+ // `null` for every account-mode provider — identical to omitting the
284
+ // option — and the pinned account id once an identity-bound provider has
285
+ // resolved its pin. Read through the ref so the resolver stays stable for
286
+ // the client's lifetime while still seeing later resolutions.
287
+ () => identityRef.current?.getPinnedAccountId() ?? null);
262
288
  }
263
289
  const {
264
290
  client: sessionClient,
265
291
  host: sessionClientHost
266
292
  } = sessionClientPairRef.current;
267
293
 
294
+ // Re-establishment lane for an identity-bound provider whose pin is missing or
295
+ // whose pinned account is no longer part of this device's session set (another
296
+ // app signed it out, or the device was re-provisioned). Adopting whichever
297
+ // account the device is currently switched to is exactly the drift
298
+ // `sessionMode: 'identity'` exists to prevent, so the only correct answer is to
299
+ // re-derive the session from the local identity key.
300
+ //
301
+ // Bounded on purpose: at most ONE attempt per applied device revision, and
302
+ // never two concurrently — a repeated failure (locked keychain, offline, no
303
+ // local identity) must never spin a sign-in loop against the server. Nothing
304
+ // awaits it, so it can never deadlock against the projection that triggers it;
305
+ // the `bootstrap()` below re-applies device state, whose notify re-runs the
306
+ // projection with the pin now resolved.
307
+ const identityEstablishRef = useRef({
308
+ revision: null,
309
+ inFlight: false
310
+ });
311
+ const reestablishIdentitySession = useCallback((binding, revision) => {
312
+ const tracker = identityEstablishRef.current;
313
+ if (tracker.inFlight || tracker.revision === revision) {
314
+ return;
315
+ }
316
+ tracker.revision = revision;
317
+ tracker.inFlight = true;
318
+ void (async () => {
319
+ const established = await establishIdentitySession({
320
+ oxy: oxyServices,
321
+ store: authStore,
322
+ binding: binding.binding
323
+ });
324
+ if (!established) {
325
+ return;
326
+ }
327
+ // The verify wrote a fresh pin; adopt it before re-reading device state
328
+ // so the notify that follows projects against the new binding.
329
+ await binding.refreshPinnedAccountId();
330
+ await sessionClient.bootstrap();
331
+ })().catch(establishError => {
332
+ logger('Failed to re-establish the identity-bound session', establishError);
333
+ }).finally(() => {
334
+ tracker.inFlight = false;
335
+ });
336
+ }, [oxyServices, authStore, sessionClient, logger]);
337
+
268
338
  // Projects `client.getState()` onto the exposed `sessions`/`activeSessionId`/
269
339
  // `user`. Sole authority for both locally-initiated mutations (switch/logout)
270
340
  // AND remotely-pushed `session_state` over the `device:<deviceId>` socket.
@@ -286,6 +356,13 @@ export const OxyProvider = ({
286
356
  // Last-write-wins guard: capture the revision this projection is for, then
287
357
  // after the async profile fetch bail if a fresher state has landed.
288
358
  const capturedRevision = state.revision;
359
+ // Resolve the pin BEFORE the profile fetch (memoised: one storage + keychain
360
+ // read per boot) so every projection below is bound on the FIRST pass over a
361
+ // freshly applied state. Deferring it would let a sibling app's switch render
362
+ // once as this client's user before the pin corrected it. `null` for every
363
+ // account-mode provider, where each projection falls back to the device's
364
+ // active account exactly as before.
365
+ const pinnedAccountId = identity ? await identity.ensurePinnedAccountId() : null;
289
366
  const ids = accountIdsOf(state);
290
367
  let users = [];
291
368
  try {
@@ -298,15 +375,26 @@ export const OxyProvider = ({
298
375
  if (!latest || latest.revision !== capturedRevision) {
299
376
  return;
300
377
  }
378
+ if (identity && (pinnedAccountId === null || activeSessionIdOf(latest, pinnedAccountId) === null)) {
379
+ // Either no verified pin, or the pinned account left this device's session
380
+ // set. Projecting anything here would mean projecting SOMEBODY ELSE's
381
+ // account, so leave the current projection untouched and re-derive the
382
+ // session from the local identity key instead.
383
+ reestablishIdentitySession(identity, latest.revision);
384
+ return;
385
+ }
301
386
  const usersById = new Map(users.map(resolvedUser => [resolvedUser.id, resolvedUser]));
302
- updateSessions(deviceStateToClientSessions(latest, usersById));
303
- setActiveSessionId(activeSessionIdOf(latest));
304
- const activeUser = activeUserOf(latest, usersById);
387
+ updateSessions(deviceStateToClientSessions(latest, usersById, pinnedAccountId));
388
+ setActiveSessionId(activeSessionIdOf(latest, pinnedAccountId));
389
+ const activeUser = activeUserOf(latest, usersById, pinnedAccountId);
305
390
  if (activeUser) {
306
391
  loginSuccess(activeUser);
307
392
  }
308
- sessionClientHost.setCurrentAccountId(latest.activeAccountId);
309
- }, [oxyServices, sessionClient, sessionClientHost, updateSessions, setActiveSessionId, loginSuccess, clearSessionState, logger]);
393
+ // The host's current account feeds the socket handshake and the bearer's
394
+ // token-account comparisons, so it tracks the PIN — never the account another
395
+ // app switched the device to.
396
+ sessionClientHost.setCurrentAccountId(pinnedAccountId ?? latest.activeAccountId);
397
+ }, [identity, oxyServices, reestablishIdentitySession, sessionClient, sessionClientHost, updateSessions, setActiveSessionId, loginSuccess, clearSessionState, logger]);
310
398
  const syncFromClientRef = useRef(syncFromClient);
311
399
  syncFromClientRef.current = syncFromClient;
312
400
  const syncDeviceCredentialToHost = useCallback(async () => {
@@ -340,7 +428,11 @@ export const OxyProvider = ({
340
428
  loginFailure,
341
429
  logoutStore,
342
430
  setAuthState,
343
- logger
431
+ logger,
432
+ ...(identity ? {
433
+ identityBinding: identity.binding,
434
+ refreshPinnedAccountId: () => identity.refreshPinnedAccountId()
435
+ } : {})
344
436
  });
345
437
 
346
438
  // "That wasn't me": repudiating a flagged sign-in IS revoking the device
@@ -426,17 +518,23 @@ export const OxyProvider = ({
426
518
  // credential via `POST /session/device/token`) plus the proactive scheduler
427
519
  // that refreshes ~60s before expiry and on tab-focus. Replaces the deleted
428
520
  // services-local `inSessionTokenRefresh` module.
521
+ // An identity binding turns every re-mint pinned: it targets the pinned
522
+ // account instead of the device's active one, and its recovery arm becomes the
523
+ // PRIMARY-key identity sign-in rather than the cross-app shared keychain.
429
524
  useEffect(() => {
430
525
  const dispose = installAuthRefreshHandler({
431
526
  oxy: oxyServices,
432
- store: authStore
527
+ store: authStore,
528
+ ...(identity ? {
529
+ identity: identity.binding
530
+ } : {})
433
531
  });
434
532
  const scheduler = startTokenRefreshScheduler(oxyServices);
435
533
  return () => {
436
534
  scheduler.dispose();
437
535
  dispose();
438
536
  };
439
- }, [oxyServices, authStore]);
537
+ }, [oxyServices, authStore, identity]);
440
538
 
441
539
  // ── Session commit funnel ────────────────────────────────────────────────
442
540
  // The single place a session becomes committed: plant tokens, persist the
@@ -513,21 +611,22 @@ export const OxyProvider = ({
513
611
  onAuthStateChange: onAuthStateChangeRef.current,
514
612
  markAuthResolved: markAuthResolvedRef.current
515
613
  });
516
- if (options.activate && options.hubSync && hubSync && isWebBrowser()) {
517
- try {
518
- await syncHubAfterSignIn(oxyServices, {
519
- enabled: hubSync
520
- });
521
- } catch (hubError) {
522
- if (__DEV__) {
523
- loggerUtil.debug('Hub sync after sign-in failed (non-fatal)', {
524
- component: 'OxyContext',
525
- method: 'commitSession'
526
- }, hubError);
527
- }
528
- }
529
- }
530
- }, [oxyServices, authStore, updateSessions, setActiveSessionId, sessionClient, sessionClientHost, syncFromClient, loginSuccess, logger, hubSync]);
614
+
615
+ // Post-sign-in hub sync — a full-page redirect to auth.oxy.so. Gated HERE,
616
+ // inside the ONE commit funnel, so NO commit path (QR device flow,
617
+ // password/2FA through the account dialog, passkey, popup OAuth, cold
618
+ // boot) can bounce a `webAuthMode: 'popup'` tab to the IdP. See
619
+ // `maybeSyncHubAfterCommit` for the full gate list.
620
+ await maybeSyncHubAfterCommit({
621
+ activate: options.activate,
622
+ hubSyncRequested: options.hubSync === true,
623
+ hubSyncEnabled: hubSync,
624
+ webAuthMode,
625
+ syncHub: () => syncHubAfterSignIn(oxyServices, {
626
+ enabled: hubSync
627
+ })
628
+ });
629
+ }, [oxyServices, authStore, updateSessions, setActiveSessionId, sessionClient, sessionClientHost, syncFromClient, loginSuccess, logger, hubSync, webAuthMode]);
531
630
  const commitSessionRef = useRef(commitSession);
532
631
  commitSessionRef.current = commitSession;
533
632
 
@@ -573,6 +672,28 @@ export const OxyProvider = ({
573
672
  });
574
673
  }, [commitSession]);
575
674
 
675
+ // ── Web third-party OAuth sign-in ──────────────────────────────────────────
676
+ // The shared operation `OxySignInButton` (and any RP-owned button) delegates
677
+ // to, so no consumer ever writes popup listeners or a token exchange. The
678
+ // transport picks popup vs redirect from `webAuthMode`; both lanes land on the
679
+ // SAME completion path (`completeOAuthCode`) and the same commit funnel here.
680
+ //
681
+ // `hubSync: false` is deliberate: hub sync is a full-page redirect to
682
+ // auth.oxy.so, which would undo the one thing popup mode exists to guarantee —
683
+ // that the relying party never leaves its route. It matches how the redirect
684
+ // lane's return leg commits (see `runProviderColdBoot`).
685
+ const startWebOAuthSignInForContext = useCallback(options => startWebOAuthSignIn({
686
+ mode: webAuthMode,
687
+ oxyServices,
688
+ clientId,
689
+ authorizeBaseUrl,
690
+ identityBound: isIdentityBound,
691
+ commitSession: input => commitSessionRef.current(input, {
692
+ activate: true,
693
+ hubSync: false
694
+ })
695
+ }, options), [webAuthMode, oxyServices, clientId, authorizeBaseUrl, isIdentityBound]);
696
+
576
697
  // ── Unified account dialog ─────────────────────────────────────────────────
577
698
  // The single account-chooser + sign-in surface. Built ONCE per provider mount
578
699
  // and bound to the live `oxyServices` + `sessionClient` + this provider's
@@ -613,8 +734,14 @@ export const OxyProvider = ({
613
734
  }
614
735
  accountDialogSurfaceRef.current?.dismiss();
615
736
  }, []);
737
+
738
+ // Never built while identity-bound: the dialog exists to CHOOSE an account,
739
+ // and an identity-bound client has exactly one — the owner of the local
740
+ // identity key. Leaving it `null` (the same shape consumers see with no
741
+ // provider mounted) keeps its QR/polling machinery off entirely instead of
742
+ // relying on UI-level filtering to hide it.
616
743
  const accountDialogControllerRef = useRef(null);
617
- if (!accountDialogControllerRef.current) {
744
+ if (!isIdentityBound && !accountDialogControllerRef.current) {
618
745
  accountDialogControllerRef.current = createAccountDialogController({
619
746
  oxyServices,
620
747
  sessionClient,
@@ -647,11 +774,27 @@ export const OxyProvider = ({
647
774
  // popup (b2) for a non-Oxy origin. `undefined` on native — there is no
648
775
  // popup concept there, and off-origin passkey sign-in isn't reachable
649
776
  // (Commons owns the native flow).
650
- openPopup: isWebBrowser() ? openPasskeyHubPopup : undefined
777
+ openPopup: isWebBrowser() ? openPasskeyHubPopup : undefined,
778
+ // Which surface a sign-in starts from — a FACT only this consumer can
779
+ // supply (headless core never touches a platform global). It decides
780
+ // whether automatic delivery may take the same-device Commons deep link;
781
+ // without it the controller stays `'unknown'` and that route never fires.
782
+ platform: resolveDeliveryPlatform()
651
783
  });
652
784
  }
653
785
  const accountDialogController = accountDialogControllerRef.current;
654
786
  const openAccountDialog = useCallback(view => {
787
+ if (isIdentityBound) {
788
+ // No controller was built, and there is nothing to choose: this app's user
789
+ // is fixed to the owner of the local identity key.
790
+ if (__DEV__) {
791
+ loggerUtil.warn('openAccountDialog ignored: the session is identity-bound (sessionMode: "identity")', {
792
+ component: 'OxyContext',
793
+ method: 'openAccountDialog'
794
+ });
795
+ }
796
+ return;
797
+ }
655
798
  const nextView = view ?? 'accounts';
656
799
  accountDialogControllerRef.current?.setView(nextView);
657
800
 
@@ -701,7 +844,7 @@ export const OxyProvider = ({
701
844
  }
702
845
  });
703
846
  setAccountDialogOpen(true);
704
- }, []);
847
+ }, [isIdentityBound]);
705
848
  const closeAccountDialog = useCallback(() => {
706
849
  accountDialogControllerRef.current?.cancelSignIn();
707
850
  dismissAccountDialogSurface();
@@ -803,19 +946,38 @@ export const OxyProvider = ({
803
946
  // ── Cold boot ────────────────────────────────────────────────────────────
804
947
  // Device-first session restore via `runProviderColdBoot` (see boot/runProviderColdBoot.ts).
805
948
  const runColdBoot = useCallback(async () => {
949
+ // Resolve the pin BEFORE any boot lane runs: `getPinnedAccountId()` is a
950
+ // SYNCHRONOUS read on `SessionClient`'s apply path, and a stale `null` there
951
+ // would let a pinned client behave like an account-mode one for the first
952
+ // state it applies (including re-electing the device's active account).
953
+ if (identity) {
954
+ await identity.ensurePinnedAccountId();
955
+ }
806
956
  await runProviderColdBoot({
807
957
  oxyServices,
808
958
  authStore,
809
959
  clientId: clientIdProp,
810
960
  authRedirectUri,
811
961
  authorizeBaseUrl,
962
+ sessionMode,
963
+ identity: identity?.binding,
964
+ // Popup mode forbids the boot's automatic full-page `prompt=none` restore:
965
+ // a domain with no local credential resolves signed out instead of
966
+ // navigating the tab to the IdP (see `allowsAutomaticIdpRedirect`).
967
+ webAuthMode,
812
968
  sessionClient,
813
969
  syncDeviceCredentialToHost,
814
970
  commitSession: (input, options) => commitSessionRef.current(input, options),
815
971
  markAuthResolved: () => markAuthResolvedRef.current(),
816
972
  setTokenReady
817
973
  });
818
- }, [oxyServices, authStore, clientIdProp, authRedirectUri, authorizeBaseUrl, syncDeviceCredentialToHost, sessionClient]);
974
+ // The boot may have (re-)established the identity session or cleared a pin
975
+ // whose key no longer exists, so re-resolve rather than trusting the memo
976
+ // taken before it ran.
977
+ if (identity) {
978
+ await identity.refreshPinnedAccountId();
979
+ }
980
+ }, [oxyServices, authStore, clientIdProp, authRedirectUri, authorizeBaseUrl, sessionMode, identity, webAuthMode, syncDeviceCredentialToHost, sessionClient]);
819
981
  useEffect(() => {
820
982
  if (initialized) {
821
983
  return;
@@ -901,7 +1063,13 @@ export const OxyProvider = ({
901
1063
  // Exposed `switchSession`: route through the server-authoritative
902
1064
  // `SessionClient`. Resolve the target account from the current device state,
903
1065
  // ask the server to switch, reproject, and return the now-active user.
1066
+ //
1067
+ // Identity-bound providers reject: this is the session-keyed twin of
1068
+ // `switchToAccount`, so leaving it live would be a bypass around the same rule.
904
1069
  const switchSessionForContext = useCallback(async sessionId => {
1070
+ if (isIdentityBound) {
1071
+ throw new IdentityBoundSessionError('switchSession');
1072
+ }
905
1073
  const targetAccountId = sessionClient.getState()?.accounts.find(account => account.sessionId === sessionId)?.accountId;
906
1074
  if (!targetAccountId) {
907
1075
  throw new Error(`No device account found for session "${sessionId}"`);
@@ -913,7 +1081,7 @@ export const OxyProvider = ({
913
1081
  throw new Error('Active account profile could not be resolved after switch');
914
1082
  }
915
1083
  return activeUser;
916
- }, [sessionClient, syncFromClient]);
1084
+ }, [isIdentityBound, sessionClient, syncFromClient]);
917
1085
 
918
1086
  // Thin passthroughs to the platform-agnostic KeyManager. NOTE: both now THROW
919
1087
  // `IdentityUnavailableError` (from `@oxyhq/core`) when identity storage is
@@ -944,6 +1112,7 @@ export const OxyProvider = ({
944
1112
  isAuthenticated,
945
1113
  tokenReady,
946
1114
  initialized,
1115
+ identityBound: isIdentityBound,
947
1116
  oxyServices,
948
1117
  sessionClient,
949
1118
  syncFromClient,
@@ -966,6 +1135,8 @@ export const OxyProvider = ({
966
1135
  isPrivateApiPending,
967
1136
  isAuthResolved: authResolved,
968
1137
  isStorageReady: storage !== null,
1138
+ sessionMode: isIdentityBound ? 'identity' : 'account',
1139
+ webAuthMode,
969
1140
  error,
970
1141
  currentLanguage,
971
1142
  currentLanguages,
@@ -981,6 +1152,7 @@ export const OxyProvider = ({
981
1152
  removePasskey,
982
1153
  revokeSuspiciousSignIn,
983
1154
  handleWebSession,
1155
+ startWebOAuthSignIn: startWebOAuthSignInForContext,
984
1156
  logout,
985
1157
  logoutAll,
986
1158
  switchSession: switchSessionForContext,
@@ -1007,7 +1179,7 @@ export const OxyProvider = ({
1007
1179
  switchToAccount,
1008
1180
  refreshAccounts,
1009
1181
  createAccount: createAccountFn
1010
- }), [user, sessions, activeSessionId, isAuthenticated, isLoading, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, storage, error, currentLanguage, currentLanguages, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, hasIdentity, getPublicKey, signIn, signInWithPasskey, registerWithPasskey, addPasskey, removePasskey, revokeSuspiciousSignIn, handleWebSession, logout, logoutAll, switchSessionForContext, refreshSessionsForContext, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, clearSessionState, clearAllAccountData, storageKeyPrefix, clientId, oxyServices, sessionClient, useFollowHook, showBottomSheetForContext, openAvatarPicker, accountDialogController, accountDialogOpen, openAccountDialog, closeAccountDialog, accounts, switchToAccount, refreshAccounts, createAccountFn]);
1182
+ }), [user, sessions, activeSessionId, isAuthenticated, isLoading, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, storage, isIdentityBound, webAuthMode, error, currentLanguage, currentLanguages, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, hasIdentity, getPublicKey, signIn, signInWithPasskey, registerWithPasskey, addPasskey, removePasskey, revokeSuspiciousSignIn, handleWebSession, startWebOAuthSignInForContext, logout, logoutAll, switchSessionForContext, refreshSessionsForContext, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, clearSessionState, clearAllAccountData, storageKeyPrefix, clientId, oxyServices, sessionClient, useFollowHook, showBottomSheetForContext, openAvatarPicker, accountDialogController, accountDialogOpen, openAccountDialog, closeAccountDialog, accounts, switchToAccount, refreshAccounts, createAccountFn]);
1011
1183
  return /*#__PURE__*/_jsx(OxyContext.Provider, {
1012
1184
  value: contextValue,
1013
1185
  children: children
@@ -1036,6 +1208,8 @@ const LOADING_STATE = {
1036
1208
  isPrivateApiPending: true,
1037
1209
  isAuthResolved: false,
1038
1210
  isStorageReady: false,
1211
+ sessionMode: 'account',
1212
+ webAuthMode: 'redirect',
1039
1213
  error: null,
1040
1214
  currentLanguage: 'en-US',
1041
1215
  currentLanguages: [],
@@ -1051,6 +1225,7 @@ const LOADING_STATE = {
1051
1225
  removePasskey: () => rejectMissingProvider(),
1052
1226
  revokeSuspiciousSignIn: () => rejectMissingProvider(),
1053
1227
  handleWebSession: () => rejectMissingProvider(),
1228
+ startWebOAuthSignIn: () => rejectMissingProvider(),
1054
1229
  logout: () => rejectMissingProvider(),
1055
1230
  logoutAll: () => rejectMissingProvider(),
1056
1231
  switchSession: () => rejectMissingProvider(),
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","io","OxyServices","oxyClient","KeyManager","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","syncHubAfterSignIn","registerAccountDialogControls","notifyAccountDialogVisibility","redirectToAuthorize","openPasskeyHubPopup","isWebBrowser","runProviderColdBoot","loadPersistedDeviceCredential","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","presentDetached","topRouteSurface","useQueryClient","onlineManager","clearQueryCache","useAvatarPicker","useAccountStore","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","DEFAULT_SESSION_VALIDITY_MS","loadUseFollowHook","commitDeviceSetAndResolve","runPasskeyLogin","runPasskeyRegister","runPasskeyAdd","isPasskeySupported","runRegistrationCeremony","runAuthenticationCeremony","queryKeys","useOxyAccountGraph","jsx","_jsx","OxyContext","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","authorizeBaseUrl","storageKeyPrefix","clientId","clientIdProp","hubSync","onAuthStateChange","onError","oxyServicesRef","current","Error","authStoreRef","authStore","user","isAuthenticated","isLoading","error","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","__DEV__","warn","component","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","undefined","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","status","currentLanguage","languages","currentLanguages","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","sessionClientPairRef","origin","clearError","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","syncDeviceCredentialToHost","cred","setDeviceCredential","subscribe","signIn","logoutAll","store","revokeSuspiciousSignIn","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","deviceId","deviceSecret","prior","load","next","sessionId","userId","expiresAt","save","persistError","now","Date","getTime","toISOString","lastActive","isCurrent","merge","activate","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","start","getCurrentUser","enabled","hubError","debug","method","commitSessionRef","handleWebSession","session","commitSwitchedSession","handleWebSessionRef","commitSwitchedSessionRef","accountDialogSurfaceRef","accountDialogHostRef","dismissAccountDialogSurface","goBack","dismiss","accountDialogControllerRef","locale","socketFactory","onSignedIn","openUrl","url","openURL","canOpenApp","canOpenURL","openPopup","accountDialogController","openAccountDialog","view","nextView","setView","navigate","initialView","instance","placement","base","md","dismissOnBackdrop","maxWidth","result","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPasskey","opts","persisted","isSupported","getLoginOptions","username","webauthnLoginOptions","runCeremony","loginVerify","response","envelope","webauthnLoginVerify","commit","deviceName","deviceFingerprint","registerWithPasskey","params","getRegisterOptions","webauthnRegisterOptions","registerVerify","webauthnRegisterVerify","addPasskey","onLinked","invalidateQueries","queryKey","authMethods","all","removePasskey","credentialId","runColdBoot","onVisibility","document","visibilityState","reconcile","getDeviceCredential","httpService","refreshAccessToken","bootstrap","addEventListener","removeEventListener","previousOnline","isOnline","online","wasOffline","refreshSessionsForContext","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","refreshAccounts","switchToAccount","createAccount","createAccountFn","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","useFollow","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","io","OxyServices","oxyClient","KeyManager","establishIdentitySession","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","syncHubAfterSignIn","registerAccountDialogControls","notifyAccountDialogVisibility","redirectToAuthorize","openPasskeyHubPopup","startWebOAuthSignIn","isWebBrowser","resolveDeliveryPlatform","runProviderColdBoot","loadPersistedDeviceCredential","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","presentDetached","topRouteSurface","useQueryClient","onlineManager","clearQueryCache","useAvatarPicker","useAccountStore","createSessionClient","createIdentitySessionBinding","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","IdentityBoundSessionError","DEFAULT_SESSION_VALIDITY_MS","loadUseFollowHook","commitDeviceSetAndResolve","maybeSyncHubAfterCommit","runPasskeyLogin","runPasskeyRegister","runPasskeyAdd","isPasskeySupported","runRegistrationCeremony","runAuthenticationCeremony","queryKeys","useOxyAccountGraph","jsx","_jsx","OxyContext","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","authorizeBaseUrl","storageKeyPrefix","clientId","clientIdProp","sessionMode","webAuthMode","hubSync","onAuthStateChange","onError","oxyServicesRef","current","Error","authStoreRef","authStore","identityRef","identity","isIdentityBound","user","isAuthenticated","isLoading","error","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","__DEV__","warn","component","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","undefined","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","status","currentLanguage","languages","currentLanguages","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","sessionClientPairRef","origin","clearError","getPinnedAccountId","client","sessionClient","host","sessionClientHost","identityEstablishRef","revision","inFlight","reestablishIdentitySession","binding","tracker","established","oxy","store","refreshPinnedAccountId","bootstrap","establishError","finally","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","pinnedAccountId","ensurePinnedAccountId","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","syncDeviceCredentialToHost","cred","setDeviceCredential","subscribe","signIn","logoutAll","identityBinding","revokeSuspiciousSignIn","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","dispose","scheduler","commitSession","input","options","deviceId","deviceSecret","prior","load","next","sessionId","userId","expiresAt","save","persistError","now","Date","getTime","toISOString","lastActive","isCurrent","merge","activate","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","start","getCurrentUser","hubSyncRequested","hubSyncEnabled","syncHub","enabled","commitSessionRef","handleWebSession","session","commitSwitchedSession","startWebOAuthSignInForContext","mode","identityBound","handleWebSessionRef","commitSwitchedSessionRef","accountDialogSurfaceRef","accountDialogHostRef","dismissAccountDialogSurface","goBack","dismiss","accountDialogControllerRef","locale","socketFactory","onSignedIn","openUrl","url","openURL","canOpenApp","canOpenURL","openPopup","platform","accountDialogController","openAccountDialog","view","method","nextView","setView","navigate","initialView","instance","placement","base","md","dismissOnBackdrop","maxWidth","result","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPasskey","opts","persisted","isSupported","getLoginOptions","username","webauthnLoginOptions","runCeremony","loginVerify","response","envelope","webauthnLoginVerify","commit","deviceName","deviceFingerprint","registerWithPasskey","params","getRegisterOptions","webauthnRegisterOptions","registerVerify","webauthnRegisterVerify","addPasskey","onLinked","invalidateQueries","queryKey","authMethods","all","removePasskey","credentialId","runColdBoot","onVisibility","document","visibilityState","reconcile","getDeviceCredential","httpService","refreshAccessToken","addEventListener","removeEventListener","previousOnline","isOnline","online","wasOffline","refreshSessionsForContext","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","refreshAccounts","switchToAccount","createAccount","createAccountFn","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","useFollow","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}