@oxy.so/core 1.18.0 → 3.0.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 (662) hide show
  1. package/README.md +13 -7
  2. package/dist/cjs/HttpService.js +189 -112
  3. package/dist/cjs/OxyServices.errors.js +48 -1
  4. package/dist/cjs/OxyServices.js +263 -60
  5. package/dist/cjs/api/accounts.js +231 -0
  6. package/dist/cjs/api/agency.js +102 -0
  7. package/dist/cjs/api/appData.js +45 -0
  8. package/dist/cjs/api/apps.js +197 -0
  9. package/dist/cjs/api/assets.js +329 -0
  10. package/dist/cjs/api/auth.js +900 -0
  11. package/dist/cjs/api/billing.js +44 -0
  12. package/dist/cjs/api/civic.js +289 -0
  13. package/dist/cjs/api/contacts.js +16 -0
  14. package/dist/cjs/api/devices.js +351 -0
  15. package/dist/cjs/api/follows.js +240 -0
  16. package/dist/cjs/api/identity.js +569 -0
  17. package/dist/cjs/api/linkedAccounts.js +48 -0
  18. package/dist/cjs/api/nodes.js +75 -0
  19. package/dist/cjs/api/notifications.js +75 -0
  20. package/dist/cjs/api/privacy.js +105 -0
  21. package/dist/cjs/api/reputation.js +74 -0
  22. package/dist/cjs/api/session.js +177 -0
  23. package/dist/cjs/api/store.js +199 -0
  24. package/dist/cjs/api/topics.js +66 -0
  25. package/dist/cjs/api/users.js +309 -0
  26. package/dist/cjs/boot/sessionColdBoot.js +4 -4
  27. package/dist/cjs/civic/index.js +16 -0
  28. package/dist/cjs/civic/payloads.js +156 -0
  29. package/dist/cjs/client/context.js +2 -0
  30. package/dist/cjs/crypto/identityLink.js +5 -5
  31. package/dist/cjs/crypto/index.js +44 -0
  32. package/dist/cjs/crypto/internal.js +37 -0
  33. package/dist/cjs/crypto/keyManager.js +2 -2
  34. package/dist/cjs/crypto/polyfill.js +9 -80
  35. package/dist/cjs/crypto/recoveryPhrase.js +1 -0
  36. package/dist/cjs/crypto/registrationPow.js +1 -1
  37. package/dist/cjs/crypto/signatureService.js +1 -0
  38. package/dist/cjs/i18n/accountCategoryLabels.js +3 -3
  39. package/dist/cjs/i18n/accountRoleLabels.js +7 -7
  40. package/dist/cjs/i18n/index.js +130 -52
  41. package/dist/cjs/i18n/locales/{ar-SA.json → ar-SA.js} +134 -52
  42. package/dist/cjs/i18n/locales/{ca-ES.json → ca-ES.js} +134 -52
  43. package/dist/{esm/i18n/locales/de-DE.json → cjs/i18n/locales/de-DE.js} +136 -54
  44. package/dist/{esm/i18n/locales/en-US.json → cjs/i18n/locales/en-US.js} +163 -245
  45. package/dist/{esm/i18n/locales/es-ES.json → cjs/i18n/locales/es-ES.js} +163 -245
  46. package/dist/cjs/i18n/locales/{fr-FR.json → fr-FR.js} +134 -52
  47. package/dist/cjs/i18n/locales/{it-IT.json → it-IT.js} +134 -52
  48. package/dist/{esm/i18n/locales/ja-JP.json → cjs/i18n/locales/ja-JP.js} +134 -52
  49. package/dist/cjs/i18n/locales/{ko-KR.json → ko-KR.js} +134 -52
  50. package/dist/{esm/i18n/locales/pt-PT.json → cjs/i18n/locales/pt-PT.js} +136 -54
  51. package/dist/{esm/i18n/locales/zh-CN.json → cjs/i18n/locales/zh-CN.js} +135 -53
  52. package/dist/cjs/i18n/reputationCategoryLabels.js +2 -2
  53. package/dist/cjs/i18n/trustTierLabels.js +2 -2
  54. package/dist/cjs/index.js +55 -263
  55. package/dist/cjs/inference/index.js +21 -0
  56. package/dist/cjs/server/OxyServer.js +521 -0
  57. package/dist/cjs/server/auth.js +2 -2
  58. package/dist/cjs/server/index.js +23 -6
  59. package/dist/cjs/server/middleware.js +1154 -0
  60. package/dist/cjs/server/namespaces.js +214 -0
  61. package/dist/cjs/server/rateLimit.js +2 -2
  62. package/dist/cjs/server/requesterAssertion.js +5 -5
  63. package/dist/cjs/server/securityHeaders.js +3 -3
  64. package/dist/cjs/server/traffic.js +7 -6
  65. package/dist/cjs/server/trafficNodeHttp.js +9 -3
  66. package/dist/cjs/server/userInvalidation.js +5 -5
  67. package/dist/cjs/session/accountDialogController.js +23 -23
  68. package/dist/cjs/session/authStateStore.js +2 -2
  69. package/dist/cjs/session/identitySession.js +3 -3
  70. package/dist/cjs/session/index.js +131 -0
  71. package/dist/cjs/session/refresh.js +37 -30
  72. package/dist/cjs/session/sessionClientHost.js +5 -5
  73. package/dist/cjs/session/sharedDeviceCredential.js +3 -2
  74. package/dist/cjs/shared/utils/networkUtils.js +2 -2
  75. package/dist/cjs/utils/accountCacheSweep.js +11 -15
  76. package/dist/cjs/utils/asyncUtils.js +22 -163
  77. package/dist/cjs/utils/authHelpers.js +2 -2
  78. package/dist/cjs/utils/authWebUrl.js +3 -4
  79. package/dist/cjs/utils/avatarUtils.js +2 -2
  80. package/dist/cjs/utils/cache.js +32 -2
  81. package/dist/cjs/utils/cacheKey.js +5 -10
  82. package/dist/cjs/utils/deviceManager.js +17 -16
  83. package/dist/cjs/utils/edgeRegion.js +2 -3
  84. package/dist/cjs/utils/identityCacheSweep.js +6 -10
  85. package/dist/cjs/utils/oxyServiceEnvironment.js +3 -7
  86. package/dist/cjs/utils/requestUtils.js +40 -33
  87. package/dist/cjs/utils/sessionUtils.js +0 -2
  88. package/dist/cjs/utils/tokenClaims.js +34 -0
  89. package/dist/esm/HttpService.js +190 -113
  90. package/dist/esm/OxyServices.errors.js +45 -0
  91. package/dist/esm/OxyServices.js +262 -57
  92. package/dist/esm/api/accounts.js +218 -0
  93. package/dist/esm/api/agency.js +95 -0
  94. package/dist/esm/api/appData.js +40 -0
  95. package/dist/esm/api/apps.js +191 -0
  96. package/dist/esm/api/assets.js +324 -0
  97. package/dist/esm/api/auth.js +858 -0
  98. package/dist/esm/api/billing.js +40 -0
  99. package/dist/esm/api/civic.js +250 -0
  100. package/dist/esm/api/contacts.js +12 -0
  101. package/dist/esm/api/devices.js +346 -0
  102. package/dist/esm/api/follows.js +236 -0
  103. package/dist/esm/api/identity.js +527 -0
  104. package/dist/esm/api/linkedAccounts.js +44 -0
  105. package/dist/esm/api/nodes.js +71 -0
  106. package/dist/esm/api/notifications.js +71 -0
  107. package/dist/esm/api/privacy.js +101 -0
  108. package/dist/esm/api/reputation.js +70 -0
  109. package/dist/esm/api/session.js +173 -0
  110. package/dist/esm/api/store.js +192 -0
  111. package/dist/esm/api/topics.js +62 -0
  112. package/dist/esm/api/users.js +272 -0
  113. package/dist/esm/boot/sessionColdBoot.js +4 -4
  114. package/dist/esm/civic/index.js +10 -0
  115. package/dist/esm/civic/payloads.js +118 -0
  116. package/dist/esm/client/context.js +1 -0
  117. package/dist/esm/crypto/identityLink.js +5 -5
  118. package/dist/esm/crypto/index.js +24 -0
  119. package/dist/esm/crypto/internal.js +19 -0
  120. package/dist/esm/crypto/keyManager.js +2 -2
  121. package/dist/esm/crypto/polyfill.js +10 -81
  122. package/dist/esm/crypto/recoveryPhrase.js +1 -0
  123. package/dist/esm/crypto/registrationPow.js +1 -1
  124. package/dist/esm/crypto/signatureService.js +1 -0
  125. package/dist/esm/i18n/accountCategoryLabels.js +2 -2
  126. package/dist/esm/i18n/accountRoleLabels.js +1 -1
  127. package/dist/esm/i18n/index.js +93 -52
  128. package/dist/esm/i18n/locales/{ar-SA.json → ar-SA.js} +132 -52
  129. package/dist/esm/i18n/locales/{ca-ES.json → ca-ES.js} +132 -52
  130. package/dist/{cjs/i18n/locales/de-DE.json → esm/i18n/locales/de-DE.js} +134 -54
  131. package/dist/{cjs/i18n/locales/en-US.json → esm/i18n/locales/en-US.js} +161 -245
  132. package/dist/{cjs/i18n/locales/es-ES.json → esm/i18n/locales/es-ES.js} +161 -245
  133. package/dist/esm/i18n/locales/{fr-FR.json → fr-FR.js} +132 -52
  134. package/dist/esm/i18n/locales/{it-IT.json → it-IT.js} +132 -52
  135. package/dist/{cjs/i18n/locales/ja-JP.json → esm/i18n/locales/ja-JP.js} +132 -52
  136. package/dist/esm/i18n/locales/{ko-KR.json → ko-KR.js} +132 -52
  137. package/dist/{cjs/i18n/locales/pt-PT.json → esm/i18n/locales/pt-PT.js} +134 -54
  138. package/dist/{cjs/i18n/locales/zh-CN.json → esm/i18n/locales/zh-CN.js} +133 -53
  139. package/dist/esm/i18n/reputationCategoryLabels.js +1 -1
  140. package/dist/esm/i18n/trustTierLabels.js +1 -1
  141. package/dist/esm/index.js +30 -166
  142. package/dist/esm/inference/index.js +13 -0
  143. package/dist/esm/server/OxyServer.js +516 -0
  144. package/dist/esm/server/auth.js +2 -2
  145. package/dist/esm/server/index.js +10 -5
  146. package/dist/esm/server/middleware.js +1147 -0
  147. package/dist/esm/server/namespaces.js +206 -0
  148. package/dist/esm/server/rateLimit.js +2 -2
  149. package/dist/esm/server/requesterAssertion.js +5 -5
  150. package/dist/esm/server/securityHeaders.js +3 -3
  151. package/dist/esm/server/traffic.js +7 -6
  152. package/dist/esm/server/trafficNodeHttp.js +9 -3
  153. package/dist/esm/server/userInvalidation.js +5 -5
  154. package/dist/esm/session/accountDialogController.js +23 -23
  155. package/dist/esm/session/authStateStore.js +2 -2
  156. package/dist/esm/session/identitySession.js +3 -3
  157. package/dist/esm/session/index.js +82 -0
  158. package/dist/esm/session/refresh.js +37 -30
  159. package/dist/esm/session/sessionClientHost.js +5 -5
  160. package/dist/esm/session/sharedDeviceCredential.js +3 -2
  161. package/dist/esm/shared/utils/networkUtils.js +2 -2
  162. package/dist/esm/utils/accountCacheSweep.js +11 -15
  163. package/dist/esm/utils/asyncUtils.js +22 -151
  164. package/dist/esm/utils/authHelpers.js +2 -2
  165. package/dist/esm/utils/authWebUrl.js +3 -4
  166. package/dist/esm/utils/avatarUtils.js +2 -2
  167. package/dist/esm/utils/cache.js +32 -2
  168. package/dist/esm/utils/cacheKey.js +5 -10
  169. package/dist/esm/utils/deviceManager.js +17 -16
  170. package/dist/esm/utils/edgeRegion.js +1 -2
  171. package/dist/esm/utils/identityCacheSweep.js +6 -10
  172. package/dist/esm/utils/oxyServiceEnvironment.js +3 -7
  173. package/dist/esm/utils/requestUtils.js +40 -33
  174. package/dist/esm/utils/sessionUtils.js +0 -2
  175. package/dist/esm/utils/tokenClaims.js +31 -0
  176. package/dist/types/HttpService.d.ts +47 -9
  177. package/dist/types/OxyServices.d.ts +160 -131
  178. package/dist/types/OxyServices.errors.d.ts +42 -0
  179. package/dist/types/api/accounts.d.ts +415 -0
  180. package/dist/types/api/agency.d.ts +135 -0
  181. package/dist/types/api/appData.d.ts +27 -0
  182. package/dist/types/api/apps.d.ts +433 -0
  183. package/dist/types/api/assets.d.ts +174 -0
  184. package/dist/types/api/auth.d.ts +766 -0
  185. package/dist/types/api/billing.d.ts +113 -0
  186. package/dist/types/api/civic.d.ts +203 -0
  187. package/dist/types/api/contacts.d.ts +31 -0
  188. package/{src/mixins/OxyServices.deviceBoot.ts → dist/types/api/devices.d.ts} +130 -110
  189. package/dist/types/api/follows.d.ts +236 -0
  190. package/dist/types/api/identity.d.ts +275 -0
  191. package/dist/types/api/linkedAccounts.d.ts +48 -0
  192. package/dist/types/api/nodes.d.ts +102 -0
  193. package/dist/types/api/notifications.d.ts +77 -0
  194. package/dist/types/api/privacy.d.ts +43 -0
  195. package/dist/types/api/reputation.d.ts +50 -0
  196. package/dist/types/api/session.d.ts +85 -0
  197. package/dist/types/api/store.d.ts +278 -0
  198. package/dist/types/api/topics.d.ts +34 -0
  199. package/dist/types/api/users.d.ts +134 -0
  200. package/dist/types/boot/sessionColdBoot.d.ts +1 -1
  201. package/dist/types/civic/index.d.ts +10 -0
  202. package/dist/types/civic/payloads.d.ts +83 -0
  203. package/dist/types/client/context.d.ts +33 -0
  204. package/dist/types/crypto/identityLink.d.ts +5 -5
  205. package/dist/types/crypto/index.d.ts +24 -0
  206. package/dist/types/crypto/internal.d.ts +19 -0
  207. package/dist/types/crypto/polyfill.d.ts +6 -9
  208. package/dist/types/crypto/registrationPow.d.ts +1 -1
  209. package/dist/types/i18n/accountCategoryLabels.d.ts +1 -1
  210. package/dist/types/i18n/accountRoleLabels.d.ts +1 -1
  211. package/dist/types/i18n/index.d.ts +20 -1
  212. package/dist/types/i18n/locales/ar-SA.d.ts +386 -0
  213. package/dist/types/i18n/locales/ca-ES.d.ts +386 -0
  214. package/dist/types/i18n/locales/de-DE.d.ts +386 -0
  215. package/dist/types/i18n/locales/en-US.d.ts +2034 -0
  216. package/dist/types/i18n/locales/es-ES.d.ts +2034 -0
  217. package/dist/types/i18n/locales/fr-FR.d.ts +386 -0
  218. package/dist/types/i18n/locales/it-IT.d.ts +386 -0
  219. package/dist/types/i18n/locales/ja-JP.d.ts +386 -0
  220. package/dist/types/i18n/locales/ko-KR.d.ts +386 -0
  221. package/dist/types/i18n/locales/pt-PT.d.ts +386 -0
  222. package/dist/types/i18n/locales/zh-CN.d.ts +386 -0
  223. package/dist/types/index.d.ts +46 -95
  224. package/dist/types/inference/index.d.ts +22 -0
  225. package/dist/types/models/interfaces.d.ts +1 -1
  226. package/dist/types/server/OxyServer.d.ts +183 -0
  227. package/dist/types/server/auth.d.ts +10 -7
  228. package/dist/types/server/index.d.ts +10 -4
  229. package/dist/types/server/middleware.d.ts +291 -0
  230. package/dist/types/server/namespaces.d.ts +98 -0
  231. package/dist/types/server/rateLimit.d.ts +7 -5
  232. package/dist/types/server/requesterAssertion.d.ts +14 -11
  233. package/dist/types/server/securityHeaders.d.ts +4 -5
  234. package/dist/types/server/userInvalidation.d.ts +10 -8
  235. package/dist/types/session/accountDelegationAccess.d.ts +1 -1
  236. package/dist/types/session/accountDialogController.d.ts +8 -8
  237. package/dist/types/session/accountSwitchTargets.d.ts +1 -1
  238. package/dist/types/session/authStateStore.d.ts +7 -6
  239. package/dist/types/session/index.d.ts +40 -0
  240. package/dist/types/utils/accountCacheSweep.d.ts +7 -10
  241. package/dist/types/utils/apiUtils.d.ts +3 -3
  242. package/dist/types/utils/asyncUtils.d.ts +11 -58
  243. package/dist/types/utils/authWebUrl.d.ts +3 -4
  244. package/dist/types/utils/avatarUtils.d.ts +5 -6
  245. package/dist/types/utils/cache.d.ts +11 -3
  246. package/dist/types/utils/commonsApproval.d.ts +1 -1
  247. package/dist/types/utils/edgeRegion.d.ts +1 -2
  248. package/dist/types/utils/identityCacheSweep.d.ts +6 -4
  249. package/dist/types/utils/oauthPkce.d.ts +2 -2
  250. package/dist/types/utils/oxyServiceEnvironment.d.ts +3 -7
  251. package/dist/types/utils/requestUtils.d.ts +18 -14
  252. package/dist/types/utils/tokenClaims.d.ts +9 -0
  253. package/package.json +68 -7
  254. package/src/HttpService.ts +201 -132
  255. package/src/OxyServices.errors.ts +73 -0
  256. package/src/OxyServices.ts +289 -164
  257. package/src/api/accounts.ts +579 -0
  258. package/src/api/agency.ts +277 -0
  259. package/src/api/appData.ts +63 -0
  260. package/src/api/apps.ts +596 -0
  261. package/src/api/assets.ts +416 -0
  262. package/src/api/auth.ts +1457 -0
  263. package/src/api/billing.ts +144 -0
  264. package/src/api/civic.ts +428 -0
  265. package/src/api/contacts.ts +41 -0
  266. package/src/api/devices.ts +438 -0
  267. package/src/api/follows.ts +414 -0
  268. package/src/api/identity.ts +727 -0
  269. package/src/api/linkedAccounts.ts +78 -0
  270. package/src/api/nodes.ts +169 -0
  271. package/src/api/notifications.ts +135 -0
  272. package/src/api/privacy.ts +120 -0
  273. package/src/api/reputation.ts +134 -0
  274. package/src/api/session.ts +210 -0
  275. package/src/api/store.ts +435 -0
  276. package/src/api/topics.ts +83 -0
  277. package/src/api/users.ts +357 -0
  278. package/src/boot/sessionColdBoot.ts +4 -4
  279. package/src/civic/index.ts +12 -0
  280. package/src/civic/payloads.ts +175 -0
  281. package/src/client/context.ts +34 -0
  282. package/src/crypto/identityLink.ts +5 -5
  283. package/src/crypto/index.ts +39 -0
  284. package/src/crypto/internal.ts +20 -0
  285. package/src/crypto/keyManager.ts +2 -2
  286. package/src/crypto/polyfill.ts +9 -89
  287. package/src/crypto/recoveryPhrase.ts +1 -0
  288. package/src/crypto/registrationPow.ts +1 -1
  289. package/src/crypto/signatureService.ts +1 -0
  290. package/src/i18n/accountCategoryLabels.ts +2 -2
  291. package/src/i18n/accountRoleLabels.ts +2 -2
  292. package/src/i18n/index.ts +105 -54
  293. package/src/i18n/locales/{ar-SA.json → ar-SA.ts} +132 -52
  294. package/src/i18n/locales/{ca-ES.json → ca-ES.ts} +132 -52
  295. package/{dist/cjs/i18n/locales/locales/de-DE.json → src/i18n/locales/de-DE.ts} +134 -54
  296. package/src/i18n/locales/{en-US.json → en-US.ts} +161 -245
  297. package/{dist/cjs/i18n/locales/locales/es-ES.json → src/i18n/locales/es-ES.ts} +161 -245
  298. package/src/i18n/locales/{fr-FR.json → fr-FR.ts} +132 -52
  299. package/src/i18n/locales/{it-IT.json → it-IT.ts} +132 -52
  300. package/{dist/cjs/i18n/locales/locales/ja-JP.json → src/i18n/locales/ja-JP.ts} +132 -52
  301. package/src/i18n/locales/{ko-KR.json → ko-KR.ts} +132 -52
  302. package/src/i18n/locales/{pt-PT.json → pt-PT.ts} +134 -54
  303. package/src/i18n/locales/{zh-CN.json → zh-CN.ts} +133 -53
  304. package/src/i18n/reputationCategoryLabels.ts +1 -1
  305. package/src/i18n/trustTierLabels.ts +1 -1
  306. package/src/index.ts +170 -501
  307. package/src/inference/index.ts +48 -0
  308. package/src/models/interfaces.ts +1 -1
  309. package/src/server/OxyServer.ts +637 -0
  310. package/src/server/auth.ts +12 -8
  311. package/src/server/index.ts +28 -5
  312. package/src/server/middleware.ts +1520 -0
  313. package/src/server/namespaces.ts +257 -0
  314. package/src/server/rateLimit.ts +10 -9
  315. package/src/server/requesterAssertion.ts +13 -10
  316. package/src/server/securityHeaders.ts +7 -8
  317. package/src/server/traffic.ts +6 -6
  318. package/src/server/trafficNodeHttp.ts +7 -3
  319. package/src/server/userInvalidation.ts +9 -9
  320. package/src/session/accountDelegationAccess.ts +1 -1
  321. package/src/session/accountDialogController.ts +24 -24
  322. package/src/session/accountSwitchTargets.ts +1 -1
  323. package/src/session/authStateStore.ts +9 -8
  324. package/src/session/identitySession.ts +3 -3
  325. package/src/session/index.ts +210 -0
  326. package/src/session/refresh.ts +36 -30
  327. package/src/session/sessionClientHost.ts +5 -5
  328. package/src/session/sharedDeviceCredential.ts +3 -2
  329. package/src/shared/utils/networkUtils.ts +2 -2
  330. package/src/utils/accountCacheSweep.ts +11 -15
  331. package/src/utils/apiUtils.ts +3 -3
  332. package/src/utils/asyncUtils.ts +38 -235
  333. package/src/utils/authHelpers.ts +2 -2
  334. package/src/utils/authWebUrl.ts +3 -4
  335. package/src/utils/avatarUtils.ts +4 -7
  336. package/src/utils/cache.ts +36 -5
  337. package/src/utils/cacheKey.ts +5 -9
  338. package/src/utils/commonsApproval.ts +1 -1
  339. package/src/utils/deviceManager.ts +17 -16
  340. package/src/utils/edgeRegion.ts +1 -2
  341. package/src/utils/identityCacheSweep.ts +7 -12
  342. package/src/utils/oauthPkce.ts +2 -2
  343. package/src/utils/oxyServiceEnvironment.ts +3 -7
  344. package/src/utils/requestUtils.ts +48 -44
  345. package/src/utils/sessionUtils.ts +0 -2
  346. package/src/utils/tokenClaims.ts +38 -0
  347. package/dist/cjs/.tsbuildinfo +0 -1
  348. package/dist/cjs/OxyServices.base.js +0 -392
  349. package/dist/cjs/i18n/locales/locales/ar-SA.json +0 -306
  350. package/dist/cjs/i18n/locales/locales/ca-ES.json +0 -306
  351. package/dist/cjs/i18n/locales/locales/en-US.json +0 -2127
  352. package/dist/cjs/i18n/locales/locales/fr-FR.json +0 -306
  353. package/dist/cjs/i18n/locales/locales/it-IT.json +0 -306
  354. package/dist/cjs/i18n/locales/locales/ko-KR.json +0 -306
  355. package/dist/cjs/i18n/locales/locales/pt-PT.json +0 -306
  356. package/dist/cjs/i18n/locales/locales/zh-CN.json +0 -306
  357. package/dist/cjs/mixins/OxyServices.accounts.js +0 -555
  358. package/dist/cjs/mixins/OxyServices.agency.js +0 -154
  359. package/dist/cjs/mixins/OxyServices.analytics.js +0 -49
  360. package/dist/cjs/mixins/OxyServices.appData.js +0 -108
  361. package/dist/cjs/mixins/OxyServices.assets.js +0 -854
  362. package/dist/cjs/mixins/OxyServices.auth.js +0 -1440
  363. package/dist/cjs/mixins/OxyServices.chains.js +0 -73
  364. package/dist/cjs/mixins/OxyServices.civic.js +0 -611
  365. package/dist/cjs/mixins/OxyServices.connectedApps.js +0 -95
  366. package/dist/cjs/mixins/OxyServices.contacts.js +0 -50
  367. package/dist/cjs/mixins/OxyServices.deviceBoot.js +0 -191
  368. package/dist/cjs/mixins/OxyServices.devices.js +0 -116
  369. package/dist/cjs/mixins/OxyServices.features.js +0 -335
  370. package/dist/cjs/mixins/OxyServices.followGraph.js +0 -221
  371. package/dist/cjs/mixins/OxyServices.identity.js +0 -562
  372. package/dist/cjs/mixins/OxyServices.identityBackup.js +0 -172
  373. package/dist/cjs/mixins/OxyServices.inference.js +0 -59
  374. package/dist/cjs/mixins/OxyServices.language.js +0 -125
  375. package/dist/cjs/mixins/OxyServices.linkedAccounts.js +0 -79
  376. package/dist/cjs/mixins/OxyServices.location.js +0 -43
  377. package/dist/cjs/mixins/OxyServices.nodes.js +0 -175
  378. package/dist/cjs/mixins/OxyServices.notifications.js +0 -63
  379. package/dist/cjs/mixins/OxyServices.payment.js +0 -158
  380. package/dist/cjs/mixins/OxyServices.privacy.js +0 -199
  381. package/dist/cjs/mixins/OxyServices.reputation.js +0 -289
  382. package/dist/cjs/mixins/OxyServices.security.js +0 -89
  383. package/dist/cjs/mixins/OxyServices.store.js +0 -266
  384. package/dist/cjs/mixins/OxyServices.topics.js +0 -137
  385. package/dist/cjs/mixins/OxyServices.user.js +0 -954
  386. package/dist/cjs/mixins/OxyServices.utility.js +0 -1402
  387. package/dist/cjs/mixins/index.js +0 -136
  388. package/dist/cjs/mixins/mixinHelpers.js +0 -53
  389. package/dist/cjs/utils/webauthnOrigin.js +0 -51
  390. package/dist/esm/.tsbuildinfo +0 -1
  391. package/dist/esm/OxyServices.base.js +0 -388
  392. package/dist/esm/i18n/locales/locales/ar-SA.json +0 -306
  393. package/dist/esm/i18n/locales/locales/ca-ES.json +0 -306
  394. package/dist/esm/i18n/locales/locales/de-DE.json +0 -306
  395. package/dist/esm/i18n/locales/locales/en-US.json +0 -2127
  396. package/dist/esm/i18n/locales/locales/es-ES.json +0 -2127
  397. package/dist/esm/i18n/locales/locales/fr-FR.json +0 -306
  398. package/dist/esm/i18n/locales/locales/it-IT.json +0 -306
  399. package/dist/esm/i18n/locales/locales/ja-JP.json +0 -306
  400. package/dist/esm/i18n/locales/locales/ko-KR.json +0 -306
  401. package/dist/esm/i18n/locales/locales/pt-PT.json +0 -306
  402. package/dist/esm/i18n/locales/locales/zh-CN.json +0 -306
  403. package/dist/esm/mixins/OxyServices.accounts.js +0 -543
  404. package/dist/esm/mixins/OxyServices.agency.js +0 -151
  405. package/dist/esm/mixins/OxyServices.analytics.js +0 -46
  406. package/dist/esm/mixins/OxyServices.appData.js +0 -103
  407. package/dist/esm/mixins/OxyServices.assets.js +0 -851
  408. package/dist/esm/mixins/OxyServices.auth.js +0 -1400
  409. package/dist/esm/mixins/OxyServices.chains.js +0 -70
  410. package/dist/esm/mixins/OxyServices.civic.js +0 -605
  411. package/dist/esm/mixins/OxyServices.connectedApps.js +0 -92
  412. package/dist/esm/mixins/OxyServices.contacts.js +0 -47
  413. package/dist/esm/mixins/OxyServices.deviceBoot.js +0 -186
  414. package/dist/esm/mixins/OxyServices.devices.js +0 -113
  415. package/dist/esm/mixins/OxyServices.features.js +0 -332
  416. package/dist/esm/mixins/OxyServices.followGraph.js +0 -218
  417. package/dist/esm/mixins/OxyServices.identity.js +0 -558
  418. package/dist/esm/mixins/OxyServices.identityBackup.js +0 -169
  419. package/dist/esm/mixins/OxyServices.inference.js +0 -56
  420. package/dist/esm/mixins/OxyServices.language.js +0 -122
  421. package/dist/esm/mixins/OxyServices.linkedAccounts.js +0 -76
  422. package/dist/esm/mixins/OxyServices.location.js +0 -40
  423. package/dist/esm/mixins/OxyServices.nodes.js +0 -172
  424. package/dist/esm/mixins/OxyServices.notifications.js +0 -60
  425. package/dist/esm/mixins/OxyServices.payment.js +0 -155
  426. package/dist/esm/mixins/OxyServices.privacy.js +0 -196
  427. package/dist/esm/mixins/OxyServices.reputation.js +0 -286
  428. package/dist/esm/mixins/OxyServices.security.js +0 -86
  429. package/dist/esm/mixins/OxyServices.store.js +0 -263
  430. package/dist/esm/mixins/OxyServices.topics.js +0 -134
  431. package/dist/esm/mixins/OxyServices.user.js +0 -951
  432. package/dist/esm/mixins/OxyServices.utility.js +0 -1397
  433. package/dist/esm/mixins/index.js +0 -133
  434. package/dist/esm/mixins/mixinHelpers.js +0 -48
  435. package/dist/esm/utils/webauthnOrigin.js +0 -48
  436. package/dist/types/.tsbuildinfo +0 -1
  437. package/dist/types/OxyServices.base.d.ts +0 -189
  438. package/dist/types/mixins/OxyServices.accounts.d.ts +0 -868
  439. package/dist/types/mixins/OxyServices.agency.d.ts +0 -176
  440. package/dist/types/mixins/OxyServices.analytics.d.ts +0 -72
  441. package/dist/types/mixins/OxyServices.appData.d.ts +0 -108
  442. package/dist/types/mixins/OxyServices.assets.d.ts +0 -371
  443. package/dist/types/mixins/OxyServices.auth.d.ts +0 -965
  444. package/dist/types/mixins/OxyServices.chains.d.ts +0 -156
  445. package/dist/types/mixins/OxyServices.civic.d.ts +0 -520
  446. package/dist/types/mixins/OxyServices.connectedApps.d.ts +0 -184
  447. package/dist/types/mixins/OxyServices.contacts.d.ts +0 -100
  448. package/dist/types/mixins/OxyServices.deviceBoot.d.ts +0 -185
  449. package/dist/types/mixins/OxyServices.devices.d.ts +0 -103
  450. package/dist/types/mixins/OxyServices.features.d.ts +0 -250
  451. package/dist/types/mixins/OxyServices.followGraph.d.ts +0 -223
  452. package/dist/types/mixins/OxyServices.identity.d.ts +0 -337
  453. package/dist/types/mixins/OxyServices.identityBackup.d.ts +0 -129
  454. package/dist/types/mixins/OxyServices.inference.d.ts +0 -95
  455. package/dist/types/mixins/OxyServices.language.d.ts +0 -87
  456. package/dist/types/mixins/OxyServices.linkedAccounts.d.ts +0 -107
  457. package/dist/types/mixins/OxyServices.location.d.ts +0 -70
  458. package/dist/types/mixins/OxyServices.nodes.d.ts +0 -198
  459. package/dist/types/mixins/OxyServices.notifications.d.ts +0 -143
  460. package/dist/types/mixins/OxyServices.payment.d.ts +0 -117
  461. package/dist/types/mixins/OxyServices.privacy.d.ts +0 -146
  462. package/dist/types/mixins/OxyServices.reputation.d.ts +0 -202
  463. package/dist/types/mixins/OxyServices.security.d.ts +0 -84
  464. package/dist/types/mixins/OxyServices.store.d.ts +0 -334
  465. package/dist/types/mixins/OxyServices.topics.d.ts +0 -110
  466. package/dist/types/mixins/OxyServices.user.d.ts +0 -600
  467. package/dist/types/mixins/OxyServices.utility.d.ts +0 -526
  468. package/dist/types/mixins/index.d.ts +0 -87
  469. package/dist/types/mixins/mixinHelpers.d.ts +0 -31
  470. package/dist/types/utils/webauthnOrigin.d.ts +0 -32
  471. package/src/OxyServices.base.ts +0 -480
  472. package/src/__tests__/authSocket.test.ts +0 -96
  473. package/src/__tests__/fixEsmImports.test.ts +0 -132
  474. package/src/__tests__/httpServiceAbort.test.ts +0 -308
  475. package/src/__tests__/httpServiceActivityId.test.ts +0 -49
  476. package/src/__tests__/httpServiceAuthSelfAwait.test.ts +0 -108
  477. package/src/__tests__/httpServiceCache.test.ts +0 -318
  478. package/src/__tests__/httpServiceFormEncoded.test.ts +0 -139
  479. package/src/__tests__/httpServiceQueueDeadlock.test.ts +0 -128
  480. package/src/__tests__/httpServiceRateLimitedRefresh.test.ts +0 -160
  481. package/src/__tests__/httpServiceUnwrapEnvelope.test.ts +0 -115
  482. package/src/__tests__/httpServiceWrites.test.ts +0 -175
  483. package/src/__tests__/inSessionRefresh.test.ts +0 -313
  484. package/src/__tests__/linkedClient.test.ts +0 -363
  485. package/src/__tests__/nearExpiryMintStorm.test.ts +0 -165
  486. package/src/__tests__/parseHttpErrorBody.test.ts +0 -116
  487. package/src/__tests__/publicInterfaceParity.test.ts +0 -75
  488. package/src/__tests__/serverValueImportsDeclared.test.ts +0 -120
  489. package/src/__tests__/serviceTokenWorkloadFallback.test.ts +0 -85
  490. package/src/__tests__/userIdentity.test.ts +0 -143
  491. package/src/boot/__tests__/sessionColdBoot.identity.test.ts +0 -393
  492. package/src/boot/__tests__/sessionColdBoot.sharedDevice.test.ts +0 -325
  493. package/src/boot/__tests__/sessionColdBoot.test.ts +0 -570
  494. package/src/crypto/__tests__/backupMaterial.test.ts +0 -86
  495. package/src/crypto/__tests__/cryptoPrimitives.test.ts +0 -226
  496. package/src/crypto/__tests__/identityLink.test.ts +0 -18
  497. package/src/crypto/__tests__/identityMocks.ts +0 -125
  498. package/src/crypto/__tests__/identityProof.test.ts +0 -81
  499. package/src/crypto/__tests__/keyManager.atomicity.test.ts +0 -272
  500. package/src/crypto/__tests__/keyManager.cacheSafety.test.ts +0 -175
  501. package/src/crypto/__tests__/keyManager.deviceBackup.test.ts +0 -310
  502. package/src/crypto/__tests__/keyManager.identityStatus.test.ts +0 -217
  503. package/src/crypto/__tests__/keyManager.recoveryLadder.test.ts +0 -179
  504. package/src/crypto/__tests__/keyManager.recoveryMnemonic.test.ts +0 -138
  505. package/src/crypto/__tests__/keyManager.sharedSlotSync.test.ts +0 -150
  506. package/src/crypto/__tests__/keyManager.storageMigration.test.ts +0 -227
  507. package/src/crypto/__tests__/keyManager.test.ts +0 -329
  508. package/src/crypto/__tests__/polyfill.test.ts +0 -109
  509. package/src/crypto/__tests__/polyfillOrder.test.ts +0 -114
  510. package/src/crypto/__tests__/recoveryPhrase.test.ts +0 -61
  511. package/src/crypto/__tests__/registrationPow.test.ts +0 -61
  512. package/src/crypto/__tests__/scopedSeed.test.ts +0 -126
  513. package/src/crypto/__tests__/signChallengeShared.test.ts +0 -63
  514. package/src/crypto/__tests__/signedRecord.test.ts +0 -230
  515. package/src/i18n/__tests__/accountCategoryLabels.test.ts +0 -62
  516. package/src/i18n/__tests__/accountRoleLabels.test.ts +0 -54
  517. package/src/i18n/__tests__/reputationCategoryLabels.test.ts +0 -56
  518. package/src/i18n/__tests__/trustTierLabels.test.ts +0 -47
  519. package/src/i18n/locales/de-DE.json +0 -306
  520. package/src/i18n/locales/es-ES.json +0 -2127
  521. package/src/i18n/locales/ja-JP.json +0 -306
  522. package/src/inference/__tests__/OxyInferenceClient.test.ts +0 -899
  523. package/src/logger/__tests__/logger.test.ts +0 -207
  524. package/src/mixins/OxyServices.accounts.ts +0 -1330
  525. package/src/mixins/OxyServices.agency.ts +0 -353
  526. package/src/mixins/OxyServices.analytics.ts +0 -53
  527. package/src/mixins/OxyServices.appData.ts +0 -158
  528. package/src/mixins/OxyServices.assets.ts +0 -964
  529. package/src/mixins/OxyServices.auth.ts +0 -2028
  530. package/src/mixins/OxyServices.chains.ts +0 -134
  531. package/src/mixins/OxyServices.civic.ts +0 -945
  532. package/src/mixins/OxyServices.connectedApps.ts +0 -212
  533. package/src/mixins/OxyServices.contacts.ts +0 -73
  534. package/src/mixins/OxyServices.devices.ts +0 -120
  535. package/src/mixins/OxyServices.features.ts +0 -454
  536. package/src/mixins/OxyServices.followGraph.ts +0 -293
  537. package/src/mixins/OxyServices.identity.ts +0 -787
  538. package/src/mixins/OxyServices.identityBackup.ts +0 -250
  539. package/src/mixins/OxyServices.inference.ts +0 -57
  540. package/src/mixins/OxyServices.language.ts +0 -144
  541. package/src/mixins/OxyServices.linkedAccounts.ts +0 -129
  542. package/src/mixins/OxyServices.location.ts +0 -46
  543. package/src/mixins/OxyServices.nodes.ts +0 -337
  544. package/src/mixins/OxyServices.notifications.ts +0 -142
  545. package/src/mixins/OxyServices.payment.ts +0 -163
  546. package/src/mixins/OxyServices.privacy.ts +0 -219
  547. package/src/mixins/OxyServices.reputation.ts +0 -436
  548. package/src/mixins/OxyServices.security.ts +0 -110
  549. package/src/mixins/OxyServices.store.ts +0 -585
  550. package/src/mixins/OxyServices.topics.ts +0 -169
  551. package/src/mixins/OxyServices.user.ts +0 -1208
  552. package/src/mixins/OxyServices.utility.ts +0 -1803
  553. package/src/mixins/__tests__/OxyServices.civic.test.ts +0 -1095
  554. package/src/mixins/__tests__/OxyServices.deviceBoot.test.ts +0 -124
  555. package/src/mixins/__tests__/OxyServices.identity.test.ts +0 -301
  556. package/src/mixins/__tests__/OxyServices.nodes.test.ts +0 -341
  557. package/src/mixins/__tests__/OxyServices.rotateKey.test.ts +0 -323
  558. package/src/mixins/__tests__/OxyServices.serviceAssetMetadata.test.ts +0 -192
  559. package/src/mixins/__tests__/OxyServices.serviceAssetMetadataBySha.test.ts +0 -135
  560. package/src/mixins/__tests__/OxyServices.serviceLinkedDownloadUrl.test.ts +0 -139
  561. package/src/mixins/__tests__/accountEvents.test.ts +0 -158
  562. package/src/mixins/__tests__/accounts.test.ts +0 -727
  563. package/src/mixins/__tests__/agency.test.ts +0 -120
  564. package/src/mixins/__tests__/appData.test.ts +0 -203
  565. package/src/mixins/__tests__/assetCredentials.test.ts +0 -47
  566. package/src/mixins/__tests__/assetUpload.test.ts +0 -191
  567. package/src/mixins/__tests__/authRefusalObservability.test.ts +0 -396
  568. package/src/mixins/__tests__/backgroundCredential.httpIntegration.test.ts +0 -130
  569. package/src/mixins/__tests__/chains.test.ts +0 -113
  570. package/src/mixins/__tests__/commonsSignIn.test.ts +0 -1147
  571. package/src/mixins/__tests__/connectedApps.test.ts +0 -146
  572. package/src/mixins/__tests__/deviceTokenMintPinned.test.ts +0 -113
  573. package/src/mixins/__tests__/discoveryErrorHandling.test.ts +0 -265
  574. package/src/mixins/__tests__/followCacheInvalidation.test.ts +0 -173
  575. package/src/mixins/__tests__/followGraph.test.ts +0 -147
  576. package/src/mixins/__tests__/followGraphPagination.test.ts +0 -271
  577. package/src/mixins/__tests__/getFileDownloadUrl.test.ts +0 -346
  578. package/src/mixins/__tests__/getFollowStatuses.test.ts +0 -95
  579. package/src/mixins/__tests__/getUsersByIds.test.ts +0 -176
  580. package/src/mixins/__tests__/identityBackup.test.ts +0 -315
  581. package/src/mixins/__tests__/identityLink.test.ts +0 -89
  582. package/src/mixins/__tests__/identityWriteCacheInvalidation.test.ts +0 -407
  583. package/src/mixins/__tests__/inferenceFactory.test.ts +0 -58
  584. package/src/mixins/__tests__/linkedAccounts.test.ts +0 -109
  585. package/src/mixins/__tests__/notifications.read.test.ts +0 -82
  586. package/src/mixins/__tests__/onTokensChanged.test.ts +0 -129
  587. package/src/mixins/__tests__/preSessionSkipAuth.test.ts +0 -284
  588. package/src/mixins/__tests__/privacyCacheInvalidation.test.ts +0 -155
  589. package/src/mixins/__tests__/reputation.test.ts +0 -522
  590. package/src/mixins/__tests__/serviceAuth.test.ts +0 -889
  591. package/src/mixins/__tests__/serviceTokenJwks.test.ts +0 -208
  592. package/src/mixins/__tests__/store.test.ts +0 -304
  593. package/src/mixins/__tests__/topics.test.ts +0 -155
  594. package/src/mixins/__tests__/userReadCacheBypass.test.ts +0 -129
  595. package/src/mixins/__tests__/userTokenAuth.test.ts +0 -746
  596. package/src/mixins/__tests__/verifyChallenge.test.ts +0 -161
  597. package/src/mixins/__tests__/verifyServiceActingAs.test.ts +0 -167
  598. package/src/mixins/__tests__/webauthnAuth.test.ts +0 -279
  599. package/src/mixins/index.ts +0 -203
  600. package/src/mixins/mixinHelpers.ts +0 -69
  601. package/src/server/__tests__/auth.test.ts +0 -78
  602. package/src/server/__tests__/capabilityTicket.test.ts +0 -111
  603. package/src/server/__tests__/cors.socket.test.ts +0 -225
  604. package/src/server/__tests__/cors.test.ts +0 -158
  605. package/src/server/__tests__/rateLimit.test.ts +0 -257
  606. package/src/server/__tests__/requesterAssertion.test.ts +0 -359
  607. package/src/server/__tests__/safeFetch.test.ts +0 -232
  608. package/src/server/__tests__/securityHeaders.test.ts +0 -387
  609. package/src/server/__tests__/serviceTokenAttribution.test.ts +0 -396
  610. package/src/server/__tests__/traffic.test.ts +0 -180
  611. package/src/server/__tests__/trafficNodeHttp.test.ts +0 -38
  612. package/src/server/__tests__/userInvalidation.test.ts +0 -203
  613. package/src/server/__tests__/verifySecret.test.ts +0 -40
  614. package/src/server/__tests__/workloadIdentity.client.test.ts +0 -16
  615. package/src/server/__tests__/workloadIdentity.test.ts +0 -128
  616. package/src/session/__tests__/SessionClient.additive.test.ts +0 -153
  617. package/src/session/__tests__/SessionClient.broadcastChannel.test.ts +0 -114
  618. package/src/session/__tests__/SessionClient.diagnostics.test.ts +0 -91
  619. package/src/session/__tests__/SessionClient.directory.test.ts +0 -688
  620. package/src/session/__tests__/SessionClient.httpIntegration.test.ts +0 -65
  621. package/src/session/__tests__/SessionClient.identityPin.test.ts +0 -175
  622. package/src/session/__tests__/SessionClient.rest.test.ts +0 -119
  623. package/src/session/__tests__/SessionClient.serverEvents.test.ts +0 -72
  624. package/src/session/__tests__/SessionClient.socket.test.ts +0 -202
  625. package/src/session/__tests__/SessionClient.socketFactory.test.ts +0 -81
  626. package/src/session/__tests__/SessionClient.state.test.ts +0 -78
  627. package/src/session/__tests__/SessionClient.switchTokenOrder.test.ts +0 -170
  628. package/src/session/__tests__/accountDelegationAccess.test.ts +0 -104
  629. package/src/session/__tests__/accountDialogController.test.ts +0 -2502
  630. package/src/session/__tests__/accountDialogShape.test.ts +0 -120
  631. package/src/session/__tests__/accountSwitchTargets.test.ts +0 -137
  632. package/src/session/__tests__/authStateStore.test.ts +0 -451
  633. package/src/session/__tests__/deviceDirectory.test.ts +0 -422
  634. package/src/session/__tests__/deviceSwitcherRows.test.ts +0 -223
  635. package/src/session/__tests__/identityPin.test.ts +0 -131
  636. package/src/session/__tests__/identitySession.test.ts +0 -194
  637. package/src/session/__tests__/projectSessionState.test.ts +0 -105
  638. package/src/session/__tests__/refresh.identityPin.test.ts +0 -307
  639. package/src/session/__tests__/refresh.test.ts +0 -606
  640. package/src/session/__tests__/sessionIntegration.test.ts +0 -209
  641. package/src/session/__tests__/sharedDeviceCredential.test.ts +0 -300
  642. package/src/utils/__tests__/accountUtils.test.ts +0 -151
  643. package/src/utils/__tests__/activityId.test.ts +0 -45
  644. package/src/utils/__tests__/asyncUtils.test.ts +0 -279
  645. package/src/utils/__tests__/authWebUrl.test.ts +0 -15
  646. package/src/utils/__tests__/cacheKey.test.ts +0 -0
  647. package/src/utils/__tests__/cacheLifecycle.test.ts +0 -65
  648. package/src/utils/__tests__/coldBoot.test.ts +0 -496
  649. package/src/utils/__tests__/commonsApproval.test.ts +0 -60
  650. package/src/utils/__tests__/identityCacheSweep.test.ts +0 -151
  651. package/src/utils/__tests__/languageUtils.test.ts +0 -244
  652. package/src/utils/__tests__/oauthPkce.test.ts +0 -303
  653. package/src/utils/__tests__/officialOrigins.test.ts +0 -31
  654. package/src/utils/__tests__/oxyServiceEnvironment.test.ts +0 -7
  655. package/src/utils/__tests__/profileLinks.test.ts +0 -180
  656. package/src/utils/__tests__/redactUrl.test.ts +0 -33
  657. package/src/utils/__tests__/registrableApex.test.ts +0 -62
  658. package/src/utils/__tests__/requestUtilsAbort.test.ts +0 -155
  659. package/src/utils/__tests__/textNormalization.test.ts +0 -205
  660. package/src/utils/__tests__/validationUtils.test.ts +0 -703
  661. package/src/utils/__tests__/webauthnOrigin.test.ts +0 -83
  662. package/src/utils/webauthnOrigin.ts +0 -52
package/src/index.ts CHANGED
@@ -1,68 +1,57 @@
1
1
  /**
2
- * @oxy.so/core — OxyHQ SDK Foundation
2
+ * @oxy.so/core — the Oxy SDK foundation.
3
3
  *
4
- * Platform-agnostic core providing API client, authentication,
5
- * cryptographic identity, and shared utilities.
6
- *
7
- * Works in Node.js, Browser, and React Native.
8
- *
9
- * @example
10
4
  * ```ts
11
- * import { OxyServices, oxyClient } from '@oxy.so/core';
5
+ * import { OxyServices } from '@oxy.so/core';
12
6
  *
13
- * const user = await oxyClient.getCurrentUser();
7
+ * const oxy = new OxyServices({ baseURL: 'https://api.oxy.so' });
8
+ * const me = await oxy.users.me();
14
9
  * ```
15
10
  *
11
+ * The root entry is the API client and what it needs; heavier pieces have their
12
+ * own entries so an app ships only what it uses:
13
+ * - `@oxy.so/core/session` — device-first sessions, the account dialog, cold boot
14
+ * - `@oxy.so/core/crypto` — the self-custody identity (keys, recovery phrase)
15
+ * - `@oxy.so/core/civic` — Oxy ID QR payloads
16
+ * - `@oxy.so/core/inference` — the inference client
17
+ * - `@oxy.so/core/server` — `OxyServer`: service tokens and middleware
18
+ *
16
19
  * Every export below is NOMINAL — no `export *`, no barrels, no compat shims.
17
20
  * If a symbol does not appear here, it is NOT part of the public API.
18
21
  */
19
22
 
20
- // Ensure crypto polyfills are loaded before anything else. This MUST stay the
21
- // first import: `@noble/hashes` captures `globalThis.crypto` when it is
22
- // evaluated, so the shim has to exist before any module below reaches it (see
23
- // the evaluation-order note in `./crypto/polyfill`).
23
+ // The crypto shim MUST stay the first import. The root itself ships no crypto
24
+ // library (`__tests__/rootEntryGraph.test.ts`), but `@oxy.so/protocol`'s root
25
+ // entry (reached by the OAuth/PKCE and device helpers) does, and Metro does not
26
+ // tree-shake: on Hermes, `@noble/hashes` would capture an absent
27
+ // `globalThis.crypto` at evaluation. See the note in `./crypto/polyfill`.
24
28
  import './crypto/polyfill';
25
29
 
26
30
  // ---------------------------------------------------------------------------
27
31
  // API client
28
32
  // ---------------------------------------------------------------------------
29
- export { OxyServices, AssetUrlResolutionError, OxyAuthenticationError, OxyAuthenticationTimeoutError, ServiceAssetMetadataError } from './OxyServices';
30
- export { OXY_CLOUD_URL, oxyClient } from './OxyServices';
31
- export type { LinkedHttpClient } from './OxyServices.base';
32
- // Auth-refresh handler surface — consumed by `@oxy.so/services`'s OxyContext to
33
- // install an in-session access-token refresh handler on the owner HttpService
34
- // (the linked-client refresh path delegates back to it).
35
- export type {
36
- AuthenticatedResponseRequest,
37
- AuthRefreshReason,
38
- AuthRefreshHandler,
39
- } from './HttpService';
40
-
41
- // ---------------------------------------------------------------------------
42
- // Authentication
43
- // ---------------------------------------------------------------------------
44
- export {
45
- ServiceCredentialMismatchError,
46
- } from './mixins/OxyServices.auth';
33
+ export { OxyServices, OXY_API_URL, OXY_CLOUD_URL } from './OxyServices';
34
+ export type { OxyConfig, LinkedHttpClient } from './OxyServices';
47
35
  export {
48
- getCommonsApprovalBlockingReason,
49
- parseCommonsApprovalExpiresAt,
50
- } from './utils/commonsApproval';
51
- // Automatic "Sign in with Oxy" delivery selection — ONE pure decision that maps
52
- // the caller's facts onto exactly one primary route (open Commons / await push / QR).
53
- export { selectCommonsDelivery, pushTargetsFromDelivery, commonsDeliveryPlatform } from './utils/commonsDelivery';
54
- export type {
55
- CommonsDeliveryFacts,
56
- CommonsDeliveryPlatform,
57
- CommonsDeliveryRoute,
58
- } from './utils/commonsDelivery';
36
+ OxyApiError,
37
+ OxyAuthenticationError,
38
+ OxyAuthenticationTimeoutError,
39
+ AssetUrlResolutionError,
40
+ ServiceAssetMetadataError,
41
+ } from './OxyServices.errors';
42
+ export type { HttpMethod } from './client/context';
43
+ export type { RequestOptions, AuthenticatedResponseRequest, AuthRefreshReason, AuthRefreshHandler } from './HttpService';
44
+
45
+ // The namespaces — their classes (for typing) and their input/output types.
46
+ export type { SessionApi, DeviceCredentialProvider, SessionValidation } from './api/session';
59
47
  export type {
60
- ServiceTokenResponse,
48
+ AuthApi,
49
+ ChallengeResponse,
50
+ RegistrationRequest,
51
+ ChallengeVerifyRequest,
52
+ PublicKeyCheckResponse,
61
53
  OAuthUserInfoResponse,
62
54
  OAuthTokenExchangeResult,
63
- } from './mixins/OxyServices.auth';
64
- // "Sign in with Oxy" — handoff (Workstream C)
65
- export type {
66
55
  CommonsSignInHandle,
67
56
  CommonsSignInStatus,
68
57
  CommonsSignInPurpose,
@@ -72,109 +61,51 @@ export type {
72
61
  CommonsSignInActionResult,
73
62
  CommonsOAuthFinalizeResult,
74
63
  CommonsDeliveryResult,
75
- } from './mixins/OxyServices.auth';
76
- // `denyCommonsSignIn`'s reason parameter is typed by `CommonsDenyReason`, which
77
- // is a WIRE contract shared with the API (the request schema of
78
- // `POST /auth/session/deny/:authorizeCode` and the persisted
79
- // `AuthSession.deniedReason` enum read the same declaration). It lives in
80
- // `@oxy.so/contracts` and is NOT re-exported here: consumers import API contract
81
- // types directly from `@oxy.so/contracts`, per the package boundary rule.
82
- // Push-token registration (Expo push tokens — never raw APNs/FCM device tokens).
83
- export type {
84
- PushTokenPlatform,
85
- RegisterPushTokenInput,
86
- } from './mixins/OxyServices.notifications';
87
- export type { ServiceApp, ServiceActingAsVerification, OxyAuthRefusal } from './mixins/OxyServices.utility';
88
- export type {
89
- OxyAccountEvent,
90
- OxyAccountEventFeedItem,
91
- OxyAccountEventFeedPage,
92
- VerifyAccountEventOptions,
93
- } from './mixins/OxyServices.utility';
94
- export { OxyAccountEventError, OXY_ACCOUNT_DELETED_EVENT_URI } from './mixins/OxyServices.utility';
95
- export type {
96
- ContactDiscoveryMatch,
97
- ContactDiscoveryResponse,
98
- } from './mixins/OxyServices.contacts';
64
+ SignInDeviceOptions,
65
+ ClaimedSession,
66
+ } from './api/auth';
67
+ export type { UsersApi, ResolveExternalUserInput, DeleteAccountProof } from './api/users';
99
68
  export type {
69
+ FollowsApi,
70
+ FollowMutationResult,
100
71
  BulkFollowEntry,
101
72
  BulkFollowResult,
102
73
  BulkUnfollowEntry,
103
74
  BulkUnfollowResult,
104
- FollowMutationResult,
105
75
  ViewerGraph,
106
- } from './mixins/OxyServices.user';
107
- export { OxyAppDataIdentifierError } from './mixins/OxyServices.appData';
108
-
109
- // ---------------------------------------------------------------------------
110
- // User identity and handles
111
- // ---------------------------------------------------------------------------
112
- export {
113
- getNormalizedUserId,
114
- normalizeUserIdentity,
115
- normalizeUserIdentityOrNull,
116
- } from './utils/userIdentity';
117
- export {
118
- getCanonicalUserHandle,
119
- getNormalizedUserHandle,
120
- } from './utils/userHandle';
121
- export type { CanonicalUserHandleInput, UserHandleInput } from './utils/userHandle';
122
- export { normalizeProfileLinks } from './utils/profileLinks';
123
- export type { ProfileLink, ProfileLinkMetadata } from './utils/profileLinks';
124
-
125
- // ---------------------------------------------------------------------------
126
- // Connected apps (OAuth consent: public app identity + authorized-app grants)
127
- // ---------------------------------------------------------------------------
76
+ EnsureFollowTargetInput,
77
+ RegisterFollowKindInput,
78
+ } from './api/follows';
79
+ export type { PrivacyApi } from './api/privacy';
80
+ export type { NotificationsApi, PushTokenPlatform, RegisterPushTokenInput } from './api/notifications';
81
+ export { assetUrlCacheTTL } from './api/assets';
128
82
  export type {
129
- PublicApplication,
130
- ConnectedApp,
131
- ConnectedMcpClient,
132
- } from './mixins/OxyServices.connectedApps';
133
-
134
- // ---------------------------------------------------------------------------
135
- // Native Alia and digital-agent authority
136
- // ---------------------------------------------------------------------------
137
- export type {
138
- AccountCapabilityPolicy,
139
- AvailableCapabilityCatalog,
140
- CapabilityExecutionAuthorization,
141
- CreateDelegationGrantInput,
142
- DelegationCatalogBinding,
143
- DelegationGrantView,
144
- PutAccountCapabilityPolicyInput,
145
- RequesterAssertionGrant,
146
- RequesterAssertionIntrospection,
147
- UpdateDelegationGrantInput,
148
- } from './mixins/OxyServices.agency';
149
-
150
- // ---------------------------------------------------------------------------
151
- // App store (public storefront + reviews + the listing a publisher edits)
152
- // ---------------------------------------------------------------------------
83
+ AssetsApi,
84
+ AssetRecord,
85
+ UploadedAsset,
86
+ AssetLinkState,
87
+ AssetUploadOptions,
88
+ AssetLinkTarget,
89
+ AssetDeleteResult,
90
+ } from './api/assets';
91
+ export { buildUserDid } from './api/identity';
153
92
  export type {
154
- StoreCategory,
155
- StoreRating,
156
- StoreListingSummary,
157
- StoreListingDetail,
158
- StoreScreenshot,
159
- StoreScreenshotPlatform,
160
- StoreReview,
161
- StoreOwnReview,
162
- WriteStoreReviewInput,
163
- StoreListingStatus,
164
- PublisherListing,
165
- WriteListingInput,
166
- AddScreenshotInput,
167
- UpdateScreenshotInput,
168
- StorePage,
169
- StorePageOptions,
170
- StoreReviewsOptions,
171
- } from './mixins/OxyServices.store';
172
-
173
- // ---------------------------------------------------------------------------
174
- // Accounts (unified account graph: tree, membership, roles, bot credentials)
175
- // plus the applications owned within it (Application = OAuth client).
176
- // ---------------------------------------------------------------------------
93
+ IdentityApi,
94
+ VerifyDomainResult,
95
+ RemoveDomainResult,
96
+ RotateKeyProof,
97
+ RotateKeyOptions,
98
+ RotateKeyResult,
99
+ } from './api/identity';
100
+ export {
101
+ ACCOUNT_CATEGORY_IDS,
102
+ MAX_ACCOUNT_CATEGORIES,
103
+ SELECTABLE_ACCOUNT_CATEGORY_IDS,
104
+ isSelectableAccountCategoryId,
105
+ kindAcceptsAccountCategories,
106
+ } from './api/accounts';
177
107
  export type {
108
+ AccountsApi,
178
109
  AccountKind,
179
110
  AccountCategoryId,
180
111
  AccountRelationship,
@@ -186,15 +117,14 @@ export type {
186
117
  ListAccountsOptions,
187
118
  CreateAccountInput,
188
119
  UpdateAccountInput,
189
- ProvisionChannelInput,
190
- ProvisionChannelMemberInput,
191
- ProvisionChannelResult,
192
120
  InviteAccountMemberInput,
193
121
  UpdateAccountMemberInput,
194
122
  TransferAccountOwnershipInput,
195
123
  AccountSuccessResult,
196
124
  SwitchAccountResult,
197
- // Applications owned within the account graph (Application = OAuth client).
125
+ } from './api/accounts';
126
+ export type {
127
+ AppsApi,
198
128
  Application,
199
129
  ApplicationType,
200
130
  ApplicationStatus,
@@ -213,76 +143,108 @@ export type {
213
143
  ApplicationUsageByDay,
214
144
  ApplicationUsageByEndpoint,
215
145
  ApplicationUsageStats,
216
- } from './mixins/OxyServices.accounts';
217
-
218
- export {
219
- ACCOUNT_CATEGORY_IDS,
220
- MAX_ACCOUNT_CATEGORIES,
221
- SELECTABLE_ACCOUNT_CATEGORY_IDS,
222
- isSelectableAccountCategoryId,
223
- kindAcceptsAccountCategories,
224
- } from './mixins/OxyServices.accounts';
225
-
226
- // ---------------------------------------------------------------------------
227
- // Reputation (Oxy Trust: ledger, balances, disputes, rules, influence).
228
- // The whole type family — the closed value sets, the two balance views and the
229
- // `isFullReputationBalance` narrowing guard, the ledger/dispute/rule/leaderboard
230
- // shapes, and the write-endpoint inputs — is owned by `@oxy.so/contracts`, which
231
- // the API's serializers are validated against. Import them from there.
232
- // ---------------------------------------------------------------------------
233
-
234
- // ---------------------------------------------------------------------------
235
- // Self-sovereign identity (DID, signed records, auth-method ↔ VM mapping,
236
- // verified domains). Wire shapes (DidDocument, SignedRecordEnvelope,
237
- // AuthMethodsResponse, VerifiedDomain, DomainVerificationInstructions,
238
- // ExportBundle) live in `@oxy.so/contracts` — import them directly from there.
239
- // ---------------------------------------------------------------------------
240
- export { buildUserDid } from './mixins/OxyServices.identity';
146
+ PublicApplication,
147
+ ConnectedApp,
148
+ ConnectedMcpClient,
149
+ } from './api/apps';
150
+ export type { LinkedAccountsApi } from './api/linkedAccounts';
241
151
  export type {
242
- IdentityRecordType,
243
- LinkAuthMethodResult,
244
- PublishRecordResult,
245
- VerifyRecordResult,
246
- VerifyDomainResult,
247
- RemoveDomainResult,
248
- RotateKeyProof,
249
- RotateKeyOptions,
250
- RotateKeyResult,
251
- } from './mixins/OxyServices.identity';
252
-
253
- // ---------------------------------------------------------------------------
254
- // Civic / Commons "Oxy ID" (public signed cards + Oxy ID QR payload) and Fase 2
255
- // anti-gaming (real-life attestation QR + validator/jury). Wire shapes
256
- // (PublicCard, SignedPublicCard, RealLifeAttestationResult,
257
- // ValidationRequestSummary, ValidationVoteResult, ValidationVerdict, …) live in
258
- // `@oxy.so/contracts` — import them from there. The SDK adds the client verdict
259
- // wrapper, the QR payload parsers/builders, and the submit inputs/results.
260
- // ---------------------------------------------------------------------------
261
- export {
262
- parseIdPayload,
263
- parseAttestPayload,
264
- verifyPublicCardAttestation,
265
- } from './mixins/OxyServices.civic';
152
+ AgencyApi,
153
+ AccountCapabilityPolicy,
154
+ AvailableCapabilityCatalog,
155
+ CapabilityExecutionAuthorization,
156
+ CreateDelegationGrantInput,
157
+ DelegationCatalogBinding,
158
+ DelegationGrantView,
159
+ PutAccountCapabilityPolicyInput,
160
+ RequesterAssertionGrant,
161
+ RequesterAssertionIntrospection,
162
+ UpdateDelegationGrantInput,
163
+ } from './api/agency';
164
+ export type {
165
+ StoreApi,
166
+ StoreCategory,
167
+ StoreRating,
168
+ StoreListingSummary,
169
+ StoreListingDetail,
170
+ StoreScreenshot,
171
+ StoreScreenshotPlatform,
172
+ StoreReview,
173
+ StoreOwnReview,
174
+ WriteStoreReviewInput,
175
+ StoreListingStatus,
176
+ PublisherListing,
177
+ WriteListingInput,
178
+ AddScreenshotInput,
179
+ UpdateScreenshotInput,
180
+ StorePage,
181
+ StorePageOptions,
182
+ StoreReviewsOptions,
183
+ } from './api/store';
266
184
  export type {
185
+ BillingApi,
186
+ SubscriptionPlan,
187
+ SubscriptionStatus,
188
+ SubscriptionFeatures,
189
+ Subscription,
190
+ Payment,
191
+ WalletTransactionType,
192
+ WalletTransactionStatus,
193
+ WalletTransaction,
194
+ WalletPagination,
195
+ WalletTransactionsPage,
196
+ } from './api/billing';
197
+ export { REPUTATION_CACHE_PREFIX } from './api/reputation';
198
+ export type { ReputationApi, ReputationPage } from './api/reputation';
199
+ export type {
200
+ CivicApi,
267
201
  CivicCardResult,
268
- IdCardRef,
269
- AttestQrPayload,
270
- ParsedAttestPayload,
271
202
  SubmitRealLifeAttestationInput,
272
203
  DenyValidationResult,
273
204
  VouchForPersonInput,
274
205
  WithdrawVouchResult,
275
206
  IssueCredentialInput,
276
207
  RevokeCredentialResult,
277
- } from './mixins/OxyServices.civic';
278
- export type { UserNodeStatus, UserNodeMode, UserNodeController, UserNodeLivenessStatus, RegisterNodeInput, RemoveNodeResult } from './mixins/OxyServices.nodes';
208
+ } from './api/civic';
209
+ export type { NodesApi, UserNodeStatus, UserNodeMode, UserNodeController, UserNodeLivenessStatus, RegisterNodeInput, RemoveNodeResult } from './api/nodes';
210
+ export { AccountNotOnDeviceError } from './api/devices';
211
+ export type { DevicesApi, UserDevice, SecurityInfo } from './api/devices';
212
+ export type { TopicsApi, TopicListOptions } from './api/topics';
213
+ export { OxyAppDataIdentifierError } from './api/appData';
214
+ export type { AppDataApi } from './api/appData';
215
+ export type { ContactsApi, ContactDiscoveryMatch, ContactDiscoveryResponse } from './api/contacts';
279
216
 
280
- /**
281
- * Chains — the shared per-person record log. `ChainRecord` is generic over the
282
- * app's own lexicon payload, so a consumer types its records without Oxy
283
- * knowing any app's schema.
284
- */
285
- export type { ChainRecord, ChainRecordPage, AppendedChainRecord } from './mixins/OxyServices.chains';
217
+ // ---------------------------------------------------------------------------
218
+ // "Sign in with Oxy" delivery helpers
219
+ // ---------------------------------------------------------------------------
220
+ export {
221
+ getCommonsApprovalBlockingReason,
222
+ parseCommonsApprovalExpiresAt,
223
+ } from './utils/commonsApproval';
224
+ // Automatic "Sign in with Oxy" delivery selection — ONE pure decision that maps
225
+ // the caller's facts onto exactly one primary route (open Commons / await push / QR).
226
+ export { selectCommonsDelivery, pushTargetsFromDelivery, commonsDeliveryPlatform } from './utils/commonsDelivery';
227
+ export type {
228
+ CommonsDeliveryFacts,
229
+ CommonsDeliveryPlatform,
230
+ CommonsDeliveryRoute,
231
+ } from './utils/commonsDelivery';
232
+
233
+ // ---------------------------------------------------------------------------
234
+ // User identity and handles
235
+ // ---------------------------------------------------------------------------
236
+ export {
237
+ getNormalizedUserId,
238
+ normalizeUserIdentity,
239
+ normalizeUserIdentityOrNull,
240
+ } from './utils/userIdentity';
241
+ export {
242
+ getCanonicalUserHandle,
243
+ getNormalizedUserHandle,
244
+ } from './utils/userHandle';
245
+ export type { CanonicalUserHandleInput, UserHandleInput } from './utils/userHandle';
246
+ export { normalizeProfileLinks } from './utils/profileLinks';
247
+ export type { ProfileLink, ProfileLinkMetadata } from './utils/profileLinks';
286
248
 
287
249
  // ---------------------------------------------------------------------------
288
250
  // Auth helpers (token refresh, error normalisation, retry policies)
@@ -312,55 +274,10 @@ export type {
312
274
  SessionLoginResponse,
313
275
  } from './models/session';
314
276
 
315
- // ---------------------------------------------------------------------------
316
- // Crypto / identity
317
- // ---------------------------------------------------------------------------
318
- export {
319
- KeyManager,
320
- IdentityAlreadyExistsError,
321
- IdentityPersistError,
322
- IdentityUnavailableError,
323
- } from './crypto/keyManager';
324
- export type { KeyPair, IdentityStatus, IdentityRecoveryResult } from './crypto/keyManager';
325
- export {
326
- readIdentityMarker,
327
- updateIdentityMarker,
328
- } from './crypto/identityMarker';
329
- export type { IdentityMarker } from './crypto/identityMarker';
330
- export type { IdentityDeviceBackupStore } from './crypto/deviceBackup';
331
- export { SignatureService } from './crypto/signatureService';
332
- export type { SignedMessage, AuthChallenge } from './crypto/signatureService';
333
- export { RecoveryPhraseService } from './crypto/recoveryPhrase';
334
- export type { RecoveryPhraseResult, PendingIdentityResult, BackupMaterial } from './crypto/recoveryPhrase';
335
-
336
- // Low-level crypto primitives (b3 Phase 0 — encrypted backup + device transfer)
337
- export { hkdfSha256 } from './crypto/kdf';
338
- export {
339
- encryptAead,
340
- decryptAead,
341
- AEAD_KEY_LENGTH,
342
- AEAD_NONCE_LENGTH,
343
- } from './crypto/aead';
344
- export type { AeadResult } from './crypto/aead';
345
- export { deriveSharedSecret } from './crypto/ecdh';
346
-
347
- // Identity proofs — the one signed format for operations on a personal root
348
- // (docs/adr/0024-one-oxy-account-root-holders.md D7)
349
- export { digestIdentityPayload, signIdentityProof } from './crypto/identityProof';
350
- // Linking Commons to a passkey account: the code both screens compare (ADR 0029 D3)
351
- export { deriveIdentityLinkCode } from './crypto/identityLink';
352
-
353
- // ---------------------------------------------------------------------------
354
- // Devices
355
- // ---------------------------------------------------------------------------
356
- export { DeviceManager } from './utils/deviceManager';
357
- export type { DeviceFingerprint, StoredDeviceInfo } from './utils/deviceManager';
358
-
359
277
  // ---------------------------------------------------------------------------
360
278
  // Domain models / wire types
361
279
  // ---------------------------------------------------------------------------
362
280
  export type {
363
- OxyConfig,
364
281
  PrivacySettings,
365
282
  NotificationPreferences,
366
283
  UserPreferences,
@@ -516,7 +433,7 @@ export type { CircuitBreakerState, CircuitBreakerConfig } from './shared/utils/n
516
433
  // ---------------------------------------------------------------------------
517
434
  // i18n
518
435
  // ---------------------------------------------------------------------------
519
- export { translate } from './i18n';
436
+ export { translate, loadLocale, isLocaleLoaded, subscribeLocales, getLocalesVersion } from './i18n';
520
437
  export { accountCategoryLabel } from './i18n/accountCategoryLabels';
521
438
  export { accountRoleLabel } from './i18n/accountRoleLabels';
522
439
  export { reputationCategoryLabel } from './i18n/reputationCategoryLabels';
@@ -631,31 +548,11 @@ export {
631
548
  } from './utils/accountUtils';
632
549
  export type { QuickAccount, DisplayNameUserShape } from './utils/accountUtils';
633
550
 
634
- // ---------------------------------------------------------------------------
635
- // Registrable-domain + central-IdP-apex helpers.
636
- //
637
- // `registrableApex` (eTLD+1) is consumed via the `@oxy.so/core/server`
638
- // re-export by `packages/api/src/utils/sameSite.ts` for same-site origin
639
- // checks; `CENTRAL_IDP_APEX` by `server/cors.ts`'s `createOxyCors` (auto-allows
640
- // `*.oxy.so`).
641
- // ---------------------------------------------------------------------------
642
- export { registrableApex } from './utils/registrableApex';
551
+ // The central IdP apex (`CENTRAL_IDP_APEX`, auto-allowed by `createOxyCors`)
552
+ // and the auth web origin. `registrableApex` / the official-origin checks
553
+ // (which ship the public-suffix list) are in `@oxy.so/core/server`.
643
554
  export { AUTH_WEB_ORIGIN, CENTRAL_IDP_APEX } from './utils/authWebUrl';
644
555
 
645
- // WebAuthn relying-party origin guard (client side). Mirrors the server's
646
- // `isOxyApexOrigin` so consumers can decide whether to offer passkey UI on the
647
- // current page (first-party Oxy origin / loopback only).
648
- export { isOxyRpOrigin } from './utils/webauthnOrigin';
649
-
650
- export { runColdBoot } from './utils/coldBoot';
651
- export type {
652
- ColdBootStep,
653
- ColdBootStepResult,
654
- ColdBootSession,
655
- ColdBootSkip,
656
- ColdBootOutcome,
657
- RunColdBootOptions,
658
- } from './utils/coldBoot';
659
556
 
660
557
  // ---------------------------------------------------------------------------
661
558
  // OAuth 2.0 Authorization Code + PKCE helpers ("Sign in with Oxy" third party).
@@ -682,235 +579,7 @@ export {
682
579
  } from './utils/oauthPkce';
683
580
  export type { PkcePair, BuildOAuthAuthorizeUrlParams, OxyAuthScreen } from './utils/oauthPkce';
684
581
 
685
- export {
686
- isLoopbackOrigin,
687
- isOfficialWebOrigin,
688
- isAllowedDeviceJoinOrigin,
689
- } from './utils/officialOrigins';
690
-
691
- // ---------------------------------------------------------------------------
692
- // Session sync (device-scoped multi-account session client)
693
- // ---------------------------------------------------------------------------
694
- export { SessionClient } from './session/SessionClient';
695
- export type { TokenTransport, SessionClientHost, SessionClientOptions, DeviceCredential, SessionStateOrigin } from './session/SessionClient';
696
- // Injectable for tests/specialized hosts; ordinary consumers use core's lazy
697
- // transport and do not pull socket.io-client into their initial module graph.
698
- export type { SocketIOFactory, MinimalSocket } from './session/socketLoader';
699
-
700
- // Shared SessionClient integration layer: the host adapter, the pure
701
- // DeviceSessionState projection helpers, and the client factory are defined
702
- // ONCE here so every `@oxy.so/services` platform variant reuses them instead of
703
- // duplicating a local copy. Each consumer supplies its own `TokenTransport`
704
- // (native vs. web mint strategies differ) to `createSessionClient`.
705
- export { createSessionClientHost } from './session/sessionClientHost';
706
- export { createSessionClient } from './session/createSessionClient';
707
- export {
708
- deviceStateToClientSessions,
709
- activeSessionIdOf,
710
- activeUserOf,
711
- accountIdsOf,
712
- } from './session/projectSessionState';
713
-
714
- // Pure projections over the device DIRECTORY (`GET /session/device/directory`,
715
- // ADR 0002) — the read model that keeps the actor (the human who authenticated)
716
- // and the subject (the account being acted as) apart. The flat
717
- // `DeviceSessionState` collapses them into one row, so it can neither tell
718
- // "signed in as an org" from "a person operating that org" nor hold two people
719
- // reaching the same org on one device.
720
- // `canActivateContext` is the switchability question — `available` alone, never
721
- // composed with `onDevice`, which is a different fact in both directions.
722
- // `projectDevicePrincipals` is the switcher's shape: people, each with what
723
- // they may become. Grouped rather than flat because the same organization
724
- // reached through two people is TWO rows under two humans, which a list keyed
725
- // by account cannot say.
726
- export {
727
- canActivateContext,
728
- directoryDisplayName,
729
- directoryHandle,
730
- projectDevicePrincipals,
731
- resolveActiveContext,
732
- resolveDeviceContext,
733
- } from './session/deviceDirectory';
734
- export type {
735
- DeviceContext,
736
- DeviceContextActor,
737
- DeviceContextSubject,
738
- DevicePrincipalGroup,
739
- } from './session/deviceDirectory';
740
-
741
- // The switcher's RENDER model over that projection — names, handles and avatar
742
- // URLs resolved once. Shared by `@oxy.so/services`' account dialog and the
743
- // auth.oxy.so chooser so the two cannot drift, the same reason the flat
744
- // projection lived here before it.
745
- export { buildSwitcherRows, showsPrincipalHeaders } from './session/deviceSwitcherRows';
746
- export type {
747
- ResolveAvatarUrl,
748
- SwitcherContextRow,
749
- SwitcherPrincipalRow,
750
- } from './session/deviceSwitcherRows';
751
-
752
- // The switch-target predicates over the account GRAPH — a list of accounts to
753
- // manage, not the device's list of identities to become (that is the directory
754
- // above). `isSwitchTargetAccount` is the structural half ("is this kind
755
- // switchable at all?"); `canSwitchIntoAccount` adds the caller's
756
- // `account:act_as` permission. Exported so the surfaces that render
757
- // `AccountNode`s — the Console workspace switcher, managed-accounts rows — ask
758
- // the SAME questions instead of testing a kind literal.
759
- export {
760
- isSwitchTargetAccount,
761
- canSwitchIntoAccount,
762
- } from './session/accountSwitchTargets';
763
-
764
- // The service/agent counterpart to the human switch predicates above. Kept on
765
- // its own semantic seam because `bot` is delegable but never human-switchable.
766
- export { resolveAccountDelegationAccess } from './session/accountDelegationAccess';
767
- export type {
768
- AccountDelegationAccess,
769
- AccountDelegationNode,
770
- } from './session/accountDelegationAccess';
771
-
772
- // Headless controller for the unified account dialog. Framework-agnostic
773
- // state machine + subscribe/getSnapshot store (bind via `useSyncExternalStore`)
774
- // — sign-in is passkey (WebAuthn) or the Commons QR / shared-keychain handoff;
775
- // password, social login, and 2FA were removed ecosystem-wide. Reuses
776
- // `SessionClient.switchAccount` / `oxyServices.switchToAccount` for the uniform
777
- // switch and the existing device-flow methods for sign-in.
778
- export {
779
- AccountDialogController,
780
- createAccountDialogController,
781
- } from './session/accountDialogController';
782
- export type {
783
- AccountDialogControllerOptions,
784
- AccountDialogSnapshot,
785
- AccountDialogView,
786
- CommonsAvailability,
787
- ContextChoiceOutcome,
788
- SignInFailureReason,
789
- SignInFlowPhase,
790
- SignInFlowState,
791
- SignInProgress,
792
- } from './session/accountDialogController';
793
-
794
- // ---------------------------------------------------------------------------
795
- // Device-first session machinery (zero-cookie transport).
796
- // Persisted auth-state store, the unified re-mint handler + scheduler, and the
797
- // cold-boot runner. Built ON the `runColdBoot` primitive + `SessionClient`. The
798
- // device credential is `deviceId` + `deviceSecret`; the access token is re-minted
799
- // via `POST /session/device/token`.
800
- // ---------------------------------------------------------------------------
801
- export {
802
- createWebAuthStateStore,
803
- createNativeAuthStateStore,
804
- createMemoryAuthStateStore,
805
- AUTH_STATE_STORAGE_KEY,
806
- } from './session/authStateStore';
807
- export type {
808
- PersistedAuthState,
809
- AuthStateStore,
810
- NativeKeyValueStorage,
811
- } from './session/authStateStore';
812
-
813
- // The shared NATIVE DeviceSession credential — how several official apps on one
814
- // device end up on ONE `DeviceSession` and therefore one active context. It is an
815
- // ordinary rotatable/revocable `deviceId` + `deviceSecret`, deliberately NOT the
816
- // Commons private identity key: an app that only needs a session must never be
817
- // handed the key that signs identity approvals.
818
- export {
819
- createSharedMirroringAuthStateStore,
820
- decideSharedDeviceJoin,
821
- decideSharedDevicePublish,
822
- normalizeSharedDeviceSessionRead,
823
- publishProvenDeviceCredential,
824
- readLocalDeviceCredential,
825
- } from './session/sharedDeviceCredential';
826
- export type {
827
- SharedDeviceCredential,
828
- SharedDeviceCredentialRead,
829
- SharedDeviceCredentialStore,
830
- SharedDeviceJoinDecision,
831
- SharedDeviceJoinSkipReason,
832
- SharedDevicePublishDecision,
833
- SharedDevicePublishOutcome,
834
- SharedDevicePublishSkipReason,
835
- } from './session/sharedDeviceCredential';
836
-
837
- // Identity-bound sessions (the identity vault). The pin is the durable
838
- // `{publicKey, accountId}` binding between this device's PRIMARY identity key
839
- // and the account it authenticates as; it is what keeps such a client from
840
- // following the device's mutable `activeAccountId`.
841
- export {
842
- createWebIdentityPinStore,
843
- createNativeIdentityPinStore,
844
- createMemoryIdentityPinStore,
845
- identityPinMatches,
846
- IDENTITY_PIN_STORAGE_KEY,
847
- } from './session/identityPin';
848
- export type { IdentityPin, IdentityPinStore } from './session/identityPin';
849
- export {
850
- resolveIdentityPin,
851
- establishIdentitySession,
852
- } from './session/identitySession';
853
- export type {
854
- IdentityBinding,
855
- IdentityRequestOptions,
856
- EstablishedIdentitySession,
857
- } from './session/identitySession';
858
- // The typed `401 account_not_on_device` from a PINNED device-secret mint: the
859
- // pinned account left this device's session set, so the caller re-establishes
860
- // the identity session instead of dropping a healthy device credential.
861
- export { AccountNotOnDeviceError } from './mixins/OxyServices.deviceBoot';
862
-
863
- export {
864
- refreshPersistedSession,
865
- refreshDeviceSecretArm,
866
- createAuthRefreshHandler,
867
- installAuthRefreshHandler,
868
- startTokenRefreshScheduler,
869
- TOKEN_REFRESH_LEAD_MS,
870
- } from './session/refresh';
871
- export type { RefreshDeps, TokenRefreshSchedulerHandle, DeviceSecretMintOutcome } from './session/refresh';
872
-
873
- // The inference API. `oxyServices.inference()` binds the session bearer into
874
- // the same client an external developer constructs with an `oxy_sk_…` machine
875
- // key — one surface, two credential lanes. See `docs/inference/sdk.md`.
876
- export {
877
- OxyInferenceClient,
878
- OxyInferenceError,
879
- OxyInferenceProtocolError,
880
- OXY_INFERENCE_BASE_URL,
881
- } from './inference/OxyInferenceClient';
882
- export type {
883
- OxyInferenceClientOptions,
884
- OxyInferenceCredential,
885
- OxyInferenceFetch,
886
- OxyInferenceRequestOptions,
887
- OxyInferenceResponse,
888
- OxyGenerationReceipt,
889
- OxyResponsesRequest,
890
- OxySpeechRequest,
891
- OxySpeechResponse,
892
- } from './inference/OxyInferenceClient';
893
-
894
- export { runSessionColdBoot } from './boot/sessionColdBoot';
895
- export type {
896
- RunSessionColdBootOptions,
897
- SessionMode,
898
- SignedOutReason,
899
- DeviceBootSession,
900
- } from './boot/sessionColdBoot';
901
-
902
- // API response contracts (request/response Zod schemas + inferred types) live in
903
- // `@oxy.so/contracts` — the single source of truth shared by the backend and every
904
- // client SDK. Import them directly from `@oxy.so/contracts`; `@oxy.so/core` does NOT
905
- // re-export them (no barrel re-exports — clean imports from the owning package).
906
-
907
582
  // ---------------------------------------------------------------------------
908
583
  // Constants
909
584
  // ---------------------------------------------------------------------------
910
585
  export { packageInfo } from './constants/version';
911
-
912
- // ---------------------------------------------------------------------------
913
- // Default export (back-compat — OxyServices is the most common consumer entry)
914
- // ---------------------------------------------------------------------------
915
- import { OxyServices } from './OxyServices';
916
- export default OxyServices;