@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.
- package/README.md +13 -7
- package/dist/cjs/HttpService.js +189 -112
- 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 +190 -113
- 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 +47 -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 -1
- 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 +201 -132
- 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 -1
- 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 -1440
- 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 -1400
- 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 -965
- 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__/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 -2028
- 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,371 +0,0 @@
|
|
|
1
|
-
import type { AccountStorageUsageResponse, AssetUploadInput, AssetUrlResponse, AssetVariant, BatchFileAccessResponse, ServiceAssetMetadata, ServiceAssetMetadataBySha, ServiceLinkedDownloadUrl } from '../models/interfaces';
|
|
2
|
-
import type { OxyServicesBase } from '../OxyServices.base';
|
|
3
|
-
export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>(Base: T): {
|
|
4
|
-
new (...args: any[]): {
|
|
5
|
-
/**
|
|
6
|
-
* Service-token request, implemented by the auth mixin earlier in the
|
|
7
|
-
* composition pipeline (see `mixins/index.ts`). The assets mixin is typed
|
|
8
|
-
* against `OxyServicesBase`, which does not carry the auth mixin's methods,
|
|
9
|
-
* so this `declare` surfaces the inherited runtime method to TypeScript
|
|
10
|
-
* without re-implementing it. Used by
|
|
11
|
-
* {@link getServiceAssetMetadataByIds} to authenticate the server-to-server
|
|
12
|
-
* `/assets/service/by-ids` bulk fetch with a bearer service token.
|
|
13
|
-
*/
|
|
14
|
-
makeServiceRequest: <R = unknown>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: unknown, userId?: string) => Promise<R>;
|
|
15
|
-
/**
|
|
16
|
-
* Delete file
|
|
17
|
-
*/
|
|
18
|
-
deleteFile(fileId: string): Promise<any>;
|
|
19
|
-
/**
|
|
20
|
-
* Build a synchronous, `<img src>`-ready URL for a **PUBLIC** Oxy asset.
|
|
21
|
-
*
|
|
22
|
-
* ## Contract — read before calling
|
|
23
|
-
*
|
|
24
|
-
* This is a pure string builder. It performs no network call and therefore
|
|
25
|
-
* has **no knowledge of the asset's visibility**. It always produces the
|
|
26
|
-
* public form: `${cloudURL}/<id>[?variant=…]`, which the CDN serves from
|
|
27
|
-
* the public media origin only.
|
|
28
|
-
*
|
|
29
|
-
* Consequently:
|
|
30
|
-
* - Call it ONLY when the asset is known to be `public` — e.g. avatars and
|
|
31
|
-
* profile banners, which {@link uploadAvatar} / {@link uploadProfileBanner}
|
|
32
|
-
* upload with `visibility: 'public'`.
|
|
33
|
-
* - For an asset that may be `private` or `unlisted` — anything uploaded
|
|
34
|
-
* through the generic {@link assetUpload} path, whose server-side default
|
|
35
|
-
* is private — this URL resolves to a hard **404**. Use
|
|
36
|
-
* {@link getFileDownloadUrlAsync}, which asks the API for a URL scoped to
|
|
37
|
-
* the current caller.
|
|
38
|
-
* - It must never guess visibility, and must never embed the caller's
|
|
39
|
-
* bearer token: the returned string is rendered into DOM attributes,
|
|
40
|
-
* browser network panels, HTTP caches, and logs.
|
|
41
|
-
*
|
|
42
|
-
* Passing `expiresIn` switches to the API-origin stream form
|
|
43
|
-
* (`${baseURL}/assets/<id>/stream?…`) WITHOUT any credential. That form
|
|
44
|
-
* still only serves what an unauthenticated request may see — it is not a
|
|
45
|
-
* synchronous private-asset path, and none exists: authorization for a
|
|
46
|
-
* private asset requires the round-trip in {@link getFileDownloadUrlAsync}.
|
|
47
|
-
*/
|
|
48
|
-
getFileDownloadUrl(fileId: string, variant?: string, expiresIn?: number): string;
|
|
49
|
-
/**
|
|
50
|
-
* Resolve an asset id to a URL that is valid for the CURRENT caller,
|
|
51
|
-
* whatever the asset's visibility.
|
|
52
|
-
*
|
|
53
|
-
* Asks the API (`GET /assets/:id/url`) rather than guessing: a `public`
|
|
54
|
-
* asset resolves to the CDN form, while a `private`/`unlisted` asset the
|
|
55
|
-
* caller may read resolves to an API-origin stream URL carrying a scoped,
|
|
56
|
-
* short-lived media token. The returned URL is passed through **unchanged**
|
|
57
|
-
* — the SDK never rewrites, re-signs, or strips it.
|
|
58
|
-
*
|
|
59
|
-
* ## Failure behaviour — no CDN fallback
|
|
60
|
-
*
|
|
61
|
-
* Throws {@link AssetUrlResolutionError} when the API returns no URL or the
|
|
62
|
-
* request fails (including 401/403/404). It deliberately does NOT fall back
|
|
63
|
-
* to {@link getFileDownloadUrl}: that builder only produces the public CDN
|
|
64
|
-
* form, so falling back would hand the caller a URL that renders as a hard
|
|
65
|
-
* 404 for every private asset and would silently swallow the real failure.
|
|
66
|
-
* A caller that knows an asset is public should call the synchronous
|
|
67
|
-
* builder directly instead of relying on a fallback here.
|
|
68
|
-
*
|
|
69
|
-
* The resolved URL is cached per identity for well under the media token's
|
|
70
|
-
* lifetime — see {@link getAssetUrlCacheTTL}.
|
|
71
|
-
*/
|
|
72
|
-
getFileDownloadUrlAsync(fileId: string, variant?: string, expiresIn?: number): Promise<string>;
|
|
73
|
-
/**
|
|
74
|
-
* List user files
|
|
75
|
-
*/
|
|
76
|
-
listUserFiles(limit?: number, offset?: number): Promise<{
|
|
77
|
-
files: any[];
|
|
78
|
-
total: number;
|
|
79
|
-
hasMore: boolean;
|
|
80
|
-
}>;
|
|
81
|
-
/**
|
|
82
|
-
* Get account storage usage (server-side usage aggregated from assets)
|
|
83
|
-
*/
|
|
84
|
-
getAccountStorageUsage(): Promise<AccountStorageUsageResponse>;
|
|
85
|
-
/**
|
|
86
|
-
* Get file content as text
|
|
87
|
-
*/
|
|
88
|
-
getFileContentAsText(fileId: string, variant?: string): Promise<string>;
|
|
89
|
-
/**
|
|
90
|
-
* Get file content as blob
|
|
91
|
-
*/
|
|
92
|
-
getFileContentAsBlob(fileId: string, variant?: string): Promise<Blob>;
|
|
93
|
-
/**
|
|
94
|
-
* Resolve access + a caller-scoped URL for many assets — each with its OWN
|
|
95
|
-
* requested variant — in ONE round trip via `POST /assets/batch-access`.
|
|
96
|
-
*
|
|
97
|
-
* `requests` is a per-file `{ fileId, variant? }` list (a `variant` of
|
|
98
|
-
* `undefined` asks for the original). `options.expiresIn` sets the requested
|
|
99
|
-
* media-token / signed-URL lifetime (seconds); `options.context` is the
|
|
100
|
-
* server-side access-check context. Entries with a blank `fileId` are
|
|
101
|
-
* dropped and exact `(fileId, variant)` duplicates are collapsed before the
|
|
102
|
-
* request; an empty effective list performs no network call.
|
|
103
|
-
*
|
|
104
|
-
* The server caps the batch at 100 entries — callers that page beyond that
|
|
105
|
-
* must chunk. Returns the raw per-file envelope (see
|
|
106
|
-
* {@link BatchFileAccessResponse}); most callers want {@link getFileDownloadUrls},
|
|
107
|
-
* which flattens it to just the usable URLs.
|
|
108
|
-
*/
|
|
109
|
-
getBatchFileAccess(requests: Array<{
|
|
110
|
-
fileId: string;
|
|
111
|
-
variant?: string;
|
|
112
|
-
}>, options?: {
|
|
113
|
-
expiresIn?: number;
|
|
114
|
-
context?: string;
|
|
115
|
-
}): Promise<BatchFileAccessResponse>;
|
|
116
|
-
/**
|
|
117
|
-
* Resolve many assets — each with its OWN variant — to caller-scoped,
|
|
118
|
-
* `<img src>`-ready URLs in one round trip. The batch counterpart of
|
|
119
|
-
* {@link getFileDownloadUrlAsync}, built to resolve a whole grid page at once.
|
|
120
|
-
*
|
|
121
|
-
* `requests` is a per-file `{ fileId, variant? }` list (e.g. `poster` for a
|
|
122
|
-
* video, `thumb` for an image); the per-file variant RULE lives in the
|
|
123
|
-
* caller — core just forwards what it is given. `options.expiresIn` /
|
|
124
|
-
* `options.context` are passed through to the endpoint.
|
|
125
|
-
*
|
|
126
|
-
* Each returned URL is the API's own scoped form, passed through unchanged:
|
|
127
|
-
* the public CDN URL for a public asset, or an API-origin
|
|
128
|
-
* `/assets/:id/stream?…&mt=<media token>` URL for a private asset the caller
|
|
129
|
-
* may read. Ids the caller cannot access (or that do not exist) are simply
|
|
130
|
-
* OMITTED from the returned map — there is NO public-CDN fallback, so a grid
|
|
131
|
-
* never renders a known-404 URL. Callers detect a miss by the absent key
|
|
132
|
-
* (the map never contains an empty-string value). Keyed by `fileId`.
|
|
133
|
-
*/
|
|
134
|
-
getFileDownloadUrls(requests: Array<{
|
|
135
|
-
fileId: string;
|
|
136
|
-
variant?: string;
|
|
137
|
-
}>, options?: {
|
|
138
|
-
expiresIn?: number;
|
|
139
|
-
context?: string;
|
|
140
|
-
}): Promise<Record<string, string>>;
|
|
141
|
-
/**
|
|
142
|
-
* Resolve many Oxy asset ids to their content-addressed metadata in one
|
|
143
|
-
* round-trip per chunk via `POST /assets/service/by-ids` (body `{ ids }`).
|
|
144
|
-
*
|
|
145
|
-
* Returns each asset's `sha256`, `mime`, byte `size`, and `status` — built
|
|
146
|
-
* for server-to-server callers (e.g. Mention's MTN Protocol blob-ref
|
|
147
|
-
* resolution) that need the content hash for an asset id. Ids are
|
|
148
|
-
* deduplicated and validated (empty/blank ids dropped) before being split
|
|
149
|
-
* into chunks of {@link SERVICE_ASSET_METADATA_CHUNK_SIZE} (the server-side
|
|
150
|
-
* cap). The server omits unknown/deleted ids from each chunk's `data`, so
|
|
151
|
-
* the merged result may be shorter than the requested id list and the caller
|
|
152
|
-
* is expected to map by `id`.
|
|
153
|
-
*
|
|
154
|
-
* **Service-token auth (required).** `/assets/service/by-ids` is guarded by
|
|
155
|
-
* `serviceAuthMiddleware` + the `files:read` scope and is called via
|
|
156
|
-
* `makeServiceRequest`, which attaches `Authorization: Bearer <serviceToken>`
|
|
157
|
-
* (the same client that calls `POST /assets/service/cache`). The calling
|
|
158
|
-
* client MUST be service-configured (`configureServiceAuth(apiKey,
|
|
159
|
-
* apiSecret)`) before invoking this method; otherwise `getServiceToken()`
|
|
160
|
-
* throws because no credentials are available. A plain user-session request
|
|
161
|
-
* is rejected by the route's service-auth guard.
|
|
162
|
-
*
|
|
163
|
-
* FAILURE IS NOT ABSENCE. The server legitimately omits unknown/deleted ids,
|
|
164
|
-
* so a short result is normal — which means a chunk that FAILED (a 429, a
|
|
165
|
-
* timeout, a 5xx) is indistinguishable from "those assets don't exist" if it
|
|
166
|
-
* simply contributes nothing. This method used to swallow a failed chunk and
|
|
167
|
-
* return the rest, so every caller silently read a throttled request as "no
|
|
168
|
-
* metadata": a backfill counted the asset as needing no update, and the
|
|
169
|
-
* signed-record builder embedded a media item with no hash. Both reported
|
|
170
|
-
* success while writing nothing, and the MTN chain's records are immutable.
|
|
171
|
-
*
|
|
172
|
-
* So a failed chunk THROWS {@link ServiceAssetMetadataError} by default,
|
|
173
|
-
* carrying the ids it could not resolve. A caller that genuinely wants
|
|
174
|
-
* best-effort opts in with `{ partial: true }` and gets the old behaviour
|
|
175
|
-
* explicitly. An empty/whitespace-only input resolves immediately with `[]`
|
|
176
|
-
* and performs no network call.
|
|
177
|
-
*
|
|
178
|
-
* Not cached at the SDK layer: it's a POST keyed on a multi-id body (low hit
|
|
179
|
-
* rate), mirroring the sibling service/POST methods which never cache.
|
|
180
|
-
*/
|
|
181
|
-
getServiceAssetMetadataByIds(ids: string[], options?: {
|
|
182
|
-
partial?: boolean;
|
|
183
|
-
}): Promise<ServiceAssetMetadata[]>;
|
|
184
|
-
/**
|
|
185
|
-
* Mint short-lived direct download URLs for files the calling application's
|
|
186
|
-
* own users attached to it, via `POST /assets/service/linked-url`.
|
|
187
|
-
*
|
|
188
|
-
* This is the ONLY path in this SDK by which a service token reaches file
|
|
189
|
-
* BYTES. {@link getServiceAssetMetadataByIds} is metadata-only, and every
|
|
190
|
-
* other download helper here — {@link getFileDownloadUrl},
|
|
191
|
-
* {@link getFileDownloadUrlAsync}, {@link getBatchFileAccess} — resolves a URL
|
|
192
|
-
* for the CURRENT USER through `makeRequest`, which is a different question: a
|
|
193
|
-
* relying service holds no user session, and the buyer whose entitlement it is
|
|
194
|
-
* enforcing is not a viewer Oxy knows anything about.
|
|
195
|
-
*
|
|
196
|
-
* **Service-token auth (required), plus the `files:linked:read` scope**, which
|
|
197
|
-
* is NOT implied by `files:read`. The calling client must be service-configured
|
|
198
|
-
* (`configureServiceAuth(apiKey, apiSecret)`); a user-session request is
|
|
199
|
-
* rejected by the route's service-auth guard.
|
|
200
|
-
*
|
|
201
|
-
* **What the server will and will not give you.** A URL comes back only for a
|
|
202
|
-
* file whose OWN OWNER linked it to this application (`file_links.created_by =
|
|
203
|
-
* files.owner_user_id`). Every other id is omitted: unknown, deleted,
|
|
204
|
-
* system-owned, linked by somebody else, or not linked here at all. So the
|
|
205
|
-
* result is routinely shorter than the input and must be mapped by `id`.
|
|
206
|
-
*
|
|
207
|
-
* ABSENCE IS A REFUSAL, NOT A FACT ABOUT THE FILE, and the caller is the only
|
|
208
|
-
* party that can tell the difference. The route deliberately cannot — it
|
|
209
|
-
* answers identically for "no such file" and "not yours" so it leaks nothing —
|
|
210
|
-
* which means a service must decide what to tell its user from its OWN
|
|
211
|
-
* entitlement record, never from this response. Do not surface "file not
|
|
212
|
-
* found" on the strength of an omission.
|
|
213
|
-
*
|
|
214
|
-
* FAILURE IS NOT ABSENCE EITHER, and here it cannot be opted out of: a failed
|
|
215
|
-
* chunk throws {@link ServiceLinkedDownloadUrlError} carrying its ids, with no
|
|
216
|
-
* `{ partial: true }` mode. Swallowing a 429 would tell a user who paid for a
|
|
217
|
-
* file that it is not there. An empty input resolves to `[]` with no network
|
|
218
|
-
* call.
|
|
219
|
-
*
|
|
220
|
-
* Never cached at the SDK layer, and that is a stronger statement than the
|
|
221
|
-
* sibling methods' "low hit rate": each entry is a live credential for the
|
|
222
|
-
* bytes, so caching one keeps it usable after the service has decided the
|
|
223
|
-
* caller's entitlement ended.
|
|
224
|
-
*/
|
|
225
|
-
getServiceLinkedDownloadUrls(ids: string[]): Promise<ServiceLinkedDownloadUrl[]>;
|
|
226
|
-
/**
|
|
227
|
-
* Reverse content-address lookup: resolve many content `sha256` digests to
|
|
228
|
-
* the servable Oxy asset holding each, in one round-trip per chunk via
|
|
229
|
-
* `POST /assets/service/by-sha256` (body `{ sha256s }`).
|
|
230
|
-
*
|
|
231
|
-
* This is the INVERSE of {@link getServiceAssetMetadataByIds}: given a
|
|
232
|
-
* record's `blob.sha256`, it returns the asset's `id`, `mime`, byte `size`,
|
|
233
|
-
* `status`, and — for active, public, CDN-reachable assets only — a public
|
|
234
|
-
* `url` (`cloud.oxy.so`). Built for server-to-server callers (e.g. Mention's
|
|
235
|
-
* MTN materializer / node-blob sync) that hold a content hash and need to
|
|
236
|
-
* map it back to a servable asset. Hashes are lowercased, validated against
|
|
237
|
-
* a 64-char hex pattern (malformed entries dropped client-side), and
|
|
238
|
-
* deduplicated before being split into chunks of
|
|
239
|
-
* {@link SERVICE_ASSET_METADATA_BY_SHA_CHUNK_SIZE} (the server-side cap). The
|
|
240
|
-
* server omits unknown/deleted hashes from each chunk's `data`, so the
|
|
241
|
-
* merged result may be shorter than the requested list and the caller is
|
|
242
|
-
* expected to map by `sha256`.
|
|
243
|
-
*
|
|
244
|
-
* **Service-token auth (required).** `/assets/service/by-sha256` is guarded
|
|
245
|
-
* by `serviceAuthMiddleware` + the `files:read` scope and is called via
|
|
246
|
-
* `makeServiceRequest` (`Authorization: Bearer <serviceToken>`, `cache:false`).
|
|
247
|
-
* The calling client MUST be service-configured (`configureServiceAuth`)
|
|
248
|
-
* before invoking; a plain user-session request is rejected by the route's
|
|
249
|
-
* service-auth guard.
|
|
250
|
-
*
|
|
251
|
-
* Resilience: chunks are independent. A failed chunk is logged and skipped —
|
|
252
|
-
* every entry that resolved is still returned. An empty input (or one whose
|
|
253
|
-
* every value is malformed) resolves immediately with `[]` and performs no
|
|
254
|
-
* network call.
|
|
255
|
-
*
|
|
256
|
-
* Not cached at the SDK layer: it's a POST keyed on a multi-hash body (low
|
|
257
|
-
* hit rate), mirroring the sibling service/POST methods which never cache.
|
|
258
|
-
*/
|
|
259
|
-
getServiceAssetMetadataBySha256(sha256s: string[]): Promise<ServiceAssetMetadataBySha[]>;
|
|
260
|
-
/**
|
|
261
|
-
* Upload raw file data
|
|
262
|
-
*/
|
|
263
|
-
uploadRawFile(file: AssetUploadInput, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
|
|
264
|
-
/**
|
|
265
|
-
* Upload file using Central Asset Service.
|
|
266
|
-
*
|
|
267
|
-
* Accepts either a web File/Blob or a React Native file descriptor
|
|
268
|
-
* ({uri, type, name, size}). RN descriptors are passed directly to
|
|
269
|
-
* FormData.append, which handles them natively.
|
|
270
|
-
*/
|
|
271
|
-
assetUpload(file: AssetUploadInput, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>, onProgress?: (progress: number) => void): Promise<any>;
|
|
272
|
-
/**
|
|
273
|
-
* Link asset to an entity
|
|
274
|
-
*/
|
|
275
|
-
assetLink(fileId: string, app: string, entityType: string, entityId: string, visibility?: "private" | "public" | "unlisted", webhookUrl?: string): Promise<any>;
|
|
276
|
-
/**
|
|
277
|
-
* Unlink asset from an entity
|
|
278
|
-
*/
|
|
279
|
-
assetUnlink(fileId: string, app: string, entityType: string, entityId: string): Promise<any>;
|
|
280
|
-
/**
|
|
281
|
-
* Get asset metadata
|
|
282
|
-
*/
|
|
283
|
-
assetGet(fileId: string): Promise<any>;
|
|
284
|
-
/**
|
|
285
|
-
* Get asset URL (CDN or signed URL)
|
|
286
|
-
*/
|
|
287
|
-
assetGetUrl(fileId: string, variant?: string, expiresIn?: number): Promise<AssetUrlResponse>;
|
|
288
|
-
/**
|
|
289
|
-
* Restore asset from trash
|
|
290
|
-
*/
|
|
291
|
-
assetRestore(fileId: string): Promise<any>;
|
|
292
|
-
/**
|
|
293
|
-
* Delete asset with optional force
|
|
294
|
-
*/
|
|
295
|
-
assetDelete(fileId: string, force?: boolean): Promise<any>;
|
|
296
|
-
/**
|
|
297
|
-
* Get list of available variants for an asset
|
|
298
|
-
*/
|
|
299
|
-
assetGetVariants(fileId: string): Promise<AssetVariant[]>;
|
|
300
|
-
/**
|
|
301
|
-
* Update asset visibility
|
|
302
|
-
*/
|
|
303
|
-
assetUpdateVisibility(fileId: string, visibility: "private" | "public" | "unlisted"): Promise<any>;
|
|
304
|
-
uploadAvatar(file: AssetUploadInput, userId: string, app?: string): Promise<any>;
|
|
305
|
-
uploadProfileBanner(file: AssetUploadInput, userId: string, app?: string): Promise<any>;
|
|
306
|
-
/**
|
|
307
|
-
* How long a resolved asset URL may stay in the SDK's GET cache, in ms.
|
|
308
|
-
*
|
|
309
|
-
* A resolved private-asset URL dies the instant its scoped media token
|
|
310
|
-
* expires (~{@link ASSET_MEDIA_TOKEN_TTL_MS}). Caching it for its full
|
|
311
|
-
* nominal lifetime would leave a window where the cache serves an
|
|
312
|
-
* already-dead URL (clock skew, render-pipeline latency, an image request
|
|
313
|
-
* queued behind others). So the TTL is (a) never longer than the token's
|
|
314
|
-
* lifetime and (b) discounted to {@link ASSET_URL_CACHE_LIFETIME_FRACTION}
|
|
315
|
-
* of that bound — comfortably below the token TTL by construction.
|
|
316
|
-
*/
|
|
317
|
-
getAssetUrlCacheTTL(expiresIn?: number): number;
|
|
318
|
-
fetchAssetDownloadUrl(fileId: string, variant?: string, cacheTTL?: number, expiresIn?: number): Promise<string | null>;
|
|
319
|
-
fetchAssetContent(url: string, type: "text"): Promise<string>;
|
|
320
|
-
fetchAssetContent(url: string, type: "blob"): Promise<Blob>;
|
|
321
|
-
httpService: import("../HttpService").HttpService;
|
|
322
|
-
cloudURL: string;
|
|
323
|
-
config: import("../OxyServices.base").OxyConfig;
|
|
324
|
-
__resetTokensForTests(): void;
|
|
325
|
-
makeRequest<T_1>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../HttpService").RequestOptions): Promise<T_1>;
|
|
326
|
-
getBaseURL(): string;
|
|
327
|
-
getClient(): import("../HttpService").HttpService;
|
|
328
|
-
createLinkedClient(config: import("../OxyServices.base").OxyConfig): import("..").LinkedHttpClient;
|
|
329
|
-
getMetrics(): {
|
|
330
|
-
totalRequests: number;
|
|
331
|
-
successfulRequests: number;
|
|
332
|
-
failedRequests: number;
|
|
333
|
-
cacheHits: number;
|
|
334
|
-
cacheMisses: number;
|
|
335
|
-
averageResponseTime: number;
|
|
336
|
-
};
|
|
337
|
-
clearCache(): void;
|
|
338
|
-
clearCacheEntry(key: string): void;
|
|
339
|
-
clearCacheByPrefix(prefix: string): number;
|
|
340
|
-
getCacheStats(): {
|
|
341
|
-
size: number;
|
|
342
|
-
hits: number;
|
|
343
|
-
misses: number;
|
|
344
|
-
hitRate: number;
|
|
345
|
-
};
|
|
346
|
-
getCloudURL(): string;
|
|
347
|
-
setTokens(accessToken: string): void;
|
|
348
|
-
clearTokens(): void;
|
|
349
|
-
onTokensChanged(listener: (accessToken: string | null) => void): () => void;
|
|
350
|
-
_cachedUserId: string | null | undefined;
|
|
351
|
-
_cachedAccessToken: string | null;
|
|
352
|
-
getCurrentUserId(): string | null;
|
|
353
|
-
hasValidToken(): boolean;
|
|
354
|
-
getAccessToken(): string | null;
|
|
355
|
-
getAccessTokenExpiry(): number | null;
|
|
356
|
-
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
357
|
-
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
358
|
-
maxRetries?: number;
|
|
359
|
-
retryDelay?: number;
|
|
360
|
-
authTimeoutMs?: number;
|
|
361
|
-
}): Promise<T_1>;
|
|
362
|
-
validate(): Promise<boolean>;
|
|
363
|
-
handleError(error: unknown): Error;
|
|
364
|
-
healthCheck(): Promise<{
|
|
365
|
-
status: string;
|
|
366
|
-
users?: number;
|
|
367
|
-
timestamp?: string;
|
|
368
|
-
[key: string]: any;
|
|
369
|
-
}>;
|
|
370
|
-
};
|
|
371
|
-
} & T;
|