@fatagnus/dink-sync 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +312 -0
- package/dist/client/attachment.d.ts +225 -0
- package/dist/client/attachment.d.ts.map +1 -0
- package/dist/client/attachment.js +402 -0
- package/dist/client/attachment.js.map +1 -0
- package/dist/client/binary-encoding.d.ts +45 -0
- package/dist/client/binary-encoding.d.ts.map +1 -0
- package/dist/client/binary-encoding.js +90 -0
- package/dist/client/binary-encoding.js.map +1 -0
- package/dist/client/collection.d.ts +10 -0
- package/dist/client/collection.d.ts.map +1 -0
- package/dist/client/collection.js +924 -0
- package/dist/client/collection.js.map +1 -0
- package/dist/client/compression.d.ts +56 -0
- package/dist/client/compression.d.ts.map +1 -0
- package/dist/client/compression.js +173 -0
- package/dist/client/compression.js.map +1 -0
- package/dist/client/crdt/index.d.ts +2 -0
- package/dist/client/crdt/index.d.ts.map +1 -0
- package/dist/client/crdt/index.js +2 -0
- package/dist/client/crdt/index.js.map +1 -0
- package/dist/client/crdt/yjs-doc.d.ts +88 -0
- package/dist/client/crdt/yjs-doc.d.ts.map +1 -0
- package/dist/client/crdt/yjs-doc.js +123 -0
- package/dist/client/crdt/yjs-doc.js.map +1 -0
- package/dist/client/index.d.ts +66 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +233 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/mock-transport.d.ts +155 -0
- package/dist/client/mock-transport.d.ts.map +1 -0
- package/dist/client/mock-transport.js +292 -0
- package/dist/client/mock-transport.js.map +1 -0
- package/dist/client/network-detector.d.ts +65 -0
- package/dist/client/network-detector.d.ts.map +1 -0
- package/dist/client/network-detector.js +147 -0
- package/dist/client/network-detector.js.map +1 -0
- package/dist/client/provisioning.d.ts +126 -0
- package/dist/client/provisioning.d.ts.map +1 -0
- package/dist/client/provisioning.js +125 -0
- package/dist/client/provisioning.js.map +1 -0
- package/dist/client/signal.d.ts +13 -0
- package/dist/client/signal.d.ts.map +1 -0
- package/dist/client/signal.js +27 -0
- package/dist/client/signal.js.map +1 -0
- package/dist/client/sync-engine.d.ts +298 -0
- package/dist/client/sync-engine.d.ts.map +1 -0
- package/dist/client/sync-engine.js +904 -0
- package/dist/client/sync-engine.js.map +1 -0
- package/dist/client/synced-edge.d.ts +109 -0
- package/dist/client/synced-edge.d.ts.map +1 -0
- package/dist/client/synced-edge.js +179 -0
- package/dist/client/synced-edge.js.map +1 -0
- package/dist/client/synced-offline-edge-types.d.ts +540 -0
- package/dist/client/synced-offline-edge-types.d.ts.map +1 -0
- package/dist/client/synced-offline-edge-types.js +10 -0
- package/dist/client/synced-offline-edge-types.js.map +1 -0
- package/dist/client/synced-offline-edge.d.ts +54 -0
- package/dist/client/synced-offline-edge.d.ts.map +1 -0
- package/dist/client/synced-offline-edge.js +731 -0
- package/dist/client/synced-offline-edge.js.map +1 -0
- package/dist/client/transport.d.ts +202 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +409 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client/types.d.ts +622 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +60 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/validation.d.ts +61 -0
- package/dist/client/validation.d.ts.map +1 -0
- package/dist/client/validation.js +57 -0
- package/dist/client/validation.js.map +1 -0
- package/dist/client/versioning.d.ts +134 -0
- package/dist/client/versioning.d.ts.map +1 -0
- package/dist/client/versioning.js +304 -0
- package/dist/client/versioning.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/persistence/encryption.d.ts +114 -0
- package/dist/persistence/encryption.d.ts.map +1 -0
- package/dist/persistence/encryption.js +286 -0
- package/dist/persistence/encryption.js.map +1 -0
- package/dist/persistence/index.d.ts +21 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +20 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/memory.d.ts +32 -0
- package/dist/persistence/memory.d.ts.map +1 -0
- package/dist/persistence/memory.js +57 -0
- package/dist/persistence/memory.js.map +1 -0
- package/dist/persistence/migrations.d.ts +106 -0
- package/dist/persistence/migrations.d.ts.map +1 -0
- package/dist/persistence/migrations.js +176 -0
- package/dist/persistence/migrations.js.map +1 -0
- package/dist/persistence/pending-queue.d.ts +109 -0
- package/dist/persistence/pending-queue.d.ts.map +1 -0
- package/dist/persistence/pending-queue.js +249 -0
- package/dist/persistence/pending-queue.js.map +1 -0
- package/dist/persistence/pglite.d.ts +72 -0
- package/dist/persistence/pglite.d.ts.map +1 -0
- package/dist/persistence/pglite.js +126 -0
- package/dist/persistence/pglite.js.map +1 -0
- package/dist/persistence/quota-manager.d.ts +134 -0
- package/dist/persistence/quota-manager.d.ts.map +1 -0
- package/dist/persistence/quota-manager.js +242 -0
- package/dist/persistence/quota-manager.js.map +1 -0
- package/dist/persistence/types.d.ts +54 -0
- package/dist/persistence/types.d.ts.map +1 -0
- package/dist/persistence/types.js +2 -0
- package/dist/persistence/types.js.map +1 -0
- package/dist/react/OfflineEdgeProvider.d.ts +91 -0
- package/dist/react/OfflineEdgeProvider.d.ts.map +1 -0
- package/dist/react/OfflineEdgeProvider.js +127 -0
- package/dist/react/OfflineEdgeProvider.js.map +1 -0
- package/dist/react/SyncedOfflineEdgeProvider.d.ts +105 -0
- package/dist/react/SyncedOfflineEdgeProvider.d.ts.map +1 -0
- package/dist/react/SyncedOfflineEdgeProvider.js +138 -0
- package/dist/react/SyncedOfflineEdgeProvider.js.map +1 -0
- package/dist/react/index.d.ts +50 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +51 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/useCollection.d.ts +77 -0
- package/dist/react/useCollection.d.ts.map +1 -0
- package/dist/react/useCollection.js +113 -0
- package/dist/react/useCollection.js.map +1 -0
- package/dist/react/useCollectionSyncMode.d.ts +61 -0
- package/dist/react/useCollectionSyncMode.d.ts.map +1 -0
- package/dist/react/useCollectionSyncMode.js +93 -0
- package/dist/react/useCollectionSyncMode.js.map +1 -0
- package/dist/react/useConnectionState.d.ts +44 -0
- package/dist/react/useConnectionState.d.ts.map +1 -0
- package/dist/react/useConnectionState.js +46 -0
- package/dist/react/useConnectionState.js.map +1 -0
- package/dist/react/useDocumentSyncStatus.d.ts +72 -0
- package/dist/react/useDocumentSyncStatus.d.ts.map +1 -0
- package/dist/react/useDocumentSyncStatus.js +110 -0
- package/dist/react/useDocumentSyncStatus.js.map +1 -0
- package/dist/react/useOfflineEdge.d.ts +58 -0
- package/dist/react/useOfflineEdge.d.ts.map +1 -0
- package/dist/react/useOfflineEdge.js +54 -0
- package/dist/react/useOfflineEdge.js.map +1 -0
- package/dist/react/usePendingChanges.d.ts +67 -0
- package/dist/react/usePendingChanges.d.ts.map +1 -0
- package/dist/react/usePendingChanges.js +90 -0
- package/dist/react/usePendingChanges.js.map +1 -0
- package/dist/react/useRejectedDocuments.d.ts +112 -0
- package/dist/react/useRejectedDocuments.d.ts.map +1 -0
- package/dist/react/useRejectedDocuments.js +213 -0
- package/dist/react/useRejectedDocuments.js.map +1 -0
- package/dist/react/useSyncControls.d.ts +96 -0
- package/dist/react/useSyncControls.d.ts.map +1 -0
- package/dist/react/useSyncControls.js +112 -0
- package/dist/react/useSyncControls.js.map +1 -0
- package/dist/react/useSyncProgress.d.ts +78 -0
- package/dist/react/useSyncProgress.d.ts.map +1 -0
- package/dist/react/useSyncProgress.js +90 -0
- package/dist/react/useSyncProgress.js.map +1 -0
- package/dist/react/useSyncRejected.d.ts +47 -0
- package/dist/react/useSyncRejected.d.ts.map +1 -0
- package/dist/react/useSyncRejected.js +55 -0
- package/dist/react/useSyncRejected.js.map +1 -0
- package/dist/react/useSyncStatus.d.ts +56 -0
- package/dist/react/useSyncStatus.d.ts.map +1 -0
- package/dist/react/useSyncStatus.js +59 -0
- package/dist/react/useSyncStatus.js.map +1 -0
- package/dist/react/useSyncedOfflineEdge.d.ts +69 -0
- package/dist/react/useSyncedOfflineEdge.d.ts.map +1 -0
- package/dist/react/useSyncedOfflineEdge.js +65 -0
- package/dist/react/useSyncedOfflineEdge.js.map +1 -0
- package/dist/service-worker/index.d.ts +7 -0
- package/dist/service-worker/index.d.ts.map +1 -0
- package/dist/service-worker/index.js +7 -0
- package/dist/service-worker/index.js.map +1 -0
- package/dist/service-worker/sync-worker.d.ts +230 -0
- package/dist/service-worker/sync-worker.d.ts.map +1 -0
- package/dist/service-worker/sync-worker.js +471 -0
- package/dist/service-worker/sync-worker.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,622 @@
|
|
|
1
|
+
import type { PersistenceProvider } from '../persistence/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tombstone record for deleted documents.
|
|
4
|
+
* Used to track deletions for sync and conflict resolution.
|
|
5
|
+
*/
|
|
6
|
+
export interface Tombstone {
|
|
7
|
+
/** The ID of the deleted document */
|
|
8
|
+
documentId: string;
|
|
9
|
+
/** Timestamp when the document was deleted */
|
|
10
|
+
deletedAt: number;
|
|
11
|
+
/** Whether the tombstone has been synced to the server */
|
|
12
|
+
synced: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Delta containing tombstones to sync.
|
|
16
|
+
*/
|
|
17
|
+
export interface TombstoneDelta {
|
|
18
|
+
/** Collection name */
|
|
19
|
+
collection: string;
|
|
20
|
+
/** Tombstones to sync */
|
|
21
|
+
tombstones: Tombstone[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Remote tombstone received from sync.
|
|
25
|
+
*/
|
|
26
|
+
export interface RemoteTombstone {
|
|
27
|
+
/** The ID of the deleted document */
|
|
28
|
+
documentId: string;
|
|
29
|
+
/** Timestamp when the document was deleted */
|
|
30
|
+
deletedAt: number;
|
|
31
|
+
/** Collection name */
|
|
32
|
+
collection: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Validation error for a specific field.
|
|
36
|
+
*/
|
|
37
|
+
export interface ValidationError {
|
|
38
|
+
/** The field that failed validation */
|
|
39
|
+
field: string;
|
|
40
|
+
/** Human-readable error message */
|
|
41
|
+
message: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Result of a validation operation.
|
|
45
|
+
*/
|
|
46
|
+
export type ValidationResult = {
|
|
47
|
+
valid: true;
|
|
48
|
+
errors?: never;
|
|
49
|
+
} | {
|
|
50
|
+
valid: false;
|
|
51
|
+
errors: ValidationError[];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Validator function type for a collection.
|
|
55
|
+
* Takes document data (without id) and returns validation result.
|
|
56
|
+
*/
|
|
57
|
+
export type ValidatorFn<T extends {
|
|
58
|
+
id: string;
|
|
59
|
+
}> = (doc: Omit<T, 'id'>) => ValidationResult;
|
|
60
|
+
/**
|
|
61
|
+
* Sync priority levels for documents.
|
|
62
|
+
* Higher priority items are synced before lower priority items.
|
|
63
|
+
*/
|
|
64
|
+
export declare const SyncPriority: {
|
|
65
|
+
/** High priority - synced first */
|
|
66
|
+
readonly High: "high";
|
|
67
|
+
/** Normal priority - default */
|
|
68
|
+
readonly Normal: "normal";
|
|
69
|
+
/** Low priority - synced last */
|
|
70
|
+
readonly Low: "low";
|
|
71
|
+
};
|
|
72
|
+
export type SyncPriority = typeof SyncPriority[keyof typeof SyncPriority];
|
|
73
|
+
/**
|
|
74
|
+
* Options for insert operations.
|
|
75
|
+
*/
|
|
76
|
+
export interface InsertOptions {
|
|
77
|
+
/** Skip validation for trusted sources (default: false) */
|
|
78
|
+
skipValidation?: boolean;
|
|
79
|
+
/** Sync priority for this document (default: normal) */
|
|
80
|
+
priority?: SyncPriority;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Options for update operations.
|
|
84
|
+
*/
|
|
85
|
+
export interface UpdateOptions {
|
|
86
|
+
/** Skip validation for trusted sources (default: false) */
|
|
87
|
+
skipValidation?: boolean;
|
|
88
|
+
/** Sync priority for this document (default: normal) */
|
|
89
|
+
priority?: SyncPriority;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Sync status for a document.
|
|
93
|
+
* Tracks the synchronization state between local and server.
|
|
94
|
+
*/
|
|
95
|
+
export declare enum SyncStatus {
|
|
96
|
+
/** Document exists only locally, not yet synced */
|
|
97
|
+
Local = "local",
|
|
98
|
+
/** Document is currently being synced to server */
|
|
99
|
+
Syncing = "syncing",
|
|
100
|
+
/** Document is synced with server */
|
|
101
|
+
Synced = "synced",
|
|
102
|
+
/** Sync was rejected by server (e.g., validation error, unique constraint) */
|
|
103
|
+
Rejected = "rejected"
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Error codes for sync rejection.
|
|
107
|
+
*/
|
|
108
|
+
export declare enum SyncErrorCode {
|
|
109
|
+
/** Server-side unique constraint violation */
|
|
110
|
+
UniqueViolation = "UNIQUE_VIOLATION",
|
|
111
|
+
/** Server-side validation error */
|
|
112
|
+
ValidationError = "VALIDATION_ERROR",
|
|
113
|
+
/** Permission denied */
|
|
114
|
+
PermissionDenied = "PERMISSION_DENIED",
|
|
115
|
+
/** Document not found on server */
|
|
116
|
+
NotFound = "NOT_FOUND",
|
|
117
|
+
/** Generic server error */
|
|
118
|
+
ServerError = "SERVER_ERROR",
|
|
119
|
+
/** Unknown error */
|
|
120
|
+
Unknown = "UNKNOWN"
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Detailed sync error information.
|
|
124
|
+
*/
|
|
125
|
+
export interface SyncError {
|
|
126
|
+
/** Error code categorizing the failure */
|
|
127
|
+
code: SyncErrorCode;
|
|
128
|
+
/** Field that caused the error (if applicable) */
|
|
129
|
+
field?: string;
|
|
130
|
+
/** Human-readable error message */
|
|
131
|
+
message: string;
|
|
132
|
+
/** Original error from server (if available) */
|
|
133
|
+
originalError?: unknown;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Metadata tracking sync status for a document.
|
|
137
|
+
*/
|
|
138
|
+
export interface SyncMetadata {
|
|
139
|
+
/** Current sync status */
|
|
140
|
+
status: SyncStatus;
|
|
141
|
+
/** Error details if status is 'rejected' */
|
|
142
|
+
error?: SyncError;
|
|
143
|
+
/** Timestamp of last sync attempt */
|
|
144
|
+
lastSyncAttempt?: number;
|
|
145
|
+
/** Timestamp of last successful sync */
|
|
146
|
+
lastSynced?: number;
|
|
147
|
+
/** Number of sync retry attempts */
|
|
148
|
+
retryCount?: number;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* A document with sync metadata.
|
|
152
|
+
*/
|
|
153
|
+
export type SyncedDocument<T> = T & {
|
|
154
|
+
/** Sync metadata (readonly, managed by the SDK) */
|
|
155
|
+
readonly _sync: SyncMetadata;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Configuration for the offline edge client.
|
|
159
|
+
*/
|
|
160
|
+
export interface OfflineEdgeConfig {
|
|
161
|
+
/** URL of the dinkd server (e.g., 'nats://localhost:4222') */
|
|
162
|
+
serverUrl: string;
|
|
163
|
+
/** API key for authentication with the server */
|
|
164
|
+
apiKey: string;
|
|
165
|
+
/**
|
|
166
|
+
* Optional list of collection names to sync.
|
|
167
|
+
* - If undefined: all collections are synced (default behavior)
|
|
168
|
+
* - If empty array: no collections are synced initially (add via syncCollection())
|
|
169
|
+
* - If non-empty array: only specified collections are synced
|
|
170
|
+
*/
|
|
171
|
+
syncCollections?: string[];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Options for creating an offline edge instance.
|
|
175
|
+
*/
|
|
176
|
+
export interface CreateOfflineEdgeOptions {
|
|
177
|
+
/** Persistence provider for offline storage */
|
|
178
|
+
persistence: PersistenceProvider;
|
|
179
|
+
/** Client configuration */
|
|
180
|
+
config: OfflineEdgeConfig;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Connection state enum for tracking sync status.
|
|
184
|
+
*/
|
|
185
|
+
export declare enum ConnectionState {
|
|
186
|
+
/** Not connected to server, operating fully offline */
|
|
187
|
+
Offline = "offline",
|
|
188
|
+
/** Attempting to connect to server */
|
|
189
|
+
Connecting = "connecting",
|
|
190
|
+
/** Connected and syncing with server */
|
|
191
|
+
Online = "online",
|
|
192
|
+
/** Connection lost, attempting to reconnect */
|
|
193
|
+
Reconnecting = "reconnecting"
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* A reactive signal that holds a value and notifies subscribers of changes.
|
|
197
|
+
*/
|
|
198
|
+
export interface Signal<T> {
|
|
199
|
+
/** Current value */
|
|
200
|
+
readonly value: T;
|
|
201
|
+
/** Subscribe to value changes. Returns unsubscribe function. */
|
|
202
|
+
subscribe(callback: (value: T) => void): () => void;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Unsubscribe function returned by subscribe methods.
|
|
206
|
+
*/
|
|
207
|
+
export type Unsubscribe = () => void;
|
|
208
|
+
/**
|
|
209
|
+
* Event emitted when a document sync is rejected by the server.
|
|
210
|
+
*/
|
|
211
|
+
export interface SyncRejectedEvent<T extends {
|
|
212
|
+
id: string;
|
|
213
|
+
}> {
|
|
214
|
+
/** Collection name */
|
|
215
|
+
collection: string;
|
|
216
|
+
/** Document ID that was rejected */
|
|
217
|
+
documentId: string;
|
|
218
|
+
/** The document that failed to sync */
|
|
219
|
+
document: T;
|
|
220
|
+
/** Error details */
|
|
221
|
+
error: SyncError;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Information about a conflict between local and server versions.
|
|
225
|
+
*/
|
|
226
|
+
export interface ConflictInfo<T extends {
|
|
227
|
+
id: string;
|
|
228
|
+
}> {
|
|
229
|
+
/** The local version of the document */
|
|
230
|
+
localVersion: T;
|
|
231
|
+
/** The server version of the document */
|
|
232
|
+
serverVersion: T;
|
|
233
|
+
/** Timestamp when the conflict was detected */
|
|
234
|
+
detectedAt: number;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Event emitted when a conflict is detected between local and server versions.
|
|
238
|
+
*/
|
|
239
|
+
export interface ConflictDetectedEvent<T extends {
|
|
240
|
+
id: string;
|
|
241
|
+
}> {
|
|
242
|
+
/** Collection name */
|
|
243
|
+
collection: string;
|
|
244
|
+
/** Document ID with conflict */
|
|
245
|
+
documentId: string;
|
|
246
|
+
/** The local version of the document */
|
|
247
|
+
localVersion: T;
|
|
248
|
+
/** The server version of the document */
|
|
249
|
+
serverVersion: T;
|
|
250
|
+
/** Timestamp when the conflict was detected */
|
|
251
|
+
detectedAt: number;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* A typed collection for storing and syncing documents.
|
|
255
|
+
*/
|
|
256
|
+
export interface Collection<T extends {
|
|
257
|
+
id: string;
|
|
258
|
+
}> {
|
|
259
|
+
/** Collection name */
|
|
260
|
+
readonly name: string;
|
|
261
|
+
/**
|
|
262
|
+
* Set a validator function for the collection.
|
|
263
|
+
* The validator is called before insert/update operations.
|
|
264
|
+
* Pass null to clear the validator.
|
|
265
|
+
* @param validator - Validator function or null to clear
|
|
266
|
+
*/
|
|
267
|
+
setValidator(validator: ValidatorFn<T> | null): void;
|
|
268
|
+
/**
|
|
269
|
+
* Insert a new document into the collection.
|
|
270
|
+
* Generates an ID if not provided.
|
|
271
|
+
* Document starts with sync status 'local'.
|
|
272
|
+
* @param doc - Document data without ID
|
|
273
|
+
* @param options - Insert options (e.g., skipValidation)
|
|
274
|
+
* @returns The inserted document with ID and sync metadata
|
|
275
|
+
* @throws CollectionValidationError if validation fails
|
|
276
|
+
*/
|
|
277
|
+
insert(doc: Omit<T, 'id'>, options?: InsertOptions): Promise<SyncedDocument<T>>;
|
|
278
|
+
/**
|
|
279
|
+
* Update an existing document.
|
|
280
|
+
* Resets sync status to 'local' for re-sync.
|
|
281
|
+
* @param id - Document ID
|
|
282
|
+
* @param updates - Partial document updates
|
|
283
|
+
* @param options - Update options (e.g., skipValidation)
|
|
284
|
+
* @returns The updated document with sync metadata
|
|
285
|
+
* @throws CollectionValidationError if validation fails
|
|
286
|
+
*/
|
|
287
|
+
update(id: string, updates: Partial<Omit<T, 'id'>>, options?: UpdateOptions): Promise<SyncedDocument<T>>;
|
|
288
|
+
/**
|
|
289
|
+
* Delete a document from the collection.
|
|
290
|
+
* @param id - Document ID
|
|
291
|
+
*/
|
|
292
|
+
delete(id: string): Promise<void>;
|
|
293
|
+
/**
|
|
294
|
+
* Get a document by ID.
|
|
295
|
+
* @param id - Document ID
|
|
296
|
+
* @returns The document with sync metadata or null if not found
|
|
297
|
+
*/
|
|
298
|
+
get(id: string): Promise<SyncedDocument<T> | null>;
|
|
299
|
+
/**
|
|
300
|
+
* List all documents in the collection.
|
|
301
|
+
* @returns Array of all documents with sync metadata
|
|
302
|
+
*/
|
|
303
|
+
list(): Promise<SyncedDocument<T>[]>;
|
|
304
|
+
/**
|
|
305
|
+
* Subscribe to collection changes.
|
|
306
|
+
* Callback is called immediately with current documents and on every change.
|
|
307
|
+
* @param callback - Function called with updated documents array
|
|
308
|
+
* @returns Unsubscribe function
|
|
309
|
+
*/
|
|
310
|
+
subscribe(callback: (docs: SyncedDocument<T>[]) => void): Unsubscribe;
|
|
311
|
+
/**
|
|
312
|
+
* Subscribe to sync rejection events.
|
|
313
|
+
* Called when a document fails to sync due to server-side validation.
|
|
314
|
+
* @param callback - Function called when sync is rejected
|
|
315
|
+
* @returns Unsubscribe function
|
|
316
|
+
*/
|
|
317
|
+
onSyncRejected(callback: (event: SyncRejectedEvent<T>) => void): Unsubscribe;
|
|
318
|
+
/**
|
|
319
|
+
* Get the sync status of a specific document.
|
|
320
|
+
* @param id - Document ID
|
|
321
|
+
* @returns Sync metadata or null if document not found
|
|
322
|
+
*/
|
|
323
|
+
getSyncStatus(id: string): Promise<SyncMetadata | null>;
|
|
324
|
+
/**
|
|
325
|
+
* Retry syncing a rejected document.
|
|
326
|
+
* Useful after user has corrected the issue.
|
|
327
|
+
* @param id - Document ID
|
|
328
|
+
*/
|
|
329
|
+
retrySync(id: string): Promise<void>;
|
|
330
|
+
/**
|
|
331
|
+
* Mark a document as synced (for internal/testing use).
|
|
332
|
+
* @internal
|
|
333
|
+
*/
|
|
334
|
+
_markSynced(id: string): Promise<void>;
|
|
335
|
+
/**
|
|
336
|
+
* Mark a document as rejected (for internal/testing use).
|
|
337
|
+
* @internal
|
|
338
|
+
*/
|
|
339
|
+
_markRejected(id: string, error: SyncError): Promise<void>;
|
|
340
|
+
/**
|
|
341
|
+
* Mark a document as currently syncing (for internal/testing use).
|
|
342
|
+
* @internal
|
|
343
|
+
*/
|
|
344
|
+
_markSyncing(id: string): Promise<void>;
|
|
345
|
+
/**
|
|
346
|
+
* Get conflict information for a document.
|
|
347
|
+
* @param id - Document ID
|
|
348
|
+
* @returns Conflict info or null if no conflict exists
|
|
349
|
+
*/
|
|
350
|
+
getConflict(id: string): Promise<ConflictInfo<T> | null>;
|
|
351
|
+
/**
|
|
352
|
+
* Resolve a conflict by choosing local or server version.
|
|
353
|
+
* @param id - Document ID
|
|
354
|
+
* @param choice - 'local' to keep local version, 'server' to keep server version
|
|
355
|
+
*/
|
|
356
|
+
resolveConflict(id: string, choice: 'local' | 'server'): Promise<void>;
|
|
357
|
+
/**
|
|
358
|
+
* Keep both versions by creating a copy of the server version.
|
|
359
|
+
* The original document keeps the local version.
|
|
360
|
+
* @param id - Document ID
|
|
361
|
+
* @returns The ID of the newly created copy (with server version)
|
|
362
|
+
*/
|
|
363
|
+
keepBoth(id: string): Promise<string>;
|
|
364
|
+
/**
|
|
365
|
+
* Check if a document has a conflict.
|
|
366
|
+
* @param id - Document ID
|
|
367
|
+
* @returns True if conflict exists
|
|
368
|
+
*/
|
|
369
|
+
hasConflict(id: string): Promise<boolean>;
|
|
370
|
+
/**
|
|
371
|
+
* List all conflicts in the collection.
|
|
372
|
+
* @returns Array of conflict info objects
|
|
373
|
+
*/
|
|
374
|
+
listConflicts(): Promise<ConflictInfo<T>[]>;
|
|
375
|
+
/**
|
|
376
|
+
* Subscribe to conflict detection events.
|
|
377
|
+
* @param callback - Function called when a conflict is detected
|
|
378
|
+
* @returns Unsubscribe function
|
|
379
|
+
*/
|
|
380
|
+
onConflictDetected(callback: (event: ConflictDetectedEvent<T>) => void): Unsubscribe;
|
|
381
|
+
/**
|
|
382
|
+
* Set a conflict for a document (for internal/testing use).
|
|
383
|
+
* @internal
|
|
384
|
+
*/
|
|
385
|
+
_setConflict(id: string, conflict: ConflictInfo<T>): Promise<void>;
|
|
386
|
+
/**
|
|
387
|
+
* Get the Yjs binary update for a document (for CRDT sync).
|
|
388
|
+
* @param id - Document ID
|
|
389
|
+
* @returns The Yjs binary update or null if document not found
|
|
390
|
+
*/
|
|
391
|
+
getYjsUpdate(id: string): Promise<Uint8Array | null>;
|
|
392
|
+
/**
|
|
393
|
+
* Get the state vector for a document (for delta sync).
|
|
394
|
+
* @param id - Document ID
|
|
395
|
+
* @returns The state vector or null if document not found
|
|
396
|
+
*/
|
|
397
|
+
getStateVector(id: string): Promise<Uint8Array | null>;
|
|
398
|
+
/**
|
|
399
|
+
* Get a delta Yjs update since a given state vector.
|
|
400
|
+
* This returns only the changes since the provided state vector,
|
|
401
|
+
* enabling efficient incremental sync.
|
|
402
|
+
* @param id - Document ID
|
|
403
|
+
* @param sinceStateVector - State vector to compute delta from
|
|
404
|
+
* @returns The delta update or null if document not found
|
|
405
|
+
*/
|
|
406
|
+
getDeltaUpdate(id: string, sinceStateVector: Uint8Array): Promise<Uint8Array | null>;
|
|
407
|
+
/**
|
|
408
|
+
* Apply an external Yjs update to merge concurrent changes.
|
|
409
|
+
* @param id - Document ID
|
|
410
|
+
* @param update - Yjs binary update from another edge
|
|
411
|
+
* @param initialDoc - Optional initial document data when creating new doc from update
|
|
412
|
+
*/
|
|
413
|
+
applyUpdate(id: string, update: Uint8Array, initialDoc?: Omit<T, 'id'>): Promise<void>;
|
|
414
|
+
/**
|
|
415
|
+
* Get a tombstone record for a deleted document.
|
|
416
|
+
* @param id - Document ID
|
|
417
|
+
* @returns Tombstone record or null if not found
|
|
418
|
+
*/
|
|
419
|
+
getTombstone(id: string): Promise<Tombstone | null>;
|
|
420
|
+
/**
|
|
421
|
+
* List all tombstones in the collection.
|
|
422
|
+
* @returns Array of tombstone records
|
|
423
|
+
*/
|
|
424
|
+
listTombstones(): Promise<Tombstone[]>;
|
|
425
|
+
/**
|
|
426
|
+
* Get tombstones that need to be synced (unsynced tombstones).
|
|
427
|
+
* @returns Delta containing unsynced tombstones
|
|
428
|
+
*/
|
|
429
|
+
getTombstoneDelta(): Promise<TombstoneDelta>;
|
|
430
|
+
/**
|
|
431
|
+
* Apply a tombstone from a remote sync.
|
|
432
|
+
* Deletes the document if the tombstone is newer than the document's last update.
|
|
433
|
+
* @param tombstone - Remote tombstone to apply
|
|
434
|
+
*/
|
|
435
|
+
applyTombstone(tombstone: RemoteTombstone): Promise<void>;
|
|
436
|
+
/**
|
|
437
|
+
* Apply an update with a specific timestamp for conflict resolution.
|
|
438
|
+
* Won't resurrect a document if there's a newer tombstone.
|
|
439
|
+
* @param id - Document ID
|
|
440
|
+
* @param updates - Partial document updates
|
|
441
|
+
* @param timestamp - Timestamp of the update
|
|
442
|
+
*/
|
|
443
|
+
applyUpdateWithTimestamp(id: string, updates: Partial<Omit<T, 'id'>>, timestamp: number): Promise<void>;
|
|
444
|
+
/**
|
|
445
|
+
* Mark a tombstone as synced (for internal/sync engine use).
|
|
446
|
+
* @internal
|
|
447
|
+
*/
|
|
448
|
+
_markTombstoneSynced(id: string): Promise<void>;
|
|
449
|
+
/**
|
|
450
|
+
* Get the tombstone retention period in milliseconds.
|
|
451
|
+
* @returns Retention period in ms
|
|
452
|
+
*/
|
|
453
|
+
getTombstoneRetention(): number;
|
|
454
|
+
/**
|
|
455
|
+
* Set the tombstone retention period.
|
|
456
|
+
* @param retention - Retention period in ms
|
|
457
|
+
*/
|
|
458
|
+
setTombstoneRetention(retention: number): void;
|
|
459
|
+
/**
|
|
460
|
+
* Clean up old tombstones that are past the retention period and have been synced.
|
|
461
|
+
*/
|
|
462
|
+
cleanupTombstones(): Promise<void>;
|
|
463
|
+
/**
|
|
464
|
+
* Clear all data from the collection (in-memory and persisted).
|
|
465
|
+
* Used by selective sync when unsyncing a collection.
|
|
466
|
+
* @internal
|
|
467
|
+
*/
|
|
468
|
+
_clear(): Promise<void>;
|
|
469
|
+
/**
|
|
470
|
+
* Get the sync priority of a document.
|
|
471
|
+
* @param id - Document ID
|
|
472
|
+
* @returns The sync priority or null if document not found
|
|
473
|
+
*/
|
|
474
|
+
getPriority(id: string): Promise<SyncPriority | null>;
|
|
475
|
+
/**
|
|
476
|
+
* Set the sync priority of a document.
|
|
477
|
+
* @param id - Document ID
|
|
478
|
+
* @param priority - New sync priority
|
|
479
|
+
* @throws Error if document not found
|
|
480
|
+
*/
|
|
481
|
+
setPriority(id: string, priority: SyncPriority): Promise<void>;
|
|
482
|
+
/**
|
|
483
|
+
* Set sync priority for all documents in the collection.
|
|
484
|
+
* @param priority - New sync priority for all documents
|
|
485
|
+
*/
|
|
486
|
+
setCollectionPriority(priority: SyncPriority): Promise<void>;
|
|
487
|
+
/**
|
|
488
|
+
* Query documents with filtering, sorting, and pagination.
|
|
489
|
+
* All filter conditions are ANDed together.
|
|
490
|
+
* @param options - Query options including filter, orderBy, limit, offset
|
|
491
|
+
* @returns Array of matching documents with sync metadata
|
|
492
|
+
*/
|
|
493
|
+
query(options: QueryOptions<T>): Promise<SyncedDocument<T>[]>;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Filter operators for query conditions.
|
|
497
|
+
*/
|
|
498
|
+
export interface FilterOperators<T> {
|
|
499
|
+
/** Equal to */
|
|
500
|
+
eq?: T;
|
|
501
|
+
/** Not equal to */
|
|
502
|
+
ne?: T;
|
|
503
|
+
/** Greater than */
|
|
504
|
+
gt?: T;
|
|
505
|
+
/** Less than */
|
|
506
|
+
lt?: T;
|
|
507
|
+
/** Greater than or equal to */
|
|
508
|
+
gte?: T;
|
|
509
|
+
/** Less than or equal to */
|
|
510
|
+
lte?: T;
|
|
511
|
+
/** Value is in array */
|
|
512
|
+
in?: T[];
|
|
513
|
+
/** Value is not in array */
|
|
514
|
+
notIn?: T[];
|
|
515
|
+
/** Array field contains value (for array fields) */
|
|
516
|
+
contains?: T extends (infer U)[] ? U : never;
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Filter condition for a document field.
|
|
520
|
+
* Maps field names to filter operators.
|
|
521
|
+
*/
|
|
522
|
+
export type QueryFilter<T extends {
|
|
523
|
+
id: string;
|
|
524
|
+
}> = {
|
|
525
|
+
[K in keyof Omit<T, 'id'>]?: FilterOperators<T[K]>;
|
|
526
|
+
};
|
|
527
|
+
/**
|
|
528
|
+
* Sort direction for query results.
|
|
529
|
+
*/
|
|
530
|
+
export type SortDirection = 'asc' | 'desc';
|
|
531
|
+
/**
|
|
532
|
+
* Order by specification for sorting query results.
|
|
533
|
+
*/
|
|
534
|
+
export interface OrderBy<T extends {
|
|
535
|
+
id: string;
|
|
536
|
+
}> {
|
|
537
|
+
/** Field to sort by */
|
|
538
|
+
field: keyof Omit<T, 'id'>;
|
|
539
|
+
/** Sort direction (default: 'asc') */
|
|
540
|
+
direction?: SortDirection;
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Query options for filtering, sorting, and paginating documents.
|
|
544
|
+
*/
|
|
545
|
+
export interface QueryOptions<T extends {
|
|
546
|
+
id: string;
|
|
547
|
+
}> {
|
|
548
|
+
/** Filter conditions (all conditions are ANDed together) */
|
|
549
|
+
filter?: QueryFilter<T>;
|
|
550
|
+
/** Sort order specification */
|
|
551
|
+
orderBy?: OrderBy<T>;
|
|
552
|
+
/** Maximum number of results to return */
|
|
553
|
+
limit?: number;
|
|
554
|
+
/** Number of results to skip */
|
|
555
|
+
offset?: number;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Callback type for sync collections change events.
|
|
559
|
+
*/
|
|
560
|
+
export type SyncCollectionsChangeCallback = (collection: string, syncing: boolean) => void;
|
|
561
|
+
/**
|
|
562
|
+
* The offline edge client interface.
|
|
563
|
+
*/
|
|
564
|
+
export interface OfflineEdgeClient {
|
|
565
|
+
/**
|
|
566
|
+
* Get or create a typed collection.
|
|
567
|
+
* @param name - Collection name
|
|
568
|
+
* @returns A typed collection instance
|
|
569
|
+
*/
|
|
570
|
+
collection<T extends {
|
|
571
|
+
id: string;
|
|
572
|
+
}>(name: string): Collection<T>;
|
|
573
|
+
/**
|
|
574
|
+
* Reactive signal tracking the current connection state.
|
|
575
|
+
*/
|
|
576
|
+
readonly connectionState: Signal<ConnectionState>;
|
|
577
|
+
/**
|
|
578
|
+
* Check if a collection is being synced.
|
|
579
|
+
* @param name - Collection name
|
|
580
|
+
* @returns true if the collection is in the sync list
|
|
581
|
+
*/
|
|
582
|
+
isSyncing(name: string): boolean;
|
|
583
|
+
/**
|
|
584
|
+
* Add a collection to the sync list.
|
|
585
|
+
* If the collection already exists locally, its data will be queued for sync.
|
|
586
|
+
* @param name - Collection name to start syncing
|
|
587
|
+
*/
|
|
588
|
+
syncCollection(name: string): void;
|
|
589
|
+
/**
|
|
590
|
+
* Remove a collection from the sync list and clean up its local data.
|
|
591
|
+
* @param name - Collection name to stop syncing
|
|
592
|
+
*/
|
|
593
|
+
unsyncCollection(name: string): Promise<void>;
|
|
594
|
+
/**
|
|
595
|
+
* Get the list of currently synced collection names.
|
|
596
|
+
* @returns Array of collection names that are being synced
|
|
597
|
+
*/
|
|
598
|
+
getSyncedCollections(): string[];
|
|
599
|
+
/**
|
|
600
|
+
* Subscribe to sync collections changes.
|
|
601
|
+
* Called when a collection is added to or removed from sync.
|
|
602
|
+
* @param callback - Function called with collection name and syncing status
|
|
603
|
+
* @returns Unsubscribe function
|
|
604
|
+
*/
|
|
605
|
+
onSyncCollectionsChange(callback: SyncCollectionsChangeCallback): Unsubscribe;
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Lazy-initialized offline edge instance.
|
|
609
|
+
*/
|
|
610
|
+
export interface LazyOfflineEdge {
|
|
611
|
+
/**
|
|
612
|
+
* Initialize the client. Must be called before get().
|
|
613
|
+
* Safe to call multiple times.
|
|
614
|
+
*/
|
|
615
|
+
init(): Promise<void>;
|
|
616
|
+
/**
|
|
617
|
+
* Get the initialized client.
|
|
618
|
+
* @throws Error if init() has not been called
|
|
619
|
+
*/
|
|
620
|
+
get(): OfflineEdgeClient;
|
|
621
|
+
}
|
|
622
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|