@prabhask5/stellar-engine 1.1.18 → 1.2.1
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 +448 -321
- 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 +20 -6
- package/dist/bin/install-pwa.d.ts.map +1 -1
- package/dist/bin/install-pwa.js +111 -184
- package/dist/bin/install-pwa.js.map +1 -1
- package/dist/config.d.ts +67 -11
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +265 -24
- package/dist/config.js.map +1 -1
- 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/database.d.ts +66 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +133 -7
- package/dist/database.js.map +1 -1
- package/dist/diagnostics.d.ts +75 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +114 -2
- package/dist/diagnostics.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +21 -1
- package/dist/engine.js.map +1 -1
- 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/types.d.ts +5 -3
- package/dist/entries/types.d.ts.map +1 -1
- package/dist/entries/utils.d.ts +1 -0
- package/dist/entries/utils.d.ts.map +1 -1
- package/dist/entries/utils.js +8 -0
- package/dist/entries/utils.js.map +1 -1
- package/dist/entries/vite.d.ts +1 -1
- package/dist/entries/vite.d.ts.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- 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/sw/build/vite-plugin.d.ts +93 -18
- package/dist/sw/build/vite-plugin.d.ts.map +1 -1
- package/dist/sw/build/vite-plugin.js +356 -22
- package/dist/sw/build/vite-plugin.js.map +1 -1
- package/dist/types.d.ts +139 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -3
- package/dist/operations.d.ts +0 -73
- package/dist/operations.d.ts.map +0 -1
- package/dist/operations.js +0 -227
- package/dist/operations.js.map +0 -1
- package/dist/reconnectHandler.d.ts +0 -16
- package/dist/reconnectHandler.d.ts.map +0 -1
- package/dist/reconnectHandler.js +0 -21
- package/dist/reconnectHandler.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../src/sw/build/vite-plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../src/sw/build/vite-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -198,6 +198,145 @@ export interface SingleUserConfig {
|
|
|
198
198
|
/** ISO 8601 timestamp of last configuration change. */
|
|
199
199
|
updatedAt: string;
|
|
200
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Declares a column's type in the schema `fields` map.
|
|
203
|
+
*
|
|
204
|
+
* - **String shorthand:** `'string'`, `'number?'`, `'uuid'`, `'boolean'`, `'date'`, `'timestamp'`, `'json'`
|
|
205
|
+
* Append `?` for nullable (e.g., `'string?'` → `string | null` / `text`).
|
|
206
|
+
* - **Enum array:** `['a', 'b', 'c']` → union type `'a' | 'b' | 'c'` / SQL `text not null`.
|
|
207
|
+
* - **Enum object:** `{ enum: ['a', 'b'], nullable: true, enumName: 'MyType' }` — full control.
|
|
208
|
+
*/
|
|
209
|
+
export type FieldType = string | string[] | {
|
|
210
|
+
enum: string[];
|
|
211
|
+
nullable?: boolean;
|
|
212
|
+
enumName?: string;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Declarative schema definition for the sync engine.
|
|
216
|
+
*
|
|
217
|
+
* Each key is a Supabase table name (snake_case), and the value is either:
|
|
218
|
+
* - A **string** of app-specific Dexie indexes (system indexes auto-appended)
|
|
219
|
+
* - A **{@link SchemaTableConfig}** object for full control
|
|
220
|
+
*
|
|
221
|
+
* The engine auto-generates `TableConfig[]`, Dexie stores, and database
|
|
222
|
+
* versioning from this single declaration — replacing the manual `tables`
|
|
223
|
+
* and `database` configuration.
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* const schema: SchemaDefinition = {
|
|
227
|
+
* goals: 'goal_list_id, order', // string shorthand
|
|
228
|
+
* focus_settings: { singleton: true }, // object form
|
|
229
|
+
* projects: 'is_current, order',
|
|
230
|
+
* };
|
|
231
|
+
*
|
|
232
|
+
* @see {@link config.ts#initEngine} for usage in `initEngine({ schema })`
|
|
233
|
+
*/
|
|
234
|
+
export type SchemaDefinition = Record<string, string | SchemaTableConfig>;
|
|
235
|
+
/**
|
|
236
|
+
* Per-table configuration when using the object form of {@link SchemaDefinition}.
|
|
237
|
+
*
|
|
238
|
+
* String form (`'goal_list_id, order'`) is sugar for `{ indexes: 'goal_list_id, order' }`.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* {
|
|
242
|
+
* indexes: 'goal_list_id, order',
|
|
243
|
+
* singleton: false,
|
|
244
|
+
* sqlColumns: { name: 'text not null', type: "text default 'goal'" },
|
|
245
|
+
* }
|
|
246
|
+
*/
|
|
247
|
+
export interface SchemaTableConfig {
|
|
248
|
+
/** App-specific Dexie indexes (system indexes auto-appended). @default '' */
|
|
249
|
+
indexes?: string;
|
|
250
|
+
/** Single row per user (e.g., user settings). @default false */
|
|
251
|
+
singleton?: boolean;
|
|
252
|
+
/** Override the default `'user_id'` ownership column. */
|
|
253
|
+
ownership?: string;
|
|
254
|
+
/** Explicit Supabase SELECT columns (egress optimization). @default '*' */
|
|
255
|
+
columns?: string;
|
|
256
|
+
/** Override auto-generated camelCase Dexie table name. */
|
|
257
|
+
dexieName?: string;
|
|
258
|
+
/** Fields to skip during conflict resolution. */
|
|
259
|
+
excludeFromConflict?: string[];
|
|
260
|
+
/** Numeric fields that attempt additive merge during conflicts. */
|
|
261
|
+
numericMergeFields?: string[];
|
|
262
|
+
/** Callback when remote change arrives for this table. */
|
|
263
|
+
onRemoteChange?: (table: string, record: Record<string, unknown>) => void;
|
|
264
|
+
/** Explicit SQL column types for `generateSupabaseSQL()`. Overrides type inference. */
|
|
265
|
+
sqlColumns?: Record<string, string>;
|
|
266
|
+
/**
|
|
267
|
+
* Declarative field definitions for TypeScript + SQL generation.
|
|
268
|
+
* Keys are column names (snake_case); values are {@link FieldType} shorthands.
|
|
269
|
+
* System columns (`id`, `user_id`, `created_at`, etc.) are auto-injected.
|
|
270
|
+
*/
|
|
271
|
+
fields?: Record<string, FieldType>;
|
|
272
|
+
/** Override the auto-generated PascalCase interface name (e.g., `'LongTermTask'`). */
|
|
273
|
+
typeName?: string;
|
|
274
|
+
/**
|
|
275
|
+
* Previous table name, used as a one-time rename hint.
|
|
276
|
+
*
|
|
277
|
+
* When set, the migration generator produces `ALTER TABLE <renamedFrom> RENAME TO <newName>`
|
|
278
|
+
* instead of DROP + CREATE. The Dexie upgrade callback copies data from the old table
|
|
279
|
+
* to the new one. Remove this field after the migration has been applied.
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* // Rename "todos" to "tasks":
|
|
283
|
+
* tasks: { indexes: 'project_id, order', renamedFrom: 'todos' }
|
|
284
|
+
*/
|
|
285
|
+
renamedFrom?: string;
|
|
286
|
+
/**
|
|
287
|
+
* Column renames as `{ newName: oldName }`, used as one-time rename hints.
|
|
288
|
+
*
|
|
289
|
+
* Generates `ALTER TABLE ... RENAME COLUMN <oldName> TO <newName>` in the migration SQL.
|
|
290
|
+
* Remove these entries after the migration has been applied.
|
|
291
|
+
*
|
|
292
|
+
* @example
|
|
293
|
+
* // Rename the "name" column to "title":
|
|
294
|
+
* tasks: { indexes: 'project_id, order', renamedColumns: { title: 'name' } }
|
|
295
|
+
*/
|
|
296
|
+
renamedColumns?: Record<string, string>;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Simplified authentication configuration for the sync engine.
|
|
300
|
+
*
|
|
301
|
+
* Flattens the single-user auth options to the top level instead of nesting
|
|
302
|
+
* under `singleUser: { ... }`. All fields are optional with sensible defaults
|
|
303
|
+
* that match stellar/'s configuration.
|
|
304
|
+
*
|
|
305
|
+
* The engine internally normalizes this flat config back to the existing nested
|
|
306
|
+
* structure so all auth subsystem code continues to work unchanged. The old
|
|
307
|
+
* nested `{ singleUser: {...} }` format is still accepted for backward compat
|
|
308
|
+
* (detected via presence of the `singleUser` key).
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* auth: {
|
|
312
|
+
* gateType: 'code',
|
|
313
|
+
* codeLength: 6,
|
|
314
|
+
* profileExtractor: (meta) => ({ firstName: meta.first_name }),
|
|
315
|
+
* profileToMetadata: (p) => ({ first_name: p.firstName }),
|
|
316
|
+
* }
|
|
317
|
+
*/
|
|
318
|
+
export interface AuthConfig {
|
|
319
|
+
/** The type of gate protecting single-user mode. @default 'code' */
|
|
320
|
+
gateType?: SingleUserGateType;
|
|
321
|
+
/** Digit count for code gates. @default 6 */
|
|
322
|
+
codeLength?: 4 | 6;
|
|
323
|
+
/** Whether signup requires email confirmation before access. @default true */
|
|
324
|
+
emailConfirmation?: boolean;
|
|
325
|
+
/** Whether untrusted devices require email OTP verification. @default true */
|
|
326
|
+
deviceVerification?: boolean;
|
|
327
|
+
/** Days before a trusted device must re-verify. @default 90 */
|
|
328
|
+
trustDurationDays?: number;
|
|
329
|
+
/** Path to redirect to after email confirmation. @default '/confirm' */
|
|
330
|
+
confirmRedirectPath?: string;
|
|
331
|
+
/** Enable offline credential caching and offline sign-in. @default true */
|
|
332
|
+
enableOfflineAuth?: boolean;
|
|
333
|
+
/** How often to re-validate the Supabase session (ms). @default 3600000 */
|
|
334
|
+
sessionValidationIntervalMs?: number;
|
|
335
|
+
/** Extract app-specific profile fields from Supabase `user_metadata`. */
|
|
336
|
+
profileExtractor?: (userMetadata: Record<string, unknown>) => Record<string, unknown>;
|
|
337
|
+
/** Convert app-specific profile back to Supabase `user_metadata` shape. */
|
|
338
|
+
profileToMetadata?: (profile: Record<string, unknown>) => Record<string, unknown>;
|
|
339
|
+
}
|
|
201
340
|
/**
|
|
202
341
|
* A trusted device record stored in the Supabase `trusted_devices` table.
|
|
203
342
|
*
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prabhask5/stellar-engine",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -45,6 +45,10 @@
|
|
|
45
45
|
"types": "./dist/entries/kit.d.ts",
|
|
46
46
|
"import": "./dist/entries/kit.js"
|
|
47
47
|
},
|
|
48
|
+
"./crdt": {
|
|
49
|
+
"types": "./dist/entries/crdt.d.ts",
|
|
50
|
+
"import": "./dist/entries/crdt.js"
|
|
51
|
+
},
|
|
48
52
|
"./components/SyncStatus": {
|
|
49
53
|
"svelte": "./src/components/SyncStatus.svelte",
|
|
50
54
|
"default": "./src/components/SyncStatus.svelte"
|
|
@@ -59,7 +63,7 @@
|
|
|
59
63
|
}
|
|
60
64
|
},
|
|
61
65
|
"bin": {
|
|
62
|
-
"stellar-engine": "./dist/bin/
|
|
66
|
+
"stellar-engine": "./dist/bin/commands.js"
|
|
63
67
|
},
|
|
64
68
|
"files": [
|
|
65
69
|
"dist",
|
|
@@ -88,7 +92,8 @@
|
|
|
88
92
|
"@clack/prompts": "^1.0.1",
|
|
89
93
|
"@supabase/supabase-js": "^2.49.0",
|
|
90
94
|
"dexie": "^4.2.1",
|
|
91
|
-
"picocolors": "^1.1.1"
|
|
95
|
+
"picocolors": "^1.1.1",
|
|
96
|
+
"yjs": "^13.6.0"
|
|
92
97
|
},
|
|
93
98
|
"peerDependencies": {
|
|
94
99
|
"svelte": "^5.0.0"
|
|
@@ -100,6 +105,7 @@
|
|
|
100
105
|
},
|
|
101
106
|
"devDependencies": {
|
|
102
107
|
"@eslint/js": "^9.39.2",
|
|
108
|
+
"esbuild": "^0.27.3",
|
|
103
109
|
"eslint": "^9.39.2",
|
|
104
110
|
"globals": "^17.3.0",
|
|
105
111
|
"knip": "^5.82.1",
|
package/dist/operations.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync Operation Helpers
|
|
3
|
-
*
|
|
4
|
-
* Provides utilities for:
|
|
5
|
-
* - Transforming operations to Supabase mutations
|
|
6
|
-
* - Creating operation items
|
|
7
|
-
* - Operation coalescing logic
|
|
8
|
-
*/
|
|
9
|
-
import type { SyncOperationItem, OperationType } from './types';
|
|
10
|
-
/**
|
|
11
|
-
* Transform a SyncOperationItem into a Supabase mutation payload.
|
|
12
|
-
* This is called by the sync engine when pushing to Supabase.
|
|
13
|
-
*
|
|
14
|
-
* @param operation The operation to transform
|
|
15
|
-
* @param currentValue The current value of the field (needed for increment operations)
|
|
16
|
-
* @returns The payload to send to Supabase
|
|
17
|
-
*/
|
|
18
|
-
export declare function operationToMutation(operation: SyncOperationItem, currentValue?: unknown): {
|
|
19
|
-
mutationType: 'insert' | 'update' | 'delete';
|
|
20
|
-
payload: Record<string, unknown>;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Infer the appropriate operation type based on the value and field name.
|
|
24
|
-
*
|
|
25
|
-
* @param value The value being set
|
|
26
|
-
* @param fieldName The name of the field
|
|
27
|
-
* @param isIncrement Whether this is a known increment operation
|
|
28
|
-
* @returns The inferred operation type
|
|
29
|
-
*/
|
|
30
|
-
export declare function inferOperationType(_value: unknown, _fieldName: string, isIncrement?: boolean): OperationType;
|
|
31
|
-
/**
|
|
32
|
-
* Create an increment operation item.
|
|
33
|
-
*/
|
|
34
|
-
export declare function createIncrementOperation(table: string, entityId: string, field: string, delta: number, timestamp: string): SyncOperationItem;
|
|
35
|
-
/**
|
|
36
|
-
* Create a set operation item for a single field.
|
|
37
|
-
*/
|
|
38
|
-
export declare function createSetOperation(table: string, entityId: string, field: string, value: unknown, timestamp: string): SyncOperationItem;
|
|
39
|
-
/**
|
|
40
|
-
* Create a set operation item for multiple fields.
|
|
41
|
-
*/
|
|
42
|
-
export declare function createMultiFieldSetOperation(table: string, entityId: string, fields: Record<string, unknown>, timestamp: string): SyncOperationItem;
|
|
43
|
-
/**
|
|
44
|
-
* Create a create operation item.
|
|
45
|
-
*/
|
|
46
|
-
export declare function createCreateOperation(table: string, entityId: string, payload: Record<string, unknown>, timestamp: string): SyncOperationItem;
|
|
47
|
-
/**
|
|
48
|
-
* Create a delete operation item.
|
|
49
|
-
*/
|
|
50
|
-
export declare function createDeleteOperation(table: string, entityId: string, timestamp: string): SyncOperationItem;
|
|
51
|
-
/**
|
|
52
|
-
* Check if two operations can be coalesced together.
|
|
53
|
-
*
|
|
54
|
-
* Coalescing rules:
|
|
55
|
-
* - Same table + entityId + operationType can be coalesced
|
|
56
|
-
* - Increment operations: can be coalesced if same field (sums deltas)
|
|
57
|
-
* - Set operations: can be coalesced (keeps merged/latest values)
|
|
58
|
-
* - Create/delete: cannot coalesce (would lose intent)
|
|
59
|
-
*/
|
|
60
|
-
export declare function canCoalesce(a: SyncOperationItem, b: SyncOperationItem): boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Coalesce two operations into one.
|
|
63
|
-
*
|
|
64
|
-
* Coalescing strategy by operation type:
|
|
65
|
-
* - Increment: sum the deltas (e.g., +1 and +1 = +2)
|
|
66
|
-
* - Set: keep the newer value (last-write-wins)
|
|
67
|
-
*
|
|
68
|
-
* @param older The older operation
|
|
69
|
-
* @param newer The newer operation
|
|
70
|
-
* @returns The coalesced operation
|
|
71
|
-
*/
|
|
72
|
-
export declare function coalesceOperations(older: SyncOperationItem, newer: SyncOperationItem): SyncOperationItem;
|
|
73
|
-
//# sourceMappingURL=operations.d.ts.map
|
package/dist/operations.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,iBAAiB,EAC5B,YAAY,CAAC,EAAE,OAAO,GACrB;IAAE,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAkEpF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,OAAO,GACpB,aAAa,CAOf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAUnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAUnB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,MAAM,GAChB,iBAAiB,CASnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,MAAM,GAChB,iBAAiB,CASnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAQnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CA+B/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,iBAAiB,GACvB,iBAAiB,CAqBnB"}
|
package/dist/operations.js
DELETED
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync Operation Helpers
|
|
3
|
-
*
|
|
4
|
-
* Provides utilities for:
|
|
5
|
-
* - Transforming operations to Supabase mutations
|
|
6
|
-
* - Creating operation items
|
|
7
|
-
* - Operation coalescing logic
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Transform a SyncOperationItem into a Supabase mutation payload.
|
|
11
|
-
* This is called by the sync engine when pushing to Supabase.
|
|
12
|
-
*
|
|
13
|
-
* @param operation The operation to transform
|
|
14
|
-
* @param currentValue The current value of the field (needed for increment operations)
|
|
15
|
-
* @returns The payload to send to Supabase
|
|
16
|
-
*/
|
|
17
|
-
export function operationToMutation(operation, currentValue) {
|
|
18
|
-
switch (operation.operationType) {
|
|
19
|
-
case 'create':
|
|
20
|
-
return {
|
|
21
|
-
mutationType: 'insert',
|
|
22
|
-
payload: {
|
|
23
|
-
id: operation.entityId,
|
|
24
|
-
...operation.value
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
case 'delete':
|
|
28
|
-
return {
|
|
29
|
-
mutationType: 'update',
|
|
30
|
-
payload: {
|
|
31
|
-
deleted: true,
|
|
32
|
-
updated_at: operation.timestamp
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
case 'increment': {
|
|
36
|
-
// For increment, we need to compute the new value
|
|
37
|
-
// currentValue should be provided by the caller from the local entity
|
|
38
|
-
const base = typeof currentValue === 'number' ? currentValue : 0;
|
|
39
|
-
const delta = typeof operation.value === 'number' ? operation.value : 0;
|
|
40
|
-
const newValue = base + delta;
|
|
41
|
-
if (!operation.field) {
|
|
42
|
-
throw new Error('Increment operation requires a field');
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
mutationType: 'update',
|
|
46
|
-
payload: {
|
|
47
|
-
[operation.field]: newValue,
|
|
48
|
-
updated_at: operation.timestamp
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
case 'set': {
|
|
53
|
-
// For set, we either have a single field or a full payload
|
|
54
|
-
if (operation.field) {
|
|
55
|
-
// Single field set
|
|
56
|
-
return {
|
|
57
|
-
mutationType: 'update',
|
|
58
|
-
payload: {
|
|
59
|
-
[operation.field]: operation.value,
|
|
60
|
-
updated_at: operation.timestamp
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// Full payload set
|
|
66
|
-
return {
|
|
67
|
-
mutationType: 'update',
|
|
68
|
-
payload: {
|
|
69
|
-
...operation.value,
|
|
70
|
-
updated_at: operation.timestamp
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
default:
|
|
76
|
-
throw new Error(`Unknown operation type: ${operation.operationType}`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Infer the appropriate operation type based on the value and field name.
|
|
81
|
-
*
|
|
82
|
-
* @param value The value being set
|
|
83
|
-
* @param fieldName The name of the field
|
|
84
|
-
* @param isIncrement Whether this is a known increment operation
|
|
85
|
-
* @returns The inferred operation type
|
|
86
|
-
*/
|
|
87
|
-
export function inferOperationType(_value, _fieldName, isIncrement) {
|
|
88
|
-
if (isIncrement) {
|
|
89
|
-
return 'increment';
|
|
90
|
-
}
|
|
91
|
-
// All non-increment operations are 'set'
|
|
92
|
-
return 'set';
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Create an increment operation item.
|
|
96
|
-
*/
|
|
97
|
-
export function createIncrementOperation(table, entityId, field, delta, timestamp) {
|
|
98
|
-
return {
|
|
99
|
-
table,
|
|
100
|
-
entityId,
|
|
101
|
-
operationType: 'increment',
|
|
102
|
-
field,
|
|
103
|
-
value: delta,
|
|
104
|
-
timestamp,
|
|
105
|
-
retries: 0
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Create a set operation item for a single field.
|
|
110
|
-
*/
|
|
111
|
-
export function createSetOperation(table, entityId, field, value, timestamp) {
|
|
112
|
-
return {
|
|
113
|
-
table,
|
|
114
|
-
entityId,
|
|
115
|
-
operationType: 'set',
|
|
116
|
-
field,
|
|
117
|
-
value,
|
|
118
|
-
timestamp,
|
|
119
|
-
retries: 0
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Create a set operation item for multiple fields.
|
|
124
|
-
*/
|
|
125
|
-
export function createMultiFieldSetOperation(table, entityId, fields, timestamp) {
|
|
126
|
-
return {
|
|
127
|
-
table,
|
|
128
|
-
entityId,
|
|
129
|
-
operationType: 'set',
|
|
130
|
-
value: fields,
|
|
131
|
-
timestamp,
|
|
132
|
-
retries: 0
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Create a create operation item.
|
|
137
|
-
*/
|
|
138
|
-
export function createCreateOperation(table, entityId, payload, timestamp) {
|
|
139
|
-
return {
|
|
140
|
-
table,
|
|
141
|
-
entityId,
|
|
142
|
-
operationType: 'create',
|
|
143
|
-
value: payload,
|
|
144
|
-
timestamp,
|
|
145
|
-
retries: 0
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Create a delete operation item.
|
|
150
|
-
*/
|
|
151
|
-
export function createDeleteOperation(table, entityId, timestamp) {
|
|
152
|
-
return {
|
|
153
|
-
table,
|
|
154
|
-
entityId,
|
|
155
|
-
operationType: 'delete',
|
|
156
|
-
timestamp,
|
|
157
|
-
retries: 0
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Check if two operations can be coalesced together.
|
|
162
|
-
*
|
|
163
|
-
* Coalescing rules:
|
|
164
|
-
* - Same table + entityId + operationType can be coalesced
|
|
165
|
-
* - Increment operations: can be coalesced if same field (sums deltas)
|
|
166
|
-
* - Set operations: can be coalesced (keeps merged/latest values)
|
|
167
|
-
* - Create/delete: cannot coalesce (would lose intent)
|
|
168
|
-
*/
|
|
169
|
-
export function canCoalesce(a, b) {
|
|
170
|
-
if (a.table !== b.table || a.entityId !== b.entityId) {
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
// Same operation type on same field can be coalesced
|
|
174
|
-
if (a.operationType === b.operationType) {
|
|
175
|
-
// Create and delete cannot coalesce (would lose intent)
|
|
176
|
-
if (a.operationType === 'create' || a.operationType === 'delete') {
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
// For increment operations, must be same field
|
|
180
|
-
if (a.operationType === 'increment') {
|
|
181
|
-
// Both must have a field specified
|
|
182
|
-
if (!a.field || !b.field) {
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
185
|
-
// Must be the same field
|
|
186
|
-
return a.field === b.field;
|
|
187
|
-
}
|
|
188
|
-
// For set operations with a specific field, must be same field
|
|
189
|
-
if (a.field && b.field && a.field !== b.field) {
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
return false;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Coalesce two operations into one.
|
|
198
|
-
*
|
|
199
|
-
* Coalescing strategy by operation type:
|
|
200
|
-
* - Increment: sum the deltas (e.g., +1 and +1 = +2)
|
|
201
|
-
* - Set: keep the newer value (last-write-wins)
|
|
202
|
-
*
|
|
203
|
-
* @param older The older operation
|
|
204
|
-
* @param newer The newer operation
|
|
205
|
-
* @returns The coalesced operation
|
|
206
|
-
*/
|
|
207
|
-
export function coalesceOperations(older, newer) {
|
|
208
|
-
// For increment operations: sum the deltas
|
|
209
|
-
if (older.operationType === 'increment' && newer.operationType === 'increment') {
|
|
210
|
-
const olderDelta = typeof older.value === 'number' ? older.value : 0;
|
|
211
|
-
const newerDelta = typeof newer.value === 'number' ? newer.value : 0;
|
|
212
|
-
const summedDelta = olderDelta + newerDelta;
|
|
213
|
-
return {
|
|
214
|
-
...older,
|
|
215
|
-
// Keep older's id and timestamp for queue management and backoff
|
|
216
|
-
value: summedDelta
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
// For set operations: keep the newer value but preserve older's id/timestamp
|
|
220
|
-
return {
|
|
221
|
-
...newer,
|
|
222
|
-
id: older.id,
|
|
223
|
-
// Keep oldest timestamp for backoff calculation
|
|
224
|
-
timestamp: older.timestamp
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
//# sourceMappingURL=operations.js.map
|
package/dist/operations.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reconnect Handler Registry
|
|
3
|
-
* Allows layout components to register callbacks for reconnection events
|
|
4
|
-
*/
|
|
5
|
-
type ReconnectHandler = () => Promise<void>;
|
|
6
|
-
/**
|
|
7
|
-
* Set the reconnect handler (called from layout.svelte)
|
|
8
|
-
*/
|
|
9
|
-
export declare function setReconnectHandler(handler: ReconnectHandler | null): void;
|
|
10
|
-
/**
|
|
11
|
-
* Call the reconnect handler if one is registered
|
|
12
|
-
* Called from the network store on reconnection
|
|
13
|
-
*/
|
|
14
|
-
export declare function callReconnectHandler(): Promise<void>;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=reconnectHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reconnectHandler.d.ts","sourceRoot":"","sources":["../src/reconnectHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAI5C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAE1E;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1D"}
|
package/dist/reconnectHandler.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reconnect Handler Registry
|
|
3
|
-
* Allows layout components to register callbacks for reconnection events
|
|
4
|
-
*/
|
|
5
|
-
let reconnectHandler = null;
|
|
6
|
-
/**
|
|
7
|
-
* Set the reconnect handler (called from layout.svelte)
|
|
8
|
-
*/
|
|
9
|
-
export function setReconnectHandler(handler) {
|
|
10
|
-
reconnectHandler = handler;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Call the reconnect handler if one is registered
|
|
14
|
-
* Called from the network store on reconnection
|
|
15
|
-
*/
|
|
16
|
-
export async function callReconnectHandler() {
|
|
17
|
-
if (reconnectHandler) {
|
|
18
|
-
await reconnectHandler();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=reconnectHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reconnectHandler.js","sourceRoot":"","sources":["../src/reconnectHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,IAAI,gBAAgB,GAA4B,IAAI,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IAClE,gBAAgB,GAAG,OAAO,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
|