@prabhask5/stellar-engine 1.0.4 → 1.0.5
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 +8 -10
- package/dist/auth/admin.d.ts.map +1 -1
- package/dist/auth/admin.js +3 -0
- package/dist/auth/admin.js.map +1 -1
- package/dist/auth/crypto.d.ts +14 -0
- package/dist/auth/crypto.d.ts.map +1 -0
- package/dist/auth/crypto.js +22 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/offlineCredentials.d.ts.map +1 -1
- package/dist/auth/offlineCredentials.js +17 -3
- package/dist/auth/offlineCredentials.js.map +1 -1
- package/dist/auth/resolveAuthState.d.ts +2 -0
- package/dist/auth/resolveAuthState.d.ts.map +1 -1
- package/dist/auth/resolveAuthState.js +60 -0
- package/dist/auth/resolveAuthState.js.map +1 -1
- package/dist/auth/singleUser.d.ts +58 -0
- package/dist/auth/singleUser.d.ts.map +1 -0
- package/dist/auth/singleUser.js +407 -0
- package/dist/auth/singleUser.js.map +1 -0
- package/dist/config.d.ts +13 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -1
- package/dist/config.js.map +1 -1
- package/dist/data.js +11 -11
- package/dist/data.js.map +1 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +2 -1
- package/dist/database.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +45 -35
- package/dist/engine.js.map +1 -1
- package/dist/entries/auth.d.ts +1 -0
- package/dist/entries/auth.d.ts.map +1 -1
- package/dist/entries/auth.js +1 -0
- package/dist/entries/auth.js.map +1 -1
- package/dist/entries/types.d.ts +1 -1
- package/dist/entries/types.d.ts.map +1 -1
- package/dist/entries/utils.d.ts +1 -1
- package/dist/entries/utils.d.ts.map +1 -1
- package/dist/entries/utils.js +1 -1
- package/dist/entries/utils.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +4 -3
- package/dist/queue.js.map +1 -1
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +6 -5
- package/dist/realtime.js.map +1 -1
- package/dist/stores/network.d.ts.map +1 -1
- package/dist/stores/network.js +9 -4
- package/dist/stores/network.js.map +1 -1
- package/dist/stores/remoteChanges.d.ts.map +1 -1
- package/dist/stores/remoteChanges.js +33 -22
- package/dist/stores/remoteChanges.js.map +1 -1
- package/dist/supabase/client.d.ts.map +1 -1
- package/dist/supabase/client.js +12 -2
- package/dist/supabase/client.js.map +1 -1
- package/dist/supabase/validate.d.ts +1 -1
- package/dist/supabase/validate.d.ts.map +1 -1
- package/dist/supabase/validate.js +2 -2
- package/dist/supabase/validate.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +7 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +16 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-User Auth Module
|
|
3
|
+
*
|
|
4
|
+
* Implements a local gate (code or password) verified against a SHA-256 hash
|
|
5
|
+
* stored in IndexedDB. Uses Supabase anonymous auth for session/token management
|
|
6
|
+
* and RLS compliance. Falls back to offline auth when connectivity is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
import { getEngineConfig } from '../config';
|
|
9
|
+
import { supabase } from '../supabase/client';
|
|
10
|
+
import { hashValue } from './crypto';
|
|
11
|
+
import { cacheOfflineCredentials } from './offlineCredentials';
|
|
12
|
+
import { createOfflineSession } from './offlineSession';
|
|
13
|
+
import { authState } from '../stores/authState';
|
|
14
|
+
import { syncStatusStore } from '../stores/sync';
|
|
15
|
+
import { getSession, isSessionExpired } from '../supabase/auth';
|
|
16
|
+
import { debugLog, debugWarn, debugError } from '../debug';
|
|
17
|
+
const CONFIG_ID = 'config';
|
|
18
|
+
const SINGLE_USER_EMAIL_DOMAIN = 'single-user.local';
|
|
19
|
+
// ============================================================
|
|
20
|
+
// HELPERS
|
|
21
|
+
// ============================================================
|
|
22
|
+
function getDb() {
|
|
23
|
+
const db = getEngineConfig().db;
|
|
24
|
+
if (!db)
|
|
25
|
+
throw new Error('Database not initialized.');
|
|
26
|
+
return db;
|
|
27
|
+
}
|
|
28
|
+
function getSingleUserEmail() {
|
|
29
|
+
const config = getEngineConfig();
|
|
30
|
+
return `single-user@${config.prefix || 'app'}.${SINGLE_USER_EMAIL_DOMAIN}`;
|
|
31
|
+
}
|
|
32
|
+
async function readConfig() {
|
|
33
|
+
const db = getDb();
|
|
34
|
+
const record = await db.table('singleUserConfig').get(CONFIG_ID);
|
|
35
|
+
return record;
|
|
36
|
+
}
|
|
37
|
+
async function writeConfig(config) {
|
|
38
|
+
const db = getDb();
|
|
39
|
+
await db.table('singleUserConfig').put(config);
|
|
40
|
+
}
|
|
41
|
+
// ============================================================
|
|
42
|
+
// PUBLIC API
|
|
43
|
+
// ============================================================
|
|
44
|
+
/**
|
|
45
|
+
* Check if single-user mode has been set up (config exists in IndexedDB).
|
|
46
|
+
*/
|
|
47
|
+
export async function isSingleUserSetUp() {
|
|
48
|
+
try {
|
|
49
|
+
const config = await readConfig();
|
|
50
|
+
return config !== null;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get non-sensitive display info about the single user.
|
|
58
|
+
* Returns null if not set up.
|
|
59
|
+
*/
|
|
60
|
+
export async function getSingleUserInfo() {
|
|
61
|
+
const config = await readConfig();
|
|
62
|
+
if (!config)
|
|
63
|
+
return null;
|
|
64
|
+
return {
|
|
65
|
+
profile: config.profile,
|
|
66
|
+
gateType: config.gateType,
|
|
67
|
+
codeLength: config.codeLength
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* First-time setup: hash gate, create anonymous Supabase user (if online),
|
|
72
|
+
* store config, and set auth state.
|
|
73
|
+
*/
|
|
74
|
+
export async function setupSingleUser(gate, profile) {
|
|
75
|
+
try {
|
|
76
|
+
const engineConfig = getEngineConfig();
|
|
77
|
+
const singleUserOpts = engineConfig.auth?.singleUser;
|
|
78
|
+
const gateType = singleUserOpts?.gateType || 'code';
|
|
79
|
+
const codeLength = singleUserOpts?.codeLength;
|
|
80
|
+
const gateHash = await hashValue(gate);
|
|
81
|
+
const now = new Date().toISOString();
|
|
82
|
+
const isOffline = typeof navigator !== 'undefined' && !navigator.onLine;
|
|
83
|
+
// Build profile metadata for Supabase user_metadata
|
|
84
|
+
const profileToMetadata = engineConfig.auth?.profileToMetadata;
|
|
85
|
+
const metadata = profileToMetadata ? profileToMetadata(profile) : profile;
|
|
86
|
+
if (!isOffline) {
|
|
87
|
+
// --- ONLINE SETUP ---
|
|
88
|
+
const { data, error } = await supabase.auth.signInAnonymously();
|
|
89
|
+
if (error) {
|
|
90
|
+
debugError('[SingleUser] Anonymous sign-in failed:', error.message);
|
|
91
|
+
return { error: `Setup failed: ${error.message}` };
|
|
92
|
+
}
|
|
93
|
+
const session = data.session;
|
|
94
|
+
const user = data.user;
|
|
95
|
+
// Store profile in user_metadata so userDisplayInfo works unchanged
|
|
96
|
+
const { error: updateError } = await supabase.auth.updateUser({ data: metadata });
|
|
97
|
+
if (updateError) {
|
|
98
|
+
debugWarn('[SingleUser] Failed to set user_metadata:', updateError.message);
|
|
99
|
+
}
|
|
100
|
+
// Store config in IndexedDB
|
|
101
|
+
const config = {
|
|
102
|
+
id: CONFIG_ID,
|
|
103
|
+
gateType,
|
|
104
|
+
codeLength,
|
|
105
|
+
gateHash,
|
|
106
|
+
profile,
|
|
107
|
+
supabaseUserId: user.id,
|
|
108
|
+
setupAt: now,
|
|
109
|
+
updatedAt: now
|
|
110
|
+
};
|
|
111
|
+
await writeConfig(config);
|
|
112
|
+
// Cache offline credentials for offline fallback
|
|
113
|
+
try {
|
|
114
|
+
await cacheOfflineCredentials(getSingleUserEmail(), gate, user, session);
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
debugWarn('[SingleUser] Failed to cache offline credentials:', e);
|
|
118
|
+
}
|
|
119
|
+
// Create offline session for offline fallback
|
|
120
|
+
try {
|
|
121
|
+
await createOfflineSession(user.id);
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
debugWarn('[SingleUser] Failed to create offline session:', e);
|
|
125
|
+
}
|
|
126
|
+
// Set auth state
|
|
127
|
+
authState.setSupabaseAuth(session);
|
|
128
|
+
debugLog('[SingleUser] Setup complete (online), userId:', user.id);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// --- OFFLINE SETUP ---
|
|
132
|
+
const tempUserId = crypto.randomUUID();
|
|
133
|
+
const config = {
|
|
134
|
+
id: CONFIG_ID,
|
|
135
|
+
gateType,
|
|
136
|
+
codeLength,
|
|
137
|
+
gateHash,
|
|
138
|
+
profile,
|
|
139
|
+
// supabaseUserId deferred until online
|
|
140
|
+
setupAt: now,
|
|
141
|
+
updatedAt: now
|
|
142
|
+
};
|
|
143
|
+
await writeConfig(config);
|
|
144
|
+
// Create offline session with temp ID
|
|
145
|
+
await createOfflineSession(tempUserId);
|
|
146
|
+
// Build offline profile for authState
|
|
147
|
+
const offlineProfile = {
|
|
148
|
+
id: 'current_user',
|
|
149
|
+
userId: tempUserId,
|
|
150
|
+
email: getSingleUserEmail(),
|
|
151
|
+
password: gateHash,
|
|
152
|
+
profile,
|
|
153
|
+
cachedAt: now
|
|
154
|
+
};
|
|
155
|
+
authState.setOfflineAuth(offlineProfile);
|
|
156
|
+
debugLog('[SingleUser] Setup complete (offline), temp userId:', tempUserId);
|
|
157
|
+
}
|
|
158
|
+
return { error: null };
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
debugError('[SingleUser] Setup error:', e);
|
|
162
|
+
return { error: e instanceof Error ? e.message : 'Setup failed' };
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Unlock: verify gate hash, restore Supabase session or fall back to offline auth.
|
|
167
|
+
*/
|
|
168
|
+
export async function unlockSingleUser(gate) {
|
|
169
|
+
try {
|
|
170
|
+
const config = await readConfig();
|
|
171
|
+
if (!config) {
|
|
172
|
+
return { error: 'Single-user mode is not set up' };
|
|
173
|
+
}
|
|
174
|
+
// Verify gate
|
|
175
|
+
const inputHash = await hashValue(gate);
|
|
176
|
+
if (inputHash !== config.gateHash) {
|
|
177
|
+
return { error: 'Incorrect code' };
|
|
178
|
+
}
|
|
179
|
+
const isOffline = typeof navigator !== 'undefined' && !navigator.onLine;
|
|
180
|
+
const engineConfig = getEngineConfig();
|
|
181
|
+
if (!isOffline) {
|
|
182
|
+
// --- ONLINE UNLOCK ---
|
|
183
|
+
// Try existing session first
|
|
184
|
+
const existingSession = await getSession();
|
|
185
|
+
if (existingSession && !isSessionExpired(existingSession)) {
|
|
186
|
+
authState.setSupabaseAuth(existingSession);
|
|
187
|
+
debugLog('[SingleUser] Unlocked with existing session');
|
|
188
|
+
return { error: null };
|
|
189
|
+
}
|
|
190
|
+
// No valid session — sign in anonymously again
|
|
191
|
+
const { data, error } = await supabase.auth.signInAnonymously();
|
|
192
|
+
if (error) {
|
|
193
|
+
debugError('[SingleUser] Anonymous sign-in failed on unlock:', error.message);
|
|
194
|
+
return { error: `Unlock failed: ${error.message}` };
|
|
195
|
+
}
|
|
196
|
+
const session = data.session;
|
|
197
|
+
const user = data.user;
|
|
198
|
+
// If user ID changed (new anonymous user), update config
|
|
199
|
+
if (config.supabaseUserId && user.id !== config.supabaseUserId) {
|
|
200
|
+
debugWarn('[SingleUser] New anonymous user ID, updating config');
|
|
201
|
+
config.supabaseUserId = user.id;
|
|
202
|
+
config.updatedAt = new Date().toISOString();
|
|
203
|
+
await writeConfig(config);
|
|
204
|
+
// Reset sync cursor for new user (dynamic import to avoid circular deps)
|
|
205
|
+
try {
|
|
206
|
+
if (typeof localStorage !== 'undefined') {
|
|
207
|
+
// Clear old user cursor
|
|
208
|
+
const keys = Object.keys(localStorage).filter(k => k.startsWith('lastSyncCursor_'));
|
|
209
|
+
keys.forEach(k => localStorage.removeItem(k));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
// Ignore storage errors
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else if (!config.supabaseUserId) {
|
|
217
|
+
// First time online after offline setup
|
|
218
|
+
config.supabaseUserId = user.id;
|
|
219
|
+
config.updatedAt = new Date().toISOString();
|
|
220
|
+
await writeConfig(config);
|
|
221
|
+
}
|
|
222
|
+
// Re-apply profile to user_metadata
|
|
223
|
+
const profileToMetadata = engineConfig.auth?.profileToMetadata;
|
|
224
|
+
const metadata = profileToMetadata ? profileToMetadata(config.profile) : config.profile;
|
|
225
|
+
await supabase.auth.updateUser({ data: metadata }).catch((e) => {
|
|
226
|
+
debugWarn('[SingleUser] Failed to update user_metadata on unlock:', e);
|
|
227
|
+
});
|
|
228
|
+
// Update offline credentials cache
|
|
229
|
+
try {
|
|
230
|
+
await cacheOfflineCredentials(getSingleUserEmail(), gate, user, session);
|
|
231
|
+
}
|
|
232
|
+
catch (e) {
|
|
233
|
+
debugWarn('[SingleUser] Failed to update offline credentials:', e);
|
|
234
|
+
}
|
|
235
|
+
// Update offline session
|
|
236
|
+
try {
|
|
237
|
+
await createOfflineSession(user.id);
|
|
238
|
+
}
|
|
239
|
+
catch (e) {
|
|
240
|
+
debugWarn('[SingleUser] Failed to update offline session:', e);
|
|
241
|
+
}
|
|
242
|
+
authState.setSupabaseAuth(session);
|
|
243
|
+
debugLog('[SingleUser] Unlocked online, userId:', user.id);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
// --- OFFLINE UNLOCK ---
|
|
247
|
+
// Try cached Supabase session from localStorage
|
|
248
|
+
const cachedSession = await getSession();
|
|
249
|
+
if (cachedSession) {
|
|
250
|
+
authState.setSupabaseAuth(cachedSession);
|
|
251
|
+
debugLog('[SingleUser] Unlocked offline with cached Supabase session');
|
|
252
|
+
return { error: null };
|
|
253
|
+
}
|
|
254
|
+
// No cached session — fall back to offline auth
|
|
255
|
+
const userId = config.supabaseUserId || crypto.randomUUID();
|
|
256
|
+
await createOfflineSession(userId);
|
|
257
|
+
const offlineProfile = {
|
|
258
|
+
id: 'current_user',
|
|
259
|
+
userId,
|
|
260
|
+
email: getSingleUserEmail(),
|
|
261
|
+
password: config.gateHash,
|
|
262
|
+
profile: config.profile,
|
|
263
|
+
cachedAt: new Date().toISOString()
|
|
264
|
+
};
|
|
265
|
+
authState.setOfflineAuth(offlineProfile);
|
|
266
|
+
debugLog('[SingleUser] Unlocked offline with offline session');
|
|
267
|
+
}
|
|
268
|
+
return { error: null };
|
|
269
|
+
}
|
|
270
|
+
catch (e) {
|
|
271
|
+
debugError('[SingleUser] Unlock error:', e);
|
|
272
|
+
return { error: e instanceof Error ? e.message : 'Unlock failed' };
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Lock: stop sync engine, reset auth state to 'none'.
|
|
277
|
+
* Does NOT destroy session, data, or sign out of Supabase.
|
|
278
|
+
*/
|
|
279
|
+
export async function lockSingleUser() {
|
|
280
|
+
try {
|
|
281
|
+
// Dynamic import to avoid circular deps
|
|
282
|
+
const { stopSyncEngine } = await import('../engine');
|
|
283
|
+
await stopSyncEngine();
|
|
284
|
+
}
|
|
285
|
+
catch (e) {
|
|
286
|
+
debugError('[SingleUser] Failed to stop sync engine on lock:', e);
|
|
287
|
+
}
|
|
288
|
+
syncStatusStore.reset();
|
|
289
|
+
authState.setNoAuth();
|
|
290
|
+
debugLog('[SingleUser] Locked');
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Change the gate (code/password). Verifies old gate first.
|
|
294
|
+
*/
|
|
295
|
+
export async function changeSingleUserGate(oldGate, newGate) {
|
|
296
|
+
try {
|
|
297
|
+
const config = await readConfig();
|
|
298
|
+
if (!config) {
|
|
299
|
+
return { error: 'Single-user mode is not set up' };
|
|
300
|
+
}
|
|
301
|
+
// Verify old gate
|
|
302
|
+
const oldHash = await hashValue(oldGate);
|
|
303
|
+
if (oldHash !== config.gateHash) {
|
|
304
|
+
return { error: 'Current code is incorrect' };
|
|
305
|
+
}
|
|
306
|
+
// Update hash
|
|
307
|
+
const newHash = await hashValue(newGate);
|
|
308
|
+
config.gateHash = newHash;
|
|
309
|
+
config.updatedAt = new Date().toISOString();
|
|
310
|
+
await writeConfig(config);
|
|
311
|
+
// Update offline credentials cache if it exists
|
|
312
|
+
try {
|
|
313
|
+
const db = getDb();
|
|
314
|
+
const creds = await db.table('offlineCredentials').get('current_user');
|
|
315
|
+
if (creds) {
|
|
316
|
+
await db.table('offlineCredentials').update('current_user', {
|
|
317
|
+
password: newHash,
|
|
318
|
+
cachedAt: new Date().toISOString()
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
catch (e) {
|
|
323
|
+
debugWarn('[SingleUser] Failed to update offline credentials after gate change:', e);
|
|
324
|
+
}
|
|
325
|
+
debugLog('[SingleUser] Gate changed successfully');
|
|
326
|
+
return { error: null };
|
|
327
|
+
}
|
|
328
|
+
catch (e) {
|
|
329
|
+
debugError('[SingleUser] Gate change error:', e);
|
|
330
|
+
return { error: e instanceof Error ? e.message : 'Failed to change code' };
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Update profile in IndexedDB and Supabase user_metadata.
|
|
335
|
+
*/
|
|
336
|
+
export async function updateSingleUserProfile(profile) {
|
|
337
|
+
try {
|
|
338
|
+
const config = await readConfig();
|
|
339
|
+
if (!config) {
|
|
340
|
+
return { error: 'Single-user mode is not set up' };
|
|
341
|
+
}
|
|
342
|
+
// Update IndexedDB
|
|
343
|
+
config.profile = profile;
|
|
344
|
+
config.updatedAt = new Date().toISOString();
|
|
345
|
+
await writeConfig(config);
|
|
346
|
+
// Update Supabase user_metadata if online
|
|
347
|
+
const isOffline = typeof navigator !== 'undefined' && !navigator.onLine;
|
|
348
|
+
if (!isOffline) {
|
|
349
|
+
const engineConfig = getEngineConfig();
|
|
350
|
+
const profileToMetadata = engineConfig.auth?.profileToMetadata;
|
|
351
|
+
const metadata = profileToMetadata ? profileToMetadata(profile) : profile;
|
|
352
|
+
const { error } = await supabase.auth.updateUser({ data: metadata });
|
|
353
|
+
if (error) {
|
|
354
|
+
debugWarn('[SingleUser] Failed to update Supabase profile:', error.message);
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
// Update auth state to reflect changes in UI
|
|
358
|
+
authState.updateUserProfile(metadata);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
// Update offline credentials cache
|
|
362
|
+
try {
|
|
363
|
+
const db = getDb();
|
|
364
|
+
const creds = await db.table('offlineCredentials').get('current_user');
|
|
365
|
+
if (creds) {
|
|
366
|
+
await db.table('offlineCredentials').update('current_user', {
|
|
367
|
+
profile,
|
|
368
|
+
cachedAt: new Date().toISOString()
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
catch (e) {
|
|
373
|
+
debugWarn('[SingleUser] Failed to update offline credentials profile:', e);
|
|
374
|
+
}
|
|
375
|
+
debugLog('[SingleUser] Profile updated');
|
|
376
|
+
return { error: null };
|
|
377
|
+
}
|
|
378
|
+
catch (e) {
|
|
379
|
+
debugError('[SingleUser] Profile update error:', e);
|
|
380
|
+
return { error: e instanceof Error ? e.message : 'Failed to update profile' };
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Full reset: clear config, sign out of Supabase, clear all data.
|
|
385
|
+
*/
|
|
386
|
+
export async function resetSingleUser() {
|
|
387
|
+
try {
|
|
388
|
+
// Import signOut which handles full cleanup
|
|
389
|
+
const { signOut } = await import('../supabase/auth');
|
|
390
|
+
const result = await signOut();
|
|
391
|
+
// Clear single-user config
|
|
392
|
+
try {
|
|
393
|
+
const db = getDb();
|
|
394
|
+
await db.table('singleUserConfig').delete(CONFIG_ID);
|
|
395
|
+
}
|
|
396
|
+
catch (e) {
|
|
397
|
+
debugWarn('[SingleUser] Failed to clear config on reset:', e);
|
|
398
|
+
}
|
|
399
|
+
debugLog('[SingleUser] Reset complete');
|
|
400
|
+
return { error: result.error };
|
|
401
|
+
}
|
|
402
|
+
catch (e) {
|
|
403
|
+
debugError('[SingleUser] Reset error:', e);
|
|
404
|
+
return { error: e instanceof Error ? e.message : 'Reset failed' };
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
//# sourceMappingURL=singleUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleUser.js","sourceRoot":"","sources":["../../src/auth/singleUser.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SupabaseClient, User } from '@supabase/supabase-js';
|
|
2
2
|
import type { Session } from '@supabase/supabase-js';
|
|
3
3
|
import type Dexie from 'dexie';
|
|
4
|
+
import type { SingleUserGateType } from './types';
|
|
4
5
|
import { type DatabaseConfig } from './database';
|
|
5
6
|
export interface SyncEngineConfig {
|
|
6
7
|
tables: TableConfig[];
|
|
@@ -12,6 +13,13 @@ export interface SyncEngineConfig {
|
|
|
12
13
|
/** Engine creates and owns the Dexie instance when this is provided. */
|
|
13
14
|
database?: DatabaseConfig;
|
|
14
15
|
auth?: {
|
|
16
|
+
/** Auth mode: 'multi-user' (default) or 'single-user' (anonymous Supabase auth with local gate) */
|
|
17
|
+
mode?: 'multi-user' | 'single-user';
|
|
18
|
+
/** Single-user mode configuration */
|
|
19
|
+
singleUser?: {
|
|
20
|
+
gateType: SingleUserGateType;
|
|
21
|
+
codeLength?: 4 | 6;
|
|
22
|
+
};
|
|
15
23
|
profileExtractor?: (userMetadata: Record<string, unknown>) => Record<string, unknown>;
|
|
16
24
|
profileToMetadata?: (profile: Record<string, unknown>) => Record<string, unknown>;
|
|
17
25
|
enableOfflineAuth?: boolean;
|
|
@@ -32,7 +40,6 @@ export interface SyncEngineConfig {
|
|
|
32
40
|
}
|
|
33
41
|
export interface TableConfig {
|
|
34
42
|
supabaseName: string;
|
|
35
|
-
dexieTable: string;
|
|
36
43
|
columns: string;
|
|
37
44
|
ownershipFilter?: string;
|
|
38
45
|
isSingleton?: boolean;
|
|
@@ -42,6 +49,11 @@ export interface TableConfig {
|
|
|
42
49
|
}
|
|
43
50
|
export declare function initEngine(config: SyncEngineConfig): void;
|
|
44
51
|
export declare function getEngineConfig(): SyncEngineConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Get the Dexie (IndexedDB) table name for a TableConfig entry.
|
|
54
|
+
* Derives from supabaseName via snake_case → camelCase conversion.
|
|
55
|
+
*/
|
|
56
|
+
export declare function getDexieTableFor(table: TableConfig): string;
|
|
45
57
|
/**
|
|
46
58
|
* Get the Supabase-to-Dexie table mapping derived from config.
|
|
47
59
|
*/
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAGhF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,kGAAkG;IAClG,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,IAAI,CAAC,EAAE;QACL,mGAAmG;QACnG,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;QACpC,qCAAqC;QACrC,UAAU,CAAC,EAAE;YACX,QAAQ,EAAE,kBAAkB,CAAC;YAC7B,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SACpB,CAAC;QACF,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtF,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,2CAA2C;QAC3C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC;KAC7C,CAAC;IAEF,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,wFAAwF;IACxF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC3E;AAID,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAoBzD;AAED,wBAAgB,eAAe,IAAI,gBAAgB,CAKlD;AAGD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAO5D"}
|
package/dist/config.js
CHANGED
|
@@ -3,6 +3,7 @@ import { _setDeviceIdPrefix } from './deviceId';
|
|
|
3
3
|
import { _setClientPrefix } from './supabase/client';
|
|
4
4
|
import { _setConfigPrefix } from './runtime/runtimeConfig';
|
|
5
5
|
import { createDatabase, _setManagedDb } from './database';
|
|
6
|
+
import { snakeToCamel } from './utils';
|
|
6
7
|
let engineConfig = null;
|
|
7
8
|
export function initEngine(config) {
|
|
8
9
|
engineConfig = config;
|
|
@@ -30,6 +31,13 @@ export function getEngineConfig() {
|
|
|
30
31
|
}
|
|
31
32
|
return engineConfig;
|
|
32
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Get the Dexie (IndexedDB) table name for a TableConfig entry.
|
|
36
|
+
* Derives from supabaseName via snake_case → camelCase conversion.
|
|
37
|
+
*/
|
|
38
|
+
export function getDexieTableFor(table) {
|
|
39
|
+
return snakeToCamel(table.supabaseName);
|
|
40
|
+
}
|
|
33
41
|
/**
|
|
34
42
|
* Get the Supabase-to-Dexie table mapping derived from config.
|
|
35
43
|
*/
|
|
@@ -37,7 +45,7 @@ export function getTableMap() {
|
|
|
37
45
|
const config = getEngineConfig();
|
|
38
46
|
const map = {};
|
|
39
47
|
for (const table of config.tables) {
|
|
40
|
-
map[table.supabaseName] = table
|
|
48
|
+
map[table.supabaseName] = getDexieTableFor(table);
|
|
41
49
|
}
|
|
42
50
|
return map;
|
|
43
51
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAoDvC,IAAI,YAAY,GAA4B,IAAI,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,YAAY,GAAG,MAAM,CAAC;IAEtB,2CAA2C;IAC3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,kEAAkE;QACjE,MAAwB,CAAC,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;SAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACrB,+CAA+C;QAC/C,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAGD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,OAAO,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,6BAA6B,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC"}
|
package/dist/data.js
CHANGED
|
@@ -147,19 +147,19 @@ export async function engineIncrement(table, id, field, amount, additionalFields
|
|
|
147
147
|
const db = getDb();
|
|
148
148
|
const dexieTable = getDexieTableName(table);
|
|
149
149
|
const timestamp = now();
|
|
150
|
-
// Read current value
|
|
151
|
-
const current = await db.table(dexieTable).get(id);
|
|
152
|
-
if (!current)
|
|
153
|
-
return undefined;
|
|
154
|
-
const currentValue = current[field] || 0;
|
|
155
|
-
const newValue = currentValue + amount;
|
|
156
|
-
const updateFields = {
|
|
157
|
-
[field]: newValue,
|
|
158
|
-
updated_at: timestamp,
|
|
159
|
-
...additionalFields
|
|
160
|
-
};
|
|
161
150
|
let updated;
|
|
162
151
|
await db.transaction('rw', [db.table(dexieTable), db.table('syncQueue')], async () => {
|
|
152
|
+
// Read current value inside transaction to prevent TOCTOU race
|
|
153
|
+
const current = await db.table(dexieTable).get(id);
|
|
154
|
+
if (!current)
|
|
155
|
+
return;
|
|
156
|
+
const currentValue = current[field] || 0;
|
|
157
|
+
const newValue = currentValue + amount;
|
|
158
|
+
const updateFields = {
|
|
159
|
+
[field]: newValue,
|
|
160
|
+
updated_at: timestamp,
|
|
161
|
+
...additionalFields
|
|
162
|
+
};
|
|
163
163
|
await db.table(dexieTable).update(id, updateFields);
|
|
164
164
|
updated = await db.table(dexieTable).get(id);
|
|
165
165
|
if (updated) {
|
package/dist/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAaD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CAgB5D;AAED;;;GAGG;AACH,wBAAgB,KAAK,IAAI,KAAK,CAK7B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAE7C"}
|
package/dist/database.js
CHANGED
|
@@ -11,7 +11,8 @@ const SYSTEM_TABLES = {
|
|
|
11
11
|
syncQueue: '++id, table, entityId, timestamp',
|
|
12
12
|
conflictHistory: '++id, entityId, entityType, timestamp',
|
|
13
13
|
offlineCredentials: 'id',
|
|
14
|
-
offlineSession: 'id'
|
|
14
|
+
offlineSession: 'id',
|
|
15
|
+
singleUserConfig: 'id'
|
|
15
16
|
};
|
|
16
17
|
let managedDb = null;
|
|
17
18
|
/**
|
package/dist/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,4CAA4C;AAC5C,MAAM,aAAa,GAA2B;IAC5C,SAAS,EAAE,kCAAkC;IAC7C,eAAe,EAAE,uCAAuC;IACxD,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,4CAA4C;AAC5C,MAAM,aAAa,GAA2B;IAC5C,SAAS,EAAE,kCAAkC;IAC7C,eAAe,EAAE,uCAAuC;IACxD,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,IAAI,SAAS,GAAiB,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,sCAAsC;QACtC,MAAM,YAAY,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAEzD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,SAAS,GAAG,EAAE,CAAC;IACf,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK;IACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAS;IACrC,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC"}
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAkGA;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAW7D;AAkND,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEzD;AAwFD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAS/D;AAkBD,wBAAgB,gBAAgB,IAAI,IAAI,CAavC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAkGA;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAW7D;AAkND,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEzD;AAwFD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAS/D;AAkBD,wBAAgB,gBAAgB,IAAI,IAAI,CAavC;AAqxBD,wBAAsB,WAAW,CAAC,KAAK,GAAE,OAAe,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoMlG;AA0YD,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA8WrD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsDpD;AAGD,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BrD"}
|