@oxy.so/core 1.18.1 → 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.
- package/README.md +13 -7
- package/dist/cjs/HttpService.js +159 -111
- package/dist/cjs/OxyServices.errors.js +48 -1
- package/dist/cjs/OxyServices.js +263 -60
- package/dist/cjs/api/accounts.js +231 -0
- package/dist/cjs/api/agency.js +102 -0
- package/dist/cjs/api/appData.js +45 -0
- package/dist/cjs/api/apps.js +197 -0
- package/dist/cjs/api/assets.js +329 -0
- package/dist/cjs/api/auth.js +900 -0
- package/dist/cjs/api/billing.js +44 -0
- package/dist/cjs/api/civic.js +289 -0
- package/dist/cjs/api/contacts.js +16 -0
- package/dist/cjs/api/devices.js +351 -0
- package/dist/cjs/api/follows.js +240 -0
- package/dist/cjs/api/identity.js +569 -0
- package/dist/cjs/api/linkedAccounts.js +48 -0
- package/dist/cjs/api/nodes.js +75 -0
- package/dist/cjs/api/notifications.js +75 -0
- package/dist/cjs/api/privacy.js +105 -0
- package/dist/cjs/api/reputation.js +74 -0
- package/dist/cjs/api/session.js +177 -0
- package/dist/cjs/api/store.js +199 -0
- package/dist/cjs/api/topics.js +66 -0
- package/dist/cjs/api/users.js +309 -0
- package/dist/cjs/boot/sessionColdBoot.js +4 -4
- package/dist/cjs/civic/index.js +16 -0
- package/dist/cjs/civic/payloads.js +156 -0
- package/dist/cjs/client/context.js +2 -0
- package/dist/cjs/crypto/identityLink.js +5 -5
- package/dist/cjs/crypto/index.js +44 -0
- package/dist/cjs/crypto/internal.js +37 -0
- package/dist/cjs/crypto/keyManager.js +2 -2
- package/dist/cjs/crypto/polyfill.js +9 -80
- package/dist/cjs/crypto/recoveryPhrase.js +1 -0
- package/dist/cjs/crypto/registrationPow.js +1 -1
- package/dist/cjs/crypto/signatureService.js +1 -0
- package/dist/cjs/i18n/accountCategoryLabels.js +3 -3
- package/dist/cjs/i18n/accountRoleLabels.js +7 -7
- package/dist/cjs/i18n/index.js +130 -52
- package/dist/cjs/i18n/locales/{ar-SA.json → ar-SA.js} +134 -52
- package/dist/cjs/i18n/locales/{ca-ES.json → ca-ES.js} +134 -52
- package/dist/{esm/i18n/locales/de-DE.json → cjs/i18n/locales/de-DE.js} +136 -54
- package/dist/{esm/i18n/locales/en-US.json → cjs/i18n/locales/en-US.js} +163 -245
- package/dist/{esm/i18n/locales/es-ES.json → cjs/i18n/locales/es-ES.js} +163 -245
- package/dist/cjs/i18n/locales/{fr-FR.json → fr-FR.js} +134 -52
- package/dist/cjs/i18n/locales/{it-IT.json → it-IT.js} +134 -52
- package/dist/{esm/i18n/locales/ja-JP.json → cjs/i18n/locales/ja-JP.js} +134 -52
- package/dist/cjs/i18n/locales/{ko-KR.json → ko-KR.js} +134 -52
- package/dist/{esm/i18n/locales/pt-PT.json → cjs/i18n/locales/pt-PT.js} +136 -54
- package/dist/{esm/i18n/locales/zh-CN.json → cjs/i18n/locales/zh-CN.js} +135 -53
- package/dist/cjs/i18n/reputationCategoryLabels.js +2 -2
- package/dist/cjs/i18n/trustTierLabels.js +2 -2
- package/dist/cjs/index.js +55 -263
- package/dist/cjs/inference/index.js +21 -0
- package/dist/cjs/server/OxyServer.js +521 -0
- package/dist/cjs/server/auth.js +2 -2
- package/dist/cjs/server/index.js +23 -6
- package/dist/cjs/server/middleware.js +1154 -0
- package/dist/cjs/server/namespaces.js +214 -0
- package/dist/cjs/server/rateLimit.js +2 -2
- package/dist/cjs/server/requesterAssertion.js +5 -5
- package/dist/cjs/server/securityHeaders.js +3 -3
- package/dist/cjs/server/traffic.js +7 -6
- package/dist/cjs/server/trafficNodeHttp.js +9 -3
- package/dist/cjs/server/userInvalidation.js +5 -5
- package/dist/cjs/session/accountDialogController.js +23 -23
- package/dist/cjs/session/authStateStore.js +2 -2
- package/dist/cjs/session/identitySession.js +3 -3
- package/dist/cjs/session/index.js +131 -0
- package/dist/cjs/session/refresh.js +37 -30
- package/dist/cjs/session/sessionClientHost.js +5 -5
- package/dist/cjs/session/sharedDeviceCredential.js +3 -2
- package/dist/cjs/shared/utils/networkUtils.js +2 -2
- package/dist/cjs/utils/accountCacheSweep.js +11 -15
- package/dist/cjs/utils/asyncUtils.js +22 -163
- package/dist/cjs/utils/authHelpers.js +2 -2
- package/dist/cjs/utils/authWebUrl.js +3 -4
- package/dist/cjs/utils/avatarUtils.js +2 -2
- package/dist/cjs/utils/cache.js +32 -2
- package/dist/cjs/utils/cacheKey.js +5 -10
- package/dist/cjs/utils/deviceManager.js +17 -16
- package/dist/cjs/utils/edgeRegion.js +2 -3
- package/dist/cjs/utils/identityCacheSweep.js +6 -10
- package/dist/cjs/utils/oxyServiceEnvironment.js +3 -7
- package/dist/cjs/utils/requestUtils.js +40 -33
- package/dist/cjs/utils/sessionUtils.js +0 -2
- package/dist/cjs/utils/tokenClaims.js +34 -0
- package/dist/esm/HttpService.js +160 -112
- package/dist/esm/OxyServices.errors.js +45 -0
- package/dist/esm/OxyServices.js +262 -57
- package/dist/esm/api/accounts.js +218 -0
- package/dist/esm/api/agency.js +95 -0
- package/dist/esm/api/appData.js +40 -0
- package/dist/esm/api/apps.js +191 -0
- package/dist/esm/api/assets.js +324 -0
- package/dist/esm/api/auth.js +858 -0
- package/dist/esm/api/billing.js +40 -0
- package/dist/esm/api/civic.js +250 -0
- package/dist/esm/api/contacts.js +12 -0
- package/dist/esm/api/devices.js +346 -0
- package/dist/esm/api/follows.js +236 -0
- package/dist/esm/api/identity.js +527 -0
- package/dist/esm/api/linkedAccounts.js +44 -0
- package/dist/esm/api/nodes.js +71 -0
- package/dist/esm/api/notifications.js +71 -0
- package/dist/esm/api/privacy.js +101 -0
- package/dist/esm/api/reputation.js +70 -0
- package/dist/esm/api/session.js +173 -0
- package/dist/esm/api/store.js +192 -0
- package/dist/esm/api/topics.js +62 -0
- package/dist/esm/api/users.js +272 -0
- package/dist/esm/boot/sessionColdBoot.js +4 -4
- package/dist/esm/civic/index.js +10 -0
- package/dist/esm/civic/payloads.js +118 -0
- package/dist/esm/client/context.js +1 -0
- package/dist/esm/crypto/identityLink.js +5 -5
- package/dist/esm/crypto/index.js +24 -0
- package/dist/esm/crypto/internal.js +19 -0
- package/dist/esm/crypto/keyManager.js +2 -2
- package/dist/esm/crypto/polyfill.js +10 -81
- package/dist/esm/crypto/recoveryPhrase.js +1 -0
- package/dist/esm/crypto/registrationPow.js +1 -1
- package/dist/esm/crypto/signatureService.js +1 -0
- package/dist/esm/i18n/accountCategoryLabels.js +2 -2
- package/dist/esm/i18n/accountRoleLabels.js +1 -1
- package/dist/esm/i18n/index.js +93 -52
- package/dist/esm/i18n/locales/{ar-SA.json → ar-SA.js} +132 -52
- package/dist/esm/i18n/locales/{ca-ES.json → ca-ES.js} +132 -52
- package/dist/{cjs/i18n/locales/de-DE.json → esm/i18n/locales/de-DE.js} +134 -54
- package/dist/{cjs/i18n/locales/en-US.json → esm/i18n/locales/en-US.js} +161 -245
- package/dist/{cjs/i18n/locales/es-ES.json → esm/i18n/locales/es-ES.js} +161 -245
- package/dist/esm/i18n/locales/{fr-FR.json → fr-FR.js} +132 -52
- package/dist/esm/i18n/locales/{it-IT.json → it-IT.js} +132 -52
- package/dist/{cjs/i18n/locales/ja-JP.json → esm/i18n/locales/ja-JP.js} +132 -52
- package/dist/esm/i18n/locales/{ko-KR.json → ko-KR.js} +132 -52
- package/dist/{cjs/i18n/locales/pt-PT.json → esm/i18n/locales/pt-PT.js} +134 -54
- package/dist/{cjs/i18n/locales/zh-CN.json → esm/i18n/locales/zh-CN.js} +133 -53
- package/dist/esm/i18n/reputationCategoryLabels.js +1 -1
- package/dist/esm/i18n/trustTierLabels.js +1 -1
- package/dist/esm/index.js +30 -166
- package/dist/esm/inference/index.js +13 -0
- package/dist/esm/server/OxyServer.js +516 -0
- package/dist/esm/server/auth.js +2 -2
- package/dist/esm/server/index.js +10 -5
- package/dist/esm/server/middleware.js +1147 -0
- package/dist/esm/server/namespaces.js +206 -0
- package/dist/esm/server/rateLimit.js +2 -2
- package/dist/esm/server/requesterAssertion.js +5 -5
- package/dist/esm/server/securityHeaders.js +3 -3
- package/dist/esm/server/traffic.js +7 -6
- package/dist/esm/server/trafficNodeHttp.js +9 -3
- package/dist/esm/server/userInvalidation.js +5 -5
- package/dist/esm/session/accountDialogController.js +23 -23
- package/dist/esm/session/authStateStore.js +2 -2
- package/dist/esm/session/identitySession.js +3 -3
- package/dist/esm/session/index.js +82 -0
- package/dist/esm/session/refresh.js +37 -30
- package/dist/esm/session/sessionClientHost.js +5 -5
- package/dist/esm/session/sharedDeviceCredential.js +3 -2
- package/dist/esm/shared/utils/networkUtils.js +2 -2
- package/dist/esm/utils/accountCacheSweep.js +11 -15
- package/dist/esm/utils/asyncUtils.js +22 -151
- package/dist/esm/utils/authHelpers.js +2 -2
- package/dist/esm/utils/authWebUrl.js +3 -4
- package/dist/esm/utils/avatarUtils.js +2 -2
- package/dist/esm/utils/cache.js +32 -2
- package/dist/esm/utils/cacheKey.js +5 -10
- package/dist/esm/utils/deviceManager.js +17 -16
- package/dist/esm/utils/edgeRegion.js +1 -2
- package/dist/esm/utils/identityCacheSweep.js +6 -10
- package/dist/esm/utils/oxyServiceEnvironment.js +3 -7
- package/dist/esm/utils/requestUtils.js +40 -33
- package/dist/esm/utils/sessionUtils.js +0 -2
- package/dist/esm/utils/tokenClaims.js +31 -0
- package/dist/types/HttpService.d.ts +26 -9
- package/dist/types/OxyServices.d.ts +160 -131
- package/dist/types/OxyServices.errors.d.ts +42 -0
- package/dist/types/api/accounts.d.ts +415 -0
- package/dist/types/api/agency.d.ts +135 -0
- package/dist/types/api/appData.d.ts +27 -0
- package/dist/types/api/apps.d.ts +433 -0
- package/dist/types/api/assets.d.ts +174 -0
- package/dist/types/api/auth.d.ts +766 -0
- package/dist/types/api/billing.d.ts +113 -0
- package/dist/types/api/civic.d.ts +203 -0
- package/dist/types/api/contacts.d.ts +31 -0
- package/{src/mixins/OxyServices.deviceBoot.ts → dist/types/api/devices.d.ts} +130 -110
- package/dist/types/api/follows.d.ts +236 -0
- package/dist/types/api/identity.d.ts +275 -0
- package/dist/types/api/linkedAccounts.d.ts +48 -0
- package/dist/types/api/nodes.d.ts +102 -0
- package/dist/types/api/notifications.d.ts +77 -0
- package/dist/types/api/privacy.d.ts +43 -0
- package/dist/types/api/reputation.d.ts +50 -0
- package/dist/types/api/session.d.ts +85 -0
- package/dist/types/api/store.d.ts +278 -0
- package/dist/types/api/topics.d.ts +34 -0
- package/dist/types/api/users.d.ts +134 -0
- package/dist/types/boot/sessionColdBoot.d.ts +1 -1
- package/dist/types/civic/index.d.ts +10 -0
- package/dist/types/civic/payloads.d.ts +83 -0
- package/dist/types/client/context.d.ts +33 -0
- package/dist/types/crypto/identityLink.d.ts +5 -5
- package/dist/types/crypto/index.d.ts +24 -0
- package/dist/types/crypto/internal.d.ts +19 -0
- package/dist/types/crypto/polyfill.d.ts +6 -9
- package/dist/types/crypto/registrationPow.d.ts +1 -1
- package/dist/types/i18n/accountCategoryLabels.d.ts +1 -1
- package/dist/types/i18n/accountRoleLabels.d.ts +1 -1
- package/dist/types/i18n/index.d.ts +20 -1
- package/dist/types/i18n/locales/ar-SA.d.ts +386 -0
- package/dist/types/i18n/locales/ca-ES.d.ts +386 -0
- package/dist/types/i18n/locales/de-DE.d.ts +386 -0
- package/dist/types/i18n/locales/en-US.d.ts +2034 -0
- package/dist/types/i18n/locales/es-ES.d.ts +2034 -0
- package/dist/types/i18n/locales/fr-FR.d.ts +386 -0
- package/dist/types/i18n/locales/it-IT.d.ts +386 -0
- package/dist/types/i18n/locales/ja-JP.d.ts +386 -0
- package/dist/types/i18n/locales/ko-KR.d.ts +386 -0
- package/dist/types/i18n/locales/pt-PT.d.ts +386 -0
- package/dist/types/i18n/locales/zh-CN.d.ts +386 -0
- package/dist/types/index.d.ts +46 -95
- package/dist/types/inference/index.d.ts +22 -0
- package/dist/types/models/interfaces.d.ts +1 -22
- package/dist/types/server/OxyServer.d.ts +183 -0
- package/dist/types/server/auth.d.ts +10 -7
- package/dist/types/server/index.d.ts +10 -4
- package/dist/types/server/middleware.d.ts +291 -0
- package/dist/types/server/namespaces.d.ts +98 -0
- package/dist/types/server/rateLimit.d.ts +7 -5
- package/dist/types/server/requesterAssertion.d.ts +14 -11
- package/dist/types/server/securityHeaders.d.ts +4 -5
- package/dist/types/server/userInvalidation.d.ts +10 -8
- package/dist/types/session/accountDelegationAccess.d.ts +1 -1
- package/dist/types/session/accountDialogController.d.ts +8 -8
- package/dist/types/session/accountSwitchTargets.d.ts +1 -1
- package/dist/types/session/authStateStore.d.ts +7 -6
- package/dist/types/session/index.d.ts +40 -0
- package/dist/types/utils/accountCacheSweep.d.ts +7 -10
- package/dist/types/utils/apiUtils.d.ts +3 -3
- package/dist/types/utils/asyncUtils.d.ts +11 -58
- package/dist/types/utils/authWebUrl.d.ts +3 -4
- package/dist/types/utils/avatarUtils.d.ts +5 -6
- package/dist/types/utils/cache.d.ts +11 -3
- package/dist/types/utils/commonsApproval.d.ts +1 -1
- package/dist/types/utils/edgeRegion.d.ts +1 -2
- package/dist/types/utils/identityCacheSweep.d.ts +6 -4
- package/dist/types/utils/oauthPkce.d.ts +2 -2
- package/dist/types/utils/oxyServiceEnvironment.d.ts +3 -7
- package/dist/types/utils/requestUtils.d.ts +18 -14
- package/dist/types/utils/tokenClaims.d.ts +9 -0
- package/package.json +68 -7
- package/src/HttpService.ts +166 -131
- package/src/OxyServices.errors.ts +73 -0
- package/src/OxyServices.ts +289 -164
- package/src/api/accounts.ts +579 -0
- package/src/api/agency.ts +277 -0
- package/src/api/appData.ts +63 -0
- package/src/api/apps.ts +596 -0
- package/src/api/assets.ts +416 -0
- package/src/api/auth.ts +1457 -0
- package/src/api/billing.ts +144 -0
- package/src/api/civic.ts +428 -0
- package/src/api/contacts.ts +41 -0
- package/src/api/devices.ts +438 -0
- package/src/api/follows.ts +414 -0
- package/src/api/identity.ts +727 -0
- package/src/api/linkedAccounts.ts +78 -0
- package/src/api/nodes.ts +169 -0
- package/src/api/notifications.ts +135 -0
- package/src/api/privacy.ts +120 -0
- package/src/api/reputation.ts +134 -0
- package/src/api/session.ts +210 -0
- package/src/api/store.ts +435 -0
- package/src/api/topics.ts +83 -0
- package/src/api/users.ts +357 -0
- package/src/boot/sessionColdBoot.ts +4 -4
- package/src/civic/index.ts +12 -0
- package/src/civic/payloads.ts +175 -0
- package/src/client/context.ts +34 -0
- package/src/crypto/identityLink.ts +5 -5
- package/src/crypto/index.ts +39 -0
- package/src/crypto/internal.ts +20 -0
- package/src/crypto/keyManager.ts +2 -2
- package/src/crypto/polyfill.ts +9 -89
- package/src/crypto/recoveryPhrase.ts +1 -0
- package/src/crypto/registrationPow.ts +1 -1
- package/src/crypto/signatureService.ts +1 -0
- package/src/i18n/accountCategoryLabels.ts +2 -2
- package/src/i18n/accountRoleLabels.ts +2 -2
- package/src/i18n/index.ts +105 -54
- package/src/i18n/locales/{ar-SA.json → ar-SA.ts} +132 -52
- package/src/i18n/locales/{ca-ES.json → ca-ES.ts} +132 -52
- package/{dist/cjs/i18n/locales/locales/de-DE.json → src/i18n/locales/de-DE.ts} +134 -54
- package/src/i18n/locales/{en-US.json → en-US.ts} +161 -245
- package/{dist/cjs/i18n/locales/locales/es-ES.json → src/i18n/locales/es-ES.ts} +161 -245
- package/src/i18n/locales/{fr-FR.json → fr-FR.ts} +132 -52
- package/src/i18n/locales/{it-IT.json → it-IT.ts} +132 -52
- package/{dist/cjs/i18n/locales/locales/ja-JP.json → src/i18n/locales/ja-JP.ts} +132 -52
- package/src/i18n/locales/{ko-KR.json → ko-KR.ts} +132 -52
- package/src/i18n/locales/{pt-PT.json → pt-PT.ts} +134 -54
- package/src/i18n/locales/{zh-CN.json → zh-CN.ts} +133 -53
- package/src/i18n/reputationCategoryLabels.ts +1 -1
- package/src/i18n/trustTierLabels.ts +1 -1
- package/src/index.ts +170 -501
- package/src/inference/index.ts +48 -0
- package/src/models/interfaces.ts +1 -22
- package/src/server/OxyServer.ts +637 -0
- package/src/server/auth.ts +12 -8
- package/src/server/index.ts +28 -5
- package/src/server/middleware.ts +1520 -0
- package/src/server/namespaces.ts +257 -0
- package/src/server/rateLimit.ts +10 -9
- package/src/server/requesterAssertion.ts +13 -10
- package/src/server/securityHeaders.ts +7 -8
- package/src/server/traffic.ts +6 -6
- package/src/server/trafficNodeHttp.ts +7 -3
- package/src/server/userInvalidation.ts +9 -9
- package/src/session/accountDelegationAccess.ts +1 -1
- package/src/session/accountDialogController.ts +24 -24
- package/src/session/accountSwitchTargets.ts +1 -1
- package/src/session/authStateStore.ts +9 -8
- package/src/session/identitySession.ts +3 -3
- package/src/session/index.ts +210 -0
- package/src/session/refresh.ts +36 -30
- package/src/session/sessionClientHost.ts +5 -5
- package/src/session/sharedDeviceCredential.ts +3 -2
- package/src/shared/utils/networkUtils.ts +2 -2
- package/src/utils/accountCacheSweep.ts +11 -15
- package/src/utils/apiUtils.ts +3 -3
- package/src/utils/asyncUtils.ts +38 -235
- package/src/utils/authHelpers.ts +2 -2
- package/src/utils/authWebUrl.ts +3 -4
- package/src/utils/avatarUtils.ts +4 -7
- package/src/utils/cache.ts +36 -5
- package/src/utils/cacheKey.ts +5 -9
- package/src/utils/commonsApproval.ts +1 -1
- package/src/utils/deviceManager.ts +17 -16
- package/src/utils/edgeRegion.ts +1 -2
- package/src/utils/identityCacheSweep.ts +7 -12
- package/src/utils/oauthPkce.ts +2 -2
- package/src/utils/oxyServiceEnvironment.ts +3 -7
- package/src/utils/requestUtils.ts +48 -44
- package/src/utils/sessionUtils.ts +0 -2
- package/src/utils/tokenClaims.ts +38 -0
- package/dist/cjs/.tsbuildinfo +0 -1
- package/dist/cjs/OxyServices.base.js +0 -392
- package/dist/cjs/i18n/locales/locales/ar-SA.json +0 -306
- package/dist/cjs/i18n/locales/locales/ca-ES.json +0 -306
- package/dist/cjs/i18n/locales/locales/en-US.json +0 -2127
- package/dist/cjs/i18n/locales/locales/fr-FR.json +0 -306
- package/dist/cjs/i18n/locales/locales/it-IT.json +0 -306
- package/dist/cjs/i18n/locales/locales/ko-KR.json +0 -306
- package/dist/cjs/i18n/locales/locales/pt-PT.json +0 -306
- package/dist/cjs/i18n/locales/locales/zh-CN.json +0 -306
- package/dist/cjs/mixins/OxyServices.accounts.js +0 -555
- package/dist/cjs/mixins/OxyServices.agency.js +0 -154
- package/dist/cjs/mixins/OxyServices.analytics.js +0 -49
- package/dist/cjs/mixins/OxyServices.appData.js +0 -108
- package/dist/cjs/mixins/OxyServices.assets.js +0 -854
- package/dist/cjs/mixins/OxyServices.auth.js +0 -1495
- package/dist/cjs/mixins/OxyServices.chains.js +0 -73
- package/dist/cjs/mixins/OxyServices.civic.js +0 -611
- package/dist/cjs/mixins/OxyServices.connectedApps.js +0 -95
- package/dist/cjs/mixins/OxyServices.contacts.js +0 -50
- package/dist/cjs/mixins/OxyServices.deviceBoot.js +0 -191
- package/dist/cjs/mixins/OxyServices.devices.js +0 -116
- package/dist/cjs/mixins/OxyServices.features.js +0 -335
- package/dist/cjs/mixins/OxyServices.followGraph.js +0 -221
- package/dist/cjs/mixins/OxyServices.identity.js +0 -562
- package/dist/cjs/mixins/OxyServices.identityBackup.js +0 -172
- package/dist/cjs/mixins/OxyServices.inference.js +0 -59
- package/dist/cjs/mixins/OxyServices.language.js +0 -125
- package/dist/cjs/mixins/OxyServices.linkedAccounts.js +0 -79
- package/dist/cjs/mixins/OxyServices.location.js +0 -43
- package/dist/cjs/mixins/OxyServices.nodes.js +0 -175
- package/dist/cjs/mixins/OxyServices.notifications.js +0 -63
- package/dist/cjs/mixins/OxyServices.payment.js +0 -158
- package/dist/cjs/mixins/OxyServices.privacy.js +0 -199
- package/dist/cjs/mixins/OxyServices.reputation.js +0 -289
- package/dist/cjs/mixins/OxyServices.security.js +0 -89
- package/dist/cjs/mixins/OxyServices.store.js +0 -266
- package/dist/cjs/mixins/OxyServices.topics.js +0 -137
- package/dist/cjs/mixins/OxyServices.user.js +0 -954
- package/dist/cjs/mixins/OxyServices.utility.js +0 -1402
- package/dist/cjs/mixins/index.js +0 -136
- package/dist/cjs/mixins/mixinHelpers.js +0 -53
- package/dist/cjs/utils/webauthnOrigin.js +0 -51
- package/dist/esm/.tsbuildinfo +0 -1
- package/dist/esm/OxyServices.base.js +0 -388
- package/dist/esm/i18n/locales/locales/ar-SA.json +0 -306
- package/dist/esm/i18n/locales/locales/ca-ES.json +0 -306
- package/dist/esm/i18n/locales/locales/de-DE.json +0 -306
- package/dist/esm/i18n/locales/locales/en-US.json +0 -2127
- package/dist/esm/i18n/locales/locales/es-ES.json +0 -2127
- package/dist/esm/i18n/locales/locales/fr-FR.json +0 -306
- package/dist/esm/i18n/locales/locales/it-IT.json +0 -306
- package/dist/esm/i18n/locales/locales/ja-JP.json +0 -306
- package/dist/esm/i18n/locales/locales/ko-KR.json +0 -306
- package/dist/esm/i18n/locales/locales/pt-PT.json +0 -306
- package/dist/esm/i18n/locales/locales/zh-CN.json +0 -306
- package/dist/esm/mixins/OxyServices.accounts.js +0 -543
- package/dist/esm/mixins/OxyServices.agency.js +0 -151
- package/dist/esm/mixins/OxyServices.analytics.js +0 -46
- package/dist/esm/mixins/OxyServices.appData.js +0 -103
- package/dist/esm/mixins/OxyServices.assets.js +0 -851
- package/dist/esm/mixins/OxyServices.auth.js +0 -1455
- package/dist/esm/mixins/OxyServices.chains.js +0 -70
- package/dist/esm/mixins/OxyServices.civic.js +0 -605
- package/dist/esm/mixins/OxyServices.connectedApps.js +0 -92
- package/dist/esm/mixins/OxyServices.contacts.js +0 -47
- package/dist/esm/mixins/OxyServices.deviceBoot.js +0 -186
- package/dist/esm/mixins/OxyServices.devices.js +0 -113
- package/dist/esm/mixins/OxyServices.features.js +0 -332
- package/dist/esm/mixins/OxyServices.followGraph.js +0 -218
- package/dist/esm/mixins/OxyServices.identity.js +0 -558
- package/dist/esm/mixins/OxyServices.identityBackup.js +0 -169
- package/dist/esm/mixins/OxyServices.inference.js +0 -56
- package/dist/esm/mixins/OxyServices.language.js +0 -122
- package/dist/esm/mixins/OxyServices.linkedAccounts.js +0 -76
- package/dist/esm/mixins/OxyServices.location.js +0 -40
- package/dist/esm/mixins/OxyServices.nodes.js +0 -172
- package/dist/esm/mixins/OxyServices.notifications.js +0 -60
- package/dist/esm/mixins/OxyServices.payment.js +0 -155
- package/dist/esm/mixins/OxyServices.privacy.js +0 -196
- package/dist/esm/mixins/OxyServices.reputation.js +0 -286
- package/dist/esm/mixins/OxyServices.security.js +0 -86
- package/dist/esm/mixins/OxyServices.store.js +0 -263
- package/dist/esm/mixins/OxyServices.topics.js +0 -134
- package/dist/esm/mixins/OxyServices.user.js +0 -951
- package/dist/esm/mixins/OxyServices.utility.js +0 -1397
- package/dist/esm/mixins/index.js +0 -133
- package/dist/esm/mixins/mixinHelpers.js +0 -48
- package/dist/esm/utils/webauthnOrigin.js +0 -48
- package/dist/types/.tsbuildinfo +0 -1
- package/dist/types/OxyServices.base.d.ts +0 -189
- package/dist/types/mixins/OxyServices.accounts.d.ts +0 -868
- package/dist/types/mixins/OxyServices.agency.d.ts +0 -176
- package/dist/types/mixins/OxyServices.analytics.d.ts +0 -72
- package/dist/types/mixins/OxyServices.appData.d.ts +0 -108
- package/dist/types/mixins/OxyServices.assets.d.ts +0 -371
- package/dist/types/mixins/OxyServices.auth.d.ts +0 -998
- package/dist/types/mixins/OxyServices.chains.d.ts +0 -156
- package/dist/types/mixins/OxyServices.civic.d.ts +0 -520
- package/dist/types/mixins/OxyServices.connectedApps.d.ts +0 -184
- package/dist/types/mixins/OxyServices.contacts.d.ts +0 -100
- package/dist/types/mixins/OxyServices.deviceBoot.d.ts +0 -185
- package/dist/types/mixins/OxyServices.devices.d.ts +0 -103
- package/dist/types/mixins/OxyServices.features.d.ts +0 -250
- package/dist/types/mixins/OxyServices.followGraph.d.ts +0 -223
- package/dist/types/mixins/OxyServices.identity.d.ts +0 -337
- package/dist/types/mixins/OxyServices.identityBackup.d.ts +0 -129
- package/dist/types/mixins/OxyServices.inference.d.ts +0 -95
- package/dist/types/mixins/OxyServices.language.d.ts +0 -87
- package/dist/types/mixins/OxyServices.linkedAccounts.d.ts +0 -107
- package/dist/types/mixins/OxyServices.location.d.ts +0 -70
- package/dist/types/mixins/OxyServices.nodes.d.ts +0 -198
- package/dist/types/mixins/OxyServices.notifications.d.ts +0 -143
- package/dist/types/mixins/OxyServices.payment.d.ts +0 -117
- package/dist/types/mixins/OxyServices.privacy.d.ts +0 -146
- package/dist/types/mixins/OxyServices.reputation.d.ts +0 -202
- package/dist/types/mixins/OxyServices.security.d.ts +0 -84
- package/dist/types/mixins/OxyServices.store.d.ts +0 -334
- package/dist/types/mixins/OxyServices.topics.d.ts +0 -110
- package/dist/types/mixins/OxyServices.user.d.ts +0 -600
- package/dist/types/mixins/OxyServices.utility.d.ts +0 -526
- package/dist/types/mixins/index.d.ts +0 -87
- package/dist/types/mixins/mixinHelpers.d.ts +0 -31
- package/dist/types/utils/webauthnOrigin.d.ts +0 -32
- package/src/OxyServices.base.ts +0 -480
- package/src/__tests__/authSocket.test.ts +0 -96
- package/src/__tests__/fixEsmImports.test.ts +0 -132
- package/src/__tests__/httpServiceAbort.test.ts +0 -308
- package/src/__tests__/httpServiceActivityId.test.ts +0 -49
- package/src/__tests__/httpServiceAuthSelfAwait.test.ts +0 -108
- package/src/__tests__/httpServiceCache.test.ts +0 -318
- package/src/__tests__/httpServiceFormEncoded.test.ts +0 -139
- package/src/__tests__/httpServiceQueueDeadlock.test.ts +0 -128
- package/src/__tests__/httpServiceRateLimitedRefresh.test.ts +0 -160
- package/src/__tests__/httpServiceUnwrapEnvelope.test.ts +0 -115
- package/src/__tests__/httpServiceWrites.test.ts +0 -175
- package/src/__tests__/inSessionRefresh.test.ts +0 -313
- package/src/__tests__/linkedClient.test.ts +0 -363
- package/src/__tests__/nearExpiryMintStorm.test.ts +0 -165
- package/src/__tests__/parseHttpErrorBody.test.ts +0 -116
- package/src/__tests__/publicInterfaceParity.test.ts +0 -75
- package/src/__tests__/serverValueImportsDeclared.test.ts +0 -120
- package/src/__tests__/serviceIdentityWhenAnonymous.test.ts +0 -159
- package/src/__tests__/serviceTokenWorkloadFallback.test.ts +0 -85
- package/src/__tests__/userIdentity.test.ts +0 -143
- package/src/boot/__tests__/sessionColdBoot.identity.test.ts +0 -393
- package/src/boot/__tests__/sessionColdBoot.sharedDevice.test.ts +0 -325
- package/src/boot/__tests__/sessionColdBoot.test.ts +0 -570
- package/src/crypto/__tests__/backupMaterial.test.ts +0 -86
- package/src/crypto/__tests__/cryptoPrimitives.test.ts +0 -226
- package/src/crypto/__tests__/identityLink.test.ts +0 -18
- package/src/crypto/__tests__/identityMocks.ts +0 -125
- package/src/crypto/__tests__/identityProof.test.ts +0 -81
- package/src/crypto/__tests__/keyManager.atomicity.test.ts +0 -272
- package/src/crypto/__tests__/keyManager.cacheSafety.test.ts +0 -175
- package/src/crypto/__tests__/keyManager.deviceBackup.test.ts +0 -310
- package/src/crypto/__tests__/keyManager.identityStatus.test.ts +0 -217
- package/src/crypto/__tests__/keyManager.recoveryLadder.test.ts +0 -179
- package/src/crypto/__tests__/keyManager.recoveryMnemonic.test.ts +0 -138
- package/src/crypto/__tests__/keyManager.sharedSlotSync.test.ts +0 -150
- package/src/crypto/__tests__/keyManager.storageMigration.test.ts +0 -227
- package/src/crypto/__tests__/keyManager.test.ts +0 -329
- package/src/crypto/__tests__/polyfill.test.ts +0 -109
- package/src/crypto/__tests__/polyfillOrder.test.ts +0 -114
- package/src/crypto/__tests__/recoveryPhrase.test.ts +0 -61
- package/src/crypto/__tests__/registrationPow.test.ts +0 -61
- package/src/crypto/__tests__/scopedSeed.test.ts +0 -126
- package/src/crypto/__tests__/signChallengeShared.test.ts +0 -63
- package/src/crypto/__tests__/signedRecord.test.ts +0 -230
- package/src/i18n/__tests__/accountCategoryLabels.test.ts +0 -62
- package/src/i18n/__tests__/accountRoleLabels.test.ts +0 -54
- package/src/i18n/__tests__/reputationCategoryLabels.test.ts +0 -56
- package/src/i18n/__tests__/trustTierLabels.test.ts +0 -47
- package/src/i18n/locales/de-DE.json +0 -306
- package/src/i18n/locales/es-ES.json +0 -2127
- package/src/i18n/locales/ja-JP.json +0 -306
- package/src/inference/__tests__/OxyInferenceClient.test.ts +0 -899
- package/src/logger/__tests__/logger.test.ts +0 -207
- package/src/mixins/OxyServices.accounts.ts +0 -1330
- package/src/mixins/OxyServices.agency.ts +0 -353
- package/src/mixins/OxyServices.analytics.ts +0 -53
- package/src/mixins/OxyServices.appData.ts +0 -158
- package/src/mixins/OxyServices.assets.ts +0 -964
- package/src/mixins/OxyServices.auth.ts +0 -2083
- package/src/mixins/OxyServices.chains.ts +0 -134
- package/src/mixins/OxyServices.civic.ts +0 -945
- package/src/mixins/OxyServices.connectedApps.ts +0 -212
- package/src/mixins/OxyServices.contacts.ts +0 -73
- package/src/mixins/OxyServices.devices.ts +0 -120
- package/src/mixins/OxyServices.features.ts +0 -454
- package/src/mixins/OxyServices.followGraph.ts +0 -293
- package/src/mixins/OxyServices.identity.ts +0 -787
- package/src/mixins/OxyServices.identityBackup.ts +0 -250
- package/src/mixins/OxyServices.inference.ts +0 -57
- package/src/mixins/OxyServices.language.ts +0 -144
- package/src/mixins/OxyServices.linkedAccounts.ts +0 -129
- package/src/mixins/OxyServices.location.ts +0 -46
- package/src/mixins/OxyServices.nodes.ts +0 -337
- package/src/mixins/OxyServices.notifications.ts +0 -142
- package/src/mixins/OxyServices.payment.ts +0 -163
- package/src/mixins/OxyServices.privacy.ts +0 -219
- package/src/mixins/OxyServices.reputation.ts +0 -436
- package/src/mixins/OxyServices.security.ts +0 -110
- package/src/mixins/OxyServices.store.ts +0 -585
- package/src/mixins/OxyServices.topics.ts +0 -169
- package/src/mixins/OxyServices.user.ts +0 -1208
- package/src/mixins/OxyServices.utility.ts +0 -1803
- package/src/mixins/__tests__/OxyServices.civic.test.ts +0 -1095
- package/src/mixins/__tests__/OxyServices.deviceBoot.test.ts +0 -124
- package/src/mixins/__tests__/OxyServices.identity.test.ts +0 -301
- package/src/mixins/__tests__/OxyServices.nodes.test.ts +0 -341
- package/src/mixins/__tests__/OxyServices.rotateKey.test.ts +0 -323
- package/src/mixins/__tests__/OxyServices.serviceAssetMetadata.test.ts +0 -192
- package/src/mixins/__tests__/OxyServices.serviceAssetMetadataBySha.test.ts +0 -135
- package/src/mixins/__tests__/OxyServices.serviceLinkedDownloadUrl.test.ts +0 -139
- package/src/mixins/__tests__/accountEvents.test.ts +0 -158
- package/src/mixins/__tests__/accounts.test.ts +0 -727
- package/src/mixins/__tests__/agency.test.ts +0 -120
- package/src/mixins/__tests__/appData.test.ts +0 -203
- package/src/mixins/__tests__/assetCredentials.test.ts +0 -47
- package/src/mixins/__tests__/assetUpload.test.ts +0 -191
- package/src/mixins/__tests__/authRefusalObservability.test.ts +0 -396
- package/src/mixins/__tests__/backgroundCredential.httpIntegration.test.ts +0 -130
- package/src/mixins/__tests__/chains.test.ts +0 -113
- package/src/mixins/__tests__/commonsSignIn.test.ts +0 -1147
- package/src/mixins/__tests__/connectedApps.test.ts +0 -146
- package/src/mixins/__tests__/deviceTokenMintPinned.test.ts +0 -113
- package/src/mixins/__tests__/discoveryErrorHandling.test.ts +0 -265
- package/src/mixins/__tests__/followCacheInvalidation.test.ts +0 -173
- package/src/mixins/__tests__/followGraph.test.ts +0 -147
- package/src/mixins/__tests__/followGraphPagination.test.ts +0 -271
- package/src/mixins/__tests__/getFileDownloadUrl.test.ts +0 -346
- package/src/mixins/__tests__/getFollowStatuses.test.ts +0 -95
- package/src/mixins/__tests__/getUsersByIds.test.ts +0 -176
- package/src/mixins/__tests__/identityBackup.test.ts +0 -315
- package/src/mixins/__tests__/identityLink.test.ts +0 -89
- package/src/mixins/__tests__/identityWriteCacheInvalidation.test.ts +0 -407
- package/src/mixins/__tests__/inferenceFactory.test.ts +0 -58
- package/src/mixins/__tests__/linkedAccounts.test.ts +0 -109
- package/src/mixins/__tests__/notifications.read.test.ts +0 -82
- package/src/mixins/__tests__/onTokensChanged.test.ts +0 -129
- package/src/mixins/__tests__/preSessionSkipAuth.test.ts +0 -284
- package/src/mixins/__tests__/privacyCacheInvalidation.test.ts +0 -155
- package/src/mixins/__tests__/reputation.test.ts +0 -522
- package/src/mixins/__tests__/serviceAuth.test.ts +0 -889
- package/src/mixins/__tests__/serviceTokenJwks.test.ts +0 -208
- package/src/mixins/__tests__/store.test.ts +0 -304
- package/src/mixins/__tests__/topics.test.ts +0 -155
- package/src/mixins/__tests__/userReadCacheBypass.test.ts +0 -129
- package/src/mixins/__tests__/userTokenAuth.test.ts +0 -746
- package/src/mixins/__tests__/verifyChallenge.test.ts +0 -161
- package/src/mixins/__tests__/verifyServiceActingAs.test.ts +0 -167
- package/src/mixins/__tests__/webauthnAuth.test.ts +0 -279
- package/src/mixins/index.ts +0 -203
- package/src/mixins/mixinHelpers.ts +0 -69
- package/src/server/__tests__/auth.test.ts +0 -78
- package/src/server/__tests__/capabilityTicket.test.ts +0 -111
- package/src/server/__tests__/cors.socket.test.ts +0 -225
- package/src/server/__tests__/cors.test.ts +0 -158
- package/src/server/__tests__/rateLimit.test.ts +0 -257
- package/src/server/__tests__/requesterAssertion.test.ts +0 -359
- package/src/server/__tests__/safeFetch.test.ts +0 -232
- package/src/server/__tests__/securityHeaders.test.ts +0 -387
- package/src/server/__tests__/serviceTokenAttribution.test.ts +0 -396
- package/src/server/__tests__/traffic.test.ts +0 -180
- package/src/server/__tests__/trafficNodeHttp.test.ts +0 -38
- package/src/server/__tests__/userInvalidation.test.ts +0 -203
- package/src/server/__tests__/verifySecret.test.ts +0 -40
- package/src/server/__tests__/workloadIdentity.client.test.ts +0 -16
- package/src/server/__tests__/workloadIdentity.test.ts +0 -128
- package/src/session/__tests__/SessionClient.additive.test.ts +0 -153
- package/src/session/__tests__/SessionClient.broadcastChannel.test.ts +0 -114
- package/src/session/__tests__/SessionClient.diagnostics.test.ts +0 -91
- package/src/session/__tests__/SessionClient.directory.test.ts +0 -688
- package/src/session/__tests__/SessionClient.httpIntegration.test.ts +0 -65
- package/src/session/__tests__/SessionClient.identityPin.test.ts +0 -175
- package/src/session/__tests__/SessionClient.rest.test.ts +0 -119
- package/src/session/__tests__/SessionClient.serverEvents.test.ts +0 -72
- package/src/session/__tests__/SessionClient.socket.test.ts +0 -202
- package/src/session/__tests__/SessionClient.socketFactory.test.ts +0 -81
- package/src/session/__tests__/SessionClient.state.test.ts +0 -78
- package/src/session/__tests__/SessionClient.switchTokenOrder.test.ts +0 -170
- package/src/session/__tests__/accountDelegationAccess.test.ts +0 -104
- package/src/session/__tests__/accountDialogController.test.ts +0 -2502
- package/src/session/__tests__/accountDialogShape.test.ts +0 -120
- package/src/session/__tests__/accountSwitchTargets.test.ts +0 -137
- package/src/session/__tests__/authStateStore.test.ts +0 -451
- package/src/session/__tests__/deviceDirectory.test.ts +0 -422
- package/src/session/__tests__/deviceSwitcherRows.test.ts +0 -223
- package/src/session/__tests__/identityPin.test.ts +0 -131
- package/src/session/__tests__/identitySession.test.ts +0 -194
- package/src/session/__tests__/projectSessionState.test.ts +0 -105
- package/src/session/__tests__/refresh.identityPin.test.ts +0 -307
- package/src/session/__tests__/refresh.test.ts +0 -606
- package/src/session/__tests__/sessionIntegration.test.ts +0 -209
- package/src/session/__tests__/sharedDeviceCredential.test.ts +0 -300
- package/src/utils/__tests__/accountUtils.test.ts +0 -151
- package/src/utils/__tests__/activityId.test.ts +0 -45
- package/src/utils/__tests__/asyncUtils.test.ts +0 -279
- package/src/utils/__tests__/authWebUrl.test.ts +0 -15
- package/src/utils/__tests__/cacheKey.test.ts +0 -0
- package/src/utils/__tests__/cacheLifecycle.test.ts +0 -65
- package/src/utils/__tests__/coldBoot.test.ts +0 -496
- package/src/utils/__tests__/commonsApproval.test.ts +0 -60
- package/src/utils/__tests__/identityCacheSweep.test.ts +0 -151
- package/src/utils/__tests__/languageUtils.test.ts +0 -244
- package/src/utils/__tests__/oauthPkce.test.ts +0 -303
- package/src/utils/__tests__/officialOrigins.test.ts +0 -31
- package/src/utils/__tests__/oxyServiceEnvironment.test.ts +0 -7
- package/src/utils/__tests__/profileLinks.test.ts +0 -180
- package/src/utils/__tests__/redactUrl.test.ts +0 -33
- package/src/utils/__tests__/registrableApex.test.ts +0 -62
- package/src/utils/__tests__/requestUtilsAbort.test.ts +0 -155
- package/src/utils/__tests__/textNormalization.test.ts +0 -205
- package/src/utils/__tests__/validationUtils.test.ts +0 -703
- package/src/utils/__tests__/webauthnOrigin.test.ts +0 -83
- package/src/utils/webauthnOrigin.ts +0 -52
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Features Methods Mixin
|
|
3
|
-
*
|
|
4
|
-
* Provides methods for various features:
|
|
5
|
-
* - Feedback submission
|
|
6
|
-
* - Subscription plans
|
|
7
|
-
* - Saves/Collections
|
|
8
|
-
* - User history
|
|
9
|
-
* - FAQ
|
|
10
|
-
* - User stats
|
|
11
|
-
* - Achievements
|
|
12
|
-
*/
|
|
13
|
-
import type { OxyServicesBase } from '../OxyServices.base';
|
|
14
|
-
export interface FeedbackPayload {
|
|
15
|
-
type: 'bug' | 'feature' | 'general' | 'support';
|
|
16
|
-
title: string;
|
|
17
|
-
description: string;
|
|
18
|
-
priority: 'low' | 'medium' | 'high' | 'critical';
|
|
19
|
-
category: string;
|
|
20
|
-
contactEmail?: string;
|
|
21
|
-
systemInfo?: {
|
|
22
|
-
platform: string;
|
|
23
|
-
version: string;
|
|
24
|
-
appVersion: string;
|
|
25
|
-
userId?: string;
|
|
26
|
-
username?: string;
|
|
27
|
-
timestamp: string;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export interface FeedbackResult {
|
|
31
|
-
id: string;
|
|
32
|
-
status: string;
|
|
33
|
-
createdAt: string;
|
|
34
|
-
}
|
|
35
|
-
export interface SubscriptionPlan {
|
|
36
|
-
id: string;
|
|
37
|
-
name: string;
|
|
38
|
-
description: string;
|
|
39
|
-
price: number;
|
|
40
|
-
currency: string;
|
|
41
|
-
interval: 'month' | 'year';
|
|
42
|
-
features: string[];
|
|
43
|
-
}
|
|
44
|
-
export interface SubscriptionResult {
|
|
45
|
-
subscriptionId: string;
|
|
46
|
-
status: string;
|
|
47
|
-
currentPeriodEnd: string;
|
|
48
|
-
}
|
|
49
|
-
export interface SavedItem {
|
|
50
|
-
id: string;
|
|
51
|
-
itemId: string;
|
|
52
|
-
itemType: string;
|
|
53
|
-
title: string;
|
|
54
|
-
createdAt: string;
|
|
55
|
-
}
|
|
56
|
-
export interface Collection {
|
|
57
|
-
id: string;
|
|
58
|
-
name: string;
|
|
59
|
-
description?: string;
|
|
60
|
-
itemCount: number;
|
|
61
|
-
createdAt: string;
|
|
62
|
-
}
|
|
63
|
-
export interface UserStats {
|
|
64
|
-
postCount: number;
|
|
65
|
-
commentCount: number;
|
|
66
|
-
followerCount: number;
|
|
67
|
-
followingCount: number;
|
|
68
|
-
}
|
|
69
|
-
export interface HistoryItem {
|
|
70
|
-
id: string;
|
|
71
|
-
type: string;
|
|
72
|
-
title: string;
|
|
73
|
-
timestamp: string;
|
|
74
|
-
metadata?: Record<string, any>;
|
|
75
|
-
}
|
|
76
|
-
export interface FAQ {
|
|
77
|
-
id: string;
|
|
78
|
-
question: string;
|
|
79
|
-
answer: string;
|
|
80
|
-
category: string;
|
|
81
|
-
}
|
|
82
|
-
export interface Achievement {
|
|
83
|
-
id: string;
|
|
84
|
-
name: string;
|
|
85
|
-
description: string;
|
|
86
|
-
icon: string;
|
|
87
|
-
unlockedAt?: string;
|
|
88
|
-
}
|
|
89
|
-
export declare function OxyServicesFeaturesMixin<T extends typeof OxyServicesBase>(Base: T): {
|
|
90
|
-
new (...args: any[]): {
|
|
91
|
-
/**
|
|
92
|
-
* Submit user feedback
|
|
93
|
-
*/
|
|
94
|
-
submitFeedback(payload: FeedbackPayload): Promise<FeedbackResult>;
|
|
95
|
-
/**
|
|
96
|
-
* Get available subscription plans
|
|
97
|
-
*/
|
|
98
|
-
getSubscriptionPlans(): Promise<SubscriptionPlan[]>;
|
|
99
|
-
/**
|
|
100
|
-
* Get individual purchasable features
|
|
101
|
-
*/
|
|
102
|
-
getIndividualFeatures(): Promise<any[]>;
|
|
103
|
-
/**
|
|
104
|
-
* Subscribe to a plan
|
|
105
|
-
*/
|
|
106
|
-
subscribe(planId: string, paymentMethodId?: string): Promise<SubscriptionResult>;
|
|
107
|
-
/**
|
|
108
|
-
* Subscribe to an individual feature
|
|
109
|
-
*/
|
|
110
|
-
subscribeToFeature(featureId: string, paymentMethodId?: string): Promise<SubscriptionResult>;
|
|
111
|
-
/**
|
|
112
|
-
* Cancel subscription
|
|
113
|
-
*/
|
|
114
|
-
cancelSubscription(subscriptionId: string): Promise<void>;
|
|
115
|
-
/**
|
|
116
|
-
* Reactivate subscription
|
|
117
|
-
*/
|
|
118
|
-
reactivateSubscription(subscriptionId: string): Promise<void>;
|
|
119
|
-
/**
|
|
120
|
-
* Get current user's subscription
|
|
121
|
-
*/
|
|
122
|
-
getCurrentSubscription(): Promise<SubscriptionResult | null>;
|
|
123
|
-
/**
|
|
124
|
-
* Get user's saved items
|
|
125
|
-
*/
|
|
126
|
-
getSavedItems(userId?: string): Promise<SavedItem[]>;
|
|
127
|
-
/**
|
|
128
|
-
* Get user's collections
|
|
129
|
-
*/
|
|
130
|
-
getCollections(userId?: string): Promise<Collection[]>;
|
|
131
|
-
/**
|
|
132
|
-
* Save an item.
|
|
133
|
-
*
|
|
134
|
-
* Busts the cached own saved-items list (`GET /saves`, ~short TTL) so a
|
|
135
|
-
* follow-up `getSavedItems()` observes the new item. The `userId`-scoped
|
|
136
|
-
* variant (`/users/<id>/saves`) is another user's list and is not
|
|
137
|
-
* affected by the caller's own save.
|
|
138
|
-
*/
|
|
139
|
-
saveItem(itemId: string, itemType: string, collectionId?: string): Promise<SavedItem>;
|
|
140
|
-
/**
|
|
141
|
-
* Remove an item from saves.
|
|
142
|
-
*
|
|
143
|
-
* Busts the cached own saved-items list so the removed item is gone on
|
|
144
|
-
* the next read (see `saveItem`).
|
|
145
|
-
*/
|
|
146
|
-
removeSavedItem(saveId: string): Promise<void>;
|
|
147
|
-
/**
|
|
148
|
-
* Create a collection.
|
|
149
|
-
*
|
|
150
|
-
* Busts the cached own collections list (`GET /collections`) so the new
|
|
151
|
-
* collection appears on the next read.
|
|
152
|
-
*/
|
|
153
|
-
createCollection(name: string, description?: string): Promise<Collection>;
|
|
154
|
-
/**
|
|
155
|
-
* Delete a collection.
|
|
156
|
-
*
|
|
157
|
-
* Busts the cached own collections list so the deleted collection is
|
|
158
|
-
* gone on the next read (see `createCollection`).
|
|
159
|
-
*/
|
|
160
|
-
deleteCollection(collectionId: string): Promise<void>;
|
|
161
|
-
/**
|
|
162
|
-
* Get user statistics
|
|
163
|
-
*/
|
|
164
|
-
getUserStats(userId: string): Promise<UserStats>;
|
|
165
|
-
/**
|
|
166
|
-
* Get user history
|
|
167
|
-
*/
|
|
168
|
-
getUserHistory(userId?: string, limit?: number, offset?: number): Promise<HistoryItem[]>;
|
|
169
|
-
/**
|
|
170
|
-
* Clear user history.
|
|
171
|
-
*
|
|
172
|
-
* `getUserHistory` caches per (limit, offset) page, so its cache key
|
|
173
|
-
* carries serialized params (`GET:/history` and `GET:/history:<params>`).
|
|
174
|
-
* A prefix sweep busts every cached page of the own history at once.
|
|
175
|
-
*/
|
|
176
|
-
clearUserHistory(): Promise<void>;
|
|
177
|
-
/**
|
|
178
|
-
* Delete a history item.
|
|
179
|
-
*
|
|
180
|
-
* Busts every cached page of the own history (see `clearUserHistory`)
|
|
181
|
-
* so the removed item no longer appears on the next read.
|
|
182
|
-
*/
|
|
183
|
-
deleteHistoryItem(itemId: string): Promise<void>;
|
|
184
|
-
/**
|
|
185
|
-
* Get FAQs
|
|
186
|
-
*/
|
|
187
|
-
getFAQs(category?: string): Promise<FAQ[]>;
|
|
188
|
-
/**
|
|
189
|
-
* Search FAQs
|
|
190
|
-
*/
|
|
191
|
-
searchFAQs(query: string): Promise<FAQ[]>;
|
|
192
|
-
/**
|
|
193
|
-
* Get user achievements
|
|
194
|
-
*/
|
|
195
|
-
getUserAchievements(userId?: string): Promise<Achievement[]>;
|
|
196
|
-
/**
|
|
197
|
-
* Get all available achievements
|
|
198
|
-
*/
|
|
199
|
-
getAllAchievements(): Promise<Achievement[]>;
|
|
200
|
-
httpService: import("../HttpService").HttpService;
|
|
201
|
-
cloudURL: string;
|
|
202
|
-
config: import("../OxyServices.base").OxyConfig;
|
|
203
|
-
__resetTokensForTests(): void;
|
|
204
|
-
makeRequest<T_1>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../HttpService").RequestOptions): Promise<T_1>;
|
|
205
|
-
getBaseURL(): string;
|
|
206
|
-
getClient(): import("../HttpService").HttpService;
|
|
207
|
-
createLinkedClient(config: import("../OxyServices.base").OxyConfig): import("..").LinkedHttpClient;
|
|
208
|
-
getMetrics(): {
|
|
209
|
-
totalRequests: number;
|
|
210
|
-
successfulRequests: number;
|
|
211
|
-
failedRequests: number;
|
|
212
|
-
cacheHits: number;
|
|
213
|
-
cacheMisses: number;
|
|
214
|
-
averageResponseTime: number;
|
|
215
|
-
};
|
|
216
|
-
clearCache(): void;
|
|
217
|
-
clearCacheEntry(key: string): void;
|
|
218
|
-
clearCacheByPrefix(prefix: string): number;
|
|
219
|
-
getCacheStats(): {
|
|
220
|
-
size: number;
|
|
221
|
-
hits: number;
|
|
222
|
-
misses: number;
|
|
223
|
-
hitRate: number;
|
|
224
|
-
};
|
|
225
|
-
getCloudURL(): string;
|
|
226
|
-
setTokens(accessToken: string): void;
|
|
227
|
-
clearTokens(): void;
|
|
228
|
-
onTokensChanged(listener: (accessToken: string | null) => void): () => void;
|
|
229
|
-
_cachedUserId: string | null | undefined;
|
|
230
|
-
_cachedAccessToken: string | null;
|
|
231
|
-
getCurrentUserId(): string | null;
|
|
232
|
-
hasValidToken(): boolean;
|
|
233
|
-
getAccessToken(): string | null;
|
|
234
|
-
getAccessTokenExpiry(): number | null;
|
|
235
|
-
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
236
|
-
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
237
|
-
maxRetries?: number;
|
|
238
|
-
retryDelay?: number;
|
|
239
|
-
authTimeoutMs?: number;
|
|
240
|
-
}): Promise<T_1>;
|
|
241
|
-
validate(): Promise<boolean>;
|
|
242
|
-
handleError(error: unknown): Error;
|
|
243
|
-
healthCheck(): Promise<{
|
|
244
|
-
status: string;
|
|
245
|
-
users?: number;
|
|
246
|
-
timestamp?: string;
|
|
247
|
-
[key: string]: any;
|
|
248
|
-
}>;
|
|
249
|
-
};
|
|
250
|
-
} & T;
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Follow Graph Mixin (`/v2/follows`)
|
|
3
|
-
*
|
|
4
|
-
* The user-owned follow graph: one relationship per user and target, shared by
|
|
5
|
-
* every application, with per-application context on top. This is the SDK half
|
|
6
|
-
* of #809 and the replacement for the per-app follow endpoints each application
|
|
7
|
-
* grew for itself.
|
|
8
|
-
*
|
|
9
|
-
* ## Why this is not `followUser` with more parameters
|
|
10
|
-
*
|
|
11
|
-
* `followUser` answers "does A follow B" and nothing else. This answers "what
|
|
12
|
-
* does this user follow, anywhere, and which applications act on it" — a
|
|
13
|
-
* different question with a different owner. The legacy methods stay for the
|
|
14
|
-
* Mongo-backed social graph they were written for; new kinds (topics, stores,
|
|
15
|
-
* artists, channels) come here, and users will migrate behind an adapter rather
|
|
16
|
-
* than through a flag day.
|
|
17
|
-
*
|
|
18
|
-
* ## Caching
|
|
19
|
-
*
|
|
20
|
-
* Every method is `cache: false`. A follow status is exactly the shape that
|
|
21
|
-
* must never be served stale: the SDK's GET cache is identity-scoped but
|
|
22
|
-
* time-based, and a status cached across a write is the "follow reverts after
|
|
23
|
-
* navigating away and back" bug — which the legacy `followUser` had to fix with
|
|
24
|
-
* explicit invalidation. Not caching at this layer means an app's own store
|
|
25
|
-
* (React Query, Zustand) is the single cache authority, which is the rule the
|
|
26
|
-
* ecosystem already follows for anything written and read in the same session.
|
|
27
|
-
*/
|
|
28
|
-
import type { FollowListPage, FollowMutation, FollowOptions, FollowStatus, UnfollowMutation } from '@oxy.so/contracts';
|
|
29
|
-
import type { OxyServicesBase } from '../OxyServices.base';
|
|
30
|
-
export declare function OxyServicesFollowGraphMixin<T extends typeof OxyServicesBase>(Base: T): {
|
|
31
|
-
new (...args: any[]): {
|
|
32
|
-
/**
|
|
33
|
-
* Follow a target. Idempotent — following something already followed
|
|
34
|
-
* returns the same relationship with `created: false`.
|
|
35
|
-
*
|
|
36
|
-
* The follower and the acting application are BOTH derived server-side from
|
|
37
|
-
* the session. There is deliberately no parameter for either: a client that
|
|
38
|
-
* could name them could forge a follow on another user's behalf, or record
|
|
39
|
-
* one as coming from an application it is not.
|
|
40
|
-
*
|
|
41
|
-
* @param targetId - The registered target's id, not its URI. Registration is
|
|
42
|
-
* a separate operation precisely so following cannot silently create
|
|
43
|
-
* targets — a typo would otherwise become a permanent row nobody follows.
|
|
44
|
-
* @param options.expiresIn - Seconds until the follow lapses on its own. For
|
|
45
|
-
* an event, a trial, a topic followed for a week. The server bounds it.
|
|
46
|
-
*/
|
|
47
|
-
followTarget(targetId: string, options?: FollowOptions): Promise<FollowMutation>;
|
|
48
|
-
/**
|
|
49
|
-
* Unfollow everywhere.
|
|
50
|
-
*
|
|
51
|
-
* There is no "unfollow here" — that is `setFollowApplicationMode(...,
|
|
52
|
-
* 'disabled')`, and keeping the two distinct is the point of the design. An
|
|
53
|
-
* application that quietly turned a global unfollow into a local one would
|
|
54
|
-
* leave the user believing they had stopped following something they still
|
|
55
|
-
* follow everywhere else.
|
|
56
|
-
*
|
|
57
|
-
* Idempotent: `removed: false` when it was already gone, because the state
|
|
58
|
-
* the caller asked for is the state that holds.
|
|
59
|
-
*/
|
|
60
|
-
unfollowTarget(relationshipId: string): Promise<UnfollowMutation>;
|
|
61
|
-
/**
|
|
62
|
-
* The three-part status: globally, in this application, and in effect.
|
|
63
|
-
*
|
|
64
|
-
* Render `effectiveState` on the button and keep the other two for the
|
|
65
|
-
* explanation. A UI that collapses them cannot tell the user why a follow
|
|
66
|
-
* they can see in their list is not showing up in this app's feed.
|
|
67
|
-
*/
|
|
68
|
-
getFollowTargetStatus(targetId: string): Promise<FollowStatus>;
|
|
69
|
-
/**
|
|
70
|
-
* Turn a relationship off, or back on, in ONE application.
|
|
71
|
-
*
|
|
72
|
-
* Omit `applicationId` and it applies to the calling application, which is
|
|
73
|
-
* the only form an ordinary app should ever need. Naming a DIFFERENT
|
|
74
|
-
* application requires `follows:manage` server-side — acting on another
|
|
75
|
-
* app's behalf is exactly the cross-application authority this design
|
|
76
|
-
* otherwise refuses, so it is a distinct permission and not a parameter an
|
|
77
|
-
* app happens to fill in.
|
|
78
|
-
*/
|
|
79
|
-
setFollowApplicationMode(relationshipId: string, mode: "enabled" | "disabled", applicationId?: string): Promise<{
|
|
80
|
-
ok: true;
|
|
81
|
-
}>;
|
|
82
|
-
/**
|
|
83
|
-
* Drop the override so this application follows the global relationship
|
|
84
|
-
* again. Distinct from setting `enabled`: inheriting means a later global
|
|
85
|
-
* change takes effect here, and an explicit `enabled` means it does not.
|
|
86
|
-
*/
|
|
87
|
-
restoreFollowInheritance(relationshipId: string, applicationId?: string): Promise<{
|
|
88
|
-
ok: true;
|
|
89
|
-
}>;
|
|
90
|
-
/**
|
|
91
|
-
* Resolve a target by canonical URI, registering it the first time anyone
|
|
92
|
-
* asks. The call an application makes on the way into a screen, before it
|
|
93
|
-
* can render a button.
|
|
94
|
-
*
|
|
95
|
-
* Idempotent on the URI, which is what makes two applications describing
|
|
96
|
-
* the same thing — the same fediverse actor, the same topic — arrive at ONE
|
|
97
|
-
* row, and therefore at one relationship per user rather than one per app.
|
|
98
|
-
*
|
|
99
|
-
* `metadata` is a display snapshot (name, handle, icon) and is refreshed
|
|
100
|
-
* only for the application that provides the target: a second application
|
|
101
|
-
* passing its own idea of the name would make the display flip depending on
|
|
102
|
-
* which app last looked.
|
|
103
|
-
*/
|
|
104
|
-
ensureFollowTarget(input: {
|
|
105
|
-
uri: string;
|
|
106
|
-
kind: string;
|
|
107
|
-
metadata?: Record<string, unknown>;
|
|
108
|
-
providerReference?: string;
|
|
109
|
-
localUserId?: string;
|
|
110
|
-
}): Promise<{
|
|
111
|
-
id: string;
|
|
112
|
-
uri: string;
|
|
113
|
-
kind: string;
|
|
114
|
-
created: boolean;
|
|
115
|
-
}>;
|
|
116
|
-
/**
|
|
117
|
-
* Claim a namespace for the calling application. First come, and idempotent
|
|
118
|
-
* for the holder — an application that registers on every boot must not
|
|
119
|
-
* fail the second time.
|
|
120
|
-
*/
|
|
121
|
-
claimFollowNamespace(namespace: string): Promise<{
|
|
122
|
-
namespace: string;
|
|
123
|
-
created: boolean;
|
|
124
|
-
}>;
|
|
125
|
-
/**
|
|
126
|
-
* Release a namespace the calling application holds, when nothing is
|
|
127
|
-
registered inside it yet.
|
|
128
|
-
*
|
|
129
|
-
* Idempotent when the namespace is already unowned (`released: false`).
|
|
130
|
-
* Exists because claims are first-come and registration runs on boot — a
|
|
131
|
-
* development build with the wrong client id can bind a name permanently
|
|
132
|
-
* unless the holder can give it back.
|
|
133
|
-
*/
|
|
134
|
-
releaseFollowNamespace(namespace: string): Promise<{
|
|
135
|
-
namespace: string;
|
|
136
|
-
released: boolean;
|
|
137
|
-
}>;
|
|
138
|
-
/**
|
|
139
|
-
* Declare what following a kind of thing MEANS: the verb clients render,
|
|
140
|
-
* whether reverse lookups are public, whether it federates.
|
|
141
|
-
*
|
|
142
|
-
* Declared once by the application that owns the concept, rather than
|
|
143
|
-
* passed per call site — otherwise two screens of one app can disagree
|
|
144
|
-
* about whether a store is followed or subscribed to.
|
|
145
|
-
*/
|
|
146
|
-
registerFollowKind(input: {
|
|
147
|
-
kind: string;
|
|
148
|
-
label?: string;
|
|
149
|
-
capabilities?: {
|
|
150
|
-
verb?: "follow" | "subscribe" | "join" | "watch";
|
|
151
|
-
reverse?: "public" | "private" | "aggregate" | "unavailable";
|
|
152
|
-
federated?: boolean;
|
|
153
|
-
};
|
|
154
|
-
}): Promise<{
|
|
155
|
-
kind: string;
|
|
156
|
-
created: boolean;
|
|
157
|
-
}>;
|
|
158
|
-
/**
|
|
159
|
-
* Everything the signed-in user follows, newest first.
|
|
160
|
-
*
|
|
161
|
-
* Owner-only by construction server-side — there is no parameter naming a
|
|
162
|
-
* user, so this cannot be pointed at somebody else's graph.
|
|
163
|
-
*
|
|
164
|
-
* Paginate by passing back `nextCursor`, never an offset: the list changes
|
|
165
|
-
* while it is being read, and an offset silently skips or repeats rows
|
|
166
|
-
* exactly when it does.
|
|
167
|
-
*/
|
|
168
|
-
listFollows(params?: {
|
|
169
|
-
kind?: string;
|
|
170
|
-
cursor?: string;
|
|
171
|
-
limit?: number;
|
|
172
|
-
}): Promise<FollowListPage>;
|
|
173
|
-
httpService: import("../HttpService").HttpService;
|
|
174
|
-
cloudURL: string;
|
|
175
|
-
config: import("../OxyServices.base").OxyConfig;
|
|
176
|
-
__resetTokensForTests(): void;
|
|
177
|
-
makeRequest<T_1>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../HttpService").RequestOptions): Promise<T_1>;
|
|
178
|
-
getBaseURL(): string;
|
|
179
|
-
getClient(): import("../HttpService").HttpService;
|
|
180
|
-
createLinkedClient(config: import("../OxyServices.base").OxyConfig): import("..").LinkedHttpClient;
|
|
181
|
-
getMetrics(): {
|
|
182
|
-
totalRequests: number;
|
|
183
|
-
successfulRequests: number;
|
|
184
|
-
failedRequests: number;
|
|
185
|
-
cacheHits: number;
|
|
186
|
-
cacheMisses: number;
|
|
187
|
-
averageResponseTime: number;
|
|
188
|
-
};
|
|
189
|
-
clearCache(): void;
|
|
190
|
-
clearCacheEntry(key: string): void;
|
|
191
|
-
clearCacheByPrefix(prefix: string): number;
|
|
192
|
-
getCacheStats(): {
|
|
193
|
-
size: number;
|
|
194
|
-
hits: number;
|
|
195
|
-
misses: number;
|
|
196
|
-
hitRate: number;
|
|
197
|
-
};
|
|
198
|
-
getCloudURL(): string;
|
|
199
|
-
setTokens(accessToken: string): void;
|
|
200
|
-
clearTokens(): void;
|
|
201
|
-
onTokensChanged(listener: (accessToken: string | null) => void): () => void;
|
|
202
|
-
_cachedUserId: string | null | undefined;
|
|
203
|
-
_cachedAccessToken: string | null;
|
|
204
|
-
getCurrentUserId(): string | null;
|
|
205
|
-
hasValidToken(): boolean;
|
|
206
|
-
getAccessToken(): string | null;
|
|
207
|
-
getAccessTokenExpiry(): number | null;
|
|
208
|
-
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
209
|
-
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
210
|
-
maxRetries?: number;
|
|
211
|
-
retryDelay?: number;
|
|
212
|
-
authTimeoutMs?: number;
|
|
213
|
-
}): Promise<T_1>;
|
|
214
|
-
validate(): Promise<boolean>;
|
|
215
|
-
handleError(error: unknown): Error;
|
|
216
|
-
healthCheck(): Promise<{
|
|
217
|
-
status: string;
|
|
218
|
-
users?: number;
|
|
219
|
-
timestamp?: string;
|
|
220
|
-
[key: string]: any;
|
|
221
|
-
}>;
|
|
222
|
-
};
|
|
223
|
-
} & T;
|