@oxy.so/services 4.0.2 → 4.0.4
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/lib/commonjs/ui/context/OxyContext.js +52 -20
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/runtime/createOxyRuntime.js +16 -0
- package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -1
- package/lib/commonjs/ui/session/tokenLossRecovery.js +122 -0
- package/lib/commonjs/ui/session/tokenLossRecovery.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +53 -21
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/runtime/createOxyRuntime.js +16 -0
- package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -1
- package/lib/module/ui/session/tokenLossRecovery.js +116 -0
- package/lib/module/ui/session/tokenLossRecovery.js.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts +7 -2
- package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/tokenLossRecovery.d.ts +37 -0
- package/lib/typescript/commonjs/ui/session/tokenLossRecovery.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts +7 -2
- package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/tokenLossRecovery.d.ts +37 -0
- package/lib/typescript/module/ui/session/tokenLossRecovery.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/ui/context/OxyContext.tsx +53 -23
- package/src/ui/runtime/createOxyRuntime.ts +23 -2
- package/src/ui/session/__tests__/tokenLossRecovery.test.ts +195 -0
- package/src/ui/session/tokenLossRecovery.ts +146 -0
|
@@ -12,7 +12,8 @@ import { requestOAuthConsent } from "../oauth/explicitOAuthConsent.js";
|
|
|
12
12
|
import { isWebBrowser } from "../utils/isWebBrowser.js";
|
|
13
13
|
import { resolveDeliveryPlatform } from "../utils/deliveryPlatform.js";
|
|
14
14
|
import { runProviderColdBoot } from "../boot/runProviderColdBoot.js";
|
|
15
|
-
import { loadPersistedDeviceCredential } from "../utils/deviceCredential.js";
|
|
15
|
+
import { hasPersistedDeviceCredential, loadPersistedDeviceCredential } from "../utils/deviceCredential.js";
|
|
16
|
+
import { createTokenLossRecovery } from "../session/tokenLossRecovery.js";
|
|
16
17
|
import { bindAuthStoreToRuntime } from "../stores/authStore.js";
|
|
17
18
|
import { useLanguageManagement } from "../hooks/useLanguageManagement.js";
|
|
18
19
|
import { useSessionManagement } from "../hooks/useSessionManagement.js";
|
|
@@ -445,14 +446,52 @@ export const OxyRuntimeProvider = ({
|
|
|
445
446
|
logger
|
|
446
447
|
});
|
|
447
448
|
|
|
448
|
-
// Token-change side effects
|
|
449
|
-
//
|
|
450
|
-
//
|
|
451
|
-
//
|
|
452
|
-
//
|
|
453
|
-
//
|
|
449
|
+
// Token-change side effects. HttpService clears the bearer and emits `null`
|
|
450
|
+
// when a request draws a 401 its refresh could not answer — which happens on a
|
|
451
|
+
// transient failure (network, a cooling-down or rate-limited mint) as well as
|
|
452
|
+
// on a real revocation. A signed-in user is therefore NOT signed out on the
|
|
453
|
+
// spot: `tokenLossRecovery` keeps the session while the durable device
|
|
454
|
+
// credential survives and re-mints it, the way a relaunch would, and signs out
|
|
455
|
+
// only once the refresh handler has dropped that credential on a definitive
|
|
456
|
+
// server verdict (OxyHQ/Mention#1140). Until a token is back, `tokenReady` is
|
|
457
|
+
// false, so private queries wait instead of 401-ing.
|
|
454
458
|
const clearingInvalidTokenRef = useRef(false);
|
|
455
459
|
useEffect(() => {
|
|
460
|
+
const signOutLocally = async () => {
|
|
461
|
+
if (clearingInvalidTokenRef.current) {
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
clearingInvalidTokenRef.current = true;
|
|
465
|
+
try {
|
|
466
|
+
await clearSessionStateRef.current();
|
|
467
|
+
} catch (clearError) {
|
|
468
|
+
logger('Failed to clear invalidated auth session', clearError);
|
|
469
|
+
} finally {
|
|
470
|
+
clearingInvalidTokenRef.current = false;
|
|
471
|
+
if (runtime.getSnapshot().authResolved) {
|
|
472
|
+
runtime.setTokenReady(true);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
};
|
|
476
|
+
const recovery = createTokenLossRecovery({
|
|
477
|
+
remint: () => oxyServices.httpService.refreshAccessToken('preflight'),
|
|
478
|
+
hasDeviceCredential: () => hasPersistedDeviceCredential(authStore),
|
|
479
|
+
hasKeyedRecovery: async () => {
|
|
480
|
+
if (Platform.OS === 'web') {
|
|
481
|
+
return false;
|
|
482
|
+
}
|
|
483
|
+
try {
|
|
484
|
+
// The same keys the refresh handler's second arm signs with: the
|
|
485
|
+
// identity-bound client's own key, or the cross-app shared identity.
|
|
486
|
+
return identity ? await KeyManager.hasIdentity() : await KeyManager.hasSharedIdentity();
|
|
487
|
+
} catch {
|
|
488
|
+
return false;
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
isSignedIn: () => runtime.getSnapshot().account !== null,
|
|
492
|
+
hasToken: () => Boolean(oxyServices.getAccessToken()),
|
|
493
|
+
signOutLocally
|
|
494
|
+
});
|
|
456
495
|
const handleTokenChange = accessToken => {
|
|
457
496
|
runtime.setHasAccessToken(Boolean(accessToken));
|
|
458
497
|
if (accessToken) {
|
|
@@ -464,18 +503,7 @@ export const OxyRuntimeProvider = ({
|
|
|
464
503
|
}
|
|
465
504
|
if (runtime.getSnapshot().account !== null) {
|
|
466
505
|
runtime.setTokenReady(false);
|
|
467
|
-
|
|
468
|
-
return;
|
|
469
|
-
}
|
|
470
|
-
clearingInvalidTokenRef.current = true;
|
|
471
|
-
clearSessionStateRef.current().catch(clearError => {
|
|
472
|
-
logger('Failed to clear invalidated auth session', clearError);
|
|
473
|
-
}).finally(() => {
|
|
474
|
-
clearingInvalidTokenRef.current = false;
|
|
475
|
-
if (runtime.getSnapshot().authResolved) {
|
|
476
|
-
runtime.setTokenReady(true);
|
|
477
|
-
}
|
|
478
|
-
});
|
|
506
|
+
recovery.start();
|
|
479
507
|
return;
|
|
480
508
|
}
|
|
481
509
|
if (runtime.getSnapshot().authResolved) {
|
|
@@ -483,8 +511,12 @@ export const OxyRuntimeProvider = ({
|
|
|
483
511
|
}
|
|
484
512
|
};
|
|
485
513
|
handleTokenChange(oxyServices.getAccessToken());
|
|
486
|
-
|
|
487
|
-
|
|
514
|
+
const unsubscribe = oxyServices.onTokensChanged(handleTokenChange);
|
|
515
|
+
return () => {
|
|
516
|
+
unsubscribe();
|
|
517
|
+
recovery.dispose();
|
|
518
|
+
};
|
|
519
|
+
}, [logger, oxyServices, runtime, sessionClient, authStore, identity]);
|
|
488
520
|
|
|
489
521
|
// Unified in-session refresh (SDK-owned; every RP inherits it). Installs the
|
|
490
522
|
// ONE core refresh handler (re-mint from the persisted zero-cookie device
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","Platform","OxyServices","oxyClient","KeyManager","establishIdentitySession","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","registerAccountDialogControls","notifyAccountDialogVisibility","redirectToAuthorize","openPasskeyHubPopup","startWebOAuthSignIn","requestOAuthConsent","isWebBrowser","resolveDeliveryPlatform","runProviderColdBoot","loadPersistedDeviceCredential","bindAuthStoreToRuntime","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","presentDetached","topRouteSurface","useQueryClient","onlineManager","clearQueryCache","useAvatarPicker","resetSessionScopedStores","ASSET_DOWNLOAD_URLS_QUERY_KEY","createOxyRuntime","OxyRuntimeHandleProvider","useRuntimeSnapshot","createSessionClient","createIdentitySessionBinding","createPlatformAuthStateStore","IdentityBoundSessionError","useBackgroundSessionSync","DEFAULT_SESSION_VALIDITY_MS","useFollow","commitDeviceSetAndResolve","runPasskeyLogin","runPasskeyAdd","isPasskeySupported","runRegistrationCeremony","runAuthenticationCeremony","queryKeys","useOxyAccountGraph","jsx","_jsx","OxyRuntimeContext","OxyAuthActionsContext","OxyRuntimeProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","authorizeBaseUrl","storageKeyPrefix","clientId","clientIdProp","sessionMode","webAuthMode","backgroundSession","deviceCredentialStorage","platformStorage","onAuthStateChange","onError","oxyServicesRef","current","Error","authStoreRef","storage","authStore","identityRef","identity","isIdentityBound","message","err","__DEV__","warn","component","sessionClientPairRef","origin","clearSessionStateRef","catch","clearError","getPinnedAccountId","client","sessionClient","host","sessionClientHost","Promise","resolve","saveSessionIdsRef","undefined","subjectChangeRef","reestablishRef","runtimeRef","onSubjectChange","transition","onDeviceEmpty","onSessionsProjected","sessionIds","onIdentityUnbound","binding","revision","runtime","snapshot","account","user","sessions","activeSessionId","isLoading","tokenReady","hasAccessToken","authResolved","isAuthenticated","error","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","start","applyToSingleton","accessToken","setTokens","clearTokens","getAccessToken","onTokensChanged","storageKeys","trimmed","trim","storageRef","setStorage","buildStorageDeferred","promise","res","storageReadyRef","storageReady","mounted","storagePromise","then","storageInstance","setStorageReady","code","status","currentLanguage","languages","currentLanguages","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","languageKey","language","queryClient","saveSessionIds","switchSession","clearSessionState","saveActiveSessionId","setAuthError","setError","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","setTokenReady","ready","identityEstablishRef","inFlight","reestablishIdentitySession","tracker","established","oxy","store","refreshPinnedAccountId","bootstrap","establishError","finally","syncFromClient","reconcileFromClient","syncFromClientRef","syncDeviceCredentialToHost","cred","setDeviceCredential","signIn","logout","logoutAll","identityBinding","revokeSuspiciousSignIn","clearAllAccountData","clear","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","clearingInvalidTokenRef","handleTokenChange","setHasAccessToken","Boolean","getState","accounts","length","getSnapshot","dispose","scheduler","commitSession","input","options","deviceState","adoptState","deviceId","deviceSecret","prior","load","next","sessionId","userId","expiresAt","save","persistError","now","Date","batch","mergeSessions","getTime","toISOString","lastActive","isCurrent","merge","setActiveSessionId","activate","hasDeviceState","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","getCurrentUser","loginSuccess","fullUser","setAccount","commitSessionRef","handleWebSession","session","id","startWebOAuthSignInForContext","mode","identityBound","requestOAuthConsentForContext","platform","OS","expectedUserId","handleWebSessionRef","accountDialogSurfaceRef","accountDialogHostRef","dismissAccountDialogSurface","goBack","dismiss","accountDialogControllerRef","onSignedIn","openUrl","url","openURL","canOpenApp","canOpenURL","openPopup","accountDialogController","openAccountDialog","view","method","nextView","setView","navigate","initialView","instance","placement","base","md","dismissOnBackdrop","maxWidth","result","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPasskey","opts","persisted","isSupported","getLoginOptions","username","webauthnLoginOptions","runCeremony","loginVerify","response","envelope","webauthnLoginVerify","commit","deviceName","deviceFingerprint","addPasskey","params","getRegisterOptions","webauthnRegisterOptions","registerVerify","webauthnRegisterVerify","onLinked","invalidateQueries","queryKey","authMethods","all","removePasskey","credentialId","runColdBoot","ensurePinnedAccountId","onVisibility","document","visibilityState","reconcile","getDeviceCredential","httpService","refreshAccessToken","addEventListener","removeEventListener","previousOnline","isOnline","subscribe","online","wasOffline","refreshSessionsForContext","switchSessionForContext","targetAccountId","find","accountId","switchAccount","activeUser","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","refreshAccounts","switchToAccount","createAccount","createAccountFn","handleSubjectChange","previous","removeQueries","canUsePrivateApi","isPrivateApiPending","enabled","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","isAccountDialogOpen","authActionsValue","value","Provider","PROVIDER_MISSING_ERROR_MESSAGE","OxyProviderMissingError","constructor","name","useOxy","context","useOptionalOxy","useOxyAuthActions","actions"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","Platform","OxyServices","oxyClient","KeyManager","establishIdentitySession","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","registerAccountDialogControls","notifyAccountDialogVisibility","redirectToAuthorize","openPasskeyHubPopup","startWebOAuthSignIn","requestOAuthConsent","isWebBrowser","resolveDeliveryPlatform","runProviderColdBoot","hasPersistedDeviceCredential","loadPersistedDeviceCredential","createTokenLossRecovery","bindAuthStoreToRuntime","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","presentDetached","topRouteSurface","useQueryClient","onlineManager","clearQueryCache","useAvatarPicker","resetSessionScopedStores","ASSET_DOWNLOAD_URLS_QUERY_KEY","createOxyRuntime","OxyRuntimeHandleProvider","useRuntimeSnapshot","createSessionClient","createIdentitySessionBinding","createPlatformAuthStateStore","IdentityBoundSessionError","useBackgroundSessionSync","DEFAULT_SESSION_VALIDITY_MS","useFollow","commitDeviceSetAndResolve","runPasskeyLogin","runPasskeyAdd","isPasskeySupported","runRegistrationCeremony","runAuthenticationCeremony","queryKeys","useOxyAccountGraph","jsx","_jsx","OxyRuntimeContext","OxyAuthActionsContext","OxyRuntimeProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","authorizeBaseUrl","storageKeyPrefix","clientId","clientIdProp","sessionMode","webAuthMode","backgroundSession","deviceCredentialStorage","platformStorage","onAuthStateChange","onError","oxyServicesRef","current","Error","authStoreRef","storage","authStore","identityRef","identity","isIdentityBound","message","err","__DEV__","warn","component","sessionClientPairRef","origin","clearSessionStateRef","catch","clearError","getPinnedAccountId","client","sessionClient","host","sessionClientHost","Promise","resolve","saveSessionIdsRef","undefined","subjectChangeRef","reestablishRef","runtimeRef","onSubjectChange","transition","onDeviceEmpty","onSessionsProjected","sessionIds","onIdentityUnbound","binding","revision","runtime","snapshot","account","user","sessions","activeSessionId","isLoading","tokenReady","hasAccessToken","authResolved","isAuthenticated","error","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","start","applyToSingleton","accessToken","setTokens","clearTokens","getAccessToken","onTokensChanged","storageKeys","trimmed","trim","storageRef","setStorage","buildStorageDeferred","promise","res","storageReadyRef","storageReady","mounted","storagePromise","then","storageInstance","setStorageReady","code","status","currentLanguage","languages","currentLanguages","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","languageKey","language","queryClient","saveSessionIds","switchSession","clearSessionState","saveActiveSessionId","setAuthError","setError","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","setTokenReady","ready","identityEstablishRef","inFlight","reestablishIdentitySession","tracker","established","oxy","store","refreshPinnedAccountId","bootstrap","establishError","finally","syncFromClient","reconcileFromClient","syncFromClientRef","syncDeviceCredentialToHost","cred","setDeviceCredential","signIn","logout","logoutAll","identityBinding","revokeSuspiciousSignIn","clearAllAccountData","clear","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","clearingInvalidTokenRef","signOutLocally","getSnapshot","recovery","remint","httpService","refreshAccessToken","hasDeviceCredential","hasKeyedRecovery","OS","hasIdentity","hasSharedIdentity","isSignedIn","hasToken","Boolean","handleTokenChange","setHasAccessToken","getState","accounts","length","unsubscribe","dispose","scheduler","commitSession","input","options","deviceState","adoptState","deviceId","deviceSecret","prior","load","next","sessionId","userId","expiresAt","save","persistError","now","Date","batch","mergeSessions","getTime","toISOString","lastActive","isCurrent","merge","setActiveSessionId","activate","hasDeviceState","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","getCurrentUser","loginSuccess","fullUser","setAccount","commitSessionRef","handleWebSession","session","id","startWebOAuthSignInForContext","mode","identityBound","requestOAuthConsentForContext","platform","expectedUserId","handleWebSessionRef","accountDialogSurfaceRef","accountDialogHostRef","dismissAccountDialogSurface","goBack","dismiss","accountDialogControllerRef","onSignedIn","openUrl","url","openURL","canOpenApp","canOpenURL","openPopup","accountDialogController","openAccountDialog","view","method","nextView","setView","navigate","initialView","instance","placement","base","md","dismissOnBackdrop","maxWidth","result","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPasskey","opts","persisted","isSupported","getLoginOptions","username","webauthnLoginOptions","runCeremony","loginVerify","response","envelope","webauthnLoginVerify","commit","deviceName","deviceFingerprint","addPasskey","params","getRegisterOptions","webauthnRegisterOptions","registerVerify","webauthnRegisterVerify","onLinked","invalidateQueries","queryKey","authMethods","all","removePasskey","credentialId","runColdBoot","ensurePinnedAccountId","onVisibility","document","visibilityState","reconcile","getDeviceCredential","addEventListener","removeEventListener","previousOnline","isOnline","subscribe","online","wasOffline","refreshSessionsForContext","switchSessionForContext","targetAccountId","find","accountId","switchAccount","activeUser","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","refreshAccounts","switchToAccount","createAccount","createAccountFn","handleSubjectChange","previous","removeQueries","canUsePrivateApi","isPrivateApiPending","enabled","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","isAccountDialogOpen","authActionsValue","value","Provider","PROVIDER_MISSING_ERROR_MESSAGE","OxyProviderMissingError","constructor","name","useOxy","context","useOptionalOxy","useOxyAuthActions","actions"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -101,6 +101,14 @@ export function createOxyRuntime(config) {
|
|
|
101
101
|
let dirty = false;
|
|
102
102
|
/** The subject as it stood when the OUTERMOST transition opened. */
|
|
103
103
|
let subjectAtEntry = null;
|
|
104
|
+
/**
|
|
105
|
+
* Bumped by every local teardown. A projection captures it before its first
|
|
106
|
+
* await and discards itself if it moved: the revision guard alone cannot see
|
|
107
|
+
* a sign-out, because a local teardown (the token-null lane, a `logoutAll`
|
|
108
|
+
* whose device call already failed) leaves `SessionClient` holding the SAME
|
|
109
|
+
* state, at the same revision, that the projection was started for.
|
|
110
|
+
*/
|
|
111
|
+
let sessionGeneration = 0;
|
|
104
112
|
function buildSnapshot() {
|
|
105
113
|
const activeContext = resolveActiveContext(facts.directory);
|
|
106
114
|
return Object.freeze({
|
|
@@ -236,6 +244,7 @@ export function createOxyRuntime(config) {
|
|
|
236
244
|
// profile fetch if a fresher state has landed — last-writer-wins, so two
|
|
237
245
|
// overlapping projections can never publish in the wrong order.
|
|
238
246
|
const capturedRevision = state.revision;
|
|
247
|
+
const capturedGeneration = sessionGeneration;
|
|
239
248
|
// Resolve the pin BEFORE the fetch (memoised: one storage + keychain read
|
|
240
249
|
// per boot) so the first pass over a freshly applied state is already bound.
|
|
241
250
|
// Deferring it would let a sibling app's switch render once as this
|
|
@@ -249,6 +258,12 @@ export function createOxyRuntime(config) {
|
|
|
249
258
|
logger('Failed to resolve account profiles during the device projection', fetchError);
|
|
250
259
|
return;
|
|
251
260
|
}
|
|
261
|
+
if (capturedGeneration !== sessionGeneration) {
|
|
262
|
+
// Signed out while the profiles were in flight. Committing now would put
|
|
263
|
+
// the account back on a device with no bearer — the "Hi <old user>"
|
|
264
|
+
// greeting to a signed-out visitor.
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
252
267
|
const latest = sessionClient.getState();
|
|
253
268
|
if (!latest || latest.revision !== capturedRevision) {
|
|
254
269
|
return;
|
|
@@ -414,6 +429,7 @@ export function createOxyRuntime(config) {
|
|
|
414
429
|
});
|
|
415
430
|
},
|
|
416
431
|
clearSession() {
|
|
432
|
+
sessionGeneration += 1;
|
|
417
433
|
transition(() => {
|
|
418
434
|
setSessions(EMPTY_SESSIONS);
|
|
419
435
|
setActiveSessionIdFact(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["accountIdsOf","activeSessionIdOf","activeUserOf","deviceStateToClientSessions","mergeSessions","mergeSessionLists","normalizeAndSortSessions","normalizeUserIdentity","resolveActiveContext","sessionsArraysEqual","EMPTY_SESSIONS","deriveStatus","facts","authResolved","account","error","deriveTokenStatus","hasAccessToken","tokenReady","derivePrincipal","activeContext","profiles","get","actor","userId","createOxyRuntime","config","oxyServices","sessionClient","sessionClientHost","identity","onSubjectChange","onDeviceEmpty","onSessionsProjected","onIdentityUnbound","logger","deviceState","directory","Map","sessions","activeSessionId","pinnedAccountId","isLoading","storageReady","Boolean","getAccessToken","switching","listeners","Set","snapshot","buildSnapshot","depth","dirty","subjectAtEntry","Object","freeze","status","device","principal","tokenStatus","message","code","notify","listener","transition","mutate","id","nextSubject","previous","next","touch","setSessions","setActiveSessionIdFact","sessionId","setAccountFact","user","reconcileFromClient","state","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ensurePinnedAccountId","ids","users","getUsersByIds","fetchError","latest","getDirectory","resolved","set","projected","map","session","activeUser","activeAccountId","getSnapshot","subscribe","add","delete","start","catch","batch","activateContext","contextId","setSwitching","signOutContext","signOutPrincipal","principalId","refreshDirectory","setAccount","setLoading","loading","setError","setStorageReady","ready","setTokenReady","setHasAccessToken","has","markAuthResolved","incoming","options","processed","merge","preserveSessionIds","setActiveSessionId","clearSession"],"sourceRoot":"../../../../src","sources":["ui/runtime/createOxyRuntime.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["accountIdsOf","activeSessionIdOf","activeUserOf","deviceStateToClientSessions","mergeSessions","mergeSessionLists","normalizeAndSortSessions","normalizeUserIdentity","resolveActiveContext","sessionsArraysEqual","EMPTY_SESSIONS","deriveStatus","facts","authResolved","account","error","deriveTokenStatus","hasAccessToken","tokenReady","derivePrincipal","activeContext","profiles","get","actor","userId","createOxyRuntime","config","oxyServices","sessionClient","sessionClientHost","identity","onSubjectChange","onDeviceEmpty","onSessionsProjected","onIdentityUnbound","logger","deviceState","directory","Map","sessions","activeSessionId","pinnedAccountId","isLoading","storageReady","Boolean","getAccessToken","switching","listeners","Set","snapshot","buildSnapshot","depth","dirty","subjectAtEntry","sessionGeneration","Object","freeze","status","device","principal","tokenStatus","message","code","notify","listener","transition","mutate","id","nextSubject","previous","next","touch","setSessions","setActiveSessionIdFact","sessionId","setAccountFact","user","reconcileFromClient","state","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","capturedGeneration","ensurePinnedAccountId","ids","users","getUsersByIds","fetchError","latest","getDirectory","resolved","set","projected","map","session","activeUser","activeAccountId","getSnapshot","subscribe","add","delete","start","catch","batch","activateContext","contextId","setSwitching","signOutContext","signOutPrincipal","principalId","refreshDirectory","setAccount","setLoading","loading","setError","setStorageReady","ready","setTokenReady","setHasAccessToken","has","markAuthResolved","incoming","options","processed","merge","preserveSessionIds","setActiveSessionId","clearSession"],"sourceRoot":"../../../../src","sources":["ui/runtime/createOxyRuntime.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* What a signed-in app does when its access token disappears at runtime.
|
|
5
|
+
*
|
|
6
|
+
* `HttpService` clears the bearer when a request draws a 401 and the refresh it
|
|
7
|
+
* then tries returns nothing. That refresh can return nothing for reasons that
|
|
8
|
+
* say NOTHING about the session: the mint is cooling down after a failure or a
|
|
9
|
+
* 429, the network dropped, the server was restarting. The provider used to read
|
|
10
|
+
* every such clear as a sign-out and tore the session down on the spot — and
|
|
11
|
+
* because the proactive refresh scheduler only runs while a token exists, nothing
|
|
12
|
+
* was left to bring the session back. Only a relaunch did, because the cold boot
|
|
13
|
+
* mints from the durable device credential that had been there all along
|
|
14
|
+
* (OxyHQ/Mention#1140).
|
|
15
|
+
*
|
|
16
|
+
* So a lost token is a question, and this answers it the way a relaunch would:
|
|
17
|
+
*
|
|
18
|
+
* - The durable store still holds the device credential → the session is NOT
|
|
19
|
+
* known to be over. Keep the user signed in (private queries pause, because
|
|
20
|
+
* there is no bearer) and re-mint with backoff until one succeeds. A
|
|
21
|
+
* definitive server verdict (`invalid_device_secret`, `no_active_session`)
|
|
22
|
+
* makes the refresh handler drop or clear that credential, which is what ends
|
|
23
|
+
* this loop in a sign-out — so a real revocation still signs out.
|
|
24
|
+
* - No credential, but a key-based lane can still re-establish (the native
|
|
25
|
+
* shared identity, or an identity-bound client's own key) → try that a few
|
|
26
|
+
* times, as the cold boot's shared-key step would, then sign out.
|
|
27
|
+
* - Neither → the session is over. Sign out now, as before.
|
|
28
|
+
*
|
|
29
|
+
* Framework-free and clock-injectable so the policy is unit tested without a
|
|
30
|
+
* provider.
|
|
31
|
+
*/
|
|
32
|
+
import { logger } from '@oxy.so/core';
|
|
33
|
+
/**
|
|
34
|
+
* Delays between re-mint attempts while the device credential is intact. Starts
|
|
35
|
+
* near the post-failure refresh cooldowns and settles at one attempt a minute,
|
|
36
|
+
* which also respects the mint's own 60s rate-limit cooldown.
|
|
37
|
+
*/
|
|
38
|
+
export const TOKEN_RECOVERY_BACKOFF_MS = [2_000, 5_000, 10_000, 20_000, 30_000, 60_000];
|
|
39
|
+
|
|
40
|
+
/** Attempts through a key-based lane once the device credential is gone. */
|
|
41
|
+
export const MAX_KEYED_RECOVERY_ATTEMPTS = 3;
|
|
42
|
+
const defaultSleep = ms => new Promise(resolve => {
|
|
43
|
+
setTimeout(resolve, ms);
|
|
44
|
+
});
|
|
45
|
+
const LOG_CONTEXT = {
|
|
46
|
+
component: 'OxyContext',
|
|
47
|
+
method: 'tokenLossRecovery'
|
|
48
|
+
};
|
|
49
|
+
export function createTokenLossRecovery(deps) {
|
|
50
|
+
const sleep = deps.sleep ?? defaultSleep;
|
|
51
|
+
let running = false;
|
|
52
|
+
let disposed = false;
|
|
53
|
+
const settled = () => disposed || deps.hasToken() || !deps.isSignedIn();
|
|
54
|
+
const run = async () => {
|
|
55
|
+
let attempt = 0;
|
|
56
|
+
let keyedAttempts = 0;
|
|
57
|
+
logger.warn('Access token lost while signed in — recovering the session instead of signing out', LOG_CONTEXT);
|
|
58
|
+
while (!settled()) {
|
|
59
|
+
if (!(await deps.hasDeviceCredential())) {
|
|
60
|
+
const keyed = keyedAttempts < MAX_KEYED_RECOVERY_ATTEMPTS && (await deps.hasKeyedRecovery());
|
|
61
|
+
if (!keyed) {
|
|
62
|
+
if (settled()) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
logger.warn('Session recovery ended: no device credential and no key-based lane left — signing out', {
|
|
66
|
+
...LOG_CONTEXT,
|
|
67
|
+
attempts: attempt,
|
|
68
|
+
keyedAttempts
|
|
69
|
+
});
|
|
70
|
+
await deps.signOutLocally();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
keyedAttempts += 1;
|
|
74
|
+
}
|
|
75
|
+
if (settled()) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const token = await deps.remint().catch(() => null);
|
|
79
|
+
attempt += 1;
|
|
80
|
+
if (token || settled()) {
|
|
81
|
+
if (token) {
|
|
82
|
+
logger.warn('Session recovered after a lost access token', {
|
|
83
|
+
...LOG_CONTEXT,
|
|
84
|
+
attempts: attempt
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
await sleep(TOKEN_RECOVERY_BACKOFF_MS[Math.min(attempt - 1, TOKEN_RECOVERY_BACKOFF_MS.length - 1)]);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
start() {
|
|
94
|
+
if (running || disposed) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
running = true;
|
|
98
|
+
void run().catch(async error => {
|
|
99
|
+
// Never leave a signed-in UI with no bearer and nothing recovering it.
|
|
100
|
+
logger.warn('Session recovery failed unexpectedly — signing out', LOG_CONTEXT, error);
|
|
101
|
+
if (!settled()) {
|
|
102
|
+
await deps.signOutLocally().catch(() => undefined);
|
|
103
|
+
}
|
|
104
|
+
}).finally(() => {
|
|
105
|
+
running = false;
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
dispose() {
|
|
109
|
+
disposed = true;
|
|
110
|
+
},
|
|
111
|
+
isRecovering() {
|
|
112
|
+
return running;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=tokenLossRecovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["logger","TOKEN_RECOVERY_BACKOFF_MS","MAX_KEYED_RECOVERY_ATTEMPTS","defaultSleep","ms","Promise","resolve","setTimeout","LOG_CONTEXT","component","method","createTokenLossRecovery","deps","sleep","running","disposed","settled","hasToken","isSignedIn","run","attempt","keyedAttempts","warn","hasDeviceCredential","keyed","hasKeyedRecovery","attempts","signOutLocally","token","remint","catch","Math","min","length","start","error","undefined","finally","dispose","isRecovering"],"sourceRoot":"../../../../src","sources":["ui/session/tokenLossRecovery.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuF/B,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EAExB,MAAM,mBAAmB,CAAC;AAgB3B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAIhG,KAAK,0BAA0B,GAAG,IAAI,CACpC,eAAe,EACb,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACtB,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyvChE,CAAC;AAMF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,0BAA0B;;CAMxC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,eAAe,GAAG,IAAqC,CAAC;AAE1F,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,QAAO,0BAMpC,CAAC"}
|
|
@@ -83,7 +83,9 @@ export interface OxyRuntime {
|
|
|
83
83
|
/**
|
|
84
84
|
* Project the client's current device state onto the snapshot. Idempotent and
|
|
85
85
|
* revision-guarded: a projection whose profile fetch was overtaken by a
|
|
86
|
-
* fresher state discards itself rather than publishing a stale subject.
|
|
86
|
+
* fresher state discards itself rather than publishing a stale subject. It is
|
|
87
|
+
* also teardown-guarded: one started before {@link clearSession} publishes
|
|
88
|
+
* nothing, whatever `SessionClient` still holds.
|
|
87
89
|
*/
|
|
88
90
|
reconcileFromClient(): Promise<void>;
|
|
89
91
|
/** Read the device directory and publish it (opts this runtime into ADR 0002). */
|
|
@@ -137,7 +139,10 @@ export interface OxyRuntime {
|
|
|
137
139
|
preserveSessionIds?: string[];
|
|
138
140
|
}): void;
|
|
139
141
|
setActiveSessionId(sessionId: string | null): void;
|
|
140
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* Local teardown: drop the session projection without touching the server.
|
|
144
|
+
* Every projection already in flight is abandoned.
|
|
145
|
+
*/
|
|
141
146
|
clearSession(): void;
|
|
142
147
|
}
|
|
143
148
|
export declare function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOxyRuntime.d.ts","sourceRoot":"","sources":["../../../../../src/ui/runtime/createOxyRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAiB,IAAI,EAAE,MAAM,cAAc,CAAC;AAYvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAoC,MAAM,SAAS,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,IAAI,kBAAkB,GAAG,IAAI,CAAC;IACtC,YAAY,IAAI,eAAe,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5E,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,+EAA+E;IAC/E,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAExC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE1D;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhF,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,IAAI,kBAAkB,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAE5C,0EAA0E;IAC1E,KAAK,IAAI,MAAM,IAAI,CAAC;IAEpB
|
|
1
|
+
{"version":3,"file":"createOxyRuntime.d.ts","sourceRoot":"","sources":["../../../../../src/ui/runtime/createOxyRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface TokenLossRecoveryDeps {
|
|
2
|
+
/** Re-mint once through the installed refresh handler; the token, or null. */
|
|
3
|
+
remint: () => Promise<string | null>;
|
|
4
|
+
/** Whether the durable auth store still holds `deviceId` + `deviceSecret`. */
|
|
5
|
+
hasDeviceCredential: () => Promise<boolean>;
|
|
6
|
+
/**
|
|
7
|
+
* Whether a key-based lane could still re-establish the session without a
|
|
8
|
+
* device secret. Consulted only once the credential is gone.
|
|
9
|
+
*/
|
|
10
|
+
hasKeyedRecovery: () => Promise<boolean>;
|
|
11
|
+
/** Whether the UI still shows a signed-in user. */
|
|
12
|
+
isSignedIn: () => boolean;
|
|
13
|
+
/** Whether a bearer is planted right now. */
|
|
14
|
+
hasToken: () => boolean;
|
|
15
|
+
/** Tear down the local session (the provider's `clearSessionState`). */
|
|
16
|
+
signOutLocally: () => Promise<void>;
|
|
17
|
+
/** Timer seam for tests. */
|
|
18
|
+
sleep?: (ms: number) => Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface TokenLossRecovery {
|
|
21
|
+
/** Start recovering, unless a recovery is already running. */
|
|
22
|
+
start(): void;
|
|
23
|
+
/** Abandon any running recovery (provider unmount). */
|
|
24
|
+
dispose(): void;
|
|
25
|
+
/** Whether a recovery is running. */
|
|
26
|
+
isRecovering(): boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Delays between re-mint attempts while the device credential is intact. Starts
|
|
30
|
+
* near the post-failure refresh cooldowns and settles at one attempt a minute,
|
|
31
|
+
* which also respects the mint's own 60s rate-limit cooldown.
|
|
32
|
+
*/
|
|
33
|
+
export declare const TOKEN_RECOVERY_BACKOFF_MS: readonly number[];
|
|
34
|
+
/** Attempts through a key-based lane once the device credential is gone. */
|
|
35
|
+
export declare const MAX_KEYED_RECOVERY_ATTEMPTS = 3;
|
|
36
|
+
export declare function createTokenLossRecovery(deps: TokenLossRecoveryDeps): TokenLossRecovery;
|
|
37
|
+
//# sourceMappingURL=tokenLossRecovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenLossRecovery.d.ts","sourceRoot":"","sources":["../../../../../src/ui/session/tokenLossRecovery.ts"],"names":[],"mappings":"AA+BA,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,8EAA8E;IAC9E,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C;;;OAGG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,mDAAmD;IACnD,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,wEAAwE;IACxE,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,KAAK,IAAI,IAAI,CAAC;IACd,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;IAChB,qCAAqC;IACrC,YAAY,IAAI,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAmD,CAAC;AAE3G,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAS7C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CAoEtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuF/B,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EAExB,MAAM,sBAAmB,CAAC;AAgB3B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAmB,CAAC;AAIhG,KAAK,0BAA0B,GAAG,IAAI,CACpC,eAAe,EACb,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACtB,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyvChE,CAAC;AAMF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,0BAA0B;;CAMxC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,eAAe,GAAG,IAAqC,CAAC;AAE1F,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,QAAO,0BAMpC,CAAC"}
|