stellar-drive 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 +607 -0
- package/dist/actions/remoteChange.d.ts +204 -0
- package/dist/actions/remoteChange.d.ts.map +1 -0
- package/dist/actions/remoteChange.js +424 -0
- package/dist/actions/remoteChange.js.map +1 -0
- package/dist/actions/truncateTooltip.d.ts +56 -0
- package/dist/actions/truncateTooltip.d.ts.map +1 -0
- package/dist/actions/truncateTooltip.js +312 -0
- package/dist/actions/truncateTooltip.js.map +1 -0
- package/dist/auth/crypto.d.ts +41 -0
- package/dist/auth/crypto.d.ts.map +1 -0
- package/dist/auth/crypto.js +50 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/deviceVerification.d.ts +283 -0
- package/dist/auth/deviceVerification.d.ts.map +1 -0
- package/dist/auth/deviceVerification.js +575 -0
- package/dist/auth/deviceVerification.js.map +1 -0
- package/dist/auth/displayUtils.d.ts +98 -0
- package/dist/auth/displayUtils.d.ts.map +1 -0
- package/dist/auth/displayUtils.js +145 -0
- package/dist/auth/displayUtils.js.map +1 -0
- package/dist/auth/loginGuard.d.ts +134 -0
- package/dist/auth/loginGuard.d.ts.map +1 -0
- package/dist/auth/loginGuard.js +276 -0
- package/dist/auth/loginGuard.js.map +1 -0
- package/dist/auth/offlineCredentials.d.ts +105 -0
- package/dist/auth/offlineCredentials.d.ts.map +1 -0
- package/dist/auth/offlineCredentials.js +176 -0
- package/dist/auth/offlineCredentials.js.map +1 -0
- package/dist/auth/offlineSession.d.ts +96 -0
- package/dist/auth/offlineSession.d.ts.map +1 -0
- package/dist/auth/offlineSession.js +145 -0
- package/dist/auth/offlineSession.js.map +1 -0
- package/dist/auth/resolveAuthState.d.ts +85 -0
- package/dist/auth/resolveAuthState.d.ts.map +1 -0
- package/dist/auth/resolveAuthState.js +249 -0
- package/dist/auth/resolveAuthState.js.map +1 -0
- package/dist/auth/singleUser.d.ts +498 -0
- package/dist/auth/singleUser.d.ts.map +1 -0
- package/dist/auth/singleUser.js +1282 -0
- package/dist/auth/singleUser.js.map +1 -0
- package/dist/bin/commands.d.ts +14 -0
- package/dist/bin/commands.d.ts.map +1 -0
- package/dist/bin/commands.js +68 -0
- package/dist/bin/commands.js.map +1 -0
- package/dist/bin/install-pwa.d.ts +41 -0
- package/dist/bin/install-pwa.d.ts.map +1 -0
- package/dist/bin/install-pwa.js +4594 -0
- package/dist/bin/install-pwa.js.map +1 -0
- package/dist/config.d.ts +249 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +395 -0
- package/dist/config.js.map +1 -0
- package/dist/conflicts.d.ts +306 -0
- package/dist/conflicts.d.ts.map +1 -0
- package/dist/conflicts.js +807 -0
- package/dist/conflicts.js.map +1 -0
- package/dist/crdt/awareness.d.ts +128 -0
- package/dist/crdt/awareness.d.ts.map +1 -0
- package/dist/crdt/awareness.js +284 -0
- package/dist/crdt/awareness.js.map +1 -0
- package/dist/crdt/channel.d.ts +165 -0
- package/dist/crdt/channel.d.ts.map +1 -0
- package/dist/crdt/channel.js +522 -0
- package/dist/crdt/channel.js.map +1 -0
- package/dist/crdt/config.d.ts +58 -0
- package/dist/crdt/config.d.ts.map +1 -0
- package/dist/crdt/config.js +123 -0
- package/dist/crdt/config.js.map +1 -0
- package/dist/crdt/helpers.d.ts +104 -0
- package/dist/crdt/helpers.d.ts.map +1 -0
- package/dist/crdt/helpers.js +116 -0
- package/dist/crdt/helpers.js.map +1 -0
- package/dist/crdt/offline.d.ts +58 -0
- package/dist/crdt/offline.d.ts.map +1 -0
- package/dist/crdt/offline.js +130 -0
- package/dist/crdt/offline.js.map +1 -0
- package/dist/crdt/persistence.d.ts +65 -0
- package/dist/crdt/persistence.d.ts.map +1 -0
- package/dist/crdt/persistence.js +171 -0
- package/dist/crdt/persistence.js.map +1 -0
- package/dist/crdt/provider.d.ts +109 -0
- package/dist/crdt/provider.d.ts.map +1 -0
- package/dist/crdt/provider.js +543 -0
- package/dist/crdt/provider.js.map +1 -0
- package/dist/crdt/store.d.ts +111 -0
- package/dist/crdt/store.d.ts.map +1 -0
- package/dist/crdt/store.js +158 -0
- package/dist/crdt/store.js.map +1 -0
- package/dist/crdt/types.d.ts +281 -0
- package/dist/crdt/types.d.ts.map +1 -0
- package/dist/crdt/types.js +26 -0
- package/dist/crdt/types.js.map +1 -0
- package/dist/data.d.ts +502 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +862 -0
- package/dist/data.js.map +1 -0
- package/dist/database.d.ts +153 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +325 -0
- package/dist/database.js.map +1 -0
- package/dist/debug.d.ts +87 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +135 -0
- package/dist/debug.js.map +1 -0
- package/dist/demo.d.ts +131 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/demo.js +168 -0
- package/dist/demo.js.map +1 -0
- package/dist/deviceId.d.ts +47 -0
- package/dist/deviceId.d.ts.map +1 -0
- package/dist/deviceId.js +106 -0
- package/dist/deviceId.js.map +1 -0
- package/dist/diagnostics.d.ts +292 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +378 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/engine.d.ts +230 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +2636 -0
- package/dist/engine.js.map +1 -0
- package/dist/entries/actions.d.ts +16 -0
- package/dist/entries/actions.d.ts.map +1 -0
- package/dist/entries/actions.js +29 -0
- package/dist/entries/actions.js.map +1 -0
- package/dist/entries/auth.d.ts +19 -0
- package/dist/entries/auth.d.ts.map +1 -0
- package/dist/entries/auth.js +50 -0
- package/dist/entries/auth.js.map +1 -0
- package/dist/entries/config.d.ts +15 -0
- package/dist/entries/config.d.ts.map +1 -0
- package/dist/entries/config.js +20 -0
- package/dist/entries/config.js.map +1 -0
- package/dist/entries/crdt.d.ts +32 -0
- package/dist/entries/crdt.d.ts.map +1 -0
- package/dist/entries/crdt.js +52 -0
- package/dist/entries/crdt.js.map +1 -0
- package/dist/entries/kit.d.ts +22 -0
- package/dist/entries/kit.d.ts.map +1 -0
- package/dist/entries/kit.js +58 -0
- package/dist/entries/kit.js.map +1 -0
- package/dist/entries/stores.d.ts +22 -0
- package/dist/entries/stores.d.ts.map +1 -0
- package/dist/entries/stores.js +57 -0
- package/dist/entries/stores.js.map +1 -0
- package/dist/entries/types.d.ts +23 -0
- package/dist/entries/types.d.ts.map +1 -0
- package/dist/entries/types.js +12 -0
- package/dist/entries/types.js.map +1 -0
- package/dist/entries/utils.d.ts +12 -0
- package/dist/entries/utils.d.ts.map +1 -0
- package/dist/entries/utils.js +42 -0
- package/dist/entries/utils.js.map +1 -0
- package/dist/entries/vite.d.ts +20 -0
- package/dist/entries/vite.d.ts.map +1 -0
- package/dist/entries/vite.js +26 -0
- package/dist/entries/vite.js.map +1 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +234 -0
- package/dist/index.js.map +1 -0
- package/dist/kit/auth.d.ts +80 -0
- package/dist/kit/auth.d.ts.map +1 -0
- package/dist/kit/auth.js +75 -0
- package/dist/kit/auth.js.map +1 -0
- package/dist/kit/confirm.d.ts +111 -0
- package/dist/kit/confirm.d.ts.map +1 -0
- package/dist/kit/confirm.js +169 -0
- package/dist/kit/confirm.js.map +1 -0
- package/dist/kit/loads.d.ts +187 -0
- package/dist/kit/loads.d.ts.map +1 -0
- package/dist/kit/loads.js +208 -0
- package/dist/kit/loads.js.map +1 -0
- package/dist/kit/server.d.ts +175 -0
- package/dist/kit/server.d.ts.map +1 -0
- package/dist/kit/server.js +297 -0
- package/dist/kit/server.js.map +1 -0
- package/dist/kit/sw.d.ts +176 -0
- package/dist/kit/sw.d.ts.map +1 -0
- package/dist/kit/sw.js +320 -0
- package/dist/kit/sw.js.map +1 -0
- package/dist/queue.d.ts +306 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +925 -0
- package/dist/queue.js.map +1 -0
- package/dist/realtime.d.ts +280 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +1031 -0
- package/dist/realtime.js.map +1 -0
- package/dist/runtime/runtimeConfig.d.ts +110 -0
- package/dist/runtime/runtimeConfig.d.ts.map +1 -0
- package/dist/runtime/runtimeConfig.js +260 -0
- package/dist/runtime/runtimeConfig.js.map +1 -0
- package/dist/schema.d.ts +150 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +891 -0
- package/dist/schema.js.map +1 -0
- package/dist/stores/authState.d.ts +204 -0
- package/dist/stores/authState.d.ts.map +1 -0
- package/dist/stores/authState.js +336 -0
- package/dist/stores/authState.js.map +1 -0
- package/dist/stores/factories.d.ts +140 -0
- package/dist/stores/factories.d.ts.map +1 -0
- package/dist/stores/factories.js +157 -0
- package/dist/stores/factories.js.map +1 -0
- package/dist/stores/network.d.ts +48 -0
- package/dist/stores/network.d.ts.map +1 -0
- package/dist/stores/network.js +261 -0
- package/dist/stores/network.js.map +1 -0
- package/dist/stores/remoteChanges.d.ts +417 -0
- package/dist/stores/remoteChanges.d.ts.map +1 -0
- package/dist/stores/remoteChanges.js +626 -0
- package/dist/stores/remoteChanges.js.map +1 -0
- package/dist/stores/sync.d.ts +165 -0
- package/dist/stores/sync.d.ts.map +1 -0
- package/dist/stores/sync.js +275 -0
- package/dist/stores/sync.js.map +1 -0
- package/dist/supabase/auth.d.ts +219 -0
- package/dist/supabase/auth.d.ts.map +1 -0
- package/dist/supabase/auth.js +459 -0
- package/dist/supabase/auth.js.map +1 -0
- package/dist/supabase/client.d.ts +88 -0
- package/dist/supabase/client.d.ts.map +1 -0
- package/dist/supabase/client.js +313 -0
- package/dist/supabase/client.js.map +1 -0
- package/dist/supabase/validate.d.ts +118 -0
- package/dist/supabase/validate.d.ts.map +1 -0
- package/dist/supabase/validate.js +208 -0
- package/dist/supabase/validate.js.map +1 -0
- package/dist/sw/build/vite-plugin.d.ts +149 -0
- package/dist/sw/build/vite-plugin.d.ts.map +1 -0
- package/dist/sw/build/vite-plugin.js +517 -0
- package/dist/sw/build/vite-plugin.js.map +1 -0
- package/dist/sw/sw.js +664 -0
- package/dist/types.d.ts +363 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +85 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +156 -0
- package/dist/utils.js.map +1 -0
- package/package.json +117 -0
- package/src/components/DeferredChangesBanner.svelte +477 -0
- package/src/components/DemoBanner.svelte +110 -0
- package/src/components/SyncStatus.svelte +1732 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Local-First Sync Engine - Core orchestrator for offline-first data synchronization.
|
|
3
|
+
*
|
|
4
|
+
* This is the heart of stellar-drive: a bidirectional sync engine that keeps local
|
|
5
|
+
* IndexedDB (via Dexie) in sync with a remote Supabase database. It implements the
|
|
6
|
+
* "local-first" pattern where all reads/writes happen against the local DB for instant
|
|
7
|
+
* responsiveness, and a background sync loop reconciles with the server.
|
|
8
|
+
*
|
|
9
|
+
* ## Architecture Overview
|
|
10
|
+
*
|
|
11
|
+
* ```
|
|
12
|
+
* ┌─────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
13
|
+
* │ UI Layer │────▶│ Local DB │────▶│ Sync Engine │────▶ Supabase
|
|
14
|
+
* │ (instant) │◀────│ (IndexedDB) │◀────│ (background)│◀──── (remote)
|
|
15
|
+
* └─────────────┘ └──────────────┘ └──────────────┘
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* ## Core Rules
|
|
19
|
+
*
|
|
20
|
+
* 1. **All reads come from local DB** (IndexedDB via Dexie)
|
|
21
|
+
* 2. **All writes go to local DB first**, immediately (no waiting for network)
|
|
22
|
+
* 3. **Every write creates a pending operation** in the sync queue (outbox pattern)
|
|
23
|
+
* 4. **Sync loop ships outbox to server** in the background (push phase)
|
|
24
|
+
* 5. **On refresh, load local state instantly**, then run background sync (pull phase)
|
|
25
|
+
*
|
|
26
|
+
* ## Sync Cycle Flow
|
|
27
|
+
*
|
|
28
|
+
* 1. **Push**: Coalesce pending ops → send to Supabase → remove from queue
|
|
29
|
+
* 2. **Pull**: Fetch changes since last cursor → apply with conflict resolution → update cursor
|
|
30
|
+
* 3. **Notify**: Tell registered stores to refresh from local DB
|
|
31
|
+
*
|
|
32
|
+
* ## Key Subsystems
|
|
33
|
+
*
|
|
34
|
+
* - **Egress monitoring**: Tracks bytes/records transferred for debugging bandwidth usage
|
|
35
|
+
* - **Sync lock (mutex)**: Prevents concurrent sync cycles from corrupting state
|
|
36
|
+
* - **Watchdog**: Detects stuck syncs and auto-releases locks after timeout
|
|
37
|
+
* - **Tombstone cleanup**: Garbage-collects soft-deleted records after configured TTL
|
|
38
|
+
* - **Auth validation**: Ensures valid session before syncing (prevents silent RLS failures)
|
|
39
|
+
* - **Visibility sync**: Smart re-sync when user returns to tab after extended absence
|
|
40
|
+
* - **Realtime integration**: Skips polling pull when WebSocket subscription is healthy
|
|
41
|
+
*
|
|
42
|
+
* ## Egress Optimization Strategy
|
|
43
|
+
*
|
|
44
|
+
* The engine aggressively minimizes Supabase egress (bandwidth) through:
|
|
45
|
+
* - Operation coalescing (50 rapid updates → 1 request)
|
|
46
|
+
* - Push-only mode when realtime is healthy (skip pull after local writes)
|
|
47
|
+
* - Cached user validation (1 getUser() call per hour instead of per sync)
|
|
48
|
+
* - Visibility-aware sync (skip sync if tab was hidden briefly)
|
|
49
|
+
* - Reconnect cooldown (skip sync if we just synced before going offline)
|
|
50
|
+
* - Selective column fetching (only request configured columns, not `*`)
|
|
51
|
+
*
|
|
52
|
+
* @module engine
|
|
53
|
+
* @see {@link ./queue.ts} - Sync queue (outbox) management
|
|
54
|
+
* @see {@link ./conflicts.ts} - Field-level conflict resolution
|
|
55
|
+
* @see {@link ./realtime.ts} - Supabase Realtime WebSocket subscriptions
|
|
56
|
+
* @see {@link ./config.ts} - Engine configuration and table definitions
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* Clear all pending sync operations from the outbox queue.
|
|
60
|
+
*
|
|
61
|
+
* **SECURITY**: Called when offline credentials are found to be invalid, to prevent
|
|
62
|
+
* unauthorized data from being synced to the server. Without this, a user who
|
|
63
|
+
* tampered with offline credentials could queue malicious writes that get pushed
|
|
64
|
+
* once the device reconnects.
|
|
65
|
+
*
|
|
66
|
+
* @returns The number of operations that were cleared
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* // Called during auth validation failure
|
|
71
|
+
* const cleared = await clearPendingSyncQueue();
|
|
72
|
+
* console.log(`Prevented ${cleared} unauthorized sync operations`);
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function clearPendingSyncQueue(): Promise<number>;
|
|
76
|
+
/** Stats captured for each sync cycle (push + pull) */
|
|
77
|
+
interface SyncCycleStats {
|
|
78
|
+
timestamp: string;
|
|
79
|
+
trigger: string;
|
|
80
|
+
pushedItems: number;
|
|
81
|
+
pulledTables: number;
|
|
82
|
+
pulledRecords: number;
|
|
83
|
+
egressBytes: number;
|
|
84
|
+
durationMs: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Mark an entity as recently modified to protect it from being overwritten by pull.
|
|
88
|
+
*
|
|
89
|
+
* Called by repository functions after every local write. The protection expires
|
|
90
|
+
* after `RECENTLY_MODIFIED_TTL_MS` (2 seconds).
|
|
91
|
+
*
|
|
92
|
+
* @param entityId - The UUID of the entity that was just modified locally
|
|
93
|
+
*/
|
|
94
|
+
export declare function markEntityModified(entityId: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Return a snapshot of engine-internal state for diagnostics.
|
|
97
|
+
*
|
|
98
|
+
* This function is prefixed with `_` to signal that it exposes module-private
|
|
99
|
+
* state and should only be consumed by the diagnostics module.
|
|
100
|
+
*
|
|
101
|
+
* @returns A plain object containing current engine state values
|
|
102
|
+
*/
|
|
103
|
+
export declare function _getEngineDiagnostics(): {
|
|
104
|
+
syncStats: SyncCycleStats[];
|
|
105
|
+
totalSyncCycles: number;
|
|
106
|
+
egressStats: {
|
|
107
|
+
byTable: {
|
|
108
|
+
[x: string]: {
|
|
109
|
+
bytes: number;
|
|
110
|
+
records: number;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
totalBytes: number;
|
|
114
|
+
totalRecords: number;
|
|
115
|
+
sessionStart: string;
|
|
116
|
+
};
|
|
117
|
+
hasHydrated: boolean;
|
|
118
|
+
schemaValidated: boolean;
|
|
119
|
+
isTabVisible: boolean;
|
|
120
|
+
tabHiddenAt: number | null;
|
|
121
|
+
lockHeld: boolean;
|
|
122
|
+
lockHeldForMs: number | null;
|
|
123
|
+
recentlyModifiedCount: number;
|
|
124
|
+
wasOffline: boolean;
|
|
125
|
+
authValidatedAfterReconnect: boolean;
|
|
126
|
+
lastSuccessfulSyncTimestamp: number;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Register a callback to be invoked when a sync cycle completes.
|
|
130
|
+
*
|
|
131
|
+
* Used by Svelte stores to refresh their data from the local DB after new
|
|
132
|
+
* remote data has been pulled. Returns an unsubscribe function for cleanup.
|
|
133
|
+
*
|
|
134
|
+
* @param callback - Function to call after each sync completion
|
|
135
|
+
* @returns Unsubscribe function that removes the callback
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* // In a Svelte store
|
|
140
|
+
* const unsubscribe = onSyncComplete(() => {
|
|
141
|
+
* refreshFromLocalDb();
|
|
142
|
+
* });
|
|
143
|
+
* // Later, during cleanup:
|
|
144
|
+
* unsubscribe();
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare function onSyncComplete(callback: () => void): () => void;
|
|
148
|
+
/**
|
|
149
|
+
* Schedule a debounced sync push after a local write.
|
|
150
|
+
*
|
|
151
|
+
* Called by repository functions after every write to the local DB. The debounce
|
|
152
|
+
* prevents hammering the server during rapid edits (e.g., typing in a text field).
|
|
153
|
+
* When realtime is healthy, runs in push-only mode (skips the pull phase) since
|
|
154
|
+
* remote changes arrive via WebSocket.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* // After a local write in a repository
|
|
159
|
+
* await db.table('todos').put(newTodo);
|
|
160
|
+
* scheduleSyncPush(); // Sync will fire after debounce delay
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
export declare function scheduleSyncPush(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Execute a full sync cycle: push local changes, then pull remote changes.
|
|
166
|
+
*
|
|
167
|
+
* This is the main entry point for sync. It orchestrates the complete cycle:
|
|
168
|
+
* 1. **Pre-flight checks**: Online status, auth validation, session validity
|
|
169
|
+
* 2. **Acquire lock**: Prevent concurrent syncs
|
|
170
|
+
* 3. **Push phase**: Send pending local changes to Supabase
|
|
171
|
+
* 4. **Pull phase**: Fetch remote changes since last cursor (with retry)
|
|
172
|
+
* 5. **Post-sync**: Update UI status, notify stores, log egress stats
|
|
173
|
+
*
|
|
174
|
+
* The `quiet` flag controls whether the UI sync indicator is shown. Background
|
|
175
|
+
* periodic syncs use `quiet=true` to avoid distracting the user. User-triggered
|
|
176
|
+
* syncs (after local writes) use `quiet=false` to show progress.
|
|
177
|
+
*
|
|
178
|
+
* The `skipPull` flag enables push-only mode when realtime subscriptions are
|
|
179
|
+
* healthy — since remote changes arrive via WebSocket, polling is redundant.
|
|
180
|
+
*
|
|
181
|
+
* @param quiet - If `true`, don't update the UI status indicator
|
|
182
|
+
* @param skipPull - If `true`, skip the pull phase (push-only mode)
|
|
183
|
+
*/
|
|
184
|
+
export declare function runFullSync(quiet?: boolean, skipPull?: boolean): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Start the sync engine: initialize all listeners, timers, and subscriptions.
|
|
187
|
+
*
|
|
188
|
+
* This is the main "boot" function for the sync engine. It:
|
|
189
|
+
* 1. Ensures the Dexie DB is open and upgraded
|
|
190
|
+
* 2. Cleans up any existing listeners (idempotent restart support)
|
|
191
|
+
* 3. Subscribes to Supabase auth state changes (handles sign-out/token-refresh)
|
|
192
|
+
* 4. Registers online/offline handlers with auth validation
|
|
193
|
+
* 5. Registers visibility change handler for smart tab-return syncing
|
|
194
|
+
* 6. Starts realtime WebSocket subscriptions
|
|
195
|
+
* 7. Starts periodic background sync interval
|
|
196
|
+
* 8. Validates Supabase schema (one-time)
|
|
197
|
+
* 9. Runs initial hydration (if local DB is empty) or full sync
|
|
198
|
+
* 10. Runs initial cleanup (tombstones, conflicts, failed items)
|
|
199
|
+
* 11. Starts the watchdog timer
|
|
200
|
+
* 12. Registers debug window utilities (Tombstones, Sync, Diagnostics)
|
|
201
|
+
*
|
|
202
|
+
* **Must be called after `initEngine()`** — requires configuration to be set.
|
|
203
|
+
* Safe to call multiple times (previous listeners are cleaned up first).
|
|
204
|
+
*/
|
|
205
|
+
export declare function startSyncEngine(): Promise<void>;
|
|
206
|
+
/**
|
|
207
|
+
* Stop the sync engine: tear down all listeners, timers, and subscriptions.
|
|
208
|
+
*
|
|
209
|
+
* After calling this, no sync activity will occur. All event listeners are
|
|
210
|
+
* removed to prevent memory leaks. The sync lock is released in case a sync
|
|
211
|
+
* was in progress. Hydration and schema validation flags are reset so the
|
|
212
|
+
* engine can be cleanly restarted.
|
|
213
|
+
*
|
|
214
|
+
* Call this during app teardown, before reconfiguring the engine, or when
|
|
215
|
+
* the user navigates away from pages that need sync.
|
|
216
|
+
*/
|
|
217
|
+
export declare function stopSyncEngine(): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* Clear all local data from IndexedDB (used during logout).
|
|
220
|
+
*
|
|
221
|
+
* Wipes all entity tables, the sync queue, and conflict history in a single
|
|
222
|
+
* transaction. Also removes the user's sync cursor from localStorage and
|
|
223
|
+
* resets the hydration flag so the next login triggers a fresh hydration.
|
|
224
|
+
*
|
|
225
|
+
* **IMPORTANT**: Call this BEFORE calling `stopSyncEngine()` to ensure the
|
|
226
|
+
* database is still open when clearing tables.
|
|
227
|
+
*/
|
|
228
|
+
export declare function clearLocalCache(): Promise<void>;
|
|
229
|
+
export {};
|
|
230
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAgLH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAW7D;AAuCD,uDAAuD;AACvD,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAgLD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB;;;;;;uBAxLF,MAAM;yBAAW,MAAM;;;oBAF5C,MAAM;sBACJ,MAAM;sBAEN,MAAM;;;;;;;;;;;;EAuMrB;AAgLD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAO/D;AAuCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAcvC;AAi8BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,KAAK,GAAE,OAAe,EACtB,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Mf;AAolBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAwYrD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+DpD;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAgDrD"}
|