jazz-tools 0.20.17 → 0.20.19
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/.svelte-kit/__package__/client.d.ts.map +1 -1
- package/.svelte-kit/__package__/client.js +8 -1
- package/.svelte-kit/__package__/tests/client.test.js +67 -0
- package/.turbo/turbo-build.log +85 -85
- package/CHANGELOG.md +28 -0
- package/dist/better-auth/auth/client.d.ts.map +1 -1
- package/dist/better-auth/auth/client.js +12 -1
- package/dist/better-auth/auth/client.js.map +1 -1
- package/dist/browser/BrowserContextManager.d.ts +1 -0
- package/dist/browser/BrowserContextManager.d.ts.map +1 -1
- package/dist/browser/createBrowserContext.d.ts +1 -0
- package/dist/browser/createBrowserContext.d.ts.map +1 -1
- package/dist/browser/index.js +47 -13
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/provideBrowserLockSession/BrowserSessionDurabilityMarker.d.ts +8 -0
- package/dist/browser/provideBrowserLockSession/BrowserSessionDurabilityMarker.d.ts.map +1 -0
- package/dist/browser/provideBrowserLockSession/BrowserSessionProvider.d.ts +1 -0
- package/dist/browser/provideBrowserLockSession/BrowserSessionProvider.d.ts.map +1 -1
- package/dist/browser/provideBrowserLockSession/index.d.ts +1 -0
- package/dist/browser/provideBrowserLockSession/index.d.ts.map +1 -1
- package/dist/{chunk-3BV3JUMV.js → chunk-VPK4IGIA.js} +113 -17
- package/dist/chunk-VPK4IGIA.js.map +1 -0
- package/dist/expo/index.js +22 -7
- package/dist/expo/index.js.map +1 -1
- package/dist/expo/storage/expo-sqlite-adapter.d.ts +9 -0
- package/dist/expo/storage/expo-sqlite-adapter.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/react/index.js +11 -3
- package/dist/react/index.js.map +1 -1
- package/dist/react/provider.d.ts +1 -1
- package/dist/react/provider.d.ts.map +1 -1
- package/dist/react-native/index.js +64 -11
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native-core/ReactNativeContextManager.d.ts +1 -0
- package/dist/react-native-core/ReactNativeContextManager.d.ts.map +1 -1
- package/dist/react-native-core/ReactNativeSessionDurabilityMarker.d.ts +8 -0
- package/dist/react-native-core/ReactNativeSessionDurabilityMarker.d.ts.map +1 -0
- package/dist/react-native-core/ReactNativeSessionProvider.d.ts +1 -0
- package/dist/react-native-core/ReactNativeSessionProvider.d.ts.map +1 -1
- package/dist/react-native-core/index.d.ts +1 -0
- package/dist/react-native-core/index.d.ts.map +1 -1
- package/dist/react-native-core/index.js +64 -11
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/react-native-core/platform.d.ts +1 -0
- package/dist/react-native-core/platform.d.ts.map +1 -1
- package/dist/react-native-core/provider.d.ts +1 -1
- package/dist/react-native-core/provider.d.ts.map +1 -1
- package/dist/svelte/Provider.svelte +3 -0
- package/dist/svelte/Provider.svelte.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/tools/coValues/schemaUnion.d.ts +9 -0
- package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
- package/dist/tools/exports.d.ts +1 -1
- package/dist/tools/exports.d.ts.map +1 -1
- package/dist/tools/implementation/createContext.d.ts +15 -3
- package/dist/tools/implementation/createContext.d.ts.map +1 -1
- package/dist/tools/implementation/sessionDurabilityMarker.d.ts +38 -0
- package/dist/tools/implementation/sessionDurabilityMarker.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts.map +1 -1
- package/dist/tools/internal.d.ts +1 -0
- package/dist/tools/internal.d.ts.map +1 -1
- package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
- package/dist/tools/tests/sessionDurabilityMarker.test.d.ts +2 -0
- package/dist/tools/tests/sessionDurabilityMarker.test.d.ts.map +1 -0
- package/dist/worker/index.d.ts +1 -0
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +6 -2
- package/dist/worker/index.js.map +1 -1
- package/package.json +4 -4
- package/src/better-auth/auth/client.ts +15 -1
- package/src/better-auth/auth/tests/client.test.ts +92 -0
- package/src/browser/BrowserContextManager.ts +5 -0
- package/src/browser/createBrowserContext.ts +8 -0
- package/src/browser/provideBrowserLockSession/BrowserSessionDurabilityMarker.ts +20 -0
- package/src/browser/provideBrowserLockSession/BrowserSessionProvider.test.ts +97 -1
- package/src/browser/provideBrowserLockSession/BrowserSessionProvider.ts +37 -8
- package/src/browser/provideBrowserLockSession/index.ts +1 -0
- package/src/expo/storage/expo-sqlite-adapter.ts +24 -7
- package/src/expo/tests/expo-sqlite-adapter.test.ts +94 -0
- package/src/react/provider.tsx +9 -1
- package/src/react-native-core/ReactNativeContextManager.ts +5 -0
- package/src/react-native-core/ReactNativeSessionDurabilityMarker.ts +40 -0
- package/src/react-native-core/ReactNativeSessionProvider.ts +24 -1
- package/src/react-native-core/index.ts +1 -0
- package/src/react-native-core/platform.ts +8 -0
- package/src/react-native-core/provider.tsx +9 -1
- package/src/react-native-core/tests/ReactNativeSessionProvider.test.ts +42 -0
- package/src/svelte/Provider.svelte +3 -0
- package/src/tools/coValues/schemaUnion.ts +13 -0
- package/src/tools/exports.ts +3 -0
- package/src/tools/implementation/createContext.ts +44 -0
- package/src/tools/implementation/sessionDurabilityMarker.ts +93 -0
- package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +24 -8
- package/src/tools/implementation/zodSchema/unionUtils.ts +2 -1
- package/src/tools/internal.ts +1 -0
- package/src/tools/subscribe/SubscriptionScope.ts +23 -1
- package/src/tools/tests/coMap.test.ts +30 -0
- package/src/tools/tests/createContext.test.ts +64 -0
- package/src/tools/tests/schemaUnion.test.ts +19 -0
- package/src/tools/tests/sessionDurabilityMarker.test.ts +183 -0
- package/src/worker/index.ts +6 -0
- package/dist/chunk-3BV3JUMV.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaUnion.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/schemaUnion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemaUnion.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/schemaUnion.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/exports.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export { InMemoryKVStore } from "./auth/InMemoryKVStore.js";
|
|
|
17
17
|
export { DemoAuth } from "./auth/DemoAuth.js";
|
|
18
18
|
export { PassphraseAuth } from "./auth/PassphraseAuth.js";
|
|
19
19
|
export { createInviteLink, parseInviteLink, consumeInviteLink, } from "./implementation/invites.js";
|
|
20
|
-
export { AnonymousJazzAgent, createAnonymousJazzContext, createJazzContextFromExistingCredentials, createJazzContextForNewAccount, createJazzContext, SessionProvider, MockSessionProvider, type AuthResult, type Credentials, type JazzContextWithAccount, type BranchDefinition, } from "./internal.js";
|
|
20
|
+
export { AnonymousJazzAgent, createAnonymousJazzContext, createJazzContextFromExistingCredentials, createJazzContextForNewAccount, createJazzContext, SessionProvider, MockSessionProvider, type SessionDurabilityMarker, makeDurabilityMarkerListener, sessionDurabilityMarkerKey, type AuthResult, type Credentials, type JazzContextWithAccount, type BranchDefinition, } from "./internal.js";
|
|
21
21
|
export type * from "./types.js";
|
|
22
22
|
export { coValueClassFromCoValueClassOrSchema, type InstanceOfSchema, type InstanceOfSchemaCoValuesMaybeLoaded, type SchemaResolveQuery, type CoValueClassOrSchema, CoValueLoadingState, type MaybeLoaded, type NotLoaded, type Loaded, type BaseAccountShape, type DefaultAccountShape, type CoreAccountSchema as AnyAccountSchema, type ResolveQuery, type ResolveQueryStrict, type CoValueCursor, type LoadCoValueCursorOption, } from "./internal.js";
|
|
23
23
|
export { experimental_defineRequest, JazzRequestError, isJazzRequestError, authenticateRequest, generateAuthToken, parseAuthToken, type HttpRoute, } from "./coValues/request.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { type Account, type AccountClass } from "../coValues/account.js";
|
|
|
4
4
|
import { CoValueFromRaw, type CoreAccountSchema, type ID, type InstanceOfSchema, type SyncWhen } from "../internal.js";
|
|
5
5
|
import { AuthCredentials, NewAccountProps } from "../types.js";
|
|
6
6
|
import { AnonymousJazzAgent } from "./anonymousJazzAgent.js";
|
|
7
|
+
import { type SessionDurabilityMarker } from "./sessionDurabilityMarker.js";
|
|
7
8
|
export type Credentials = {
|
|
8
9
|
accountID: ID<Account>;
|
|
9
10
|
secret: AgentSecret;
|
|
@@ -16,8 +17,15 @@ export interface SessionProvider {
|
|
|
16
17
|
persistSession: (accountID: ID<Account>, sessionID: SessionID) => Promise<{
|
|
17
18
|
sessionDone: () => void;
|
|
18
19
|
}>;
|
|
20
|
+
/**
|
|
21
|
+
* When present, the context marks sessions as unsafe-to-reuse while they
|
|
22
|
+
* have transactions sent to a sync server but not yet persisted locally,
|
|
23
|
+
* and the provider must skip marked sessions in acquireSession.
|
|
24
|
+
*/
|
|
25
|
+
durabilityMarker?: SessionDurabilityMarker;
|
|
19
26
|
}
|
|
20
27
|
export declare class MockSessionProvider implements SessionProvider {
|
|
28
|
+
durabilityMarker?: SessionDurabilityMarker;
|
|
21
29
|
acquireSession(accountID: ID<Account>, crypto: CryptoProvider): Promise<{
|
|
22
30
|
sessionID: SessionID;
|
|
23
31
|
sessionDone: () => void;
|
|
@@ -59,7 +67,7 @@ export type JazzContextWithAgent = {
|
|
|
59
67
|
logOut: () => Promise<void>;
|
|
60
68
|
};
|
|
61
69
|
export type JazzContext<Acc extends Account> = JazzContextWithAccount<Acc> | JazzContextWithAgent;
|
|
62
|
-
export declare function createJazzContextFromExistingCredentials<S extends (AccountClass<Account> & CoValueFromRaw<Account>) | CoreAccountSchema>({ credentials, peers, syncWhen, crypto, storage, AccountSchema: PropsAccountSchema, sessionProvider, onLogOut, asActiveAccount, }: {
|
|
70
|
+
export declare function createJazzContextFromExistingCredentials<S extends (AccountClass<Account> & CoValueFromRaw<Account>) | CoreAccountSchema>({ credentials, peers, syncWhen, crypto, storage, AccountSchema: PropsAccountSchema, sessionProvider, onLogOut, asActiveAccount, experimental_clockSyncFromServerPings, }: {
|
|
63
71
|
credentials: Credentials;
|
|
64
72
|
peers: Peer[];
|
|
65
73
|
syncWhen?: SyncWhen;
|
|
@@ -69,8 +77,9 @@ export declare function createJazzContextFromExistingCredentials<S extends (Acco
|
|
|
69
77
|
onLogOut?: () => void;
|
|
70
78
|
storage?: StorageAPI;
|
|
71
79
|
asActiveAccount: boolean;
|
|
80
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
72
81
|
}): Promise<JazzContextWithAccount<InstanceOfSchema<S>>>;
|
|
73
|
-
export declare function createJazzContextForNewAccount<S extends (AccountClass<Account> & CoValueFromRaw<Account>) | CoreAccountSchema>({ creationProps, initialAgentSecret, peers, syncWhen, crypto, AccountSchema: PropsAccountSchema, onLogOut, storage, sessionProvider, }: {
|
|
82
|
+
export declare function createJazzContextForNewAccount<S extends (AccountClass<Account> & CoValueFromRaw<Account>) | CoreAccountSchema>({ creationProps, initialAgentSecret, peers, syncWhen, crypto, AccountSchema: PropsAccountSchema, onLogOut, storage, sessionProvider, experimental_clockSyncFromServerPings, }: {
|
|
74
83
|
creationProps: {
|
|
75
84
|
name: string;
|
|
76
85
|
};
|
|
@@ -82,6 +91,7 @@ export declare function createJazzContextForNewAccount<S extends (AccountClass<A
|
|
|
82
91
|
onLogOut?: () => Promise<void>;
|
|
83
92
|
storage?: StorageAPI;
|
|
84
93
|
sessionProvider: SessionProvider;
|
|
94
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
85
95
|
}): Promise<JazzContextWithAccount<InstanceOfSchema<S>>>;
|
|
86
96
|
export declare function createJazzContext<S extends (AccountClass<Account> & CoValueFromRaw<Account>) | CoreAccountSchema>(options: {
|
|
87
97
|
credentials?: AuthCredentials;
|
|
@@ -94,6 +104,7 @@ export declare function createJazzContext<S extends (AccountClass<Account> & CoV
|
|
|
94
104
|
sessionProvider: SessionProvider;
|
|
95
105
|
authSecretStorage: AuthSecretStorage;
|
|
96
106
|
storage?: StorageAPI;
|
|
107
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
97
108
|
}): Promise<{
|
|
98
109
|
authSecretStorage: AuthSecretStorage;
|
|
99
110
|
node: LocalNode;
|
|
@@ -101,10 +112,11 @@ export declare function createJazzContext<S extends (AccountClass<Account> & CoV
|
|
|
101
112
|
done: () => void;
|
|
102
113
|
logOut: () => Promise<void>;
|
|
103
114
|
}>;
|
|
104
|
-
export declare function createAnonymousJazzContext({ peers, syncWhen, crypto, storage, }: {
|
|
115
|
+
export declare function createAnonymousJazzContext({ peers, syncWhen, crypto, storage, experimental_clockSyncFromServerPings, }: {
|
|
105
116
|
peers: Peer[];
|
|
106
117
|
syncWhen?: SyncWhen;
|
|
107
118
|
crypto: CryptoProvider;
|
|
108
119
|
storage?: StorageAPI;
|
|
120
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
109
121
|
}): JazzContextWithAgent;
|
|
110
122
|
//# sourceMappingURL=createContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContext.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/createContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,cAAc,EACd,SAAS,EACT,IAAI,EAGJ,SAAS,EACT,UAAU,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,EAAE,EACP,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"createContext.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/createContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { LocalStoreDurabilityListener, SessionID } from "cojson";
|
|
2
|
+
/**
|
|
3
|
+
* Persists a per-session "dirty" flag that survives crashes.
|
|
4
|
+
*
|
|
5
|
+
* The flag is set while the session has transactions that were sent to a sync
|
|
6
|
+
* server but are not yet durably stored locally. If the process dies inside
|
|
7
|
+
* that window, local storage is behind what the server received for the
|
|
8
|
+
* session, and reusing it would fork the session's hash chain. Session
|
|
9
|
+
* providers must skip sessions whose flag is still set and mint a fresh
|
|
10
|
+
* session instead.
|
|
11
|
+
*/
|
|
12
|
+
export interface SessionDurabilityMarker {
|
|
13
|
+
/**
|
|
14
|
+
* Must be initiated synchronously: the write has to win the race against
|
|
15
|
+
* the network send that immediately follows it.
|
|
16
|
+
*/
|
|
17
|
+
set(sessionID: SessionID): void;
|
|
18
|
+
clear(sessionID: SessionID): void;
|
|
19
|
+
isSet(sessionID: SessionID): boolean | Promise<boolean>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Storage key under which a session's dirty flag is persisted. Shared by all
|
|
23
|
+
* platform marker implementations so the key format cannot silently diverge.
|
|
24
|
+
*/
|
|
25
|
+
export declare function sessionDurabilityMarkerKey(sessionID: SessionID): string;
|
|
26
|
+
export declare const SESSION_DURABILITY_CLEAR_DEBOUNCE_MS = 200;
|
|
27
|
+
/**
|
|
28
|
+
* Adapts a SessionDurabilityMarker to LocalNode's onLocalStoreDurabilityChange
|
|
29
|
+
* hook. Setting is immediate (correctness-critical); clearing is debounced so
|
|
30
|
+
* the marker doesn't churn on every batch while the user is actively editing.
|
|
31
|
+
* A crash inside the debounce at worst abandons one session unnecessarily.
|
|
32
|
+
*
|
|
33
|
+
* Returns undefined when no marker is provided, matching the optional
|
|
34
|
+
* listener slot on LocalNode creation options.
|
|
35
|
+
*/
|
|
36
|
+
export declare function makeDurabilityMarkerListener(marker: SessionDurabilityMarker, clearDebounceMs?: number): LocalStoreDurabilityListener;
|
|
37
|
+
export declare function makeDurabilityMarkerListener(marker: SessionDurabilityMarker | undefined, clearDebounceMs?: number): LocalStoreDurabilityListener | undefined;
|
|
38
|
+
//# sourceMappingURL=sessionDurabilityMarker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionDurabilityMarker.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/sessionDurabilityMarker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,UAE9D;AAED,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,EAC/B,eAAe,CAAC,EAAE,MAAM,GACvB,4BAA4B,CAAC;AAChC,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,eAAe,CAAC,EAAE,MAAM,GACvB,4BAA4B,GAAG,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoMapSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CoMapSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unionUtils.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementation/zodSchema/unionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,qBAAqB,EAErB,KAAK,EACL,8BAA8B,EAE9B,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"unionUtils.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementation/zodSchema/unionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,qBAAqB,EAErB,KAAK,EACL,8BAA8B,EAE9B,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EAGzB,MAAM,mBAAmB,CAAC;AAO3B,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,8BAA8B,CAAC,2BAA2B,CAAC,mCAgHpE;AAsBD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,WAMtE;AAQD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,8BAA8B,CAAC,2BAA2B,CAAC,GAClE,8BAA8B,EAAE,CAyBlC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,8BAA8B,EACtC,gBAAgB,EAAE,MAAM,GACvB,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAG1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,gBAAgB,EAAE,MAAM,GACvB,SAAS,GAAG,SAAS,CAiBvB"}
|
package/dist/tools/internal.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export * from "./lib/cache.js";
|
|
|
29
29
|
export * from "./lib/utils.js";
|
|
30
30
|
export * from "./lib/utilityTypes.js";
|
|
31
31
|
export * from "./implementation/createContext.js";
|
|
32
|
+
export * from "./implementation/sessionDurabilityMarker.js";
|
|
32
33
|
export * from "./types.js";
|
|
33
34
|
export * from "./implementation/zodSchema/zodSchema.js";
|
|
34
35
|
export * from "./implementation/zodSchema/zodCo.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/tools/internal.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,mBAAmB,sBAAsB,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/tools/internal.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,mBAAmB,sBAAsB,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6CAA6C,CAAC;AAE5D,cAAc,YAAY,CAAC;AAC3B,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,sEAAsE,CAAC;AACrF,cAAc,0DAA0D,CAAC;AACzE,cAAc,wDAAwD,CAAC;AACvE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,0EAA0E,CAAC;AACzF,cAAc,6FAA6F,CAAC;AAC5G,cAAc,+DAA+D,CAAC;AAC9E,cAAc,kFAAkF,CAAC;AACjG,cAAc,gEAAgE,CAAC;AAC/E,cAAc,6EAA6E,CAAC;AAC5F,cAAc,yEAAyE,CAAC;AACxF,cAAc,iDAAiD,CAAC;AAChE,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAElD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,0BAA0B,CAAC;AAEzC,OAAO,wDAAwD,CAAC;AAChE,OAAO,wCAAwC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwC,MAAM,QAAQ,CAAC;AACzE,OAAO,EAIL,KAAK,OAAO,EACZ,WAAW,EACX,SAAS,EACT,KAAK,UAAU,EACf,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionDurabilityMarker.test.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/sessionDurabilityMarker.test.ts"],"names":[],"mappings":""}
|
package/dist/worker/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ type WorkerOptions<S extends (AccountClass<Account> & CoValueFromRaw<Account>) |
|
|
|
22
22
|
*/
|
|
23
23
|
asActiveAccount?: boolean;
|
|
24
24
|
storage?: StorageAPI;
|
|
25
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
25
26
|
};
|
|
26
27
|
/** @category Context Creation */
|
|
27
28
|
export declare function startWorker<S extends (AccountClass<Account> & CoValueFromRaw<Account>) | AnyAccountSchema>(options: WorkerOptions<S>): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,IAAI,EACJ,UAAU,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,KAAK,EAEL,MAAM,EAGP,MAAM,YAAY,CAAC;AAEpB,KAAK,aAAa,CAChB,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,gBAAgB,IAClB;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,IAAI,EACJ,UAAU,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,KAAK,EAEL,MAAM,EAGP,MAAM,YAAY,CAAC;AAEpB,KAAK,aAAa,CAChB,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,gBAAgB,IAClB;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,qCAAqC,CAAC,EAAE,OAAO,CAAC;CACjD,CAAC;AAEF,iCAAiC;AACjC,wBAAsB,WAAW,CAC/B,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,gBAAgB,EACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IA6FvB;;OAEG;YACwB,MAAM,CAAC,CAAC,CAAC;;QAElC;;;;WAIG;;uBAhByC,KAAK,CAAC,WAAW,CAAC;;;;;IAmBhE;;;;;OAKG;;0CAImC,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;IAalE;;;;;;OAMG;;IAEH;;;;OAIG;;GAKN"}
|
package/dist/worker/index.js
CHANGED
|
@@ -36,7 +36,10 @@ async function startWorker(options) {
|
|
|
36
36
|
},
|
|
37
37
|
removePeer: () => {
|
|
38
38
|
},
|
|
39
|
-
WebSocketConstructor: options.WebSocket
|
|
39
|
+
WebSocketConstructor: options.WebSocket,
|
|
40
|
+
onPingReceived: (sample) => {
|
|
41
|
+
node?.clockOffset.addSample(sample);
|
|
42
|
+
}
|
|
40
43
|
});
|
|
41
44
|
wsPeer.enable();
|
|
42
45
|
}
|
|
@@ -62,7 +65,8 @@ async function startWorker(options) {
|
|
|
62
65
|
peers,
|
|
63
66
|
crypto: options.crypto ?? await WasmCrypto.create(),
|
|
64
67
|
asActiveAccount,
|
|
65
|
-
storage: options.storage
|
|
68
|
+
storage: options.storage,
|
|
69
|
+
experimental_clockSyncFromServerPings: options.experimental_clockSyncFromServerPings
|
|
66
70
|
});
|
|
67
71
|
const account = context.account;
|
|
68
72
|
node = account.$jazz.localNode;
|
package/dist/worker/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/worker/index.ts"],"sourcesContent":["import {\n AgentSecret,\n CryptoProvider,\n LocalNode,\n Peer,\n StorageAPI,\n} from \"cojson\";\nimport {\n type AnyWebSocketConstructor,\n WebSocketPeerWithReconnection,\n} from \"cojson-transport-ws\";\nimport { WasmCrypto } from \"cojson/crypto/WasmCrypto\";\nimport {\n Account,\n AccountClass,\n AnyAccountSchema,\n CoValueFromRaw,\n Inbox,\n InstanceOfSchema,\n Loaded,\n createJazzContextFromExistingCredentials,\n MockSessionProvider,\n} from \"jazz-tools\";\n\ntype WorkerOptions<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n> = {\n accountID?: string;\n accountSecret?: string;\n /**\n * A peer to connect to for synchronization.\n * If provided, syncServer is ignored.\n */\n peer?: Peer;\n syncServer?: string;\n WebSocket?: AnyWebSocketConstructor;\n AccountSchema?: S;\n crypto?: CryptoProvider;\n /**\n * If true, the inbox will not be loaded.\n */\n skipInboxLoad?: boolean;\n /**\n * If false, the worker will not set in the global account context\n */\n asActiveAccount?: boolean;\n storage?: StorageAPI;\n};\n\n/** @category Context Creation */\nexport async function startWorker<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n>(options: WorkerOptions<S>) {\n const {\n accountID = process.env.JAZZ_WORKER_ACCOUNT,\n accountSecret = process.env.JAZZ_WORKER_SECRET,\n syncServer = \"wss://cloud.jazz.tools\",\n AccountSchema = Account as unknown as S,\n skipInboxLoad = false,\n asActiveAccount = true,\n } = options;\n\n let node: LocalNode | undefined = undefined;\n\n const peers: Peer[] = [];\n\n // If a peer is provided directly, use it instead of WebSocket\n let wsPeer: WebSocketPeerWithReconnection | undefined;\n\n if (options.peer) {\n peers.push(options.peer);\n } else {\n wsPeer = new WebSocketPeerWithReconnection({\n peer: syncServer,\n reconnectionTimeout: 100,\n addPeer: (peer) => {\n if (node) {\n node.syncManager.addPeer(peer);\n } else {\n peers.push(peer);\n }\n },\n removePeer: () => {},\n WebSocketConstructor: options.WebSocket,\n });\n\n wsPeer.enable();\n }\n\n if (!accountID) {\n throw new Error(\"No accountID provided\");\n }\n if (!accountSecret) {\n throw new Error(\"No accountSecret provided\");\n }\n if (!accountID.startsWith(\"co_\")) {\n throw new Error(\"Invalid accountID\");\n }\n if (!accountSecret?.startsWith(\"sealerSecret_\")) {\n throw new Error(\"Invalid accountSecret\");\n }\n\n const context = await createJazzContextFromExistingCredentials({\n credentials: {\n accountID: accountID,\n secret: accountSecret as AgentSecret,\n },\n AccountSchema,\n sessionProvider: new MockSessionProvider(),\n peers,\n crypto: options.crypto ?? (await WasmCrypto.create()),\n asActiveAccount,\n storage: options.storage,\n });\n\n const account = context.account as InstanceOfSchema<S>;\n node = account.$jazz.localNode;\n\n if (!account.$jazz.refs.profile?.id) {\n throw new Error(\"Account has no profile\");\n }\n\n const inbox = skipInboxLoad ? undefined : await Inbox.load(account);\n\n async function done() {\n await context.account.$jazz.waitForAllCoValuesSync();\n\n wsPeer?.disable();\n context.done();\n }\n\n const inboxPublicApi = inbox\n ? {\n subscribe: inbox.subscribe.bind(inbox) as Inbox[\"subscribe\"],\n }\n : {\n subscribe: () => {},\n };\n\n return {\n /**\n * The worker account instance.\n */\n worker: context.account as Loaded<S>,\n experimental: {\n /**\n * API to subscribe to the inbox messages.\n *\n * More info on the Inbox API: https://jazz.tools/docs/react/server-side/inbox\n */\n inbox: inboxPublicApi,\n },\n /**\n * Wait for the connection to the sync server to be established.\n *\n * If already connected, it will resolve immediately.\n * Returns immediately if using a custom peer.\n */\n waitForConnection() {\n return wsPeer?.waitUntilConnected() ?? Promise.resolve();\n },\n subscribeToConnectionChange(listener: (connected: boolean) => void) {\n if (!wsPeer) {\n // For custom peers, immediately notify as connected\n listener(true);\n return () => {};\n }\n\n wsPeer.subscribe(listener);\n\n return () => {\n wsPeer.unsubscribe(listener);\n };\n },\n /**\n * Waits for all CoValues to sync and then shuts down the worker.\n *\n * To only wait for sync use worker.$jazz.waitForAllCoValuesSync()\n *\n * @deprecated Use shutdownWorker\n */\n done,\n /**\n * Waits for all CoValues to sync and then shuts down the worker.\n *\n * To only wait for sync use worker.$jazz.waitForAllCoValuesSync()\n */\n shutdownWorker() {\n return done();\n },\n };\n}\n"],"mappings":";AAOA;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,EAIA;AAAA,EAGA;AAAA,EACA;AAAA,OACK;
|
|
1
|
+
{"version":3,"sources":["../../src/worker/index.ts"],"sourcesContent":["import {\n AgentSecret,\n CryptoProvider,\n LocalNode,\n Peer,\n StorageAPI,\n} from \"cojson\";\nimport {\n type AnyWebSocketConstructor,\n WebSocketPeerWithReconnection,\n} from \"cojson-transport-ws\";\nimport { WasmCrypto } from \"cojson/crypto/WasmCrypto\";\nimport {\n Account,\n AccountClass,\n AnyAccountSchema,\n CoValueFromRaw,\n Inbox,\n InstanceOfSchema,\n Loaded,\n createJazzContextFromExistingCredentials,\n MockSessionProvider,\n} from \"jazz-tools\";\n\ntype WorkerOptions<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n> = {\n accountID?: string;\n accountSecret?: string;\n /**\n * A peer to connect to for synchronization.\n * If provided, syncServer is ignored.\n */\n peer?: Peer;\n syncServer?: string;\n WebSocket?: AnyWebSocketConstructor;\n AccountSchema?: S;\n crypto?: CryptoProvider;\n /**\n * If true, the inbox will not be loaded.\n */\n skipInboxLoad?: boolean;\n /**\n * If false, the worker will not set in the global account context\n */\n asActiveAccount?: boolean;\n storage?: StorageAPI;\n experimental_clockSyncFromServerPings?: boolean;\n};\n\n/** @category Context Creation */\nexport async function startWorker<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n>(options: WorkerOptions<S>) {\n const {\n accountID = process.env.JAZZ_WORKER_ACCOUNT,\n accountSecret = process.env.JAZZ_WORKER_SECRET,\n syncServer = \"wss://cloud.jazz.tools\",\n AccountSchema = Account as unknown as S,\n skipInboxLoad = false,\n asActiveAccount = true,\n } = options;\n\n let node: LocalNode | undefined = undefined;\n\n const peers: Peer[] = [];\n\n // If a peer is provided directly, use it instead of WebSocket\n let wsPeer: WebSocketPeerWithReconnection | undefined;\n\n if (options.peer) {\n peers.push(options.peer);\n } else {\n wsPeer = new WebSocketPeerWithReconnection({\n peer: syncServer,\n reconnectionTimeout: 100,\n addPeer: (peer) => {\n if (node) {\n node.syncManager.addPeer(peer);\n } else {\n peers.push(peer);\n }\n },\n removePeer: () => {},\n WebSocketConstructor: options.WebSocket,\n onPingReceived: (sample) => {\n node?.clockOffset.addSample(sample);\n },\n });\n\n wsPeer.enable();\n }\n\n if (!accountID) {\n throw new Error(\"No accountID provided\");\n }\n if (!accountSecret) {\n throw new Error(\"No accountSecret provided\");\n }\n if (!accountID.startsWith(\"co_\")) {\n throw new Error(\"Invalid accountID\");\n }\n if (!accountSecret?.startsWith(\"sealerSecret_\")) {\n throw new Error(\"Invalid accountSecret\");\n }\n\n const context = await createJazzContextFromExistingCredentials({\n credentials: {\n accountID: accountID,\n secret: accountSecret as AgentSecret,\n },\n AccountSchema,\n sessionProvider: new MockSessionProvider(),\n peers,\n crypto: options.crypto ?? (await WasmCrypto.create()),\n asActiveAccount,\n storage: options.storage,\n experimental_clockSyncFromServerPings:\n options.experimental_clockSyncFromServerPings,\n });\n\n const account = context.account as InstanceOfSchema<S>;\n node = account.$jazz.localNode;\n\n if (!account.$jazz.refs.profile?.id) {\n throw new Error(\"Account has no profile\");\n }\n\n const inbox = skipInboxLoad ? undefined : await Inbox.load(account);\n\n async function done() {\n await context.account.$jazz.waitForAllCoValuesSync();\n\n wsPeer?.disable();\n context.done();\n }\n\n const inboxPublicApi = inbox\n ? {\n subscribe: inbox.subscribe.bind(inbox) as Inbox[\"subscribe\"],\n }\n : {\n subscribe: () => {},\n };\n\n return {\n /**\n * The worker account instance.\n */\n worker: context.account as Loaded<S>,\n experimental: {\n /**\n * API to subscribe to the inbox messages.\n *\n * More info on the Inbox API: https://jazz.tools/docs/react/server-side/inbox\n */\n inbox: inboxPublicApi,\n },\n /**\n * Wait for the connection to the sync server to be established.\n *\n * If already connected, it will resolve immediately.\n * Returns immediately if using a custom peer.\n */\n waitForConnection() {\n return wsPeer?.waitUntilConnected() ?? Promise.resolve();\n },\n subscribeToConnectionChange(listener: (connected: boolean) => void) {\n if (!wsPeer) {\n // For custom peers, immediately notify as connected\n listener(true);\n return () => {};\n }\n\n wsPeer.subscribe(listener);\n\n return () => {\n wsPeer.unsubscribe(listener);\n };\n },\n /**\n * Waits for all CoValues to sync and then shuts down the worker.\n *\n * To only wait for sync use worker.$jazz.waitForAllCoValuesSync()\n *\n * @deprecated Use shutdownWorker\n */\n done,\n /**\n * Waits for all CoValues to sync and then shuts down the worker.\n *\n * To only wait for sync use worker.$jazz.waitForAllCoValuesSync()\n */\n shutdownWorker() {\n return done();\n },\n };\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
},
|
|
207
207
|
"type": "module",
|
|
208
208
|
"license": "MIT",
|
|
209
|
-
"version": "0.20.
|
|
209
|
+
"version": "0.20.19",
|
|
210
210
|
"dependencies": {
|
|
211
211
|
"@scure/base": "1.2.1",
|
|
212
212
|
"@scure/bip39": "^1.3.0",
|
|
@@ -223,9 +223,9 @@
|
|
|
223
223
|
"prosemirror-transform": "^1.9.0",
|
|
224
224
|
"use-sync-external-store": "^1.5.0",
|
|
225
225
|
"zod": "4.1.11",
|
|
226
|
-
"cojson": "0.20.
|
|
227
|
-
"cojson-storage-indexeddb": "0.20.
|
|
228
|
-
"cojson-transport-ws": "0.20.
|
|
226
|
+
"cojson": "0.20.19",
|
|
227
|
+
"cojson-storage-indexeddb": "0.20.19",
|
|
228
|
+
"cojson-transport-ws": "0.20.19"
|
|
229
229
|
},
|
|
230
230
|
"devDependencies": {
|
|
231
231
|
"@scure/bip39": "^1.3.0",
|
|
@@ -26,8 +26,10 @@ export const jazzPluginClient = () => {
|
|
|
26
26
|
let jazzContext: JazzContextType<Account>;
|
|
27
27
|
let authSecretStorage: AuthSecretStorage;
|
|
28
28
|
let signOutUnsubscription: () => void;
|
|
29
|
+
let authGeneration = 0;
|
|
29
30
|
|
|
30
31
|
const authenticateOnJazz = async (jazzAuth: AuthSetPayload) => {
|
|
32
|
+
authGeneration++;
|
|
31
33
|
const parsedJazzAuth = {
|
|
32
34
|
...jazzAuth,
|
|
33
35
|
secretSeed: jazzAuth.secretSeed
|
|
@@ -89,6 +91,12 @@ export const jazzPluginClient = () => {
|
|
|
89
91
|
name: "jazz-plugin",
|
|
90
92
|
hooks: {
|
|
91
93
|
async onRequest(context) {
|
|
94
|
+
if (context.url.toString().includes("/get-session")) {
|
|
95
|
+
context.headers.set(
|
|
96
|
+
"x-jazz-auth-generation",
|
|
97
|
+
String(authGeneration),
|
|
98
|
+
);
|
|
99
|
+
}
|
|
92
100
|
if (
|
|
93
101
|
SIGNUP_URLS.some((url) => context.url.toString().includes(url))
|
|
94
102
|
) {
|
|
@@ -123,7 +131,13 @@ export const jazzPluginClient = () => {
|
|
|
123
131
|
|
|
124
132
|
if (context.request.url.toString().includes("/get-session")) {
|
|
125
133
|
if (context.data === null) {
|
|
126
|
-
|
|
134
|
+
const requestAuthGeneration = Number(
|
|
135
|
+
context.request.headers.get("x-jazz-auth-generation") ?? "0",
|
|
136
|
+
);
|
|
137
|
+
if (
|
|
138
|
+
authSecretStorage.isAuthenticated === true &&
|
|
139
|
+
requestAuthGeneration === authGeneration
|
|
140
|
+
) {
|
|
127
141
|
console.info(
|
|
128
142
|
"Jazz is authenticated, but the session is null. Logging out",
|
|
129
143
|
);
|
|
@@ -610,6 +610,98 @@ describe("Better-Auth client plugin", () => {
|
|
|
610
610
|
expect(customFetchImpl).toHaveBeenCalledTimes(3);
|
|
611
611
|
});
|
|
612
612
|
|
|
613
|
+
it("should NOT logout from Jazz if a stale null get-session arrives after authentication", async () => {
|
|
614
|
+
const credentials = await authSecretStorage.get();
|
|
615
|
+
assert(credentials, "Jazz credentials are not available");
|
|
616
|
+
|
|
617
|
+
// This test validates race condition handling where a stale null response
|
|
618
|
+
// arrives after authentication. The authGeneration is tracked via the
|
|
619
|
+
// x-jazz-auth-generation header set in onRequest and read in onSuccess.
|
|
620
|
+
// Since authGeneration increments after sign-in, the stale response's
|
|
621
|
+
// generation number will be older, preventing an unintended logout.
|
|
622
|
+
|
|
623
|
+
const capturedHeaders: any[] = [];
|
|
624
|
+
let resolveStaleSession: (value: Response) => void;
|
|
625
|
+
const staleSessionPromise = new Promise<Response>((resolve) => {
|
|
626
|
+
resolveStaleSession = resolve;
|
|
627
|
+
});
|
|
628
|
+
|
|
629
|
+
customFetchImpl.mockImplementation(
|
|
630
|
+
(urlOrRequest: string | Request, init?: RequestInit) => {
|
|
631
|
+
const headers =
|
|
632
|
+
urlOrRequest instanceof Request
|
|
633
|
+
? urlOrRequest.headers
|
|
634
|
+
: init?.headers || {};
|
|
635
|
+
capturedHeaders.push(headers);
|
|
636
|
+
|
|
637
|
+
const url =
|
|
638
|
+
urlOrRequest instanceof Request ? urlOrRequest.url : urlOrRequest;
|
|
639
|
+
|
|
640
|
+
if (url.toString().includes("/get-session")) {
|
|
641
|
+
return staleSessionPromise;
|
|
642
|
+
}
|
|
643
|
+
return Promise.resolve(
|
|
644
|
+
new Response(
|
|
645
|
+
JSON.stringify({
|
|
646
|
+
user: {
|
|
647
|
+
id: "user-1",
|
|
648
|
+
email: "test@jazz.dev",
|
|
649
|
+
name: "Matteo",
|
|
650
|
+
},
|
|
651
|
+
jazzAuth: {
|
|
652
|
+
accountID: credentials.accountID,
|
|
653
|
+
secretSeed: credentials.secretSeed,
|
|
654
|
+
accountSecret: credentials.accountSecret,
|
|
655
|
+
provider: "better-auth",
|
|
656
|
+
},
|
|
657
|
+
}),
|
|
658
|
+
),
|
|
659
|
+
);
|
|
660
|
+
},
|
|
661
|
+
);
|
|
662
|
+
|
|
663
|
+
const staleSessionFetch = authClient.getSession();
|
|
664
|
+
|
|
665
|
+
// We need to wait a tick for onRequest to be called and customFetchImpl to be triggered
|
|
666
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
667
|
+
|
|
668
|
+
const getHeader = (headers: any, name: string) => {
|
|
669
|
+
if (!headers) return null;
|
|
670
|
+
if (typeof headers.get === "function") return headers.get(name);
|
|
671
|
+
if (Array.isArray(headers)) {
|
|
672
|
+
const pair = (headers as string[][]).find(
|
|
673
|
+
(h) => h[0]?.toLowerCase() === name.toLowerCase(),
|
|
674
|
+
);
|
|
675
|
+
return pair ? pair[1] : null;
|
|
676
|
+
}
|
|
677
|
+
return headers[name] || headers[name.toLowerCase()] || null;
|
|
678
|
+
};
|
|
679
|
+
|
|
680
|
+
// Verify the stale request had authGeneration=0 in the header
|
|
681
|
+
expect(getHeader(capturedHeaders[0], "x-jazz-auth-generation")).toBe("0");
|
|
682
|
+
|
|
683
|
+
// Now sign in, which increments authGeneration to 1
|
|
684
|
+
await authClient.signIn.email({
|
|
685
|
+
email: "test@jazz.dev",
|
|
686
|
+
password: "password",
|
|
687
|
+
});
|
|
688
|
+
|
|
689
|
+
expect(authSecretStorage.isAuthenticated).toBe(true);
|
|
690
|
+
|
|
691
|
+
// Verify the sign-in request had no x-jazz-auth-generation header (it is gated to get-session)
|
|
692
|
+
expect(
|
|
693
|
+
getHeader(capturedHeaders[1], "x-jazz-auth-generation"),
|
|
694
|
+
).toBeNull();
|
|
695
|
+
|
|
696
|
+
// Resolve the stale get-session response with null
|
|
697
|
+
resolveStaleSession!(new Response(JSON.stringify(null)));
|
|
698
|
+
await staleSessionFetch;
|
|
699
|
+
|
|
700
|
+
// The stale null response should not trigger a logout because its
|
|
701
|
+
// authGeneration (0) < current authGeneration (1), so >= comparison fails
|
|
702
|
+
expect(authSecretStorage.isAuthenticated).toBe(true);
|
|
703
|
+
});
|
|
704
|
+
|
|
613
705
|
it("should deduplicate auth requests for the same account", async () => {
|
|
614
706
|
const credentials = await authSecretStorage.get();
|
|
615
707
|
assert(credentials, "Jazz credentials are not available");
|
|
@@ -31,6 +31,7 @@ export type JazzContextManagerProps<
|
|
|
31
31
|
storage?: BaseBrowserContextOptions["storage"];
|
|
32
32
|
AccountSchema?: S;
|
|
33
33
|
defaultProfileName?: string;
|
|
34
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
34
35
|
};
|
|
35
36
|
|
|
36
37
|
export class JazzBrowserContextManager<
|
|
@@ -57,6 +58,8 @@ export class JazzBrowserContextManager<
|
|
|
57
58
|
sync: props.sync,
|
|
58
59
|
storage: props.storage,
|
|
59
60
|
authSecretStorage: this.authSecretStorage,
|
|
61
|
+
experimental_clockSyncFromServerPings:
|
|
62
|
+
props.experimental_clockSyncFromServerPings,
|
|
60
63
|
});
|
|
61
64
|
} else {
|
|
62
65
|
return createJazzBrowserContext<S>({
|
|
@@ -67,6 +70,8 @@ export class JazzBrowserContextManager<
|
|
|
67
70
|
newAccountProps: authProps?.newAccountProps,
|
|
68
71
|
defaultProfileName: props.defaultProfileName,
|
|
69
72
|
authSecretStorage: this.authSecretStorage,
|
|
73
|
+
experimental_clockSyncFromServerPings:
|
|
74
|
+
props.experimental_clockSyncFromServerPings,
|
|
70
75
|
});
|
|
71
76
|
}
|
|
72
77
|
}
|
|
@@ -30,6 +30,7 @@ export type BaseBrowserContextOptions = {
|
|
|
30
30
|
storage?: "indexedDB";
|
|
31
31
|
crypto?: CryptoProvider;
|
|
32
32
|
authSecretStorage: AuthSecretStorage;
|
|
33
|
+
experimental_clockSyncFromServerPings?: boolean;
|
|
33
34
|
};
|
|
34
35
|
|
|
35
36
|
class BrowserWebSocketPeerWithReconnection extends WebSocketPeerWithReconnection {
|
|
@@ -79,6 +80,9 @@ async function setupPeers(options: BaseBrowserContextOptions) {
|
|
|
79
80
|
removePeer: (peer) => {
|
|
80
81
|
peers.splice(peers.indexOf(peer), 1);
|
|
81
82
|
},
|
|
83
|
+
onPingReceived: (sample) => {
|
|
84
|
+
node?.clockOffset.addSample(sample);
|
|
85
|
+
},
|
|
82
86
|
});
|
|
83
87
|
|
|
84
88
|
function toggleNetwork(enabled: boolean) {
|
|
@@ -136,6 +140,8 @@ export async function createJazzBrowserGuestContext(
|
|
|
136
140
|
peers,
|
|
137
141
|
syncWhen,
|
|
138
142
|
storage,
|
|
143
|
+
experimental_clockSyncFromServerPings:
|
|
144
|
+
options.experimental_clockSyncFromServerPings,
|
|
139
145
|
});
|
|
140
146
|
|
|
141
147
|
setNode(context.agent.node);
|
|
@@ -214,6 +220,8 @@ export async function createJazzBrowserContext<
|
|
|
214
220
|
AccountSchema: options.AccountSchema,
|
|
215
221
|
sessionProvider: getBrowserLockSessionProvider(),
|
|
216
222
|
authSecretStorage: options.authSecretStorage,
|
|
223
|
+
experimental_clockSyncFromServerPings:
|
|
224
|
+
options.experimental_clockSyncFromServerPings,
|
|
217
225
|
});
|
|
218
226
|
|
|
219
227
|
setNode(context.node);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SessionID } from "cojson";
|
|
2
|
+
import type { SessionDurabilityMarker } from "jazz-tools";
|
|
3
|
+
import { sessionDurabilityMarkerKey as markerKey } from "jazz-tools";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* localStorage-backed durability marker. Writes are synchronous, so a marker
|
|
7
|
+
* set before a network send is (best-effort) durable before the server can
|
|
8
|
+
* ever be ahead of local storage for that session.
|
|
9
|
+
*/
|
|
10
|
+
export const BrowserSessionDurabilityMarker: SessionDurabilityMarker = {
|
|
11
|
+
set(sessionID: SessionID) {
|
|
12
|
+
localStorage.setItem(markerKey(sessionID), "1");
|
|
13
|
+
},
|
|
14
|
+
clear(sessionID: SessionID) {
|
|
15
|
+
localStorage.removeItem(markerKey(sessionID));
|
|
16
|
+
},
|
|
17
|
+
isSet(sessionID: SessionID) {
|
|
18
|
+
return localStorage.getItem(markerKey(sessionID)) !== null;
|
|
19
|
+
},
|
|
20
|
+
};
|