@verdant-web/server 1.7.8 → 1.7.9
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/dist/cjs/Baselines.d.ts +14 -14
- package/dist/cjs/Baselines.js +77 -77
- package/dist/cjs/ClientConnection.d.ts +18 -18
- package/dist/cjs/ClientConnection.js +105 -105
- package/dist/cjs/MessageSender.d.ts +5 -5
- package/dist/cjs/MessageSender.js +2 -2
- package/dist/cjs/OperationHistory.d.ts +34 -34
- package/dist/cjs/OperationHistory.js +108 -108
- package/dist/cjs/Presence.d.ts +15 -15
- package/dist/cjs/Presence.js +59 -59
- package/dist/cjs/Profiles.d.ts +10 -10
- package/dist/cjs/Profiles.js +19 -19
- package/dist/cjs/ReplicaKeepaliveTimers.d.ts +17 -17
- package/dist/cjs/ReplicaKeepaliveTimers.js +30 -30
- package/dist/cjs/Replicas.d.ts +23 -23
- package/dist/cjs/Replicas.js +132 -132
- package/dist/cjs/Server.d.ts +121 -121
- package/dist/cjs/Server.js +377 -377
- package/dist/cjs/ServerLibrary.d.ts +63 -63
- package/dist/cjs/ServerLibrary.js +467 -467
- package/dist/cjs/TokenProvider.d.ts +16 -16
- package/dist/cjs/TokenProvider.js +26 -26
- package/dist/cjs/TokenVerifier.d.ts +16 -16
- package/dist/cjs/TokenVerifier.js +28 -28
- package/dist/cjs/files/FileMetadata.d.ts +28 -28
- package/dist/cjs/files/FileMetadata.js +46 -46
- package/dist/cjs/files/FileStorage.d.ts +35 -35
- package/dist/cjs/files/FileStorage.js +71 -71
- package/dist/cjs/index.d.ts +9 -9
- package/dist/cjs/index.js +11 -11
- package/dist/cjs/migrations/v0.sql.d.ts +2 -2
- package/dist/cjs/migrations/v0.sql.js +3 -3
- package/dist/cjs/migrations/v1.sql.d.ts +2 -2
- package/dist/cjs/migrations/v1.sql.js +3 -3
- package/dist/cjs/migrations/v2.sql.d.ts +2 -2
- package/dist/cjs/migrations/v2.sql.js +4 -4
- package/dist/cjs/migrations/v3.sql.d.ts +2 -2
- package/dist/cjs/migrations/v3.sql.js +4 -4
- package/dist/cjs/migrations/v4.sql.d.ts +2 -2
- package/dist/cjs/migrations/v4.sql.js +4 -4
- package/dist/cjs/migrations.d.ts +2 -2
- package/dist/cjs/migrations.js +32 -32
- package/dist/cjs/types.d.ts +22 -22
- package/dist/cjs/types.js +2 -2
- package/dist/esm/Baselines.d.ts +14 -14
- package/dist/esm/Baselines.js +73 -73
- package/dist/esm/ClientConnection.d.ts +18 -18
- package/dist/esm/ClientConnection.js +101 -101
- package/dist/esm/MessageSender.d.ts +5 -5
- package/dist/esm/MessageSender.js +1 -1
- package/dist/esm/OperationHistory.d.ts +34 -34
- package/dist/esm/OperationHistory.js +104 -104
- package/dist/esm/Presence.d.ts +15 -15
- package/dist/esm/Presence.js +52 -52
- package/dist/esm/Profiles.d.ts +10 -10
- package/dist/esm/Profiles.js +15 -15
- package/dist/esm/ReplicaKeepaliveTimers.d.ts +17 -17
- package/dist/esm/ReplicaKeepaliveTimers.js +26 -26
- package/dist/esm/Replicas.d.ts +23 -23
- package/dist/esm/Replicas.js +128 -128
- package/dist/esm/Server.d.ts +121 -121
- package/dist/esm/Server.js +370 -370
- package/dist/esm/ServerLibrary.d.ts +63 -63
- package/dist/esm/ServerLibrary.js +463 -463
- package/dist/esm/TokenProvider.d.ts +16 -16
- package/dist/esm/TokenProvider.js +19 -19
- package/dist/esm/TokenVerifier.d.ts +16 -16
- package/dist/esm/TokenVerifier.js +21 -21
- package/dist/esm/files/FileMetadata.d.ts +28 -28
- package/dist/esm/files/FileMetadata.js +42 -42
- package/dist/esm/files/FileStorage.d.ts +35 -35
- package/dist/esm/files/FileStorage.js +44 -44
- package/dist/esm/index.d.ts +9 -9
- package/dist/esm/index.js +4 -4
- package/dist/esm/migrations/v0.sql.d.ts +2 -2
- package/dist/esm/migrations/v0.sql.js +1 -1
- package/dist/esm/migrations/v1.sql.d.ts +2 -2
- package/dist/esm/migrations/v1.sql.js +1 -1
- package/dist/esm/migrations/v2.sql.d.ts +2 -2
- package/dist/esm/migrations/v2.sql.js +2 -2
- package/dist/esm/migrations/v3.sql.d.ts +2 -2
- package/dist/esm/migrations/v3.sql.js +2 -2
- package/dist/esm/migrations/v4.sql.d.ts +2 -2
- package/dist/esm/migrations/v4.sql.js +2 -2
- package/dist/esm/migrations.d.ts +2 -2
- package/dist/esm/migrations.js +25 -25
- package/dist/esm/types.d.ts +22 -22
- package/dist/esm/types.js +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/cjs/ServerStorage.d.ts +0 -35
- package/dist/cjs/ServerStorage.js +0 -60
- package/dist/cjs/ServerStorage.js.map +0 -1
- package/dist/esm/ServerStorage.d.ts +0 -44
- package/dist/esm/ServerStorage.js +0 -58
- package/dist/esm/ServerStorage.js.map +0 -1
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { ClientMessage, DocumentBaseline, Operation, EventSubscriber } from '@verdant-web/common';
|
|
2
|
-
import { Database } from 'better-sqlite3';
|
|
3
|
-
import { MessageSender } from './MessageSender.js';
|
|
4
|
-
import { UserProfileLoader } from './Profiles.js';
|
|
5
|
-
import { TokenInfo } from './TokenVerifier.js';
|
|
6
|
-
import { FileMetadata } from './files/FileMetadata.js';
|
|
7
|
-
import { FileStorage } from './files/FileStorage.js';
|
|
8
|
-
export declare type ServerLibraryEvents = {
|
|
9
|
-
changes: (info: TokenInfo, operations: Operation[], baselines: DocumentBaseline[]) => void;
|
|
10
|
-
};
|
|
11
|
-
export declare class ServerLibrary extends EventSubscriber<ServerLibraryEvents> {
|
|
12
|
-
private db;
|
|
13
|
-
private sender;
|
|
14
|
-
private profiles;
|
|
15
|
-
private replicas;
|
|
16
|
-
private operations;
|
|
17
|
-
private baselines;
|
|
18
|
-
private presences;
|
|
19
|
-
private disableRebasing;
|
|
20
|
-
private files;
|
|
21
|
-
private fileStorage;
|
|
22
|
-
private log;
|
|
23
|
-
constructor({ db, sender, profiles, replicaTruancyMinutes, log, disableRebasing, fileMetadata, fileStorage, }: {
|
|
24
|
-
db: Database;
|
|
25
|
-
sender: MessageSender;
|
|
26
|
-
profiles: UserProfileLoader<any>;
|
|
27
|
-
replicaTruancyMinutes: number;
|
|
28
|
-
log?: (...args: any[]) => void;
|
|
29
|
-
disableRebasing?: boolean;
|
|
30
|
-
fileMetadata: FileMetadata;
|
|
31
|
-
fileStorage?: FileStorage;
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* Validates a user's access to a replica. If the replica does not
|
|
35
|
-
* exist, a user may create it. But if it does exist, its user (clientId)
|
|
36
|
-
* must match the user making the request.
|
|
37
|
-
*/
|
|
38
|
-
private validateReplicaAccess;
|
|
39
|
-
private hasWriteAccess;
|
|
40
|
-
receive: (message: ClientMessage, clientKey: string, info: TokenInfo) => Promise<void>;
|
|
41
|
-
remove: (libraryId: string, replicaId: string) => void;
|
|
42
|
-
private handleOperation;
|
|
43
|
-
private removeExtraOperationData;
|
|
44
|
-
private rebroadcastOperations;
|
|
45
|
-
private handleSync;
|
|
46
|
-
private createAckNonce;
|
|
47
|
-
private handleAck;
|
|
48
|
-
private updateHighwater;
|
|
49
|
-
private pendingRebaseTimeout;
|
|
50
|
-
private enqueueRebase;
|
|
51
|
-
private rebase;
|
|
52
|
-
private handleHeartbeat;
|
|
53
|
-
private handlePresenceUpdate;
|
|
54
|
-
private onPresenceLost;
|
|
55
|
-
destroy: (libraryId: string) => Promise<void>;
|
|
56
|
-
getPresence: (libraryId: string) => Record<string, import("@verdant-web/common").UserInfo<any, any>>;
|
|
57
|
-
evictUser: (libraryId: string, userId: string) => void;
|
|
58
|
-
getDocumentSnapshot: (libraryId: string, oid: string) => any;
|
|
59
|
-
private getObjectSnapshot;
|
|
60
|
-
private hydrateObject;
|
|
61
|
-
private hydrateFile;
|
|
62
|
-
close: () => void;
|
|
63
|
-
}
|
|
1
|
+
import { ClientMessage, DocumentBaseline, Operation, EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
import { Database } from 'better-sqlite3';
|
|
3
|
+
import { MessageSender } from './MessageSender.js';
|
|
4
|
+
import { UserProfileLoader } from './Profiles.js';
|
|
5
|
+
import { TokenInfo } from './TokenVerifier.js';
|
|
6
|
+
import { FileMetadata } from './files/FileMetadata.js';
|
|
7
|
+
import { FileStorage } from './files/FileStorage.js';
|
|
8
|
+
export declare type ServerLibraryEvents = {
|
|
9
|
+
changes: (info: TokenInfo, operations: Operation[], baselines: DocumentBaseline[]) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare class ServerLibrary extends EventSubscriber<ServerLibraryEvents> {
|
|
12
|
+
private db;
|
|
13
|
+
private sender;
|
|
14
|
+
private profiles;
|
|
15
|
+
private replicas;
|
|
16
|
+
private operations;
|
|
17
|
+
private baselines;
|
|
18
|
+
private presences;
|
|
19
|
+
private disableRebasing;
|
|
20
|
+
private files;
|
|
21
|
+
private fileStorage;
|
|
22
|
+
private log;
|
|
23
|
+
constructor({ db, sender, profiles, replicaTruancyMinutes, log, disableRebasing, fileMetadata, fileStorage, }: {
|
|
24
|
+
db: Database;
|
|
25
|
+
sender: MessageSender;
|
|
26
|
+
profiles: UserProfileLoader<any>;
|
|
27
|
+
replicaTruancyMinutes: number;
|
|
28
|
+
log?: (...args: any[]) => void;
|
|
29
|
+
disableRebasing?: boolean;
|
|
30
|
+
fileMetadata: FileMetadata;
|
|
31
|
+
fileStorage?: FileStorage;
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Validates a user's access to a replica. If the replica does not
|
|
35
|
+
* exist, a user may create it. But if it does exist, its user (clientId)
|
|
36
|
+
* must match the user making the request.
|
|
37
|
+
*/
|
|
38
|
+
private validateReplicaAccess;
|
|
39
|
+
private hasWriteAccess;
|
|
40
|
+
receive: (message: ClientMessage, clientKey: string, info: TokenInfo) => Promise<void>;
|
|
41
|
+
remove: (libraryId: string, replicaId: string) => void;
|
|
42
|
+
private handleOperation;
|
|
43
|
+
private removeExtraOperationData;
|
|
44
|
+
private rebroadcastOperations;
|
|
45
|
+
private handleSync;
|
|
46
|
+
private createAckNonce;
|
|
47
|
+
private handleAck;
|
|
48
|
+
private updateHighwater;
|
|
49
|
+
private pendingRebaseTimeout;
|
|
50
|
+
private enqueueRebase;
|
|
51
|
+
private rebase;
|
|
52
|
+
private handleHeartbeat;
|
|
53
|
+
private handlePresenceUpdate;
|
|
54
|
+
private onPresenceLost;
|
|
55
|
+
destroy: (libraryId: string) => Promise<void>;
|
|
56
|
+
getPresence: (libraryId: string) => Record<string, import("@verdant-web/common").UserInfo<any, any>>;
|
|
57
|
+
evictUser: (libraryId: string, userId: string) => void;
|
|
58
|
+
getDocumentSnapshot: (libraryId: string, oid: string) => any;
|
|
59
|
+
private getObjectSnapshot;
|
|
60
|
+
private hydrateObject;
|
|
61
|
+
private hydrateFile;
|
|
62
|
+
close: () => void;
|
|
63
|
+
}
|